about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixpkgs/doc/languages-frameworks/android.section.md9
-rw-r--r--nixpkgs/doc/languages-frameworks/perl.xml33
-rw-r--r--nixpkgs/lib/modules.nix18
-rw-r--r--nixpkgs/lib/options.nix2
-rw-r--r--nixpkgs/maintainers/maintainer-list.nix85
-rw-r--r--nixpkgs/maintainers/scripts/luarocks-packages.csv3
-rwxr-xr-xnixpkgs/nixos/doc/manual/development/releases.xml24
-rw-r--r--nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml113
-rw-r--r--nixpkgs/nixos/modules/config/fonts/fontconfig-penultimate.nix168
-rw-r--r--nixpkgs/nixos/modules/config/fonts/fontconfig.nix460
-rw-r--r--nixpkgs/nixos/modules/config/qt5.nix102
-rw-r--r--nixpkgs/nixos/modules/config/sysctl.nix10
-rw-r--r--nixpkgs/nixos/modules/config/update-users-groups.pl1
-rw-r--r--nixpkgs/nixos/modules/config/vte.nix52
-rw-r--r--nixpkgs/nixos/modules/misc/ids.nix6
-rw-r--r--nixpkgs/nixos/modules/module-list.nix15
-rw-r--r--nixpkgs/nixos/modules/profiles/hardened.nix18
-rw-r--r--nixpkgs/nixos/modules/programs/dconf.nix10
-rw-r--r--nixpkgs/nixos/modules/programs/environment.nix1
-rw-r--r--nixpkgs/nixos/modules/programs/gnome-terminal.nix36
-rw-r--r--nixpkgs/nixos/modules/programs/gnupg.nix3
-rw-r--r--nixpkgs/nixos/modules/programs/zsh/zsh.nix12
-rw-r--r--nixpkgs/nixos/modules/rename.nix8
-rw-r--r--nixpkgs/nixos/modules/services/audio/roon-server.nix28
-rw-r--r--nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix5
-rw-r--r--nixpkgs/nixos/modules/services/databases/memcached.nix1
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix4
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix41
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome3/gnome-user-share.nix20
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome3/gvfs.nix43
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome3/tracker-miners.nix6
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gnome3/tracker.nix6
-rw-r--r--nixpkgs/nixos/modules/services/desktops/gvfs.nix59
-rw-r--r--nixpkgs/nixos/modules/services/hardware/trezord.nix24
-rw-r--r--nixpkgs/nixos/modules/services/hardware/trezord.xml26
-rw-r--r--nixpkgs/nixos/modules/services/logging/awstats.nix54
-rw-r--r--nixpkgs/nixos/modules/services/mail/dovecot.nix3
-rw-r--r--nixpkgs/nixos/modules/services/mail/rmilter.nix252
-rw-r--r--nixpkgs/nixos/modules/services/mail/roundcube.nix42
-rw-r--r--nixpkgs/nixos/modules/services/misc/mantisbt.nix68
-rw-r--r--nixpkgs/nixos/modules/services/misc/nix-daemon.nix7
-rw-r--r--nixpkgs/nixos/modules/services/misc/zoneminder.nix43
-rw-r--r--nixpkgs/nixos/modules/services/monitoring/systemhealth.nix133
-rw-r--r--nixpkgs/nixos/modules/services/network-filesystems/u9fs.nix1
-rw-r--r--nixpkgs/nixos/modules/services/networking/dnschain.nix14
-rw-r--r--nixpkgs/nixos/modules/services/networking/jormungandr.nix97
-rw-r--r--nixpkgs/nixos/modules/services/networking/nsd.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/ofono.nix44
-rw-r--r--nixpkgs/nixos/modules/services/networking/pdns-recursor.nix83
-rw-r--r--nixpkgs/nixos/modules/services/networking/softether.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix5
-rw-r--r--nixpkgs/nixos/modules/services/networking/strongswan.nix3
-rw-r--r--nixpkgs/nixos/modules/services/networking/stubby.nix2
-rw-r--r--nixpkgs/nixos/modules/services/networking/unifi.nix1
-rw-r--r--nixpkgs/nixos/modules/services/security/sshguard.nix14
-rw-r--r--nixpkgs/nixos/modules/services/security/usbguard.nix14
-rw-r--r--nixpkgs/nixos/modules/services/security/vault.nix2
-rw-r--r--nixpkgs/nixos/modules/services/torrent/magnetico.nix214
-rw-r--r--nixpkgs/nixos/modules/services/torrent/transmission.nix36
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix45
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/limesurvey.nix37
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/matomo.nix24
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mediawiki.nix39
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/moodle.nix300
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/nextcloud.nix34
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/restya-board.nix32
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/selfoss.nix32
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/tt-rss.nix29
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/wordpress.nix34
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/zabbix.nix34
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix3
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/darkhttpd.nix77
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/nginx/default.nix33
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix252
-rw-r--r--nixpkgs/nixos/modules/services/web-servers/phpfpm/pool-options.nix57
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix314
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/lxqt.nix3
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix8
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix22
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix7
-rw-r--r--nixpkgs/nixos/modules/services/x11/desktop-managers/xfce4-14.nix157
-rw-r--r--nixpkgs/nixos/modules/services/x11/display-managers/default.nix2
-rw-r--r--nixpkgs/nixos/modules/system/boot/coredump.nix66
-rw-r--r--nixpkgs/nixos/modules/system/boot/kernel.nix1
-rw-r--r--nixpkgs/nixos/modules/system/boot/networkd.nix88
-rw-r--r--nixpkgs/nixos/modules/system/boot/stage-1-init.sh4
-rw-r--r--nixpkgs/nixos/modules/system/boot/systemd.nix33
-rw-r--r--nixpkgs/nixos/modules/virtualisation/containers.nix55
-rw-r--r--nixpkgs/nixos/modules/virtualisation/google-compute-config.nix10
-rw-r--r--nixpkgs/nixos/modules/virtualisation/libvirtd.nix13
-rw-r--r--nixpkgs/nixos/release-combined.nix1
-rw-r--r--nixpkgs/nixos/tests/all-tests.nix15
-rw-r--r--nixpkgs/nixos/tests/containers-ephemeral.nix56
-rw-r--r--nixpkgs/nixos/tests/glusterfs.nix65
-rw-r--r--nixpkgs/nixos/tests/gnome-photos.nix42
-rw-r--r--nixpkgs/nixos/tests/icingaweb2.nix71
-rw-r--r--nixpkgs/nixos/tests/jormungandr.nix77
-rw-r--r--nixpkgs/nixos/tests/libxmlb.nix17
-rw-r--r--nixpkgs/nixos/tests/magnetico.nix28
-rw-r--r--nixpkgs/nixos/tests/moodle.nix22
-rw-r--r--nixpkgs/nixos/tests/nginx.nix60
-rw-r--r--nixpkgs/nixos/tests/php-pcre.nix41
-rw-r--r--nixpkgs/nixos/tests/prosody.nix38
-rw-r--r--nixpkgs/nixos/tests/subversion.nix121
-rw-r--r--nixpkgs/nixos/tests/systemd-networkd-wireguard.nix80
-rw-r--r--nixpkgs/nixos/tests/systemd.nix13
-rw-r--r--nixpkgs/nixos/tests/trezord.nix20
-rw-r--r--nixpkgs/nixos/tests/xfce4-14.nix33
-rw-r--r--nixpkgs/nixos/tests/xmpp/ejabberd.nix (renamed from nixpkgs/nixos/tests/ejabberd.nix)6
-rw-r--r--nixpkgs/nixos/tests/xmpp/prosody-mysql.nix77
-rw-r--r--nixpkgs/nixos/tests/xmpp/prosody.nix46
-rw-r--r--nixpkgs/nixos/tests/xmpp/xmpp-sendmessage.nix (renamed from nixpkgs/nixos/tests/xmpp-sendmessage.nix)0
-rw-r--r--nixpkgs/pkgs/applications/altcoins/bitcoin-classic.nix6
-rw-r--r--nixpkgs/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch38
-rw-r--r--nixpkgs/pkgs/applications/altcoins/bitcoin-unlimited.nix24
-rw-r--r--nixpkgs/pkgs/applications/altcoins/bitcoin-xt.nix51
-rw-r--r--nixpkgs/pkgs/applications/altcoins/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/altcoins/dogecoin.nix4
-rw-r--r--nixpkgs/pkgs/applications/altcoins/freicoin.nix3
-rw-r--r--nixpkgs/pkgs/applications/altcoins/jormungandr/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/altcoins/memorycoin.nix56
-rw-r--r--nixpkgs/pkgs/applications/altcoins/pivx.nix7
-rw-r--r--nixpkgs/pkgs/applications/altcoins/wasabiwallet/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/gmpc/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/moped.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/mopidy/spotify.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/padthv1/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/audio/paprefs/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/audio/pavucontrol/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/audio/pulseeffects/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/reaper/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/snd/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/audio/vcv-rack/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/backup/deja-dup/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/android-studio/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix23
-rw-r--r--nixpkgs/pkgs/applications/editors/jetbrains/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/nano/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/quilter/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/editors/tiled/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/graphics/avocode/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/graphics/darktable/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/feh/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix125
-rw-r--r--nixpkgs/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch23
-rw-r--r--nixpkgs/pkgs/applications/graphics/ideogram/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/graphics/kodelife/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/dmenu/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/evtest-qt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/getxbook/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/hugo/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile2
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock44
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix77
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile19
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock68
-rw-r--r--nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix193
-rw-r--r--nixpkgs/pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/keepassx/darwin.patch22
-rw-r--r--nixpkgs/pkgs/applications/misc/khal/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/misc/libosmocore/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/mediainfo/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/megasync/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/misc/mkgmap/build.xml.patch11
-rw-r--r--nixpkgs/pkgs/applications/misc/mkgmap/default.nix57
-rw-r--r--nixpkgs/pkgs/applications/misc/moolticute/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/omegat.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/orca/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/misc/qtpass/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/misc/redshift/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/rsclock/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/misc/sampler/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/misc/sequeler/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/st/xst.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/sweethome3d/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/misc/syncthingtray/default.nix57
-rw-r--r--nixpkgs/pkgs/applications/misc/taskell/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/terminator/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/tilix/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/waybar/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/worker/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/misc/wtf/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/xmind/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/yate/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/misc/zathura/core/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/misc/zathura/wrapper.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix46
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vimb/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm2.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/kubeless/default.nix28
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix130
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/castget/default.nix44
-rw-r--r--nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/freetalk/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json2
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix129
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix4
-rwxr-xr-xnixpkgs/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh17
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/riot/yarn2nix.nix320
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix41
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix32
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix20
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix35
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/irccloud/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/alpine/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mailreaders/realpine/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/networking/modem-manager-gui/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/mumble/overlay.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ndppd/default.nix9
-rw-r--r--nixpkgs/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch25
-rw-r--r--nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix75
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix40
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/magnetico/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/networking/p2p/stig/default.nix56
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/ssvnc/default.nix33
-rw-r--r--nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix26
-rw-r--r--nixpkgs/pkgs/applications/networking/seafile-client/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/networking/sniffers/ettercap/default.nix31
-rw-r--r--nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/networking/sync/rclone/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile5
-rw-r--r--nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock13
-rw-r--r--nixpkgs/pkgs/applications/networking/wayback_machine_downloader/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/networking/wayback_machine_downloader/gemset.nix12
-rw-r--r--nixpkgs/pkgs/applications/office/jameica/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/qownnotes/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/office/vnote/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/office/zotero/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/radio/sdrangel/default.nix76
-rw-r--r--nixpkgs/pkgs/applications/radio/wsjtx/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/biology/sortmerna/default.nix38
-rw-r--r--nixpkgs/pkgs/applications/science/logic/stp/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/logic/vampire/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/science/misc/tulip/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/science/robotics/sumorobot-manager/default.nix43
-rw-r--r--nixpkgs/pkgs/applications/version-management/bcompare/default.nix66
-rw-r--r--nixpkgs/pkgs/applications/version-management/blackbox/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-dit/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix58
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch32
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/version-management/sourcehut/default.nix12
-rw-r--r--nixpkgs/pkgs/applications/video/celluloid/default.nix64
-rw-r--r--nixpkgs/pkgs/applications/video/gnome-mpv/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/video/kodi/default.nix63
-rw-r--r--nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/mpv/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/video/shotcut/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/video/vlc/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/OVMF/default.nix64
-rw-r--r--nixpkgs/pkgs/applications/virtualization/singularity/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/virtualization/virt-viewer/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xen/4.8.nix19
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xen/generic.nix4
-rw-r--r--nixpkgs/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff95
-rw-r--r--nixpkgs/pkgs/applications/window-managers/compton/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/gaps.nix4
-rw-r--r--nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix2
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sway/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/window-managers/sxhkd/default.nix4
-rw-r--r--nixpkgs/pkgs/build-support/fetchurl/mirrors.nix14
-rw-r--r--nixpkgs/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh88
-rw-r--r--nixpkgs/pkgs/build-support/vm/default.nix12
-rw-r--r--nixpkgs/pkgs/data/fonts/font-awesome-5/default.nix4
-rw-r--r--nixpkgs/pkgs/data/fonts/gelasio/default.nix31
-rw-r--r--nixpkgs/pkgs/data/fonts/joypixels/default.nix31
-rw-r--r--nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--nixpkgs/pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--nixpkgs/pkgs/data/themes/obsidian2/default.nix (renamed from nixpkgs/pkgs/misc/themes/obsidian2/default.nix)12
-rw-r--r--nixpkgs/pkgs/data/themes/plata/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/enlightenment/efl.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-2/platform/libglade/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix77
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix56
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix9
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix141
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix92
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/default.nix54
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/games/tali/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix4
-rw-r--r--nixpkgs/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix29
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix7
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake7
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix17
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh15
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix23
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix20
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix16
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix14
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix18
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix11
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix13
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/qps/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix8
-rw-r--r--nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix6
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix2
-rw-r--r--nixpkgs/pkgs/desktops/xfce4-14/default.nix10
-rw-r--r--nixpkgs/pkgs/desktops/xfce4-14/xfce4-mixer/default.nix32
-rw-r--r--nixpkgs/pkgs/desktops/xfce4-14/xfdashboard/default.nix44
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix (renamed from nixpkgs/pkgs/development/compilers/icedtea-web/default.nix)4
-rw-r--r--nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch (renamed from nixpkgs/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch)0
-rw-r--r--nixpkgs/pkgs/development/compilers/compcert/default.nix1
-rw-r--r--nixpkgs/pkgs/development/compilers/crystal/default.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/edk2/default.nix83
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/default.nix5
-rwxr-xr-xnixpkgs/pkgs/development/compilers/elm/packages/generate-node-packages.sh6
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/node-env.nix540
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json6
-rw-r--r--nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix1718
-rw-r--r--nixpkgs/pkgs/development/compilers/flux/default.nix21
-rw-r--r--nixpkgs/pkgs/development/compilers/fsharp41/default.nix66
-rw-r--r--nixpkgs/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch21
-rw-r--r--nixpkgs/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch22
-rw-r--r--nixpkgs/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch13
-rw-r--r--nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix6
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.11.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/go/1.12.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/enterprise-edition.nix133
-rw-r--r--nixpkgs/pkgs/development/compilers/julia/1.0.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/julia/1.1.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/mono/6.nix9
-rw-r--r--nixpkgs/pkgs/development/compilers/mono/generic.nix8
-rw-r--r--nixpkgs/pkgs/development/compilers/mosml/default.nix4
-rw-r--r--nixpkgs/pkgs/development/compilers/nextpnr/default.nix53
-rw-r--r--nixpkgs/pkgs/development/compilers/owl-lisp/default.nix26
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/default.nix2
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/rls/default.nix (renamed from nixpkgs/pkgs/development/tools/rust/rls/default.nix)26
-rw-r--r--nixpkgs/pkgs/development/compilers/rust/rustfmt.nix (renamed from nixpkgs/pkgs/development/tools/rust/rustfmt/default.nix)21
-rw-r--r--nixpkgs/pkgs/development/compilers/solc/default.nix17
-rw-r--r--nixpkgs/pkgs/development/compilers/swift/default.nix13
-rw-r--r--nixpkgs/pkgs/development/compilers/vlang/default.nix15
-rw-r--r--nixpkgs/pkgs/development/compilers/yosys/default.nix18
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-common.nix22
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix6
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix6
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix52
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml72
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix3196
-rw-r--r--nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix1
-rw-r--r--nixpkgs/pkgs/development/interpreters/evcxr/cargo-lock.patch684
-rw-r--r--nixpkgs/pkgs/development/interpreters/evcxr/default.nix15
-rw-r--r--nixpkgs/pkgs/development/interpreters/groovy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/janet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix7
-rw-r--r--nixpkgs/pkgs/development/interpreters/php/default.nix2
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix6
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/cpython/default.nix29
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/default.nix32
-rw-r--r--nixpkgs/pkgs/development/interpreters/python/pypy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/aacskeys/default.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/allegro/5.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/appstream-glib/default.nix59
-rw-r--r--nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/avahi/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/babl/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/babl/fix-darwin.patch16
-rw-r--r--nixpkgs/pkgs/development/libraries/cctz/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/cm256cc/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/dav1d/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/directfb/default.nix41
-rw-r--r--nixpkgs/pkgs/development/libraries/directfb/default.upstream3
-rw-r--r--nixpkgs/pkgs/development/libraries/dlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/exiv2/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/exiv2/fix-cmake.patch16
-rw-r--r--nixpkgs/pkgs/development/libraries/exosip/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch19
-rw-r--r--nixpkgs/pkgs/development/libraries/gegl/3.0.nix38
-rw-r--r--nixpkgs/pkgs/development/libraries/gfbgraph/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/globalplatform/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/gnome-online-accounts/default.nix (renamed from nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/libraries/gnome-video-effects/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch79
-rw-r--r--nixpkgs/pkgs/development/libraries/graphene/default.nix18
-rw-r--r--nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix (renamed from nixpkgs/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/libraries/grilo/default.nix (renamed from nixpkgs/pkgs/desktops/gnome-3/core/grilo/default.nix)1
-rw-r--r--nixpkgs/pkgs/development/libraries/grilo/setup-hook.sh (renamed from nixpkgs/pkgs/desktops/gnome-3/core/grilo/setup-hook.sh)0
-rw-r--r--nixpkgs/pkgs/development/libraries/grpc/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/gthree/default.nix72
-rw-r--r--nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/itk/default.nix13
-rw-r--r--nixpkgs/pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libargon2/default.nix27
-rw-r--r--nixpkgs/pkgs/development/libraries/libcacard/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdazzle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libdeflate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libftdi/default.nix8
-rw-r--r--nixpkgs/pkgs/development/libraries/libgdata/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libgig/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libgnurl/default.nix25
-rw-r--r--nixpkgs/pkgs/development/libraries/libgpiod/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libivykis/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/libmodbus/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libndctl/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libosinfo/default.nix30
-rw-r--r--nixpkgs/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch2
-rw-r--r--nixpkgs/pkgs/development/libraries/libosmium/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libplacebo/default.nix46
-rw-r--r--nixpkgs/pkgs/development/libraries/librealsense/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libressl/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/libspf2/default.nix43
-rw-r--r--nixpkgs/pkgs/development/libraries/liburing/default.nix47
-rw-r--r--nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/libvirt/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/libvisio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libwebsockets/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/libxmlb/default.nix60
-rw-r--r--nixpkgs/pkgs/development/libraries/libxmlb/installed-tests-path.patch24
-rw-r--r--nixpkgs/pkgs/development/libraries/libzapojit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/live555/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/luaffi/darwin.patch17
-rw-r--r--nixpkgs/pkgs/development/libraries/luaffi/default.nix31
-rw-r--r--nixpkgs/pkgs/development/libraries/luaffi/makefile-errors.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/mdds/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/mutest/default.nix34
-rw-r--r--nixpkgs/pkgs/development/libraries/odpic/default.nix26
-rw-r--r--nixpkgs/pkgs/development/libraries/oniguruma/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/opencv/4.x.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/opendkim/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/opendkim/openssl-1.1.patch81
-rw-r--r--nixpkgs/pkgs/development/libraries/opensaml-cpp/default.nix14
-rw-r--r--nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix131
-rw-r--r--nixpkgs/pkgs/development/libraries/poco/default.nix1
-rw-r--r--nixpkgs/pkgs/development/libraries/protobuf/3.9.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/protozero/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/ptlib/default.nix5
-rw-r--r--nixpkgs/pkgs/development/libraries/qca2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix3
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch398
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/default.nix193
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/fetch.sh2
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/qtbase-fixguicmake.patch30
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/qtbase.patch795
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch20
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/qtscript.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/qtserialport.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/qttools.patch64
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/qtwebengine-seccomp.patch24
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch149
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.6/srcs.nix309
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/default.nix6
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch3985
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase.patch22
-rw-r--r--nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix7
-rw-r--r--nixpkgs/pkgs/development/libraries/science/math/sympow/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/serialdv/default.nix23
-rw-r--r--nixpkgs/pkgs/development/libraries/shibboleth-sp/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/simpleitk/default.nix17
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker-miners/default.nix (renamed from nixpkgs/pkgs/desktops/gnome-3/core/tracker-miners/default.nix)2
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker-miners/fix-paths.patch (renamed from nixpkgs/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker/default.nix (renamed from nixpkgs/pkgs/desktops/gnome-3/core/tracker/default.nix)0
-rw-r--r--nixpkgs/pkgs/development/libraries/tracker/fix-paths.patch (renamed from nixpkgs/pkgs/desktops/gnome-3/core/tracker/fix-paths.patch)0
-rw-r--r--nixpkgs/pkgs/development/libraries/umockdev/default.nix2
-rw-r--r--nixpkgs/pkgs/development/libraries/umockdev/disable-failed-test.patch13
-rw-r--r--nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix12
-rw-r--r--nixpkgs/pkgs/development/libraries/vapoursynth/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wcslib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/wiredtiger/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/wlroots/default.nix36
-rw-r--r--nixpkgs/pkgs/development/libraries/wxSVG/default.nix4
-rw-r--r--nixpkgs/pkgs/development/libraries/xml-security-c/cxx11.patch11
-rw-r--r--nixpkgs/pkgs/development/libraries/xml-security-c/default.nix11
-rw-r--r--nixpkgs/pkgs/development/libraries/xml-tooling-c/default.nix10
-rw-r--r--nixpkgs/pkgs/development/libraries/xxHash/default.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/lisp-packages.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix17
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix20
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix19
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix22
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix21
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix23
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix4
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix18
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix16
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix18
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix19
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix14
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix7
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix7
-rw-r--r--nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp5
-rw-r--r--nixpkgs/pkgs/development/lua-modules/generated-packages.nix60
-rw-r--r--nixpkgs/pkgs/development/lua-modules/overrides.nix19
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/README.md6
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/default.nix19
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/dotf.patch13
-rwxr-xr-xnixpkgs/pkgs/development/misc/google-clasp/generate.sh9
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/google-clasp.nix17
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/node-packages.json3
-rw-r--r--nixpkgs/pkgs/development/misc/google-clasp/node-packages.nix2101
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/build-app.nix8
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix57
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/default.nix4
-rw-r--r--nixpkgs/pkgs/development/mobile/androidenv/emulate-app.nix49
-rw-r--r--nixpkgs/pkgs/development/mobile/xpwn/default.nix20
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages-v10.json1
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages-v10.nix1339
-rw-r--r--nixpkgs/pkgs/development/node-packages/node-packages-v12.nix40
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix12
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/charInfo_width/default.nix19
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/cohttp/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/javalib/default.nix23
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lambda-term/1.6.nix42
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lambda-term/default.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/logs/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/lwt_log/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/otr/default.nix29
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_deriving/default.nix39
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix3
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix20
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/sedlex/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/uri/default.nix10
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/uri/sexp.nix13
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/vg/default.nix8
-rw-r--r--nixpkgs/pkgs/development/ocaml-modules/zed/default.nix14
-rw-r--r--nixpkgs/pkgs/development/perl-modules/DBD-Oracle/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/Fabric/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/Wand/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/ansible/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/authres/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-cli-core/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/braintree/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/caldav/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/carbon/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cheroot/default.nix19
-rw-r--r--nixpkgs/pkgs/development/python-modules/cheroot/tests.patch45
-rw-r--r--nixpkgs/pkgs/development/python-modules/cliapp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/cmd2/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/crc16/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/deprecation/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/django_silk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dlib/default.nix12
-rw-r--r--nixpkgs/pkgs/development/python-modules/dogtail/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/dominate/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/elpy/default.nix29
-rw-r--r--nixpkgs/pkgs/development/python-modules/flufl/bounce.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/flufl/i18n.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/flufl/lock.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/foxdot/default.nix23
-rw-r--r--nixpkgs/pkgs/development/python-modules/ftfy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/funcy/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/geojson/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/glances/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/graphite-web/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/grpcio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/gssapi/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/invoke/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/larch/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/lark-parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lazr/config.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/lazr/delegates.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/libkeepass/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/lmdb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix21
-rw-r--r--nixpkgs/pkgs/development/python-modules/mixpanel/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/moderngl/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/moretools/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/mox3/default.nix10
-rw-r--r--nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix14
-rw-r--r--nixpkgs/pkgs/development/python-modules/mpv/default.nix30
-rw-r--r--nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nameparser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbconvert/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/nbmerge/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/nltk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/node-semver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/notebook/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/parsel/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pdfkit/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/peewee/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/potr/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pre-commit/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycangjie/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pycurl/default.nix5
-rw-r--r--nixpkgs/pkgs/development/python-modules/pydot_ng/default.nix24
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyglet/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykde4/default.nix8
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pykka/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyodbc/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyowm/default.nix7
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/pysocks/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pyspotify/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytesseract/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix16
-rw-r--r--nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix3
-rw-r--r--nixpkgs/pkgs/development/python-modules/python-language-server/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rasterio/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/rebulk/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/shamir-mnemonic/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/sipsimple/default.nix15
-rw-r--r--nixpkgs/pkgs/development/python-modules/spark_parser/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tblib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/tensorflow/default.nix17
-rw-r--r--nixpkgs/pkgs/development/python-modules/tracing/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/trezor/default.nix6
-rw-r--r--nixpkgs/pkgs/development/python-modules/trollius/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/ttystatus/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/txamqp/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/uncertainties/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/uproot/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/urwid/default.nix28
-rw-r--r--nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/voluptuous/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/w3lib/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/whisper/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/ws4py/default.nix2
-rw-r--r--nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix25
-rw-r--r--nixpkgs/pkgs/development/python-modules/wsproto/default.nix13
-rw-r--r--nixpkgs/pkgs/development/python-modules/xapian/default.nix43
-rw-r--r--nixpkgs/pkgs/development/python-modules/xdis/default.nix18
-rw-r--r--nixpkgs/pkgs/development/python-modules/yamllint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/python-modules/zict/default.nix4
-rw-r--r--nixpkgs/pkgs/development/ruby-modules/bundler-app/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/flow/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix133
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/msbuild/nuget.nix1130
-rw-r--r--nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/buildah/default.nix26
-rw-r--r--nixpkgs/pkgs/development/tools/cbor-diag/Gemfile.lock8
-rw-r--r--nixpkgs/pkgs/development/tools/cbor-diag/gemset.nix28
-rw-r--r--nixpkgs/pkgs/development/tools/cddl/Gemfile.lock12
-rw-r--r--nixpkgs/pkgs/development/tools/cddl/gemset.nix44
-rw-r--r--nixpkgs/pkgs/development/tools/clj-kondo/default.nix51
-rw-r--r--nixpkgs/pkgs/development/tools/cloudfoundry-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/coursier/default.nix13
-rw-r--r--nixpkgs/pkgs/development/tools/easyjson/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/fdroidserver/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/git-series/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/gofumpt/default.nix22
-rw-r--r--nixpkgs/pkgs/development/tools/icestorm/default.nix12
-rw-r--r--nixpkgs/pkgs/development/tools/jq/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/ktlint/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/misc/astyle/default.nix34
-rw-r--r--nixpkgs/pkgs/development/tools/misc/d-feet/default.nix74
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gdb/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/gengetopt/default.nix18
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kibana/5.x.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kibana/6.x.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/misc/mkcert/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/misc/texi2html/default.nix25
-rw-r--r--nixpkgs/pkgs/development/tools/misc/wishbone-tool/default.nix25
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/dune/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/ocaml/utop/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/ofono-phonesim/default.nix47
-rw-r--r--nixpkgs/pkgs/development/tools/ofono-phonesim/qt5-compat.patch48
-rw-r--r--nixpkgs/pkgs/development/tools/osslsigncode/default.nix31
-rw-r--r--nixpkgs/pkgs/development/tools/out-of-tree/default.nix30
-rw-r--r--nixpkgs/pkgs/development/tools/out-of-tree/deps.nix120
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix106
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/disable-web-ui.patch37
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix15
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-bash.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json7
-rw-r--r--nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix68
-rw-r--r--nixpkgs/pkgs/development/tools/quicktemplate/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/rust/racer/default.nix2
-rw-r--r--nixpkgs/pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--nixpkgs/pkgs/development/tools/skaffold/default.nix10
-rw-r--r--nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix16
-rw-r--r--nixpkgs/pkgs/development/tools/statik/default.nix8
-rw-r--r--nixpkgs/pkgs/development/tools/trellis/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/cypress/default.nix4
-rw-r--r--nixpkgs/pkgs/development/web/remarkjs/default.nix2
-rw-r--r--nixpkgs/pkgs/games/anki/default.nix19
-rw-r--r--nixpkgs/pkgs/games/btanks/default.nix27
-rw-r--r--nixpkgs/pkgs/games/gcompris/default.nix56
-rw-r--r--nixpkgs/pkgs/games/gnome-hexgl/default.nix43
-rw-r--r--nixpkgs/pkgs/games/gzdoom/default.nix4
-rw-r--r--nixpkgs/pkgs/games/solarus/default.nix16
-rw-r--r--nixpkgs/pkgs/games/steam/steam.nix4
-rw-r--r--nixpkgs/pkgs/games/warsow/default.nix2
-rw-r--r--nixpkgs/pkgs/games/warsow/engine.nix3
-rw-r--r--nixpkgs/pkgs/misc/acpilight/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix33
-rw-r--r--nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix44
-rw-r--r--nixpkgs/pkgs/misc/emulators/wine/sources.nix14
-rw-r--r--nixpkgs/pkgs/misc/scrcpy/default.nix15
-rw-r--r--nixpkgs/pkgs/misc/scream-receivers/default.nix56
-rw-r--r--nixpkgs/pkgs/misc/tw-rs/default.nix26
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/generated.nix11
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/overrides.nix4
-rw-r--r--nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/blcr/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/evdi/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/iproute/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-5.2.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/lxc/default.nix2
-rw-r--r--nixpkgs/pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix6
-rw-r--r--nixpkgs/pkgs/os-specific/linux/powerstat/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/pscircle/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/smemstat/default.nix4
-rw-r--r--nixpkgs/pkgs/os-specific/linux/usbguard/default.nix25
-rw-r--r--nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/atlassian/jira.nix4
-rw-r--r--nixpkgs/pkgs/servers/bird/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/computing/torque/default.nix67
-rw-r--r--nixpkgs/pkgs/servers/diod/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/dns/bind/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/dns/nsd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/dns/powerdns/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/esphome.nix2
-rw-r--r--nixpkgs/pkgs/servers/home-assistant/frontend.nix2
-rw-r--r--nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/http/nginx/generic.nix2
-rw-r--r--nixpkgs/pkgs/servers/http/unit/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/icingaweb2/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/identd/oidentd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/jackett/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/limesurvey/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/mail/exim/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch51
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/core.nix42
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/default.nix33
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/fix-var-prefix.patch33
-rw-r--r--nixpkgs/pkgs/servers/mail/mailman/postorius.nix28
-rw-r--r--nixpkgs/pkgs/servers/mail/opensmtpd/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/mail/postfix/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/mail/rmilter/default.nix33
-rw-r--r--nixpkgs/pkgs/servers/mail/rmilter/fd-passing-libmilter.patch80
-rw-r--r--nixpkgs/pkgs/servers/mail/rspamd/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/meguca/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/miniflux/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix13
-rw-r--r--nixpkgs/pkgs/servers/monitoring/grafana/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/loki/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/cups-exporter.nix36
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix27
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter_deps.nix390
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/mail-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix6
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix12
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/riemann/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/monitoring/thanos/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/nextcloud/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/nosql/redis/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix1
-rw-r--r--nixpkgs/pkgs/servers/openxpki/default.nix1
-rw-r--r--nixpkgs/pkgs/servers/plex/raw.nix4
-rw-r--r--nixpkgs/pkgs/servers/rainloop/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/roundcube/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/search/groonga/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/search/solr/8.x.nix2
-rw-r--r--nixpkgs/pkgs/servers/search/solr/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/sickbeard/sickrage.nix2
-rw-r--r--nixpkgs/pkgs/servers/sks/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/sonarr/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/pgpool/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/sql/postgresql/default.nix7
-rw-r--r--nixpkgs/pkgs/servers/squid/4.nix39
-rw-r--r--nixpkgs/pkgs/servers/squid/default.nix20
-rw-r--r--nixpkgs/pkgs/servers/trezord/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/ttyd/default.nix20
-rw-r--r--nixpkgs/pkgs/servers/unifi/default.nix12
-rw-r--r--nixpkgs/pkgs/servers/uwsgi/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/codimd/default.nix14
-rw-r--r--nixpkgs/pkgs/servers/web-apps/codimd/package.json16
-rw-r--r--nixpkgs/pkgs/servers/web-apps/codimd/yarn.lock3773
-rw-r--r--nixpkgs/pkgs/servers/web-apps/codimd/yarn.nix3548
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix10
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix9
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix96
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.nix2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/matomo/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/web-apps/moodle/default.nix40
-rw-r--r--nixpkgs/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix8
-rw-r--r--nixpkgs/pkgs/servers/web-apps/searx/default.nix2
-rw-r--r--nixpkgs/pkgs/servers/web-apps/shaarli/default.nix4
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/default.nix6
-rw-r--r--nixpkgs/pkgs/servers/x11/xorg/tarballs.list2
-rw-r--r--nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix10
-rw-r--r--nixpkgs/pkgs/servers/zoneminder/default.nix2
-rw-r--r--nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix2
-rw-r--r--nixpkgs/pkgs/shells/oil/default.nix14
-rw-r--r--nixpkgs/pkgs/shells/powershell/default.nix4
-rw-r--r--nixpkgs/pkgs/shells/xonsh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/nx-libs/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/wpgtk/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/xcalib/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix3
-rw-r--r--nixpkgs/pkgs/tools/X11/xkb-switch/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch21
-rw-r--r--nixpkgs/pkgs/tools/admin/acme.sh/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix71
-rw-r--r--nixpkgs/pkgs/tools/admin/lego/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/admin/lxd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/borg/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/backup/partimage/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/backup/wal-e/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/compression/xar/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/compression/zstd/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch6
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch49
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch156
-rw-r--r--nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch138
-rw-r--r--nixpkgs/pkgs/tools/graphics/argyllcms/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/graphics/scrot/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/3llo/Gemfile2
-rw-r--r--nixpkgs/pkgs/tools/misc/3llo/Gemfile.lock27
-rw-r--r--nixpkgs/pkgs/tools/misc/3llo/default.nix31
-rw-r--r--nixpkgs/pkgs/tools/misc/3llo/gemset.nix85
-rw-r--r--nixpkgs/pkgs/tools/misc/autorandr/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/calamares/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ckb-next/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/claws/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/dynamic-colors/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/misc/exa/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/fd/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/ffsend/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/fpp/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/grc/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/ix/default.nix30
-rw-r--r--nixpkgs/pkgs/tools/misc/kanshi/default.nix47
-rw-r--r--nixpkgs/pkgs/tools/misc/lazydocker/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/ncdu/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/osinfo-db-tools/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/misc/qt5ct/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/misc/qt5ct/wayland.patch22
-rw-r--r--nixpkgs/pkgs/tools/misc/riemann-c-client/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/shallot/default.nix25
-rw-r--r--nixpkgs/pkgs/tools/misc/starship/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix11
-rw-r--r--nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/misc/uhubctl/default.nix28
-rw-r--r--nixpkgs/pkgs/tools/misc/unclutter-xfixes/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/misc/vfdecrypt/default.nix26
-rw-r--r--nixpkgs/pkgs/tools/misc/wev/default.nix34
-rw-r--r--nixpkgs/pkgs/tools/misc/yank/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/arping/default.nix10
-rw-r--r--nixpkgs/pkgs/tools/networking/chrony/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/dnsmasq/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/dsniff/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/httping/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/httplz/cargo-lock.patch639
-rw-r--r--nixpkgs/pkgs/tools/networking/httplz/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/mailsend/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/mtr/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/applet.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/network-manager/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/nfdump/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/ofono/0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch120
-rw-r--r--nixpkgs/pkgs/tools/networking/ofono/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/p2p/libtorrent/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/radsecproxy/default.nix17
-rw-r--r--nixpkgs/pkgs/tools/networking/redir/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/sipcalc/default.nix12
-rw-r--r--nixpkgs/pkgs/tools/networking/socat/2.x.nix1
-rw-r--r--nixpkgs/pkgs/tools/networking/swaks/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/tcpdump/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/tcpflow/default.nix71
-rw-r--r--nixpkgs/pkgs/tools/networking/tcpflow/default.upstream1
-rw-r--r--nixpkgs/pkgs/tools/networking/unbound/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/uwimap/default.nix23
-rw-r--r--nixpkgs/pkgs/tools/networking/vde2/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/networking/whois/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/networking/zerotierone/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix21
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix3805
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-download/crates-io.nix5289
-rw-r--r--nixpkgs/pkgs/tools/package-management/cargo-download/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/package-management/xbps/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/chaps/default.nix1
-rw-r--r--nixpkgs/pkgs/tools/security/clamav/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/dnsenum/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/dnsrecon/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/fierce/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/hcxtools/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/keybase/gui.nix6
-rw-r--r--nixpkgs/pkgs/tools/security/kpcli/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/lesspass-cli/default.nix38
-rw-r--r--nixpkgs/pkgs/tools/security/nmap/default.nix8
-rw-r--r--nixpkgs/pkgs/tools/security/pass/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/security/ripasso/cursive.nix30
-rw-r--r--nixpkgs/pkgs/tools/security/tor/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/security/tpm-luks/default.nix5
-rw-r--r--nixpkgs/pkgs/tools/security/tpm-luks/openssl-1.1.patch63
-rw-r--r--nixpkgs/pkgs/tools/security/tpm-luks/signed-ptr.patch15
-rw-r--r--nixpkgs/pkgs/tools/security/tpm-tools/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/security/vault/default.nix33
-rw-r--r--nixpkgs/pkgs/tools/system/acpica-tools/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/lr/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/runit/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/syslog-ng/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/system/thermald/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/text/ripgrep/default.nix2
-rw-r--r--nixpkgs/pkgs/tools/text/vale/default.nix14
-rw-r--r--nixpkgs/pkgs/tools/typesetting/biber/default.nix7
-rw-r--r--nixpkgs/pkgs/tools/typesetting/scdoc/default.nix4
-rw-r--r--nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix5
-rw-r--r--nixpkgs/pkgs/top-level/aliases.nix4
-rw-r--r--nixpkgs/pkgs/top-level/all-packages.nix440
-rw-r--r--nixpkgs/pkgs/top-level/beam-packages.nix4
-rw-r--r--nixpkgs/pkgs/top-level/coq-packages.nix2
-rw-r--r--nixpkgs/pkgs/top-level/dotnet-packages.nix45
-rw-r--r--nixpkgs/pkgs/top-level/ocaml-packages.nix10
-rw-r--r--nixpkgs/pkgs/top-level/perl-packages.nix66
-rw-r--r--nixpkgs/pkgs/top-level/php-packages.nix11
-rw-r--r--nixpkgs/pkgs/top-level/python-packages.nix44
1122 files changed, 37239 insertions, 17766 deletions
diff --git a/nixpkgs/doc/languages-frameworks/android.section.md b/nixpkgs/doc/languages-frameworks/android.section.md
index 237f3441874f..f268c5525660 100644
--- a/nixpkgs/doc/languages-frameworks/android.section.md
+++ b/nixpkgs/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/nixpkgs/doc/languages-frameworks/perl.xml b/nixpkgs/doc/languages-frameworks/perl.xml
index d0f124f29d42..065212a0e180 100644
--- a/nixpkgs/doc/languages-frameworks/perl.xml
+++ b/nixpkgs/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/nixpkgs/lib/modules.nix b/nixpkgs/lib/modules.nix
index 0869eae1982b..c3c903c1dfa8 100644
--- a/nixpkgs/lib/modules.nix
+++ b/nixpkgs/lib/modules.nix
@@ -323,16 +323,14 @@ rec {
         else
           mergeDefinitions loc opt.type defs';
 
-      # Check whether the option is defined, and apply the ‘apply’
-      # function to the merged value.  This allows options to yield a
-      # value computed from the definitions.
-      value =
-        if !res.isDefined then
-          throw "The option `${showOption loc}' is used but not defined."
-        else if opt ? apply then
-          opt.apply res.mergedValue
-        else
-          res.mergedValue;
+
+      # The value with a check that it is defined
+      valueDefined = if res.isDefined then res.mergedValue else
+        throw "The option `${showOption loc}' is used but not defined.";
+
+      # Apply the 'apply' function to the merged value. This allows options to
+      # yield a value computed from the definitions
+      value = if opt ? apply then opt.apply valueDefined else valueDefined;
 
     in opt //
       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
diff --git a/nixpkgs/lib/options.nix b/nixpkgs/lib/options.nix
index d2eae3ae3a98..e5c0631a5437 100644
--- a/nixpkgs/lib/options.nix
+++ b/nixpkgs/lib/options.nix
@@ -36,7 +36,7 @@ rec {
     example ? null,
     # String describing the option.
     description ? null,
-    # Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix).
+    # Related packages used in the manual (see `genRelatedPackages` in ../nixos/lib/make-options-doc/default.nix).
     relatedPackages ? null,
     # Option type, providing type-checking and value merging.
     type ? null,
diff --git a/nixpkgs/maintainers/maintainer-list.nix b/nixpkgs/maintainers/maintainer-list.nix
index ebc58aa8d73a..ce6ff26a819b 100644
--- a/nixpkgs/maintainers/maintainer-list.nix
+++ b/nixpkgs/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";
@@ -329,6 +335,12 @@
     githubId = 2822871;
     name = "Alistair Bill";
   };
+  alkeryn = {
+    email = "plbraundev@gmail.com";
+    github = "Alkeryn";
+    githubId = 11599075;
+    name = "Pierre-Louis Braun";
+  };
   all = {
     email = "nix-commits@lists.science.uu.nl";
     name = "Nix Committers";
@@ -576,6 +588,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";
@@ -1706,6 +1724,16 @@
       fingerprint = "389A 78CB CD88 5E0C 4701  DEB9 FD42 C7D0 D414 94C8";
     }];
   };
+  dump_stack = {
+    email = "root@dumpstack.io";
+    github = "jollheef";
+    githubId = 1749762;
+    name = "Mikhail Klementev";
+    keys = [{
+      longkeyid = "rsa4096/0x1525585D1B43C62A";
+      fingerprint = "5DD7 C6F6 0630 F08E DAE7  4711 1525 585D 1B43 C62A";
+    }];
+  };
   dxf = {
     email = "dingxiangfei2009@gmail.com";
     github = "dingxiangfei2009";
@@ -2743,6 +2771,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";
@@ -2830,6 +2863,15 @@
     githubId = 1383440;
     name = "Jason Gilliland";
   };
+  jdanek = {
+    email = "jdanek@redhat.com";
+    github = "jdanekrh";
+    keys = [{
+      longkeyid = "ed25519/0x69275CADF15D872E";
+      fingerprint = "D4A6 F051 AD58 2E7C BCED  5439 6927 5CAD F15D 872E";
+    }];
+    name = "Jiri Daněk";
+  };
   jdehaas = {
     email = "qqlq@nullptr.club";
     github = "jeroendehaas";
@@ -3246,6 +3288,11 @@
     githubId = 451835;
     name = "Kirill Elagin";
   };
+  kirikaza = {
+    email = "k@kirikaza.ru";
+    github = "kirikaza";
+    name = "Kirill Kazakov";
+  };
   kisonecat = {
     email = "kisonecat@gmail.com";
     github = "kisonecat";
@@ -3363,6 +3410,11 @@
     githubId = 10544;
     name = "Giuluo Eulisse";
   };
+  ktor = {
+    email = "kruszewsky@gmail.com";
+    github = "ktor";
+    name = "Pawel Kruszewski";
+  };
   ktosiek = {
     email = "tomasz.kontusz@gmail.com";
     github = "ktosiek";
@@ -3492,6 +3544,11 @@
     githubId = 307589;
     name = "Nathaniel Baxter";
   };
+  lightbulbjim = {
+    email = "chris@killred.net";
+    github = "lightbulbjim";
+    name = "Chris Rendle-Short";
+  };
   lightdiscord = {
     email = "root@arnaud.sh";
     github = "lightdiscord";
@@ -5629,6 +5686,12 @@
     githubId = 918365;
     name = "Stefan Frijters";
   };
+  sgo = {
+    email = "stig@stig.io";
+    github = "stigtsp";
+    githubId = 75371;
+    name = "Stig Palmquist";
+  };
   sgraf = {
     email = "sgraf1337@gmail.com";
     github = "sgraf812";
@@ -5907,6 +5970,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";
@@ -6505,6 +6574,12 @@
     githubId = 1525767;
     name = "Vaibhav Sagar";
   };
+  valebes = {  
+    email = "valebes@gmail.com";
+    github = "valebes";
+    githubid = 10956211;
+    name = "Valerio Besozzi";
+  };
   valeriangalliat = {
     email = "val@codejam.info";
     github = "valeriangalliat";
@@ -6586,6 +6661,16 @@
     githubId = 5837359;
     name = "Adrian Pistol";
   };
+  vika_nezrimaya = {
+    email = "vika@fireburn.ru";
+    github = "kisik21";
+    githubId = 7953163;
+    name = "Vika Shleina";
+    keys = [{
+      longkeyid = "rsa4096/0x5402B9B5497BACDB";
+      fingerprint = "A03C D09C 36CF D9F6 1ADF  AF11 5402 B9B5 497B ACDB";
+    }];
+  };
   vinymeuh = {
     email = "vinymeuh@gmail.com";
     github = "vinymeuh";
diff --git a/nixpkgs/maintainers/scripts/luarocks-packages.csv b/nixpkgs/maintainers/scripts/luarocks-packages.csv
index 2039af5165a0..0ec9ff3d84d9 100644
--- a/nixpkgs/maintainers/scripts/luarocks-packages.csv
+++ b/nixpkgs/maintainers/scripts/luarocks-packages.csv
@@ -1,4 +1,5 @@
 # nix name, luarocks name, server, version,luaversion,maintainers
+alt-getopt,,,,,arobyn
 ansicolors,,,,,
 argparse,,,,,
 basexx,,,,,
@@ -17,6 +18,7 @@ http,,,,,vcunat
 inspect,,,,,
 ldoc,,,,,
 lgi,,,,,
+ljsyscall,,,,lua5_1,lblasc
 lpeg,,,,,vyp
 lpeg_patterns,,,,,
 lpeglabel,,,,,
@@ -56,6 +58,7 @@ luv,,,,,
 markdown,,,,,
 mediator_lua,,,,,
 mpack,,,,,
+moonscript,,,,,arobyn
 nvim-client,,,,,
 penlight,,,,,
 rapidjson,,,,,
diff --git a/nixpkgs/nixos/doc/manual/development/releases.xml b/nixpkgs/nixos/doc/manual/development/releases.xml
index 3cb16d33cd48..1cdec64f69b0 100755
--- a/nixpkgs/nixos/doc/manual/development/releases.xml
+++ b/nixpkgs/nixos/doc/manual/development/releases.xml
@@ -220,6 +220,30 @@
    </itemizedlist>
   </section>
  </section>
+ <section xml:id="release-managers">
+  <title>Release Management Team</title>
+  <para>
+   For each release there are two release managers. After each release the
+   release manager having managed two releases steps down and the release
+   management team of the last release appoints a new release manager.
+  </para>
+  <para>
+   This makes sure a release management team always consists of one release
+   manager who already has managed one release and one release manager being
+   introduced to their role, making it easier to pass on knowledge and
+   experience.
+  </para>
+  <para>
+   A release manager's role and responsibilities are:
+  </para>
+  <itemizedlist>
+   <listitem><para>manage the release process</para></listitem>
+   <listitem><para>start discussions about features and changes for a given release</para></listitem>
+   <listitem><para>create a roadmap</para></listitem>
+   <listitem><para>release in cooperation with Eelco Dolstra</para></listitem>
+   <listitem><para>decide which bug fixes, features, etc... get backported after a release</para></listitem>
+  </itemizedlist>
+ </section>
  <section xml:id="release-schedule">
   <title>Release schedule</title>
 
diff --git a/nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml b/nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml
index b780cba357e8..36bea28530be 100644
--- a/nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixpkgs/nixos/doc/manual/release-notes/rl-1909.xml
@@ -48,6 +48,15 @@
      To gain root privileges use <literal>sudo -i</literal> without a password.
     </para>
    </listitem>
+   <listitem>
+    <para>
+      We've updated to Xfce 4.14, which brings a new module <option>services.xserver.desktopManager.xfce4-14</option>.
+      If you'd like to upgrade, please switch from the <option>services.xserver.desktopManager.xfce</option> module as it
+      will be deprecated in a future release. They're incompatibilities with the current Xfce module; it doesn't support
+      <option>thunarPlugins</option> and it isn't recommended to use <option>services.xserver.desktopManager.xfce</option>
+      and <option>services.xserver.desktopManager.xfce4-14</option> simultaneously or to downgrade from Xfce 4.14 after upgrading.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -237,6 +246,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 +278,48 @@
        <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>
+   <listitem>
+     <para>
+       The <option>services.pdns-recursor.extraConfig</option> option has been replaced by
+       <option>services.pdns-recursor.settings</option>. The new option allows setting extra
+       configuration while being better type-checked and mergeable.
+     </para>
+   </listitem>
+   <listitem>
+    <para>
+     No service depends on <literal>keys.target</literal> anymore which is a systemd
+     target that indicates if all <link xlink:href="https://nixos.org/nixops/manual/#idm140737322342384">NixOps keys</link> were successfully uploaded.
+     Instead, <literal>&lt;key-name&gt;-key.service</literal> should be used to define
+     a dependency of a key in a service. The full issue behind the <literal>keys.target</literal>
+     dependency is described at <link xlink:href="https://github.com/NixOS/nixpkgs/issues/67265">NixOS/nixpkgs#67265</link>.
+    </para>
+    <para>
+     The following services are affected by this:
+     <itemizedlist>
+      <listitem><para><link linkend="opt-services.dovecot2.enable"><literal>services.dovecot2</literal></link></para></listitem>
+      <listitem><para><link linkend="opt-services.nsd.enable"><literal>services.nsd</literal></link></para></listitem>
+      <listitem><para><link linkend="opt-services.softether.enable"><literal>services.softether</literal></link></para></listitem>
+      <listitem><para><link linkend="opt-services.strongswan.enable"><literal>services.strongswan</literal></link></para></listitem>
+      <listitem><para><link linkend="opt-services.strongswan-swanctl.enable"><literal>services.strongswan-swanctl</literal></link></para></listitem>
+      <listitem><para><link linkend="opt-services.httpd.enable"><literal>services.httpd</literal></link></para></listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -435,6 +492,48 @@
      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>
@@ -443,6 +542,20 @@
     been removed.
    </para>
   </listitem>
+  <listitem>
+   <para>
+    The <literal>rmilter</literal> package was removed with associated module and options due deprecation by upstream developer.
+    Use <literal>rspamd</literal> in proxy mode instead.
+   </para>
+  </listitem>
+  <listitem>
+   <para>
+     systemd cgroup accounting via the
+     <link linkend="opt-systemd.enableCgroupAccounting">systemd.enableCgroupAccounting</link>
+     option is now enabled by default. It now also enables the more recent Block IO and IP accounting
+     features.
+   </para>
+  </listitem>
   </itemizedlist>
  </section>
 </section>
diff --git a/nixpkgs/nixos/modules/config/fonts/fontconfig-penultimate.nix b/nixpkgs/nixos/modules/config/fonts/fontconfig-penultimate.nix
index 04fa8b9559a9..24ed9c97668b 100644
--- a/nixpkgs/nixos/modules/config/fonts/fontconfig-penultimate.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/config/fonts/fontconfig.nix b/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
index 724158f73821..fe0b88cf4c26 100644
--- a/nixpkgs/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/config/qt5.nix b/nixpkgs/nixos/modules/config/qt5.nix
new file mode 100644
index 000000000000..7de1c0f5d557
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/config/sysctl.nix b/nixpkgs/nixos/modules/config/sysctl.nix
index 0c6a7e2431aa..fb2b58eed720 100644
--- a/nixpkgs/nixos/modules/config/sysctl.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/config/update-users-groups.pl b/nixpkgs/nixos/modules/config/update-users-groups.pl
index c1d6a079dee1..ee5c77c1a908 100644
--- a/nixpkgs/nixos/modules/config/update-users-groups.pl
+++ b/nixpkgs/nixos/modules/config/update-users-groups.pl
@@ -269,6 +269,7 @@ foreach my $line (-f "/etc/shadow" ? read_file("/etc/shadow") : ()) {
     next if !defined $u;
     $hashedPassword = "!" if !$spec->{mutableUsers};
     $hashedPassword = $u->{hashedPassword} if defined $u->{hashedPassword} && !$spec->{mutableUsers}; # FIXME
+    chomp $hashedPassword;
     push @shadowNew, join(":", $name, $hashedPassword, @rest) . "\n";
     $shadowSeen{$name} = 1;
 }
diff --git a/nixpkgs/nixos/modules/config/vte.nix b/nixpkgs/nixos/modules/config/vte.nix
new file mode 100644
index 000000000000..d4a8c926fef2
--- /dev/null
+++ b/nixpkgs/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 = mkBefore vteInitSnippet;
+    })
+
+    (mkIf config.programs.zsh.vteIntegration {
+      programs.zsh.interactiveShellInit = vteInitSnippet;
+    })
+  ];
+}
diff --git a/nixpkgs/nixos/modules/misc/ids.nix b/nixpkgs/nixos/modules/misc/ids.nix
index d7599a1e2b7a..aed49c10dce4 100644
--- a/nixpkgs/nixos/modules/misc/ids.nix
+++ b/nixpkgs/nixos/modules/misc/ids.nix
@@ -251,7 +251,7 @@
       gale = 223;
       matrix-synapse = 224;
       rspamd = 225;
-      rmilter = 226;
+      # rmilter = 226; # unused, removed 2019-08-22
       cfdyndns = 227;
       gammu-smsd = 228;
       pdnsd = 229;
@@ -340,6 +340,7 @@
       cockroachdb = 313;
       zoneminder = 314;
       paperless = 315;
+      mailman = 316;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -559,7 +560,7 @@
       gale = 223;
       matrix-synapse = 224;
       rspamd = 225;
-      rmilter = 226;
+      # rmilter = 226; # unused, removed 2019-08-22
       cfdyndns = 227;
       pdnsd = 229;
       octoprint = 230;
@@ -640,6 +641,7 @@
       cockroachdb = 313;
       zoneminder = 314;
       paperless = 315;
+      mailman = 316;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixpkgs/nixos/modules/module-list.nix b/nixpkgs/nixos/modules/module-list.nix
index e662886ad199..5f18413050ef 100644
--- a/nixpkgs/nixos/modules/module-list.nix
+++ b/nixpkgs/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
@@ -386,7 +388,6 @@
   ./services/mail/spamassassin.nix
   ./services/mail/rspamd.nix
   ./services/mail/rss2email.nix
-  ./services/mail/rmilter.nix
   ./services/mail/roundcube.nix
   ./services/mail/nullmailer.nix
   ./services/misc/airsonic.nix
@@ -437,7 +438,6 @@
   ./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
@@ -522,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
@@ -610,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
@@ -649,6 +649,7 @@
   ./services/networking/nullidentdmod.nix
   ./services/networking/nylon.nix
   ./services/networking/ocserv.nix
+  ./services/networking/ofono.nix
   ./services/networking/oidentd.nix
   ./services/networking/openfire.nix
   ./services/networking/openntpd.nix
@@ -770,6 +771,7 @@
   ./services/system/uptimed.nix
   ./services/torrent/deluge.nix
   ./services/torrent/flexget.nix
+  ./services/torrent/magnetico.nix
   ./services/torrent/opentracker.nix
   ./services/torrent/peerflix.nix
   ./services/torrent/transmission.nix
@@ -789,6 +791,7 @@
   ./services/web-apps/mattermost.nix
   ./services/web-apps/mediawiki.nix
   ./services/web-apps/miniflux.nix
+  ./services/web-apps/moodle.nix
   ./services/web-apps/nextcloud.nix
   ./services/web-apps/nexus.nix
   ./services/web-apps/pgpkeyserver-lite.nix
@@ -802,6 +805,7 @@
   ./services/web-apps/zabbix.nix
   ./services/web-servers/apache-httpd/default.nix
   ./services/web-servers/caddy.nix
+  ./services/web-servers/darkhttpd.nix
   ./services/web-servers/fcgiwrap.nix
   ./services/web-servers/hitch/default.nix
   ./services/web-servers/hydron.nix
@@ -864,7 +868,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/nixpkgs/nixos/modules/profiles/hardened.nix b/nixpkgs/nixos/modules/profiles/hardened.nix
index 3ff9a2b4fde0..626d8b1d2bde 100644
--- a/nixpkgs/nixos/modules/profiles/hardened.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/programs/dconf.nix b/nixpkgs/nixos/modules/programs/dconf.nix
index b7bfb8504b6f..eeebc3558bdf 100644
--- a/nixpkgs/nixos/modules/programs/dconf.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/programs/environment.nix b/nixpkgs/nixos/modules/programs/environment.nix
index 4d762314298d..66eb83482664 100644
--- a/nixpkgs/nixos/modules/programs/environment.nix
+++ b/nixpkgs/nixos/modules/programs/environment.nix
@@ -21,6 +21,7 @@ in
         PAGER = mkDefault "less -R";
         EDITOR = mkDefault "nano";
         XCURSOR_PATH = [ "$HOME/.icons" ];
+        XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc
       };
 
     environment.profiles = mkAfter
diff --git a/nixpkgs/nixos/modules/programs/gnome-terminal.nix b/nixpkgs/nixos/modules/programs/gnome-terminal.nix
new file mode 100644
index 000000000000..0036677a1576
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/programs/gnupg.nix b/nixpkgs/nixos/modules/programs/gnupg.nix
index 9618d61a1f5b..bcbc994efe9b 100644
--- a/nixpkgs/nixos/modules/programs/gnupg.nix
+++ b/nixpkgs/nixos/modules/programs/gnupg.nix
@@ -83,7 +83,8 @@ in
     systemd.user.sockets.dirmngr = mkIf cfg.dirmngr.enable {
       wantedBy = [ "sockets.target" ];
     };
-
+    
+    environment.systemPackages = with pkgs; [ cfg.package ];
     systemd.packages = [ cfg.package ];
 
     environment.interactiveShellInit = ''
diff --git a/nixpkgs/nixos/modules/programs/zsh/zsh.nix b/nixpkgs/nixos/modules/programs/zsh/zsh.nix
index bd1a77680663..6e9eefd74d18 100644
--- a/nixpkgs/nixos/modules/programs/zsh/zsh.nix
+++ b/nixpkgs/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,14 @@ in
 
         ${cfg.promptInit}
 
+        # Need to disable features to support TRAMP
+        if [ "$TERM" = dumb ]; then
+            unsetopt zle prompt_cr prompt_subst
+            unset RPS1 RPROMPT
+            PS1='$ '
+            PROMPT='$ '
+        fi
+
         # Read system-wide modifications.
         if test -f /etc/zshrc.local; then
             . /etc/zshrc.local
diff --git a/nixpkgs/nixos/modules/rename.nix b/nixpkgs/nixos/modules/rename.nix
index 3ea139fc5ce4..348ad094e5ad 100644
--- a/nixpkgs/nixos/modules/rename.nix
+++ b/nixpkgs/nixos/modules/rename.nix
@@ -72,8 +72,8 @@ with lib;
     # PAM
     (mkRenamedOptionModule [ "security" "pam" "enableU2F" ] [ "security" "pam" "u2f" "enable" ])
 
-    (mkRemovedOptionModule [ "services" "rmilter" "bindInetSockets" ] "Use services.rmilter.bindSocket.* instead")
-    (mkRemovedOptionModule [ "services" "rmilter" "bindUnixSockets" ] "Use services.rmilter.bindSocket.* instead")
+    # rmilter/rspamd
+    (mkRemovedOptionModule [ "services" "rmilter" ] "Use services.rspamd.* instead to set up milter service")
 
     # Xsession script
     (mkRenamedOptionModule [ "services" "xserver" "displayManager" "job" "logsXsession" ] [ "services" "xserver" "displayManager" "job" "logToFile" ])
@@ -178,6 +178,9 @@ with lib;
        The starting time can be configured via <literal>services.postgresqlBackup.startAt</literal>.
     '')
 
+    # phpfpm
+    (mkRemovedOptionModule [ "services" "phpfpm" "poolConfigs" ] "Use services.phpfpm.pools instead.")
+
     # zabbixServer
     (mkRenamedOptionModule [ "services" "zabbixServer" "dbServer" ] [ "services" "zabbixServer" "database" "host" ])
 
@@ -226,6 +229,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" ])
diff --git a/nixpkgs/nixos/modules/services/audio/roon-server.nix b/nixpkgs/nixos/modules/services/audio/roon-server.nix
index 9562ad1b164e..d4b0b098b78e 100644
--- a/nixpkgs/nixos/modules/services/audio/roon-server.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
index 3ceaa6f5ff3e..3d307b1abcf8 100644
--- a/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
+++ b/nixpkgs/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -111,7 +111,10 @@ in
   config = mkIf cfg.enable {
     systemd.services.gitlab-runner = {
       path = cfg.packages;
-      environment = config.networking.proxy.envVars;
+      environment = config.networking.proxy.envVars // {
+        # Gitlab runner will not start if the HOME variable is not set
+        HOME = cfg.workDir;
+      };
       description = "Gitlab Runner";
       after = [ "network.target" ]
         ++ optional hasDocker "docker.service";
diff --git a/nixpkgs/nixos/modules/services/databases/memcached.nix b/nixpkgs/nixos/modules/services/databases/memcached.nix
index f9e403dfc0c2..84d2c8674f4e 100644
--- a/nixpkgs/nixos/modules/services/databases/memcached.nix
+++ b/nixpkgs/nixos/modules/services/databases/memcached.nix
@@ -103,7 +103,6 @@ in
         LockPersonality = true;
         RestrictRealtime = true;
         PrivateMounts = true;
-        PrivateUsers = true;
         MemoryDenyWriteExecute = true;
       };
     };
diff --git a/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix b/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix
index 4286251357f7..748a025414a7 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-online-accounts.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix b/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-terminal-server.nix
deleted file mode 100644
index fd14efee5f2e..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-user-share.nix b/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-user-share.nix
index 1f6ce2ae968e..f83962877700 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-user-share.nix
+++ b/nixpkgs/nixos/modules/services/desktops/gnome3/gnome-user-share.nix
@@ -12,14 +12,7 @@ with lib;
 
     services.gnome3.gnome-user-share = {
 
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable GNOME User Share, a service that exports the
-          contents of the Public folder in your home directory on the local network.
-        '';
-      };
+      enable = mkEnableOption "GNOME User Share, a user-level file sharing service for GNOME";
 
     };
 
@@ -30,12 +23,13 @@ with lib;
 
   config = mkIf config.services.gnome3.gnome-user-share.enable {
 
-    environment.systemPackages = [ pkgs.gnome3.gnome-user-share ];
+    environment.systemPackages = [
+      pkgs.gnome3.gnome-user-share
+    ];
 
-    services.xserver.displayManager.sessionCommands = with pkgs.gnome3; ''
-      # Don't let gnome-control-center depend upon gnome-user-share
-      export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${gnome-user-share}/share/gsettings-schemas/${gnome-user-share.name}
-    '';
+    systemd.packages = [
+      pkgs.gnome3.gnome-user-share
+    ];
 
   };
 
diff --git a/nixpkgs/nixos/modules/services/desktops/gnome3/gvfs.nix b/nixpkgs/nixos/modules/services/desktops/gnome3/gvfs.nix
deleted file mode 100644
index 4e99d191f18c..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/services/desktops/gnome3/tracker-miners.nix b/nixpkgs/nixos/modules/services/desktops/gnome3/tracker-miners.nix
index 20154fc2fed3..b390d8368c65 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome3/tracker-miners.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/desktops/gnome3/tracker.nix b/nixpkgs/nixos/modules/services/desktops/gnome3/tracker.nix
index c061f7890499..2e8292742264 100644
--- a/nixpkgs/nixos/modules/services/desktops/gnome3/tracker.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/desktops/gvfs.nix b/nixpkgs/nixos/modules/services/desktops/gvfs.nix
new file mode 100644
index 000000000000..1d002eac41de
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/hardware/trezord.nix b/nixpkgs/nixos/modules/services/hardware/trezord.nix
index c06a0665d02f..62824ed7350a 100644
--- a/nixpkgs/nixos/modules/services/hardware/trezord.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/hardware/trezord.xml b/nixpkgs/nixos/modules/services/hardware/trezord.xml
new file mode 100644
index 000000000000..972d409d9d0e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/logging/awstats.nix b/nixpkgs/nixos/modules/services/logging/awstats.nix
index 612ae06d0a79..54799d699a74 100644
--- a/nixpkgs/nixos/modules/services/logging/awstats.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/mail/dovecot.nix b/nixpkgs/nixos/modules/services/mail/dovecot.nix
index 139011dca23a..cdbb776454b6 100644
--- a/nixpkgs/nixos/modules/services/mail/dovecot.nix
+++ b/nixpkgs/nixos/modules/services/mail/dovecot.nix
@@ -344,8 +344,7 @@ in
     systemd.services.dovecot2 = {
       description = "Dovecot IMAP/POP3 server";
 
-      after = [ "keys.target" "network.target" ];
-      wants = [ "keys.target" ];
+      after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       restartTriggers = [ cfg.configFile ];
 
diff --git a/nixpkgs/nixos/modules/services/mail/rmilter.nix b/nixpkgs/nixos/modules/services/mail/rmilter.nix
deleted file mode 100644
index 466365b6b305..000000000000
--- a/nixpkgs/nixos/modules/services/mail/rmilter.nix
+++ /dev/null
@@ -1,252 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  rspamdCfg = config.services.rspamd;
-  postfixCfg = config.services.postfix;
-  cfg = config.services.rmilter;
-
-  inetSocket = addr: port: "inet:${addr}:${toString port}";
-  unixSocket = sock: "unix:${sock}";
-
-  systemdSocket = if cfg.bindSocket.type == "unix" then cfg.bindSocket.path
-    else "${cfg.bindSocket.address}:${toString cfg.bindSocket.port}";
-  rmilterSocket = if cfg.bindSocket.type == "unix" then unixSocket cfg.bindSocket.path
-    else inetSocket cfg.bindSocket.address cfg.bindSocket.port;
-
-  rmilterConf = ''
-    pidfile = /run/rmilter/rmilter.pid;
-    bind_socket = ${if cfg.socketActivation then "fd:3" else rmilterSocket};
-    tempdir = /tmp;
-  '' + (with cfg.rspamd; if enable then ''
-    spamd {
-      servers = ${concatStringsSep ", " servers};
-      connect_timeout = 1s;
-      results_timeout = 20s;
-      error_time = 10;
-      dead_time = 300;
-      maxerrors = 10;
-      reject_message = "${rejectMessage}";
-      ${optionalString (length whitelist != 0)  "whitelist = ${concatStringsSep ", " whitelist};"}
-
-      # rspamd_metric - metric for using with rspamd
-      # Default: "default"
-      rspamd_metric = "default";
-      ${extraConfig}
-    };
-  '' else "") + cfg.extraConfig;
-
-  rmilterConfigFile = pkgs.writeText "rmilter.conf" rmilterConf;
-
-in
-
-{
-
-  ###### interface
-
-  options = {
-
-    services.rmilter = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Whether to run the rmilter daemon.";
-      };
-
-      debug = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Whether to run the rmilter daemon in debug mode.";
-      };
-
-      user = mkOption {
-        type = types.string;
-        default = "rmilter";
-        description = ''
-          User to use when no root privileges are required.
-        '';
-       };
-
-      group = mkOption {
-        type = types.string;
-        default = "rmilter";
-        description = ''
-          Group to use when no root privileges are required.
-        '';
-       };
-
-      bindSocket.type = mkOption {
-        type = types.enum [ "unix" "inet" ];
-        default = "unix";
-        description = ''
-          What kind of socket rmilter should listen on. Either "unix"
-          for an Unix domain socket or "inet" for a TCP socket.
-        '';
-      };
-
-      bindSocket.path = mkOption {
-       type = types.str;
-       default = "/run/rmilter.sock";
-       description = ''
-          Path to Unix domain socket to listen on.
-        '';
-      };
-
-      bindSocket.address = mkOption {
-        type = types.str;
-        default = "[::1]";
-        example = "0.0.0.0";
-        description = ''
-          Inet address to listen on.
-        '';
-      };
-
-      bindSocket.port = mkOption {
-        type = types.int;
-        default = 11990;
-        description = ''
-          Inet port to listen on.
-        '';
-      };
-
-      socketActivation = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          Enable systemd socket activation for rmilter.
-
-          Disabling socket activation is not recommended when a Unix
-          domain socket is used and could lead to incorrect
-          permissions.
-        '';
-      };
-
-      rspamd = {
-        enable = mkOption {
-          type = types.bool;
-          default = rspamdCfg.enable;
-          description = "Whether to use rspamd to filter mails";
-        };
-
-        servers = mkOption {
-          type = types.listOf types.str;
-          default = ["r:/run/rspamd/rspamd.sock"];
-          description = ''
-            Spamd socket definitions.
-            Is server name is prefixed with r: it is rspamd server.
-          '';
-        };
-
-        whitelist = mkOption {
-          type = types.listOf types.str;
-          default = [ ];
-          description = "list of ips or nets that should be not checked with spamd";
-        };
-
-        rejectMessage = mkOption {
-          type = types.str;
-          default = "Spam message rejected; If this is not spam contact abuse";
-          description = "reject message for spam";
-        };
-
-        extraConfig = mkOption {
-          type = types.lines;
-          default = "";
-          description = "Custom snippet to append to end of `spamd' section";
-        };
-      };
-
-      extraConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Custom snippet to append to rmilter config";
-      };
-
-      postfix = {
-        enable = mkOption {
-          type = types.bool;
-          default = false;
-          description = "Add rmilter to postfix main.conf";
-        };
-
-        configFragment = mkOption {
-          type = types.str;
-          description = "Addon to postfix configuration";
-          default = ''
-            smtpd_milters = ${rmilterSocket}
-            milter_protocol = 6
-            milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
-          '';
-        };
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkMerge [
-
-    (mkIf cfg.enable {
-      warnings = [
-        ''`config.services.rmilter' is deprecated, `rmilter' deprecated and unsupported by upstream, and will be removed from next releases. Use built-in rspamd milter instead.''
-      ];
-
-      users.users = singleton {
-        name = cfg.user;
-        description = "rmilter daemon";
-        uid = config.ids.uids.rmilter;
-        group = cfg.group;
-      };
-
-      users.groups = singleton {
-        name = cfg.group;
-        gid = config.ids.gids.rmilter;
-      };
-
-      systemd.services.rmilter = {
-        description = "Rmilter Service";
-
-        wantedBy = [ "multi-user.target" ];
-        after = [ "network.target" ];
-
-        serviceConfig = {
-          ExecStart = "${pkgs.rmilter}/bin/rmilter ${optionalString cfg.debug "-d"} -n -c ${rmilterConfigFile}";
-          ExecReload = "${pkgs.coreutils}/bin/kill -USR1 $MAINPID";
-          User = cfg.user;
-          Group = cfg.group;
-          PermissionsStartOnly = true;
-          Restart = "always";
-          RuntimeDirectory = "rmilter";
-          RuntimeDirectoryMode = "0750";
-        };
-
-      };
-
-      systemd.sockets.rmilter = mkIf cfg.socketActivation {
-        description = "Rmilter service socket";
-        wantedBy = [ "sockets.target" ];
-        socketConfig = {
-          ListenStream = systemdSocket;
-          SocketUser = cfg.user;
-          SocketGroup = cfg.group;
-          SocketMode = "0660";
-        };
-      };
-    })
-
-    (mkIf (cfg.enable && cfg.rspamd.enable && rspamdCfg.enable) {
-      users.users.${cfg.user}.extraGroups = [ rspamdCfg.group ];
-    })
-
-    (mkIf (cfg.enable && cfg.postfix.enable) {
-      services.postfix.extraConfig = cfg.postfix.configFragment;
-      users.users.${postfixCfg.user}.extraGroups = [ cfg.group ];
-    })
-  ];
-}
diff --git a/nixpkgs/nixos/modules/services/mail/roundcube.nix b/nixpkgs/nixos/modules/services/mail/roundcube.nix
index e8b2e11bf726..bdedfa1bb701 100644
--- a/nixpkgs/nixos/modules/services/mail/roundcube.nix
+++ b/nixpkgs/nixos/modules/services/mail/roundcube.nix
@@ -4,6 +4,7 @@ with lib;
 
 let
   cfg = config.services.roundcube;
+  fpm = config.services.phpfpm.pools.roundcube;
 in
 {
   options.services.roundcube = {
@@ -105,7 +106,7 @@ in
             extraConfig = ''
               location ~* \.php$ {
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
-                fastcgi_pass unix:/run/phpfpm/roundcube;
+                fastcgi_pass unix:${fpm.socket};
                 include ${pkgs.nginx}/conf/fastcgi_params;
                 include ${pkgs.nginx}/conf/fastcgi.conf;
               }
@@ -119,24 +120,27 @@ in
       enable = true;
     };
 
-    services.phpfpm.poolConfigs.roundcube = ''
-      listen = /run/phpfpm/roundcube
-      listen.owner = nginx
-      listen.group = nginx
-      listen.mode = 0660
-      user = nginx
-      pm = dynamic
-      pm.max_children = 75
-      pm.start_servers = 2
-      pm.min_spare_servers = 1
-      pm.max_spare_servers = 20
-      pm.max_requests = 500
-      php_admin_value[error_log] = 'stderr'
-      php_admin_flag[log_errors] = on
-      php_admin_value[post_max_size] = 25M
-      php_admin_value[upload_max_filesize] = 25M
-      catch_workers_output = yes
-    '';
+    services.phpfpm.pools.roundcube = {
+      user = "nginx";
+      phpOptions = ''
+        error_log = 'stderr'
+        log_errors = on
+        post_max_size = 25M
+        upload_max_filesize = 25M
+      '';
+      settings = mapAttrs (name: mkDefault) {
+        "listen.owner" = "nginx";
+        "listen.group" = "nginx";
+        "listen.mode" = "0660";
+        "pm" = "dynamic";
+        "pm.max_children" = 75;
+        "pm.start_servers" = 2;
+        "pm.min_spare_servers" = 1;
+        "pm.max_spare_servers" = 20;
+        "pm.max_requests" = 500;
+        "catch_workers_output" = true;
+      };
+    };
     systemd.services.phpfpm-roundcube.after = [ "roundcube-setup.service" ];
 
     systemd.services.roundcube-setup = let
diff --git a/nixpkgs/nixos/modules/services/misc/mantisbt.nix b/nixpkgs/nixos/modules/services/misc/mantisbt.nix
deleted file mode 100644
index 7e3474feb672..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/services/misc/nix-daemon.nix b/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
index 6bc88c66dc19..088dfd71860b 100644
--- a/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixpkgs/nixos/modules/services/misc/nix-daemon.nix
@@ -8,7 +8,9 @@ let
 
   nix = cfg.package.out;
 
-  isNix20 = versionAtLeast (getVersion nix) "2.0pre";
+  nixVersion = getVersion nix;
+
+  isNix20 = versionAtLeast nixVersion "2.0pre";
 
   makeNixBuildUser = nr:
     { name = "nixbld${toString nr}";
@@ -61,6 +63,9 @@ let
           builders =
         ''}
         system-features = ${toString cfg.systemFeatures}
+        ${optionalString (versionAtLeast nixVersion "2.3pre") ''
+          sandbox-fallback = false
+        ''}
         $extraOptions
         END
       '' + optionalString cfg.checkConfig (
diff --git a/nixpkgs/nixos/modules/services/misc/zoneminder.nix b/nixpkgs/nixos/modules/services/misc/zoneminder.nix
index cf56ae89b399..bf38b9ad7a2d 100644
--- a/nixpkgs/nixos/modules/services/misc/zoneminder.nix
+++ b/nixpkgs/nixos/modules/services/misc/zoneminder.nix
@@ -2,6 +2,7 @@
 
 let
   cfg = config.services.zoneminder;
+  fpm = config.services.phpfpm.pools.zoneminder;
   pkg = pkgs.zoneminder;
 
   dirName = pkg.dirName;
@@ -19,8 +20,6 @@ let
 
   useCustomDir = cfg.storageDir != null;
 
-  socket = "/run/phpfpm/${dirName}.sock";
-
   zms = "/cgi-bin/zms";
 
   dirs = dirList: [ dirName ] ++ map (e: "${dirName}/${e}") dirList;
@@ -201,7 +200,10 @@ in {
       "zoneminder/80-nixos.conf".source    = configFile;
     };
 
-    networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ];
+    networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [
+      cfg.port
+      6802 # zmtrigger
+    ];
 
     services = {
       fcgiwrap = lib.mkIf useNginx {
@@ -274,7 +276,7 @@ in {
                   fastcgi_param SCRIPT_FILENAME $request_filename;
                   fastcgi_param HTTP_PROXY "";
 
-                  fastcgi_pass unix:${socket};
+                  fastcgi_pass unix:${fpm.socket};
                 }
               }
             '';
@@ -284,30 +286,27 @@ in {
 
       phpfpm = lib.mkIf useNginx {
         pools.zoneminder = {
-          listen = socket;
+          inherit user group;
           phpOptions = ''
             date.timezone = "${config.time.timeZone}"
 
             ${lib.concatStringsSep "\n" (map (e:
             "extension=${e.pkg}/lib/php/extensions/${e.name}.so") phpExtensions)}
           '';
-          extraConfig = ''
-            user = ${user}
-            group = ${group}
-
-            listen.owner = ${user}
-            listen.group = ${group}
-            listen.mode = 0660
-
-            pm = dynamic
-            pm.start_servers = 1
-            pm.min_spare_servers = 1
-            pm.max_spare_servers = 2
-            pm.max_requests = 500
-            pm.max_children = 5
-            pm.status_path = /$pool-status
-            ping.path = /$pool-ping
-          '';
+          settings = lib.mapAttrs (name: lib.mkDefault) {
+            "listen.owner" = user;
+            "listen.group" = group;
+            "listen.mode" = "0660";
+
+            "pm" = "dynamic";
+            "pm.start_servers" = 1;
+            "pm.min_spare_servers" = 1;
+            "pm.max_spare_servers" = 2;
+            "pm.max_requests" = 500;
+            "pm.max_children" = 5;
+            "pm.status_path" = "/$pool-status";
+            "ping.path" = "/$pool-ping";
+          };
         };
       };
     };
diff --git a/nixpkgs/nixos/modules/services/monitoring/systemhealth.nix b/nixpkgs/nixos/modules/services/monitoring/systemhealth.nix
deleted file mode 100644
index 32d4314d5f77..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/services/network-filesystems/u9fs.nix b/nixpkgs/nixos/modules/services/network-filesystems/u9fs.nix
index 4f37fc2a9e5c..77961b78cadb 100644
--- a/nixpkgs/nixos/modules/services/network-filesystems/u9fs.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/dnschain.nix b/nixpkgs/nixos/modules/services/networking/dnschain.nix
index 0c2add424bac..5b58ea9b0c91 100644
--- a/nixpkgs/nixos/modules/services/networking/dnschain.nix
+++ b/nixpkgs/nixos/modules/services/networking/dnschain.nix
@@ -136,10 +136,16 @@ in
         "/.dns/127.0.0.1#${toString cfg.dns.port}"
       ];
 
-    services.pdns-recursor.forwardZones = mkIf cfgs.pdns-recursor.resolveDNSChainQueries
-      { bit = "127.0.0.1:${toString cfg.dns.port}";
-        dns = "127.0.0.1:${toString cfg.dns.port}";
-      };
+    services.pdns-recursor = mkIf cfgs.pdns-recursor.resolveDNSChainQueries {
+      forwardZones =
+        { bit = "127.0.0.1:${toString cfg.dns.port}";
+          dns = "127.0.0.1:${toString cfg.dns.port}";
+        };
+      luaConfig =''
+        addNTA("bit", "namecoin doesn't support DNSSEC")
+        addNTA("dns", "namecoin doesn't support DNSSEC")
+      '';
+    };
 
     users.users = singleton {
       name = username;
diff --git a/nixpkgs/nixos/modules/services/networking/jormungandr.nix b/nixpkgs/nixos/modules/services/networking/jormungandr.nix
new file mode 100644
index 000000000000..0c66b85fe8a5
--- /dev/null
+++ b/nixpkgs/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/8299";
+      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/nixpkgs/nixos/modules/services/networking/nsd.nix b/nixpkgs/nixos/modules/services/networking/nsd.nix
index 8b918dab86dd..c69b77f9deec 100644
--- a/nixpkgs/nixos/modules/services/networking/nsd.nix
+++ b/nixpkgs/nixos/modules/services/networking/nsd.nix
@@ -916,9 +916,8 @@ in
     systemd.services.nsd = {
       description = "NSD authoritative only domain name service";
 
-      after = [ "keys.target" "network.target" ];
+      after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
-      wants = [ "keys.target" ];
 
       serviceConfig = {
         ExecStart = "${nsdPkg}/sbin/nsd -d -c ${nsdEnv}/nsd.conf";
diff --git a/nixpkgs/nixos/modules/services/networking/ofono.nix b/nixpkgs/nixos/modules/services/networking/ofono.nix
new file mode 100644
index 000000000000..40ef9433de0f
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/networking/ofono.nix
@@ -0,0 +1,44 @@
+# Ofono daemon.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.ofono;
+
+  plugin_path =
+    lib.concatMapStringsSep ":"
+      (plugin: "${plugin}/lib/ofono/plugins")
+      cfg.plugins
+    ;
+
+in
+
+{
+  ###### interface
+  options = {
+    services.ofono = {
+      enable = mkEnableOption "Ofono";
+
+      plugins = mkOption {
+        type = types.listOf types.package;
+        default = [];
+        example = literalExample "[ pkgs.modem-manager-gui ]";
+        description = ''
+          The list of plugins to install.
+        '';
+      };
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.dbus.packages = [ pkgs.ofono ];
+
+    systemd.packages = [ pkgs.ofono ];
+
+    systemd.services.ofono.environment.OFONO_PLUGIN_PATH = mkIf (cfg.plugins != []) plugin_path;
+
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix b/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix
index d07deb9dcc67..ec69cc838da9 100644
--- a/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix
+++ b/nixpkgs/nixos/modules/services/networking/pdns-recursor.nix
@@ -6,25 +6,27 @@ let
   dataDir  = "/var/lib/pdns-recursor";
   username = "pdns-recursor";
 
-  cfg   = config.services.pdns-recursor;
-  zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
+  cfg = config.services.pdns-recursor;
 
-  configFile = pkgs.writeText "recursor.conf" ''
-    local-address=${cfg.dns.address}
-    local-port=${toString cfg.dns.port}
-    allow-from=${concatStringsSep "," cfg.dns.allowFrom}
+  oneOrMore  = type: with types; either type (listOf type);
+  valueType  = with types; oneOf [ int str bool path ];
+  configType = with types; attrsOf (nullOr (oneOrMore valueType));
 
-    webserver-address=${cfg.api.address}
-    webserver-port=${toString cfg.api.port}
-    webserver-allow-from=${concatStringsSep "," cfg.api.allowFrom}
+  toBool    = val: if val then "yes" else "no";
+  serialize = val: with types;
+         if str.check       val then val
+    else if int.check       val then toString val
+    else if path.check      val then toString val
+    else if bool.check      val then toBool val
+    else if builtins.isList val then (concatMapStringsSep "," serialize val)
+    else "";
 
-    forward-zones=${concatStringsSep "," zones}
-    export-etc-hosts=${if cfg.exportHosts then "yes" else "no"}
-    dnssec=${cfg.dnssecValidation}
-    serve-rfc1918=${if cfg.serveRFC1918 then "yes" else "no"}
+  configFile = pkgs.writeText "recursor.conf"
+    (concatStringsSep "\n"
+      (flip mapAttrsToList cfg.settings
+        (name: val: "${name}=${serialize val}")));
 
-    ${cfg.extraConfig}
-  '';
+  mkDefaultAttrs = mapAttrs (n: v: mkDefault v);
 
 in {
   options.services.pdns-recursor = {
@@ -117,17 +119,55 @@ in {
       '';
     };
 
-    extraConfig = mkOption {
+    settings = mkOption {
+      type = configType;
+      default = { };
+      example = literalExample ''
+        {
+          loglevel = 8;
+          log-common-errors = true;
+        }
+      '';
+      description = ''
+        PowerDNS Recursor settings. Use this option to configure Recursor
+        settings not exposed in a NixOS option or to bypass one.
+        See the full documentation at
+        <link xlink:href="https://doc.powerdns.com/recursor/settings.html"/>
+        for the available options.
+      '';
+    };
+
+    luaConfig = mkOption {
       type = types.lines;
       default = "";
       description = ''
-        Extra options to be appended to the configuration file.
+        The content Lua configuration file for PowerDNS Recursor. See
+        <link xlink:href="https://doc.powerdns.com/recursor/lua-config/index.html"/>.
       '';
     };
   };
 
   config = mkIf cfg.enable {
 
+    services.pdns-recursor.settings = mkDefaultAttrs {
+      local-address = cfg.dns.address;
+      local-port    = cfg.dns.port;
+      allow-from    = cfg.dns.allowFrom;
+
+      webserver-address    = cfg.api.address;
+      webserver-port       = cfg.api.port;
+      webserver-allow-from = cfg.api.allowFrom;
+
+      forward-zones    = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
+      export-etc-hosts = cfg.exportHosts;
+      dnssec           = cfg.dnssecValidation;
+      serve-rfc1918    = cfg.serveRFC1918;
+      lua-config-file  = pkgs.writeText "recursor.lua" cfg.luaConfig;
+
+      log-timestamp  = false;
+      disable-syslog = true;
+    };
+
     users.users."${username}" = {
       home = dataDir;
       createHome = true;
@@ -150,8 +190,7 @@ in {
         AmbientCapabilities = "cap_net_bind_service";
         ExecStart = ''${pkgs.pdns-recursor}/bin/pdns_recursor \
           --config-dir=${dataDir} \
-          --socket-dir=${dataDir} \
-          --disable-syslog
+          --socket-dir=${dataDir}
         '';
       };
 
@@ -165,4 +204,10 @@ in {
       '';
     };
   };
+
+  imports = [
+   (mkRemovedOptionModule [ "services" "pdns-recursor" "extraConfig" ]
+     "To change extra Recursor settings use services.pdns-recursor.settings instead.")
+  ];
+
 }
diff --git a/nixpkgs/nixos/modules/services/networking/softether.nix b/nixpkgs/nixos/modules/services/networking/softether.nix
index 0046dcd366fa..65df93a00da9 100644
--- a/nixpkgs/nixos/modules/services/networking/softether.nix
+++ b/nixpkgs/nixos/modules/services/networking/softether.nix
@@ -70,8 +70,6 @@ in
 
       systemd.services."softether-init" = {
         description = "SoftEther VPN services initial task";
-        after = [ "keys.target" ];
-        wants = [ "keys.target" ];
         wantedBy = [ "network.target" ];
         serviceConfig = {
           Type = "oneshot";
diff --git a/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix b/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
index 817b5ec55f78..0fec3ef00ad9 100644
--- a/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
+++ b/nixpkgs/nixos/modules/services/networking/strongswan-swanctl/module.nix
@@ -62,9 +62,8 @@ in  {
     systemd.services.strongswan-swanctl = {
       description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl";
       wantedBy = [ "multi-user.target" ];
-      after    = [ "network-online.target" "keys.target" ];
-      wants    = [ "keys.target" ];
-      path = with pkgs; [ kmod iproute iptables utillinux ];
+      after    = [ "network-online.target" ];
+      path     = with pkgs; [ kmod iproute iptables utillinux ];
       environment = {
         STRONGSWAN_CONF = pkgs.writeTextFile {
           name = "strongswan.conf";
diff --git a/nixpkgs/nixos/modules/services/networking/strongswan.nix b/nixpkgs/nixos/modules/services/networking/strongswan.nix
index 41b69039ba7a..4ff9c486059c 100644
--- a/nixpkgs/nixos/modules/services/networking/strongswan.nix
+++ b/nixpkgs/nixos/modules/services/networking/strongswan.nix
@@ -151,8 +151,7 @@ in
       description = "strongSwan IPSec Service";
       wantedBy = [ "multi-user.target" ];
       path = with pkgs; [ kmod iproute iptables utillinux ]; # XXX Linux
-      wants = [ "keys.target" ];
-      after = [ "network-online.target" "keys.target" ];
+      after = [ "network-online.target" ];
       environment = {
         STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; };
       };
diff --git a/nixpkgs/nixos/modules/services/networking/stubby.nix b/nixpkgs/nixos/modules/services/networking/stubby.nix
index 3fbf6eb60e9d..b38bcd4cec05 100644
--- a/nixpkgs/nixos/modules/services/networking/stubby.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/networking/unifi.nix b/nixpkgs/nixos/modules/services/networking/unifi.nix
index 6239c88b7e41..c922ba15960f 100644
--- a/nixpkgs/nixos/modules/services/networking/unifi.nix
+++ b/nixpkgs/nixos/modules/services/networking/unifi.nix
@@ -176,6 +176,7 @@ in
         Type = "simple";
         ExecStart = "${(removeSuffix "\n" cmd)} start";
         ExecStop = "${(removeSuffix "\n" cmd)} stop";
+        Restart = "on-failure";
         User = "unifi";
         UMask = "0077";
         WorkingDirectory = "${stateDir}";
diff --git a/nixpkgs/nixos/modules/services/security/sshguard.nix b/nixpkgs/nixos/modules/services/security/sshguard.nix
index 25cec5b5b105..4a174564dd2c 100644
--- a/nixpkgs/nixos/modules/services/security/sshguard.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/security/usbguard.nix b/nixpkgs/nixos/modules/services/security/usbguard.nix
index 88d2f69db572..20d5e3b28eb9 100644
--- a/nixpkgs/nixos/modules/services/security/usbguard.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/security/vault.nix b/nixpkgs/nixos/modules/services/security/vault.nix
index 8176c168ca94..d5962ba9af90 100644
--- a/nixpkgs/nixos/modules/services/security/vault.nix
+++ b/nixpkgs/nixos/modules/services/security/vault.nix
@@ -70,7 +70,7 @@ in
       };
 
       storageBackend = mkOption {
-        type = types.enum [ "inmem" "file" "consul" "zookeeper" "s3" "azure" "dynamodb" "etcd" "mssql" "mysql" "postgresql" "swift" "gcs" ];
+        type = types.enum [ "inmem" "file" "consul" "zookeeper" "s3" "azure" "dynamodb" "etcd" "mssql" "mysql" "postgresql" "swift" "gcs" "raft" ];
         default = "inmem";
         description = "The name of the type of storage backend";
       };
diff --git a/nixpkgs/nixos/modules/services/torrent/magnetico.nix b/nixpkgs/nixos/modules/services/torrent/magnetico.nix
new file mode 100644
index 000000000000..02fa2ac0750a
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/torrent/magnetico.nix
@@ -0,0 +1,214 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.magnetico;
+
+  dataDir = "/var/lib/magnetico";
+
+  credFile = with cfg.web;
+    if credentialsFile != null
+      then credentialsFile
+      else pkgs.writeText "magnetico-credentials"
+        (concatStrings (mapAttrsToList
+          (user: hash: "${user}:${hash}\n")
+          cfg.web.credentials));
+
+  # default options in magneticod/main.go
+  dbURI = concatStrings
+    [ "sqlite3://${dataDir}/database.sqlite3"
+      "?_journal_mode=WAL"
+      "&_busy_timeout=3000"
+      "&_foreign_keys=true"
+    ];
+
+  crawlerArgs = with cfg.crawler; escapeShellArgs
+    ([ "--database=${dbURI}"
+       "--indexer-addr=${address}:${toString port}"
+       "--indexer-max-neighbors=${toString maxNeighbors}"
+       "--leech-max-n=${toString maxLeeches}"
+     ] ++ extraOptions);
+
+  webArgs = with cfg.web; escapeShellArgs
+    ([ "--database=${dbURI}"
+       (if (cfg.web.credentialsFile != null || cfg.web.credentials != { })
+         then "--credentials=${toString credFile}"
+         else "--no-auth")
+     ] ++ extraOptions);
+
+in {
+
+  ###### interface
+
+  options.services.magnetico = {
+    enable = mkEnableOption "Magnetico, Bittorrent DHT crawler";
+
+    crawler.address = mkOption {
+      type = types.str;
+      default = "0.0.0.0";
+      example = "1.2.3.4";
+      description = ''
+        Address to be used for indexing DHT nodes.
+      '';
+    };
+
+    crawler.port = mkOption {
+      type = types.port;
+      default = 0;
+      description = ''
+        Port to be used for indexing DHT nodes.
+        This port should be added to
+        <option>networking.firewall.allowedTCPPorts</option>.
+      '';
+    };
+
+    crawler.maxNeighbors = mkOption {
+      type = types.ints.positive;
+      default = 1000;
+      description = ''
+        Maximum number of simultaneous neighbors of an indexer.
+        Be careful changing this number: high values can very
+        easily cause your network to be congested or even crash
+        your router.
+      '';
+    };
+
+    crawler.maxLeeches = mkOption {
+      type = types.ints.positive;
+      default = 200;
+      description = ''
+        Maximum number of simultaneous leeches.
+      '';
+    };
+
+    crawler.extraOptions = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      description = ''
+        Extra command line arguments to pass to magneticod.
+      '';
+    };
+
+    web.address = mkOption {
+      type = types.str;
+      default = "localhost";
+      example = "1.2.3.4";
+      description = ''
+        Address the web interface will listen to.
+      '';
+    };
+
+    web.port = mkOption {
+      type = types.port;
+      default = 8080;
+      description = ''
+        Port the web interface will listen to.
+      '';
+    };
+
+    web.credentials = mkOption {
+      type = types.attrsOf types.str;
+      default = {};
+      example = lib.literalExample ''
+        {
+          myuser = "$2y$12$YE01LZ8jrbQbx6c0s2hdZO71dSjn2p/O9XsYJpz.5968yCysUgiaG";
+        }
+      '';
+      description = ''
+        The credentials to access the web interface, in case authentication is
+        enabled, in the format <literal>username:hash</literal>. If unset no
+        authentication will be required.
+
+        Usernames must start with a lowercase ([a-z]) ASCII character, might
+        contain non-consecutive underscores except at the end, and consists of
+        small-case a-z characters and digits 0-9.  The
+        <command>htpasswd</command> tool from the <package>apacheHttpd
+        </package> package may be used to generate the hash: <command>htpasswd
+        -bnBC 12 username password</command>
+
+        <warning>
+        <para>
+          The hashes will be stored world-readable in the nix store.
+          Consider using the <literal>credentialsFile</literal> option if you
+          don't want this.
+        </para>
+        </warning>
+      '';
+    };
+
+    web.credentialsFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      description = ''
+        The path to the file holding the credentials to access the web
+        interface. If unset no authentication will be required.
+
+        The file must constain user names and password hashes in the format
+        <literal>username:hash </literal>, one for each line.  Usernames must
+        start with a lowecase ([a-z]) ASCII character, might contain
+        non-consecutive underscores except at the end, and consists of
+        small-case a-z characters and digits 0-9.
+        The <command>htpasswd</command> tool from the <package>apacheHttpd
+        </package> package may be used to generate the hash:
+        <command>htpasswd -bnBC 12 username password</command>
+      '';
+    };
+
+    web.extraOptions = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      description = ''
+        Extra command line arguments to pass to magneticow.
+      '';
+    };
+
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+
+    users.users.magnetico = {
+      description = "Magnetico daemons user";
+    };
+
+    systemd.services.magneticod = {
+      description = "Magnetico DHT crawler";
+      wantedBy = [ "multi-user.target" ];
+      after    = [ "network-online.target" ];
+
+      serviceConfig = {
+        User      = "magnetico";
+        Restart   = "on-failure";
+        ExecStart = "${pkgs.magnetico}/bin/magneticod ${crawlerArgs}";
+      };
+    };
+
+    systemd.services.magneticow = {
+      description = "Magnetico web interface";
+      wantedBy = [ "multi-user.target" ];
+      after    = [ "network-online.target" "magneticod.service"];
+
+      serviceConfig = {
+        User           = "magnetico";
+        StateDirectory = "magnetico";
+        Restart        = "on-failure";
+        ExecStart      = "${pkgs.magnetico}/bin/magneticow ${webArgs}";
+      };
+    };
+
+    assertions =
+    [
+      {
+        assertion = cfg.web.credentialsFile != null || cfg.web.credentials != { };
+        message = ''
+          The options services.magnetico.web.credentialsFile and
+          services.magnetico.web.credentials are mutually exclusives.
+        '';
+      }
+    ];
+
+  };
+
+}
diff --git a/nixpkgs/nixos/modules/services/torrent/transmission.nix b/nixpkgs/nixos/modules/services/torrent/transmission.nix
index f544928fb6b1..a94a471361ef 100644
--- a/nixpkgs/nixos/modules/services/torrent/transmission.nix
+++ b/nixpkgs/nixos/modules/services/torrent/transmission.nix
@@ -84,6 +84,18 @@ in
           The directory where transmission will create files.
         '';
       };
+
+      user = mkOption {
+        type = types.str;
+        default = "transmission";
+        description = "User account under which Transmission runs.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "transmission";
+        description = "Group account under which Transmission runs.";
+      };
     };
   };
 
@@ -99,7 +111,8 @@ in
       serviceConfig.ExecStartPre = preStart;
       serviceConfig.ExecStart = "${pkgs.transmission}/bin/transmission-daemon -f --port ${toString config.services.transmission.port}";
       serviceConfig.ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-      serviceConfig.User = "transmission";
+      serviceConfig.User = cfg.user;
+      serviceConfig.Group = cfg.group;
       # NOTE: transmission has an internal umask that also must be set (in settings.json)
       serviceConfig.UMask = "0002";
     };
@@ -107,14 +120,19 @@ in
     # It's useful to have transmission in path, e.g. for remote control
     environment.systemPackages = [ pkgs.transmission ];
 
-    users.groups.transmission.gid = config.ids.gids.transmission;
-    users.users.transmission = {
-      group = "transmission";
-      uid = config.ids.uids.transmission;
-      description = "Transmission BitTorrent user";
-      home = homeDir;
-      createHome = true;
-    };
+    users.users = optionalAttrs (cfg.user == "transmission") (singleton
+      { name = "transmission";
+        group = cfg.group;
+        uid = config.ids.uids.transmission;
+        description = "Transmission BitTorrent user";
+        home = homeDir;
+        createHome = true;
+      });
+
+    users.groups = optionalAttrs (cfg.group == "transmission") (singleton
+      { name = "transmission";
+        gid = config.ids.gids.transmission;
+      });
 
     # AppArmor profile
     security.apparmor.profiles = mkIf apparmor [
diff --git a/nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix b/nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
index 910e1d937bf3..95c8fb160510 100644
--- a/nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/icingaweb2/icingaweb2.nix
@@ -1,14 +1,16 @@
 { config, lib, pkgs, ... }: with lib; let
   cfg = config.services.icingaweb2;
+  fpm = config.services.phpfpm.pools.${poolName};
   poolName = "icingaweb2";
-  phpfpmSocketName = "/var/run/phpfpm/${poolName}.sock";
 
   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";
 
@@ -162,27 +164,26 @@ in {
   };
 
   config = mkIf cfg.enable {
-    services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") {
-      "${poolName}" = ''
-        listen = "${phpfpmSocketName}"
-        listen.owner = nginx
-        listen.group = nginx
-        listen.mode = 0600
-        user = icingaweb2
-        pm = dynamic
-        pm.max_children = 75
-        pm.start_servers = 2
-        pm.min_spare_servers = 2
-        pm.max_spare_servers = 10
-      '';
+    services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
+      "${poolName}" = {
+        user = "icingaweb2";
+        phpOptions = ''
+          extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
+          date.timezone = "${cfg.timezone}"
+        '';
+        settings = mapAttrs (name: mkDefault) {
+          "listen.owner" = "nginx";
+          "listen.group" = "nginx";
+          "listen.mode" = "0600";
+          "pm" = "dynamic";
+          "pm.max_children" = 75;
+          "pm.start_servers" = 2;
+          "pm.min_spare_servers" = 2;
+          "pm.max_spare_servers" = 10;
+        };
+      };
     };
 
-    services.phpfpm.phpOptions = mkIf (cfg.pool == "${poolName}")
-      ''
-        extension = ${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
-        date.timezone = "${cfg.timezone}"
-      '';
-
     systemd.services."phpfpm-${poolName}".serviceConfig.ReadWritePaths = [ "/etc/icingaweb2" ];
 
     services.nginx = {
@@ -206,7 +207,7 @@ in {
             include ${config.services.nginx.package}/conf/fastcgi.conf;
             try_files $uri =404;
             fastcgi_split_path_info ^(.+\.php)(/.+)$;
-            fastcgi_pass unix:${phpfpmSocketName};
+            fastcgi_pass unix:${fpm.socket};
             fastcgi_param SCRIPT_FILENAME ${pkgs.icingaweb2}/public/index.php;
           '';
         };
diff --git a/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix b/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
index 84a94fc446e5..2797feb32ebf 100644
--- a/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/limesurvey.nix
@@ -120,15 +120,15 @@ in
     };
 
     poolConfig = mkOption {
-      type = types.lines;
-      default = ''
-        pm = dynamic
-        pm.max_children = 32
-        pm.start_servers = 2
-        pm.min_spare_servers = 2
-        pm.max_spare_servers = 4
-        pm.max_requests = 500
-      '';
+      type = with types; attrsOf (oneOf [ str int bool ]);
+      default = {
+        "pm" = "dynamic";
+        "pm.max_children" = 32;
+        "pm.start_servers" = 2;
+        "pm.min_spare_servers" = 2;
+        "pm.max_spare_servers" = 4;
+        "pm.max_requests" = 500;
+      };
       description = ''
         Options for the LimeSurvey PHP pool. See the documentation on <literal>php-fpm.conf</literal>
         for details on configuration directives.
@@ -203,17 +203,12 @@ in
     };
 
     services.phpfpm.pools.limesurvey = {
-      listen = "/run/phpfpm/limesurvey.sock";
-      extraConfig = ''
-        listen.owner = ${config.services.httpd.user};
-        listen.group = ${config.services.httpd.group};
-        user = ${user};
-        group = ${group};
-
-        env[LIMESURVEY_CONFIG] = ${limesurveyConfig}
-
-        ${cfg.poolConfig}
-      '';
+      inherit user group;
+      phpEnv.LIMESURVEY_CONFIG = "${limesurveyConfig}";
+      settings = {
+        "listen.owner" = config.services.httpd.user;
+        "listen.group" = config.services.httpd.group;
+      } // cfg.poolConfig;
     };
 
     services.httpd = {
@@ -241,7 +236,7 @@ in
             <Directory "${pkg}/share/limesurvey">
               <FilesMatch "\.php$">
                 <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.listen}|fcgi://localhost/"
+                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
                 </If>
               </FilesMatch>
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/matomo.nix b/nixpkgs/nixos/modules/services/web-apps/matomo.nix
index 14aca45a342b..d9f840408cc8 100644
--- a/nixpkgs/nixos/modules/services/web-apps/matomo.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/matomo.nix
@@ -176,7 +176,7 @@ in {
             # Use User-Private Group scheme to protect Matomo data, but allow administration / backup via 'matomo' group
             # Copy config folder
             chmod g+s "${dataDir}"
-            cp -r "${cfg.package}/config" "${dataDir}/"
+            cp -r "${cfg.package}/share/config" "${dataDir}/"
             chmod -R u+rwX,g+rwX,o-rwx "${dataDir}"
 
             # check whether user setup has already been done
@@ -225,22 +225,24 @@ in {
       serviceConfig.UMask = "0007";
     };
 
-    services.phpfpm.poolConfigs = let
+    services.phpfpm.pools = let
       # workaround for when both are null and need to generate a string,
       # which is illegal, but as assertions apparently are being triggered *after* config generation,
       # we have to avoid already throwing errors at this previous stage.
       socketOwner = if (cfg.nginx != null) then config.services.nginx.user
       else if (cfg.webServerUser != null) then cfg.webServerUser else "";
     in {
-      ${pool} = ''
-        listen = "${phpSocket}"
-        listen.owner = ${socketOwner}
-        listen.group = root
-        listen.mode = 0600
-        user = ${user}
-        env[PIWIK_USER_PATH] = ${dataDir}
-        ${cfg.phpfpmProcessManagerConfig}
-      '';
+      ${pool} = {
+        listen = phpSocket;
+        extraConfig = ''
+          listen.owner = ${socketOwner}
+          listen.group = root
+          listen.mode = 0600
+          user = ${user}
+          env[PIWIK_USER_PATH] = ${dataDir}
+          ${cfg.phpfpmProcessManagerConfig}
+        '';
+      };
     };
 
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix b/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
index 5bd5977e592b..ec2568bf952d 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mediawiki.nix
@@ -312,17 +312,17 @@ in
       };
 
       poolConfig = mkOption {
-        type = types.lines;
-        default = ''
-          pm = dynamic
-          pm.max_children = 32
-          pm.start_servers = 2
-          pm.min_spare_servers = 2
-          pm.max_spare_servers = 4
-          pm.max_requests = 500
-        '';
+        type = with types; attrsOf (oneOf [ str int bool ]);
+        default = {
+          "pm" = "dynamic";
+          "pm.max_children" = 32;
+          "pm.start_servers" = 2;
+          "pm.min_spare_servers" = 2;
+          "pm.max_spare_servers" = 4;
+          "pm.max_requests" = 500;
+        };
         description = ''
-          Options for MediaWiki's PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+          Options for the MediaWiki PHP pool. See the documentation on <literal>php-fpm.conf</literal>
           for details on configuration directives.
         '';
       };
@@ -379,17 +379,12 @@ in
     };
 
     services.phpfpm.pools.mediawiki = {
-      listen = "/run/phpfpm/mediawiki.sock";
-      extraConfig = ''
-        listen.owner = ${config.services.httpd.user}
-        listen.group = ${config.services.httpd.group}
-        user = ${user}
-        group = ${group}
-
-        env[MEDIAWIKI_CONFIG] = ${mediawikiConfig}
-
-        ${cfg.poolConfig}
-      '';
+      inherit user group;
+      phpEnv.MEDIAWIKI_CONFIG = "${mediawikiConfig}";
+      settings = {
+        "listen.owner" = config.services.httpd.user;
+        "listen.group" = config.services.httpd.group;
+      } // cfg.poolConfig;
     };
 
     services.httpd = {
@@ -403,7 +398,7 @@ in
             <Directory "${pkg}/share/mediawiki">
               <FilesMatch "\.php$">
                 <If "-f %{REQUEST_FILENAME}">
-                  SetHandler "proxy:unix:${fpm.listen}|fcgi://localhost/"
+                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
                 </If>
               </FilesMatch>
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/moodle.nix b/nixpkgs/nixos/modules/services/web-apps/moodle.nix
new file mode 100644
index 000000000000..f2516c67c6b3
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-apps/moodle.nix
@@ -0,0 +1,300 @@
+{ config, lib, pkgs, ... }:
+
+let
+  inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
+  inherit (lib) concatStringsSep literalExample mapAttrsToList optional optionalString;
+
+  cfg = config.services.moodle;
+  fpm = config.services.phpfpm.pools.moodle;
+
+  user = "moodle";
+  group = config.services.httpd.group;
+  stateDir = "/var/lib/moodle";
+
+  moodleConfig = pkgs.writeText "config.php" ''
+  <?php  // Moodle configuration file
+
+  unset($CFG);
+  global $CFG;
+  $CFG = new stdClass();
+
+  $CFG->dbtype    = '${ { "mysql" = "mariadb"; "pgsql" = "pgsql"; }.${cfg.database.type} }';
+  $CFG->dblibrary = 'native';
+  $CFG->dbhost    = '${cfg.database.host}';
+  $CFG->dbname    = '${cfg.database.name}';
+  $CFG->dbuser    = '${cfg.database.user}';
+  ${optionalString (cfg.database.passwordFile != null) "$CFG->dbpass = file_get_contents('${cfg.database.passwordFile}');"}
+  $CFG->prefix    = 'mdl_';
+  $CFG->dboptions = array (
+    'dbpersist' => 0,
+    'dbport' => '${toString cfg.database.port}',
+    ${optionalString (cfg.database.socket != null) "'dbsocket' => '${cfg.database.socket}',"}
+    'dbcollation' => 'utf8mb4_unicode_ci',
+  );
+
+  $CFG->wwwroot   = '${if cfg.virtualHost.enableSSL then "https" else "http"}://${cfg.virtualHost.hostName}';
+  $CFG->dataroot  = '${stateDir}';
+  $CFG->admin     = 'admin';
+
+  $CFG->directorypermissions = 02777;
+  $CFG->disableupdateautodeploy = true;
+
+  $CFG->pathtogs = '${pkgs.ghostscript}/bin/gs';
+  $CFG->pathtophp = '${pkgs.php}/bin/php';
+  $CFG->pathtodu = '${pkgs.coreutils}/bin/du';
+  $CFG->aspellpath = '${pkgs.aspell}/bin/aspell';
+  $CFG->pathtodot = '${pkgs.graphviz}/bin/dot';
+
+  require_once('${cfg.package}/share/moodle/lib/setup.php');
+
+  // There is no php closing tag in this file,
+  // it is intentional because it prevents trailing whitespace problems!
+  '';
+
+  mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
+  pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
+in
+{
+  # interface
+  options.services.moodle = {
+    enable = mkEnableOption "Moodle web application";
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.moodle;
+      defaultText = "pkgs.moodle";
+      description = "The Moodle package to use.";
+    };
+
+    initialPassword = mkOption {
+      type = types.str;
+      example = "correcthorsebatterystaple";
+      description = ''
+        Specifies the initial password for the admin, i.e. the password assigned if the user does not already exist.
+        The password specified here is world-readable in the Nix store, so it should be changed promptly.
+      '';
+    };
+
+    database = {
+      type = mkOption {
+        type = types.enum [ "mysql" "pgsql" ];
+        default = "mysql";
+        description = ''Database engine to use.'';
+      };
+
+      host = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = "Database host address.";
+      };
+
+      port = mkOption {
+        type = types.int;
+        description = "Database host port.";
+        default = {
+          "mysql" = 3306;
+          "pgsql" = 5432;
+        }.${cfg.database.type};
+        defaultText = "3306";
+      };
+
+      name = mkOption {
+        type = types.str;
+        default = "moodle";
+        description = "Database name.";
+      };
+
+      user = mkOption {
+        type = types.str;
+        default = "moodle";
+        description = "Database user.";
+      };
+
+      passwordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/moodle-dbpassword";
+        description = ''
+          A file containing the password corresponding to
+          <option>database.user</option>.
+        '';
+      };
+
+      socket = mkOption {
+        type = types.nullOr types.path;
+        default =
+          if mysqlLocal then "/run/mysqld/mysqld.sock"
+          else if pgsqlLocal then "/run/postgresql"
+          else null;
+        defaultText = "/run/mysqld/mysqld.sock";
+        description = "Path to the unix socket file to use for authentication.";
+      };
+
+      createLocally = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Create the database and database user locally.";
+      };
+    };
+
+    virtualHost = mkOption {
+      type = types.submodule ({
+        options = import ../web-servers/apache-httpd/per-server-options.nix {
+          inherit lib;
+          forMainServer = false;
+        };
+      });
+      example = {
+        hostName = "moodle.example.org";
+        enableSSL = true;
+        adminAddr = "webmaster@example.org";
+        sslServerCert = "/var/lib/acme/moodle.example.org/full.pem";
+        sslServerKey = "/var/lib/acme/moodle.example.org/key.pem";
+      };
+      description = ''
+        Apache configuration can be done by adapting <option>services.httpd.virtualHosts</option>.
+        See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
+      '';
+    };
+
+    poolConfig = mkOption {
+      type = with types; attrsOf (oneOf [ str int bool ]);
+      default = {
+        "pm" = "dynamic";
+        "pm.max_children" = 32;
+        "pm.start_servers" = 2;
+        "pm.min_spare_servers" = 2;
+        "pm.max_spare_servers" = 4;
+        "pm.max_requests" = 500;
+      };
+      description = ''
+        Options for the Moodle PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+        for details on configuration directives.
+      '';
+    };
+  };
+
+  # implementation
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = cfg.database.createLocally -> cfg.database.user == user;
+        message = "services.moodle.database.user must be set to ${user} if services.moodle.database.createLocally is set true";
+      }
+      { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
+        message = "a password cannot be specified if services.moodle.database.createLocally is set to true";
+      }
+    ];
+
+    services.mysql = mkIf mysqlLocal {
+      enable = true;
+      package = mkDefault pkgs.mariadb;
+      ensureDatabases = [ cfg.database.name ];
+      ensureUsers = [
+        { name = cfg.database.user;
+          ensurePermissions = {
+            "${cfg.database.name}.*" = "SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER";
+          };
+        }
+      ];
+    };
+
+    services.postgresql = mkIf pgsqlLocal {
+      enable = true;
+      ensureDatabases = [ cfg.database.name ];
+      ensureUsers = [
+        { name = cfg.database.user;
+          ensurePermissions = { "DATABASE ${cfg.database.name}" = "ALL PRIVILEGES"; };
+        }
+      ];
+    };
+
+    services.phpfpm.pools.moodle = {
+      inherit user group;
+      phpEnv.MOODLE_CONFIG = "${moodleConfig}";
+      phpOptions = ''
+        zend_extension = opcache.so
+        opcache.enable = 1
+      '';
+      settings = {
+        "listen.owner" = config.services.httpd.user;
+        "listen.group" = config.services.httpd.group;
+      } // cfg.poolConfig;
+    };
+
+    services.httpd = {
+      enable = true;
+      adminAddr = mkDefault cfg.virtualHost.adminAddr;
+      extraModules = [ "proxy_fcgi" ];
+      virtualHosts = [ (mkMerge [
+        cfg.virtualHost {
+          documentRoot = mkForce "${cfg.package}/share/moodle";
+          extraConfig = ''
+            <Directory "${cfg.package}/share/moodle">
+              <FilesMatch "\.php$">
+                <If "-f %{REQUEST_FILENAME}">
+                  SetHandler "proxy:unix:${fpm.socket}|fcgi://localhost/"
+                </If>
+              </FilesMatch>
+              Options -Indexes
+              DirectoryIndex index.php
+            </Directory>
+          '';
+        }
+      ]) ];
+    };
+
+    systemd.tmpfiles.rules = [
+      "d '${stateDir}' 0750 ${user} ${group} - -"
+    ];
+
+    systemd.services.moodle-init = {
+      wantedBy = [ "multi-user.target" ];
+      before = [ "phpfpm-moodle.service" ];
+      after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
+      environment.MOODLE_CONFIG = moodleConfig;
+      script = ''
+        ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/check_database_schema.php && rc=$? || rc=$?
+
+        [ "$rc" == 1 ] && ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/upgrade.php \
+          --non-interactive \
+          --allow-unstable
+
+        [ "$rc" == 2 ] && ${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/install_database.php \
+          --agree-license \
+          --adminpass=${cfg.initialPassword}
+
+        true
+      '';
+      serviceConfig = {
+        User = user;
+        Group = group;
+        Type = "oneshot";
+      };
+    };
+
+    systemd.services.moodle-cron = {
+      description = "Moodle cron service";
+      after = [ "moodle-init.service" ];
+      environment.MOODLE_CONFIG = moodleConfig;
+      serviceConfig = {
+        User = user;
+        Group = group;
+        ExecStart = "${pkgs.php}/bin/php ${cfg.package}/share/moodle/admin/cli/cron.php";
+      };
+    };
+
+    systemd.timers.moodle-cron = {
+      description = "Moodle cron timer";
+      wantedBy = [ "timers.target" ];
+      timerConfig = {
+        OnCalendar = "minutely";
+      };
+    };
+
+    systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
+
+    users.users."${user}".group = group;
+
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
index a0214a75d93e..ada14ad39291 100644
--- a/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/nextcloud.nix
@@ -4,6 +4,7 @@ with lib;
 
 let
   cfg = config.services.nextcloud;
+  fpm = config.services.phpfpm.pools.nextcloud;
 
   phpPackage = pkgs.php73;
   phpPackages = pkgs.php73Packages;
@@ -410,25 +411,20 @@ in {
       };
 
       services.phpfpm = {
-        pools.nextcloud = let
-          phpAdminValues = (toKeyValue
-            (foldr (a: b: a // b) {}
-              (mapAttrsToList (k: v: { "php_admin_value[${k}]" = v; })
-                phpOptions)));
-        in {
-          phpOptions = phpOptionsExtensions;
+        pools.nextcloud = {
+          user = "nextcloud";
+          group = "nginx";
+          phpOptions = phpOptionsExtensions + phpOptionsStr;
           phpPackage = phpPackage;
-          listen = "/run/phpfpm/nextcloud";
-          extraConfig = ''
-            listen.owner = nginx
-            listen.group = nginx
-            user = nextcloud
-            group = nginx
-            ${cfg.poolConfig}
-            env[NEXTCLOUD_CONFIG_DIR] = ${cfg.home}/config
-            env[PATH] = /run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin
-            ${phpAdminValues}
-          '';
+          phpEnv = {
+            NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config";
+            PATH = "/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin";
+          };
+          settings = mapAttrs (name: mkDefault) {
+            "listen.owner" = "nginx";
+            "listen.group" = "nginx";
+          };
+          extraConfig = cfg.poolConfig;
         };
       };
 
@@ -489,7 +485,7 @@ in {
                   fastcgi_param HTTPS ${if cfg.https then "on" else "off"};
                   fastcgi_param modHeadersAvailable true;
                   fastcgi_param front_controller_active true;
-                  fastcgi_pass unix:/run/phpfpm/nextcloud;
+                  fastcgi_pass unix:${fpm.socket};
                   fastcgi_intercept_errors on;
                   fastcgi_request_buffering off;
                   fastcgi_read_timeout 120s;
diff --git a/nixpkgs/nixos/modules/services/web-apps/restya-board.nix b/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
index b200a89260ac..6a1b4143bc16 100644
--- a/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/restya-board.nix
@@ -9,11 +9,11 @@ with lib;
 
 let
   cfg = config.services.restya-board;
+  fpm = config.services.phpfpm.pools.${poolName};
 
   runDir = "/run/restya-board";
 
   poolName = "restya-board";
-  phpfpmSocketName = "/run/phpfpm/${poolName}.sock";
 
 in
 
@@ -180,7 +180,7 @@ in
 
     services.phpfpm.pools = {
       "${poolName}" = {
-        listen = phpfpmSocketName;
+        inherit (cfg) user group;
         phpOptions = ''
           date.timezone = "CET"
 
@@ -191,20 +191,18 @@ in
             auth_password = ${cfg.email.password}
           ''}
         '';
-        extraConfig = ''
-          listen.owner = nginx
-          listen.group = nginx
-          listen.mode = 0600
-          user = ${cfg.user}
-          group = ${cfg.group}
-          pm = dynamic
-          pm.max_children = 75
-          pm.start_servers = 10
-          pm.min_spare_servers = 5
-          pm.max_spare_servers = 20
-          pm.max_requests = 500
-          catch_workers_output = 1
-        '';
+        settings = mapAttrs (name: mkDefault) {
+          "listen.owner" = "nginx";
+          "listen.group" = "nginx";
+          "listen.mode" = "0600";
+          "pm" = "dynamic";
+          "pm.max_children" = 75;
+          "pm.start_servers" = 10;
+          "pm.min_spare_servers" = 5;
+          "pm.max_spare_servers" = 20;
+          "pm.max_requests" = 500;
+          "catch_workers_output" = 1;
+        };
       };
     };
 
@@ -241,7 +239,7 @@ in
         tryFiles = "$uri =404";
         extraConfig = ''
           include ${pkgs.nginx}/conf/fastcgi_params;
-          fastcgi_pass    unix:${phpfpmSocketName};
+          fastcgi_pass    unix:${fpm.socket};
           fastcgi_index   index.php;
           fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
           fastcgi_param   PHP_VALUE "upload_max_filesize=9G \n post_max_size=9G \n max_execution_time=200 \n max_input_time=200 \n memory_limit=256M";
diff --git a/nixpkgs/nixos/modules/services/web-apps/selfoss.nix b/nixpkgs/nixos/modules/services/web-apps/selfoss.nix
index cd0f743a5fb8..56b7cafffe8b 100644
--- a/nixpkgs/nixos/modules/services/web-apps/selfoss.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/selfoss.nix
@@ -4,7 +4,6 @@ let
   cfg = config.services.selfoss;
 
   poolName = "selfoss_pool";
-  phpfpmSocketName = "/run/phpfpm/${poolName}.sock";
 
   dataDir = "/var/lib/selfoss";
 
@@ -116,21 +115,22 @@ in
 
   config = mkIf cfg.enable {
 
-    services.phpfpm.poolConfigs = mkIf (cfg.pool == "${poolName}") {
-      "${poolName}" = ''
-        listen = "${phpfpmSocketName}";
-        listen.owner = nginx
-        listen.group = nginx
-        listen.mode = 0600
-        user = nginx
-        pm = dynamic
-        pm.max_children = 75
-        pm.start_servers = 10
-        pm.min_spare_servers = 5
-        pm.max_spare_servers = 20
-        pm.max_requests = 500
-        catch_workers_output = 1
-      '';
+    services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
+      "${poolName}" = {
+        user = "nginx";
+        settings = mapAttrs (name: mkDefault) {
+          "listen.owner" = "nginx";
+          "listen.group" = "nginx";
+          "listen.mode" = "0600";
+          "pm" = "dynamic";
+          "pm.max_children" = 75;
+          "pm.start_servers" = 10;
+          "pm.min_spare_servers" = 5;
+          "pm.max_spare_servers" = 20;
+          "pm.max_requests" = 500;
+          "catch_workers_output" = 1;
+        };
+      };
     };
 
     systemd.services.selfoss-config = {
diff --git a/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix b/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
index 1bd9de93735d..59b0ee1addc6 100644
--- a/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/tt-rss.nix
@@ -521,20 +521,19 @@ let
 
     services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
       "${poolName}" = {
-        listen = "/var/run/phpfpm/${poolName}.sock";
-        extraConfig = ''
-          listen.owner = nginx
-          listen.group = nginx
-          listen.mode = 0600
-          user = ${cfg.user}
-          pm = dynamic
-          pm.max_children = 75
-          pm.start_servers = 10
-          pm.min_spare_servers = 5
-          pm.max_spare_servers = 20
-          pm.max_requests = 500
-          catch_workers_output = 1
-        '';
+        inherit (cfg) user;
+        settings = mapAttrs (name: mkDefault) {
+          "listen.owner" = "nginx";
+          "listen.group" = "nginx";
+          "listen.mode" = "0600";
+          "pm" = "dynamic";
+          "pm.max_children" = 75;
+          "pm.start_servers" = 10;
+          "pm.min_spare_servers" = 5;
+          "pm.max_spare_servers" = 20;
+          "pm.max_requests" = 500;
+          "catch_workers_output" = 1;
+        };
       };
     };
 
@@ -552,7 +551,7 @@ let
           locations."~ \.php$" = {
             extraConfig = ''
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
-              fastcgi_pass unix:${config.services.phpfpm.pools.${cfg.pool}.listen};
+              fastcgi_pass unix:${config.services.phpfpm.pools.${cfg.pool}.socket};
               fastcgi_index index.php;
             '';
           };
diff --git a/nixpkgs/nixos/modules/services/web-apps/wordpress.nix b/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
index 624b0089a037..98dc84588189 100644
--- a/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/wordpress.nix
@@ -216,15 +216,15 @@ let
         };
 
         poolConfig = mkOption {
-          type = types.lines;
-          default = ''
-            pm = dynamic
-            pm.max_children = 32
-            pm.start_servers = 2
-            pm.min_spare_servers = 2
-            pm.max_spare_servers = 4
-            pm.max_requests = 500
-          '';
+          type = with types; attrsOf (oneOf [ str int bool ]);
+          default = {
+            "pm" = "dynamic";
+            "pm.max_children" = 32;
+            "pm.start_servers" = 2;
+            "pm.min_spare_servers" = 2;
+            "pm.max_spare_servers" = 4;
+            "pm.max_requests" = 500;
+          };
           description = ''
             Options for the WordPress PHP pool. See the documentation on <literal>php-fpm.conf</literal>
             for details on configuration directives.
@@ -280,15 +280,11 @@ in
 
     services.phpfpm.pools = mapAttrs' (hostName: cfg: (
       nameValuePair "wordpress-${hostName}" {
-        listen = "/run/phpfpm/wordpress-${hostName}.sock";
-        extraConfig = ''
-          listen.owner = ${config.services.httpd.user}
-          listen.group = ${config.services.httpd.group}
-          user = ${user}
-          group = ${group}
-
-          ${cfg.poolConfig}
-        '';
+        inherit user group;
+        settings = {
+          "listen.owner" = config.services.httpd.user;
+          "listen.group" = config.services.httpd.group;
+        } // cfg.poolConfig;
       }
     )) eachSite;
 
@@ -303,7 +299,7 @@ in
               <Directory "${pkg hostName cfg}/share/wordpress">
                 <FilesMatch "\.php$">
                   <If "-f %{REQUEST_FILENAME}">
-                    SetHandler "proxy:unix:/run/phpfpm/wordpress-${hostName}.sock|fcgi://localhost/"
+                    SetHandler "proxy:unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket}|fcgi://localhost/"
                   </If>
                 </FilesMatch>
 
diff --git a/nixpkgs/nixos/modules/services/web-apps/zabbix.nix b/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
index 4b5334579a99..fa358ffafbc3 100644
--- a/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/zabbix.nix
@@ -133,15 +133,15 @@ in
       };
 
       poolConfig = mkOption {
-        type = types.lines;
-        default = ''
-          pm = dynamic
-          pm.max_children = 32
-          pm.start_servers = 2
-          pm.min_spare_servers = 2
-          pm.max_spare_servers = 4
-          pm.max_requests = 500
-        '';
+        type = with types; attrsOf (oneOf [ str int bool ]);
+        default = {
+          "pm" = "dynamic";
+          "pm.max_children" = 32;
+          "pm.start_servers" = 2;
+          "pm.min_spare_servers" = 2;
+          "pm.max_spare_servers" = 4;
+          "pm.max_requests" = 500;
+        };
         description = ''
           Options for the Zabbix PHP pool. See the documentation on <literal>php-fpm.conf</literal> for details on configuration directives.
         '';
@@ -160,6 +160,8 @@ in
     ];
 
     services.phpfpm.pools.zabbix = {
+      inherit user;
+      group = config.services.httpd.group;
       phpOptions = ''
         # https://www.zabbix.com/documentation/current/manual/installation/install
         memory_limit = 128M
@@ -177,15 +179,11 @@ in
       '' + optionalString (cfg.database.type == "oracle") ''
         extension=${pkgs.phpPackages.oci8}/lib/php/extensions/oci8.so
       '';
-      listen = "/run/phpfpm/zabbix.sock";
-      extraConfig = ''
-        listen.owner = ${config.services.httpd.user};
-        listen.group = ${config.services.httpd.group};
-        user = ${user};
-        group = ${config.services.httpd.group};
-        env[ZABBIX_CONFIG] = ${zabbixConfig}
-        ${cfg.poolConfig}
-      '';
+      phpEnv.ZABBIX_CONFIG = zabbixConfig;
+      settings = {
+        "listen.owner" = config.services.httpd.user;
+        "listen.group" = config.services.httpd.group;
+      } // cfg.poolConfig;
     };
 
     services.httpd = {
diff --git a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
index 12200c879beb..098160ee3692 100644
--- a/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -670,8 +670,7 @@ in
       { description = "Apache HTTPD";
 
         wantedBy = [ "multi-user.target" ];
-        wants = [ "keys.target" ];
-        after = [ "network.target" "fs.target" "keys.target" ];
+        after = [ "network.target" "fs.target" ];
 
         path =
           [ httpd pkgs.coreutils pkgs.gnugrep ]
diff --git a/nixpkgs/nixos/modules/services/web-servers/darkhttpd.nix b/nixpkgs/nixos/modules/services/web-servers/darkhttpd.nix
new file mode 100644
index 000000000000..80870118c334
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/web-servers/darkhttpd.nix
@@ -0,0 +1,77 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.darkhttpd;
+
+  args = concatStringsSep " " ([
+    cfg.rootDir
+    "--port ${toString cfg.port}"
+    "--addr ${cfg.address}"
+  ] ++ cfg.extraArgs
+    ++ optional cfg.hideServerId             "--no-server-id"
+    ++ optional config.networking.enableIPv6 "--ipv6");
+
+in {
+  options.services.darkhttpd = with types; {
+    enable = mkEnableOption "DarkHTTPd web server";
+
+    port = mkOption {
+      default = 80;
+      type = ints.u16;
+      description = ''
+        Port to listen on.
+        Pass 0 to let the system choose any free port for you.
+      '';
+    };
+
+    address = mkOption {
+      default = "127.0.0.1";
+      type = str;
+      description = ''
+        Address to listen on.
+        Pass `all` to listen on all interfaces.
+      '';
+    };
+
+    rootDir = mkOption {
+      type = path;
+      description = ''
+        Path from which to serve files.
+      '';
+    };
+
+    hideServerId = mkOption {
+      type = bool;
+      default = true;
+      description = ''
+        Don't identify the server type in headers or directory listings.
+      '';
+    };
+
+    extraArgs = mkOption {
+      type = listOf str;
+      default = [];
+      description = ''
+        Additional configuration passed to the executable.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.darkhttpd = {
+      description = "Dark HTTPd";
+      wants = [ "network.target" ];
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        DynamicUser = true;
+        ExecStart = "${cfg.package}/bin/darkhttpd ${args}";
+        AmbientCapabilities = lib.mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
+        Restart = "on-failure";
+        RestartSec = "2s";
+      };
+    };
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix b/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
index 2b7fcb314041..c1a51fbf8b42 100644
--- a/nixpkgs/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix b/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
index ffafbc5e92f2..e95e71e0d997 100644
--- a/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixpkgs/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -4,41 +4,27 @@ with lib;
 
 let
   cfg = config.services.phpfpm;
-  enabled = cfg.poolConfigs != {} || cfg.pools != {};
 
-  stateDir = "/run/phpfpm";
+  runtimeDir = "/run/phpfpm";
 
-  poolConfigs =
-    (mapAttrs mapPoolConfig cfg.poolConfigs) //
-    (mapAttrs mapPool cfg.pools);
+  toStr = value:
+    if true == value then "yes"
+    else if false == value then "no"
+    else toString value;
 
-  mapPoolConfig = n: p: {
-    phpPackage = cfg.phpPackage;
-    phpOptions = cfg.phpOptions;
-    config = p;
-  };
-
-  mapPool = n: p: {
-    phpPackage = p.phpPackage;
-    phpOptions = p.phpOptions;
-    config = ''
-      listen = ${p.listen}
-      ${p.extraConfig}
-    '';
-  };
-
-  fpmCfgFile = pool: conf: pkgs.writeText "phpfpm-${pool}.conf" ''
+  fpmCfgFile = pool: poolOpts: pkgs.writeText "phpfpm-${pool}.conf" ''
     [global]
-    error_log = syslog
-    daemonize = no
-    ${cfg.extraConfig}
+    ${concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") cfg.settings)}
+    ${optionalString (cfg.extraConfig != null) cfg.extraConfig}
 
     [${pool}]
-    ${conf}
+    ${concatStringsSep "\n" (mapAttrsToList (n: v: "${n} = ${toStr v}") poolOpts.settings)}
+    ${concatStringsSep "\n" (mapAttrsToList (n: v: "env[${n}] = ${toStr v}") poolOpts.phpEnv)}
+    ${optionalString (poolOpts.extraConfig != null) poolOpts.extraConfig}
   '';
 
-  phpIni = pool: pkgs.runCommand "php.ini" {
-    inherit (pool) phpPackage phpOptions;
+  phpIni = poolOpts: pkgs.runCommand "php.ini" {
+    inherit (poolOpts) phpPackage phpOptions;
     preferLocalBuild = true;
     nixDefaults = ''
       sendmail_path = "/run/wrappers/bin/sendmail -t -i"
@@ -48,13 +34,138 @@ let
     cat $phpPackage/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out
   '';
 
+  poolOpts = { name, ... }:
+    let
+      poolOpts = cfg.pools."${name}";
+    in
+    {
+      options = {
+        socket = mkOption {
+          type = types.str;
+          readOnly = true;
+          description = ''
+            Path to the unix socket file on which to accept FastCGI requests.
+            <note><para>This option is read-only and managed by NixOS.</para></note>
+          '';
+        };
+
+        listen = mkOption {
+          type = types.str;
+          default = "";
+          example = "/path/to/unix/socket";
+          description = ''
+            The address on which to accept FastCGI requests.
+          '';
+        };
+
+        phpPackage = mkOption {
+          type = types.package;
+          default = cfg.phpPackage;
+          defaultText = "config.services.phpfpm.phpPackage";
+          description = ''
+            The PHP package to use for running this PHP-FPM pool.
+          '';
+        };
+
+        phpOptions = mkOption {
+          type = types.lines;
+          default = cfg.phpOptions;
+          defaultText = "config.services.phpfpm.phpOptions";
+          description = ''
+            "Options appended to the PHP configuration file <filename>php.ini</filename> used for this PHP-FPM pool."
+          '';
+        };
+
+        phpEnv = lib.mkOption {
+          type = with types; attrsOf str;
+          default = {};
+          description = ''
+            Environment variables used for this PHP-FPM pool.
+          '';
+          example = literalExample ''
+            {
+              HOSTNAME = "$HOSTNAME";
+              TMP = "/tmp";
+              TMPDIR = "/tmp";
+              TEMP = "/tmp";
+            }
+          '';
+        };
+
+        user = mkOption {
+          type = types.str;
+          description = "User account under which this pool runs.";
+        };
+
+        group = mkOption {
+          type = types.str;
+          description = "Group account under which this pool runs.";
+        };
+
+        settings = mkOption {
+          type = with types; attrsOf (oneOf [ str int bool ]);
+          default = {};
+          description = ''
+            PHP-FPM pool directives. Refer to the "List of pool directives" section of
+            <link xlink:href="https://www.php.net/manual/en/install.fpm.configuration.php"/>
+            for details. Note that settings names must be enclosed in quotes (e.g.
+            <literal>"pm.max_children"</literal> instead of <literal>pm.max_children</literal>).
+          '';
+          example = literalExample ''
+            {
+              "pm" = "dynamic";
+              "pm.max_children" = 75;
+              "pm.start_servers" = 10;
+              "pm.min_spare_servers" = 5;
+              "pm.max_spare_servers" = 20;
+              "pm.max_requests" = 500;
+            }
+          '';
+        };
+
+        extraConfig = mkOption {
+          type = with types; nullOr lines;
+          default = null;
+          description = ''
+            Extra lines that go into the pool configuration.
+            See the documentation on <literal>php-fpm.conf</literal> for
+            details on configuration directives.
+          '';
+        };
+      };
+
+      config = {
+        socket = if poolOpts.listen == "" then "${runtimeDir}/${name}.sock" else poolOpts.listen;
+        group = mkDefault poolOpts.user;
+
+        settings = mapAttrs (name: mkDefault){
+          listen = poolOpts.socket;
+          user = poolOpts.user;
+          group = poolOpts.group;
+        };
+      };
+    };
+
 in {
 
   options = {
     services.phpfpm = {
+      settings = mkOption {
+        type = with types; attrsOf (oneOf [ str int bool ]);
+        default = {};
+        description = ''
+          PHP-FPM global directives. Refer to the "List of global php-fpm.conf directives" section of
+          <link xlink:href="https://www.php.net/manual/en/install.fpm.configuration.php"/>
+          for details. Note that settings names must be enclosed in quotes (e.g.
+          <literal>"pm.max_children"</literal> instead of <literal>pm.max_children</literal>).
+          You need not specify the options <literal>error_log</literal> or
+          <literal>daemonize</literal> here, since they are generated by NixOS.
+        '';
+      };
+
       extraConfig = mkOption {
-        type = types.lines;
-        default = "";
+        type = with types; nullOr lines;
+        default = null;
         description = ''
           Extra configuration that should be put in the global section of
           the PHP-FPM configuration file. Do not specify the options
@@ -80,64 +191,56 @@ in {
           ''
             date.timezone = "CET"
           '';
-        description =
-          "Options appended to the PHP configuration file <filename>php.ini</filename>.";
-      };
-
-      poolConfigs = mkOption {
-        default = {};
-        type = types.attrsOf types.lines;
-        example = literalExample ''
-          { mypool = '''
-              listen = /run/phpfpm/mypool
-              user = nobody
-              pm = dynamic
-              pm.max_children = 75
-              pm.start_servers = 10
-              pm.min_spare_servers = 5
-              pm.max_spare_servers = 20
-              pm.max_requests = 500
-            ''';
-          }
-        '';
         description = ''
-          A mapping between PHP-FPM pool names and their configurations.
-          See the documentation on <literal>php-fpm.conf</literal> for
-          details on configuration directives. If no pools are defined,
-          the phpfpm service is disabled.
+          Options appended to the PHP configuration file <filename>php.ini</filename>.
         '';
       };
 
       pools = mkOption {
-        type = types.attrsOf (types.submodule (import ./pool-options.nix {
-          inherit lib config;
-        }));
+        type = types.attrsOf (types.submodule poolOpts);
         default = {};
         example = literalExample ''
          {
            mypool = {
-             listen = "/path/to/unix/socket";
+             user = "php";
+             group = "php";
              phpPackage = pkgs.php;
-             extraConfig = '''
-               user = nobody
-               pm = dynamic
-               pm.max_children = 75
-               pm.start_servers = 10
-               pm.min_spare_servers = 5
-               pm.max_spare_servers = 20
-               pm.max_requests = 500
+             settings = '''
+               "pm" = "dynamic";
+               "pm.max_children" = 75;
+               "pm.start_servers" = 10;
+               "pm.min_spare_servers" = 5;
+               "pm.max_spare_servers" = 20;
+               "pm.max_requests" = 500;
              ''';
            }
          }'';
         description = ''
-          PHP-FPM pools. If no pools or poolConfigs are defined, the PHP-FPM
+          PHP-FPM pools. If no pools are defined, the PHP-FPM
           service is disabled.
         '';
       };
     };
   };
 
-  config = mkIf enabled {
+  config = mkIf (cfg.pools != {}) {
+
+    warnings =
+      mapAttrsToList (pool: poolOpts: ''
+        Using config.services.phpfpm.pools.${pool}.listen is deprecated and will become unsupported in a future release. Please reference the read-only option config.services.phpfpm.pools.${pool}.socket to access the path of your socket.
+      '') (filterAttrs (pool: poolOpts: poolOpts.listen != "") cfg.pools) ++
+      mapAttrsToList (pool: poolOpts: ''
+        Using config.services.phpfpm.pools.${pool}.extraConfig is deprecated and will become unsupported in a future release. Please migrate your configuration to config.services.phpfpm.pools.${pool}.settings.
+      '') (filterAttrs (pool: poolOpts: poolOpts.extraConfig != null) cfg.pools) ++
+      optional (cfg.extraConfig != null) ''
+        Using config.services.phpfpm.extraConfig is deprecated and will become unsupported in a future release. Please migrate your configuration to config.services.phpfpm.settings.
+      ''
+    ;
+
+    services.phpfpm.settings = {
+      error_log = "syslog";
+      daemonize = false;
+    };
 
     systemd.slices.phpfpm = {
       description = "PHP FastCGI Process manager pools slice";
@@ -148,18 +251,15 @@ in {
       wantedBy = [ "multi-user.target" ];
     };
 
-    systemd.services = flip mapAttrs' poolConfigs (pool: poolConfig:
+    systemd.services = mapAttrs' (pool: poolOpts:
       nameValuePair "phpfpm-${pool}" {
         description = "PHP FastCGI Process Manager service for pool ${pool}";
         after = [ "network.target" ];
         wantedBy = [ "phpfpm.target" ];
         partOf = [ "phpfpm.target" ];
-        preStart = ''
-          mkdir -p ${stateDir}
-        '';
         serviceConfig = let
-          cfgFile = fpmCfgFile pool poolConfig.config;
-          iniFile = phpIni poolConfig;
+          cfgFile = fpmCfgFile pool poolOpts;
+          iniFile = phpIni poolOpts;
         in {
           Slice = "phpfpm.slice";
           PrivateDevices = true;
@@ -168,10 +268,12 @@ in {
           # XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work
           RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
           Type = "notify";
-          ExecStart = "${poolConfig.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${iniFile}";
+          ExecStart = "${poolOpts.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${iniFile}";
           ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID";
+          RuntimeDirectory = "phpfpm";
+          RuntimeDirectoryPreserve = true; # Relevant when multiple processes are running
         };
       }
-   );
+    ) cfg.pools;
   };
 }
diff --git a/nixpkgs/nixos/modules/services/web-servers/phpfpm/pool-options.nix b/nixpkgs/nixos/modules/services/web-servers/phpfpm/pool-options.nix
deleted file mode 100644
index d9ad7eff71f2..000000000000
--- a/nixpkgs/nixos/modules/services/web-servers/phpfpm/pool-options.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ lib, config }:
-
-let
-  fpmCfg = config.services.phpfpm;
-in
-
-with lib; {
-
-  options = {
-
-    listen = mkOption {
-      type = types.str;
-      example = "/path/to/unix/socket";
-      description = ''
-        The address on which to accept FastCGI requests.
-      '';
-    };
-
-    phpPackage = mkOption {
-      type = types.package;
-      default = fpmCfg.phpPackage;
-      defaultText = "config.services.phpfpm.phpPackage";
-      description = ''
-        The PHP package to use for running this PHP-FPM pool.
-      '';
-    };
-
-    phpOptions = mkOption {
-      type = types.lines;
-      default = fpmCfg.phpOptions;
-      defaultText = "config.services.phpfpm.phpOptions";
-      description = ''
-        "Options appended to the PHP configuration file <filename>php.ini</filename> used for this PHP-FPM pool."
-      '';
-    };
-
-    extraConfig = mkOption {
-      type = types.lines;
-      example = ''
-        user = nobody
-        pm = dynamic
-        pm.max_children = 75
-        pm.start_servers = 10
-        pm.min_spare_servers = 5
-        pm.max_spare_servers = 20
-        pm.max_requests = 500
-      '';
-
-      description = ''
-        Extra lines that go into the pool configuration.
-        See the documentation on <literal>php-fpm.conf</literal> for
-        details on configuration directives.
-      '';
-    };
-  };
-}
-
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
index 671a959cdde1..dfb84113e130 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,7 +18,7 @@ in
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if Plasma 5 is enabled, it supersedes xterm.
   imports = [
-    ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
+    ./none.nix ./xterm.nix ./xfce.nix ./xfce4-14.nix ./plasma5.nix ./lumina.nix
     ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
     ./mate.nix ./pantheon.nix ./surf-display.nix
   ];
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix
index cbfd2d3c2ea2..0caa93ad217f 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -3,7 +3,9 @@
 with lib;
 
 let
+
   cfg = config.services.xserver.desktopManager.gnome3;
+  serviceCfg = config.services.gnome3;
 
   # Prioritize nautilus by default when opening directories
   mimeAppsList = pkgs.writeTextFile {
@@ -29,10 +31,10 @@ let
      chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
      cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
        [org.gnome.desktop.background]
-       picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
+       picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
 
        [org.gnome.desktop.screensaver]
-       picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png'
+       picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png'
 
        [org.gnome.shell]
        favorite-apps=[ 'org.gnome.Epiphany.desktop', 'evolution.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]
@@ -45,10 +47,19 @@ let
 
   flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0;
 
-in {
+in
+
+{
 
   options = {
 
+    services.gnome3 = {
+      core-os-services.enable = mkEnableOption "essential services for GNOME3";
+      core-shell.enable = mkEnableOption "GNOME Shell services";
+      core-utilities.enable = mkEnableOption "GNOME core utilities";
+      games.enable = mkEnableOption "GNOME games";
+    };
+
     services.xserver.desktopManager.gnome3 = {
       enable = mkOption {
         default = false;
@@ -121,139 +132,194 @@ in {
 
   };
 
-  config = mkIf cfg.enable {
-
-    # Enable helpful DBus services.
-    security.polkit.enable = true;
-    services.udisks2.enable = true;
-    services.accounts-daemon.enable = true;
-    services.dleyna-renderer.enable = mkDefault true;
-    services.dleyna-server.enable = mkDefault true;
-    services.gnome3.at-spi2-core.enable = true;
-    services.gnome3.evolution-data-server.enable = true;
-    services.gnome3.glib-networking.enable = true;
-    services.gnome3.gnome-keyring.enable = true;
-    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.gnome3.rygel.enable = mkDefault true;
-    services.gnome3.seahorse.enable = mkDefault true;
-    services.gnome3.sushi.enable = mkDefault true;
-    services.gnome3.tracker.enable = mkDefault true;
-    services.gnome3.tracker-miners.enable = mkDefault true;
-    hardware.pulseaudio.enable = mkDefault true;
-    services.telepathy.enable = mkDefault true;
-    networking.networkmanager.enable = mkDefault true;
-    services.upower.enable = config.powerManagement.enable;
-    services.dbus.packages =
-      optional config.services.printing.enable pkgs.system-config-printer ++
-      optional flashbackEnabled pkgs.gnome3.gnome-screensaver;
-    services.colord.enable = mkDefault true;
-    services.packagekit.enable = mkDefault true;
-    hardware.bluetooth.enable = mkDefault true;
-    services.hardware.bolt.enable = mkDefault true;
-    services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center
-    systemd.packages = [ pkgs.gnome3.vino ];
-    xdg.portal.enable = true;
-    xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
-
-    # Enable default programs
-    programs.evince.enable = mkDefault true;
-    programs.file-roller.enable = mkDefault true;
-    programs.gnome-disks.enable = mkDefault true;
-    programs.gnome-documents.enable = mkDefault true;
-
-    # If gnome3 is installed, build vim for gtk3 too.
-    nixpkgs.config.vim.gui = "gtk3";
-
-    fonts.fonts = [
-      pkgs.dejavu_fonts pkgs.cantarell-fonts
-      pkgs.source-sans-pro
-      pkgs.source-code-pro # Default monospace font in 3.32
-    ];
-
-    services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ]
-      ++ map
-        (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm {
-          inherit (wm) wmName wmLabel wmCommand;
-        }) (optional cfg.flashback.enableMetacity {
-              wmName = "metacity";
-              wmLabel = "Metacity";
-              wmCommand = "${pkgs.gnome3.metacity}/bin/metacity";
-            } ++ cfg.flashback.customSessions);
-
-    environment.extraInit = ''
-      ${concatMapStrings (p: ''
-        if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
-          export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
-        fi
-
-        if [ -d "${p}/lib/girepository-1.0" ]; then
-          export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
-          export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
-        fi
-      '') cfg.sessionPath}
-    '';
+  config = mkMerge [
+    (mkIf (cfg.enable || flashbackEnabled) {
+      services.gnome3.core-os-services.enable = true;
+      services.gnome3.core-shell.enable = true;
+      services.gnome3.core-utilities.enable = mkDefault true;
 
+      services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ];
 
-    services.geoclue2.enable = mkDefault true;
-    # GNOME should have its own geoclue agent
-    services.geoclue2.enableDemoAgent = false;
+      environment.extraInit = ''
+        ${concatMapStrings (p: ''
+          if [ -d "${p}/share/gsettings-schemas/${p.name}" ]; then
+            export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${p}/share/gsettings-schemas/${p.name}
+          fi
 
-    services.geoclue2.appConfig."gnome-datetime-panel" = {
-      isAllowed = true;
-      isSystem = true;
-    };
-    services.geoclue2.appConfig."gnome-color-panel" = {
-      isAllowed = true;
-      isSystem = true;
-    };
-    services.geoclue2.appConfig."org.gnome.Shell" = {
-      isAllowed = true;
-      isSystem = true;
-    };
+          if [ -d "${p}/lib/girepository-1.0" ]; then
+            export GI_TYPELIB_PATH=$GI_TYPELIB_PATH''${GI_TYPELIB_PATH:+:}${p}/lib/girepository-1.0
+            export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${p}/lib
+          fi
+        '') cfg.sessionPath}
+      '';
 
-    environment.variables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
+      environment.systemPackages = cfg.sessionPath;
 
-    # Override default mimeapps
-    environment.variables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ];
+      environment.variables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1";
 
-    # Override GSettings schemas
-    environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
+      # Override GSettings schemas
+      environment.variables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
 
-    # Let nautilus find extensions
-    # TODO: Create nautilus-with-extensions package
-    environment.variables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";
+       # If gnome3 is installed, build vim for gtk3 too.
+      nixpkgs.config.vim.gui = "gtk3";
+    })
 
-    services.xserver.updateDbusEnvironment = true;
+    (mkIf flashbackEnabled {
+      services.xserver.displayManager.extraSessionFilePackages =  map
+        (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm {
+          inherit (wm) wmName wmLabel wmCommand;
+        }) (optional cfg.flashback.enableMetacity {
+              wmName = "metacity";
+              wmLabel = "Metacity";
+              wmCommand = "${pkgs.gnome3.metacity}/bin/metacity";
+            } ++ cfg.flashback.customSessions);
 
-    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/
-    ];
+      security.pam.services.gnome-screensaver = {
+        enableGnomeKeyring = true;
+      };
 
-    # Use the correct gnome3 packageSet
-    networking.networkmanager.basePackages =
-      { inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
+      services.dbus.packages = [
+        pkgs.gnome3.gnome-screensaver
+      ];
+    })
+
+    (mkIf serviceCfg.core-os-services.enable {
+      hardware.bluetooth.enable = mkDefault true;
+      hardware.pulseaudio.enable = mkDefault true;
+      programs.dconf.enable = true;
+      security.polkit.enable = true;
+      services.accounts-daemon.enable = true;
+      services.dleyna-renderer.enable = mkDefault true;
+      services.dleyna-server.enable = mkDefault true;
+      services.gnome3.at-spi2-core.enable = true;
+      services.gnome3.evolution-data-server.enable = true;
+      services.gnome3.gnome-keyring.enable = true;
+      services.gnome3.gnome-online-accounts.enable = mkDefault true;
+      services.gnome3.gnome-online-miners.enable = true;
+      services.gnome3.tracker-miners.enable = mkDefault true;
+      services.gnome3.tracker.enable = mkDefault true;
+      services.hardware.bolt.enable = mkDefault true;
+      services.packagekit.enable = mkDefault true;
+      services.udisks2.enable = true;
+      services.upower.enable = config.powerManagement.enable;
+      services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center
+
+      xdg.portal.enable = true;
+      xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
+
+      networking.networkmanager.enable = mkDefault true;
+
+      # Use the correct gnome3 packageSet
+      networking.networkmanager.basePackages = {
+        inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
         inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
-                              networkmanager-openconnect networkmanager-fortisslvpn
-                              networkmanager-iodine networkmanager-l2tp; };
-
-    # Needed for themes and backgrounds
-    environment.pathsToLink = [
-      "/share"
-      "/share/nautilus-python/extensions"
-    ];
+        networkmanager-openconnect networkmanager-fortisslvpn
+        networkmanager-iodine networkmanager-l2tp;
+      };
 
-    security.pam.services.gnome-screensaver = mkIf flashbackEnabled {
-      enableGnomeKeyring = true;
-    };
-  };
+      services.xserver.updateDbusEnvironment = true;
+
+      # Needed for themes and backgrounds
+      environment.pathsToLink = [
+        "/share" # TODO: https://github.com/NixOS/nixpkgs/issues/47173
+      ];
+    })
+
+    (mkIf serviceCfg.core-shell.enable {
+      services.colord.enable = mkDefault true;
+      services.gnome3.glib-networking.enable = true;
+      services.gnome3.gnome-remote-desktop.enable = mkDefault true;
+      services.gnome3.gnome-settings-daemon.enable = true;
+      services.gnome3.gnome-user-share.enable = mkDefault true;
+      services.gnome3.rygel.enable = mkDefault true;
+      services.gvfs.enable = true;
+      services.telepathy.enable = mkDefault true;
+      systemd.packages = [ pkgs.gnome3.vino ];
+      services.dbus.packages =
+        optional config.services.printing.enable pkgs.system-config-printer;
+
+      services.geoclue2.enable = mkDefault true;
+      services.geoclue2.enableDemoAgent = false; # GNOME has its own geoclue agent
+
+      services.geoclue2.appConfig."gnome-datetime-panel" = {
+        isAllowed = true;
+        isSystem = true;
+      };
+      services.geoclue2.appConfig."gnome-color-panel" = {
+        isAllowed = true;
+        isSystem = true;
+      };
+      services.geoclue2.appConfig."org.gnome.Shell" = {
+        isAllowed = true;
+        isSystem = true;
+      };
 
+      fonts.fonts = with pkgs; [
+        cantarell-fonts
+        dejavu_fonts
+        source-code-pro # Default monospace font in 3.32
+        source-sans-pro
+      ];
+
+      environment.systemPackages = with pkgs.gnome3; [
+        adwaita-icon-theme
+        gnome-backgrounds
+        gnome-bluetooth
+        gnome-control-center
+        gnome-getting-started-docs
+        gnome-shell
+        gnome-shell-extensions
+        gnome-themes-extra
+        gnome-user-docs
+        pkgs.glib # for gsettings
+        pkgs.gnome-menus
+        pkgs.gtk3.out # for gtk-launch
+        pkgs.hicolor-icon-theme
+        pkgs.shared-mime-info # for update-mime-database
+        pkgs.xdg-user-dirs # Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
+        vino
+      ];
+    })
+
+    (mkIf serviceCfg.core-utilities.enable {
+      environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
+        baobab eog epiphany evince gucharmap nautilus totem yelp gnome-calculator
+        gnome-contacts gnome-font-viewer gnome-screenshot gnome-system-monitor simple-scan
+        gnome-terminal evolution file-roller gedit 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-packagekit
+        gnome-software gnome-power-manager gnome-todo pkgs.gnome-usage
+      ] config.environment.gnome3.excludePackages);
+
+      # Enable default programs
+      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;
+      services.gnome3.seahorse.enable = mkDefault true;
+      services.gnome3.sushi.enable = mkDefault true;
+
+      # Let nautilus find extensions
+      # TODO: Create nautilus-with-extensions package
+      environment.variables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";
+
+      # Override default mimeapps for nautilus
+      environment.variables.XDG_DATA_DIRS = [ "${mimeAppsList}/share" ];
+
+      environment.pathsToLink = [
+        "/share/nautilus-python/extensions"
+      ];
+    })
+
+    (mkIf serviceCfg.games.enable {
+      environment.systemPackages = (with pkgs.gnome3; removePackagesByName [
+        aisleriot atomix five-or-more four-in-a-row gnome-chess gnome-klotski
+        gnome-mahjongg gnome-mines gnome-nibbles gnome-robots gnome-sudoku
+        gnome-taquin gnome-tetravex hitori iagno lightsoff quadrapassel
+        swell-foop tali
+      ] config.environment.gnome3.excludePackages);
+    })
+  ];
 
 }
diff --git a/nixpkgs/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/lxqt.nix
index 4368adedb34b..bf53082b267d 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/lxqt.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix
index a2d0810f90df..e1084b0053cc 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/mate.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
index f0cafc377585..ae23015d2005 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix
index 6852154378d7..1102f73d1ac3 100644
--- a/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce4-14.nix b/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
new file mode 100644
index 000000000000..16329c093f98
--- /dev/null
+++ b/nixpkgs/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
@@ -0,0 +1,157 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.desktopManager.xfce4-14;
+in
+
+{
+  # added 2019-08-18
+  # needed to preserve some semblance of UI familarity
+  # with original XFCE module
+  imports = [
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ]
+      [ "services" "xserver" "displayManager" "sessionCommands" ])
+  ];
+
+  options = {
+    services.xserver.desktopManager.xfce4-14 = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable the Xfce desktop environment.";
+      };
+
+    # TODO: support thunar plugins
+    #   thunarPlugins = mkOption {
+    #     default = [];
+    #     type = types.listOf types.package;
+    #     example = literalExample "[ pkgs.xfce4-14.thunar-archive-plugin ]";
+    #     description = ''
+    #       A list of plugin that should be installed with Thunar.
+    #     '';
+    #  };
+
+      noDesktop = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
+      };
+
+      enableXfwm = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Enable the XFWM (default) window manager.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = with pkgs.xfce4-14 // pkgs; [
+      glib # for gsettings
+      gtk3.out # gtk-update-icon-cache
+
+      gnome3.adwaita-icon-theme
+      hicolor-icon-theme
+      tango-icon-theme
+      xfce4-icon-theme
+
+      desktop-file-utils
+      shared-mime-info # for update-mime-database
+
+      # For a polkit authentication agent
+      polkit_gnome
+
+      # Needed by Xfce's xinitrc script
+      xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
+
+      exo
+      garcon
+      gtk-xfce-engine
+      libxfce4ui
+      xfconf
+
+      mousepad
+      ristretto
+      xfce4-appfinder
+      xfce4-screenshooter
+      xfce4-session
+      xfce4-settings
+      xfce4-terminal
+
+      # TODO: resync patch for plugins
+      #(thunar.override { thunarPlugins = cfg.thunarPlugins; })
+      thunar
+    ] # TODO: NetworkManager doesn't belong here
+      ++ optional config.networking.networkmanager.enable networkmanagerapplet
+      ++ optional config.hardware.pulseaudio.enable xfce4-pulseaudio-plugin
+      ++ optional config.powerManagement.enable xfce4-power-manager
+      ++ optional cfg.enableXfwm xfwm4
+      ++ optionals (!cfg.noDesktop) [
+        xfce4-panel
+        xfce4-notifyd
+        xfdesktop
+      ];
+
+    environment.pathsToLink = [
+      "/share/xfce4"
+      "/lib/xfce4"
+      "/share/gtksourceview-3.0"
+      "/share/gtksourceview-4.0"
+    ];
+
+    # Use the correct gnome3 packageSet
+    networking.networkmanager.basePackages = mkIf config.networking.networkmanager.enable {
+      inherit (pkgs) networkmanager modemmanager wpa_supplicant crda;
+      inherit (pkgs.gnome3) networkmanager-openvpn networkmanager-vpnc
+      networkmanager-openconnect networkmanager-fortisslvpn
+      networkmanager-iodine networkmanager-l2tp;
+    };
+
+    services.xserver.desktopManager.session = [{
+      name = "xfce4-14";
+      bgSupport = true;
+      start = ''
+        # Set GTK_PATH so that GTK+ can find the theme engines.
+        export GTK_PATH="${config.system.path}/lib/gtk-2.0:${config.system.path}/lib/gtk-3.0"
+
+        # Set GTK_DATA_PREFIX so that GTK+ can find the Xfce themes.
+        export GTK_DATA_PREFIX=${config.system.path}
+
+        ${pkgs.runtimeShell} ${pkgs.xfce4-14.xinitrc} &
+        waitPID=$!
+      '';
+    }];
+
+    services.xserver.updateDbusEnvironment = true;
+    services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
+
+    # Enable helpful DBus services.
+    services.udisks2.enable = true;
+    security.polkit.enable = true;
+    services.accounts-daemon.enable = true;
+    services.upower.enable = config.powerManagement.enable;
+    services.gnome3.glib-networking.enable = true;
+    services.gvfs.enable = true;
+    services.gvfs.package = pkgs.xfce.gvfs;
+    services.tumbler.enable = true;
+    services.dbus.packages =
+      optional config.services.printing.enable pkgs.system-config-printer;
+    services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
+
+    # Enable default programs
+    programs.dconf.enable = true;
+
+    # Shell integration for VTE terminals
+    programs.bash.vteIntegration = mkDefault true;
+    programs.zsh.vteIntegration = mkDefault true;
+
+    # Systemd services
+    systemd.packages = with pkgs.xfce4-14; [
+      thunar
+    ] ++ optional (!cfg.noDesktop) xfce4-notifyd;
+
+  };
+}
diff --git a/nixpkgs/nixos/modules/services/x11/display-managers/default.nix b/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
index 0e87e6adbab8..bf6b048654b3 100644
--- a/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixpkgs/nixos/modules/services/x11/display-managers/default.nix
@@ -109,7 +109,7 @@ let
 
       # Allow the user to setup a custom session type.
       if test -x ~/.xsession; then
-          exec ~/.xsession
+          eval exec ~/.xsession "$@"
       fi
 
       if test "$1"; then
diff --git a/nixpkgs/nixos/modules/system/boot/coredump.nix b/nixpkgs/nixos/modules/system/boot/coredump.nix
deleted file mode 100644
index 30f367da7666..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/modules/system/boot/kernel.nix b/nixpkgs/nixos/modules/system/boot/kernel.nix
index ee43fe100238..baa8c602a99e 100644
--- a/nixpkgs/nixos/modules/system/boot/kernel.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/system/boot/networkd.nix b/nixpkgs/nixos/modules/system/boot/networkd.nix
index d6b446e9ac22..f2060e21509c 100644
--- a/nixpkgs/nixos/modules/system/boot/networkd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/system/boot/stage-1-init.sh b/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
index 67cbe720ddc3..b817a45deba3 100644
--- a/nixpkgs/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixpkgs/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/nixpkgs/nixos/modules/system/boot/systemd.nix b/nixpkgs/nixos/modules/system/boot/systemd.nix
index 1914827d0e5d..a79513850624 100644
--- a/nixpkgs/nixos/modules/system/boot/systemd.nix
+++ b/nixpkgs/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"
@@ -108,11 +112,13 @@ let
       # Hibernate / suspend.
       "hibernate.target"
       "suspend.target"
+      "suspend-then-hibernate.target"
       "sleep.target"
       "hybrid-sleep.target"
       "systemd-hibernate.service"
       "systemd-hybrid-sleep.service"
       "systemd-suspend.service"
+      "systemd-suspend-then-hibernate.service"
 
       # Reboot stuff.
       "reboot.target"
@@ -533,13 +539,23 @@ in
     };
 
     systemd.enableCgroupAccounting = mkOption {
-      default = false;
+      default = true;
       type = types.bool;
       description = ''
         Whether to enable cgroup accounting.
       '';
     };
 
+    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;
@@ -790,11 +806,12 @@ in
         [Manager]
         ${optionalString config.systemd.enableCgroupAccounting ''
           DefaultCPUAccounting=yes
+          DefaultBlockIOAccounting=yes
           DefaultIOAccounting=yes
           DefaultBlockIOAccounting=yes
-          DefaultMemoryAccounting=yes
-          DefaultTasksAccounting=yes
+          DefaultIPAccounting=yes
         ''}
+        DefaultLimitCORE=infinity
         ${config.systemd.extraConfig}
       '';
 
@@ -818,6 +835,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 +854,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/nixpkgs/nixos/modules/virtualisation/containers.nix b/nixpkgs/nixos/modules/virtualisation/containers.nix
index c10e2b162ccc..b61558b22019 100644
--- a/nixpkgs/nixos/modules/virtualisation/containers.nix
+++ b/nixpkgs/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,12 +248,18 @@ 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.
     RestartForceExitStatus = "133";
     SuccessExitStatus = "133";
 
+    # Some containers take long to start
+    # especially when you automatically start many at once
+    TimeoutStartSec = cfg.timeoutStartSec;
+
     Restart = "on-failure";
 
     Slice = "machine.slice";
@@ -419,6 +426,8 @@ let
     {
       extraVeths = {};
       additionalCapabilities = [];
+      ephemeral = false;
+      timeoutStartSec = "15s";
       allowedDevices = [];
       hostAddress = null;
       hostAddress6 = null;
@@ -511,6 +520,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;
@@ -571,6 +600,18 @@ in
               '';
             };
 
+		    timeoutStartSec = mkOption {
+		      type = types.str;
+		      default = "1min";
+		      description = ''
+		        Time for the container to start. In case of a timeout,
+		        the container processes get killed.
+		        See <citerefentry><refentrytitle>systemd.time</refentrytitle>
+		        <manvolnum>7</manvolnum></citerefentry>
+		        for more information about the format.
+		       '';
+		    };
+
             bindMounts = mkOption {
               type = with types; loaOf (submodule bindMountOpts);
               default = {};
@@ -659,12 +700,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 +746,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/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix b/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix
index 5c59188b68b2..79766970c757 100644
--- a/nixpkgs/nixos/modules/virtualisation/google-compute-config.nix
+++ b/nixpkgs/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/nixpkgs/nixos/modules/virtualisation/libvirtd.nix b/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
index 394b4ce56563..16b79d869193 100644
--- a/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixpkgs/nixos/modules/virtualisation/libvirtd.nix
@@ -104,6 +104,18 @@ in {
       '';
     };
 
+    onBoot = mkOption {
+      type = types.enum ["start" "ignore" ];
+      default = "start";
+      description = ''
+        Specifies the action to be done to / on the guests when the host boots.
+        The "start" option starts all guests that were running prior to shutdown
+        regardless of their autostart settings. The "ignore" option will not
+        start the formally running guest on boot. However, any guest marked as
+        autostart will still be automatically started by libvirtd.
+      '';
+    };
+
     onShutdown = mkOption {
       type = types.enum ["shutdown" "suspend" ];
       default = "suspend";
@@ -221,6 +233,7 @@ in {
       path = with pkgs; [ coreutils libvirt gawk ];
       restartIfChanged = false;
 
+      environment.ON_BOOT = "${cfg.onBoot}";
       environment.ON_SHUTDOWN = "${cfg.onShutdown}";
     };
 
diff --git a/nixpkgs/nixos/release-combined.nix b/nixpkgs/nixos/release-combined.nix
index 7146aebf54be..ffa087bb6f28 100644
--- a/nixpkgs/nixos/release-combined.nix
+++ b/nixpkgs/nixos/release-combined.nix
@@ -136,6 +136,7 @@ in rec {
         (all nixos.tests.switchTest)
         (all nixos.tests.udisks2)
         (all nixos.tests.xfce)
+        (all nixos.tests.xfce4-14)
 
         nixpkgs.tarball
         (all allSupportedNixpkgs.emacs)
diff --git a/nixpkgs/nixos/tests/all-tests.nix b/nixpkgs/nixos/tests/all-tests.nix
index df75358eeef1..557ee78df7c6 100644
--- a/nixpkgs/nixos/tests/all-tests.nix
+++ b/nixpkgs/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 {};
@@ -155,6 +161,7 @@ in
   minio = handleTest ./minio.nix {};
   misc = handleTest ./misc.nix {};
   mongodb = handleTest ./mongodb.nix {};
+  moodle = handleTest ./moodle.nix {};
   morty = handleTest ./morty.nix {};
   mosquitto = handleTest ./mosquitto.nix {};
   mpd = handleTest ./mpd.nix {};
@@ -218,7 +225,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 {};
@@ -250,6 +258,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 {};
@@ -257,6 +266,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 {};
@@ -268,6 +278,7 @@ in
   xautolock = handleTest ./xautolock.nix {};
   xdg-desktop-portal = handleTest ./xdg-desktop-portal.nix {};
   xfce = handleTest ./xfce.nix {};
+  xfce4-14 = handleTest ./xfce4-14.nix {};
   xmonad = handleTest ./xmonad.nix {};
   xrdp = handleTest ./xrdp.nix {};
   xss-lock = handleTest ./xss-lock.nix {};
diff --git a/nixpkgs/nixos/tests/containers-ephemeral.nix b/nixpkgs/nixos/tests/containers-ephemeral.nix
new file mode 100644
index 000000000000..1ef8717d9a0e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/glusterfs.nix b/nixpkgs/nixos/tests/glusterfs.nix
new file mode 100644
index 000000000000..9fd8bd2ed129
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/gnome-photos.nix b/nixpkgs/nixos/tests/gnome-photos.nix
new file mode 100644
index 000000000000..2ecda1d68ce3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/icingaweb2.nix b/nixpkgs/nixos/tests/icingaweb2.nix
new file mode 100644
index 000000000000..ea1b94c526b1
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/jormungandr.nix b/nixpkgs/nixos/tests/jormungandr.nix
new file mode 100644
index 000000000000..2abafc53ce51
--- /dev/null
+++ b/nixpkgs/nixos/tests/jormungandr.nix
@@ -0,0 +1,77 @@
+import ./make-test.nix ({ pkgs, ... }: {
+  name = "jormungandr";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ mmahut ];
+  };
+
+  nodes = {
+    # Testing the Byzantine Fault Tolerant protocol
+    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";
+    };
+
+    # Testing the Ouroboros Genesis Praos protocol
+    genesis = { ... }: {
+      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;
+
+    ## Testing BFT
+    # 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");
+
+    ## Testing Genesis
+    # Let's wait for the StateDirectory
+    $genesis->waitForFile("/var/lib/jormungandr/");
+
+    # Bootstraping the configuration
+    $genesis->succeed("jormungandr-bootstrap -g -p 8607 -s 1");
+
+    # Moving generated files in place
+    $genesis->succeed("mkdir -p /etc/secrets");
+    $genesis->succeed("mv pool-secret1.yaml /etc/secrets/jormungandr.yaml");
+    $genesis->succeed("mv block-0.bin /var/lib/jormungandr/");
+
+    # We should have everything to start the service now
+    $genesis->succeed("systemctl restart jormungandr");
+    $genesis->waitForUnit("jormungandr.service");
+
+    # Now we can create and delegate an account
+    $genesis->succeed("./create-account-and-delegate.sh | tee -a /tmp/delegate.log");
+  '';
+})
diff --git a/nixpkgs/nixos/tests/libxmlb.nix b/nixpkgs/nixos/tests/libxmlb.nix
new file mode 100644
index 000000000000..3bee568ac5a2
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/magnetico.nix b/nixpkgs/nixos/tests/magnetico.nix
new file mode 100644
index 000000000000..bc7aef653ee5
--- /dev/null
+++ b/nixpkgs/nixos/tests/magnetico.nix
@@ -0,0 +1,28 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "magnetico";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ rnhmjoj ];
+  };
+
+  machine = { ... }: {
+    imports = [ ../modules/profiles/minimal.nix ];
+
+    networking.firewall.allowedTCPPorts = [ 9000 ];
+
+    services.magnetico = {
+      enable = true;
+      crawler.port = 9000;
+      web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe";
+    };
+  };
+
+  testScript =
+    ''
+      startAll;
+      $machine->waitForUnit("magneticod");
+      $machine->waitForUnit("magneticow");
+      $machine->succeed("${pkgs.curl}/bin/curl -u user:password http://localhost:8080");
+      $machine->succeed("${pkgs.curl}/bin/curl -u user:wrongpwd http://localhost:8080") =~ "Unauthorised." or die;
+      $machine->shutdown();
+    '';
+})
diff --git a/nixpkgs/nixos/tests/moodle.nix b/nixpkgs/nixos/tests/moodle.nix
new file mode 100644
index 000000000000..565a6b636949
--- /dev/null
+++ b/nixpkgs/nixos/tests/moodle.nix
@@ -0,0 +1,22 @@
+import ./make-test.nix ({ pkgs, lib, ... }: {
+  name = "moodle";
+  meta.maintainers = [ lib.maintainers.aanderse ];
+
+  machine =
+    { ... }:
+    { services.moodle.enable = true;
+      services.moodle.virtualHost.hostName = "localhost";
+      services.moodle.virtualHost.adminAddr = "root@example.com";
+      services.moodle.initialPassword = "correcthorsebatterystaple";
+
+      # Ensure the virtual machine has enough memory to avoid errors like:
+      # Fatal error: Out of memory (allocated 152047616) (tried to allocate 33554440 bytes)
+      virtualisation.memorySize = 2000;
+    };
+
+  testScript = ''
+    startAll;
+    $machine->waitForUnit('phpfpm-moodle.service');
+    $machine->succeed('curl http://localhost/') =~ /You are not logged in/ or die;
+  '';
+})
diff --git a/nixpkgs/nixos/tests/nginx.nix b/nixpkgs/nixos/tests/nginx.nix
index d66d99821c11..d0b7306ae83b 100644
--- a/nixpkgs/nixos/tests/nginx.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/php-pcre.nix b/nixpkgs/nixos/tests/php-pcre.nix
index 19bde9babad5..ae44aec7944f 100644
--- a/nixpkgs/nixos/tests/php-pcre.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/prosody.nix b/nixpkgs/nixos/tests/prosody.nix
deleted file mode 100644
index a39bae7898dc..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/tests/subversion.nix b/nixpkgs/nixos/tests/subversion.nix
deleted file mode 100644
index e7b99b10602a..000000000000
--- a/nixpkgs/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/nixpkgs/nixos/tests/systemd-networkd-wireguard.nix b/nixpkgs/nixos/tests/systemd-networkd-wireguard.nix
new file mode 100644
index 000000000000..f1ce1e791ce3
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/systemd.nix b/nixpkgs/nixos/tests/systemd.nix
index 344d675c5fe2..1c201e3b5dcc 100644
--- a/nixpkgs/nixos/tests/systemd.nix
+++ b/nixpkgs/nixos/tests/systemd.nix
@@ -83,5 +83,18 @@ import ./make-test.nix ({ pkgs, ... }: {
       $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"');
+   };
+
+   # Test cgroup accounting is enabled
+   subtest "systemd cgroup accounting is enabled", sub {
+     $machine->waitForUnit('multi-user.target');
+     $machine->succeed('systemctl show testservice1.service -p IOAccounting | grep -q "yes"');
+     $machine->succeed('systemctl status testservice1.service | grep -q "CPU:"');
+   };
   '';
 })
diff --git a/nixpkgs/nixos/tests/trezord.nix b/nixpkgs/nixos/tests/trezord.nix
new file mode 100644
index 000000000000..1c85bf539345
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/xfce4-14.nix b/nixpkgs/nixos/tests/xfce4-14.nix
new file mode 100644
index 000000000000..d9b10aabaa1f
--- /dev/null
+++ b/nixpkgs/nixos/tests/xfce4-14.nix
@@ -0,0 +1,33 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "xfce4-14";
+
+  machine =
+    { pkgs, ... }:
+
+    { imports = [ ./common/user-account.nix ];
+
+      services.xserver.enable = true;
+
+      services.xserver.displayManager.auto.enable = true;
+      services.xserver.displayManager.auto.user = "alice";
+
+      services.xserver.desktopManager.xfce4-14.enable = true;
+    };
+
+  testScript =
+    ''
+      $machine->waitForX;
+      $machine->waitForFile("/home/alice/.Xauthority");
+      $machine->succeed("xauth merge ~alice/.Xauthority");
+      $machine->waitForWindow(qr/xfce4-panel/);
+      $machine->sleep(10);
+
+      # Check that logging in has given the user ownership of devices.
+      $machine->succeed("getfacl /dev/snd/timer | grep -q alice");
+
+      $machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'");
+      $machine->waitForWindow(qr/Terminal/);
+      $machine->sleep(10);
+      $machine->screenshot("screen");
+    '';
+})
diff --git a/nixpkgs/nixos/tests/ejabberd.nix b/nixpkgs/nixos/tests/xmpp/ejabberd.nix
index 0691dfe780d2..196a04aca300 100644
--- a/nixpkgs/nixos/tests/ejabberd.nix
+++ b/nixpkgs/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/nixpkgs/nixos/tests/xmpp/prosody-mysql.nix b/nixpkgs/nixos/tests/xmpp/prosody-mysql.nix
new file mode 100644
index 000000000000..62b4a17421e5
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/xmpp/prosody.nix b/nixpkgs/nixos/tests/xmpp/prosody.nix
new file mode 100644
index 000000000000..8331c7b6d331
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/nixos/tests/xmpp-sendmessage.nix b/nixpkgs/nixos/tests/xmpp/xmpp-sendmessage.nix
index 2a075a018134..2a075a018134 100644
--- a/nixpkgs/nixos/tests/xmpp-sendmessage.nix
+++ b/nixpkgs/nixos/tests/xmpp/xmpp-sendmessage.nix
diff --git a/nixpkgs/pkgs/applications/altcoins/bitcoin-classic.nix b/nixpkgs/pkgs/applications/altcoins/bitcoin-classic.nix
index ad48ea2a6257..ddce5c3f7150 100644
--- a/nixpkgs/pkgs/applications/altcoins/bitcoin-classic.nix
+++ b/nixpkgs/pkgs/applications/altcoins/bitcoin-classic.nix
@@ -16,15 +16,15 @@ stdenv.mkDerivation rec {
     sha256 = "06ij9v7zbdnhxq9429nnxiw655cp8idldj18l7fmj94gqx07n5vh";
   };
 
-  patches = [ ./fix-bitcoin-qt-build.patch ];
-
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ openssl db48 boost zlib
                   miniupnpc utillinux protobuf libevent ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                     ++ optionals withGui [ "--with-gui=qt5" ];
+                     ++ optionals withGui [ "--with-gui=qt5"
+                                            "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+                                          ];
 
   enableParallelBuilding = true;
 
diff --git a/nixpkgs/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch b/nixpkgs/pkgs/applications/altcoins/bitcoin-unlimited-const-comparators.patch
deleted file mode 100644
index 1b74a48a84aa..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/altcoins/bitcoin-unlimited.nix b/nixpkgs/pkgs/applications/altcoins/bitcoin-unlimited.nix
index 13ec55bb589d..a75b20b39109 100644
--- a/nixpkgs/pkgs/applications/altcoins/bitcoin-unlimited.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/altcoins/bitcoin-xt.nix b/nixpkgs/pkgs/applications/altcoins/bitcoin-xt.nix
deleted file mode 100644
index 499bc4be4c83..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/altcoins/default.nix b/nixpkgs/pkgs/applications/altcoins/default.nix
index 5293c1eefa36..5b5bfb897cf3 100644
--- a/nixpkgs/pkgs/applications/altcoins/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/altcoins/dogecoin.nix b/nixpkgs/pkgs/applications/altcoins/dogecoin.nix
index 1332e53964b8..e5f149a0efe7 100644
--- a/nixpkgs/pkgs/applications/altcoins/dogecoin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/altcoins/freicoin.nix b/nixpkgs/pkgs/applications/altcoins/freicoin.nix
index 78ce074eafd3..664159be2013 100644
--- a/nixpkgs/pkgs/applications/altcoins/freicoin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/altcoins/jormungandr/default.nix b/nixpkgs/pkgs/applications/altcoins/jormungandr/default.nix
index d58e05184b63..8c276d6bb805 100644
--- a/nixpkgs/pkgs/applications/altcoins/jormungandr/default.nix
+++ b/nixpkgs/pkgs/applications/altcoins/jormungandr/default.nix
@@ -1,27 +1,44 @@
 { 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 ];
+
+  patchPhase = ''
+    sed -i "s~SCRIPTPATH=.*~SCRIPTPATH=$out/templates/~g" scripts/bootstrap
+  '';
+
+  installPhase = ''
+    install -d $out/bin $out/templates
+    install -m755 target/*/release/jormungandr $out/bin/
+    install -m755 target/*/release/jcli $out/bin/
+    install -m755 scripts/send-transaction $out/templates
+    install -m755 scripts/jcli-helpers $out/bin/
+    install -m755 scripts/bootstrap $out/bin/jormungandr-bootstrap
+    install -m644 scripts/faucet-send-money.shtempl $out/templates/
+    install -m644 scripts/create-account-and-delegate.shtempl $out/templates/
+    install -m644 scripts/faucet-send-certificate.shtempl $out/templates/
+  '';
 
   PROTOC = "${protobuf}/bin/protoc";
 
diff --git a/nixpkgs/pkgs/applications/altcoins/memorycoin.nix b/nixpkgs/pkgs/applications/altcoins/memorycoin.nix
deleted file mode 100644
index 944c82250d47..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/altcoins/pivx.nix b/nixpkgs/pkgs/applications/altcoins/pivx.nix
index 995b8deccd95..e2cf8aa182f3 100644
--- a/nixpkgs/pkgs/applications/altcoins/pivx.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/altcoins/wasabiwallet/default.nix b/nixpkgs/pkgs/applications/altcoins/wasabiwallet/default.nix
index 9eef471adad2..7185b3510601 100644
--- a/nixpkgs/pkgs/applications/altcoins/wasabiwallet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/gmpc/default.nix b/nixpkgs/pkgs/applications/audio/gmpc/default.nix
index 099e4428016e..07d5684e98e7 100644
--- a/nixpkgs/pkgs/applications/audio/gmpc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/mopidy/default.nix b/nixpkgs/pkgs/applications/audio/mopidy/default.nix
index c1379c57fe5b..c574c862f521 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/mopidy/moped.nix b/nixpkgs/pkgs/applications/audio/mopidy/moped.nix
index 3754bf763b20..d41fb12ae8d3 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/moped.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix b/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix
index 9a6e1bef994c..483852455aa7 100644
--- a/nixpkgs/pkgs/applications/audio/mopidy/spotify.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/padthv1/default.nix b/nixpkgs/pkgs/applications/audio/padthv1/default.nix
index e503793ab39c..b424bce2433b 100644
--- a/nixpkgs/pkgs/applications/audio/padthv1/default.nix
+++ b/nixpkgs/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 {
-  name = "padthv1-${version}";
-  version = "0.9.8";
+mkDerivation rec {
+  pname = "padthv1";
+  version = "0.9.9";
 
   src = fetchurl {
-    url = "mirror://sourceforge/padthv1/${name}.tar.gz";
-    sha256 = "1k4p2ir12qjcs62knvw2s6qyvb46203yx22fnwp341cjk171cxji";
+    url = "mirror://sourceforge/padthv1/${pname}-${version}.tar.gz";
+    sha256 = "0axansxwa3vfc1n6a7jbaqyz6wmsffi37i4ggsl08gmqywz255xb";
   };
 
   buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
diff --git a/nixpkgs/pkgs/applications/audio/paprefs/default.nix b/nixpkgs/pkgs/applications/audio/paprefs/default.nix
index 6ad931d4867a..9c59b5466c74 100644
--- a/nixpkgs/pkgs/applications/audio/paprefs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix b/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix
index ce2979a5e530..0cff6c419a08 100644
--- a/nixpkgs/pkgs/applications/audio/pavucontrol/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/pulseeffects/default.nix b/nixpkgs/pkgs/applications/audio/pulseeffects/default.nix
index 0a4c9bebde7c..83fb17189e1d 100644
--- a/nixpkgs/pkgs/applications/audio/pulseeffects/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/reaper/default.nix b/nixpkgs/pkgs/applications/audio/reaper/default.nix
index 2e4658a68c98..6530d737c33d 100644
--- a/nixpkgs/pkgs/applications/audio/reaper/default.nix
+++ b/nixpkgs/pkgs/applications/audio/reaper/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "reaper-${version}";
-  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/nixpkgs/pkgs/applications/audio/snd/default.nix b/nixpkgs/pkgs/applications/audio/snd/default.nix
index a8896f3945b1..32e241cf557b 100644
--- a/nixpkgs/pkgs/applications/audio/snd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix b/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
index 2e55306029f0..9a27ed302e6c 100644
--- a/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
+++ b/nixpkgs/pkgs/applications/audio/vcv-rack/default.nix
@@ -28,13 +28,13 @@ let
 in
 with stdenv.lib; stdenv.mkDerivation rec {
   name = "VCV-Rack-${version}";
-  version = "1.1.3";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "VCVRack";
     repo = "Rack";
     rev = "v${version}";
-    sha256 = "16q3x0jpwkdwwvh7rn472w7nfjf81s10z9c7bx011kk7rgk88hh2";
+    sha256 = "04kg0nm7w19s2zfrsxjfl3bs4sy3bzf28kzl4hayzwv480667ybx";
     fetchSubmodules = true;
   };
 
@@ -78,7 +78,7 @@ with stdenv.lib; stdenv.mkDerivation rec {
     # The source is BSD-3 licensed, some of the art is CC-BY-NC 4.0 or under a
     # no-derivatives clause
     license = with licenses; [ bsd3 cc-by-nc-40 unfreeRedistributable ];
-    maintainers = with maintainers; [ moredread ];
+    maintainers = with maintainers; [ moredread nathyong ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/backup/deja-dup/default.nix b/nixpkgs/pkgs/applications/backup/deja-dup/default.nix
index 4f8e520cb9f2..2ff51db54041 100644
--- a/nixpkgs/pkgs/applications/backup/deja-dup/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/android-studio/default.nix b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
index 7f691b304181..4b9e2f409506 100644
--- a/nixpkgs/pkgs/applications/editors/android-studio/default.nix
+++ b/nixpkgs/pkgs/applications/editors/android-studio/default.nix
@@ -8,19 +8,15 @@ 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";
-    sha256Hash = "1rri8b5nkxj65hq13s5d31fy08llf3ad9s5mn56ridd4nsy2c5df";
+    version = "3.6.0.8"; # "Android Studio 3.6 Canary 8"
+    build = "192.5825043";
+    sha256Hash = "1nh8p880pz3x7hlwa3inkr9qkd95amkg0sv4f0m7bb70k9v5mnvv";
   };
 in rec {
   # Attributes are named by their corresponding release channels
diff --git a/nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix
index f57c1b71b13d..9574ec43a612 100644
--- a/nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix
+++ b/nixpkgs/pkgs/applications/editors/emacs-modes/melpa-packages.nix
@@ -33,8 +33,6 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
     inherit (import ./libgenerated.nix lib self) melpaDerivation;
     super = lib.listToAttrs (map (melpaDerivation variant) (lib.importJSON archiveJson));
 
-    generic = import ./melpa-generic.nix;
-
     overrides = rec {
       shared = {
         # Expects bash to be at /bin/bash
@@ -131,20 +129,20 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
         # upstream issue: missing file header
         initsplit = markBroken super.initsplit;
 
-        irony = super.irony.overrideAttrs(old: {
+        irony = super.irony.overrideAttrs (old: {
+          cmakeFlags = old.cmakeFlags or [] ++ [ "-DCMAKE_INSTALL_BINDIR=bin" ];
           preConfigure = ''
             cd server
           '';
           preBuild = ''
             make
+            install -D bin/irony-server $out/bin/irony-server
+            cd ..
           '';
-          postInstall = ''
-            mkdir -p $out
-            mv $out/share/emacs/site-lisp/elpa/*/server/bin $out
-            rm -rf $out/share/emacs/site-lisp/elpa/*/server
-          '';
-          preCheck = ''
+          checkPhase = ''
             cd source/server
+            make check
+            cd ../..
           '';
           dontUseCmakeBuildDir = true;
           doCheck = true;
@@ -396,13 +394,6 @@ env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPac
         # Expects bash to be at /bin/bash
         helm-rtags = markBroken super.helm-rtags;
 
-        # Fails with "package does not untar cleanly into ..."
-        irony = shared.irony.overrideAttrs(old: {
-          meta = old.meta // {
-            broken = true;
-          };
-        });
-
         orgit =
           (super.orgit.overrideAttrs (attrs: {
             # searches for Git at build time
diff --git a/nixpkgs/pkgs/applications/editors/jetbrains/default.nix b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
index 844999b03663..92355552fcec 100644
--- a/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
+++ b/nixpkgs/pkgs/applications/editors/jetbrains/default.nix
@@ -250,12 +250,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2019.1.4"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "1ccb7g5nzipfmvx6ycg9cn3s7bykpwws62239hg0frlb6xx9y969"; /* updated by script */
+      sha256 = "13y2c3vzlklwz9cd7anpfdc3dqwh714xivm1g59s6p4x9sy172lp"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -263,12 +263,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2019.2.1"; /* updated by script */
+    version = "2019.2.2"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "0va5dcvjxq7mlkz0di5zl1ra5gv6cls3wy40fvkpm2vlirg0m31s"; /* updated by script */
+      sha256 = "1babydzmgaas1rxjv11yhgbp0l5scsdwy17l9927qwlbgccf24mb"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -276,12 +276,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2019.1.3"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0nw9s4vc7dbj2daxi88m1hqyl3rbzvahbw4mhp409ngac3l2pqmh"; /* updated by script */
+      sha256 = "16wmsf6c8x95d050grqgv6aaxlkc6pqhbqzlz6fzsngjnbkn64yj"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -289,12 +289,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2019.1.3"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "02ddxqwflqrr5xf27s1gmaz7ai400cxzlbiz2wrs9vqsdcpj9jbr"; /* updated by script */
+      sha256 = "1pbqnyqly09m7lw6356dydbvppq4i94rsk7c3y40mrc285qzj413"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -302,12 +302,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2019.1.3"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "0qhj3wai0jb3bg8ddck27ivx2q60xsbk8pj6ryqp5dh75ja4zx1s"; /* updated by script */
+      sha256 = "0mslmhakjjgwj76hbfw9dcidic6zprjfjryggic7dqywl7vjwc95"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -315,12 +315,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2019.1.3"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "04nrdgnyxywy0yfari26ghc371yni1rx3h0pmc4fw02ibbqx1f1y"; /* updated by script */
+      sha256 = "1m198p6586dych6mrgwqxs486qndypsmnikl0rxx45ddrwfjl42g"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -328,12 +328,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2019.1.3"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0acwfxp0ky3014zcvmlsig1732h87jvmf2wwjankamrk6ynmlvgh"; /* updated by script */
+      sha256 = "0a3fi2wjj0166199pyhvvpaih9nx0xr6q7zf7jfj8i7khpkdk8i5"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -341,12 +341,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2019.1.3"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0948jlpfz5d4k12mn2xrl8z5kc44a3986kl5znvzr5b8h65xw8l3"; /* updated by script */
+      sha256 = "03i7qi0kcnx0irih468xaz7hzicaa5yh399r676drs22ak23qwrq"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -354,12 +354,12 @@ in
 
   rider = buildRider rec {
     name = "rider-${version}";
-    version = "2019.1.2"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
-      sha256 = "0b0p18pcq4ml8nds4460a1ml8qjsq38kxwdrsh2ca5s194cbaapq"; /* updated by script */
+      sha256 = "1p0mlch7qvkvgxjscx6rl65v6h8g6fwk8rcb8s27qkcjm0d78ic8"; /* updated by script */
     };
     wmClass = "jetbrains-rider";
     update-channel = "Rider RELEASE";
@@ -367,12 +367,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2019.2"; /* updated by script */
+    version = "2019.2.1"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "1f4mdarmh7m9jq432d0s9jds9288g0zgpxnlpmx12i26vvq8kykd"; /* updated by script */
+      sha256 = "0l0kwc1mih55px8j6bvp1g3pxrv0scd9vpydwvkaqmq5x0r1n3jf"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
diff --git a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix
index 30e46448c5b5..54e99b35b5eb 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 41dbc6d541e7..8763905fbfd8 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix b/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 8993adf92ea1..be80587ef3a6 100644
--- a/nixpkgs/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/nano/default.nix b/nixpkgs/pkgs/applications/editors/nano/default.nix
index d1ecaae373bb..44f8c243bd6d 100644
--- a/nixpkgs/pkgs/applications/editors/nano/default.nix
+++ b/nixpkgs/pkgs/applications/editors/nano/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nano-${version}";
-  version = "4.3";
+  version = "4.4";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${name}.tar.xz";
-    sha256 = "108dzj6azqmini9bvgl26r0q1y59s3nnrw75hfzv91bs50davlq0";
+    sha256 = "1iw2ypq34g1gfqyhgka2fz5yj5vrlz85q6zk7amgyj286ph25wia";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix b/nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix
index efece505ab94..92ff745d1a6a 100644
--- a/nixpkgs/pkgs/applications/editors/neovim/neovim-remote.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/quilter/default.nix b/nixpkgs/pkgs/applications/editors/quilter/default.nix
index f5c62b6f36ed..49ebe579ed4a 100644
--- a/nixpkgs/pkgs/applications/editors/quilter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/editors/tiled/default.nix b/nixpkgs/pkgs/applications/editors/tiled/default.nix
index 4fa93d78235e..b0b80a4ec001 100644
--- a/nixpkgs/pkgs/applications/editors/tiled/default.nix
+++ b/nixpkgs/pkgs/applications/editors/tiled/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, pkgconfig, qmake
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, qmake
 , python, qtbase, qttools }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "tiled";
   version = "1.2.4";
 
diff --git a/nixpkgs/pkgs/applications/graphics/avocode/default.nix b/nixpkgs/pkgs/applications/graphics/avocode/default.nix
index 52fd3cebec26..552ca714476f 100644
--- a/nixpkgs/pkgs/applications/graphics/avocode/default.nix
+++ b/nixpkgs/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 {
   name = "avocode-${version}";
-  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/nixpkgs/pkgs/applications/graphics/darktable/default.nix b/nixpkgs/pkgs/applications/graphics/darktable/default.nix
index e16ef45fe1eb..a32681c754ca 100644
--- a/nixpkgs/pkgs/applications/graphics/darktable/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/feh/default.nix b/nixpkgs/pkgs/applications/graphics/feh/default.nix
index 3eff3360a6c4..fbc6cd2fafef 100644
--- a/nixpkgs/pkgs/applications/graphics/feh/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix b/nixpkgs/pkgs/applications/graphics/gnome-photos/default.nix
new file mode 100644
index 000000000000..f591dd5a60dd
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch b/nixpkgs/pkgs/applications/graphics/gnome-photos/installed-tests-path.patch
new file mode 100644
index 000000000000..218108328dd8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/ideogram/default.nix b/nixpkgs/pkgs/applications/graphics/ideogram/default.nix
index 1511901ab916..0efb08741835 100644
--- a/nixpkgs/pkgs/applications/graphics/ideogram/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/kodelife/default.nix b/nixpkgs/pkgs/applications/graphics/kodelife/default.nix
new file mode 100644
index 000000000000..b86560d1319e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index c007f4f3de89..28d05480dae1 100644
--- a/nixpkgs/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/dmenu/default.nix b/nixpkgs/pkgs/applications/misc/dmenu/default.nix
index 26a297481d04..8d13ac42e1fc 100644
--- a/nixpkgs/pkgs/applications/misc/dmenu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/evtest-qt/default.nix b/nixpkgs/pkgs/applications/misc/evtest-qt/default.nix
index de75c7b68a8f..86f2d0070923 100644
--- a/nixpkgs/pkgs/applications/misc/evtest-qt/default.nix
+++ b/nixpkgs/pkgs/applications/misc/evtest-qt/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, qtbase, cmake, fetchFromGitHub }:
+{ mkDerivation, lib, qtbase, cmake, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "evtest-qt";
   version = "0.2.0";
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Simple input device tester for linux with Qt GUI";
     homepage = "https://github.com/Grumbel/evtest-qt";
     maintainers = with maintainers; [ alexarice ];
diff --git a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
index 1ce9bfb1f67a..6b57c74c1234 100644
--- a/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
+++ b/nixpkgs/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "174d2q7w0kwa6xx9k3bl5gdwmk0gklvch963g7vl979wqsf7nskw";
+    sha256 = "09q9l747vv6nrkscj08dv970qs6nm2azjcm015xf3bd5ab91l44r";
   };
 
   doCheck = false;
diff --git a/nixpkgs/pkgs/applications/misc/getxbook/default.nix b/nixpkgs/pkgs/applications/misc/getxbook/default.nix
index a77f87f6f1f1..2fadc89c48d9 100644
--- a/nixpkgs/pkgs/applications/misc/getxbook/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix b/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
index d4ff7269987c..0af84365158e 100644
--- a/nixpkgs/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/nixpkgs/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 {
   name = "golden-cheetah-${version}";
-  version = "3.4";
-  src = fetchurl {
-    name = "${name}.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/nixpkgs/pkgs/applications/misc/gpxsee/default.nix b/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
index e326e9c10087..6e9296da267b 100644
--- a/nixpkgs/pkgs/applications/misc/gpxsee/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/hugo/default.nix b/nixpkgs/pkgs/applications/misc/hugo/default.nix
index 0bb3f15fdc18..2b49a5ae9a97 100644
--- a/nixpkgs/pkgs/applications/misc/hugo/default.nix
+++ b/nixpkgs/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   name = "hugo-${version}";
-  version = "0.55.4";
+  version = "0.57.2";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner  = "gohugoio";
     repo   = "hugo";
     rev    = "v${version}";
-    sha256 = "0hbkl8dhhdic0admrkvlp1h1bmfrrwfnvipx27clyk0f88jcvb7y";
+    sha256 = "1cqvm2fj6hh2n9iv67vamhn23fbxmmwciks0r4h4y0hapzlzpyd8";
   };
 
-  modSha256 = "0yrwkaaasj9ihjjfbywnzkppix1y2znagg3dkyikk21sl5n0nz23";
+  modSha256 = "09r7r1s5b2fvnzpzjarpv2lnvp6bxdfschiq6352hw631n7kkyz1";
 
   buildFlags = "-tags extended";
 
diff --git a/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile b/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile
index 2d3446a81134..c4ba46e2ac6a 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index 00088aef8ad5..54c703bb8592 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix b/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix
index 1107ba745fda..41e599c02020 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/basic/gemset.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile b/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile
index aba5e06e3769..8e7499bad61a 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock b/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock
index 7b9b74ef1b79..6410b885ea47 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix b/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix
index 917ba51caabe..80d67022e7af 100644
--- a/nixpkgs/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/keepassx/community.nix b/nixpkgs/pkgs/applications/misc/keepassx/community.nix
index 85dfda405b05..594bf1eb75ae 100644
--- a/nixpkgs/pkgs/applications/misc/keepassx/community.nix
+++ b/nixpkgs/pkgs/applications/misc/keepassx/community.nix
@@ -32,13 +32,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "keepassxc-${version}";
-  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/nixpkgs/pkgs/applications/misc/keepassx/darwin.patch b/nixpkgs/pkgs/applications/misc/keepassx/darwin.patch
index d7ffb7dbba1f..6232d1118a7b 100644
--- a/nixpkgs/pkgs/applications/misc/keepassx/darwin.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/khal/default.nix b/nixpkgs/pkgs/applications/misc/khal/default.nix
index 2e32bbd611a1..6aa94b2fecb8 100644
--- a/nixpkgs/pkgs/applications/misc/khal/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/libosmocore/default.nix b/nixpkgs/pkgs/applications/misc/libosmocore/default.nix
index c9583961de41..999665bf6bb5 100644
--- a/nixpkgs/pkgs/applications/misc/libosmocore/default.nix
+++ b/nixpkgs/pkgs/applications/misc/libosmocore/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "libosmocore-${version}";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "libosmocore";
     rev = version;
-    sha256 = "1ayxpq03mv547sirdy3j9vnsjd1q07adhwwnl3wffz3c39wlax68";
+    sha256 = "1535y6r4csvslrxcki80ya6zhhc5jw2nvy9bymb55ln77pf853vg";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/mediainfo/default.nix b/nixpkgs/pkgs/applications/misc/mediainfo/default.nix
index 8bbb179d9d51..601e8c611e4b 100644
--- a/nixpkgs/pkgs/applications/misc/mediainfo/default.nix
+++ b/nixpkgs/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";
   name = "mediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "11wag23gx7nprrm1qlgvbc83rs9zxdsshqrp98zwia80xh8c9bk5";
+    sha256 = "0b2ypdlpj5v64ggqk628mgqraba27z725sa0zf0fa4agxhf9ka44";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/nixpkgs/pkgs/applications/misc/megasync/default.nix b/nixpkgs/pkgs/applications/misc/megasync/default.nix
index b3e739864171..bcfd1adb4b44 100644
--- a/nixpkgs/pkgs/applications/misc/megasync/default.nix
+++ b/nixpkgs/pkgs/applications/misc/megasync/default.nix
@@ -15,23 +15,25 @@
 , libuv
 , libzen
 , lsb-release
+, mkDerivation
 , pkgconfig
-, qt5
+, qtbase
+, qttools
 , sqlite
 , swig
 , unzip
 , wget
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "megasync-${version}";
-  version = "4.1.1.0";
+  version = "4.2.3.0";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAsync";
     rev = "v${version}_Linux";
-    sha256 = "0lc228q3s9xp78dxjn22g6anqlsy1hi7a6yfs4q3l6gyfc3qcxl2";
+    sha256 = "0l4yfrxjb62vc9dnlzy8rjqi68ga1bys5x5rfzs40daw13yf1adv";
     fetchSubmodules = true;
   };
 
@@ -41,8 +43,7 @@ stdenv.mkDerivation rec {
     doxygen
     lsb-release
     pkgconfig
-    qt5.qmake
-    qt5.qttools
+    qttools
     swig
   ];
   buildInputs = [
@@ -57,8 +58,7 @@ stdenv.mkDerivation rec {
     libtool
     libuv
     libzen
-    qt5.qtbase
-    qt5.qtsvg
+    qtbase
     sqlite
     unzip
     wget
diff --git a/nixpkgs/pkgs/applications/misc/mkgmap/build.xml.patch b/nixpkgs/pkgs/applications/misc/mkgmap/build.xml.patch
new file mode 100644
index 000000000000..6ec40786b249
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/mkgmap/build.xml.patch
@@ -0,0 +1,11 @@
+--- a/build.xml	2019-08-26 23:22:55.104829846 +0300
++++ b/build.xml	2019-08-27 00:11:07.366257594 +0300
+@@ -227,7 +227,7 @@
+ 	</target>
+ 
+ 	<!-- Compile the product itself (no tests). -->
+-	<target name="compile" depends="prepare, resolve-compile"
++	<target name="compile" depends="prepare"
+ 					description="main compilation">
+ 
+ 		<javac srcdir="${src}" destdir="${build.classes}" encoding="utf-8" debug="true" includeantruntime="false">
diff --git a/nixpkgs/pkgs/applications/misc/mkgmap/default.nix b/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
new file mode 100644
index 000000000000..debcea78f555
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/mkgmap/default.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, fetchsvn, jdk, jre, ant, makeWrapper }:
+
+let
+  fastutil = fetchurl {
+    url = "http://ivy.mkgmap.org.uk/repo/it.unimi.dsi/fastutil/6.5.15-mkg.1b/jars/fastutil.jar";
+    sha256 = "0d88m0rpi69wgxhnj5zh924q4zsvxq8m4ybk7m9mr3gz1hx0yx8c";
+  };
+  osmpbf = fetchurl {
+    url = "http://ivy.mkgmap.org.uk/repo/crosby/osmpbf/1.3.3/jars/osmpbf.jar";
+    sha256 = "0zb4pqkwly5z30ww66qhhasdhdrzwmrw00347yrbgyk2ii4wjad3";
+  };
+  protobuf = fetchurl {
+    url = "https://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/2.5.0/protobuf-java-2.5.0.jar";
+    sha256 = "0x6c4pbsizvk3lm6nxcgi1g2iqgrxcna1ip74lbn01f0fm2wdhg0";
+  };
+in
+
+stdenv.mkDerivation rec {
+  pname = "mkgmap";
+  version = "4289";
+
+  src = fetchsvn {
+    url = "https://svn.mkgmap.org.uk/mkgmap/mkgmap/trunk";
+    rev = version;
+    sha256 = "1sm1pw71q7z0jrxm8bcgm6xjl2mcidyibcf0a3m8fv2andidxrb4";
+  };
+
+  # This patch removes from the build process
+  # the automatic download of dependencies (see configurePhase)
+  patches = [ ./build.xml.patch ];
+
+  nativeBuildInputs = [ jdk ant makeWrapper ];
+
+  configurePhase = ''
+    mkdir -p lib/compile
+    cp ${fastutil} ${osmpbf} ${protobuf} lib/compile/
+  '';
+
+  buildPhase = "ant";
+
+  installPhase = ''
+    cd dist
+    install -Dm644 mkgmap.jar $out/share/java/mkgmap/mkgmap.jar
+    install -Dm644 doc/mkgmap.1 $out/share/man/man1/mkgmap.1
+    cp -r lib/ $out/share/java/mkgmap/
+    makeWrapper ${jre}/bin/java $out/bin/mkgmap \
+      --add-flags "-jar $out/share/java/mkgmap/mkgmap.jar"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Create maps for Garmin GPS devices from OpenStreetMap (OSM) data";
+    homepage = "http://www.mkgmap.org.uk";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/misc/moolticute/default.nix b/nixpkgs/pkgs/applications/misc/moolticute/default.nix
new file mode 100644
index 000000000000..0f4e72502bba
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix b/nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix
index 882bb75219d6..adba36329359 100644
--- a/nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix
+++ b/nixpkgs/pkgs/applications/misc/netsurf/buildsystem/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "netsurf-buildsystem-${version}";
-  version = "1.7";
+  version = "1.8";
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/buildsystem-${version}.tar.gz";
-    sha256 = "1q23aaycv35ma5471l1gxib8lfq2s9kprrkaqgfc926d04rlbmhw";
+    sha256 = "0ffdjwskxlnh8sk40qqfgksbb1nrdzfxsshrscra0p4nqpkj98z6";
   };
 
   makeFlags = [
diff --git a/nixpkgs/pkgs/applications/misc/omegat.nix b/nixpkgs/pkgs/applications/misc/omegat.nix
index 660b5db61058..411b318a3925 100644
--- a/nixpkgs/pkgs/applications/misc/omegat.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/orca/default.nix b/nixpkgs/pkgs/applications/misc/orca/default.nix
index 98ebde981c0a..332c696d8da2 100644
--- a/nixpkgs/pkgs/applications/misc/orca/default.nix
+++ b/nixpkgs/pkgs/applications/misc/orca/default.nix
@@ -1,7 +1,7 @@
 { stdenv, pkgconfig, fetchurl, buildPythonApplication
 , autoreconfHook, wrapGAppsHook, gobject-introspection
 , intltool, yelp-tools, itstool, libxmlxx3
-, python, pygobject3, gtk3, gnome3, substituteAll
+, python, pygobject3, gtk3, gnome3, substituteAll, hicolor-icon-theme
 , at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg
 , xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas
 , speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python
@@ -31,6 +31,7 @@ buildPythonApplication rec {
   nativeBuildInputs = [
     autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
     intltool yelp-tools itstool gobject-introspection
+    hicolor-icon-theme # setup-hook
   ];
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/misc/qtpass/default.nix b/nixpkgs/pkgs/applications/misc/qtpass/default.nix
index 462114ed2721..1fccada42003 100644
--- a/nixpkgs/pkgs/applications/misc/qtpass/default.nix
+++ b/nixpkgs/pkgs/applications/misc/qtpass/default.nix
@@ -1,26 +1,35 @@
-{ stdenv, mkDerivation, fetchFromGitHub, git, gnupg, pass, qtbase, qtsvg, qttools, qmake, makeWrapper }:
+{ stdenv, lib, mkDerivation, fetchFromGitHub, fetchpatch
+, git, gnupg, pass, qtbase, qtsvg, qttools, qmake
+}:
 
 mkDerivation rec {
   pname = "qtpass";
-  version = "1.2.3";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner  = "IJHack";
     repo   = "QtPass";
     rev    = "v${version}";
-    sha256 = "1vfhfyccrxq9snyvayqfzm5rqik8ny2gysyv7nipc91kvhq3bhky";
+    sha256 = "0v3ca4fdjk6l24vc9wlc0i7r6fdj85kjmnb7jvicd3f8xi9mvhnv";
   };
 
   buildInputs = [ git gnupg pass qtbase qtsvg qttools ];
 
-  nativeBuildInputs = [ makeWrapper qmake ];
+  nativeBuildInputs = [ qmake ];
+
+  # Fix missing app icon on Wayland. Has been upstreamed and should be safe to
+  # remove in versions > 1.3.0
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/IJHack/QtPass/commit/aba8c4180f0ab3d66c44f88b21f137b19d17bde8.patch";
+      sha256 = "009bcq0d75khmaligzd7736xdzy6a8s1m9dgqybn70h801h92fcr";
+    })
+  ];
 
   enableParallelBuilding = true;
 
   qtWrapperArgs = [
-    "--suffix PATH : ${git}/bin"
-    "--suffix PATH : ${gnupg}/bin"
-    "--suffix PATH : ${pass}/bin"
+    "--suffix PATH : ${lib.makeBinPath [ git gnupg pass ]}"
   ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/misc/redshift/default.nix b/nixpkgs/pkgs/applications/misc/redshift/default.nix
index d8512754f6a7..3a288a81c37f 100644
--- a/nixpkgs/pkgs/applications/misc/redshift/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/rsclock/default.nix b/nixpkgs/pkgs/applications/misc/rsclock/default.nix
new file mode 100644
index 000000000000..81c001509f34
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/rsclock/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "rsClock";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "valebes";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1fpidswkgpf9yr4vxqn38livz6r3z5i0lhg7ngj9f1ki4yqxn9zh";
+  };
+   
+  cargoSha256 = "1m0lm8xh1qp0cbx870xy2m0bv047mb00vcwzq7r5gxqx8n61qm4n";
+
+  meta = with stdenv.lib; {
+    description = "A simple terminal clock written in Rust";
+    homepage = "https://github.com/valebes/rsClock";
+    license = licenses.mit;
+    maintainers = with maintainers; [valebes];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/misc/sampler/default.nix b/nixpkgs/pkgs/applications/misc/sampler/default.nix
new file mode 100644
index 000000000000..a04b0dcbba6a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/sequeler/default.nix b/nixpkgs/pkgs/applications/misc/sequeler/default.nix
index 764e6c0048e8..e3edb5399289 100644
--- a/nixpkgs/pkgs/applications/misc/sequeler/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/st/xst.nix b/nixpkgs/pkgs/applications/misc/st/xst.nix
index 1a9e3f4ecc11..9407243c6a21 100644
--- a/nixpkgs/pkgs/applications/misc/st/xst.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix b/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
index 293f6aaa3c6f..ee42c1389fcd 100644
--- a/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/syncthingtray/default.nix b/nixpkgs/pkgs/applications/misc/syncthingtray/default.nix
new file mode 100644
index 000000000000..0dc8f3bf38e4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/taskell/default.nix b/nixpkgs/pkgs/applications/misc/taskell/default.nix
index 1a1ea3102afd..00b96f459cb7 100644
--- a/nixpkgs/pkgs/applications/misc/taskell/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/terminator/default.nix b/nixpkgs/pkgs/applications/misc/terminator/default.nix
index 80dffe6d93f2..d09c98b67090 100644
--- a/nixpkgs/pkgs/applications/misc/terminator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/tilix/default.nix b/nixpkgs/pkgs/applications/misc/tilix/default.nix
index 65d01a5649d5..095681d136d8 100644
--- a/nixpkgs/pkgs/applications/misc/tilix/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/waybar/default.nix b/nixpkgs/pkgs/applications/misc/waybar/default.nix
index 6fbe75aadfc9..d6cbb442b898 100644
--- a/nixpkgs/pkgs/applications/misc/waybar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/worker/default.nix b/nixpkgs/pkgs/applications/misc/worker/default.nix
index 69421e288d34..daae279ccc79 100644
--- a/nixpkgs/pkgs/applications/misc/worker/default.nix
+++ b/nixpkgs/pkgs/applications/misc/worker/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "worker-${version}";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "http://www.boomerangsworld.de/cms/worker/downloads/${name}.tar.gz";
-    sha256 = "0cs1sq7zpp787r1irhqk5pmxa26rjz55mbgda4823z9zkzwfxy19";
+    sha256 = "1mwkyak68bsxgff399xmr7bb3hxl0r976b90zi7jrzznwlvxx7vh";
   };
 
   buildInputs = [ libX11 ];
diff --git a/nixpkgs/pkgs/applications/misc/wtf/default.nix b/nixpkgs/pkgs/applications/misc/wtf/default.nix
index 07538f749e8f..52462d1c1f34 100644
--- a/nixpkgs/pkgs/applications/misc/wtf/default.nix
+++ b/nixpkgs/pkgs/applications/misc/wtf/default.nix
@@ -5,16 +5,18 @@
 
 buildGoModule rec {
   pname = "wtf";
-  version = "0.19.1";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "wtfutil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19qzg5blqm5p7rrnaqh4f9aj53i743mawjnd1h9lfahbgmil1d24";
+    sha256 = "03k3x3fnxz23b75n5x8mlr6srr063q3dwq05wh55b4bgqsf7lgzd";
   };
 
-  modSha256 = "1q21pc4yyiq4dihsb9n7261ssj52nnik8dq6fg4gvlnnpgcjp570";
+  modSha256 = "1nqnjpkrjbb75yfbzh3v3vc4xy5a2aqm9jr40hwq589a4l9p5pw2";
+
+  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   # As per https://github.com/wtfutil/wtf/issues/501, one of the
   # dependencies can't be fetched, so vendored dependencies should
diff --git a/nixpkgs/pkgs/applications/misc/xmind/default.nix b/nixpkgs/pkgs/applications/misc/xmind/default.nix
index fc5abf109894..433f6c614774 100644
--- a/nixpkgs/pkgs/applications/misc/xmind/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/yate/default.nix b/nixpkgs/pkgs/applications/misc/yate/default.nix
index 53d427e61c2c..294229d08a93 100644
--- a/nixpkgs/pkgs/applications/misc/yate/default.nix
+++ b/nixpkgs/pkgs/applications/misc/yate/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, lib, qt4, openssl, autoconf, automake, pkgconfig }:
+{ stdenv, fetchurl, lib, qt4, openssl, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "yate-${version}";
-  version = "6.0.0-1";
+  version = "6.1.0-1";
 
   src = fetchurl {
     url = "http://voip.null.ro/tarballs/yate${lib.versions.major version}/${name}.tar.gz";
-    sha256 = "05qqdhi3rp5660gq1484jkmxkm9vq81j0yr765h0gf0xclan1dqa";
+    sha256 = "0xx3i997nsf2wzbv6m5n6adsym0qhgc6xg4rsv0fwqrgisf5327d";
   };
 
   # TODO zaptel ? postgres ?
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ qt4 openssl autoconf automake ];
+  buildInputs = [ qt4 openssl ];
 
   # /dev/null is used when linking which is a impure path for the wrapper
   preConfigure =
diff --git a/nixpkgs/pkgs/applications/misc/zathura/core/default.nix b/nixpkgs/pkgs/applications/misc/zathura/core/default.nix
index 585b4eef9ea3..fe4ecf225aae 100644
--- a/nixpkgs/pkgs/applications/misc/zathura/core/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix b/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix
index 3059c3f725b1..975c6e4a4680 100644
--- a/nixpkgs/pkgs/applications/misc/zathura/wrapper.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
index ca5d3d0b6657..45fb820a076c 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/brave/default.nix
@@ -82,11 +82,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "0.67.123";
+  version = "0.68.131";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "00kpysk84xwmlwziq7pjizmi2ljgiq45l1x743qkfflxlh0pj21m";
+    sha256 = "0syhwy1gxy82jbxbryi1n4zp1ya7wvm20g1vqvd2s7kqspprsi0l";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix b/nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix
index eca2bc0d99f7..664f9343eabd 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -94,17 +94,17 @@ let
         envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "@out@/lib";
       }}
     '';
-    
+
     meta.platforms = platforms.x86_64;
   };
 
   flash = stdenv.mkDerivation rec {
     name = "flashplayer-ppapi-${version}";
-    version = "32.0.0.223";
+    version = "32.0.0.238";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "0xm6jcdip4gki267ldw106l5j43im0ji2zjsarvi7n2nvvnwwgnl";
+      sha256 = "0jqx68lfqjpy6wbxdi0giclvh9mc9rha92hqdj1nx42v95k3gc65";
       stripRoot = false;
     };
 
@@ -135,7 +135,7 @@ let
     '';
 
     dontStrip = true;
-    
+
     meta.platforms = platforms.x86_64;
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix b/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
index bc1678335947..2a4db14b2c6d 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix b/nixpkgs/pkgs/applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin/default.nix
deleted file mode 100644
index 48d06d644dda..000000000000
--- a/nixpkgs/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";
-  name = "esteidfirefoxplugin-${version}";
-
-  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/nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix b/nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix
index 1519c382ebb5..9a4d61a50aee 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/qtchan/default.nix
@@ -1,27 +1,19 @@
-{ stdenv, fetchFromGitHub, fetchpatch, qt, makeWrapper }:
+{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase }:
 
-stdenv.mkDerivation rec {
-  name = "qtchan-${version}";
-  version = "0.100";
+mkDerivation rec {
+  pname = "qtchan";
+  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/nixpkgs/pkgs/applications/networking/browsers/vimb/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vimb/default.nix
index cc9bc38bc4db..1deaa33ee840 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
index b06edaf9dcbe..246c5e7e60dc 100644
--- a/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/nixpkgs/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -17,11 +17,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "2.6.1566.51-1";
+  version = "2.7.1628.30-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0582f16saldgn482806f9igb97is4p3ayvh99j0wx9plxnyq5xmm";
+    sha256 = "1lz8adwiwll8g246s5pa0ipfraph51s9f4lcfysdrp1s3s1qhw8x";
   };
 
   unpackPhase = ''
diff --git a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
index d8fa1a04507a..b8b9fa035d18 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
+++ b/nixpkgs/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";
   name = "${pname}-${version}";
   version = minikube.version;
@@ -10,6 +10,8 @@ buildGoPackage rec {
 
   src = minikube.src;
 
+  modSha256 = minikube.go-modules.outputHash;
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libvirt ];
 
@@ -18,7 +20,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/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix b/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix
index 42c043d0007f..376f8113b23a 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/hadoop/default.nix
+++ b/nixpkgs/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 \
@@ -84,7 +86,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
@@ -127,18 +129,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/nixpkgs/pkgs/applications/networking/cluster/kubeless/default.nix b/nixpkgs/pkgs/applications/networking/cluster/kubeless/default.nix
new file mode 100644
index 000000000000..a69dc8890a7b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix b/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
index 8c85370728f5..5637e486ef11 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix
index a6749083c245..16056d9185b5 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/data.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix b/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
index 02803daa219e..de1e86fa0736 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
index c40750752996..b4707327bc72 100644
--- a/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/nixpkgs/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,20 +5,20 @@ buildGoPackage rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
      running in development environment and try to serve assets from the
      source tree, which is not there once build completes.  */
-  version = "0.9.7";
+  version = "0.10.4";
 
   src = fetchFromGitHub {
     owner  = "windmilleng";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0b7jk7iwjzdsb2wp9qx4gs9g3gi2vcqw5ilkax3gfz7wsplm0n65";
+    sha256 = "0nxgmldbcaj91jq47qxpf6jqwvi9bhg243qchdkiliphybvilcrg";
   };
 
   goPackagePath = "github.com/windmilleng/tilt";
 
   subPackages = [ "cmd/tilt" ];
 
-  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-07-30");
+  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-08-14");
 
   meta = with stdenv.lib; {
     description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
diff --git a/nixpkgs/pkgs/applications/networking/feedreaders/castget/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/castget/default.nix
new file mode 100644
index 000000000000..21f1e555a291
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix b/nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix
index fea062805d0f..959649c4b150 100644
--- a/nixpkgs/pkgs/applications/networking/feedreaders/feedreader/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/freetalk/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/freetalk/default.nix
index 2c27853c9442..ea793e3c0aac 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/freetalk/default.nix
+++ b/nixpkgs/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 {
   name = "freetalk-${version}";
   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/nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 1c58ae353bb3..655628308971 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -1,10 +1,11 @@
-{ 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 {
-    name = "quaternion-${version}";
+  generic = version: sha256: prefix: library: mkDerivation rec {
+    pname = "quaternion";
+    inherit version;
 
     src = fetchFromGitHub {
       owner = "QMatrixClient";
@@ -13,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
@@ -28,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/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix
index ffa55a88c8ab..9a0aab6f8ce1 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/rambox/pro.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
index edf10ed2cb42..2e9602458e7f 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix
index b84807c69a04..b76848c2b810 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop-yarndeps.nix
@@ -1,7 +1,6 @@
-{fetchurl, linkFarm}: rec {
+{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
   offline_cache = linkFarm "offline" packages;
   packages = [
-
     {
       name = "_types_node___node_9.6.45.tgz";
       path = fetchurl {
@@ -10,7 +9,6 @@
         sha1 = "a9e5cfd026a3abaaf17e3c0318a470da9f2f178e";
       };
     }
-
     {
       name = "ajv___ajv_6.10.0.tgz";
       path = fetchurl {
@@ -19,7 +17,6 @@
         sha1 = "90d0d54439da587cd7e843bfb7045f50bd22bdf1";
       };
     }
-
     {
       name = "applescript___applescript_1.0.0.tgz";
       path = fetchurl {
@@ -28,7 +25,6 @@
         sha1 = "bb87af568cad034a4e48c4bdaf6067a3a2701317";
       };
     }
-
     {
       name = "asn1___asn1_0.2.4.tgz";
       path = fetchurl {
@@ -37,7 +33,6 @@
         sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
       };
     }
-
     {
       name = "assert_plus___assert_plus_1.0.0.tgz";
       path = fetchurl {
@@ -46,7 +41,6 @@
         sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
       };
     }
-
     {
       name = "asynckit___asynckit_0.4.0.tgz";
       path = fetchurl {
@@ -55,7 +49,6 @@
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     }
-
     {
       name = "auto_launch___auto_launch_5.0.5.tgz";
       path = fetchurl {
@@ -64,7 +57,6 @@
         sha1 = "d14bd002b1ef642f85e991a6195ff5300c8ad3c0";
       };
     }
-
     {
       name = "aws_sign2___aws_sign2_0.7.0.tgz";
       path = fetchurl {
@@ -73,7 +65,6 @@
         sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
       };
     }
-
     {
       name = "aws4___aws4_1.8.0.tgz";
       path = fetchurl {
@@ -82,7 +73,6 @@
         sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
       };
     }
-
     {
       name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
       path = fetchurl {
@@ -91,7 +81,6 @@
         sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
       };
     }
-
     {
       name = "bignumber.js___bignumber.js_2.4.0.tgz";
       path = fetchurl {
@@ -100,7 +89,6 @@
         sha1 = "838a992da9f9d737e0f4b2db0be62bb09dd0c5e8";
       };
     }
-
     {
       name = "bmp_js___bmp_js_0.0.3.tgz";
       path = fetchurl {
@@ -109,7 +97,6 @@
         sha1 = "64113e9c7cf1202b376ed607bf30626ebe57b18a";
       };
     }
-
     {
       name = "buffer_equal___buffer_equal_0.0.1.tgz";
       path = fetchurl {
@@ -118,7 +105,6 @@
         sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
       };
     }
-
     {
       name = "caseless___caseless_0.12.0.tgz";
       path = fetchurl {
@@ -127,7 +113,6 @@
         sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     }
-
     {
       name = "combined_stream___combined_stream_1.0.7.tgz";
       path = fetchurl {
@@ -136,7 +121,6 @@
         sha1 = "2d1d24317afb8abe95d6d2c0b07b57813539d828";
       };
     }
-
     {
       name = "conf___conf_2.2.0.tgz";
       path = fetchurl {
@@ -145,7 +129,6 @@
         sha1 = "ee282efafc1450b61e205372041ad7d866802d9a";
       };
     }
-
     {
       name = "core_util_is___core_util_is_1.0.2.tgz";
       path = fetchurl {
@@ -154,7 +137,6 @@
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     }
-
     {
       name = "dashdash___dashdash_1.14.1.tgz";
       path = fetchurl {
@@ -163,7 +145,6 @@
         sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
       };
     }
-
     {
       name = "deep_equal___deep_equal_1.0.1.tgz";
       path = fetchurl {
@@ -172,7 +153,6 @@
         sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
       };
     }
-
     {
       name = "define_properties___define_properties_1.1.3.tgz";
       path = fetchurl {
@@ -181,7 +161,6 @@
         sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
       };
     }
-
     {
       name = "delayed_stream___delayed_stream_1.0.0.tgz";
       path = fetchurl {
@@ -190,7 +169,6 @@
         sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     }
-
     {
       name = "dom_walk___dom_walk_0.1.1.tgz";
       path = fetchurl {
@@ -199,7 +177,6 @@
         sha1 = "672226dc74c8f799ad35307df936aba11acd6018";
       };
     }
-
     {
       name = "dot_prop___dot_prop_4.2.0.tgz";
       path = fetchurl {
@@ -208,7 +185,6 @@
         sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
       };
     }
-
     {
       name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
       path = fetchurl {
@@ -217,7 +193,6 @@
         sha1 = "3a83a904e54353287874c564b7549386849a98c9";
       };
     }
-
     {
       name = "electron_store___electron_store_2.0.0.tgz";
       path = fetchurl {
@@ -226,7 +201,6 @@
         sha1 = "1035cca2a95409d1f54c7466606345852450d64a";
       };
     }
-
     {
       name = "electron_window_state___electron_window_state_4.1.1.tgz";
       path = fetchurl {
@@ -235,7 +209,6 @@
         sha1 = "6b34fdc31b38514dfec8b7c8f7b5d4addb67632d";
       };
     }
-
     {
       name = "env_paths___env_paths_1.0.0.tgz";
       path = fetchurl {
@@ -244,7 +217,6 @@
         sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0";
       };
     }
-
     {
       name = "es_abstract___es_abstract_1.13.0.tgz";
       path = fetchurl {
@@ -253,7 +225,6 @@
         sha1 = "ac86145fdd5099d8dd49558ccba2eaf9b88e24e9";
       };
     }
-
     {
       name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
       path = fetchurl {
@@ -262,7 +233,6 @@
         sha1 = "edf72478033456e8dda8ef09e00ad9650707f377";
       };
     }
-
     {
       name = "es6_promise___es6_promise_3.3.1.tgz";
       path = fetchurl {
@@ -271,7 +241,6 @@
         sha1 = "a08cdde84ccdbf34d027a1451bc91d4bcd28a613";
       };
     }
-
     {
       name = "exif_parser___exif_parser_0.1.12.tgz";
       path = fetchurl {
@@ -280,7 +249,6 @@
         sha1 = "58a9d2d72c02c1f6f02a0ef4a9166272b7760922";
       };
     }
-
     {
       name = "extend___extend_3.0.2.tgz";
       path = fetchurl {
@@ -289,7 +257,6 @@
         sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
       };
     }
-
     {
       name = "extsprintf___extsprintf_1.3.0.tgz";
       path = fetchurl {
@@ -298,7 +265,6 @@
         sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     }
-
     {
       name = "extsprintf___extsprintf_1.4.0.tgz";
       path = fetchurl {
@@ -307,7 +273,6 @@
         sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
       };
     }
-
     {
       name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
       path = fetchurl {
@@ -316,7 +281,6 @@
         sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
       };
     }
-
     {
       name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
       path = fetchurl {
@@ -325,7 +289,6 @@
         sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
       };
     }
-
     {
       name = "file_type___file_type_3.9.0.tgz";
       path = fetchurl {
@@ -334,7 +297,6 @@
         sha1 = "257a078384d1db8087bc449d107d52a52672b9e9";
       };
     }
-
     {
       name = "find_up___find_up_2.1.0.tgz";
       path = fetchurl {
@@ -343,7 +305,6 @@
         sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
       };
     }
-
     {
       name = "for_each___for_each_0.3.3.tgz";
       path = fetchurl {
@@ -352,7 +313,6 @@
         sha1 = "69b447e88a0a5d32c3e7084f3f1710034b21376e";
       };
     }
-
     {
       name = "forever_agent___forever_agent_0.6.1.tgz";
       path = fetchurl {
@@ -361,7 +321,6 @@
         sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
       };
     }
-
     {
       name = "form_data___form_data_2.3.3.tgz";
       path = fetchurl {
@@ -370,7 +329,6 @@
         sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
       };
     }
-
     {
       name = "function_bind___function_bind_1.1.1.tgz";
       path = fetchurl {
@@ -379,7 +337,6 @@
         sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
       };
     }
-
     {
       name = "getpass___getpass_0.1.7.tgz";
       path = fetchurl {
@@ -388,7 +345,6 @@
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     }
-
     {
       name = "global___global_4.3.2.tgz";
       path = fetchurl {
@@ -397,7 +353,6 @@
         sha1 = "e76989268a6c74c38908b1305b10fc0e394e9d0f";
       };
     }
-
     {
       name = "graceful_fs___graceful_fs_4.1.15.tgz";
       path = fetchurl {
@@ -406,7 +361,6 @@
         sha1 = "ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00";
       };
     }
-
     {
       name = "har_schema___har_schema_2.0.0.tgz";
       path = fetchurl {
@@ -415,7 +369,6 @@
         sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
       };
     }
-
     {
       name = "har_validator___har_validator_5.1.3.tgz";
       path = fetchurl {
@@ -424,7 +377,6 @@
         sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
       };
     }
-
     {
       name = "has_symbols___has_symbols_1.0.0.tgz";
       path = fetchurl {
@@ -433,7 +385,6 @@
         sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
       };
     }
-
     {
       name = "has___has_1.0.3.tgz";
       path = fetchurl {
@@ -442,7 +393,6 @@
         sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
       };
     }
-
     {
       name = "http_signature___http_signature_1.2.0.tgz";
       path = fetchurl {
@@ -451,7 +401,6 @@
         sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
       };
     }
-
     {
       name = "imurmurhash___imurmurhash_0.1.4.tgz";
       path = fetchurl {
@@ -460,7 +409,6 @@
         sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
       };
     }
-
     {
       name = "ip_regex___ip_regex_1.0.3.tgz";
       path = fetchurl {
@@ -469,7 +417,6 @@
         sha1 = "dc589076f659f419c222039a33316f1c7387effd";
       };
     }
-
     {
       name = "is_callable___is_callable_1.1.4.tgz";
       path = fetchurl {
@@ -478,7 +425,6 @@
         sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75";
       };
     }
-
     {
       name = "is_date_object___is_date_object_1.0.1.tgz";
       path = fetchurl {
@@ -487,7 +433,6 @@
         sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
       };
     }
-
     {
       name = "is_function___is_function_1.0.1.tgz";
       path = fetchurl {
@@ -496,7 +441,6 @@
         sha1 = "12cfb98b65b57dd3d193a3121f5f6e2f437602b5";
       };
     }
-
     {
       name = "is_obj___is_obj_1.0.1.tgz";
       path = fetchurl {
@@ -505,7 +449,6 @@
         sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
       };
     }
-
     {
       name = "is_regex___is_regex_1.0.4.tgz";
       path = fetchurl {
@@ -514,7 +457,6 @@
         sha1 = "5517489b547091b0930e095654ced25ee97e9491";
       };
     }
-
     {
       name = "is_symbol___is_symbol_1.0.2.tgz";
       path = fetchurl {
@@ -523,7 +465,6 @@
         sha1 = "a055f6ae57192caee329e7a860118b497a950f38";
       };
     }
-
     {
       name = "is_typedarray___is_typedarray_1.0.0.tgz";
       path = fetchurl {
@@ -532,7 +473,6 @@
         sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
       };
     }
-
     {
       name = "isstream___isstream_0.1.2.tgz";
       path = fetchurl {
@@ -541,7 +481,6 @@
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     }
-
     {
       name = "jimp___jimp_0.2.28.tgz";
       path = fetchurl {
@@ -550,7 +489,6 @@
         sha1 = "dd529a937190f42957a7937d1acc3a7762996ea2";
       };
     }
-
     {
       name = "jpeg_js___jpeg_js_0.2.0.tgz";
       path = fetchurl {
@@ -559,7 +497,6 @@
         sha1 = "53e448ec9d263e683266467e9442d2c5a2ef5482";
       };
     }
-
     {
       name = "jsbn___jsbn_0.1.1.tgz";
       path = fetchurl {
@@ -568,7 +505,6 @@
         sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     }
-
     {
       name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
       path = fetchurl {
@@ -577,7 +513,6 @@
         sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
       };
     }
-
     {
       name = "json_schema___json_schema_0.2.3.tgz";
       path = fetchurl {
@@ -586,7 +521,6 @@
         sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
       };
     }
-
     {
       name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
       path = fetchurl {
@@ -595,7 +529,6 @@
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     }
-
     {
       name = "jsonfile___jsonfile_2.4.0.tgz";
       path = fetchurl {
@@ -604,7 +537,6 @@
         sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8";
       };
     }
-
     {
       name = "jsprim___jsprim_1.4.1.tgz";
       path = fetchurl {
@@ -613,7 +545,6 @@
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     }
-
     {
       name = "load_bmfont___load_bmfont_1.4.0.tgz";
       path = fetchurl {
@@ -622,7 +553,6 @@
         sha1 = "75f17070b14a8c785fe7f5bee2e6fd4f98093b6b";
       };
     }
-
     {
       name = "locate_path___locate_path_2.0.0.tgz";
       path = fetchurl {
@@ -631,7 +561,6 @@
         sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
       };
     }
-
     {
       name = "make_dir___make_dir_1.3.0.tgz";
       path = fetchurl {
@@ -640,7 +569,6 @@
         sha1 = "79c1033b80515bd6d24ec9933e860ca75ee27f0c";
       };
     }
-
     {
       name = "mime_db___mime_db_1.38.0.tgz";
       path = fetchurl {
@@ -649,7 +577,6 @@
         sha1 = "1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad";
       };
     }
-
     {
       name = "mime_types___mime_types_2.1.22.tgz";
       path = fetchurl {
@@ -658,7 +585,6 @@
         sha1 = "fe6b355a190926ab7698c9a0556a11199b2199bd";
       };
     }
-
     {
       name = "mime___mime_1.6.0.tgz";
       path = fetchurl {
@@ -667,7 +593,6 @@
         sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
       };
     }
-
     {
       name = "min_document___min_document_2.19.0.tgz";
       path = fetchurl {
@@ -676,7 +601,6 @@
         sha1 = "7bd282e3f5842ed295bb748cdd9f1ffa2c824685";
       };
     }
-
     {
       name = "minimist___minimist_0.0.8.tgz";
       path = fetchurl {
@@ -685,7 +609,6 @@
         sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     }
-
     {
       name = "minimist___minimist_1.2.0.tgz";
       path = fetchurl {
@@ -694,7 +617,6 @@
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     }
-
     {
       name = "mkdirp___mkdirp_0.5.1.tgz";
       path = fetchurl {
@@ -703,7 +625,6 @@
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     }
-
     {
       name = "oauth_sign___oauth_sign_0.9.0.tgz";
       path = fetchurl {
@@ -712,7 +633,6 @@
         sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
       };
     }
-
     {
       name = "object_keys___object_keys_1.1.0.tgz";
       path = fetchurl {
@@ -721,7 +641,6 @@
         sha1 = "11bd22348dd2e096a045ab06f6c85bcc340fa032";
       };
     }
-
     {
       name = "p_limit___p_limit_1.3.0.tgz";
       path = fetchurl {
@@ -730,7 +649,6 @@
         sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
       };
     }
-
     {
       name = "p_locate___p_locate_2.0.0.tgz";
       path = fetchurl {
@@ -739,7 +657,6 @@
         sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
       };
     }
-
     {
       name = "p_try___p_try_1.0.0.tgz";
       path = fetchurl {
@@ -748,7 +665,6 @@
         sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
       };
     }
-
     {
       name = "parse_bmfont_ascii___parse_bmfont_ascii_1.0.6.tgz";
       path = fetchurl {
@@ -757,7 +673,6 @@
         sha1 = "11ac3c3ff58f7c2020ab22769079108d4dfa0285";
       };
     }
-
     {
       name = "parse_bmfont_binary___parse_bmfont_binary_1.0.6.tgz";
       path = fetchurl {
@@ -766,7 +681,6 @@
         sha1 = "d038b476d3e9dd9db1e11a0b0e53a22792b69006";
       };
     }
-
     {
       name = "parse_bmfont_xml___parse_bmfont_xml_1.1.4.tgz";
       path = fetchurl {
@@ -775,7 +689,6 @@
         sha1 = "015319797e3e12f9e739c4d513872cd2fa35f389";
       };
     }
-
     {
       name = "parse_headers___parse_headers_2.0.2.tgz";
       path = fetchurl {
@@ -784,7 +697,6 @@
         sha1 = "9545e8a4c1ae5eaea7d24992bca890281ed26e34";
       };
     }
-
     {
       name = "path_exists___path_exists_3.0.0.tgz";
       path = fetchurl {
@@ -793,7 +705,6 @@
         sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
       };
     }
-
     {
       name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
       path = fetchurl {
@@ -802,7 +713,6 @@
         sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
       };
     }
-
     {
       name = "performance_now___performance_now_2.1.0.tgz";
       path = fetchurl {
@@ -811,7 +721,6 @@
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     }
-
     {
       name = "phin___phin_2.9.3.tgz";
       path = fetchurl {
@@ -820,7 +729,6 @@
         sha1 = "f9b6ac10a035636fb65dfc576aaaa17b8743125c";
       };
     }
-
     {
       name = "pify___pify_3.0.0.tgz";
       path = fetchurl {
@@ -829,7 +737,6 @@
         sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
       };
     }
-
     {
       name = "pixelmatch___pixelmatch_4.0.2.tgz";
       path = fetchurl {
@@ -838,7 +745,6 @@
         sha1 = "8f47dcec5011b477b67db03c243bc1f3085e8854";
       };
     }
-
     {
       name = "pkg_up___pkg_up_2.0.0.tgz";
       path = fetchurl {
@@ -847,7 +753,6 @@
         sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
       };
     }
-
     {
       name = "png_to_ico___png_to_ico_1.0.7.tgz";
       path = fetchurl {
@@ -856,7 +761,6 @@
         sha1 = "9346b5f4d6fd7e94cb08fd49eeb585f501c3e5f2";
       };
     }
-
     {
       name = "pngjs___pngjs_3.4.0.tgz";
       path = fetchurl {
@@ -865,7 +769,6 @@
         sha1 = "99ca7d725965fb655814eaf65f38f12bbdbf555f";
       };
     }
-
     {
       name = "process___process_0.5.2.tgz";
       path = fetchurl {
@@ -874,7 +777,6 @@
         sha1 = "1638d8a8e34c2f440a91db95ab9aeb677fc185cf";
       };
     }
-
     {
       name = "psl___psl_1.1.31.tgz";
       path = fetchurl {
@@ -883,7 +785,6 @@
         sha1 = "e9aa86d0101b5b105cbe93ac6b784cd547276184";
       };
     }
-
     {
       name = "punycode___punycode_1.4.1.tgz";
       path = fetchurl {
@@ -892,7 +793,6 @@
         sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
       };
     }
-
     {
       name = "punycode___punycode_2.1.1.tgz";
       path = fetchurl {
@@ -901,7 +801,6 @@
         sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
       };
     }
-
     {
       name = "qs___qs_6.5.2.tgz";
       path = fetchurl {
@@ -910,7 +809,6 @@
         sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
       };
     }
-
     {
       name = "read_chunk___read_chunk_1.0.1.tgz";
       path = fetchurl {
@@ -919,7 +817,6 @@
         sha1 = "5f68cab307e663f19993527d9b589cace4661194";
       };
     }
-
     {
       name = "request___request_2.88.0.tgz";
       path = fetchurl {
@@ -928,7 +825,6 @@
         sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
       };
     }
-
     {
       name = "safe_buffer___safe_buffer_5.1.2.tgz";
       path = fetchurl {
@@ -937,7 +833,6 @@
         sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
       };
     }
-
     {
       name = "safer_buffer___safer_buffer_2.1.2.tgz";
       path = fetchurl {
@@ -946,7 +841,6 @@
         sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
       };
     }
-
     {
       name = "sax___sax_1.2.4.tgz";
       path = fetchurl {
@@ -955,7 +849,6 @@
         sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
       };
     }
-
     {
       name = "signal_exit___signal_exit_3.0.2.tgz";
       path = fetchurl {
@@ -964,7 +857,6 @@
         sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
       };
     }
-
     {
       name = "sshpk___sshpk_1.16.1.tgz";
       path = fetchurl {
@@ -973,7 +865,6 @@
         sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
       };
     }
-
     {
       name = "stream_to_buffer___stream_to_buffer_0.1.0.tgz";
       path = fetchurl {
@@ -982,7 +873,6 @@
         sha1 = "26799d903ab2025c9bd550ac47171b00f8dd80a9";
       };
     }
-
     {
       name = "stream_to___stream_to_0.2.2.tgz";
       path = fetchurl {
@@ -991,7 +881,6 @@
         sha1 = "84306098d85fdb990b9fa300b1b3ccf55e8ef01d";
       };
     }
-
     {
       name = "string.prototype.trim___string.prototype.trim_1.1.2.tgz";
       path = fetchurl {
@@ -1000,7 +889,6 @@
         sha1 = "d04de2c89e137f4d7d206f086b5ed2fae6be8cea";
       };
     }
-
     {
       name = "tinycolor2___tinycolor2_1.4.1.tgz";
       path = fetchurl {
@@ -1009,7 +897,6 @@
         sha1 = "f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8";
       };
     }
-
     {
       name = "tough_cookie___tough_cookie_2.4.3.tgz";
       path = fetchurl {
@@ -1018,7 +905,6 @@
         sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
       };
     }
-
     {
       name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
       path = fetchurl {
@@ -1027,7 +913,6 @@
         sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
       };
     }
-
     {
       name = "tweetnacl___tweetnacl_0.14.5.tgz";
       path = fetchurl {
@@ -1036,7 +921,6 @@
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     }
-
     {
       name = "untildify___untildify_3.0.3.tgz";
       path = fetchurl {
@@ -1045,7 +929,6 @@
         sha1 = "1e7b42b140bcfd922b22e70ca1265bfe3634c7c9";
       };
     }
-
     {
       name = "uri_js___uri_js_4.2.2.tgz";
       path = fetchurl {
@@ -1054,7 +937,6 @@
         sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
       };
     }
-
     {
       name = "url_regex___url_regex_3.2.0.tgz";
       path = fetchurl {
@@ -1063,7 +945,6 @@
         sha1 = "dbad1e0c9e29e105dd0b1f09f6862f7fdb482724";
       };
     }
-
     {
       name = "uuid___uuid_3.3.2.tgz";
       path = fetchurl {
@@ -1072,7 +953,6 @@
         sha1 = "1b4af4955eb3077c501c23872fc6513811587131";
       };
     }
-
     {
       name = "verror___verror_1.10.0.tgz";
       path = fetchurl {
@@ -1081,7 +961,6 @@
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     }
-
     {
       name = "winreg___winreg_1.2.4.tgz";
       path = fetchurl {
@@ -1090,7 +969,6 @@
         sha1 = "ba065629b7a925130e15779108cf540990e98d1b";
       };
     }
-
     {
       name = "write_file_atomic___write_file_atomic_2.4.2.tgz";
       path = fetchurl {
@@ -1099,7 +977,6 @@
         sha1 = "a7181706dfba17855d221140a9c06e15fcdd87b9";
       };
     }
-
     {
       name = "xhr___xhr_2.5.0.tgz";
       path = fetchurl {
@@ -1108,7 +985,6 @@
         sha1 = "bed8d1676d5ca36108667692b74b316c496e49dd";
       };
     }
-
     {
       name = "xml_parse_from_string___xml_parse_from_string_1.0.1.tgz";
       path = fetchurl {
@@ -1117,7 +993,6 @@
         sha1 = "a9029e929d3dbcded169f3c6e28238d95a5d5a28";
       };
     }
-
     {
       name = "xml2js___xml2js_0.4.19.tgz";
       path = fetchurl {
@@ -1126,7 +1001,6 @@
         sha1 = "686c20f213209e94abf0d1bcf1efaa291c7827a7";
       };
     }
-
     {
       name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
       path = fetchurl {
@@ -1135,7 +1009,6 @@
         sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
       };
     }
-
     {
       name = "xtend___xtend_4.0.1.tgz";
       path = fetchurl {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index 7400393d92ba..2c4557f2cc08 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
@@ -1,32 +1,26 @@
-{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron, riot-web }:
+{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, yarn2nix-moretea }:
 
-# Note for maintainers:
-# Versions of `riot-web` and `riot-desktop` should be kept in sync.
-
-with (import ./yarn2nix.nix { inherit pkgs; });
+# Notes for maintainers:
+# * versions of `riot-web` and `riot-desktop` should be kept in sync.
+# * the Yarn dependency expression must be updated with `./update-riot-desktop.sh <git release tag>`
 
 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 {
+in yarn2nix-moretea.mkYarnPackage rec {
   name = "riot-desktop-${version}";
   inherit version;
 
   src = "${riot-web-src}/electron_app";
 
-  # The package manifest should be copied on each update of this package.
-  # > cp ${riot-web-src}/electron_app/package.json riot-desktop-package.json
   packageJSON = ./riot-desktop-package.json;
-
-  # The dependency expression can be regenerated using nixos.yarn2nix with the following command:
-  # > yarn2nix --lockfile=${riot-web-src}/electron_app/yarn.lock > riot-desktop-yarndeps.nix
   yarnNix = ./riot-desktop-yarndeps.nix;
 
   nativeBuildInputs = [ makeWrapper ];
@@ -36,7 +30,9 @@ in mkYarnPackage rec {
     mkdir -p "$out/share/riot"
     ln -s '${riot-web}' "$out/share/riot/webapp"
     cp -r '${riot-web-src}/origin_migrator' "$out/share/riot/origin_migrator"
-    cp -r '.' "$out/share/riot/electron"
+    cp -r './deps/riot-web' "$out/share/riot/electron"
+    rm "$out/share/riot/electron/node_modules"
+    cp -r './node_modules' "$out/share/riot/electron"
 
     # icons
     for icon in $out/share/riot/electron/build/icons/*.png; do
@@ -49,7 +45,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 +61,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 +78,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/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index 9a2e2df80f29..383952f2a893 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name= "riot-web-${version}";
-  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/nixpkgs/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
new file mode 100755
index 000000000000..b646a9e03adf
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix-moretea.yarn2nix
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+	echo "Regenerates the Yarn dependency lock files for the riot-desktop package."
+	echo "Usage: $0 <git release tag>"
+	exit 1
+fi
+
+RIOT_WEB_SRC="https://raw.githubusercontent.com/vector-im/riot-web/$1"
+
+wget "$RIOT_WEB_SRC/electron_app/package.json" -O riot-desktop-package.json
+wget "$RIOT_WEB_SRC/electron_app/yarn.lock" -O riot-desktop-yarndeps.lock
+yarn2nix --lockfile=riot-desktop-yarndeps.lock > riot-desktop-yarndeps.nix
+rm riot-desktop-yarndeps.lock
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/yarn2nix.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/riot/yarn2nix.nix
deleted file mode 100644
index 5dd79fdf1d86..000000000000
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/riot/yarn2nix.nix
+++ /dev/null
@@ -1,320 +0,0 @@
-{ pkgs ? import <nixpkgs> {}
-, nodejs ? pkgs.nodejs
-, yarn ? pkgs.yarn
-}:
-
-let
-  inherit (pkgs) stdenv lib fetchurl linkFarm;
-in rec {
-  # Export yarn again to make it easier to find out which yarn was used.
-  inherit yarn;
-
-  # Re-export pkgs
-  inherit pkgs;
-
-  unlessNull = item: alt:
-    if item == null then alt else item;
-
-  reformatPackageName = pname:
-    let
-      # regex adapted from `validate-npm-package-name`
-      # will produce 3 parts e.g.
-      # "@someorg/somepackage" -> [ "@someorg/" "someorg" "somepackage" ]
-      # "somepackage" -> [ null null "somepackage" ]
-      parts = builtins.tail (builtins.match "^(@([^/]+)/)?([^/]+)$" pname);
-      # if there is no organisation we need to filter out null values.
-      non-null = builtins.filter (x: x != null) parts;
-    in builtins.concatStringsSep "-" non-null;
-
-  # https://docs.npmjs.com/files/package.json#license
-  # TODO: support expression syntax (OR, AND, etc)
-  spdxLicense = licstr:
-    if licstr == "UNLICENSED" then
-      lib.licenses.unfree
-    else
-      lib.findFirst
-        (l: l ? spdxId && l.spdxId == licstr)
-        { shortName = licstr; }
-        (builtins.attrValues lib.licenses);
-
-  # Generates the yarn.nix from the yarn.lock file
-  mkYarnNix = yarnLock:
-    pkgs.runCommand "yarn.nix" {}
-      "${yarn2nix}/bin/yarn2nix --lockfile ${yarnLock} --no-patch > $out";
-
-  # Loads the generated offline cache. This will be used by yarn as
-  # the package source.
-  importOfflineCache = yarnNix:
-    let
-      pkg = import yarnNix { inherit fetchurl linkFarm; };
-    in
-      pkg.offline_cache;
-
-  defaultYarnFlags = [
-    "--offline"
-    "--frozen-lockfile"
-    "--ignore-engines"
-    "--ignore-scripts"
-  ];
-
-  mkYarnModules = {
-    name,
-    pname,
-    packageJSON,
-    yarnLock,
-    yarnNix ? mkYarnNix yarnLock,
-    yarnFlags ? defaultYarnFlags,
-    pkgConfig ? {},
-    preBuild ? "",
-    workspaceDependencies ? [],
-  }:
-    let
-      offlineCache = importOfflineCache yarnNix;
-      extraBuildInputs = (lib.flatten (builtins.map (key:
-        pkgConfig.${key} . buildInputs or []
-      ) (builtins.attrNames pkgConfig)));
-      postInstall = (builtins.map (key:
-        if (pkgConfig.${key} ? postInstall) then
-          ''
-            for f in $(find -L -path '*/node_modules/${key}' -type d); do
-              (cd "$f" && (${pkgConfig.${key}.postInstall}))
-            done
-          ''
-        else
-          ""
-      ) (builtins.attrNames pkgConfig));
-      workspaceJSON = pkgs.writeText
-        "${name}-workspace-package.json"
-        (builtins.toJSON { private = true; workspaces = ["deps/**"]; }); # scoped packages need second splat
-      workspaceDependencyLinks = lib.concatMapStringsSep "\n"
-        (dep: ''
-          mkdir -p "deps/${dep.pname}"
-          ln -sf ${dep.packageJSON} "deps/${dep.pname}/package.json"
-        '')
-        workspaceDependencies;
-    in stdenv.mkDerivation {
-      inherit preBuild name;
-      phases = ["configurePhase" "buildPhase"];
-      buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
-
-      configurePhase = ''
-        # Yarn writes cache directories etc to $HOME.
-        export HOME=$PWD/yarn_home
-      '';
-
-      buildPhase = ''
-        runHook preBuild
-
-        mkdir -p "deps/${pname}"
-        cp ${packageJSON} "deps/${pname}/package.json"
-        cp ${workspaceJSON} ./package.json
-        cp ${yarnLock} ./yarn.lock
-        chmod +w ./yarn.lock
-
-        yarn config --offline set yarn-offline-mirror ${offlineCache}
-
-        # Do not look up in the registry, but in the offline cache.
-        # TODO: Ask upstream to fix this mess.
-        sed -i -E '/resolved /{s|https://registry.yarnpkg.com/||;s|[@/:-]|_|g}' yarn.lock
-
-        ${workspaceDependencyLinks}
-        yarn install ${lib.escapeShellArgs yarnFlags}
-
-        ${lib.concatStringsSep "\n" postInstall}
-
-        mkdir $out
-        mv node_modules $out/
-        mv deps $out/
-        patchShebangs $out
-      '';
-    };
-
-  # This can be used as a shellHook in mkYarnPackage. It brings the built node_modules into
-  # the shell-hook environment.
-  linkNodeModulesHook = ''
-    if [[ -d node_modules || -L node_modules ]]; then
-      echo "./node_modules is present. Replacing."
-      rm -rf node_modules
-    fi
-
-    ln -s "$node_modules" node_modules
-  '';
-
-  mkYarnWorkspace = {
-    src,
-    packageJSON ? src+"/package.json",
-    yarnLock ? src+"/yarn.lock",
-    packageOverrides ? {},
-    ...
-  }@attrs:
-  let
-    package = lib.importJSON packageJSON;
-    packageGlobs = package.workspaces;
-    globElemToRegex = lib.replaceStrings ["*"] [".*"];
-    # PathGlob -> [PathGlobElem]
-    splitGlob = lib.splitString "/";
-    # Path -> [PathGlobElem] -> [Path]
-    # Note: Only directories are included, everything else is filtered out
-    expandGlobList = base: globElems:
-    let
-      elemRegex = globElemToRegex (lib.head globElems);
-      rest = lib.tail globElems;
-      children = lib.attrNames (lib.filterAttrs (name: type: type == "directory") (builtins.readDir base));
-      matchingChildren = lib.filter (child: builtins.match elemRegex child != null) children;
-    in if globElems == []
-      then [ base ]
-      else lib.concatMap (child: expandGlobList (base+("/"+child)) rest) matchingChildren;
-    # Path -> PathGlob -> [Path]
-    expandGlob = base: glob: expandGlobList base (splitGlob glob);
-    packagePaths = lib.concatMap (expandGlob src) packageGlobs;
-    packages = lib.listToAttrs (map (src:
-    let
-      packageJSON = src+"/package.json";
-      package = lib.importJSON packageJSON;
-      allDependencies = lib.foldl (a: b: a // b) {} (map (field: lib.attrByPath [field] {} package) ["dependencies" "devDependencies"]);
-    in rec {
-      name = reformatPackageName package.name;
-      value = mkYarnPackage (builtins.removeAttrs attrs ["packageOverrides"] // {
-        inherit src packageJSON yarnLock;
-        workspaceDependencies = lib.mapAttrsToList (name: version: packages.${name})
-          (lib.filterAttrs (name: version: packages ? ${name}) allDependencies);
-      } // lib.attrByPath [name] {} packageOverrides);
-    }) packagePaths);
-  in packages;
-
-  mkYarnPackage = {
-    name ? null,
-    src,
-    packageJSON ? src + "/package.json",
-    yarnLock ? src + "/yarn.lock",
-    yarnNix ? mkYarnNix yarnLock,
-    yarnFlags ? defaultYarnFlags,
-    yarnPreBuild ? "",
-    pkgConfig ? {},
-    extraBuildInputs ? [],
-    publishBinsFor ? null,
-    workspaceDependencies ? [],
-    ...
-  }@attrs:
-    let
-      package = lib.importJSON packageJSON;
-      pname = package.name;
-      safeName = reformatPackageName pname;
-      version = package.version;
-      baseName = unlessNull name "${safeName}-${version}";
-      deps = mkYarnModules {
-        name = "${safeName}-modules-${version}";
-        preBuild = yarnPreBuild;
-        workspaceDependencies = workspaceDependenciesTransitive;
-        inherit packageJSON pname yarnLock yarnNix yarnFlags pkgConfig;
-      };
-      publishBinsFor_ = unlessNull publishBinsFor [pname];
-      linkDirFunction = ''
-        linkDirToDirLinks() {
-          target=$1
-          if [ ! -f "$target" ]; then
-            mkdir -p "$target"
-          elif [ -L "$target" ]; then
-            local new=$(mktemp -d)
-            trueSource=$(realpath "$target")
-            if [ "$(ls $trueSource | wc -l)" -gt 0 ]; then
-              ln -s $trueSource/* $new/
-            fi
-            rm -r "$target"
-            mv "$new" "$target"
-          fi
-        }
-      '';
-      workspaceDependenciesTransitive = lib.unique ((lib.flatten (builtins.map (dep: dep.workspaceDependencies) workspaceDependencies)) ++ workspaceDependencies);
-      workspaceDependencyCopy = lib.concatMapStringsSep "\n"
-        (dep: ''
-          # ensure any existing scope directory is not a symlink
-          linkDirToDirLinks "$(dirname node_modules/${dep.pname})"
-          mkdir -p "deps/${dep.pname}"
-          tar -xf "${dep}/tarballs/${dep.name}.tgz" --directory "deps/${dep.pname}" --strip-components=1
-          if [ ! -e "deps/${dep.pname}/node_modules" ]; then
-            ln -s "${deps}/deps/${dep.pname}/node_modules" "deps/${dep.pname}/node_modules"
-          fi
-        '')
-        workspaceDependenciesTransitive;
-    in stdenv.mkDerivation (builtins.removeAttrs attrs ["pkgConfig" "workspaceDependencies"] // {
-      inherit src;
-
-      name = baseName;
-
-      buildInputs = [ yarn nodejs ] ++ extraBuildInputs;
-
-      node_modules = deps + "/node_modules";
-
-      configurePhase = attrs.configurePhase or ''
-        runHook preConfigure
-
-        for localDir in npm-packages-offline-cache node_modules; do
-          if [[ -d $localDir || -L $localDir ]]; then
-            echo "$localDir dir present. Removing."
-            rm -rf $localDir
-          fi
-        done
-
-        mkdir -p "deps/${pname}"
-        shopt -s extglob
-        cp -r !(deps) "deps/${pname}"
-        shopt -u extglob
-        ln -s ${deps}/deps/${pname}/node_modules "deps/${pname}/node_modules"
-
-        cp -r $node_modules node_modules
-        chmod -R +w node_modules
-
-        ${linkDirFunction}
-        linkDirToDirLinks "$(dirname node_modules/${pname})"
-        ln -s "deps/${pname}" "node_modules/${pname}"
-        ${workspaceDependencyCopy}
-
-        # Help yarn commands run in other phases find the package
-        echo "--cwd deps/${pname}" > .yarnrc
-        runHook postConfigure
-      '';
-
-      # Replace this phase on frontend packages where only the generated
-      # files are an interesting output.
-      installPhase = attrs.installPhase or ''
-        runHook preInstall
-
-        mkdir -p $out/{bin,libexec/${pname}}
-        mv node_modules $out/libexec/${pname}/node_modules
-        mv deps $out/libexec/${pname}/deps
-        node ${./nix/fixup_bin.js} $out/bin $out/libexec/${pname}/node_modules ${lib.concatStringsSep " " publishBinsFor_}
-
-        runHook postInstall
-      '';
-
-      doDist = true;
-      distPhase = attrs.distPhase or ''
-        # pack command ignores cwd option
-        rm -f .yarnrc
-        cd $out/libexec/${pname}/deps/${pname}
-        mkdir -p $out/tarballs/
-        yarn pack --ignore-scripts --filename $out/tarballs/${baseName}.tgz
-      '';
-
-      passthru = {
-        inherit pname package packageJSON deps;
-        workspaceDependencies = workspaceDependenciesTransitive;
-      } // (attrs.passthru or {});
-
-      meta = {
-        inherit (nodejs.meta) platforms;
-        description = packageJSON.description or "";
-        homepage = packageJSON.homepage or "";
-        version = packageJSON.version or "";
-        license = if packageJSON ? license then spdxLicense packageJSON.license else "";
-      } // (attrs.meta or {});
-    });
-
-  yarn2nix = mkYarnPackage {
-    src = ./.;
-    # yarn2nix is the only package that requires the yarnNix option.
-    # All the other projects can auto-generate that file.
-    yarnNix = ./yarn.nix;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index ab84ee6ec0fe..96eef843d5b9 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
index 94c02ab0226a..27b8aaf887a3 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -6,7 +6,7 @@ at-spi2-atk, libuuid, nodePackages
 
 let
 
-  version = "4.0.1";
+  version = "4.0.2";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -51,7 +51,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "1g7c8jka750pblsfzjvfyf7sp1m409kybqagml9miif1v71scxv2";
+        sha256 = "053j5py16ilpwy868rhh5l2g93xj1fq4fwxrsi2bkfsnmq261hkm";
       }
     else
       throw "Slack is not supported on ${stdenv.hostPlatform.system}";
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/cutegram/default.nix
deleted file mode 100644
index 77a8d57f8b6f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/libqtelegram-aseman-edition/default.nix
deleted file mode 100644
index 49368da708e9..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 4f9bbe021d18..3d88e50221d6 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/nixpkgs/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
 }:
@@ -7,15 +7,17 @@
 with lib;
 
 mkDerivation rec {
-  name = "telegram-desktop-${version}";
-  version = "1.8.0";
+  pname = "telegram-desktop";
+  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/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix
deleted file mode 100644
index c0b1de893c73..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/telegram/telegram-qml/default.nix
deleted file mode 100644
index 0efa7bee1d0b..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index 10b7eb7d439f..36bd10781dc5 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -18,13 +18,13 @@ let
   pname = "wire-desktop";
 
   version = {
-    "x86_64-linux" = "3.9.2895";
-    "x86_64-darwin" = "3.9.2943";
+    "x86_64-linux" = "3.10.2904";
+    "x86_64-darwin" = "3.10.3133";
   }.${system} or throwSystem;
 
   sha256 = {
-    "x86_64-linux" = "0wrn95m64j4b7ym44h9zawq13kg4m12aixlyyzp56bfyczmjq4a5";
-    "x86_64-darwin" = "1y1bzsjmjrj518q29xfx6gg1nhdbaz7y5hzaqrp241az6plp090k";
+    "x86_64-linux" = "1vrz4568mlhylx17jw4z452f0vrd8yd8qkbpkcvnsbhs6k066xcn";
+    "x86_64-darwin" = "0d8g9fl3yciqp3aic374rzcywb5d5yipgni992khsfdfqhcvm3x9";
   }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 8aa732fd6ba7..5ce59adb2aeb 100644
--- a/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/nixpkgs/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -14,11 +14,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
 let
   inherit (stdenv.lib) concatStringsSep makeBinPath optional;
 
-  version = "2.9.265650.0716";
+  version = "3.0.285090.0826";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
-      sha256 = "1wg5yw8g0c6p9y0wcqxr1rndgclasg7v1ybbx8s1a2p98izjkcaa";
+      sha256 = "0brpb5i1lc1hwal0c5n2zh27wxrm4gfbqc6bm2dgwnck04y8i4c5";
     };
   };
 
diff --git a/nixpkgs/pkgs/applications/networking/irc/irccloud/default.nix b/nixpkgs/pkgs/applications/networking/irc/irccloud/default.nix
new file mode 100644
index 000000000000..5648d027d9e2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/irc/irccloud/default.nix
@@ -0,0 +1,38 @@
+{ appimageTools, fetchurl, lib }:
+
+let
+  pname = "irccloud";
+  version = "0.13.0";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/irccloud/irccloud-desktop/releases/download/v${version}/IRCCloud-${version}-linux-x86_64.AppImage";
+    sha256 = "0ff69m5jav2c90918avsr5wvik2gds3klij3dzhkb352fgrd1s0l";
+  };
+
+  appimageContents = appimageTools.extractType2 {
+    inherit name src;
+  };
+
+in appimageTools.wrapType2 rec {
+  inherit name src;
+
+  extraPkgs = pkgs: with pkgs; [ at-spi2-core ];
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+    install -m 444 -D ${appimageContents}/irccloud.desktop $out/share/applications/irccloud.desktop
+    install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/irccloud.png \
+      $out/share/icons/hicolor/512x512/apps/irccloud.png
+    substituteInPlace $out/share/applications/irccloud.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+  '';
+
+  meta = with lib; {
+    description = "A desktop client for IRCCloud";
+    homepage = "https://www.irccloud.com";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ lightbulbjim ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
index 2016b912ab67..2b48e7ee3ff9 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/default.nix
@@ -10,7 +10,7 @@
   };
 
   weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
-    inherit (luaPackages) cjson;
+    inherit (luaPackages) cjson luaffi;
   };
 
   wee-slack = callPackage ./wee-slack {
diff --git a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix
index 233fe418df3a..ea5052f37a3f 100644
--- a/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix
+++ b/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix
@@ -31,9 +31,9 @@ stdenv.mkDerivation {
     mkdir -p $out/{share,lib}
 
     cp {matrix.lua,olm.lua} $out/share
-    cp ${cjson}/lib/lua/5.2/cjson.so $out/lib/cjson.so
+    cp ${cjson}/lib/lua/${cjson.lua.luaversion}/cjson.so $out/lib/cjson.so
     cp ${olm}/lib/libolm.so $out/lib/libolm.so
-    cp ${luaffi}/lib/ffi.so $out/lib/ffi.so
+    cp ${luaffi}/lib/lua/${luaffi.lua.luaversion}/ffi.so $out/lib/ffi.so
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/alpine/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/alpine/default.nix
index bb62014c77a4..17a3b92e2f97 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/alpine/default.nix
+++ b/nixpkgs/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 {
   name = "alpine-${version}";
   version = "2.21";
diff --git a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
index e2b56f3b8afd..90c8590d52d1 100644
--- a/nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
+++ b/nixpkgs/pkgs/applications/networking/mailreaders/notmuch-bower/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "notmuch-bower-${version}";
-  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/nixpkgs/pkgs/applications/networking/mailreaders/realpine/default.nix b/nixpkgs/pkgs/applications/networking/mailreaders/realpine/default.nix
deleted file mode 100644
index f53c5d61050a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/networking/modem-manager-gui/default.nix b/nixpkgs/pkgs/applications/networking/modem-manager-gui/default.nix
index d31f98ef4ba6..6dcc35f44d33 100644
--- a/nixpkgs/pkgs/applications/networking/modem-manager-gui/default.nix
+++ b/nixpkgs/pkgs/applications/networking/modem-manager-gui/default.nix
@@ -1,7 +1,22 @@
-{ stdenv, pkgconfig, python3, fetchhg, gtk3, glib, gdbm, gtkspell3, itstool, libappindicator-gtk3, perlPackages, glibcLocales, meson, ninja }:
+{ stdenv
+, pkgconfig
+, python3
+, fetchhg
+, gtk3
+, glib
+, gdbm
+, gtkspell3
+, ofono
+, itstool
+, libappindicator-gtk3
+, perlPackages
+, glibcLocales
+, meson
+, ninja
+}:
 
 stdenv.mkDerivation rec {
-  name = "modem-manager-gui-${version}";
+  pname = "modem-manager-gui";
   version = "0.0.19.1";
 
   src = fetchhg {
@@ -10,14 +25,11 @@ stdenv.mkDerivation rec {
     sha256 = "11iibh36567814h2bz41sa1072b86p1l13xyj670pwkh9k8kw8fd";
   };
 
-  LC_ALL = "en_US.utf-8";
-
   nativeBuildInputs = [
     pkgconfig
     python3
     perlPackages.Po4a
     itstool
-    glibcLocales
     meson
     ninja
   ];
@@ -27,6 +39,7 @@ stdenv.mkDerivation rec {
     glib
     gdbm
     gtkspell3
+    ofono
     libappindicator-gtk3
   ];
 
diff --git a/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix b/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix
index 9ee16298ef1c..b0786d742db7 100644
--- a/nixpkgs/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/mumble/overlay.nix b/nixpkgs/pkgs/applications/networking/mumble/overlay.nix
index 185672a21f8c..babb3812bb92 100644
--- a/nixpkgs/pkgs/applications/networking/mumble/overlay.nix
+++ b/nixpkgs/pkgs/applications/networking/mumble/overlay.nix
@@ -12,10 +12,10 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/lib
-    ln -s ${mumble}/lib/libmumble.so.1.* $out/lib/libmumble.so.1
+    ln -s ${mumble}/lib/libmumble.so.1.2.* $out/lib/libmumble.so.1
     ${lib.optionalString (mumble_i686 != null) ''
       mkdir -p $out/lib32
-      ln -s ${mumble_i686}/lib/libmumble.so.1.* $out/lib32/libmumble.so.1
+      ln -s ${mumble_i686}/lib/libmumble.so.1.2.* $out/lib32/libmumble.so.1
     ''}
     install -Dm755 scripts/mumble-overlay $out/bin/mumble-overlay
     sed -i "s,/usr/lib,$out/lib,g" $out/bin/mumble-overlay
diff --git a/nixpkgs/pkgs/applications/networking/ndppd/default.nix b/nixpkgs/pkgs/applications/networking/ndppd/default.nix
index 44355c2c181d..6d7a8bd6c430 100644
--- a/nixpkgs/pkgs/applications/networking/ndppd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch b/nixpkgs/pkgs/applications/networking/nextcloud-client/0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
new file mode 100644
index 000000000000..ab7cb9bffa45
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix b/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
index 37eb248fb486..6f7f47bdcfa0 100644
--- a/nixpkgs/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/nixpkgs/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 {
-  name = "nextcloud-client-${version}";
-  version = "2.5.2";
+mkDerivation rec {
+  pname = "nextcloud-client";
+  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/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix b/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
index 715d8e13ec30..eaa6b07c8fae 100644
--- a/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
+++ b/nixpkgs/pkgs/applications/networking/p2p/gnunet/default.nix
@@ -1,20 +1,24 @@
 { stdenv, fetchurl, adns, curl, gettext, gmp, gnutls, libextractor
 , libgcrypt, libgnurl, libidn, libmicrohttpd, libtool, libunistring
 , makeWrapper, ncurses, pkgconfig, libxml2, sqlite, zlib
-, libpulseaudio, libopus, libogg }:
+, libpulseaudio, libopus, libogg, jansson }:
 
 stdenv.mkDerivation rec {
-  name = "gnunet-0.11.0";
+  pname = "gnunet";
+  version = "0.11.6";
 
   src = fetchurl {
-    url = "mirror://gnu/gnunet/${name}.tar.gz";
-    sha256 = "16kydkrjlf2vxflgls46bwaf9kjczf621p456q0qlphd7cy7lixp";
+    url = "mirror://gnu/gnunet/${pname}-${version}.tar.gz";
+    sha256 = "1gspr1lh885sb9r2anh7bi4zan3zjqx33lpyhq9hm2g0n5ip187q";
   };
 
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ pkgconfig libtool makeWrapper ];
   buildInputs = [
-    adns curl gettext gmp gnutls libextractor libgcrypt libgnurl libidn
-    libmicrohttpd libtool libunistring libxml2 makeWrapper ncurses
-    pkgconfig sqlite zlib libpulseaudio libopus libogg
+    adns curl gmp gnutls libextractor libgcrypt libgnurl libidn
+    libmicrohttpd libunistring libxml2 ncurses gettext
+    sqlite zlib libpulseaudio libopus libogg jansson
   ];
 
   preConfigure = ''
@@ -29,26 +33,18 @@ stdenv.mkDerivation rec {
     find . \( -iname \*test\*.c -or -name \*.conf \) | \
       xargs sed -ie "s|/tmp|$TMPDIR|g"
 
-    # Ensure NSS installation works fine
-    configureFlags="$configureFlags --with-nssdir=$out/lib"
-    patchShebangs src/gns/nss/install-nss-plugin.sh
-
     sed -ie 's|@LDFLAGS@|@LDFLAGS@ $(Z_LIBS)|g' \
       src/regex/Makefile.in \
       src/fs/Makefile.in
   '';
 
+  # unfortunately, there's still a few failures with impure tests
   doCheck = false;
-
-  /* FIXME: Tests must be run this way, but there are still a couple of
-     failures.
-
-  postInstall =
-    '' export GNUNET_PREFIX="$out"
-       export PATH="$out/bin:$PATH"
-       make -k check
-    '';
-  */
+  checkPhase = ''
+    export GNUNET_PREFIX="$out"
+    export PATH="$out/bin:$PATH"
+    make -k check
+  '';
 
   meta = with stdenv.lib; {
     description = "GNU's decentralized anonymous and censorship-resistant P2P framework";
@@ -69,9 +65,7 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = https://gnunet.org/;
-
     license = licenses.gpl2Plus;
-
     maintainers = with maintainers; [ vrthra ];
     platforms = platforms.gnu ++ platforms.linux;
   };
diff --git a/nixpkgs/pkgs/applications/networking/p2p/magnetico/default.nix b/nixpkgs/pkgs/applications/networking/p2p/magnetico/default.nix
new file mode 100644
index 000000000000..1c266d247b7c
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/p2p/magnetico/default.nix
@@ -0,0 +1,33 @@
+{ lib, fetchFromGitHub, buildGoModule, go-bindata }:
+
+buildGoModule rec {
+  pname = "magnetico";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner  = "boramalper";
+    repo   = "magnetico";
+    rev    = "v${version}";
+    sha256 = "1f7y3z9ql079ix6ycihkmd3z3da3sfiqw2fap31pbvvjs65sg644";
+  };
+
+  modSha256 = "1h9fij8mxlxfw7kxix00n10fkhkvmf8529fxbk1n30cxc1bs2szf";
+
+  buildInputs = [ go-bindata ];
+  buildPhase = ''
+    make magneticow magneticod
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    make test
+  '';
+
+  meta = with lib; {
+    description  = "Autonomous (self-hosted) BitTorrent DHT search engine suite.";
+    homepage     = https://github.com/boramalper/magnetico;
+    license      = licenses.agpl3;
+    badPlatforms = platforms.darwin;
+    maintainers  = with maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/p2p/stig/default.nix b/nixpkgs/pkgs/applications/networking/p2p/stig/default.nix
new file mode 100644
index 000000000000..80b8251f2a3f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/p2p/stig/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "stig";
+  # This project has a different concept for pre release / alpha,
+  # Read the project's README for details: https://github.com/rndusr/stig#stig
+  version = "0.10.1a";
+
+  src = fetchFromGitHub {
+    owner = "rndusr";
+    repo = "stig";
+    rev = "v${version}";
+    sha256 = "076rlial6h1nhwdxf1mx5nf2zld5ci43cadj9wf8xms7zn8s6c8v";
+  };
+
+  # urwidtrees 1.0.3 is requested by the developer because 1.0.2 (which is packaged
+  # in nixpkgs) is not uploaded to pypi and 1.0.1 has a problematic `setup.py`.
+  # As long as we don't have any problems installing it, no special features / specific bugs
+  # were fixed in 1.0.3 that aren't available in 1.0.2 are used by stig.
+  # See https://github.com/rndusr/stig/issues/120
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "urwidtrees>=1.0.3dev0" "urwidtrees"
+  '';
+
+  buildInputs = with python3.pkgs; [
+    urwid
+    urwidtrees
+    aiohttp
+    async-timeout
+    pyxdg
+    blinker
+    natsort
+    maxminddb
+    setproctitle
+  ];
+
+  checkInputs = with python3.pkgs; [
+    asynctest
+    pytest
+  ];
+
+  checkPhase = ''
+    pytest tests
+  '';
+
+  meta = with lib; {
+    description = "TUI and CLI for the BitTorrent client Transmission";
+    homepage = "https://github.com/rndusr/stig";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ doronbehar ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/remote/ssvnc/default.nix b/nixpkgs/pkgs/applications/networking/remote/ssvnc/default.nix
deleted file mode 100644
index 99835627f879..000000000000
--- a/nixpkgs/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 {
-  name = "ssvnc-${version}";
-  version = "1.0.29";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/ssvnc/${name}.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/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix b/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix
index 949c85bf9427..9227cad52496 100644
--- a/nixpkgs/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/nixpkgs/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, libXext, libXdamage, libXtst, libSM, libXfixes
+, wrapQtAppsHook
+}:
 
-
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "teamviewer-${version}";
-  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,18 @@ 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 ]}"
+    wrapProgram $out/share/teamviewer/tv_bin/TeamViewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
+    wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes ]}"
+
+    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/nixpkgs/pkgs/applications/networking/seafile-client/default.nix b/nixpkgs/pkgs/applications/networking/seafile-client/default.nix
index 543afc696ea0..e93410d2669c 100644
--- a/nixpkgs/pkgs/applications/networking/seafile-client/default.nix
+++ b/nixpkgs/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";
   name = "seafile-client-${version}";
 
@@ -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/nixpkgs/pkgs/applications/networking/sniffers/ettercap/default.nix b/nixpkgs/pkgs/applications/networking/sniffers/ettercap/default.nix
index 13d536ccf1bb..10c8c4235e54 100644
--- a/nixpkgs/pkgs/applications/networking/sniffers/ettercap/default.nix
+++ b/nixpkgs/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 {
   name = "ettercap-${version}";
-  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/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix b/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
index 643e421625f2..aa965a0c8683 100644
--- a/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
 , gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, python3, libcap, glib
-, libssh, nghttp2, zlib, cmake, extra-cmake-modules, fetchpatch, makeWrapper
+, libssh, nghttp2, zlib, cmake, fetchpatch, makeWrapper
 , withQt ? true, qt5 ? null
 , ApplicationServices, SystemConfiguration, gmp
 }:
@@ -29,7 +29,7 @@ in stdenv.mkDerivation {
   ];
 
   nativeBuildInputs = [
-    bison cmake extra-cmake-modules flex pkgconfig
+    bison cmake flex pkgconfig
   ] ++ optional withQt qt5.wrapQtAppsHook;
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix b/nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix
index 40026275a1e3..8d6d5e2a4f94 100644
--- a/nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix
+++ b/nixpkgs/pkgs/applications/networking/ssb/patchwork/default.nix
@@ -1,13 +1,13 @@
 { appimageTools, symlinkJoin, lib, fetchurl, makeDesktopItem }:
 
 let
-  pname = "patchwork";
-  version = "3.14.1";
+  pname = "ssb-patchwork";
+  version = "3.16.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/ssb-${pname}-${version}-x86_64.AppImage";
-    sha256 = "01vsldabv9nmbx8kzlgw275zykm72s1dxglnaq4jz5vbysbyn0qd";
+    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
+    sha256 = "0hi9ysmwhiiww82a3mqdd2b1anj7qa41b46f6zb3q9d0b8nmvlz4";
   };
 
   binary = appimageTools.wrapType2 {
@@ -20,8 +20,8 @@ let
   };
 
   desktopItem = makeDesktopItem {
-    name = "patchwork";
-    exec = "${binary}/bin/patchwork";
+    name = "ssb-patchwork";
+    exec = "${binary}/bin/ssb-patchwork";
     icon = "ssb-patchwork.png";
     comment = "Decentralized messaging and sharing app";
     desktopName = "Patchwork";
diff --git a/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix b/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
index 13d55bcf476d..ce6765665774 100644
--- a/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
+++ b/nixpkgs/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "rclone";
-  version = "1.48.0";
+  version = "1.49.0";
 
   src = fetchFromGitHub {
-    owner = "ncw";
+    owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wxsn3ynkwh2np12sxdmy435nclg2ry7cw26brz11xc0ri4x9azg";
+    sha256 = "13xzz6nl4863dyn9w1qczap77bbiwzp4znbifa9hg91qys0nj5ga";
   };
 
-  modSha256 = "0bbpny7xcwsvhmdypgbbr0gqc5pa40m71qhbps6k0v09rsgqhpn3";
+  modSha256 = "158mpmy8q67dk1ks9p926n1670gsk7rhd0vpjh44f4g64ddnhk03";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile
new file mode 100644
index 000000000000..e519efbf5701
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile
@@ -0,0 +1,5 @@
+# frozen_string_literal: true
+
+source 'https://rubygems.org' do
+  gem 'wayback_machine_downloader'
+end
diff --git a/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock
new file mode 100644
index 000000000000..86e064347b65
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock
@@ -0,0 +1,13 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    wayback_machine_downloader (2.2.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  wayback_machine_downloader!
+
+BUNDLED WITH
+   1.17.2
diff --git a/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/default.nix b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/default.nix
new file mode 100644
index 000000000000..49471ebf7e39
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/default.nix
@@ -0,0 +1,16 @@
+{ lib, bundlerApp, bundlerUpdateScript }:
+bundlerApp {
+  pname = "wayback_machine_downloader";
+  exes = [ "wayback_machine_downloader" ];
+  gemdir = ./.;
+
+  passthru.updateScript = bundlerUpdateScript "wayback_machine_downloader";
+
+  meta = with lib; {
+    description = "Download websites from the Internet Archive Wayback Machine";
+    homepage = "https://github.com/hartator/wayback-machine-downloader";
+    license = licenses.mit;
+    maintainers = [ maintainers.manveru ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/gemset.nix b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/gemset.nix
new file mode 100644
index 000000000000..615570f1f09f
--- /dev/null
+++ b/nixpkgs/pkgs/applications/networking/wayback_machine_downloader/gemset.nix
@@ -0,0 +1,12 @@
+{
+  wayback_machine_downloader = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12kb1qmvmmsaihqab1prn6cmynkn6cgb4vf41mgv22wkcgv5wgk2";
+      type = "gem";
+    };
+    version = "2.2.1";
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/applications/office/jameica/default.nix b/nixpkgs/pkgs/applications/office/jameica/default.nix
index 61cc3ea78f05..7b4feed1733a 100644
--- a/nixpkgs/pkgs/applications/office/jameica/default.nix
+++ b/nixpkgs/pkgs/applications/office/jameica/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
 
 let
-  _version = "2.8.2";
-  _build = "450";
+  _version = "2.8.4";
+  _build = "453";
   version = "${_version}-${_build}";
   name = "jameica-${version}";
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "willuhn";
     repo = "jameica";
     rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}";
-    sha256 = "197n35lvx51k6cbp3fhndvfb38sikl4mjqcd42fgvn2khy2sij68";
+    sha256 = "1imm3wpdrgh2sr2wh9vgaf2mp1ixs845vgzk5ib82mak7lg9m1zl";
   };
 
   # there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries
diff --git a/nixpkgs/pkgs/applications/office/qownnotes/default.nix b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
index 02fbf92acbbb..ab32ebc67a7f 100644
--- a/nixpkgs/pkgs/applications/office/qownnotes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/office/vnote/default.nix b/nixpkgs/pkgs/applications/office/vnote/default.nix
index b02bf5058740..fbb8436f44c0 100644
--- a/nixpkgs/pkgs/applications/office/vnote/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/office/zotero/default.nix b/nixpkgs/pkgs/applications/office/zotero/default.nix
index 3d4f98ddd44f..f4c5e604ec49 100644
--- a/nixpkgs/pkgs/applications/office/zotero/default.nix
+++ b/nixpkgs/pkgs/applications/office/zotero/default.nix
@@ -34,11 +34,11 @@
 
 stdenv.mkDerivation rec {
   name    = "zotero-${version}";
-  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/nixpkgs/pkgs/applications/radio/sdrangel/default.nix b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
new file mode 100644
index 000000000000..346c6aeed8e3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/radio/sdrangel/default.nix
@@ -0,0 +1,76 @@
+{
+airspy,
+boost,
+cm256cc,
+cmake,
+codec2,
+fetchFromGitHub,
+fftwFloat,
+glew,
+hackrf,
+lib,
+libav,
+libiio,
+libopus,
+libpulseaudio,
+libusb,
+limesuite,
+mkDerivation,
+ocl-icd,
+opencv3,
+pkgconfig,
+qtbase,
+qtmultimedia,
+qtwebsockets,
+rtl-sdr,
+serialdv
+}:
+
+let
+
+  codec2' = codec2.overrideAttrs (old: {
+    src = fetchFromGitHub {
+      owner = "drowe67";
+      repo = "codec2";
+      rev = "567346818c0d4d697773cf66d925fdb031e15668";
+      sha256 = "0ngqlh2cw5grx2lg7xj8baz6p55gfhq4caggxkb4pxlg817pwbpa";
+    };
+  });
+
+in mkDerivation rec {
+  pname = "sdrangel";
+  version = "4.11.7";
+
+  src = fetchFromGitHub {
+    owner = "f4exb";
+    repo = "sdrangel";
+    rev = "v${version}";
+    sha256 = "0zbx0gklylk8npb3wnnmqpam0pdxl40f20i3wzwwh4gqrppxywzx";
+    fetchSubmodules = false;
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [
+    glew opencv3 libusb boost libopus limesuite libav libiio libpulseaudio
+    qtbase qtwebsockets qtmultimedia rtl-sdr airspy hackrf
+    fftwFloat codec2' cm256cc serialdv
+  ];
+  cmakeFlags = [
+    "-DLIBSERIALDV_INCLUDE_DIR:PATH=${serialdv}/include/serialdv"
+    "-DLIMESUITE_INCLUDE_DIR:PATH=${limesuite}/include"
+    "-DLIMESUITE_LIBRARY:FILEPATH=${limesuite}/lib/libLimeSuite.so"
+  ];
+
+  LD_LIBRARY_PATH = "${ocl-icd}/lib";
+
+  meta = with lib; {
+    description = "Software defined radio (SDR) software";
+    longDescription = ''
+        SDRangel is an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
+    '';
+    homepage = "https://github.com/f4exb/sdrangel";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ alkeryn ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/radio/wsjtx/default.nix b/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
index 212f93fb093d..36d3f14818f0 100644
--- a/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
+++ b/nixpkgs/pkgs/applications/radio/wsjtx/default.nix
@@ -1,9 +1,9 @@
 { 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 {
-  name = "wsjtx-${version}";
+  pname = "wsjtx";
   version = "2.1.0";
 
   # This is a "superbuild" tarball containing both wsjtx and a hamlib fork
@@ -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/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
index 70c72779c52a..e6a5ab741d94 100644
--- a/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/nixpkgs/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "picard-tools-${version}";
-  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/nixpkgs/pkgs/applications/science/biology/sortmerna/default.nix b/nixpkgs/pkgs/applications/science/biology/sortmerna/default.nix
new file mode 100644
index 000000000000..4adce4461ede
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/biology/sortmerna/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, cmake, rocksdb, rapidjson, pkgconfig, fetchFromGitHub, fetchpatch, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "sortmerna";
+  version = "3.0.3";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "biocore";
+    rev = "v${version}";
+    sha256 = "0zx5fbzyr8wdr0zwphp8hhcn1xz43s5lg2ag4py5sv0pv5l1jh76";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "CMakeInstallPrefix.patch";
+      url = "https://github.com/biocore/sortmerna/commit/4d36d620a3207e26cf3f588d4ec39889ea21eb79.patch";
+      sha256 = "0hc3jwdr6ylbyigg52q8islqc0mb1k8rrjadvjfqaxnili099apd";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake rapidjson pkgconfig ];
+  buildInputs = [ zlib rocksdb rapidjson ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DROCKSDB_HOME=${rocksdb}"
+    "-DRAPIDJSON_HOME=${rapidjson}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Tools for filtering, mapping, and OTU-picking from shotgun genomics data";
+    license = licenses.lgpl3;
+    platforms = platforms.x86_64;
+    homepage = https://bioinfo.lifl.fr/RNA/sortmerna/;
+    maintainers = with maintainers; [ luispedro ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/logic/stp/default.nix b/nixpkgs/pkgs/applications/science/logic/stp/default.nix
index 081dc788163b..0ea659d1927f 100644
--- a/nixpkgs/pkgs/applications/science/logic/stp/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/stp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, cmake, boost, bison, flex, fetchFromGitHub, perl, python3, python3Packages, zlib, minisatUnstable, cryptominisat }:
 
 stdenv.mkDerivation rec {
-  version = "2.2.0";
-  name = "stp-${version}";
+  pname = "stp";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "stp";
     repo = "stp";
-    rev    = "stp-${version}";
-    sha256 = "1jh23wjm62nnqfx447g2y53bbangq04hjrvqc35v9xxpcjgj3i49";
+    rev    = version;
+    sha256 = "1yg2v4wmswh1sigk47drwsxyayr472mf4i47lqmlcgn9hhbx1q87";
   };
 
   buildInputs = [ boost zlib minisatUnstable cryptominisat python3 ];
@@ -23,9 +23,8 @@ stdenv.mkDerivation rec {
     )
   '';
 
-  # `make -f lib/Interface/CMakeFiles/cppinterface.dir/build.make lib/Interface/CMakeFiles/cppinterface.dir/cpp_interface.cpp.o`:
-  # include/stp/AST/UsefulDefs.h:41:29: fatal error: stp/AST/ASTKind.h: No such file or directory
-  enableParallelBuilding = false;
+  # seems to build fine now, may revert if concurrency does become an issue
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "Simple Theorem Prover";
diff --git a/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix b/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix
index 064ad204aff8..58674a4cacf2 100644
--- a/nixpkgs/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/science/logic/vampire/default.nix b/nixpkgs/pkgs/applications/science/logic/vampire/default.nix
index 08ab243fb96a..42963fe5f9c6 100644
--- a/nixpkgs/pkgs/applications/science/logic/vampire/default.nix
+++ b/nixpkgs/pkgs/applications/science/logic/vampire/default.nix
@@ -1,19 +1,16 @@
-{ stdenv, fetchFromGitHub, fetchpatch, z3, zlib, git }:
+{ stdenv, fetchFromGitHub, fetchpatch, z3, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "4.2.2";
-  name = "vampire-${version}";
+  pname = "vampire";
+  version = "4.4";
 
   src = fetchFromGitHub {
     owner = "vprover";
     repo = "vampire";
     rev = version;
-    sha256 = "03dqjxr3cwz4h6sn9074kc6b6wjz12kpsvsi0mq2w0j5l9f8d80y";
-    #fetchSubmodules = true;
-    #leaveDotGit = true;
+    sha256 = "0v2fdfnk7l5xr5c4y54r25g1nbp4vi85zv29nbklh3r7aws3w9q1";
   };
 
-  nativeBuildInputs = [ git ];
   buildInputs = [ z3 zlib ];
 
   makeFlags = [ "vampire_z3_rel" "CC:=$(CC)" "CXX:=$(CXX)" ];
diff --git a/nixpkgs/pkgs/applications/science/misc/tulip/default.nix b/nixpkgs/pkgs/applications/science/misc/tulip/default.nix
index 7db2e6a12c20..1f644ad0f20f 100644
--- a/nixpkgs/pkgs/applications/science/misc/tulip/default.nix
+++ b/nixpkgs/pkgs/applications/science/misc/tulip/default.nix
@@ -1,13 +1,13 @@
 { 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 {
   name = "tulip-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/auber/${name}_src.tar.gz";
-    sha256 = "1i70y8b39gkpxfalr9844pa3l4bnnyw5y7ngxdqibil96k2b9q9h";
+    sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky";
   };
 
   buildInputs = [ libxml2 freetype glew libGLU_combined qt4 libjpeg python ];
diff --git a/nixpkgs/pkgs/applications/science/robotics/sumorobot-manager/default.nix b/nixpkgs/pkgs/applications/science/robotics/sumorobot-manager/default.nix
new file mode 100644
index 000000000000..68b91dafb736
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/robotics/sumorobot-manager/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, python3, qt5, fetchFromGitHub, wrapPython, pyqt5, pyserial }:
+ 
+stdenv.mkDerivation rec {
+  pname = "sumorobot-manager";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "robokoding";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "03zhb54c259a66hsahmv2ajbzwcjnfjj050wbjhw51zqzxinlgqr";
+  };
+
+  buildInputs = [ python3 ];
+  pythonPath = [
+    pyqt5 pyserial
+  ];
+
+  nativeBuildInputs = [ wrapPython qt5.wrapQtAppsHook ];
+
+  buildPhase = "true";
+
+  installPhase = ''
+    mkdir -p $out/opt/sumorobot-manager
+    cp -r main.py lib res $out/opt/sumorobot-manager
+    chmod -R 644 $out/opt/sumorobot-manager/lib/*
+    mkdir $out/bin
+    makeQtWrapper $out/opt/sumorobot-manager/main.py $out/bin/sumorobot-manager \
+      --run "cd $out/opt/sumorobot-manager"
+  '';
+
+  preFixup = ''
+    patchShebangs $out/opt/sumorobot-manager/main.py
+    wrapPythonProgramsIn "$out/opt" "$pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Desktop App for managing SumoRobots";
+    homepage = "https://www.robokoding.com/kits/sumorobot/sumomanager/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/bcompare/default.nix b/nixpkgs/pkgs/applications/version-management/bcompare/default.nix
new file mode 100644
index 000000000000..3dc7792de2ae
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/bcompare/default.nix
@@ -0,0 +1,66 @@
+{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qt511, qtbase, stdenv, runtimeShell }:
+
+stdenv.mkDerivation rec {
+  pname = "bcompare";
+  version = "4.2.10.23938";
+
+  src = fetchurl {
+    url = "https://www.scootersoftware.com/${pname}-${version}_amd64.deb";
+    sha256 = "1825s1lbaj20d712czmaaqg7mkwfb650r53af2y30j29p6yd4wal";
+  };
+
+  unpackPhase = ''
+    ar x $src
+    tar xfz data.tar.gz
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/lib $out/share
+    cp -R usr/share $out/
+    cp -R usr/lib $out/
+    cp -R usr/bin $out/
+
+    # Remove library that refuses to be autoPatchelf'ed
+    rm $out/lib/beyondcompare/ext/bcompare_ext_kde.amd64.so
+
+    substituteInPlace $out/bin/bcompare \
+      --replace "/usr/lib/beyondcompare" "$out/lib/beyondcompare" \
+      --replace "/bin/bash" "${runtimeShell}"
+
+    # Create symlink bzip2 library
+    ln -s ${bzip2.out}/lib/libbz2.so.1 $out/lib/beyondcompare/libbz2.so.1.0
+  '';
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    gtk2
+    gnome2.pango
+    cairo
+    kio
+    kservice
+    ki18n
+    kcoreaddons
+    gdk-pixbuf
+    qt4
+    bzip2
+  ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  meta = with stdenv.lib; {
+    description = "GUI application that allows to quickly and easily compare files and folders";
+    longDescription = ''
+      Beyond Compare is focused. Beyond Compare allows you to quickly and easily compare your files and folders.
+      By using simple, powerful commands you can focus on the differences you're interested in and ignore those you're not.
+      You can then merge the changes, synchronize your files, and generate reports for your records.
+    '';
+    homepage = "https://www.scootersoftware.com";
+    license = licenses.unfree;
+    maintainers = [ maintainers.ktor ];
+    platforms = [ "x86_64-linux" ];
+  };
+
+}
diff --git a/nixpkgs/pkgs/applications/version-management/blackbox/default.nix b/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
index 569606d2fdb6..5bcc3f991a1c 100644
--- a/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/blackbox/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "1.20170611";
+  version = "1.20181219";
   pname   = "blackbox";
   name    = "${pname}-${version}";
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner  = "stackexchange";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1jnzhlj54c0szw9l9wib07i2375pbm402bx9wagspcmwc0qw43p6";
+    sha256 = "1lpwwwc3rf992vdf3iy1ds07n1xkmad065im2bqzc6kdsbkn7rjx";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
index c7d77bf34981..e64254ed29f1 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/default.nix
@@ -121,6 +121,8 @@ let
 
   git-stree = callPackage ./git-stree { };
 
+  git-subrepo = callPackage ./git-subrepo { };
+
   git-sync = callPackage ./git-sync { };
 
   git-test = callPackage ./git-test { };
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index 1af2170e1699..599c6bb4308e 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/git-dit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
index 7385905cc9d9..90b8b54434bd 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
new file mode 100644
index 000000000000..24a1e1ac937e
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, git, makeWrapper, which }:
+
+stdenv.mkDerivation rec {
+  pname = "git-subrepo";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "ingydotnet";
+    repo = "git-subrepo";
+    rev = version;
+    sha256 = "05m2dm9gq2nggwnxxdyq2kjj584sn2lxk66pr1qhjxnk81awj9l7";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    which
+  ];
+
+  buildInputs = [
+    git
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+    "INSTALL_LIB=${placeholder ''out''}/bin"
+    "INSTALL_MAN=${placeholder ''out''}/share/man/man1"
+  ];
+
+  patches = [
+    # Allow zsh completion to work even though we aren't installing from a git
+    # clone.  Also submitted upstream as
+    # https://github.com/ingydotnet/git-subrepo/pull/420
+    ./zsh-completion.patch
+  ];
+
+  postInstall = ''
+    ZSH_COMP_DIR="$out/share/zsh/vendor-completions"
+    mkdir -p "$ZSH_COMP_DIR"
+    cp share/zsh-completion/_git-subrepo "$ZSH_COMP_DIR/"
+
+    BASH_COMP_DIR="$out/share/bash-completion/completions"
+    mkdir -p "$BASH_COMP_DIR"
+    cp share/completion.bash "$BASH_COMP_DIR/git-subrepo"
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/git-subrepo \
+      --prefix PATH : "${git}/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ingydotnet/git-subrepo;
+    description = "Git submodule alternative";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.ryantrinkle ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch
new file mode 100644
index 000000000000..dcba5ba6eea1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git-subrepo/zsh-completion.patch
@@ -0,0 +1,32 @@
+diff --git a/pkg/bin/generate-completion.pl b/pkg/bin/generate-completion.pl
+index 85ae3b8..d3e423c 100644
+--- a/pkg/bin/generate-completion.pl
++++ b/pkg/bin/generate-completion.pl
+@@ -82,11 +82,6 @@ sub generate_zsh {
+ 
+ # DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
+ 
+-if [[ -z $GIT_SUBREPO_ROOT ]]; then
+-	echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?'
+-	return 3
+-fi
+-
+ _git-subrepo() {
+     typeset -A opt_args
+     local curcontext="$curcontext" state line context
+diff --git a/share/zsh-completion/_git-subrepo b/share/zsh-completion/_git-subrepo
+index fc82be2..a8069d9 100644
+--- a/share/zsh-completion/_git-subrepo
++++ b/share/zsh-completion/_git-subrepo
+@@ -3,11 +3,6 @@
+ 
+ # DO NOT EDIT. This file generated by pkg/bin/generate-completion.pl.
+ 
+-if [[ -z $GIT_SUBREPO_ROOT ]]; then
+-	echo 'GIT_SUBREPO_ROOT is null; has `/path/to/git-subrepo/.rc` been sourced?'
+-	return 3
+-fi
+-
+ _git-subrepo() {
+     typeset -A opt_args
+     local curcontext="$curcontext" state line context
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
index 4c78963d7fa4..83e65bc17171 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -318,6 +318,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/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
index 8733863196d3..f1950923415f 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
index 06c8bb8cb2dd..74fad30b8a9a 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/qgit/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase }:
+{ mkDerivation, lib, fetchFromGitHub, cmake, qtbase }:
 
-stdenv.mkDerivation rec {
-  name = "qgit-2.8";
+mkDerivation rec {
+  pname = "qgit";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner = "tibirna";
     repo = "qgit";
-    rev = name;
-    sha256 = "01l6mz2f333x3zbfr68mizwpsh6sdsnadcavpasidiych1m5ry8f";
+    rev = "${pname}-${version}";
+    sha256 = "0n4dq9gffm9yd7n5p5qcdfgrmg2kwnfd51hfx10adgj9ibxlnc3z";
   };
 
   buildInputs = [ qtbase ];
 
   nativeBuildInputs = [ cmake ];
 
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     license = licenses.gpl2;
     homepage = https://github.com/tibirna/qgit;
     description = "Graphical front-end to Git";
diff --git a/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix b/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
index e9862cb48975..52f5551e204f 100644
--- a/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -46,7 +46,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/nixpkgs/pkgs/applications/version-management/gitea/default.nix b/nixpkgs/pkgs/applications/version-management/gitea/default.nix
index 7352225c0176..00f344597bb4 100644
--- a/nixpkgs/pkgs/applications/version-management/gitea/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix b/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
index 23691a16dd96..f766ddbd42c9 100644
--- a/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
+++ b/nixpkgs/pkgs/applications/version-management/gitkraken/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "gitkraken-${version}";
-  version = "6.1.3";
+  version = "6.1.4";
 
   src = fetchurl {
     url = "https://release.axocdn.com/linux/GitKraken-v${version}.deb";
-    sha256 = "1ciw9b5qjx2fm1v2n6v41b52qb5smfvgdb7pi5y99gkhx8w5ghqk";
+    sha256 = "10m6pwdwdxj6x64bc7mrvlvwkgqrd5prh9xx7xhvbz55q6gx4vdr";
   };
 
   libPath = makeLibraryPath [
diff --git a/nixpkgs/pkgs/applications/version-management/sourcehut/default.nix b/nixpkgs/pkgs/applications/version-management/sourcehut/default.nix
index b7c8eaf3820f..00a3cf271113 100644
--- a/nixpkgs/pkgs/applications/version-management/sourcehut/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/celluloid/default.nix b/nixpkgs/pkgs/applications/video/celluloid/default.nix
new file mode 100644
index 000000000000..d1a9b64d711b
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/gnome-mpv/default.nix b/nixpkgs/pkgs/applications/video/gnome-mpv/default.nix
deleted file mode 100644
index a04eebfcc407..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/applications/video/kodi/default.nix b/nixpkgs/pkgs/applications/video/kodi/default.nix
index e5844eb827df..73bcdadbc594 100644
--- a/nixpkgs/pkgs/applications/video/kodi/default.nix
+++ b/nixpkgs/pkgs/applications/video/kodi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
+{ stdenv, lib, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
 , pkgconfig, cmake, gnumake, yasm, python2Packages
 , libgcrypt, libgpgerror, libunistring
 , boost, avahi, lame, autoreconfHook
@@ -42,21 +42,36 @@ assert usbSupport   -> libusb != null && ! udevSupport; # libusb won't be used i
 assert vdpauSupport -> libvdpau != null;
 assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
 
-# TODO for Kodi 18.0
-# - check if dbus support PR has been merged and add dbus as a buildInput
-
 let
-  kodiReleaseDate = "20190129";
-  kodiVersion = "18.1";
+  kodiReleaseDate = "20190627";
+  kodiVersion = "18.3";
   rel = "Leia";
 
   kodi_src = fetchFromGitHub {
     owner  = "xbmc";
     repo   = "xbmc";
     rev    = "${kodiVersion}-${rel}";
-    sha256 = "1w26aqvzxv4c70gcd1vw1pldapsc2xcacwq9b7dqx5m44j0zx1dc";
+    sha256 = "18fbl5hs3aqccrn0m3x7hp95wlafjav0yvrwmb5q3gj24mwf6jld";
+  };
+
+  cmakeProto = fetchurl {
+    url = "https://raw.githubusercontent.com/pramsey/libght/ca9b1121c352ea10170636e170040e1af015bad1/cmake/modules/CheckPrototypeExists.cmake";
+    sha256  = "1zai82gm5x55n3xvdv7mns3ja6a2k81x9zz0nk42j6s2yb0fkjxh";
   };
 
+  cmakeProtoPatch = ''
+    # get rid of windows headers as they will otherwise be found first
+    rm -rf msvc
+
+    cp ${cmakeProto} cmake/${cmakeProto.name}
+    # we need to enable support for C++ for check_prototype_exists to do its thing
+    substituteInPlace CMakeLists.txt --replace 'LANGUAGES C' 'LANGUAGES C CXX'
+    if [ -f cmake/CheckHeadersSTDC.cmake ]; then
+      sed -i cmake/CheckHeadersSTDC.cmake \
+        -e '7iinclude(CheckPrototypeExists)'
+    fi
+  '';
+
   kodiDependency = { name, version, rev, sha256, ... } @attrs:
     let
       attrs' = builtins.removeAttrs attrs ["name" "version" "rev" "sha256"];
@@ -83,16 +98,25 @@ let
     nativeBuildInputs = [ cmake nasm pkgconfig ];
   };
 
-  # we should be able to build these externally and have kodi reference them as buildInputs.
-  # Doesn't work ATM though so we just use them for the src
-
+  # We can build these externally but FindLibDvd.cmake forces us to build it
+  # them, so we currently just use them for the src.
   libdvdcss = kodiDependency rec {
     name              = "libdvdcss";
     version           = "1.4.2";
     rev               = "${version}-${rel}-Beta-5";
     sha256            = "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl";
-    buildInputs       = [ libdvdread ];
-    nativeBuildInputs = [ autoreconfHook pkgconfig ];
+    buildInputs       = [ linuxHeaders ];
+    nativeBuildInputs = [ cmake pkgconfig ];
+    postPatch = ''
+      rm -rf msvc
+
+      substituteInPlace config.h.cm \
+        --replace '#cmakedefine O_BINARY "''${O_BINARY}"' '#define O_BINARY 0'
+    '';
+    cmakeFlags = [
+      "-DBUILD_SHARED_LIBS=1"
+      "-DHAVE_LINUX_DVD_STRUCT=1"
+    ];
   };
 
   libdvdnav = kodiDependency rec {
@@ -100,8 +124,12 @@ let
     version           = "6.0.0";
     rev               = "${version}-${rel}-Alpha-3";
     sha256            = "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb";
-    buildInputs       = [ libdvdread ];
-    nativeBuildInputs = [ autoreconfHook pkgconfig ];
+    buildInputs       = [ libdvdcss libdvdread ];
+    nativeBuildInputs = [ cmake pkgconfig ];
+    postPatch         = cmakeProtoPatch;
+    postInstall = ''
+      mv $out/lib/liblibdvdnav.so $out/lib/libdvdnav.so
+    '';
   };
 
   libdvdread = kodiDependency rec {
@@ -109,7 +137,10 @@ let
     version           = "6.0.0";
     rev               = "${version}-${rel}-Alpha-3";
     sha256            = "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59";
-    nativeBuildInputs = [ autoreconfHook pkgconfig ];
+    buildInputs       = [ libdvdcss ];
+    nativeBuildInputs = [ cmake pkgconfig ];
+    configureFlags    = [ "--with-libdvdcss" ];
+    postPatch         = cmakeProtoPatch;
   };
 
 in stdenv.mkDerivation rec {
@@ -160,7 +191,7 @@ in stdenv.mkDerivation rec {
       makeWrapper
       which
       pkgconfig gnumake
-      autoconf automake libtool # still needed for some components. Check if that is the case with 18.0
+      autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
     ] ++ lib.optional useWayland [ wayland-protocols ];
 
     cmakeFlags = [
diff --git a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
index 7c4d6d339f3e..42b40ade271f 100644
--- a/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/nixpkgs/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ 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 = [
diff --git a/nixpkgs/pkgs/applications/video/mpv/default.nix b/nixpkgs/pkgs/applications/video/mpv/default.nix
index dcfeae52aae4..6c21a6b2012b 100644
--- a/nixpkgs/pkgs/applications/video/mpv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/video/shotcut/default.nix b/nixpkgs/pkgs/applications/video/shotcut/default.nix
index 1b80e379008c..2f0b54edc8fb 100644
--- a/nixpkgs/pkgs/applications/video/shotcut/default.nix
+++ b/nixpkgs/pkgs/applications/video/shotcut/default.nix
@@ -7,13 +7,13 @@ assert stdenv.lib.versionAtLeast mlt.version "6.8.0";
 
 mkDerivation rec {
   name = "shotcut-${version}";
-  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/nixpkgs/pkgs/applications/video/vlc/default.nix b/nixpkgs/pkgs/applications/video/vlc/default.nix
index 8979e9790b4e..dda70d797e5e 100644
--- a/nixpkgs/pkgs/applications/video/vlc/default.nix
+++ b/nixpkgs/pkgs/applications/video/vlc/default.nix
@@ -25,11 +25,11 @@ assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null && wra
 
 stdenv.mkDerivation rec {
   name = "vlc-${version}";
-  version = "3.0.7.1";
+  version = "3.0.8";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz";
-    sha256 = "1xb4c8n0hkwijzfdlbwadhxnx9z8rlhmrdq4c7q74rq9f51q0m86";
+    sha256 = "e0149ef4a20a19b9ecd87309c2d27787ee3f47dfd47c6639644bc1f6fd95bdf6";
   };
 
   # VLC uses a *ton* of libraries for various pieces of functionality, many of
diff --git a/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix b/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix
index c858f4c4d6d3..ecf6f1c54218 100644
--- a/nixpkgs/pkgs/applications/virtualization/OVMF/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/singularity/default.nix b/nixpkgs/pkgs/applications/virtualization/singularity/default.nix
index 8ec9ec6c8b49..e146086b5549 100644
--- a/nixpkgs/pkgs/applications/virtualization/singularity/default.nix
+++ b/nixpkgs/pkgs/applications/virtualization/singularity/default.nix
@@ -31,6 +31,11 @@ buildGoPackage rec {
   nativeBuildInputs = [ removeReferencesTo utillinux which makeWrapper ];
   propagatedBuildInputs = [ coreutils squashfsTools ];
 
+  prePatch = ''
+    substituteInPlace internal/pkg/build/copy/copy.go \
+      --replace /bin/cp ${coreutils}/bin/cp
+  '';
+
   postConfigure = ''
     cd go/src/github.com/sylabs/singularity
 
diff --git a/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix b/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix
index b6a6ebde5409..42860966fe11 100644
--- a/nixpkgs/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/virt-viewer/default.nix b/nixpkgs/pkgs/applications/virtualization/virt-viewer/default.nix
index 9c307d8e9ba4..eb5d53c2b89f 100644
--- a/nixpkgs/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/xen/4.8.nix b/nixpkgs/pkgs/applications/virtualization/xen/4.8.nix
index 2a59cd1f0615..8ad8edde8cc8 100644
--- a/nixpkgs/pkgs/applications/virtualization/xen/4.8.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/xen/generic.nix b/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
index 8dc2dffc6b6b..8093d4752a0b 100644
--- a/nixpkgs/pkgs/applications/virtualization/xen/generic.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff b/nixpkgs/pkgs/applications/virtualization/xen/qemu-gluster-6-compat.diff
new file mode 100644
index 000000000000..7ec6ad3aba66
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/compton/default.nix b/nixpkgs/pkgs/applications/window-managers/compton/default.nix
index 843c331f91cd..0941329bdbe5 100644
--- a/nixpkgs/pkgs/applications/window-managers/compton/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/compton/default.nix
@@ -5,15 +5,13 @@
 , libXinerama, libXext, xwininfo, libxdg_basedir }:
 stdenv.mkDerivation rec {
   pname = "compton";
-  version = "7";
-
-  COMPTON_VERSION = "v${version}";
+  version = "7.2";
 
   src = fetchFromGitHub {
     owner  = "yshui";
     repo   = "compton";
-    rev    = COMPTON_VERSION;
-    sha256 = "0f23dv2p1snlpzc91v38q6896ncz4zqzmh2d97yf66j78g21awas";
+    rev    = "v${version}";
+    sha256 = "1vwa5f0nifc1913diqd6cp5k1dlfyc2ijxbcdj1s37ywpx6c63c3";
     fetchSubmodules = true;
   };
 
@@ -42,11 +40,6 @@ stdenv.mkDerivation rec {
     "-Dbuild_docs=true"
   ];
 
-  preBuild = ''
-    git() { echo "$COMPTON_VERSION"; }
-    export -f git
-  '';
-
   installFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
diff --git a/nixpkgs/pkgs/applications/window-managers/i3/default.nix b/nixpkgs/pkgs/applications/window-managers/i3/default.nix
index 3e9618f6e5df..d72e56d2489a 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix b/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
index f2dc023c81d6..4d4ab6d96cc5 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/gaps.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix b/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
index de8cca56f85e..60edf05892de 100644
--- a/nixpkgs/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/applications/window-managers/sway/default.nix b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
index acbd2f578705..a210be0307b9 100644
--- a/nixpkgs/pkgs/applications/window-managers/sway/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sway/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sway";
-  version = "1.1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "sway";
     rev = version;
-    sha256 = "0yhn9zdg9mzfhn97c440lk3pw6122nrhx0is5sqmvgr6p814f776";
+    sha256 = "0vch2zm5afc76ia78p3vg71zr2fyda67l9hd2h0x1jq3mnvfbxnd";
   };
 
   patches = [
@@ -42,10 +42,6 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/sway --prefix PATH : "${swaybg}/bin"
   '';
 
-  postPatch = ''
-    sed -i "s/version: '1.0'/version: '${version}'/" meson.build
-  '';
-
   meta = with lib; {
     description = "i3-compatible tiling Wayland compositor";
     homepage    = https://swaywm.org;
diff --git a/nixpkgs/pkgs/applications/window-managers/sxhkd/default.nix b/nixpkgs/pkgs/applications/window-managers/sxhkd/default.nix
index 2e58928e34c8..817184d6cb00 100644
--- a/nixpkgs/pkgs/applications/window-managers/sxhkd/default.nix
+++ b/nixpkgs/pkgs/applications/window-managers/sxhkd/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "sxhkd-${version}";
-  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/nixpkgs/pkgs/build-support/fetchurl/mirrors.nix b/nixpkgs/pkgs/build-support/fetchurl/mirrors.nix
index 2138a487f8ef..1ca1e45f2fbb 100644
--- a/nixpkgs/pkgs/build-support/fetchurl/mirrors.nix
+++ b/nixpkgs/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/
diff --git a/nixpkgs/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh b/nixpkgs/pkgs/build-support/setup-hooks/shorten-perl-shebang.sh
new file mode 100644
index 000000000000..4bf7c0ff1af4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/build-support/vm/default.nix b/nixpkgs/pkgs/build-support/vm/default.nix
index 5d04302591ee..a59da3a8745b 100644
--- a/nixpkgs/pkgs/build-support/vm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/font-awesome-5/default.nix b/nixpkgs/pkgs/data/fonts/font-awesome-5/default.nix
index 451e3feecb6f..422258f84d11 100644
--- a/nixpkgs/pkgs/data/fonts/font-awesome-5/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/gelasio/default.nix b/nixpkgs/pkgs/data/fonts/gelasio/default.nix
new file mode 100644
index 000000000000..c8cf655a18cf
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/fonts/joypixels/default.nix b/nixpkgs/pkgs/data/fonts/joypixels/default.nix
new file mode 100644
index 000000000000..f54838d5a646
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix b/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
index fb659e1c22e5..3f9cff62ee4f 100644
--- a/nixpkgs/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/data/misc/osinfo-db/default.nix b/nixpkgs/pkgs/data/misc/osinfo-db/default.nix
index 39cdd29c94be..b41c4a4c5aa9 100644
--- a/nixpkgs/pkgs/data/misc/osinfo-db/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/themes/obsidian2/default.nix b/nixpkgs/pkgs/data/themes/obsidian2/default.nix
index 8a8e88ff6f96..3a2dcea4b3a5 100644
--- a/nixpkgs/pkgs/misc/themes/obsidian2/default.nix
+++ b/nixpkgs/pkgs/data/themes/obsidian2/default.nix
@@ -1,25 +1,23 @@
 { stdenv, fetchFromGitHub, gtk-engine-murrine }:
 
 stdenv.mkDerivation rec {
-  name = "theme-obsidian2-${version}";
-  version = "2.8";
+  pname = "theme-obsidian2";
+  version = "2.9";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
     repo = "theme-obsidian-2";
     rev = "v${version}";
-    sha256 = "0qryqpyxbhr0kyar2cshwhzv4da6rfz9gi4wjb6xvcb6szxhlcaq";
+    sha256 = "1m89ws2a4nms4m8187d5cxi281b66i59xa5shlp3g1r2jc4312cy";
   };
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
 
-  postPatch = ''
-    sed -i -e 's|Obsidian-2-Local|Obsidian-2|' Obsidian-2/index.theme
-  '';
-
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/share/themes
     cp -a Obsidian-2 $out/share/themes
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/data/themes/plata/default.nix b/nixpkgs/pkgs/data/themes/plata/default.nix
index 2351c4935729..cf2eb5447f74 100644
--- a/nixpkgs/pkgs/data/themes/plata/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/enlightenment/default.nix b/nixpkgs/pkgs/desktops/enlightenment/default.nix
index a8b5e08abd65..8d0fed6b3d85 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/enlightenment/efl.nix b/nixpkgs/pkgs/desktops/enlightenment/efl.nix
index a7f5eaf63392..1876cce6c8a9 100644
--- a/nixpkgs/pkgs/desktops/enlightenment/efl.nix
+++ b/nixpkgs/pkgs/desktops/enlightenment/efl.nix
@@ -7,12 +7,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "efl-${version}";
-  version = "1.22.2";
+  pname = "efl";
+  version = "1.22.3";
 
   src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
-    sha256 = "1l0wdgzxqm2y919277b1p9d37xzg808zwxxaw0nn44arh8gqk68n";
+    url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1j1i8cwq4ym9z34ikv35mdmv5q7q69hdp494mc6l03g9n6cl2yky";
   };
 
   nativeBuildInputs = [ pkgconfig gtk3 ];
diff --git a/nixpkgs/pkgs/desktops/gnome-2/default.nix b/nixpkgs/pkgs/desktops/gnome-2/default.nix
index 95e6d0f12b03..16828f08bc27 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-2/platform/libglade/default.nix b/nixpkgs/pkgs/desktops/gnome-2/platform/libglade/default.nix
index c61ecc16f154..d51cccf79066 100644
--- a/nixpkgs/pkgs/desktops/gnome-2/platform/libglade/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-2/platform/libglade/default.nix
@@ -1,4 +1,6 @@
-{stdenv, fetchurl, pkgconfig, gtk2, libxml2, python, gettext}:
+{ stdenv, fetchurl, pkgconfig, gtk2, libxml2, python2 ? null, withLibgladeConvert ? false, gettext }:
+
+assert withLibgladeConvert -> python2 != null;
 
 stdenv.mkDerivation {
   name = "libglade-2.6.4";
@@ -11,7 +13,8 @@ stdenv.mkDerivation {
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 python gettext ];
+  buildInputs = [ gtk2 gettext ]
+    ++ stdenv.lib.optional withLibgladeConvert python2;
 
   NIX_LDFLAGS = "-lgmodule-2.0";
 
diff --git a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
index c95d135e9e73..ac1e9ee85c01 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix
@@ -1,39 +1,80 @@
-{ 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 {
-  name = "gnome-characters-${version}";
+  pname = "gnome-characters";
   version = "3.32.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-characters/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/gnome-characters/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     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/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
index 2941d629f8f7..4a34f12912f7 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-notes/default.nix
+++ b/nixpkgs/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";
@@ -26,8 +26,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/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/nixpkgs/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
deleted file mode 100644
index e5bd4d8b950f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
index b79651ea4bc7..bcc8871bcf14 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-color-manager/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2 }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, itstool, desktop-file-utils, gnome3, glib, gtk3, libexif, libtiff, colord, colord-gtk, libcanberra-gtk3, lcms2, vte, exiv2, hicolor-icon-theme }:
 
 let
   pname = "gnome-color-manager";
@@ -11,7 +11,12 @@ in stdenv.mkDerivation rec {
     sha256 = "1vpxa2zjz3lkq9ldjg0fl65db9s6b4kcs8nyaqfz3jygma7ifg3w";
   };
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext itstool desktop-file-utils ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext itstool desktop-file-utils
+    # setup-hook
+    hicolor-icon-theme
+  ];
+
   buildInputs = [ glib gtk3 libexif libtiff colord colord-gtk libcanberra-gtk3 lcms2 vte exiv2 ];
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
index e947f8625c61..04730f2370f5 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
@@ -1,15 +1,69 @@
-{ fetchurl, stdenv, substituteAll, meson, ninja, pkgconfig, gnome3, ibus, gettext, upower, wrapGAppsHook
-, libcanberra-gtk3, accountsservice, libpwquality, libpulseaudio
-, gdk-pixbuf, librsvg, libgudev, libsecret, gnome-color-manager
-, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
-, libkrb5, networkmanagerapplet, networkmanager, glibc
-, libwacom, samba, shared-mime-info, tzdata, libgnomekbd
-, docbook_xsl, modemmanager, clutter, clutter-gtk, cheese, gnome-session
-, fontconfig, sound-theme-freedesktop, grilo, python3
-, gtk3, glib, glib-networking, gsettings-desktop-schemas
-, gnome-desktop, gnome-settings-daemon, gnome-online-accounts
-, vino, gnome-bluetooth, tracker, adwaita-icon-theme
-, udisks2, gsound, libhandy, cups, mutter }:
+{ fetchurl
+, stdenv
+, substituteAll
+, accountsservice
+, adwaita-icon-theme
+, cheese
+, clutter
+, clutter-gtk
+, colord
+, colord-gtk
+, cups
+, docbook_xsl
+, fontconfig
+, gdk-pixbuf
+, gettext
+, glib
+, glib-networking
+, glibc
+, gnome-bluetooth
+, gnome-color-manager
+, gnome-desktop
+, gnome-online-accounts
+, gnome-session
+, gnome-settings-daemon
+, gnome3
+, grilo
+, grilo-plugins
+, gsettings-desktop-schemas
+, gsound
+, gtk3
+, ibus
+, libcanberra-gtk3
+, libgnomekbd
+, libgtop
+, libgudev
+, libhandy
+, libkrb5
+, libpulseaudio
+, libpwquality
+, librsvg
+, libsecret
+, libsoup
+, libwacom
+, libxml2
+, libxslt
+, meson
+, modemmanager
+, mutter
+, networkmanager
+, networkmanagerapplet
+, ninja
+, pkgconfig
+, polkit
+, python3
+, samba
+, shared-mime-info
+, sound-theme-freedesktop
+, tracker
+, tzdata
+, udisks2
+, upower
+, vino
+, gnome-user-share
+, gnome-remote-desktop
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-control-center";
@@ -21,20 +75,63 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext wrapGAppsHook libxslt docbook_xsl
-    shared-mime-info python3
+    docbook_xsl
+    gettext
+    libxslt
+    meson
+    ninja
+    pkgconfig
+    python3
+    shared-mime-info
+    wrapGAppsHook
   ];
 
   buildInputs = [
-    ibus gtk3 glib glib-networking upower gsettings-desktop-schemas
-    libxml2 gnome-desktop gnome-settings-daemon polkit libgtop
-    gnome-online-accounts libsoup colord libpulseaudio fontconfig colord-gtk
-    accountsservice libkrb5 networkmanagerapplet libwacom samba
-    grilo libpwquality vino libcanberra-gtk3 libgudev libsecret
-    gdk-pixbuf adwaita-icon-theme librsvg clutter clutter-gtk cheese
-    networkmanager modemmanager gnome-bluetooth tracker
-    udisks2 gsound libhandy
+    accountsservice
+    adwaita-icon-theme
+    cheese
+    clutter
+    clutter-gtk
+    colord
+    colord-gtk
+    fontconfig
+    gdk-pixbuf
+    glib
+    glib-networking
+    gnome-bluetooth
+    gnome-desktop
+    gnome-online-accounts
+    gnome-remote-desktop # optional, sharing panel
+    gnome-settings-daemon
+    gnome-user-share # optional, sharing panel
+    grilo
+    grilo-plugins # for setting wallpaper from Flickr
+    gsettings-desktop-schemas
+    gsound
+    gtk3
+    ibus
+    libcanberra-gtk3
+    libgtop
+    libgudev
+    libhandy
+    libkrb5
+    libpulseaudio
+    libpwquality
+    librsvg
+    libsecret
+    libsoup
+    libwacom
+    libxml2
+    modemmanager
     mutter # schemas for the keybindings
+    networkmanager
+    networkmanagerapplet
+    polkit
+    samba
+    tracker
+    udisks2
+    upower
+    vino
   ];
 
   patches = [
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 854ce9364468..14551fb7d0c3 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix b/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
index b3f06c2dcc1c..444c144cfab8 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/core/vino/default.nix
@@ -1,29 +1,85 @@
-{ stdenv, fetchurl, lib, wrapGAppsHook
-, pkgconfig, gnome3, gtk3, glib, intltool, libXtst, libnotify, libsoup
-, telepathySupport ? false, dbus-glib ? null, telepathy-glib ? null
-, libsecret, gnutls, libgcrypt, avahi, zlib, libjpeg, libXdamage, libXfixes, libXext
-, networkmanager }:
-
-with lib;
+{ stdenv
+, fetchFromGitLab
+, wrapGAppsHook
+, pkgconfig
+, gnome3
+, gtk3
+, glib
+, intltool
+, libXtst
+, libnotify
+, libsoup
+, libsecret
+, gnutls
+, libgcrypt
+, avahi
+, zlib
+, libjpeg
+, libXdamage
+, libXfixes
+, libXext
+, networkmanager
+, gnome-common
+, libtool
+, automake
+, autoconf
+, telepathySupport ? false
+, dbus-glib ? null
+, telepathy-glib ? null
+}:
 
 stdenv.mkDerivation rec {
-  name = "vino-${version}";
-  version = "3.22.0";
+  pname = "vino";
+  version = "unstable-2019-07-08";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/vino/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "2911c779b6a2c46e5bc8e5a0c94c2a4d5bd4a1ee7e35f2818702cb13d9d23bab";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "vino";
+    rev = "aed81a798558c8127b765cd4fb4dc726d10f1e21";
+    sha256 = "16r4cj5nsygmd9v97nq6d1yhynzak9hdnaprcdbmwfhh0c9w8jv3";
   };
 
   doCheck = true;
 
-  nativeBuildInputs = [ intltool wrapGAppsHook pkgconfig ];
+  nativeBuildInputs = [
+    autoconf
+    automake
+    gnome-common
+    intltool
+    libtool
+    pkgconfig
+    wrapGAppsHook
+  ];
 
   buildInputs = [
-    gnome3.adwaita-icon-theme gtk3 glib libXtst libnotify libsoup
-    libsecret gnutls libgcrypt avahi zlib libjpeg
-    libXdamage libXfixes libXext networkmanager
-  ] ++ optionals telepathySupport [ dbus-glib telepathy-glib ];
+    avahi
+    glib
+    gnome3.adwaita-icon-theme
+    gnutls
+    gtk3
+    libXdamage
+    libXext
+    libXfixes
+    libXtst
+    libgcrypt
+    libjpeg
+    libnotify
+    libsecret
+    libsoup
+    networkmanager
+    zlib
+  ]
+  ++ stdenv.lib.optionals telepathySupport [ dbus-glib telepathy-glib ]
+  ;
+
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
+
+  postInstall = stdenv.lib.optionalString (!telepathySupport) ''
+    rm -f $out/share/dbus-1/services/org.freedesktop.Telepathy.Client.Vino.service
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -35,7 +91,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/Vino;
     description = "GNOME desktop sharing server";
-    maintainers = with maintainers; [ lethalman domenkozar ];
+    maintainers = gnome3.maintainers;
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/nixpkgs/pkgs/desktops/gnome-3/default.nix b/nixpkgs/pkgs/desktops/gnome-3/default.nix
index 87b7be5bdd2f..1f16ff9d0b52 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/default.nix
@@ -21,36 +21,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning worldofpeace ];
 
-  corePackages = with gnome3; [
-    pkgs.desktop-file-utils
-    pkgs.shared-mime-info # for update-mime-database
-    pkgs.glib # for gsettings
-    pkgs.gtk3.out # for gtk-update-icon-cache
-    glib-networking gvfs dconf gnome-backgrounds gnome-control-center
-    pkgs.gnome-menus gnome-settings-daemon gnome-shell
-    gnome-themes-extra adwaita-icon-theme gnome-shell-extensions
-    pkgs.hicolor-icon-theme
-  ];
-
-  optionalPackages = with gnome3; [ baobab eog epiphany evince
-    gucharmap nautilus totem vino yelp gnome-bluetooth
-    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
-    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
-    gnome-power-manager gnome-todo pkgs.gnome-usage
-  ];
-
-  gamesPackages = with gnome3; [ swell-foop lightsoff iagno
-    tali quadrapassel gnome-sudoku atomix aisleriot five-or-more
-    four-in-a-row gnome-chess gnome-klotski gnome-mahjongg
-    gnome-mines gnome-nibbles gnome-robots gnome-tetravex
-    hitori gnome-taquin
-  ];
-
   libsoup = pkgs.libsoup.override { gnomeSupport = true; };
   libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
   gnome3 = self // { recurseForDerivations = false; };
@@ -113,8 +83,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 +109,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 +160,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 +211,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 +307,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,10 +346,18 @@ 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;
   rest = librest;
 
   pidgin-im-gnome-shell-extension = pkgs.gnomeExtensions.pidgin-im-integration; # added 2019-08-01
+
+  # added 2019-08-25
+  corePackages = throw "deprecated 2019-08-25: please use `services.gnome3.core-shell.enable`";
+  optionalPackages = throw "deprecated 2019-08-25: please use `services.gnome3.core-utilities.enable`";
+  gamesPackages = throw "deprecated 2019-08-25: please use `services.gnome3.games.enable`";
 })
diff --git a/nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix
index 72cce760b03e..657bf4a76391 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/hitori/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/games/tali/default.nix b/nixpkgs/pkgs/desktops/gnome-3/games/tali/default.nix
index d9f3e5fc5ff8..f0da625316fa 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/games/tali/default.nix
+++ b/nixpkgs/pkgs/desktops/gnome-3/games/tali/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "tali-${version}";
-  version = "3.32.0";
+  version = "3.32.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tali/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0s5clkn0qm298mvphx1xdymg67w1p8vvgvypvs97k6lfjqijkx3v";
+    sha256 = "0na7sswfh63wj44aibcnqdsbb24yfngcwgi07lv8rky6rry0kqgz";
   };
 
   passthru = {
diff --git a/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix
index 54d45eedc3d9..8babe77e4121 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix b/nixpkgs/pkgs/desktops/gnome-3/misc/gnome-video-effects/default.nix
deleted file mode 100644
index b65e9c1021e7..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix b/nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix
index f5331751c709..e639996f7c6a 100644
--- a/nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/compton-conf/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt,
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, lxqt,
   libconfig }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "compton-conf";
   version = "0.14.1";
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
       --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg" \
     '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "GUI configuration tool for compton X composite manager";
     homepage = https://github.com/lxqt/compton-conf;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
index 3ce1ea068a71..c214f0b3dcd4 100644
--- a/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/libfm-qt/default.nix
@@ -1,10 +1,10 @@
 {
-  stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools,
+  lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools,
   pcre, libexif, xorg, libfm, menu-cache,
   qtx11extras, qttools
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "libfm-qt";
   version = "0.14.1";
 
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     menu-cache
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Core library of PCManFM-Qt (Qt binding for libfm)";
     homepage = https://github.com/lxqt/libfm-qt;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix b/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
index 193358605995..d94b1ac0d030 100644
--- a/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/liblxqt/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras,
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras,
   qttools, qtsvg, libqtxdg, polkit-qt, kwindowsystem, xorg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "liblxqt";
   version = "0.14.1";
 
@@ -27,18 +27,11 @@ stdenv.mkDerivation rec {
     xorg.libXScrnSaver
   ];
 
-  cmakeFlags = [
-    "-DLXQT_ETC_XDG_DIR=/run/current-system/sw/etc/xdg"
-  ];
-
   postPatch = ''
-    sed -i 's|set(LXQT_SHARE_DIR .*)|set(LXQT_SHARE_DIR "/run/current-system/sw/share/lxqt")|' CMakeLists.txt
     sed -i "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" CMakeLists.txt
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Core utility library for all LXQt components";
     homepage = https://github.com/lxqt/liblxqt;
     license = licenses.lgpl21Plus;
diff --git a/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix b/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
index d351f3e0d6e1..799e4286803b 100644
--- a/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/libqtxdg/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg, lxqt-build-tools }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qtsvg, lxqt-build-tools }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "libqtxdg";
   version = "3.3.1";
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     )
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Qt implementation of freedesktop.org xdg specs";
     homepage = https://github.com/lxqt/libqtxdg;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix b/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix
index 74fa1b03fa6b..dc2ce54d6ae6 100644
--- a/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/libsysstat/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase, lxqt-build-tools }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, lxqt-build-tools }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "libsysstat";
   version = "0.4.2";
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Library used to query system info and statistics";
     homepage = https://github.com/lxqt/libsysstat;
     license = licenses.lgpl21Plus;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix
index affa0cc8c9d6..33e6a1f99e5c 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lximage-qt/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools,
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools,
   qtx11extras, qtsvg, xorg, lxqt-build-tools, libfm-qt, libexif }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lximage-qt";
   version = "0.14.1";
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     libexif
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The image viewer and screenshot tool for lxqt";
     homepage = https://github.com/lxqt/lximage-qt;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
index 7778eb92263c..595141daffc7 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-about/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-about";
   version = "0.14.1";
 
@@ -25,12 +25,7 @@ stdenv.mkDerivation rec {
     libqtxdg
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Dialogue window providing information about LXQt and the system it's running on";
     homepage = https://github.com/lxqt/lxqt-about;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
index 5ea6b0d08824..a49bb120791a 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-admin/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, polkit-qt }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtx11extras, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, polkit-qt }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-admin";
   version = "0.14.1";
 
@@ -29,14 +29,9 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed "s|\''${POLKITQT-1_POLICY_FILES_INSTALL_DIR}|''${out}/share/polkit-1/actions|" \
       -i lxqt-admin-user/CMakeLists.txt
-
-    for f in lxqt-admin-{user,time}/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "LXQt system administration tool";
     homepage = https://github.com/lxqt/lxqt-admin;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
index 75ec5aa06edc..da90826116f2 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-archiver/default.nix
@@ -1,7 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, json-glib, libfm-qt, qtbase, qttools, qtx11extras }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, json-glib, libfm-qt, qtbase, qttools, qtx11extras }:
 
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+mkDerivation rec {
   pname = "lxqt-archiver";
   version = "0.0.96";
 
@@ -30,7 +29,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Archive tool for the LXQt desktop environment";
     homepage = https://github.com/lxqt/lxqt-archiver/;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake
new file mode 100644
index 000000000000..fd7ef927f8b3
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/LXQtConfigVars.cmake
@@ -0,0 +1,7 @@
+add_definitions("-DLXQT_RELATIVE_SHARE_DIR=\"${LXQT_RELATIVE_SHARE_DIR}\"")
+add_definitions("-DLXQT_SHARE_DIR=\"${LXQT_SHARE_DIR}\"")
+add_definitions("-DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=\"${LXQT_RELATIVE_TRANSLATIONS_DIR}\"")
+add_definitions("-DLXQT_SHARE_TRANSLATIONS_DIR=\"${LXQT_TRANSLATIONS_DIR}\"")
+add_definitions("-DLXQT_GRAPHICS_DIR=\"${LXQT_GRAPHICS_DIR}\"")
+add_definitions("-DLXQT_ETC_XDG_DIR=\"${LXQT_ETC_XDG_DIR}\"")
+add_definitions("-DLXQT_DATA_DIR=\"${LXQT_DATA_DIR}\"")
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
index f55fa579ff45..626c99fcf9c9 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, glib }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, glib }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-build-tools";
   version = "0.6.0";
 
@@ -11,13 +11,20 @@ stdenv.mkDerivation rec {
     sha256 = "0i7m9s4g5rsw28vclc9nh0zcapx85cqfwxkx7rrw7wa12svy7pm2";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig setupHook ];
 
   buildInputs = [ qtbase glib pcre ];
 
-  preConfigure = ''cmakeFlags+=" -DLXQT_ETC_XDG_DIR=$out/etc/xdg"'';
+  setupHook = ./setup-hook.sh;
 
-  meta = with stdenv.lib; {
+  # We're dependent on this macro doing add_definitions in most places
+  # But we have the setup-hook to set the values.
+  postInstall = ''
+    rm $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake
+    cp ${./LXQtConfigVars.cmake} $out/share/cmake/lxqt-build-tools/modules/LXQtConfigVars.cmake
+  '';
+
+  meta = with lib; {
     description = "Various packaging tools and scripts for LXQt applications";
     homepage = https://github.com/lxqt/lxqt-build-tools;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh
new file mode 100644
index 000000000000..e40765116e9c
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-build-tools/setup-hook.sh
@@ -0,0 +1,15 @@
+LXQtCMakePostHook() {
+  cmakeFlagsArray+=(
+    -DLXQT_LIBRARY_NAME=lxqt
+    -DLXQT_SHARE_DIR=$out/share/lxqt
+    -DLXQT_TRANSLATIONS_DIR=$out/share/lxqt/translations
+    -DLXQT_GRAPHICS_DIR=$out/share/lxqt/graphics
+    -DLXQT_ETC_XDG_DIR=$out/etc/xdg
+    -DLXQT_DATA_DIR=$out/share
+    -DLXQT_RELATIVE_SHARE_DIR=lxqt
+    -DLXQT_RELATIVE_SHARE_TRANSLATIONS_DIR=lxqt/translations
+  )
+
+}
+
+postHooks+=(LXQtCMakePostHook)
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
index e7ba00bc8a89..d775a93fff4c 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-config/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase,
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase,
   qtx11extras, qttools, qtsvg, kwindowsystem, libkscreen, liblxqt,
   libqtxdg, xorg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-config";
   version = "0.14.1";
 
@@ -38,27 +38,10 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    substituteInPlace src/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    for f in \
-      lxqt-config-file-associations/CMakeLists.txt \
-      lxqt-config-brightness/CMakeLists.txt \
-      lxqt-config-appearance/CMakeLists.txt \
-      lxqt-config-locale/CMakeLists.txt \
-      lxqt-config-monitor/CMakeLists.txt \
-      lxqt-config-input/CMakeLists.txt \
-      liblxqt-config-cursor/CMakeLists.txt \
-      src/CMakeLists.txt
-    do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-
     sed -i "/\''${XORG_LIBINPUT_INCLUDE_DIRS}/a ${xorg.xf86inputlibinput.dev}/include/xorg" lxqt-config-input/CMakeLists.txt
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Tools to configure LXQt and the underlying operating system";
     homepage = https://github.com/lxqt/lxqt-config;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
index 0502426e82df..d836ddeea38f 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-globalkeys";
   version = "0.14.1";
 
@@ -26,17 +26,7 @@ stdenv.mkDerivation rec {
     libqtxdg
   ];
 
-  postPatch = ''
-    for dir in autostart xdg; do
-      substituteInPlace $dir/CMakeLists.txt \
-        --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-    done
-
-    substituteInPlace config/CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Daemon used to register global keyboard shortcuts";
     homepage = https://github.com/lxqt/lxqt-globalkeys;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
index 7eed84b33908..81a6a423a210 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-notificationd/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, qtx11extras }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, qtx11extras }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-notificationd";
   version = "0.14.1";
 
@@ -16,16 +16,6 @@ stdenv.mkDerivation rec {
     lxqt-build-tools
   ];
 
-  postPatch = ''
-    substituteInPlace autostart/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    for f in {config,src}/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-  '';
-
   buildInputs = [
     qtbase
     qttools
@@ -36,7 +26,7 @@ stdenv.mkDerivation rec {
     qtx11extras
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The LXQt notification daemon";
     homepage = https://github.com/lxqt/lxqt-notificationd;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
index 7ba2f00b5c58..83048ed7d578 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-openssh-askpass/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-openssh-askpass";
   version = "0.14.1";
 
@@ -26,12 +26,7 @@ stdenv.mkDerivation rec {
     libqtxdg
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "GUI to query passwords on behalf of SSH agents";
     homepage = https://github.com/lxqt/lxqt-openssh-askpass;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
index 4363c9f83920..4558d36e554e 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-panel/default.nix
@@ -1,5 +1,5 @@
 {
-  stdenv, fetchFromGitHub,
+  lib, mkDerivation, fetchFromGitHub,
   cmake, pkgconfig, lxqt-build-tools,
   qtbase, qttools, qtx11extras, qtsvg, libdbusmenu, kwindowsystem, solid,
   kguiaddons, liblxqt, libqtxdg, lxqt-globalkeys, libsysstat,
@@ -7,7 +7,7 @@
   lxmenu-data, pcre, libXdamage
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-panel";
   version = "0.14.1";
 
@@ -49,21 +49,7 @@ stdenv.mkDerivation rec {
     libXdamage
   ];
 
-  postPatch = ''
-    for dir in  autostart menu; do
-      substituteInPlace $dir/CMakeLists.txt \
-        --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-    done
-    substituteInPlace panel/CMakeLists.txt \
-      --replace "DESTINATION \''${LXQT_ETC_XDG_DIR}" "DESTINATION etc/xdg"
-
-    for f in cmake/BuildPlugin.cmake panel/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The LXQt desktop panel";
     homepage = https://github.com/lxqt/lxqt-panel;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
index 792a323e6820..d501d83947ec 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-policykit/default.nix
@@ -1,10 +1,10 @@
 {
-  stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools,
+  lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools,
   qtbase, qttools, qtx11extras, qtsvg, polkit-qt, kwindowsystem, liblxqt,
   libqtxdg, pcre
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-policykit";
   version = "0.14.1";
 
@@ -33,15 +33,7 @@ stdenv.mkDerivation rec {
     pcre
   ];
 
-  postPatch = ''
-    substituteInPlace autostart/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The LXQt PolicyKit agent";
     homepage = https://github.com/lxqt/lxqt-policykit;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
index 6bdf5ce2c0c6..9f8c66d826c5 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-powermanagement/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, solid, kidletime, liblxqt, libqtxdg }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, solid, kidletime, liblxqt, libqtxdg }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-powermanagement";
   version = "0.14.1";
 
@@ -28,17 +28,7 @@ stdenv.mkDerivation rec {
     libqtxdg
   ];
 
-  postPatch = ''
-    substituteInPlace autostart/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    for f in {config,src}/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Power management module for LXQt";
     homepage = https://github.com/lxqt/lxqt-powermanagement;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
index 82f393cf8d52..604fc570e1fb 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-qtplugin/default.nix
@@ -1,10 +1,10 @@
 {
-  stdenv, fetchFromGitHub,
+  lib, mkDerivation, fetchFromGitHub,
   cmake, lxqt-build-tools,
   qtbase, qtx11extras, qttools, qtsvg, libdbusmenu, libqtxdg, libfm-qt
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-qtplugin";
   version = "0.14.0";
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
       --replace "DESTINATION \"\''${QT_PLUGINS_DIR}" "DESTINATION \"$qtPluginPrefix"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "LXQt Qt platform integration plugin";
     homepage = https://github.com/lxqt/lxqt-qtplugin;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
index 54236bfbb7ef..d737bd91c916 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-runner/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, lxqt-globalkeys, qtx11extras,
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, kwindowsystem, liblxqt, libqtxdg, lxqt-globalkeys, qtx11extras,
 menu-cache, muparser, pcre }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-runner";
   version = "0.14.1";
 
@@ -32,15 +32,7 @@ stdenv.mkDerivation rec {
     pcre
   ];
 
-  postPatch = ''
-    substituteInPlace autostart/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Tool used to launch programs quickly by typing their names";
     homepage = https://github.com/lxqt/lxqt-runner;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
index 40ef5697a547..fbf2c7ddde7c 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-session/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, xorg, xdg-user-dirs }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt-build-tools, qtbase, qttools, qtsvg, qtx11extras, kwindowsystem, liblxqt, libqtxdg, xorg, xdg-user-dirs }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-session";
   version = "0.14.1";
 
@@ -30,19 +30,7 @@ stdenv.mkDerivation rec {
     xdg-user-dirs
   ];
 
-  postPatch = ''
-    for dir in autostart config; do
-      substituteInPlace $dir/CMakeLists.txt \
-        --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-    done
-
-    for f in lxqt-{config-session,leave,session}/CMakeLists.txt; do
-      substituteInPlace $f \
-        --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-    done
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "An alternative session manager ported from the original razor-session";
     homepage = https://github.com/lxqt/lxqt-session;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
index 6deef1bf56ba..91159398b8fc 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-sudo/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg, sudo }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, liblxqt, libqtxdg, sudo }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-sudo";
   version = "0.14.1";
 
@@ -27,12 +27,7 @@ stdenv.mkDerivation rec {
     sudo
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "\''${LXQT_TRANSLATIONS_DIR}" "''${out}/share/lxqt/translations"
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "GUI frontend for sudo/su";
     homepage = https://github.com/lxqt/lxqt-sudo;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix b/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
index 02591b9eb86e..9d8da87fd5d4 100644
--- a/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/lxqt-themes/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lxqt-themes";
   version = "0.14.0";
 
@@ -16,14 +16,7 @@ stdenv.mkDerivation rec {
     lxqt-build-tools
   ];
 
-  postPatch = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_GRAPHICS_DIR}" "DESTINATION \"share/lxqt/graphics"
-    substituteInPlace themes/CMakeLists.txt \
-      --replace "DESTINATION \"\''${LXQT_SHARE_DIR}" "DESTINATION \"share/lxqt"
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Themes, graphics and icons for LXQt";
     homepage = https://github.com/lxqt/lxqt-themes;
     license = licenses.lgpl21;
diff --git a/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix
index 2360d1970c99..a5be8f419677 100644
--- a/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/obconf-qt/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools,
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, pcre, qtbase, qttools,
   qtx11extras, xorg, lxqt-build-tools, openbox, hicolor-icon-theme }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "obconf-qt";
   version = "0.14.1";
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     hicolor-icon-theme
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The Qt port of obconf, the Openbox configuration tool";
     homepage = https://github.com/lxqt/obconf-qt;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
index 00359e2ffede..7b7d7290320b 100644
--- a/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/pavucontrol-qt/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio,
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt, libpulseaudio,
   pcre, qtbase, qttools, qtx11extras }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "pavucontrol-qt";
   version = "0.14.1";
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     pcre
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A Pulseaudio mixer in Qt (port of pavucontrol)";
     homepage = https://github.com/lxqt/pavucontrol-qt;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix b/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
index 320d451f087e..168b7f35ad27 100644
--- a/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/pcmanfm-qt/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, lxqt, qtbase, qttools,
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, lxqt, qtbase, qttools,
   qtx11extras, libfm-qt, menu-cache, lxmenu-data }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "pcmanfm-qt";
   version = "0.14.1";
 
@@ -28,14 +28,7 @@ stdenv.mkDerivation rec {
     lxmenu-data
   ];
 
-  postPatch = ''
-    for dir in autostart config; do
-      substituteInPlace $dir/CMakeLists.txt \
-        --replace "DESTINATION \"\''${LXQT_ETC_XDG_DIR}" "DESTINATION \"etc/xdg"
-    done
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "File manager and desktop icon manager (Qt port of PCManFM and libfm)";
     homepage = https://github.com/lxqt/pcmanfm-qt;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix b/nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix
index f5bdcf064fd8..c1b29b161254 100644
--- a/nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/qlipper/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase, qttools }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qttools }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   name = "${pname}-${version}";
   pname = "qlipper";
   version = "5.1.1";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase qttools ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Cross-platform clipboard history applet";
     homepage = https://github.com/pvanek/qlipper;
     license = licenses.gpl2Plus;
diff --git a/nixpkgs/pkgs/desktops/lxqt/qps/default.nix b/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
index c17ef21c6768..942c9257c25d 100644
--- a/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/qps/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase, qtx11extras, qttools,
+{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qtx11extras, qttools,
   lxqt-build-tools }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "qps";
   version = "1.10.20";
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase qtx11extras qttools ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The Qt process manager";
     homepage = https://github.com/lxqt/qps;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix b/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix
index 748d33aa2ce0..10f525eb9e6c 100644
--- a/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/qterminal/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget,
+{ lib, mkDerivation, fetchFromGitHub, cmake, lxqt-build-tools, qtermwidget,
   qtbase, qttools, qtx11extras }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "qterminal";
   version = "0.14.1";
 
@@ -24,11 +24,11 @@ stdenv.mkDerivation rec {
     qtermwidget
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A lightweight Qt-based terminal emulator";
     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/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix b/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix
index e47d8e050828..e61360f6a3b4 100644
--- a/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/qtermwidget/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, qtbase, qttools, lxqt-build-tools }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, qttools, lxqt-build-tools }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "qtermwidget";
   version = "0.14.1";
 
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake lxqt-build-tools ];
 
-  buildInputs = [ qtbase qttools];
+  buildInputs = [ qtbase qttools ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A terminal emulator widget for Qt 5";
     homepage = https://github.com/lxqt/qtermwidget;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix b/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
index 14fa977e023d..bac68f7166c5 100644
--- a/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
+++ b/nixpkgs/pkgs/desktops/lxqt/screengrab/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg, autoPatchelfHook }:
+{ lib, mkDerivation, fetchFromGitHub, cmake, pkgconfig, qtbase, qttools, qtx11extras, qtsvg, kwindowsystem, libqtxdg, xorg, autoPatchelfHook }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "screengrab";
   version = "1.101";
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     xorg.libXdmcp
   ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Crossplatform tool for fast making screenshots";
     homepage = https://github.com/lxqt/screengrab;
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
index dbcb992c425c..b273bbece969 100644
--- a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix
@@ -44,7 +44,7 @@ runCommand "elementary-gsettings-desktop-schemas" {}
 
      cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
      [org.gnome.desktop.background]
-     picture-uri='${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
+     picture-uri='file://${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
      primary-color='#000000'
 
      ${extraGSettingsOverrides}
diff --git a/nixpkgs/pkgs/desktops/xfce4-14/default.nix b/nixpkgs/pkgs/desktops/xfce4-14/default.nix
index d3e46cf23654..294dfa92c798 100644
--- a/nixpkgs/pkgs/desktops/xfce4-14/default.nix
+++ b/nixpkgs/pkgs/desktops/xfce4-14/default.nix
@@ -58,8 +58,6 @@ makeScope newScope (self: with self; {
 
   xfce4-dict = callPackage ./xfce4-dict { };
 
-  xfce4-mixer = callPackage ./xfce4-mixer { };
-
   xfce4-netload-plugin = callPackage ./xfce4-netload-plugin { };
 
   xfce4-notifyd = callPackage ./xfce4-notifyd { };
@@ -83,6 +81,8 @@ makeScope newScope (self: with self; {
 
   xfce4-terminal = callPackage ./xfce4-terminal { };
 
+  xfdashboard = callPackage ./xfdashboard { };
+
   xfce4-volumed-pulse = callPackage ./xfce4-volumed-pulse { };
 
   xfce4-whiskermenu-plugin = callPackage ./xfce4-whiskermenu-plugin { };
@@ -110,4 +110,10 @@ makeScope newScope (self: with self; {
   xfce4-namebar-plugin = callPackage ../xfce/panel-plugins/xfce4-namebar-plugin.nix { };
 
   xfce4-windowck-plugin = callPackage ../xfce/panel-plugins/xfce4-windowck-plugin.nix { };
+
+
+  ## ALIASES
+
+  # added 2019-08-18
+  xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin";
 })
diff --git a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-mixer/default.nix b/nixpkgs/pkgs/desktops/xfce4-14/xfce4-mixer/default.nix
deleted file mode 100644
index a4bc0a3eaddb..000000000000
--- a/nixpkgs/pkgs/desktops/xfce4-14/xfce4-mixer/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ mkXfceDerivation, automakeAddFlags, dbus-glib, gtk2, libxfce4ui, libxfce4util, xfce4-panel, xfconf, gst-plugins-base, libunique }:
-
-let
-  gst_plugins_minimal = gst-plugins-base.override {
-    minimalDeps = true;
-  };
-in
-mkXfceDerivation rec {
-  category = "apps";
-  pname = "xfce4-mixer";
-  version = "4.11.0";
-
-  sha256 = "1kiz5ysn4rqkjfzz4dvbsfj64kqqayg7bqakcys3rw28g2q5qyys";
-
-  nativeBuildInputs = [ automakeAddFlags ];
-
-  postPatch = ''
-    automakeAddFlags panel-plugin/Makefile.am libmixer_la_CFLAGS DBUS_GLIB_CFLAGS
-    automakeAddFlags xfce4-mixer/Makefile.am xfce4_mixer_CFLAGS DBUS_GLIB_CFLAGS
-  '';
-
-  buildInputs = [
-    dbus-glib
-    gst_plugins_minimal
-    gtk2
-    libunique
-    libxfce4ui
-    libxfce4util
-    xfce4-panel
-    xfconf
-  ];
-}
diff --git a/nixpkgs/pkgs/desktops/xfce4-14/xfdashboard/default.nix b/nixpkgs/pkgs/desktops/xfce4-14/xfdashboard/default.nix
new file mode 100644
index 000000000000..a17c29f6723e
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/xfce4-14/xfdashboard/default.nix
@@ -0,0 +1,44 @@
+{ mkXfceDerivation
+, clutter
+, libXcomposite
+, libXinerama
+, libXdamage
+, libX11
+, libwnck3
+, libxfce4ui
+, libxfce4util
+, garcon
+, xfconf
+, gtk3
+, glib
+, dbus-glib
+}:
+
+mkXfceDerivation {
+  category = "apps";
+  pname = "xfdashboard";
+  version = "0.7.5";
+  rev = "0.7.5";
+
+  sha256 = "0d0kg90h3li41bs75z3xldljsglkz220pba39c54qznnzb8v8a2i";
+
+  buildInputs = [
+    clutter
+    dbus-glib
+    garcon
+    glib
+    gtk3
+    libX11
+    libXcomposite
+    libXdamage
+    libXinerama
+    libwnck3
+    libxfce4ui
+    libxfce4util
+    xfconf
+  ];
+
+  meta = {
+    description = "Gnome shell like dashboard";
+  };
+}
diff --git a/nixpkgs/pkgs/development/compilers/icedtea-web/default.nix b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/default.nix
index 73dd90ab4a1f..a3c34bd7e8e6 100644
--- a/nixpkgs/pkgs/development/compilers/icedtea-web/default.nix
+++ b/nixpkgs/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 {
-  name = "icedtea-web-${version}";
+  pname = "adoptopenjdk-icedtea-web";
 
   version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "AdoptOpenJDK";
     repo = "IcedTea-Web";
-    rev = name;
+    rev = "${pname}-${version}";
     sha256 = "0bm5k11i2vgb54ch1bawsmjbwnqnp04saadwm2f2mggmmdc6b1qq";
   };
 
diff --git a/nixpkgs/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch
index 85cad6cf4678..85cad6cf4678 100644
--- a/nixpkgs/pkgs/development/compilers/icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch
+++ b/nixpkgs/pkgs/development/compilers/adoptopenjdk-icedtea-web/patches/0001-make-cargo-work-with-nix-build-on-linux.patch
diff --git a/nixpkgs/pkgs/development/compilers/compcert/default.nix b/nixpkgs/pkgs/development/compilers/compcert/default.nix
index 33957b5a8dcf..69e11a48918c 100644
--- a/nixpkgs/pkgs/development/compilers/compcert/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/crystal/default.nix b/nixpkgs/pkgs/development/compilers/crystal/default.nix
index 2e823fe1f0f8..db57bc3e9df7 100644
--- a/nixpkgs/pkgs/development/compilers/crystal/default.nix
+++ b/nixpkgs/pkgs/development/compilers/crystal/default.nix
@@ -199,5 +199,12 @@ in rec {
     binary = binaryCrystal_0_29;
   };
 
-  crystal = crystal_0_29;
+  crystal_0_30 = generic {
+    version = "0.30.1";
+    sha256  = "0fbk784zjflsl3hys5a1xmn8mda8kb2z7ql58wpyfavivswxanbs";
+    doCheck = false; # 6 checks are failing now
+    binary = binaryCrystal_0_29;
+  };
+
+  crystal = crystal_0_30;
 }
diff --git a/nixpkgs/pkgs/development/compilers/edk2/default.nix b/nixpkgs/pkgs/development/compilers/edk2/default.nix
index 809fc6a4cf1a..2a90902df1e7 100644
--- a/nixpkgs/pkgs/development/compilers/edk2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/elm/default.nix b/nixpkgs/pkgs/development/compilers/elm/default.nix
index fbb991d7b5ab..c8bef546b6d9 100644
--- a/nixpkgs/pkgs/development/compilers/elm/default.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/default.nix
@@ -56,8 +56,9 @@ let
             */
             elm-test = patchBinwrap [elmi-to-json] elmNodePackages.elm-test;
             elm-verify-examples = patchBinwrap [elmi-to-json] elmNodePackages.elm-verify-examples;
-            elm-analyse = elmNodePackages.elm-analyse;
-            inherit (elmNodePackages) elm-doc-preview elm-upgrade;
+            # elm-analyse@0.16.4 build is not working
+            elm-analyse = elmNodePackages."elm-analyse-0.16.3";
+            inherit (elmNodePackages) elm-doc-preview elm-live elm-upgrade elm-xref;
           };
       in elmPkgs // {
         inherit elmPkgs;
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/generate-node-packages.sh b/nixpkgs/pkgs/development/compilers/elm/packages/generate-node-packages.sh
index 0e1835c6ffaa..1d24df549ea6 100755
--- a/nixpkgs/pkgs/development/compilers/elm/packages/generate-node-packages.sh
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/generate-node-packages.sh
@@ -4,4 +4,8 @@
 set -eu -o pipefail
 
 rm -f node-env.nix
-node2nix --nodejs-10 -i node-packages.json -o node-packages.nix -c node-composition.nix
+node2nix --nodejs-10 \
+    -i node-packages.json \
+    -o node-packages.nix \
+    -c node-composition.nix \
+    --no-copy-node-env -e ../../../node-packages/node-env.nix
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix b/nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix
index fa0a1482f97a..1ffd758ac82e 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/node-composition.nix
@@ -5,7 +5,7 @@
   }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
 
 let
-  nodeEnv = import ./node-env.nix {
+  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;
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/node-env.nix b/nixpkgs/pkgs/development/compilers/elm/packages/node-env.nix
deleted file mode 100644
index 670556bf271a..000000000000
--- a/nixpkgs/pkgs/development/compilers/elm/packages/node-env.nix
+++ /dev/null
@@ -1,540 +0,0 @@
-# This file originates from node2nix
-
-{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
-
-let
-  python = if nodejs ? python then nodejs.python else python2;
-
-  # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
-  tarWrapper = runCommand "tarWrapper" {} ''
-    mkdir -p $out/bin
-
-    cat > $out/bin/tar <<EOF
-    #! ${stdenv.shell} -e
-    $(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
-    EOF
-
-    chmod +x $out/bin/tar
-  '';
-
-  # Function that generates a TGZ file from a NPM project
-  buildNodeSourceDist =
-    { name, version, src, ... }:
-
-    stdenv.mkDerivation {
-      name = "node-tarball-${name}-${version}";
-      inherit src;
-      buildInputs = [ nodejs ];
-      buildPhase = ''
-        export HOME=$TMPDIR
-        tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
-      '';
-      installPhase = ''
-        mkdir -p $out/tarballs
-        mv $tgzFile $out/tarballs
-        mkdir -p $out/nix-support
-        echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
-      '';
-    };
-
-  includeDependencies = {dependencies}:
-    stdenv.lib.optionalString (dependencies != [])
-      (stdenv.lib.concatMapStrings (dependency:
-        ''
-          # Bundle the dependencies of the package
-          mkdir -p node_modules
-          cd node_modules
-
-          # Only include dependencies if they don't exist. They may also be bundled in the package.
-          if [ ! -e "${dependency.name}" ]
-          then
-              ${composePackage dependency}
-          fi
-
-          cd ..
-        ''
-      ) dependencies);
-
-  # Recursively composes the dependencies of a package
-  composePackage = { name, packageName, src, dependencies ? [], ... }@args:
-    ''
-      DIR=$(pwd)
-      cd $TMPDIR
-
-      unpackFile ${src}
-
-      # Make the base dir in which the target dependency resides first
-      mkdir -p "$(dirname "$DIR/${packageName}")"
-
-      if [ -f "${src}" ]
-      then
-          # Figure out what directory has been unpacked
-          packageDir="$(find . -maxdepth 1 -type d | tail -1)"
-
-          # Restore write permissions to make building work
-          find "$packageDir" -type d -exec chmod u+x {} \;
-          chmod -R u+w "$packageDir"
-
-          # Move the extracted tarball into the output folder
-          mv "$packageDir" "$DIR/${packageName}"
-      elif [ -d "${src}" ]
-      then
-          # Get a stripped name (without hash) of the source directory.
-          # On old nixpkgs it's already set internally.
-          if [ -z "$strippedName" ]
-          then
-              strippedName="$(stripHash ${src})"
-          fi
-
-          # Restore write permissions to make building work
-          chmod -R u+w "$strippedName"
-
-          # Move the extracted directory into the output folder
-          mv "$strippedName" "$DIR/${packageName}"
-      fi
-
-      # Unset the stripped name to not confuse the next unpack step
-      unset strippedName
-
-      # Include the dependencies of the package
-      cd "$DIR/${packageName}"
-      ${includeDependencies { inherit dependencies; }}
-      cd ..
-      ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-    '';
-
-  pinpointDependencies = {dependencies, production}:
-    let
-      pinpointDependenciesFromPackageJSON = writeTextFile {
-        name = "pinpointDependencies.js";
-        text = ''
-          var fs = require('fs');
-          var path = require('path');
-
-          function resolveDependencyVersion(location, name) {
-              if(location == process.env['NIX_STORE']) {
-                  return null;
-              } else {
-                  var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
-
-                  if(fs.existsSync(dependencyPackageJSON)) {
-                      var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
-
-                      if(dependencyPackageObj.name == name) {
-                          return dependencyPackageObj.version;
-                      }
-                  } else {
-                      return resolveDependencyVersion(path.resolve(location, ".."), name);
-                  }
-              }
-          }
-
-          function replaceDependencies(dependencies) {
-              if(typeof dependencies == "object" && dependencies !== null) {
-                  for(var dependency in dependencies) {
-                      var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
-
-                      if(resolvedVersion === null) {
-                          process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
-                      } else {
-                          dependencies[dependency] = resolvedVersion;
-                      }
-                  }
-              }
-          }
-
-          /* Read the package.json configuration */
-          var packageObj = JSON.parse(fs.readFileSync('./package.json'));
-
-          /* Pinpoint all dependencies */
-          replaceDependencies(packageObj.dependencies);
-          if(process.argv[2] == "development") {
-              replaceDependencies(packageObj.devDependencies);
-          }
-          replaceDependencies(packageObj.optionalDependencies);
-
-          /* Write the fixed package.json file */
-          fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
-        '';
-      };
-    in
-    ''
-      node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
-
-      ${stdenv.lib.optionalString (dependencies != [])
-        ''
-          if [ -d node_modules ]
-          then
-              cd node_modules
-              ${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
-              cd ..
-          fi
-        ''}
-    '';
-
-  # Recursively traverses all dependencies of a package and pinpoints all
-  # dependencies in the package.json file to the versions that are actually
-  # being used.
-
-  pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
-    ''
-      if [ -d "${packageName}" ]
-      then
-          cd "${packageName}"
-          ${pinpointDependencies { inherit dependencies production; }}
-          cd ..
-          ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-      fi
-    '';
-
-  # Extract the Node.js source code which is used to compile packages with
-  # native bindings
-  nodeSources = runCommand "node-sources" {} ''
-    tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
-    mv node-* $out
-  '';
-
-  # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
-  addIntegrityFieldsScript = writeTextFile {
-    name = "addintegrityfields.js";
-    text = ''
-      var fs = require('fs');
-      var path = require('path');
-
-      function augmentDependencies(baseDir, dependencies) {
-          for(var dependencyName in dependencies) {
-              var dependency = dependencies[dependencyName];
-
-              // Open package.json and augment metadata fields
-              var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
-              var packageJSONPath = path.join(packageJSONDir, "package.json");
-
-              if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
-                  console.log("Adding metadata fields to: "+packageJSONPath);
-                  var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
-
-                  if(dependency.integrity) {
-                      packageObj["_integrity"] = dependency.integrity;
-                  } else {
-                      packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
-                  }
-
-                  if(dependency.resolved) {
-                      packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
-                  } else {
-                      packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
-                  }
-
-                  if(dependency.from !== undefined) { // Adopt from property if one has been provided
-                      packageObj["_from"] = dependency.from;
-                  }
-
-                  fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
-              }
-
-              // Augment transitive dependencies
-              if(dependency.dependencies !== undefined) {
-                  augmentDependencies(packageJSONDir, dependency.dependencies);
-              }
-          }
-      }
-
-      if(fs.existsSync("./package-lock.json")) {
-          var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
-
-          if(packageLock.lockfileVersion !== 1) {
-             process.stderr.write("Sorry, I only understand lock file version 1!\n");
-             process.exit(1);
-          }
-
-          if(packageLock.dependencies !== undefined) {
-              augmentDependencies(".", packageLock.dependencies);
-          }
-      }
-    '';
-  };
-
-  # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
-  reconstructPackageLock = writeTextFile {
-    name = "addintegrityfields.js";
-    text = ''
-      var fs = require('fs');
-      var path = require('path');
-
-      var packageObj = JSON.parse(fs.readFileSync("package.json"));
-
-      var lockObj = {
-          name: packageObj.name,
-          version: packageObj.version,
-          lockfileVersion: 1,
-          requires: true,
-          dependencies: {}
-      };
-
-      function augmentPackageJSON(filePath, dependencies) {
-          var packageJSON = path.join(filePath, "package.json");
-          if(fs.existsSync(packageJSON)) {
-              var packageObj = JSON.parse(fs.readFileSync(packageJSON));
-              dependencies[packageObj.name] = {
-                  version: packageObj.version,
-                  integrity: "sha1-000000000000000000000000000=",
-                  dependencies: {}
-              };
-              processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
-          }
-      }
-
-      function processDependencies(dir, dependencies) {
-          if(fs.existsSync(dir)) {
-              var files = fs.readdirSync(dir);
-
-              files.forEach(function(entry) {
-                  var filePath = path.join(dir, entry);
-                  var stats = fs.statSync(filePath);
-
-                  if(stats.isDirectory()) {
-                      if(entry.substr(0, 1) == "@") {
-                          // When we encounter a namespace folder, augment all packages belonging to the scope
-                          var pkgFiles = fs.readdirSync(filePath);
-
-                          pkgFiles.forEach(function(entry) {
-                              if(stats.isDirectory()) {
-                                  var pkgFilePath = path.join(filePath, entry);
-                                  augmentPackageJSON(pkgFilePath, dependencies);
-                              }
-                          });
-                      } else {
-                          augmentPackageJSON(filePath, dependencies);
-                      }
-                  }
-              });
-          }
-      }
-
-      processDependencies("node_modules", lockObj.dependencies);
-
-      fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
-    '';
-  };
-
-  prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
-    let
-      forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
-    in
-    ''
-        # Pinpoint the versions of all dependencies to the ones that are actually being used
-        echo "pinpointing versions of dependencies..."
-        source $pinpointDependenciesScriptPath
-
-        # Patch the shebangs of the bundled modules to prevent them from
-        # calling executables outside the Nix store as much as possible
-        patchShebangs .
-
-        # Deploy the Node.js package by running npm install. Since the
-        # dependencies have been provided already by ourselves, it should not
-        # attempt to install them again, which is good, because we want to make
-        # it Nix's responsibility. If it needs to install any dependencies
-        # anyway (e.g. because the dependency parameters are
-        # incomplete/incorrect), it fails.
-        #
-        # The other responsibilities of NPM are kept -- version checks, build
-        # steps, postprocessing etc.
-
-        export HOME=$TMPDIR
-        cd "${packageName}"
-        runHook preRebuild
-
-        ${stdenv.lib.optionalString bypassCache ''
-          ${stdenv.lib.optionalString reconstructLock ''
-            if [ -f package-lock.json ]
-            then
-                echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
-                echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
-                rm package-lock.json
-            else
-                echo "No package-lock.json file found, reconstructing..."
-            fi
-
-            node ${reconstructPackageLock}
-          ''}
-
-          node ${addIntegrityFieldsScript}
-        ''}
-
-        npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
-
-        if [ "$dontNpmInstall" != "1" ]
-        then
-            # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
-            rm -f npm-shrinkwrap.json
-
-            npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
-        fi
-    '';
-
-  # Builds and composes an NPM package including all its dependencies
-  buildNodePackage =
-    { name
-    , packageName
-    , version
-    , dependencies ? []
-    , buildInputs ? []
-    , production ? true
-    , npmFlags ? ""
-    , dontNpmInstall ? false
-    , bypassCache ? false
-    , reconstructLock ? false
-    , preRebuild ? ""
-    , dontStrip ? true
-    , unpackPhase ? "true"
-    , buildPhase ? "true"
-    , ... }@args:
-
-    let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
-    in
-    stdenv.mkDerivation ({
-      name = "node_${name}-${version}";
-      buildInputs = [ tarWrapper python nodejs ]
-        ++ stdenv.lib.optional (stdenv.isLinux) utillinux
-        ++ stdenv.lib.optional (stdenv.isDarwin) libtool
-        ++ buildInputs;
-
-      inherit dontStrip; # Stripping may fail a build for some package deployments
-      inherit dontNpmInstall preRebuild unpackPhase buildPhase;
-
-      compositionScript = composePackage args;
-      pinpointDependenciesScript = pinpointDependenciesOfPackage args;
-
-      passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
-
-      installPhase = ''
-        # Create and enter a root node_modules/ folder
-        mkdir -p $out/lib/node_modules
-        cd $out/lib/node_modules
-
-        # Compose the package and all its dependencies
-        source $compositionScriptPath
-
-        ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
-
-        # Create symlink to the deployed executable folder, if applicable
-        if [ -d "$out/lib/node_modules/.bin" ]
-        then
-            ln -s $out/lib/node_modules/.bin $out/bin
-        fi
-
-        # Create symlinks to the deployed manual page folders, if applicable
-        if [ -d "$out/lib/node_modules/${packageName}/man" ]
-        then
-            mkdir -p $out/share
-            for dir in "$out/lib/node_modules/${packageName}/man/"*
-            do
-                mkdir -p $out/share/man/$(basename "$dir")
-                for page in "$dir"/*
-                do
-                    ln -s $page $out/share/man/$(basename "$dir")
-                done
-            done
-        fi
-
-        # Run post install hook, if provided
-        runHook postInstall
-      '';
-    } // extraArgs);
-
-  # Builds a development shell
-  buildNodeShell =
-    { name
-    , packageName
-    , version
-    , src
-    , dependencies ? []
-    , buildInputs ? []
-    , production ? true
-    , npmFlags ? ""
-    , dontNpmInstall ? false
-    , bypassCache ? false
-    , reconstructLock ? false
-    , dontStrip ? true
-    , unpackPhase ? "true"
-    , buildPhase ? "true"
-    , ... }@args:
-
-    let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
-
-      nodeDependencies = stdenv.mkDerivation ({
-        name = "node-dependencies-${name}-${version}";
-
-        buildInputs = [ tarWrapper python nodejs ]
-          ++ stdenv.lib.optional (stdenv.isLinux) utillinux
-          ++ stdenv.lib.optional (stdenv.isDarwin) libtool
-          ++ buildInputs;
-
-        inherit dontStrip; # Stripping may fail a build for some package deployments
-        inherit dontNpmInstall unpackPhase buildPhase;
-
-        includeScript = includeDependencies { inherit dependencies; };
-        pinpointDependenciesScript = pinpointDependenciesOfPackage args;
-
-        passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
-
-        installPhase = ''
-          mkdir -p $out/${packageName}
-          cd $out/${packageName}
-
-          source $includeScriptPath
-
-          # Create fake package.json to make the npm commands work properly
-          cp ${src}/package.json .
-          chmod 644 package.json
-          ${stdenv.lib.optionalString bypassCache ''
-            if [ -f ${src}/package-lock.json ]
-            then
-                cp ${src}/package-lock.json .
-            fi
-          ''}
-
-          # Go to the parent folder to make sure that all packages are pinpointed
-          cd ..
-          ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-
-          ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
-
-          # Expose the executables that were installed
-          cd ..
-          ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-
-          mv ${packageName} lib
-          ln -s $out/lib/node_modules/.bin $out/bin
-        '';
-      } // extraArgs);
-    in
-    stdenv.mkDerivation {
-      name = "node-shell-${name}-${version}";
-
-      buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
-      buildCommand = ''
-        mkdir -p $out/bin
-        cat > $out/bin/shell <<EOF
-        #! ${stdenv.shell} -e
-        $shellHook
-        exec ${stdenv.shell}
-        EOF
-        chmod +x $out/bin/shell
-      '';
-
-      # Provide the dependencies in a development shell through the NODE_PATH environment variable
-      inherit nodeDependencies;
-      shellHook = stdenv.lib.optionalString (dependencies != []) ''
-        export NODE_PATH=$nodeDependencies/lib/node_modules
-        export PATH="$nodeDependencies/bin:$PATH"
-      '';
-    };
-in
-{
-  buildNodeSourceDist = stdenv.lib.makeOverridable buildNodeSourceDist;
-  buildNodePackage = stdenv.lib.makeOverridable buildNodePackage;
-  buildNodeShell = stdenv.lib.makeOverridable buildNodeShell;
-}
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json
index 49edf6896946..5ba7e49bfa62 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.json
@@ -2,6 +2,8 @@
     "elm-test",
     "elm-verify-examples",
     "elm-doc-preview",
-    "elm-analyse",
-    "elm-upgrade"
+    "elm-upgrade",
+    { "elm-analyse": "0.16.3" },
+    "elm-live",
+    "elm-xref"
 ]
diff --git a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
index c6cc1cbf247a..7605c377057f 100644
--- a/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
+++ b/nixpkgs/pkgs/development/compilers/elm/packages/node-packages.nix
@@ -13,22 +13,13 @@ let
         sha512 = "r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==";
       };
     };
-    "@sindresorhus/is-0.14.0" = {
+    "@sindresorhus/is-0.7.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";
+      version = "0.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
-        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz";
+        sha512 = "ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==";
       };
     };
     "accepts-1.3.7" = {
@@ -40,13 +31,13 @@ let
         sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
       };
     };
-    "ajv-6.10.1" = {
+    "ajv-6.10.2" = {
       name = "ajv";
       packageName = "ajv";
-      version = "6.10.1";
+      version = "6.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz";
-        sha512 = "w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
+        sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
       };
     };
     "ansi-regex-2.1.1" = {
@@ -58,13 +49,22 @@ let
         sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
       };
     };
-    "ansi-regex-3.0.0" = {
+    "ansi-regex-4.1.0" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
-      version = "3.0.0";
+      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-2.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
       };
     };
     "ansi-styles-3.2.1" = {
@@ -85,6 +85,15 @@ let
         sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==";
       };
     };
+    "anymatch-3.0.3" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.0.3.tgz";
+        sha512 = "c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g==";
+      };
+    };
     "arr-diff-4.0.0" = {
       name = "arr-diff";
       packageName = "arr-diff";
@@ -166,13 +175,13 @@ let
         sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
       };
     };
-    "async-limiter-1.0.0" = {
+    "async-limiter-1.0.1" = {
       name = "async-limiter";
       packageName = "async-limiter";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
-        sha512 = "jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==";
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==";
       };
     };
     "asynckit-0.4.0" = {
@@ -238,6 +247,15 @@ let
         sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
       };
     };
+    "batch-0.6.1" = {
+      name = "batch";
+      packageName = "batch";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    };
     "bcrypt-pbkdf-1.0.2" = {
       name = "bcrypt-pbkdf";
       packageName = "bcrypt-pbkdf";
@@ -265,6 +283,15 @@ let
         sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==";
       };
     };
+    "binary-extensions-2.0.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz";
+        sha512 = "Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==";
+      };
+    };
     "bindings-1.5.0" = {
       name = "bindings";
       packageName = "bindings";
@@ -274,13 +301,13 @@ let
         sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
       };
     };
-    "binwrap-0.2.1" = {
+    "binwrap-0.2.2" = {
       name = "binwrap";
       packageName = "binwrap";
-      version = "0.2.1";
+      version = "0.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/binwrap/-/binwrap-0.2.1.tgz";
-        sha512 = "kILc2+zMfFEv66/NLfO2GIpmWRPE8hL68fv+o5A94OlN9AIIG4zernpgn9bpPAImb5t4QwFxnqAGSyP1+tGKrA==";
+        url = "https://registry.npmjs.org/binwrap/-/binwrap-0.2.2.tgz";
+        sha512 = "Y+Wvypk3JhH5GPZAvlwJAWOVH/OsOhQMSj37vySuWHwQivoALplPxfBA8b973rFJI7OS+O+1YmmYXIiEXVMAcw==";
       };
     };
     "bluebird-3.5.5" = {
@@ -328,6 +355,15 @@ let
         sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
       };
     };
+    "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==";
+      };
+    };
     "bser-2.1.0" = {
       name = "bser";
       packageName = "bser";
@@ -373,22 +409,22 @@ let
         sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
       };
     };
-    "cacheable-request-6.1.0" = {
+    "cacheable-request-2.1.4" = {
       name = "cacheable-request";
       packageName = "cacheable-request";
-      version = "6.1.0";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz";
-        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
+        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz";
+        sha1 = "0d808801b6342ad33c91df9d0b44dc09b91e5c3d";
       };
     };
-    "camelcase-4.1.0" = {
+    "camelcase-5.3.1" = {
       name = "camelcase";
       packageName = "camelcase";
-      version = "4.1.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
-        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     };
     "capture-exit-2.0.0" = {
@@ -436,6 +472,15 @@ let
         sha1 = "5eab50b28afe58074d0d58291388828b5e5fbc98";
       };
     };
+    "chalk-1.1.3" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
     "chalk-2.1.0" = {
       name = "chalk";
       packageName = "chalk";
@@ -454,6 +499,15 @@ let
         sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     };
+    "charenc-0.0.2" = {
+      name = "charenc";
+      packageName = "charenc";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz";
+        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+      };
+    };
     "chokidar-2.1.2" = {
       name = "chokidar";
       packageName = "chokidar";
@@ -463,6 +517,15 @@ let
         sha512 = "IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==";
       };
     };
+    "chokidar-3.0.0" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.0.0.tgz";
+        sha512 = "ebzWopcacB2J19Jsb5RPtMrzmjUZ5VAQnsL0Ztrix3lswozHbiDp+1Lg3AWSKHdwsps/W2vtshA/x3I827F78g==";
+      };
+    };
     "chownr-1.1.2" = {
       name = "chownr";
       packageName = "chownr";
@@ -481,13 +544,22 @@ let
         sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
       };
     };
-    "cliui-4.1.0" = {
+    "cli-color-1.2.0" = {
+      name = "cli-color";
+      packageName = "cli-color";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz";
+        sha1 = "3a5ae74fd76b6267af666e69e2afbbd01def34d1";
+      };
+    };
+    "cliui-5.0.0" = {
       name = "cliui";
       packageName = "cliui";
-      version = "4.1.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz";
-        sha512 = "4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==";
+        url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
+        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
       };
     };
     "clone-response-1.0.2" = {
@@ -499,15 +571,6 @@ let
         sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
       };
     };
-    "code-point-at-1.1.0" = {
-      name = "code-point-at";
-      packageName = "code-point-at";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
-        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
-      };
-    };
     "collection-visit-1.0.0" = {
       name = "collection-visit";
       packageName = "collection-visit";
@@ -544,13 +607,31 @@ let
         sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
-    "commander-2.20.0" = {
+    "commander-2.17.1" = {
       name = "commander";
       packageName = "commander";
-      version = "2.20.0";
+      version = "2.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz";
-        sha512 = "7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==";
+        url = "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz";
+        sha512 = "wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==";
+      };
+    };
+    "commander-2.9.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    };
+    "commander-3.0.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-3.0.0.tgz";
+        sha512 = "pl3QrGOBa9RZaslQiqnnKX2J068wcQw7j9AIaBQ9/JEp5RY6je4jKTImg0Bd+rpoONSe7GUFSgkxLeo17m3Pow==";
       };
     };
     "component-emitter-1.3.0" = {
@@ -589,6 +670,15 @@ let
         sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==";
       };
     };
+    "connect-pushstate-1.1.0" = {
+      name = "connect-pushstate";
+      packageName = "connect-pushstate";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-pushstate/-/connect-pushstate-1.1.0.tgz";
+        sha1 = "bcab224271c439604a0fb0f614c0a5f563e88e24";
+      };
+    };
     "content-disposition-0.5.2" = {
       name = "content-disposition";
       packageName = "content-disposition";
@@ -661,6 +751,15 @@ let
         sha512 = "HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==";
       };
     };
+    "core-js-3.2.1" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.2.1.tgz";
+        sha512 = "Qa5XSVefSVPRxy2XfUC13WbvqkxhkwB3ve+pgCQveNgYzbM/UxZeu1dcOX/xr4UmfUd+muuvsaxilQzCyUurMw==";
+      };
+    };
     "core-util-is-1.0.2" = {
       name = "core-util-is";
       packageName = "core-util-is";
@@ -688,13 +787,13 @@ let
         sha1 = "8254774ab4786b8c5b3cf4dfba66ce563932c252";
       };
     };
-    "cross-spawn-5.1.0" = {
+    "cross-spawn-5.0.1" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
-      version = "5.1.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
-        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.0.1.tgz";
+        sha1 = "a3bbb302db2297cbea3c04edf36941f4613aa399";
       };
     };
     "cross-spawn-6.0.5" = {
@@ -706,6 +805,24 @@ let
         sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==";
       };
     };
+    "crypt-0.0.2" = {
+      name = "crypt";
+      packageName = "crypt";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz";
+        sha1 = "88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b";
+      };
+    };
+    "d-1.0.1" = {
+      name = "d";
+      packageName = "d";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz";
+        sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
+      };
+    };
     "dashdash-1.14.1" = {
       name = "dashdash";
       packageName = "dashdash";
@@ -724,6 +841,15 @@ let
         sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     };
+    "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==";
+      };
+    };
     "decamelize-1.2.0" = {
       name = "decamelize";
       packageName = "decamelize";
@@ -760,13 +886,22 @@ let
         sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     };
-    "defer-to-connect-1.0.2" = {
-      name = "defer-to-connect";
-      packageName = "defer-to-connect";
-      version = "1.0.2";
+    "default-gateway-2.7.2" = {
+      name = "default-gateway";
+      packageName = "default-gateway";
+      version = "2.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz";
-        sha512 = "k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==";
+        url = "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz";
+        sha512 = "lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==";
+      };
+    };
+    "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==";
       };
     };
     "define-property-0.2.5" = {
@@ -859,6 +994,15 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
+    "elm-serve-0.4.0" = {
+      name = "elm-serve";
+      packageName = "elm-serve";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/elm-serve/-/elm-serve-0.4.0.tgz";
+        sha512 = "NYXzzaJT/zw8v7jzDWGXuvX3/soj+5NTLHxX0n/T6DICbmyDj8kO7rlI2wSKs9UTNjXhZ7quFQEKcgcf/SZksw==";
+      };
+    };
     "elm-test-0.19.0-rev6" = {
       name = "elm-test";
       packageName = "elm-test";
@@ -877,6 +1021,15 @@ let
         sha512 = "O0Z3YsYU9OTb1hTDGORWxi69QjQFEIPfZVq/oc1D5lhL3swduHKY8vdKGuo+WlKVdTas99oNIsgL7yojWdYcsQ==";
       };
     };
+    "emoji-regex-7.0.3" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "7.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
+      };
+    };
     "encodeurl-1.0.2" = {
       name = "encodeurl";
       packageName = "encodeurl";
@@ -895,6 +1048,69 @@ let
         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==";
+      };
+    };
+    "es5-ext-0.10.50" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.50";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz";
+        sha512 = "KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==";
+      };
+    };
+    "es6-iterator-2.0.3" = {
+      name = "es6-iterator";
+      packageName = "es6-iterator";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    };
+    "es6-promisify-6.0.2" = {
+      name = "es6-promisify";
+      packageName = "es6-promisify";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.0.2.tgz";
+        sha512 = "eO6vFm0JvqGzjWIQA6QVKjxpmELfhWbDUWHm1rPfIbn55mhKPiAa5xpLmQWJrNa629ZIeQ8ZvMAi13kvrjK6Mg==";
+      };
+    };
+    "es6-symbol-3.1.1" = {
+      name = "es6-symbol";
+      packageName = "es6-symbol";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz";
+        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
+      };
+    };
+    "es6-weak-map-2.0.3" = {
+      name = "es6-weak-map";
+      packageName = "es6-weak-map";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz";
+        sha512 = "p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==";
+      };
+    };
     "escape-html-1.0.3" = {
       name = "escape-html";
       packageName = "escape-html";
@@ -922,6 +1138,24 @@ let
         sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
       };
     };
+    "event-emitter-0.3.5" = {
+      name = "event-emitter";
+      packageName = "event-emitter";
+      version = "0.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
+        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+      };
+    };
+    "eventemitter3-3.1.2" = {
+      name = "eventemitter3";
+      packageName = "eventemitter3";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz";
+        sha512 = "tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==";
+      };
+    };
     "exec-sh-0.3.2" = {
       name = "exec-sh";
       packageName = "exec-sh";
@@ -931,13 +1165,13 @@ let
         sha512 = "9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==";
       };
     };
-    "execa-0.7.0" = {
+    "execa-0.10.0" = {
       name = "execa";
       packageName = "execa";
-      version = "0.7.0";
+      version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
-        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+        url = "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz";
+        sha512 = "7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==";
       };
     };
     "execa-1.0.0" = {
@@ -1084,6 +1318,15 @@ let
         sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
       };
     };
+    "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==";
+      };
+    };
     "finalhandler-1.1.1" = {
       name = "finalhandler";
       packageName = "finalhandler";
@@ -1129,13 +1372,13 @@ let
         sha1 = "33c44b429ab2b2f0646299c5f9f718f376ff8d54";
       };
     };
-    "find-up-2.1.0" = {
+    "find-up-3.0.0" = {
       name = "find-up";
       packageName = "find-up";
-      version = "2.1.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
-        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+        url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
+        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
       };
     };
     "firstline-1.2.0" = {
@@ -1156,6 +1399,15 @@ let
         sha1 = "b88673c42009f8821fac2926e99720acee924fae";
       };
     };
+    "follow-redirects-1.8.1" = {
+      name = "follow-redirects";
+      packageName = "follow-redirects";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.8.1.tgz";
+        sha512 = "micCIbldHioIegeKs41DoH0KS3AXfFzgS30qVkM6z/XOE/GJgvmsoc839NUqa1B9udYe9dQxgv7KFwng6+p/dw==";
+      };
+    };
     "for-in-1.0.2" = {
       name = "for-in";
       packageName = "for-in";
@@ -1210,6 +1462,15 @@ let
         sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
       };
     };
+    "from2-2.3.0" = {
+      name = "from2";
+      packageName = "from2";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    };
     "fs-extra-0.30.0" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -1237,6 +1498,15 @@ let
         sha512 = "66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==";
       };
     };
+    "fs-extra-6.0.1" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.1.tgz";
+        sha512 = "GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==";
+      };
+    };
     "fs-minipass-1.2.6" = {
       name = "fs-minipass";
       packageName = "fs-minipass";
@@ -1273,13 +1543,31 @@ let
         sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
       };
     };
-    "get-caller-file-1.0.3" = {
+    "fsevents-2.0.7" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "2.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz";
+        sha512 = "a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==";
+      };
+    };
+    "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==";
+      };
+    };
+    "get-caller-file-2.0.5" = {
       name = "get-caller-file";
       packageName = "get-caller-file";
-      version = "1.0.3";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz";
-        sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz";
+        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     };
     "get-proxy-2.1.0" = {
@@ -1309,15 +1597,6 @@ let
         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==";
-      };
-    };
     "get-value-2.0.6" = {
       name = "get-value";
       packageName = "get-value";
@@ -1363,6 +1642,15 @@ let
         sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
       };
     };
+    "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==";
+      };
+    };
     "got-6.7.1" = {
       name = "got";
       packageName = "got";
@@ -1372,22 +1660,31 @@ let
         sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
       };
     };
-    "got-9.6.0" = {
+    "got-8.3.2" = {
       name = "got";
       packageName = "got";
-      version = "9.6.0";
+      version = "8.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-9.6.0.tgz";
-        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
+        url = "https://registry.npmjs.org/got/-/got-8.3.2.tgz";
+        sha512 = "qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==";
       };
     };
-    "graceful-fs-4.2.0" = {
+    "graceful-fs-4.2.2" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.0";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz";
-        sha512 = "jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
+      };
+    };
+    "graceful-readlink-1.0.1" = {
+      name = "graceful-readlink";
+      packageName = "graceful-readlink";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
       };
     };
     "har-schema-2.0.0" = {
@@ -1408,6 +1705,24 @@ let
         sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
       };
     };
+    "has-1.0.3" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+      };
+    };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
     "has-flag-2.0.0" = {
       name = "has-flag";
       packageName = "has-flag";
@@ -1435,6 +1750,15 @@ let
         sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==";
       };
     };
+    "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";
+      };
+    };
     "has-to-string-tag-x-1.4.1" = {
       name = "has-to-string-tag-x";
       packageName = "has-to-string-tag-x";
@@ -1480,13 +1804,13 @@ let
         sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
       };
     };
-    "http-cache-semantics-4.0.3" = {
+    "http-cache-semantics-3.8.1" = {
       name = "http-cache-semantics";
       packageName = "http-cache-semantics";
-      version = "4.0.3";
+      version = "3.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz";
-        sha512 = "TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==";
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz";
+        sha512 = "5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==";
       };
     };
     "http-errors-1.6.2" = {
@@ -1516,6 +1840,15 @@ let
         sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
       };
     };
+    "http-proxy-1.17.0" = {
+      name = "http-proxy";
+      packageName = "http-proxy";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz";
+        sha512 = "Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==";
+      };
+    };
     "http-signature-1.2.0" = {
       name = "http-signature";
       packageName = "http-signature";
@@ -1579,13 +1912,31 @@ let
         sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
       };
     };
-    "invert-kv-1.0.0" = {
-      name = "invert-kv";
-      packageName = "invert-kv";
-      version = "1.0.0";
+    "internal-ip-3.0.1" = {
+      name = "internal-ip";
+      packageName = "internal-ip";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz";
+        sha512 = "NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==";
+      };
+    };
+    "into-stream-3.1.0" = {
+      name = "into-stream";
+      packageName = "into-stream";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz";
+        sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
+      };
+    };
+    "ip-regex-2.1.0" = {
+      name = "ip-regex";
+      packageName = "ip-regex";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
-        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz";
+        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
       };
     };
     "ipaddr.js-1.9.0" = {
@@ -1597,6 +1948,15 @@ let
         sha512 = "M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==";
       };
     };
+    "ipaddr.js-1.9.1" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==";
+      };
+    };
     "is-accessor-descriptor-0.1.6" = {
       name = "is-accessor-descriptor";
       packageName = "is-accessor-descriptor";
@@ -1624,6 +1984,15 @@ let
         sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
       };
     };
+    "is-binary-path-2.1.0" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
+      };
+    };
     "is-buffer-1.1.6" = {
       name = "is-buffer";
       packageName = "is-buffer";
@@ -1633,6 +2002,15 @@ let
         sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
       };
     };
+    "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-data-descriptor-0.1.4" = {
       name = "is-data-descriptor";
       packageName = "is-data-descriptor";
@@ -1651,6 +2029,15 @@ let
         sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
       };
     };
+    "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-descriptor-0.1.6" = {
       name = "is-descriptor";
       packageName = "is-descriptor";
@@ -1696,15 +2083,6 @@ let
         sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
       };
     };
-    "is-fullwidth-code-point-1.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
-        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
-      };
-    };
     "is-fullwidth-code-point-2.0.0" = {
       name = "is-fullwidth-code-point";
       packageName = "is-fullwidth-code-point";
@@ -1741,6 +2119,15 @@ let
         sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
       };
     };
+    "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-object-1.0.1" = {
       name = "is-object";
       packageName = "is-object";
@@ -1750,6 +2137,15 @@ let
         sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470";
       };
     };
+    "is-plain-obj-1.1.0" = {
+      name = "is-plain-obj";
+      packageName = "is-plain-obj";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    };
     "is-plain-object-2.0.4" = {
       name = "is-plain-object";
       packageName = "is-plain-object";
@@ -1759,6 +2155,15 @@ let
         sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
       };
     };
+    "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-redirect-1.0.0" = {
       name = "is-redirect";
       packageName = "is-redirect";
@@ -1768,6 +2173,15 @@ let
         sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
       };
     };
+    "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-retry-allowed-1.1.0" = {
       name = "is-retry-allowed";
       packageName = "is-retry-allowed";
@@ -1786,6 +2200,15 @@ let
         sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
       };
     };
+    "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-typedarray-1.0.0" = {
       name = "is-typedarray";
       packageName = "is-typedarray";
@@ -1939,13 +2362,13 @@ let
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
-    "keyv-3.1.0" = {
+    "keyv-3.0.0" = {
       name = "keyv";
       packageName = "keyv";
-      version = "3.1.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz";
-        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz";
+        sha512 = "eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==";
       };
     };
     "kind-of-3.2.2" = {
@@ -1993,31 +2416,31 @@ let
         sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
       };
     };
-    "latest-version-5.1.0" = {
-      name = "latest-version";
-      packageName = "latest-version";
-      version = "5.1.0";
+    "klaw-2.1.1" = {
+      name = "klaw";
+      packageName = "klaw";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz";
-        sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
+        url = "https://registry.npmjs.org/klaw/-/klaw-2.1.1.tgz";
+        sha1 = "42b76894701169cc910fd0d19ce677b5fb378af1";
       };
     };
-    "lcid-1.0.0" = {
-      name = "lcid";
-      packageName = "lcid";
-      version = "1.0.0";
+    "latest-version-4.0.0" = {
+      name = "latest-version";
+      packageName = "latest-version";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
-        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+        url = "https://registry.npmjs.org/latest-version/-/latest-version-4.0.0.tgz";
+        sha512 = "b4Myk7aQiQJvgssw2O8yITjELdqKRX4JQJUF1IUplgLaA8unv7s+UsAOwH6Q0/a09czSvlxEm306it2LBXrCzg==";
       };
     };
-    "locate-path-2.0.0" = {
+    "locate-path-3.0.0" = {
       name = "locate-path";
       packageName = "locate-path";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
-        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
+        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
       };
     };
     "lodash-4.17.11" = {
@@ -2029,22 +2452,22 @@ let
         sha512 = "cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==";
       };
     };
-    "lowercase-keys-1.0.1" = {
+    "lowercase-keys-1.0.0" = {
       name = "lowercase-keys";
       packageName = "lowercase-keys";
-      version = "1.0.1";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+        sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
       };
     };
-    "lowercase-keys-2.0.0" = {
+    "lowercase-keys-1.0.1" = {
       name = "lowercase-keys";
       packageName = "lowercase-keys";
-      version = "2.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
-        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
+        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
+        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
       };
     };
     "lru-cache-4.1.5" = {
@@ -2056,6 +2479,15 @@ let
         sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
       };
     };
+    "lru-queue-0.1.0" = {
+      name = "lru-queue";
+      packageName = "lru-queue";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz";
+        sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3";
+      };
+    };
     "makeerror-1.0.11" = {
       name = "makeerror";
       packageName = "makeerror";
@@ -2083,6 +2515,15 @@ let
         sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
       };
     };
+    "md5-2.2.1" = {
+      name = "md5";
+      packageName = "md5";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz";
+        sha1 = "53ab38d5fe3c8891ba465329ea23fac0540126f9";
+      };
+    };
     "media-typer-0.3.0" = {
       name = "media-typer";
       packageName = "media-typer";
@@ -2092,13 +2533,13 @@ let
         sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
       };
     };
-    "mem-1.1.0" = {
-      name = "mem";
-      packageName = "mem";
-      version = "1.1.0";
+    "memoizee-0.4.14" = {
+      name = "memoizee";
+      packageName = "memoizee";
+      version = "0.4.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz";
-        sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
+        url = "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz";
+        sha512 = "/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==";
       };
     };
     "merge-descriptors-1.0.1" = {
@@ -2164,15 +2605,6 @@ let
         sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
       };
     };
-    "mimic-fn-1.2.0" = {
-      name = "mimic-fn";
-      packageName = "mimic-fn";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
-        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
-      };
-    };
     "mimic-response-1.0.1" = {
       name = "mimic-response";
       packageName = "mimic-response";
@@ -2209,13 +2641,13 @@ let
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
-    "minipass-2.3.5" = {
+    "minipass-2.4.0" = {
       name = "minipass";
       packageName = "minipass";
-      version = "2.3.5";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz";
-        sha512 = "Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==";
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.4.0.tgz";
+        sha512 = "6PmOuSP4NnZXzs2z6rbwzLJu/c5gdzYg1mRI/WIYdx45iiX7T+a4esOzavD6V/KmBzAaopFSTZPZcUx73bqKWA==";
       };
     };
     "minizlib-1.2.1" = {
@@ -2263,6 +2695,15 @@ let
         sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
       };
     };
+    "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==";
+      };
+    };
     "murmur-hash-js-1.0.0" = {
       name = "murmur-hash-js";
       packageName = "murmur-hash-js";
@@ -2272,13 +2713,13 @@ let
         sha1 = "5041049269c96633c866386960b2f4289e75e5b0";
       };
     };
-    "mustache-2.3.2" = {
+    "mustache-3.0.3" = {
       name = "mustache";
       packageName = "mustache";
-      version = "2.3.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz";
-        sha512 = "KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==";
+        url = "https://registry.npmjs.org/mustache/-/mustache-3.0.3.tgz";
+        sha512 = "vM5FkMHamTYmVYeAujypihuPrJQDtaUIlKeeVb1AMJ73OZLtWiF7GprqrjxD0gJWT53W9JfqXxf97nXQjMQkqA==";
       };
     };
     "nan-2.14.0" = {
@@ -2308,6 +2749,15 @@ let
         sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
+    "next-tick-1.0.0" = {
+      name = "next-tick";
+      packageName = "next-tick";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    };
     "nice-try-1.0.5" = {
       name = "nice-try";
       packageName = "nice-try";
@@ -2362,13 +2812,13 @@ let
         sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     };
-    "normalize-url-4.3.0" = {
+    "normalize-url-2.0.1" = {
       name = "normalize-url";
       packageName = "normalize-url";
-      version = "4.3.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.3.0.tgz";
-        sha512 = "0NLtR71o4k6GLP+mr6Ty34c5GA6CMoEsncKJxvQd8NzPxaHRJNnb5gZE8R1XF4CPIS7QPHLJ74IFszwtNVAHVQ==";
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz";
+        sha512 = "D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==";
       };
     };
     "npm-conf-1.1.3" = {
@@ -2389,13 +2839,13 @@ let
         sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
       };
     };
-    "number-is-nan-1.0.1" = {
-      name = "number-is-nan";
-      packageName = "number-is-nan";
-      version = "1.0.1";
+    "npx-10.2.0" = {
+      name = "npx";
+      packageName = "npx";
+      version = "10.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
-        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+        url = "https://registry.npmjs.org/npx/-/npx-10.2.0.tgz";
+        sha512 = "DqjFkzET0DeaXYXNJnirnvEovwk4lBa33ZQCw1jxMuas4yH9jdU8q2U8L3cLaB2UqzgmW2Ssqk8lcGiPRL8pRg==";
       };
     };
     "oauth-sign-0.9.0" = {
@@ -2407,6 +2857,15 @@ let
         sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
       };
     };
+    "object-assign-4.1.1" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    };
     "object-copy-0.1.0" = {
       name = "object-copy";
       packageName = "object-copy";
@@ -2416,6 +2875,15 @@ let
         sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
       };
     };
+    "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==";
+      };
+    };
     "object-visit-1.0.1" = {
       name = "object-visit";
       packageName = "object-visit";
@@ -2425,6 +2893,15 @@ let
         sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
       };
     };
+    "object.getownpropertydescriptors-2.0.3" = {
+      name = "object.getownpropertydescriptors";
+      packageName = "object.getownpropertydescriptors";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    };
     "object.pick-1.3.0" = {
       name = "object.pick";
       packageName = "object.pick";
@@ -2452,6 +2929,15 @@ let
         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
+    "opn-5.3.0" = {
+      name = "opn";
+      packageName = "opn";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz";
+        sha512 = "bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==";
+      };
+    };
     "opn-5.4.0" = {
       name = "opn";
       packageName = "opn";
@@ -2461,6 +2947,15 @@ let
         sha512 = "YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==";
       };
     };
+    "opn-5.5.0" = {
+      name = "opn";
+      packageName = "opn";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz";
+        sha512 = "PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==";
+      };
+    };
     "options-0.0.6" = {
       name = "options";
       packageName = "options";
@@ -2479,15 +2974,6 @@ let
         sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
       };
     };
-    "os-locale-2.1.0" = {
-      name = "os-locale";
-      packageName = "os-locale";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz";
-        sha512 = "3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==";
-      };
-    };
     "os-tmpdir-1.0.2" = {
       name = "os-tmpdir";
       packageName = "os-tmpdir";
@@ -2497,13 +2983,13 @@ let
         sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
       };
     };
-    "p-cancelable-1.1.0" = {
+    "p-cancelable-0.4.1" = {
       name = "p-cancelable";
       packageName = "p-cancelable";
-      version = "1.1.0";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
-        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
+        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz";
+        sha512 = "HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==";
       };
     };
     "p-finally-1.0.0" = {
@@ -2515,40 +3001,58 @@ let
         sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
       };
     };
-    "p-limit-1.3.0" = {
+    "p-is-promise-1.1.0" = {
+      name = "p-is-promise";
+      packageName = "p-is-promise";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz";
+        sha1 = "9c9456989e9f6588017b0434d56097675c3da05e";
+      };
+    };
+    "p-limit-2.2.1" = {
       name = "p-limit";
       packageName = "p-limit";
-      version = "1.3.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
-        sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz";
+        sha512 = "85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==";
       };
     };
-    "p-locate-2.0.0" = {
+    "p-locate-3.0.0" = {
       name = "p-locate";
       packageName = "p-locate";
-      version = "2.0.0";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
+        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
+      };
+    };
+    "p-timeout-2.0.1" = {
+      name = "p-timeout";
+      packageName = "p-timeout";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
-        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz";
+        sha512 = "88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==";
       };
     };
-    "p-try-1.0.0" = {
+    "p-try-2.2.0" = {
       name = "p-try";
       packageName = "p-try";
-      version = "1.0.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
-        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
       };
     };
-    "package-json-6.4.0" = {
+    "package-json-5.0.0" = {
       name = "package-json";
       packageName = "package-json";
-      version = "6.4.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-6.4.0.tgz";
-        sha512 = "bd1T8OBG7hcvMd9c/udgv6u5v9wISP3Oyl9Cm7Weop8EFwrtcQDnS2sb6zhwqus2WslSr5wSTIPiTTpxxmPm7Q==";
+        url = "https://registry.npmjs.org/package-json/-/package-json-5.0.0.tgz";
+        sha512 = "EeHQFFTlEmLrkIQoxbE9w0FuAWHoc1XpthDqnZ/i9keOt701cteyXwAxQFLpVqVjj3feh2TodkihjLaRUtIgLg==";
       };
     };
     "parseurl-1.3.3" = {
@@ -2614,6 +3118,15 @@ let
         sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
       };
     };
+    "pem-1.13.2" = {
+      name = "pem";
+      packageName = "pem";
+      version = "1.13.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pem/-/pem-1.13.2.tgz";
+        sha512 = "MPJWuEb/r6AG+GpZi2JnfNtGAZDeL/8+ERKwXEWRuST5i+4lq/Uy36B352OWIUSPQGH+HR1HEDcIDi+8cKxXNg==";
+      };
+    };
     "performance-now-2.1.0" = {
       name = "performance-now";
       packageName = "performance-now";
@@ -2623,6 +3136,15 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
+    "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==";
+      };
+    };
     "pify-3.0.0" = {
       name = "pify";
       packageName = "pify";
@@ -2704,13 +3226,13 @@ let
         sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
       };
     };
-    "psl-1.2.0" = {
+    "psl-1.3.0" = {
       name = "psl";
       packageName = "psl";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/psl/-/psl-1.2.0.tgz";
-        sha512 = "GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA==";
+        url = "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz";
+        sha512 = "avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==";
       };
     };
     "pump-3.0.0" = {
@@ -2767,6 +3289,24 @@ let
         sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
+    "query-string-5.1.1" = {
+      name = "query-string";
+      packageName = "query-string";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz";
+        sha512 = "gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==";
+      };
+    };
+    "querystringify-2.1.1" = {
+      name = "querystringify";
+      packageName = "querystringify";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz";
+        sha512 = "w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==";
+      };
+    };
     "range-parser-1.2.1" = {
       name = "range-parser";
       packageName = "range-parser";
@@ -2830,6 +3370,15 @@ let
         sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==";
       };
     };
+    "readdirp-3.1.2" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.1.2.tgz";
+        sha512 = "8rhl0xs2cxfVsqzreYCvs8EwBfn/DhVdqtoLmw19uI3SC5avYX9teCurlErfpPXGmYtMHReGaP2RsLnFvz/lnw==";
+      };
+    };
     "regenerator-runtime-0.9.6" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
@@ -2857,13 +3406,13 @@ let
         sha512 = "4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==";
       };
     };
-    "registry-url-5.1.0" = {
+    "registry-url-3.1.0" = {
       name = "registry-url";
       packageName = "registry-url";
-      version = "5.1.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz";
-        sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
+        url = "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz";
+        sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
       };
     };
     "remove-trailing-separator-1.1.0" = {
@@ -2929,13 +3478,22 @@ let
         sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
       };
     };
-    "require-main-filename-1.0.1" = {
+    "require-main-filename-2.0.0" = {
       name = "require-main-filename";
       packageName = "require-main-filename";
-      version = "1.0.1";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz";
+        sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
+      };
+    };
+    "requires-port-1.0.0" = {
+      name = "requires-port";
+      packageName = "requires-port";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
-        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+        url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
       };
     };
     "resolve-url-0.2.1" = {
@@ -2974,13 +3532,13 @@ let
         sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
       };
     };
-    "rimraf-2.6.3" = {
+    "rimraf-2.7.1" = {
       name = "rimraf";
       packageName = "rimraf";
-      version = "2.6.3";
+      version = "2.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz";
-        sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==";
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
       };
     };
     "rsvp-4.8.5" = {
@@ -3055,22 +3613,31 @@ let
         sha512 = "hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==";
       };
     };
-    "semver-5.7.0" = {
+    "semver-5.7.1" = {
       name = "semver";
       packageName = "semver";
-      version = "5.7.0";
+      version = "5.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz";
-        sha512 = "Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==";
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
       };
     };
-    "semver-6.2.0" = {
-      name = "semver";
-      packageName = "semver";
-      version = "6.2.0";
+    "semver-regex-1.0.0" = {
+      name = "semver-regex";
+      packageName = "semver-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz";
+        sha1 = "92a4969065f9c70c694753d55248fc68f8f652c9";
+      };
+    };
+    "semver-sort-0.0.4" = {
+      name = "semver-sort";
+      packageName = "semver-sort";
+      version = "0.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz";
-        sha512 = "jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==";
+        url = "https://registry.npmjs.org/semver-sort/-/semver-sort-0.0.4.tgz";
+        sha1 = "34fdbddc6a6b2b4161398c3c4dba56243bfeaa8b";
       };
     };
     "send-0.16.2" = {
@@ -3091,6 +3658,15 @@ let
         sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
       };
     };
+    "serve-index-1.9.1" = {
+      name = "serve-index";
+      packageName = "serve-index";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    };
     "serve-static-1.13.2" = {
       name = "serve-static";
       packageName = "serve-static";
@@ -3208,6 +3784,15 @@ let
         sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
       };
     };
+    "sort-keys-2.0.0" = {
+      name = "sort-keys";
+      packageName = "sort-keys";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz";
+        sha1 = "658535584861ec97d730d6cf41822e1f56684128";
+      };
+    };
     "source-map-0.5.7" = {
       name = "source-map";
       packageName = "source-map";
@@ -3298,22 +3883,22 @@ let
         sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
       };
     };
-    "string-width-1.0.2" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "1.0.2";
+    "strict-uri-encode-1.1.0" = {
+      name = "strict-uri-encode";
+      packageName = "strict-uri-encode";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
-        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
       };
     };
-    "string-width-2.1.1" = {
+    "string-width-3.1.0" = {
       name = "string-width";
       packageName = "string-width";
-      version = "2.1.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
+        url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
+        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -3343,13 +3928,13 @@ let
         sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
       };
     };
-    "strip-ansi-4.0.0" = {
+    "strip-ansi-5.2.0" = {
       name = "strip-ansi";
       packageName = "strip-ansi";
-      version = "4.0.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
-        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     };
     "strip-eof-1.0.0" = {
@@ -3379,6 +3964,24 @@ let
         sha1 = "d78c14398297d604fe6588dc3b03deca7b91ba93";
       };
     };
+    "supervisor-0.12.0" = {
+      name = "supervisor";
+      packageName = "supervisor";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supervisor/-/supervisor-0.12.0.tgz";
+        sha1 = "de7e6337015b291851c10f3538c4a7f04917ecc1";
+      };
+    };
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    };
     "supports-color-4.2.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -3442,6 +4045,15 @@ let
         sha1 = "384e75314d49f32de12eebb8136b8eb6b5d59da9";
       };
     };
+    "through2-2.0.5" = {
+      name = "through2";
+      packageName = "through2";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz";
+        sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==";
+      };
+    };
     "timed-out-4.0.1" = {
       name = "timed-out";
       packageName = "timed-out";
@@ -3451,6 +4063,15 @@ let
         sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
       };
     };
+    "timers-ext-0.1.7" = {
+      name = "timers-ext";
+      packageName = "timers-ext";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz";
+        sha512 = "b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==";
+      };
+    };
     "tmp-0.0.31" = {
       name = "tmp";
       packageName = "tmp";
@@ -3487,15 +4108,6 @@ let
         sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
       };
     };
-    "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-3.0.2" = {
       name = "to-regex";
       packageName = "to-regex";
@@ -3514,6 +4126,15 @@ let
         sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
       };
     };
+    "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==";
+      };
+    };
     "toidentifier-1.0.0" = {
       name = "toidentifier";
       packageName = "toidentifier";
@@ -3568,6 +4189,15 @@ let
         sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
       };
     };
+    "type-1.0.3" = {
+      name = "type";
+      packageName = "type";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type/-/type-1.0.3.tgz";
+        sha512 = "51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg==";
+      };
+    };
     "type-is-1.6.18" = {
       name = "type-is";
       packageName = "type-is";
@@ -3685,6 +4315,15 @@ let
         sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
       };
     };
+    "url-parse-1.4.3" = {
+      name = "url-parse";
+      packageName = "url-parse";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz";
+        sha512 = "rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==";
+      };
+    };
     "url-parse-lax-1.0.0" = {
       name = "url-parse-lax";
       packageName = "url-parse-lax";
@@ -3730,6 +4369,15 @@ let
         sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
       };
     };
+    "util.promisify-1.0.0" = {
+      name = "util.promisify";
+      packageName = "util.promisify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha512 = "i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==";
+      };
+    };
     "utils-merge-1.0.1" = {
       name = "utils-merge";
       packageName = "utils-merge";
@@ -3739,13 +4387,13 @@ let
         sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
       };
     };
-    "uuid-3.3.2" = {
+    "uuid-3.3.3" = {
       name = "uuid";
       packageName = "uuid";
-      version = "3.3.2";
+      version = "3.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
-        sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz";
+        sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==";
       };
     };
     "vary-1.1.2" = {
@@ -3793,13 +4441,13 @@ let
         sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
       };
     };
-    "wrap-ansi-2.1.0" = {
+    "wrap-ansi-5.1.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
-      version = "2.1.0";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
-        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
+        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
       };
     };
     "wrappy-1.0.2" = {
@@ -3829,6 +4477,15 @@ let
         sha512 = "8A/uRMnQy8KCQsmep1m7Bk+z/+LIkeF7w+TDMLtX1iZm5Hq9HsUDmgFGaW1ACW5Cj0b2Qo7wCvRhYN2ErUVp/A==";
       };
     };
+    "ws-5.2.0" = {
+      name = "ws";
+      packageName = "ws";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-5.2.0.tgz";
+        sha512 = "c18dMeW+PEQdDFzkhDsnBAlS4Z8KGStBQQUcQ5mf7Nf689jyGk0594L+i9RaQuf4gog6SvWLJorz2NfSaqxZ7w==";
+      };
+    };
     "ws-5.2.2" = {
       name = "ws";
       packageName = "ws";
@@ -3838,13 +4495,13 @@ let
         sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==";
       };
     };
-    "ws-7.1.0" = {
+    "ws-6.2.1" = {
       name = "ws";
       packageName = "ws";
-      version = "7.1.0";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.1.0.tgz";
-        sha512 = "Swie2C4fs7CkwlHu1glMePLYJJsWjzhl1vm3ZaLplD0h7OMkZyZ6kLTB/OagiU923bZrPFXuDTeEqaEN4NWG4g==";
+        url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz";
+        sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==";
       };
     };
     "xmlbuilder-8.2.2" = {
@@ -3865,13 +4522,13 @@ let
         sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
-    "y18n-3.2.1" = {
+    "y18n-4.0.0" = {
       name = "y18n";
       packageName = "y18n";
-      version = "3.2.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
-        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
+        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
       };
     };
     "yallist-2.1.2" = {
@@ -3892,22 +4549,22 @@ let
         sha512 = "S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==";
       };
     };
-    "yargs-10.1.2" = {
+    "yargs-13.3.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "10.1.2";
+      version = "13.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz";
-        sha512 = "ivSoxqBGYOqQVruxD35+EyCFDYNEFL/Uo6FcOnz+9xZdZzK0Zzw4r4KhbrME1Oo2gOggwJod2MnsdamSG7H9ig==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz";
+        sha512 = "2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==";
       };
     };
-    "yargs-parser-8.1.0" = {
+    "yargs-parser-13.1.1" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
-      version = "8.1.0";
+      version = "13.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz";
-        sha512 = "yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==";
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha512 = "oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==";
       };
     };
     "yn-2.0.0" = {
@@ -3931,7 +4588,7 @@ in
       sha512 = "Qdy9QusZF+eT0203XBiT1Y/UhFeUjcSuyyzf3iyp32dsYpAfcoDTWHjlBVjia1CyvFauESQ4pc81nKaq6snClg==";
     };
     dependencies = [
-      sources."ajv-6.10.1"
+      sources."ajv-6.10.2"
       sources."ansi-styles-3.2.1"
       (sources."anymatch-2.0.0" // {
         dependencies = [
@@ -3959,7 +4616,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-0.3.0"
       sources."binary-extensions-1.13.1"
-      sources."binwrap-0.2.1"
+      sources."binwrap-0.2.2"
       sources."bluebird-3.5.5"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
@@ -4073,7 +4730,7 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-2.0.0"
@@ -4123,7 +4780,7 @@ in
       sources."mime-types-2.1.24"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."minipass-2.3.5" // {
+      (sources."minipass-2.4.0" // {
         dependencies = [
           sources."yallist-3.0.3"
         ];
@@ -4137,7 +4794,7 @@ in
       })
       sources."ms-2.0.0"
       sources."murmur-hash-js-1.0.0"
-      sources."mustache-2.3.2"
+      sources."mustache-3.0.3"
       sources."nan-2.14.0"
       sources."nanomatch-1.2.13"
       sources."node-elm-compiler-5.0.3"
@@ -4167,7 +4824,7 @@ in
       sources."posix-character-classes-0.1.1"
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
-      sources."psl-1.2.0"
+      sources."psl-1.3.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."readable-stream-2.3.6"
@@ -4181,7 +4838,7 @@ in
       sources."request-promise-core-1.1.2"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
-      (sources."rimraf-2.6.3" // {
+      (sources."rimraf-2.7.1" // {
         dependencies = [
           sources."glob-7.1.4"
         ];
@@ -4297,7 +4954,7 @@ in
       sources."urix-0.1.0"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.3.2"
+      sources."uuid-3.3.3"
       sources."verror-1.10.0"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
@@ -4317,14 +4974,14 @@ in
   elm-verify-examples = nodeEnv.buildNodePackage {
     name = "elm-verify-examples";
     packageName = "elm-verify-examples";
-    version = "4.0.0";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-4.0.0.tgz";
-      sha512 = "oKptkeUX0MBbYJ2Yn5CwaT502O8hwJHubNbeO7redshHnoaLzVvCK3TCS9+Vx1mXW8/GuJ6bfM+PDXXPPX8MNA==";
+      url = "https://registry.npmjs.org/elm-verify-examples/-/elm-verify-examples-4.0.1.tgz";
+      sha512 = "YlkOLWIDnlgkKG8gnxQkKKJHkkx4MqyIXqjmYqvGPwatrPmLo46BJ2drOPHNIh43T7mh7c1K8vxrzV4seQtFUA==";
     };
     dependencies = [
-      sources."ajv-6.10.1"
-      sources."ansi-regex-3.0.0"
+      sources."ajv-6.10.2"
+      sources."ansi-regex-4.1.0"
       sources."ansi-styles-3.2.1"
       (sources."anymatch-2.0.0" // {
         dependencies = [
@@ -4352,7 +5009,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-0.3.0"
       sources."binary-extensions-1.13.1"
-      sources."binwrap-0.2.1"
+      sources."binwrap-0.2.2"
       sources."bluebird-3.5.5"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
@@ -4363,7 +5020,7 @@ in
       })
       sources."buffers-0.1.1"
       sources."cache-base-1.0.1"
-      sources."camelcase-4.1.0"
+      sources."camelcase-5.3.1"
       sources."caseless-0.12.0"
       sources."chainsaw-0.1.0"
       sources."chalk-2.4.2"
@@ -4390,8 +5047,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."cliui-4.1.0"
-      sources."code-point-at-1.1.0"
+      sources."cliui-5.0.0"
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -4417,12 +5073,8 @@ in
         ];
       })
       sources."elmi-to-json-0.19.1"
+      sources."emoji-regex-7.0.3"
       sources."escape-string-regexp-1.0.5"
-      (sources."execa-0.7.0" // {
-        dependencies = [
-          sources."cross-spawn-5.1.0"
-        ];
-      })
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -4466,7 +5118,7 @@ in
         ];
       })
       sources."find-parent-dir-0.3.0"
-      sources."find-up-2.1.0"
+      sources."find-up-3.0.0"
       sources."firstline-1.2.1"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
@@ -4480,8 +5132,7 @@ in
       sources."fs-minipass-1.2.6"
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.4"
-      sources."get-caller-file-1.0.3"
-      sources."get-stream-3.0.0"
+      sources."get-caller-file-2.0.5"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."glob-7.1.1"
@@ -4490,7 +5141,7 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
@@ -4503,7 +5154,6 @@ in
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."invert-kv-1.0.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
@@ -4511,7 +5161,7 @@ in
       sources."is-descriptor-1.0.2"
       sources."is-extendable-1.0.1"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-fullwidth-code-point-2.0.0"
       sources."is-glob-4.0.1"
       (sources."is-number-3.0.0" // {
         dependencies = [
@@ -4519,7 +5169,6 @@ in
         ];
       })
       sources."is-plain-object-2.0.4"
-      sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
@@ -4534,20 +5183,17 @@ in
       sources."jsprim-1.4.1"
       sources."kind-of-6.0.2"
       sources."klaw-1.3.1"
-      sources."lcid-1.0.0"
-      sources."locate-path-2.0.0"
+      sources."locate-path-3.0.0"
       sources."lodash-4.17.11"
       sources."lru-cache-4.1.5"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
-      sources."mem-1.1.0"
       sources."micromatch-3.1.10"
       sources."mime-db-1.40.0"
       sources."mime-types-2.1.24"
-      sources."mimic-fn-1.2.0"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."minipass-2.3.5" // {
+      (sources."minipass-2.4.0" // {
         dependencies = [
           sources."yallist-3.0.3"
         ];
@@ -4561,13 +5207,11 @@ in
       })
       sources."ms-2.0.0"
       sources."murmur-hash-js-1.0.0"
-      sources."mustache-2.3.2"
+      sources."mustache-3.0.3"
       sources."nan-2.14.0"
       sources."nanomatch-1.2.13"
       sources."node-elm-compiler-5.0.3"
       sources."normalize-path-3.0.0"
-      sources."npm-run-path-2.0.2"
-      sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
       (sources."object-copy-0.1.0" // {
         dependencies = [
@@ -4585,22 +5229,19 @@ in
       sources."object-visit-1.0.1"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
-      sources."os-locale-2.1.0"
       sources."os-tmpdir-1.0.2"
-      sources."p-finally-1.0.0"
-      sources."p-limit-1.3.0"
-      sources."p-locate-2.0.0"
-      sources."p-try-1.0.0"
+      sources."p-limit-2.2.1"
+      sources."p-locate-3.0.0"
+      sources."p-try-2.2.0"
       sources."pascalcase-0.1.1"
       sources."path-dirname-1.0.2"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-key-2.0.1"
       sources."performance-now-2.1.0"
       sources."posix-character-classes-0.1.1"
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
-      sources."psl-1.2.0"
+      sources."psl-1.3.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.2"
       sources."readable-stream-2.3.6"
@@ -4613,10 +5254,10 @@ in
       sources."request-promise-4.2.4"
       sources."request-promise-core-1.1.2"
       sources."require-directory-2.1.1"
-      sources."require-main-filename-1.0.1"
+      sources."require-main-filename-2.0.0"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
-      (sources."rimraf-2.6.3" // {
+      (sources."rimraf-2.7.1" // {
         dependencies = [
           sources."glob-7.1.4"
         ];
@@ -4631,9 +5272,6 @@ in
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.2"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -4687,14 +5325,9 @@ in
         ];
       })
       sources."stealthy-require-1.1.1"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
+      sources."string-width-3.1.0"
       sources."string_decoder-1.1.1"
-      sources."strip-ansi-4.0.0"
-      sources."strip-eof-1.0.0"
+      sources."strip-ansi-5.2.0"
       sources."supports-color-5.5.0"
       (sources."tar-4.4.10" // {
         dependencies = [
@@ -4744,23 +5377,17 @@ in
       sources."urix-0.1.0"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."uuid-3.3.2"
+      sources."uuid-3.3.3"
       sources."verror-1.10.0"
       sources."which-1.3.1"
       sources."which-module-2.0.0"
-      (sources."wrap-ansi-2.1.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-        ];
-      })
+      sources."wrap-ansi-5.1.0"
       sources."wrappy-1.0.2"
       sources."xmlbuilder-8.2.2"
-      sources."y18n-3.2.1"
+      sources."y18n-4.0.0"
       sources."yallist-2.1.2"
-      sources."yargs-10.1.2"
-      sources."yargs-parser-8.1.0"
+      sources."yargs-13.3.0"
+      sources."yargs-parser-13.1.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -4774,15 +5401,14 @@ in
   elm-doc-preview = nodeEnv.buildNodePackage {
     name = "elm-doc-preview";
     packageName = "elm-doc-preview";
-    version = "2.0.4";
+    version = "3.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-doc-preview/-/elm-doc-preview-2.0.4.tgz";
-      sha512 = "F6LlYWNs7BVQ9vLRHI6P/FDVf4hpNJPjHuL0sxGwC4KDcPEnjIwOC6jWxiUEC3226aYf/uY60qDDqzFNHgcPQg==";
+      url = "https://registry.npmjs.org/elm-doc-preview/-/elm-doc-preview-3.0.1.tgz";
+      sha512 = "NpAgEKNiYkQE932gMjFGC/BpcmUD9ohhrbSnGSoQBsC+VPRKCiGdmLJUiql/aPC2eXYIlWQJ5YJ5rFWI0iovbw==";
     };
     dependencies = [
       sources."@cnakazawa/watch-1.0.3"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
+      sources."@sindresorhus/is-0.7.0"
       sources."accepts-1.3.7"
       sources."ansi-styles-3.2.1"
       sources."anymatch-2.0.0"
@@ -4792,7 +5418,7 @@ in
       sources."array-flatten-1.1.1"
       sources."array-unique-0.3.2"
       sources."assign-symbols-1.0.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."atob-2.1.2"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
@@ -4800,6 +5426,7 @@ in
           sources."define-property-1.0.0"
         ];
       })
+      sources."batch-0.6.1"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
@@ -4810,10 +5437,9 @@ in
       sources."bser-2.1.0"
       sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
-      (sources."cacheable-request-6.1.0" // {
+      (sources."cacheable-request-2.1.4" // {
         dependencies = [
-          sources."get-stream-5.1.0"
-          sources."lowercase-keys-2.0.0"
+          sources."lowercase-keys-1.0.0"
         ];
       })
       sources."capture-exit-2.0.0"
@@ -4839,7 +5465,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."commander-2.20.0"
+      sources."commander-3.0.0"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.3"
@@ -4847,12 +5473,14 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
+      sources."core-js-3.2.1"
+      sources."core-util-is-1.0.2"
       sources."cross-spawn-6.0.5"
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.0.2"
+      sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
@@ -4860,11 +5488,17 @@ in
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.1"
+      sources."es-abstract-1.13.0"
+      sources."es-to-primitive-1.2.0"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."exec-sh-0.3.2"
-      sources."execa-1.0.0"
+      (sources."execa-1.0.0" // {
+        dependencies = [
+          sources."get-stream-4.1.0"
+        ];
+      })
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -4911,28 +5545,37 @@ in
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
+      sources."from2-2.3.0"
       sources."fs.realpath-1.0.0"
-      sources."get-stream-4.1.0"
+      sources."function-bind-1.1.1"
+      sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."glob-7.1.4"
-      sources."got-9.6.0"
+      sources."got-8.3.2"
+      sources."has-1.0.3"
       sources."has-flag-3.0.0"
+      sources."has-symbol-support-x-1.4.2"
+      sources."has-symbols-1.0.0"
+      sources."has-to-string-tag-x-1.4.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
           sources."kind-of-4.0.0"
         ];
       })
-      sources."http-cache-semantics-4.0.3"
+      sources."http-cache-semantics-3.8.1"
       sources."http-errors-1.7.2"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
+      sources."into-stream-3.1.0"
       sources."ipaddr.js-1.9.0"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
+      sources."is-callable-1.1.4"
       sources."is-data-descriptor-1.0.0"
+      sources."is-date-object-1.0.1"
       sources."is-descriptor-1.0.2"
       sources."is-extendable-0.1.1"
       (sources."is-number-3.0.0" // {
@@ -4940,16 +5583,23 @@ in
           sources."kind-of-3.2.2"
         ];
       })
+      sources."is-object-1.0.1"
+      sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
+      sources."is-regex-1.0.4"
+      sources."is-retry-allowed-1.1.0"
       sources."is-stream-1.1.0"
+      sources."is-symbol-1.0.2"
       sources."is-windows-1.0.2"
+      sources."is-wsl-1.1.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
+      sources."isurl-1.0.0"
       sources."json-buffer-3.0.0"
-      sources."keyv-3.1.0"
+      sources."keyv-3.0.0"
       sources."kind-of-6.0.2"
-      sources."latest-version-5.1.0"
+      sources."latest-version-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."makeerror-1.0.11"
       sources."map-cache-0.2.2"
@@ -4975,8 +5625,10 @@ in
       sources."nice-try-1.0.5"
       sources."node-int64-0.4.0"
       sources."normalize-path-2.1.1"
-      sources."normalize-url-4.3.0"
+      sources."normalize-url-2.0.1"
       sources."npm-run-path-2.0.2"
+      sources."npx-10.2.0"
+      sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -4990,51 +5642,62 @@ in
           sources."kind-of-3.2.2"
         ];
       })
+      sources."object-keys-1.1.1"
       sources."object-visit-1.0.1"
+      sources."object.getownpropertydescriptors-2.0.3"
       sources."object.pick-1.3.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
-      sources."p-cancelable-1.1.0"
+      sources."opn-5.5.0"
+      sources."p-cancelable-0.4.1"
       sources."p-finally-1.0.0"
-      (sources."package-json-6.4.0" // {
-        dependencies = [
-          sources."semver-6.2.0"
-        ];
-      })
+      sources."p-is-promise-1.1.0"
+      sources."p-timeout-2.0.1"
+      sources."package-json-5.0.0"
       sources."parseurl-1.3.3"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
       sources."path-to-regexp-0.1.7"
+      sources."pify-3.0.0"
       sources."posix-character-classes-0.1.1"
       sources."prepend-http-2.0.0"
+      sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.5"
       sources."pump-3.0.0"
       sources."qs-6.7.0"
+      sources."query-string-5.1.1"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
       sources."rc-1.2.8"
+      sources."readable-stream-2.3.6"
       sources."regex-not-1.0.2"
       sources."registry-auth-token-3.4.0"
-      sources."registry-url-5.1.0"
+      sources."registry-url-3.1.0"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
       sources."ret-0.1.15"
-      sources."rimraf-2.6.3"
+      sources."rimraf-2.7.1"
       sources."rsvp-4.8.5"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       sources."sane-4.1.0"
-      sources."semver-5.7.0"
+      sources."semver-5.7.1"
       (sources."send-0.17.1" // {
         dependencies = [
           sources."ms-2.1.1"
         ];
       })
+      (sources."serve-index-1.9.1" // {
+        dependencies = [
+          sources."http-errors-1.6.3"
+          sources."setprototypeof-1.1.0"
+        ];
+      })
       sources."serve-static-1.14.1"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -5073,6 +5736,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
+      sources."sort-keys-2.0.0"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
       sources."source-map-url-0.4.0"
@@ -5095,9 +5759,12 @@ in
         ];
       })
       sources."statuses-1.5.0"
+      sources."strict-uri-encode-1.1.0"
+      sources."string_decoder-1.1.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
+      sources."timed-out-4.0.1"
       sources."tmp-0.1.0"
       sources."tmpl-1.0.4"
       (sources."to-object-path-0.3.0" // {
@@ -5105,7 +5772,6 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."to-readable-stream-1.0.0"
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
       sources."toidentifier-1.0.0"
@@ -5124,39 +5790,114 @@ in
       })
       sources."urix-0.1.0"
       sources."url-parse-lax-3.0.0"
+      sources."url-to-options-1.0.1"
       sources."use-3.1.1"
+      sources."util-deprecate-1.0.2"
+      sources."util.promisify-1.0.0"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
       sources."walker-1.0.7"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
-      sources."ws-7.1.0"
+      sources."ws-6.2.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "Elm offline documentation previewer with hot reloading.";
       homepage = "https://github.com/dmy/elm-doc-preview#readme";
-      license = "SEE LICENSE IN LICENSE.md";
+      license = "BSD-3-Clause";
     };
     production = true;
     bypassCache = true;
     reconstructLock = true;
   };
-  elm-analyse = nodeEnv.buildNodePackage {
+  elm-upgrade = nodeEnv.buildNodePackage {
+    name = "elm-upgrade";
+    packageName = "elm-upgrade";
+    version = "0.19.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/elm-upgrade/-/elm-upgrade-0.19.6.tgz";
+      sha512 = "i7+z/6uAqKxOUD58nwyAJJGUCNKG7/wTBY1qBanveFSaQuX5vrfhQNH/3NWIGCufGoW3QEyADGhaLhAxNPVs5Q==";
+    };
+    dependencies = [
+      sources."balanced-match-1.0.0"
+      sources."bindings-1.5.0"
+      sources."brace-expansion-1.1.11"
+      sources."capture-stack-trace-1.0.1"
+      sources."caw-2.0.1"
+      sources."concat-map-0.0.1"
+      sources."config-chain-1.1.12"
+      sources."create-error-class-3.0.2"
+      sources."duplexer3-0.1.4"
+      sources."file-uri-to-path-1.0.0"
+      sources."fs-extra-0.30.0"
+      sources."fs.realpath-1.0.0"
+      sources."get-proxy-2.1.0"
+      sources."get-stream-3.0.0"
+      sources."glob-7.1.4"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.2.2"
+      sources."has-symbol-support-x-1.4.2"
+      sources."has-to-string-tag-x-1.4.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."is-object-1.0.1"
+      sources."is-redirect-1.0.0"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."isexe-2.0.0"
+      sources."isurl-1.0.0"
+      sources."jsonfile-2.4.0"
+      sources."klaw-1.3.1"
+      sources."lowercase-keys-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."nan-2.14.0"
+      sources."npm-conf-1.1.3"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."pify-3.0.0"
+      sources."prepend-http-1.0.4"
+      sources."proto-list-1.2.4"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.0"
+      sources."safename-1.0.2"
+      sources."semver-5.7.1"
+      sources."syncprompt-2.0.0"
+      sources."timed-out-4.0.1"
+      sources."tunnel-agent-0.6.0"
+      sources."unzip-response-2.0.1"
+      sources."url-parse-lax-1.0.0"
+      sources."url-to-options-1.0.1"
+      sources."which-1.3.1"
+      sources."wrappy-1.0.2"
+      sources."yn-2.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Upgrade Elm projects";
+      homepage = "https://github.com/avh4/elm-upgrade#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "elm-analyse-0.16.3" = nodeEnv.buildNodePackage {
     name = "elm-analyse";
     packageName = "elm-analyse";
-    version = "0.16.4";
+    version = "0.16.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-analyse/-/elm-analyse-0.16.4.tgz";
-      sha512 = "6F6JfcOfbRgTBJj7MF+CqGcatCep8ppZtfIAri+fpC76MsSohJAOfLgmbmd4BWOXcTiWCpvQaaFwUutm7cOlpA==";
+      url = "https://registry.npmjs.org/elm-analyse/-/elm-analyse-0.16.3.tgz";
+      sha512 = "JFlGT0d6v3EPk1UnB5xb6VYWrKzwGD76wBwr2R0xwA3T6Rju7zEnzfs8LiBo+b3gSH5cmRDfnK9BLRFiosWEfQ==";
     };
     dependencies = [
       sources."accepts-1.3.7"
-      sources."ajv-6.10.1"
+      sources."ajv-6.10.2"
       sources."array-flatten-1.1.1"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
@@ -5201,7 +5942,7 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-2.0.0"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."http-errors-1.6.3"
@@ -5242,7 +5983,7 @@ in
       sources."performance-now-2.1.0"
       sources."process-nextick-args-1.0.7"
       sources."proxy-addr-2.0.5"
-      sources."psl-1.2.0"
+      sources."psl-1.3.0"
       sources."punycode-2.1.1"
       sources."qs-6.5.1"
       sources."range-parser-1.2.1"
@@ -5287,7 +6028,7 @@ in
       sources."uri-js-4.2.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.3.2"
+      sources."uuid-3.3.3"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       (sources."ws-3.3.1" // {
@@ -5306,76 +6047,179 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  elm-upgrade = nodeEnv.buildNodePackage {
-    name = "elm-upgrade";
-    packageName = "elm-upgrade";
-    version = "0.19.6";
+  elm-live = nodeEnv.buildNodePackage {
+    name = "elm-live";
+    packageName = "elm-live";
+    version = "3.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-upgrade/-/elm-upgrade-0.19.6.tgz";
-      sha512 = "i7+z/6uAqKxOUD58nwyAJJGUCNKG7/wTBY1qBanveFSaQuX5vrfhQNH/3NWIGCufGoW3QEyADGhaLhAxNPVs5Q==";
+      url = "https://registry.npmjs.org/elm-live/-/elm-live-3.4.1.tgz";
+      sha512 = "7J4MCV0uyzfnGznSdVzz9o2vgHQwHSVKgEW/NG7dG7nsDWWxqPudQ/FkHYJFWjkylnRtBZUAtB27ZwnLIsgRUw==";
     };
     dependencies = [
-      sources."balanced-match-1.0.0"
-      sources."bindings-1.5.0"
-      sources."brace-expansion-1.1.11"
-      sources."capture-stack-trace-1.0.1"
-      sources."caw-2.0.1"
-      sources."concat-map-0.0.1"
-      sources."config-chain-1.1.12"
-      sources."create-error-class-3.0.2"
-      sources."duplexer3-0.1.4"
-      sources."file-uri-to-path-1.0.0"
-      sources."fs-extra-0.30.0"
-      sources."fs.realpath-1.0.0"
-      sources."get-proxy-2.1.0"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."anymatch-3.0.3"
+      sources."async-each-1.0.3"
+      sources."async-limiter-1.0.1"
+      sources."binary-extensions-2.0.0"
+      sources."braces-3.0.2"
+      sources."chalk-1.1.3"
+      sources."charenc-0.0.2"
+      sources."chokidar-3.0.0"
+      sources."cli-color-1.2.0"
+      sources."commander-2.17.1"
+      sources."connect-pushstate-1.1.0"
+      sources."cross-spawn-5.0.1"
+      sources."crypt-0.0.2"
+      sources."d-1.0.1"
+      sources."debug-2.6.9"
+      sources."default-gateway-2.7.2"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."ee-first-1.1.1"
+      (sources."elm-serve-0.4.0" // {
+        dependencies = [
+          sources."commander-2.9.0"
+        ];
+      })
+      sources."encodeurl-1.0.2"
+      sources."es5-ext-0.10.50"
+      sources."es6-iterator-2.0.3"
+      sources."es6-promisify-6.0.2"
+      sources."es6-symbol-3.1.1"
+      sources."es6-weak-map-2.0.3"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."etag-1.8.1"
+      sources."event-emitter-0.3.5"
+      sources."eventemitter3-3.1.2"
+      (sources."execa-0.10.0" // {
+        dependencies = [
+          sources."cross-spawn-6.0.5"
+        ];
+      })
+      sources."fill-range-7.0.1"
+      sources."finalhandler-1.1.1"
+      (sources."follow-redirects-1.8.1" // {
+        dependencies = [
+          sources."debug-3.2.6"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."fresh-0.5.2"
+      sources."fsevents-2.0.7"
       sources."get-stream-3.0.0"
-      sources."glob-7.1.4"
-      sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
-      sources."has-symbol-support-x-1.4.2"
-      sources."has-to-string-tag-x-1.4.1"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.3.5"
-      sources."is-object-1.0.1"
-      sources."is-redirect-1.0.0"
-      sources."is-retry-allowed-1.1.0"
+      sources."glob-parent-5.0.0"
+      sources."graceful-readlink-1.0.1"
+      sources."has-ansi-2.0.0"
+      sources."http-errors-1.6.3"
+      sources."http-proxy-1.17.0"
+      sources."inherits-2.0.3"
+      sources."internal-ip-3.0.1"
+      sources."ip-regex-2.1.0"
+      sources."ipaddr.js-1.9.1"
+      sources."is-binary-path-2.1.0"
+      sources."is-buffer-1.1.6"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.1"
+      sources."is-number-7.0.0"
+      sources."is-promise-2.1.0"
       sources."is-stream-1.1.0"
+      sources."is-wsl-1.1.0"
       sources."isexe-2.0.0"
-      sources."isurl-1.0.0"
-      sources."jsonfile-2.4.0"
-      sources."klaw-1.3.1"
-      sources."lowercase-keys-1.0.1"
-      sources."minimatch-3.0.4"
-      sources."nan-2.14.0"
-      sources."npm-conf-1.1.3"
-      sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
-      sources."pify-3.0.0"
-      sources."prepend-http-1.0.4"
-      sources."proto-list-1.2.4"
-      sources."rimraf-2.6.3"
-      sources."safe-buffer-5.2.0"
-      sources."safename-1.0.2"
-      sources."semver-5.7.0"
-      sources."syncprompt-2.0.0"
-      sources."timed-out-4.0.1"
-      sources."tunnel-agent-0.6.0"
-      sources."unzip-response-2.0.1"
-      sources."url-parse-lax-1.0.0"
-      sources."url-to-options-1.0.1"
+      sources."lru-cache-4.1.5"
+      sources."lru-queue-0.1.0"
+      sources."md5-2.2.1"
+      sources."memoizee-0.4.14"
+      sources."mime-1.4.1"
+      sources."minimist-1.2.0"
+      sources."ms-2.0.0"
+      sources."next-tick-1.0.0"
+      sources."nice-try-1.0.5"
+      sources."normalize-path-3.0.0"
+      sources."npm-run-path-2.0.2"
+      sources."on-finished-2.3.0"
+      sources."opn-5.3.0"
+      sources."os-tmpdir-1.0.2"
+      sources."p-finally-1.0.0"
+      sources."parseurl-1.3.3"
+      sources."path-key-2.0.1"
+      sources."pem-1.13.2"
+      sources."picomatch-2.0.7"
+      sources."pseudomap-1.0.2"
+      sources."querystringify-2.1.1"
+      sources."range-parser-1.2.1"
+      sources."readdirp-3.1.2"
+      sources."requires-port-1.0.0"
+      sources."semver-5.7.1"
+      sources."send-0.16.2"
+      sources."serve-static-1.13.2"
+      sources."setprototypeof-1.1.0"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.2"
+      sources."statuses-1.4.0"
+      sources."strip-ansi-3.0.1"
+      sources."strip-eof-1.0.0"
+      sources."supervisor-0.12.0"
+      sources."supports-color-2.0.0"
+      sources."timers-ext-0.1.7"
+      sources."to-regex-range-5.0.1"
+      sources."type-1.0.3"
+      sources."unpipe-1.0.0"
+      sources."url-parse-1.4.3"
       sources."which-1.3.1"
-      sources."wrappy-1.0.2"
-      sources."yn-2.0.0"
+      sources."ws-5.2.0"
+      sources."yallist-2.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "Upgrade Elm projects";
-      homepage = "https://github.com/avh4/elm-upgrade#readme";
+      description = "A flexible dev server for Elm. Live reload included!";
+      homepage = "https://github.com/wking-io/elm-live#readme";
       license = "MIT";
     };
     production = true;
     bypassCache = true;
     reconstructLock = true;
   };
+  elm-xref = nodeEnv.buildNodePackage {
+    name = "elm-xref";
+    packageName = "elm-xref";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/elm-xref/-/elm-xref-4.0.0.tgz";
+      sha512 = "9AjXLkznJBVLHHO+KErcgFMKeXe3tcudjj3PYIH6gWXG6W3PT+HF+t2zCflvgFPlhJO5H/wQCCo4rfCApltBzg==";
+    };
+    dependencies = [
+      sources."bluebird-3.5.5"
+      sources."core-util-is-1.0.2"
+      sources."fs-extra-6.0.1"
+      sources."graceful-fs-4.2.2"
+      sources."inherits-2.0.4"
+      sources."isarray-1.0.0"
+      sources."jsonfile-4.0.0"
+      sources."klaw-2.1.1"
+      sources."minimist-1.2.0"
+      sources."process-nextick-args-2.0.1"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
+      sources."semver-5.7.1"
+      sources."semver-regex-1.0.0"
+      sources."semver-sort-0.0.4"
+      sources."string_decoder-1.1.1"
+      sources."through2-2.0.5"
+      sources."universalify-0.1.2"
+      sources."util-deprecate-1.0.2"
+      sources."xtend-4.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Cross referencing tool for Elm - find usages and unused code";
+      homepage = "https://github.com/zwilias/elm-xref#readme";
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
 }
\ No newline at end of file
diff --git a/nixpkgs/pkgs/development/compilers/flux/default.nix b/nixpkgs/pkgs/development/compilers/flux/default.nix
new file mode 100644
index 000000000000..c599c9f8baf5
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/fsharp41/default.nix b/nixpkgs/pkgs/development/compilers/fsharp41/default.nix
index e0094c73098f..468fd49ba44e 100644
--- a/nixpkgs/pkgs/development/compilers/fsharp41/default.nix
+++ b/nixpkgs/pkgs/development/compilers/fsharp41/default.nix
@@ -1,14 +1,14 @@
 # Temporaririly avoid dependency on dotnetbuildhelpers to avoid rebuilding many times while working on it
 
-{ stdenv, fetchurl, pkgconfig, autoconf, automake, which, mono, dotnetbuildhelpers, dotnetPackages }:
+{ stdenv, fetchurl, pkgconfig, autoconf, automake, which, mono, msbuild, dotnetbuildhelpers, dotnetPackages }:
 
 stdenv.mkDerivation rec {
   name = "fsharp-${version}";
-  version = "4.1.7";
+  version = "4.1.34";
 
   src = fetchurl {
     url = "https://github.com/fsharp/fsharp/archive/${version}.tar.gz";
-    sha256 = "0rfkrk4mzi4w54mfqilvng9ar5swhmnwhsyjc54rx3fd0np3jiyl";
+    sha256 = "0cv6p5pin962vhbpsji40nkckkag5c96kq5qihvg60pc1z821p0i";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -17,12 +17,16 @@ stdenv.mkDerivation rec {
     automake
     which
     mono
+    msbuild
     dotnetbuildhelpers
     dotnetPackages.FsCheck262
     dotnetPackages.FSharpCompilerTools
-    dotnetPackages.FSharpCore
+    dotnetPackages.FSharpCore302
+    dotnetPackages.FSharpCore3125
+    dotnetPackages.FSharpCore4001
+    dotnetPackages.FSharpCore4117
     dotnetPackages.FSharpData225
-    dotnetPackages.FsLexYacc704
+    dotnetPackages.FsLexYacc706
     dotnetPackages.MicrosoftDiaSymReader
     dotnetPackages.MicrosoftDiaSymReaderPortablePdb
     dotnetPackages.NUnit350
@@ -31,6 +35,14 @@ stdenv.mkDerivation rec {
     dotnetPackages.SystemValueTuple
   ];
 
+  # https://github.com/mono/mono/tree/fe0f311a848068ab2d17a9b9dd15326e5712d520/packaging/MacSDK/patches
+  # https://github.com/mono/mono/issues/7805
+  patches = [
+    ./fsharp-IsPathRooted-type-inference.patch
+    ./fsharp-string-switchName.patch
+    ./fsharp-path-overloads.patch
+  ];
+
   configurePhase = ''
     substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "${stdenv.shell}"
     ./autogen.sh --prefix $out
@@ -47,24 +59,30 @@ stdenv.mkDerivation rec {
     mkdir packages
 
     ln -s ${dotnetPackages.FsCheck262}/lib/dotnet/FsCheck packages/FsCheck.2.6.2
-    ln -s ${dotnetPackages.FSharpCompilerTools}/lib/dotnet/FSharp.Compiler.Tools packages/FSharp.Compiler.Tools.4.1.4
-    ln -s ${dotnetPackages.FSharpCore}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.0.0.1
+    ln -s ${dotnetPackages.FSharpCompilerTools}/lib/dotnet/FSharp.Compiler.Tools packages/FSharp.Compiler.Tools.4.1.27
+    ln -s ${dotnetPackages.FSharpCore302}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.3.0.2
+    ln -s ${dotnetPackages.FSharpCore3125}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.3.1.2.5
+    ln -s ${dotnetPackages.FSharpCore4001}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.0.0.1
+    ln -s ${dotnetPackages.FSharpCore4117}/lib/dotnet/FSharp.Core/ packages/FSharp.Core.4.1.17
     ln -s ${dotnetPackages.FSharpData225}/lib/dotnet/FSharp.Data/ packages/FSharp.Data.2.2.5
-    ln -s ${dotnetPackages.FsLexYacc704}/lib/dotnet/FsLexYacc/ packages/FsLexYacc.7.0.4
+    ln -s ${dotnetPackages.FsLexYacc706}/lib/dotnet/FsLexYacc/ packages/FsLexYacc.7.0.6
     ln -s ${dotnetPackages.MicrosoftDiaSymReader}/lib/dotnet/Microsoft.DiaSymReader/ packages/Microsoft.DiaSymReader.1.1.0
     ln -s ${dotnetPackages.MicrosoftDiaSymReaderPortablePdb}/lib/dotnet/Microsoft.DiaSymReader.PortablePdb/ packages/Microsoft.DiaSymReader.PortablePdb.1.2.0
     ln -s ${dotnetPackages.NUnit350}/lib/dotnet/NUnit/ packages/NUnit.3.5.0
     ln -s ${dotnetPackages.SystemCollectionsImmutable131}/lib/dotnet/System.Collections.Immutable/ packages/System.Collections.Immutable.1.3.1
     ln -s ${dotnetPackages.SystemReflectionMetadata}/lib/dotnet/System.Reflection.Metadata/ packages/System.Reflection.Metadata.1.4.2
-    ln -s ${dotnetPackages.SystemValueTuple}/lib/dotnet/System.ValueTuple/ packages/System.ValueTuple.4.3.0
+    ln -s ${dotnetPackages.SystemValueTuple}/lib/dotnet/System.ValueTuple/ packages/System.ValueTuple.4.3.1
   '';
 
-  # Make sure the executables use the right mono binary,
-  # and set up some symlinks for backwards compatibility.
+  # Signing /home/jdanek/nix/nixpkgs/build/fss/fsharp-4.1.34/again/fsharp-4.1.34/Release/fsharp30/net40/bin/FSharp.Core.dll with Mono key
+  # ERROR: Unknown error during processing: System.UnauthorizedAccessException: Access to the path
+  #   "Release/fsharp30/net40/bin/FSharp.Core.dll" is denied.
+  preInstall = ''
+    find Release/ -name FSharp.Core.dll -exec chmod u+w {} \;
+  '';
+
+  # Set up some symlinks for backwards compatibility.
   postInstall = ''
-    substituteInPlace $out/bin/fsharpc --replace " mono " " ${mono}/bin/mono "
-    substituteInPlace $out/bin/fsharpi --replace " mono " " ${mono}/bin/mono "
-    substituteInPlace $out/bin/fsharpiAnyCpu --replace " mono " " ${mono}/bin/mono "
     ln -s $out/bin/fsharpc $out/bin/fsc
     ln -s $out/bin/fsharpi $out/bin/fsi
     for dll in "$out/lib/mono/fsharp"/FSharp*.dll
@@ -73,6 +91,26 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    echo 'printf "int = %i" (6 * 7);;' > script.fsx
+    $out/bin/fsi --exec script.fsx | grep "int = 42"
+    $out/bin/fsharpi --exec script.fsx | grep "int = 42"
+    $out/bin/fsharpiAnyCpu --exec script.fsx | grep "int = 42"
+
+    cat > answer.fs <<EOF
+open System
+
+[<EntryPoint>]
+let main argv =
+    printfn "int = %i" (6 * 7)
+    0
+EOF
+
+    $out/bin/fsc answer.fs
+    ${mono}/bin/mono answer.exe | grep "int = 42"
+  '';
+
   # To fix this error when running:
   # The file "/nix/store/path/whatever.exe" is an not a valid CIL image
   dontStrip = true;
diff --git a/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch b/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch
new file mode 100644
index 000000000000..06dd3e82adc9
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-IsPathRooted-type-inference.patch
@@ -0,0 +1,21 @@
+commit c37fce5b3019c7a150203fc3a484885591b194de
+Author: Alexis Christoforides <alexis@thenull.net>
+Date:   Sun Dec 2 00:10:24 2018 -0500
+
+    Help Path.IsPathRooted method overload selection.
+
+    .NET Core, and Mono after merging https://github.com/mono/mono/pull/11342, introduce ambiguity with a new overload.
+
+diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx
+index cc797e305..699c7bb93 100644
+--- a/src/scripts/scriptlib.fsx
++++ b/src/scripts/scriptlib.fsx
+@@ -92,7 +92,7 @@ module Scripting =
+
+     module Process =
+
+-        let processExePath baseDir exe =
++        let processExePath baseDir (exe:string) =
+             if Path.IsPathRooted(exe) then exe
+             else
+                 match Path.GetDirectoryName(exe) with
diff --git a/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch b/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch
new file mode 100644
index 000000000000..f791317d0802
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-path-overloads.patch
@@ -0,0 +1,22 @@
+diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx
+index cc797e305..ae8a6d3cc 100644
+--- a/src/scripts/scriptlib.fsx
++++ b/src/scripts/scriptlib.fsx
+@@ -59,12 +59,12 @@ module Scripting =
+
+     let (++) a b = Path.Combine(a,b)
+
+-    let getBasename a = Path.GetFileNameWithoutExtension a
+-    let getFullPath a = Path.GetFullPath a
+-    let getFilename a = Path.GetFileName a
+-    let getDirectoryName a = Path.GetDirectoryName a
++    let getBasename (path: string) = Path.GetFileNameWithoutExtension path
++    let getFullPath (path: string) = Path.GetFullPath path
++    let getFilename (path: string) = Path.GetFileName path
++    let getDirectoryName (path: string) = Path.GetDirectoryName path
+
+-    let copyFile source dir =
++    let copyFile (source: string) dir =
+         let dest = 
+             if not (Directory.Exists dir) then Directory.CreateDirectory dir |>ignore
+             let result = Path.Combine(dir, Path.GetFileName source)
diff --git a/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch b/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch
new file mode 100644
index 000000000000..4b36eaabcafc
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/fsharp41/fsharp-string-switchName.patch
@@ -0,0 +1,13 @@
+diff --git a/src/scripts/scriptlib.fsx b/src/scripts/scriptlib.fsx
+index cc797e305..5a7be7d2b 100644
+--- a/src/scripts/scriptlib.fsx
++++ b/src/scripts/scriptlib.fsx
+@@ -36,7 +36,7 @@ module Scripting =
+ #if INTERACTIVE
+     let argv = Microsoft.FSharp.Compiler.Interactive.Settings.fsi.CommandLineArgs |> Seq.skip 1 |> Seq.toArray
+
+-    let getCmdLineArgOptional switchName = 
++    let getCmdLineArgOptional (switchName: string) =
+         argv |> Array.filter(fun t -> t.StartsWith(switchName)) |> Array.map(fun t -> t.Remove(0, switchName.Length).Trim()) |> Array.tryHead 
+
+     let getCmdLineArg switchName defaultValue = 
diff --git a/nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix b/nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix
index 423eaf02d8c4..95bbab3cb3e1 100644
--- a/nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix
+++ b/nixpkgs/pkgs/development/compilers/ghc/8.8.1.nix
@@ -86,12 +86,12 @@ let
 
 in
 stdenv.mkDerivation (rec {
-  version = "8.8.0.20190721";
+  version = "8.8.1";
   name = "${targetPrefix}ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/ghc/8.8.1-rc1/ghc-${version}-src.tar.xz";
-    sha256 = "1ih76zpxk8ay84xjyaflqc754002y8pdaainqfvb4cnhy6lpb1br";
+    url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
+    sha256 = "06kj4fhvijinjafiy4s873n60qly323rdlz9bmc79nhlp3cq72lh";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/development/compilers/go/1.11.nix b/nixpkgs/pkgs/development/compilers/go/1.11.nix
index 56a386d8b97d..a87876390537 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.11.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.11.nix
@@ -30,11 +30,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.11.12";
+  version = "1.11.13";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "09k9zmq7hhgg0bf1y7rwa0kn7q1vkkr94cmg2iv9lq3najh5nykd";
+    sha256 = "0xj0pbviikdf8g0sfz5hwxf7hwz8b8g5akqnrvyclhgnsdghjcjh";
   };
 
   # perl is used for testing go vet
diff --git a/nixpkgs/pkgs/development/compilers/go/1.12.nix b/nixpkgs/pkgs/development/compilers/go/1.12.nix
index 098870c98084..dae4c173223c 100644
--- a/nixpkgs/pkgs/development/compilers/go/1.12.nix
+++ b/nixpkgs/pkgs/development/compilers/go/1.12.nix
@@ -30,11 +30,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.12.7";
+  version = "1.12.9";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m";
+    sha256 = "1z32imbwmpkzgyh5c3vi7rbvzbq94xjk5qi2xm9sccj7kknmc3mb";
   };
 
   # perl is used for testing go vet
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/enterprise-edition.nix b/nixpkgs/pkgs/development/compilers/graalvm/enterprise-edition.nix
new file mode 100644
index 000000000000..84cb38aa8d11
--- /dev/null
+++ b/nixpkgs/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.2.0";
+    srcs = [
+      (requireFile {
+         name   = "graalvm-ee-linux-amd64-${version}.tar.gz";
+         sha256 = "1j56lyids48zyjhxk8xl4niy8hk6qzi1aj7c55yfh62id8v6cpbw";
+         url    = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
+      })
+      (requireFile {
+         name   = "native-image-installable-svm-svmee-linux-amd64-${version}.jar";
+         sha256 = "07c25l27msxccqrbz4bknz0sxsl0z2k8990cdfkbrgxvhxspfnnm";
+         url    = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
+      })
+      (requireFile {
+         name   = "python-installable-svm-svmee-linux-amd64-${version}.jar";
+         sha256 = "1c7kpz56w9p418li97ymixdwywscr85vhn7jkzxq71bj7ia7pxwz";
+         url    = "https://www.oracle.com/technetwork/graalvm/downloads/index.html";
+      })
+      (requireFile {
+         name   = "ruby-installable-svm-svmee-linux-amd64-${version}.jar";
+         sha256 = "13jfm5qpxqxz7f5n9yyvqrv1vwigifrjwk3hssp23maski2ssys1";
+         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/nixpkgs/pkgs/development/compilers/julia/1.0.nix b/nixpkgs/pkgs/development/compilers/julia/1.0.nix
index a679eda33066..3cd9daee1416 100644
--- a/nixpkgs/pkgs/development/compilers/julia/1.0.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/julia/1.1.nix b/nixpkgs/pkgs/development/compilers/julia/1.1.nix
index a868f949d27c..5be34b4c4b4c 100644
--- a/nixpkgs/pkgs/development/compilers/julia/1.1.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/mono/6.nix b/nixpkgs/pkgs/development/compilers/mono/6.nix
new file mode 100644
index 000000000000..ec91d7e979c1
--- /dev/null
+++ b/nixpkgs/pkgs/development/compilers/mono/6.nix
@@ -0,0 +1,9 @@
+{ callPackage, Foundation, libobjc }:
+
+callPackage ./generic.nix (rec {
+  inherit Foundation libobjc;
+  version = "6.0.0.313";
+  srcArchiveSuffix = "tar.xz";
+  sha256 = "0l0cd6q5xh1vdm6zr78rkfqdsmrgzanjgpxvgig0pyd3glfyjim9";
+  enableParallelBuilding = true;
+})
diff --git a/nixpkgs/pkgs/development/compilers/mono/generic.nix b/nixpkgs/pkgs/development/compilers/mono/generic.nix
index 43ef5d4b62d1..6b5c15642a5c 100644
--- a/nixpkgs/pkgs/development/compilers/mono/generic.nix
+++ b/nixpkgs/pkgs/development/compilers/mono/generic.nix
@@ -1,14 +1,16 @@
-{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which, enableParallelBuilding ? true }:
+{ stdenv, fetchurl, bison, pkgconfig, glib, gettext, perl, libgdiplus, libX11, callPackage, ncurses, zlib, withLLVM ? false, cacert, Foundation, libobjc, python, version, sha256, autoconf, libtool, automake, cmake, which
+, enableParallelBuilding ? true
+, srcArchiveSuffix ? "tar.bz2"
+}:
 
 let
   llvm     = callPackage ./llvm.nix { };
 in
 stdenv.mkDerivation rec {
   name = "mono-${version}";
-
   src = fetchurl {
     inherit sha256;
-    url = "https://download.mono-project.com/sources/mono/${name}.tar.bz2";
+    url = "https://download.mono-project.com/sources/mono/${name}.${srcArchiveSuffix}";
   };
 
   buildInputs =
diff --git a/nixpkgs/pkgs/development/compilers/mosml/default.nix b/nixpkgs/pkgs/development/compilers/mosml/default.nix
index 89726f20c6b8..b22072651a46 100644
--- a/nixpkgs/pkgs/development/compilers/mosml/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/nextpnr/default.nix b/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
index d32d3fa67f1d..c1e01ef77828 100644
--- a/nixpkgs/pkgs/development/compilers/nextpnr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/owl-lisp/default.nix b/nixpkgs/pkgs/development/compilers/owl-lisp/default.nix
index ccd149bbb404..80ea9eb4c0b8 100644
--- a/nixpkgs/pkgs/development/compilers/owl-lisp/default.nix
+++ b/nixpkgs/pkgs/development/compilers/owl-lisp/default.nix
@@ -1,33 +1,31 @@
-{ stdenv, fetchFromGitHub, coreutils, which }:
+{ stdenv, fetchFromGitLab, coreutils, which }:
 
 stdenv.mkDerivation rec {
-  name    = "owl-lisp-${version}";
-  version = "0.1.16";
+  pname = "owl-lisp";
+  version = "0.1.19";
 
-  src = fetchFromGitHub {
-    owner  = "aoh";
-    repo   = "owl-lisp";
+  src = fetchFromGitLab {
+    owner  = "owl-lisp";
+    repo   = "owl";
     rev    = "v${version}";
-    sha256 = "1qp6p48bmlyn83rqi6k3d098dg4cribavg5rd4x17z37i181vxvj";
+    sha256 = "1bgjd2gkr5risfcc401rlr5fc82gwm4r2gpp9gzkg9h64acivkjx";
   };
 
   nativeBuildInputs = [ which ];
 
   prePatch = ''
-    substituteInPlace Makefile --replace /usr $out
-
-    for f in tests/run tests/exec.sh ; do
-      substituteInPlace $f --replace /bin/echo ${coreutils}/bin/echo
-    done
+    substituteInPlace Makefile \
+      --replace /usr $out
   '';
 
   # tests are run as part of the compilation process
   doCheck = false;
 
   meta = with stdenv.lib; {
-    description = "A functional lisp";
-    homepage    = https://github.com/aoh/owl-lisp;
+    description = "A functional Scheme for world domination";
+    homepage    = "https://gitlab.com/owl-lisp/owl";
     license     = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
+    platforms   = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/compilers/rust/default.nix b/nixpkgs/pkgs/development/compilers/rust/default.nix
index fb04239dbd4b..a39cd785cf7c 100644
--- a/nixpkgs/pkgs/development/compilers/rust/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/rls/default.nix b/nixpkgs/pkgs/development/compilers/rust/rls/default.nix
index 454c5da71438..470611242e07 100644
--- a/nixpkgs/pkgs/development/tools/rust/rls/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/rustfmt/default.nix b/nixpkgs/pkgs/development/compilers/rust/rustfmt.nix
index b98ab0dc74d7..537bdaf445cd 100644
--- a/nixpkgs/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/solc/default.nix b/nixpkgs/pkgs/development/compilers/solc/default.nix
index 941f92fd322e..f34283938326 100644
--- a/nixpkgs/pkgs/development/compilers/solc/default.nix
+++ b/nixpkgs/pkgs/development/compilers/solc/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchzip, boost, cmake, ncurses, python2
-, z3Support ? true, z3 ? null
+, z3Support ? true, z3 ? null, cvc4Support ? true, cvc4 ? null
+, cln ? null, gmp ? null
 }:
 
-assert z3Support -> z3 != null;
-assert z3Support -> stdenv.lib.versionAtLeast z3.version "4.6.0";
+assert z3Support -> z3 != null && stdenv.lib.versionAtLeast z3.version "4.6.0";
+assert cvc4Support -> cvc4 != null && cln != null && gmp != null;
 
 let
   jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz;
@@ -16,12 +17,12 @@ in
 stdenv.mkDerivation rec {
 
   name = "solc-${version}";
-  version = "0.5.10";
+  version = "0.5.11";
 
   # upstream suggests avoid using archive generated by github
   src = fetchzip {
     url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
-    sha256 = "1ns562h8blvv32lz462rf5835fs2hgn698mvi6ss5y7ar6k5y5xw";
+    sha256 = "0679s5pqbfy7fgpb4f3ppgj8iafxb64g046v8vhp29mf3dsdcnyl";
   };
 
   patches = stdenv.lib.optionals buildSharedLibs [ ./patches/shared-libs-install.patch ];
@@ -37,10 +38,14 @@ stdenv.mkDerivation rec {
     "-DBUILD_SHARED_LIBS=ON"
   ] ++ stdenv.lib.optionals (!z3Support) [
     "-DUSE_Z3=OFF"
+  ] ++ stdenv.lib.optionals (!cvc4Support) [
+    "-DUSE_CVC4=OFF"
   ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost ] ++ stdenv.lib.optionals z3Support [ z3 ];
+  buildInputs = [ boost ]
+    ++ stdenv.lib.optionals z3Support [ z3 ]
+    ++ stdenv.lib.optionals cvc4Support [ cvc4 cln gmp ];
   checkInputs = [ ncurses python2 ];
 
   # Test fails on darwin for unclear reason
diff --git a/nixpkgs/pkgs/development/compilers/swift/default.nix b/nixpkgs/pkgs/development/compilers/swift/default.nix
index 94d0a4327d9d..f21b2ae3cb80 100644
--- a/nixpkgs/pkgs/development/compilers/swift/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/vlang/default.nix b/nixpkgs/pkgs/development/compilers/vlang/default.nix
index cbccca34b413..ad01fb4be290 100644
--- a/nixpkgs/pkgs/development/compilers/vlang/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/compilers/yosys/default.nix b/nixpkgs/pkgs/development/compilers/yosys/default.nix
index aaa8628efbe9..467d4e3b49eb 100644
--- a/nixpkgs/pkgs/development/compilers/yosys/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
index 8c1e1f0191c1..f0e53b97266a 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
@@ -32,9 +32,6 @@ self: super: {
   # compiled on Linux. We provide the name to avoid evaluation errors.
   unbuildable = throw "package depends on meta package 'unbuildable'";
 
-  # Use the latest version of the Cabal library.
-  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_4_1_0; });
-
   # The test suite depends on old versions of tasty and QuickCheck.
   hackage-security = dontCheck super.hackage-security;
 
@@ -72,7 +69,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 +146,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
@@ -1003,6 +1005,7 @@ self: super: {
 
   # https://github.com/haskell-hvr/resolv/issues/1
   resolv = dontCheck super.resolv;
+  resolv_0_1_1_2 = dontCheck super.resolv_0_1_1_2;
 
   # spdx 0.2.2.0 needs older tasty
   # was fixed in spdx master (4288df6e4b7840eb94d825dcd446b42fef25ef56)
@@ -1054,9 +1057,11 @@ self: super: {
       dontCheck super.dhall
   );
 
+  # Missing test files in source distribution, fixed once 1.4.0 is bumped
+  # https://github.com/dhall-lang/dhall-haskell/pull/997
   dhall-json =
     generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] (
-      super.dhall-json
+      dontCheck super.dhall-json
   );
 
   dhall-nix =
@@ -1280,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/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index e8c138e594cd..0919292d44a5 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -40,6 +40,9 @@ self: super: {
   unix = null;
   xhtml = null;
 
+  # Needs Cabal 3.0.x.
+  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
+
   # Restricts aeson to <1.4
   # https://github.com/purescript/purescript/pull/3537
   purescript = doJailbreak super.purescript;
@@ -76,4 +79,7 @@ self: super: {
   aeson = addBuildDepend super.aeson self.contravariant;
   base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
 
+  # Newer versions don't compile.
+  resolv = self.resolv_0_1_1_2;
+
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index 8d0582a8d067..4addc834040a 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -41,6 +41,9 @@ self: super: {
   unix = null;
   xhtml = null;
 
+  # Needs Cabal 3.0.x.
+  cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
+
   # https://github.com/tibbe/unordered-containers/issues/214
   unordered-containers = dontCheck super.unordered-containers;
 
@@ -88,4 +91,7 @@ self: super: {
     version = "0.8.6.0-pre-release";
   };
 
+  # Newer versions don't compile.
+  resolv = self.resolv_0_1_1_2;
+
 }
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index dc3071e5fab3..2209f5707323 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -41,39 +41,16 @@ 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";
-  });
-
   # Ignore overly restrictive upper version bounds.
   async = doJailbreak super.async;
+  cabal-install = doJailbreak super.cabal-install;
   ChasingBottoms = doJailbreak super.ChasingBottoms;
   cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
   Diff = dontCheck super.Diff;
   doctest = doJailbreak super.doctest;
   hashable = doJailbreak super.hashable;
   hashable-time = doJailbreak super.hashable-time;
+  hledger-lib = doJailbreak super.hledger-lib;  # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
   integer-logarithms = doJailbreak super.integer-logarithms;
   lucid = doJailbreak super.lucid;
   parallel = doJailbreak super.parallel;
@@ -83,7 +60,6 @@ self: super: {
   tasty-expected-failure = doJailbreak super.tasty-expected-failure;
   test-framework = doJailbreak super.test-framework;
   th-lift = self.th-lift_0_8_0_1;
-  hledger-lib = doJailbreak super.hledger-lib;  # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
 
   # These packages don't work and need patching and/or an update.
   primitive = overrideSrc (doJailbreak super.primitive) {
@@ -106,18 +82,6 @@ self: super: {
       sed -i -e 's/time < 1.9/time < 2/' tar.cabal
     '';
   });
-  resolv = overrideCabal (overrideSrc super.resolv {
-    version = "20180411-git";
-    src = pkgs.fetchFromGitHub {
-      owner = "haskell-hvr";
-      repo = "resolv";
-      rev = "a22f9dd900cb276b3dd70f4781fb436d617e2186";
-      sha256 = "1j2jyywmxjhyk46kxff625yvg5y37knv7q6y0qkwiqdwdsppccdk";
-    };
-  }) (drv: {
-    buildTools = with pkgs; [autoconf];
-    preConfigure = "autoreconf --install";
-  });
   dlist = appendPatch (doJailbreak super.dlist) (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/dlist-0.8.0.6.patch";
     sha256 = "0lkhibfxfk6mi796mrjgmbb50hbyjgc7xdinci64dahj8325jlpc";
@@ -130,13 +94,11 @@ self: super: {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cabal-doctest-1.0.6.patch";
     sha256 = "0735mkxhv557pgnfvdjakkw9r85l5gy28grdwg929m26ghbf9s8j";
   });
-  QuickCheck = appendPatch super.QuickCheck (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/QuickCheck-2.13.1.patch";
-    sha256 = "138yrp3x5cnvncimrnhnkawz6clyk7fj3sr3y93l5szfr11kcvbl";
-  });
-  regex-base = appendPatch super.regex-base (pkgs.fetchpatch {
+  regex-base = overrideCabal (appendPatch super.regex-base (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-base-0.93.2.patch";
     sha256 = "01d1plrdx6hcspwn2h6y9pyi5366qk926vb5cl5qcl6x4m23l6y1";
+  })) (drv: {
+    preConfigure = "sed -i -e 's/base >=4 && < 4.13,/base,/' regex-base.cabal";
   });
   regex-posix = appendPatch super.regex-posix (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-posix-0.95.2.patch";
@@ -158,10 +120,6 @@ self: super: {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/optparse-applicative-0.14.3.0.patch";
     sha256 = "068sjj98jqiq3h8h03mg4w2pa11q8lxkx2i4lmxivq77xyhlwq3y";
   });
-  HTTP = appendPatch (doJailbreak super.HTTP) (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/HTTP-4000.3.13.patch";
-    sha256 = "1fadi529x7dnmbfmls5969qfn9d4z954nc4lbqxmrwgirphkpmn4";
-  });
   hackage-security = appendPatch (doJailbreak super.hackage-security) (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch";
     sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4";
diff --git a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 89f9df7faa56..0a269acbdb6f 100644
--- a/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/nixpkgs/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.3
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -70,7 +70,7 @@ default-package-overrides:
   - aeson-utils ==0.3.0.2
   - aeson-yak ==0.1.1.3
   - al ==0.1.4.2
-  - alarmclock ==0.7.0.1
+  - alarmclock ==0.7.0.2
   - alerts ==0.1.2.0
   - alex ==3.2.4
   - alg ==0.2.10.0
@@ -91,7 +91,7 @@ default-package-overrides:
   - ANum ==0.2.0.2
   - aos-signature ==0.1.1
   - apecs ==0.8.1
-  - apecs-gloss ==0.2.2
+  - apecs-gloss ==0.2.3
   - apecs-physics ==0.4.2
   - api-field-json-th ==0.1.0.2
   - appar ==0.1.8
@@ -143,8 +143,8 @@ 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
-  - bank-holidays-england ==0.2.0.1
+  - backprop ==0.2.6.3
+  - bank-holidays-england ==0.2.0.2
   - barbies ==1.1.3.0
   - barrier ==0.1.1
   - base16-bytestring ==0.1.1.6
@@ -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
@@ -639,14 +639,14 @@ default-package-overrides:
   - explicit-exception ==0.1.10
   - exp-pairs ==0.2.0.0
   - extensible-exceptions ==0.1.1.4
-  - extra ==1.6.17
+  - extra ==1.6.18
   - extractable-singleton ==0.0.1
   - extrapolate ==0.3.3
   - fail ==4.9.0.0
   - 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
@@ -774,7 +774,7 @@ default-package-overrides:
   - ghc-lib ==8.8.0.20190424
   - ghc-lib-parser ==8.8.0.20190424
   - ghc-parser ==0.2.0.3
-  - ghc-paths ==0.1.0.9
+  - ghc-paths ==0.1.0.12
   - ghc-prof ==1.4.1.5
   - ghc-syntax-highlighter ==0.0.4.0
   - ghc-tcplugins-extra ==0.3
@@ -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
@@ -963,7 +963,7 @@ default-package-overrides:
   - hsinstall ==2.2
   - HSlippyMap ==3.0.1
   - hslogger ==1.2.12
-  - hslua ==1.0.3.1
+  - hslua ==1.0.3.2
   - hslua-aeson ==1.0.0
   - hslua-module-system ==0.2.1
   - hslua-module-text ==0.2.1
@@ -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
@@ -1258,7 +1258,7 @@ default-package-overrides:
   - loopbreaker ==0.1.1.0
   - lrucache ==1.2.0.1
   - lrucaching ==0.3.3
-  - lsp-test ==0.6.0.0
+  - lsp-test ==0.6.1.0
   - lucid ==2.9.11
   - lucid-extras ==0.2.2
   - lxd-client-config ==0.1.0.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
@@ -1415,6 +1415,7 @@ default-package-overrides:
   - netlib-comfort-array ==0.0.0.1
   - netlib-ffi ==0.1.1
   - netpbm ==1.0.3
+  - netrc ==0.2.0.0
   - nettle ==0.3.0
   - netwire ==5.0.3
   - netwire-input ==0.0.7
@@ -1510,7 +1511,7 @@ default-package-overrides:
   - pandoc-csv2table ==1.0.7
   - pandoc-markdown-ghci-filter ==0.1.0.0
   - pandoc-pyplot ==2.1.5.1
-  - pandoc-types ==1.17.5.4
+  - pandoc-types ==1.17.6
   - pantry ==0.1.1.1
   - parallel ==3.2.2.0
   - parallel-io ==0.3.3
@@ -1742,7 +1743,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 +1809,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.5.1
+  - salak-toml ==0.3.5.1
+  - salak-yaml ==0.3.5.1
   - saltine ==0.1.0.2
   - salve ==1.0.6
   - sample-frame ==0.0.3
@@ -1824,7 +1825,7 @@ default-package-overrides:
   - scalpel-core ==0.6.0
   - scanf ==0.1.0.0
   - scanner ==0.3
-  - scheduler ==1.4.1
+  - scheduler ==1.4.2
   - scientific ==0.3.6.2
   - scotty ==0.11.4
   - scrypt ==0.5.0
@@ -1957,6 +1958,7 @@ default-package-overrides:
   - sox ==0.2.3.1
   - soxlib ==0.0.3.1
   - sparse-linear-algebra ==0.3.1
+  - sparse-tensor ==0.2.1
   - spatial-math ==0.5.0.1
   - special-values ==0.1.0.0
   - speculate ==0.3.5
@@ -2126,7 +2128,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 +2322,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
@@ -2418,7 +2420,7 @@ default-package-overrides:
   - xmonad-extras ==0.15.1
   - xss-sanitize ==0.3.6
   - xxhash-ffi ==0.2.0.0
-  - yaml ==0.11.1.0
+  - yaml ==0.11.1.1
   - yeshql ==4.1.0.1
   - yeshql-core ==4.1.0.2
   - yeshql-hdbc ==4.1.0.2
@@ -2428,7 +2430,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 +2444,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
@@ -2484,6 +2486,7 @@ extra-packages:
   - dbus <1                             # for xmonad-0.26
   - deepseq == 1.3.0.1                  # required to build Cabal with GHC 6.12.3
   - generic-deriving == 1.10.5.*        # new versions don't compile with GHC 7.10.x
+  - ghc-lib-parser == 8.8.0.20190723    # required by hlint-2.2.2
   - gloss < 1.9.3                       # new versions don't compile with GHC 7.8.x
   - haddock < 2.17                      # required on GHC 7.10.x
   - haddock == 2.17.*                   # required on GHC 8.0.x
@@ -2516,6 +2519,7 @@ extra-packages:
   - proto-lens-protobuf-types == 0.2.*  # required for tensorflow-proto-0.1.x on GHC 8.2.x
   - proto-lens-protoc == 0.2.*          # required for tensorflow-proto-0.1.x on GHC 8.2.x
   - QuickCheck < 2                      # required by test-framework-quickcheck and its users
+  - resolv == 0.1.1.2                   # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
   - resourcet ==1.1.*                   # pre-lts-11.x versions neeed by git-annex 6.20180227
   - seqid < 0.2                         # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
   - seqid-streams < 0.2                 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
@@ -3461,6 +3465,8 @@ broken-packages:
   - boombox
   - boomslang
   - boots-app
+  - boots-cloud
+  - boots-web
   - borel
   - boring-window-switcher
   - bot
@@ -3522,6 +3528,7 @@ broken-packages:
   - bv-sized
   - bytable
   - byteslice
+  - bytesmith
   - bytestring-builder-varword
   - bytestring-class
   - bytestring-csv
@@ -4280,7 +4287,6 @@ broken-packages:
   - dgim
   - dgs
   - dhall-check
-  - dhall-json
   - dhall-lsp-server
   - dhall-nix
   - dhall-to-cabal
@@ -5360,7 +5366,6 @@ broken-packages:
   - hakismet
   - hakka
   - hako
-  - hakyll
   - hakyll-agda
   - hakyll-blaze-templates
   - hakyll-contrib
@@ -7616,6 +7621,7 @@ broken-packages:
   - notcpp
   - notmuch-haskell
   - notmuch-web
+  - now-haskell
   - np-linear
   - nptools
   - ntha
diff --git a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
index fd6d5744686f..eaa0f799f922 100644
--- a/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1243,22 +1243,23 @@ self: {
   "BNFC" = callPackage
     ({ mkDerivation, alex, array, base, containers, deepseq, directory
      , doctest, filepath, happy, hspec, HUnit, mtl, pretty, process
-     , QuickCheck, temporary
+     , QuickCheck, semigroups, temporary, time
      }:
      mkDerivation {
        pname = "BNFC";
-       version = "2.8.2";
-       sha256 = "1n4zgm6gls6lpasn8y5hy0m75qkkbk6mj18g2yhjrw8514a5860h";
+       version = "2.8.3";
+       sha256 = "00w8g0kn4sgjyiq4hykkz8k0kl5b5861v7d9g2021vca78gif6wl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ array base ];
        executableHaskellDepends = [
          array base containers deepseq directory filepath mtl pretty process
+         semigroups time
        ];
        executableToolDepends = [ alex happy ];
        testHaskellDepends = [
          array base containers deepseq directory doctest filepath hspec
-         HUnit mtl pretty process QuickCheck temporary
+         HUnit mtl pretty process QuickCheck semigroups temporary time
        ];
        description = "A compiler front-end generator";
        license = stdenv.lib.licenses.gpl2;
@@ -1510,8 +1511,8 @@ self: {
      }:
      mkDerivation {
        pname = "BiobaseBlast";
-       version = "0.3.0.0";
-       sha256 = "1p6ammx4fw5a9bvw503g46smmw5rx4rrpvlf8lmw7c73aczm9ga1";
+       version = "0.3.1.0";
+       sha256 = "153bxf221jga58ibxgd660465klbqj49qr3rk6ni77v7sb4qgrg0";
        libraryHaskellDepends = [
          aeson attoparsec base binary BiobaseENA BiobaseTypes BiobaseXNA
          bytestring cereal containers deepseq directory file-embed lens
@@ -9486,6 +9487,8 @@ self: {
        pname = "HaXml";
        version = "1.25.5";
        sha256 = "0d8jbiv53r3ndg76r3937idqdg34nhmb99vj087i73hjnv21mifb";
+       revision = "1";
+       editedCabalFile = "1xnni9hdvi87incm1pcx0b7jv410maww99acdfkx1cwhlb6k91ag";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -12696,8 +12699,8 @@ self: {
      }:
      mkDerivation {
        pname = "Map";
-       version = "0.0.1.1";
-       sha256 = "0m7654arnnm19assm0fvjm3m6jrq6pn54f9pqvcn09h6vawsbyza";
+       version = "0.1.1.0";
+       sha256 = "0x5sy115f5yx580g8pl8jkjwzd0ih2n4fbvh5f5ch2i749l4dyq1";
        libraryHaskellDepends = [
          base containers either-both filtrable util
        ];
@@ -15738,8 +15741,8 @@ self: {
      }:
      mkDerivation {
        pname = "PyF";
-       version = "0.8.0.0";
-       sha256 = "0np08pyx5kd1wbnrxbzcbp6zryvh38iy2mbz1xbb6ldfmn98r78p";
+       version = "0.8.0.1";
+       sha256 = "1bv57hi26nmrhcdr4hki62ycd0k5p0i0jdwcdcxi7vmhjavnyq08";
        libraryHaskellDepends = [
          base containers haskell-src-exts haskell-src-meta megaparsec
          template-haskell text
@@ -16285,6 +16288,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
@@ -24312,8 +24333,8 @@ self: {
      }:
      mkDerivation {
        pname = "alarmclock";
-       version = "0.7.0.1";
-       sha256 = "08y3qzm1z28k819xg2qz3dbj0kpynxmhs5bwa6rmgw52sxbiwlnf";
+       version = "0.7.0.2";
+       sha256 = "0sp9h8vy8i4pvyadnb1ibpxpfxjikdr9ds3y9y8321cmkprlbs87";
        libraryHaskellDepends = [
          async base clock stm time unbounded-delays
        ];
@@ -29227,8 +29248,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs-gloss";
-       version = "0.2.2";
-       sha256 = "0p8r8hraqa49f13p045j54kzyrcvgscppgqllwnqgdx0in8j71cf";
+       version = "0.2.3";
+       sha256 = "0f2cvjlsf00w69a6m52pwcp9srk441qfzbpdvdwh8pm2vl6nax69";
        libraryHaskellDepends = [
          apecs apecs-physics base containers gloss linear
        ];
@@ -34842,29 +34863,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 = [
@@ -35203,8 +35201,8 @@ self: {
     ({ mkDerivation, base, containers, hspec, QuickCheck, time }:
      mkDerivation {
        pname = "bank-holidays-england";
-       version = "0.2.0.1";
-       sha256 = "0vnadqs924k54f5zdm0airnss47gafqbrak59wvrmc667xn01k0h";
+       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";
@@ -35511,6 +35509,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "base-noprelude_4_13_0_0" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "base-noprelude";
+       version = "4.13.0.0";
+       sha256 = "1ld1phm7jpyvm33dj568gy28inbiklrj00yvb83v5y7rn01w32kp";
+       libraryHaskellDepends = [ base ];
+       doHaddock = false;
+       description = "\"base\" package sans \"Prelude\" module";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "base-orphans" = callPackage
     ({ mkDerivation, base, ghc-prim, hspec, hspec-discover, QuickCheck
      }:
@@ -36200,6 +36211,25 @@ self: {
        broken = true;
      }) {};
 
+  "bcp47" = callPackage
+    ({ mkDerivation, aeson, base, containers, country, doctest
+     , generic-arbitrary, hspec, iso639, megaparsec, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "bcp47";
+       version = "0.1.0.0";
+       sha256 = "1cy2wdp97mvyg1fvkmi6vzd8vd9v8645nd5cfzgp4whhy0v5y7rj";
+       libraryHaskellDepends = [
+         aeson base containers country generic-arbitrary iso639 megaparsec
+         QuickCheck text
+       ];
+       testHaskellDepends = [
+         aeson base containers country doctest hspec iso639 QuickCheck text
+       ];
+       description = "Language tags as specified by BCP 47";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "bcrypt" = callPackage
     ({ mkDerivation, base, bytestring, data-default, entropy, memory }:
      mkDerivation {
@@ -37201,6 +37231,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bifunctors_5_5_5" = callPackage
+    ({ mkDerivation, base, base-orphans, comonad, containers, hspec
+     , hspec-discover, QuickCheck, tagged, template-haskell
+     , th-abstraction, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "bifunctors";
+       version = "5.5.5";
+       sha256 = "0rn47q8dzv0g1fyams99p4py6q0asxdc50q9k0nj497brk738xcb";
+       libraryHaskellDepends = [
+         base base-orphans comonad containers tagged template-haskell
+         th-abstraction transformers
+       ];
+       testHaskellDepends = [
+         base hspec QuickCheck template-haskell transformers
+         transformers-compat
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bifunctors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bighugethesaurus" = callPackage
     ({ mkDerivation, base, HTTP, split }:
      mkDerivation {
@@ -37983,8 +38036,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";
@@ -37997,8 +38050,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";
@@ -38013,8 +38066,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";
@@ -39186,8 +39239,8 @@ self: {
      }:
      mkDerivation {
        pname = "bisc";
-       version = "0.2.2.0";
-       sha256 = "0ypkz75pzrqy12kfpkhai0xmz80bjkjz9m5ydrmzlbcwjwvzlvjz";
+       version = "0.2.3.0";
+       sha256 = "0x03smkfx0qnsxznlp1591gi938f15w057hywfp9497mhvkr7mxg";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -39895,8 +39948,8 @@ self: {
        pname = "bitwise";
        version = "1.0.0.1";
        sha256 = "03xyzdkyb99gvm9g5chl07rqbnm7qrxba7wgmrfmal0rkwm0ibkn";
-       revision = "1";
-       editedCabalFile = "1h6dbjmznd3pvz7j5f8xwaaxxhx57fxszli2k430wcn65bc9y0zs";
+       revision = "2";
+       editedCabalFile = "1mnh3629kgfivjwbbqwrkcyvg6iah5pncc5jzgq3ka5cq0kg09gz";
        libraryHaskellDepends = [ array base bytestring ];
        testHaskellDepends = [ base QuickCheck ];
        benchmarkHaskellDepends = [ array base bytestring criterion ];
@@ -41560,32 +41613,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_2" = callPackage
     ({ mkDerivation, base, exceptions, hspec, mtl }:
      mkDerivation {
        pname = "boots";
-       version = "0.1";
-       sha256 = "0d9mg56alrh6fhv5r5lh33pykfqaw45yz38gky1k6idnyy7w5aik";
+       version = "0.2";
+       sha256 = "0v7p2pfs4kcczc4wpswb0rgl2ak9xijq7ha9c6lagyb1av17sx9r";
        libraryHaskellDepends = [ base exceptions mtl ];
        testHaskellDepends = [ base exceptions hspec mtl ];
        description = "IoC Monad in Haskell";
@@ -41595,23 +41639,63 @@ self: {
 
   "boots-app" = callPackage
     ({ mkDerivation, base, boots, data-default, exceptions, fast-logger
-     , hspec, menshen, microlens, monad-logger, mtl, salak, salak-yaml
-     , splitmix, text, unliftio-core, vault
+     , menshen, microlens, mtl, salak, salak-yaml, splitmix, text, time
+     , unliftio-core, unordered-containers
      }:
      mkDerivation {
        pname = "boots-app";
-       version = "0.1.0.5";
-       sha256 = "0dx2nlbf86nbqfrxaacjskammx84bg4nrp5v075h76b9mky00i5l";
+       version = "0.2";
+       sha256 = "0rnlb9fzaxcx4lvacqklv1kr2ygzgssgz1xzcfmbgkqpzp08nxqx";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base boots data-default exceptions fast-logger menshen microlens
-         monad-logger mtl salak salak-yaml splitmix text unliftio-core vault
+         mtl salak salak-yaml splitmix text unliftio-core
+         unordered-containers
        ];
-       testHaskellDepends = [
-         base boots data-default exceptions fast-logger hspec menshen
-         microlens monad-logger mtl salak salak-yaml splitmix text
-         unliftio-core vault
+       executableHaskellDepends = [ base time ];
+       description = "Factory for quickly building an application";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "boots-cloud" = callPackage
+    ({ mkDerivation, aeson, base, boots, boots-app, boots-web
+     , bytestring, http-client, salak, servant, servant-client, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "boots-cloud";
+       version = "0.2";
+       sha256 = "0wfbzf753h3bgfdw0gfh4cwi40qv2ghyyznfahwxkh9aabrwckqp";
+       libraryHaskellDepends = [
+         aeson base boots boots-app boots-web bytestring http-client salak
+         servant servant-client text unordered-containers
        ];
-       description = "Startup factories using IoC monad";
+       description = "Factory for quickly building a microservice";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "boots-web" = callPackage
+    ({ mkDerivation, aeson, base, boots, boots-app, bytestring
+     , containers, ekg-core, http-types, microlens, monad-logger, salak
+     , servant-server, servant-swagger, swagger2, text, time
+     , unordered-containers, vault, wai, warp
+     }:
+     mkDerivation {
+       pname = "boots-web";
+       version = "0.2";
+       sha256 = "00f55k7gc4dirzxmgngw9vpcl0w8fgklsyscy5h584pbhd84x4mj";
+       libraryHaskellDepends = [
+         aeson base boots boots-app bytestring containers ekg-core
+         http-types microlens monad-logger salak servant-server
+         servant-swagger swagger2 text time unordered-containers vault wai
+         warp
+       ];
+       description = "Factory for quickly building a web application";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -41891,8 +41975,8 @@ self: {
     ({ mkDerivation, base, containers, GLUT, hosc, hsc3, random }:
      mkDerivation {
        pname = "bowntz";
-       version = "1";
-       sha256 = "0b5fv59v7c896g56ixyhip8cnbfw2p2qvdmgj2dg97jvgjkxwpfn";
+       version = "2";
+       sha256 = "0i8fi5xq04s9mzyy1vdshmlyybzhim0sr9nyxxfdbvcaai796i5z";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -42671,6 +42755,8 @@ self: {
        pname = "bsb-http-chunked";
        version = "0.0.0.4";
        sha256 = "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql";
+       revision = "1";
+       editedCabalFile = "07k9422yaw7rz66awmc20ni17xw2bd1pn48ja79c66d5va89f6wz";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          attoparsec base blaze-builder bytestring doctest hedgehog tasty
@@ -43496,6 +43582,8 @@ self: {
        pname = "butterflies";
        version = "0.3.0.2";
        sha256 = "0syykvrgq6i0zxy1pn934j1r9glv4yypva1mfkn0vc0nikh9fm31";
+       revision = "1";
+       editedCabalFile = "1xxdc352fp11b8mhhr3rwj5kffkglvbry2smwwfj1f10wr749zn9";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -43695,6 +43783,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bytes_0_16" = callPackage
+    ({ mkDerivation, base, binary, binary-orphans, bytestring, Cabal
+     , cabal-doctest, cereal, containers, directory, doctest, filepath
+     , hashable, mtl, scientific, text, time, transformers
+     , transformers-compat, unordered-containers, void
+     }:
+     mkDerivation {
+       pname = "bytes";
+       version = "0.16";
+       sha256 = "1m8nkviq4ckqi9v1w1fxzicdzmvb3wfxcmqmppjrrmkwawn4c6i9";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base binary binary-orphans bytestring cereal containers hashable
+         mtl scientific text time transformers transformers-compat
+         unordered-containers void
+       ];
+       testHaskellDepends = [ base directory doctest filepath ];
+       description = "Sharing code for serialization between binary and cereal";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "byteset" = callPackage
     ({ mkDerivation, base, binary }:
      mkDerivation {
@@ -43709,18 +43819,32 @@ 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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "bytestring_0_10_10_0" = callPackage
     ({ mkDerivation, base, byteorder, deepseq, directory, dlist
      , ghc-prim, HUnit, integer-gmp, mtl, QuickCheck, random
@@ -44684,27 +44808,23 @@ self: {
   "cabal-debian" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bifunctors, Cabal
      , containers, data-default, debian, deepseq, Diff, directory
-     , exceptions, filepath, hsemail, HUnit, lens, memoize, mtl
-     , network-uri, newtype-generics, optparse-applicative, parsec
-     , pretty, process, pureMD5, regex-tdfa, set-extra, syb, text, unix
-     , Unixutils, utf8-string
+     , exceptions, filepath, hsemail, HUnit, lens, mtl, network-uri
+     , newtype-generics, optparse-applicative, parsec, pretty, process
+     , pureMD5, regex-tdfa, syb, text, unix, unliftio, utf8-string
      }:
      mkDerivation {
        pname = "cabal-debian";
-       version = "4.39";
-       sha256 = "0cp1q9pa6wdij23bq7c3dac1byxxdr7maxvjj3jyi3v4d2mhgyvp";
+       version = "5.0";
+       sha256 = "1brbn45zg8ki54xl429qlzhzn30mgy7i1sidq1imd54c0rnai46v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-wl-pprint base bifunctors Cabal containers data-default debian
-         deepseq Diff directory exceptions filepath hsemail HUnit lens
-         memoize mtl network-uri newtype-generics optparse-applicative
-         parsec pretty process pureMD5 regex-tdfa set-extra syb text unix
-         Unixutils utf8-string
-       ];
-       executableHaskellDepends = [
-         base Cabal debian lens mtl pretty Unixutils
+         deepseq Diff directory exceptions filepath hsemail HUnit lens mtl
+         network-uri newtype-generics optparse-applicative parsec pretty
+         process pureMD5 regex-tdfa syb text unix unliftio utf8-string
        ];
+       executableHaskellDepends = [ base Cabal debian lens mtl pretty ];
        description = "Create a Debianization for a Cabal package";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -44780,6 +44900,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cabal-doctest_1_0_7" = callPackage
+    ({ mkDerivation, base, Cabal, directory, filepath }:
+     mkDerivation {
+       pname = "cabal-doctest";
+       version = "1.0.7";
+       sha256 = "1v5dlwsxd9kdll07x5apnf76j2g2pqfp138pacc64j6agrgyv00h";
+       libraryHaskellDepends = [ base Cabal directory filepath ];
+       description = "A Setup.hs helper for doctests running";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cabal-file-th" = callPackage
     ({ mkDerivation, base, Cabal, directory, pretty, template-haskell
      }:
@@ -44802,12 +44934,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
@@ -44817,7 +44950,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;
      }) {};
@@ -44933,15 +45066,12 @@ self: {
      , 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, zip-archive
-     , zlib
+     , process, random, resolv, stm, tar, text, time, unix, zlib
      }:
      mkDerivation {
        pname = "cabal-install";
-       version = "2.4.1.0";
-       sha256 = "1b91rcs00wr5mf55c6xl8hrxmymlq72w71qm5r0q4j869asv5g39";
-       revision = "3";
-       editedCabalFile = "1mnm6mfrgavq3blvkm3wz45pqrj10apjihg1g9cds58qp19m9r1h";
+       version = "3.0.0.0";
+       sha256 = "1wda29ifkn50376jidj6ihfk60a64y0bsd7lh3yw15py7a2sfcm4";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath process ];
@@ -44949,8 +45079,7 @@ self: {
          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
-         zip-archive zlib
+         parsec pretty process random resolv stm tar text time unix zlib
        ];
        doCheck = false;
        postInstall = ''
@@ -48848,6 +48977,25 @@ self: {
        license = "LGPL";
      }) {};
 
+  "chart-cli" = callPackage
+    ({ mkDerivation, attoparsec, base, Chart, Chart-cairo, colour
+     , data-default-class, dates, filepath, hashable, lens
+     , optparse-applicative, text, time
+     }:
+     mkDerivation {
+       pname = "chart-cli";
+       version = "0.1.0.0";
+       sha256 = "0z90jzhw0k1z20gn227r0jcpnfj6ajr9y54y5g7phb6cy1ff2iv3";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         attoparsec base Chart Chart-cairo colour data-default-class dates
+         filepath hashable lens optparse-applicative text time
+       ];
+       description = "Command-line utility to draw charts from input data easily";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "chart-histogram" = callPackage
     ({ mkDerivation, base, Chart }:
      mkDerivation {
@@ -49726,35 +49874,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 = [
@@ -49771,7 +49890,6 @@ self: {
        ];
        description = "A performant time library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "chronos-bench" = callPackage
@@ -51015,8 +51133,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.24.0.15";
-       sha256 = "1b9cjx4i196rdj1p4w243rk6pxk8h2fnwda9jadzj61nxz5sc3xv";
+       version = "0.25.2";
+       sha256 = "087k0n6ri0pg5wmjnw3gkjaz5d627519vby9kmiagck7id7f89q9";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
@@ -51039,17 +51157,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;
@@ -51194,8 +51317,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
@@ -54366,8 +54489,8 @@ self: {
        pname = "complex-generic";
        version = "0.1.1.1";
        sha256 = "03wb599difj0qm1dpzgxdymq3bql69qmkdk5fspcyc19nnd5qlqz";
-       revision = "3";
-       editedCabalFile = "0vm0i25bib0bzlw7fw209pqn3963y5hx0vkri049q4v7y0qld8k9";
+       revision = "4";
+       editedCabalFile = "00v0mr5fc090wph3s9ks3ppf81nqbkd0yfa347fkn3zrq3daqr8f";
        libraryHaskellDepends = [ base template-haskell ];
        description = "complex numbers with non-mandatory RealFloat";
        license = stdenv.lib.licenses.bsd3;
@@ -56059,6 +56182,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
@@ -56784,15 +56925,15 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "constraints_0_11" = callPackage
+  "constraints_0_11_1" = callPackage
     ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec
      , hspec-discover, mtl, semigroups, transformers
      , transformers-compat
      }:
      mkDerivation {
        pname = "constraints";
-       version = "0.11";
-       sha256 = "1ik97w6ci9kw5ppw9nmh65j6ldqq2az8c37jlg3h5x3prn2cds1d";
+       version = "0.11.1";
+       sha256 = "15768bcd8z70wq0b2igvz8mrl62bqaqad6cpdp9p4awyylba37y6";
        libraryHaskellDepends = [
          base binary deepseq ghc-prim hashable mtl semigroups transformers
          transformers-compat
@@ -58640,15 +58781,15 @@ self: {
      }) {};
 
   "cpsa" = callPackage
-    ({ mkDerivation, base, containers, parallel }:
+    ({ mkDerivation, base, containers, directory, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.6.2";
-       sha256 = "0byrfj9lqv4k5d0s3d7ib6bwcz50bl23qnk2nk8bzk9s1356g6yi";
+       version = "3.6.3";
+       sha256 = "121lrj9zhlcs4r2xghxw8cah705s5k9jkcl9g3mj5ixzki3b2bdm";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
-       executableHaskellDepends = [ base containers parallel ];
+       executableHaskellDepends = [ base containers directory parallel ];
        description = "Symbolic cryptographic protocol analyzer";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -60229,8 +60370,8 @@ self: {
        pname = "cryptohash-sha256";
        version = "0.11.101.0";
        sha256 = "1p85vajcgw9hmq8zsz9krzx0vxh7aggwbg5w9ws8w97avcsn8xaj";
-       revision = "2";
-       editedCabalFile = "0m5h68xm60wrjv88gg6cn1q5qki5674mxl4d6sn3vxpbcj9b5417";
+       revision = "3";
+       editedCabalFile = "1arhz4y792kx439s2zv9x291gvvl2zxcfx9sq0nxsjlz7c3hpyp1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -61016,16 +61157,17 @@ self: {
      }) {};
 
   "cuckoo" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, cryptonite, hashable
-     , memory, primitive, QuickCheck, random, stopwatch, vector
+    ({ mkDerivation, base, bytestring, criterion, cryptonite, doctest
+     , hashable, memory, primitive, QuickCheck, random, stopwatch
+     , vector
      }:
      mkDerivation {
        pname = "cuckoo";
-       version = "0.1.0.0";
-       sha256 = "0riij9hqszpaw1hnn3hk7bakc2qqj29n86wpl0ajcz4gv91pd16q";
+       version = "0.2.0.1";
+       sha256 = "1q070hzrsm0f1lfxnsk4jmmb9pay98522k2lqncvzg09fm2a687j";
        libraryHaskellDepends = [ base memory primitive random vector ];
        testHaskellDepends = [
-         base bytestring cryptonite hashable memory stopwatch
+         base bytestring cryptonite doctest hashable memory stopwatch
        ];
        benchmarkHaskellDepends = [
          base bytestring criterion memory QuickCheck stopwatch
@@ -65236,28 +65378,26 @@ self: {
 
   "debian" = callPackage
     ({ mkDerivation, base, bytestring, bzlib, Cabal, containers
-     , directory, either, exceptions, filepath, HaXml, hostname, HUnit
-     , lens, ListLike, mtl, network-uri, old-locale, parsec, pretty
-     , process, process-extras, pureMD5, QuickCheck, regex-compat
-     , regex-tdfa, SHA, syb, template-haskell, text, th-lift, th-orphans
-     , time, unix, Unixutils, utf8-string, zlib
+     , directory, either, exceptions, filepath, hostname, HUnit, lens
+     , ListLike, mtl, network-uri, old-locale, parsec, pretty, process
+     , process-extras, pureMD5, QuickCheck, regex-compat, regex-tdfa
+     , SHA, syb, template-haskell, temporary, text, th-lift, th-orphans
+     , time, unix, utf8-string, zlib
      }:
      mkDerivation {
        pname = "debian";
-       version = "3.95.1";
-       sha256 = "1sfvjq9vilibvvcpm404z6j64ic54bd1s7yri8plfg849miynh95";
+       version = "4.0.0";
+       sha256 = "1gshvsgbgghskl4csngffdpnf49z27yhap86bwqnkp4asbh553h6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring bzlib Cabal containers directory either exceptions
-         filepath HaXml hostname HUnit lens ListLike mtl network-uri
-         old-locale parsec pretty process process-extras pureMD5 QuickCheck
-         regex-compat regex-tdfa SHA syb template-haskell text th-lift
-         th-orphans time unix Unixutils utf8-string zlib
-       ];
-       executableHaskellDepends = [
-         base directory filepath HaXml pretty process unix
+         filepath hostname HUnit lens ListLike mtl network-uri old-locale
+         parsec pretty process process-extras pureMD5 QuickCheck
+         regex-compat regex-tdfa SHA syb template-haskell temporary text
+         th-lift th-orphans time unix utf8-string zlib
        ];
+       executableHaskellDepends = [ base directory filepath process ];
        testHaskellDepends = [
          base Cabal HUnit parsec pretty regex-tdfa text
        ];
@@ -65485,14 +65625,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "decidable_0_2_0_0" = callPackage
+  "decidable_0_2_1_0" = callPackage
     ({ mkDerivation, base, functor-products, microlens, singletons
      , vinyl
      }:
      mkDerivation {
        pname = "decidable";
-       version = "0.2.0.0";
-       sha256 = "1b0mnkgk60qm84wim9lq6hlgm2ijxjx0s4gahvd5fjkccdryz2h2";
+       version = "0.2.1.0";
+       sha256 = "1l307j4n9xagarbqqa48c729fs63qlzy5sqzgfyzfqwnas8yrqhx";
        libraryHaskellDepends = [
          base functor-products microlens singletons vinyl
        ];
@@ -66328,12 +66468,13 @@ self: {
      }:
      mkDerivation {
        pname = "dependent-sum-aeson-orphans";
-       version = "0.2.0.0";
-       sha256 = "0cb3yhrqn2mwa3spfz6sky9bh9kh92kl4959187d6kqvvhqqmafj";
+       version = "0.2.1.0";
+       sha256 = "04flfszrn4ah9vrm6hyp2pk0sbldcjp0jjibdny7lxdmv0fskzj5";
        libraryHaskellDepends = [
          aeson base constraints constraints-extras dependent-map
          dependent-sum
        ];
+       description = "JSON instances for DSum, DMap, and Some";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -66717,6 +66858,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "deriving-compat_0_5_7" = callPackage
+    ({ mkDerivation, base, base-compat, base-orphans, containers
+     , ghc-boot-th, ghc-prim, hspec, hspec-discover, QuickCheck, tagged
+     , template-haskell, th-abstraction, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "deriving-compat";
+       version = "0.5.7";
+       sha256 = "0bp4f0is84cv139s35669dv23mcp6lhp2wall72yvkk12lp2l2mg";
+       libraryHaskellDepends = [
+         base containers ghc-boot-th ghc-prim template-haskell
+         th-abstraction transformers transformers-compat
+       ];
+       testHaskellDepends = [
+         base base-compat base-orphans hspec QuickCheck tagged
+         template-haskell transformers transformers-compat
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Backports of GHC deriving extensions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "derp" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -67289,8 +67454,6 @@ self: {
        ];
        description = "Convert between Dhall and JSON or YAML";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "dhall-json_1_4_0" = callPackage
@@ -67321,7 +67484,6 @@ self: {
        description = "Convert between Dhall and JSON or YAML";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "dhall-lex" = callPackage
@@ -70454,12 +70616,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;
      }) {};
@@ -70468,8 +70632,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;
@@ -71086,6 +71250,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "doclayout" = callPackage
+    ({ mkDerivation, base, criterion, mtl, safe, tasty, tasty-golden
+     , tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "doclayout";
+       version = "0.1";
+       sha256 = "1dmjj3z15vr5czy5gkwzs5zvz23ap1qpya3qlqfs5phslpbsada3";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base mtl safe text ];
+       testHaskellDepends = [
+         base mtl tasty tasty-golden tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [ base criterion mtl text ];
+       description = "A prettyprinting library for laying out text documents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "docopt" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, containers
      , HUnit, parsec, split, template-haskell, text, th-lift
@@ -71138,23 +71320,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "doctemplates_0_3_0_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, filepath
-     , Glob, mtl, parsec, scientific, tasty, tasty-golden, tasty-hunit
-     , temporary, text, unordered-containers, vector
+  "doctemplates_0_5" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , doclayout, filepath, Glob, mtl, parsec, safe, scientific, tasty
+     , tasty-golden, tasty-hunit, temporary, text, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "doctemplates";
-       version = "0.3.0.1";
-       sha256 = "11xvrmk9qb2izq8y61pna0lxlsfr5yb94nlk5ih8z1fcdn7ghl3j";
+       version = "0.5";
+       sha256 = "0xdma2j1bim31mvkqc6362rbmv193fyznd3y4ipdgd113zkj7hy6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base containers filepath mtl parsec scientific text
-         unordered-containers vector
+         aeson base containers doclayout filepath mtl parsec safe scientific
+         text unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base bytestring filepath Glob mtl tasty tasty-golden
-         tasty-hunit temporary text
+         aeson base bytestring filepath Glob tasty tasty-golden tasty-hunit
+         temporary text
+       ];
+       benchmarkHaskellDepends = [
+         aeson base containers criterion filepath mtl text
        ];
        description = "Pandoc-style document templates";
        license = stdenv.lib.licenses.bsd3;
@@ -71189,6 +71375,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "doctest_0_16_2" = callPackage
+    ({ mkDerivation, base, base-compat, code-page, deepseq, directory
+     , filepath, ghc, ghc-paths, hspec, HUnit, mockery, process
+     , QuickCheck, setenv, silently, stringbuilder, syb, transformers
+     }:
+     mkDerivation {
+       pname = "doctest";
+       version = "0.16.2";
+       sha256 = "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base base-compat code-page deepseq directory filepath ghc ghc-paths
+         process syb transformers
+       ];
+       executableHaskellDepends = [
+         base base-compat code-page deepseq directory filepath ghc ghc-paths
+         process syb transformers
+       ];
+       testHaskellDepends = [
+         base base-compat code-page deepseq directory filepath ghc ghc-paths
+         hspec HUnit mockery process QuickCheck setenv silently
+         stringbuilder syb transformers
+       ];
+       description = "Test interactive Haskell examples";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "doctest-discover" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, doctest
      , filepath
@@ -73099,6 +73314,19 @@ self: {
        broken = true;
      }) {};
 
+  "dyepack" = callPackage
+    ({ mkDerivation, base, generics-sop }:
+     mkDerivation {
+       pname = "dyepack";
+       version = "0.1.0.0";
+       sha256 = "02kdcfnagp0aadfjhn17b47pz9bknl0yisyqpnf79v7g27szb74a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base generics-sop ];
+       description = "Programatically identify space leaks in your program";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dynamic" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava
      , containers, http-conduit, text, unordered-containers, vector
@@ -73407,6 +73635,41 @@ self: {
        broken = true;
      }) {};
 
+  "dzen-dhall" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, dhall, directory
+     , file-embed-lzma, filepath, generic-random, hashable, hourglass
+     , hspec, http-conduit, http-types, HUnit, megaparsec, microlens
+     , microlens-th, network-uri, optparse-applicative, parsec, parsers
+     , pipes, prettyprinter, prettyprinter-ansi-terminal, process
+     , QuickCheck, random, tasty, tasty-hspec, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, transformers, unix
+     , unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "dzen-dhall";
+       version = "1.0.0";
+       sha256 = "0im78kvjwanlbi097pyvvpj2isssf3iblqbbqsk2iccvdqjyqf5z";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring dhall directory file-embed-lzma
+         filepath hashable hourglass http-conduit http-types megaparsec
+         microlens microlens-th network-uri optparse-applicative parsec
+         parsers pipes prettyprinter prettyprinter-ansi-terminal process
+         random text transformers unix unordered-containers utf8-string
+         vector
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base dhall filepath generic-random hspec HUnit microlens
+         network-uri optparse-applicative parsec QuickCheck tasty
+         tasty-hspec tasty-hunit tasty-quickcheck template-haskell text
+         unordered-containers vector
+       ];
+       description = "Configure dzen2 bars in Dhall language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dzen-utils" = callPackage
     ({ mkDerivation, base, colour, process }:
      mkDerivation {
@@ -74290,8 +74553,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.9.0";
-       sha256 = "1law6pwgqvp6nniwwbbsdm6fjq2fp30ywjfla2qqgwdabcqbd2vq";
+       version = "3.9.1";
+       sha256 = "1q4hyvr52zv2p827cvkmi4rl1d1dvrdg9bly6wykbhdv6ycbihn5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -74898,6 +75161,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "eliminators_0_6" = callPackage
+    ({ mkDerivation, base, extra, hspec, hspec-discover, singleton-nats
+     , singletons, template-haskell, th-abstraction, th-desugar
+     }:
+     mkDerivation {
+       pname = "eliminators";
+       version = "0.6";
+       sha256 = "1mxjp2ygf72k3yaiqpfi4lrmhwhx69zkm5kznrb6wainw5r6h0if";
+       libraryHaskellDepends = [
+         base extra singleton-nats singletons template-haskell
+         th-abstraction th-desugar
+       ];
+       testHaskellDepends = [ base hspec singleton-nats singletons ];
+       testToolDepends = [ hspec-discover ];
+       description = "Dependently typed elimination functions using singletons";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "elision" = callPackage
     ({ mkDerivation, base, profunctors }:
      mkDerivation {
@@ -76306,20 +76588,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 = [
@@ -76327,7 +76595,6 @@ self: {
        ];
        description = "Sets of enumeration values represented by machine words";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "env-locale" = callPackage
@@ -77310,6 +77577,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
      }:
@@ -78516,6 +78851,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "exceptions_0_10_3" = callPackage
+    ({ mkDerivation, base, mtl, QuickCheck, stm, template-haskell
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "exceptions";
+       version = "0.10.3";
+       sha256 = "1w25j4ys5s6v239vbqlbipm9fdwxl1j2ap2lzms7f7rgnik5ir24";
+       libraryHaskellDepends = [
+         base mtl stm template-haskell transformers transformers-compat
+       ];
+       testHaskellDepends = [
+         base mtl QuickCheck stm template-haskell test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+         transformers-compat
+       ];
+       description = "Extensible optionally-pure exceptions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "exchangerates" = callPackage
     ({ mkDerivation, aeson, base, containers, directory, genvalidity
      , genvalidity-containers, genvalidity-hspec
@@ -79513,8 +79870,8 @@ self: {
      }:
      mkDerivation {
        pname = "extra";
-       version = "1.6.17";
-       sha256 = "1zgp64ich4sjg59vwv6rgfz5amhhydcplv9l8k50p1mc49h2h2vc";
+       version = "1.6.18";
+       sha256 = "0jvd4l0hi8pf5899pxc32yc638y0mrc357w0rph99k3hm277i0cy";
        libraryHaskellDepends = [
          base clock directory filepath process semigroups time unix
        ];
@@ -80132,26 +80489,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 ];
@@ -80163,7 +80500,6 @@ self: {
        ];
        description = "Fast ByteString Builder";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-combinatorics" = callPackage
@@ -85627,6 +85963,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "free_5_1_2" = callPackage
+    ({ mkDerivation, base, comonad, containers, distributive
+     , exceptions, mtl, profunctors, semigroupoids, template-haskell
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "free";
+       version = "5.1.2";
+       sha256 = "0vlf3f2ckl3cr7z2zl8c9c8qkdlfgvmh04gxkp2fg0z9dz80nlyb";
+       libraryHaskellDepends = [
+         base comonad containers distributive exceptions mtl profunctors
+         semigroupoids template-haskell transformers transformers-base
+       ];
+       description = "Monads for free";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "free-algebras" = callPackage
     ({ mkDerivation, base, constraints, containers, data-fix, dlist
      , free, groups, hedgehog, kan-extensions, mtl, natural-numbers
@@ -87632,8 +87986,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.11.2";
-       sha256 = "0bjbz5zan20bpid2i6kbjwk589gkdwfvfawlg27j13p8a82srpdf";
+       version = "0.12.1";
+       sha256 = "00f95mhw6z5hz5jg6mnpgklkm548gp6nr3c49qhr661n8xl1fpyr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -88974,6 +89328,18 @@ self: {
        broken = true;
      }) {};
 
+  "generic-constraints" = callPackage
+    ({ mkDerivation, base, HUnit, template-haskell, th-abstraction }:
+     mkDerivation {
+       pname = "generic-constraints";
+       version = "1.1.1";
+       sha256 = "0ifia4yw495ikkvjn70c386z3w40vyl2wracmcij025yc9bz4w9q";
+       libraryHaskellDepends = [ base template-haskell th-abstraction ];
+       testHaskellDepends = [ base HUnit ];
+       description = "Constraints via Generic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "generic-data" = callPackage
     ({ mkDerivation, base, base-orphans, contravariant, criterion
      , deepseq, generic-lens, one-liner, show-combinators, tasty
@@ -89054,6 +89420,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "generic-deriving_1_13" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover
+     , template-haskell, th-abstraction
+     }:
+     mkDerivation {
+       pname = "generic-deriving";
+       version = "1.13";
+       sha256 = "0k4av4jamgpavn82q54g345la5i2ckfbq2w9nnf2a6vhvk1lnw8g";
+       libraryHaskellDepends = [
+         base containers ghc-prim template-haskell th-abstraction
+       ];
+       testHaskellDepends = [ base hspec template-haskell ];
+       testToolDepends = [ hspec-discover ];
+       description = "Generic programming library for generalised deriving";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "generic-enum" = callPackage
     ({ mkDerivation, array, base, bytestring, hspec }:
      mkDerivation {
@@ -89366,6 +89750,8 @@ self: {
        pname = "generics-sop";
        version = "0.5.0.0";
        sha256 = "18dkdain2g46b1637f3pbv0fkzg4b1a8frm16hfqvhpfk46i7rzc";
+       revision = "1";
+       editedCabalFile = "10zfjhcipm77zfx32ls7bc8vk3affa5v7cyphwpw93d6sfqc9wym";
        libraryHaskellDepends = [
          base ghc-prim sop-core template-haskell
        ];
@@ -89843,9 +90229,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
@@ -89934,6 +90318,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
@@ -90833,15 +91237,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_8_8_0_20190723" = callPackage
+  "ghc-lib_8_8_1" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy
      , haskeline, hpc, pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.8.0.20190723";
-       sha256 = "161qmm41vayks22vxbji436by1rfbx0x5m2zm4cc11pjcjrd4p63";
+       version = "8.8.1";
+       sha256 = "0lilr12pamss6x2vkqb700zy7yd15vd4y8f0h4q8fdp068bxn177";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -90898,6 +91302,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ghc-lib-parser_8_8_1" = callPackage
+    ({ mkDerivation, alex, array, base, binary, bytestring, containers
+     , deepseq, directory, filepath, ghc-prim, happy, hpc, pretty
+     , process, time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "ghc-lib-parser";
+       version = "8.8.1";
+       sha256 = "12aicsvc45ld2hv2qq0wdky4qa2mg8s6hhamilavcbp0da2s6wnh";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         ghc-prim hpc pretty process time transformers unix
+       ];
+       libraryToolDepends = [ alex happy ];
+       description = "The GHC API, decoupled from GHC versions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-make" = callPackage
     ({ mkDerivation, base, process, shake, unordered-containers }:
      mkDerivation {
@@ -91057,10 +91481,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory }:
      mkDerivation {
        pname = "ghc-paths";
-       version = "0.1.0.9";
-       sha256 = "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg";
-       revision = "4";
-       editedCabalFile = "1fp0jyvi6prqsv0dxn010c7q4mmiwlcy1xk6ppd4d539adxxy67d";
+       version = "0.1.0.12";
+       sha256 = "1164w9pqnf7rjm05mmfjznz7rrn415blrkk1kjc0gjvks1vfdjvf";
        setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base ];
        description = "Knowledge of GHC's installation directories";
@@ -91313,8 +91735,8 @@ self: {
        pname = "ghc-tcplugins-extra";
        version = "0.3";
        sha256 = "0k1ph8za52mx6f146xhaakn630xrzk42ylchv4b9r04hslhzvb1h";
-       revision = "1";
-       editedCabalFile = "0x2d4bp5lhyfrqjshmgbirdn2ihc057a8a6khqmz91jj9zlhf7vb";
+       revision = "2";
+       editedCabalFile = "1hrbvixm25x1dx1ljy9x7f63kcan4ffz885xj6qsl8l070wj96s1";
        libraryHaskellDepends = [ base ghc ];
        description = "Utilities for writing GHC type-checker plugins";
        license = stdenv.lib.licenses.bsd2;
@@ -91387,6 +91809,30 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "ghc-typelits-extra_0_3_1" = callPackage
+    ({ mkDerivation, base, containers, ghc, ghc-prim
+     , ghc-tcplugins-extra, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, integer-gmp, tasty, tasty-hunit
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-extra";
+       version = "0.3.1";
+       sha256 = "0v29lqz6q6wsdrhbcljyvcfdz1i7bvrp341816m2n5kbrkrk48ha";
+       libraryHaskellDepends = [
+         base containers ghc ghc-prim ghc-tcplugins-extra
+         ghc-typelits-knownnat ghc-typelits-natnormalise integer-gmp
+         transformers
+       ];
+       testHaskellDepends = [
+         base ghc-typelits-knownnat ghc-typelits-natnormalise tasty
+         tasty-hunit
+       ];
+       description = "Additional type-level operations on GHC.TypeLits.Nat";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-typelits-knownnat" = callPackage
     ({ mkDerivation, base, ghc, ghc-tcplugins-extra
      , ghc-typelits-natnormalise, tasty, tasty-hunit, tasty-quickcheck
@@ -91407,6 +91853,27 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "ghc-typelits-knownnat_0_7" = callPackage
+    ({ mkDerivation, base, ghc, ghc-prim, ghc-tcplugins-extra
+     , ghc-typelits-natnormalise, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-knownnat";
+       version = "0.7";
+       sha256 = "00f8m3kmp572r8jr246m8r6lwzxmiqj4hml06w09l9n3lzvjwv7b";
+       libraryHaskellDepends = [
+         base ghc ghc-prim ghc-tcplugins-extra ghc-typelits-natnormalise
+         template-haskell transformers
+       ];
+       testHaskellDepends = [
+         base ghc-typelits-natnormalise tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Derive KnownNat constraints from other KnownNat constraints";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-typelits-natnormalise" = callPackage
     ({ mkDerivation, base, ghc, ghc-tcplugins-extra, integer-gmp, tasty
      , tasty-hunit, template-haskell, transformers
@@ -91423,6 +91890,23 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "ghc-typelits-natnormalise_0_7" = callPackage
+    ({ mkDerivation, base, containers, ghc, ghc-tcplugins-extra
+     , integer-gmp, tasty, tasty-hunit, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-natnormalise";
+       version = "0.7";
+       sha256 = "1rfw67hhhka3ga8v3224ain7jvdc390glz5cr7vvxm1yqs1wgwx4";
+       libraryHaskellDepends = [
+         base containers ghc ghc-tcplugins-extra integer-gmp transformers
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit template-haskell ];
+       description = "GHC typechecker plugin for types of kind GHC.TypeLits.Nat";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-typelits-presburger" = callPackage
     ({ mkDerivation, base, containers, equational-reasoning, ghc
      , ghc-tcplugins-extra, mtl, pretty, reflection, singletons, syb
@@ -93071,8 +93555,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;
@@ -93292,8 +93776,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"
@@ -93342,11 +93826,13 @@ self: {
          inherit (pkgs) which;};
 
   "git-brunch" = callPackage
-    ({ mkDerivation, base, brick, microlens, process, vector, vty }:
+    ({ mkDerivation, base, brick, hspec, microlens, process, vector
+     , vty
+     }:
      mkDerivation {
        pname = "git-brunch";
-       version = "1.0.4.0";
-       sha256 = "1ss2axjwjx7pqx9dq7mxhbnn43k1g1zj7n54f2xq7zwq2ngd5x8f";
+       version = "1.0.5.0";
+       sha256 = "0bnag71l6vjygn5bbfav229pk44xn491jzj13n7m8xdc7nvh7zz1";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -93355,7 +93841,9 @@ self: {
        executableHaskellDepends = [
          base brick microlens process vector vty
        ];
-       testHaskellDepends = [ base brick microlens process vector vty ];
+       testHaskellDepends = [
+         base brick hspec microlens process vector vty
+       ];
        doHaddock = false;
        description = "git checkout command-line tool";
        license = stdenv.lib.licenses.bsd3;
@@ -93524,6 +94012,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
@@ -95723,8 +96227,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
@@ -95741,8 +96245,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";
@@ -95753,20 +96257,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";
@@ -95777,8 +96293,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";
@@ -95789,8 +96305,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";
@@ -95801,8 +96317,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";
@@ -95813,8 +96329,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";
@@ -95825,8 +96341,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";
@@ -95837,8 +96353,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";
@@ -95861,8 +96377,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";
@@ -95873,8 +96389,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";
@@ -95885,8 +96401,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";
@@ -95909,8 +96425,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";
@@ -95921,8 +96437,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";
@@ -95933,8 +96449,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";
@@ -95945,8 +96461,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";
@@ -95957,8 +96473,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";
@@ -95969,8 +96485,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";
@@ -95981,8 +96497,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";
@@ -95993,8 +96509,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";
@@ -96005,8 +96521,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";
@@ -96017,8 +96533,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";
@@ -96029,8 +96545,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";
@@ -96041,8 +96557,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";
@@ -96053,8 +96569,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";
@@ -96065,8 +96581,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";
@@ -96089,8 +96605,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";
@@ -96101,8 +96617,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";
@@ -96113,8 +96629,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";
@@ -96125,8 +96641,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";
@@ -96137,8 +96653,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";
@@ -96149,8 +96665,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";
@@ -96161,8 +96677,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";
@@ -96173,8 +96689,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";
@@ -96185,8 +96701,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";
@@ -96197,8 +96713,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";
@@ -96209,8 +96725,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";
@@ -96221,8 +96737,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";
@@ -96233,8 +96749,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";
@@ -96245,8 +96761,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";
@@ -96257,8 +96773,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";
@@ -96269,8 +96785,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";
@@ -96289,12 +96805,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";
@@ -96305,8 +96845,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";
@@ -96317,8 +96857,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";
@@ -96329,8 +96869,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";
@@ -96341,8 +96881,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";
@@ -96353,20 +96893,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";
@@ -96377,8 +96929,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";
@@ -96389,8 +96941,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";
@@ -96401,8 +96953,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";
@@ -96413,8 +96965,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";
@@ -96425,8 +96977,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";
@@ -96442,8 +96994,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
@@ -96460,8 +97012,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";
@@ -96472,20 +97024,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";
@@ -96496,8 +97060,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";
@@ -96508,8 +97072,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";
@@ -96520,8 +97084,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";
@@ -96532,8 +97096,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";
@@ -96544,8 +97108,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";
@@ -96556,8 +97120,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";
@@ -96568,10 +97132,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;
      }) {};
@@ -96580,8 +97144,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";
@@ -96592,20 +97156,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";
@@ -96616,8 +97192,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";
@@ -96628,8 +97204,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";
@@ -96640,20 +97216,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";
@@ -96664,8 +97252,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";
@@ -96676,8 +97264,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";
@@ -96688,8 +97276,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";
@@ -96700,8 +97288,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";
@@ -96712,8 +97300,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";
@@ -96724,8 +97312,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";
@@ -96736,8 +97324,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";
@@ -96760,8 +97348,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";
@@ -96772,8 +97360,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";
@@ -96784,8 +97372,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";
@@ -96796,8 +97384,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";
@@ -96808,8 +97396,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";
@@ -96820,8 +97408,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";
@@ -96832,8 +97420,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";
@@ -96844,20 +97432,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";
@@ -96868,8 +97468,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";
@@ -96880,8 +97480,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";
@@ -96892,8 +97492,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";
@@ -96904,8 +97504,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";
@@ -96916,8 +97516,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";
@@ -96928,8 +97528,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";
@@ -96940,8 +97540,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";
@@ -96964,8 +97564,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";
@@ -96976,8 +97576,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";
@@ -96988,8 +97588,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";
@@ -97024,8 +97624,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";
@@ -97036,8 +97636,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";
@@ -97048,8 +97648,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";
@@ -97060,8 +97660,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";
@@ -97072,8 +97672,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";
@@ -97084,8 +97684,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";
@@ -97096,8 +97696,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";
@@ -97108,8 +97708,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";
@@ -97132,8 +97732,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";
@@ -97144,8 +97744,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";
@@ -97156,8 +97756,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";
@@ -97168,8 +97768,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";
@@ -97180,8 +97780,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";
@@ -97192,8 +97792,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";
@@ -97204,8 +97804,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";
@@ -97216,8 +97816,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";
@@ -97228,8 +97828,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";
@@ -97240,8 +97840,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";
@@ -97252,8 +97852,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";
@@ -97264,8 +97864,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";
@@ -97276,8 +97876,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";
@@ -97288,8 +97888,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";
@@ -97308,12 +97908,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";
@@ -97324,8 +97936,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";
@@ -97336,8 +97948,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";
@@ -97348,20 +97960,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";
@@ -97372,8 +97996,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";
@@ -97384,8 +98008,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";
@@ -97396,8 +98020,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";
@@ -97408,8 +98032,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";
@@ -97420,8 +98044,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";
@@ -97432,8 +98056,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";
@@ -97444,8 +98068,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";
@@ -97456,8 +98080,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";
@@ -97468,8 +98092,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";
@@ -97480,8 +98104,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";
@@ -97492,8 +98116,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";
@@ -97504,8 +98128,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";
@@ -97516,8 +98140,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";
@@ -97528,10 +98152,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;
      }) {};
@@ -97540,8 +98164,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";
@@ -97552,8 +98176,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";
@@ -97564,8 +98188,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";
@@ -97576,8 +98200,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";
@@ -97588,8 +98212,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";
@@ -97600,8 +98224,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";
@@ -97624,8 +98248,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";
@@ -97636,8 +98260,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";
@@ -97648,8 +98272,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";
@@ -97660,8 +98284,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";
@@ -97672,8 +98296,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";
@@ -97684,8 +98308,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";
@@ -97696,8 +98320,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";
@@ -97720,8 +98344,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";
@@ -97732,8 +98356,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";
@@ -97744,8 +98368,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";
@@ -97756,8 +98380,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";
@@ -97768,8 +98392,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";
@@ -97780,8 +98404,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";
@@ -97792,8 +98416,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";
@@ -97804,8 +98428,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";
@@ -100344,8 +100968,8 @@ self: {
      }:
      mkDerivation {
        pname = "gscholar-rss";
-       version = "0.2.1.0";
-       sha256 = "0a4hhcggfbgxraq2jj40gvrg64nw37h7y6jj7pgswa623m85040j";
+       version = "0.2.2.0";
+       sha256 = "1h8zg9yyyckyp5irw9gcbzfysav67hn2rlrkwakyh3ghb1rnl71k";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -103440,8 +104064,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
@@ -104716,8 +105338,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
@@ -107102,12 +107724,13 @@ self: {
      }) {};
 
   "haskell-holes-th" = callPackage
-    ({ mkDerivation, base, template-haskell }:
+    ({ mkDerivation, base, template-haskell, transformers }:
      mkDerivation {
        pname = "haskell-holes-th";
-       version = "1.0.0.0";
-       sha256 = "13xyxck9f15mwi641zs9zw77cnrgh30p2771f66haby96k8wx9jf";
-       libraryHaskellDepends = [ base template-haskell ];
+       version = "2.0.0.0";
+       sha256 = "045spgarz68bay5yqd5cfllkmzja2jax9swcqhxc7gw5msfgxxw1";
+       libraryHaskellDepends = [ base template-haskell transformers ];
+       testHaskellDepends = [ base template-haskell transformers ];
        description = "Infer haskell code by given type";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -114533,8 +115156,8 @@ self: {
        pname = "hgmp";
        version = "0.1.1";
        sha256 = "1hisbcpz47x2lbqf8vzwis7qw7xhvx22lv7dcyhm9vsmsh5741dr";
-       revision = "3";
-       editedCabalFile = "0z2xbqzyrgm9apy3xl353wgwhbnc3hdb1giw2j6fyvv705fmpb62";
+       revision = "4";
+       editedCabalFile = "00rg7f223716dlqk0w92ixnyj7a9imj6yqcs5qx833jv7lk8lbyj";
        libraryHaskellDepends = [ base ghc-prim integer-gmp ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Haskell interface to GMP";
@@ -114930,8 +115553,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 = [
@@ -117103,32 +117726,6 @@ self: {
      }:
      mkDerivation {
        pname = "hmatrix-backprop";
-       version = "0.1.2.5";
-       sha256 = "1m6imvvcg8cjlqlcj2qhk5k0g88w853mw9r2mky54rmxfd86xfsf";
-       revision = "1";
-       editedCabalFile = "0bqngjaxyz354bp38pqxdb2hk2jd5n8zxg7hrwnb4hhy0lvf2251";
-       libraryHaskellDepends = [
-         backprop base ghc-typelits-knownnat ghc-typelits-natnormalise
-         hmatrix hmatrix-vector-sized microlens vector vector-sized vinyl
-       ];
-       testHaskellDepends = [
-         backprop base finite-typelits hedgehog hmatrix hmatrix-vector-sized
-         microlens microlens-platform vector-sized vinyl
-       ];
-       description = "hmatrix operations lifted for backprop";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hmatrix-backprop_0_1_3_0" = callPackage
-    ({ mkDerivation, backprop, base, finite-typelits
-     , ghc-typelits-knownnat, ghc-typelits-natnormalise, hedgehog
-     , hmatrix, hmatrix-vector-sized, microlens, microlens-platform
-     , vector, vector-sized, vinyl
-     }:
-     mkDerivation {
-       pname = "hmatrix-backprop";
        version = "0.1.3.0";
        sha256 = "1nknwamc51f3d1syy1wi8fkvlx40riwi7x94yh34y0fzgddgjl2k";
        libraryHaskellDepends = [
@@ -117344,25 +117941,28 @@ self: {
      }) {};
 
   "hmatrix-sundials" = callPackage
-    ({ mkDerivation, base, containers, diagrams-lib
-     , diagrams-rasterific, hmatrix, hspec, inline-c, lens, plots
+    ({ mkDerivation, base, bytestring, cassava, clock, containers
+     , deepseq, diagrams-lib, diagrams-rasterific, hmatrix, hspec
+     , inline-c, lens, optparse-applicative, plots, split
      , sundials_arkode, sundials_cvode, template-haskell, vector
      }:
      mkDerivation {
        pname = "hmatrix-sundials";
-       version = "0.19.1.0";
-       sha256 = "1vbpx8661nnj15vrg177qwaylfvlp0fxdnpzncwkm4ka81v65hb5";
-       revision = "1";
-       editedCabalFile = "0vl85crf6zpbjpvrkydi5qk7ziaxcwr3bpm15cbxw6k94a3y9lvx";
+       version = "0.20.1.0";
+       sha256 = "0ysh3zamv8vm3i1a9bz0iqikfdxpmh95g4b0k8kgayjchhs3l6yn";
        libraryHaskellDepends = [
-         base containers hmatrix inline-c template-haskell vector
+         base containers deepseq hmatrix inline-c split template-haskell
+         vector
        ];
        librarySystemDepends = [ sundials_arkode sundials_cvode ];
        testHaskellDepends = [
          base containers diagrams-lib diagrams-rasterific hmatrix hspec
-         inline-c lens plots template-haskell vector
+         inline-c lens plots split template-haskell vector
        ];
        testSystemDepends = [ sundials_arkode sundials_cvode ];
+       benchmarkHaskellDepends = [
+         base bytestring cassava clock hmatrix optparse-applicative
+       ];
        description = "hmatrix interface to sundials";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -117428,22 +118028,6 @@ self: {
      }:
      mkDerivation {
        pname = "hmatrix-vector-sized";
-       version = "0.1.1.3";
-       sha256 = "1p4222rq9xm8admm3811hgb32q1nin9y35bm4c121yhz6c0ic5cg";
-       libraryHaskellDepends = [ base hmatrix vector vector-sized ];
-       testHaskellDepends = [
-         base ghc-typelits-knownnat hedgehog hmatrix vector vector-sized
-       ];
-       description = "Conversions between hmatrix and vector-sized types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hmatrix-vector-sized_0_1_2_0" = callPackage
-    ({ mkDerivation, base, ghc-typelits-knownnat, hedgehog, hmatrix
-     , vector, vector-sized
-     }:
-     mkDerivation {
-       pname = "hmatrix-vector-sized";
        version = "0.1.2.0";
        sha256 = "0n9pylrxz0pkdlha1rqi2xabfjxpiya9kcyx6qlcqal1q57wh2bc";
        libraryHaskellDepends = [ base hmatrix vector vector-sized ];
@@ -117452,7 +118036,6 @@ self: {
        ];
        description = "Conversions between hmatrix and vector-sized types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hmeap" = callPackage
@@ -117995,25 +118578,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;
@@ -118024,7 +118588,6 @@ self: {
        ];
        description = "Haskell OAuth2 authentication client";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hob" = callPackage
@@ -118872,8 +119435,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.17.10";
-       sha256 = "12s3n3l6lf2vwmh4jbxnra694fpnzjgd8c236pnan0jdcb6x82vl";
+       version = "5.0.17.11";
+       sha256 = "1svp8z9pad8z2j386pr0dda0ds8ddxab0salnz4gm51q877w93p1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -119969,13 +120532,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;
@@ -121137,8 +121703,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-rqlite";
-       version = "0.1.0.0";
-       sha256 = "04q9vnwil3f30972pljs613wq1kb71w61jivdyxxy9i14grfcxsq";
+       version = "0.1.2.0";
+       sha256 = "1xfsbpfcy0s340jzdkl0bnx7isgx8dxhxvfdkrr9fpsga4s0l9bd";
        libraryHaskellDepends = [
          aeson base bifunctors bytestring containers HTTP scientific text
          unordered-containers
@@ -121713,6 +122279,27 @@ self: {
        broken = true;
      }) {};
 
+  "hsc2hs_0_68_6" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, process
+     , tasty, tasty-hspec
+     }:
+     mkDerivation {
+       pname = "hsc2hs";
+       version = "0.68.6";
+       sha256 = "1clj6bgs9vmiv3mjzp82lvyyik5zr5411nxab7hydbrgq94pbk70";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         base containers directory filepath process
+       ];
+       testHaskellDepends = [ base tasty tasty-hspec ];
+       description = "A preprocessor that helps with writing Haskell bindings to C code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hsc3" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-ordlist, directory, filepath, hosc, murmur-hash, network
@@ -122859,8 +123446,8 @@ self: {
     ({ mkDerivation, base, directory, ghc, ghc-boot, ghc-paths, time }:
      mkDerivation {
        pname = "hsinspect";
-       version = "0.0.1";
-       sha256 = "13z7dk42cnwdxfqnadis56m2wy0s5kyzw2dv55dnspd77hd5v28k";
+       version = "0.0.3";
+       sha256 = "11jn8knnh859wvzfqljkhlsaqsrm20m4ryf3ncg7rhs6jcm3vknr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory ghc ghc-boot time ];
@@ -123064,8 +123651,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua";
-       version = "1.0.3.1";
-       sha256 = "1w11d5csjl5jdzjzcq8gkd7lzyfsgaxmby5gq97jaj6r32l3zy9m";
+       version = "1.0.3.2";
+       sha256 = "183bgl5jcx5y2r94lviqfw0a5w9089nxjd1z40k8vx9y2h60pm6j";
        configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
        libraryHaskellDepends = [
          base bytestring containers exceptions fail mtl text
@@ -123910,6 +124497,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-parsec" = callPackage
+    ({ mkDerivation, base, hspec, hspec-expectations, parsec }:
+     mkDerivation {
+       pname = "hspec-parsec";
+       version = "0";
+       sha256 = "1q5484dzc9vpbwv7bpx83xha9ly7lsbwn4zjd6z8z5j4p8r5mk6y";
+       revision = "1";
+       editedCabalFile = "03nsxwc5p6whq21dqwba0289g8fqqqws453kyanwgb6vvg1f0s9l";
+       libraryHaskellDepends = [ base hspec-expectations parsec ];
+       testHaskellDepends = [ base hspec parsec ];
+       description = "Hspec expectations for testing Parsec parsers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hspec-pg-transact" = callPackage
     ({ mkDerivation, base, bytestring, hspec, pg-transact
      , postgresql-simple, resource-pool, text, tmp-postgres
@@ -125906,6 +126507,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "http-client-overrides" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-client
+     , http-client-tls, http-types, network-uri, tasty, tasty-hunit
+     , text, yaml
+     }:
+     mkDerivation {
+       pname = "http-client-overrides";
+       version = "0.1.0.0";
+       sha256 = "1s6qblbw4z9afzdy43hk8rfhgxj3k60x03p3y0dmp1l2i712x89g";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-types network-uri text yaml
+       ];
+       executableHaskellDepends = [ base http-client http-client-tls ];
+       testHaskellDepends = [
+         base bytestring http-client tasty tasty-hunit text
+       ];
+       description = "HTTP client overrides";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "http-client-request-modifiers" = callPackage
     ({ mkDerivation, base, bytestring, exceptions, http-client
      , http-media, http-types, network, network-uri
@@ -127616,6 +128239,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hvega-theme" = callPackage
+    ({ mkDerivation, base, hvega, text }:
+     mkDerivation {
+       pname = "hvega-theme";
+       version = "0.1.0.0";
+       sha256 = "03rm4fl8vgl3yv60wx6vrj1dfbwsxwksm1dbiz0wzz1scdax1gc4";
+       libraryHaskellDepends = [ base hvega text ];
+       description = "Theme for hvega";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "hw-aeson" = callPackage
     ({ mkDerivation, aeson, base, hedgehog, hspec, text }:
      mkDerivation {
@@ -128003,35 +128637,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;
@@ -131956,12 +132561,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;
@@ -136748,6 +137357,17 @@ self: {
        broken = true;
      }) {};
 
+  "joint" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "joint";
+       version = "0.1.0";
+       sha256 = "0hzbczwy1w1mw8c4lf52nm6ighjlpiyj91siy9fmqih4fv22a1p2";
+       libraryHaskellDepends = [ base ];
+       description = "Trying to compose non-composable";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "jonathanscard" = callPackage
     ({ mkDerivation, base, bytestring, containers, HTTP, json, mtl
      , network, old-locale, time
@@ -144863,21 +145483,6 @@ self: {
      }:
      mkDerivation {
        pname = "lenz";
-       version = "0.3.0.0";
-       sha256 = "17a3d91az0qv138q7x8wbka797z9pfxl3mbyydcr7i7p87dk48k3";
-       libraryHaskellDepends = [
-         base base-unicode-symbols hs-functors transformers
-       ];
-       description = "Van Laarhoven lenses";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "lenz_0_3_1_0" = callPackage
-    ({ mkDerivation, base, base-unicode-symbols, hs-functors
-     , transformers
-     }:
-     mkDerivation {
-       pname = "lenz";
        version = "0.3.1.0";
        sha256 = "1c87m35wvsk9dyfp9d8ar6qb4gz534xmg1rf8xahsjkryn9vjqfn";
        libraryHaskellDepends = [
@@ -144885,7 +145490,6 @@ self: {
        ];
        description = "Van Laarhoven lenses";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lenz-template" = callPackage
@@ -145520,6 +146124,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
@@ -146955,6 +147571,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 {
@@ -147078,6 +147713,48 @@ 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, wai, warp
+     }:
+     mkDerivation {
+       pname = "linnet";
+       version = "0.1.0.1";
+       sha256 = "074np5a8xx25k88c82spmvmwiwcm993pvfbwfhjjkcqjqxwwgglf";
+       libraryHaskellDepends = [
+         base bytestring bytestring-conversion case-insensitive either
+         exceptions http-types io-streams mtl text transformers uri-encode
+         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 wai warp
+       ];
+       description = "Lightweight library for building HTTP API";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
+  "linnet-aeson" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, linnet, QuickCheck
+     , quickcheck-classes, quickcheck-instances, text
+     }:
+     mkDerivation {
+       pname = "linnet-aeson";
+       version = "0.1.0.1";
+       sha256 = "1syfi3ha3z2l1g8qdy5rpla6xafw6dqcwicgns1xy9q9d8jrcjs3";
+       libraryHaskellDepends = [ aeson base bytestring linnet ];
+       testHaskellDepends = [
+         aeson base bytestring hspec linnet QuickCheck quickcheck-classes
+         quickcheck-instances text
+       ];
+       description = "Aeson JSON support for Linnet";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "linode" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring, containers
      , errors, lens, process, retry, safe, tasty, tasty-hunit
@@ -147796,14 +148473,14 @@ self: {
        broken = true;
      }) {};
 
-  "list-witnesses_0_1_2_0" = callPackage
+  "list-witnesses_0_1_3_2" = callPackage
     ({ mkDerivation, base, decidable, functor-products, microlens
      , profunctors, singletons, vinyl
      }:
      mkDerivation {
        pname = "list-witnesses";
-       version = "0.1.2.0";
-       sha256 = "10bflmrj747xs2ga8s0vw7hb419wvrwnm0bakxw7x1l7bcaa7z7m";
+       version = "0.1.3.2";
+       sha256 = "1hzm8ijx8id5ij199dg362ai1wmdrs8mr10qkv57639hv61almyq";
        libraryHaskellDepends = [
          base decidable functor-products microlens profunctors singletons
          vinyl
@@ -149129,25 +149806,27 @@ self: {
      }) {};
 
   "log4hs" = callPackage
-    ({ mkDerivation, aeson, base, containers, criterion, data-default
-     , directory, filepath, generic-lens, hspec, hspec-core, lens
-     , 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.6.0";
-       sha256 = "19k61f3w93vz21h4r013vxcv4yhyxrq33l4f3pzg18xx095csgka";
+       version = "0.1.0.0";
+       sha256 = "12crsq6gxhvamsn9ks3qn2r7aihf92aw1fcvck2wzjw9vps0y3ra";
        libraryHaskellDepends = [
          aeson base containers data-default directory filepath generic-lens
          lens template-haskell text time
        ];
        testHaskellDepends = [
-         aeson base containers data-default directory filepath generic-lens
-         hspec hspec-core lens 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 base containers criterion data-default directory filepath
-         generic-lens lens template-haskell text time
+         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;
@@ -149768,8 +150447,8 @@ self: {
        pname = "long-double";
        version = "0.1";
        sha256 = "072yfv1kv83k8qc9apks2czr9p6znk46bbbjmsdbcpzyb8byh64j";
-       revision = "1";
-       editedCabalFile = "12vmzzrxgb4yqf9axf1fildl4m0dfm3zqxk4vg6k6m5qi6haz1yn";
+       revision = "2";
+       editedCabalFile = "03x83ycib19k2lmd3spwq2zmylfl5ihammb406fxxqqbyv4jw1mg";
        libraryHaskellDepends = [ base integer-gmp ];
        description = "FFI bindings for C long double";
        license = stdenv.lib.licenses.bsd3;
@@ -150073,8 +150752,8 @@ self: {
      }:
      mkDerivation {
        pname = "lp-diagrams";
-       version = "2.1.0";
-       sha256 = "1gipdhbnyb7sll30ffcl42k8rqqwphi970ls7rn2g98yb39jk498";
+       version = "2.1.1";
+       sha256 = "0dynm0kib4lgyz00gbg4gi0ds5cgpbdx40davk53cknwxv7icri0";
        libraryHaskellDepends = [
          base containers gasp graphviz labeled-tree lens mtl parsek
          polynomials-bernstein process reflection text typography-geometry
@@ -150186,8 +150865,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.6.0.0";
-       sha256 = "01l5i41907rqxrndhqmnb2kcp62k4mz1dpbamp7zvff22pyd5zzv";
+       version = "0.6.1.0";
+       sha256 = "195p9m4992l01k8xsc8yxwsx3g74xfn6rdi00bwlzxw4ijy06lfi";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -152767,17 +153446,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;
@@ -152969,8 +153643,8 @@ self: {
      }:
      mkDerivation {
        pname = "marxup";
-       version = "3.1.0.0";
-       sha256 = "0bszb1czqm7pvz8m24z06irzfrw4ch8bm8g59apdgvmp8y0yvp91";
+       version = "3.1.1.0";
+       sha256 = "0b22mf14qajkpf7hlm6086d951g0wgihlyiw93m0nh4yl1kmgf5q";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -157160,8 +157834,8 @@ self: {
      }:
      mkDerivation {
        pname = "mixpanel-client";
-       version = "0.2.0";
-       sha256 = "1c0lgysznql57wff90r5s6mwq7gwah0j6pw10i4wppqs6pdiiwik";
+       version = "0.2.1";
+       sha256 = "1gangs1ivbg0hyc804flmxq7fgai3qlf2fnsw1r9dyjb5d91smp1";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring http-client http-client-tls
          servant servant-client string-conv text time
@@ -159489,29 +160163,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 = [
@@ -159525,7 +160176,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
@@ -159704,14 +160354,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "monoidal-containers_0_5_0_1" = callPackage
+  "monoidal-containers_0_6" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, hashable, lens
      , newtype, semialign, semigroups, these, unordered-containers
      }:
      mkDerivation {
        pname = "monoidal-containers";
-       version = "0.5.0.1";
-       sha256 = "1d7a4kkwv86f69zv5g6wxq9bkxq3bxarb26rr5q9gxkyx9m5rwd3";
+       version = "0.6";
+       sha256 = "1ii09s068g6bj2j10ig3g3ymv1ci6zg596pmmaw6als15j9bybc9";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign
          semigroups these unordered-containers
@@ -160078,32 +160728,35 @@ self: {
      }) {};
 
   "morpheus-graphql" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, megaparsec
-     , mtl, scientific, scotty, tasty, tasty-hunit, text, transformers
-     , unordered-containers, uuid, vector, wai, wai-websockets, warp
-     , websockets
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , filepath, lens, megaparsec, mtl, optparse-applicative, scientific
+     , scotty, tasty, tasty-hunit, template-haskell, text, transformers
+     , unordered-containers, utf8-string, uuid, vector, wai
+     , wai-websockets, warp, websockets
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.1.1";
-       sha256 = "1sp7dpbqd9kksldcqc2z43zv0g39qs4qxv9xxy1zg7hw4rwislfn";
+       version = "0.2.1";
+       sha256 = "1qdd21mwxsn3yw9c0vxcsmx6ixp90lpy2ghk6ix2s06cs4d5s3h9";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring containers megaparsec mtl scientific text
-         transformers unordered-containers uuid vector wai-websockets
-         websockets
+         aeson attoparsec base bytestring containers lens megaparsec mtl
+         scientific template-haskell text transformers unordered-containers
+         utf8-string uuid vector wai-websockets websockets
        ];
        executableHaskellDepends = [
-         aeson base bytestring containers megaparsec mtl scientific scotty
-         text transformers unordered-containers uuid vector wai
-         wai-websockets warp websockets
+         aeson attoparsec base bytestring containers filepath lens
+         megaparsec mtl optparse-applicative scientific scotty
+         template-haskell text transformers unordered-containers utf8-string
+         uuid vector wai wai-websockets warp websockets
        ];
        testHaskellDepends = [
-         aeson base bytestring containers megaparsec mtl scientific tasty
-         tasty-hunit text transformers unordered-containers uuid vector
-         wai-websockets websockets
+         aeson attoparsec base bytestring containers lens megaparsec mtl
+         scientific tasty tasty-hunit template-haskell text transformers
+         unordered-containers utf8-string uuid vector wai-websockets
+         websockets
        ];
        description = "Morpheus GraphQL";
        license = stdenv.lib.licenses.bsd3;
@@ -160732,8 +161385,8 @@ self: {
      }:
      mkDerivation {
        pname = "ms-tds";
-       version = "0.3.0.0";
-       sha256 = "0pdv9x6743qaqk6fcm02hfrr09ckwbd9fpgzgmgmgnqhqxm0y9y6";
+       version = "0.4.0.0";
+       sha256 = "0smdr7inwix9hbllj5r217pa17i6ha0wbciqnq9cjsjs9wjnybhh";
        libraryHaskellDepends = [
          array base binary bytestring crypto-random data-default-class mtl
          network template-haskell text time tls uuid-types x509-store
@@ -160869,20 +161522,20 @@ self: {
      }) {};
 
   "mssql-simple" = callPackage
-    ({ mkDerivation, base, binary, bytestring, hostname, ms-tds
-     , network, template-haskell, text, time, tls
+    ({ mkDerivation, base, binary, bytestring, hostname, ms-tds, mtl
+     , network, template-haskell, text, time, tls, uuid-types
      }:
      mkDerivation {
        pname = "mssql-simple";
-       version = "0.4.0.2";
-       sha256 = "0pa1q404xlq23ywdwkx9w1v8dn2nznkpng9ijwixkcd520bnx043";
+       version = "0.5.0.0";
+       sha256 = "0k0j87h37hya42fv045z44p9issic0a0wswy75ymclizsbip1fl4";
        libraryHaskellDepends = [
-         base binary bytestring hostname ms-tds network template-haskell
-         text time tls
+         base binary bytestring hostname ms-tds mtl network template-haskell
+         text time tls uuid-types
        ];
        testHaskellDepends = [
-         base binary bytestring hostname ms-tds network template-haskell
-         text time tls
+         base binary bytestring hostname ms-tds mtl network template-haskell
+         text time tls uuid-types
        ];
        description = "SQL Server client library implemented in Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -167867,6 +168520,44 @@ 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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "nowdoc" = callPackage
     ({ mkDerivation, base, bytestring, template-haskell }:
      mkDerivation {
@@ -172959,6 +173650,7 @@ self: {
        pname = "pandoc-placetable";
        version = "0.5.1";
        sha256 = "0zfqmsq86jvwm4kpjb02whcdxk5xpgaj1sbdh471kr2vz8q4p112";
+       configureFlags = [ "-finlineMarkdown" ];
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -173065,10 +173757,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-types";
-       version = "1.17.5.4";
-       sha256 = "09wk2zskr0r2llsyif3s0x7vix05l1ya7qacsmmkrlhba5naib1j";
-       revision = "1";
-       editedCabalFile = "0bpd2iqmriajl5qg44j4z9c4agb9gsdwbn5l4c5yry6flivysq3c";
+       version = "1.17.6";
+       sha256 = "1c4yf284wd2zbskhrqk0lhqkdyry40db087cdy86b5ywr0yy1li7";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq ghc-prim QuickCheck syb
          transformers
@@ -173321,6 +174011,59 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pantry_0_1_1_2" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, array, base, base-orphans
+     , base64-bytestring, bytestring, Cabal, conduit, conduit-extra
+     , containers, contravariant, cryptonite, cryptonite-conduit
+     , deepseq, digest, directory, exceptions, filelock, filepath
+     , generic-deriving, ghc-prim, hackage-security, hashable, hedgehog
+     , hpack, hspec, http-client, http-client-tls, http-conduit
+     , http-download, http-types, integer-gmp, memory, mono-traversable
+     , mtl, network, network-uri, path, path-io, persistent
+     , persistent-sqlite, persistent-template, primitive, QuickCheck
+     , raw-strings-qq, resourcet, rio, rio-orphans, rio-prettyprint
+     , safe, syb, tar-conduit, template-haskell, text, text-metrics
+     , th-lift, th-lift-instances, th-orphans, th-reify-many
+     , th-utilities, time, transformers, unix-compat, unliftio
+     , unordered-containers, vector, yaml, zip-archive
+     }:
+     mkDerivation {
+       pname = "pantry";
+       version = "0.1.1.2";
+       sha256 = "1m1sps9kc7y8zpba486lv5z8an3z8493zxb1qhghql6pybsprsgi";
+       libraryHaskellDepends = [
+         aeson ansi-terminal array base base-orphans base64-bytestring
+         bytestring Cabal conduit conduit-extra containers contravariant
+         cryptonite cryptonite-conduit deepseq digest directory filelock
+         filepath generic-deriving ghc-prim hackage-security hashable hpack
+         http-client http-client-tls http-conduit http-download http-types
+         integer-gmp memory mono-traversable mtl network network-uri path
+         path-io persistent persistent-sqlite persistent-template primitive
+         resourcet rio rio-orphans rio-prettyprint safe syb tar-conduit
+         template-haskell text text-metrics th-lift th-lift-instances
+         th-orphans th-reify-many th-utilities time transformers unix-compat
+         unliftio unordered-containers vector yaml zip-archive
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal array base base-orphans base64-bytestring
+         bytestring Cabal conduit conduit-extra containers contravariant
+         cryptonite cryptonite-conduit deepseq digest directory exceptions
+         filelock filepath generic-deriving ghc-prim hackage-security
+         hashable hedgehog hpack hspec http-client http-client-tls
+         http-conduit http-download http-types integer-gmp memory
+         mono-traversable mtl network network-uri path path-io persistent
+         persistent-sqlite persistent-template primitive QuickCheck
+         raw-strings-qq resourcet rio rio-orphans rio-prettyprint safe syb
+         tar-conduit template-haskell text text-metrics th-lift
+         th-lift-instances th-orphans th-reify-many th-utilities time
+         transformers unix-compat unliftio unordered-containers vector yaml
+         zip-archive
+       ];
+       description = "Content addressable Haskell package management";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pantry-tmp" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, array, base, base-orphans
      , base64-bytestring, bytestring, Cabal, conduit, conduit-extra
@@ -176355,29 +177098,28 @@ self: {
 
   "perceptual-hash" = callPackage
     ({ mkDerivation, base, containers, cpphs, criterion, filepath, hip
-     , optparse-applicative, par-traverse, pHash, primitive, repa, stm
+     , hspec, optparse-applicative, par-traverse, primitive, repa, stm
      , vector, vector-algorithms
      }:
      mkDerivation {
        pname = "perceptual-hash";
-       version = "0.1.1.0";
-       sha256 = "107f5xb4wg4zmwqldw8a04byazqyzd0vkn6zl5iv4f5ii2sdb5yh";
-       revision = "1";
-       editedCabalFile = "001nr9brgk05bbhz9lw8viqrc6rgfy0rjp08fcdhn302j55j33i3";
+       version = "0.1.2.0";
+       sha256 = "0wj5bnm4f2n2fd1ykf0n5cbf974x34nzy16dh7z2wxv2yn7b4f9r";
        isLibrary = true;
        isExecutable = true;
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base hip primitive repa vector vector-algorithms
        ];
        executableHaskellDepends = [
          base containers filepath optparse-applicative par-traverse stm
        ];
-       benchmarkHaskellDepends = [ base criterion ];
-       benchmarkPkgconfigDepends = [ pHash ];
+       testHaskellDepends = [ base hspec ];
+       benchmarkHaskellDepends = [ base criterion filepath ];
        benchmarkToolDepends = [ cpphs ];
        description = "Find duplicate images";
        license = stdenv.lib.licenses.bsd3;
-     }) {pHash = null;};
+     }) {};
 
   "perdure" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, cognimeta-utils
@@ -177028,21 +177770,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;
@@ -177416,7 +178164,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
@@ -177426,8 +178174,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-sqlite";
-       version = "2.10.4";
-       sha256 = "0x4b327h2gqhccy7yw5sa8mn8xfc4zb5kqwx98nr9yk7f1s0fr79";
+       version = "2.10.5";
+       sha256 = "1sghp7ffi383bzlgm83g0l5bzjbs67m6lxn3fsz74y0yy9ix33ha";
        configureFlags = [ "-fsystemlib" ];
        isLibrary = true;
        isExecutable = true;
@@ -178441,6 +179189,17 @@ self: {
        broken = true;
      }) {};
 
+  "pickle" = callPackage
+    ({ mkDerivation, base, containers, network, text }:
+     mkDerivation {
+       pname = "pickle";
+       version = "0.1.0.0";
+       sha256 = "1jai9ys9mznc8v6z9jsh1yc4xdf12cr3gw7ci2nx9xzjspn4qy8z";
+       libraryHaskellDepends = [ base containers network text ];
+       description = "Instant StatsD in Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "picologic" = callPackage
     ({ mkDerivation, base, containers, mtl, parsec, picosat, pretty
      , QuickCheck
@@ -178920,6 +179679,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes_4_3_12" = callPackage
+    ({ mkDerivation, base, criterion, exceptions, mmorph, mtl
+     , optparse-applicative, QuickCheck, semigroups, test-framework
+     , test-framework-quickcheck2, transformers, void
+     }:
+     mkDerivation {
+       pname = "pipes";
+       version = "4.3.12";
+       sha256 = "0ni5szs9jl4map05lcyl97dgb69g2xk1a1rdiw8p4024vfyskp8c";
+       libraryHaskellDepends = [
+         base exceptions mmorph mtl semigroups transformers void
+       ];
+       testHaskellDepends = [
+         base mtl QuickCheck test-framework test-framework-quickcheck2
+         transformers
+       ];
+       benchmarkHaskellDepends = [
+         base criterion mtl optparse-applicative transformers
+       ];
+       description = "Compositional pipelines";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-aeson" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, pipes
      , pipes-attoparsec, pipes-bytestring, pipes-parse, transformers
@@ -179684,8 +180467,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";
@@ -181572,6 +182355,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
@@ -182464,6 +183259,17 @@ self: {
        broken = true;
      }) {};
 
+  "postgres-options" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "postgres-options";
+       version = "0.1.0.0";
+       sha256 = "17a2w4fb85mp9v1rghgkm0cvgzxvvahcvfi3vmlzrdqhlsm0si7c";
+       libraryHaskellDepends = [ base ];
+       description = "An Options type representing options for postgres connections";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "postgres-tmp" = callPackage
     ({ mkDerivation, base, bytestring, postgresql-simple, text }:
      mkDerivation {
@@ -182730,10 +183536,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-query";
-       version = "3.5.0";
-       sha256 = "1sh8kgfqy1kipz99v74xkxzfggbxxjq2gwswa94m1spy6r7k7avp";
-       revision = "1";
-       editedCabalFile = "11clkx7j4k3wgk6h1g0flq7frvkfxhh4dhbjjrchc5f7rd5gmjbp";
+       version = "3.6.0";
+       sha256 = "1mf9441yb72jl1gm9zpfgwwjdiipcl0gghnazf1871dgvahbx3jz";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring containers
          data-default exceptions file-embed haskell-src-meta hreader hset
@@ -187289,8 +188093,8 @@ self: {
      }:
      mkDerivation {
        pname = "publicsuffix";
-       version = "0.20190630";
-       sha256 = "0b35jayk5n8p7zn2nkgzvqgpiai0h7g3pf27i5bzxlaw2zwm9320";
+       version = "0.20190826";
+       sha256 = "1z6apxnp88jjpf5q7zg04r18lja7rafwlx1w2cy7d74qfrh1v2b7";
        libraryHaskellDepends = [ base filepath template-haskell ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion random ];
@@ -189820,8 +190624,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
@@ -192169,8 +192973,8 @@ self: {
      }:
      mkDerivation {
        pname = "reactive-banana-automation";
-       version = "0.5.1";
-       sha256 = "0wflw7rpknjj6qpf2ma1cxd03xg5v25rmfrmnli472h55jdcwdnz";
+       version = "0.5.2";
+       sha256 = "1gd6d3r0dsawi6zkr4fnkyrszikg1xzgfavxsaaswl4rw09znr7x";
        libraryHaskellDepends = [
          base reactive-banana stm time transformers
        ];
@@ -193534,6 +194338,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "reflection_2_1_5" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, QuickCheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "reflection";
+       version = "2.1.5";
+       sha256 = "0xr947nj1vww5b8fwqmypxm3y3j5sxl4z8wnf834f83jzfzyjbi7";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
+       description = "Reifies arbitrary terms into types that can be reflected back into terms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "reflection-extras" = callPackage
     ({ mkDerivation, aeson, base, constraints, lens, reflection, tagged
      }:
@@ -193569,26 +194389,26 @@ self: {
      , filepath, haskell-src-exts, haskell-src-meta, hlint, lens
      , loch-th, MemoTrie, monad-control, monoidal-containers, mtl
      , prim-uniq, primitive, process, profunctors, random, ref-tf
-     , reflection, semigroupoids, semigroups, split, stm, syb
-     , template-haskell, these, time, transformers, transformers-compat
+     , reflection, semialign, semigroupoids, split, stm, syb
+     , template-haskell, these, these-lens, time, transformers
      , unbounded-delays, witherable
      }:
      mkDerivation {
        pname = "reflex";
-       version = "0.6.2.1";
-       sha256 = "0s8saim58bqqhg1nbrrdw2blnph7jrhqw97wxf73g4r1d8jacg3z";
+       version = "0.6.2.4";
+       sha256 = "1gm8w2ri16apy3b13i2f17pk1nsrsi0vbcrkckd1abbm4r4i16cd";
        libraryHaskellDepends = [
          base bifunctors comonad constraints-extras containers data-default
          dependent-map dependent-sum exception-transformers haskell-src-exts
          haskell-src-meta lens MemoTrie monad-control monoidal-containers
          mtl prim-uniq primitive profunctors random ref-tf reflection
-         semigroupoids semigroups stm syb template-haskell these time
-         transformers transformers-compat unbounded-delays witherable
+         semialign semigroupoids stm syb template-haskell these time
+         transformers unbounded-delays witherable
        ];
        testHaskellDepends = [
          base bifunctors containers deepseq dependent-map dependent-sum
          directory filemanip filepath hlint lens monoidal-containers mtl
-         ref-tf semigroups split these transformers
+         ref-tf semialign split these these-lens transformers
        ];
        benchmarkHaskellDepends = [
          base containers criterion deepseq dependent-map dependent-sum
@@ -193934,8 +194754,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-vty";
-       version = "0.1.1.0";
-       sha256 = "1nhi33d0yqx2pjccrcbsgwp2l56sdmqpl11vpvkvx4wkxckyz2qf";
+       version = "0.1.1.1";
+       sha256 = "1qhmpdfwavr4vip39p1ih3hz0yb1b308g3m24w80n3zw7xqnqz6j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -194122,23 +194942,6 @@ self: {
      }) {};
 
   "regex-applicative" = callPackage
-    ({ mkDerivation, base, containers, smallcheck, tasty, tasty-hunit
-     , tasty-smallcheck, transformers
-     }:
-     mkDerivation {
-       pname = "regex-applicative";
-       version = "0.3.3";
-       sha256 = "1riv7jqf26lbv4rm54sd6mrx8xdh4dvh4xbzymzdfdw13k6a4nb6";
-       libraryHaskellDepends = [ base containers transformers ];
-       testHaskellDepends = [
-         base containers smallcheck tasty tasty-hunit tasty-smallcheck
-         transformers
-       ];
-       description = "Regex-based parsing with applicative interface";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "regex-applicative_0_3_3_1" = callPackage
     ({ mkDerivation, base, containers, criterion, smallcheck, tasty
      , tasty-hunit, tasty-smallcheck, transformers
      }:
@@ -194154,7 +194957,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Regex-based parsing with applicative interface";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "regex-applicative-text" = callPackage
@@ -195913,6 +196715,18 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "replace-megaparsec" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, megaparsec, text }:
+     mkDerivation {
+       pname = "replace-megaparsec";
+       version = "1.0.1.0";
+       sha256 = "18aipcrmic0xgfjg1cia6zs7m5a9xq7srm1r713qxri9pm5ynqd6";
+       libraryHaskellDepends = [ base megaparsec ];
+       testHaskellDepends = [ base bytestring Cabal megaparsec text ];
+       description = "Stream editing with parsers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "replica" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, Diff
      , file-embed, http-types, QuickCheck, quickcheck-instances
@@ -196379,7 +197193,7 @@ self: {
        broken = true;
      }) {};
 
-  "resolv" = callPackage
+  "resolv_0_1_1_2" = callPackage
     ({ mkDerivation, base, base16-bytestring, binary, bytestring
      , containers, directory, filepath, tasty, tasty-hunit
      }:
@@ -196395,6 +197209,25 @@ self: {
        ];
        description = "Domain Name Service (DNS) lookup via the libresolv standard library routines";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "resolv" = callPackage
+    ({ mkDerivation, base, base16-bytestring, binary, bytestring
+     , containers, directory, filepath, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "resolv";
+       version = "0.1.1.3";
+       sha256 = "10y9x63m2w87qfmx9fxjfliq9881cp1x8zkf94sb0hq52rgxd3r4";
+       libraryHaskellDepends = [
+         base base16-bytestring binary bytestring containers
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath tasty tasty-hunit
+       ];
+       description = "Domain Name Service (DNS) lookup via the libresolv standard library routines";
+       license = stdenv.lib.licenses.gpl2Plus;
      }) {};
 
   "resolve" = callPackage
@@ -197577,14 +198410,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;
@@ -197870,6 +198704,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "rio_0_1_12_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, directory
+     , exceptions, filepath, hashable, hspec, microlens, mtl, primitive
+     , process, QuickCheck, text, time, typed-process, unix, unliftio
+     , unliftio-core, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "rio";
+       version = "0.1.12.0";
+       sha256 = "0xzjkh6aavynpyskikhs8dmv0zhkiqiwz9zdn80zbd25b2182pif";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq directory exceptions filepath
+         hashable microlens mtl primitive process text time typed-process
+         unix unliftio unliftio-core unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq directory exceptions filepath
+         hashable hspec microlens mtl primitive process QuickCheck text time
+         typed-process unix unliftio unliftio-core unordered-containers
+         vector
+       ];
+       description = "A standard library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rio-orphans" = callPackage
     ({ mkDerivation, base, exceptions, fast-logger, hspec
      , monad-control, monad-logger, resourcet, rio, transformers-base
@@ -200580,63 +201440,73 @@ 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.5.1";
+       sha256 = "0g41h9a89cp24cm99q1lgiyz794szf85hinybbjz75s33a3lykgv";
        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_4" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers
+  "salak_0_3_5_2" = 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.4";
-       sha256 = "1syjj2i2p0myy4jmxq37i11p10cv6q9k1b562g6nkx8n4vghy2kz";
+       version = "0.3.5.2";
+       sha256 = "1zz1dy3350amn9mbkmpysk4ykz8x40bmhrbbkbswrqf5kaa2d7xn";
        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
-         random scientific text time unliftio-core unordered-containers
+         base hspec mtl QuickCheck random scientific text
+         unordered-containers
        ];
        testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         base criterion data-default mtl text time
+       ];
        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.5.1";
+       sha256 = "1clgsr1aqz2zfnsazhql6m125161yxbfp6q0lc4dllbvdhjygmrf";
        libraryHaskellDepends = [
          base salak text time tomland unordered-containers
        ];
@@ -200644,26 +201514,8 @@ self: {
          base exceptions hspec mtl QuickCheck 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_4" = callPackage
-    ({ mkDerivation, base, exceptions, hspec, mtl, QuickCheck, salak
-     , text, time, tomland, unordered-containers
-     }:
-     mkDerivation {
-       pname = "salak-toml";
-       version = "0.3.4";
-       sha256 = "1nmc22vb869inwy1h954bjlqp5p21vgdxjn1858pw7xv5mxyx9pl";
-       libraryHaskellDepends = [
-         base salak text time tomland unordered-containers
-       ];
-       testHaskellDepends = [
-         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;
@@ -200672,36 +201524,22 @@ 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.5.1";
+       sha256 = "1qzpbv2g7ds3dbcfi90ncjrk66vm1kxdkkdx1i49jq9g2xcai9n6";
        libraryHaskellDepends = [ base conduit libyaml salak text ];
        testHaskellDepends = [
          base conduit exceptions hspec libyaml mtl QuickCheck salak text
        ];
-       description = "Configuration Loader for yaml";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "salak-yaml_0_3_4" = callPackage
-    ({ mkDerivation, base, conduit, exceptions, hspec, libyaml, mtl
-     , QuickCheck, salak, text
-     }:
-     mkDerivation {
-       pname = "salak-yaml";
-       version = "0.3.4";
-       sha256 = "0qlr0vaq23nbxg73hvrj7llxlc0g8x661c1jmizs4xr8is2j8wr4";
-       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;
      }) {};
 
   "saltine" = callPackage
@@ -201833,21 +202671,21 @@ self: {
 
   "scheduler" = callPackage
     ({ mkDerivation, async, atomic-primops, base, Cabal, cabal-doctest
-     , criterion, deepseq, doctest, exceptions, fib, hspec, monad-par
-     , mwc-random, parallel, primitive, QuickCheck, streamly
-     , template-haskell, unliftio, unliftio-core, vector
+     , 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.1";
-       sha256 = "1m8l780pv9il661faa0angq05a5db9jpkyxxkil73285fx459fkl";
+       version = "1.4.2";
+       sha256 = "0px7k4lq758s8303fx690pzzigqi26m45wxpapj9pgl4kar45jzc";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          atomic-primops base deepseq exceptions primitive unliftio-core
        ];
        testHaskellDepends = [
-         base deepseq doctest hspec mwc-random QuickCheck template-haskell
-         unliftio vector
+         base deepseq doctest genvalidity-hspec hspec mwc-random QuickCheck
+         template-haskell unliftio vector
        ];
        benchmarkHaskellDepends = [
          async base criterion deepseq fib monad-par parallel streamly
@@ -202392,8 +203230,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
        ];
@@ -203217,8 +204055,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";
@@ -203815,6 +204653,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "semigroupoids_5_3_3" = callPackage
+    ({ mkDerivation, base, base-orphans, bifunctors, Cabal
+     , cabal-doctest, comonad, containers, contravariant, distributive
+     , doctest, hashable, tagged, template-haskell, transformers
+     , transformers-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "semigroupoids";
+       version = "5.3.3";
+       sha256 = "016hc4imr9l4szs3p7f1aahvxr5wv4clvr3qzrm3nibssg5vrs61";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base base-orphans bifunctors comonad containers contravariant
+         distributive hashable tagged template-haskell transformers
+         transformers-compat unordered-containers
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Semigroupoids: Category sans id";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "semigroupoids-syntax" = callPackage
     ({ mkDerivation, base, comonad, containers, contravariant
      , directory, distributive, doctest, filepath, QuickCheck
@@ -203850,12 +204710,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "semigroups_0_19" = callPackage
+  "semigroups_0_19_1" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "semigroups";
-       version = "0.19";
-       sha256 = "1ficdd32y0v6bi0dxzjn9fph03ql0nmyjy0x3ahr8c4508xh779r";
+       version = "0.19.1";
+       sha256 = "0j36cha1wb9vxnd8axfna92b2q5hnrn3ap8d8yin89c69gk63rvr";
        libraryHaskellDepends = [ base ];
        description = "Anything that associates";
        license = stdenv.lib.licenses.bsd3;
@@ -204103,8 +204963,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 = [
@@ -204361,20 +205221,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.1";
+       sha256 = "0fl3sg4znmnil08vbjf50xcbs5blh9pvg1jakbhikj1aab68vpp5";
        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;
@@ -205616,8 +206479,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
@@ -207024,8 +207887,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
@@ -207718,6 +208581,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
@@ -208113,8 +208994,8 @@ self: {
     ({ mkDerivation, base, directory, shake }:
      mkDerivation {
        pname = "shake-ext";
-       version = "3.1.0.0";
-       sha256 = "1lbdz4bv95d0rwfpk1l494lrfd5qp029awbfiv1wpydbvvspdvx6";
+       version = "3.1.0.2";
+       sha256 = "04nhjq2s7iycjabh33jwbdc8pxdyxnfrwjvl1mxmwrx0zx96dbi9";
        libraryHaskellDepends = [ base directory shake ];
        description = "Helper functions for linting with shake";
        license = stdenv.lib.licenses.bsd3;
@@ -208916,8 +209797,8 @@ self: {
      }:
      mkDerivation {
        pname = "shh";
-       version = "0.7.0.2";
-       sha256 = "0b9q4pg1gvnw18gxba8cd7b9crj8d822vivsvgagcjmhm6a8y3pk";
+       version = "0.7.0.4";
+       sha256 = "10gnkk0645aznkry063kl5m68n7ip88m8cf97lwffj1y86iazk5b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -210790,6 +211671,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "singleton-nats_0_4_3" = callPackage
+    ({ mkDerivation, base, singletons }:
+     mkDerivation {
+       pname = "singleton-nats";
+       version = "0.4.3";
+       sha256 = "0xj5w6dszm832y90qxmwqnyiwpav30q199cjcdbdxr7q1d4klszi";
+       libraryHaskellDepends = [ base singletons ];
+       description = "Unary natural numbers relying on the singletons infrastructure";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "singleton-typelits" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -210822,6 +211715,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "singletons_2_6" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , ghc-boot-th, mtl, pretty, process, syb, tasty, tasty-golden
+     , template-haskell, text, th-desugar, transformers, turtle
+     }:
+     mkDerivation {
+       pname = "singletons";
+       version = "2.6";
+       sha256 = "1lc6p1f3h0j4nq5ppqwjihrjlgcwl5sx5fsw449m9lvs07vp39xy";
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       libraryHaskellDepends = [
+         base containers ghc-boot-th mtl pretty syb template-haskell text
+         th-desugar transformers
+       ];
+       testHaskellDepends = [
+         base filepath process tasty tasty-golden text turtle
+       ];
+       description = "A framework for generating singleton types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "singnal" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -211646,6 +212561,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
@@ -215153,18 +216092,46 @@ 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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "sparse-tensor_0_2_1_1" = callPackage
+    ({ 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.2.1.1";
+       sha256 = "1bjia89as14i2cif9nf7rsifazg305l7cl040gb7xbi3szlc621y";
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [
+         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;
@@ -215287,8 +216254,8 @@ self: {
      }:
      mkDerivation {
        pname = "spdx";
-       version = "1";
-       sha256 = "1vw6pqj86slgzgbrd6kmsn5xlbxln0cys9qxxa47ypfy4spxmfkd";
+       version = "1.0.0.1";
+       sha256 = "00j0dqx9hrlpqy1jml85nykg0xl108q45ljan385bzb5nnap36l6";
        libraryHaskellDepends = [ base Cabal containers transformers ];
        testHaskellDepends = [
          base base-compat Cabal tasty tasty-quickcheck
@@ -215410,8 +216377,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
@@ -215829,8 +216796,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";
@@ -217068,6 +218035,19 @@ self: {
        broken = true;
      }) {};
 
+  "stack-fix" = callPackage
+    ({ mkDerivation, base, options, text, turtle }:
+     mkDerivation {
+       pname = "stack-fix";
+       version = "0.1.0.0";
+       sha256 = "13x4pd1h2f2akpja5mxnqx0pw1ax57r2q76gsb3fs1f6kxykypwl";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base options text turtle ];
+       description = "Console program used to fix Stack build errors automatically";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
   "stack-hpc-coveralls" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, deepseq
      , directory, docopt, filepath, hlint, hpc, hspec, hspec-contrib
@@ -224908,8 +225888,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
@@ -225297,6 +226277,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tar_0_5_1_1" = callPackage
+    ({ mkDerivation, array, base, bytestring, bytestring-handle
+     , containers, criterion, deepseq, directory, filepath, QuickCheck
+     , tasty, tasty-quickcheck, time
+     }:
+     mkDerivation {
+       pname = "tar";
+       version = "0.5.1.1";
+       sha256 = "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq directory filepath time
+       ];
+       testHaskellDepends = [
+         array base bytestring bytestring-handle containers deepseq
+         directory filepath QuickCheck tasty tasty-quickcheck time
+       ];
+       benchmarkHaskellDepends = [
+         array base bytestring containers criterion deepseq directory
+         filepath time
+       ];
+       description = "Reading, writing and manipulating \".tar\" archive files.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tar-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, conduit-combinators
      , conduit-extra, containers, criterion, deepseq, directory
@@ -229510,6 +230515,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "th-desugar_1_10" = callPackage
+    ({ mkDerivation, base, containers, fail, ghc-prim, hspec, HUnit
+     , mtl, ordered-containers, semigroups, syb, template-haskell
+     , th-abstraction, th-expand-syns, th-lift, th-orphans
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "th-desugar";
+       version = "1.10";
+       sha256 = "1g3v427qlpxl1m4klsbqzg2xas5sj4059j5pdx0vpbshpq9v3x8v";
+       libraryHaskellDepends = [
+         base containers fail ghc-prim mtl ordered-containers semigroups syb
+         template-haskell th-abstraction th-lift th-orphans
+         transformers-compat
+       ];
+       testHaskellDepends = [
+         base containers hspec HUnit mtl syb template-haskell th-expand-syns
+         th-lift th-orphans
+       ];
+       description = "Functions to desugar Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "th-dict-discovery" = callPackage
     ({ mkDerivation, base, constraints, template-haskell }:
      mkDerivation {
@@ -229703,25 +230732,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 = [
@@ -229733,7 +230743,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
@@ -230775,16 +231784,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.3";
+       sha256 = "1nj5pgzan7q070c8qhcq51mnrwpkxi51ixmmp7b4n4fxfc80v68g";
        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 ];
@@ -234225,8 +235234,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
@@ -237314,6 +238323,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
@@ -237635,13 +238660,13 @@ self: {
      }:
      mkDerivation {
        pname = "typography-geometry";
-       version = "1.0.0.1";
-       sha256 = "1mrack0n940idy5rv7mm0gfif8xri6z59npxwkq1kgi606vazbpd";
+       version = "1.0.1.0";
+       sha256 = "0vi2ggpvvarqimrga985cks5wq67dqyrr5nh3a0ghy0mbdrb72ps";
        libraryHaskellDepends = [
          base containers parallel polynomials-bernstein vector
        ];
        description = "Drawings for printed text documents";
-       license = "GPL";
+       license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
@@ -238887,6 +239912,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
@@ -241581,12 +242617,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;
      }) {};
@@ -244413,35 +245449,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;
@@ -244459,7 +245466,6 @@ self: {
        ];
        description = "Provides some basic WAI handlers and middleware";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-frontend-monadcgi" = callPackage
@@ -251638,8 +252644,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"
@@ -252710,8 +253716,37 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.11.1.0";
-       sha256 = "1kd64j2ka246n8c0z30rckq75998ajaja6ylmpdc74pzn23iydq9";
+       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;
+     }) {};
+
+  "yaml_0_11_1_2" = 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.2";
+       sha256 = "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -252728,6 +253763,7 @@ self: {
        ];
        description = "Support for parsing and rendering YAML documents";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yaml-combinators" = callPackage
@@ -254161,8 +255197,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
@@ -255453,8 +256489,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
@@ -257008,8 +258044,8 @@ self: {
      }:
      mkDerivation {
        pname = "zeromq4-simple";
-       version = "0.0.0";
-       sha256 = "04i8ksdyf19yywjb0gfkbc0mx90vzvrld5ba7lbnlxvx6iwmah66";
+       version = "0.0.0.1";
+       sha256 = "0h16chz3x0ipdbw935fvfhpdljbknczk1ivf87519dkrl3c1ypjv";
        libraryHaskellDepends = [
          aeson base bytestring constraints hashable uuid zeromq4-haskell
        ];
@@ -257449,6 +258485,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) zlib;};
 
+  "zlib_0_6_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, zlib
+     }:
+     mkDerivation {
+       pname = "zlib";
+       version = "0.6.2.1";
+       sha256 = "1l11jraslcrp9d4wnhwfyhwk4fsiq1aq8i6vj81vcq1m2zzi1y7h";
+       libraryHaskellDepends = [ base bytestring ];
+       librarySystemDepends = [ zlib ];
+       testHaskellDepends = [
+         base bytestring QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Compression and decompression in the gzip and zlib formats";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) zlib;};
+
   "zlib-bindings" = callPackage
     ({ mkDerivation, base, bytestring, hspec, QuickCheck, zlib }:
      mkDerivation {
diff --git a/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix b/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
index b7b057f2dc20..8b667a1e6693 100644
--- a/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/nixpkgs/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -12,4 +12,5 @@ self: super: {
 
   # https://github.com/channable/vaultenv/issues/1
   vaultenv = self.callPackage ../tools/haskell/vaultenv { };
+
 }
diff --git a/nixpkgs/pkgs/development/interpreters/evcxr/cargo-lock.patch b/nixpkgs/pkgs/development/interpreters/evcxr/cargo-lock.patch
deleted file mode 100644
index 6feaf12844c2..000000000000
--- a/nixpkgs/pkgs/development/interpreters/evcxr/cargo-lock.patch
+++ /dev/null
@@ -1,684 +0,0 @@
-diff --git a/Cargo.lock b/Cargo.lock
-new file mode 100644
-index 0000000..edf585d
---- /dev/null
-+++ b/Cargo.lock
-@@ -0,0 +1,661 @@
-+# This file is automatically @generated by Cargo.
-+# It is not intended for manual editing.
-+[[package]]
-+name = "aho-corasick"
-+version = "0.6.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "approx"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "argon2rs"
-+version = "0.2.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "arrayvec"
-+version = "0.4.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "autocfg"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "backtrace"
-+version = "0.3.15"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "backtrace-sys"
-+version = "0.1.28"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "base64"
-+version = "0.10.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "bitflags"
-+version = "1.0.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "blake2-rfc"
-+version = "0.2.18"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "byteorder"
-+version = "1.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cc"
-+version = "1.0.36"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "0.1.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "cgmath"
-+version = "0.16.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "cloudabi"
-+version = "0.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bitflags 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "colored"
-+version = "1.8.0"
-+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)",
-+ "winconsole 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "constant_time_eq"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "dirs"
-+version = "1.0.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "evcxr"
-+version = "0.3.3"
-+dependencies = [
-+ "backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "json 0.11.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "sig 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "evcxr_repl"
-+version = "0.3.3"
-+dependencies = [
-+ "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "evcxr 0.3.3",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rustyline 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "evcxr_runtime"
-+version = "1.1.0"
-+dependencies = [
-+ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "failure"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "failure_derive"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "fuchsia-cprng"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "json"
-+version = "0.11.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "lazy_static"
-+version = "1.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "libc"
-+version = "0.2.54"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "libloading"
-+version = "0.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "log"
-+version = "0.4.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "memchr"
-+version = "2.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "nix"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "bitflags 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "nodrop"
-+version = "0.1.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.1.43"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "num-traits"
-+version = "0.2.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "0.4.27"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "quote"
-+version = "0.6.12"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.4.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.54 (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.7 (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.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.54 (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.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_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)",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "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)",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rand_hc"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_isaac"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_jitter"
-+version = "0.1.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.54 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rand_os"
-+version = "0.1.3"
-+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)",
-+ "libc 0.2.54 (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)",
-+]
-+
-+[[package]]
-+name = "rand_pcg"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "autocfg 0.1.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_xorshift"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "rdrand"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "redox_syscall"
-+version = "0.1.54"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "redox_users"
-+version = "0.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "regex"
-+version = "1.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "regex-syntax 0.6.6 (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.6"
-+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.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)",
-+]
-+
-+[[package]]
-+name = "rgb"
-+version = "0.8.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rustc-demangle"
-+version = "0.1.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "rustyline"
-+version = "3.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "utf8parse 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)",
-+]
-+
-+[[package]]
-+name = "scoped_threadpool"
-+version = "0.1.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "sig"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "syn"
-+version = "0.15.27"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "synstructure"
-+version = "0.10.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "tempfile"
-+version = "3.0.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "redox_syscall 0.1.54 (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.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "thread_local"
-+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)",
-+]
-+
-+[[package]]
-+name = "ucd-util"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-segmentation"
-+version = "1.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-width"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-xid"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "utf8-ranges"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "utf8parse"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "void"
-+version = "1.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winapi"
-+version = "0.3.7"
-+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)",
-+ "winapi-x86_64-pc-windows-gnu 0.4.0 (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"
-+
-+[[package]]
-+name = "winapi-x86_64-pc-windows-gnu"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "winconsole"
-+version = "0.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cgmath 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rgb 0.8.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[metadata]
-+"checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5"
-+"checksum approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08abcc3b4e9339e33a3d0a5ed15d84a687350c05689d825e0f6655eef9e76a94"
-+"checksum argon2rs 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3f67b0b6a86dae6e67ff4ca2b6201396074996379fba2b92ff649126f37cb392"
-+"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71"
-+"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
-+"checksum backtrace 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f106c02a3604afcdc0df5d36cc47b44b55917dbaf3d808f71c163a0ddba64637"
-+"checksum backtrace-sys 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "797c830ac25ccc92a7f8a7b9862bde440715531514594a6154e3d4a54dd769b6"
-+"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-+"checksum bitflags 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bd1fa8ad26490b0a5cfec99089952250301b6716cdeaa7c9ab229598fb82ab66"
-+"checksum blake2-rfc 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400"
-+"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
-+"checksum cc 1.0.36 (registry+https://github.com/rust-lang/crates.io-index)" = "a0c56216487bb80eec9c4516337b2588a4f2a2290d72a1416d930e4dcdb0c90d"
-+"checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4"
-+"checksum cgmath 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)" = "64a4b57c8f4e3a2e9ac07e0f6abc9c24b6fc9e1b54c3478cfb598f3d0023e51c"
-+"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-+"checksum colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6cdb90b60f2927f8d76139c72dbde7e10c3a2bc47c8594c9c7a66529f2687c03"
-+"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e"
-+"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
-+"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
-+"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
-+"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-+"checksum json 0.11.13 (registry+https://github.com/rust-lang/crates.io-index)" = "9ad0485404155f45cce53a40d4b2d6ac356418300daed05273d9e26f91c390be"
-+"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
-+"checksum libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)" = "c6785aa7dd976f5fbf3b71cfd9cd49d7f783c1ff565a858d71031c6c313aa5c6"
-+"checksum libloading 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9c3ad660d7cb8c5822cd83d10897b0f1f1526792737a179e73896152f85b88c2"
-+"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
-+"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
-+"checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17"
-+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
-+"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-+"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
-+"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-+"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-+"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_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-+"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
-+"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
-+"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-+"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-+"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-+"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-+"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-+"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-+"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
-+"checksum redox_users 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3fe5204c3a17e97dde73f285d49be585df59ed84b50a872baf416e73b62c3828"
-+"checksum regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53ee8cfdddb2e0291adfb9f13d31d3bbe0a03c9a402c01b1e24188d86c35b24f"
-+"checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96"
-+"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
-+"checksum rgb 0.8.13 (registry+https://github.com/rust-lang/crates.io-index)" = "4f089652ca87f5a82a62935ec6172a534066c7b97be003cc8f702ee9a7a59c92"
-+"checksum rustc-demangle 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "ccc78bfd5acd7bf3e89cffcf899e5cb1a52d6fafa8dec2739ad70c9577a57288"
-+"checksum rustyline 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eb02ba7748691403057542ee60a1e7688fdfb46bd3bee752b8977537ee003ae2"
-+"checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
-+"checksum sig 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6567e29578f9bfade6a5d94a32b9a4256348358d2a3f448cab0021f9a02614a2"
-+"checksum syn 0.15.27 (registry+https://github.com/rust-lang/crates.io-index)" = "525bd55255f03c816e5d7f615587bd13030c7103354fadb104993dcee6a788ec"
-+"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
-+"checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a"
-+"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
-+"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
-+"checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
-+"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
-+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-+"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
-+"checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
-+"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
-+"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 winconsole 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef84b96d10db72dd980056666d7f1e7663ce93d82fa33b63e71c966f4cf5032"
-diff --git a/Cargo.toml b/Cargo.toml
-index d09a342..5377ed0 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -2,10 +2,9 @@
- members = [
-   "evcxr",
-   "evcxr_repl",
--  "evcxr_jupyter",
-   "evcxr_runtime",
- ]
- 
- exclude = [
-   "runtimes"
--]
-\ No newline at end of file
-+]
diff --git a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
index 2c30c0ca385f..84ebc49a2218 100644
--- a/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/evcxr/default.nix
@@ -1,21 +1,20 @@
-{ cargo, fetchFromGitHub, makeWrapper, pkgconfig, rustPlatform, stdenv, gcc, Security }:
+{ cargo, fetchFromGitHub, makeWrapper, pkgconfig, rustPlatform, stdenv, gcc, Security, zeromq }:
 
 rustPlatform.buildRustPackage rec {
-  name = "evcxr-${version}";
-  version = "0.3.3";
+  pname = "evcxr";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "evcxr";
-    rev = "ae07ccf08723b7aec0de57d540822b89088ca036";
-    sha256 = "1apc93z9vvf6qks5x2pad45rnrj9kjl812rj78w5zmmizccp2fhf";
+    rev = "v${version}";
+    sha256 = "08zsdl6pkg6dx7k0ns8cd070v7ydsxkscd2ms8wh9r68c08vwzcp";
   };
 
-  cargoSha256 = "153pxqj4jhlbacr7607q9yfw6h96ns5igbvssis8j3gn0xp6ssg6";
-  cargoPatches = [ ./cargo-lock.patch ];
+  cargoSha256 = "1hqlagwl94xcybfqq5h2mrz9296mjns2l598d6jclls7ac5wsdfc";
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
-  buildInputs = [ cargo ] ++ stdenv.lib.optional stdenv.isDarwin Security;
+  buildInputs = [ zeromq ] ++ stdenv.lib.optional stdenv.isDarwin Security;
   postInstall = ''
     wrapProgram $out/bin/evcxr --prefix PATH : ${stdenv.lib.makeBinPath [ cargo gcc ]}
     rm $out/bin/testing_runtime
diff --git a/nixpkgs/pkgs/development/interpreters/groovy/default.nix b/nixpkgs/pkgs/development/interpreters/groovy/default.nix
index efbd72dcefa8..d5635fc22327 100644
--- a/nixpkgs/pkgs/development/interpreters/groovy/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/groovy/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "groovy-${version}";
-  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/nixpkgs/pkgs/development/interpreters/janet/default.nix b/nixpkgs/pkgs/development/interpreters/janet/default.nix
index 219b8e2758aa..197127d8b6d4 100644
--- a/nixpkgs/pkgs/development/interpreters/janet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/jruby/default.nix b/nixpkgs/pkgs/development/interpreters/jruby/default.nix
index 2e53ae1694f2..56c0f1f73e6c 100644
--- a/nixpkgs/pkgs/development/interpreters/jruby/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
 jruby = stdenv.mkDerivation rec {
   name = "jruby-${version}";
 
-  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/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix b/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix
index 26db917c9002..fb0021cb709a 100644
--- a/nixpkgs/pkgs/development/interpreters/lua-5/interpreter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/php/default.nix b/nixpkgs/pkgs/development/interpreters/php/default.nix
index 17a56665c5a8..f65b4628e8c8 100644
--- a/nixpkgs/pkgs/development/interpreters/php/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
index de980f1ca687..4e323898afbf 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/nixpkgs/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -79,6 +79,12 @@ let
         sha256 = "0l9rw6r5r90iybdkp3hhl2pf0h0s1izc68h5d3ywrm92pq32wz57";
       })
 
+      (fetchpatch {
+        url = "https://github.com/python/cpython/commit/979daae300916adb399ab5b51410b6ebd0888f13.patch";
+        name = "CVE-2018-20852.patch";
+        sha256 = "0p838ycssd6abxzby69rhngjqqm59cmlp07910mpjx7lmsz049pb";
+      })
+
       # Fix race-condition during pyc creation. Has a slight backwards
       # incompatible effect: pyc symlinks will now be overridden
       # (https://bugs.python.org/issue17222). Included in python >= 3.4,
diff --git a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix b/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
index 2f398d8dccb0..60d067c1bf2c 100644
--- a/nixpkgs/pkgs/development/interpreters/python/cpython/default.nix
+++ b/nixpkgs/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
@@ -77,6 +83,8 @@ in with passthru; stdenv.mkDerivation {
   prePatch = optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace '`/usr/bin/arch`' '"i386"'
     substituteInPlace configure --replace '-Wl,-stack_size,1000000' ' '
+  '' + optionalString (stdenv.isDarwin && x11Support) ''
+    substituteInPlace setup.py --replace /Library/Frameworks /no-such-path
   '';
 
   patches = [
@@ -134,6 +142,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 +230,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 +253,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 +264,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/nixpkgs/pkgs/development/interpreters/python/default.nix b/nixpkgs/pkgs/development/interpreters/python/default.nix
index c8856ea2aa30..bab7a047b15c 100644
--- a/nixpkgs/pkgs/development/interpreters/python/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix b/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
index 7ec476b1ea49..3e86ddef4ed4 100644
--- a/nixpkgs/pkgs/development/interpreters/python/pypy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/aacskeys/default.nix b/nixpkgs/pkgs/development/libraries/aacskeys/default.nix
deleted file mode 100644
index 9e28bfd4fe2c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
index 3ab4ed3e9623..e2d64841985c 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix b/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
index e3dcf765dfd4..a57ee6e08bae 100644
--- a/nixpkgs/pkgs/development/libraries/agda/agda-prelude/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/allegro/5.nix b/nixpkgs/pkgs/development/libraries/allegro/5.nix
index 9f8ca69a70f1..b267c62d6c70 100644
--- a/nixpkgs/pkgs/development/libraries/allegro/5.nix
+++ b/nixpkgs/pkgs/development/libraries/allegro/5.nix
@@ -8,14 +8,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "allegro-${version}";
-  version = "5.2.4.0";
+  pname = "allegro";
+  version = "5.2.5.0";
 
   src = fetchFromGitHub {
     owner = "liballeg";
     repo = "allegro5";
     rev = version;
-    sha256 = "01y3hirn5b08f188nnhb2cbqj4vzysr7l2qpz2208srv8arzmj2d";
+    sha256 = "1jrnizpwznyxz2c7zb75lfy7l51ww5jlqfaahcrycfj1xay9mpqp";
   };
 
   buildInputs = [
@@ -28,14 +28,6 @@ stdenv.mkDerivation rec {
     libpulseaudio libpthreadstubs
   ];
 
-  patches = [
-   # fix compilation with mesa 18.2.5
-   (fetchpatch {
-     url = "https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47.patch";
-     sha256 = "1f1xlj5y2vr6wzmcz04s8kxn8cfdwrg9kjlnvpz9dix1z3qjnd4m";
-   })
-  ];
-
   postPatch = ''
     sed -e 's@/XInput2.h@/XI2.h@g' -i CMakeLists.txt "src/"*.c
   '';
diff --git a/nixpkgs/pkgs/development/libraries/appstream-glib/default.nix b/nixpkgs/pkgs/development/libraries/appstream-glib/default.nix
index 4068e36badff..694d91d5a0ac 100644
--- a/nixpkgs/pkgs/development/libraries/appstream-glib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/appstream-glib/default.nix
@@ -1,7 +1,26 @@
-{ stdenv, fetchFromGitHub, substituteAll, pkgconfig, gettext, gtk3, glib
-, gtk-doc, libarchive, gobject-introspection, libxslt, pngquant
-, sqlite, libsoup, attr, acl, docbook_xsl, docbook_xml_dtd_42
-, libuuid, json-glib, meson, gperf, ninja, gdk-pixbuf
+{ stdenv
+, fetchFromGitHub
+, substituteAll
+, docbook_xml_dtd_42
+, docbook_xsl
+, fontconfig
+, freetype
+, gdk-pixbuf
+, gettext
+, glib
+, gobject-introspection
+, gperf
+, gtk-doc
+, gtk3
+, json-glib
+, libarchive
+, libsoup
+, libuuid
+, libxslt
+, meson
+, ninja
+, pkgconfig
+, pngquant
 }:
 stdenv.mkDerivation rec {
   name = "appstream-glib-0.7.15";
@@ -12,19 +31,39 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "appstream-glib";
-    rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
+    rev = stdenv.lib.replaceStrings [ "." "-" ] [ "_" "_" ] name;
     sha256 = "16cqs1s7nqc551sipgaxbbzwap1km0n12s4lcgfbxzzl9bcjbp9m";
   };
 
   nativeBuildInputs = [
-    meson pkgconfig ninja gtk-doc libxslt docbook_xsl docbook_xml_dtd_42 gobject-introspection
+    docbook_xml_dtd_42
+    docbook_xsl
+    gettext
+    gobject-introspection
+    gperf
+    gtk-doc
+    libxslt
+    meson
+    ninja
+    pkgconfig
   ];
+
   buildInputs = [
-    glib gettext sqlite libsoup
-    attr acl libuuid json-glib
-    libarchive gperf gdk-pixbuf
+    fontconfig
+    freetype
+    gdk-pixbuf
+    glib
+    gtk3
+    json-glib
+    libarchive
+    libsoup
+    libuuid
+  ];
+
+  propagatedBuildInputs = [
+    glib
+    gdk-pixbuf
   ];
-  propagatedBuildInputs = [ gtk3 ];
 
   patches = [
     (substituteAll {
diff --git a/nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix b/nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix
index 6c3f3aa9fa29..2268d4389026 100644
--- a/nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -42,7 +42,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/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix b/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
index e5d5313eeb10..47c8c090d08f 100644
--- a/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/nixpkgs/pkgs/development/libraries/at-spi2-core/default.nix
@@ -45,7 +45,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/nixpkgs/pkgs/development/libraries/avahi/default.nix b/nixpkgs/pkgs/development/libraries/avahi/default.nix
index 76010dacc5e2..ee451818831c 100644
--- a/nixpkgs/pkgs/development/libraries/avahi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/babl/default.nix b/nixpkgs/pkgs/development/libraries/babl/default.nix
index eff6ff626325..d95797d5a5f6 100644
--- a/nixpkgs/pkgs/development/libraries/babl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/babl/default.nix
@@ -1,15 +1,41 @@
-{ stdenv, fetchurl }:
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gobject-introspection
+, lcms2
+}:
 
 stdenv.mkDerivation rec {
   pname = "babl";
-  version = "0.1.66";
+  version = "0.1.72";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "https://ftp.gtk.org/pub/babl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0qx1dwbinxihwl2lmxi60qiqi402jlrdcnixx14kk6j88n9xi79n";
+    url = "https://download.gimp.org/pub/babl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0hkagjrnza77aasa1kss5hvy37ndm50y6i7hkdn2z8hzgc4i3qb4";
   };
 
-  doCheck = true;
+  patches = [
+    # Apple linker does not know --version-script flag
+    # https://gitlab.gnome.org/GNOME/babl/merge_requests/26
+    ./fix-darwin.patch
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    lcms2
+  ];
+
+  doCheck = !stdenv.isDarwin;
 
   meta = with stdenv.lib; {
     description = "Image pixel format conversion library";
diff --git a/nixpkgs/pkgs/development/libraries/babl/fix-darwin.patch b/nixpkgs/pkgs/development/libraries/babl/fix-darwin.patch
new file mode 100644
index 000000000000..eaeff63689fc
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/babl/fix-darwin.patch
@@ -0,0 +1,16 @@
+diff --git a/babl/meson.build b/babl/meson.build
+index b551c9a..f452435 100644
+--- a/babl/meson.build
++++ b/babl/meson.build
+@@ -24,9 +24,9 @@
+ ]
+ 
+ # Linker arguments
+-babl_link_args = [
++babl_link_args = cc.get_supported_link_arguments([
+   '-Wl,--version-script,' + version_script,
+-]
++])
+ if platform_win32
+   babl_link_args += '-Wl,--no-undefined'
+ endif
diff --git a/nixpkgs/pkgs/development/libraries/cctz/default.nix b/nixpkgs/pkgs/development/libraries/cctz/default.nix
index 2930ffa61e3c..832b070c8837 100644
--- a/nixpkgs/pkgs/development/libraries/cctz/default.nix
+++ b/nixpkgs/pkgs/development/libraries/cctz/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, darwin }:
 
 stdenv.mkDerivation rec {
   name = "cctz-${version}";
@@ -13,8 +13,14 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Foundation;
+
   installTargets = [ "install_hdrs" "install_shared_lib" ];
 
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id $out/lib/libcctz.so $out/lib/libcctz.so
+  '';
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/cm256cc/default.nix b/nixpkgs/pkgs/development/libraries/cm256cc/default.nix
new file mode 100644
index 000000000000..aaf409981024
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/cm256cc/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, boost } :
+
+stdenv.mkDerivation rec {
+  pname = "cm256cc";
+  version = "1.0.5";
+
+  src = fetchFromGitHub {
+    owner = "f4exb";
+    repo = "cm256cc";
+    rev = "v${version}";
+    sha256 = "0d16y3lhdwr644am4sxqpshpbc3qik6dgr1w2c39vy75w9ff61a0";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost ];
+
+  meta = with stdenv.lib; {
+    description = "Fast GF(256) Cauchy MDS Block Erasure Codec in C++";
+    homepage = "https://github.com/f4exb/cm256cc";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ alkeryn ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/dav1d/default.nix b/nixpkgs/pkgs/development/libraries/dav1d/default.nix
index 5f7ca179d4af..d065554d7c9d 100644
--- a/nixpkgs/pkgs/development/libraries/dav1d/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dav1d/default.nix
@@ -1,8 +1,11 @@
 { stdenv, fetchFromGitLab
 , meson, ninja, nasm, pkgconfig
 , withTools ? false, SDL2
+, useVulkan ? false, libplacebo, vulkan-loader, vulkan-headers
 }:
 
+assert useVulkan -> withTools;
+
 stdenv.mkDerivation rec {
   pname = "dav1d";
   version = "0.4.0";
@@ -17,7 +20,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja nasm pkgconfig ];
   # TODO: doxygen (currently only HTML and not build by default).
-  buildInputs = stdenv.lib.optional withTools SDL2;
+  buildInputs = stdenv.lib.optional withTools SDL2
+    ++ stdenv.lib.optionals useVulkan [ libplacebo vulkan-loader vulkan-headers ];
 
   mesonFlags= [
     "-Denable_tools=${stdenv.lib.boolToString withTools}"
diff --git a/nixpkgs/pkgs/development/libraries/directfb/default.nix b/nixpkgs/pkgs/development/libraries/directfb/default.nix
index 3d831efbcb7d..f7545bb03d56 100644
--- a/nixpkgs/pkgs/development/libraries/directfb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/directfb/default.upstream b/nixpkgs/pkgs/development/libraries/directfb/default.upstream
deleted file mode 100644
index ef4ed8e490d1..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/dlib/default.nix b/nixpkgs/pkgs/development/libraries/dlib/default.nix
index 67a56855bb79..97d74e1ed3c8 100644
--- a/nixpkgs/pkgs/development/libraries/dlib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/dlib/default.nix
@@ -6,14 +6,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "19.16";
+  version = "19.17";
   name = "dlib-${version}";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "0ix52npsxfm6324jli7y0zkyijl5yirv2yzfncyd4sq0r9fcwb4p";
+    sha256 = "0g11ilma6cll3bd2ahm66j1sjb9v4rxz3xjbfkcg5pjsvb49n029";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/exiv2/default.nix b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
index 9b05165e1b2b..ec6f07f0953a 100644
--- a/nixpkgs/pkgs/development/libraries/exiv2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/exiv2/default.nix
@@ -14,20 +14,15 @@
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
-  version = "0.27.1";
+  version = "0.27.2";
 
   src = fetchFromGitHub rec {
     owner = "exiv2";
     repo  = "exiv2";
-    rev = version;
-    sha256 = "0b5m921070fkyif0zlyb49gly3p6xd0hv1jyym4j25hx12gzbx0c";
+    rev = "v${version}";
+    sha256 = "0n8il52yzbmvbkryrl8waz7hd9a2fdkw8zsrmhyh63jlvmmc31gf";
   };
 
-  patches = [
-    # https://github.com/Exiv2/exiv2/commit/aae88060ca85a483cd7fe791ba116c04d96c0bf9#comments
-    ./fix-cmake.patch
-  ];
-
   cmakeFlags = [
     "-DEXIV2_BUILD_PO=ON"
     "-DEXIV2_BUILD_DOC=ON"
@@ -58,7 +53,7 @@ stdenv.mkDerivation rec {
     "doc"
   ];
 
-  doCheck = stdenv.isLinux;
+  doCheck = true;
 
   # Test setup found by inspecting ${src}/.travis/run.sh; problems without cmake.
   checkTarget = "tests";
@@ -72,6 +67,14 @@ stdenv.mkDerivation rec {
     ${stdenv.lib.optionalString stdenv.isAarch64 ''
       rm -f ../tests/bugfixes/github/test_CVE_2018_12265.py
     ''}
+
+    ${stdenv.lib.optionalString stdenv.isDarwin ''
+      export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:`pwd`/lib
+      # Removing tests depending on charset conversion
+      substituteInPlace ../test/Makefile --replace "conversions.sh" ""
+      rm -f ../tests/bugfixes/redmine/test_issue_460.py
+      rm -f ../tests/bugfixes/redmine/test_issue_662.py
+     ''}
   '';
 
   postCheck = ''
diff --git a/nixpkgs/pkgs/development/libraries/exiv2/fix-cmake.patch b/nixpkgs/pkgs/development/libraries/exiv2/fix-cmake.patch
deleted file mode 100644
index 1e19aed8b904..000000000000
--- a/nixpkgs/pkgs/development/libraries/exiv2/fix-cmake.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 34087004..41b3a068 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -239,9 +239,9 @@ install(FILES
-     ${CMAKE_BINARY_DIR}/exiv2lib_export.h
-     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/exiv2)
- 
--install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/exiv2/cmake")
-+install(EXPORT exiv2Config DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
- 
--install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/exiv2/cmake")
-+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2ConfigVersion.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/exiv2")
- 
- # ******************************************************************************
- # exiv2 application
diff --git a/nixpkgs/pkgs/development/libraries/exosip/default.nix b/nixpkgs/pkgs/development/libraries/exosip/default.nix
index 240f3c136ef5..332504e46b54 100644
--- a/nixpkgs/pkgs/development/libraries/exosip/default.nix
+++ b/nixpkgs/pkgs/development/libraries/exosip/default.nix
@@ -1,20 +1,27 @@
-{stdenv, fetchurl, libosip, openssl, pkgconfig }:
+{ stdenv, fetchurl, libosip, openssl, pkgconfig, fetchpatch }:
 
 stdenv.mkDerivation rec {
  name = "libexosip2-${version}";
  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/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix b/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
index 65a48890e496..28ab53feebdd 100644
--- a/nixpkgs/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/nixpkgs/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 {
   name = "ffmpeg-full-${version}";
-  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/nixpkgs/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch b/nixpkgs/pkgs/development/libraries/ffmpeg-full/prefer-libdav1d-over-libaom.patch
new file mode 100644
index 000000000000..789bfc2674fa
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/gegl/3.0.nix b/nixpkgs/pkgs/development/libraries/gegl/3.0.nix
deleted file mode 100644
index 54ee7662d06e..000000000000
--- a/nixpkgs/pkgs/development/libraries/gegl/3.0.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
-, librsvg, pango, gtk, bzip2, json-glib, intltool, autoreconfHook, libraw
-, libwebp, gnome3, libintl }:
-
-stdenv.mkDerivation rec {
-  name = "gegl-0.3.34";
-
-  src = fetchurl {
-    url = "https://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2";
-    sha256 = "010k86wn8cmr07rqwa4lccrmiiqrwbnkxvic4lpapwgbamv258jw";
-  };
-
-  hardeningDisable = [ "format" ];
-
-  # needs fonts otherwise  don't know how to pass them
-  configureFlags = [ "--disable-docs" ];
-
-  enableParallelBuilding = true;
-
-  doCheck = true;
-
-  buildInputs = [
-    libpng cairo libjpeg librsvg pango gtk bzip2
-    libraw libwebp gnome3.gexiv2
-  ];
-
-  propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-3.0.pc
-
-  nativeBuildInputs = [ pkgconfig intltool which autoreconfHook libintl ];
-
-  meta = with stdenv.lib; {
-    description = "Graph-based image processing framework";
-    homepage = http://www.gegl.org;
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ jtojnar ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/gfbgraph/default.nix b/nixpkgs/pkgs/development/libraries/gfbgraph/default.nix
index 1bdcb7d8b28d..235cd1950713 100644
--- a/nixpkgs/pkgs/development/libraries/gfbgraph/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/globalplatform/default.nix b/nixpkgs/pkgs/development/libraries/globalplatform/default.nix
index 3ef279616f75..f01fb13c3c3e 100644
--- a/nixpkgs/pkgs/development/libraries/globalplatform/default.nix
+++ b/nixpkgs/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 {
   name = "globalplatform-${version}";
@@ -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/nixpkgs/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix b/nixpkgs/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix
index 10df82196c2e..87addaa99919 100644
--- a/nixpkgs/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix
+++ b/nixpkgs/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 {
   name = "gppcscconnectionplugin-${version}";
@@ -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/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix b/nixpkgs/pkgs/development/libraries/gnome-online-accounts/default.nix
index 9ae4a572d93b..9ae4a572d93b 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/gnome-online-accounts/default.nix
+++ b/nixpkgs/pkgs/development/libraries/gnome-online-accounts/default.nix
diff --git a/nixpkgs/pkgs/development/libraries/gnome-video-effects/default.nix b/nixpkgs/pkgs/development/libraries/gnome-video-effects/default.nix
new file mode 100644
index 000000000000..03799c1ef7c4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch b/nixpkgs/pkgs/development/libraries/gnome-video-effects/fix-pc-file.patch
new file mode 100644
index 000000000000..62b29e7d025a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
index 1072c8f2cbf0..3e21f3c229fa 100644
--- a/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/graphene-hardened-malloc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "graphene-hardened-malloc-${version}";
-  version = "1";
+  version = "2";
 
   src = fetchurl {
     url = "https://github.com/GrapheneOS/hardened_malloc/archive/${version}.tar.gz";
-    sha256 = "1z3kb9fr6w9fcdc42bh8k5b4r10sn5hrwwk4m691qjdgk5hlj3aa";
+    sha256 = "0zsl4vl65ic6lw5rzcjzvcxg8makg683abnwvy60zfap8hvijvjb";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch b/nixpkgs/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
index d6a441e1577c..51bc206659d5 100644
--- a/nixpkgs/pkgs/development/libraries/graphene/0001-meson-add-options-for-tests-installation-dirs.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/graphene/default.nix b/nixpkgs/pkgs/development/libraries/graphene/default.nix
index 253fce4ea0da..c439e763e73d 100644
--- a/nixpkgs/pkgs/development/libraries/graphene/default.nix
+++ b/nixpkgs/pkgs/development/libraries/graphene/default.nix
@@ -4,6 +4,8 @@
 , meson
 , ninja
 , python3
+, mutest
+, nixosTests
 , glib
 , gtk-doc
 , docbook_xsl
@@ -13,7 +15,7 @@
 
 stdenv.mkDerivation rec {
   pname = "graphene";
-  version = "1.8.6";
+  version = "1.9.6";
 
   outputs = [ "out" "devdoc" "installedTests" ];
 
@@ -21,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "ebassi";
     repo = pname;
     rev = version;
-    sha256 = "1hdbdzcz86jrvsq5h954ph9q62m8jr2a5s5acklxhdkfqn5bkbv8";
+    sha256 = "0hb7s6g00l7zlf4hlfda55krn0pls9ajz0hcqrh8m656zr18ddwa";
   };
 
   patches = [
@@ -41,17 +43,27 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkgconfig
+    gobject-introspection
     python3
   ];
 
   buildInputs = [
+    glib
     gobject-introspection
   ];
 
   checkInputs = [
-    glib
+    mutest
   ];
 
+  doCheck = true;
+
+  passthru = {
+    tests = {
+      installedTests = nixosTests.graphene;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "A thin layer of graphic data types";
     homepage = "https://ebassi.github.com/graphene";
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix b/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix
index 118a910a1683..118a910a1683 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
+++ b/nixpkgs/pkgs/development/libraries/grilo-plugins/default.nix
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/grilo/default.nix b/nixpkgs/pkgs/development/libraries/grilo/default.nix
index 33293f0b3cbd..b2a7f0bd5aef 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/grilo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/core/grilo/setup-hook.sh b/nixpkgs/pkgs/development/libraries/grilo/setup-hook.sh
index 9337c520a207..9337c520a207 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/grilo/setup-hook.sh
+++ b/nixpkgs/pkgs/development/libraries/grilo/setup-hook.sh
diff --git a/nixpkgs/pkgs/development/libraries/grpc/default.nix b/nixpkgs/pkgs/development/libraries/grpc/default.nix
index 81e90154aa5b..78335e073edc 100644
--- a/nixpkgs/pkgs/development/libraries/grpc/default.nix
+++ b/nixpkgs/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
   name = "grpc-${version}";
   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/nixpkgs/pkgs/development/libraries/gthree/default.nix b/nixpkgs/pkgs/development/libraries/gthree/default.nix
new file mode 100644
index 000000000000..6588b8ab4407
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
index 1c86830f2582..4fa369e299d2 100644
--- a/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/nixpkgs/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -312,6 +312,17 @@ in rec {
     };
   };
 
+  en-au = mkDictFromWordlist {
+    shortName = "en-au";
+    shortDescription = "English (Australia)";
+    dictFileName = "en_AU";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_AU-2018.04.16.zip;
+      sha256 = "1kp06npl1kd05mm9r52cg2iwc13x02zwqgpibdw15b6x43agg6f5";
+    };
+  };
+  en_AU = en-au;
+
   en_GB-ise = en-gb-ise;
   en-gb-ise = mkDictFromWordlist {
     shortName = "en-gb-ise";
@@ -629,12 +640,12 @@ in rec {
   uk_UA = uk-ua;
   uk-ua = mkDict rec {
     name = "hunspell-dict-uk-ua-${version}";
-    version = "4.2.5";
-    _version = "4-2.5";
+    version = "4.6.3";
+    _version = "4-6.3";
 
     src = fetchurl {
       url = "https://extensions.libreoffice.org/extensions/ukrainian-spelling-dictionary-and-thesaurus/${_version}/@@download/file/dict-uk_UA-${version}.oxt";
-      sha256 = "1s2i9cd569g97kafrswczvwmvg7m9aks8qsbxd1mi73zy2y1r7n4";
+      sha256 = "14rd07yx4fx2qxjr5xqc8qy151idd8k2hr5yi18d9r8gccnm9w50";
     };
 
     dictFileName = "uk_UA";
diff --git a/nixpkgs/pkgs/development/libraries/itk/default.nix b/nixpkgs/pkgs/development/libraries/itk/default.nix
index a459bd82755f..3577e7a8196d 100644
--- a/nixpkgs/pkgs/development/libraries/itk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/leatherman/default.nix b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
index 95924050ff32..a085899d6e2b 100644
--- a/nixpkgs/pkgs/development/libraries/leatherman/default.nix
+++ b/nixpkgs/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "leatherman-${version}";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
-    sha256 = "0n6vcbc43hdaxg5inl2b43bsksdkj3k0qxis6gkkclipivp8pz0p";
+    sha256 = "0m2dm1gzwj0kwyl031bif89h3n4znml3m5n97hywlbra58ni8km1";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/nixpkgs/pkgs/development/libraries/libargon2/default.nix b/nixpkgs/pkgs/development/libraries/libargon2/default.nix
index c0dd406dd31f..9bf05a679cc0 100644
--- a/nixpkgs/pkgs/development/libraries/libargon2/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libargon2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "libargon2";
@@ -11,18 +11,21 @@ stdenv.mkDerivation rec {
     sha256 = "0p4ry9dn0mi9js0byijxdyiwx74p1nr8zj7wjpd1fjgqva4sk23i";
   };
 
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/lib/pkgconfig
-    substitute libargon2.pc $out/lib/pkgconfig/libargon2.pc \
-      --replace @UPSTREAM_VER@ "${version}"                 \
-      --replace @HOST_MULTIARCH@ ""                         \
-      --replace 'prefix=/usr' "prefix=$out"
+  patches = [
+    # TODO: remove when https://github.com/P-H-C/phc-winner-argon2/pull/277 is merged + released
+    (fetchpatch {
+      url = "https://github.com/P-H-C/phc-winner-argon2/commit/cd1c1d8d204e4ec4557e358013567c097cb70562.patch";
+      sha256 = "0whqv8b6q9602n7vxpzbd8bk8wz22r1jz9x5lrm9z7ib3wz81c8a";
+    })
+  ];
 
-    make install PREFIX=$out LIBRARY_REL=lib
-    ln -s $out/lib/libargon2.so $out/lib/libargon2.so.0
-    runHook postInstall
-  '';
+  makeFlags = [
+    "AR=${stdenv.cc.targetPrefix}ar" # Fix cross-compilation
+    "PREFIX=${placeholder "out"}"
+    "ARGON2_VERSION=${version}"
+    "LIBRARY_REL=lib"
+    "PKGCONFIG_REL=lib"
+  ];
 
   meta = with stdenv.lib; {
     description = "A key derivation function that was selected as the winner of the Password Hashing Competition in July 2015";
diff --git a/nixpkgs/pkgs/development/libraries/libcacard/default.nix b/nixpkgs/pkgs/development/libraries/libcacard/default.nix
index f116360474e4..62d709733759 100644
--- a/nixpkgs/pkgs/development/libraries/libcacard/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libcacard/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libcacard-${version}";
-  version = "2.6.1";
+  version = "2.7.0";
 
   src = fetchurl {
     url = "https://www.spice-space.org/download/libcacard/${name}.tar.xz";
-    sha256 = "1w6y0kiakhg7dgyf8yqpm4jj6jiv17zhy9lp3d7z32q1pniccxk2";
+    sha256 = "0vyvkk4b6xjwq1ccggql13c1x7g4y90clpkqw28257azgn2a1c8n";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libdazzle/default.nix b/nixpkgs/pkgs/development/libraries/libdazzle/default.nix
index 28d9152dcee7..f7e0a987b063 100644
--- a/nixpkgs/pkgs/development/libraries/libdazzle/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdazzle/default.nix
@@ -2,7 +2,7 @@
 , gtk-doc, docbook_xsl, docbook_xml_dtd_43, glibcLocales, dbus, xvfb_run, glib, gtk3, gnome3 }:
 
 let
-  version = "3.32.2";
+  version = "3.32.3";
   pname = "libdazzle";
 in
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0hgi7gnkna9n42nh7p81crrw0jjj22yr8acych60wxh6hzxqsgs1";
+    sha256 = "1s37hv12ikfzhvh86qzgmfcjm3wvp12l2vsr0whl5xmm2harp3bc";
   };
 
   nativeBuildInputs = [ ninja meson pkgconfig vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 glibcLocales dbus xvfb_run ];
diff --git a/nixpkgs/pkgs/development/libraries/libdeflate/default.nix b/nixpkgs/pkgs/development/libraries/libdeflate/default.nix
index db5448caa102..a5b178caf825 100644
--- a/nixpkgs/pkgs/development/libraries/libdeflate/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libdeflate/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libdeflate-${version}";
-  version = "1.2";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "ebiggers";
     repo = "libdeflate";
     rev = "v${version}";
-    sha256 = "0kmp38s7vahvbgzzhs5v0bfyjgas1in7jn69gpyh70kl08279ly0";
+    sha256 = "019xsz5dnbpxiz29j3zqsxyi4ksjkkygi6a2zyc8fxbm8lvaa9ar";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix b/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
index a8384de5552d..9b6c1d505c1e 100644
--- a/nixpkgs/pkgs/development/libraries/libfilezilla/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libftdi/default.nix b/nixpkgs/pkgs/development/libraries/libftdi/default.nix
index 74b87a46ef0a..08ec1d84a3f0 100644
--- a/nixpkgs/pkgs/development/libraries/libftdi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libgdata/default.nix b/nixpkgs/pkgs/development/libraries/libgdata/default.nix
index 48cfa098c9fa..f61283aec4a0 100644
--- a/nixpkgs/pkgs/development/libraries/libgdata/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libgig/default.nix b/nixpkgs/pkgs/development/libraries/libgig/default.nix
index 08fce9c521ec..56f160838e66 100644
--- a/nixpkgs/pkgs/development/libraries/libgig/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgig/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libgig-${version}";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchurl {
     url = "https://download.linuxsampler.org/packages/${name}.tar.bz2";
-    sha256 = "02xx6bqxzgkvrawwnzrnxx1ypk244q4kpwfd58266f9ji8kq18h6";
+    sha256 = "1zs5yy124bymfyapsnljr6rv2lnn5inwchm0xnwiw44b2d39l8hn";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
diff --git a/nixpkgs/pkgs/development/libraries/libgnurl/default.nix b/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
index e87f535a1f74..0bb3af37eee1 100644
--- a/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libgnurl/default.nix
@@ -2,23 +2,38 @@
   libidn2, libunistring, nghttp2 }:
 
 stdenv.mkDerivation rec {
-  version = "7.64.0";
-
-  name = "libgnurl-${version}";
+  pname = "libgnurl";
+  version = "7.65.3";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/gnurl-${version}.tar.gz";
-    sha256 = "0pvmbi32lixcpk10prplmwrmi4wzp3bc1aiyhr552kx0wqdqmdk8";
+    sha256 = "19l7jw3x83qk7yay5968pc39vzvxl55mhn1nmjh51miyda405qa9";
   };
 
   nativeBuildInputs = [ libtool groff perl pkgconfig python2 ];
-    
+
   buildInputs = [ gnutls zlib libidn2 libunistring nghttp2 ];
 
   configureFlags = [
     "--disable-ntlm-wb"
     "--without-ca-bundle"
     "--with-ca-fallback"
+    # below options will cause errors if enabled
+    "--disable-ftp"
+    "--disable-tftp"
+    "--disable-file"
+    "--disable-ldap"
+    "--disable-dict"
+    "--disable-rtsp"
+    "--disable-telnet"
+    "--disable-pop3"
+    "--disable-imap"
+    "--disable-smb"
+    "--disable-smtp"
+    "--disable-gopher"
+    "--without-ssl" # disables only openssl, not ssl in general
+    "--without-libpsl"
+    "--without-librtmp"
   ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/libraries/libgpiod/default.nix b/nixpkgs/pkgs/development/libraries/libgpiod/default.nix
index 5eac024f8315..23f46ad2a0cf 100644
--- a/nixpkgs/pkgs/development/libraries/libgpiod/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libivykis/default.nix b/nixpkgs/pkgs/development/libraries/libivykis/default.nix
index 9419046db4ed..51b2dd7c7bd6 100644
--- a/nixpkgs/pkgs/development/libraries/libivykis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libmodbus/default.nix b/nixpkgs/pkgs/development/libraries/libmodbus/default.nix
index 182d642bc08d..e18de4127a4a 100644
--- a/nixpkgs/pkgs/development/libraries/libmodbus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libndctl/default.nix b/nixpkgs/pkgs/development/libraries/libndctl/default.nix
index 222a0df055bb..38c6bb008634 100644
--- a/nixpkgs/pkgs/development/libraries/libndctl/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libndctl/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "libndctl-${version}";
-  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/nixpkgs/pkgs/development/libraries/libosinfo/default.nix b/nixpkgs/pkgs/development/libraries/libosinfo/default.nix
index b971c8924f36..a040956f553c 100644
--- a/nixpkgs/pkgs/development/libraries/libosinfo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch b/nixpkgs/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch
index 8d202a92d095..2197eca23d9d 100644
--- a/nixpkgs/pkgs/development/libraries/libosinfo/osinfo-db-data-dir.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libosmium/default.nix b/nixpkgs/pkgs/development/libraries/libosmium/default.nix
index 791e4d890f93..885880c54c36 100644
--- a/nixpkgs/pkgs/development/libraries/libosmium/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libosmium/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libosmium-${version}";
-  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/nixpkgs/pkgs/development/libraries/libplacebo/default.nix b/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
new file mode 100644
index 000000000000..3fd8f86612c7
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libplacebo/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkgconfig
+, vulkan-headers
+, vulkan-loader
+, shaderc
+, glslang
+, lcms2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libplacebo";
+  version = "1.18.0";
+
+  src = fetchFromGitLab {
+    domain = "code.videolan.org";
+    owner = "videolan";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ib12i2491piwiz0g5n5izr5jmn5fhwzicq97vfki3r7wrdb54mz";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+  ];
+
+  buildInputs = [
+    vulkan-headers
+    vulkan-loader
+    shaderc
+    glslang
+    lcms2
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Reusable library for GPU-accelerated video/image rendering primitives";
+    homepage = "https://code.videolan.org/videolan/libplacebo";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ tadeokondrak ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/librealsense/default.nix b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
index 392c5052e078..3805965d11ca 100644
--- a/nixpkgs/pkgs/development/libraries/librealsense/default.nix
+++ b/nixpkgs/pkgs/development/libraries/librealsense/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "librealsense-${version}";
-  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/nixpkgs/pkgs/development/libraries/libressl/default.nix b/nixpkgs/pkgs/development/libraries/libressl/default.nix
index d710c41a97c1..7fbe25addc03 100644
--- a/nixpkgs/pkgs/development/libraries/libressl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libspf2/default.nix b/nixpkgs/pkgs/development/libraries/libspf2/default.nix
new file mode 100644
index 000000000000..d4b112704284
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libspf2/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, autoreconfHook }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  pname = "libspf2";
+  version = "1.2.10";
+
+  src = fetchurl {
+    url = "https://www.libspf2.org/spf/libspf2-${version}.tar.gz";
+    sha256 = "1j91p0qiipzf89qxq4m1wqhdf01hpn1h5xj4djbs51z23bl3s7nr";
+  };
+
+  patches = [
+    (fetchurl {
+      name = "0001-gcc-variadic-macros.patch";
+      url = "https://github.com/shevek/libspf2/commit/5852828582f556e73751076ad092f72acf7fc8b6.patch";
+      sha256 = "1v6ashqzpr0xidxq0vpkjd8wd66cj8df01kyzj678ljzcrax35hk";
+    })
+  ];
+
+  postPatch = ''
+    # disable static bins compilation
+    sed -i \
+      -e '/bin_PROGRAMS/s/spfquery_static//' src/spfquery/Makefile.am \
+      -e '/bin_PROGRAMS/s/spftest_static//' src/spftest/Makefile.am \
+      -e '/bin_PROGRAMS/s/spfd_static//' src/spfd/Makefile.am \
+      -e '/bin_PROGRAMS/s/spf_example_static//' src/spf_example/Makefile.am
+  '';
+
+  # autoreconf necessary because we modified automake files
+  nativeBuildInputs = [ autoreconfHook ];
+
+  doCheck = true;
+
+  meta = {
+    description = "Implementation of the Sender Policy Framework for SMTP authorization";
+    homepage = https://www.libspf2.org;
+    license = with licenses; [ lgpl21Plus bsd2 ];
+    maintainers = with maintainers; [ pacien ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/liburing/default.nix b/nixpkgs/pkgs/development/libraries/liburing/default.nix
index ff88bdcaafd6..7d595db85dd1 100644
--- a/nixpkgs/pkgs/development/libraries/liburing/default.nix
+++ b/nixpkgs/pkgs/development/libraries/liburing/default.nix
@@ -1,16 +1,57 @@
 { stdenv, fetchgit
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   name = "liburing-${version}";
-  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/nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix b/nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix
index 74c3d24560cd..9dd89133f4b9 100644
--- a/nixpkgs/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libvirt/default.nix b/nixpkgs/pkgs/development/libraries/libvirt/default.nix
index c559d3f84071..125259a6bee9 100644
--- a/nixpkgs/pkgs/development/libraries/libvirt/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvirt/default.nix
@@ -129,6 +129,7 @@ in stdenv.mkDerivation rec {
     binPath = [ iptables iproute pmutils numad numactl bridge-utils dmidecode dnsmasq ebtables ] ++ optionals enableIscsi [ openiscsi ];
   in ''
     substituteInPlace $out/libexec/libvirt-guests.sh \
+      --replace 'ON_BOOT=start'       'ON_BOOT=''${ON_BOOT:-start}' \
       --replace 'ON_SHUTDOWN=suspend' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
       --replace "$out/bin"            '${gettext}/bin' \
       --replace 'lock/subsys'         'lock' \
@@ -156,6 +157,6 @@ in stdenv.mkDerivation rec {
     '';
     license = licenses.lgpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz globin ];
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/libvisio/default.nix b/nixpkgs/pkgs/development/libraries/libvisio/default.nix
index a09e2cf2f72a..5cb1c673be50 100644
--- a/nixpkgs/pkgs/development/libraries/libvisio/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libvisio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "libvisio-${version}";
-  version = "0.1.6";
+  version = "0.1.7";
 
   outputs = [ "out" "bin" "dev" "doc" ];
 
   src = fetchurl {
     url = "https://dev-www.libreoffice.org/src/libvisio/${name}.tar.xz";
-    sha256 = "1yahpfl13qk6178irv8jn5ppxdn7isafqisyqsdw0lqxcz9h447y";
+    sha256 = "0k7adcbbf27l7n453cca1m6s9yj6qvb5j6bsg2db09ybf3w8vbwg";
   };
 
   nativeBuildInputs = [ pkgconfig cppunit doxygen ];
diff --git a/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix b/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
index 7c1d58d2980f..144bde9a23a9 100644
--- a/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
+++ b/nixpkgs/pkgs/development/libraries/libwebsockets/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libwebsockets-${version}";
-  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/nixpkgs/pkgs/development/libraries/libxmlb/default.nix b/nixpkgs/pkgs/development/libraries/libxmlb/default.nix
index 9edb9b475e8a..4800a6c405c3 100644
--- a/nixpkgs/pkgs/development/libraries/libxmlb/default.nix
+++ b/nixpkgs/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 {
-  name = "libxmlb-${version}";
-  version = "0.1.10";
+  pname = "libxmlb";
+  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/nixpkgs/pkgs/development/libraries/libxmlb/installed-tests-path.patch b/nixpkgs/pkgs/development/libraries/libxmlb/installed-tests-path.patch
new file mode 100644
index 000000000000..ab36d9efad89
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/libzapojit/default.nix b/nixpkgs/pkgs/development/libraries/libzapojit/default.nix
index 2ad017dc90be..215535fb8f13 100644
--- a/nixpkgs/pkgs/development/libraries/libzapojit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/live555/default.nix b/nixpkgs/pkgs/development/libraries/live555/default.nix
index 268476e079db..ff77cd71265e 100644
--- a/nixpkgs/pkgs/development/libraries/live555/default.nix
+++ b/nixpkgs/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 {
   name = "live555-${version}";
-  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/nixpkgs/pkgs/development/libraries/luaffi/darwin.patch b/nixpkgs/pkgs/development/libraries/luaffi/darwin.patch
deleted file mode 100644
index 50db81b776d7..000000000000
--- a/nixpkgs/pkgs/development/libraries/luaffi/darwin.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/Makefile b/Makefile
-index b2b5f2c..b690a5d 100644
---- a/Makefile
-+++ b/Makefile
-@@ -18,10 +18,10 @@ test:
- 	if [ `uname` = "Darwin" ]; then $(MAKE) test_macosx; else $(MAKE) test_posix; fi
- 
- macosx:
--	$(MAKE) posix "SOCC=MACOSX_DEPLOYMENT_TARGET=10.3 $(CC) -dynamiclib -single_module -undefined dynamic_lookup $(SOCFLAGS)"
-+	$(MAKE) posix "SOCC= $(CC) -dynamiclib -single_module -undefined dynamic_lookup -Wl,-install_name,$(PREFIX)/lib/$(MODSO) $(SOCFLAGS)"
- 
- test_macosx:
--	$(MAKE) test_posix "SOCC=MACOSX_DEPLOYMENT_TARGET=10.3 $(CC) -dynamiclib -single_module -undefined dynamic_lookup $(SOCFLAGS)"
-+	$(MAKE) test_posix "SOCC= $(CC) -dynamiclib -single_module -undefined dynamic_lookup -Wl,-install_name,$(PREFIX)/lib/$(MODSO) $(SOCFLAGS)"
- 
- posix: $(MODSO) test_cdecl.so
- 
diff --git a/nixpkgs/pkgs/development/libraries/luaffi/default.nix b/nixpkgs/pkgs/development/libraries/luaffi/default.nix
deleted file mode 100644
index 065562ac82ec..000000000000
--- a/nixpkgs/pkgs/development/libraries/luaffi/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchFromGitHub, lua, pkgconfig }:
-
-stdenv.mkDerivation {
-  name = "luaffi-2013-11-08";
-  src = fetchFromGitHub {
-    owner = "jmckaskill";
-    repo = "luaffi";
-    rev = "abc638c9341025580099dcf77795c4b320ba0e63";
-    sha256 = "1hv1y9i66p473hfy36nqj220sfrxdmbd75c1gpjvpk8073vx55ac";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ lua ];
-
-  patches = [ ./darwin.patch ./makefile-errors.patch ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  installPhase = ''
-    mkdir -p $out/lib
-    cp ffi.so $out/lib/ffi.so
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Standalone FFI library for calling C functions from lua. Compatible with the luajit FFI interface.";
-    homepage = https://github.com/jmckaskill/luaffi;
-    maintainers = with maintainers; [ ma27 ];
-    license = licenses.mit;
-    platforms = platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/development/libraries/luaffi/makefile-errors.patch b/nixpkgs/pkgs/development/libraries/luaffi/makefile-errors.patch
deleted file mode 100644
index 0ee6e6390068..000000000000
--- a/nixpkgs/pkgs/development/libraries/luaffi/makefile-errors.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile b/Makefile
-index b2b5f2c..49d4c99 100644
---- a/Makefile
-+++ b/Makefile
-@@ -6,7 +6,7 @@ LUA=lua
- LUA_CFLAGS=`$(PKG_CONFIG) --cflags lua5.2 2>/dev/null || $(PKG_CONFIG) --cflags lua`
- SOCFLAGS=-fPIC
- SOCC=$(CC) -shared $(SOCFLAGS)
--CFLAGS=-fPIC -g -Wall -Werror $(LUA_CFLAGS) -fvisibility=hidden -Wno-unused-function --std=gnu99
-+CFLAGS=-fPIC -g -Wall $(LUA_CFLAGS) -fvisibility=hidden -Wno-unused-function --std=gnu99
- 
- MODNAME=ffi
- MODSO=$(MODNAME).so
diff --git a/nixpkgs/pkgs/development/libraries/mdds/default.nix b/nixpkgs/pkgs/development/libraries/mdds/default.nix
index 16502ca4e612..cdc3dfa5ca0b 100644
--- a/nixpkgs/pkgs/development/libraries/mdds/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/mutest/default.nix b/nixpkgs/pkgs/development/libraries/mutest/default.nix
new file mode 100644
index 000000000000..423a93b69a80
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/mutest/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, fetchFromGitHub
+, meson
+, ninja
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mutest";
+  version = "unstable-2019-08-26";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "ebassi";
+    repo = "mutest";
+    rev = "e6246c9ae4f36ffe8c021f0a80438f6c7a6efa3a";
+    sha256 = "0gdqwq6fvk06wld4rhnw5752hahrvhd69zrci045x25rwx90x26q";
+  };
+
+  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/nixpkgs/pkgs/development/libraries/odpic/default.nix b/nixpkgs/pkgs/development/libraries/odpic/default.nix
index 931ecc186be6..f3e8742bb207 100644
--- a/nixpkgs/pkgs/development/libraries/odpic/default.nix
+++ b/nixpkgs/pkgs/development/libraries/odpic/default.nix
@@ -1,12 +1,19 @@
-{ stdenv, fetchurl, fixDarwinDylibNames, oracle-instantclient, libaio }:
+{ stdenv, fetchFromGitHub, fixDarwinDylibNames, oracle-instantclient, libaio }:
 
-stdenv.mkDerivation rec {
-  name = "odpic-${version}";
-  version = "3.1.0";
+let
+  version = "3.2.1";
+  libPath = stdenv.lib.makeLibraryPath [ oracle-instantclient.lib ];
 
-  src = fetchurl {
-    url = "https://github.com/oracle/odpi/archive/v${version}.tar.gz";
-    sha256 = "0m6g7lbvfir4amf2cnap9wz9fmqrihqpihd84igrd7fp076894c0";
+in stdenv.mkDerivation {
+  inherit version;
+
+  pname = "odpic";
+
+  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/nixpkgs/pkgs/development/libraries/oniguruma/default.nix b/nixpkgs/pkgs/development/libraries/oniguruma/default.nix
index b54f34fbb2c3..e64d21c87ed0 100644
--- a/nixpkgs/pkgs/development/libraries/oniguruma/default.nix
+++ b/nixpkgs/pkgs/development/libraries/oniguruma/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "onig-${version}";
-  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/nixpkgs/pkgs/development/libraries/opencv/4.x.nix b/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
index 85bb2f1effd9..3fdc392e92b8 100644
--- a/nixpkgs/pkgs/development/libraries/opencv/4.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/opendkim/default.nix b/nixpkgs/pkgs/development/libraries/opendkim/default.nix
index 3d110910b159..71885ba46f10 100644
--- a/nixpkgs/pkgs/development/libraries/opendkim/default.nix
+++ b/nixpkgs/pkgs/development/libraries/opendkim/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libbsd, openssl, libmilter
-, perl, makeWrapper }:
+, autoreconfHook, perl, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "opendkim-${version}";
@@ -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/nixpkgs/pkgs/development/libraries/opendkim/openssl-1.1.patch b/nixpkgs/pkgs/development/libraries/opendkim/openssl-1.1.patch
new file mode 100644
index 000000000000..c36559cf16cd
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/opensaml-cpp/default.nix b/nixpkgs/pkgs/development/libraries/opensaml-cpp/default.nix
index 659c4fb7cff6..9488ef484c6f 100644
--- a/nixpkgs/pkgs/development/libraries/opensaml-cpp/default.nix
+++ b/nixpkgs/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 {
   name = "opensaml-cpp-${version}";
-  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/nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix b/nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix
index fe260e0c2ad2..06b9e360d1a3 100644
--- a/nixpkgs/pkgs/development/libraries/oracle-instantclient/default.nix
+++ b/nixpkgs/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;
+
+  pname = "oracle-instantclient";
   extLib = stdenv.hostPlatform.extensions.sharedLibrary;
-in stdenv.mkDerivation rec {
-  inherit version srcs;
-  name = "oracle-instantclient-${version}";
+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/${name}/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/${name}/demo
+    install -Dm644 sdk/demo/* $out/share/${pname}-${version}/demo
+
+    # provide alias
+    ln -sfn $out/bin/sqlplus $out/bin/sqlplus64
+  '';
 
-    # 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}
+  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/nixpkgs/pkgs/development/libraries/poco/default.nix b/nixpkgs/pkgs/development/libraries/poco/default.nix
index 68ddf5c91d17..e766657c19a4 100644
--- a/nixpkgs/pkgs/development/libraries/poco/default.nix
+++ b/nixpkgs/pkgs/development/libraries/poco/default.nix
@@ -28,6 +28,5 @@ stdenv.mkDerivation rec {
     description = "Cross-platform C++ libraries with a network/internet focus";
     license = licenses.boost;
     maintainers = with maintainers; [ orivej ];
-    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/protobuf/3.9.nix b/nixpkgs/pkgs/development/libraries/protobuf/3.9.nix
index 6652ba7648c5..a2f3e0e01646 100644
--- a/nixpkgs/pkgs/development/libraries/protobuf/3.9.nix
+++ b/nixpkgs/pkgs/development/libraries/protobuf/3.9.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.9.0";
-  sha256 = "1xq2njqrbmizwg91ggi1lqr0n26cm2jdyk668ljc24ihrpk0z9bw";
+  version = "3.9.1";
+  sha256 = "0vv85xb65dx6fa76fsnyps13kaamvwfzd8hr6ii1payr73x4zy2h";
 }
diff --git a/nixpkgs/pkgs/development/libraries/protozero/default.nix b/nixpkgs/pkgs/development/libraries/protozero/default.nix
index a18d768c288c..25e0f14d026b 100644
--- a/nixpkgs/pkgs/development/libraries/protozero/default.nix
+++ b/nixpkgs/pkgs/development/libraries/protozero/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "protozero-${version}";
-  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/nixpkgs/pkgs/development/libraries/ptlib/default.nix b/nixpkgs/pkgs/development/libraries/ptlib/default.nix
index d1dcc5fdb97a..e7abedf31214 100644
--- a/nixpkgs/pkgs/development/libraries/ptlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/qca2/default.nix b/nixpkgs/pkgs/development/libraries/qca2/default.nix
index ec32c44a91fc..885b7b378cc3 100644
--- a/nixpkgs/pkgs/development/libraries/qca2/default.nix
+++ b/nixpkgs/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 {
   name = "qca-${version}";
@@ -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/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
index f833d130fbba..8c1c76db8f47 100644
--- a/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch b/nixpkgs/pkgs/development/libraries/qt-4.x/4.8/qt4-openssl-1.1.patch
new file mode 100644
index 000000000000..1931ceb0c749
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.6/default.nix
deleted file mode 100644
index d45b014b765e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/fetch.sh b/nixpkgs/pkgs/development/libraries/qt-5/5.6/fetch.sh
deleted file mode 100644
index bb9eb66a01dc..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtbase-fixguicmake.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812a..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtbase.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtbase.patch
deleted file mode 100644
index d8322cbc1997..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch
deleted file mode 100644
index dbddaa2a1d60..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtscript.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtscript.patch
deleted file mode 100644
index 5508dec1280e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtserialport.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtserialport.patch
deleted file mode 100644
index b2cffbe4f39b..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/qttools.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.6/qttools.patch
deleted file mode 100644
index dcb15e0e55a6..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtwebengine-seccomp.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtwebengine-seccomp.patch
deleted file mode 100644
index bf6af8059823..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
deleted file mode 100644
index da1658554e44..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.6/srcs.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.6/srcs.nix
deleted file mode 100644
index 87d35a43d86b..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/default.nix b/nixpkgs/pkgs/development/libraries/qt-5/5.9/default.nix
index 52c763263b53..b27c5d3eb58c 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.9/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
new file mode 100644
index 000000000000..d5f4d7527cb4
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase.patch b/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase.patch
index 086ddf4fe3e7..f87c508a3800 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/5.9/qtbase.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 07fd048d6538..357c81fa4f61 100644
--- a/nixpkgs/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/science/math/sympow/default.nix b/nixpkgs/pkgs/development/libraries/science/math/sympow/default.nix
index fd9285ebf790..2e543abd411b 100644
--- a/nixpkgs/pkgs/development/libraries/science/math/sympow/default.nix
+++ b/nixpkgs/pkgs/development/libraries/science/math/sympow/default.nix
@@ -9,7 +9,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2.023.4";
+  version = "2.023.5";
   name = "sympow-${version}";
 
   src = fetchFromGitLab {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "forks";
     repo = "sympow";
     rev = "v${version}";
-    sha256 = "0j2qdw9csbr081h8arhlx1z7ibgi5am4ndmvyc8y4hccfa8n4w1y";
+    sha256 = "1c5a2pizgqsf3pjkf7rfj20022ym4ixhrddp8ivs2nbzxwz6qvv9";
   };
 
   postUnpack = ''
diff --git a/nixpkgs/pkgs/development/libraries/serialdv/default.nix b/nixpkgs/pkgs/development/libraries/serialdv/default.nix
new file mode 100644
index 000000000000..11f9d3013471
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/serialdv/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "serialdv";
+  version ="1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "f4exb";
+    repo = "serialdv";
+    rev = "v${version}";
+    sha256 = "0swalyp8cbs7if6gxbcl7wf83ml8ch3k7ww4hws89rzpjvf070fr";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "C++ Minimal interface to encode and decode audio with AMBE3000 based devices in packet mode over a serial link.";
+    homepage = "https://github.com/f4exb/serialdv";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ alkeryn ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/libraries/shibboleth-sp/default.nix b/nixpkgs/pkgs/development/libraries/shibboleth-sp/default.nix
index 74f861297d1a..dd9b01a0a01e 100644
--- a/nixpkgs/pkgs/development/libraries/shibboleth-sp/default.nix
+++ b/nixpkgs/pkgs/development/libraries/shibboleth-sp/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "shibboleth-sp-${version}";
-  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/nixpkgs/pkgs/development/libraries/simpleitk/default.nix b/nixpkgs/pkgs/development/libraries/simpleitk/default.nix
index 90dfe8ebfab8..1cf40c92db66 100644
--- a/nixpkgs/pkgs/development/libraries/simpleitk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/simpleitk/default.nix
@@ -1,13 +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";
-  name  = "${pname}-${version}";
+  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 ];
@@ -21,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/nixpkgs/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/nixpkgs/pkgs/development/libraries/tracker-miners/default.nix
index eaa3ab3c089b..9f31e70ad531 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch b/nixpkgs/pkgs/development/libraries/tracker-miners/fix-paths.patch
index 724c51cb56f8..724c51cb56f8 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch
+++ b/nixpkgs/pkgs/development/libraries/tracker-miners/fix-paths.patch
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/tracker/default.nix b/nixpkgs/pkgs/development/libraries/tracker/default.nix
index 397184f798a8..397184f798a8 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/nixpkgs/pkgs/development/libraries/tracker/default.nix
diff --git a/nixpkgs/pkgs/desktops/gnome-3/core/tracker/fix-paths.patch b/nixpkgs/pkgs/development/libraries/tracker/fix-paths.patch
index f5c13c3fcdaf..f5c13c3fcdaf 100644
--- a/nixpkgs/pkgs/desktops/gnome-3/core/tracker/fix-paths.patch
+++ b/nixpkgs/pkgs/development/libraries/tracker/fix-paths.patch
diff --git a/nixpkgs/pkgs/development/libraries/umockdev/default.nix b/nixpkgs/pkgs/development/libraries/umockdev/default.nix
index 866dc48f2704..6a2285563064 100644
--- a/nixpkgs/pkgs/development/libraries/umockdev/default.nix
+++ b/nixpkgs/pkgs/development/libraries/umockdev/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   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";
diff --git a/nixpkgs/pkgs/development/libraries/umockdev/disable-failed-test.patch b/nixpkgs/pkgs/development/libraries/umockdev/disable-failed-test.patch
new file mode 100644
index 000000000000..69e74dd38b8d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix b/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
index 7b72e12a66b2..99535ec395ea 100644
--- a/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/nixpkgs/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, mariadb, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, curl, libuuid, autoPatchelfHook }:
+{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, mariadb, sqlite, zlib, libxml2, dpkg, lib, kerberos, curl, libuuid, autoPatchelfHook }:
 
 # I haven't done any parameter tweaking.. So the defaults provided here might be bad
 
@@ -125,16 +125,16 @@
     version = "${versionMajor}.${versionMinor}.${versionAdditional}-1";
 
     versionMajor = "17";
-    versionMinor = "2";
-    versionAdditional = "0.1";
+    versionMinor = "4";
+    versionAdditional = "1.1";
 
     src = fetchurl {
       url = "https://packages.microsoft.com/debian/9/prod/pool/main/m/msodbcsql17/msodbcsql${versionMajor}_${version}_amd64.deb";
-      sha256 = "1966ymbbk0jsacqwzi3dmhxv2n8hfgnpjsx3hr3n7s9d88chgpx5";
+      sha256 = "0jb16irr7qlgd2zshg0vyia7zqipd0pcvwfcr6z807pss1mnzj8w";
     };
 
     nativeBuildInputs = [ autoPatchelfHook ];
-    buildInputs = [ unixODBC dpkg openssl kerberos curl libuuid stdenv.cc.cc ];
+    buildInputs = [ unixODBC dpkg kerberos libuuid stdenv.cc.cc ];
 
     unpackPhase = "dpkg -x $src ./";
     buildPhase = "";
@@ -142,8 +142,6 @@
     installPhase = ''
       mkdir -p $out
       mkdir -p $out/lib
-      ln -s ${lib.getLib openssl}/lib/libssl.so.1.0.0 $out/lib/libssl.so.1.0.2
-      ln -s ${lib.getLib openssl}/lib/libcrypto.so.1.0.0 $out/lib/libcrypto.so.1.0.2
       cp -r opt/microsoft/msodbcsql${versionMajor}/lib64 opt/microsoft/msodbcsql${versionMajor}/share $out/
     '';
 
diff --git a/nixpkgs/pkgs/development/libraries/vapoursynth/default.nix b/nixpkgs/pkgs/development/libraries/vapoursynth/default.nix
index 65132806d883..53d70f4d369d 100644
--- a/nixpkgs/pkgs/development/libraries/vapoursynth/default.nix
+++ b/nixpkgs/pkgs/development/libraries/vapoursynth/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "vapoursynth";
-  version = "R46";
+  version = "R47.2";
 
   src = fetchFromGitHub {
     owner  = "vapoursynth";
     repo   = "vapoursynth";
     rev    = version;
-    sha256 = "1xbwva12l68awplardf47ydlx904wifw468npaxa9cx9dvd5mv13";
+    sha256 = "004h0vvih7dlhkcz6l2786pf7s04qhiv0bii4gjx23cxyklglh9i";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook nasm makeWrapper ];
diff --git a/nixpkgs/pkgs/development/libraries/wcslib/default.nix b/nixpkgs/pkgs/development/libraries/wcslib/default.nix
index 44e6370e6408..5f9015fa9609 100644
--- a/nixpkgs/pkgs/development/libraries/wcslib/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wcslib/default.nix
@@ -1,14 +1,14 @@
 { fetchurl,  stdenv, flex }:
 
 stdenv.mkDerivation rec {
-  version = "6.3";
+  version = "6.4";
   name = "wcslib-${version}";
 
   buildInputs = [ flex ];
 
   src = fetchurl {
     url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${name}.tar.bz2";
-    sha256 ="1si272bms58yv1zmymx9ypx1ycka8bfqy8wk03rvl6nmciyz0dsc";
+    sha256 ="003h23m6d5wcs29v2vbnl63f3z35k5x70lpsqlz5c9bp1bvizh8k";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/libraries/wiredtiger/default.nix b/nixpkgs/pkgs/development/libraries/wiredtiger/default.nix
index c45f521dcbb0..bccf4f69e9d2 100644
--- a/nixpkgs/pkgs/development/libraries/wiredtiger/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wiredtiger/default.nix
@@ -26,13 +26,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "wiredtiger-${version}";
-  version = "2.6.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     repo = "wiredtiger";
     owner = "wiredtiger";
     rev = version;
-    sha256 = "1nj319w3hvkq3za2dz9m0p1w683gycdb392v1jb910bhzpsq30pd";
+    sha256 = "1s27l51p2p3kbdjmccvlg43i7zx84hhchs3779w9giab4nvd0y19";
   };
 
   nativeBuildInputs = [ automake autoconf libtool ];
@@ -58,17 +58,10 @@ stdenv.mkDerivation rec {
     ./autogen.sh
   '';
 
-  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
-    substituteInPlace api/leveldb/leveldb_wt.h --replace \
-      '#include "wiredtiger.h"' \
-      ''$'#include "wiredtiger.h"\n#include "pthread.h"'
-  '';
-
   meta = {
     homepage = http://wiredtiger.com/;
     description = "";
     license = licenses.gpl2;
     platforms = intersectLists platforms.unix platforms.x86_64;
-    broken = true; # Broken by f689a6d1c6796c4a4f116ffec6c4624379e04bc9.
   };
 }
diff --git a/nixpkgs/pkgs/development/libraries/wlroots/default.nix b/nixpkgs/pkgs/development/libraries/wlroots/default.nix
index b85616842ea6..4d820bd95198 100644
--- a/nixpkgs/pkgs/development/libraries/wlroots/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wlroots/default.nix
@@ -6,18 +6,17 @@
 
 stdenv.mkDerivation rec {
   pname = "wlroots";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "swaywm";
     repo = "wlroots";
     rev = version;
-    sha256 = "1rdcmll5b8w242n6yfjpsaprq280ck2jmbz46dxndhignxgda7k4";
+    sha256 = "0jzxa6psbc7ddxli7rbfqxmv1svxnis51l1vch4hb9fdixqm284a";
   };
 
-  # $out for the library, $bin for rootston, and $examples for the example
-  # programs (in examples) AND rootston
-  outputs = [ "out" "bin" "examples" ];
+  # $out for the library and $examples for the example programs (in examples):
+  outputs = [ "out" "examples" ];
 
   nativeBuildInputs = [ meson ninja pkgconfig ];
 
@@ -32,31 +31,13 @@ stdenv.mkDerivation rec {
     "-Dxcb-icccm=enabled" "-Dxcb-errors=enabled"
   ];
 
-  postPatch = ''
-    # It happens from time to time that the version wasn't updated:
-    sed -iE "s/version: '[0-9]\.[0-9]\.[0-9]'/version: '${version}.0'/" meson.build
-  '';
-
   postInstall = ''
-    # Copy the library to $bin and $examples
-    for output in "$bin" "$examples"; do
-      mkdir -p $output/lib
-      cp -P libwlroots* $output/lib/
-    done
+    # Copy the library to $examples
+    mkdir -p $examples/lib
+    cp -P libwlroots* $examples/lib/
   '';
 
   postFixup = ''
-    # Install rootston (the reference compositor) to $bin and $examples (this
-    # has to be done after the fixup phase to prevent broken binaries):
-    for output in "$bin" "$examples"; do
-      mkdir -p $output/bin
-      cp rootston/rootston $output/bin/
-      patchelf \
-        --set-rpath "$(patchelf --print-rpath $output/bin/rootston | sed s,$out,$output,g)" \
-        $output/bin/rootston
-      mkdir $output/etc
-      cp ../rootston/rootston.ini.example $output/etc/rootston.ini
-    done
     # Install ALL example programs to $examples:
     # screencopy dmabuf-capture input-inhibitor layer-shell idle-inhibit idle
     # screenshot output-layout multi-pointer rotation tablet touch pointer
@@ -65,9 +46,6 @@ stdenv.mkDerivation rec {
     cd ./examples
     for binary in $(find . -executable -type f -printf '%P\n' | grep -vE '\.so'); do
       cp "$binary" "$examples/bin/wlroots-$binary"
-      patchelf \
-        --set-rpath "$(patchelf --print-rpath $output/bin/rootston | sed s,$out,$examples,g)" \
-        "$examples/bin/wlroots-$binary"
     done
   '';
 
diff --git a/nixpkgs/pkgs/development/libraries/wxSVG/default.nix b/nixpkgs/pkgs/development/libraries/wxSVG/default.nix
index 2aa28a2ccf43..ce8e3f0f677c 100644
--- a/nixpkgs/pkgs/development/libraries/wxSVG/default.nix
+++ b/nixpkgs/pkgs/development/libraries/wxSVG/default.nix
@@ -7,11 +7,11 @@ stdenv.mkDerivation rec {
 
   name = "wxSVG-${version}";
   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/nixpkgs/pkgs/development/libraries/xml-security-c/cxx11.patch b/nixpkgs/pkgs/development/libraries/xml-security-c/cxx11.patch
deleted file mode 100644
index bc87d4c1411e..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/development/libraries/xml-security-c/default.nix b/nixpkgs/pkgs/development/libraries/xml-security-c/default.nix
index fec4bbe8efe2..35ae93e79392 100644
--- a/nixpkgs/pkgs/development/libraries/xml-security-c/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xml-security-c/default.nix
@@ -2,20 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xml-security-c-${version}";
-  version = "1.7.3";
+  version = "2.0.2";
 
   src = fetchurl {
     url = "https://www.apache.org/dist/santuario/c-library/${name}.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/nixpkgs/pkgs/development/libraries/xml-tooling-c/default.nix b/nixpkgs/pkgs/development/libraries/xml-tooling-c/default.nix
index 8e1d71fab3fa..fbe515f6217f 100644
--- a/nixpkgs/pkgs/development/libraries/xml-tooling-c/default.nix
+++ b/nixpkgs/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 {
   name = "xml-tooling-c-${version}";
-  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/nixpkgs/pkgs/development/libraries/xxHash/default.nix b/nixpkgs/pkgs/development/libraries/xxHash/default.nix
index 9f2b83d7597c..70701f2d070e 100644
--- a/nixpkgs/pkgs/development/libraries/xxHash/default.nix
+++ b/nixpkgs/pkgs/development/libraries/xxHash/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xxHash-${version}";
-  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/nixpkgs/pkgs/development/lisp-modules/lisp-packages.nix b/nixpkgs/pkgs/development/lisp-modules/lisp-packages.nix
index b0e97038b7b2..083398029504 100644
--- a/nixpkgs/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/lisp-packages.nix
@@ -24,8 +24,8 @@ let lispPackages = rec {
       quicklispdist = pkgs.fetchurl {
         # Will usually be replaced with a fresh version anyway, but needs to be
         # a valid distinfo.txt
-        url = "https://beta.quicklisp.org/dist/quicklisp/2019-01-07/distinfo.txt";
-        sha256 = "1f0giy182p6qlmmqljir92566c8l1g2sv41cbzv86s3kv0j640fd";
+        url = "https://beta.quicklisp.org/dist/quicklisp/2019-07-11/distinfo.txt";
+        sha256 = "0r7ga5gkiy6va1v7a01fnj1yp97pifl9v8fnqpvbiv33dwdvbx2w";
       };
       buildPhase = '' true; '';
       postInstall = ''
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
index 1af0947627f5..a7d22ac129b9 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-grovel.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cffi-grovel'';
-  version = ''cffi_0.20.0'';
+  version = ''cffi_0.20.1'';
 
   description = ''The CFFI Groveller'';
 
   deps = [ args."alexandria" args."babel" args."cffi" args."cffi-toolchain" args."trivial-features" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cffi/2018-12-10/cffi_0.20.0.tgz'';
-    sha256 = ''1jal7r0dqp0sc5wj8a97xjlvfvayymdp1w3172hdxfppddnhhm8z'';
+    url = ''http://beta.quicklisp.org/archive/cffi/2019-07-10/cffi_0.20.1.tgz'';
+    sha256 = ''0ppcwc61ww1igmkwpvzpr9hzsl8wpf8acxlamq5r0604iz07qhka'';
   };
 
   packageName = "cffi-grovel";
@@ -18,13 +18,13 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cffi-grovel DESCRIPTION The CFFI Groveller SHA256
-    1jal7r0dqp0sc5wj8a97xjlvfvayymdp1w3172hdxfppddnhhm8z URL
-    http://beta.quicklisp.org/archive/cffi/2018-12-10/cffi_0.20.0.tgz MD5
-    94a8b377cf1ac7d8fc73dcc98f3420c6 NAME cffi-grovel FILENAME cffi-grovel DEPS
+    0ppcwc61ww1igmkwpvzpr9hzsl8wpf8acxlamq5r0604iz07qhka URL
+    http://beta.quicklisp.org/archive/cffi/2019-07-10/cffi_0.20.1.tgz MD5
+    b8a8337465a7b4c1be05270b777ce14f NAME cffi-grovel FILENAME cffi-grovel DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME cffi FILENAME cffi) (NAME cffi-toolchain FILENAME cffi-toolchain)
      (NAME trivial-features FILENAME trivial-features))
     DEPENDENCIES (alexandria babel cffi cffi-toolchain trivial-features)
-    VERSION cffi_0.20.0 SIBLINGS
+    VERSION cffi_0.20.1 SIBLINGS
     (cffi-examples cffi-libffi cffi-tests cffi-toolchain cffi-uffi-compat cffi)
     PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix
index c440c72788fe..3d2463806073 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi-toolchain.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cffi-toolchain'';
-  version = ''cffi_0.20.0'';
+  version = ''cffi_0.20.1'';
 
   description = ''The CFFI toolchain'';
 
   deps = [ args."alexandria" args."babel" args."cffi" args."trivial-features" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cffi/2018-12-10/cffi_0.20.0.tgz'';
-    sha256 = ''1jal7r0dqp0sc5wj8a97xjlvfvayymdp1w3172hdxfppddnhhm8z'';
+    url = ''http://beta.quicklisp.org/archive/cffi/2019-07-10/cffi_0.20.1.tgz'';
+    sha256 = ''0ppcwc61ww1igmkwpvzpr9hzsl8wpf8acxlamq5r0604iz07qhka'';
   };
 
   packageName = "cffi-toolchain";
@@ -18,14 +18,14 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cffi-toolchain DESCRIPTION The CFFI toolchain SHA256
-    1jal7r0dqp0sc5wj8a97xjlvfvayymdp1w3172hdxfppddnhhm8z URL
-    http://beta.quicklisp.org/archive/cffi/2018-12-10/cffi_0.20.0.tgz MD5
-    94a8b377cf1ac7d8fc73dcc98f3420c6 NAME cffi-toolchain FILENAME
+    0ppcwc61ww1igmkwpvzpr9hzsl8wpf8acxlamq5r0604iz07qhka URL
+    http://beta.quicklisp.org/archive/cffi/2019-07-10/cffi_0.20.1.tgz MD5
+    b8a8337465a7b4c1be05270b777ce14f NAME cffi-toolchain FILENAME
     cffi-toolchain DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME cffi FILENAME cffi)
      (NAME trivial-features FILENAME trivial-features))
-    DEPENDENCIES (alexandria babel cffi trivial-features) VERSION cffi_0.20.0
+    DEPENDENCIES (alexandria babel cffi trivial-features) VERSION cffi_0.20.1
     SIBLINGS
     (cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-uffi-compat cffi)
     PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
index 001c7d9a5450..b83b14611978 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cffi.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cffi'';
-  version = ''cffi_0.20.0'';
+  version = ''cffi_0.20.1'';
 
   parasites = [ "cffi/c2ffi" "cffi/c2ffi-generator" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."alexandria" args."babel" args."cl-json" args."cl-ppcre" args."trivial-features" args."uiop" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cffi/2018-12-10/cffi_0.20.0.tgz'';
-    sha256 = ''1jal7r0dqp0sc5wj8a97xjlvfvayymdp1w3172hdxfppddnhhm8z'';
+    url = ''http://beta.quicklisp.org/archive/cffi/2019-07-10/cffi_0.20.1.tgz'';
+    sha256 = ''0ppcwc61ww1igmkwpvzpr9hzsl8wpf8acxlamq5r0604iz07qhka'';
   };
 
   packageName = "cffi";
@@ -20,15 +20,15 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cffi DESCRIPTION The Common Foreign Function Interface SHA256
-    1jal7r0dqp0sc5wj8a97xjlvfvayymdp1w3172hdxfppddnhhm8z URL
-    http://beta.quicklisp.org/archive/cffi/2018-12-10/cffi_0.20.0.tgz MD5
-    94a8b377cf1ac7d8fc73dcc98f3420c6 NAME cffi FILENAME cffi DEPS
+    0ppcwc61ww1igmkwpvzpr9hzsl8wpf8acxlamq5r0604iz07qhka URL
+    http://beta.quicklisp.org/archive/cffi/2019-07-10/cffi_0.20.1.tgz MD5
+    b8a8337465a7b4c1be05270b777ce14f NAME cffi FILENAME cffi DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME cl-json FILENAME cl-json) (NAME cl-ppcre FILENAME cl-ppcre)
      (NAME trivial-features FILENAME trivial-features)
      (NAME uiop FILENAME uiop))
     DEPENDENCIES (alexandria babel cl-json cl-ppcre trivial-features uiop)
-    VERSION cffi_0.20.0 SIBLINGS
+    VERSION cffi_0.20.1 SIBLINGS
     (cffi-examples cffi-grovel cffi-libffi cffi-tests cffi-toolchain
      cffi-uffi-compat)
     PARASITES (cffi/c2ffi cffi/c2ffi-generator)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
index a9808173b626..c30c68e53c8d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/chipz.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''chipz'';
-  version = ''20180328-git'';
+  version = ''20190202-git'';
 
   description = ''A library for decompressing deflate, zlib, and gzip data'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/chipz/2018-03-28/chipz-20180328-git.tgz'';
-    sha256 = ''0ryjrfrlzyjkzb799indyzxivq8s9d7pgjzss7ha91xzr8sl6xf7'';
+    url = ''http://beta.quicklisp.org/archive/chipz/2019-02-02/chipz-20190202-git.tgz'';
+    sha256 = ''1vk8nml2kvkpwydcnm49gz2j9flvl8676kbvci5qa7qm286dhn5a'';
   };
 
   packageName = "chipz";
@@ -19,7 +19,7 @@ rec {
 }
 /* (SYSTEM chipz DESCRIPTION
     A library for decompressing deflate, zlib, and gzip data SHA256
-    0ryjrfrlzyjkzb799indyzxivq8s9d7pgjzss7ha91xzr8sl6xf7 URL
-    http://beta.quicklisp.org/archive/chipz/2018-03-28/chipz-20180328-git.tgz
-    MD5 a548809d6ef705c69356a2057ecd8a52 NAME chipz FILENAME chipz DEPS NIL
-    DEPENDENCIES NIL VERSION 20180328-git SIBLINGS NIL PARASITES NIL) */
+    1vk8nml2kvkpwydcnm49gz2j9flvl8676kbvci5qa7qm286dhn5a URL
+    http://beta.quicklisp.org/archive/chipz/2019-02-02/chipz-20190202-git.tgz
+    MD5 e3533408ca6899fe996eede390e820c7 NAME chipz FILENAME chipz DEPS NIL
+    DEPENDENCIES NIL VERSION 20190202-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
index d678fd8e9424..d84233c43424 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-repl.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-async-repl'';
-  version = ''cl-async-20190107-git'';
+  version = ''cl-async-20190307-git'';
 
   description = ''REPL integration for CL-ASYNC.'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-async" args."cl-async-base" args."cl-async-util" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."vom" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-async/2019-01-07/cl-async-20190107-git.tgz'';
-    sha256 = ''11hgsnms6w2s1vsphsqdwyqql11aa6bzplzrp5w4lizl2nkva82b'';
+    url = ''http://beta.quicklisp.org/archive/cl-async/2019-03-07/cl-async-20190307-git.tgz'';
+    sha256 = ''1sgqdz1dqhknh92l39w67931kml6v9c5yj0brx7lb18l1z76ycw6'';
   };
 
   packageName = "cl-async-repl";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-async-repl DESCRIPTION REPL integration for CL-ASYNC. SHA256
-    11hgsnms6w2s1vsphsqdwyqql11aa6bzplzrp5w4lizl2nkva82b URL
-    http://beta.quicklisp.org/archive/cl-async/2019-01-07/cl-async-20190107-git.tgz
-    MD5 609aa604c6940ee81f382cb249f3ca72 NAME cl-async-repl FILENAME
+    1sgqdz1dqhknh92l39w67931kml6v9c5yj0brx7lb18l1z76ycw6 URL
+    http://beta.quicklisp.org/archive/cl-async/2019-03-07/cl-async-20190307-git.tgz
+    MD5 ead46ad0e709ce26489eb8b239bdbd0e NAME cl-async-repl FILENAME
     cl-async-repl DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -39,5 +39,5 @@ rec {
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain cl-async
      cl-async-base cl-async-util cl-libuv cl-ppcre fast-io static-vectors
      trivial-features trivial-gray-streams vom)
-    VERSION cl-async-20190107-git SIBLINGS
+    VERSION cl-async-20190307-git SIBLINGS
     (cl-async-ssl cl-async-test cl-async) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
index 722e05ed09c2..c13b8b70647d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async-ssl.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-async-ssl'';
-  version = ''cl-async-20190107-git'';
+  version = ''cl-async-20190307-git'';
 
   description = ''SSL Wrapper around cl-async socket implementation.'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-async" args."cl-async-base" args."cl-async-util" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."vom" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-async/2019-01-07/cl-async-20190107-git.tgz'';
-    sha256 = ''11hgsnms6w2s1vsphsqdwyqql11aa6bzplzrp5w4lizl2nkva82b'';
+    url = ''http://beta.quicklisp.org/archive/cl-async/2019-03-07/cl-async-20190307-git.tgz'';
+    sha256 = ''1sgqdz1dqhknh92l39w67931kml6v9c5yj0brx7lb18l1z76ycw6'';
   };
 
   packageName = "cl-async-ssl";
@@ -19,9 +19,9 @@ rec {
 }
 /* (SYSTEM cl-async-ssl DESCRIPTION
     SSL Wrapper around cl-async socket implementation. SHA256
-    11hgsnms6w2s1vsphsqdwyqql11aa6bzplzrp5w4lizl2nkva82b URL
-    http://beta.quicklisp.org/archive/cl-async/2019-01-07/cl-async-20190107-git.tgz
-    MD5 609aa604c6940ee81f382cb249f3ca72 NAME cl-async-ssl FILENAME
+    1sgqdz1dqhknh92l39w67931kml6v9c5yj0brx7lb18l1z76ycw6 URL
+    http://beta.quicklisp.org/archive/cl-async/2019-03-07/cl-async-20190307-git.tgz
+    MD5 ead46ad0e709ce26489eb8b239bdbd0e NAME cl-async-ssl FILENAME
     cl-async-ssl DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -40,5 +40,5 @@ rec {
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain cl-async
      cl-async-base cl-async-util cl-libuv cl-ppcre fast-io static-vectors
      trivial-features trivial-gray-streams vom)
-    VERSION cl-async-20190107-git SIBLINGS
+    VERSION cl-async-20190307-git SIBLINGS
     (cl-async-repl cl-async-test cl-async) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
index edb4b01b0d1d..363227534a8b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-async.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-async'';
-  version = ''20190107-git'';
+  version = ''20190307-git'';
 
   parasites = [ "cl-async-base" "cl-async-util" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-libuv" args."cl-ppcre" args."fast-io" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."uiop" args."vom" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-async/2019-01-07/cl-async-20190107-git.tgz'';
-    sha256 = ''11hgsnms6w2s1vsphsqdwyqql11aa6bzplzrp5w4lizl2nkva82b'';
+    url = ''http://beta.quicklisp.org/archive/cl-async/2019-03-07/cl-async-20190307-git.tgz'';
+    sha256 = ''1sgqdz1dqhknh92l39w67931kml6v9c5yj0brx7lb18l1z76ycw6'';
   };
 
   packageName = "cl-async";
@@ -20,9 +20,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-async DESCRIPTION Asynchronous operations for Common Lisp. SHA256
-    11hgsnms6w2s1vsphsqdwyqql11aa6bzplzrp5w4lizl2nkva82b URL
-    http://beta.quicklisp.org/archive/cl-async/2019-01-07/cl-async-20190107-git.tgz
-    MD5 609aa604c6940ee81f382cb249f3ca72 NAME cl-async FILENAME cl-async DEPS
+    1sgqdz1dqhknh92l39w67931kml6v9c5yj0brx7lb18l1z76ycw6 URL
+    http://beta.quicklisp.org/archive/cl-async/2019-03-07/cl-async-20190307-git.tgz
+    MD5 ead46ad0e709ce26489eb8b239bdbd0e NAME cl-async FILENAME cl-async DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
@@ -37,5 +37,5 @@ rec {
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain cl-libuv
      cl-ppcre fast-io static-vectors trivial-features trivial-gray-streams uiop
      vom)
-    VERSION 20190107-git SIBLINGS (cl-async-repl cl-async-ssl cl-async-test)
+    VERSION 20190307-git SIBLINGS (cl-async-repl cl-async-ssl cl-async-test)
     PARASITES (cl-async-base cl-async-util)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
index a1da44a6b896..bdc5fe920cf6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-dbi.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-dbi'';
-  version = ''20190107-git'';
+  version = ''20190521-git'';
 
   description = '''';
 
   deps = [ args."alexandria" args."bordeaux-threads" args."cl-annot" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."named-readtables" args."split-sequence" args."trivial-types" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz'';
-    sha256 = ''02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2'';
+    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz'';
+    sha256 = ''1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg'';
   };
 
   packageName = "cl-dbi";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-dbi DESCRIPTION NIL SHA256
-    02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2 URL
-    http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz
-    MD5 349829f5d0bf363b828827ad6728c54e NAME cl-dbi FILENAME cl-dbi DEPS
+    1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg URL
+    http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz
+    MD5 ba77d3a955991b406f56cc1a09e71dc2 NAME cl-dbi FILENAME cl-dbi DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cl-annot FILENAME cl-annot) (NAME cl-syntax FILENAME cl-syntax)
@@ -32,5 +32,5 @@ rec {
     DEPENDENCIES
     (alexandria bordeaux-threads cl-annot cl-syntax cl-syntax-annot closer-mop
      dbi named-readtables split-sequence trivial-types)
-    VERSION 20190107-git SIBLINGS
+    VERSION 20190521-git SIBLINGS
     (dbd-mysql dbd-postgres dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
index 78f70be2f1fe..1510495a4cbc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-emb.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-emb'';
-  version = ''20180228-git'';
+  version = ''20190521-git'';
 
   description = ''A templating system for Common Lisp'';
 
   deps = [ args."cl-ppcre" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-emb/2018-02-28/cl-emb-20180228-git.tgz'';
-    sha256 = ''0b7y3n65sjn3xk03jflw363m6jkx86zf9v540d4n5jv4vcn34sqw'';
+    url = ''http://beta.quicklisp.org/archive/cl-emb/2019-05-21/cl-emb-20190521-git.tgz'';
+    sha256 = ''1d6bi2mx1kw7an3maxjp4ldrhkwfdb58va9whxblz2xjlbykdv8d'';
   };
 
   packageName = "cl-emb";
@@ -18,8 +18,8 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-emb DESCRIPTION A templating system for Common Lisp SHA256
-    0b7y3n65sjn3xk03jflw363m6jkx86zf9v540d4n5jv4vcn34sqw URL
-    http://beta.quicklisp.org/archive/cl-emb/2018-02-28/cl-emb-20180228-git.tgz
-    MD5 94db80b2a91611e71ada33f500b49d22 NAME cl-emb FILENAME cl-emb DEPS
+    1d6bi2mx1kw7an3maxjp4ldrhkwfdb58va9whxblz2xjlbykdv8d URL
+    http://beta.quicklisp.org/archive/cl-emb/2019-05-21/cl-emb-20190521-git.tgz
+    MD5 b27bbe8de2206ab7c461700b58d4d527 NAME cl-emb FILENAME cl-emb DEPS
     ((NAME cl-ppcre FILENAME cl-ppcre)) DEPENDENCIES (cl-ppcre) VERSION
-    20180228-git SIBLINGS NIL PARASITES NIL) */
+    20190521-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
index c33efa2eb08a..6a40d0fa8c92 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse-meta-fs.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-fuse-meta-fs'';
-  version = ''20150608-git'';
+  version = ''20190710-git'';
 
   description = ''CFFI bindings to FUSE (Filesystem in user space)'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-fuse" args."cl-utilities" args."iterate" args."pcall" args."pcall-queue" args."trivial-backtrace" args."trivial-features" args."trivial-utf-8" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2015-06-08/cl-fuse-meta-fs-20150608-git.tgz'';
-    sha256 = ''1i3yw237ygwlkhbcbm9q54ad9g4fi63fw4mg508hr7bz9gzg36q2'';
+    url = ''http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2019-07-10/cl-fuse-meta-fs-20190710-git.tgz'';
+    sha256 = ''1c2nyxj7q8njxydn4xiagvnb21zhb1l07q7nhfw0qs2qk6dkasq7'';
   };
 
   packageName = "cl-fuse-meta-fs";
@@ -19,9 +19,9 @@ rec {
 }
 /* (SYSTEM cl-fuse-meta-fs DESCRIPTION
     CFFI bindings to FUSE (Filesystem in user space) SHA256
-    1i3yw237ygwlkhbcbm9q54ad9g4fi63fw4mg508hr7bz9gzg36q2 URL
-    http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2015-06-08/cl-fuse-meta-fs-20150608-git.tgz
-    MD5 eb80b959dd6494cd787cff4f8c2f214b NAME cl-fuse-meta-fs FILENAME
+    1c2nyxj7q8njxydn4xiagvnb21zhb1l07q7nhfw0qs2qk6dkasq7 URL
+    http://beta.quicklisp.org/archive/cl-fuse-meta-fs/2019-07-10/cl-fuse-meta-fs-20190710-git.tgz
+    MD5 461f7023274fb273e6c759e881bdd636 NAME cl-fuse-meta-fs FILENAME
     cl-fuse-meta-fs DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -37,4 +37,4 @@ rec {
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain cl-fuse
      cl-utilities iterate pcall pcall-queue trivial-backtrace trivial-features
      trivial-utf-8)
-    VERSION 20150608-git SIBLINGS NIL PARASITES NIL) */
+    VERSION 20190710-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
index d41fe76ca232..de71e2e299ad 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-fuse.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-fuse'';
-  version = ''20160318-git'';
+  version = ''20190710-git'';
 
   description = ''CFFI bindings to FUSE (Filesystem in user space)'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-utilities" args."iterate" args."trivial-backtrace" args."trivial-features" args."trivial-utf-8" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-fuse/2016-03-18/cl-fuse-20160318-git.tgz'';
-    sha256 = ''1yllmnnhqp42s37a2y7h7vph854xgna62l1pidvlyskc90bl5jf6'';
+    url = ''http://beta.quicklisp.org/archive/cl-fuse/2019-07-10/cl-fuse-20190710-git.tgz'';
+    sha256 = ''1gxah8qwwb9xlvbdy5xxz07hh2hsw7xdrps1n4slhz4x6vyy80li'';
   };
 
   packageName = "cl-fuse";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-fuse DESCRIPTION CFFI bindings to FUSE (Filesystem in user space)
-    SHA256 1yllmnnhqp42s37a2y7h7vph854xgna62l1pidvlyskc90bl5jf6 URL
-    http://beta.quicklisp.org/archive/cl-fuse/2016-03-18/cl-fuse-20160318-git.tgz
-    MD5 ce2e907e5ae2cece72fa314be1ced44c NAME cl-fuse FILENAME cl-fuse DEPS
+    SHA256 1gxah8qwwb9xlvbdy5xxz07hh2hsw7xdrps1n4slhz4x6vyy80li URL
+    http://beta.quicklisp.org/archive/cl-fuse/2019-07-10/cl-fuse-20190710-git.tgz
+    MD5 5f267e59eb2358b1b6e4e735fb408e6a NAME cl-fuse FILENAME cl-fuse DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
@@ -32,4 +32,4 @@ rec {
     DEPENDENCIES
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain
      cl-utilities iterate trivial-backtrace trivial-features trivial-utf-8)
-    VERSION 20160318-git SIBLINGS NIL PARASITES NIL) */
+    VERSION 20190710-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix
index d1ce782e7f84..dde2cc31dd05 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-html5-parser.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-html5-parser'';
-  version = ''20171019-git'';
+  version = ''20190521-git'';
 
   description = ''A HTML5 parser for Common Lisp'';
 
   deps = [ args."cl-ppcre" args."flexi-streams" args."string-case" args."trivial-gray-streams" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-html5-parser/2017-10-19/cl-html5-parser-20171019-git.tgz'';
-    sha256 = ''0ww4r8x27k060krnwq2nb9w93wl9cxqjqil4j1n0fgpbyp2mqn98'';
+    url = ''http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz'';
+    sha256 = ''055jz0yqgjncvy2dxvnwg4iwdvmfsvkch46v58nymz5gi8gaaz7p'';
   };
 
   packageName = "cl-html5-parser";
@@ -18,14 +18,14 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-html5-parser DESCRIPTION A HTML5 parser for Common Lisp SHA256
-    0ww4r8x27k060krnwq2nb9w93wl9cxqjqil4j1n0fgpbyp2mqn98 URL
-    http://beta.quicklisp.org/archive/cl-html5-parser/2017-10-19/cl-html5-parser-20171019-git.tgz
-    MD5 c4a18ac20668c9aef723954fb901c16b NAME cl-html5-parser FILENAME
+    055jz0yqgjncvy2dxvnwg4iwdvmfsvkch46v58nymz5gi8gaaz7p URL
+    http://beta.quicklisp.org/archive/cl-html5-parser/2019-05-21/cl-html5-parser-20190521-git.tgz
+    MD5 149e5609d0a96c867fac6c22693c5e30 NAME cl-html5-parser FILENAME
     cl-html5-parser DEPS
     ((NAME cl-ppcre FILENAME cl-ppcre)
      (NAME flexi-streams FILENAME flexi-streams)
      (NAME string-case FILENAME string-case)
      (NAME trivial-gray-streams FILENAME trivial-gray-streams))
     DEPENDENCIES (cl-ppcre flexi-streams string-case trivial-gray-streams)
-    VERSION 20171019-git SIBLINGS (cl-html5-parser-cxml cl-html5-parser-tests)
+    VERSION 20190521-git SIBLINGS (cl-html5-parser-cxml cl-html5-parser-tests)
     PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
index 1f58be6c09e9..b0be8c775a37 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-interpol.nix
@@ -5,7 +5,7 @@ rec {
 
   parasites = [ "cl-interpol-test" ];
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ args."cl-ppcre" args."cl-unicode" args."flexi-streams" args."named-readtables" ];
 
@@ -19,7 +19,7 @@ rec {
   asdFilesToKeep = ["cl-interpol.asd"];
   overrides = x: x;
 }
-/* (SYSTEM cl-interpol DESCRIPTION NIL SHA256
+/* (SYSTEM cl-interpol DESCRIPTION System lacks description SHA256
     1s88m5kci9y9h3ycvqm0xjzbkbd8zhm9rxp2a674hmgrjfqras0r URL
     http://beta.quicklisp.org/archive/cl-interpol/2018-07-11/cl-interpol-20180711-git.tgz
     MD5 b2d6893ef703c5b6e5736fa33ba0794e NAME cl-interpol FILENAME cl-interpol
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
index 8967b0970c56..b1916c27bfdd 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-markup.nix
@@ -3,7 +3,7 @@ rec {
   baseName = ''cl-markup'';
   version = ''20131003-git'';
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ ];
 
@@ -17,7 +17,7 @@ rec {
   asdFilesToKeep = ["cl-markup.asd"];
   overrides = x: x;
 }
-/* (SYSTEM cl-markup DESCRIPTION NIL SHA256
+/* (SYSTEM cl-markup DESCRIPTION System lacks description SHA256
     1ik3a5k6axq941zbf6zyig553i5gnypbcxdq9l7bfxp8w18vbj0r URL
     http://beta.quicklisp.org/archive/cl-markup/2013-10-03/cl-markup-20131003-git.tgz
     MD5 3ec36b8e15435933f614959032987848 NAME cl-markup FILENAME cl-markup DEPS
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
index 08b6a492e766..2fad295c7ee5 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-postgres.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-postgres'';
-  version = ''postmodern-20190107-git'';
+  version = ''postmodern-20190521-git'';
 
   parasites = [ "cl-postgres/simple-date-tests" "cl-postgres/tests" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."fiveam" args."md5" args."simple-date_slash_postgres-glue" args."split-sequence" args."usocket" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/postmodern/2019-01-07/postmodern-20190107-git.tgz'';
-    sha256 = ''030p5kp593p4z7p3k0828dlayglw2si3q187z1fafgpvspp42sd5'';
+    url = ''http://beta.quicklisp.org/archive/postmodern/2019-05-21/postmodern-20190521-git.tgz'';
+    sha256 = ''1vphrizbhbs3r5rq4b8dh4149bz11h5xxilragwf4l2i619k3cp5'';
   };
 
   packageName = "cl-postgres";
@@ -20,14 +20,14 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-postgres DESCRIPTION Low-level client library for PostgreSQL
-    SHA256 030p5kp593p4z7p3k0828dlayglw2si3q187z1fafgpvspp42sd5 URL
-    http://beta.quicklisp.org/archive/postmodern/2019-01-07/postmodern-20190107-git.tgz
-    MD5 3f6f78c4fb0f5a8bb9f13247f1f3d6eb NAME cl-postgres FILENAME cl-postgres
+    SHA256 1vphrizbhbs3r5rq4b8dh4149bz11h5xxilragwf4l2i619k3cp5 URL
+    http://beta.quicklisp.org/archive/postmodern/2019-05-21/postmodern-20190521-git.tgz
+    MD5 102567f386757cd52aca500c0c348d90 NAME cl-postgres FILENAME cl-postgres
     DEPS
     ((NAME fiveam FILENAME fiveam) (NAME md5 FILENAME md5)
      (NAME simple-date/postgres-glue FILENAME simple-date_slash_postgres-glue)
      (NAME split-sequence FILENAME split-sequence)
      (NAME usocket FILENAME usocket))
     DEPENDENCIES (fiveam md5 simple-date/postgres-glue split-sequence usocket)
-    VERSION postmodern-20190107-git SIBLINGS (postmodern s-sql simple-date)
+    VERSION postmodern-20190521-git SIBLINGS (postmodern s-sql simple-date)
     PARASITES (cl-postgres/simple-date-tests cl-postgres/tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
index e65c0a03ddc5..27887f12497e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre-unicode.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-ppcre-unicode'';
-  version = ''cl-ppcre-20180831-git'';
+  version = ''cl-ppcre-20190521-git'';
 
   parasites = [ "cl-ppcre-unicode-test" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."cl-ppcre" args."cl-ppcre-test" args."cl-unicode" args."flexi-streams" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-ppcre/2018-08-31/cl-ppcre-20180831-git.tgz'';
-    sha256 = ''03x6hg2wzjwx9znqpzs9mmbrz81380ac6jkyblnsafbzr3d0rgyb'';
+    url = ''http://beta.quicklisp.org/archive/cl-ppcre/2019-05-21/cl-ppcre-20190521-git.tgz'';
+    sha256 = ''0p6jcvf9afnsg80a1zqsp7fyz0lf1fxzbin7rs9bl4i6jvm0hjqx'';
   };
 
   packageName = "cl-ppcre-unicode";
@@ -21,13 +21,13 @@ rec {
 }
 /* (SYSTEM cl-ppcre-unicode DESCRIPTION
     Perl-compatible regular expression library (Unicode) SHA256
-    03x6hg2wzjwx9znqpzs9mmbrz81380ac6jkyblnsafbzr3d0rgyb URL
-    http://beta.quicklisp.org/archive/cl-ppcre/2018-08-31/cl-ppcre-20180831-git.tgz
-    MD5 021ef17563de8e5d5f5942629972785d NAME cl-ppcre-unicode FILENAME
+    0p6jcvf9afnsg80a1zqsp7fyz0lf1fxzbin7rs9bl4i6jvm0hjqx URL
+    http://beta.quicklisp.org/archive/cl-ppcre/2019-05-21/cl-ppcre-20190521-git.tgz
+    MD5 a980b75c1b386b49bcb28107991eb4ec NAME cl-ppcre-unicode FILENAME
     cl-ppcre-unicode DEPS
     ((NAME cl-ppcre FILENAME cl-ppcre)
      (NAME cl-ppcre-test FILENAME cl-ppcre-test)
      (NAME cl-unicode FILENAME cl-unicode)
      (NAME flexi-streams FILENAME flexi-streams))
     DEPENDENCIES (cl-ppcre cl-ppcre-test cl-unicode flexi-streams) VERSION
-    cl-ppcre-20180831-git SIBLINGS (cl-ppcre) PARASITES (cl-ppcre-unicode-test)) */
+    cl-ppcre-20190521-git SIBLINGS (cl-ppcre) PARASITES (cl-ppcre-unicode-test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
index 3f56cf3dfaee..8bb8fb2478d8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-ppcre.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-ppcre'';
-  version = ''20180831-git'';
+  version = ''20190521-git'';
 
   parasites = [ "cl-ppcre-test" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."flexi-streams" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-ppcre/2018-08-31/cl-ppcre-20180831-git.tgz'';
-    sha256 = ''03x6hg2wzjwx9znqpzs9mmbrz81380ac6jkyblnsafbzr3d0rgyb'';
+    url = ''http://beta.quicklisp.org/archive/cl-ppcre/2019-05-21/cl-ppcre-20190521-git.tgz'';
+    sha256 = ''0p6jcvf9afnsg80a1zqsp7fyz0lf1fxzbin7rs9bl4i6jvm0hjqx'';
   };
 
   packageName = "cl-ppcre";
@@ -20,8 +20,8 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-ppcre DESCRIPTION Perl-compatible regular expression library
-    SHA256 03x6hg2wzjwx9znqpzs9mmbrz81380ac6jkyblnsafbzr3d0rgyb URL
-    http://beta.quicklisp.org/archive/cl-ppcre/2018-08-31/cl-ppcre-20180831-git.tgz
-    MD5 021ef17563de8e5d5f5942629972785d NAME cl-ppcre FILENAME cl-ppcre DEPS
+    SHA256 0p6jcvf9afnsg80a1zqsp7fyz0lf1fxzbin7rs9bl4i6jvm0hjqx URL
+    http://beta.quicklisp.org/archive/cl-ppcre/2019-05-21/cl-ppcre-20190521-git.tgz
+    MD5 a980b75c1b386b49bcb28107991eb4ec NAME cl-ppcre FILENAME cl-ppcre DEPS
     ((NAME flexi-streams FILENAME flexi-streams)) DEPENDENCIES (flexi-streams)
-    VERSION 20180831-git SIBLINGS (cl-ppcre-unicode) PARASITES (cl-ppcre-test)) */
+    VERSION 20190521-git SIBLINGS (cl-ppcre-unicode) PARASITES (cl-ppcre-test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
index 15fd56107c82..496a0bd4e567 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-project.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-project'';
-  version = ''20180831-git'';
+  version = ''20190521-git'';
 
   description = ''Generate a skeleton for modern project'';
 
   deps = [ args."alexandria" args."anaphora" args."bordeaux-threads" args."cl-ansi-text" args."cl-colors" args."cl-emb" args."cl-fad" args."cl-ppcre" args."let-plus" args."local-time" args."prove" args."uiop" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-project/2018-08-31/cl-project-20180831-git.tgz'';
-    sha256 = ''0iifc03sj982bjakvy0k3m6zsidc3k1ds6xaq36wzgzgw7x6lm0s'';
+    url = ''http://beta.quicklisp.org/archive/cl-project/2019-05-21/cl-project-20190521-git.tgz'';
+    sha256 = ''1wm1php6bdyy1gy76vfxlmh1lm7snqg1mhpzhkcmqrrmz0jx0gnf'';
   };
 
   packageName = "cl-project";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-project DESCRIPTION Generate a skeleton for modern project SHA256
-    0iifc03sj982bjakvy0k3m6zsidc3k1ds6xaq36wzgzgw7x6lm0s URL
-    http://beta.quicklisp.org/archive/cl-project/2018-08-31/cl-project-20180831-git.tgz
-    MD5 11fbcc0f4f5c6d7b921eb83ab5f3ee1b NAME cl-project FILENAME cl-project
+    1wm1php6bdyy1gy76vfxlmh1lm7snqg1mhpzhkcmqrrmz0jx0gnf URL
+    http://beta.quicklisp.org/archive/cl-project/2019-05-21/cl-project-20190521-git.tgz
+    MD5 1468189ff8880f43034c44adc317274f NAME cl-project FILENAME cl-project
     DEPS
     ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -32,4 +32,4 @@ rec {
     DEPENDENCIES
     (alexandria anaphora bordeaux-threads cl-ansi-text cl-colors cl-emb cl-fad
      cl-ppcre let-plus local-time prove uiop)
-    VERSION 20180831-git SIBLINGS (cl-project-test) PARASITES NIL) */
+    VERSION 20190521-git SIBLINGS (cl-project-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
index 3ca67723925e..0d58e11b4d26 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-smtp.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-smtp'';
-  version = ''20180131-git'';
+  version = ''20190710-git'';
 
   description = ''Common Lisp smtp client.'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl_plus_ssl" args."cl-base64" args."flexi-streams" args."split-sequence" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."usocket" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-smtp/2018-01-31/cl-smtp-20180131-git.tgz'';
-    sha256 = ''0sjjynnynxmfxdfpvzl3jj1jz0dhj0bx4bv63q1icm2p9xzfzb61'';
+    url = ''http://beta.quicklisp.org/archive/cl-smtp/2019-07-10/cl-smtp-20190710-git.tgz'';
+    sha256 = ''1bx5jh5vl8slsgrl2w4yv7imiswl8nmknczzyj5bzm1bzk0hx52r'';
   };
 
   packageName = "cl-smtp";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-smtp DESCRIPTION Common Lisp smtp client. SHA256
-    0sjjynnynxmfxdfpvzl3jj1jz0dhj0bx4bv63q1icm2p9xzfzb61 URL
-    http://beta.quicklisp.org/archive/cl-smtp/2018-01-31/cl-smtp-20180131-git.tgz
-    MD5 0ce08f067f145ab4c7528f806f0b51ff NAME cl-smtp FILENAME cl-smtp DEPS
+    1bx5jh5vl8slsgrl2w4yv7imiswl8nmknczzyj5bzm1bzk0hx52r URL
+    http://beta.quicklisp.org/archive/cl-smtp/2019-07-10/cl-smtp-20190710-git.tgz
+    MD5 f55956a4708d0b4fc2ba181063b73e92 NAME cl-smtp FILENAME cl-smtp DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cl+ssl FILENAME cl_plus_ssl)
@@ -35,4 +35,4 @@ rec {
     (alexandria babel bordeaux-threads cffi cl+ssl cl-base64 flexi-streams
      split-sequence trivial-features trivial-garbage trivial-gray-streams
      usocket)
-    VERSION 20180131-git SIBLINGS NIL PARASITES NIL) */
+    VERSION 20190710-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
index cec8cc2865c2..7849acb57c0a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-unicode.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-unicode'';
-  version = ''20180328-git'';
+  version = ''20190521-git'';
 
   parasites = [ "cl-unicode/base" "cl-unicode/build" "cl-unicode/test" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."cl-ppcre" args."flexi-streams" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-unicode/2018-03-28/cl-unicode-20180328-git.tgz'';
-    sha256 = ''1ky8qhvisagyvd7qcqzvy40z2sl9dr16q94k21wpgpvlz3kwbpln'';
+    url = ''http://beta.quicklisp.org/archive/cl-unicode/2019-05-21/cl-unicode-20190521-git.tgz'';
+    sha256 = ''0p20yrqbn3fwsnrxvh2cv0m86mh3mz9vj15m7siw1kjkbzq0vngc'';
   };
 
   packageName = "cl-unicode";
@@ -20,11 +20,11 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-unicode DESCRIPTION Portable Unicode Library SHA256
-    1ky8qhvisagyvd7qcqzvy40z2sl9dr16q94k21wpgpvlz3kwbpln URL
-    http://beta.quicklisp.org/archive/cl-unicode/2018-03-28/cl-unicode-20180328-git.tgz
-    MD5 6030b7833f08f78946ddd44d6c6a9086 NAME cl-unicode FILENAME cl-unicode
+    0p20yrqbn3fwsnrxvh2cv0m86mh3mz9vj15m7siw1kjkbzq0vngc URL
+    http://beta.quicklisp.org/archive/cl-unicode/2019-05-21/cl-unicode-20190521-git.tgz
+    MD5 04009a1266edbdda4d38902907caba25 NAME cl-unicode FILENAME cl-unicode
     DEPS
     ((NAME cl-ppcre FILENAME cl-ppcre)
      (NAME flexi-streams FILENAME flexi-streams))
-    DEPENDENCIES (cl-ppcre flexi-streams) VERSION 20180328-git SIBLINGS NIL
+    DEPENDENCIES (cl-ppcre flexi-streams) VERSION 20190521-git SIBLINGS NIL
     PARASITES (cl-unicode/base cl-unicode/build cl-unicode/test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
index 575e05aa074d..3be45384d418 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl-who.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl-who'';
-  version = ''20171130-git'';
+  version = ''20190710-git'';
 
   parasites = [ "cl-who-test" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."flexi-streams" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-who/2017-11-30/cl-who-20171130-git.tgz'';
-    sha256 = ''1941kwnvqnqr81vjkv8fcpc16abz7hrrmz18xwxxprsi6wifzjzw'';
+    url = ''http://beta.quicklisp.org/archive/cl-who/2019-07-10/cl-who-20190710-git.tgz'';
+    sha256 = ''0pbigwn38xikdwvjy9696z9f00dwg565y3wh6ja51q681y8zh9ir'';
   };
 
   packageName = "cl-who";
@@ -20,8 +20,8 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl-who DESCRIPTION (X)HTML generation macros SHA256
-    1941kwnvqnqr81vjkv8fcpc16abz7hrrmz18xwxxprsi6wifzjzw URL
-    http://beta.quicklisp.org/archive/cl-who/2017-11-30/cl-who-20171130-git.tgz
-    MD5 257a670166ff9d24d1570f44be0c7171 NAME cl-who FILENAME cl-who DEPS
+    0pbigwn38xikdwvjy9696z9f00dwg565y3wh6ja51q681y8zh9ir URL
+    http://beta.quicklisp.org/archive/cl-who/2019-07-10/cl-who-20190710-git.tgz
+    MD5 e5bb2856ed62d76528e4cef7b5e701c0 NAME cl-who FILENAME cl-who DEPS
     ((NAME flexi-streams FILENAME flexi-streams)) DEPENDENCIES (flexi-streams)
-    VERSION 20171130-git SIBLINGS NIL PARASITES (cl-who-test)) */
+    VERSION 20190710-git SIBLINGS NIL PARASITES (cl-who-test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
index f329437a75af..f344dbfa2fe8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cl_plus_ssl.nix
@@ -1,17 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cl_plus_ssl'';
-  version = ''cl+ssl-20181018-git'';
-
-  parasites = [ "openssl-1.1.0" ];
+  version = ''cl+ssl-20190710-git'';
 
   description = ''Common Lisp interface to OpenSSL.'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."flexi-streams" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."uiop" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl+ssl/2018-10-18/cl+ssl-20181018-git.tgz'';
-    sha256 = ''1rih343mrhhmma868bk9ip7s1gqqkwlmcq63vq8vpdr2wzv47srm'';
+    url = ''http://beta.quicklisp.org/archive/cl+ssl/2019-07-10/cl+ssl-20190710-git.tgz'';
+    sha256 = ''0lxyd8nryhk9f8gg0fksqf3y5lgbb7f61snsc3qzi5gplkdy0mzv'';
   };
 
   packageName = "cl+ssl";
@@ -20,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM cl+ssl DESCRIPTION Common Lisp interface to OpenSSL. SHA256
-    1rih343mrhhmma868bk9ip7s1gqqkwlmcq63vq8vpdr2wzv47srm URL
-    http://beta.quicklisp.org/archive/cl+ssl/2018-10-18/cl+ssl-20181018-git.tgz
-    MD5 45d92813cc134bf04725ee6a1f0c24a7 NAME cl+ssl FILENAME cl_plus_ssl DEPS
+    0lxyd8nryhk9f8gg0fksqf3y5lgbb7f61snsc3qzi5gplkdy0mzv URL
+    http://beta.quicklisp.org/archive/cl+ssl/2019-07-10/cl+ssl-20190710-git.tgz
+    MD5 fae6e01902964d010ad2565a61a6af2a NAME cl+ssl FILENAME cl_plus_ssl DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME flexi-streams FILENAME flexi-streams)
@@ -33,5 +31,4 @@ rec {
     DEPENDENCIES
     (alexandria babel bordeaux-threads cffi flexi-streams trivial-features
      trivial-garbage trivial-gray-streams uiop)
-    VERSION cl+ssl-20181018-git SIBLINGS (cl+ssl.test) PARASITES
-    (openssl-1.1.0)) */
+    VERSION cl+ssl-20190710-git SIBLINGS (cl+ssl.test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix
index 6de9d3f8fc9e..6cfd7842409c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-handler-hunchentoot.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''clack-handler-hunchentoot'';
-  version = ''clack-20181018-git'';
+  version = ''clack-20190710-git'';
 
   description = ''Clack handler for Hunchentoot.'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."chunga" args."cl_plus_ssl" args."cl-base64" args."cl-fad" args."cl-ppcre" args."clack-socket" args."flexi-streams" args."hunchentoot" args."md5" args."rfc2388" args."split-sequence" args."trivial-backtrace" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."usocket" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz'';
-    sha256 = ''1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf'';
+    url = ''http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz'';
+    sha256 = ''1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k'';
   };
 
   packageName = "clack-handler-hunchentoot";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM clack-handler-hunchentoot DESCRIPTION Clack handler for Hunchentoot.
-    SHA256 1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf URL
-    http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz
-    MD5 16121d921667ee8d0d70324da7281849 NAME clack-handler-hunchentoot
+    SHA256 1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k URL
+    http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz
+    MD5 9d8869ca599652d68dd759c8a6adcd3d NAME clack-handler-hunchentoot
     FILENAME clack-handler-hunchentoot DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -42,7 +42,7 @@ rec {
      cl-ppcre clack-socket flexi-streams hunchentoot md5 rfc2388 split-sequence
      trivial-backtrace trivial-features trivial-garbage trivial-gray-streams
      usocket)
-    VERSION clack-20181018-git SIBLINGS
+    VERSION clack-20190710-git SIBLINGS
     (clack-handler-fcgi clack-handler-toot clack-handler-wookie clack-socket
      clack-test clack-v1-compat clack t-clack-handler-fcgi
      t-clack-handler-hunchentoot t-clack-handler-toot t-clack-handler-wookie
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
index 745b87a65764..1ac6ccc329c2 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-socket.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''clack-socket'';
-  version = ''clack-20181018-git'';
+  version = ''clack-20190710-git'';
 
   description = '''';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz'';
-    sha256 = ''1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf'';
+    url = ''http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz'';
+    sha256 = ''1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k'';
   };
 
   packageName = "clack-socket";
@@ -18,10 +18,10 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM clack-socket DESCRIPTION NIL SHA256
-    1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf URL
-    http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz
-    MD5 16121d921667ee8d0d70324da7281849 NAME clack-socket FILENAME
-    clack-socket DEPS NIL DEPENDENCIES NIL VERSION clack-20181018-git SIBLINGS
+    1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k URL
+    http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz
+    MD5 9d8869ca599652d68dd759c8a6adcd3d NAME clack-socket FILENAME
+    clack-socket DEPS NIL DEPENDENCIES NIL VERSION clack-20190710-git SIBLINGS
     (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot
      clack-handler-wookie clack-test clack-v1-compat clack t-clack-handler-fcgi
      t-clack-handler-hunchentoot t-clack-handler-toot t-clack-handler-wookie
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix
index c1c80e48cbdb..1792d79f1d89 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-test.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''clack-test'';
-  version = ''clack-20181018-git'';
+  version = ''clack-20190710-git'';
 
   description = ''Testing Clack Applications.'';
 
   deps = [ args."alexandria" args."anaphora" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."chipz" args."chunga" args."cl_plus_ssl" args."cl-annot" args."cl-ansi-text" args."cl-base64" args."cl-colors" args."cl-cookie" args."cl-fad" args."cl-ppcre" args."cl-reexport" args."cl-syntax" args."cl-syntax-annot" args."cl-utilities" args."clack" args."clack-handler-hunchentoot" args."clack-socket" args."dexador" args."fast-http" args."fast-io" args."flexi-streams" args."http-body" args."hunchentoot" args."ironclad" args."jonathan" args."lack" args."lack-component" args."lack-middleware-backtrace" args."lack-util" args."let-plus" args."local-time" args."md5" args."named-readtables" args."nibbles" args."proc-parse" args."prove" args."quri" args."rfc2388" args."smart-buffer" args."split-sequence" args."static-vectors" args."trivial-backtrace" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."trivial-mimes" args."trivial-types" args."usocket" args."xsubseq" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz'';
-    sha256 = ''1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf'';
+    url = ''http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz'';
+    sha256 = ''1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k'';
   };
 
   packageName = "clack-test";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM clack-test DESCRIPTION Testing Clack Applications. SHA256
-    1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf URL
-    http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz
-    MD5 16121d921667ee8d0d70324da7281849 NAME clack-test FILENAME clack-test
+    1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k URL
+    http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz
+    MD5 9d8869ca599652d68dd759c8a6adcd3d NAME clack-test FILENAME clack-test
     DEPS
     ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
      (NAME babel FILENAME babel)
@@ -71,7 +71,7 @@ rec {
      split-sequence static-vectors trivial-backtrace trivial-features
      trivial-garbage trivial-gray-streams trivial-mimes trivial-types usocket
      xsubseq)
-    VERSION clack-20181018-git SIBLINGS
+    VERSION clack-20190710-git SIBLINGS
     (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot
      clack-handler-wookie clack-socket clack-v1-compat clack
      t-clack-handler-fcgi t-clack-handler-hunchentoot t-clack-handler-toot
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
index 5477fc5cd027..749fce006e4e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack-v1-compat.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''clack-v1-compat'';
-  version = ''clack-20181018-git'';
+  version = ''clack-20190710-git'';
 
   description = '''';
 
   deps = [ args."alexandria" args."anaphora" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."chipz" args."chunga" args."circular-streams" args."cl_plus_ssl" args."cl-annot" args."cl-ansi-text" args."cl-base64" args."cl-colors" args."cl-cookie" args."cl-fad" args."cl-ppcre" args."cl-reexport" args."cl-syntax" args."cl-syntax-annot" args."cl-utilities" args."clack" args."clack-handler-hunchentoot" args."clack-socket" args."clack-test" args."dexador" args."fast-http" args."fast-io" args."flexi-streams" args."http-body" args."hunchentoot" args."ironclad" args."jonathan" args."lack" args."lack-component" args."lack-middleware-backtrace" args."lack-util" args."let-plus" args."local-time" args."marshal" args."md5" args."named-readtables" args."nibbles" args."proc-parse" args."prove" args."quri" args."rfc2388" args."smart-buffer" args."split-sequence" args."static-vectors" args."trivial-backtrace" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."trivial-mimes" args."trivial-types" args."uiop" args."usocket" args."xsubseq" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz'';
-    sha256 = ''1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf'';
+    url = ''http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz'';
+    sha256 = ''1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k'';
   };
 
   packageName = "clack-v1-compat";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM clack-v1-compat DESCRIPTION NIL SHA256
-    1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf URL
-    http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz
-    MD5 16121d921667ee8d0d70324da7281849 NAME clack-v1-compat FILENAME
+    1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k URL
+    http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz
+    MD5 9d8869ca599652d68dd759c8a6adcd3d NAME clack-v1-compat FILENAME
     clack-v1-compat DEPS
     ((NAME alexandria FILENAME alexandria) (NAME anaphora FILENAME anaphora)
      (NAME babel FILENAME babel)
@@ -73,7 +73,7 @@ rec {
      rfc2388 smart-buffer split-sequence static-vectors trivial-backtrace
      trivial-features trivial-garbage trivial-gray-streams trivial-mimes
      trivial-types uiop usocket xsubseq)
-    VERSION clack-20181018-git SIBLINGS
+    VERSION clack-20190710-git SIBLINGS
     (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot
      clack-handler-wookie clack-socket clack-test clack t-clack-handler-fcgi
      t-clack-handler-hunchentoot t-clack-handler-toot t-clack-handler-wookie
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
index 612e6b5c066e..1813844e85fd 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clack.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''clack'';
-  version = ''20181018-git'';
+  version = ''20190710-git'';
 
   description = ''Web application environment for Common Lisp'';
 
   deps = [ args."alexandria" args."bordeaux-threads" args."ironclad" args."lack" args."lack-component" args."lack-middleware-backtrace" args."lack-util" args."nibbles" args."uiop" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz'';
-    sha256 = ''1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf'';
+    url = ''http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz'';
+    sha256 = ''1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k'';
   };
 
   packageName = "clack";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM clack DESCRIPTION Web application environment for Common Lisp SHA256
-    1f16i1pdqkh56ahnhxni3182q089d7ya8gxv4vyczsjzw93yakcf URL
-    http://beta.quicklisp.org/archive/clack/2018-10-18/clack-20181018-git.tgz
-    MD5 16121d921667ee8d0d70324da7281849 NAME clack FILENAME clack DEPS
+    1642myknfaajcyqllnhn9s17yb6dbj1yh9wmg1kbplwq9c3yjs7k URL
+    http://beta.quicklisp.org/archive/clack/2019-07-10/clack-20190710-git.tgz
+    MD5 9d8869ca599652d68dd759c8a6adcd3d NAME clack FILENAME clack DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME ironclad FILENAME ironclad) (NAME lack FILENAME lack)
@@ -31,7 +31,7 @@ rec {
     DEPENDENCIES
     (alexandria bordeaux-threads ironclad lack lack-component
      lack-middleware-backtrace lack-util nibbles uiop)
-    VERSION 20181018-git SIBLINGS
+    VERSION 20190710-git SIBLINGS
     (clack-handler-fcgi clack-handler-hunchentoot clack-handler-toot
      clack-handler-wookie clack-socket clack-test clack-v1-compat
      t-clack-handler-fcgi t-clack-handler-hunchentoot t-clack-handler-toot
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
index ce078c3196af..ca03207fabd8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closer-mop.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''closer-mop'';
-  version = ''20190107-git'';
+  version = ''20190710-git'';
 
   description = ''Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/closer-mop/2019-01-07/closer-mop-20190107-git.tgz'';
-    sha256 = ''0h6fd0kr3g8dd782sxd7zrqljqfnw6pz1dsiadl0x853ki680gcw'';
+    url = ''http://beta.quicklisp.org/archive/closer-mop/2019-07-10/closer-mop-20190710-git.tgz'';
+    sha256 = ''0zh53f4jffzjl8ix9dks0shqcxnsj830a34iqgmz3prq8rwba0gx'';
   };
 
   packageName = "closer-mop";
@@ -19,7 +19,7 @@ rec {
 }
 /* (SYSTEM closer-mop DESCRIPTION
     Closer to MOP is a compatibility layer that rectifies many of the absent or incorrect CLOS MOP features across a broad range of Common Lisp implementations.
-    SHA256 0h6fd0kr3g8dd782sxd7zrqljqfnw6pz1dsiadl0x853ki680gcw URL
-    http://beta.quicklisp.org/archive/closer-mop/2019-01-07/closer-mop-20190107-git.tgz
-    MD5 6aa5a1e9901b579eb50e2fb46035bc50 NAME closer-mop FILENAME closer-mop
-    DEPS NIL DEPENDENCIES NIL VERSION 20190107-git SIBLINGS NIL PARASITES NIL) */
+    SHA256 0zh53f4jffzjl8ix9dks0shqcxnsj830a34iqgmz3prq8rwba0gx URL
+    http://beta.quicklisp.org/archive/closer-mop/2019-07-10/closer-mop-20190710-git.tgz
+    MD5 5ebb554f9f7ba7f0d9dc6584806c8a0e NAME closer-mop FILENAME closer-mop
+    DEPS NIL DEPENDENCIES NIL VERSION 20190710-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
index 3866dd6f4594..c1b36b6b653c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/closure-common.nix
@@ -3,7 +3,7 @@ rec {
   baseName = ''closure-common'';
   version = ''20181018-git'';
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ args."alexandria" args."babel" args."trivial-features" args."trivial-gray-streams" ];
 
@@ -17,7 +17,7 @@ rec {
   asdFilesToKeep = ["closure-common.asd"];
   overrides = x: x;
 }
-/* (SYSTEM closure-common DESCRIPTION NIL SHA256
+/* (SYSTEM closure-common DESCRIPTION System lacks description SHA256
     18bp7jnxma9hscp09fa723ws9nnynjil935rp8dy9hp6ypghpxpn URL
     http://beta.quicklisp.org/archive/closure-common/2018-10-18/closure-common-20181018-git.tgz
     MD5 b09ee60c258a29f0c107960ec4c04ada NAME closure-common FILENAME
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
index 3f6d6ae32ac6..2f07706a9129 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clss.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''clss'';
-  version = ''20180831-git'';
+  version = ''20190710-git'';
 
   description = ''A DOM tree searching engine based on CSS selectors.'';
 
   deps = [ args."array-utils" args."documentation-utils" args."plump" args."trivial-indent" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/clss/2018-08-31/clss-20180831-git.tgz'';
-    sha256 = ''18jm89i9353khrp9q92bnqllkypcsmyd43jvdr6gl0n50fmzs5jd'';
+    url = ''http://beta.quicklisp.org/archive/clss/2019-07-10/clss-20190710-git.tgz'';
+    sha256 = ''1gvnvwjrvinp8545gzav108pzrh00wx3vx2v7l6z18a80kn0h9vs'';
   };
 
   packageName = "clss";
@@ -18,11 +18,11 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM clss DESCRIPTION A DOM tree searching engine based on CSS selectors.
-    SHA256 18jm89i9353khrp9q92bnqllkypcsmyd43jvdr6gl0n50fmzs5jd URL
-    http://beta.quicklisp.org/archive/clss/2018-08-31/clss-20180831-git.tgz MD5
-    39b69790115d6c4fe4709f5a45b5d4a4 NAME clss FILENAME clss DEPS
+    SHA256 1gvnvwjrvinp8545gzav108pzrh00wx3vx2v7l6z18a80kn0h9vs URL
+    http://beta.quicklisp.org/archive/clss/2019-07-10/clss-20190710-git.tgz MD5
+    c5a918fe272b71af7c4b6e71a7faad46 NAME clss FILENAME clss DEPS
     ((NAME array-utils FILENAME array-utils)
      (NAME documentation-utils FILENAME documentation-utils)
      (NAME plump FILENAME plump) (NAME trivial-indent FILENAME trivial-indent))
     DEPENDENCIES (array-utils documentation-utils plump trivial-indent) VERSION
-    20180831-git SIBLINGS NIL PARASITES NIL) */
+    20190710-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
index 6f570ce5c8f0..6b99f99b7ab8 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/clx.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''clx'';
-  version = ''20181210-git'';
+  version = ''20190521-git'';
 
   parasites = [ "clx/test" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."fiasco" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/clx/2018-12-10/clx-20181210-git.tgz'';
-    sha256 = ''1xaylf5j1xdyqmvpw7c3hdcc44bz8ax4rz02n8hvznwvg3xcman6'';
+    url = ''http://beta.quicklisp.org/archive/clx/2019-05-21/clx-20190521-git.tgz'';
+    sha256 = ''0rsais9nsz4naf50wp2iirxfj84rdmbdxivfh3496rsi2ji7j8qs'';
   };
 
   packageName = "clx";
@@ -21,8 +21,8 @@ rec {
 }
 /* (SYSTEM clx DESCRIPTION
     An implementation of the X Window System protocol in Lisp. SHA256
-    1xaylf5j1xdyqmvpw7c3hdcc44bz8ax4rz02n8hvznwvg3xcman6 URL
-    http://beta.quicklisp.org/archive/clx/2018-12-10/clx-20181210-git.tgz MD5
-    d6d0edd1594e6bc420b1e2ba0c453636 NAME clx FILENAME clx DEPS
-    ((NAME fiasco FILENAME fiasco)) DEPENDENCIES (fiasco) VERSION 20181210-git
+    0rsais9nsz4naf50wp2iirxfj84rdmbdxivfh3496rsi2ji7j8qs URL
+    http://beta.quicklisp.org/archive/clx/2019-05-21/clx-20190521-git.tgz MD5
+    afcd581193237d3202a4fbcc1f0622c3 NAME clx FILENAME clx DEPS
+    ((NAME fiasco FILENAME fiasco)) DEPENDENCIES (fiasco) VERSION 20190521-git
     SIBLINGS NIL PARASITES (clx/test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
index e1fb59658528..1d81acba2dc6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/command-line-arguments.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''command-line-arguments'';
-  version = ''20151218-git'';
+  version = ''20190710-git'';
 
   description = ''small library to deal with command-line arguments'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/command-line-arguments/2015-12-18/command-line-arguments-20151218-git.tgz'';
-    sha256 = ''07yv3vj9kjd84q09d6kvgryqxb71bsa7jl22fd1an6inmk0a3yyh'';
+    url = ''http://beta.quicklisp.org/archive/command-line-arguments/2019-07-10/command-line-arguments-20190710-git.tgz'';
+    sha256 = ''1221nraxk55mwgf6pilhzg5lh98jd0nxrdn2mj1zczj88im01733'';
   };
 
   packageName = "command-line-arguments";
@@ -19,8 +19,8 @@ rec {
 }
 /* (SYSTEM command-line-arguments DESCRIPTION
     small library to deal with command-line arguments SHA256
-    07yv3vj9kjd84q09d6kvgryqxb71bsa7jl22fd1an6inmk0a3yyh URL
-    http://beta.quicklisp.org/archive/command-line-arguments/2015-12-18/command-line-arguments-20151218-git.tgz
-    MD5 8cdb99db40143e34cf6b0b25ca95f826 NAME command-line-arguments FILENAME
-    command-line-arguments DEPS NIL DEPENDENCIES NIL VERSION 20151218-git
+    1221nraxk55mwgf6pilhzg5lh98jd0nxrdn2mj1zczj88im01733 URL
+    http://beta.quicklisp.org/archive/command-line-arguments/2019-07-10/command-line-arguments-20190710-git.tgz
+    MD5 77b361a7f4b3b73a88c3a95c7bbffa98 NAME command-line-arguments FILENAME
+    command-line-arguments DEPS NIL DEPENDENCIES NIL VERSION 20190710-git
     SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix
index 74648ba66a8c..ebae32962f10 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/cxml-stp.nix
@@ -1,17 +1,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''cxml-stp'';
-  version = ''20181018-git'';
+  version = ''20190521-git'';
 
-  parasites = [ "cxml-stp-test" ];
+  parasites = [ "cxml-stp/test" ];
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ args."alexandria" args."babel" args."cl-ppcre" args."closure-common" args."cxml" args."parse-number" args."puri" args."rt" args."trivial-features" args."trivial-gray-streams" args."xpath" args."xpath_slash_test" args."yacc" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cxml-stp/2018-10-18/cxml-stp-20181018-git.tgz'';
-    sha256 = ''0xv6drasndp802mgww53n6hpf0qjh2r7d48rld1qibf20y80bz77'';
+    url = ''http://beta.quicklisp.org/archive/cxml-stp/2019-05-21/cxml-stp-20190521-git.tgz'';
+    sha256 = ''1lgqw1w65yra0lyy41finj19y1z6yqkvkyzgvagb7s54cnzafz21'';
   };
 
   packageName = "cxml-stp";
@@ -19,10 +19,10 @@ rec {
   asdFilesToKeep = ["cxml-stp.asd"];
   overrides = x: x;
 }
-/* (SYSTEM cxml-stp DESCRIPTION NIL SHA256
-    0xv6drasndp802mgww53n6hpf0qjh2r7d48rld1qibf20y80bz77 URL
-    http://beta.quicklisp.org/archive/cxml-stp/2018-10-18/cxml-stp-20181018-git.tgz
-    MD5 38d39fce85b270145d5a5bd4668d953f NAME cxml-stp FILENAME cxml-stp DEPS
+/* (SYSTEM cxml-stp DESCRIPTION System lacks description SHA256
+    1lgqw1w65yra0lyy41finj19y1z6yqkvkyzgvagb7s54cnzafz21 URL
+    http://beta.quicklisp.org/archive/cxml-stp/2019-05-21/cxml-stp-20190521-git.tgz
+    MD5 9e0c99bd2b547e07b23305a5ff72aff6 NAME cxml-stp FILENAME cxml-stp DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME cl-ppcre FILENAME cl-ppcre)
      (NAME closure-common FILENAME closure-common) (NAME cxml FILENAME cxml)
@@ -34,4 +34,4 @@ rec {
     DEPENDENCIES
     (alexandria babel cl-ppcre closure-common cxml parse-number puri rt
      trivial-features trivial-gray-streams xpath xpath/test yacc)
-    VERSION 20181018-git SIBLINGS NIL PARASITES (cxml-stp-test)) */
+    VERSION 20190521-git SIBLINGS NIL PARASITES (cxml-stp/test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
index 2f863a627bbc..173a31e9f31d 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-mysql.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''dbd-mysql'';
-  version = ''cl-dbi-20190107-git'';
+  version = ''cl-dbi-20190521-git'';
 
   description = ''Database driver for MySQL.'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl-annot" args."cl-mysql" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."named-readtables" args."split-sequence" args."trivial-features" args."trivial-types" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz'';
-    sha256 = ''02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2'';
+    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz'';
+    sha256 = ''1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg'';
   };
 
   packageName = "dbd-mysql";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbd-mysql DESCRIPTION Database driver for MySQL. SHA256
-    02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2 URL
-    http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz
-    MD5 349829f5d0bf363b828827ad6728c54e NAME dbd-mysql FILENAME dbd-mysql DEPS
+    1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg URL
+    http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz
+    MD5 ba77d3a955991b406f56cc1a09e71dc2 NAME dbd-mysql FILENAME dbd-mysql DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cl-annot FILENAME cl-annot)
@@ -35,5 +35,5 @@ rec {
     (alexandria babel bordeaux-threads cffi cl-annot cl-mysql cl-syntax
      cl-syntax-annot closer-mop dbi named-readtables split-sequence
      trivial-features trivial-types)
-    VERSION cl-dbi-20190107-git SIBLINGS
+    VERSION cl-dbi-20190521-git SIBLINGS
     (cl-dbi dbd-postgres dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
index f76f5e7e561d..6668cd4f762b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-postgres.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''dbd-postgres'';
-  version = ''cl-dbi-20190107-git'';
+  version = ''cl-dbi-20190521-git'';
 
   description = ''Database driver for PostgreSQL.'';
 
   deps = [ args."alexandria" args."bordeaux-threads" args."cl-annot" args."cl-postgres" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."md5" args."named-readtables" args."split-sequence" args."trivial-garbage" args."trivial-types" args."usocket" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz'';
-    sha256 = ''02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2'';
+    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz'';
+    sha256 = ''1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg'';
   };
 
   packageName = "dbd-postgres";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbd-postgres DESCRIPTION Database driver for PostgreSQL. SHA256
-    02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2 URL
-    http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz
-    MD5 349829f5d0bf363b828827ad6728c54e NAME dbd-postgres FILENAME
+    1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg URL
+    http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz
+    MD5 ba77d3a955991b406f56cc1a09e71dc2 NAME dbd-postgres FILENAME
     dbd-postgres DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -37,5 +37,5 @@ rec {
     (alexandria bordeaux-threads cl-annot cl-postgres cl-syntax cl-syntax-annot
      closer-mop dbi md5 named-readtables split-sequence trivial-garbage
      trivial-types usocket)
-    VERSION cl-dbi-20190107-git SIBLINGS
+    VERSION cl-dbi-20190521-git SIBLINGS
     (cl-dbi dbd-mysql dbd-sqlite3 dbi-test dbi) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
index 01acb76767ea..9b6fde0ea94b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbd-sqlite3.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''dbd-sqlite3'';
-  version = ''cl-dbi-20190107-git'';
+  version = ''cl-dbi-20190521-git'';
 
   description = ''Database driver for SQLite3.'';
 
-  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl-annot" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."iterate" args."named-readtables" args."split-sequence" args."sqlite" args."trivial-features" args."trivial-types" args."uiop" ];
+  deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cl-annot" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."dbi" args."iterate" args."named-readtables" args."split-sequence" args."sqlite" args."trivial-features" args."trivial-garbage" args."trivial-types" args."uiop" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz'';
-    sha256 = ''02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2'';
+    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz'';
+    sha256 = ''1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg'';
   };
 
   packageName = "dbd-sqlite3";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbd-sqlite3 DESCRIPTION Database driver for SQLite3. SHA256
-    02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2 URL
-    http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz
-    MD5 349829f5d0bf363b828827ad6728c54e NAME dbd-sqlite3 FILENAME dbd-sqlite3
+    1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg URL
+    http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz
+    MD5 ba77d3a955991b406f56cc1a09e71dc2 NAME dbd-sqlite3 FILENAME dbd-sqlite3
     DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
@@ -33,10 +33,11 @@ rec {
      (NAME split-sequence FILENAME split-sequence)
      (NAME sqlite FILENAME sqlite)
      (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-garbage FILENAME trivial-garbage)
      (NAME trivial-types FILENAME trivial-types) (NAME uiop FILENAME uiop))
     DEPENDENCIES
     (alexandria babel bordeaux-threads cffi cl-annot cl-syntax cl-syntax-annot
      closer-mop dbi iterate named-readtables split-sequence sqlite
-     trivial-features trivial-types uiop)
-    VERSION cl-dbi-20190107-git SIBLINGS
+     trivial-features trivial-garbage trivial-types uiop)
+    VERSION cl-dbi-20190521-git SIBLINGS
     (cl-dbi dbd-mysql dbd-postgres dbi-test dbi) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
index 382143eb8fb3..26c5306c06a3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dbi.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''dbi'';
-  version = ''cl-20190107-git'';
+  version = ''cl-20190521-git'';
 
   description = ''Database independent interface for Common Lisp'';
 
   deps = [ args."alexandria" args."bordeaux-threads" args."cl-annot" args."cl-syntax" args."cl-syntax-annot" args."closer-mop" args."named-readtables" args."split-sequence" args."trivial-types" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz'';
-    sha256 = ''02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2'';
+    url = ''http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz'';
+    sha256 = ''1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg'';
   };
 
   packageName = "dbi";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dbi DESCRIPTION Database independent interface for Common Lisp
-    SHA256 02w729jfkbd8443ia07ixr53b4asxx2gcllr84hvlibafawkkdh2 URL
-    http://beta.quicklisp.org/archive/cl-dbi/2019-01-07/cl-dbi-20190107-git.tgz
-    MD5 349829f5d0bf363b828827ad6728c54e NAME dbi FILENAME dbi DEPS
+    SHA256 1q0hhgxnd91v020zh9ivlmzhzz5ald6q1bm5i5cawzh0xfyfhhvg URL
+    http://beta.quicklisp.org/archive/cl-dbi/2019-05-21/cl-dbi-20190521-git.tgz
+    MD5 ba77d3a955991b406f56cc1a09e71dc2 NAME dbi FILENAME dbi DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cl-annot FILENAME cl-annot) (NAME cl-syntax FILENAME cl-syntax)
@@ -32,5 +32,5 @@ rec {
     DEPENDENCIES
     (alexandria bordeaux-threads cl-annot cl-syntax cl-syntax-annot closer-mop
      named-readtables split-sequence trivial-types)
-    VERSION cl-20190107-git SIBLINGS
+    VERSION cl-20190521-git SIBLINGS
     (cl-dbi dbd-mysql dbd-postgres dbd-sqlite3 dbi-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
index c47d9f1a1aad..4d5bc0a22175 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/dexador.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''dexador'';
-  version = ''20181018-git'';
+  version = ''20190521-git'';
 
   description = ''Yet another HTTP client for Common Lisp'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."chipz" args."chunga" args."cl_plus_ssl" args."cl-base64" args."cl-cookie" args."cl-fad" args."cl-ppcre" args."cl-reexport" args."cl-utilities" args."fast-http" args."fast-io" args."flexi-streams" args."local-time" args."proc-parse" args."quri" args."smart-buffer" args."split-sequence" args."static-vectors" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."trivial-mimes" args."usocket" args."xsubseq" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/dexador/2018-10-18/dexador-20181018-git.tgz'';
-    sha256 = ''1pwzydf9paiqxsfawbf7j55h5fqkk0561p3rzflsfnmr1dabi9kc'';
+    url = ''http://beta.quicklisp.org/archive/dexador/2019-05-21/dexador-20190521-git.tgz'';
+    sha256 = ''15v475xvawp3vhbw3kkvxq8z98j6i7h9fi4mkicn5mylx2j3z1mk'';
   };
 
   packageName = "dexador";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM dexador DESCRIPTION Yet another HTTP client for Common Lisp SHA256
-    1pwzydf9paiqxsfawbf7j55h5fqkk0561p3rzflsfnmr1dabi9kc URL
-    http://beta.quicklisp.org/archive/dexador/2018-10-18/dexador-20181018-git.tgz
-    MD5 268ea459fac563834490247de52a6ce1 NAME dexador FILENAME dexador DEPS
+    15v475xvawp3vhbw3kkvxq8z98j6i7h9fi4mkicn5mylx2j3z1mk URL
+    http://beta.quicklisp.org/archive/dexador/2019-05-21/dexador-20190521-git.tgz
+    MD5 4e405ba1b7721c2d62bc315ec31af0fe NAME dexador FILENAME dexador DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
@@ -48,4 +48,4 @@ rec {
      fast-http fast-io flexi-streams local-time proc-parse quri smart-buffer
      split-sequence static-vectors trivial-features trivial-garbage
      trivial-gray-streams trivial-mimes usocket xsubseq)
-    VERSION 20181018-git SIBLINGS (dexador-test) PARASITES NIL) */
+    VERSION 20190521-git SIBLINGS (dexador-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
index 541f1c6a169d..7c25ed9a0377 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/documentation-utils.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''documentation-utils'';
-  version = ''20180831-git'';
+  version = ''20190710-git'';
 
   description = ''A few simple tools to help you with documenting your library.'';
 
   deps = [ args."trivial-indent" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/documentation-utils/2018-08-31/documentation-utils-20180831-git.tgz'';
-    sha256 = ''0g26hgppynrfdkpaplb77xzrsmsdzmlnqgl8336l08zmg80x90n5'';
+    url = ''http://beta.quicklisp.org/archive/documentation-utils/2019-07-10/documentation-utils-20190710-git.tgz'';
+    sha256 = ''1n3z8sw75k2jjpsg6ch5g9s4v56y96dbs4338ajrfdsk3pk4wgj3'';
   };
 
   packageName = "documentation-utils";
@@ -19,9 +19,9 @@ rec {
 }
 /* (SYSTEM documentation-utils DESCRIPTION
     A few simple tools to help you with documenting your library. SHA256
-    0g26hgppynrfdkpaplb77xzrsmsdzmlnqgl8336l08zmg80x90n5 URL
-    http://beta.quicklisp.org/archive/documentation-utils/2018-08-31/documentation-utils-20180831-git.tgz
-    MD5 e0f58ffe20602cada3413b4eeec909ef NAME documentation-utils FILENAME
+    1n3z8sw75k2jjpsg6ch5g9s4v56y96dbs4338ajrfdsk3pk4wgj3 URL
+    http://beta.quicklisp.org/archive/documentation-utils/2019-07-10/documentation-utils-20190710-git.tgz
+    MD5 4f45f511ac55008b8b8aa04f7feaa2d4 NAME documentation-utils FILENAME
     documentation-utils DEPS ((NAME trivial-indent FILENAME trivial-indent))
-    DEPENDENCIES (trivial-indent) VERSION 20180831-git SIBLINGS
+    DEPENDENCIES (trivial-indent) VERSION 20190710-git SIBLINGS
     (multilang-documentation-utils) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
index 95162ffc99a3..aa97f8f7cbe3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/drakma.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''drakma'';
-  version = ''v2.0.4'';
+  version = ''v2.0.5'';
 
   description = ''Full-featured http/https client based on usocket'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."chipz" args."chunga" args."cl_plus_ssl" args."cl-base64" args."cl-ppcre" args."flexi-streams" args."puri" args."split-sequence" args."trivial-features" args."trivial-garbage" args."trivial-gray-streams" args."usocket" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/drakma/2017-08-30/drakma-v2.0.4.tgz'';
-    sha256 = ''0i0dmw1b245yc0f8f8ww8cnhsji7vsnr7868p62c953ccwlcj5ga'';
+    url = ''http://beta.quicklisp.org/archive/drakma/2019-05-21/drakma-v2.0.5.tgz'';
+    sha256 = ''14bqvdr1f5ms6kxdgran57qk43g9c37ia7ni1z3afdkbv8wp2lyj'';
   };
 
   packageName = "drakma";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM drakma DESCRIPTION Full-featured http/https client based on usocket
-    SHA256 0i0dmw1b245yc0f8f8ww8cnhsji7vsnr7868p62c953ccwlcj5ga URL
-    http://beta.quicklisp.org/archive/drakma/2017-08-30/drakma-v2.0.4.tgz MD5
-    1c668721156beadeca4f6536677e143e NAME drakma FILENAME drakma DEPS
+    SHA256 14bqvdr1f5ms6kxdgran57qk43g9c37ia7ni1z3afdkbv8wp2lyj URL
+    http://beta.quicklisp.org/archive/drakma/2019-05-21/drakma-v2.0.5.tgz MD5
+    85316671dd8ada170b85af82ed97ce8e NAME drakma FILENAME drakma DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME chipz FILENAME chipz)
@@ -36,4 +36,4 @@ rec {
     (alexandria babel bordeaux-threads cffi chipz chunga cl+ssl cl-base64
      cl-ppcre flexi-streams puri split-sequence trivial-features
      trivial-garbage trivial-gray-streams usocket)
-    VERSION v2.0.4 SIBLINGS (drakma-test) PARASITES NIL) */
+    VERSION v2.0.5 SIBLINGS (drakma-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
index 3b2d0225ff92..a024ad3907a3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/esrap.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''esrap'';
-  version = ''20190107-git'';
+  version = ''20190521-git'';
 
   parasites = [ "esrap/tests" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."alexandria" args."fiveam" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/esrap/2019-01-07/esrap-20190107-git.tgz'';
-    sha256 = ''0kb4szcd7v4qj56p0yg1abvk79is6p5myri3gakzm87l2nmg15xs'';
+    url = ''http://beta.quicklisp.org/archive/esrap/2019-05-21/esrap-20190521-git.tgz'';
+    sha256 = ''0kbb05735yhkh2vply6hdk2jn43s8pym8j6jqip13qyaaiax6w5q'';
   };
 
   packageName = "esrap";
@@ -21,9 +21,9 @@ rec {
 }
 /* (SYSTEM esrap DESCRIPTION
     A Packrat / Parsing Grammar / TDPL parser for Common Lisp. SHA256
-    0kb4szcd7v4qj56p0yg1abvk79is6p5myri3gakzm87l2nmg15xs URL
-    http://beta.quicklisp.org/archive/esrap/2019-01-07/esrap-20190107-git.tgz
-    MD5 b8c98e84e3c63e4e3ce2f6c8b4d4bab7 NAME esrap FILENAME esrap DEPS
+    0kbb05735yhkh2vply6hdk2jn43s8pym8j6jqip13qyaaiax6w5q URL
+    http://beta.quicklisp.org/archive/esrap/2019-05-21/esrap-20190521-git.tgz
+    MD5 401362d64d644f02824de03697435883 NAME esrap FILENAME esrap DEPS
     ((NAME alexandria FILENAME alexandria) (NAME fiveam FILENAME fiveam))
-    DEPENDENCIES (alexandria fiveam) VERSION 20190107-git SIBLINGS NIL
+    DEPENDENCIES (alexandria fiveam) VERSION 20190521-git SIBLINGS NIL
     PARASITES (esrap/tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
index cec236dc5565..0e7f5b79160b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/external-program.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''external-program'';
-  version = ''20160825-git'';
+  version = ''20190307-git'';
 
   parasites = [ "external-program-test" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."fiveam" args."trivial-features" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/external-program/2016-08-25/external-program-20160825-git.tgz'';
-    sha256 = ''0avnnhxxa1wfri9i3m1339nszyp1w2cilycc948nf5awz4mckq13'';
+    url = ''http://beta.quicklisp.org/archive/external-program/2019-03-07/external-program-20190307-git.tgz'';
+    sha256 = ''1nl3mngh7vp2l9mfbdhni4nc164zznafnl74p1kv9j07n5fcpnyz'';
   };
 
   packageName = "external-program";
@@ -20,11 +20,11 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM external-program DESCRIPTION NIL SHA256
-    0avnnhxxa1wfri9i3m1339nszyp1w2cilycc948nf5awz4mckq13 URL
-    http://beta.quicklisp.org/archive/external-program/2016-08-25/external-program-20160825-git.tgz
-    MD5 6902724c4f762a17645c46b0a1d8efde NAME external-program FILENAME
+    1nl3mngh7vp2l9mfbdhni4nc164zznafnl74p1kv9j07n5fcpnyz URL
+    http://beta.quicklisp.org/archive/external-program/2019-03-07/external-program-20190307-git.tgz
+    MD5 b30fe104c34059506fd4c493fa79fe1a NAME external-program FILENAME
     external-program DEPS
     ((NAME fiveam FILENAME fiveam)
      (NAME trivial-features FILENAME trivial-features))
-    DEPENDENCIES (fiveam trivial-features) VERSION 20160825-git SIBLINGS NIL
+    DEPENDENCIES (fiveam trivial-features) VERSION 20190307-git SIBLINGS NIL
     PARASITES (external-program-test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix
index 87d9fe983ec3..39f2af5430fc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/fiasco.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''fiasco'';
-  version = ''20181210-git'';
+  version = ''20190307-git'';
 
   parasites = [ "fiasco-self-tests" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."alexandria" args."trivial-gray-streams" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/fiasco/2018-12-10/fiasco-20181210-git.tgz'';
-    sha256 = ''0l4wjik8iwipy67lbdrjhcvz7zldv85nykbxasis4zmmh001777y'';
+    url = ''http://beta.quicklisp.org/archive/fiasco/2019-03-07/fiasco-20190307-git.tgz'';
+    sha256 = ''0ffnkfnj4ayvzsxb2h04xaypgxg3fbar07f6rvlbncdckm9q5jk3'';
   };
 
   packageName = "fiasco";
@@ -21,10 +21,10 @@ rec {
 }
 /* (SYSTEM fiasco DESCRIPTION
     A Common Lisp test framework that treasures your failures, logical continuation of Stefil.
-    SHA256 0l4wjik8iwipy67lbdrjhcvz7zldv85nykbxasis4zmmh001777y URL
-    http://beta.quicklisp.org/archive/fiasco/2018-12-10/fiasco-20181210-git.tgz
-    MD5 9d3c0ec30c7f73490188f27eaec00fd8 NAME fiasco FILENAME fiasco DEPS
+    SHA256 0ffnkfnj4ayvzsxb2h04xaypgxg3fbar07f6rvlbncdckm9q5jk3 URL
+    http://beta.quicklisp.org/archive/fiasco/2019-03-07/fiasco-20190307-git.tgz
+    MD5 7cc0c66f865d44974c8d682346b5f6d5 NAME fiasco FILENAME fiasco DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME trivial-gray-streams FILENAME trivial-gray-streams))
-    DEPENDENCIES (alexandria trivial-gray-streams) VERSION 20181210-git
+    DEPENDENCIES (alexandria trivial-gray-streams) VERSION 20190307-git
     SIBLINGS NIL PARASITES (fiasco-self-tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
index 4a23cbf51ee7..90ce8b83dde6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/form-fiddle.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''form-fiddle'';
-  version = ''20180831-git'';
+  version = ''20190710-git'';
 
   description = ''A collection of utilities to destructure lambda forms.'';
 
   deps = [ args."documentation-utils" args."trivial-indent" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/form-fiddle/2018-08-31/form-fiddle-20180831-git.tgz'';
-    sha256 = ''013n10rzqbfvdlz37pdmj4y7qv3fzv7q2hxv8aw7kcirg5gl7mkj'';
+    url = ''http://beta.quicklisp.org/archive/form-fiddle/2019-07-10/form-fiddle-20190710-git.tgz'';
+    sha256 = ''12zmqm2vls043kaka7jp6pnsvkxlyv6x183yjyrs8jk461qfydwl'';
   };
 
   packageName = "form-fiddle";
@@ -19,11 +19,11 @@ rec {
 }
 /* (SYSTEM form-fiddle DESCRIPTION
     A collection of utilities to destructure lambda forms. SHA256
-    013n10rzqbfvdlz37pdmj4y7qv3fzv7q2hxv8aw7kcirg5gl7mkj URL
-    http://beta.quicklisp.org/archive/form-fiddle/2018-08-31/form-fiddle-20180831-git.tgz
-    MD5 1e9ae81423ed3c5f2e07c26f93b45956 NAME form-fiddle FILENAME form-fiddle
+    12zmqm2vls043kaka7jp6pnsvkxlyv6x183yjyrs8jk461qfydwl URL
+    http://beta.quicklisp.org/archive/form-fiddle/2019-07-10/form-fiddle-20190710-git.tgz
+    MD5 2576065de1e3c95751285fb155f5bcf6 NAME form-fiddle FILENAME form-fiddle
     DEPS
     ((NAME documentation-utils FILENAME documentation-utils)
      (NAME trivial-indent FILENAME trivial-indent))
-    DEPENDENCIES (documentation-utils trivial-indent) VERSION 20180831-git
+    DEPENDENCIES (documentation-utils trivial-indent) VERSION 20190710-git
     SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
index a74f24f8642f..1f2700608e37 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/hu_dot_dwim_dot_asdf.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''hu_dot_dwim_dot_asdf'';
-  version = ''20180228-darcs'';
+  version = ''20190521-darcs'';
 
   description = ''Various ASDF extensions such as attached test and documentation system, explicit development support, etc.'';
 
   deps = [ args."uiop" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/hu.dwim.asdf/2018-02-28/hu.dwim.asdf-20180228-darcs.tgz'';
-    sha256 = ''19ak3krzlzbdh8chbimwjca8q4jksaf9v88k86jsdgxchfr0dkld'';
+    url = ''http://beta.quicklisp.org/archive/hu.dwim.asdf/2019-05-21/hu.dwim.asdf-20190521-darcs.tgz'';
+    sha256 = ''0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn'';
   };
 
   packageName = "hu.dwim.asdf";
@@ -19,8 +19,8 @@ rec {
 }
 /* (SYSTEM hu.dwim.asdf DESCRIPTION
     Various ASDF extensions such as attached test and documentation system, explicit development support, etc.
-    SHA256 19ak3krzlzbdh8chbimwjca8q4jksaf9v88k86jsdgxchfr0dkld URL
-    http://beta.quicklisp.org/archive/hu.dwim.asdf/2018-02-28/hu.dwim.asdf-20180228-darcs.tgz
-    MD5 a1f3085cbd7ea77f9212112cc8914e86 NAME hu.dwim.asdf FILENAME
+    SHA256 0rsbv71vyszy8w35yjwb5h6zcmknjq223hkzir79y72qdsc6sabn URL
+    http://beta.quicklisp.org/archive/hu.dwim.asdf/2019-05-21/hu.dwim.asdf-20190521-darcs.tgz
+    MD5 b359bf05f587196eba172803b5594318 NAME hu.dwim.asdf FILENAME
     hu_dot_dwim_dot_asdf DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES (uiop)
-    VERSION 20180228-darcs SIBLINGS (hu.dwim.asdf.documentation) PARASITES NIL) */
+    VERSION 20190521-darcs SIBLINGS (hu.dwim.asdf.documentation) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
index 4c3bcbb42b06..2c56b5964f97 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/ironclad.nix
@@ -1,17 +1,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''ironclad'';
-  version = ''v0.44'';
+  version = ''v0.46'';
 
   parasites = [ "ironclad/tests" ];
 
   description = ''A cryptographic toolkit written in pure Common Lisp'';
 
-  deps = [ args."nibbles" args."rt" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."nibbles" args."rt" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/ironclad/2018-12-10/ironclad-v0.44.tgz'';
-    sha256 = ''0qxvvv9hp6843s3n4fnj2fl26xzdpnk91j1h0sgi8v0fbfakwl2y'';
+    url = ''http://beta.quicklisp.org/archive/ironclad/2019-07-10/ironclad-v0.46.tgz'';
+    sha256 = ''1bcqz7z30dpr9rz5wg94bbq93swn6lxqj60rn9f5q0fryn9na3l2'';
   };
 
   packageName = "ironclad";
@@ -21,9 +21,11 @@ rec {
 }
 /* (SYSTEM ironclad DESCRIPTION
     A cryptographic toolkit written in pure Common Lisp SHA256
-    0qxvvv9hp6843s3n4fnj2fl26xzdpnk91j1h0sgi8v0fbfakwl2y URL
-    http://beta.quicklisp.org/archive/ironclad/2018-12-10/ironclad-v0.44.tgz
-    MD5 ebce1cbac421a5d7ad461cdaed4ac863 NAME ironclad FILENAME ironclad DEPS
-    ((NAME nibbles FILENAME nibbles) (NAME rt FILENAME rt)) DEPENDENCIES
-    (nibbles rt) VERSION v0.44 SIBLINGS (ironclad-text) PARASITES
-    (ironclad/tests)) */
+    1bcqz7z30dpr9rz5wg94bbq93swn6lxqj60rn9f5q0fryn9na3l2 URL
+    http://beta.quicklisp.org/archive/ironclad/2019-07-10/ironclad-v0.46.tgz
+    MD5 23f67c2312723bdaf1ff78898d2354c7 NAME ironclad FILENAME ironclad DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME nibbles FILENAME nibbles) (NAME rt FILENAME rt))
+    DEPENDENCIES (alexandria bordeaux-threads nibbles rt) VERSION v0.46
+    SIBLINGS (ironclad-text) PARASITES (ironclad/tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
index 81493865b864..702eb2d05b55 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/jonathan.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''jonathan'';
-  version = ''20181210-git'';
+  version = ''20190202-git'';
 
   description = ''High performance JSON encoder and decoder. Currently support: SBCL, CCL.'';
 
   deps = [ args."alexandria" args."babel" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-annot" args."cl-ppcre" args."cl-syntax" args."cl-syntax-annot" args."fast-io" args."named-readtables" args."proc-parse" args."static-vectors" args."trivial-features" args."trivial-gray-streams" args."trivial-types" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/jonathan/2018-12-10/jonathan-20181210-git.tgz'';
-    sha256 = ''1m0cz8r48zvwbsywrgj9zdlfy48iycxb4h9l8wg04gmb5xv82rxh'';
+    url = ''http://beta.quicklisp.org/archive/jonathan/2019-02-02/jonathan-20190202-git.tgz'';
+    sha256 = ''1p70ji0mwx11q5iy792lxpcbx7mzh4az88vgkq39yx1ffwvpxvwl'';
   };
 
   packageName = "jonathan";
@@ -19,9 +19,9 @@ rec {
 }
 /* (SYSTEM jonathan DESCRIPTION
     High performance JSON encoder and decoder. Currently support: SBCL, CCL.
-    SHA256 1m0cz8r48zvwbsywrgj9zdlfy48iycxb4h9l8wg04gmb5xv82rxh URL
-    http://beta.quicklisp.org/archive/jonathan/2018-12-10/jonathan-20181210-git.tgz
-    MD5 eb76f293df02d1b85faf92b92cb24d53 NAME jonathan FILENAME jonathan DEPS
+    SHA256 1p70ji0mwx11q5iy792lxpcbx7mzh4az88vgkq39yx1ffwvpxvwl URL
+    http://beta.quicklisp.org/archive/jonathan/2019-02-02/jonathan-20190202-git.tgz
+    MD5 bf340574fc901706ba2dcdc57e1e78ad NAME jonathan FILENAME jonathan DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
      (NAME cffi-toolchain FILENAME cffi-toolchain)
@@ -39,4 +39,4 @@ rec {
     (alexandria babel cffi cffi-grovel cffi-toolchain cl-annot cl-ppcre
      cl-syntax cl-syntax-annot fast-io named-readtables proc-parse
      static-vectors trivial-features trivial-gray-streams trivial-types)
-    VERSION 20181210-git SIBLINGS (jonathan-test) PARASITES NIL) */
+    VERSION 20190202-git SIBLINGS (jonathan-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix
index e5cbad3e9e83..e44004a9cf7e 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/kmrcl.nix
@@ -3,7 +3,7 @@ rec {
   baseName = ''kmrcl'';
   version = ''20150923-git'';
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ ];
 
@@ -17,7 +17,7 @@ rec {
   asdFilesToKeep = ["kmrcl.asd"];
   overrides = x: x;
 }
-/* (SYSTEM kmrcl DESCRIPTION NIL SHA256
+/* (SYSTEM kmrcl DESCRIPTION System lacks description SHA256
     0sx7p16pp5i4qr569p2265ky6rd65gyjp21k348a6c3fs2yn0r2g URL
     http://beta.quicklisp.org/archive/kmrcl/2015-09-23/kmrcl-20150923-git.tgz
     MD5 0cd15d3ed3e7d56528dd3243d1a5c9b1 NAME kmrcl FILENAME kmrcl DEPS NIL
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
index b99f7867a7ac..96a831147bba 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-component.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''lack-component'';
-  version = ''lack-20181210-git'';
+  version = ''lack-20190521-git'';
 
   description = '''';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/lack/2018-12-10/lack-20181210-git.tgz'';
-    sha256 = ''00i36c5r5nk8abqqxhclr9nj6wawpybf5raswpm18h0kpxyf6qz8'';
+    url = ''http://beta.quicklisp.org/archive/lack/2019-05-21/lack-20190521-git.tgz'';
+    sha256 = ''0ng1k5jq7icfi8c8r3wqj3qrqkh2lyav5ab6mf3l5y4bfwbil593'';
   };
 
   packageName = "lack-component";
@@ -18,10 +18,10 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lack-component DESCRIPTION NIL SHA256
-    00i36c5r5nk8abqqxhclr9nj6wawpybf5raswpm18h0kpxyf6qz8 URL
-    http://beta.quicklisp.org/archive/lack/2018-12-10/lack-20181210-git.tgz MD5
-    b75ab822b0b1d7fa5ff4d47db3ec80dd NAME lack-component FILENAME
-    lack-component DEPS NIL DEPENDENCIES NIL VERSION lack-20181210-git SIBLINGS
+    0ng1k5jq7icfi8c8r3wqj3qrqkh2lyav5ab6mf3l5y4bfwbil593 URL
+    http://beta.quicklisp.org/archive/lack/2019-05-21/lack-20190521-git.tgz MD5
+    7d7321550f0795e998c7afe4498e7a40 NAME lack-component FILENAME
+    lack-component DEPS NIL DEPENDENCIES NIL VERSION lack-20190521-git SIBLINGS
     (lack-middleware-accesslog lack-middleware-auth-basic
      lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
      lack-middleware-session lack-middleware-static lack-request lack-response
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
index 7cce4b212941..610633e9af25 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-middleware-backtrace.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''lack-middleware-backtrace'';
-  version = ''lack-20181210-git'';
+  version = ''lack-20190521-git'';
 
   description = '''';
 
   deps = [ args."uiop" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/lack/2018-12-10/lack-20181210-git.tgz'';
-    sha256 = ''00i36c5r5nk8abqqxhclr9nj6wawpybf5raswpm18h0kpxyf6qz8'';
+    url = ''http://beta.quicklisp.org/archive/lack/2019-05-21/lack-20190521-git.tgz'';
+    sha256 = ''0ng1k5jq7icfi8c8r3wqj3qrqkh2lyav5ab6mf3l5y4bfwbil593'';
   };
 
   packageName = "lack-middleware-backtrace";
@@ -18,11 +18,11 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lack-middleware-backtrace DESCRIPTION NIL SHA256
-    00i36c5r5nk8abqqxhclr9nj6wawpybf5raswpm18h0kpxyf6qz8 URL
-    http://beta.quicklisp.org/archive/lack/2018-12-10/lack-20181210-git.tgz MD5
-    b75ab822b0b1d7fa5ff4d47db3ec80dd NAME lack-middleware-backtrace FILENAME
+    0ng1k5jq7icfi8c8r3wqj3qrqkh2lyav5ab6mf3l5y4bfwbil593 URL
+    http://beta.quicklisp.org/archive/lack/2019-05-21/lack-20190521-git.tgz MD5
+    7d7321550f0795e998c7afe4498e7a40 NAME lack-middleware-backtrace FILENAME
     lack-middleware-backtrace DEPS ((NAME uiop FILENAME uiop)) DEPENDENCIES
-    (uiop) VERSION lack-20181210-git SIBLINGS
+    (uiop) VERSION lack-20190521-git SIBLINGS
     (lack-component lack-middleware-accesslog lack-middleware-auth-basic
      lack-middleware-csrf lack-middleware-mount lack-middleware-session
      lack-middleware-static lack-request lack-response lack-session-store-dbi
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
index 6da62f22f65f..3607cbedf44f 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack-util.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''lack-util'';
-  version = ''lack-20181210-git'';
+  version = ''lack-20190521-git'';
 
   description = '''';
 
-  deps = [ args."ironclad" args."nibbles" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."ironclad" args."nibbles" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/lack/2018-12-10/lack-20181210-git.tgz'';
-    sha256 = ''00i36c5r5nk8abqqxhclr9nj6wawpybf5raswpm18h0kpxyf6qz8'';
+    url = ''http://beta.quicklisp.org/archive/lack/2019-05-21/lack-20190521-git.tgz'';
+    sha256 = ''0ng1k5jq7icfi8c8r3wqj3qrqkh2lyav5ab6mf3l5y4bfwbil593'';
   };
 
   packageName = "lack-util";
@@ -18,11 +18,14 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lack-util DESCRIPTION NIL SHA256
-    00i36c5r5nk8abqqxhclr9nj6wawpybf5raswpm18h0kpxyf6qz8 URL
-    http://beta.quicklisp.org/archive/lack/2018-12-10/lack-20181210-git.tgz MD5
-    b75ab822b0b1d7fa5ff4d47db3ec80dd NAME lack-util FILENAME lack-util DEPS
-    ((NAME ironclad FILENAME ironclad) (NAME nibbles FILENAME nibbles))
-    DEPENDENCIES (ironclad nibbles) VERSION lack-20181210-git SIBLINGS
+    0ng1k5jq7icfi8c8r3wqj3qrqkh2lyav5ab6mf3l5y4bfwbil593 URL
+    http://beta.quicklisp.org/archive/lack/2019-05-21/lack-20190521-git.tgz MD5
+    7d7321550f0795e998c7afe4498e7a40 NAME lack-util FILENAME lack-util DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME ironclad FILENAME ironclad) (NAME nibbles FILENAME nibbles))
+    DEPENDENCIES (alexandria bordeaux-threads ironclad nibbles) VERSION
+    lack-20190521-git SIBLINGS
     (lack-component lack-middleware-accesslog lack-middleware-auth-basic
      lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
      lack-middleware-session lack-middleware-static lack-request lack-response
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
index c8ef9a7f6708..08095979989b 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lack.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''lack'';
-  version = ''20181210-git'';
+  version = ''20190521-git'';
 
   description = ''A minimal Clack'';
 
-  deps = [ args."ironclad" args."lack-component" args."lack-util" args."nibbles" ];
+  deps = [ args."alexandria" args."bordeaux-threads" args."ironclad" args."lack-component" args."lack-util" args."nibbles" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/lack/2018-12-10/lack-20181210-git.tgz'';
-    sha256 = ''00i36c5r5nk8abqqxhclr9nj6wawpybf5raswpm18h0kpxyf6qz8'';
+    url = ''http://beta.quicklisp.org/archive/lack/2019-05-21/lack-20190521-git.tgz'';
+    sha256 = ''0ng1k5jq7icfi8c8r3wqj3qrqkh2lyav5ab6mf3l5y4bfwbil593'';
   };
 
   packageName = "lack";
@@ -18,14 +18,17 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lack DESCRIPTION A minimal Clack SHA256
-    00i36c5r5nk8abqqxhclr9nj6wawpybf5raswpm18h0kpxyf6qz8 URL
-    http://beta.quicklisp.org/archive/lack/2018-12-10/lack-20181210-git.tgz MD5
-    b75ab822b0b1d7fa5ff4d47db3ec80dd NAME lack FILENAME lack DEPS
-    ((NAME ironclad FILENAME ironclad)
+    0ng1k5jq7icfi8c8r3wqj3qrqkh2lyav5ab6mf3l5y4bfwbil593 URL
+    http://beta.quicklisp.org/archive/lack/2019-05-21/lack-20190521-git.tgz MD5
+    7d7321550f0795e998c7afe4498e7a40 NAME lack FILENAME lack DEPS
+    ((NAME alexandria FILENAME alexandria)
+     (NAME bordeaux-threads FILENAME bordeaux-threads)
+     (NAME ironclad FILENAME ironclad)
      (NAME lack-component FILENAME lack-component)
      (NAME lack-util FILENAME lack-util) (NAME nibbles FILENAME nibbles))
-    DEPENDENCIES (ironclad lack-component lack-util nibbles) VERSION
-    20181210-git SIBLINGS
+    DEPENDENCIES
+    (alexandria bordeaux-threads ironclad lack-component lack-util nibbles)
+    VERSION 20190521-git SIBLINGS
     (lack-component lack-middleware-accesslog lack-middleware-auth-basic
      lack-middleware-backtrace lack-middleware-csrf lack-middleware-mount
      lack-middleware-session lack-middleware-static lack-request lack-response
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix
index a3ddc2fd953e..1edb65596a6c 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lift.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''lift'';
-  version = ''20151031-git'';
+  version = ''20190521-git'';
 
   description = ''LIsp Framework for Testing'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/lift/2015-10-31/lift-20151031-git.tgz'';
-    sha256 = ''1h8fkpm377brbrc06zdynd2qilc85vr9i8r9f8pjqqmk3p1qyl46'';
+    url = ''http://beta.quicklisp.org/archive/lift/2019-05-21/lift-20190521-git.tgz'';
+    sha256 = ''0cinilin9bxzsj3mzd4488zx2irvyl5qpbykv0xbyfz2mjh94ac9'';
   };
 
   packageName = "lift";
@@ -18,8 +18,8 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM lift DESCRIPTION LIsp Framework for Testing SHA256
-    1h8fkpm377brbrc06zdynd2qilc85vr9i8r9f8pjqqmk3p1qyl46 URL
-    http://beta.quicklisp.org/archive/lift/2015-10-31/lift-20151031-git.tgz MD5
-    b92e97b3d337607743f47bde0889f3ee NAME lift FILENAME lift DEPS NIL
-    DEPENDENCIES NIL VERSION 20151031-git SIBLINGS
+    0cinilin9bxzsj3mzd4488zx2irvyl5qpbykv0xbyfz2mjh94ac9 URL
+    http://beta.quicklisp.org/archive/lift/2019-05-21/lift-20190521-git.tgz MD5
+    c03d3fa715792440c7b51a852ad581e3 NAME lift FILENAME lift DEPS NIL
+    DEPENDENCIES NIL VERSION 20190521-git SIBLINGS
     (lift-documentation lift-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
index 1a94c643d8af..5ffa27fcca53 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/local-time.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''local-time'';
-  version = ''20181210-git'';
+  version = ''20190710-git'';
 
   parasites = [ "local-time/test" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."alexandria" args."bordeaux-threads" args."cl-fad" args."stefil" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/local-time/2018-12-10/local-time-20181210-git.tgz'';
-    sha256 = ''0m17mjql9f2glr9f2cg5d2dk5gi2xjjqxih18dx71jpbd71m6q4s'';
+    url = ''http://beta.quicklisp.org/archive/local-time/2019-07-10/local-time-20190710-git.tgz'';
+    sha256 = ''1f6l5g4frb2cyqdyyr64wdhp3fralshm43q7rigsrcz2vx5y75jk'';
   };
 
   packageName = "local-time";
@@ -21,12 +21,12 @@ rec {
 }
 /* (SYSTEM local-time DESCRIPTION
     A library for manipulating dates and times, based on a paper by Erik Naggum
-    SHA256 0m17mjql9f2glr9f2cg5d2dk5gi2xjjqxih18dx71jpbd71m6q4s URL
-    http://beta.quicklisp.org/archive/local-time/2018-12-10/local-time-20181210-git.tgz
-    MD5 161762ecff2ffbe4dc68c8dc28472515 NAME local-time FILENAME local-time
+    SHA256 1f6l5g4frb2cyqdyyr64wdhp3fralshm43q7rigsrcz2vx5y75jk URL
+    http://beta.quicklisp.org/archive/local-time/2019-07-10/local-time-20190710-git.tgz
+    MD5 ff315f40d1f955210c78aa0804a117f2 NAME local-time FILENAME local-time
     DEPS
     ((NAME alexandria FILENAME alexandria)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cl-fad FILENAME cl-fad) (NAME stefil FILENAME stefil))
     DEPENDENCIES (alexandria bordeaux-threads cl-fad stefil) VERSION
-    20181210-git SIBLINGS (cl-postgres+local-time) PARASITES (local-time/test)) */
+    20190710-git SIBLINGS (cl-postgres+local-time) PARASITES (local-time/test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
index 19382889315a..f64e9ee6a330 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/lquery.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''lquery'';
-  version = ''20190107-git'';
+  version = ''20190710-git'';
 
   description = ''A library to allow jQuery-like HTML/DOM manipulation.'';
 
   deps = [ args."array-utils" args."clss" args."documentation-utils" args."form-fiddle" args."plump" args."trivial-indent" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/lquery/2019-01-07/lquery-20190107-git.tgz'';
-    sha256 = ''023w4hsclqhw9bg1rfva0sapqmnmgsvf9gngbfhqcfgsdf7wff9r'';
+    url = ''http://beta.quicklisp.org/archive/lquery/2019-07-10/lquery-20190710-git.tgz'';
+    sha256 = ''17kgp8xrygg2d7pfzqram3iv3rry91yfgjs1ym37ac8r5gqrmfsw'';
   };
 
   packageName = "lquery";
@@ -19,13 +19,13 @@ rec {
 }
 /* (SYSTEM lquery DESCRIPTION
     A library to allow jQuery-like HTML/DOM manipulation. SHA256
-    023w4hsclqhw9bg1rfva0sapqmnmgsvf9gngbfhqcfgsdf7wff9r URL
-    http://beta.quicklisp.org/archive/lquery/2019-01-07/lquery-20190107-git.tgz
-    MD5 295245984aa471d2709dcf926abd82e2 NAME lquery FILENAME lquery DEPS
+    17kgp8xrygg2d7pfzqram3iv3rry91yfgjs1ym37ac8r5gqrmfsw URL
+    http://beta.quicklisp.org/archive/lquery/2019-07-10/lquery-20190710-git.tgz
+    MD5 987e9e505ff230c7bfc425bdf58fb717 NAME lquery FILENAME lquery DEPS
     ((NAME array-utils FILENAME array-utils) (NAME clss FILENAME clss)
      (NAME documentation-utils FILENAME documentation-utils)
      (NAME form-fiddle FILENAME form-fiddle) (NAME plump FILENAME plump)
      (NAME trivial-indent FILENAME trivial-indent))
     DEPENDENCIES
     (array-utils clss documentation-utils form-fiddle plump trivial-indent)
-    VERSION 20190107-git SIBLINGS (lquery-test) PARASITES NIL) */
+    VERSION 20190710-git SIBLINGS (lquery-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
index db25e6ae5347..8187c99f94a4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/map-set.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''map-set'';
-  version = ''20160628-hg'';
+  version = ''20190307-hg'';
 
   description = ''Set-like data structure.'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/map-set/2016-06-28/map-set-20160628-hg.tgz'';
-    sha256 = ''15fbha43a5153ah836djp9dbg41728adjrzwryv68gcqs31rjk9v'';
+    url = ''http://beta.quicklisp.org/archive/map-set/2019-03-07/map-set-20190307-hg.tgz'';
+    sha256 = ''1x7yh4gzdvypr1q45qgmjln5pjlh82bfpk6sqyrihrldmwwnbzg9'';
   };
 
   packageName = "map-set";
@@ -18,7 +18,7 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM map-set DESCRIPTION Set-like data structure. SHA256
-    15fbha43a5153ah836djp9dbg41728adjrzwryv68gcqs31rjk9v URL
-    http://beta.quicklisp.org/archive/map-set/2016-06-28/map-set-20160628-hg.tgz
-    MD5 49cf6b527841b717b8696efaa7bb6389 NAME map-set FILENAME map-set DEPS NIL
-    DEPENDENCIES NIL VERSION 20160628-hg SIBLINGS NIL PARASITES NIL) */
+    1x7yh4gzdvypr1q45qgmjln5pjlh82bfpk6sqyrihrldmwwnbzg9 URL
+    http://beta.quicklisp.org/archive/map-set/2019-03-07/map-set-20190307-hg.tgz
+    MD5 866dba36cdf060c943267cb79ccc0532 NAME map-set FILENAME map-set DEPS NIL
+    DEPENDENCIES NIL VERSION 20190307-hg SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix
index 93890afd3004..fe9ccae2886a 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/pcall-queue.nix
@@ -3,7 +3,7 @@ rec {
   baseName = ''pcall-queue'';
   version = ''pcall-0.3'';
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ args."alexandria" args."bordeaux-threads" ];
 
@@ -17,7 +17,7 @@ rec {
   asdFilesToKeep = ["pcall-queue.asd"];
   overrides = x: x;
 }
-/* (SYSTEM pcall-queue DESCRIPTION NIL SHA256
+/* (SYSTEM pcall-queue DESCRIPTION System lacks description SHA256
     02idx1wnv9770fl2nh179sb8njw801g70b5mf8jqhqm2gwsb731y URL
     http://beta.quicklisp.org/archive/pcall/2010-10-06/pcall-0.3.tgz MD5
     019d85dfd1d5d0ee8d4ee475411caf6b NAME pcall-queue FILENAME pcall-queue DEPS
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
index 9f36a6717659..8757c704c8f4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/plump.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''plump'';
-  version = ''20190107-git'';
+  version = ''20190710-git'';
 
   description = ''An XML / XHTML / HTML parser that aims to be as lenient as possible.'';
 
   deps = [ args."array-utils" args."documentation-utils" args."trivial-indent" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/plump/2019-01-07/plump-20190107-git.tgz'';
-    sha256 = ''0kc93374dvr9mz6k4c0xx47jjx5sjrxs151vnnpx8jxr4cc620l3'';
+    url = ''http://beta.quicklisp.org/archive/plump/2019-07-10/plump-20190710-git.tgz'';
+    sha256 = ''1in8c86a1ss8h02bsr3yb0clqgbvqh0bh5gy4y01yfckixbxh5fi'';
   };
 
   packageName = "plump";
@@ -19,11 +19,11 @@ rec {
 }
 /* (SYSTEM plump DESCRIPTION
     An XML / XHTML / HTML parser that aims to be as lenient as possible. SHA256
-    0kc93374dvr9mz6k4c0xx47jjx5sjrxs151vnnpx8jxr4cc620l3 URL
-    http://beta.quicklisp.org/archive/plump/2019-01-07/plump-20190107-git.tgz
-    MD5 5b1a46b83536d5bf1a082a1ef191d3aa NAME plump FILENAME plump DEPS
+    1in8c86a1ss8h02bsr3yb0clqgbvqh0bh5gy4y01yfckixbxh5fi URL
+    http://beta.quicklisp.org/archive/plump/2019-07-10/plump-20190710-git.tgz
+    MD5 e3276779e368758274156c9477f0b22a NAME plump FILENAME plump DEPS
     ((NAME array-utils FILENAME array-utils)
      (NAME documentation-utils FILENAME documentation-utils)
      (NAME trivial-indent FILENAME trivial-indent))
     DEPENDENCIES (array-utils documentation-utils trivial-indent) VERSION
-    20190107-git SIBLINGS (plump-dom plump-lexer plump-parser) PARASITES NIL) */
+    20190710-git SIBLINGS (plump-dom plump-lexer plump-parser) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
index 589f69178991..3666dda9bf87 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/query-fs.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''query-fs'';
-  version = ''20190107-git'';
+  version = ''20190521-git'';
 
   description = ''High-level virtual FS using CL-Fuse-Meta-FS to represent results of queries'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-fuse" args."cl-fuse-meta-fs" args."cl-ppcre" args."cl-utilities" args."command-line-arguments" args."iterate" args."pcall" args."pcall-queue" args."trivial-backtrace" args."trivial-features" args."trivial-utf-8" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/query-fs/2019-01-07/query-fs-20190107-git.tgz'';
-    sha256 = ''1980k3l970ma1571myr66nxaxkg2vzf81a2wn28qcx40niy6pbq4'';
+    url = ''http://beta.quicklisp.org/archive/query-fs/2019-05-21/query-fs-20190521-git.tgz'';
+    sha256 = ''1zz917yjjnjx09cl27793056262nz1jhikdaj1mxhgzm3w6ywf39'';
   };
 
   packageName = "query-fs";
@@ -19,9 +19,9 @@ rec {
 }
 /* (SYSTEM query-fs DESCRIPTION
     High-level virtual FS using CL-Fuse-Meta-FS to represent results of queries
-    SHA256 1980k3l970ma1571myr66nxaxkg2vzf81a2wn28qcx40niy6pbq4 URL
-    http://beta.quicklisp.org/archive/query-fs/2019-01-07/query-fs-20190107-git.tgz
-    MD5 3abd1f0a2f82d10d919bb5b4aa5485be NAME query-fs FILENAME query-fs DEPS
+    SHA256 1zz917yjjnjx09cl27793056262nz1jhikdaj1mxhgzm3w6ywf39 URL
+    http://beta.quicklisp.org/archive/query-fs/2019-05-21/query-fs-20190521-git.tgz
+    MD5 1108c91b69007c6ab35b42d70d4dd7a2 NAME query-fs FILENAME query-fs DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
@@ -40,4 +40,4 @@ rec {
     (alexandria babel bordeaux-threads cffi cffi-grovel cffi-toolchain cl-fuse
      cl-fuse-meta-fs cl-ppcre cl-utilities command-line-arguments iterate pcall
      pcall-queue trivial-backtrace trivial-features trivial-utf-8)
-    VERSION 20190107-git SIBLINGS NIL PARASITES NIL) */
+    VERSION 20190521-git SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
index 2f30db52448c..f6022cb2a1f2 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/quri.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''quri'';
-  version = ''20181210-git'';
+  version = ''20190521-git'';
 
   description = ''Yet another URI library for Common Lisp'';
 
   deps = [ args."alexandria" args."babel" args."cl-utilities" args."split-sequence" args."trivial-features" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/quri/2018-12-10/quri-20181210-git.tgz'';
-    sha256 = ''0iy2q1jg1j07sw5al6c325zkwcbs218z3dszd785vl89ms6kjyn4'';
+    url = ''http://beta.quicklisp.org/archive/quri/2019-05-21/quri-20190521-git.tgz'';
+    sha256 = ''1khhdhn1isszii52xaibn6m4hv4sm5j2v0vgc2rp1x05xds9rzs2'';
   };
 
   packageName = "quri";
@@ -18,13 +18,13 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM quri DESCRIPTION Yet another URI library for Common Lisp SHA256
-    0iy2q1jg1j07sw5al6c325zkwcbs218z3dszd785vl89ms6kjyn4 URL
-    http://beta.quicklisp.org/archive/quri/2018-12-10/quri-20181210-git.tgz MD5
-    94f607540ccc8a15a4439527e41bf7ac NAME quri FILENAME quri DEPS
+    1khhdhn1isszii52xaibn6m4hv4sm5j2v0vgc2rp1x05xds9rzs2 URL
+    http://beta.quicklisp.org/archive/quri/2019-05-21/quri-20190521-git.tgz MD5
+    c2e37013c3b8e109aeb009719e9492ac NAME quri FILENAME quri DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME cl-utilities FILENAME cl-utilities)
      (NAME split-sequence FILENAME split-sequence)
      (NAME trivial-features FILENAME trivial-features))
     DEPENDENCIES
     (alexandria babel cl-utilities split-sequence trivial-features) VERSION
-    20181210-git SIBLINGS (quri-test) PARASITES NIL) */
+    20190521-git SIBLINGS (quri-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
index 86890d60dc5e..33847198bdd9 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/simple-date.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''simple-date'';
-  version = ''postmodern-20190107-git'';
+  version = ''postmodern-20190521-git'';
 
   parasites = [ "simple-date/postgres-glue" "simple-date/tests" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."cl-postgres" args."fiveam" args."md5" args."usocket" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/postmodern/2019-01-07/postmodern-20190107-git.tgz'';
-    sha256 = ''030p5kp593p4z7p3k0828dlayglw2si3q187z1fafgpvspp42sd5'';
+    url = ''http://beta.quicklisp.org/archive/postmodern/2019-05-21/postmodern-20190521-git.tgz'';
+    sha256 = ''1vphrizbhbs3r5rq4b8dh4149bz11h5xxilragwf4l2i619k3cp5'';
   };
 
   packageName = "simple-date";
@@ -20,12 +20,12 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM simple-date DESCRIPTION NIL SHA256
-    030p5kp593p4z7p3k0828dlayglw2si3q187z1fafgpvspp42sd5 URL
-    http://beta.quicklisp.org/archive/postmodern/2019-01-07/postmodern-20190107-git.tgz
-    MD5 3f6f78c4fb0f5a8bb9f13247f1f3d6eb NAME simple-date FILENAME simple-date
+    1vphrizbhbs3r5rq4b8dh4149bz11h5xxilragwf4l2i619k3cp5 URL
+    http://beta.quicklisp.org/archive/postmodern/2019-05-21/postmodern-20190521-git.tgz
+    MD5 102567f386757cd52aca500c0c348d90 NAME simple-date FILENAME simple-date
     DEPS
     ((NAME cl-postgres FILENAME cl-postgres) (NAME fiveam FILENAME fiveam)
      (NAME md5 FILENAME md5) (NAME usocket FILENAME usocket))
     DEPENDENCIES (cl-postgres fiveam md5 usocket) VERSION
-    postmodern-20190107-git SIBLINGS (cl-postgres postmodern s-sql) PARASITES
+    postmodern-20190521-git SIBLINGS (cl-postgres postmodern s-sql) PARASITES
     (simple-date/postgres-glue simple-date/tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
index f0a21983f16f..a22076facd39 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/split-sequence.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''split-sequence'';
-  version = ''v1.5.0'';
+  version = ''v2.0.0'';
 
   parasites = [ "split-sequence/tests" ];
 
@@ -11,8 +11,8 @@ rec {
   deps = [ args."fiveam" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/split-sequence/2018-10-18/split-sequence-v1.5.0.tgz'';
-    sha256 = ''0cxdgprb8c15fydm09aqvc8sdp5n87m6khv70kzkms1n2vm6sb0g'';
+    url = ''http://beta.quicklisp.org/archive/split-sequence/2019-05-21/split-sequence-v2.0.0.tgz'';
+    sha256 = ''09cmmswzl1kahvlzgqv8lqm9qcnz5iqg8f26fw3mm9rb3dcp7aba'';
   };
 
   packageName = "split-sequence";
@@ -23,8 +23,8 @@ rec {
 /* (SYSTEM split-sequence DESCRIPTION
     Splits a sequence into a list of subsequences
   delimited by objects satisfying a test.
-    SHA256 0cxdgprb8c15fydm09aqvc8sdp5n87m6khv70kzkms1n2vm6sb0g URL
-    http://beta.quicklisp.org/archive/split-sequence/2018-10-18/split-sequence-v1.5.0.tgz
-    MD5 67844853787187d993e6d530306eb2b4 NAME split-sequence FILENAME
+    SHA256 09cmmswzl1kahvlzgqv8lqm9qcnz5iqg8f26fw3mm9rb3dcp7aba URL
+    http://beta.quicklisp.org/archive/split-sequence/2019-05-21/split-sequence-v2.0.0.tgz
+    MD5 88aadc6c9da23663ebbb39d546991df4 NAME split-sequence FILENAME
     split-sequence DEPS ((NAME fiveam FILENAME fiveam)) DEPENDENCIES (fiveam)
-    VERSION v1.5.0 SIBLINGS NIL PARASITES (split-sequence/tests)) */
+    VERSION v2.0.0 SIBLINGS NIL PARASITES (split-sequence/tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
index 991791b57d02..57dec7c93cac 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/sqlite.nix
@@ -3,7 +3,7 @@ rec {
   baseName = ''sqlite'';
   version = ''cl-20130615-git'';
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ args."alexandria" args."babel" args."cffi" args."iterate" args."trivial-features" ];
 
@@ -17,7 +17,7 @@ rec {
   asdFilesToKeep = ["sqlite.asd"];
   overrides = x: x;
 }
-/* (SYSTEM sqlite DESCRIPTION NIL SHA256
+/* (SYSTEM sqlite DESCRIPTION System lacks description SHA256
     0db1fvvnsrnxmp272ycnl2kwhymjwrimr8z4djvjlg6cvjxk6lqh URL
     http://beta.quicklisp.org/archive/cl-sqlite/2013-06-15/cl-sqlite-20130615-git.tgz
     MD5 93be7c68f587d830941be55f2c2f1c8b NAME sqlite FILENAME sqlite DEPS
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
index e75cb087f38d..e89eb1971d60 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/stumpwm.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''stumpwm'';
-  version = ''20190107-git'';
+  version = ''20190710-git'';
 
   description = ''A tiling, keyboard driven window manager'';
 
   deps = [ args."alexandria" args."cl-ppcre" args."clx" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/stumpwm/2019-01-07/stumpwm-20190107-git.tgz'';
-    sha256 = ''1i9l1jaxa38fp6s3wmbg5cnn27j4ry8z1mh3w5bhyq0b54zxbcar'';
+    url = ''http://beta.quicklisp.org/archive/stumpwm/2019-07-10/stumpwm-20190710-git.tgz'';
+    sha256 = ''10msx6a7s28aqkdz6x847n5jhg9sykvx96p3gh2pq1ab71wq1l3w'';
   };
 
   packageName = "stumpwm";
@@ -18,10 +18,10 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM stumpwm DESCRIPTION A tiling, keyboard driven window manager SHA256
-    1i9l1jaxa38fp6s3wmbg5cnn27j4ry8z1mh3w5bhyq0b54zxbcar URL
-    http://beta.quicklisp.org/archive/stumpwm/2019-01-07/stumpwm-20190107-git.tgz
-    MD5 5634a308f5b40d9bab1f7c066aa6b9df NAME stumpwm FILENAME stumpwm DEPS
+    10msx6a7s28aqkdz6x847n5jhg9sykvx96p3gh2pq1ab71wq1l3w URL
+    http://beta.quicklisp.org/archive/stumpwm/2019-07-10/stumpwm-20190710-git.tgz
+    MD5 7956cf3486c586f137b75f8b8c0e677c NAME stumpwm FILENAME stumpwm DEPS
     ((NAME alexandria FILENAME alexandria) (NAME cl-ppcre FILENAME cl-ppcre)
      (NAME clx FILENAME clx))
-    DEPENDENCIES (alexandria cl-ppcre clx) VERSION 20190107-git SIBLINGS
+    DEPENDENCIES (alexandria cl-ppcre clx) VERSION 20190710-git SIBLINGS
     (stumpwm-tests) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix
index 301b12a8998e..50b815425dc6 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/swank.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''swank'';
-  version = ''slime-v2.23'';
+  version = ''slime-v2.24'';
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/slime/2019-01-07/slime-v2.23.tgz'';
-    sha256 = ''1ml602yq5s38x0syg0grik8i4h01jw06yja87vpkjl3mkxqvxvky'';
+    url = ''http://beta.quicklisp.org/archive/slime/2019-07-10/slime-v2.24.tgz'';
+    sha256 = ''0gsq3i5818iwfbh710lf96kb66q3ap3qvvkcj06zyfh30n50x1g6'';
   };
 
   packageName = "swank";
@@ -17,8 +17,8 @@ rec {
   asdFilesToKeep = ["swank.asd"];
   overrides = x: x;
 }
-/* (SYSTEM swank DESCRIPTION NIL SHA256
-    1ml602yq5s38x0syg0grik8i4h01jw06yja87vpkjl3mkxqvxvky URL
-    http://beta.quicklisp.org/archive/slime/2019-01-07/slime-v2.23.tgz MD5
-    726724480d861d97e8b58bc8f9f27697 NAME swank FILENAME swank DEPS NIL
-    DEPENDENCIES NIL VERSION slime-v2.23 SIBLINGS NIL PARASITES NIL) */
+/* (SYSTEM swank DESCRIPTION System lacks description SHA256
+    0gsq3i5818iwfbh710lf96kb66q3ap3qvvkcj06zyfh30n50x1g6 URL
+    http://beta.quicklisp.org/archive/slime/2019-07-10/slime-v2.24.tgz MD5
+    05f421f7a9dffa4ba206c548524ef1c0 NAME swank FILENAME swank DEPS NIL
+    DEPENDENCIES NIL VERSION slime-v2.24 SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
index 9a4afce3280f..683f87357f56 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-backtrace.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''trivial-backtrace'';
-  version = ''20160531-git'';
+  version = ''20190710-git'';
 
   description = ''trivial-backtrace'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/trivial-backtrace/2016-05-31/trivial-backtrace-20160531-git.tgz'';
-    sha256 = ''1vcvalcv2ljiv2gyh8xjcg62cjsripjwmnhc8zji35ja1xyqvxhx'';
+    url = ''http://beta.quicklisp.org/archive/trivial-backtrace/2019-07-10/trivial-backtrace-20190710-git.tgz'';
+    sha256 = ''01pzn5ki3w5sgp270rqg6y982zw4p72x5zqcdjgn8hp7lk2a9g9x'';
   };
 
   packageName = "trivial-backtrace";
@@ -18,8 +18,8 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM trivial-backtrace DESCRIPTION trivial-backtrace SHA256
-    1vcvalcv2ljiv2gyh8xjcg62cjsripjwmnhc8zji35ja1xyqvxhx URL
-    http://beta.quicklisp.org/archive/trivial-backtrace/2016-05-31/trivial-backtrace-20160531-git.tgz
-    MD5 a3b41b4ae24e3fde303a2623201aac4d NAME trivial-backtrace FILENAME
-    trivial-backtrace DEPS NIL DEPENDENCIES NIL VERSION 20160531-git SIBLINGS
+    01pzn5ki3w5sgp270rqg6y982zw4p72x5zqcdjgn8hp7lk2a9g9x URL
+    http://beta.quicklisp.org/archive/trivial-backtrace/2019-07-10/trivial-backtrace-20190710-git.tgz
+    MD5 e9035ed00321b24278cbf5449a1aebed NAME trivial-backtrace FILENAME
+    trivial-backtrace DEPS NIL DEPENDENCIES NIL VERSION 20190710-git SIBLINGS
     (trivial-backtrace-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
index 1a562c2288bb..82d0e4513ab1 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-features.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''trivial-features'';
-  version = ''20161204-git'';
+  version = ''20190710-git'';
 
   description = ''Ensures consistent *FEATURES* across multiple CLs.'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/trivial-features/2016-12-04/trivial-features-20161204-git.tgz'';
-    sha256 = ''0i2zyc9c7jigljxll29sh9gv1fawdsf0kq7s86pwba5zi99q2ij2'';
+    url = ''http://beta.quicklisp.org/archive/trivial-features/2019-07-10/trivial-features-20190710-git.tgz'';
+    sha256 = ''04i2vhhij8pwy46zih1dkm8ldy8qqgrncxxqd4y1sgiq3airg3dy'';
   };
 
   packageName = "trivial-features";
@@ -19,8 +19,8 @@ rec {
 }
 /* (SYSTEM trivial-features DESCRIPTION
     Ensures consistent *FEATURES* across multiple CLs. SHA256
-    0i2zyc9c7jigljxll29sh9gv1fawdsf0kq7s86pwba5zi99q2ij2 URL
-    http://beta.quicklisp.org/archive/trivial-features/2016-12-04/trivial-features-20161204-git.tgz
-    MD5 07497e3fd92e68027a96f877cfe62bd4 NAME trivial-features FILENAME
-    trivial-features DEPS NIL DEPENDENCIES NIL VERSION 20161204-git SIBLINGS
+    04i2vhhij8pwy46zih1dkm8ldy8qqgrncxxqd4y1sgiq3airg3dy URL
+    http://beta.quicklisp.org/archive/trivial-features/2019-07-10/trivial-features-20190710-git.tgz
+    MD5 3907b044e00a812ebae989134fe57c55 NAME trivial-features FILENAME
+    trivial-features DEPS NIL DEPENDENCIES NIL VERSION 20190710-git SIBLINGS
     (trivial-features-tests) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
index 5c3c486fb0ff..c629bb3548d4 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-garbage.nix
@@ -1,17 +1,17 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''trivial-garbage'';
-  version = ''20181018-git'';
+  version = ''20190521-git'';
 
-  parasites = [ "trivial-garbage-tests" ];
+  parasites = [ "trivial-garbage/tests" ];
 
   description = ''Portable finalizers, weak hash-tables and weak pointers.'';
 
   deps = [ args."rt" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/trivial-garbage/2018-10-18/trivial-garbage-20181018-git.tgz'';
-    sha256 = ''0hiflg8iak99bbgv0lqj6zwqyklx85ixp7yp4r8xzzm61ya613pl'';
+    url = ''http://beta.quicklisp.org/archive/trivial-garbage/2019-05-21/trivial-garbage-20190521-git.tgz'';
+    sha256 = ''0yhb7rkrbcfgghwvbw13nvmr86v19ka6qb53j8n89c7r270d8fdl'';
   };
 
   packageName = "trivial-garbage";
@@ -21,8 +21,8 @@ rec {
 }
 /* (SYSTEM trivial-garbage DESCRIPTION
     Portable finalizers, weak hash-tables and weak pointers. SHA256
-    0hiflg8iak99bbgv0lqj6zwqyklx85ixp7yp4r8xzzm61ya613pl URL
-    http://beta.quicklisp.org/archive/trivial-garbage/2018-10-18/trivial-garbage-20181018-git.tgz
-    MD5 4d1d1ab0518b375da21b9a6eeaa498e3 NAME trivial-garbage FILENAME
+    0yhb7rkrbcfgghwvbw13nvmr86v19ka6qb53j8n89c7r270d8fdl URL
+    http://beta.quicklisp.org/archive/trivial-garbage/2019-05-21/trivial-garbage-20190521-git.tgz
+    MD5 38fb70797069d4402c6b0fe91f4ca5a8 NAME trivial-garbage FILENAME
     trivial-garbage DEPS ((NAME rt FILENAME rt)) DEPENDENCIES (rt) VERSION
-    20181018-git SIBLINGS NIL PARASITES (trivial-garbage-tests)) */
+    20190521-git SIBLINGS NIL PARASITES (trivial-garbage/tests)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
index d34913b1656c..33eedbaa8184 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-indent.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''trivial-indent'';
-  version = ''20181018-git'';
+  version = ''20190710-git'';
 
   description = ''A very simple library to allow indentation hints for SWANK.'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/trivial-indent/2018-10-18/trivial-indent-20181018-git.tgz'';
-    sha256 = ''0lrbzm1dsf28q7vh9g8n8i5gzd5lxzfaphsa5dd9k2ahdr912c2g'';
+    url = ''http://beta.quicklisp.org/archive/trivial-indent/2019-07-10/trivial-indent-20190710-git.tgz'';
+    sha256 = ''00s35j8cf1ivwc1l55wprx1a78mvnxaz6innwwb3jan1sl3caycx'';
   };
 
   packageName = "trivial-indent";
@@ -19,8 +19,8 @@ rec {
 }
 /* (SYSTEM trivial-indent DESCRIPTION
     A very simple library to allow indentation hints for SWANK. SHA256
-    0lrbzm1dsf28q7vh9g8n8i5gzd5lxzfaphsa5dd9k2ahdr912c2g URL
-    http://beta.quicklisp.org/archive/trivial-indent/2018-10-18/trivial-indent-20181018-git.tgz
-    MD5 87679f984544027ac939c22e288b09c5 NAME trivial-indent FILENAME
-    trivial-indent DEPS NIL DEPENDENCIES NIL VERSION 20181018-git SIBLINGS NIL
+    00s35j8cf1ivwc1l55wprx1a78mvnxaz6innwwb3jan1sl3caycx URL
+    http://beta.quicklisp.org/archive/trivial-indent/2019-07-10/trivial-indent-20190710-git.tgz
+    MD5 a5026ac3d68e02fce100761e546a0d77 NAME trivial-indent FILENAME
+    trivial-indent DEPS NIL DEPENDENCIES NIL VERSION 20190710-git SIBLINGS NIL
     PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
index f06c0d7ebf57..f02d9e0dc2c7 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/trivial-mimes.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''trivial-mimes'';
-  version = ''20180831-git'';
+  version = ''20190710-git'';
 
   description = ''Tiny library to detect mime types in files.'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/trivial-mimes/2018-08-31/trivial-mimes-20180831-git.tgz'';
-    sha256 = ''0nkf6ifjvh4fvmf7spmqmz64yh2l1f25gxq1r8s0z0vnrmpsggqr'';
+    url = ''http://beta.quicklisp.org/archive/trivial-mimes/2019-07-10/trivial-mimes-20190710-git.tgz'';
+    sha256 = ''0z6m26gs0ilqs183xb4a5acpka9md10szbbdpm5xzjrhl15nb4jn'';
   };
 
   packageName = "trivial-mimes";
@@ -19,8 +19,8 @@ rec {
 }
 /* (SYSTEM trivial-mimes DESCRIPTION
     Tiny library to detect mime types in files. SHA256
-    0nkf6ifjvh4fvmf7spmqmz64yh2l1f25gxq1r8s0z0vnrmpsggqr URL
-    http://beta.quicklisp.org/archive/trivial-mimes/2018-08-31/trivial-mimes-20180831-git.tgz
-    MD5 503680e90278947d888bcbe3338c74e3 NAME trivial-mimes FILENAME
-    trivial-mimes DEPS NIL DEPENDENCIES NIL VERSION 20180831-git SIBLINGS NIL
+    0z6m26gs0ilqs183xb4a5acpka9md10szbbdpm5xzjrhl15nb4jn URL
+    http://beta.quicklisp.org/archive/trivial-mimes/2019-07-10/trivial-mimes-20190710-git.tgz
+    MD5 b7fa1cb9382a2a562343c6ca87b1b4ac NAME trivial-mimes FILENAME
+    trivial-mimes DEPS NIL DEPENDENCIES NIL VERSION 20190710-git SIBLINGS NIL
     PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
index fdaa07109b49..18f1b74edbd3 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/uiop.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''uiop'';
-  version = ''3.3.2'';
+  version = ''3.3.3'';
 
-  description = '''';
+  description = ''System lacks description'';
 
   deps = [ ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/uiop/2018-07-11/uiop-3.3.2.tgz'';
-    sha256 = ''1q13a7dzc9vpd0w7c4xw03ijmlnyhjw2p76h0v8m7dyb23s7p9y5'';
+    url = ''http://beta.quicklisp.org/archive/uiop/2019-05-21/uiop-3.3.3.tgz'';
+    sha256 = ''1r89bqjmz1919l3wlmd32p416jzpacy3glkhiwnf1crkja27iagm'';
   };
 
   packageName = "uiop";
@@ -17,8 +17,8 @@ rec {
   asdFilesToKeep = ["uiop.asd"];
   overrides = x: x;
 }
-/* (SYSTEM uiop DESCRIPTION NIL SHA256
-    1q13a7dzc9vpd0w7c4xw03ijmlnyhjw2p76h0v8m7dyb23s7p9y5 URL
-    http://beta.quicklisp.org/archive/uiop/2018-07-11/uiop-3.3.2.tgz MD5
-    8d7b7b4065873107147678c6ef72e5ee NAME uiop FILENAME uiop DEPS NIL
-    DEPENDENCIES NIL VERSION 3.3.2 SIBLINGS (asdf-driver) PARASITES NIL) */
+/* (SYSTEM uiop DESCRIPTION System lacks description SHA256
+    1r89bqjmz1919l3wlmd32p416jzpacy3glkhiwnf1crkja27iagm URL
+    http://beta.quicklisp.org/archive/uiop/2019-05-21/uiop-3.3.3.tgz MD5
+    64d561117f048ad8621eff7a6173d65e NAME uiop FILENAME uiop DEPS NIL
+    DEPENDENCIES NIL VERSION 3.3.3 SIBLINGS (asdf-driver) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
index 6d02b9764701..c3928cf0e4cc 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/usocket.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''usocket'';
-  version = ''0.7.1'';
+  version = ''0.8.2'';
 
   description = ''Universal socket library for Common Lisp'';
 
   deps = [ args."split-sequence" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/usocket/2018-08-31/usocket-0.7.1.tgz'';
-    sha256 = ''18w2f835lgiznv6rm1v7yq94dg5qjcmbj91kpvfjw81pk4i7i7lw'';
+    url = ''http://beta.quicklisp.org/archive/usocket/2019-07-10/usocket-0.8.2.tgz'';
+    sha256 = ''0g5niqwzh4y6f25lnjx1qyzl0yg906zq2sy7ck67f7bcmc79w8zm'';
   };
 
   packageName = "usocket";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM usocket DESCRIPTION Universal socket library for Common Lisp SHA256
-    18w2f835lgiznv6rm1v7yq94dg5qjcmbj91kpvfjw81pk4i7i7lw URL
-    http://beta.quicklisp.org/archive/usocket/2018-08-31/usocket-0.7.1.tgz MD5
-    fb48ff59f0d71bfc9c2939aacdb123a0 NAME usocket FILENAME usocket DEPS
+    0g5niqwzh4y6f25lnjx1qyzl0yg906zq2sy7ck67f7bcmc79w8zm URL
+    http://beta.quicklisp.org/archive/usocket/2019-07-10/usocket-0.8.2.tgz MD5
+    0218443cd70b675d9b09c1bf09cd9da4 NAME usocket FILENAME usocket DEPS
     ((NAME split-sequence FILENAME split-sequence)) DEPENDENCIES
-    (split-sequence) VERSION 0.7.1 SIBLINGS (usocket-server usocket-test)
+    (split-sequence) VERSION 0.8.2 SIBLINGS (usocket-server usocket-test)
     PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
index 0d8822c2f4fe..59a41a7cf9ae 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/woo.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''woo'';
-  version = ''20181210-git'';
+  version = ''20190710-git'';
 
   description = ''An asynchronous HTTP server written in Common Lisp'';
 
   deps = [ args."alexandria" args."babel" args."bordeaux-threads" args."cffi" args."cffi-grovel" args."cffi-toolchain" args."cl-utilities" args."clack-socket" args."fast-http" args."fast-io" args."flexi-streams" args."lev" args."proc-parse" args."quri" args."smart-buffer" args."split-sequence" args."static-vectors" args."swap-bytes" args."trivial-features" args."trivial-gray-streams" args."trivial-utf-8" args."vom" args."xsubseq" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/woo/2018-12-10/woo-20181210-git.tgz'';
-    sha256 = ''1j00hvlhc24r3zyxh3bjb3xj74lyrvmbdgsdabidjxlzihmcb4ms'';
+    url = ''http://beta.quicklisp.org/archive/woo/2019-07-10/woo-20190710-git.tgz'';
+    sha256 = ''16fxk75bfb6g3998wqra93a7w4n0yqqi1i8w8dx8yiyy9yb7jij5'';
   };
 
   packageName = "woo";
@@ -18,9 +18,9 @@ rec {
   overrides = x: x;
 }
 /* (SYSTEM woo DESCRIPTION An asynchronous HTTP server written in Common Lisp
-    SHA256 1j00hvlhc24r3zyxh3bjb3xj74lyrvmbdgsdabidjxlzihmcb4ms URL
-    http://beta.quicklisp.org/archive/woo/2018-12-10/woo-20181210-git.tgz MD5
-    ecc4d7c194b3a941e381d9e6392d51c9 NAME woo FILENAME woo DEPS
+    SHA256 16fxk75bfb6g3998wqra93a7w4n0yqqi1i8w8dx8yiyy9yb7jij5 URL
+    http://beta.quicklisp.org/archive/woo/2019-07-10/woo-20190710-git.tgz MD5
+    f35b65dec09276f08c4ca532d077a7a9 NAME woo FILENAME woo DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME bordeaux-threads FILENAME bordeaux-threads)
      (NAME cffi FILENAME cffi) (NAME cffi-grovel FILENAME cffi-grovel)
@@ -43,4 +43,4 @@ rec {
      cl-utilities clack-socket fast-http fast-io flexi-streams lev proc-parse
      quri smart-buffer split-sequence static-vectors swap-bytes
      trivial-features trivial-gray-streams trivial-utf-8 vom xsubseq)
-    VERSION 20181210-git SIBLINGS (clack-handler-woo woo-test) PARASITES NIL) */
+    VERSION 20190710-git SIBLINGS (clack-handler-woo woo-test) PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix
index 4c88e839bdab..9854567fd5bf 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xembed.nix
@@ -1,15 +1,15 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''xembed'';
-  version = ''clx-20120909-git'';
+  version = ''clx-20190307-git'';
 
-  description = '''';
+  description = ''An implementation of the XEMBED protocol that integrates with CLX.'';
 
   deps = [ args."clx" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/clx-xembed/2012-09-09/clx-xembed-20120909-git.tgz'';
-    sha256 = ''06h2md0lb0sribpkg5k7z7fnc02k0ssaswcimg2ya8wqypj4rlbb'';
+    url = ''http://beta.quicklisp.org/archive/clx-xembed/2019-03-07/clx-xembed-20190307-git.tgz'';
+    sha256 = ''1a0yy707qdb7sw20lavmhlass3n3ds2pn52jxdkrvpgg358waf3j'';
   };
 
   packageName = "xembed";
@@ -17,9 +17,10 @@ rec {
   asdFilesToKeep = ["xembed.asd"];
   overrides = x: x;
 }
-/* (SYSTEM xembed DESCRIPTION NIL SHA256
-    06h2md0lb0sribpkg5k7z7fnc02k0ssaswcimg2ya8wqypj4rlbb URL
-    http://beta.quicklisp.org/archive/clx-xembed/2012-09-09/clx-xembed-20120909-git.tgz
-    MD5 4270362697093017ac0243b71e3576f9 NAME xembed FILENAME xembed DEPS
-    ((NAME clx FILENAME clx)) DEPENDENCIES (clx) VERSION clx-20120909-git
+/* (SYSTEM xembed DESCRIPTION
+    An implementation of the XEMBED protocol that integrates with CLX. SHA256
+    1a0yy707qdb7sw20lavmhlass3n3ds2pn52jxdkrvpgg358waf3j URL
+    http://beta.quicklisp.org/archive/clx-xembed/2019-03-07/clx-xembed-20190307-git.tgz
+    MD5 04304f828ea8970b6f5301fe78ed8e10 NAME xembed FILENAME xembed DEPS
+    ((NAME clx FILENAME clx)) DEPENDENCIES (clx) VERSION clx-20190307-git
     SIBLINGS NIL PARASITES NIL) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix
index ad90b8552181..3e14a5ba9f06 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-output/xpath.nix
@@ -1,7 +1,7 @@
 args @ { fetchurl, ... }:
 rec {
   baseName = ''xpath'';
-  version = ''plexippus-20181210-git'';
+  version = ''plexippus-20190521-git'';
 
   parasites = [ "xpath/test" ];
 
@@ -10,8 +10,8 @@ rec {
   deps = [ args."alexandria" args."babel" args."cl-ppcre" args."closure-common" args."cxml" args."parse-number" args."puri" args."trivial-features" args."trivial-gray-streams" args."yacc" ];
 
   src = fetchurl {
-    url = ''http://beta.quicklisp.org/archive/plexippus-xpath/2018-12-10/plexippus-xpath-20181210-git.tgz'';
-    sha256 = ''1acg17ckl65h0xr1vv2ljkmli7jgln7qhl4zs8lwl9jcayi6fynn'';
+    url = ''http://beta.quicklisp.org/archive/plexippus-xpath/2019-05-21/plexippus-xpath-20190521-git.tgz'';
+    sha256 = ''15357w1rlmahld4rh8avix7m40mwiiv7n2vlyc57ldw2k1m0n7xa'';
   };
 
   packageName = "xpath";
@@ -21,9 +21,9 @@ rec {
 }
 /* (SYSTEM xpath DESCRIPTION
     An implementation of the XML Path Language (XPath) Version 1.0 SHA256
-    1acg17ckl65h0xr1vv2ljkmli7jgln7qhl4zs8lwl9jcayi6fynn URL
-    http://beta.quicklisp.org/archive/plexippus-xpath/2018-12-10/plexippus-xpath-20181210-git.tgz
-    MD5 106060a6e90dd35c80385ad5a1e8554d NAME xpath FILENAME xpath DEPS
+    15357w1rlmahld4rh8avix7m40mwiiv7n2vlyc57ldw2k1m0n7xa URL
+    http://beta.quicklisp.org/archive/plexippus-xpath/2019-05-21/plexippus-xpath-20190521-git.tgz
+    MD5 eb9a4c39a7c37aa0338c401713b3f944 NAME xpath FILENAME xpath DEPS
     ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
      (NAME cl-ppcre FILENAME cl-ppcre)
      (NAME closure-common FILENAME closure-common) (NAME cxml FILENAME cxml)
@@ -34,4 +34,4 @@ rec {
     DEPENDENCIES
     (alexandria babel cl-ppcre closure-common cxml parse-number puri
      trivial-features trivial-gray-streams yacc)
-    VERSION plexippus-20181210-git SIBLINGS NIL PARASITES (xpath/test)) */
+    VERSION plexippus-20190521-git SIBLINGS NIL PARASITES (xpath/test)) */
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index 3343f22b7b0b..2e4ceda31c81 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -165,4 +165,11 @@ $out/lib/common-lisp/query-fs"
       meta.broken = true; # 2018-04-10
     };
   };
+  split-sequence = x: {
+    overrides = y: (x.overrides y) // {
+      preConfigure = ''
+        sed -i -e '/:components/i:serial t' split-sequence.asd
+      '';
+    };
+  };
 }
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
index 0de50a17ad66..2e71e0174f62 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix.nix
@@ -590,6 +590,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."lack-util" or (x: {}))
        (import ./quicklisp-to-nix-output/lack-util.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "ironclad" = quicklisp-to-nix-packages."ironclad";
            "nibbles" = quicklisp-to-nix-packages."nibbles";
        }));
@@ -1352,6 +1354,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."lack" or (x: {}))
        (import ./quicklisp-to-nix-output/lack.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "ironclad" = quicklisp-to-nix-packages."ironclad";
            "lack-component" = quicklisp-to-nix-packages."lack-component";
            "lack-util" = quicklisp-to-nix-packages."lack-util";
@@ -1372,6 +1376,8 @@ let quicklisp-to-nix-packages = rec {
        (qlOverrides."ironclad" or (x: {}))
        (import ./quicklisp-to-nix-output/ironclad.nix {
          inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "bordeaux-threads" = quicklisp-to-nix-packages."bordeaux-threads";
            "nibbles" = quicklisp-to-nix-packages."nibbles";
            "rt" = quicklisp-to-nix-packages."rt";
        }));
@@ -1683,6 +1689,7 @@ let quicklisp-to-nix-packages = rec {
            "split-sequence" = quicklisp-to-nix-packages."split-sequence";
            "sqlite" = quicklisp-to-nix-packages."sqlite";
            "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-garbage" = quicklisp-to-nix-packages."trivial-garbage";
            "trivial-types" = quicklisp-to-nix-packages."trivial-types";
            "uiop" = quicklisp-to-nix-packages."uiop";
        }));
diff --git a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
index 9dd82ce2b2d6..6a4c2b4ad1a2 100644
--- a/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
+++ b/nixpkgs/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
@@ -352,7 +352,10 @@ quicklisp-to-nix."
         (remove name (mapcar 'name ql-sibling-systems)
                 :test 'equal))
        (dependencies raw-dependencies)
-       (description (asdf:system-description (asdf:find-system system)))
+       (description
+         (or
+           (ignore-errors (asdf:system-description (asdf:find-system system)))
+           "System lacks description"))
        (release-name (short-description ql-release)))
     (list
      :system system
diff --git a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix b/nixpkgs/pkgs/development/lua-modules/generated-packages.nix
index dce179cd6409..4b8369456b75 100644
--- a/nixpkgs/pkgs/development/lua-modules/generated-packages.nix
+++ b/nixpkgs/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";
@@ -392,6 +412,26 @@ lgi = buildLuarocksPackage {
     };
   };
 };
+ljsyscall = buildLuarocksPackage {
+  pname = "ljsyscall";
+  version = "0.12-1";
+
+  src = fetchurl {
+    url    = https://luarocks.org/ljsyscall-0.12-1.src.rock;
+    sha256 = "12gs81lnzpxi5d409lbrvjfflld5l2xsdkfhkz93xg7v65sfhh2j";
+  };
+  disabled = (lua.luaversion != "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.myriabit.com/ljsyscall/";
+    description = "LuaJIT Linux syscall FFI";
+    maintainers = with maintainers; [ lblasc ];
+    license = {
+      fullName = "MIT";
+    };
+  };
+};
 lpeg = buildLuarocksPackage {
   pname = "lpeg";
   version = "1.0.2-1";
@@ -1190,6 +1230,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/nixpkgs/pkgs/development/lua-modules/overrides.nix b/nixpkgs/pkgs/development/lua-modules/overrides.nix
index e765118464d1..a4c1c7fa324e 100644
--- a/nixpkgs/pkgs/development/lua-modules/overrides.nix
+++ b/nixpkgs/pkgs/development/lua-modules/overrides.nix
@@ -80,6 +80,25 @@ with super;
     */
   });
 
+  ljsyscall = super.ljsyscall.override(rec {
+    version = "unstable-20180515";
+    # package hasn't seen any release for a long time
+    src = pkgs.fetchFromGitHub {
+      owner = "justincormack";
+      repo = "ljsyscall";
+      rev = "e587f8c55aad3955dddab3a4fa6c1968037b5c6e";
+      sha256 = "06v52agqyziwnbp2my3r7liv245ddmb217zmyqakh0ldjdsr8lz4";
+    };
+    knownRockspec = "rockspec/ljsyscall-scm-1.rockspec";
+    # actually library works fine with lua 5.2
+    preConfigure = ''
+      sed -i 's/lua == 5.1/lua >= 5.1, < 5.3/' ${knownRockspec}
+    '';
+    disabled = luaOlder "5.1" || luaAtLeast "5.3";
+
+    propagatedBuildInputs = with pkgs.lib; optional (!isLuaJIT) luaffi;
+  });
+
   lgi = super.lgi.override({
     nativeBuildInputs = [
       pkgs.pkgconfig
diff --git a/nixpkgs/pkgs/development/misc/google-clasp/README.md b/nixpkgs/pkgs/development/misc/google-clasp/README.md
new file mode 100644
index 000000000000..9adf2255380e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/default.nix b/nixpkgs/pkgs/development/misc/google-clasp/default.nix
new file mode 100644
index 000000000000..105104ebd721
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/dotf.patch b/nixpkgs/pkgs/development/misc/google-clasp/dotf.patch
new file mode 100644
index 000000000000..0d59cae6125c
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/generate.sh b/nixpkgs/pkgs/development/misc/google-clasp/generate.sh
new file mode 100755
index 000000000000..4e04231e2b89
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/google-clasp.nix b/nixpkgs/pkgs/development/misc/google-clasp/google-clasp.nix
new file mode 100644
index 000000000000..c32132d7ac64
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/misc/google-clasp/node-packages.json b/nixpkgs/pkgs/development/misc/google-clasp/node-packages.json
new file mode 100644
index 000000000000..b868571d0516
--- /dev/null
+++ b/nixpkgs/pkgs/development/misc/google-clasp/node-packages.json
@@ -0,0 +1,3 @@
+[
+  {"@google/clasp": "2.2.1"}
+]
diff --git a/nixpkgs/pkgs/development/misc/google-clasp/node-packages.nix b/nixpkgs/pkgs/development/misc/google-clasp/node-packages.nix
new file mode 100644
index 000000000000..6c51318c9ebf
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/mobile/androidenv/build-app.nix b/nixpkgs/pkgs/development/mobile/androidenv/build-app.nix
index 62cdeb43032e..6f4b32b486ba 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/build-app.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix b/nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix
index e5802c12e816..6e6a349cccc5 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/compose-android-packages.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/mobile/androidenv/default.nix b/nixpkgs/pkgs/development/mobile/androidenv/default.nix
index b05167460717..14882bc22438 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/mobile/androidenv/emulate-app.nix b/nixpkgs/pkgs/development/mobile/androidenv/emulate-app.nix
index 6c8f6d664d75..fa9a56fadbad 100644
--- a/nixpkgs/pkgs/development/mobile/androidenv/emulate-app.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/mobile/xpwn/default.nix b/nixpkgs/pkgs/development/mobile/xpwn/default.nix
index d62902e4f6e4..9ec5977d5947 100644
--- a/nixpkgs/pkgs/development/mobile/xpwn/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/node-packages/node-packages-v10.json b/nixpkgs/pkgs/development/node-packages/node-packages-v10.json
index 667b4233ff8f..e53f64d8ecaf 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages-v10.json
+++ b/nixpkgs/pkgs/development/node-packages/node-packages-v10.json
@@ -45,6 +45,7 @@
 , "git-standup"
 , "graphql-cli"
 , "grunt-cli"
+, "gtop"
 , "gulp"
 , "gulp-cli"
 , "html-minifier"
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages-v10.nix b/nixpkgs/pkgs/development/node-packages/node-packages-v10.nix
index 8b5678755e5d..ce8a63cfdd37 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages-v10.nix
+++ b/nixpkgs/pkgs/development/node-packages/node-packages-v10.nix
@@ -2281,13 +2281,13 @@ let
         sha512 = "hb+6E7kMzWlcwfe//ILDoktBPKL2a3+RnJT/CXnzRXaiLQpsdkf5li4q2v0fmvd+4v7L3tTN8KM+//lJyviEkg==";
       };
     };
-    "@snyk/dep-graph-1.10.0" = {
+    "@snyk/dep-graph-1.12.0" = {
       name = "_at_snyk_slash_dep-graph";
       packageName = "@snyk/dep-graph";
-      version = "1.10.0";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.10.0.tgz";
-        sha512 = "QwQTmmnVb1mjAffGsjKKrwit8ahLWyhlKWQcTVZo9UXFgWAwiuCjTXKAXhijZjGvrXQzNf5KbIBu+SZ1Dq2toQ==";
+        url = "https://registry.npmjs.org/@snyk/dep-graph/-/dep-graph-1.12.0.tgz";
+        sha512 = "n7+PlHn3SqznHgsCpeBRfEvU1oiQydoGkXQlnSB2+tfImiKXvY7YZbrg4wlbvYgylYiTbpCi5CpPNkJG14S+UQ==";
       };
     };
     "@snyk/gemfile-1.2.0" = {
@@ -2839,13 +2839,13 @@ let
         sha512 = "mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==";
       };
     };
-    "@types/ws-6.0.1" = {
+    "@types/ws-6.0.2" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "6.0.1";
+      version = "6.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.1.tgz";
-        sha512 = "EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-6.0.2.tgz";
+        sha512 = "22XiR1ox9LftTaAtn/c5JCninwc7moaqbkJfaDUb7PkaUitcf5vbTZHdq9dxSMviCm9C3W85rzB8e6yNR70apQ==";
       };
     };
     "@types/zen-observable-0.8.0" = {
@@ -2857,40 +2857,40 @@ let
         sha512 = "te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==";
       };
     };
-    "@vue/cli-shared-utils-3.9.0" = {
+    "@vue/cli-shared-utils-3.10.0" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "3.9.0";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.9.0.tgz";
-        sha512 = "wumeMZTz5aQ+1Y6uxTKegIsgOXEWT3hT8f9sW2mj5SwNDVyQ+AHZTgSynYExTUJg3dH81uKgFDUpPdAvGxzh8g==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.10.0.tgz";
+        sha512 = "i96XBUtLdWeKFCC/ot12ngqnVikN/dXpelGdyxvNZczCkX7Je0FUdrZkiw0+uTYTu1RmuYWpLs+vb/YQerjiWg==";
       };
     };
-    "@vue/cli-ui-3.9.3" = {
+    "@vue/cli-ui-3.10.0" = {
       name = "_at_vue_slash_cli-ui";
       packageName = "@vue/cli-ui";
-      version = "3.9.3";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-3.9.3.tgz";
-        sha512 = "CDMQn1An4OlaLoB0paZfXBSvuUUkR3BPU/EWTLszP1lHqTecAkj7ESIdelXfpPwRhxchE/7c9s9XXEhpHublrQ==";
+        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-3.10.0.tgz";
+        sha512 = "Tekgh54ClA+x3ey3H1td/RVhGt9MG02/z/OtG+q2Dcy9j47bscDDiTv3OJgw64WrH5tqz1aKEA/SibxL9ehS+Q==";
       };
     };
-    "@vue/cli-ui-addon-webpack-3.9.3" = {
+    "@vue/cli-ui-addon-webpack-3.10.0" = {
       name = "_at_vue_slash_cli-ui-addon-webpack";
       packageName = "@vue/cli-ui-addon-webpack";
-      version = "3.9.3";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-3.9.3.tgz";
-        sha512 = "BQro2UwHx7w1DcM2MJoF7qfa/Pp48mZWLwqJjCJVqg1utFkAqwjlIM9VweYWEWO7/jJ5B4JfuKCzRrGTtGDbdw==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-3.10.0.tgz";
+        sha512 = "c930BWpeFu1H+mbUZT4VSLngD95yaOAg9qr21Kq1KMZ3CW7gakbttwpgXjn8edwdkvUl65IpSkdh/n/XyYyXxg==";
       };
     };
-    "@vue/cli-ui-addon-widgets-3.9.3" = {
+    "@vue/cli-ui-addon-widgets-3.10.0" = {
       name = "_at_vue_slash_cli-ui-addon-widgets";
       packageName = "@vue/cli-ui-addon-widgets";
-      version = "3.9.3";
+      version = "3.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-3.9.3.tgz";
-        sha512 = "DnIvWNbhilouNyaevH2aBKSzdUK1zhveQvGp3z9ddVNgD6MadY9qf0YIrGrtzK4gn2Jc42BpOh64Slzwq9KhcQ==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-3.10.0.tgz";
+        sha512 = "FvPB05n8Gp0TbvWPXnlwcQPSLZIwEY+Mzwh0pMDTN9yoxnf+/xhIt2PwRmFtecIBqyBZAIyYI50wmCxs9c2Hbw==";
       };
     };
     "@webassemblyjs/ast-1.8.1" = {
@@ -3550,13 +3550,13 @@ let
         sha1 = "fd8270f71fbb4996b004fa880ee5d46573a731bf";
       };
     };
-    "acorn-globals-4.3.2" = {
+    "acorn-globals-4.3.3" = {
       name = "acorn-globals";
       packageName = "acorn-globals";
-      version = "4.3.2";
+      version = "4.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.2.tgz";
-        sha512 = "BbzvZhVtZP+Bs1J1HcwrQe8ycfO0wStkSGxuul3He3GkHOIZ6eTqOkPuw9IP1X3+IkOo4wiJmwkobzXYz4wewQ==";
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.3.tgz";
+        sha512 = "vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ==";
       };
     };
     "acorn-jsx-3.0.1" = {
@@ -4189,6 +4189,15 @@ let
         sha512 = "8zjUtFJ3db/QoPXuuEMloS2AUf79/yeyttJ7Abr3hteopJu9HK8vsgGviGUMq+zyA6cZZO6gAyZoMTF6TgaEjA==";
       };
     };
+    "ansi-term-0.0.2" = {
+      name = "ansi-term";
+      packageName = "ansi-term";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-term/-/ansi-term-0.0.2.tgz";
+        sha1 = "fd753efa4beada0eac99981bc52a3f6ff019deb7";
+      };
+    };
     "ansi-to-html-0.6.11" = {
       name = "ansi-to-html";
       packageName = "ansi-to-html";
@@ -4207,6 +4216,15 @@ let
         sha1 = "a82250ddb0015e9a27ca82e82ea603bbfa45efaf";
       };
     };
+    "ansicolors-0.2.1" = {
+      name = "ansicolors";
+      packageName = "ansicolors";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz";
+        sha1 = "be089599097b74a5c9c4a84a0cdbcdb62bd87aef";
+      };
+    };
     "ansicolors-0.3.2" = {
       name = "ansicolors";
       packageName = "ansicolors";
@@ -4702,13 +4720,13 @@ let
         sha1 = "ff662b4a78201494a3ee544d3a33fe7496509ebc";
       };
     };
-    "archiver-3.0.3" = {
+    "archiver-3.1.1" = {
       name = "archiver";
       packageName = "archiver";
-      version = "3.0.3";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/archiver/-/archiver-3.0.3.tgz";
-        sha512 = "d0W7NUyXoLklozHHfvWnHoHS3dvQk8eB22pv5tBwcu1jEO5eZY8W+gHytkAaJ0R8fU2TnNThrWYxjvFlKvRxpw==";
+        url = "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz";
+        sha512 = "5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==";
       };
     };
     "archiver-utils-1.3.0" = {
@@ -5539,13 +5557,13 @@ let
         sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
       };
     };
-    "async-limiter-1.0.0" = {
+    "async-limiter-1.0.1" = {
       name = "async-limiter";
       packageName = "async-limiter";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
-        sha512 = "jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==";
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==";
       };
     };
     "async-lock-1.2.2" = {
@@ -5701,13 +5719,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.503.0" = {
+    "aws-sdk-2.504.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.503.0";
+      version = "2.504.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.503.0.tgz";
-        sha512 = "DPwRxhPYCGNvKL9rUhpAoOVpMRyISbVMlXykLQknYo7wyOI+jYcyA7t8H7IFPAqj4ZG+R+Au9tO/KT4im+2gbg==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.504.0.tgz";
+        sha512 = "azOX54oovJv0zWzO23fBgIprwsvx8KUuMR+cAUAOx23D8LJ5S+sl3UYS9Q1X4qF/blBTa4+ZNawZDV0N1HiQmw==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -6763,13 +6781,13 @@ let
         sha1 = "1101e9544f4a76b1bc3b26d452ca96d7a35e7978";
       };
     };
-    "base64-js-1.3.0" = {
+    "base64-js-1.3.1" = {
       name = "base64-js";
       packageName = "base64-js";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz";
-        sha512 = "ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
+        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
       };
     };
     "base64-url-1.2.1" = {
@@ -7078,13 +7096,13 @@ let
         sha512 = "Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==";
       };
     };
-    "binary-search-1.3.5" = {
+    "binary-search-1.3.6" = {
       name = "binary-search";
       packageName = "binary-search";
-      version = "1.3.5";
+      version = "1.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/binary-search/-/binary-search-1.3.5.tgz";
-        sha512 = "RHFP0AdU6KAB0CCZsRMU2CJTk2EpL8GLURT+4gilpjr1f/7M91FgUMnXuQLmf3OKLet34gjuNFwO7e4agdX5pw==";
+        url = "https://registry.npmjs.org/binary-search/-/binary-search-1.3.6.tgz";
+        sha512 = "nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==";
       };
     };
     "binaryheap-0.0.3" = {
@@ -7123,15 +7141,6 @@ let
         sha1 = "b05d8b5f0d09f2df35a9db3b3a62d3808c46c457";
       };
     };
-    "bitfield-2.0.0" = {
-      name = "bitfield";
-      packageName = "bitfield";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bitfield/-/bitfield-2.0.0.tgz";
-        sha512 = "4xM4DYejOHQ/qWBfeqBXNA4mJ12PwcOibFYnH1kYh5U9BHciCqEJBqGNVnMJXUhm8mflujNRLSv7IiVQxovgjw==";
-      };
-    };
     "bitfield-3.0.0" = {
       name = "bitfield";
       packageName = "bitfield";
@@ -7204,13 +7213,13 @@ let
         sha1 = "ffd2eabc141d36ed5c1817df7e992f91fd7fc65c";
       };
     };
-    "bittorrent-tracker-9.11.0" = {
+    "bittorrent-tracker-9.12.1" = {
       name = "bittorrent-tracker";
       packageName = "bittorrent-tracker";
-      version = "9.11.0";
+      version = "9.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.11.0.tgz";
-        sha512 = "T1zvW/kSeEnWT4I3JE+6c7aZbO5jtleZyQe911SyzIxFF9DvtUNWXud3p5ZUkXaoI2xXwfpvlks5VFj5SKEB+A==";
+        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.12.1.tgz";
+        sha512 = "5gjqHG3xV3eEy3UOOn4kkB09sl66t+fYzBGFMI83lRC/+33xmgpDYnu2lOnjYdRPAKWv0nBJT5XR/l9JkQ341A==";
       };
     };
     "bl-0.8.2" = {
@@ -7285,6 +7294,24 @@ let
         sha1 = "825a8fc536a5dc43193467f3124f7e9b78b21cef";
       };
     };
+    "blessed-0.1.81" = {
+      name = "blessed";
+      packageName = "blessed";
+      version = "0.1.81";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/blessed/-/blessed-0.1.81.tgz";
+        sha1 = "f962d687ec2c369570ae71af843256e6d0ca1129";
+      };
+    };
+    "blessed-contrib-4.8.16" = {
+      name = "blessed-contrib";
+      packageName = "blessed-contrib";
+      version = "4.8.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.8.16.tgz";
+        sha512 = "B1fEJTR+8IsimEvYQbvXCvnV0L674rFxy9yMwqibiRO2nxa5fzwnoKhJjRJFCBYH27ztW+b6jKvnOvetnj30WA==";
+      };
+    };
     "blob-0.0.2" = {
       name = "blob";
       packageName = "blob";
@@ -7330,13 +7357,13 @@ let
         sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
       };
     };
-    "block-stream2-1.1.0" = {
+    "block-stream2-2.0.0" = {
       name = "block-stream2";
       packageName = "block-stream2";
-      version = "1.1.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/block-stream2/-/block-stream2-1.1.0.tgz";
-        sha1 = "c738e3a91ba977ebb5e1fef431e13ca11d8639e2";
+        url = "https://registry.npmjs.org/block-stream2/-/block-stream2-2.0.0.tgz";
+        sha512 = "1oI+RHHUEo64xomy1ozLgVJetFlHkIfQfJzTBQrj6xWnEMEPooeo2fZoqFjp0yzfHMBrgxwgh70tKp6T17+i3g==";
       };
     };
     "bluebird-1.1.1" = {
@@ -7411,6 +7438,15 @@ let
         sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==";
       };
     };
+    "bn.js-5.0.0" = {
+      name = "bn.js";
+      packageName = "bn.js";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bn.js/-/bn.js-5.0.0.tgz";
+        sha512 = "bVwDX8AF+72fIUNuARelKAlQUNtPOfG2fRxorbVvFk4zpHbqLrPdOGfVg5vrKwVzLLePqPBiATaOZNELQzmS0A==";
+      };
+    };
     "bncode-0.2.3" = {
       name = "bncode";
       packageName = "bncode";
@@ -7654,6 +7690,15 @@ let
         sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
       };
     };
+    "bresenham-0.0.3" = {
+      name = "bresenham";
+      packageName = "bresenham";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bresenham/-/bresenham-0.0.3.tgz";
+        sha1 = "abdab9e5b194e27c757cd314d8444314f299877a";
+      };
+    };
     "brfs-1.6.1" = {
       name = "brfs";
       packageName = "brfs";
@@ -8509,13 +8554,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30000988" = {
+    "caniuse-lite-1.0.30000989" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30000988";
+      version = "1.0.30000989";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000988.tgz";
-        sha512 = "lPj3T8poYrRc/bniW5SQPND3GRtSrQdUM/R4mCYTbZxyi3jQiggLvZH4+BYUuX0t4TXjU+vMM7KFDQg+rSzZUQ==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz";
+        sha512 = "vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==";
       };
     };
     "capture-stack-trace-1.0.1" = {
@@ -8527,6 +8572,15 @@ let
         sha512 = "mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==";
       };
     };
+    "cardinal-1.0.0" = {
+      name = "cardinal";
+      packageName = "cardinal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz";
+        sha1 = "50e21c1b0aa37729f9377def196b5a9cec932ee9";
+      };
+    };
     "caseless-0.11.0" = {
       name = "caseless";
       packageName = "caseless";
@@ -8779,6 +8833,15 @@ let
         sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
       };
     };
+    "charm-0.1.2" = {
+      name = "charm";
+      packageName = "charm";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/charm/-/charm-0.1.2.tgz";
+        sha1 = "06c21eed1a1b06aeb67553cdc53e23274bac2296";
+      };
+    };
     "charset-1.0.1" = {
       name = "charset";
       packageName = "charset";
@@ -9013,13 +9076,13 @@ let
         sha1 = "04a106672c18b085ab774d983dfa3ea138f22205";
       };
     };
-    "chunk-store-stream-4.0.0" = {
+    "chunk-store-stream-4.1.0" = {
       name = "chunk-store-stream";
       packageName = "chunk-store-stream";
-      version = "4.0.0";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chunk-store-stream/-/chunk-store-stream-4.0.0.tgz";
-        sha512 = "hmtlqMozj1LbZlEpTBXL3YrBsLz4nJEXVihrSbe6ugfxH/Yae5JvUCXQwpWI7VELjXX0GyZK3ajQDBX/r30zBw==";
+        url = "https://registry.npmjs.org/chunk-store-stream/-/chunk-store-stream-4.1.0.tgz";
+        sha512 = "GjkZ16bFKMFnb8LrGZXAPeRoLXZTLu9ges6LCErJe28bMp6zKLxjWuJ7TYzR0jWq9nwo58hXG3BXZYy66Vze0Q==";
       };
     };
     "ci-info-1.6.0" = {
@@ -10165,13 +10228,13 @@ let
         sha1 = "524a9f10903f3a813389b0225d27c48bb751890f";
       };
     };
-    "compress-commons-2.0.0" = {
+    "compress-commons-2.1.1" = {
       name = "compress-commons";
       packageName = "compress-commons";
-      version = "2.0.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/compress-commons/-/compress-commons-2.0.0.tgz";
-        sha512 = "gnETNngrfsAoLBENM8M0DoiCDJkHwz3OfIg4mBtqKDcRgE4oXNwHxHxgHvwKKlrcD7eZ7BVTy4l8t9xVF7q3FQ==";
+        url = "https://registry.npmjs.org/compress-commons/-/compress-commons-2.1.1.tgz";
+        sha512 = "eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==";
       };
     };
     "compressible-2.0.17" = {
@@ -11065,6 +11128,15 @@ let
         sha1 = "e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4";
       };
     };
+    "crc32-stream-3.0.1" = {
+      name = "crc32-stream";
+      packageName = "crc32-stream";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz";
+        sha512 = "mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==";
+      };
+    };
     "create-ecdh-4.0.3" = {
       name = "create-ecdh";
       packageName = "create-ecdh";
@@ -11101,13 +11173,13 @@ let
         sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==";
       };
     };
-    "create-torrent-4.0.0" = {
+    "create-torrent-4.2.1" = {
       name = "create-torrent";
       packageName = "create-torrent";
-      version = "4.0.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-4.0.0.tgz";
-        sha512 = "16JQRuPJWAntC4p+k6EFMxKatqzQOKv037aAun6Comomizlg9fOoBiIhxC/QCQfJFmGIfnT6HMOEa6da5xUmsg==";
+        url = "https://registry.npmjs.org/create-torrent/-/create-torrent-4.2.1.tgz";
+        sha512 = "IlKF2B3vrAGVzcgYVVgfsekp4p2N9BqkGeVqckTljajs+qIQ5oAwAzELJtb6sZ14UQBT7ZQNOOyvxgIL98VpZg==";
       };
     };
     "creato-1.0.5" = {
@@ -13162,6 +13234,15 @@ let
         sha512 = "l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==";
       };
     };
+    "dom-serializer-0.2.1" = {
+      name = "dom-serializer";
+      packageName = "dom-serializer";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz";
+        sha512 = "sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==";
+      };
+    };
     "dom-walk-0.1.1" = {
       name = "dom-walk";
       packageName = "dom-walk";
@@ -13207,6 +13288,15 @@ let
         sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
       };
     };
+    "domelementtype-2.0.1" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz";
+        sha512 = "5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==";
+      };
+    };
     "domexception-1.0.1" = {
       name = "domexception";
       packageName = "domexception";
@@ -13387,6 +13477,24 @@ let
         sha512 = "pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==";
       };
     };
+    "drawille-blessed-contrib-1.0.0" = {
+      name = "drawille-blessed-contrib";
+      packageName = "drawille-blessed-contrib";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/drawille-blessed-contrib/-/drawille-blessed-contrib-1.0.0.tgz";
+        sha1 = "15c27934f57a0056ad13596e1561637bc941f0b7";
+      };
+    };
+    "drawille-canvas-blessed-contrib-0.1.3" = {
+      name = "drawille-canvas-blessed-contrib";
+      packageName = "drawille-canvas-blessed-contrib";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/drawille-canvas-blessed-contrib/-/drawille-canvas-blessed-contrib-0.1.3.tgz";
+        sha1 = "212f078a722bfd2ecc267ea86ab6dddc1081fd48";
+      };
+    };
     "dreamopt-0.6.0" = {
       name = "dreamopt";
       packageName = "dreamopt";
@@ -13648,13 +13756,13 @@ let
         sha512 = "PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q==";
       };
     };
-    "electron-to-chromium-1.3.210" = {
+    "electron-to-chromium-1.3.215" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.210";
+      version = "1.3.215";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.210.tgz";
-        sha512 = "m1i/F+gw9jkauxDx0mOr7Sj6vp6se1mfkQNYqZb1yL5VGTp0AC1NZH5CGI6YMSO7WaScILmkKDZFG9/hlR9axQ==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.215.tgz";
+        sha512 = "ZV3OnwF0FlIygwxAG2H92yt7WGjWBpawyFAFu8e9k7xJatY+BPowID0D0Bs3PMACYAJATEejw/I9cawO27ZvTg==";
       };
     };
     "elegant-spinner-1.0.1" = {
@@ -14054,6 +14162,15 @@ let
         sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==";
       };
     };
+    "entities-2.0.0" = {
+      name = "entities";
+      packageName = "entities";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz";
+        sha512 = "D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==";
+      };
+    };
     "env-paths-1.0.0" = {
       name = "env-paths";
       packageName = "env-paths";
@@ -14594,6 +14711,15 @@ let
         sha1 = "609ac5c2667eae5433b41eb9ecece2331b41498f";
       };
     };
+    "esprima-3.0.0" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz";
+        sha1 = "53cf247acda77313e551c3aa2e73342d3fb4f7d9";
+      };
+    };
     "esprima-3.1.3" = {
       name = "esprima";
       packageName = "esprima";
@@ -14747,6 +14873,15 @@ let
         sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
       };
     };
+    "event-stream-0.9.8" = {
+      name = "event-stream";
+      packageName = "event-stream";
+      version = "0.9.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-stream/-/event-stream-0.9.8.tgz";
+        sha1 = "5da9cf3c7900975989db5a68c28e5b3c98ebe03a";
+      };
+    };
     "event-stream-3.1.5" = {
       name = "event-stream";
       packageName = "event-stream";
@@ -15845,13 +15980,13 @@ let
         sha512 = "7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==";
       };
     };
-    "filestream-4.1.3" = {
+    "filestream-5.0.0" = {
       name = "filestream";
       packageName = "filestream";
-      version = "4.1.3";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filestream/-/filestream-4.1.3.tgz";
-        sha1 = "948fcaade8221f715f5ecaddc54862faaacc9325";
+        url = "https://registry.npmjs.org/filestream/-/filestream-5.0.0.tgz";
+        sha512 = "5H3RqSaJp12THfZiNWodYM7TiKfQvrpX+EIOrB1XvCceTys4yvfEIl8wDp+/yI8qj6Bxym8m0NYWwVXDAet/+A==";
       };
     };
     "fill-range-2.2.4" = {
@@ -16187,15 +16322,6 @@ let
         sha1 = "554440766da0a0d603999f433453f6c2fc6a75c1";
       };
     };
-    "flatten-1.0.2" = {
-      name = "flatten";
-      packageName = "flatten";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz";
-        sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
-      };
-    };
     "flow-bin-0.85.0" = {
       name = "flow-bin";
       packageName = "flow-bin";
@@ -17375,6 +17501,15 @@ let
         sha512 = "SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ==";
       };
     };
+    "gl-matrix-2.8.1" = {
+      name = "gl-matrix";
+      packageName = "gl-matrix";
+      version = "2.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gl-matrix/-/gl-matrix-2.8.1.tgz";
+        sha512 = "0YCjVpE3pS5XWlN3J4X7AiAx65+nqAI54LndtVFnQZB6G/FVLkZH8y8V6R3cIoOQR4pUdfwQGd1iwyoXHJ4Qfw==";
+      };
+    };
     "glob-3.1.21" = {
       name = "glob";
       packageName = "glob";
@@ -17871,13 +18006,13 @@ let
         sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
       };
     };
-    "graceful-fs-4.2.0" = {
+    "graceful-fs-4.2.1" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz";
-        sha512 = "jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.1.tgz";
+        sha512 = "b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw==";
       };
     };
     "graceful-readlink-1.0.1" = {
@@ -18762,6 +18897,15 @@ let
         sha1 = "8f2d508d0600b4a456da2f086556e7e5c056a3c6";
       };
     };
+    "here-0.0.2" = {
+      name = "here";
+      packageName = "here";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/here/-/here-0.0.2.tgz";
+        sha1 = "69c1af3f02121f3d8788e02e84dc8b3905d71195";
+      };
+    };
     "hex-color-regex-1.1.0" = {
       name = "hex-color-regex";
       packageName = "hex-color-regex";
@@ -18870,13 +19014,13 @@ let
         sha1 = "08a74d9272a9cc83ae8e6bbe0303f0ee76432094";
       };
     };
-    "hosted-git-info-2.7.1" = {
+    "hosted-git-info-2.8.2" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "2.7.1";
+      version = "2.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz";
-        sha512 = "7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.2.tgz";
+        sha512 = "CyjlXII6LMsPMyUzxpTt8fzh5QwzGqPmQXgY/Jyf4Zfp27t/FvfhwoE/8laaMUcMy816CkWF20I7NeQhwwY88w==";
       };
     };
     "hsl-regex-1.0.0" = {
@@ -21228,6 +21372,15 @@ let
         sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
       };
     };
+    "is-wsl-2.1.0" = {
+      name = "is-wsl";
+      packageName = "is-wsl";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.0.tgz";
+        sha512 = "pFTjpv/x5HRj8kbZ/Msxi9VrvtOMRBqaDi3OIcbwPI3OuH+r3lLxVWukLITBaOGJIbA/w2+M1eVmVa4XNQlAmQ==";
+      };
+    };
     "is-yarn-global-0.3.0" = {
       name = "is-yarn-global";
       packageName = "is-yarn-global";
@@ -24820,6 +24973,15 @@ let
         sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
       };
     };
+    "map-canvas-0.1.5" = {
+      name = "map-canvas";
+      packageName = "map-canvas";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-canvas/-/map-canvas-0.1.5.tgz";
+        sha1 = "8be6bade0bf3e9f9a8b56e8836a1d1d133cab186";
+      };
+    };
     "map-filter-reduce-2.2.1" = {
       name = "map-filter-reduce";
       packageName = "map-filter-reduce";
@@ -25018,6 +25180,15 @@ let
         sha512 = "c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==";
       };
     };
+    "marked-terminal-1.7.0" = {
+      name = "marked-terminal";
+      packageName = "marked-terminal";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/marked-terminal/-/marked-terminal-1.7.0.tgz";
+        sha1 = "c8c460881c772c7604b64367007ee5f77f125904";
+      };
+    };
     "marky-1.2.1" = {
       name = "marky";
       packageName = "marky";
@@ -25324,6 +25495,15 @@ let
         sha512 = "ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==";
       };
     };
+    "memory-streams-0.1.3" = {
+      name = "memory-streams";
+      packageName = "memory-streams";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-streams/-/memory-streams-0.1.3.tgz";
+        sha512 = "qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==";
+      };
+    };
     "memorystore-1.6.1" = {
       name = "memorystore";
       packageName = "memorystore";
@@ -25333,6 +25513,15 @@ let
         sha512 = "rYRjVukgBR9sptGI3IfpAjZc4SkupddhAenUhPTGprnqM8Qh863PxfXxXWlfvHpMIAkJCok28Bm7ZlOKB4U+MA==";
       };
     };
+    "memorystream-0.3.1" = {
+      name = "memorystream";
+      packageName = "memorystream";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz";
+        sha1 = "86d7090b30ce455d63fbae12dda51a47ddcaf9b2";
+      };
+    };
     "menu-string-1.3.0" = {
       name = "menu-string";
       packageName = "menu-string";
@@ -26458,13 +26647,13 @@ let
         sha512 = "xasv76hl6nr1dEy3lPvy7Ej7K/Lx3O/FCvwge8PeVJpciPPoNCbaANcNiBug3IpdvTveZUcAV0DJzdnUDMesNQ==";
       };
     };
-    "multistream-3.0.0" = {
+    "multistream-3.1.0" = {
       name = "multistream";
       packageName = "multistream";
-      version = "3.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multistream/-/multistream-3.0.0.tgz";
-        sha512 = "v1Fx9uhHEpTB725/Kj8YpRCvrLhb20LeABFLw+0dkBkKUUAbDCY6CUUNzGQsJ94ji/p50wBPsRjIQXN1iOwZYA==";
+        url = "https://registry.npmjs.org/multistream/-/multistream-3.1.0.tgz";
+        sha512 = "zBgD3kn8izQAN/TaL1PCMv15vYpf+Vcrsfub06njuYVYlzUldzpopTlrEZ53pZVEbfn3Shtv7vRFoOv6LOV87Q==";
       };
     };
     "mustache-2.3.2" = {
@@ -26584,13 +26773,13 @@ let
         sha512 = "iWo/23xFnl+IGeX+LlfwoVKtyY4volPSodf3nwPScPgxjws4k2ZUozPG98OouMA0yn0JamqApjRw7eqLrzyV2A==";
       };
     };
-    "muxrpcli-3.1.1" = {
+    "muxrpcli-3.1.2" = {
       name = "muxrpcli";
       packageName = "muxrpcli";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/muxrpcli/-/muxrpcli-3.1.1.tgz";
-        sha512 = "DSBXkmbfZgUrM9Y54Saeb2RySmuDMo5jAnMnBo0JHempIlHIXmnrIASdC0co0TQATq8kECF6SYcTFbJLKZUfJw==";
+        url = "https://registry.npmjs.org/muxrpcli/-/muxrpcli-3.1.2.tgz";
+        sha512 = "3nDL3dYXKxAN+spKSQBolxFoOl4HJCcm5UKlxjdjQxcjvLGLFLvwuNf1vCRpSveCHiFCxPLltWq2hT+vlDLPtQ==";
       };
     };
     "mv-2.1.1" = {
@@ -27480,6 +27669,15 @@ let
         sha512 = "SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==";
       };
     };
+    "node-notifier-5.4.2" = {
+      name = "node-notifier";
+      packageName = "node-notifier";
+      version = "5.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.2.tgz";
+        sha512 = "85nkTziazE2dR4pyoLxMwz0b9MmxFQPVXYs/WlWI7CPtBkARJOV+89khdNjpbclXIJDECQYnTvh1xuZV3WHkCA==";
+      };
+    };
     "node-persist-2.1.0" = {
       name = "node-persist";
       packageName = "node-persist";
@@ -27759,6 +27957,15 @@ let
         sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
       };
     };
+    "nopt-2.1.2" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz";
+        sha1 = "6cccd977b80132a07731d6e8ce58c2c8303cf9af";
+      };
+    };
     "nopt-2.2.1" = {
       name = "nopt";
       packageName = "nopt";
@@ -28768,6 +28975,15 @@ let
         sha1 = "e981ab7e268b457948593b55674c099a815cac31";
       };
     };
+    "optimist-0.3.7" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+      };
+    };
     "optimist-0.6.0" = {
       name = "optimist";
       packageName = "optimist";
@@ -30163,6 +30379,15 @@ let
         sha512 = "oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==";
       };
     };
+    "picture-tuber-1.0.2" = {
+      name = "picture-tuber";
+      packageName = "picture-tuber";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/picture-tuber/-/picture-tuber-1.0.2.tgz";
+        sha512 = "49/xq+wzbwDeI32aPvwQJldM8pr7dKDRuR76IjztrkmiCkAQDaWFJzkmfVqCHmt/iFoPFhHmI9L0oKhthrTOQw==";
+      };
+    };
     "pid-from-port-1.1.3" = {
       name = "pid-from-port";
       packageName = "pid-from-port";
@@ -30460,6 +30685,15 @@ let
         sha512 = "2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==";
       };
     };
+    "png-js-0.1.1" = {
+      name = "png-js";
+      packageName = "png-js";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/png-js/-/png-js-0.1.1.tgz";
+        sha1 = "1cc7c212303acabe74263ec3ac78009580242d93";
+      };
+    };
     "pngjs-2.3.1" = {
       name = "pngjs";
       packageName = "pngjs";
@@ -31253,13 +31487,13 @@ let
         sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe";
       };
     };
-    "prompts-2.1.0" = {
+    "prompts-2.2.1" = {
       name = "prompts";
       packageName = "prompts";
-      version = "2.1.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prompts/-/prompts-2.1.0.tgz";
-        sha512 = "+x5TozgqYdOwWsQFZizE/Tra3fKvAoy037kOyU6cgz84n8f6zxngLOV4O32kTwt9FcLCxAqw0P/c8rOr9y+Gfg==";
+        url = "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz";
+        sha512 = "VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==";
       };
     };
     "promzard-0.3.0" = {
@@ -33071,6 +33305,15 @@ let
         sha1 = "c1b2007b42d57eb1389079b3c8333639d5e1ccaa";
       };
     };
+    "redeyed-1.0.1" = {
+      name = "redeyed";
+      packageName = "redeyed";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz";
+        sha1 = "e96c193b40c0816b00aec842698e61185e55498a";
+      };
+    };
     "redis-0.12.1" = {
       name = "redis";
       packageName = "redis";
@@ -34727,13 +34970,13 @@ let
         sha512 = "sDtmZDpibGH2ixj3FOmsC3Z/b08eaB2/KAvy2oSp4qvcGdhatBSfb1RdVpwjQl5c3J83WbBo1HSZ7DBtMu43lA==";
       };
     };
-    "secret-stack-6.2.1" = {
+    "secret-stack-6.3.0" = {
       name = "secret-stack";
       packageName = "secret-stack";
-      version = "6.2.1";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-6.2.1.tgz";
-        sha512 = "7hw13S77Et4yC23uVXOFDRyullxAvFuoN3XW6PvHlAVkYMirLkyeglPOwPTk5JhYwIKPdpIz6vQ7DM0zSlOUHA==";
+        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-6.3.0.tgz";
+        sha512 = "abIfcP1tlJ3gbfgAkp6mgqEc7M70GvXVTyE//iHDXMQz21zQxOD5WcWAiMg1Lgw5FgLfHM1WF+c8PqFNNE3WOg==";
       };
     };
     "secure-keys-1.0.0" = {
@@ -35591,13 +35834,13 @@ let
         sha1 = "5d3d5751bb39aeba2f710d8eec78768df821f38d";
       };
     };
-    "simple-websocket-7.2.0" = {
+    "simple-websocket-8.0.0" = {
       name = "simple-websocket";
       packageName = "simple-websocket";
-      version = "7.2.0";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-7.2.0.tgz";
-        sha512 = "wdxFg1fHw1yqFKWDcw+yNb4VIYqtl+vknZMlpLhvZSlR6l7/iVuwozqo+Qtl73mB1IH5QnXzonD1S+hAaLNTvQ==";
+        url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-8.0.0.tgz";
+        sha512 = "DwBEoqOq8gvnblarMPkhZD6AWituWbVfTil/UflowYm/Bu5SK23BDKGxrVwgQXGKydzxlSiYva7LC3/hXSRLIw==";
       };
     };
     "single-line-log-0.4.1" = {
@@ -35627,13 +35870,13 @@ let
         sha512 = "dKKwjIoTOa587TARYLlBRXq2lkbu5Iz35XrEVWpelhBP1m8r2BGOy1QlaZe84GTFHG/BTucEUd2btnNc8QzIVA==";
       };
     };
-    "sisteransi-1.0.2" = {
+    "sisteransi-1.0.3" = {
       name = "sisteransi";
       packageName = "sisteransi";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.2.tgz";
-        sha512 = "ZcYcZcT69nSLAR2oLN2JwNmLkJEKGooFMCdvOkFrToUt/WfcRWqhIg4P4KwY4dmLbuyXIx4o4YmPsvMRJYJd/w==";
+        url = "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz";
+        sha512 = "SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==";
       };
     };
     "skin-tone-1.0.0" = {
@@ -35843,22 +36086,22 @@ let
         sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
       };
     };
-    "snyk-1.208.0" = {
+    "snyk-1.210.0" = {
       name = "snyk";
       packageName = "snyk";
-      version = "1.208.0";
+      version = "1.210.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.208.0.tgz";
-        sha512 = "MMOQazfz+5fvoCDEBBJiuYNdcrtE3anemGvL7VJFlWu4uc8YgVZ8gvetEO7OmLmn4FfTmJ/hAthEQgcXYjDjFw==";
+        url = "https://registry.npmjs.org/snyk/-/snyk-1.210.0.tgz";
+        sha512 = "k6/EIX1Dc4Qk8omcKQDm13RRywkKqXoQ0IMz5Nyk1y8sdmg1S78QSWnfTaEPe+OQE1olrtjInrDX3Yu20CnMzg==";
       };
     };
-    "snyk-config-2.2.2" = {
+    "snyk-config-2.2.3" = {
       name = "snyk-config";
       packageName = "snyk-config";
-      version = "2.2.2";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-config/-/snyk-config-2.2.2.tgz";
-        sha512 = "ud1UJhU5b3z2achCVbXin6m3eeESvJTn9hBDYjp5BafI+1ajOJt0LnUB9+SAZ3CnQIK90PUb/3nSx0xjtda7sA==";
+        url = "https://registry.npmjs.org/snyk-config/-/snyk-config-2.2.3.tgz";
+        sha512 = "9NjxHVMd1U1LFw66Lya4LXgrsFUiuRiL4opxfTFo0LmMNzUoU5Bk/p0zDdg3FE5Wg61r4fP2D8w+QTl6M8CGiw==";
       };
     };
     "snyk-docker-plugin-1.25.1" = {
@@ -35906,13 +36149,13 @@ let
         sha512 = "A+CCyBSa4IKok5uEhqT+hV/35RO6APFNLqk9DRRHg7xW2/j//nPX8wTSZUPF8QeRNEk/sX+6df7M1y6PBHGSHA==";
       };
     };
-    "snyk-mvn-plugin-2.3.1" = {
+    "snyk-mvn-plugin-2.3.3" = {
       name = "snyk-mvn-plugin";
       packageName = "snyk-mvn-plugin";
-      version = "2.3.1";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.3.1.tgz";
-        sha512 = "2RgBnYe3Upc7SL+sL7MmnoCoJV/TZZ7q2L0J1BAbjoD/4cca4q0TCR6QVLzytHf4fSqc6QjSMjTUfmAo0kgsBg==";
+        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.3.3.tgz";
+        sha512 = "NYFL+jtHfAJk+Jdyme4I8pTvg/wfoHgkOs1g1nFUEPTcpBb5mfqy7Q9hDJWvnfXY8M6P9aEqvO+bmCVgTQvySg==";
       };
     };
     "snyk-nodejs-lockfile-parser-1.16.0" = {
@@ -35924,13 +36167,13 @@ let
         sha512 = "cf3uozRXEG88nsjOQlo+SfOJPpcLs45qpnuk2vhBBZ577IMnV+fTOJQsP2YRiikLUbdgkVlduviwUO6OVn1PhA==";
       };
     };
-    "snyk-nuget-plugin-1.11.2" = {
+    "snyk-nuget-plugin-1.11.3" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.11.2";
+      version = "1.11.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.11.2.tgz";
-        sha512 = "dNAwwFzrxI0gJh+3Eta7EFlz+jzXeTqXUwThaEASxCNNugV8gKsK/v+k0pQBsRPKvTLFlswB2D2Bt1E7YSOixA==";
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.11.3.tgz";
+        sha512 = "UgLTMr7Vz0qZoL15SkFAUfMb4Vw/qFxf6lBoL2v8xA+Mqdvn2Yu9x/yW659ElFVSUjniqKTFyloKq9/XSv+c+A==";
       };
     };
     "snyk-paket-parser-1.5.0" = {
@@ -36248,13 +36491,13 @@ let
         sha512 = "UMmCHovws/sxIBZsIRhIl8uRPou/RFDD0vVop81T1hG106NLLgqajKKuHAOtAP6hflnZ0UrVA2VFwddTd/NQyA==";
       };
     };
-    "sodium-native-2.4.3" = {
+    "sodium-native-2.4.5" = {
       name = "sodium-native";
       packageName = "sodium-native";
-      version = "2.4.3";
+      version = "2.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-2.4.3.tgz";
-        sha512 = "UCj3G++buo7HFADLMXyG+K7trEl6h17lde/2Sd3Al9ozcfPIQyKohmVqDncHY7ZggWkhzdwHKyDnlFWFQHZ5pg==";
+        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-2.4.5.tgz";
+        sha512 = "G1uhd4l1OexzUC/6eHIbAvoivCs9T7ncDlEWodZglPZVUOXi6jtSe7tCi25aYB06zRoOjVfE4SL+hZ4EfkyZgw==";
       };
     };
     "sodium-universal-2.0.0" = {
@@ -36509,6 +36752,15 @@ let
         sha512 = "dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==";
       };
     };
+    "sparkline-0.1.2" = {
+      name = "sparkline";
+      packageName = "sparkline";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sparkline/-/sparkline-0.1.2.tgz";
+        sha1 = "c3bde46252b1354e710c4b200d54816bd9f07a32";
+      };
+    };
     "sparse-bitfield-3.0.3" = {
       name = "sparse-bitfield";
       packageName = "sparse-bitfield";
@@ -37499,6 +37751,15 @@ let
         sha512 = "ryeEu3DGMt/095uTShIYGzLbbhZ+tHQtgp5HWEhXALSoc4U1iLSvpReZUdysahnJ3tki80wBBgryqqBzFZ0KaA==";
       };
     };
+    "stream-to-blob-2.0.0" = {
+      name = "stream-to-blob";
+      packageName = "stream-to-blob";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-to-blob/-/stream-to-blob-2.0.0.tgz";
+        sha512 = "E+YitTtIHo7RQ4Cmgl+EzlMpqvLroTynRgt4t0pI4y5oz/piqlBQB8NFXLIWcjGOsKw+THnImrdpWcOCVxK25Q==";
+      };
+    };
     "stream-to-blob-url-2.1.2" = {
       name = "stream-to-blob-url";
       packageName = "stream-to-blob-url";
@@ -38480,6 +38741,15 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
+    "systeminformation-4.14.4" = {
+      name = "systeminformation";
+      packageName = "systeminformation";
+      version = "4.14.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.14.4.tgz";
+        sha512 = "ib2dodksiiaGOW4rcKvFr5naHkODI9GwQPugLb6FLKppkIsE7rj2dfY2UdMBr7oX0/iZP981hoxmbk2e6zl99Q==";
+      };
+    };
     "syswide-cas-5.3.0" = {
       name = "syswide-cas";
       packageName = "syswide-cas";
@@ -38796,6 +39066,15 @@ let
         sha512 = "LB83o9bfZGrntdqPuRdanIVCPReam9SOZKW0fOy5I9X3A854GGWi0tjCqoXEk84XIEYBc/x9Hq3EFop/H5wJaw==";
       };
     };
+    "term-canvas-0.0.5" = {
+      name = "term-canvas";
+      packageName = "term-canvas";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/term-canvas/-/term-canvas-0.0.5.tgz";
+        sha1 = "597afac2fa6369a6f17860bce9c5f66d6ea0ca96";
+      };
+    };
     "term-size-1.2.0" = {
       name = "term-size";
       packageName = "term-size";
@@ -38805,13 +39084,13 @@ let
         sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
       };
     };
-    "terminal-kit-1.29.2" = {
+    "terminal-kit-1.29.3" = {
       name = "terminal-kit";
       packageName = "terminal-kit";
-      version = "1.29.2";
+      version = "1.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.29.2.tgz";
-        sha512 = "Ky4kxKivTqdH7OXZEOh1oaUx9OZSf707nW3OHN97UpLAfU/U75lzUlQhDxoKsG0T9qejC7b8qCbX3Ps+kX14SQ==";
+        url = "https://registry.npmjs.org/terminal-kit/-/terminal-kit-1.29.3.tgz";
+        sha512 = "RngmihiCinQ0CT3Q7l2R4aiV50czaB0gmGZ2rOZXhX5vWAkUAsnRVcv4JG068KQP1FbQNhm88CU/nBCZQmMPUQ==";
       };
     };
     "terser-3.17.0" = {
@@ -38823,13 +39102,13 @@ let
         sha512 = "/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==";
       };
     };
-    "terser-4.1.2" = {
+    "terser-4.1.3" = {
       name = "terser";
       packageName = "terser";
-      version = "4.1.2";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser/-/terser-4.1.2.tgz";
-        sha512 = "jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw==";
+        url = "https://registry.npmjs.org/terser/-/terser-4.1.3.tgz";
+        sha512 = "on13d+cnpn5bMouZu+J8tPYQecsdRJCJuxFJ+FVoPBoLJgk5bCBkp+Uen2hWyi0KIUm6eDarnlAlH+KgIx/PuQ==";
       };
     };
     "terser-webpack-plugin-1.4.1" = {
@@ -40092,13 +40371,13 @@ let
         sha512 = "/XrQjW0e5Z915m1A0qeXD9tSLDmz8zGjR6imhGDme6rMtXYudFpXXhaToKnM52nPPCNdCh6YQsLLkwbbkFvzVA==";
       };
     };
-    "type-1.0.1" = {
+    "type-1.0.3" = {
       name = "type";
       packageName = "type";
-      version = "1.0.1";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-1.0.1.tgz";
-        sha512 = "MAM5dBMJCJNKs9E7JXo4CXRAansRfG0nlJxW7Wf6GZzSOvH31zClSaHdIMWLehe/EGMBkqeC55rrkaOr5Oo7Nw==";
+        url = "https://registry.npmjs.org/type/-/type-1.0.3.tgz";
+        sha512 = "51IMtNfVcee8+9GJvj0spSuFcZHe9vSib6Xtgsny1Km9ugyz2mbS08I3rsUIRYgJohFRFU1160sgRodYz378Hg==";
       };
     };
     "type-check-0.3.2" = {
@@ -41586,6 +41865,15 @@ let
         sha512 = "CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==";
       };
     };
+    "v8-compile-cache-2.1.0" = {
+      name = "v8-compile-cache";
+      packageName = "v8-compile-cache";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz";
+        sha512 = "usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==";
+      };
+    };
     "v8-debug-1.0.1" = {
       name = "v8-debug";
       packageName = "v8-debug";
@@ -42018,13 +42306,13 @@ let
         sha1 = "2fb1decd4c466aa88b0f9341af33dc1aff2478d5";
       };
     };
-    "videostream-3.2.0" = {
+    "videostream-3.2.1" = {
       name = "videostream";
       packageName = "videostream";
-      version = "3.2.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/videostream/-/videostream-3.2.0.tgz";
-        sha512 = "8+EY2dBxpJti9OBWUHtTn8wZEzyUwX7ldm/rwz8LKsgK+ccGVbTug9F6nyBOehLhifXALCs6Ca+CeYPVGBwobg==";
+        url = "https://registry.npmjs.org/videostream/-/videostream-3.2.1.tgz";
+        sha512 = "Z4EcsX9aYNJZD1M+0jCeQ0t+5ETlHE88B2SF1fCuVxfn+XxHGJVec6tbHGqpULk4esOOLJEipAScOCDGHk+teQ==";
       };
     };
     "vinyl-0.4.6" = {
@@ -42567,13 +42855,13 @@ let
         sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
       };
     };
-    "webpack-4.39.0" = {
+    "webpack-4.39.1" = {
       name = "webpack";
       packageName = "webpack";
-      version = "4.39.0";
+      version = "4.39.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.39.0.tgz";
-        sha512 = "nrxFNSEKm4T1C/EsgOgN50skt//Pl4X7kgJC1MrlE47M292LSCVmMOC47iTGL0CGxbdwhKGgeThrJcw0bstEfA==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-4.39.1.tgz";
+        sha512 = "/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ==";
       };
     };
     "webpack-cli-3.3.6" = {
@@ -42594,13 +42882,13 @@ let
         sha1 = "fc571588c8558da77be9efb6debdc5a3b172bdc2";
       };
     };
-    "webpack-sources-1.4.1" = {
+    "webpack-sources-1.4.3" = {
       name = "webpack-sources";
       packageName = "webpack-sources";
-      version = "1.4.1";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.1.tgz";
-        sha512 = "XSz38193PTo/1csJabKaV4b53uRVotlMgqJXm3s3eje0Bu6gQTxYDqpD38CmQfDBA+gN+QqaGjasuC8I/7eW3Q==";
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha512 = "lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==";
       };
     };
     "websocket-driver-0.7.3" = {
@@ -42630,13 +42918,13 @@ let
         sha512 = "EXy/zXb9kNHI07TIMz1oIUIrPZxQRA8aeJ5XYg5ihV8K4kD1DuA+FY6R96HfdIHzlSzS8HiISAfrm+vVQkZBug==";
       };
     };
-    "webtorrent-0.105.3" = {
+    "webtorrent-0.106.0" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "0.105.3";
+      version = "0.106.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.105.3.tgz";
-        sha512 = "Jm2Y4NIwRdAOTnFCueE9t1bcFjFK9W75pEfvx9WNidLo20eUvdLuERLu75Gnl7eI44mue1nAtk7MgaYk2CaeRw==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-0.106.0.tgz";
+        sha512 = "CTj4J6yj6TuNTfrjRL84tunlCwIM+4hBu/6BfZslgi+iHdiJklUmFra/1WXBsx1madUB6/Ujx1eh4w+FO0on7g==";
       };
     };
     "whatwg-encoding-1.0.5" = {
@@ -43278,6 +43566,15 @@ let
         sha1 = "474b50865af3a49a9c4657f05acd145458f77d82";
       };
     };
+    "x256-0.0.2" = {
+      name = "x256";
+      packageName = "x256";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/x256/-/x256-0.0.2.tgz";
+        sha1 = "c9af18876f7a175801d564fe70ad9e8317784934";
+      };
+    };
     "xdg-basedir-3.0.0" = {
       name = "xdg-basedir";
       packageName = "xdg-basedir";
@@ -44062,13 +44359,13 @@ let
         sha1 = "a8bc45f4c1b49699c6b90198baacaacdbcd4ba04";
       };
     };
-    "zip-stream-2.1.0" = {
+    "zip-stream-2.1.2" = {
       name = "zip-stream";
       packageName = "zip-stream";
-      version = "2.1.0";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.0.tgz";
-        sha512 = "F/xoLqlQShgvn1BzHQCNiYIoo2R93GQIMH+tA6JC3ckMDkme4bnhEEXSferZcG5ea/6bZNx3GqSUHqT8TUO6uQ==";
+        url = "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.2.tgz";
+        sha512 = "ykebHGa2+uzth/R4HZLkZh3XFJzivhVsjJt8bN3GvBzLaqqrUdRacu+c4QtnUgjkkQfsOuNE1JgLKMCPNmkKgg==";
       };
     };
     "zmq-2.15.3" = {
@@ -44169,13 +44466,13 @@ in
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.0"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-cache-semantics-3.8.1"
       (sources."http-proxy-agent-2.1.0" // {
         dependencies = [
@@ -44561,7 +44858,7 @@ in
       sources."globalyzer-0.1.4"
       sources."globrex-0.1.2"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       (sources."gulp-vinyl-zip-2.1.2" // {
         dependencies = [
           sources."readable-stream-2.3.6"
@@ -44736,10 +45033,10 @@ in
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
-    version = "3.9.3";
+    version = "3.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@vue/cli/-/cli-3.9.3.tgz";
-      sha512 = "+l/N5sNSwvDe6UsVrqcz8GIWp8QO5Q72OUW7P0X3xdcVo0XPnzwJ/jzKaYGnp7/syOFTIfL6KyW4gVezPE2oPA==";
+      url = "https://registry.npmjs.org/@vue/cli/-/cli-3.10.0.tgz";
+      sha512 = "0A2wsUPAoiiqr4B/EAlz1SPUNbq0pbyt4I8V6fiwie5oJXaxfJ8Vl8rpSUsZ2PzwpowgdiutjFkOxvFmhHAkQQ==";
     };
     dependencies = [
       sources."@akryum/winattr-3.0.0"
@@ -44875,16 +45172,16 @@ in
       sources."@types/node-12.6.9"
       sources."@types/range-parser-1.2.3"
       sources."@types/serve-static-1.13.2"
-      sources."@types/ws-6.0.1"
+      sources."@types/ws-6.0.2"
       sources."@types/zen-observable-0.8.0"
-      sources."@vue/cli-shared-utils-3.9.0"
-      (sources."@vue/cli-ui-3.9.3" // {
+      sources."@vue/cli-shared-utils-3.10.0"
+      (sources."@vue/cli-ui-3.10.0" // {
         dependencies = [
           sources."clone-2.1.2"
         ];
       })
-      sources."@vue/cli-ui-addon-webpack-3.9.3"
-      sources."@vue/cli-ui-addon-widgets-3.9.3"
+      sources."@vue/cli-ui-addon-webpack-3.10.0"
+      sources."@vue/cli-ui-addon-widgets-3.10.0"
       sources."@wry/context-0.4.4"
       sources."@wry/equality-0.1.9"
       sources."abbrev-1.1.1"
@@ -44952,7 +45249,7 @@ in
       sources."ast-types-0.11.7"
       sources."async-1.5.2"
       sources."async-each-1.0.3"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."async-retry-1.2.3"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
@@ -44967,7 +45264,7 @@ in
           sources."define-property-1.0.0"
         ];
       })
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
       sources."bl-1.2.2"
@@ -44995,7 +45292,7 @@ in
       sources."cache-base-1.0.1"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-4.1.0"
-      sources."caniuse-lite-1.0.30000988"
+      sources."caniuse-lite-1.0.30000989"
       sources."capture-stack-trace-1.0.1"
       sources."caseless-0.12.0"
       sources."caw-2.0.1"
@@ -45120,7 +45417,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.6.2"
-      sources."electron-to-chromium-1.3.210"
+      sources."electron-to-chromium-1.3.215"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.1"
       sources."entities-1.1.2"
@@ -45241,7 +45538,7 @@ in
       })
       sources."good-listener-1.2.2"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."graceful-readlink-1.0.1"
       sources."graphql-14.4.2"
       (sources."graphql-anywhere-4.2.4" // {
@@ -45425,9 +45722,9 @@ in
       sources."node-fetch-2.6.0"
       sources."node-ipc-9.1.1"
       sources."node-modules-regexp-1.0.0"
-      (sources."node-notifier-5.4.0" // {
+      (sources."node-notifier-5.4.2" // {
         dependencies = [
-          sources."semver-5.7.0"
+          sources."is-wsl-2.1.0"
         ];
       })
       (sources."node-releases-1.1.26" // {
@@ -46099,7 +46396,7 @@ in
         ];
       })
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-color-0.1.7"
       sources."has-flag-3.0.0"
       sources."homedir-polyfill-1.0.3"
@@ -46605,10 +46902,10 @@ in
   azure-functions-core-tools = nodeEnv.buildNodePackage {
     name = "azure-functions-core-tools";
     packageName = "azure-functions-core-tools";
-    version = "2.7.1480";
+    version = "2.7.1505";
     src = fetchurl {
-      url = "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-2.7.1480.tgz";
-      sha512 = "Yr0YtXQ6JHB8ep68X9E5FQvbNb0Hs05t8o8exl+LJ8c/0VpIg2Ff7slzRHseTuQF4RysYk2VbRNPaN6ZPS1kWw==";
+      url = "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-2.7.1505.tgz";
+      sha512 = "3v1lDv6zwhGi2Qb8rNFA3tR+8h/vlufuanRgbw2ofPCPBCC29yiyQs2+IiCTBHVAxcBPN0h5rsELstoZ3S2Odw==";
     };
     dependencies = [
       sources."agent-base-4.3.0"
@@ -46635,7 +46932,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fstream-1.0.12"
       sources."glob-7.1.3"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
       sources."https-proxy-agent-2.2.1"
       sources."inflight-1.0.6"
@@ -46683,7 +46980,7 @@ in
     dependencies = [
       sources."abab-2.0.0"
       sources."acorn-5.7.3"
-      (sources."acorn-globals-4.3.2" // {
+      (sources."acorn-globals-4.3.3" // {
         dependencies = [
           sources."acorn-6.2.1"
         ];
@@ -46696,7 +46993,7 @@ in
       sources."array-equal-1.0.0"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
@@ -46934,14 +47231,14 @@ in
       sources."find-up-1.1.2"
       (sources."fs-extra-0.26.7" // {
         dependencies = [
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
         ];
       })
       sources."fs.realpath-1.0.0"
       sources."get-stdin-4.0.1"
       sources."glob-6.0.4"
       sources."graceful-fs-3.0.11"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."indent-string-2.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -46952,21 +47249,22 @@ in
       sources."is-utf8-0.2.1"
       (sources."jsonfile-2.4.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
         ];
       })
       (sources."klaw-1.3.1" // {
         dependencies = [
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
         ];
       })
       (sources."load-json-file-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
         ];
       })
       sources."lodash-4.2.1"
       sources."loud-rejection-1.6.0"
+      sources."lru-cache-5.1.1"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
       sources."mime-db-1.40.0"
@@ -46990,7 +47288,7 @@ in
       sources."path-parse-1.0.6"
       (sources."path-type-1.1.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
         ];
       })
       sources."pify-2.3.0"
@@ -47027,6 +47325,7 @@ in
       sources."trim-newlines-1.0.0"
       sources."validate-npm-package-license-3.0.4"
       sources."wrappy-1.0.2"
+      sources."yallist-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -47062,7 +47361,7 @@ in
         ];
       })
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
@@ -47248,7 +47547,7 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bencode-2.0.1"
       sources."bitfield-0.1.0"
@@ -47346,12 +47645,12 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."got-1.2.2"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-ansi-1.0.3"
       sources."hat-0.0.3"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-signature-1.2.0"
       sources."immediate-chunk-store-1.0.8"
       sources."indent-string-2.1.0"
@@ -47387,6 +47686,7 @@ in
       sources."long-2.4.0"
       sources."loud-rejection-1.6.0"
       sources."lru-2.0.1"
+      sources."lru-cache-5.1.1"
       sources."magnet-uri-5.2.4"
       sources."map-obj-1.0.1"
       (sources."mdns-js-1.0.3" // {
@@ -47613,6 +47913,7 @@ in
       sources."xmldom-0.1.27"
       sources."xspfr-0.3.1"
       sources."xtend-4.0.2"
+      sources."yallist-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -47823,7 +48124,7 @@ in
           sources."define-property-1.0.0"
         ];
       })
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."big-integer-1.6.44"
       (sources."body-parser-1.19.0" // {
@@ -48020,7 +48321,7 @@ in
           sources."get-stream-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
@@ -48032,7 +48333,7 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -48106,7 +48407,7 @@ in
       sources."lodash.debounce-4.0.8"
       sources."loud-rejection-2.1.0"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-4.1.5"
+      sources."lru-cache-5.1.1"
       sources."macos-release-2.3.0"
       sources."make-dir-1.3.0"
       sources."map-cache-0.2.2"
@@ -48335,6 +48636,8 @@ in
           sources."cross-spawn-5.1.0"
           sources."execa-0.7.0"
           sources."get-stream-3.0.0"
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
         ];
       })
       sources."through-2.3.8"
@@ -48398,7 +48701,7 @@ in
       sources."xdg-basedir-3.0.0"
       sources."xmlbuilder-9.0.7"
       sources."xmldom-0.1.27"
-      sources."yallist-2.1.2"
+      sources."yallist-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -48533,14 +48836,14 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globby-9.2.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."ignore-4.0.6"
       sources."indent-string-3.2.0"
       sources."inflight-1.0.6"
@@ -48572,6 +48875,7 @@ in
       })
       sources."locate-path-2.0.0"
       sources."loud-rejection-1.6.0"
+      sources."lru-cache-5.1.1"
       sources."make-dir-2.1.0"
       sources."map-cache-0.2.2"
       sources."map-obj-2.0.0"
@@ -48720,6 +49024,7 @@ in
       sources."use-3.1.1"
       sources."validate-npm-package-license-3.0.4"
       sources."wrappy-1.0.2"
+      sources."yallist-3.0.3"
       sources."yargs-parser-10.1.0"
     ];
     buildInputs = globalBuildInputs;
@@ -48859,7 +49164,7 @@ in
       sources."symbol-observable-1.2.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
-      sources."type-1.0.1"
+      sources."type-1.0.3"
       sources."util-deprecate-1.0.2"
       (sources."variable-diff-1.1.0" // {
         dependencies = [
@@ -48921,7 +49226,7 @@ in
       sources."fstream-1.0.12"
       sources."fstream-ignore-1.0.5"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
       sources."hyperquest-2.1.3"
       sources."iconv-lite-0.4.24"
@@ -49021,7 +49326,7 @@ in
       sources."cross-spawn-5.1.0"
       sources."escape-string-regexp-1.0.5"
       sources."fs-extra-4.0.3"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
       sources."isexe-2.0.0"
       sources."jsonfile-4.0.0"
@@ -49311,7 +49616,7 @@ in
       sources."global-4.3.2"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-1.0.3"
@@ -49586,7 +49891,11 @@ in
         ];
       })
       sources."sodium-javascript-0.5.5"
-      sources."sodium-native-2.4.3"
+      (sources."sodium-native-2.4.5" // {
+        dependencies = [
+          sources."node-gyp-build-4.1.0"
+        ];
+      })
       sources."sodium-universal-2.0.0"
       sources."sorted-array-functions-1.2.0"
       sources."sorted-indexof-1.0.0"
@@ -49909,10 +50218,10 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.503.0"
+      sources."aws-sdk-2.504.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."buffer-4.9.1"
       sources."buffer-queue-1.0.0"
@@ -50037,7 +50346,7 @@ in
       sources."ansi-styles-2.2.1"
       sources."anymatch-3.0.3"
       sources."async-each-1.0.3"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."binary-extensions-2.0.0"
       sources."braces-3.0.2"
       sources."chalk-1.1.3"
@@ -50142,7 +50451,7 @@ in
       sources."supports-color-2.0.0"
       sources."timers-ext-0.1.7"
       sources."to-regex-range-5.0.1"
-      sources."type-1.0.1"
+      sources."type-1.0.3"
       sources."unpipe-1.0.0"
       sources."url-parse-1.4.3"
       sources."which-1.3.1"
@@ -50251,13 +50560,18 @@ in
       sources."get-stream-3.0.0"
       sources."globals-9.18.0"
       sources."got-7.1.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-ansi-3.0.0"
       sources."has-flag-3.0.0"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."home-or-tmp-2.0.0"
-      sources."hosted-git-info-2.7.1"
+      (sources."hosted-git-info-2.8.2" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.0.3"
+        ];
+      })
       sources."import-jsx-1.3.2"
       sources."imurmurhash-0.1.4"
       sources."indent-string-3.2.0"
@@ -50566,7 +50880,7 @@ in
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
       sources."uri-js-4.2.2"
-      sources."v8-compile-cache-2.0.3"
+      sources."v8-compile-cache-2.1.0"
       sources."which-1.3.1"
       sources."wordwrap-1.0.0"
       sources."wrappy-1.0.2"
@@ -50720,7 +51034,7 @@ in
       sources."tslib-1.10.0"
       sources."type-check-0.3.2"
       sources."uri-js-4.2.2"
-      sources."v8-compile-cache-2.0.3"
+      sources."v8-compile-cache-2.1.0"
       sources."which-1.3.1"
       sources."wordwrap-1.0.0"
       sources."wrappy-1.0.2"
@@ -50790,13 +51104,13 @@ in
       sources."fs-extra-1.0.0"
       sources."get-stdin-4.0.1"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
       sources."hasha-2.2.0"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-signature-1.2.0"
       sources."indent-string-2.1.0"
       sources."inherits-2.0.4"
@@ -50826,6 +51140,7 @@ in
       })
       sources."log-update-1.0.2"
       sources."loud-rejection-1.6.0"
+      sources."lru-cache-5.1.1"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
       sources."mime-db-1.40.0"
@@ -50912,6 +51227,7 @@ in
       sources."validate-npm-package-license-3.0.4"
       sources."verror-1.10.0"
       sources."which-1.3.1"
+      sources."yallist-3.0.3"
       sources."yauzl-2.4.1"
       sources."zen-observable-0.5.2"
     ];
@@ -50976,9 +51292,14 @@ in
       sources."generate-function-1.1.0"
       sources."generate-object-property-1.2.0"
       sources."get-stream-3.0.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-2.7.1"
+      (sources."hosted-git-info-2.8.2" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.0.3"
+        ];
+      })
       sources."iconv-lite-0.4.24"
       sources."indent-string-3.2.0"
       sources."inherits-2.0.4"
@@ -51230,7 +51551,7 @@ in
       sources."glob-7.1.4"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       (sources."has-value-1.0.0" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -51633,7 +51954,7 @@ in
       sources."muxrpc-6.4.2"
       sources."nan-2.14.0"
       sources."nearley-2.18.0"
-      sources."node-gyp-build-3.9.0"
+      sources."node-gyp-build-4.1.0"
       sources."node-polyglot-1.0.0"
       sources."non-private-ip-1.4.4"
       sources."options-0.0.6"
@@ -51708,7 +52029,7 @@ in
         ];
       })
       sources."sodium-chloride-1.1.2"
-      sources."sodium-native-2.4.3"
+      sources."sodium-native-2.4.5"
       sources."split-buffer-1.0.0"
       sources."ssb-avatar-0.2.0"
       sources."ssb-caps-1.1.0"
@@ -51982,7 +52303,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."graphcool-json-schema-1.2.1"
       (sources."graphcool-yml-0.4.15" // {
         dependencies = [
@@ -52020,7 +52341,12 @@ in
       sources."has-flag-3.0.0"
       sources."header-case-1.0.1"
       sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.7.1"
+      (sources."hosted-git-info-2.8.2" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.0.3"
+        ];
+      })
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -52670,6 +52996,80 @@ in
     production = true;
     bypassCache = true;
   };
+  gtop = nodeEnv.buildNodePackage {
+    name = "gtop";
+    packageName = "gtop";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/gtop/-/gtop-1.0.1.tgz";
+      sha512 = "rDONVL6bOSKi9H2PuZ+nItRvFML39EeLgV65JRkGPdLri5saUAMVISZV/4jW8LylZBRHysVmaI1nCu5S/0Iilg==";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."ansi-term-0.0.2"
+      sources."ansicolors-0.2.1"
+      sources."blessed-0.1.81"
+      sources."blessed-contrib-4.8.16"
+      sources."bresenham-0.0.3"
+      sources."buffers-0.1.1"
+      sources."cardinal-1.0.0"
+      sources."chalk-1.1.3"
+      sources."charm-0.1.2"
+      sources."cli-table-0.3.1"
+      sources."colors-1.0.3"
+      sources."core-util-is-1.0.2"
+      sources."drawille-blessed-contrib-1.0.0"
+      sources."drawille-canvas-blessed-contrib-0.1.3"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-3.0.0"
+      (sources."event-stream-0.9.8" // {
+        dependencies = [
+          sources."optimist-0.2.8"
+        ];
+      })
+      sources."gl-matrix-2.8.1"
+      sources."has-ansi-2.0.0"
+      sources."here-0.0.2"
+      sources."inherits-2.0.4"
+      sources."isarray-0.0.1"
+      sources."lodash-4.17.15"
+      sources."lodash.assign-4.2.0"
+      sources."lodash.toarray-4.4.0"
+      sources."map-canvas-0.1.5"
+      sources."marked-0.6.3"
+      sources."marked-terminal-1.7.0"
+      sources."memory-streams-0.1.3"
+      sources."memorystream-0.3.1"
+      sources."node-emoji-1.10.0"
+      sources."nopt-2.1.2"
+      sources."optimist-0.3.7"
+      sources."picture-tuber-1.0.2"
+      sources."png-js-0.1.1"
+      sources."readable-stream-1.0.34"
+      sources."redeyed-1.0.1"
+      sources."sax-1.2.4"
+      sources."sparkline-0.1.2"
+      sources."string_decoder-0.10.31"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."systeminformation-4.14.4"
+      sources."term-canvas-0.0.5"
+      sources."wordwrap-0.0.3"
+      sources."x256-0.0.2"
+      sources."xml2js-0.4.19"
+      sources."xmlbuilder-9.0.7"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "graphic top";
+      homepage = "https://github.com/aksakalli/gtop#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   gulp = nodeEnv.buildNodePackage {
     name = "gulp";
     packageName = "gulp";
@@ -52853,7 +53253,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."gulp-cli-2.2.0"
       sources."gulplog-1.0.0"
       sources."has-symbols-1.0.0"
@@ -52864,7 +53264,7 @@ in
         ];
       })
       sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
@@ -52905,6 +53305,7 @@ in
       sources."lead-1.0.0"
       sources."liftoff-3.1.0"
       sources."load-json-file-1.1.0"
+      sources."lru-cache-5.1.1"
       sources."make-iterator-1.0.1"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
@@ -53077,7 +53478,7 @@ in
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
       sources."to-through-2.0.0"
-      sources."type-1.0.1"
+      sources."type-1.0.3"
       sources."typedarray-0.0.6"
       sources."unc-path-regex-0.1.2"
       sources."undertaker-1.2.1"
@@ -53110,6 +53511,7 @@ in
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
       sources."y18n-3.2.1"
+      sources."yallist-3.0.3"
       sources."yargs-7.1.0"
       sources."yargs-parser-5.0.0"
     ];
@@ -53229,7 +53631,7 @@ in
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
       sources."glogg-1.0.2"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."gulplog-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -53238,7 +53640,7 @@ in
         ];
       })
       sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."inherits-2.0.4"
       sources."ini-1.3.5"
       sources."interpret-1.2.0"
@@ -53282,6 +53684,7 @@ in
       sources."lcid-1.0.0"
       sources."liftoff-3.1.0"
       sources."load-json-file-1.1.0"
+      sources."lru-cache-5.1.1"
       (sources."make-iterator-1.0.1" // {
         dependencies = [
           sources."kind-of-6.0.2"
@@ -53426,7 +53829,7 @@ in
       })
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
-      sources."type-1.0.1"
+      sources."type-1.0.3"
       sources."typedarray-0.0.6"
       sources."unc-path-regex-0.1.2"
       sources."union-value-1.0.1"
@@ -53449,6 +53852,7 @@ in
       sources."which-module-1.0.0"
       sources."wrap-ansi-2.1.0"
       sources."y18n-3.2.1"
+      sources."yallist-3.0.3"
       sources."yargs-7.1.0"
       sources."yargs-parser-5.0.0"
     ];
@@ -53523,9 +53927,10 @@ in
       sources."dashdash-1.14.1"
       sources."date-now-0.1.4"
       sources."delayed-stream-1.0.0"
-      (sources."dom-serializer-0.1.1" // {
+      (sources."dom-serializer-0.2.1" // {
         dependencies = [
-          sources."entities-1.1.2"
+          sources."domelementtype-2.0.1"
+          sources."entities-2.0.0"
         ];
       })
       sources."domelementtype-1.3.1"
@@ -53790,7 +54195,7 @@ in
       sha512 = "RJ8nHsE4diosqkSpKot3unMn05ExCisUDy/URw/3M9t8MetvthBBQpcfaRPGftXRGebaMF1HnH6dLG994TpNVQ==";
     };
     dependencies = [
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."chrome-remote-interface-0.26.1"
       sources."commander-2.11.0"
       sources."node-fetch-2.6.0"
@@ -53835,7 +54240,7 @@ in
       sources."ansi-styles-3.2.1"
       sources."ast-types-0.13.2"
       sources."astral-regex-1.0.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
@@ -53902,7 +54307,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-uri-2.0.3"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
       sources."http-errors-1.7.3"
       (sources."http-proxy-agent-2.1.0" // {
@@ -54257,7 +54662,7 @@ in
       sources."abab-2.0.0"
       sources."abbrev-1.1.1"
       sources."acorn-5.7.3"
-      (sources."acorn-globals-4.3.2" // {
+      (sources."acorn-globals-4.3.3" // {
         dependencies = [
           sources."acorn-6.2.1"
         ];
@@ -54284,7 +54689,7 @@ in
       sources."asap-2.0.6"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."async-mutex-0.1.3"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
@@ -54392,7 +54797,7 @@ in
       sources."getpass-0.1.7"
       sources."github-from-package-0.0.0"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-ansi-2.0.0"
@@ -54666,7 +55071,7 @@ in
           sources."q-0.9.7"
         ];
       })
-      sources."terminal-kit-1.29.2"
+      sources."terminal-kit-1.29.3"
       (sources."tkwidgets-0.5.26" // {
         dependencies = [
           sources."is-fullwidth-code-point-2.0.0"
@@ -54822,7 +55227,7 @@ in
       sources."catharsis-0.8.11"
       sources."entities-1.1.2"
       sources."escape-string-regexp-2.0.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."js2xmlparser-4.0.0"
       sources."klaw-3.0.0"
       sources."linkify-it-2.2.0"
@@ -54866,9 +55271,10 @@ in
       sources."console-browserify-1.1.0"
       sources."core-util-is-1.0.2"
       sources."date-now-0.1.4"
-      (sources."dom-serializer-0.1.1" // {
+      (sources."dom-serializer-0.2.1" // {
         dependencies = [
-          sources."entities-1.1.2"
+          sources."domelementtype-2.0.1"
+          sources."entities-2.0.0"
         ];
       })
       sources."domelementtype-1.3.1"
@@ -55101,7 +55507,7 @@ in
           sources."get-stream-4.1.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
@@ -55320,7 +55726,7 @@ in
       sources."anymatch-3.0.3"
       sources."arraybuffer.slice-0.0.7"
       sources."async-2.6.3"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
@@ -55384,7 +55790,7 @@ in
       sources."fsevents-2.0.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.0.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-binary2-1.0.3"
       sources."has-cors-1.1.0"
       sources."http-errors-1.7.2"
@@ -55525,7 +55931,7 @@ in
       sources."glob-7.1.4"
       sources."glob-parent-3.1.0"
       sources."glob-stream-6.1.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-symbols-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -56272,7 +56678,7 @@ in
           sources."pify-4.0.1"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       (sources."handlebars-4.1.2" // {
         dependencies = [
           sources."source-map-0.6.1"
@@ -56290,7 +56696,7 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-cache-semantics-3.8.1"
       sources."http-proxy-agent-2.1.0"
       sources."http-signature-1.2.0"
@@ -56832,7 +57238,7 @@ in
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."http-signature-1.2.0"
@@ -57026,7 +57432,7 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -57250,7 +57656,7 @@ in
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
       sources."async-each-1.0.3"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
@@ -57368,7 +57774,7 @@ in
       sources."github-slugger-1.2.1"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       (sources."has-binary2-1.0.3" // {
@@ -57997,7 +58403,7 @@ in
           sources."isobject-3.0.1"
         ];
       })
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."big.js-5.2.2"
       sources."binary-extensions-1.13.1"
       sources."bl-1.2.2"
@@ -58035,7 +58441,7 @@ in
       })
       sources."call-me-maybe-1.0.1"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30000988"
+      sources."caniuse-lite-1.0.30000989"
       sources."caw-2.0.1"
       (sources."chalk-2.4.2" // {
         dependencies = [
@@ -58194,7 +58600,7 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
-      sources."electron-to-chromium-1.3.210"
+      sources."electron-to-chromium-1.3.215"
       sources."elliptic-6.5.0"
       sources."emoji-regex-7.0.3"
       sources."emojis-list-2.1.0"
@@ -58389,7 +58795,7 @@ in
           sources."p-cancelable-1.1.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."graceful-readlink-1.0.1"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
@@ -58415,7 +58821,7 @@ in
       sources."hash.js-1.1.7"
       sources."hmac-drbg-1.0.1"
       sources."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-cache-semantics-3.8.1"
       sources."https-browserify-1.0.0"
       sources."ieee754-1.1.13"
@@ -58907,7 +59313,7 @@ in
       sources."supports-color-2.0.0"
       sources."tapable-1.1.3"
       sources."tar-stream-1.6.2"
-      (sources."terser-4.1.2" // {
+      (sources."terser-4.1.3" // {
         dependencies = [
           sources."commander-2.20.0"
           sources."source-map-0.6.1"
@@ -58982,7 +59388,7 @@ in
       sources."vm-browserify-1.1.0"
       sources."watchpack-1.6.0"
       sources."wcwidth-1.0.1"
-      (sources."webpack-4.39.0" // {
+      (sources."webpack-4.39.1" // {
         dependencies = [
           sources."arr-diff-4.0.0"
           sources."array-unique-0.3.2"
@@ -59034,7 +59440,7 @@ in
           sources."source-map-0.4.4"
         ];
       })
-      (sources."webpack-sources-1.4.1" // {
+      (sources."webpack-sources-1.4.3" // {
         dependencies = [
           sources."source-list-map-2.0.1"
           sources."source-map-0.6.1"
@@ -59480,7 +59886,7 @@ in
       sources."fragment-cache-0.2.1"
       (sources."fs-mkdirp-stream-1.0.0" // {
         dependencies = [
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
           sources."readable-stream-2.3.6"
           sources."string_decoder-1.1.1"
           sources."through2-2.0.5"
@@ -59535,7 +59941,7 @@ in
       })
       (sources."gulp-sourcemaps-2.6.4" // {
         dependencies = [
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
           sources."readable-stream-2.3.6"
           sources."source-map-0.6.1"
           sources."string_decoder-1.1.1"
@@ -59552,7 +59958,7 @@ in
           sources."extend-shallow-1.1.4"
           sources."glob-7.1.4"
           sources."glob-stream-6.1.0"
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
           sources."kind-of-1.1.0"
           sources."minimatch-3.0.4"
           sources."ordered-read-streams-1.0.1"
@@ -59654,7 +60060,7 @@ in
       sources."lead-1.0.0"
       (sources."less-2.7.3" // {
         dependencies = [
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
         ];
       })
       sources."liftoff-2.5.0"
@@ -59897,7 +60303,7 @@ in
       sources."tough-cookie-2.3.4"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-1.0.1"
+      sources."type-1.0.3"
       sources."typescript-3.5.3"
       (sources."uglify-js-3.4.9" // {
         dependencies = [
@@ -59940,7 +60346,7 @@ in
         dependencies = [
           sources."clone-2.1.2"
           sources."clone-stats-1.0.0"
-          sources."graceful-fs-4.2.0"
+          sources."graceful-fs-4.2.1"
           sources."vinyl-2.2.0"
         ];
       })
@@ -60268,7 +60674,7 @@ in
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-unicode-2.0.1"
@@ -60451,14 +60857,14 @@ in
         ];
       })
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-1.0.5"
       sources."har-validator-4.2.1"
       sources."has-unicode-2.0.1"
       sources."hawk-3.1.3"
       sources."headless-0.1.7"
       sources."hoek-2.16.3"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-errors-1.7.2"
       sources."http-signature-1.1.1"
       sources."iconv-lite-0.4.24"
@@ -60490,6 +60896,7 @@ in
       sources."load-json-file-1.1.0"
       sources."lodash-2.4.2"
       sources."loud-rejection-1.6.0"
+      sources."lru-cache-5.1.1"
       sources."map-obj-1.0.1"
       sources."media-typer-0.3.0"
       sources."meow-3.7.0"
@@ -60647,6 +61054,7 @@ in
       sources."xmldom-0.1.27"
       sources."xtend-4.0.2"
       sources."y18n-3.2.1"
+      sources."yallist-3.0.3"
       sources."yargs-3.32.0"
     ];
     buildInputs = globalBuildInputs;
@@ -60793,7 +61201,7 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."async-0.1.22"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
@@ -60934,7 +61342,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-unicode-2.0.1"
@@ -61188,7 +61596,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."twitter-ng-0.6.2"
-      sources."type-1.0.1"
+      sources."type-1.0.3"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."uc.micro-1.0.6"
@@ -61257,7 +61665,7 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-from-1.1.1"
@@ -61299,11 +61707,11 @@ in
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-unicode-2.0.1"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -61318,6 +61726,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
+      sources."lru-cache-5.1.1"
       sources."mime-db-1.40.0"
       sources."mime-types-2.1.24"
       sources."minimatch-3.0.4"
@@ -61559,7 +61968,7 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -61891,11 +62300,11 @@ in
       sources."glob-7.1.4"
       sources."global-dirs-0.1.1"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-cache-semantics-3.8.1"
       sources."http-proxy-agent-2.1.0"
       sources."https-proxy-agent-2.2.2"
@@ -62015,7 +62424,7 @@ in
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-1.1.1"
-      sources."prompts-2.1.0"
+      sources."prompts-2.2.1"
       sources."protoduck-5.0.1"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
@@ -62065,7 +62474,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."sisteransi-1.0.2"
+      sources."sisteransi-1.0.3"
       sources."smart-buffer-4.0.2"
       sources."socks-2.3.2"
       (sources."socks-proxy-agent-4.0.2" // {
@@ -62505,7 +62914,7 @@ in
       sources."abab-2.0.0"
       sources."abbrev-1.1.1"
       sources."acorn-5.7.3"
-      (sources."acorn-globals-4.3.2" // {
+      (sources."acorn-globals-4.3.3" // {
         dependencies = [
           sources."acorn-6.2.1"
         ];
@@ -62538,7 +62947,7 @@ in
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
       sources."async-each-1.0.3"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
@@ -62561,7 +62970,7 @@ in
           sources."define-property-1.0.0"
         ];
       })
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
       sources."bindings-1.2.1"
@@ -62598,7 +63007,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30000988"
+      sources."caniuse-lite-1.0.30000989"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.6"
@@ -62718,7 +63127,12 @@ in
       sources."des.js-1.0.0"
       sources."destroy-1.0.4"
       sources."diffie-hellman-5.0.3"
-      sources."dom-serializer-0.1.1"
+      (sources."dom-serializer-0.2.1" // {
+        dependencies = [
+          sources."domelementtype-2.0.1"
+          sources."entities-2.0.0"
+        ];
+      })
       sources."domain-browser-1.2.0"
       sources."domelementtype-1.3.1"
       sources."domexception-1.0.1"
@@ -62731,7 +63145,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."editorconfig-0.15.3"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.210"
+      sources."electron-to-chromium-1.3.215"
       sources."elliptic-6.5.0"
       sources."encodeurl-1.0.2"
       sources."entities-1.1.2"
@@ -62789,7 +63203,7 @@ in
       })
       sources."glob-to-regexp-0.3.0"
       sources."globals-11.12.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."grapheme-breaker-0.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -62818,7 +63232,7 @@ in
       sources."html-tags-1.2.0"
       (sources."htmlnano-0.2.4" // {
         dependencies = [
-          sources."terser-4.1.2"
+          sources."terser-4.1.3"
         ];
       })
       (sources."htmlparser2-3.10.1" // {
@@ -63292,7 +63706,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."util.promisify-1.0.0"
       sources."uuid-3.3.2"
-      sources."v8-compile-cache-2.0.3"
+      sources."v8-compile-cache-2.1.0"
       sources."vendors-1.0.3"
       sources."verror-1.10.0"
       sources."vlq-0.2.3"
@@ -63417,11 +63831,11 @@ in
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-4.0.1"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
       sources."hat-0.0.3"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-headers-3.0.2"
       sources."iconv-lite-0.4.24"
       sources."immediate-chunk-store-1.0.8"
@@ -63463,6 +63877,7 @@ in
       sources."lodash-3.10.1"
       sources."loud-rejection-1.6.0"
       sources."lru-2.0.1"
+      sources."lru-cache-5.1.1"
       sources."magnet-uri-5.2.4"
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
@@ -63612,6 +64027,7 @@ in
       sources."xmlbuilder-4.0.0"
       sources."xmldom-0.1.27"
       sources."xtend-4.0.2"
+      sources."yallist-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -63635,7 +64051,7 @@ in
       sources."addr-to-ip-port-1.5.1"
       sources."after-0.8.2"
       sources."ajv-6.10.2"
-      sources."archiver-3.0.3"
+      sources."archiver-3.1.1"
       (sources."archiver-utils-2.1.0" // {
         dependencies = [
           sources."readable-stream-2.3.6"
@@ -63651,7 +64067,7 @@ in
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."base64-url-1.2.1"
       sources."base64id-1.0.0"
       sources."basic-auth-1.0.4"
@@ -63697,7 +64113,7 @@ in
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
-      (sources."compress-commons-2.0.0" // {
+      (sources."compress-commons-2.1.1" // {
         dependencies = [
           sources."readable-stream-2.3.6"
         ];
@@ -63729,11 +64145,7 @@ in
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.2"
       sources."crc-3.8.0"
-      (sources."crc32-stream-2.0.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.6"
-        ];
-      })
+      sources."crc32-stream-3.0.1"
       (sources."csrf-3.0.6" // {
         dependencies = [
           sources."uid-safe-2.1.4"
@@ -63811,7 +64223,7 @@ in
       sources."get-browser-rtc-1.0.2"
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       (sources."has-binary-0.1.7" // {
@@ -64076,7 +64488,7 @@ in
       sources."xmlhttprequest-ssl-1.5.3"
       sources."xtend-4.0.2"
       sources."yeast-0.1.2"
-      sources."zip-stream-2.1.0"
+      sources."zip-stream-2.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -64090,10 +64502,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "3.6.2";
+    version = "3.6.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-3.6.2.tgz";
-      sha512 = "/UW87zxOU3p60deTeo94GX/ZR6ph1tGDDZmCnIFvo2gMsAaWAM/nePuAdT/RZ3cbSJfG3+/HXxsYOxetAjC/Sg==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-3.6.3.tgz";
+      sha512 = "Hxk8VouMZRh870u0hJHCcumylGO8VV6Id+Fm7S+MyZVGGgtaZlEFFV2HIndVd9nXTksS+RuhINX6jGIVmqTmDg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -64147,7 +64559,7 @@ in
       })
       sources."async-1.5.2"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bn.js-4.11.8"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
@@ -64221,7 +64633,7 @@ in
       sources."get-assigned-identifiers-1.2.0"
       sources."glob-7.1.4"
       sources."globule-1.2.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-1.0.3"
       sources."hash-base-3.0.4"
       sources."hash.js-1.1.7"
@@ -64453,7 +64865,7 @@ in
       sources."esprima-3.1.3"
       sources."esprima-fb-13001.1001.0-dev-harmony-fb"
       sources."glob-5.0.15"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -65083,7 +65495,7 @@ in
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
       sources."get-value-2.0.6"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."graceful-readlink-1.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -65376,14 +65788,14 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.208.0";
+    version = "1.210.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.208.0.tgz";
-      sha512 = "MMOQazfz+5fvoCDEBBJiuYNdcrtE3anemGvL7VJFlWu4uc8YgVZ8gvetEO7OmLmn4FfTmJ/hAthEQgcXYjDjFw==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.210.0.tgz";
+      sha512 = "k6/EIX1Dc4Qk8omcKQDm13RRywkKqXoQ0IMz5Nyk1y8sdmg1S78QSWnfTaEPe+OQE1olrtjInrDX3Yu20CnMzg==";
     };
     dependencies = [
       sources."@snyk/composer-lockfile-parser-1.0.3"
-      sources."@snyk/dep-graph-1.10.0"
+      sources."@snyk/dep-graph-1.12.0"
       sources."@snyk/gemfile-1.2.0"
       sources."@types/agent-base-4.2.0"
       sources."@types/debug-4.1.4"
@@ -65495,10 +65907,15 @@ in
           sources."get-stream-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."graphlib-2.1.7"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-2.7.1"
+      (sources."hosted-git-info-2.8.2" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.0.3"
+        ];
+      })
       sources."http-errors-1.7.3"
       (sources."http-proxy-agent-2.1.0" // {
         dependencies = [
@@ -65652,7 +66069,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
       sources."smart-buffer-4.0.2"
-      sources."snyk-config-2.2.2"
+      sources."snyk-config-2.2.3"
       (sources."snyk-docker-plugin-1.25.1" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -65670,13 +66087,13 @@ in
         ];
       })
       sources."snyk-module-1.9.1"
-      (sources."snyk-mvn-plugin-2.3.1" // {
+      (sources."snyk-mvn-plugin-2.3.3" // {
         dependencies = [
           sources."tslib-1.9.3"
         ];
       })
       sources."snyk-nodejs-lockfile-parser-1.16.0"
-      sources."snyk-nuget-plugin-1.11.2"
+      sources."snyk-nuget-plugin-1.11.3"
       sources."snyk-paket-parser-1.5.0"
       (sources."snyk-php-plugin-1.6.4" // {
         dependencies = [
@@ -65801,7 +66218,7 @@ in
       sources."accepts-1.3.7"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.7"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."backo2-1.0.2"
       sources."base64-arraybuffer-0.1.5"
       sources."base64id-1.0.0"
@@ -65894,7 +66311,12 @@ in
       sources."color-name-1.1.3"
       sources."configstore-3.1.2"
       sources."create-error-class-3.0.2"
-      sources."cross-spawn-5.1.0"
+      (sources."cross-spawn-5.1.0" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
       sources."crypto-random-string-1.0.0"
       sources."currently-unhandled-0.4.1"
       sources."debug-3.1.0"
@@ -65918,9 +66340,9 @@ in
       sources."get-stream-3.0.0"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-proxy-agent-2.1.0"
       sources."https-proxy-agent-2.2.2"
       sources."import-lazy-2.1.0"
@@ -65947,7 +66369,7 @@ in
       sources."log-update-2.3.0"
       sources."loud-rejection-1.6.0"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-4.1.5"
+      sources."lru-cache-5.1.1"
       sources."make-dir-1.3.0"
       sources."map-obj-2.0.0"
       sources."meow-5.0.0"
@@ -66023,7 +66445,7 @@ in
       sources."xdg-basedir-3.0.0"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
-      sources."yallist-2.1.2"
+      sources."yallist-3.0.3"
       sources."yargs-parser-10.1.0"
     ];
     buildInputs = globalBuildInputs;
@@ -66076,7 +66498,7 @@ in
       sources."base64-url-2.3.2"
       sources."bash-color-0.0.4"
       sources."binary-extensions-1.13.1"
-      sources."binary-search-1.3.5"
+      sources."binary-search-1.3.6"
       (sources."bl-0.8.2" // {
         dependencies = [
           sources."isarray-0.0.1"
@@ -66228,7 +66650,7 @@ in
       sources."glob-parent-2.0.0"
       sources."globby-4.1.0"
       sources."gossip-query-2.0.2"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-network-0.0.1"
@@ -66344,11 +66766,7 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
-      (sources."leveldown-5.1.1" // {
-        dependencies = [
-          sources."node-gyp-build-4.1.0"
-        ];
-      })
+      sources."leveldown-5.1.1"
       sources."levelup-4.1.0"
       sources."libnested-1.4.1"
       sources."libsodium-0.7.5"
@@ -66392,7 +66810,7 @@ in
       sources."muxrpc-6.4.2"
       sources."muxrpc-usage-2.1.0"
       sources."muxrpc-validation-3.0.2"
-      sources."muxrpcli-3.1.1"
+      sources."muxrpcli-3.1.2"
       (sources."mv-2.1.1" // {
         dependencies = [
           sources."rimraf-2.4.5"
@@ -66410,7 +66828,7 @@ in
       sources."ncp-2.0.0"
       sources."nearley-2.18.0"
       sources."nice-try-1.0.5"
-      sources."node-gyp-build-3.9.0"
+      sources."node-gyp-build-4.1.0"
       sources."non-private-ip-1.4.4"
       sources."normalize-path-2.1.1"
       sources."normalize-uri-1.1.2"
@@ -66620,7 +67038,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."secret-handshake-1.1.20"
-      sources."secret-stack-6.2.1"
+      sources."secret-stack-6.3.0"
       sources."semver-5.7.0"
       sources."separator-escape-0.0.0"
       (sources."set-value-2.0.1" // {
@@ -66669,7 +67087,7 @@ in
         ];
       })
       sources."sodium-chloride-1.1.2"
-      sources."sodium-native-2.4.3"
+      sources."sodium-native-2.4.5"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
       sources."source-map-url-0.4.0"
@@ -66899,9 +67317,9 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-0.2.0"
       sources."async-1.5.2"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.503.0"
+      sources."aws-sdk-2.504.0"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.8.0"
       sources."babel-runtime-6.26.0"
@@ -66916,7 +67334,7 @@ in
       })
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.5"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."base64id-1.0.0"
       sources."base64url-3.0.1"
       sources."basic-auth-1.1.0"
@@ -67097,7 +67515,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."graphlib-2.1.7"
       sources."har-schema-2.0.0"
       sources."har-validator-2.0.6"
@@ -67117,7 +67535,12 @@ in
         ];
       })
       sources."hoek-2.16.3"
-      sources."hosted-git-info-2.7.1"
+      (sources."hosted-git-info-2.8.2" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.0.3"
+        ];
+      })
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -67681,10 +68104,14 @@ in
         ];
       })
       sources."define-properties-1.1.3"
-      sources."dom-serializer-0.1.1"
+      (sources."dom-serializer-0.2.1" // {
+        dependencies = [
+          sources."domelementtype-2.0.1"
+        ];
+      })
       sources."domelementtype-1.3.1"
       sources."domutils-1.7.0"
-      sources."entities-1.1.2"
+      sources."entities-2.0.0"
       sources."es-abstract-1.13.0"
       sources."es-to-primitive-1.2.0"
       sources."escape-string-regexp-1.0.5"
@@ -67926,7 +68353,7 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       (sources."graphlib-2.1.7" // {
         dependencies = [
           sources."lodash-4.17.15"
@@ -68366,7 +68793,7 @@ in
       sources."argparse-1.0.10"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
@@ -68494,7 +68921,7 @@ in
       sources."errno-0.1.7"
       sources."fs.realpath-1.0.0"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
@@ -68592,11 +69019,11 @@ in
       sources."function-bind-1.1.1"
       sources."get-stdin-5.0.1"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-symbols-1.0.0"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-alphabetical-1.0.3"
@@ -68630,6 +69057,7 @@ in
       sources."locate-path-2.0.0"
       sources."lodash-4.17.15"
       sources."log-symbols-1.0.2"
+      sources."lru-cache-5.1.1"
       sources."map-like-2.0.0"
       sources."markdown-escapes-1.0.3"
       sources."md5-2.2.1"
@@ -68730,6 +69158,7 @@ in
       sources."x-is-string-0.1.0"
       sources."xml-escape-1.1.0"
       sources."xtend-4.0.2"
+      sources."yallist-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -68837,7 +69266,12 @@ in
       sources."configstore-3.1.2"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
-      sources."cross-spawn-5.1.0"
+      (sources."cross-spawn-5.1.0" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
       sources."crypto-random-string-1.0.0"
       sources."currently-unhandled-0.4.1"
       sources."cuss-1.16.0"
@@ -68867,9 +69301,9 @@ in
       sources."glob-7.1.4"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."ignore-3.3.10"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
@@ -68911,7 +69345,7 @@ in
       sources."lodash.intersection-4.4.0"
       sources."loud-rejection-1.6.0"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-4.1.5"
+      sources."lru-cache-5.1.1"
       (sources."make-dir-1.3.0" // {
         dependencies = [
           sources."pify-3.0.0"
@@ -69085,7 +69519,7 @@ in
       sources."x-is-string-0.1.0"
       sources."xdg-basedir-3.0.0"
       sources."xtend-4.0.2"
-      sources."yallist-2.1.2"
+      sources."yallist-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -69460,7 +69894,7 @@ in
       sources."asn1-0.2.3"
       sources."asn1.js-5.2.0"
       sources."assert-plus-1.0.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
@@ -69572,7 +70006,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."got-9.6.0"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."grapheme-splitter-1.0.4"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -69904,7 +70338,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."http-signature-1.2.0"
@@ -70270,7 +70704,7 @@ in
       sources."commander-2.20.0"
       sources."crypto-random-string-1.0.0"
       sources."fs-extra-7.0.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."jsonfile-4.0.0"
       sources."p-debounce-1.0.0"
       sources."temp-dir-1.0.0"
@@ -70334,7 +70768,7 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."async-1.0.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
@@ -70480,7 +70914,7 @@ in
       sources."getmac-1.4.6"
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       (sources."has-binary2-1.0.3" // {
@@ -70496,7 +70930,12 @@ in
           sources."mkdirp-0.3.0"
         ];
       })
-      sources."hosted-git-info-2.7.1"
+      (sources."hosted-git-info-2.8.2" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.0.3"
+        ];
+      })
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
@@ -70845,7 +71284,7 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bl-1.2.2"
       sources."bluebird-3.5.5"
@@ -70925,7 +71364,7 @@ in
       sources."git-clone-0.1.0"
       sources."glob-7.1.4"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."graceful-readlink-1.0.1"
       sources."gray-matter-2.1.1"
       sources."handlebars-4.1.2"
@@ -71267,7 +71706,12 @@ in
       sources."core-js-2.6.9"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
-      sources."cross-spawn-5.1.0"
+      (sources."cross-spawn-5.1.0" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
       sources."crypto-random-string-1.0.0"
       sources."css-parse-1.7.0"
       sources."currently-unhandled-0.4.1"
@@ -71291,7 +71735,12 @@ in
       sources."doctrine-3.0.0"
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
-      sources."editorconfig-0.15.3"
+      (sources."editorconfig-0.15.3" // {
+        dependencies = [
+          sources."lru-cache-4.1.5"
+          sources."yallist-2.1.2"
+        ];
+      })
       sources."element-helper-json-2.0.5"
       sources."emoji-regex-7.0.3"
       sources."error-ex-1.3.2"
@@ -71358,7 +71807,7 @@ in
       sources."global-dirs-0.1.1"
       sources."globals-11.12.0"
       sources."got-6.7.1"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."gridsome-helper-json-1.0.3"
       sources."has-1.0.3"
       (sources."has-ansi-2.0.0" // {
@@ -71390,7 +71839,7 @@ in
       sources."hast-util-parse-selector-2.2.2"
       sources."hast-util-to-string-1.0.2"
       sources."hast-util-whitespace-1.0.3"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."html-void-elements-1.0.4"
       sources."html-whitespace-sensitive-tag-names-1.0.1"
       sources."iconv-lite-0.4.24"
@@ -71508,7 +71957,7 @@ in
       sources."longest-streak-1.0.0"
       sources."loud-rejection-1.6.0"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-4.1.5"
+      sources."lru-cache-5.1.1"
       sources."make-dir-1.3.0"
       sources."map-cache-0.2.2"
       sources."map-obj-2.0.0"
@@ -72014,7 +72463,7 @@ in
       sources."xdg-basedir-3.0.0"
       sources."xtend-4.0.2"
       sources."y18n-3.2.1"
-      sources."yallist-2.1.2"
+      sources."yallist-3.0.3"
       (sources."yargs-4.7.1" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -72063,7 +72512,7 @@ in
       sources."@cliqz-oss/node-firefox-connect-1.2.1"
       sources."@sindresorhus/is-0.14.0"
       sources."@snyk/composer-lockfile-parser-1.0.3"
-      sources."@snyk/dep-graph-1.10.0"
+      sources."@snyk/dep-graph-1.12.0"
       sources."@snyk/gemfile-1.2.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/agent-base-4.2.0"
@@ -72169,7 +72618,7 @@ in
           sources."define-property-1.0.0"
         ];
       })
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
       (sources."bl-1.2.2" // {
@@ -72561,7 +73010,7 @@ in
           sources."get-stream-3.0.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."graceful-readlink-1.0.1"
       sources."graphlib-2.1.7"
       sources."growly-1.3.0"
@@ -72577,7 +73026,12 @@ in
         ];
       })
       sources."has-yarn-2.1.0"
-      sources."hosted-git-info-2.7.1"
+      (sources."hosted-git-info-2.8.2" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.0.3"
+        ];
+      })
       sources."htmlparser2-3.10.1"
       sources."http-cache-semantics-4.0.3"
       sources."http-errors-1.7.3"
@@ -73049,7 +73503,7 @@ in
         ];
       })
       sources."snapdragon-util-3.0.1"
-      (sources."snyk-1.208.0" // {
+      (sources."snyk-1.210.0" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
           sources."debug-3.2.6"
@@ -73058,7 +73512,7 @@ in
           sources."update-notifier-2.5.0"
         ];
       })
-      (sources."snyk-config-2.2.2" // {
+      (sources."snyk-config-2.2.3" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
@@ -73091,13 +73545,13 @@ in
           sources."ms-2.1.2"
         ];
       })
-      (sources."snyk-mvn-plugin-2.3.1" // {
+      (sources."snyk-mvn-plugin-2.3.3" // {
         dependencies = [
           sources."tslib-1.9.3"
         ];
       })
       sources."snyk-nodejs-lockfile-parser-1.16.0"
-      (sources."snyk-nuget-plugin-1.11.2" // {
+      (sources."snyk-nuget-plugin-1.11.3" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.2"
@@ -73254,7 +73708,7 @@ in
       sources."tslib-1.10.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-1.0.1"
+      sources."type-1.0.3"
       sources."type-check-0.3.2"
       sources."type-fest-0.5.2"
       sources."typedarray-0.0.6"
@@ -73378,10 +73832,10 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "4.39.0";
+    version = "4.39.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-4.39.0.tgz";
-      sha512 = "nrxFNSEKm4T1C/EsgOgN50skt//Pl4X7kgJC1MrlE47M292LSCVmMOC47iTGL0CGxbdwhKGgeThrJcw0bstEfA==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-4.39.1.tgz";
+      sha512 = "/LAb2TJ2z+eVwisldp3dqTEoNhzp/TLCZlmZm3GGGAlnfIWDgOEE758j/9atklNLfRyhKbZTCOIoPqLJXeBLbQ==";
     };
     dependencies = [
       sources."@webassemblyjs/ast-1.8.5"
@@ -73434,7 +73888,7 @@ in
           sources."define-property-1.0.0"
         ];
       })
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."big.js-5.2.2"
       sources."binary-extensions-1.13.1"
       sources."bluebird-3.5.5"
@@ -73566,7 +74020,7 @@ in
           sources."is-glob-3.1.0"
         ];
       })
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -73777,7 +74231,7 @@ in
       sources."stream-shift-1.0.0"
       sources."string_decoder-1.1.1"
       sources."tapable-1.1.3"
-      (sources."terser-4.1.2" // {
+      (sources."terser-4.1.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -73830,7 +74284,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."vm-browserify-1.1.0"
       sources."watchpack-1.6.0"
-      (sources."webpack-sources-1.4.1" // {
+      (sources."webpack-sources-1.4.3" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -73970,7 +74424,7 @@ in
         ];
       })
       sources."global-prefix-1.0.2"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."has-flag-3.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -74181,20 +74635,20 @@ in
   webtorrent-cli = nodeEnv.buildNodePackage {
     name = "webtorrent-cli";
     packageName = "webtorrent-cli";
-    version = "2.0.2";
+    version = "3.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-2.0.2.tgz";
-      sha512 = "thdHJQpoOLDXZMJQ708JhAQvqceds3R79LIDmzAALLRV5h1O/Ezmj7en3L3b/s1ek0TLkYW9TJxs1ohDcjaU9Q==";
+      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-3.0.0.tgz";
+      sha512 = "ktehmMXkJbM1gnlPxiiVbTYq0rQHLs+U/A/3pXNt0vIYjHgzsydooejwHZlmL7vxdfZAaSHilbkBDRgWW071rA==";
     };
     dependencies = [
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.3.0"
       sources."ascli-0.3.0"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."balanced-match-1.0.0"
       sources."bencode-2.0.1"
-      sources."binary-search-1.3.5"
-      sources."bitfield-2.0.0"
+      sources."binary-search-1.3.6"
+      sources."bitfield-3.0.0"
       (sources."bittorrent-dht-9.0.1" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -74204,12 +74658,11 @@ in
       sources."bittorrent-peerid-1.3.0"
       (sources."bittorrent-protocol-3.1.0" // {
         dependencies = [
-          sources."bitfield-3.0.0"
           sources."debug-4.1.1"
           sources."ms-2.1.2"
         ];
       })
-      (sources."bittorrent-tracker-9.11.0" // {
+      (sources."bittorrent-tracker-9.12.1" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
@@ -74217,13 +74670,8 @@ in
         ];
       })
       sources."blob-to-buffer-1.2.8"
-      (sources."block-stream2-1.1.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.6"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."bn.js-4.11.8"
+      sources."block-stream2-2.0.0"
+      sources."bn.js-5.0.0"
       sources."brace-expansion-1.1.11"
       sources."browserify-package-json-1.0.1"
       sources."buffer-alloc-1.2.0"
@@ -74243,7 +74691,7 @@ in
           sources."mime-1.6.0"
         ];
       })
-      sources."chunk-store-stream-4.0.0"
+      sources."chunk-store-stream-4.1.0"
       sources."clivas-0.2.0"
       sources."closest-to-2.0.0"
       sources."colour-0.7.1"
@@ -74254,13 +74702,13 @@ in
         dependencies = [
           sources."readable-stream-2.3.6"
           sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
         ];
       })
       sources."core-util-is-1.0.2"
-      sources."create-torrent-4.0.0"
+      sources."create-torrent-4.2.1"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
-      sources."defined-1.0.0"
       (sources."dlnacasts-0.1.0" // {
         dependencies = [
           sources."mime-1.6.0"
@@ -74273,13 +74721,7 @@ in
       sources."elementtree-0.1.7"
       sources."end-of-stream-1.4.1"
       sources."executable-4.1.1"
-      (sources."filestream-4.1.3" // {
-        dependencies = [
-          sources."readable-stream-2.3.6"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."flatten-1.0.2"
+      sources."filestream-5.0.0"
       (sources."fs-chunk-store-1.7.0" // {
         dependencies = [
           sources."thunky-1.0.3"
@@ -74340,7 +74782,7 @@ in
           sources."thunky-1.0.3"
         ];
       })
-      sources."multistream-3.0.0"
+      sources."multistream-3.1.0"
       sources."netmask-1.0.6"
       sources."network-address-1.1.2"
       sources."next-event-1.0.0"
@@ -74349,7 +74791,7 @@ in
       sources."nodebmc-0.0.7"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
-      sources."opn-6.0.0"
+      sources."open-6.4.0"
       sources."optjs-3.2.2"
       sources."package-json-versionify-1.0.4"
       sources."parse-numeric-range-0.0.2"
@@ -74402,21 +74844,23 @@ in
         ];
       })
       sources."simple-sha1-2.1.2"
-      (sources."simple-websocket-7.2.0" // {
+      (sources."simple-websocket-8.0.0" // {
         dependencies = [
-          sources."debug-3.2.6"
+          sources."debug-4.1.1"
           sources."ms-2.1.2"
-          sources."readable-stream-2.3.6"
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."speedometer-1.1.0"
       sources."split-1.0.1"
-      sources."stream-to-blob-1.0.2"
-      sources."stream-to-blob-url-2.1.2"
+      sources."stream-to-blob-2.0.0"
+      (sources."stream-to-blob-url-2.1.2" // {
+        dependencies = [
+          sources."stream-to-blob-1.0.2"
+        ];
+      })
       sources."stream-with-known-length-to-buffer-1.0.3"
       sources."string2compact-1.3.0"
-      (sources."string_decoder-1.1.1" // {
+      (sources."string_decoder-1.2.0" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
         ];
@@ -74442,7 +74886,6 @@ in
       sources."url-join-4.0.1"
       (sources."ut_metadata-3.4.0" // {
         dependencies = [
-          sources."bitfield-3.0.0"
           sources."debug-4.1.1"
           sources."ms-2.1.2"
         ];
@@ -74450,9 +74893,9 @@ in
       sources."ut_pex-1.2.1"
       sources."utf-8-validate-5.0.2"
       sources."util-deprecate-1.0.2"
-      sources."videostream-3.2.0"
+      sources."videostream-3.2.1"
       sources."vlc-command-1.1.2"
-      (sources."webtorrent-0.105.3" // {
+      (sources."webtorrent-0.106.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.2"
@@ -74461,11 +74904,10 @@ in
       })
       sources."winreg-1.2.4"
       sources."wrappy-1.0.2"
-      sources."ws-6.2.1"
+      sources."ws-7.1.1"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
       sources."xmldom-0.1.27"
-      sources."xtend-4.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -74766,7 +75208,7 @@ in
       sources."global-tunnel-ng-2.7.1"
       sources."globby-8.0.2"
       sources."got-8.3.2"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."grouped-queue-0.3.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -74785,7 +75227,12 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hosted-git-info-2.7.1"
+      (sources."hosted-git-info-2.8.2" // {
+        dependencies = [
+          sources."lru-cache-5.1.1"
+          sources."yallist-3.0.3"
+        ];
+      })
       sources."http-cache-semantics-3.8.1"
       sources."http-signature-1.2.0"
       sources."humanize-string-1.0.2"
diff --git a/nixpkgs/pkgs/development/node-packages/node-packages-v12.nix b/nixpkgs/pkgs/development/node-packages/node-packages-v12.nix
index e9062f33a407..a4a765d70ed0 100644
--- a/nixpkgs/pkgs/development/node-packages/node-packages-v12.nix
+++ b/nixpkgs/pkgs/development/node-packages/node-packages-v12.nix
@@ -184,13 +184,13 @@ let
         sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
       };
     };
-    "base64-js-1.3.0" = {
+    "base64-js-1.3.1" = {
       name = "base64-js";
       packageName = "base64-js";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz";
-        sha512 = "ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==";
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";
+        sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==";
       };
     };
     "bcrypt-pbkdf-1.0.2" = {
@@ -724,13 +724,13 @@ let
         sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
       };
     };
-    "graceful-fs-4.2.0" = {
+    "graceful-fs-4.2.1" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.0";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz";
-        sha512 = "jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.1.tgz";
+        sha512 = "b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw==";
       };
     };
     "grunt-known-options-1.1.1" = {
@@ -814,13 +814,13 @@ let
         sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
       };
     };
-    "hosted-git-info-2.7.1" = {
+    "hosted-git-info-2.8.2" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "2.7.1";
+      version = "2.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz";
-        sha512 = "7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.2.tgz";
+        sha512 = "CyjlXII6LMsPMyUzxpTt8fzh5QwzGqPmQXgY/Jyf4Zfp27t/FvfhwoE/8laaMUcMy816CkWF20I7NeQhwwY88w==";
       };
     };
     "http-signature-1.2.0" = {
@@ -1183,6 +1183,15 @@ let
         sha1 = "2009291bb31cea861bbf10a7c15a28caf75c31ec";
       };
     };
+    "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==";
+      };
+    };
     "make-iterator-1.0.1" = {
       name = "make-iterator";
       packageName = "make-iterator";
@@ -2607,7 +2616,7 @@ in
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
       sources."balanced-match-1.0.0"
-      sources."base64-js-1.3.0"
+      sources."base64-js-1.3.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-from-1.1.1"
@@ -2649,11 +2658,11 @@ in
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
-      sources."graceful-fs-4.2.0"
+      sources."graceful-fs-4.2.1"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-unicode-2.0.1"
-      sources."hosted-git-info-2.7.1"
+      sources."hosted-git-info-2.8.2"
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -2668,6 +2677,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
       sources."jsprim-1.4.1"
+      sources."lru-cache-5.1.1"
       sources."mime-db-1.40.0"
       sources."mime-types-2.1.24"
       sources."minimatch-3.0.4"
diff --git a/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix b/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix
index 473c30b43459..3b511c7f1cc8 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/batteries/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, qtest, num }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, qtest, num }:
 
-let version = "2.9.0"; in
+let version = "2.10.0"; in
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-batteries-${version}";
 
-  src = fetchzip {
-    url = "https://github.com/ocaml-batteries-team/batteries-included/archive/v${version}.tar.gz";
-    sha256 = "1wianim29kkkf4c31k7injjp3ji69ki5krrp6csq8ycswg791dby";
+  src = fetchurl {
+    url = "https://github.com/ocaml-batteries-team/batteries-included/releases/download/v${version}/batteries-${version}.tar.gz";
+    sha256 = "08ghw87d56h1a6y1nnh3x2wy9xj25jqfk5sp6ma9nsyd37babb0h";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild qtest ];
   propagatedBuildInputs = [ num ];
 
-  doCheck = !stdenv.lib.versionAtLeast ocaml.version "4.07" && !stdenv.isAarch64;
+  doCheck = stdenv.lib.versions.majorMinor ocaml.version != "4.07" && !stdenv.isAarch64;
   checkTarget = "test test";
 
   createFindlibDestdir = true;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/charInfo_width/default.nix b/nixpkgs/pkgs/development/ocaml-modules/charInfo_width/default.nix
new file mode 100644
index 000000000000..7a78573412fe
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/cohttp/default.nix b/nixpkgs/pkgs/development/ocaml-modules/cohttp/default.nix
index 3d293b1a1ac4..22a4e6371a9c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/cohttp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/javalib/default.nix b/nixpkgs/pkgs/development/ocaml-modules/javalib/default.nix
index dde86bf3e526..c7586ad23e42 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/javalib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/lambda-term/1.6.nix b/nixpkgs/pkgs/development/ocaml-modules/lambda-term/1.6.nix
deleted file mode 100644
index c0532ff03259..000000000000
--- a/nixpkgs/pkgs/development/ocaml-modules/lambda-term/1.6.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, libev, ocaml, findlib, ocamlbuild, lwt, react, zed, camlp4 }:
-
-stdenv.mkDerivation rec {
-  version = "1.6";
-  name = "lambda-term-${version}";
-
-  src = fetchurl {
-    url = https://github.com/diml/lambda-term/archive/1.6.tar.gz;
-    sha256 = "1rhfixdgpylxznf6sa9wr31wb4pjzpfn5mxhxqpbchmpl2afwa09";
-  };
-
-  buildInputs = [ libev ocaml findlib ocamlbuild lwt react ];
-
-  propagatedBuildInputs = [ camlp4 zed ];
-
-  createFindlibDestdir = true;
-
-  meta = { description = "Terminal manipulation library for OCaml";
-    longDescription = ''
-    Lambda-term is a cross-platform library for
-    manipulating the terminal. It provides an abstraction for keys,
-    mouse events, colors, as well as a set of widgets to write
-    curses-like applications.
-
-    The main objective of lambda-term is to provide a higher level
-    functional interface to terminal manipulation than, for example,
-    ncurses, by providing a native OCaml interface instead of bindings to
-    a C library.
-
-    Lambda-term integrates with zed to provide text edition facilities in
-    console applications.
-    '';
-
-    homepage = https://github.com/diml/lambda-term;
-    license = stdenv.lib.licenses.bsd3;
-    platforms = ocaml.meta.platforms or [];
-    branch = "1.6";
-    maintainers = [
-      stdenv.lib.maintainers.gal_bolle
-    ];
-  };
-}
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lambda-term/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lambda-term/default.nix
index 18fe235710f8..1b5594d55651 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lambda-term/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lambda-term/default.nix
@@ -2,20 +2,16 @@
 
 buildDunePackage rec {
   pname = "lambda-term";
-  version = "1.13";
-
-  minimumOCamlVersion = "4.02";
+  version = "2.0.2";
 
   src = fetchurl {
-    url = "https://github.com/diml/${pname}/archive/${version}.tar.gz";
-    sha256 = "1hy5ryagqclgdm9lzh1qil5mrynlypv7mn6qm858hdcnmz9zzn0l";
+    url = "https://github.com/ocaml-community/lambda-term/releases/download/${version}/lambda-term-${version}.tbz";
+    sha256 = "1p9yczrx78pf5hvhcg1qiqb2vdlmw6bmhhjsm4wiqjq2cc6piaqw";
   };
 
   buildInputs = [ libev ];
   propagatedBuildInputs = [ zed lwt_log lwt_react ];
 
-  hasSharedObjects = true;
-
   meta = { description = "Terminal manipulation library for OCaml";
     longDescription = ''
     Lambda-term is a cross-platform library for
diff --git a/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix b/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
index 157beaac4bc7..22c4216a88ff 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/logs/default.nix
@@ -5,7 +5,9 @@ let
   webpage = "https://erratique.ch/software/${pname}";
 in
 
-assert stdenv.lib.versionAtLeast ocaml.version "4.01.0";
+if !stdenv.lib.versionAtLeast ocaml.version "4.03"
+then throw "logs is not available for OCaml ${ocaml.version}"
+else
 
 stdenv.mkDerivation rec {
   name = "ocaml-${pname}-${version}";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/lwt_log/default.nix b/nixpkgs/pkgs/development/ocaml-modules/lwt_log/default.nix
index 7eea297e3eeb..8286ee16619d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/lwt_log/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/lwt_log/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "lwt_log";
-  version = "1.1.0";
+  version = "1.1.1";
 
   minimumOCamlVersion = "4.02";
 
@@ -10,7 +10,7 @@ buildDunePackage rec {
     owner = "aantron";
     repo = pname;
     rev = version;
-    sha256 = "1c58gkqfvyf2j11jwj2nh4iq999wj9xpnmr80hz9d0nk9fv333pi";
+    sha256 = "1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7";
   };
 
   propagatedBuildInputs = [ lwt ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix b/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix
index 73f84886cc57..f4e3586b43c1 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/mtime/default.nix
@@ -7,8 +7,8 @@ with lib;
 let param =
   if versionAtLeast ocaml.version "4.03"
   then {
-    version = "1.1.0";
-    sha256 = "1qb4ljwirrc3g8brh97s76rjky2cpmy7zm87y7iqd6pxix52ydk3";
+    version = "1.2.0";
+    sha256 = "0zm1jvqkz3ghznfsm3bbv9q2zinp9grggdf7k9phjazjvny68xb8";
   } else {
     version = "0.8.4";
     sha256 = "1adm8sc3lkjly99hyi5gqnxas748k7h62ljgn8x423nkn8gyp8dh";
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix
index 4b6bea31b40c..8c8d45192494 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ocurl/default.nix
@@ -1,10 +1,14 @@
 { stdenv, pkgconfig, ocaml, findlib, fetchurl, curl, ncurses }:
 
+if stdenv.lib.versionOlder ocaml.version "4.02"
+then throw "ocurl is not available for OCaml ${ocaml.version}"
+else
+
 stdenv.mkDerivation rec {
-  name = "ocurl-0.8.1";
+  name = "ocurl-0.8.2";
   src = fetchurl {
     url = "http://ygrek.org.ua/p/release/ocurl/${name}.tar.gz";
-    sha256 = "08ldzbx1k3mbjc01fmzsn86ll4paf331bcjss6iig6y6hgc9q3ry";
+    sha256 = "1ax3xdlzgb1zg7d0wr9nwgmh6a45a764m0wk8p6mx07ad94hz0q9";
   };
 
   buildInputs = [ pkgconfig ocaml findlib ncurses ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/otr/default.nix b/nixpkgs/pkgs/development/ocaml-modules/otr/default.nix
index ac853c94094b..caa2d01a4418 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/otr/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/otr/default.nix
@@ -1,35 +1,22 @@
-{ stdenv, fetchFromGitHub, ocaml, ocamlbuild, findlib, topkg
-, ppx_tools, ppx_sexp_conv, cstruct, ppx_cstruct, sexplib, rresult, nocrypto
-, astring
+{ lib, fetchFromGitHub, buildDunePackage
+, cstruct, sexplib0, rresult, nocrypto, astring
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.03"
-then throw "otr is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-otr-${version}";
-  version = "0.3.4";
+buildDunePackage rec {
+  pname = "otr";
+  version = "0.3.6";
 
   src = fetchFromGitHub {
     owner  = "hannesm";
     repo   = "ocaml-otr";
     rev    = "${version}";
-    sha256 = "0ixf0jvccmcbhk5mhzqakfzimvz200wkdkq3z2d0bdzyggslbdl4";
+    sha256 = "0iz6p85a0jxng9aq9blqsky173zaqfr6wlc5j48ad55lgwzlbih5";
   };
 
-  buildInputs = [ ocaml ocamlbuild findlib topkg ppx_tools ppx_sexp_conv ppx_cstruct ];
-  propagatedBuildInputs = [ cstruct sexplib rresult nocrypto astring ];
-
-  buildPhase = "${topkg.run} build --tests true";
-
-  inherit (topkg) installPhase;
+  propagatedBuildInputs = [ cstruct sexplib0 rresult nocrypto astring ];
 
   doCheck = true;
-  checkPhase = "${topkg.run} test";
-
-  meta = with stdenv.lib; {
-    inherit (ocaml.meta) platforms;
+  meta = with lib; {
     homepage = https://github.com/hannesm/ocaml-otr;
     description = "Off-the-record messaging protocol, purely in OCaml";
     license = licenses.bsd2;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_deriving/default.nix
index 24cfbcf5b7af..d45298972cce 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_deriving/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix
index 2aa74d751dbf..a8fb4af2a6bb 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
index 363b774aaeba..03cadad7ff4d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
@@ -1,23 +1,19 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, ocaml-migrate-parsetree }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml-migrate-parsetree }:
 
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-ppx_tools_versioned-${version}";
-  version = "5.1";
+buildDunePackage rec {
+  pname = "ppx_tools_versioned";
+  version = "5.2.3";
 
   src = fetchFromGitHub {
-    owner = "let-def";
-    repo = "ppx_tools_versioned";
+    owner = "ocaml-ppx";
+    repo = pname;
     rev = version;
-    sha256 = "1c7kvca67qpyr4hiy492yik5x31lmkhyhy5wpl0l0fbx7fr7l624";
+    sha256 = "1hcmpnw26zf70a71r3d2c2c0mn8q084gdn1r36ynng6fv9hq6j0y";
   };
 
-  buildInputs = [ ocaml findlib ];
-
   propagatedBuildInputs = [ ocaml-migrate-parsetree ];
 
-  createFindlibDestdir = true;
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/let-def/ppx_tools_versioned;
     description = "Tools for authors of syntactic tools (such as ppx rewriters)";
     license = licenses.gpl2;
diff --git a/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix
index 7d8c14c55130..3b61a6512635 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppxfind/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix b/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix
index e50deafd6e2d..644e1c98c481 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/sedlex/default.nix b/nixpkgs/pkgs/development/ocaml-modules/sedlex/default.nix
index 4137abf1ac7b..653f45325857 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/sedlex/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/uri/default.nix b/nixpkgs/pkgs/development/ocaml-modules/uri/default.nix
index 011acf01839e..e17e99cdc67c 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/uri/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/uri/sexp.nix b/nixpkgs/pkgs/development/ocaml-modules/uri/sexp.nix
new file mode 100644
index 000000000000..c6f979e5a3e7
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix b/nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix
index 125b117bcd83..ab6a7d8f5235 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/uuidm/default.nix
+++ b/nixpkgs/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";
   name = "uuidm-${version}";
   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/nixpkgs/pkgs/development/ocaml-modules/vg/default.nix b/nixpkgs/pkgs/development/ocaml-modules/vg/default.nix
index cffbd77351c2..9980b3f10830 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/vg/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/vg/default.nix
@@ -11,11 +11,13 @@ let
   inherit (stdenv.lib) optionals versionAtLeast;
 
   pname = "vg";
-  version = "0.9.1";
+  version = "0.9.3";
   webpage = "https://erratique.ch/software/${pname}";
 in
 
-assert versionAtLeast ocaml.version "4.02.0";
+if !versionAtLeast ocaml.version "4.03"
+then throw "vg is not available for OCaml ${ocaml.version}"
+else
 
 stdenv.mkDerivation rec {
 
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "07h9a464v0x066mjg3ldkaq94ah47b7rvh54z4rndrg7v6bk7kyp";
+    sha256 = "0jj5hrqxdb6yyplnz0r7am4mbjzgcn876qp7sqs2x93a97fk6lwd";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild topkg ];
diff --git a/nixpkgs/pkgs/development/ocaml-modules/zed/default.nix b/nixpkgs/pkgs/development/ocaml-modules/zed/default.nix
index d9dcf1a53851..9fa42e68c56d 100644
--- a/nixpkgs/pkgs/development/ocaml-modules/zed/default.nix
+++ b/nixpkgs/pkgs/development/ocaml-modules/zed/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, camomile, react, dune }:
+{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, camomile, react, dune, charInfo_width }:
 
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then
   {
-    version = "1.6";
-    sha256 = "00hhxcjf3bj3w2qm8nzs9x6vrqkadf4i0277s5whzy2rmiknj63v";
+    version = "2.0.3";
+    sha256 = "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55";
     buildInputs = [ dune ];
+    propagatedBuildInputs = [ charInfo_width ];
     extra = {
      buildPhase = "dune build -p zed";
      inherit (dune) installPhase; };
   } else {
     version = "1.4";
     sha256 = "0d8qfy0qiydrrqi8qc9rcwgjigql6vx9gl4zp62jfz1lmjgb2a3w";
-    buildInputs = [];
+    buildInputs = [ ocamlbuild ];
+    propagatedBuildInputs = [ camomile ];
     extra = { createFindlibDestdir = true; };
   }
 ; in
@@ -26,9 +28,9 @@ stdenv.mkDerivation (rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ] ++ param.buildInputs;
+  buildInputs = [ ocaml findlib ] ++ param.buildInputs;
 
-  propagatedBuildInputs = [ react camomile ];
+  propagatedBuildInputs = [ react ] ++ param.propagatedBuildInputs;
 
   meta = {
     description = "Abstract engine for text edition in OCaml";
diff --git a/nixpkgs/pkgs/development/perl-modules/DBD-Oracle/default.nix b/nixpkgs/pkgs/development/perl-modules/DBD-Oracle/default.nix
index a7ec1e2d1826..0658dd4248dd 100644
--- a/nixpkgs/pkgs/development/perl-modules/DBD-Oracle/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/Fabric/default.nix b/nixpkgs/pkgs/development/python-modules/Fabric/default.nix
index ed89c26943f8..b0c81a62e337 100644
--- a/nixpkgs/pkgs/development/python-modules/Fabric/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/Wand/default.nix b/nixpkgs/pkgs/development/python-modules/Wand/default.nix
index 18c42dbc126b..b1b71b395724 100644
--- a/nixpkgs/pkgs/development/python-modules/Wand/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix b/nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix
index 9e053c718c86..77d7cf653d19 100644
--- a/nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/aiosmtpd/default.nix
@@ -1,14 +1,17 @@
-{ lib, isPy3k, fetchPypi, buildPythonPackage
+{ lib, isPy3k, fetchFromGitHub, buildPythonPackage
 , atpublic }:
 
 buildPythonPackage rec {
   pname = "aiosmtpd";
-  version = "1.2";
+  version = "1.2.1";
   disabled = !isPy3k;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1xdfk741pjmz1cm8dsi4n5vq4517i175rm94696m3f7kcgk7xsmp";
+  # Release not published to Pypi
+  src = fetchFromGitHub {
+    owner = "aio-libs";
+    repo = pname;
+    rev = version;
+    sha256 = "14c30dm6jzxiblnsah53fdv68vqhxwvb9x0aq9bc4vcdas747vr7";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/ansible/default.nix b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
index e21445ab3ec2..fab3c0df58c5 100644
--- a/nixpkgs/pkgs/development/python-modules/ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/ansible/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchurl
+, fetchFromGitHub
 , buildPythonPackage
 , pycrypto
 , paramiko
@@ -18,11 +18,13 @@
 
 buildPythonPackage rec {
   pname = "ansible";
-  version = "2.8.2";
+  version = "2.8.4";
 
-  src = fetchurl {
-    url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-    sha256 = "1e5ba829ca0602c55b33da399b06f99b135a34014b661d1c36d8892a1e2d3730";
+  src = fetchFromGitHub {
+    owner = "ansible";
+    repo = "ansible";
+    rev = "v${version}";
+    sha256 = "1fp7zz8awfv70nn8i6x0ggx4472377hm7787x16qv2kz4nb069ki";
   };
 
   prePatch = ''
diff --git a/nixpkgs/pkgs/development/python-modules/authres/default.nix b/nixpkgs/pkgs/development/python-modules/authres/default.nix
index 8fe664f42310..d2a72461b177 100644
--- a/nixpkgs/pkgs/development/python-modules/authres/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-cli-core/default.nix b/nixpkgs/pkgs/development/python-modules/azure-cli-core/default.nix
index 3455053ff21a..f535a2431785 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-cli-core/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix
index ad730774c5e5..6384df020e04 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix
index 0f4c6b101e04..b8b39292e5f6 100644
--- a/nixpkgs/pkgs/development/python-modules/azure-mgmt-storage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix b/nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix
index 823b9ab8c6a4..a86acbb23ac2 100644
--- a/nixpkgs/pkgs/development/python-modules/boltztrap2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/braintree/default.nix b/nixpkgs/pkgs/development/python-modules/braintree/default.nix
index 6a5e6f82b7c3..5b5655553144 100644
--- a/nixpkgs/pkgs/development/python-modules/braintree/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix b/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
index 64510ee5b640..807dafab4369 100644
--- a/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/browser-cookie3/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchPypi, buildPythonPackage, isPy3k, keyring, pbkdf2, pyaes}:
 buildPythonPackage rec {
   pname = "browser-cookie3";
-  version = "0.6.4";
+  version = "0.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16nghwsrv08gz4iiyxsy5lgg5ljgrwkp471m7xnsvhhpb3axmnsc";
+    sha256 = "1f24hsclg1wz2i8aiam91l06qqy0plxhwl615l4qkg35mbw4ry7h";
   };
 
   disabled = !isPy3k;
diff --git a/nixpkgs/pkgs/development/python-modules/caldav/default.nix b/nixpkgs/pkgs/development/python-modules/caldav/default.nix
index aa3aa8b9c02b..653296a927e8 100644
--- a/nixpkgs/pkgs/development/python-modules/caldav/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/caldav/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi
-, tzlocal, requests, vobject, lxml }:
+, tzlocal, requests, vobject, lxml, nose }:
 
 buildPythonPackage rec {
   pname = "caldav";
   version = "0.6.1";
 
-  propagatedBuildInputs = [ tzlocal requests vobject lxml ];
+  propagatedBuildInputs = [ tzlocal requests vobject lxml nose ];
 
   src = fetchPypi {
     inherit pname version;
diff --git a/nixpkgs/pkgs/development/python-modules/carbon/default.nix b/nixpkgs/pkgs/development/python-modules/carbon/default.nix
index 755f92117469..3b49289c2e48 100644
--- a/nixpkgs/pkgs/development/python-modules/carbon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cheroot/default.nix b/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
index 96602c624a47..8c55c3ac8bbb 100644
--- a/nixpkgs/pkgs/development/python-modules/cheroot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cheroot/tests.patch b/nixpkgs/pkgs/development/python-modules/cheroot/tests.patch
new file mode 100644
index 000000000000..3de48a5a4684
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cliapp/default.nix b/nixpkgs/pkgs/development/python-modules/cliapp/default.nix
index a7ae70a43795..3aece4020e6c 100644
--- a/nixpkgs/pkgs/development/python-modules/cliapp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cmd2/default.nix b/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
index a71d048b47bb..7d78abd075de 100644
--- a/nixpkgs/pkgs/development/python-modules/cmd2/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/crc16/default.nix b/nixpkgs/pkgs/development/python-modules/crc16/default.nix
new file mode 100644
index 000000000000..01f5bb8a7e53
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cupy/default.nix b/nixpkgs/pkgs/development/python-modules/cupy/default.nix
index aaaad292df04..d0f3a7dc7623 100644
--- a/nixpkgs/pkgs/development/python-modules/cupy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix b/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix
index 5708bf12d6bc..77814ec1191c 100644
--- a/nixpkgs/pkgs/development/python-modules/cx_oracle/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/deprecation/default.nix b/nixpkgs/pkgs/development/python-modules/deprecation/default.nix
index 600fe8887514..e01433d90c5c 100644
--- a/nixpkgs/pkgs/development/python-modules/deprecation/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/distributed/default.nix b/nixpkgs/pkgs/development/python-modules/distributed/default.nix
index da082643e0fd..4a892ddb7058 100644
--- a/nixpkgs/pkgs/development/python-modules/distributed/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix b/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
new file mode 100644
index 000000000000..91cea9b00598
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonPackage, fetchPypi, django-gravatar2, django_compressor
+, django-allauth, mailmanclient, django, mock
+}:
+
+buildPythonPackage rec {
+  pname = "django-mailman3";
+  version = "1.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0v6c1jhcc212wc2xa314irfcchl05r7nysrcy63dcaan958kmnnx";
+  };
+
+  propagatedBuildInputs = [
+    django-gravatar2 django_compressor django-allauth mailmanclient
+  ];
+  checkInputs = [ django mock ];
+
+  checkPhase = ''
+    cd $NIX_BUILD_TOP/$sourceRoot
+    PYTHONPATH=.:$PYTHONPATH django-admin.py test --settings=django_mailman3.tests.settings_test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Django library for Mailman UIs";
+    homepage = https://gitlab.com/mailman/django-mailman3;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ globin peti ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix b/nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix
index 71ec20faed8b..af3404b2f880 100644
--- a/nixpkgs/pkgs/development/python-modules/django-webpack-loader/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix b/nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix
index 479e66289e64..4efd2002b1fd 100644
--- a/nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_modelcluster/default.nix
@@ -2,18 +2,21 @@
 , buildPythonPackage
 , fetchPypi
 , pytz
+, pythonOlder
 , six
 }:
 
 buildPythonPackage rec {
   pname = "django-modelcluster";
-  version = "4.4";
+  version = "5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02mrs7aapabapfh7h7n71s8r7zxkmad3yk4rdyfwcf0x36326rsr";
+    sha256 = "0zcn1b0lp9dg6xvz8p8v1hrrgqj71izqalqz2dp1nz5rbj3s34x2";
   };
 
+  disabled = pythonOlder "3.5";
+
   doCheck = false;
 
   propagatedBuildInputs = [ pytz six ];
diff --git a/nixpkgs/pkgs/development/python-modules/django_silk/default.nix b/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
index 6bb2b1d43f15..13ba5ef7964e 100644
--- a/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/django_silk/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "django-silk";
-  version = "3.0.2";
+  version = "3.0.3";
 
   # pypi tarball doesn't include test project
   src = fetchFromGitHub {
     owner = "jazzband";
     repo = "django-silk";
     rev = version;
-    sha256 = "1fbaafc2gx01gscdalp6hj6bz4b0cmq59lgmvsydw7jkds4mps7c";
+    sha256 = "0j1r88zv7fvmlnrzr2h65czzdcpvl7n847ra1pfc52bfa4lf8b9j";
   };
   # "test_time_taken" tests aren't suitable for reproducible execution, but django's
   # test runner doesn't have an easy way to ignore tests - so instead prevent it from picking
diff --git a/nixpkgs/pkgs/development/python-modules/dlib/default.nix b/nixpkgs/pkgs/development/python-modules/dlib/default.nix
index c200b6959b64..d9b3bb93264e 100644
--- a/nixpkgs/pkgs/development/python-modules/dlib/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dlib/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, dlib, python, pytest, avxSupport ? true }:
+{ buildPythonPackage, dlib, python, pytest, more-itertools, avxSupport ? true, lib }:
 
 buildPythonPackage {
   inherit (dlib) name src nativeBuildInputs buildInputs meta;
@@ -10,9 +10,15 @@ buildPythonPackage {
     ${python.interpreter} nix_run_setup test --no USE_AVX_INSTRUCTIONS
   '';
 
-  setupPyBuildFlags = [ "--${if avxSupport then "yes" else "no"} USE_AVX_INSTRUCTIONS" ];
+  setupPyBuildFlags = lib.optional avxSupport "--no USE_AVX_INSTRUCTIONS";
 
   patches = [ ./build-cores.patch ];
 
-  checkInputs = [ pytest ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "more-itertools<6.0.0" "more-itertools" \
+      --replace "pytest==3.8" "pytest"
+  '';
+
+  checkInputs = [ pytest more-itertools ];
 }
diff --git a/nixpkgs/pkgs/development/python-modules/dogtail/default.nix b/nixpkgs/pkgs/development/python-modules/dogtail/default.nix
index 804267268d78..deeb8ce06420 100644
--- a/nixpkgs/pkgs/development/python-modules/dogtail/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/dogtail/default.nix
@@ -11,6 +11,7 @@
 , fetchurl
 , dbus
 , xvfb_run
+, wrapGAppsHook
 # , fetchPypi
 }:
 
@@ -32,8 +33,9 @@ buildPythonPackage rec {
     ./nix-support.patch
   ];
 
-  nativeBuildInputs = [ gobject-introspection dbus xvfb_run ]; # for setup hooks
+  nativeBuildInputs = [ gobject-introspection dbus xvfb_run wrapGAppsHook ]; # for setup hooks
   propagatedBuildInputs = [ at-spi2-core gtk3 pygobject3 pyatspi pycairo ];
+  strictDeps = false; # issue 56943
 
   checkPhase = ''
     runHook preCheck
diff --git a/nixpkgs/pkgs/development/python-modules/dominate/default.nix b/nixpkgs/pkgs/development/python-modules/dominate/default.nix
index 94c67afe164d..7288dee77631 100644
--- a/nixpkgs/pkgs/development/python-modules/dominate/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/elpy/default.nix b/nixpkgs/pkgs/development/python-modules/elpy/default.nix
index 3816a8c42e70..f30dc218379c 100644
--- a/nixpkgs/pkgs/development/python-modules/elpy/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/elpy/default.nix
@@ -1,32 +1,43 @@
 { stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , rope
 , flake8
 , autopep8
 , jedi
 , importmagic
-, isPy27
+, black
+, mock
+, nose
+, yapf
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "elpy";
-  version = "1.28.0";
+  version = "1.29.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0lx6bf6ajx6wmnns03gva5sh1mmmxahjaqrn735cgwn6j4ikyqfs";
+  src = fetchFromGitHub {
+    owner = "jorgenschaefer";
+    repo = pname;
+    rev = version;
+    sha256 = "19sd5p03rkp5yibq1ilwisq8jlma02ks2kdc3swy6r27n4hy90xf";
   };
 
-  propagatedBuildInputs = [ flake8 autopep8 jedi importmagic ]
-    ++ stdenv.lib.optionals isPy27 [ rope ];
+  propagatedBuildInputs = [ flake8 autopep8 jedi importmagic rope yapf ]
+    ++ stdenv.lib.optionals isPy3k [ black ];
 
-  doCheck = false; # there are no tests
+  checkInputs = [ mock nose ];
+
+  checkPhase = ''
+    HOME=$(mktemp -d) nosetests -e "test_should_complete_top_level_modules_for_import"
+  '';
 
   meta = with stdenv.lib; {
     description = "Backend for the elpy Emacs mode";
     homepage = "https://github.com/jorgenschaefer/elpy";
     license = licenses.gpl3;
+    maintainers = [ maintainers.costrouc ];
   };
 
 }
diff --git a/nixpkgs/pkgs/development/python-modules/flufl/bounce.nix b/nixpkgs/pkgs/development/python-modules/flufl/bounce.nix
new file mode 100644
index 000000000000..0a2e8dff1b73
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flufl/bounce.nix
@@ -0,0 +1,14 @@
+{ buildPythonPackage, fetchPypi, atpublic, zope_interface, nose2 }:
+
+buildPythonPackage rec {
+  pname = "flufl.bounce";
+  version = "3.0";
+
+  buildInputs = [ nose2 ];
+  propagatedBuildInputs = [ atpublic zope_interface ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0k5kjqa3x6gvwwxyzb2vwi1g1i6asm1zw5fivylxz3d583y4kid2";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix b/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix
new file mode 100644
index 000000000000..6e8d77bf4f81
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flufl/i18n.nix
@@ -0,0 +1,13 @@
+{ buildPythonPackage, fetchPypi, atpublic }:
+
+buildPythonPackage rec {
+  pname = "flufl.i18n";
+  version = "2.0.2";
+
+  propagatedBuildInputs = [ atpublic ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1csgds59nx0ann9v2alqr69lakp1cnc1ikmbgn96l6n23js7c2ah";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/flufl/lock.nix b/nixpkgs/pkgs/development/python-modules/flufl/lock.nix
new file mode 100644
index 000000000000..1be5d9a7c4c2
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/flufl/lock.nix
@@ -0,0 +1,13 @@
+{ buildPythonPackage, fetchPypi, atpublic }:
+
+buildPythonPackage rec {
+  pname = "flufl.lock";
+  version = "3.2";
+
+  propagatedBuildInputs = [ atpublic ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0nzzd6l30ff6cwsrlrb94xzfja4wkyrqv3ydc6cz0hdbr766mmm8";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/foxdot/default.nix b/nixpkgs/pkgs/development/python-modules/foxdot/default.nix
new file mode 100644
index 000000000000..ed4f950e3631
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ftfy/default.nix b/nixpkgs/pkgs/development/python-modules/ftfy/default.nix
index f6fa41e33f83..d7a9fd2a0b08 100644
--- a/nixpkgs/pkgs/development/python-modules/ftfy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/funcy/default.nix b/nixpkgs/pkgs/development/python-modules/funcy/default.nix
index fd36c7590b5e..0220fd1aeb9d 100644
--- a/nixpkgs/pkgs/development/python-modules/funcy/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/geojson/default.nix b/nixpkgs/pkgs/development/python-modules/geojson/default.nix
index 91b8d455cdef..a41cdada4be7 100644
--- a/nixpkgs/pkgs/development/python-modules/geojson/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix b/nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix
index 78986ec7d306..6c9df6b571b0 100644
--- a/nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/gevent-websocket/default.nix
@@ -3,20 +3,19 @@
 , fetchPypi
 , isPy3k
 , gevent
+, gunicorn
 }:
 
 buildPythonPackage rec {
   pname = "gevent-websocket";
   version = "0.10.1";
-  # SyntaxError in tests.
-  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "1c2zv2rahp1gil3cj66hfsqgy0n35hz9fny3ywhr2319d0lz7bky";
   };
 
-  propagatedBuildInputs = [ gevent ];
+  propagatedBuildInputs = [ gevent gunicorn ];
 
   meta = with stdenv.lib; {
     homepage = https://www.gitlab.com/noppo/gevent-websocket;
diff --git a/nixpkgs/pkgs/development/python-modules/glances/default.nix b/nixpkgs/pkgs/development/python-modules/glances/default.nix
index dd5d90bb9685..95c64e7187b0 100644
--- a/nixpkgs/pkgs/development/python-modules/glances/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/glances/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   name = "glances-${version}";
-  version = "3.1.1";
+  version = "3.1.2";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "1x9gw7hzw3p8zki82wdf359yxj0ylfw2096a4y621kj0p4xqsr4q";
+    sha256 = "1z9sq0chhm8m4gq98yfknxj408cj017h7j375blngjk2zvhw39qd";
   };
 
   # Some tests fail in the sandbox (they e.g. require access to /sys/class/power_supply):
diff --git a/nixpkgs/pkgs/development/python-modules/graphite-web/default.nix b/nixpkgs/pkgs/development/python-modules/graphite-web/default.nix
index f49ebc3fb5d9..ecdb76173fa1 100644
--- a/nixpkgs/pkgs/development/python-modules/graphite-web/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
index 9355db763dcc..cb6e47a60026 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/grpcio/default.nix b/nixpkgs/pkgs/development/python-modules/grpcio/default.nix
index 5c85dd343578..65e9e3fb5995 100644
--- a/nixpkgs/pkgs/development/python-modules/grpcio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/gssapi/default.nix b/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
index c64013624a44..00c9b86c5eba 100644
--- a/nixpkgs/pkgs/development/python-modules/gssapi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/invoke/default.nix b/nixpkgs/pkgs/development/python-modules/invoke/default.nix
index d2839d32b0a9..a07dd9e727cf 100644
--- a/nixpkgs/pkgs/development/python-modules/invoke/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix b/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 714a5ce10147..e6c4086c386c 100644
--- a/nixpkgs/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix b/nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix
index f682e11bfed1..112e680ea9a5 100644
--- a/nixpkgs/pkgs/development/python-modules/jupyter_core/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/larch/default.nix b/nixpkgs/pkgs/development/python-modules/larch/default.nix
index 74703ff5c9df..9942168607e6 100644
--- a/nixpkgs/pkgs/development/python-modules/larch/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix b/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
index 527c99a15895..590ca9880234 100644
--- a/nixpkgs/pkgs/development/python-modules/lark-parser/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/lazr/config.nix b/nixpkgs/pkgs/development/python-modules/lazr/config.nix
new file mode 100644
index 000000000000..759c9689bc93
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/lazr/config.nix
@@ -0,0 +1,13 @@
+{ buildPythonPackage, fetchPypi, lazr_delegates }:
+
+buildPythonPackage rec {
+  pname = "lazr.config";
+  version = "2.2.1";
+
+  propagatedBuildInputs = [ lazr_delegates ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1s7pyvlq06qjrkaw9r6nc290lb095n25ybzgavvy51ygpxkgqxwn";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/lazr/delegates.nix b/nixpkgs/pkgs/development/python-modules/lazr/delegates.nix
new file mode 100644
index 000000000000..40e2e47d517d
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/lazr/delegates.nix
@@ -0,0 +1,15 @@
+{ buildPythonPackage, fetchPypi, nose, zope_interface }:
+
+buildPythonPackage rec {
+  pname = "lazr.delegates";
+  version = "2.0.4";
+
+  propagatedBuildInputs = [ nose zope_interface ];
+
+  doCheck = false;  # cannot import name 'ClassType' from 'types'
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rdnl85j9ayp8n85l0ciip621j9dcziz5qnmv2m7krgwgcn31vfx";
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/libcloud/default.nix b/nixpkgs/pkgs/development/python-modules/libcloud/default.nix
index e6a493f7b641..3853d796fcd6 100644
--- a/nixpkgs/pkgs/development/python-modules/libcloud/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/libkeepass/default.nix b/nixpkgs/pkgs/development/python-modules/libkeepass/default.nix
index b707b3430568..09177f16bc6a 100644
--- a/nixpkgs/pkgs/development/python-modules/libkeepass/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/lmdb/default.nix b/nixpkgs/pkgs/development/python-modules/lmdb/default.nix
index 8926a7383a77..4f090d73e60f 100644
--- a/nixpkgs/pkgs/development/python-modules/lmdb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix b/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix
new file mode 100644
index 000000000000..95e9e4fdd3e0
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/mailmanclient/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, six, httplib2 }:
+
+buildPythonPackage rec {
+  pname = "mailmanclient";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0xsrzdrsmfhnxv68zwm1g6awk7in08k6yhkyd27ipn0mq1wjm5jd";
+  };
+
+  propagatedBuildInputs = [ six httplib2 ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.gnu.org/software/mailman/";
+    description = "REST client for driving Mailman 3";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ peti globin ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/mixpanel/default.nix b/nixpkgs/pkgs/development/python-modules/mixpanel/default.nix
index 6a99913c6c8b..e770eedbfc31 100644
--- a/nixpkgs/pkgs/development/python-modules/mixpanel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/moderngl/default.nix b/nixpkgs/pkgs/development/python-modules/moderngl/default.nix
index 8040b80f88b8..a45a24b7a2a9 100644
--- a/nixpkgs/pkgs/development/python-modules/moderngl/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/moderngl/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "moderngl";
-  version = "5.5.0";
+  version = "5.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0x8xblc3zybp7jw9cscpm4r5pmmilj9l4yi1rkxyf0y80kchlxq4";
+    sha256 = "1k2yf2yglzx65gcv2bqql6w6lmgyp3f1jz4ddq9vylf09a8j7fga";
   };
 
   disabled = !isPy3k;
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = https://github.com/cprogrammer1994/ModernGL;
+    homepage = https://github.com/moderngl/moderngl;
     description = "High performance rendering for Python 3";
     license = licenses.mit;
     platforms = platforms.linux; # should be mesaPlatforms, darwin build breaks.
diff --git a/nixpkgs/pkgs/development/python-modules/moretools/default.nix b/nixpkgs/pkgs/development/python-modules/moretools/default.nix
index bdfb9e2efcae..6f11b01481b0 100644
--- a/nixpkgs/pkgs/development/python-modules/moretools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mox3/default.nix b/nixpkgs/pkgs/development/python-modules/mox3/default.nix
index be6a4c7c8a5d..8885401ae5f1 100644
--- a/nixpkgs/pkgs/development/python-modules/mox3/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix b/nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix
index 4a3ff00f8352..39ad7c472153 100644
--- a/nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/mps-youtube/default.nix
@@ -1,20 +1,17 @@
-{ stdenv
-, buildPythonPackage
-, fetchFromGitHub
-, isPy3k
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
 , pafy
 }:
 
 buildPythonPackage rec {
-  name = "mps-youtube-${version}";
-  version = "0.2.7.1";
+  pname = "mps-youtube";
+  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/nixpkgs/pkgs/development/python-modules/mpv/default.nix b/nixpkgs/pkgs/development/python-modules/mpv/default.nix
index cd9ca9451b8b..f5ae020c71c6 100644
--- a/nixpkgs/pkgs/development/python-modules/mpv/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix b/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix
index c43c45df600c..488f6f9a7bb5 100644
--- a/nixpkgs/pkgs/development/python-modules/mysqlclient/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nameparser/default.nix b/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
index 91e6e5f0fd6a..e8d2c209eb58 100644
--- a/nixpkgs/pkgs/development/python-modules/nameparser/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix b/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
index 11552a7c342e..69828b2b18ff 100644
--- a/nixpkgs/pkgs/development/python-modules/nbconvert/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nbmerge/default.nix b/nixpkgs/pkgs/development/python-modules/nbmerge/default.nix
index c0485eef4d3d..79900197133a 100644
--- a/nixpkgs/pkgs/development/python-modules/nbmerge/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/nltk/default.nix b/nixpkgs/pkgs/development/python-modules/nltk/default.nix
index 6e9b5ce61cd2..ef6d51cb19a4 100644
--- a/nixpkgs/pkgs/development/python-modules/nltk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/node-semver/default.nix b/nixpkgs/pkgs/development/python-modules/node-semver/default.nix
index 34a81a66ec9d..1c38918c1477 100644
--- a/nixpkgs/pkgs/development/python-modules/node-semver/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/notebook/default.nix b/nixpkgs/pkgs/development/python-modules/notebook/default.nix
index 556fcfb31f5f..431d4bb4d563 100644
--- a/nixpkgs/pkgs/development/python-modules/notebook/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix b/nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix
index d0ce48774c3a..026643266852 100644
--- a/nixpkgs/pkgs/development/python-modules/openapi-spec-validator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/parsel/default.nix b/nixpkgs/pkgs/development/python-modules/parsel/default.nix
index 82d9107bfdde..daaf845cdf0b 100644
--- a/nixpkgs/pkgs/development/python-modules/parsel/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pdfkit/default.nix b/nixpkgs/pkgs/development/python-modules/pdfkit/default.nix
index c797c57c40f9..0d6edcbd3f48 100644
--- a/nixpkgs/pkgs/development/python-modules/pdfkit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/peewee/default.nix b/nixpkgs/pkgs/development/python-modules/peewee/default.nix
index bfc9f5a1f7c6..afb805c0b7eb 100644
--- a/nixpkgs/pkgs/development/python-modules/peewee/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix b/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
index b86706bef081..b9c4a62f0de0 100644
--- a/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/plotly/default.nix b/nixpkgs/pkgs/development/python-modules/plotly/default.nix
index 555f64bd42d1..5cd6c1068269 100644
--- a/nixpkgs/pkgs/development/python-modules/plotly/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/potr/default.nix b/nixpkgs/pkgs/development/python-modules/potr/default.nix
index ba5ede1ad771..adcb71104676 100644
--- a/nixpkgs/pkgs/development/python-modules/potr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix b/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
index 6b65af073f42..7b5377cc15aa 100644
--- a/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pre-commit/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonApplication rec {
   pname = "pre-commit";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchPypi {
     inherit version;
     pname = "pre_commit";
-    sha256 = "0d9ja186g41kw3gmhbi6xjvaslz6z4xis4qn1q6jabkka6jz4qhp";
+    sha256 = "1y6gd6nq8mfyjxknrgdryvn1bj5arvwaz2r00h41g054lfg3iki1";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/pycangjie/default.nix b/nixpkgs/pkgs/development/python-modules/pycangjie/default.nix
index 80b17034aa03..163477a27251 100644
--- a/nixpkgs/pkgs/development/python-modules/pycangjie/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix b/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
index ef5996f32c78..ead5a24bbdbe 100644
--- a/nixpkgs/pkgs/development/python-modules/pychromecast/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pycurl/default.nix b/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
index 93ea1e6734be..066e849f0aab 100644
--- a/nixpkgs/pkgs/development/python-modules/pycurl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pydot_ng/default.nix b/nixpkgs/pkgs/development/python-modules/pydot_ng/default.nix
index ba754e9959bf..d48ddaccd585 100644
--- a/nixpkgs/pkgs/development/python-modules/pydot_ng/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyglet/default.nix b/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
index aae37e0282ff..e303f3415d7f 100644
--- a/nixpkgs/pkgs/development/python-modules/pyglet/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pykde4/default.nix b/nixpkgs/pkgs/development/python-modules/pykde4/default.nix
index 0770520ceee9..850e64000738 100644
--- a/nixpkgs/pkgs/development/python-modules/pykde4/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykde4/default.nix
@@ -1,8 +1,10 @@
-{ pyqt4,
-  stdenv, callPackage, fetchurl, cmake, automoc4, sip }:
+{ pyqt4, openssl_1_0_2
+, stdenv, callPackage, fetchurl, cmake, automoc4, sip }:
 
 let
-  kdelibs = callPackage ./kdelibs.nix {};
+  kdelibs = callPackage ./kdelibs.nix {
+    openssl = openssl_1_0_2;
+  };
   sip4_19_3 = sip.overrideAttrs (oldAttrs: rec {
     src = fetchurl {
       url = "mirror://sourceforge/pyqt/sip/sip-4.19.3/sip-4.19.3.tar.gz";
diff --git a/nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix b/nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix
index c5e148d1500a..073a2e624a5f 100644
--- a/nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix
+++ b/nixpkgs/pkgs/development/python-modules/pykde4/kdelibs.nix
@@ -2,7 +2,7 @@
   stdenv, fetchurl,
   automoc4, cmake_2_8, libxslt, perl, pkgconfig, shared-mime-info,
   attica, docbook_xml_dtd_42, docbook_xsl, giflib,
-  libdbusmenu_qt, libjpeg, phonon, qt4
+  libdbusmenu_qt, libjpeg, phonon, qt4, openssl
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     automoc4 cmake_2_8 libxslt perl pkgconfig shared-mime-info
   ];
   buildInputs = [
-    attica giflib libdbusmenu_qt libjpeg
+    attica giflib libdbusmenu_qt libjpeg openssl
   ];
   propagatedBuildInputs = [ qt4 phonon ];
 
diff --git a/nixpkgs/pkgs/development/python-modules/pykka/default.nix b/nixpkgs/pkgs/development/python-modules/pykka/default.nix
index 4fe7816d4fdc..c07f1b46cbe1 100644
--- a/nixpkgs/pkgs/development/python-modules/pykka/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix b/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
index e7cd0872c76a..1e567a9935cb 100644
--- a/nixpkgs/pkgs/development/python-modules/pynamodb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix b/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
index d78a5f55aadc..8064d9b6d575 100644
--- a/nixpkgs/pkgs/development/python-modules/pyodbc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyowm/default.nix b/nixpkgs/pkgs/development/python-modules/pyowm/default.nix
index 1392956ef036..1b8fffa1d294 100644
--- a/nixpkgs/pkgs/development/python-modules/pyowm/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyowm/default.nix
@@ -1,9 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi, requests, geojson }:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, requests, geojson }:
 
 buildPythonPackage rec {
   pname = "pyowm";
   version = "2.10.0";
 
+  disabled = pythonOlder "3.3";
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "8fd41a18536f4d6c432bc6d9ea69994efb1ea9b43688cf19523659b6f4d86cf7";
@@ -14,8 +16,7 @@ buildPythonPackage rec {
   # This may actually break the package.
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "requests>=2.18.2,<2.19" "requests"  \
-      --replace "geojson>=2.3.0,<2.4" "geojson<2.5,>=2.3.0"
+      --replace "requests>=2.18.2,<2.19" "requests"
   '';
 
   # No tests in archive
diff --git a/nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix b/nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix
index 7d745aa9e105..b48f21b9e78d 100644
--- a/nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pyqtwebengine/default.nix
@@ -1,5 +1,6 @@
 { lib, fetchurl, pythonPackages, pkgconfig
 , qmake, qtbase, qtsvg, qtwebengine
+, wrapQtAppsHook
 }:
 
 let
@@ -77,9 +78,12 @@ in buildPythonPackage rec {
 
   doCheck = true;
 
-
   enableParallelBuilding = true;
 
+  passthru = {
+    inherit wrapQtAppsHook;
+  };
+
   meta = with lib; {
     description = "Python bindings for Qt5";
     homepage    = http://www.riverbankcomputing.co.uk;
diff --git a/nixpkgs/pkgs/development/python-modules/pysocks/default.nix b/nixpkgs/pkgs/development/python-modules/pysocks/default.nix
index 0f4b2b688cd9..ae17ed351050 100644
--- a/nixpkgs/pkgs/development/python-modules/pysocks/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pyspotify/default.nix b/nixpkgs/pkgs/development/python-modules/pyspotify/default.nix
index 39671041d8a6..9316e85b2608 100644
--- a/nixpkgs/pkgs/development/python-modules/pyspotify/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix b/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix
index 547e52edbd20..72be3227e6cb 100644
--- a/nixpkgs/pkgs/development/python-modules/pytesseract/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
index 3085ee06e870..0ef79cd09894 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/pytest-ansible/default.nix
@@ -1,6 +1,6 @@
 { stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , ansible
 , pytest
 , mock
@@ -8,11 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pytest-ansible";
-  version = "2.0.2";
+  version = "2.1.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "d69d89cbcf29e587cbe6ec4b229346edbf027d3c04944dd7bcbf3d7bba46348f";
+  src = fetchFromGitHub {
+    owner = "ansible";
+    repo = "pytest-ansible";
+    rev = "v${version}";
+    sha256 = "0v97sqk3q2vkmwnjlnncz8ss8086x9jg3cz0g2nzlngs4ql1gdb0";
   };
 
   patchPhase = ''
@@ -24,11 +26,11 @@ buildPythonPackage rec {
   checkInputs =  [ mock ];
   propagatedBuildInputs = [ ansible pytest ];
 
-  # tests not included with release
+  # tests not included with release, even on github
   doCheck = false;
 
   checkPhase = ''
-    pytest
+    HOME=$TMPDIR pytest tests/
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix b/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix
index 0669c22f9211..afd36155cf78 100644
--- a/nixpkgs/pkgs/development/python-modules/pytest-repeat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix b/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
index 084432061d1e..6b25ba93ef9b 100644
--- a/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/python-language-server/default.nix
@@ -21,13 +21,13 @@ in
 
 buildPythonPackage rec {
   pname = "python-language-server";
-  version = "0.27.0";
+  version = "0.28.1";
 
   src = fetchFromGitHub {
     owner = "palantir";
     repo = "python-language-server";
     rev = version;
-    sha256 = "158wxj2w880jrab7mi4fb3xqnjhmfixqacxjp7whf7jy3zxqrq38";
+    sha256 = "0xa0zw7hlfqqa305ic4csgfmlbxhklb5xzx72mfkcz8gcc0f5qwd";
   };
 
   # The tests require all the providers, disable otherwise.
diff --git a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix b/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
index 9762fd280e06..1a4fdff5812c 100644
--- a/nixpkgs/pkgs/development/python-modules/rasterio/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/rebulk/default.nix b/nixpkgs/pkgs/development/python-modules/rebulk/default.nix
index d5305781ef5c..7042b42f7ed8 100644
--- a/nixpkgs/pkgs/development/python-modules/rebulk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/shamir-mnemonic/default.nix b/nixpkgs/pkgs/development/python-modules/shamir-mnemonic/default.nix
index 907f87dcd474..13a946aeafd0 100644
--- a/nixpkgs/pkgs/development/python-modules/shamir-mnemonic/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sipsimple/default.nix b/nixpkgs/pkgs/development/python-modules/sipsimple/default.nix
index bf76166d73b4..7839a77f9f5e 100644
--- a/nixpkgs/pkgs/development/python-modules/sipsimple/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/spark_parser/default.nix b/nixpkgs/pkgs/development/python-modules/spark_parser/default.nix
index badc99f5e377..b513a9f33c8c 100644
--- a/nixpkgs/pkgs/development/python-modules/spark_parser/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
index 1212b6c94b0c..ef30b6917a3b 100644
--- a/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/sqlalchemy-utils/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-utils";
-  version = "0.34.0";
+  version = "0.34.2";
 
   src = fetchPypi {
     inherit version;
     pname = "SQLAlchemy-Utils";
-    sha256 = "0rlixs084isgxsvvpz96njqzikvg8x021sgjp4yj71jpd8blvg8f";
+    sha256 = "126c9p8rnnb043w57ah7idqfryczbz4vi9lzsz2cgiaig6fv52b6";
   };
 
   propagatedBuildInputs = [
diff --git a/nixpkgs/pkgs/development/python-modules/tblib/default.nix b/nixpkgs/pkgs/development/python-modules/tblib/default.nix
index 37091da1b499..4b5ad014b973 100644
--- a/nixpkgs/pkgs/development/python-modules/tblib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
index 70488a0d9dcb..899e89368436 100644
--- a/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
+++ b/nixpkgs/pkgs/development/python-modules/tensorflow/default.nix
@@ -118,7 +118,7 @@ let
       keras-applications
 
       # libs taken from system through the TF_SYS_LIBS mechanism
-      grpc
+      # grpc
       sqlite
       openssl
       jsoncpp
@@ -169,7 +169,8 @@ let
       "flatbuffers"
       "gast_archive"
       "gif_archive"
-      "grpc"
+      # Lots of errors, requires an older version
+      # "grpc"
       "hwloc"
       "icu"
       "jpeg"
@@ -245,8 +246,7 @@ let
     '';
 
     # FIXME: Tensorflow uses dlopen() for CUDA libraries.
-    # No idea why gpr isn't linked properly; perhaps Tensorflow expects a static library?
-    NIX_LDFLAGS = [ "-lgpr" ] ++ lib.optionals cudaSupport [ "-lcudart" "-lcublas" "-lcufft" "-lcurand" "-lcusolver" "-lcusparse" "-lcudnn" ];
+    NIX_LDFLAGS = lib.optionals cudaSupport [ "-lcudart" "-lcublas" "-lcufft" "-lcurand" "-lcusolver" "-lcusparse" "-lcudnn" ];
 
     hardeningDisable = [ "format" ];
 
@@ -261,15 +261,14 @@ let
     bazelTarget = "//tensorflow/tools/pip_package:build_pip_package //tensorflow/tools/lib_package:libtensorflow";
 
     fetchAttrs = {
-      preInstall = ''
-        rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker,local_*,\@local_*}
-      '';
+      # So that checksums don't depend on these.
+      TF_SYSTEM_LIBS = null;
 
       # cudaSupport causes fetch of ncclArchive, resulting in different hashes
       sha256 = if cudaSupport then
-        "19ll3f1i5qzd7ngz3m2jbxzgcrdjx5sv6kv2j5mcb8g3xsws8j5x"
+        "196pm3ynfafqlcxah07hkvphf536hpix1ydgsynr1yg08aynlvvx"
       else
-        "0y9kw3k4yvrxwdy7zry7nip9mdiwyv35r6mx65g4w7qajiypfc7i";
+        "138r85n27ijzwxfwb5pcfyb79v14368jpckw0vmciz6pwf11bd9g";
     };
 
     buildAttrs = {
diff --git a/nixpkgs/pkgs/development/python-modules/tracing/default.nix b/nixpkgs/pkgs/development/python-modules/tracing/default.nix
index 843f26508ae4..094c01eef78b 100644
--- a/nixpkgs/pkgs/development/python-modules/tracing/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/trezor/default.nix b/nixpkgs/pkgs/development/python-modules/trezor/default.nix
index 12e881536963..47aa23ca1143 100644
--- a/nixpkgs/pkgs/development/python-modules/trezor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/trollius/default.nix b/nixpkgs/pkgs/development/python-modules/trollius/default.nix
index 4cd4776f0da9..21a3c5d6d08f 100644
--- a/nixpkgs/pkgs/development/python-modules/trollius/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ttystatus/default.nix b/nixpkgs/pkgs/development/python-modules/ttystatus/default.nix
index 042b4a196421..bce0ad8d7c0c 100644
--- a/nixpkgs/pkgs/development/python-modules/ttystatus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/txamqp/default.nix b/nixpkgs/pkgs/development/python-modules/txamqp/default.nix
index 2c3ee66663f6..d59a0bb8b8a4 100644
--- a/nixpkgs/pkgs/development/python-modules/txamqp/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/uncertainties/default.nix b/nixpkgs/pkgs/development/python-modules/uncertainties/default.nix
index 6e357f307e3a..f2c02c8a6c67 100644
--- a/nixpkgs/pkgs/development/python-modules/uncertainties/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/uproot/default.nix b/nixpkgs/pkgs/development/python-modules/uproot/default.nix
index 9387ba778016..f85c28b7f579 100644
--- a/nixpkgs/pkgs/development/python-modules/uproot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/urwid/default.nix b/nixpkgs/pkgs/development/python-modules/urwid/default.nix
index 365a65950f14..885595ef6d4b 100644
--- a/nixpkgs/pkgs/development/python-modules/urwid/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix b/nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix
index 29515f75c9e0..4c550e073c3f 100644
--- a/nixpkgs/pkgs/development/python-modules/voluptuous-serialize/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/voluptuous/default.nix b/nixpkgs/pkgs/development/python-modules/voluptuous/default.nix
index b45a46b3a839..70512edf4001 100644
--- a/nixpkgs/pkgs/development/python-modules/voluptuous/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/w3lib/default.nix b/nixpkgs/pkgs/development/python-modules/w3lib/default.nix
index b71bc7dc928d..c0d2d744f096 100644
--- a/nixpkgs/pkgs/development/python-modules/w3lib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/whisper/default.nix b/nixpkgs/pkgs/development/python-modules/whisper/default.nix
index f9565d8e6a05..407bb88fa2ae 100644
--- a/nixpkgs/pkgs/development/python-modules/whisper/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/ws4py/default.nix b/nixpkgs/pkgs/development/python-modules/ws4py/default.nix
index 60f0f3cc9696..141b499453ed 100644
--- a/nixpkgs/pkgs/development/python-modules/ws4py/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix b/nixpkgs/pkgs/development/python-modules/wsproto/0.14.nix
new file mode 100644
index 000000000000..36aaf0ec8ceb
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/wsproto/default.nix b/nixpkgs/pkgs/development/python-modules/wsproto/default.nix
index 36aaf0ec8ceb..dfbf9ceabdc3 100644
--- a/nixpkgs/pkgs/development/python-modules/wsproto/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/xapian/default.nix b/nixpkgs/pkgs/development/python-modules/xapian/default.nix
new file mode 100644
index 000000000000..c15f2682e63c
--- /dev/null
+++ b/nixpkgs/pkgs/development/python-modules/xapian/default.nix
@@ -0,0 +1,43 @@
+{ lib, buildPythonPackage, fetchurl, python
+, sphinx
+, xapian
+}:
+
+let
+  pythonSuffix = lib.optionalString python.isPy3k "3";
+in
+buildPythonPackage rec {
+  pname = "xapian";
+  inherit (xapian) version;
+  format = "other";
+
+  src = fetchurl {
+    url = "https://oligarchy.co.uk/xapian/${version}/xapian-bindings-${version}.tar.xz";
+    sha256 = "0j9awiiw9zf97r60m848absq43k37gghpyw7acxqjazfzd71fxvm";
+  };
+
+  configureFlags = [
+    "--with-python${pythonSuffix}"
+    "PYTHON${pythonSuffix}_LIB=${placeholder "out"}/${python.sitePackages}"
+  ];
+
+  preConfigure = ''
+    export XAPIAN_CONFIG=${xapian}/bin/xapian-config
+  '';
+
+  buildInputs = [ sphinx xapian ];
+
+  doCheck = true;
+
+  checkPhase = ''
+    ${python.interpreter} python${pythonSuffix}/smoketest.py
+    ${python.interpreter} python${pythonSuffix}/pythontest.py
+  '';
+
+  meta = with lib; {
+    description = "Python Bindings for Xapian";
+    homepage = https://xapian.org/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/python-modules/xdis/default.nix b/nixpkgs/pkgs/development/python-modules/xdis/default.nix
index e5d06a3c6943..5fc7f55d4197 100644
--- a/nixpkgs/pkgs/development/python-modules/xdis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/yamllint/default.nix b/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
index b22b9554fa61..5c738c11f84c 100644
--- a/nixpkgs/pkgs/development/python-modules/yamllint/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/python-modules/zict/default.nix b/nixpkgs/pkgs/development/python-modules/zict/default.nix
index 81e5d0fbc815..42f0218c8463 100644
--- a/nixpkgs/pkgs/development/python-modules/zict/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/ruby-modules/bundler-app/default.nix b/nixpkgs/pkgs/development/ruby-modules/bundler-app/default.nix
index 58e72e4a9f42..f0727b3c1704 100644
--- a/nixpkgs/pkgs/development/ruby-modules/bundler-app/default.nix
+++ b/nixpkgs/pkgs/development/ruby-modules/bundler-app/default.nix
@@ -36,7 +36,7 @@
 let
   basicEnv = (callPackage ../bundled-common {}) args;
 
-  cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" "passthru" ] // {
+  cmdArgs = removeAttrs args [ "pname" "postBuild" "gemConfig" "passthru" "gemset" ] // {
     inherit preferLocalBuild allowSubstitutes; # pass the defaults
 
     buildInputs = buildInputs ++ lib.optional (scripts != []) makeWrapper;
diff --git a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
index 85ce733892f9..fb351f4adfd8 100644
--- a/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.105.2";
+  version = "0.106.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "1zvg4yz9rpibvai66lb781qivgx9gr8222z3dix673dns06rd4nf";
+    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/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
index caa4d718f89f..5099505cc5b0 100644
--- a/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
+++ b/nixpkgs/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.9.3";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "wata727";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10saljrman41pjmjhbzan8jw8jbz069yhcf6vvzxmw763x5s3n85";
+    sha256 = "1p4w1ddgb4nqibbrvix0p0gdlj6ann5lkyvlcsbkn25z8ha3qa39";
   };
 
-  modSha256 = "0zfgyv1m7iay3brkqmh35gw1giyr3i3ja56dh4kgm6ai4z1jmvgc";
+  modSha256 = "1snanz4cpqkfgxp8k52w3x4i49k6d5jffcffrcx8xya8yvx2wxy3";
 
   subPackages = [ "." ];
 
diff --git a/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix b/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
index 73adfaec8386..0e511271e1c1 100644
--- a/nixpkgs/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix b/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix
new file mode 100644
index 000000000000..e9bb3c27df9f
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/msbuild/default.nix
@@ -0,0 +1,133 @@
+{ stdenv, fetchurl, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnet-sdk }:
+
+let
+
+  xplat = fetchurl {
+    url = "https://github.com/mono/msbuild/releases/download/0.07/mono_msbuild_xplat-master-8f608e49.zip";
+    sha256 = "1jxq3fk9a6q2a8i9zacxaz3fkvc22i9qvzlpa7wbb95h42g0ffhq";
+  };
+
+  deps = import ./nuget.nix { inherit fetchurl; };
+
+in
+
+stdenv.mkDerivation rec {
+  pname = "msbuild";
+  version = "16.3+xamarinxplat.2019.07.26.14.57";
+
+  src = fetchurl {
+    url = "https://download.mono-project.com/sources/msbuild/msbuild-${version}.tar.xz";
+    sha256 = "1zcdfx4xsh62wj3g1jc2an0lppsfs691lz4dv05xbgi01aq1hk6a";
+  };
+
+  nativeBuildInputs = [
+    dotnet-sdk
+    mono
+  ];
+
+  buildInputs = [
+    dotnetPackages.Nuget
+    glibcLocales
+    makeWrapper
+    unzip
+  ];
+
+  # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=msbuild
+  phases = ["unpackPhase" "buildPhase" "installPhase" "installCheckPhase"];
+
+  # https://github.com/NixOS/nixpkgs/issues/38991
+  # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
+  LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux
+      "${glibcLocales}/lib/locale/locale-archive";
+
+  buildPhase = ''
+    # nuget would otherwise try to base itself in /homeless-shelter
+    export HOME=$(pwd)/fake-home
+
+    for package in ${toString deps}; do
+      nuget add $package -Source nixos
+    done
+
+    nuget sources Disable -Name "nuget.org"
+    nuget sources Add -Name nixos -Source $(pwd)/nixos
+
+    # license check is case sensitive
+    mv LICENSE license
+
+    mkdir -p artifacts
+    unzip ${xplat} -d artifacts
+    mv artifacts/msbuild artifacts/mono-msbuild
+    chmod +x artifacts/mono-msbuild/MSBuild.dll
+
+    ln -s $(find ${dotnet-sdk} -name libhostfxr.so) artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
+
+    # overwrite the file
+    echo "#!${stdenv.shell}" > eng/common/dotnet-install.sh
+
+    # msbuild response files to use only the nixos source
+    echo "/p:RestoreSources=nixos" > artifacts/mono-msbuild/MSBuild.rsp
+    echo "/p:RestoreSources=nixos" > src/MSBuild/MSBuild.rsp
+
+    # not patchShebangs, there is /bin/bash in the body of the script as well
+    substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell}
+
+    # DisableNerdbankVersioning https://gitter.im/Microsoft/msbuild/archives/2018/06/27?at=5b33dbc4ce3b0f268d489bfa
+    # TODO there are some (many?) failing tests
+    ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true
+  '';
+
+  installPhase = ''
+    mono artifacts/mono-msbuild/MSBuild.dll mono/build/install.proj /p:MonoInstallPrefix="$out" /p:Configuration=Release-MONO
+
+    ln -s ${mono}/lib/mono/msbuild/Current/bin/Roslyn $out/lib/mono/msbuild/Current/bin/Roslyn
+
+    makeWrapper ${mono}/bin/mono $out/bin/msbuild \
+      --set MSBuildExtensionsPath $out/lib/mono/xbuild \
+      --set-default MONO_GC_PARAMS "nursery-size=64m" \
+      --add-flags "$out/lib/mono/msbuild/15.0/bin/MSBuild.dll"
+  '';
+
+  doInstallCheck = true;
+
+  # https://docs.microsoft.com/cs-cz/visualstudio/msbuild/walkthrough-creating-an-msbuild-project-file-from-scratch?view=vs-2019
+  installCheckPhase = ''
+    cat > Helloworld.cs <<EOF
+using System;
+
+class HelloWorld
+{
+    static void Main()
+    {
+#if DebugConfig
+        Console.WriteLine("WE ARE IN THE DEBUG CONFIGURATION");
+#endif
+
+        Console.WriteLine("Hello, world!");
+    }
+}
+EOF
+
+    cat > Helloworld.csproj <<EOF
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Compile Include="Helloworld.cs" />
+  </ItemGroup>
+  <Target Name="Build">
+    <Csc Sources="@(Compile)"/>
+  </Target>
+</Project>
+EOF
+
+    $out/bin/msbuild Helloworld.csproj -t:Build
+    ${mono}/bin/mono Helloworld.exe | grep "Hello, world!"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Mono version of Microsoft Build Engine, the build platform for .NET, and Visual Studio";
+    homepage = https://github.com/mono/msbuild;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jdanek ];
+    platforms = platforms.unix;
+  };
+}
+
diff --git a/nixpkgs/pkgs/development/tools/build-managers/msbuild/nuget.nix b/nixpkgs/pkgs/development/tools/build-managers/msbuild/nuget.nix
new file mode 100644
index 000000000000..0aae3840752d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/build-managers/msbuild/nuget.nix
@@ -0,0 +1,1130 @@
+{ fetchurl }: let
+
+  fetchNuGet = { url, name, version, sha256 }: fetchurl {
+    inherit name url sha256;
+  };
+
+in [
+(fetchNuGet {
+        name = "microsoft.build";
+        version = "14.3.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build/14.3.0";
+        sha256 = "1zamn3p8xxi0wsjlpln0y71ncb977f3fp08mvaz4wmbmi76nr0rz";
+        })
+(fetchNuGet {
+        name = "system.io";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.io/4.1.0";
+        sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+        })
+(fetchNuGet {
+        name = "system.io";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io/4.3.0";
+        sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+        })
+(fetchNuGet {
+        name = "system.xml.xpath";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xpath/4.3.0";
+        sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci";
+        })
+(fetchNuGet {
+        name = "microsoft.net.compilers.toolset";
+        version = "3.3.0-beta2-19367-02";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/microsoft.net.compilers.toolset.3.3.0-beta2-19367-02.nupkg";
+        sha256 = "1v9lz2fmfprhql0klqa8iipiiz3wcflvlgr3a86pcjjk7x0y84sl";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem/4.0.1";
+        sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem/4.3.0";
+        sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+        })
+(fetchNuGet {
+        name = "largeaddressaware";
+        version = "1.0.3";
+        url = "https://www.nuget.org/api/v2/package/largeaddressaware/1.0.3";
+        sha256 = "1ppss9bgj0hf5s8307bnm2a4qm10mrymp0v12m28a5q81zjz0fr5";
+        })
+(fetchNuGet {
+        name = "nuget.protocol";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.protocol/5.2.0-rtm.6067";
+        sha256 = "0fm3qgcdsy6dy6fih0n9a4w39mzdha4cz51gr9pp9g4nag34za2a";
+        })
+(fetchNuGet {
+        name = "runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
+        })
+(fetchNuGet {
+        name = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
+        })
+(fetchNuGet {
+        name = "system.buffers";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.buffers/4.3.0";
+        sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
+        })
+(fetchNuGet {
+        name = "system.buffers";
+        version = "4.4.0";
+        url = "https://www.nuget.org/api/v2/package/system.buffers/4.4.0";
+        sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
+        })
+(fetchNuGet {
+        name = "xunit.core";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.core/2.4.1";
+        sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.primitives/4.3.0";
+        sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem.primitives";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.primitives/4.0.1";
+        sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+        })
+(fetchNuGet {
+        name = "system.xml.xmldocument";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xmldocument/4.0.1";
+        sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
+        })
+(fetchNuGet {
+        name = "system.xml.xmldocument";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xmldocument/4.3.0";
+        sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
+        })
+(fetchNuGet {
+        name = "microsoft.build.framework";
+        version = "15.5.180";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.framework/15.5.180";
+        sha256 = "064y3a711ikx9pm9d2wyms4i3k4f9hfvn3vymhwygg7yv7gcj92z";
+        })
+(fetchNuGet {
+        name = "microsoft.build.framework";
+        version = "14.3.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.framework/14.3.0";
+        sha256 = "0r7y1i7dbr3pb53fdrh268hyi627w85nzv2iblwyg8dzkfxraafd";
+        })
+(fetchNuGet {
+        name = "system.globalization";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.globalization/4.3.0";
+        sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+        })
+(fetchNuGet {
+        name = "system.globalization";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.globalization/4.0.11";
+        sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+        })
+(fetchNuGet {
+        name = "microsoft.dotnet.signtool";
+        version = "1.0.0-beta.19372.10";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.signtool/1.0.0-beta.19372.10/microsoft.dotnet.signtool.1.0.0-beta.19372.10.nupkg";
+        sha256 = "1f2im2lilw10zslfclxh49knr542jy7q09p009flxsgn68riy0j6";
+        })
+(fetchNuGet {
+        name = "system.runtime.handles";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.handles/4.3.0";
+        sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+        })
+(fetchNuGet {
+        name = "system.runtime.handles";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.handles/4.0.1";
+        sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
+        })
+(fetchNuGet {
+        name = "microsoft.codeanalysis.common";
+        version = "3.0.0-beta1-61516-01";
+        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.common/3.0.0-beta1-61516-01";
+        sha256 = "1qfm61yrsmihhir7n3hb5ccn1r50i39rv1g74880ma7ihjl1hz54";
+        })
+(fetchNuGet {
+        name = "microsoft.netcore.platforms";
+        version = "1.0.1";
+        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.platforms/1.0.1";
+        sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+        })
+(fetchNuGet {
+        name = "microsoft.netcore.platforms";
+        version = "1.1.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.platforms/1.1.0";
+        sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+        })
+(fetchNuGet {
+        name = "system.reflection.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.primitives/4.3.0";
+        sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+        })
+(fetchNuGet {
+        name = "system.reflection.primitives";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.primitives/4.0.1";
+        sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
+        })
+(fetchNuGet {
+        name = "microbuild.core";
+        version = "0.2.0";
+        url = "https://www.nuget.org/api/v2/package/microbuild.core/0.2.0";
+        sha256 = "0q4s45jskbyxfx4ay6znnvv94zma2wd85b8rwmwszd2nb0xl3194";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.tracesource";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracesource/4.0.0";
+        sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
+        })
+(fetchNuGet {
+        name = "system.runtime.numerics";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.numerics/4.3.0";
+        sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.parallel";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.parallel/4.3.0";
+        sha256 = "1rr3qa4hxwyj531s4nb3bwrxnxxwz617i0n9gh6x7nr7dd3ayzgh";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.parallel";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.parallel/4.0.1";
+        sha256 = "114wdg32hr46dfsnns3pgs67kcha5jn47p5gg0mhxfn5vrkr2p75";
+        })
+(fetchNuGet {
+        name = "nuget.credentials";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.credentials/5.2.0-rtm.6067";
+        sha256 = "07g2na590sph9li5igww74i3gqyrj5cb6gsgjh54f1f4bs4x1c4k";
+        })
+(fetchNuGet {
+        name = "system.objectmodel";
+        version = "4.0.12";
+        url = "https://www.nuget.org/api/v2/package/system.objectmodel/4.0.12";
+        sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
+        })
+(fetchNuGet {
+        name = "system.objectmodel";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.objectmodel/4.3.0";
+        sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
+        })
+(fetchNuGet {
+        name = "system.xml.xmlserializer";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xmlserializer/4.0.11";
+        sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
+        })
+(fetchNuGet {
+        name = "microsoft.codeanalysis.build.tasks";
+        version = "3.0.0-beta1-61516-01";
+        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.build.tasks/3.0.0-beta1-61516-01";
+        sha256 = "1cjpqbd4i0gxhh86nvamlpkisd1krcrya6riwjhghvpjph6115vp";
+        })
+(fetchNuGet {
+        name = "system.private.datacontractserialization";
+        version = "4.1.1";
+        url = "https://www.nuget.org/api/v2/package/system.private.datacontractserialization/4.1.1";
+        sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
+        })
+(fetchNuGet {
+        name = "system.numerics.vectors";
+        version = "4.4.0";
+        url = "https://www.nuget.org/api/v2/package/system.numerics.vectors/4.4.0";
+        sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
+        })
+(fetchNuGet {
+        name = "microsoft.build.centralpackageversions";
+        version = "2.0.1";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.centralpackageversions/2.0.1";
+        sha256 = "17cjiaj2b98q8s89168g42jb8rhwm6062jcbv57rbkdiiwdsn55k";
+        })
+(fetchNuGet {
+        name = "system.text.encoding.extensions";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding.extensions/4.0.11";
+        sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+        })
+(fetchNuGet {
+        name = "system.text.encoding.extensions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding.extensions/4.3.0";
+        sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
+        })
+(fetchNuGet {
+        name = "microsoft.visualstudio.sdk.embedinteroptypes";
+        version = "15.0.15";
+        url = "https://www.nuget.org/api/v2/package/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15";
+        sha256 = "0chr3slzzcanwcyd9isx4gichqzmfh4zd3h83piw0r4xsww1wmpd";
+        })
+(fetchNuGet {
+        name = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
+        })
+(fetchNuGet {
+        name = "system.runtime.extensions";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.extensions/4.1.0";
+        sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
+        })
+(fetchNuGet {
+        name = "system.runtime.extensions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.extensions/4.3.0";
+        sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+        })
+(fetchNuGet {
+        name = "system.resources.extensions";
+        version = "4.6.0-preview8.19364.1";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.extensions/4.6.0-preview8.19364.1/system.resources.extensions.4.6.0-preview8.19364.1.nupkg";
+        sha256 = "0jh9ilbicmsngv77a4ayzs0n7s440ycdf726nbljw029gq4rzvqf";
+        })
+(fetchNuGet {
+        name = "nuget.frameworks";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.frameworks/5.2.0-rtm.6067";
+        sha256 = "1g1kcfqhxr1bhl3ksbdmz3rb9nq1qmkac1sijf9ng4gmr9fmprdm";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.diagnosticsource";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.diagnosticsource/4.3.0";
+        sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+        })
+(fetchNuGet {
+        name = "system.security.claims";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.claims/4.3.0";
+        sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
+        })
+(fetchNuGet {
+        name = "system.linq.expressions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.linq.expressions/4.3.0";
+        sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.stacktrace";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.stacktrace/4.3.0";
+        sha256 = "0ash4h9k0m7xsm0yl79r0ixrdz369h7y922wipp5gladmlbvpyjd";
+        })
+(fetchNuGet {
+        name = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.tracing";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracing/4.3.0";
+        sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.tracing";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracing/4.1.0";
+        sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
+        })
+(fetchNuGet {
+        name = "xunit.analyzers";
+        version = "0.10.0";
+        url = "https://www.nuget.org/api/v2/package/xunit.analyzers/0.10.0";
+        sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
+        })
+(fetchNuGet {
+        name = "xunit.assert";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.assert/2.4.1";
+        sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
+        })
+(fetchNuGet {
+        name = "system.appcontext";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.appcontext/4.1.0";
+        sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
+        })
+(fetchNuGet {
+        name = "system.appcontext";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.appcontext/4.3.0";
+        sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
+        })
+(fetchNuGet {
+        name = "system.text.encoding.codepages";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding.codepages/4.3.0";
+        sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv";
+        })
+(fetchNuGet {
+        name = "system.text.encoding.codepages";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding.codepages/4.0.1";
+        sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3";
+        })
+(fetchNuGet {
+        name = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
+        })
+(fetchNuGet {
+        name = "microsoft.codeanalysis.csharp";
+        version = "3.0.0-beta1-61516-01";
+        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.csharp/3.0.0-beta1-61516-01";
+        sha256 = "0a7npkdw6s5jczw1lkm63x2bpz1z3ccid20h5nm6k78cv7sihm4h";
+        })
+(fetchNuGet {
+        name = "system.console";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.console/4.0.0";
+        sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
+        })
+(fetchNuGet {
+        name = "system.console";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.console/4.3.0";
+        sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
+        })
+(fetchNuGet {
+        name = "system.reflection.typeextensions";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.typeextensions/4.1.0";
+        sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+        })
+(fetchNuGet {
+        name = "system.runtime.compilerservices.unsafe";
+        version = "4.5.2";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.compilerservices.unsafe/4.5.2";
+        sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks/4.3.0";
+        sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks/4.0.11";
+        sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
+        })
+(fetchNuGet {
+        name = "xunit.abstractions";
+        version = "2.0.3";
+        url = "https://www.nuget.org/api/v2/package/xunit.abstractions/2.0.3";
+        sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
+        })
+(fetchNuGet {
+        name = "microsoft.build.utilities.core";
+        version = "15.5.180";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.utilities.core/15.5.180";
+        sha256 = "0c4bjhaqgc98bchln8p5d2p1vyn8qrha2b8gpn2l7bnznbcrd630";
+        })
+(fetchNuGet {
+        name = "microsoft.build.utilities.core";
+        version = "14.3.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.build.utilities.core/14.3.0";
+        sha256 = "0351nsnx12nzkss6vaqwwh7d7car7hrgyh0vyd4bl83c4x3ls1kb";
+        })
+(fetchNuGet {
+        name = "system.reflection.emit";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.emit/4.0.1";
+        sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+        })
+(fetchNuGet {
+        name = "microsoft.visualstudio.setup.configuration.interop";
+        version = "1.16.30";
+        url = "https://www.nuget.org/api/v2/package/microsoft.visualstudio.setup.configuration.interop/1.16.30";
+        sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4";
+        })
+(fetchNuGet {
+        name = "system.net.sockets";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.net.sockets/4.3.0";
+        sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
+        })
+(fetchNuGet {
+        name = "microsoft.dotnet.arcade.sdk";
+        version = "1.0.0-beta.19372.10";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.arcade.sdk/1.0.0-beta.19372.10/microsoft.dotnet.arcade.sdk.1.0.0-beta.19372.10.nupkg";
+        sha256 = "1lii0yg4fbsma80mmvw2zwplc26abb46q6gkxwbsbkyszkw128hv";
+        })
+(fetchNuGet {
+        name = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
+        })
+(fetchNuGet {
+        name = "runtime.native.system.io.compression";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.native.system.io.compression/4.3.0";
+        sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.debug";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.debug/4.3.0";
+        sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.debug";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.debug/4.0.11";
+        sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+        })
+(fetchNuGet {
+        name = "system.xml.readerwriter";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.readerwriter/4.3.0";
+        sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
+        })
+(fetchNuGet {
+        name = "system.xml.readerwriter";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.xml.readerwriter/4.0.11";
+        sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+        })
+(fetchNuGet {
+        name = "system.threading.timer";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.timer/4.3.0";
+        sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
+        })
+(fetchNuGet {
+        name = "system.threading.timer";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.threading.timer/4.0.1";
+        sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
+        })
+(fetchNuGet {
+        name = "system.reflection.metadata";
+        version = "1.4.2";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.metadata/1.4.2";
+        sha256 = "08b7b43vczlliv8k7q43jinjfrxwpljsglw7sxmc6sd7d54pd1vi";
+        })
+(fetchNuGet {
+        name = "system.reflection.metadata";
+        version = "1.6.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.metadata/1.6.0";
+        sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
+        })
+(fetchNuGet {
+        name = "system.xml.xdocument";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xdocument/4.3.0";
+        sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
+        })
+(fetchNuGet {
+        name = "system.linq";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.linq/4.3.0";
+        sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+        })
+(fetchNuGet {
+        name = "system.linq";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.linq/4.1.0";
+        sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+        })
+(fetchNuGet {
+        name = "nuget.librarymodel";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.librarymodel/5.2.0-rtm.6067";
+        sha256 = "0dxvnspgkc1lcmilb67kkipg39ih34cmifs6jwk9kbrwf96z51q9";
+        })
+(fetchNuGet {
+        name = "xlifftasks";
+        version = "1.0.0-beta.19252.1";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/xlifftasks/1.0.0-beta.19252.1/xlifftasks.1.0.0-beta.19252.1.nupkg";
+        sha256 = "0249sfb30y9dgsfryaj8644qw3yc1xp2xzc08lsrwvmm8vjcvkri";
+        })
+(fetchNuGet {
+        name = "system.text.regularexpressions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.regularexpressions/4.3.0";
+        sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
+        })
+(fetchNuGet {
+        name = "system.text.regularexpressions";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.regularexpressions/4.1.0";
+        sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
+        })
+(fetchNuGet {
+        name = "system.security.accesscontrol";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.accesscontrol/4.3.0";
+        sha256 = "1gakrskmlmwhzmjc1c2mrwk0fml615rsk31dw0kbjnn9yqnnrjbi";
+        })
+(fetchNuGet {
+        name = "xunit.runner.visualstudio";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.runner.visualstudio/2.4.1";
+        sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn";
+        })
+(fetchNuGet {
+        name = "system.resources.resourcemanager";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.resources.resourcemanager/4.0.1";
+        sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
+        })
+(fetchNuGet {
+        name = "system.resources.resourcemanager";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.resources.resourcemanager/4.3.0";
+        sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+        })
+(fetchNuGet {
+        name = "nuget.projectmodel";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.projectmodel/5.2.0-rtm.6067";
+        sha256 = "1s5950nbcsnfrpbaxdnl6cv1xbsa57fln04lhyrki536476a6wcn";
+        })
+(fetchNuGet {
+        name = "nuget.versioning";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.versioning/5.2.0-rtm.6067";
+        sha256 = "04rr31ms95h7ymqxlalpv3xs48j8ng4ljfz5lmrfw7547rhcrj2h";
+        })
+(fetchNuGet {
+        name = "system.memory";
+        version = "4.5.3";
+        url = "https://www.nuget.org/api/v2/package/system.memory/4.5.3";
+        sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
+        })
+(fetchNuGet {
+        name = "system.resources.reader";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.resources.reader/4.0.0";
+        sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril";
+        })
+(fetchNuGet {
+        name = "nuget.common";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.common/5.2.0-rtm.6067";
+        sha256 = "1ff5dhkv8v04n2kr5gyjjvki4mqsp1w4dwsgj7cvdcfcm8alba0m";
+        })
+(fetchNuGet {
+        name = "runtime.native.system";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.native.system/4.0.0";
+        sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+        })
+(fetchNuGet {
+        name = "runtime.native.system";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.native.system/4.3.0";
+        sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+        })
+(fetchNuGet {
+        name = "system.runtime.interopservices";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices/4.1.0";
+        sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
+        })
+(fetchNuGet {
+        name = "system.runtime.interopservices";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices/4.3.0";
+        sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+        })
+(fetchNuGet {
+        name = "microbuild.core.sentinel";
+        version = "1.0.0";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg";
+        sha256 = "035kqx5fkapql108n222lz8psvxk04mv3dy1qg3h08i4b8j3dy8i";
+        })
+(fetchNuGet {
+        name = "sn";
+        version = "1.0.0";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/sn/1.0.0/sn.1.0.0.nupkg";
+        sha256 = "1012fcdc6vq2355v86h434s6p2nnqgpdapb7p25l4h39g5q8p1qs";
+        })
+(fetchNuGet {
+        name = "system.text.encoding";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding/4.0.11";
+        sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
+        })
+(fetchNuGet {
+        name = "system.text.encoding";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.text.encoding/4.3.0";
+        sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+        })
+(fetchNuGet {
+        name = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
+        })
+(fetchNuGet {
+        name = "system.reflection.emit.lightweight";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.emit.lightweight/4.0.1";
+        sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
+        })
+(fetchNuGet {
+        name = "microsoft.net.test.sdk";
+        version = "15.9.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.net.test.sdk/15.9.0";
+        sha256 = "0g7wjgiigs4v8qa32g9ysqgx8bx55dzmbxfkc4ic95mpd1vkjqxw";
+        })
+(fetchNuGet {
+        name = "system.io.compression";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.compression/4.3.0";
+        sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
+        })
+(fetchNuGet {
+        name = "system.runtime.serialization.primitives";
+        version = "4.1.1";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.serialization.primitives/4.1.1";
+        sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.fileversioninfo";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.fileversioninfo/4.3.0";
+        sha256 = "094hx249lb3vb336q7dg3v257hbxvz2jnalj695l7cg5kxzqwai7";
+        })
+(fetchNuGet {
+        name = "system.xml.xpath.xdocument";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.xml.xpath.xdocument/4.3.0";
+        sha256 = "1wxckyb7n1pi433xzz0qcwcbl1swpra64065mbwwi8dhdc4kiabn";
+        })
+(fetchNuGet {
+        name = "system.security.principal.windows";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.principal.windows/4.3.0";
+        sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
+        })
+(fetchNuGet {
+        name = "vswhere";
+        version = "2.6.7";
+        url = "https://www.nuget.org/api/v2/package/vswhere/2.6.7";
+        sha256 = "0h4k5i96p7633zzf4xsv7615f9x72rr5qr7b9934ri2y6gshfcwk";
+        })
+(fetchNuGet {
+        name = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
+        })
+(fetchNuGet {
+        name = "xunit.runner.console";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.runner.console/2.4.1";
+        sha256 = "13ykz9anhz72xc4q6byvdfwrp54hlcbl6zsfapwfhnzyvfgb9w13";
+        })
+(fetchNuGet {
+        name = "system.threading";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.threading/4.0.11";
+        sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
+        })
+(fetchNuGet {
+        name = "system.threading";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading/4.3.0";
+        sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.dataflow";
+        version = "4.5.24";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.dataflow/4.5.24";
+        sha256 = "0wahbfdb0jxx3hi04xggfms8wgf68wmvv68m2vfp8v2kiqr5mr2r";
+        })
+(fetchNuGet {
+        name = "microsoft.codeanalysis.analyzers";
+        version = "1.1.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.codeanalysis.analyzers/1.1.0";
+        sha256 = "08r667hj2259wbim1p3al5qxkshydykmb7nd9ygbjlg4mmydkapc";
+        })
+(fetchNuGet {
+        name = "system.dynamic.runtime";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.dynamic.runtime/4.3.0";
+        sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+        })
+(fetchNuGet {
+        name = "system.io.pipes";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.pipes/4.3.0";
+        sha256 = "1ygv16gzpi9cnlzcqwijpv7055qc50ynwg3vw29vj1q3iha3h06r";
+        })
+(fetchNuGet {
+        name = "system.net.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.net.primitives/4.3.0";
+        sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
+        })
+(fetchNuGet {
+        name = "system.runtime.serialization.xml";
+        version = "4.1.1";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.serialization.xml/4.1.1";
+        sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk";
+        })
+(fetchNuGet {
+        name = "system.security.cryptography.encoding";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.encoding/4.3.0";
+        sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
+        })
+(fetchNuGet {
+        name = "system.collections.nongeneric";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.collections.nongeneric/4.0.1";
+        sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.tools";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tools/4.3.0";
+        sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
+        })
+(fetchNuGet {
+        name = "microsoft.netframework.referenceassemblies";
+        version = "1.0.0-alpha-004";
+        url = "https://dotnet.myget.org/F/roslyn-tools/api/v2/package/microsoft.netframework.referenceassemblies/1.0.0-alpha-004";
+        sha256 = "1qrpxhcx11v92lqwvrih88mlyfw2rkrsjqh7gl8c1h71vyppr3bp";
+        })
+(fetchNuGet {
+        name = "system.reflection.emit.ilgeneration";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.emit.ilgeneration/4.0.1";
+        sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
+        })
+(fetchNuGet {
+        name = "xunit.extensibility.execution";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.extensibility.execution/2.4.1";
+        sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
+        })
+(fetchNuGet {
+        name = "microsoft.codecoverage";
+        version = "15.9.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.codecoverage/15.9.0";
+        sha256 = "10v5xrdilnm362g9545qxvlrbwc9vn65jhpb1i0jlhyqsj6bfwzg";
+        })
+(fetchNuGet {
+        name = "xunit.extensibility.core";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit.extensibility.core/2.4.1";
+        sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
+        })
+(fetchNuGet {
+        name = "system.collections.concurrent";
+        version = "4.0.12";
+        url = "https://www.nuget.org/api/v2/package/system.collections.concurrent/4.0.12";
+        sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
+        })
+(fetchNuGet {
+        name = "system.collections.concurrent";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.collections.concurrent/4.3.0";
+        sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
+        })
+(fetchNuGet {
+        name = "system.collections";
+        version = "4.0.11";
+        url = "https://www.nuget.org/api/v2/package/system.collections/4.0.11";
+        sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+        })
+(fetchNuGet {
+        name = "system.collections";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.collections/4.3.0";
+        sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+        })
+(fetchNuGet {
+        name = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
+        })
+(fetchNuGet {
+        name = "microsoft.build.nugetsdkresolver";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/microsoft.build.nugetsdkresolver/5.2.0-rtm.6067";
+        sha256 = "1rz2i4md7b8rlybb9s7416l0pr357f3ar149s6ipfq0xijn3xgmh";
+        })
+(fetchNuGet {
+        name = "system.reflection";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection/4.1.0";
+        sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+        })
+(fetchNuGet {
+        name = "system.reflection";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection/4.3.0";
+        sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+        })
+(fetchNuGet {
+        name = "nuget.configuration";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.configuration/5.2.0-rtm.6067";
+        sha256 = "075mypb32i0d0x73rcr0di6pb0bhlp0izv3633ky64kddriajma1";
+        })
+(fetchNuGet {
+        name = "system.net.http";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.net.http/4.3.0";
+        sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
+        })
+(fetchNuGet {
+        name = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
+        })
+(fetchNuGet {
+        name = "system.security.cryptography.x509certificates";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.x509certificates/4.3.0";
+        sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+        })
+(fetchNuGet {
+        name = "nuget.packaging";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.packaging/5.2.0-rtm.6067";
+        sha256 = "16p5glvvpp5rw10ycbpyg39k4prir450l12r5frpm8qz0rdp3xig";
+        })
+(fetchNuGet {
+        name = "nuget.commands";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.commands/5.2.0-rtm.6067";
+        sha256 = "06vnphsmwnvcigwj37hy5abipjzwhnq61zw66cclwd6jjibb1kh9";
+        })
+(fetchNuGet {
+        name = "system.runtime";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime/4.1.0";
+        sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+        })
+(fetchNuGet {
+        name = "system.runtime";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime/4.3.0";
+        sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+        })
+(fetchNuGet {
+        name = "microsoft.win32.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.win32.primitives/4.3.0";
+        sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+        })
+(fetchNuGet {
+        name = "microsoft.win32.primitives";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/microsoft.win32.primitives/4.0.1";
+        sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
+        })
+(fetchNuGet {
+        name = "system.collections.immutable";
+        version = "1.2.0";
+        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.2.0";
+        sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
+        })
+(fetchNuGet {
+        name = "system.collections.immutable";
+        version = "1.3.1";
+        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.3.1";
+        sha256 = "17615br2x5riyx8ivf1dcqwj6q3ipq1bi5hqhw54yfyxmx38ddva";
+        })
+(fetchNuGet {
+        name = "system.collections.immutable";
+        version = "1.5.0";
+        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.5.0";
+        sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
+        })
+(fetchNuGet {
+        name = "nuget.dependencyresolver.core";
+        version = "5.2.0-rtm.6067";
+        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.dependencyresolver.core/5.2.0-rtm.6067";
+        sha256 = "0iw1z2lascjjmdkk9nf2wqm5sj5nqjv4611xx29vlmp6cyhnpq4i";
+        })
+(fetchNuGet {
+        name = "netstandard.library";
+        version = "1.6.1";
+        url = "https://www.nuget.org/api/v2/package/netstandard.library/1.6.1";
+        sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
+        })
+(fetchNuGet {
+        name = "shouldly";
+        version = "3.0.0";
+        url = "https://www.nuget.org/api/v2/package/shouldly/3.0.0";
+        sha256 = "1hg28w898kl84rx57sclb2z9b76v5hxlwxig1xnb6fr81aahzlw3";
+        })
+(fetchNuGet {
+        name = "microsoft.diasymreader.pdb2pdb";
+        version = "1.1.0-beta1-62506-02";
+        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.diasymreader.pdb2pdb/1.1.0-beta1-62506-02/microsoft.diasymreader.pdb2pdb.1.1.0-beta1-62506-02.nupkg";
+        sha256 = "1dkhpmq5aw34nndvb4xc370866vf33x70zrjhgvnpwwspb6vb0zh";
+        })
+(fetchNuGet {
+        name = "system.globalization.calendars";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.globalization.calendars/4.3.0";
+        sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
+        })
+(fetchNuGet {
+        name = "system.io.compression.zipfile";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.compression.zipfile/4.3.0";
+        sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
+        })
+(fetchNuGet {
+        name = "system.runtime.interopservices.runtimeinformation";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices.runtimeinformation/4.0.0";
+        sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
+        })
+(fetchNuGet {
+        name = "system.runtime.interopservices.runtimeinformation";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices.runtimeinformation/4.3.0";
+        sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
+        })
+(fetchNuGet {
+        name = "system.io.filesystem.driveinfo";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.driveinfo/4.3.0";
+        sha256 = "0j67khc75lwdf7d5i3z41cks7zhac4zdccgvk2xmq6wm1l08xnlh";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.extensions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.extensions/4.3.0";
+        sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+        })
+(fetchNuGet {
+        name = "system.threading.tasks.extensions";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.extensions/4.0.0";
+        sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
+        })
+(fetchNuGet {
+        name = "microsoft.netcore.targets";
+        version = "1.0.1";
+        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.targets/1.0.1";
+        sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
+        })
+(fetchNuGet {
+        name = "microsoft.netcore.targets";
+        version = "1.1.0";
+        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.targets/1.1.0";
+        sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+        })
+(fetchNuGet {
+        name = "system.reflection.extensions";
+        version = "4.0.1";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.extensions/4.0.1";
+        sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
+        })
+(fetchNuGet {
+        name = "system.reflection.extensions";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.reflection.extensions/4.3.0";
+        sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.process";
+        version = "4.1.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.process/4.1.0";
+        sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
+        })
+(fetchNuGet {
+        name = "system.diagnostics.process";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.diagnostics.process/4.3.0";
+        sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7";
+        })
+(fetchNuGet {
+        name = "system.security.cryptography.primitives";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.primitives/4.3.0";
+        sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
+        })
+(fetchNuGet {
+        name = "system.threading.thread";
+        version = "4.0.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.thread/4.0.0";
+        sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+        })
+(fetchNuGet {
+        name = "system.threading.thread";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.threading.thread/4.3.0";
+        sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
+        })
+(fetchNuGet {
+        name = "newtonsoft.json";
+        version = "9.0.1";
+        url = "https://www.nuget.org/api/v2/package/newtonsoft.json/9.0.1";
+        sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
+        })
+(fetchNuGet {
+        name = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
+        sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
+        })
+(fetchNuGet {
+        name = "xunit";
+        version = "2.4.1";
+        url = "https://www.nuget.org/api/v2/package/xunit/2.4.1";
+        sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
+        })
+(fetchNuGet {
+        name = "system.valuetuple";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.valuetuple/4.3.0";
+        sha256 = "1227k7fxbxapq7dms4lvwwjdf3pr1jcsmhy2nzzhj6g6hs530hxn";
+        })
+(fetchNuGet {
+        name = "microsoft.netframework.referenceassemblies.net472";
+        version = "1.0.0-alpha-004";
+        url = "https://dotnet.myget.org/F/roslyn-tools/api/v2/package/microsoft.netframework.referenceassemblies.net472/1.0.0-alpha-004";
+        sha256 = "08wa54dm7yskayzxivnwbm8sg1pf6ai8ccr64ixf9lyz3yw6y0nc";
+        })
+(fetchNuGet {
+        name = "system.security.cryptography.algorithms";
+        version = "4.3.0";
+        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.algorithms/4.3.0";
+        sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
+        })
+]
diff --git a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix b/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
index 8110027b6cfc..ba00a7078fc6 100644
--- a/nixpkgs/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/buildah/default.nix b/nixpkgs/pkgs/development/tools/buildah/default.nix
index 3c04f8a12af6..3ef3c75ca4ef 100644
--- a/nixpkgs/pkgs/development/tools/buildah/default.nix
+++ b/nixpkgs/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";
@@ -26,22 +26,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/nixpkgs/pkgs/development/tools/cbor-diag/Gemfile.lock b/nixpkgs/pkgs/development/tools/cbor-diag/Gemfile.lock
index 0d129765aa4a..9f9a160c587f 100644
--- a/nixpkgs/pkgs/development/tools/cbor-diag/Gemfile.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/cbor-diag/gemset.nix b/nixpkgs/pkgs/development/tools/cbor-diag/gemset.nix
index 2de0e9a647a7..49de5b06f543 100644
--- a/nixpkgs/pkgs/development/tools/cbor-diag/gemset.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/cddl/Gemfile.lock b/nixpkgs/pkgs/development/tools/cddl/Gemfile.lock
index 65701dd45bf8..cd4e1407637a 100644
--- a/nixpkgs/pkgs/development/tools/cddl/Gemfile.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/cddl/gemset.nix b/nixpkgs/pkgs/development/tools/cddl/gemset.nix
index 92aa41995051..a66833e27d9f 100644
--- a/nixpkgs/pkgs/development/tools/cddl/gemset.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/clj-kondo/default.nix b/nixpkgs/pkgs/development/tools/clj-kondo/default.nix
new file mode 100644
index 000000000000..919061c6d963
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/cloudfoundry-cli/default.nix b/nixpkgs/pkgs/development/tools/cloudfoundry-cli/default.nix
index f17399747f9f..93809551f1d7 100644
--- a/nixpkgs/pkgs/development/tools/cloudfoundry-cli/default.nix
+++ b/nixpkgs/pkgs/development/tools/cloudfoundry-cli/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "cloudfoundry-cli-${version}";
-  version = "6.45.0";
+  version = "6.46.1";
 
   goPackagePath = "code.cloudfoundry.org/cli";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "cloudfoundry";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "1nq78670limq8lydysadk0kb1r88w55fr8cqxqxw0zy58vy1jzr4";
+    sha256 = "0dqrkimwhw016icgyf4cyipzy6vdz5jgickm33xxd9018dh3ibwq";
   };
 
   makeTarget = let hps = stdenv.hostPlatform.system; in
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
index 47af70b37029..3f394472c40f 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/nixpkgs/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "5.3.0";
+  version = "5.4.1";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "06ns98k47nafhkkj7gkmxp7msn4ssypyss6ll0fm6380vq2cavnj";
+    sha256 = "15lkhdvxqcryn5k7qflkby666ddj66gpqzga13yxjgjjp7zx2mi3";
   };
 
-  modSha256 = "11rnlmn5hp9nsgkmd716dsjmkr273035j9gzfhjxjsfpiax60i0a";
+  modSha256 = "0wz0v7w2di23cvqpg35zzqs2hvsbjgcrl7pr90ymmpsspq97fkf7";
 
   subPackages = [ "fly" ];
 
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 1aa13a34d121..62c682a1608f 100644
--- a/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/coursier/default.nix b/nixpkgs/pkgs/development/tools/coursier/default.nix
index 299e7d9d4992..5554455b8894 100644
--- a/nixpkgs/pkgs/development/tools/coursier/default.nix
+++ b/nixpkgs/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 {
   name = "coursier-${version}";
-  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/nixpkgs/pkgs/development/tools/easyjson/default.nix b/nixpkgs/pkgs/development/tools/easyjson/default.nix
index 14d07a0108fa..9dff0cc3ebed 100644
--- a/nixpkgs/pkgs/development/tools/easyjson/default.nix
+++ b/nixpkgs/pkgs/development/tools/easyjson/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "easyjson-unstable-${version}";
-  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/nixpkgs/pkgs/development/tools/fdroidserver/default.nix b/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
index 24eba03946ac..3f3f77795281 100644
--- a/nixpkgs/pkgs/development/tools/fdroidserver/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/git-series/default.nix b/nixpkgs/pkgs/development/tools/git-series/default.nix
index 442ae4d15ec9..70fa18ceddb5 100644
--- a/nixpkgs/pkgs/development/tools/git-series/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/gofumpt/default.nix b/nixpkgs/pkgs/development/tools/gofumpt/default.nix
new file mode 100644
index 000000000000..221058a461ef
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/gofumpt/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "gofumpt";
+  version = "2019-07-29";
+
+  src = fetchFromGitHub {
+    owner = "mvdan";
+    repo = pname;
+    rev = "96300e3d49fbb3b7bc9c6dc74f8a5cc0ef46f84b";
+    sha256 = "169hwggbhlr6ga045d6sa7xsan3mnj19qbh63i3h4rynqlppzvpf";
+  };
+
+  modSha256 = "1g7dkl60zwlk4q2gwx2780xys8rf2c4kqyy8gr99s5y342wsbx2g";
+
+  meta = with lib; {
+    description = "A stricter gofmt";
+    homepage = https://github.com/mvdan/gofumpt;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ rvolosatovs ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/icestorm/default.nix b/nixpkgs/pkgs/development/tools/icestorm/default.nix
index 851acd17b7ea..2bac15403038 100644
--- a/nixpkgs/pkgs/development/tools/icestorm/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/jq/default.nix b/nixpkgs/pkgs/development/tools/jq/default.nix
index ebb875c92984..e7c5955ef417 100644
--- a/nixpkgs/pkgs/development/tools/jq/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/ktlint/default.nix b/nixpkgs/pkgs/development/tools/ktlint/default.nix
index 1bc9aa14e449..202c57f9106d 100644
--- a/nixpkgs/pkgs/development/tools/ktlint/default.nix
+++ b/nixpkgs/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ktlint-${version}";
-  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/nixpkgs/pkgs/development/tools/misc/astyle/default.nix b/nixpkgs/pkgs/development/tools/misc/astyle/default.nix
index e66d92e34d65..66e972826cb9 100644
--- a/nixpkgs/pkgs/development/tools/misc/astyle/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/astyle/default.nix
@@ -1,32 +1,26 @@
-{ stdenv, fetchurl }:
+{ stdenv, lib, fetchurl, cmake }:
 
-let
-  name = "astyle";
+stdenv.mkDerivation rec {
+  pname = "astyle";
   version = "3.1";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${name}/${name}_${version}_linux.tar.gz";
+    url = "mirror://sourceforge/${pname}/${pname}_${version}_linux.tar.gz";
     sha256 = "1ms54wcs7hg1bsywqwf2lhdfizgbk7qxc9ghasxk8i99jvwlrk6b";
   };
 
-  sourceRoot = if stdenv.cc.isClang
-    then "astyle/build/clang"
-    else "astyle/build/gcc";
+  # lots of hardcoded references to /usr
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace ' /usr/' " $out/"
+  '';
 
-  # -s option is obsolete on Darwin and breaks build
-  postPatch = if stdenv.isDarwin then ''
-    substituteInPlace Makefile --replace "LDFLAGSr   = -s" "LDFLAGSr ="
-  '' else null;
+  nativeBuildInputs = [ cmake ];
 
-  installFlags = "INSTALL=install prefix=$$out";
-
-  meta = {
-    homepage = http://astyle.sourceforge.net/;
+  meta = with lib; {
     description = "Source code indenter, formatter, and beautifier for C, C++, C# and Java";
-    license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.unix;
+    homepage = "https://astyle.sourceforge.net/";
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/d-feet/default.nix b/nixpkgs/pkgs/development/tools/misc/d-feet/default.nix
index b96f65c2ecc2..cc256bc23bdf 100644
--- a/nixpkgs/pkgs/development/tools/misc/d-feet/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/d-feet/default.nix
@@ -1,22 +1,64 @@
-{ stdenv, pkgconfig, fetchurl, itstool, intltool, libxml2, glib, gtk3
-, python3Packages, wrapGAppsHook, gnome3, libwnck3, gobject-introspection }:
+{ stdenv
+, pkgconfig
+, fetchurl
+, meson
+, ninja
+, glib
+, gtk3
+, python3
+, wrapGAppsHook
+, gnome3
+, libwnck3
+, gobject-introspection
+, gettext
+, itstool
+}:
 
-let
+python3.pkgs.buildPythonApplication rec {
   pname = "d-feet";
-  version = "0.3.14";
-in python3Packages.buildPythonApplication rec {
-  name = "${pname}-${version}";
+  version = "0.3.15";
+
   format = "other";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/d-feet/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1m8lwiwl5jhi0x7y6x5zmd3hjplgvdjrb8a8jg74rvkygslj1p7f";
+    url = "mirror://gnome/sources/d-feet/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1cgxgpj546jgpyns6z9nkm5k48lid8s36mvzj8ydkjqws2d19zqz";
   };
 
-  nativeBuildInputs = [ pkgconfig itstool intltool wrapGAppsHook libxml2 ];
-  buildInputs = [ glib gtk3 gnome3.adwaita-icon-theme libwnck3 gobject-introspection ];
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    itstool
+    meson
+    ninja
+    pkgconfig
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    gnome3.adwaita-icon-theme
+    gtk3
+    libwnck3
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pygobject3
+  ];
+
+  mesonFlags = [
+    "-Dtests=false" # needs dbus
+  ];
 
-  propagatedBuildInputs = with python3Packages; [ pygobject3 pep8 ];
+  # Temporary fix
+  # See https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -26,17 +68,15 @@ in python3Packages.buildPythonApplication rec {
     };
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "D-Feet is an easy to use D-Bus debugger";
-
     longDescription = ''
       D-Feet can be used to inspect D-Bus interfaces of running programs
       and invoke methods on those interfaces.
     '';
-
     homepage = https://wiki.gnome.org/Apps/DFeet;
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ ktosiek ];
+    platforms = platforms.linux;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ktosiek ];
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/gdb/default.nix b/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
index e37824d241cc..f7dc2874aff5 100644
--- a/nixpkgs/pkgs/development/tools/misc/gdb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/gengetopt/default.nix b/nixpkgs/pkgs/development/tools/misc/gengetopt/default.nix
index b6758cb0bc2a..a1a02632478c 100644
--- a/nixpkgs/pkgs/development/tools/misc/gengetopt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/kibana/5.x.nix b/nixpkgs/pkgs/development/tools/misc/kibana/5.x.nix
index 782bff68e349..f4c3237ee7a5 100644
--- a/nixpkgs/pkgs/development/tools/misc/kibana/5.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/kibana/6.x.nix b/nixpkgs/pkgs/development/tools/misc/kibana/6.x.nix
index 0d052f340958..46a72a32722e 100644
--- a/nixpkgs/pkgs/development/tools/misc/kibana/6.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix b/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
index e8435549f4aa..9fba3b43e11c 100644
--- a/nixpkgs/pkgs/development/tools/misc/kibana/7.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix b/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
index 9532b6e34421..7a3ccaa9fbc4 100644
--- a/nixpkgs/pkgs/development/tools/misc/mkcert/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/misc/texi2html/default.nix b/nixpkgs/pkgs/development/tools/misc/texi2html/default.nix
index b094f05e9516..247733b81baf 100644
--- a/nixpkgs/pkgs/development/tools/misc/texi2html/default.nix
+++ b/nixpkgs/pkgs/development/tools/misc/texi2html/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, fetchurl, perl }:
+{ stdenv, fetchurl, perl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "texi2html-1.82";
+  pname = "texi2html";
+  version = "5.0";
 
   src = fetchurl {
-    url = "mirror://savannah/texi2html/${name}.tar.bz2";
-    sha256 = "1wdli2szkgm3l0vx8rf6lylw0b0m47dlz9iy004n928nqkzix76n";
+    url = "mirror://savannah/texi2html/${pname}-${version}.tar.bz2";
+    sha256 = "1yprv64vrlcbksqv25asplnjg07mbq38lfclp1m5lj8cw878pag8";
   };
 
-  buildInputs = [perl];
+  nativeBuildInputs = [ gettext ];
+  buildInputs = [ perl ];
 
-  meta = { 
+  preBuild = ''
+    substituteInPlace separated_to_hash.pl \
+      --replace "/usr/bin/perl" "${perl}/bin/perl"
+  '';
+
+  meta = with stdenv.lib; {
     description = "Perl script which converts Texinfo source files to HTML output";
     homepage = https://www.nongnu.org/texi2html/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [stdenv.lib.maintainers.marcweber];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.marcweber ];
+    platforms = platforms.unix;
   };
 }
diff --git a/nixpkgs/pkgs/development/tools/misc/wishbone-tool/default.nix b/nixpkgs/pkgs/development/tools/misc/wishbone-tool/default.nix
new file mode 100644
index 000000000000..6b2c944f7016
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/ocaml/dune/default.nix b/nixpkgs/pkgs/development/tools/ocaml/dune/default.nix
index 570edd8223bb..e6f9da869a7c 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/dune/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix b/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
index d9e563952ea7..161c08a7f82b 100644
--- a/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
+++ b/nixpkgs/pkgs/development/tools/ocaml/utop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, dune
+{ stdenv, fetchurl, ocaml, findlib, dune
 , lambdaTerm, cppo, makeWrapper
 }:
 
@@ -7,16 +7,16 @@ then throw "utop is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  version = "2.3.0";
+  version = "2.4.1";
   name = "utop-${version}";
 
   src = fetchurl {
     url = "https://github.com/diml/utop/archive/${version}.tar.gz";
-    sha256 = "1g1xf19fhzwsikp33pv1wf6wb2qdc5y7dzqi46h8c4l850cwscjh";
+    sha256 = "0kbg7sfn7jaic7xcy7dm543yzsywirxbgpiv2rzwnp9ny2510f9g";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml findlib ocamlbuild cppo dune ];
+  buildInputs = [ ocaml findlib cppo dune ];
 
   propagatedBuildInputs = [ lambdaTerm ];
 
diff --git a/nixpkgs/pkgs/development/tools/ofono-phonesim/default.nix b/nixpkgs/pkgs/development/tools/ofono-phonesim/default.nix
new file mode 100644
index 000000000000..137f56bee59e
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ofono-phonesim/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, mkDerivation
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, qtbase
+, qtscript
+}:
+
+mkDerivation rec {
+  pname = "ofono-phonesim";
+  version = "unstable-2014-04-22";
+
+  src = fetchFromGitHub {
+    owner = "jpakkane";
+    repo = "ofono-phonesim";
+    rev = "baa41f04e6a86c5289d7185cad8a6f08a5c3ed0a";
+    sha256 = "0ywalvvf3dfbn81ml21gji1n2hywh2nmakynakjzyyskcqjn2wiz";
+  };
+
+  patches = [
+    ./qt5-compat.patch
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  buildInputs = [
+    qtbase
+    qtscript
+  ];
+
+  makeFlags = [
+    "MOC=${qtbase.dev}/bin/moc"
+    "UIC=${qtbase.dev}/bin/uic"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Phone Simulator for modem testing";
+    homepage = https://github.com/jpakkane/ofono-phonesim;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/ofono-phonesim/qt5-compat.patch b/nixpkgs/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
new file mode 100644
index 000000000000..e2e9dcebd6bc
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
@@ -0,0 +1,48 @@
+diff --git a/configure.ac b/configure.ac
+index 2436292..993df87 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -21,18 +21,18 @@ AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization],
+ 	fi
+ ])
+ 
+-PKG_CHECK_MODULES(QT, QtCore QtGui QtXml QtNetwork QtScript QtDBus, dummy=yes,
++PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Widgets Qt5Xml Qt5Network Qt5Script Qt5DBus, dummy=yes,
+ 						AC_MSG_ERROR(Qt is required))
+ AC_SUBST(QT_CFLAGS)
+ AC_SUBST(QT_LIBS)
+ 
+ AC_MSG_CHECKING(for moc)
+-MOC="`$PKG_CONFIG --variable=moc_location QtCore`"
++MOC="`$PKG_CONFIG --variable=moc_location Qt5Core`"
+ AC_SUBST(MOC)
+ AC_MSG_RESULT($MOC)
+ 
+ AC_MSG_CHECKING(for uic)
+-UIC="`$PKG_CONFIG --variable=uic_location QtCore`"
++UIC="`$PKG_CONFIG --variable=uic_location Qt5Core`"
+ AC_SUBST(UIC)
+ AC_MSG_RESULT($UIC)
+ 
+diff --git a/src/control.cpp b/src/control.cpp
+index e1838a6..880da68 100644
+--- a/src/control.cpp
++++ b/src/control.cpp
+@@ -22,7 +22,7 @@
+ #include <qslider.h>
+ #include <qcheckbox.h>
+ #include <qcombobox.h>
+-#include <QtGui/qmessagebox.h>
++#include <QMessageBox>
+ #include <qfiledialog.h>
+ #include <Qt>
+ #include <qbuffer.h>
+@@ -31,7 +31,7 @@
+ #include <QFileInfo>
+ #include <QFile>
+ #include <QDir>
+-#include <QtGui/QHeaderView>
++#include <QHeaderView>
+ 
+ #define TWO_BYTE_MAX 65535
+ #define FOUR_CHAR 4
diff --git a/nixpkgs/pkgs/development/tools/osslsigncode/default.nix b/nixpkgs/pkgs/development/tools/osslsigncode/default.nix
new file mode 100644
index 000000000000..a867e3850e2e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/out-of-tree/default.nix b/nixpkgs/pkgs/development/tools/out-of-tree/default.nix
new file mode 100644
index 000000000000..7064cb8285ee
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/out-of-tree/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildGoPackage, fetchgit, qemu, docker, which, makeWrapper }:
+
+buildGoPackage rec {
+  pname = "out-of-tree";
+  version = "1.0.1";
+
+  buildInputs = [ makeWrapper ];
+
+  goPackagePath = "code.dumpstack.io/tools/${pname}";
+
+  src = fetchgit {
+    rev = "refs/tags/v${version}";
+    url = "https://code.dumpstack.io/tools/${pname}.git";
+    sha256 = "0p0ps73w6lmsdyf7irqgbhfxjg5smgbn081d06pnr1zmxvw8dryx";
+  };
+
+  goDeps = ./deps.nix;
+
+  postFixup = ''
+    wrapProgram $bin/bin/out-of-tree \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ qemu docker which ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "kernel {module, exploit} development tool";
+    homepage = https://out-of-tree.io;
+    maintainers = [ maintainers.dump_stack ];
+    license = licenses.agpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/development/tools/out-of-tree/deps.nix b/nixpkgs/pkgs/development/tools/out-of-tree/deps.nix
new file mode 100644
index 000000000000..28c6af4586ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/out-of-tree/deps.nix
@@ -0,0 +1,120 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "github.com/alecthomas/template";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/template";
+      rev = "a0175ee3bccc567396460bf5acd36800cb10c49c";
+      sha256 = "0qjgvvh26vk1cyfq9fadyhfgdj36f1iapbmr5xp6zqipldz8ffxj";
+    };
+  }
+  {
+    goPackagePath = "github.com/alecthomas/units";
+    fetch = {
+      type = "git";
+      url = "https://github.com/alecthomas/units";
+      rev = "2efee857e7cfd4f3d0138cc3cbb1b4966962b93a";
+      sha256 = "1j65b91qb9sbrml9cpabfrcf07wmgzzghrl7809hjjhrmbzri5bl";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211";
+      sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-sqlite3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-sqlite3";
+      rev = "5dd71670cca4bc0ee90371eabd0f1bdba1ac6f35";
+      sha256 = "1zq7gq5bhf5w9g43680v2z6j0px366a3gmmk5dyxqv0gyrgcpm17";
+    };
+  }
+  {
+    goPackagePath = "github.com/naoina/go-stringutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/naoina/go-stringutil";
+      rev = "6b638e95a32d0c1131db0e7fe83775cbea4a0d0b";
+      sha256 = "00831p1wn3rimybk1z8l30787kn1akv5jax5wx743nn76qcmkmc6";
+    };
+  }
+  {
+    goPackagePath = "github.com/naoina/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/naoina/toml";
+      rev = "9fafd69674167c06933b1787ae235618431ce87f";
+      sha256 = "0mpvdnidgab48k7dfq1vaiz1wny8n29y7zxpipnp1zm8ibxpism0";
+    };
+  }
+  {
+    goPackagePath = "github.com/olekukonko/tablewriter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/olekukonko/tablewriter";
+      rev = "e6d60cf7ba1f42d86d54cdf5508611c4aafb3970";
+      sha256 = "0hh95glg7d2md185r03wn52j2r33jc4zil0qvcrs66ka7bdxi7vj";
+    };
+  }
+  {
+    goPackagePath = "github.com/otiai10/copy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/otiai10/copy";
+      rev = "7e9a647135a142c2669943d4a4d29be015ce9392";
+      sha256 = "1fpjyk6zrcdwgw3w93v3sb4xf0gq8w5py6vvlljxgf4gi7k96klj";
+    };
+  }
+  {
+    goPackagePath = "github.com/remeh/sizedwaitgroup";
+    fetch = {
+      type = "git";
+      url = "https://github.com/remeh/sizedwaitgroup";
+      rev = "5e7302b12ccef91dce9fde2f5bda6d5c7ea5d2eb";
+      sha256 = "1xwdzby27xzcghsqhli3il165iz3vkx3g4abgvkl99wysyhcvn0a";
+    };
+  }
+  {
+    goPackagePath = "github.com/zcalusic/sysinfo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/zcalusic/sysinfo";
+      rev = "fbadb57345c2ba8d05d75e81206f665d322c0bb2";
+      sha256 = "0556jj50aw2an6a4s4v2n0kk42hbkpgcvd4gbahkdlh4qrqg2r0j";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "4def268fd1a49955bfb3dda92fe3db4f924f2285";
+      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "947dcec5ba9c011838740e680966fd7087a71d0d";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/logrusorgru/aurora.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/logrusorgru/aurora.v1";
+      rev = "a7b3b318ed4e1ae5b80602b08627267303c68572";
+      sha256 = "1dldc270z42zm2d377ks7sa5059janjcjhv3inza3rjvapknsrcb";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix
new file mode 100644
index 000000000000..989107a2fbef
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -0,0 +1,106 @@
+{ lib, stdenv
+, fetchgit, fetchFromGitHub, fetchurl
+, writeShellScript, runCommand
+, rustPlatform, jq, nix-prefetch-git, xe, curl
+}:
+
+# TODO: move to carnix or https://github.com/kolloch/crate2nix
+let
+  # to update:
+  # 1) change all these hashes
+  # 2) nix-build -A tree-sitter.updater.update-all-grammars
+  # 3) run the script that is output by that (it updates ./grammars)
+  version = "0.15.7";
+  sha256 = "0q6w8wl4a4s49xlgbv531pandzrj3n12hc1cwfshzcgikx303dg0";
+  sha256Js = "11ig4cc2m85siyhafh4hq9sjb5if4gfwsf9k87izkxpiyflda0wp";
+  sha256Wasm = "1zm4bvjri8ivhah3sy22mx6jbvibgbn2hk67d148j3nyka3y4gc0";
+  cargoSha256 = "0ls9cb2p6cgqvnrmx72n79ga7687n8mzhh7n8n1pzv11r6cah9ki";
+
+
+  src = fetchFromGitHub {
+    owner = "tree-sitter";
+    repo = "tree-sitter";
+    rev = version;
+    inherit sha256;
+    fetchSubmodules = true;
+  };
+
+  fetchDist = {file, sha256}: fetchurl {
+    url = "https://github.com/tree-sitter/tree-sitter/releases/download/${version}/${file}";
+    inherit sha256;
+  };
+
+  # TODO: not distributed anymore; needed for the web-ui module,
+  # see also the disable-web-ui patch.
+  # TODO: build those instead of downloading prebuilt
+  # js = fetchDist {
+  #   file = "tree-sitter.js";
+  #   sha256 = sha256Js;
+  # };
+  # wasm = fetchDist {
+  #   file = "tree-sitter.wasm";
+  #   sha256 = sha256Wasm;
+  # };
+
+  update-all-grammars = import ./update.nix {
+    inherit writeShellScript nix-prefetch-git curl jq xe src;
+  };
+
+  grammars =
+    let fetch =
+      (v: fetchgit {inherit (v) url rev sha256 fetchSubmodules; });
+    in runCommand "grammars" {} (''
+       mkdir $out
+     '' + (lib.concatStrings (lib.mapAttrsToList
+            (name: grammar: "ln -s ${fetch grammar} $out/${name}\n")
+            (import ./grammars))));
+
+
+in rustPlatform.buildRustPackage {
+  pname = "tree-sitter";
+  inherit version;
+  inherit src;
+
+  patches = [
+    # the web ui requires tree-sitter compiled to js and wasm
+    ./disable-web-ui.patch
+  ];
+
+  postPatch = ''
+    # needed for the tests
+    rm -rf test/fixtures/grammars
+    ln -s ${grammars} test/fixtures/grammars
+  '';
+
+  passthru = {
+    updater = {
+      inherit update-all-grammars;
+    };
+    inherit grammars;
+  };
+
+  inherit cargoSha256;
+
+  meta = {
+    homepage = "https://github.com/tree-sitter/tree-sitter";
+    description = "A parser generator tool and an incremental parsing library";
+    longDescription = ''
+      Tree-sitter is a parser generator tool and an incremental parsing library.
+      It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited.
+
+      Tree-sitter aims to be:
+
+      * General enough to parse any programming language
+      * Fast enough to parse on every keystroke in a text editor
+      * Robust enough to provide useful results even in the presence of syntax errors
+      * Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application
+    '';
+    platforms = lib.platforms.all;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ Profpatsch ];
+    # Darwin needs some more work with default libraries
+    # Aarch has test failures with how tree-sitter compiles the generated C files
+    broken = stdenv.isDarwin || stdenv.isAarch64;
+  };
+
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/disable-web-ui.patch b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/disable-web-ui.patch
new file mode 100644
index 000000000000..6065aa9e7fdb
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/disable-web-ui.patch
@@ -0,0 +1,37 @@
+diff --git a/cli/src/lib.rs b/cli/src/lib.rs
+index 33a9904f..633032d7 100644
+--- a/cli/src/lib.rs
++++ b/cli/src/lib.rs
+@@ -8,7 +8,7 @@ pub mod parse;
+ pub mod test;
+ pub mod util;
+ pub mod wasm;
+-pub mod web_ui;
++// pub mod web_ui;
+ 
+ #[cfg(test)]
+ mod tests;
+diff --git a/cli/src/main.rs b/cli/src/main.rs
+index 23e7fc1a..9d784c8a 100644
+--- a/cli/src/main.rs
++++ b/cli/src/main.rs
+@@ -4,7 +4,7 @@ use std::{env, fs, u64};
+ use std::path::Path;
+ use std::process::exit;
+ use tree_sitter_cli::{
+-    config, error, generate, highlight, loader, logger, parse, test, wasm, web_ui,
++    config, error, generate, highlight, loader, logger, parse, test, wasm,
+ };
+ 
+ const BUILD_VERSION: &'static str = env!("CARGO_PKG_VERSION");
+@@ -250,7 +250,9 @@ fn run() -> error::Result<()> {
+         let grammar_path = current_dir.join(matches.value_of("path").unwrap_or(""));
+         wasm::compile_language_to_wasm(&grammar_path, matches.is_present("docker"))?;
+     } else if matches.subcommand_matches("web-ui").is_some() {
+-        web_ui::serve(&current_dir);
++        print!("ERROR: web-ui is not available in the nixpkgs tree-sitter-cli at the moment.");
++        std::process::exit(1);
++        // web_ui::serve(&current_dir);
+     }
+ 
+     Ok(())
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
new file mode 100644
index 000000000000..b6451bce7282
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/default.nix
@@ -0,0 +1,15 @@
+{
+  bash = (builtins.fromJSON (builtins.readFile ./tree-sitter-bash.json));
+  c = (builtins.fromJSON (builtins.readFile ./tree-sitter-c.json));
+  cpp = (builtins.fromJSON (builtins.readFile ./tree-sitter-cpp.json));
+  embedded-template = (builtins.fromJSON (builtins.readFile ./tree-sitter-embedded-template.json));
+  go = (builtins.fromJSON (builtins.readFile ./tree-sitter-go.json));
+  html = (builtins.fromJSON (builtins.readFile ./tree-sitter-html.json));
+  javascript = (builtins.fromJSON (builtins.readFile ./tree-sitter-javascript.json));
+  json = (builtins.fromJSON (builtins.readFile ./tree-sitter-json.json));
+  python = (builtins.fromJSON (builtins.readFile ./tree-sitter-python.json));
+  # wasn’t able to check out with fetchgit
+  # ruby = (builtins.fromJSON (builtins.readFile ./tree-sitter-ruby.json));
+  rust = (builtins.fromJSON (builtins.readFile ./tree-sitter-rust.json));
+  typescript = (builtins.fromJSON (builtins.readFile ./tree-sitter-typescript.json));
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-bash.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-bash.json
new file mode 100644
index 000000000000..c367d24d09f6
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-bash.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-bash",
+  "rev": "7b8adcf484e27b6c1a707ce28123e55dd4b7a844",
+  "date": "2019-07-26T14:05:41-06:00",
+  "sha256": "047p51ab4fqm55xqss6z74iyj1hlndql97dv9fifckczx3d5xn5g",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
new file mode 100644
index 000000000000..1342f7d092b0
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-c",
+  "rev": "22decdc361767838dd36f1da4125b35b5b9a3c28",
+  "date": "2019-07-02T15:49:42-07:00",
+  "sha256": "03f9g49l4g2l4hlafr3xhvi8d3a491k5zz4bxpq7391l5wgjy3zi",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
new file mode 100644
index 000000000000..8c7d10f2654f
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cpp.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-cpp",
+  "rev": "f5afa0ee48ad1dc067ed6fe1aa2cfd2a3ea5d443",
+  "date": "2019-08-06T17:23:46-07:00",
+  "sha256": "1w9zjqj232fcagqfqd8qi4kmvr655s4ivllrm27973sda4xq557h",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
new file mode 100644
index 000000000000..89940ffec8cb
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-embedded-template.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-embedded-template",
+  "rev": "71955edec8cb762f63e94cf062fc96b52b9ae609",
+  "date": "2019-07-17T15:55:22-07:00",
+  "sha256": "1ar2n1z2h194lb3isbdkmvhn8w78j4a62nbh105w3jl1sxb4qpsa",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
new file mode 100644
index 000000000000..6a354f5c2e23
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-go",
+  "rev": "475571bb5bdb9b229c6be3843d4c71ba747688fd",
+  "date": "2019-07-17T15:51:06-07:00",
+  "sha256": "1cg5qpifrvpnsi0iy26g156xib2qa55vlna41hw6c70kx8ibvl9z",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
new file mode 100644
index 000000000000..732d2dda40b6
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-html",
+  "rev": "aeb2f456b8c6a60b8475d075889d476a165cde57",
+  "date": "2019-07-17T15:57:54-07:00",
+  "sha256": "0ba8zi65kja6p7f5h7pa7kxqa3mj29ysjrvl84am24vy5ik4zz3z",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
new file mode 100644
index 000000000000..a1e29e1504ea
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-javascript.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-javascript",
+  "rev": "a730b5c210904e2e3c1f601125a059fde1b35850",
+  "date": "2019-08-08T14:13:17-07:00",
+  "sha256": "1cr0vikbzrklksjj07fh34a5cabkgbpkbxwiw2alnana3zzzdhnq",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
new file mode 100644
index 000000000000..2bb0dcd4d8f2
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-json",
+  "rev": "337f55be9b9b1ccb0baa7763bfe014a94acea7ea",
+  "date": "2019-05-23T11:02:26-04:00",
+  "sha256": "0amh4qrjj3fli9c0z6p61z9d7496sqq54i1gh2vrghgnbbyaa6mz",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
new file mode 100644
index 000000000000..f46695edfa85
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-python",
+  "rev": "4c22de0944cd42a5c86ade7ef7097033604796f8",
+  "date": "2019-07-30T15:35:03-04:00",
+  "sha256": "1p12h7hj1ak15fyk4gw9wcmgzydd4z5mikhjp54mn1q4vfw175p3",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
new file mode 100644
index 000000000000..e2f9928c8702
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ruby.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-ruby",
+  "rev": "db91c934ff9d3d4ea67111a0f581532c49c3a6b3",
+  "date": "2019-07-26T15:51:54-06:00",
+  "sha256": "1ir1nqpz0c0hnsqzp90w2iw1gy3z3nqil2fm4n3zmid5di7c98dg",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
new file mode 100644
index 000000000000..328b337ed5a7
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-rust",
+  "rev": "3f956b18a6b0a576ed238cc69d5e3f413bd547b1",
+  "date": "2019-07-18T11:44:02-07:00",
+  "sha256": "0dwxg3pqirqm1lvl5x0q9djavfri9ffk5diygqzjnx53rwqhyzj8",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
new file mode 100644
index 000000000000..61507888154d
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-typescript.json
@@ -0,0 +1,7 @@
+{
+  "url": "https://github.com/tree-sitter/tree-sitter-typescript",
+  "rev": "ab9ab6cced868ee3e096f33fa21fd9d356c92e1a",
+  "date": "2019-08-08T14:27:32-07:00",
+  "sha256": "11r0vj1dhv0my2cr442mwvaav8ljygsns20w51mwg7328vlz90q3",
+  "fetchSubmodules": false
+}
diff --git a/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix
new file mode 100644
index 000000000000..aa87df6bed10
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -0,0 +1,68 @@
+{ writeShellScript, nix-prefetch-git
+, curl, jq, xe
+, src }:
+
+let
+  # print all the grammar names mentioned in the fetch-fixtures script
+  getGrammarNames = writeShellScript "get-grammars.sh" ''
+    set -euo pipefail
+    sed -ne 's/^fetch_grammar \(\S*\).*$/\1/p' \
+      ${src}/script/fetch-fixtures
+  '';
+
+  # TODO
+  urlEscape = x: x;
+  # TODO
+  urlEscapeSh = writeShellScript "escape-url" ''printf '%s' "$1"'';
+
+  # generic bash script to find the latest github release for a repo
+  latestGithubRelease = { owner }: writeShellScript "latest-github-release" ''
+    set -euo pipefail
+    repo="$1"
+    res=$(${curl}/bin/curl \
+      --silent \
+      "https://api.github.com/repos/${urlEscape owner}/$(${urlEscapeSh} "$repo")/releases/latest")
+    if [[ "$(printf "%s" "$res" | ${jq}bin/jq '.message')" =~ "rate limit" ]]; then
+      echo "rate limited" >&2
+    fi
+    release=$(printf "%s" "$res" | ${jq}/bin/jq '.tag_name')
+    # github sometimes returns an empty list even tough there are releases
+    if [ "$release" = "null" ]; then
+      echo "uh-oh, latest for $repo is not there, using HEAD" >&2
+      release="HEAD"
+    fi
+    echo "$release"
+  '';
+
+  # update one tree-sitter grammar repo and print their nix-prefetch-git output
+  updateGrammar = { owner }: writeShellScript "update-grammar.sh" ''
+    set -euo pipefail
+    repo="$1"
+    latest="$(${latestGithubRelease { inherit owner; }} "$repo")"
+    echo "Fetching latest release ($latest) of $repo …" >&2
+    ${nix-prefetch-git}/bin/nix-prefetch-git \
+      --quiet \
+      --no-deepClone \
+      --url "https://github.com/${urlEscape owner}/$(${urlEscapeSh} "$repo")" \
+      --rev "$latest"
+    '';
+
+  update-all-grammars = writeShellScript "update-all-grammars.sh" ''
+    set -euo pipefail
+    grammarNames=$(${getGrammarNames})
+    outputDir="${toString ./.}/grammars"
+    mkdir -p "$outputDir"
+    updateCommand=$(printf \
+      '${updateGrammar { owner = "tree-sitter"; }} "$1" > "%s/$1.json"' \
+      "$outputDir")
+    printf '%s' "$grammarNames" \
+      | ${xe}/bin/xe printf "tree-sitter-%s\n" {} \
+      | ${xe}/bin/xe -j2 -s "$updateCommand"
+    ( echo "{"
+      printf '%s' "$grammarNames" \
+        | ${xe}/bin/xe -s 'printf "  %s = (builtins.fromJSON (builtins.readFile ./tree-sitter-%s.json));\n" "$1" "$1"'
+      echo "}" ) \
+      > "$outputDir/default.nix"
+  '';
+
+in update-all-grammars
diff --git a/nixpkgs/pkgs/development/tools/quicktemplate/default.nix b/nixpkgs/pkgs/development/tools/quicktemplate/default.nix
index 9292d124545a..6af444c7ce04 100644
--- a/nixpkgs/pkgs/development/tools/quicktemplate/default.nix
+++ b/nixpkgs/pkgs/development/tools/quicktemplate/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "quicktemplate-unstable-${version}";
-  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/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
index 0a36efa79eb4..43b3a88f6ee3 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/nixpkgs/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.15";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "0s3xd9dr0n64j0m38gd4cafrdr5vnpl557ks4wr0jszyhldnlfkz";
+    sha256 = "155b4azkrr0qfg52mk7934zavwsbl28i28hi1inb23d509hrr5ky";
   };
 
-  cargoSha256 = "13zz3n1p75267h3qrmvpmd8agnkbk8vfbr8s38wcyysck81pr4px";
+  cargoSha256 = "050q4rk1x3jghinxg6gszi993a6zbg41vg535dlvvsqi36l278qc";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix b/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix
index 92e21bfc00e3..5b73752659bb 100644
--- a/nixpkgs/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/rust/racer/default.nix b/nixpkgs/pkgs/development/tools/rust/racer/default.nix
index b1ab9253fd8b..b2f6701be876 100644
--- a/nixpkgs/pkgs/development/tools/rust/racer/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/scalafmt/default.nix b/nixpkgs/pkgs/development/tools/scalafmt/default.nix
index 0190283e7916..79afb54bfb70 100644
--- a/nixpkgs/pkgs/development/tools/scalafmt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/tools/skaffold/default.nix b/nixpkgs/pkgs/development/tools/skaffold/default.nix
index 61d47cf907bc..58dde8386921 100644
--- a/nixpkgs/pkgs/development/tools/skaffold/default.nix
+++ b/nixpkgs/pkgs/development/tools/skaffold/default.nix
@@ -1,10 +1,10 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "skaffold-${version}";
-  version = "0.35.0";
-  # rev is the 0.35.0 commit, mainly for skaffold version command output
-  rev = "1da7608f9eb21ebe722bc054584e591e4223a3dc";
+  pname = "skaffold";
+  version = "0.36.0";
+  # rev is the 0.36.0 commit, mainly for skaffold version command output
+  rev = "1c054d4ffc7e14b4d81efcbea8b2022403ee4b89";
 
   goPackagePath = "github.com/GoogleContainerTools/skaffold";
   subPackages = ["cmd/skaffold"];
@@ -20,7 +20,7 @@ buildGoPackage rec {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "1vh7vlz14gfjpxf2wy1pybw5x55mw34j6isyy5zl0rsbs9mf6ci1";
+    sha256 = "1d7z36r33lmxm5cv1kby6g9zbsr88prgsp32x4jcs9l1ifwblhng";
   };
 
   meta = {
diff --git a/nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix b/nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix
index 35ba9f8c006b..e0a078415eb5 100644
--- a/nixpkgs/pkgs/development/tools/solarus-quest-editor/default.nix
+++ b/nixpkgs/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 {
-  name = "solarus-quest-editor-${version}";
-  version = "1.6.0";
-    
+mkDerivation rec {
+  pname = "solarus-quest-editor";
+  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/nixpkgs/pkgs/development/tools/statik/default.nix b/nixpkgs/pkgs/development/tools/statik/default.nix
index 0ad7d7f78d4a..d24c3e88b8cb 100644
--- a/nixpkgs/pkgs/development/tools/statik/default.nix
+++ b/nixpkgs/pkgs/development/tools/statik/default.nix
@@ -1,16 +1,16 @@
 { stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "statik-unstable-${version}";
-  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/nixpkgs/pkgs/development/tools/trellis/default.nix b/nixpkgs/pkgs/development/tools/trellis/default.nix
index 0888130c2d45..1deb2c7a8fc0 100644
--- a/nixpkgs/pkgs/development/tools/trellis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/web/cypress/default.nix b/nixpkgs/pkgs/development/web/cypress/default.nix
index 0768e98f73bf..b0ede63fb6c1 100644
--- a/nixpkgs/pkgs/development/web/cypress/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/development/web/remarkjs/default.nix b/nixpkgs/pkgs/development/web/remarkjs/default.nix
index 22404481f35c..24e04842dc9e 100644
--- a/nixpkgs/pkgs/development/web/remarkjs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/anki/default.nix b/nixpkgs/pkgs/games/anki/default.nix
index 2530202a565e..b0efc54db363 100644
--- a/nixpkgs/pkgs/games/anki/default.nix
+++ b/nixpkgs/pkgs/games/anki/default.nix
@@ -92,12 +92,9 @@ buildPythonApplication rec {
 
     checkInputs = [ pytest glibcLocales nose ];
 
+    nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
     buildInputs = [ lame mplayer libpulseaudio  ];
 
-    makeWrapperArgs = [
-        ''--prefix PATH ':' "${lame}/bin:${mplayer}/bin"''
-    ];
-
     patches = [
       # Disable updated version check.
       ./no-version-check.patch
@@ -157,17 +154,23 @@ buildPythonApplication rec {
       cp -rv locale $out/share/
       cp -rv anki aqt web $pp/
 
-      wrapPythonPrograms
-
       # copy the manual into $doc
       cp -r ${manual}/share/doc/anki/html $doc/share/doc/anki
     '';
 
+    dontWrapQtApps = true;
+    makeWrapperArgs = [
+        ''--prefix PATH ':' "${lame}/bin:${mplayer}/bin"''
+        "\${qtWrapperArgs[@]}"
+    ];
+
+    # now wrapPythonPrograms from postFixup will add both python and qt env variables
+
     passthru = {
       inherit manual;
     };
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = "https://apps.ankiweb.net/";
       description = "Spaced repetition flashcard program";
       longDescription = ''
@@ -185,6 +188,6 @@ buildPythonApplication rec {
       license = licenses.agpl3Plus;
       broken = stdenv.hostPlatform.isAarch64;
       platforms = platforms.mesaPlatforms;
-      maintainers = with maintainers; [ the-kenny Profpatsch enzime ];
+      maintainers = with maintainers; [ oxij the-kenny Profpatsch enzime ];
     };
 }
diff --git a/nixpkgs/pkgs/games/btanks/default.nix b/nixpkgs/pkgs/games/btanks/default.nix
index 9de90069a375..5bb7cfa215bc 100644
--- a/nixpkgs/pkgs/games/btanks/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/games/gcompris/default.nix b/nixpkgs/pkgs/games/gcompris/default.nix
index 8d41070a61e0..23d126027597 100644
--- a/nixpkgs/pkgs/games/gcompris/default.nix
+++ b/nixpkgs/pkgs/games/gcompris/default.nix
@@ -1,37 +1,55 @@
-{stdenv, cmake, qtbase, fetchurl, qtdeclarative, qtmultimedia, qttools, qtsensors, qmlbox2d, gettext, qtquickcontrols, qtgraphicaleffects, qtxmlpatterns, makeWrapper,
-  gst_all_1, ninja
+{ mkDerivation
+, cmake
+, fetchurl
+, gettext
+, gst_all_1
+, lib
+, ninja
+, qmlbox2d
+, qtbase
+, qtdeclarative
+, qtgraphicaleffects
+, qtmultimedia
+, qtquickcontrols
+, qtsensors
+, qttools
+, qtxmlpatterns
 }:
-stdenv.mkDerivation rec {
+
+mkDerivation rec {
+  pname = "gcompris";
   version = "0.96";
-  name = "gcompris-${version}";
 
   src = fetchurl {
     url = "http://gcompris.net/download/qt/src/gcompris-qt-${version}.tar.xz";
     sha256 = "06483il59l46ny2w771sg45dgzjwv1ph7vidzzbj0wb8wbk2rg52";
   };
 
-  cmakeFlags = "-DQML_BOX2D_LIBRARY=${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.0";
+  cmakeFlags = [
+    "-DQML_BOX2D_LIBRARY=${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.0"
+  ];
+
+  nativeBuildInputs = [ cmake gettext ninja qttools ];
 
-  nativeBuildInputs = [ cmake ninja makeWrapper ];
-  buildInputs = [ qtbase qtdeclarative qttools qtsensors qmlbox2d gettext qtquickcontrols qtmultimedia qtgraphicaleffects qtxmlpatterns] ++ soundPlugins;
-  soundPlugins = with gst_all_1; [gst-plugins-good gstreamer gst-plugins-base gst-plugins-bad];
+  buildInputs = [
+    qmlbox2d qtbase qtdeclarative qtgraphicaleffects qtmultimedia qtquickcontrols qtsensors qtxmlpatterns
+  ] ++ (with gst_all_1; [
+    gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
+  ]);
 
   postInstall = ''
-    # install .desktop and icon file
-    mkdir -p $out/share/applications/
-    mkdir -p $out/share/icons/hicolor/256x256/apps/
-    cp ../org.kde.gcompris.desktop $out/share/applications/gcompris.desktop
-    cp -r ../images/256-apps-gcompris-qt.png $out/share/icons/hicolor/256x256/apps/gcompris-qt.png
+    install -Dm444 ../org.kde.gcompris.desktop        $out/share/applications/gcompris.desktop
+    install -Dm444 ../images/256-apps-gcompris-qt.png $out/share/icons/hicolor/256x256/apps/gcompris-qt.png
+    install -Dm444 ../org.kde.gcompris.appdata.xml -t $out/share/metainfo
 
-    wrapProgram "$out/bin/gcompris-qt" \
-       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
-    '';
+    qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
+  '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A high quality educational software suite, including a large number of activities for children aged 2 to 10";
     homepage = "https://gcompris.net/";
-    maintainers = [ maintainers.guibou ];
-    platforms = [ "i686-linux" "x86_64-linux" ];
     license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ guibou ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/games/gnome-hexgl/default.nix b/nixpkgs/pkgs/games/gnome-hexgl/default.nix
new file mode 100644
index 000000000000..7a720239182d
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/games/gzdoom/default.nix b/nixpkgs/pkgs/games/gzdoom/default.nix
index ed24f44356ae..043be5e23d9b 100644
--- a/nixpkgs/pkgs/games/gzdoom/default.nix
+++ b/nixpkgs/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "gzdoom-${version}";
-  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/nixpkgs/pkgs/games/solarus/default.nix b/nixpkgs/pkgs/games/solarus/default.nix
index 1049b10d0b19..68d0f642aefc 100644
--- a/nixpkgs/pkgs/games/solarus/default.nix
+++ b/nixpkgs/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 {
-  name = "solarus-${version}";
-  version = "1.6.0";
+mkDerivation rec {
+  pname = "solarus";
+  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/nixpkgs/pkgs/games/steam/steam.nix b/nixpkgs/pkgs/games/steam/steam.nix
index 3e29ceb5b01f..9bbdf0474e1a 100644
--- a/nixpkgs/pkgs/games/steam/steam.nix
+++ b/nixpkgs/pkgs/games/steam/steam.nix
@@ -2,14 +2,14 @@
 
 let
   traceLog = "/tmp/steam-trace-dependencies.log";
-  version = "1.0.0.59";
+  version = "1.0.0.61";
 
 in stdenv.mkDerivation rec {
   name = "steam-original-${version}";
 
   src = fetchurl {
     url = "http://repo.steampowered.com/steam/pool/steam/s/steam/steam_${version}.tar.gz";
-    sha256 = "17yrziy2bmzcppp5v3ycdjll250k4idak4rjakmw8gvr96whs255";
+    sha256 = "0c5xy57gwr14vp3wy3jpqi5dl6y7n01p2dy4jlgl9bf9x7616r6n";
   };
 
   makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
diff --git a/nixpkgs/pkgs/games/warsow/default.nix b/nixpkgs/pkgs/games/warsow/default.nix
index 1b51130768eb..5333dad68798 100644
--- a/nixpkgs/pkgs/games/warsow/default.nix
+++ b/nixpkgs/pkgs/games/warsow/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "2.1.2";
 
   src = fetchurl {
-    url = "http://sebastian.network/warsow/${name}.tar.gz";
+    url = "http://slice.sh/warsow/${name}.tar.gz";
     sha256 = "07y2airw5qg3s1bf1c63a6snjj22riz0mqhk62jmfm9nrarhavrc";
   };
 
diff --git a/nixpkgs/pkgs/games/warsow/engine.nix b/nixpkgs/pkgs/games/warsow/engine.nix
index 12832f2a4391..c42aa3198259 100644
--- a/nixpkgs/pkgs/games/warsow/engine.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/acpilight/default.nix b/nixpkgs/pkgs/misc/acpilight/default.nix
index 4076a8c3a3af..1975e2d37907 100644
--- a/nixpkgs/pkgs/misc/acpilight/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix b/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix
index 392f5618b6e5..a14f18da4669 100644
--- a/nixpkgs/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix b/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix
index 4f48f1248f49..ab8ec6868cf2 100644
--- a/nixpkgs/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/nixpkgs/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 {
   name = "dolphin-emu-${version}";
-  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/nixpkgs/pkgs/misc/emulators/wine/sources.nix b/nixpkgs/pkgs/misc/emulators/wine/sources.nix
index 4ccdb254daa9..023e48fc991d 100644
--- a/nixpkgs/pkgs/misc/emulators/wine/sources.nix
+++ b/nixpkgs/pkgs/misc/emulators/wine/sources.nix
@@ -13,9 +13,9 @@ let fetchurl = args@{url, sha256, ...}:
 in rec {
 
   stable = fetchurl rec {
-    version = "4.0.1";
+    version = "4.0.2";
     url = "https://dl.winehq.org/wine/source/4.0/wine-${version}.tar.xz";
-    sha256 = "0j29df0px6dzin4j0cbxgza4msvf9spmwranv25krq1g9kq959nk";
+    sha256 = "0x5x9pvhryzhq1m7i8gx5wwwj341zz05zymadlhfw5w45xlm0h4r";
 
     ## see http://wiki.winehq.org/Gecko
     gecko32 = fetchurl rec {
@@ -31,24 +31,24 @@ in rec {
 
     ## see http://wiki.winehq.org/Mono
     mono = fetchurl rec {
-      version = "4.9.0";
+      version = "4.9.2";
       url = "http://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}.msi";
-      sha256 = "04y7w57cgay74227qci1bjbzwvclkawwljqvgd7a5yhhdz7cfblf";
+      sha256 = "0x7z0216j21bzc9v1q283qlsvbfzn92yiaf26ilh6bd7zib4c7xr";
     };
   };
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "4.12.1";
+    version = "4.14";
     url = "https://dl.winehq.org/wine/source/4.x/wine-${version}.tar.xz";
-    sha256 = "09yjfb2k14y11k19lm8dqmb8qwxyhh67d5q1gqv480y64mljvkx0";
+    sha256 = "1rl1a3k5sr0hyxc61d68kwandhxcnxwv6b77vh7x2rkl1h4nxmfs";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "1bvpvj6vcw2p6vcjm6mw5maarbs4lfw1ix3pj020w4n3kg4nmmc4";
+    sha256 = "1s17hcrp1aa0v99y5iav2s0lxdx2rzgm7z0c4zhxyydqxj399f5j";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/nixpkgs/pkgs/misc/scrcpy/default.nix b/nixpkgs/pkgs/misc/scrcpy/default.nix
index 20ba1295c422..bfca574cd497 100644
--- a/nixpkgs/pkgs/misc/scrcpy/default.nix
+++ b/nixpkgs/pkgs/misc/scrcpy/default.nix
@@ -2,6 +2,7 @@
 , meson
 , ninja
 , pkgconfig
+, fetchpatch
 
 , platform-tools
 , ffmpeg
@@ -9,10 +10,10 @@
 }:
 
 let
-  version = "1.8";
+  version = "1.10";
   prebuilt_server = fetchurl {
     url = "https://github.com/Genymobile/scrcpy/releases/download/v${version}/scrcpy-server-v${version}.jar";
-    sha256 = "1h755k5xpchlm7wq2yk5mlwjnh7y4yhviffixacby0srj3pmb443";
+    sha256 = "144k25x6ha89l9p5a1dm6r3fqvgqszzwrhvkvk0r44vg0i71msyb";
   };
 in
 stdenv.mkDerivation rec {
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
     owner = "Genymobile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1cx7y3w699s3i8s53l1mb7lkrnbix457hf17liwh00jzb0i7aga7";
+    sha256 = "0hhncqcs49n9g8sgvwbyvkaq4b1dhrpn7qgnaj6grjcb0i27vzaq";
   };
 
   # postPatch:
@@ -39,12 +40,18 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ffmpeg SDL2 ];
 
+  # FIXME: remove on update to > 1.10
+  patches = [(fetchpatch {
+    url = "https://github.com/Genymobile/scrcpy/commit/c05056343b56be65ae887f8b7ead61a8072622b9.diff";
+    sha256 = "1xh24gr2g2i9rk0zyv19jx54hswrq12ssp227vxbhsbamin9ir5b";
+  })];
+
   # Manually install the server jar to prevent Meson from "fixing" it
   preConfigure = ''
     echo -n > server/meson.build
   '';
 
-  mesonFlags = ["-Doverride_server_path=${prebuilt_server}"];
+  mesonFlags = [ "-Doverride_server_path=${prebuilt_server}" ];
   postInstall = ''
     mkdir -p "$out/share/scrcpy"
     ln -s "${prebuilt_server}" "$out/share/scrcpy/scrcpy-server.jar"
diff --git a/nixpkgs/pkgs/misc/scream-receivers/default.nix b/nixpkgs/pkgs/misc/scream-receivers/default.nix
new file mode 100644
index 000000000000..aa88bd8a96c8
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/tw-rs/default.nix b/nixpkgs/pkgs/misc/tw-rs/default.nix
deleted file mode 100644
index 50fa1a9ef0ee..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/misc/vim-plugins/generated.nix b/nixpkgs/pkgs/misc/vim-plugins/generated.nix
index b8e9dd2d9609..4dcfbeecb76d 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/generated.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/vim-plugins/overrides.nix b/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
index 0c0a883f80a0..d5a1ed67665b 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/overrides.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names b/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
index 59b450820c18..681f91f66486 100644
--- a/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/nixpkgs/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/nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix b/nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix
index a5dad88b924e..73b533f368ef 100644
--- a/nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix
+++ b/nixpkgs/pkgs/misc/vscode-extensions/cpptools/default.nix
@@ -83,8 +83,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "cpptools";
     publisher = "ms-vscode";
-    version = "0.24.1";
-    sha256 = "0gqplcppfg2lr6k198q9pw08n0cpc0wvc9w350m9ivv35hw0x5ra";
+    version = "0.25.0";
+    sha256 = "0vqqc0j9ahhb9a8wrhjjb34rfdj7msqsza3443bi4206gkiwpp3n";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
index feee054c2ac8..9ca0f3b4e56d 100644
--- a/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
+++ b/nixpkgs/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
@@ -1,9 +1,9 @@
 { stdenv, appleDerivation, xcbuildHook
-, openssl, Librpcsvc, xnu, libpcap, developer_cmds }:
+, openssl_1_0_2, Librpcsvc, xnu, libpcap, developer_cmds }:
 
 appleDerivation rec {
   nativeBuildInputs = [ xcbuildHook ];
-  buildInputs = [ openssl xnu Librpcsvc libpcap developer_cmds ];
+  buildInputs = [ openssl_1_0_2 xnu Librpcsvc libpcap developer_cmds ];
 
   NIX_CFLAGS_COMPILE = " -I./unbound -I${xnu}/Library/Frameworks/System.framework/Headers/";
 
diff --git a/nixpkgs/pkgs/os-specific/linux/blcr/default.nix b/nixpkgs/pkgs/os-specific/linux/blcr/default.nix
index 626e978f1f16..e018f4622b48 100644
--- a/nixpkgs/pkgs/os-specific/linux/blcr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/evdi/default.nix b/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
index d4a23f3ed072..2508fb851a88 100644
--- a/nixpkgs/pkgs/os-specific/linux/evdi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/iproute/default.nix b/nixpkgs/pkgs/os-specific/linux/iproute/default.nix
index 527edc5ea741..87b7de4736f9 100644
--- a/nixpkgs/pkgs/os-specific/linux/iproute/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 03b293055da0..38078ea67282 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.139";
+  version = "4.14.140";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0hkhwcbxg6bry13w9kspx48b10274w6pgv200wh91fjd8jax8qlc";
+    sha256 = "1wmx7xgm21dk1hvrq14sxh3c4304284sgxr4vngg4pki2ljyspkr";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 7939ec3bfbfe..1e3d14c140d1 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.67";
+  version = "4.19.68";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "00m5k0nfcvgff70686rbhn3w8c9wc3jxqvyddw40lylaqdh3s72s";
+    sha256 = "0ax04sivi1lsx01m3abi16w6d0jd3qvwzzq2zbn8q2lca505k1wi";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 8084599f8675..0d3ce63325f6 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.189";
+  version = "4.4.190";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0nc8v62gw89m3ykqg6nqf749fzm8y1n481ns8vny4gbinyikjhlp";
+    sha256 = "1rf28cjrrmj7mm8xqlfld6k20ddk15j4mmyarqibjx9pk9acij7y";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 61f93435a063..0008219efb9a 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.189";
+  version = "4.9.190";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1cyhwnxkjd0qa5d48657yppjnzbi830q0p25jjv2dxs629k4bnck";
+    sha256 = "05ha3snfk0vdqk9i27icwpq2if0h2jvshavn69ldwqm4h2h1r2py";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.2.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.2.nix
index c87d6505940c..6f6de115ad0b 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.2.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-5.2.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.2.9";
+  version = "5.2.10";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1rnlnphw9rih4qhdld9ic5lnj5jh4vy5nqbj9lqwv9bc615jmw5n";
+    sha256 = "0jgw7gj71i9kf4prbdi9h791ngxf24nr90302glnsa9aghwc95k0";
   };
 } // (args.argsOverride or {}))
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index 76a0ae2fcf1f..4516af19a4e7 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, fetchgit, fetchpatch, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "5.1.2019.07.13";
+  version = "5.1.2019.08.21";
   modDirVersion = "5.1.0";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs.git";
-    rev = "22776fe9902b0b06d6aa18cd4c7f0c5ad35a95fa";
-    sha256 = "0ly4vxawj8skh55c541zll3b8g6igiaq7aj33fklfjh0icmgzs60";
+    rev = "ece184f718c2b678738bc2c42906e90eeb8ba7dc";
+    sha256 = "08cbisgcww8fklpxwqkm2c8ddz0mm7v11ycp7ch0kalwdv2f81lr";
   };
 
   extraConfig = "BCACHEFS_FS m";
diff --git a/nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix b/nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix
index afa8867dd07e..4da87a557cbe 100644
--- a/nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kmod/aggregator.nix
@@ -1,4 +1,4 @@
-{ stdenv, kmod, modules, buildEnv, name ? "kernel-modules" }:
+{ stdenvNoCC, kmod, modules, buildEnv, name ? "kernel-modules" }:
 
 buildEnv {
   inherit name;
@@ -7,7 +7,7 @@ buildEnv {
 
   postBuild =
     ''
-      source ${stdenv}/setup
+      source ${stdenvNoCC}/setup
 
       if ! test -d "$out/lib/modules"; then
         echo "No modules found."
diff --git a/nixpkgs/pkgs/os-specific/linux/lxc/default.nix b/nixpkgs/pkgs/os-specific/linux/lxc/default.nix
index a61d8574cc0a..17063851cee2 100644
--- a/nixpkgs/pkgs/os-specific/linux/lxc/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix b/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
index 394dbf63f170..f7f2193eaa09 100644
--- a/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "mcelog-${version}";
-  version = "162";
+  version = "164";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "1zxj545wslp92npll0411grc49l53cgp8dqqn3zb4vcxrvfc4vh9";
+    sha256 = "1i0f0zvxlzkfp0bvghm1z8z8bb8a5x97h56bwd7fdkrm00ivfw2k";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix b/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
index 82ac359158b9..2290a7e80a1e 100644
--- a/nixpkgs/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/powerstat/default.nix b/nixpkgs/pkgs/os-specific/linux/powerstat/default.nix
index 88134da46a15..7f5b14ca72fd 100644
--- a/nixpkgs/pkgs/os-specific/linux/powerstat/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/pscircle/default.nix b/nixpkgs/pkgs/os-specific/linux/pscircle/default.nix
index b6c169483393..1ef3b71884fd 100644
--- a/nixpkgs/pkgs/os-specific/linux/pscircle/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/pscircle/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pscircle-${version}";
-  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/nixpkgs/pkgs/os-specific/linux/smemstat/default.nix b/nixpkgs/pkgs/os-specific/linux/smemstat/default.nix
index 55336e3b2a04..10b33b176d21 100644
--- a/nixpkgs/pkgs/os-specific/linux/smemstat/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/smemstat/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "smemstat-${version}";
-  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/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix b/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix
index 3df0023bd678..1c5678b81e03 100644
--- a/nixpkgs/pkgs/os-specific/linux/usbguard/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 61f487586767..fa7250f7cee8 100644
--- a/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/nixpkgs/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -4,13 +4,13 @@
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  version = "2.8";
+  version = "2.9";
 
   name = "wpa_supplicant-${version}";
 
   src = fetchurl {
     url = "https://w1.fi/releases/${name}.tar.gz";
-    sha256 = "15ixzm347n8w6gdvi3j3yks3i15qmp6by9ayvswm34d929m372d6";
+    sha256 = "05qzak1mssnxcgdrafifxh9w86a4ha69qabkg4bsigk499xyxggw";
   };
 
   # TODO: Patch epoll so that the dbus actually responds
diff --git a/nixpkgs/pkgs/servers/atlassian/jira.nix b/nixpkgs/pkgs/servers/atlassian/jira.nix
index 5bd91b14f32c..3a05c2d8d610 100644
--- a/nixpkgs/pkgs/servers/atlassian/jira.nix
+++ b/nixpkgs/pkgs/servers/atlassian/jira.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-jira-${version}";
-  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/nixpkgs/pkgs/servers/bird/default.nix b/nixpkgs/pkgs/servers/bird/default.nix
index bfaccdd4ea01..e54394a9a7d5 100644
--- a/nixpkgs/pkgs/servers/bird/default.nix
+++ b/nixpkgs/pkgs/servers/bird/default.nix
@@ -37,7 +37,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;
       };
     };
diff --git a/nixpkgs/pkgs/servers/computing/torque/default.nix b/nixpkgs/pkgs/servers/computing/torque/default.nix
index 35c830dff8a5..5e78fe742ac3 100644
--- a/nixpkgs/pkgs/servers/computing/torque/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/diod/default.nix b/nixpkgs/pkgs/servers/diod/default.nix
index 2199d62b4dd7..aefa3af83363 100644
--- a/nixpkgs/pkgs/servers/diod/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/dns/bind/default.nix b/nixpkgs/pkgs/servers/dns/bind/default.nix
index 74d0d1341d66..0b40b99cfc16 100644
--- a/nixpkgs/pkgs/servers/dns/bind/default.nix
+++ b/nixpkgs/pkgs/servers/dns/bind/default.nix
@@ -76,13 +76,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/nixpkgs/pkgs/servers/dns/nsd/default.nix b/nixpkgs/pkgs/servers/dns/nsd/default.nix
index cd6e3d5a45dd..4fa32050c682 100644
--- a/nixpkgs/pkgs/servers/dns/nsd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/dns/powerdns/default.nix b/nixpkgs/pkgs/servers/dns/powerdns/default.nix
index 105e9f232c16..3c63b6d8eb75 100644
--- a/nixpkgs/pkgs/servers/dns/powerdns/default.nix
+++ b/nixpkgs/pkgs/servers/dns/powerdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "powerdns-${version}";
-  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/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix
index 511aff05deaa..03f247e3bc5f 100644
--- a/nixpkgs/pkgs/servers/home-assistant/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/home-assistant/esphome.nix b/nixpkgs/pkgs/servers/home-assistant/esphome.nix
index bd6570679390..775731babd69 100644
--- a/nixpkgs/pkgs/servers/home-assistant/esphome.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/home-assistant/frontend.nix b/nixpkgs/pkgs/servers/home-assistant/frontend.nix
index c65d3b6de82a..13ea1b072652 100644
--- a/nixpkgs/pkgs/servers/home-assistant/frontend.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index ff71e460b2ac..a0fa4b4bca96 100644
--- a/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/nixpkgs/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, apacheHttpd, python2 }:
+{ stdenv, fetchurl, apacheHttpd, python, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "mod_wsgi-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1j8pqn0xhd502ardlmkqx8y85s1npmk9nifqps60wjh29nny03f2";
   };
 
-  buildInputs = [ apacheHttpd python2 ];
+  buildInputs = [ apacheHttpd python ncurses ];
 
   patchPhase = ''
     sed -r -i -e "s|^LIBEXECDIR=.*$|LIBEXECDIR=$out/modules|" \
diff --git a/nixpkgs/pkgs/servers/http/nginx/generic.nix b/nixpkgs/pkgs/servers/http/nginx/generic.nix
index 12b873df6a40..d670e1592c27 100644
--- a/nixpkgs/pkgs/servers/http/nginx/generic.nix
+++ b/nixpkgs/pkgs/servers/http/nginx/generic.nix
@@ -110,6 +110,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/nixpkgs/pkgs/servers/http/unit/default.nix b/nixpkgs/pkgs/servers/http/unit/default.nix
index 39b9b31f7f0a..f802024ea876 100644
--- a/nixpkgs/pkgs/servers/http/unit/default.nix
+++ b/nixpkgs/pkgs/servers/http/unit/default.nix
@@ -15,14 +15,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
+  version = "1.10.0";
   name = "unit-${version}";
 
   src = fetchFromGitHub {
     owner = "nginx";
     repo = "unit";
     rev = "${version}";
-    sha256 = "0f7smgshfzksks2jfhi53g87wiyy38vwgj6aa70ql61m135dx7b1";
+    sha256 = "00y7hc6bzn38f9mcqxnzddnwwsiba4ss9vwd9vgc95sj0yvv885a";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/nixpkgs/pkgs/servers/icingaweb2/default.nix b/nixpkgs/pkgs/servers/icingaweb2/default.nix
index 9216464f1e49..280df5f00d2a 100644
--- a/nixpkgs/pkgs/servers/icingaweb2/default.nix
+++ b/nixpkgs/pkgs/servers/icingaweb2/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, php }: with lib; stdenv.mkDerivation rec {
   name = "icingaweb2-${version}";
-  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/nixpkgs/pkgs/servers/identd/oidentd/default.nix b/nixpkgs/pkgs/servers/identd/oidentd/default.nix
index 81eeae804d25..e60a1f54f424 100644
--- a/nixpkgs/pkgs/servers/identd/oidentd/default.nix
+++ b/nixpkgs/pkgs/servers/identd/oidentd/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "oidentd-${version}";
-  version = "2.3.2";
+  version = "2.4.0";
   nativeBuildInputs = [ bison flex ];
 
   src = fetchurl {
     url = "https://files.janikrabe.com/pub/oidentd/releases/${version}/${name}.tar.gz";
-    sha256 = "10c5jkhirkvm1s4v3zdj4micfi6rkfjj32q4k7wjwh1fnzrwyb5n";
+    sha256 = "132bzlbjp437lrlxv5k9aqa1q9w5pghk02rnazg33cw6av00q2li";
   };
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/servers/jackett/default.nix b/nixpkgs/pkgs/servers/jackett/default.nix
index d2ead585e7d0..8369cdce4d53 100644
--- a/nixpkgs/pkgs/servers/jackett/default.nix
+++ b/nixpkgs/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jackett-${version}";
-  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/nixpkgs/pkgs/servers/limesurvey/default.nix b/nixpkgs/pkgs/servers/limesurvey/default.nix
index ad1038bbc47f..218630180876 100644
--- a/nixpkgs/pkgs/servers/limesurvey/default.nix
+++ b/nixpkgs/pkgs/servers/limesurvey/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "limesurvey";
-  version = "3.17.1+190408";
+  version = "3.17.12+190823";
 
   src = fetchFromGitHub {
     owner = "LimeSurvey";
     repo = "LimeSurvey";
     rev = version;
-    sha256 = "0d6dgw9af492vn5yg2hq82ipq4p80c19lhky0dpwrm5kv67kxbhv";
+    sha256 = "1i7jpxndrbya5ggl4babscwzmxx4c0jwri5kpl7h2ihqrn90m4b5";
   };
 
   phpConfig = writeText "config.php" ''
@@ -18,9 +18,13 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/share/limesurvey
     cp -r . $out/share/limesurvey
     cp ${phpConfig} $out/share/limesurvey/application/config/config.php
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/servers/mail/dovecot/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/default.nix
index 69c1a85760bc..e3afd1f98798 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/default.nix
@@ -9,7 +9,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.7.1";
+  name = "dovecot-2.3.7.2";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "1hq333vj4px4xa9djl8c1v3c8rac98v2mrb9vx1wisg6frpiv9f5";
+    sha256 = "0q0jgcv3ni2znkgyhc966ffphj1wk73y76wssh0yciqafs2f0v36";
   };
 
   enableParallelBuilding = true;
@@ -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/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 30c6f2f44dd5..dce0b9174092 100644
--- a/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/nixpkgs/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dovecot-pigeonhole-${version}";
-  version = "0.5.7.1";
+  version = "0.5.7.2";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "0a10mam68pmdh3fw8fnv5jff6xj1k770hvadym2c39vm3x6b4w1j";
+    sha256 = "1c0ijjmdskxydmvfk8ixxgg8ndnxx1smvycbp7jjd895a9f0r7fm";
   };
 
   buildInputs = [ dovecot openssl ];
@@ -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/nixpkgs/pkgs/servers/mail/exim/default.nix b/nixpkgs/pkgs/servers/mail/exim/default.nix
index a537a4c6d00c..25a94cd27bfa 100644
--- a/nixpkgs/pkgs/servers/mail/exim/default.nix
+++ b/nixpkgs/pkgs/servers/mail/exim/default.nix
@@ -3,6 +3,7 @@
 , enableMySQL ? false, mysql, zlib
 , enableAuthDovecot ? false, dovecot
 , enablePAM ? false, pam
+, enableSPF ? true, libspf2
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +19,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional enableLDAP openldap
     ++ stdenv.lib.optionals enableMySQL [ mysql.connector-c zlib ]
     ++ stdenv.lib.optional enableAuthDovecot dovecot
-    ++ stdenv.lib.optional enablePAM pam;
+    ++ stdenv.lib.optional enablePAM pam
+    ++ stdenv.lib.optional enableSPF libspf2;
 
   preBuild = ''
     sed '
@@ -64,6 +66,10 @@ stdenv.mkDerivation rec {
         s:^\(EXTRALIBS_EXIM\)=\(.*\):\1=\2 -lpam:
         s:^# \(EXTRALIBS_EXIM\)=.*:\1=-lpam:
       ''}
+      ${stdenv.lib.optionalString enableSPF ''
+        s:^# \(SUPPORT_SPF\)=.*:\1=yes:
+        s:^# \(LDFLAGS += -lspf2\):\1:
+      ''}
       #/^\s*#.*/d
       #/^\s*$/d
     ' < src/EDITME > Local/Makefile
diff --git a/nixpkgs/pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch b/nixpkgs/pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch
new file mode 100644
index 000000000000..b8a5476c0559
--- /dev/null
+++ b/nixpkgs/pkgs/servers/mail/mailman/0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch
@@ -0,0 +1,51 @@
+From 47469af384a6d4a0877c76d3c52013b40ab61f04 Mon Sep 17 00:00:00 2001
+From: Peter Simons <simons@cryp.to>
+Date: Mon, 26 Aug 2019 16:10:04 +0200
+Subject: [PATCH] Find external tools via $PATH rather than hard-coding
+ /usr/bin.
+
+---
+ src/mailman/config/mhonarc.cfg | 2 +-
+ src/mailman/config/postfix.cfg | 2 +-
+ src/mailman/config/schema.cfg  | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/mailman/config/mhonarc.cfg b/src/mailman/config/mhonarc.cfg
+index b00f93aea..096e9521b 100644
+--- a/src/mailman/config/mhonarc.cfg
++++ b/src/mailman/config/mhonarc.cfg
+@@ -24,4 +24,4 @@ base_url: http://$hostname/archives/$fqdn_listname
+ 
+ # If the archiver works by calling a command on the local machine, this is the
+ # command to call.
+-command: /usr/bin/mhonarc -outdir /path/to/archive/$listname -add
++command: mhonarc -outdir /path/to/archive/$listname -add
+diff --git a/src/mailman/config/postfix.cfg b/src/mailman/config/postfix.cfg
+index cddda220a..934c9a977 100644
+--- a/src/mailman/config/postfix.cfg
++++ b/src/mailman/config/postfix.cfg
+@@ -5,7 +5,7 @@
+ # db file, from the associated plain text files.  The file being updated will
+ # be appended to this string (with a separating space), so it must be
+ # appropriate for os.system().
+-postmap_command: /usr/sbin/postmap
++postmap_command: postmap
+ 
+ # This variable describes the type of transport maps that will be generated by
+ # mailman to be used with postfix for LMTP transport. By default, it is set to
+diff --git a/src/mailman/config/schema.cfg b/src/mailman/config/schema.cfg
+index fa06ccced..406999e13 100644
+--- a/src/mailman/config/schema.cfg
++++ b/src/mailman/config/schema.cfg
+@@ -65,7 +65,7 @@ filtered_messages_are_preservable: no
+ # where the substitution variable $filename is filled in by Mailman, and
+ # contains the path to the temporary file that the command should read from.
+ # The command should print the converted text to stdout.
+-html_to_plain_text_command: /usr/bin/lynx -dump $filename
++html_to_plain_text_command: lynx -dump $filename
+ 
+ # Specify what characters are allowed in list names.  Characters outside of
+ # the class [-_.+=!$*{}~0-9a-z] matched case insensitively are never allowed,
+-- 
+2.22.0
+
diff --git a/nixpkgs/pkgs/servers/mail/mailman/core.nix b/nixpkgs/pkgs/servers/mail/mailman/core.nix
new file mode 100644
index 000000000000..fcd594270db4
--- /dev/null
+++ b/nixpkgs/pkgs/servers/mail/mailman/core.nix
@@ -0,0 +1,42 @@
+{ stdenv, buildPythonPackage, fetchPypi, alembic, aiosmtpd, dnspython
+, flufl_bounce, flufl_i18n, flufl_lock, lazr_config, lazr_delegates, passlib
+, requests, zope_configuration, click, falcon, importlib-resources
+, zope_component
+}:
+
+buildPythonPackage rec {
+  pname = "mailman";
+  version = "3.2.2";
+
+  patches = [ ./0001-Find-external-tools-via-PATH-rather-than-hard-coding.patch ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09s9p5pb8gff6zblwidyq830yfgcvv50p5drdaxj1qpy8w46lvc6";
+  };
+
+  propagatedBuildInputs = [
+    alembic aiosmtpd click dnspython falcon flufl_bounce flufl_i18n flufl_lock
+    importlib-resources lazr_config passlib requests zope_configuration
+    zope_component
+  ];
+
+  # Mailman assumes that those scripts in $out/bin are Python scripts. Wrapping
+  # them in shell code breaks this assumption. The proper way to use mailman is
+  # to create a specialized python interpreter:
+  #
+  #   python37.withPackages (ps: [ps.mailman])
+  #
+  # This gives a properly wrapped 'mailman' command plus an interpreter that
+  # has all the necessary search paths to execute unwrapped 'master' and
+  # 'runner' scripts. The setup is a little tricky, but fortunately NixOS is
+  # about to get a OS module that takes care of those details.
+  dontWrapPythonPrograms = true;
+
+  meta = {
+    homepage = https://www.gnu.org/software/mailman/;
+    description = "Free software for managing electronic mail discussion and newsletter lists";
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = with stdenv.lib.maintainers; [ peti ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/mail/mailman/default.nix b/nixpkgs/pkgs/servers/mail/mailman/default.nix
deleted file mode 100644
index 91445afa97df..000000000000
--- a/nixpkgs/pkgs/servers/mail/mailman/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchurl, python2 }:
-
-stdenv.mkDerivation rec {
-  name = "mailman-${version}";
-  version = "2.1.29";
-
-  src = fetchurl {
-    url = "mirror://gnu/mailman/${name}.tgz";
-    sha256 = "0b0dpwf6ap260791c7lg2vpw30llf19hymbf2hja3s016rqp5243";
-  };
-
-  buildInputs = [ python2 python2.pkgs.dnspython ];
-
-  patches = [ ./fix-var-prefix.patch ];
-
-  configureFlags = [
-    "--without-permcheck"
-    "--with-cgi-ext=.cgi"
-    "--with-var-prefix=/var/lib/mailman"
-  ];
-
-  installTargets = "doinstall"; # Leave out the 'update' target that's implied by 'install'.
-
-  makeFlags = [ "DIRSETGID=:" ];
-
-  meta = {
-    homepage = https://www.gnu.org/software/mailman/;
-    description = "Free software for managing electronic mail discussion and e-newsletter lists";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.peti ];
-  };
-}
diff --git a/nixpkgs/pkgs/servers/mail/mailman/fix-var-prefix.patch b/nixpkgs/pkgs/servers/mail/mailman/fix-var-prefix.patch
deleted file mode 100644
index 9bb735ecbed7..000000000000
--- a/nixpkgs/pkgs/servers/mail/mailman/fix-var-prefix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -ubr mailman-2.1.16-orig/contrib/redhat_fhs.patch mailman-2.1.16/contrib/redhat_fhs.patch
---- mailman-2.1.16-orig/contrib/redhat_fhs.patch	2013-10-21 14:55:48.797631434 +0200
-+++ mailman-2.1.16/contrib/redhat_fhs.patch	2013-10-21 14:56:42.534310378 +0200
-@@ -197,7 +197,7 @@
- +	    else true; \
- +	    fi; \
- +	done
-- 	chmod o-r $(DESTDIR)$(var_prefix)/archives/private
-+ 	chmod o-r $(prefix)$(var_prefix)/archives/private
-  	@for d in $(ARCH_INDEP_DIRS); \
-  	do \
- Only in mailman-2.1.5.FHS: Makefile.in~
-diff -ubr mailman-2.1.16-orig/Makefile.in mailman-2.1.16/Makefile.in
---- mailman-2.1.16-orig/Makefile.in	2013-10-21 14:55:48.798631519 +0200
-+++ mailman-2.1.16/Makefile.in	2013-10-21 14:56:42.562313220 +0200
-@@ -87,7 +87,7 @@
- 	@echo "Creating architecture independent directories..."
- 	@for d in $(VAR_DIRS); \
- 	do \
--	    dir=$(DESTDIR)$(var_prefix)/$$d; \
-+	    dir=$(prefix)$(var_prefix)/$$d; \
- 	    if test ! -d $$dir; then \
- 		echo "Creating directory hierarchy $$dir"; \
- 		$(srcdir)/mkinstalldirs $$dir; \
-@@ -96,7 +96,7 @@
- 	    else true; \
- 	    fi; \
- 	done
--	chmod o-r $(DESTDIR)$(var_prefix)/archives/private
-+	chmod o-r $(prefix)$(var_prefix)/archives/private
- 	@for d in $(ARCH_INDEP_DIRS); \
- 	do \
- 	    dir=$(DESTDIR)$(prefix)/$$d; \
diff --git a/nixpkgs/pkgs/servers/mail/mailman/postorius.nix b/nixpkgs/pkgs/servers/mail/mailman/postorius.nix
new file mode 100644
index 000000000000..871f2ea244dd
--- /dev/null
+++ b/nixpkgs/pkgs/servers/mail/mailman/postorius.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi, beautifulsoup4, vcrpy, mock
+, django-mailman3, mailmanclient
+}:
+
+buildPythonPackage rec {
+  pname = "postorius";
+  version = "1.2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1722lnscxfl8wdigf5d80d1qmd5gblr439wa989jxlww0wkjg9fl";
+  };
+
+  buildInputs = [ beautifulsoup4 vcrpy mock ];
+  propagatedBuildInputs = [ django-mailman3 ];
+
+  checkPhase = ''
+    cd $NIX_BUILD_TOP/$sourceRoot
+    PYTHONPATH=.:$PYTHONPATH python example_project/manage.py test --settings=test_settings postorius
+  '';
+
+  meta = {
+    homepage = https://www.gnu.org/software/mailman/;
+    description = "Web-based user interface for managing GNU Mailman";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ globin peti ];
+  };
+}
diff --git a/nixpkgs/pkgs/servers/mail/opensmtpd/default.nix b/nixpkgs/pkgs/servers/mail/opensmtpd/default.nix
index cd48ab12e24e..2e1b3a4f7980 100644
--- a/nixpkgs/pkgs/servers/mail/opensmtpd/default.nix
+++ b/nixpkgs/pkgs/servers/mail/opensmtpd/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   name = "opensmtpd-${version}";
-  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/${name}.tar.gz";
-    sha256 = "0cppqlx4fk6l8rbim5symh2fm1kzshf421256g596j6c9f9q96xn";
+    sha256 = "0pgv080ai7d98l9340jadp9wjiaqj2qvgpqhilcz0kps2mdiawbd";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/servers/mail/postfix/default.nix b/nixpkgs/pkgs/servers/mail/postfix/default.nix
index 10d3b397b26b..a4b0b921adb2 100644
--- a/nixpkgs/pkgs/servers/mail/postfix/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/mail/rmilter/default.nix b/nixpkgs/pkgs/servers/mail/rmilter/default.nix
deleted file mode 100644
index 739270326e5b..000000000000
--- a/nixpkgs/pkgs/servers/mail/rmilter/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, bison, flex, pkgconfig, openssl, pcre
-, libmilter, opendkim, libmemcached, glib }:
-
-let patchedLibmilter = stdenv.lib.overrideDerivation  libmilter (_ : {
-    patches = libmilter.patches ++ [ ./fd-passing-libmilter.patch ];
-});
-in
-
-stdenv.mkDerivation rec {
-  name = "rmilter-${version}";
-  version = "1.10.0";
-
-  src = fetchFromGitHub {
-    owner = "vstakhov";
-    repo = "rmilter";
-    rev = version;
-    sha256 = "1gbp6jah88l6xqgflim01ycyp63l733bgir65fxnnrmifj1qzymh";
-  };
-
-  nativeBuildInputs = [ bison cmake flex pkgconfig ];
-  buildInputs = [ libmemcached patchedLibmilter openssl pcre opendkim glib ];
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/vstakhov/rmilter;
-    license = licenses.asl20;
-    description = ''
-      Daemon to integrate rspamd and milter compatible MTA, for example
-      postfix or sendmail
-    '';
-    maintainers = with maintainers; [ avnik fpletz ];
-    platforms = with platforms; linux;
-  };
-}
diff --git a/nixpkgs/pkgs/servers/mail/rmilter/fd-passing-libmilter.patch b/nixpkgs/pkgs/servers/mail/rmilter/fd-passing-libmilter.patch
deleted file mode 100644
index 3ab61a6fab00..000000000000
--- a/nixpkgs/pkgs/servers/mail/rmilter/fd-passing-libmilter.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-Description: systemd-like socket activation support for libmilter
-Author: Mikhail Gusarov <dottedmag@debian.org
-diff --git a/libmilter/docs/smfi_setconn.html b/libmilter/docs/smfi_setconn.html
-index 70a510e..013f04e 100644
---- a/libmilter/docs/smfi_setconn.html
-+++ b/libmilter/docs/smfi_setconn.html
-@@ -43,6 +43,7 @@ Set the socket through which this filter should communicate with sendmail.
- 	<LI><CODE>{unix|local}:/path/to/file</CODE> -- A named pipe.
- 	<LI><CODE>inet:port@{hostname|ip-address}</CODE> -- An IPV4 socket.
- 	<LI><CODE>inet6:port@{hostname|ip-address}</CODE> -- An IPV6 socket.
-+	<LI><CODE>fd:number</CODE> -- Pre-opened file descriptor.
- 	</UL>
- 	</TD></TR>
-     </TABLE>
-diff --git a/libmilter/listener.c b/libmilter/listener.c
-index 48c552f..2249a1f 100644
---- a/libmilter/listener.c
-+++ b/libmilter/listener.c
-@@ -197,6 +197,11 @@ mi_milteropen(conn, backlog, rmsocket, name)
- 			L_socksize = sizeof addr.sin6;
- 		}
- #endif /* NETINET6 */
-+		else if (strcasecmp(p, "fd") == 0)
-+		{
-+			addr.sa.sa_family = AF_UNSPEC;
-+			L_socksize = sizeof (_SOCK_ADDR);
-+		}
- 		else
- 		{
- 			smi_log(SMI_LOG_ERR, "%s: unknown socket type %s",
-@@ -443,7 +448,21 @@ mi_milteropen(conn, backlog, rmsocket, name)
- 	}
- #endif /* NETINET || NETINET6 */
- 
--	sock = socket(addr.sa.sa_family, SOCK_STREAM, 0);
-+	if (addr.sa.sa_family == AF_UNSPEC)
-+	{
-+		char *end;
-+		sock = strtol(colon, &end, 10);
-+		if (*end != '\0' || sock < 0)
-+		{
-+			smi_log(SMI_LOG_ERR, "%s: expected positive integer as fd, got %s", name, colon);
-+			return INVALID_SOCKET;
-+		}
-+	}
-+	else
-+	{
-+		sock = socket(addr.sa.sa_family, SOCK_STREAM, 0);
-+	}
-+
- 	if (!ValidSocket(sock))
- 	{
- 		smi_log(SMI_LOG_ERR,
-@@ -466,6 +485,7 @@ mi_milteropen(conn, backlog, rmsocket, name)
- #if NETUNIX
- 	    addr.sa.sa_family != AF_UNIX &&
- #endif /* NETUNIX */
-+	    addr.sa.sa_family != AF_UNSPEC &&
- 	    setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void *) &sockopt,
- 		       sizeof(sockopt)) == -1)
- 	{
-@@ -511,7 +531,8 @@ mi_milteropen(conn, backlog, rmsocket, name)
- 	}
- #endif /* NETUNIX */
- 
--	if (bind(sock, &addr.sa, L_socksize) < 0)
-+	if (addr.sa.sa_family != AF_UNSPEC &&
-+	    bind(sock, &addr.sa, L_socksize) < 0)
- 	{
- 		smi_log(SMI_LOG_ERR,
- 			"%s: Unable to bind to port %s: %s",
-@@ -817,7 +838,7 @@ mi_listener(conn, dbg, smfi, timeout, backlog)
- # ifdef BSD4_4_SOCKADDR
- 		     cliaddr.sa.sa_len == 0 ||
- # endif /* BSD4_4_SOCKADDR */
--		     cliaddr.sa.sa_family != L_family))
-+		     (L_family != AF_UNSPEC && cliaddr.sa.sa_family != L_family)))
- 		{
- 			(void) closesocket(connfd);
- 			connfd = INVALID_SOCKET;
diff --git a/nixpkgs/pkgs/servers/mail/rspamd/default.nix b/nixpkgs/pkgs/servers/mail/rspamd/default.nix
index 25e7807659df..67a647b236b4 100644
--- a/nixpkgs/pkgs/servers/mail/rspamd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/meguca/default.nix b/nixpkgs/pkgs/servers/meguca/default.nix
index d983c0677191..06e9f3fc961f 100644
--- a/nixpkgs/pkgs/servers/meguca/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/miniflux/default.nix b/nixpkgs/pkgs/servers/miniflux/default.nix
index 1ebd852380c4..1445d0b523c6 100644
--- a/nixpkgs/pkgs/servers/miniflux/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix b/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
index 502a3026b2ae..d6f3e18e49bc 100644
--- a/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/cadvisor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "cadvisor-${version}";
-  version = "0.33.1";
+  version = "0.34.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cadvisor";
     rev = "v${version}";
-    sha256 = "15wddg0xwkz42n5y2f72yq3imhbvnp83g1jq6p81ddw9qzbz62zs";
+    sha256 = "1hshmhsclja50ja2jqxx2f5lcvbs64n6aw6dw28wbnq3z9v0q8ad";
   };
 
   nativeBuildInputs = [ go ];
@@ -17,12 +17,15 @@ stdenv.mkDerivation rec {
     export GOCACHE="$TMPDIR/go-cache"
     mkdir -p Godeps/_workspace/src/github.com/google/
     ln -s $(pwd) Godeps/_workspace/src/github.com/google/cadvisor
-    GOPATH=$(pwd)/Godeps/_workspace go build -v -o cadvisor github.com/google/cadvisor
+    GOPATH=$(pwd)/Godeps/_workspace go build -v -o cadvisor -ldflags="-s -w -X github.com/google/cadvisor/version.Version=${version}" github.com/google/cadvisor
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    mv cadvisor $out/bin
+    runHook preInstall
+
+    install -Dm755 -t $out/bin cadvisor
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
index 532ed971ac83..19807c3c2bd8 100644
--- a/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
@@ -37,7 +37,7 @@ buildGoPackage rec {
     description = "Gorgeous metric viz, dashboards & editors for Graphite, InfluxDB & OpenTSDB";
     license = licenses.asl20;
     homepage = "https://grafana.com";
-    maintainers = with maintainers; [ offline fpletz willibutz ];
+    maintainers = with maintainers; [ offline fpletz willibutz globin ];
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/servers/monitoring/loki/default.nix b/nixpkgs/pkgs/servers/monitoring/loki/default.nix
index 34907e61c14b..97ddba0ff738 100644
--- a/nixpkgs/pkgs/servers/monitoring/loki/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/loki/default.nix
@@ -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/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
index e104f31a74de..acdb3423107d 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "alertmanager-${version}";
-  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/nixpkgs/pkgs/servers/monitoring/prometheus/cups-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/cups-exporter.nix
new file mode 100644
index 000000000000..9ba73b3d2104
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/cups-exporter.nix
@@ -0,0 +1,36 @@
+{ lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "prometheus-cups-exporter-unstable";
+  version = "2019-03-17";
+
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "ThoreKr";
+    repo = "cups_exporter";
+    rev = "8fd1c2517e9878b7b7c73a450e5e546f437954a9";
+    sha256 = "1cwk2gbw2svqjlzgwv5wqzhq7fxwrwsrr0kkbnqn4mfb0kq6pa8m";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ prometheus_client pycups ];
+
+  installPhase = ''
+    mkdir -p $out/share/
+    cp cups_exporter.py $out/share/
+  '';
+
+  fixupPhase = ''
+    makeWrapper "${python3Packages.python.interpreter}" "$out/bin/prometheus-cups-exporter" \
+          --set PYTHONPATH "$PYTHONPATH" \
+          --add-flags "$out/share/cups_exporter.py"
+  '';
+
+  meta = with lib; {
+    description = "A simple prometheus exporter for cups implemented in python";
+    homepage = "https://github.com/ThoreKr/cups_exporter";
+    license = licenses.unfree;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
index 8806a88693be..627186e47ac3 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
index e43488bbaaeb..4e32630ae227 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/dnsmasq-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
index 5a3fd23ec22e..6b9b2f6b799f 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix
new file mode 100644
index 000000000000..06eba474c996
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "gitlab-ci-pipelines-exporter";
+  version = "0.2.5";
+
+  goPackagePath = "github.com/mvisonneau/gitlab-ci-pipelines-exporter";
+
+  goDeps = ./gitlab-ci-pipelines-exporter_deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "mvisonneau";
+    repo = pname;
+    rev = version;
+    sha256 = "0qmy6pqfhx9bphgh1zqi68kp0nscwy1x7z13lfiaaz8pgsjh95yy";
+  };
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Prometheus / OpenMetrics exporter for GitLab CI pipelines insights";
+    homepage = "https://github.com/mvisonneau/gitlab-ci-pipelines-exporter";
+    license = licenses.asl20;
+    maintainers = [ maintainers.mmahut ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter_deps.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter_deps.nix
new file mode 100644
index 000000000000..d439c9aab10c
--- /dev/null
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/gitlab-ci-pipelines-exporter_deps.nix
@@ -0,0 +1,390 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "cloud.google.com/go";
+    fetch = {
+      type = "git";
+      url = "https://code.googlesource.com/gocloud";
+      rev = "v0.34.0";
+      sha256 = "1kclgclwar3r37zbvb9gg3qxbgzkb50zk3s9778zlh2773qikmai";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "v1.0.0";
+      sha256 = "1i1nz1f6g55xi2y3aiaz5kqfgvknarbfl4f0sx4nyyb4s7xb1z9x";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-kit/kit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-kit/kit";
+      rev = "v0.8.0";
+      sha256 = "1rcywbc2pvab06qyf8pc2rdfjv7r6kxdv2v4wnpqnjhz225wqvc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-logfmt/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-logfmt/logfmt";
+      rev = "v0.4.0";
+      sha256 = "06smxc112xmixz78nyvk3b2hmc7wasf2sl5vxj1xz62kqcq9lzm9";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.3.0";
+      sha256 = "1hyxx3434zshl2m9ja78gwlkg1rx9yl6diqa7dnjb31xz5x4gbjj";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "v1.0.0";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
+    };
+  }
+  {
+    goPackagePath = "github.com/heptiolabs/healthcheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/heptiolabs/healthcheck";
+      rev = "6ff867650f40";
+      sha256 = "17aqrqhx2ibv6mcxsmli6m3hmvwi06cnpaly05daimay3cys5q0l";
+    };
+  }
+  {
+    goPackagePath = "github.com/jpillora/backoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jpillora/backoff";
+      rev = "3050d21c67d7";
+      sha256 = "1nxapdx9xg5gwiscfhq7m0w14hj4gaxb4avmgf1mx9zd3jnw9jxv";
+    };
+  }
+  {
+    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";
+      url = "https://github.com/julienschmidt/httprouter";
+      rev = "v1.2.0";
+      sha256 = "1k8bylc9s4vpvf5xhqh9h246dl1snxrzzz0614zz88cdh8yzs666";
+    };
+  }
+  {
+    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
+    fetch = {
+      type = "git";
+      url = "https://github.com/konsorten/go-windows-terminal-sequences";
+      rev = "v1.0.2";
+      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/logfmt";
+      rev = "b84e30acd515";
+      sha256 = "02ldzxgznrfdzvghfraslhgp19la1fczcbzh7wm2zdc6lmpd1qq9";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/concurrent";
+    fetch = {
+      type = "git";
+      url = "https://github.com/modern-go/concurrent";
+      rev = "bacd9c7ef1dd";
+      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
+    };
+  }
+  {
+    goPackagePath = "github.com/modern-go/reflect2";
+    fetch = {
+      type = "git";
+      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";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "v1.0.0";
+      sha256 = "1f03ndyi3jq7zdxinnvzimz3s4z2374r6dikkc8i42xzb6d1bli6";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "fd36f4220a90";
+      sha256 = "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "v0.6.0";
+      sha256 = "1q16br348117ffycxdwsldb0i39p34miclfa8z93k6vjwnrqbh2l";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "v0.0.3";
+      sha256 = "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.4.2";
+      sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.1";
+      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev = "v1.20.0";
+      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
+    };
+  }
+  {
+    goPackagePath = "github.com/xanzy/go-gitlab";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xanzy/go-gitlab";
+      rev = "v0.19.0";
+      sha256 = "0xbn94rb9ihpw1g698xbz9vdl7393z9zbb0lck52nxs838gkr4mb";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "f99c8df09eb5";
+      sha256 = "0jwi6c6366999mnpzwx3a2kr7hzvdx97qfwiphx0r7cy0mpf28hf";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "ca1201d0de80";
+      sha256 = "16j9xyby1vfl4ch6wqzafxxxnxvcp8vhzknpchwabci1f2zcsn6i";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev = "0f29369cfe45";
+      sha256 = "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "fc99dfbffb4e";
+      sha256 = "186x8bg926qb9sprs5zpd97xzvvhc2si7q1nhvyg12r5cd6v7zjd";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "d0a3d012864b";
+      sha256 = "1s2jbb94hbcb01hgkd9kzb9js13grj80a72il7467pm57b3rnggg";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev = "v1.6.1";
+      sha256 = "0zxlvwzxwkwz4bs4h9zc9979dx76y4xf9ks4d22bclg47dv59yry";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/alecthomas/kingpin.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/alecthomas/kingpin.v2";
+      rev = "v2.2.6";
+      sha256 = "0mndnv3hdngr3bxp7yxfd47cas4prv98sqw534mx7vp38gd88n5r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.2";
+      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
+    };
+  }
+]
diff --git a/nixpkgs/pkgs/servers/monitoring/prometheus/mail-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/mail-exporter.nix
index 129c2b333723..85720108def8 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/mail-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
index 9180a5113492..6108e0d9de39 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/mysqld-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "mysqld_exporter-${version}";
-  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/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index 963315f00c12..9de720306d8d 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix
index 80ad4a32be75..fd90e4c39bb1 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix
+++ b/nixpkgs/pkgs/servers/monitoring/prometheus/node-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "node_exporter-${version}";
-  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/nixpkgs/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
index eac962f75606..36009c421ef5 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/openvpn-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
index 97df26aea4e5..9a34f0c948d1 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/postfix-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
index ffa71f3ad0c1..0887d971ddf7 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix
index 18fa3f98db23..1cf4c022e8fa 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/unifi-exporter/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
index 1b4ffd61ec78..80fe9b2357f4 100644
--- a/nixpkgs/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/riemann/default.nix b/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
index 50325144fcac..b7221a9d8361 100644
--- a/nixpkgs/pkgs/servers/monitoring/riemann/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/monitoring/thanos/default.nix b/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
index 28218b8f66d6..ab2f187e5048 100644
--- a/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
+++ b/nixpkgs/pkgs/servers/monitoring/thanos/default.nix
@@ -1,13 +1,13 @@
 { stdenv, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "thanos";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
-    owner = "improbable-eng";
+    owner = "thanos-io";
     repo = "thanos";
-    sha256 = "0vcp7m8fsk4jyk49jh9wmbvkx5k03xw10f4lbsxfmwib1y5pz2x0";
+    sha256 = "06vy22cy81rd71py8057bia3265vjm6ffp16wpx06faramdazq6p";
   };
 
   modSha256 = "139b66jdryqv4s1hjbn9fzkyzn1160wr4z6a6wmmvm3f6p6wgjxp";
@@ -25,7 +25,7 @@ buildGoModule rec {
 
   meta = with stdenv.lib; {
     description = "Highly available Prometheus setup with long term storage capabilities";
-    homepage = "https://github.com/improbable-eng/thanos";
+    homepage = "https://github.com/thanos-io/thanos";
     license = licenses.asl20;
     maintainers = with maintainers; [ basvandijk ];
     platforms = platforms.unix;
diff --git a/nixpkgs/pkgs/servers/nextcloud/default.nix b/nixpkgs/pkgs/servers/nextcloud/default.nix
index a78d2e26bf76..ac5e5cff94b3 100644
--- a/nixpkgs/pkgs/servers/nextcloud/default.nix
+++ b/nixpkgs/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nextcloud-${version}";
-  version = "16.0.3";
+  version = "16.0.4";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "1ww1517i05gaf71szx0qpdc87aczllcb39cvc8c26dm18z76hgx1";
+    sha256 = "1l7ckzyqz7g4ny8s2q4xal72p57ldfjs947sk2ya2df93qjh0qz0";
   };
 
   installPhase = ''
diff --git a/nixpkgs/pkgs/servers/nosql/redis/default.nix b/nixpkgs/pkgs/servers/nosql/redis/default.nix
index 0ce948c715e0..20a6321e0a80 100644
--- a/nixpkgs/pkgs/servers/nosql/redis/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix b/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix
index d6ee407e3418..a1a9072f5cab 100644
--- a/nixpkgs/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/openxpki/default.nix b/nixpkgs/pkgs/servers/openxpki/default.nix
index 05ee7f343523..7bd0ee2eede1 100644
--- a/nixpkgs/pkgs/servers/openxpki/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/plex/raw.nix b/nixpkgs/pkgs/servers/plex/raw.nix
index 94e8519fcc93..16007c3e8fca 100644
--- a/nixpkgs/pkgs/servers/plex/raw.nix
+++ b/nixpkgs/pkgs/servers/plex/raw.nix
@@ -8,14 +8,14 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.16.4.1469-6d5612c2f";
+  version = "1.16.5.1488-deeb86e7f";
   pname = "plexmediaserver";
   name = "${pname}-${version}";
 
   # Fetch the source
   src = fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/redhat/plexmediaserver-${version}.x86_64.rpm";
-    sha256 = "16ifgqsxgpqyd1m0xmwrrv4cic1yccklv1jlv7fhq8wc6vz9l6lx";
+    sha256 = "0kgcbq3jfvmigza8a9ak215q2cpi18vh96gx01hppk51m9ibkrwi";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/nixpkgs/pkgs/servers/rainloop/default.nix b/nixpkgs/pkgs/servers/rainloop/default.nix
index 76f3ded78086..b037524f67f2 100644
--- a/nixpkgs/pkgs/servers/rainloop/default.nix
+++ b/nixpkgs/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,10 +35,10 @@
   in {
     rainloop-community = common {
       edition = "community";
-      sha256 = "06w1vxqpcj2j8dzzjqh6azala8l46hzy85wcvqbjdlj5w789jzsx";
+      sha256 = "1skwq6bn98142xf8r77b818fy00nb4x0s1ii3mw5849ih94spx40";
     };
     rainloop-standard = common {
       edition = "";
-      sha256 = "1fbnpk7l2fbmzn31vx36caqg9xm40g4hh4mv3s8d70slxwhlscw0";
+      sha256 = "e3ec8209cb3b9f092938a89094e645ef27659763432bedbe7fad4fa650554222";
     };
   }
diff --git a/nixpkgs/pkgs/servers/roundcube/default.nix b/nixpkgs/pkgs/servers/roundcube/default.nix
index a490acb1f739..0b774a4b5add 100644
--- a/nixpkgs/pkgs/servers/roundcube/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/search/groonga/default.nix b/nixpkgs/pkgs/servers/search/groonga/default.nix
index f86596150eab..b296fb3b425c 100644
--- a/nixpkgs/pkgs/servers/search/groonga/default.nix
+++ b/nixpkgs/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   name    = "groonga-${version}";
-  version = "9.0.5";
+  version = "9.0.6";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${name}.tar.gz";
-    sha256 = "15y5dddvziw9lbl24z4j5yf1ibv79bn052lmx08rbxh78777csw3";
+    sha256 = "0d1p8v7qd97h3znp84a1w40hbg834n3wxp6gaa8mbnff16s18kl7";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/nixpkgs/pkgs/servers/search/solr/8.x.nix b/nixpkgs/pkgs/servers/search/solr/8.x.nix
index 48f5847b1117..fd888de60dec 100644
--- a/nixpkgs/pkgs/servers/search/solr/8.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/search/solr/default.nix b/nixpkgs/pkgs/servers/search/solr/default.nix
index ddd46299a9cb..c94b11c91dde 100644
--- a/nixpkgs/pkgs/servers/search/solr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sickbeard/sickrage.nix b/nixpkgs/pkgs/servers/sickbeard/sickrage.nix
index 6ee119520b41..f4a37f85c6cb 100644
--- a/nixpkgs/pkgs/servers/sickbeard/sickrage.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sks/default.nix b/nixpkgs/pkgs/servers/sks/default.nix
index deeeabda7451..a8a00f37f3fb 100644
--- a/nixpkgs/pkgs/servers/sks/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/sonarr/default.nix b/nixpkgs/pkgs/servers/sonarr/default.nix
index 12cd3bfaad93..116d687ad269 100644
--- a/nixpkgs/pkgs/servers/sonarr/default.nix
+++ b/nixpkgs/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sonarr-${version}";
-  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/nixpkgs/pkgs/servers/sql/pgpool/default.nix b/nixpkgs/pkgs/servers/sql/pgpool/default.nix
index 3db62aa491ce..ba75bd28bccc 100644
--- a/nixpkgs/pkgs/servers/sql/pgpool/default.nix
+++ b/nixpkgs/pkgs/servers/sql/pgpool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgpool-II";
-  version = "4.0.5";
+  version = "4.0.6";
   name = "${pname}-${version}";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "http://www.pgpool.net/download.php?f=${name}.tar.gz";
-    sha256 = "0v2g2ksikn10kxsa8i47gv0kbklrsscvlddza3caf522q1k0fic4";
+    sha256 = "0blmbqczyrgzykby2z3xzmhzd8kgij9izxv50n5cjn5azf7dn8g5";
   };
 
   patches = [ ./pgpool.patch ];
diff --git a/nixpkgs/pkgs/servers/sql/postgresql/default.nix b/nixpkgs/pkgs/servers/sql/postgresql/default.nix
index 711ad35bcc1b..7e536e22d947 100644
--- a/nixpkgs/pkgs/servers/sql/postgresql/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/squid/4.nix b/nixpkgs/pkgs/servers/squid/4.nix
deleted file mode 100644
index 69a46533ba5d..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/servers/squid/default.nix b/nixpkgs/pkgs/servers/squid/default.nix
index fde29dc7e80c..72a7fff7c475 100644
--- a/nixpkgs/pkgs/servers/squid/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/trezord/default.nix b/nixpkgs/pkgs/servers/trezord/default.nix
index fcea0f398e4e..48cf589e55d1 100644
--- a/nixpkgs/pkgs/servers/trezord/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/ttyd/default.nix b/nixpkgs/pkgs/servers/ttyd/default.nix
index bae43412e784..3358973fc4eb 100644
--- a/nixpkgs/pkgs/servers/ttyd/default.nix
+++ b/nixpkgs/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 {
-  name = "ttyd-${version}";
-  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/nixpkgs/pkgs/servers/unifi/default.nix b/nixpkgs/pkgs/servers/unifi/default.nix
index 76c4bfc428e4..5a04d2317f41 100644
--- a/nixpkgs/pkgs/servers/unifi/default.nix
+++ b/nixpkgs/pkgs/servers/unifi/default.nix
@@ -35,24 +35,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/nixpkgs/pkgs/servers/uwsgi/default.nix b/nixpkgs/pkgs/servers/uwsgi/default.nix
index 1e8464874727..6f5f7170dbd9 100644
--- a/nixpkgs/pkgs/servers/uwsgi/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/codimd/default.nix b/nixpkgs/pkgs/servers/web-apps/codimd/default.nix
index 2be8a3f5d687..ab4065597ae2 100644
--- a/nixpkgs/pkgs/servers/web-apps/codimd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/codimd/package.json b/nixpkgs/pkgs/servers/web-apps/codimd/package.json
index c189f0477bf6..172822a26b30 100644
--- a/nixpkgs/pkgs/servers/web-apps/codimd/package.json
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/codimd/yarn.lock b/nixpkgs/pkgs/servers/web-apps/codimd/yarn.lock
index 3b7e3f02b1e2..7c9d4997d79e 100644
--- a/nixpkgs/pkgs/servers/web-apps/codimd/yarn.lock
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/codimd/yarn.nix b/nixpkgs/pkgs/servers/web-apps/codimd/yarn.nix
index f5c34ce04c3a..add7d6a9ba50 100644
--- a/nixpkgs/pkgs/servers/web-apps/codimd/yarn.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix b/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
index 72511c16eeba..8d3d3def695f 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
@@ -5,7 +5,7 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
   (fetchbower "tweetnacl" "0.12.2" "0.12.2" "1lfzbfrdaly3zyzbcp1p53yhxlrx56k8x04q924kg7l52gblm65g")
   (fetchbower "components-font-awesome" "4.7.0" "^4.6.3" "1w27im6ayjrbgjqa0i49ml5d3wy4ld40h9b29hz9myv77bpx4lg1")
   (fetchbower "ckeditor" "4.7.3" "4.7.3" "02bism1gc0pccdxsp361hsrn9p4jh24dnxh40rv3xikr3g91b414")
-  (fetchbower "codemirror" "5.47.0" "^5.19.0" "0h9kjmljd9i5hsdk53f6klx3k8vf9kfn14j0s7k3ivb5d0x0r1p4")
+  (fetchbower "codemirror" "5.48.4" "^5.19.0" "1066jrf11dygdr8v7xv2nyzrq4ks7sc6j8wdqvrwl689pw3ycypf")
   (fetchbower "requirejs" "2.3.5" "2.3.5" "05lyvgz914h2w08r24rk0vkk3yxmqrvlg7j3i5av9ffkg9lpzsli")
   (fetchbower "marked" "0.5.0" "0.5.0" "00lclh9xfbhbjzzbbfjnfpr949hmqmr04jx2hq7mdc9f74xinj1r")
   (fetchbower "rangy" "rangy-release#1.3.0" "rangy-release#~1.3.0" "13x3wci003p8jyv2ncir0k23bxckx99b3555r0zvgmlwycg7w0zv")
@@ -22,7 +22,7 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
   (fetchbower "less" "3.7.1" "3.7.1" "1n7ps4xlbrc9m63b3q62mg3p6i7d5hwchhpjshb0drzj5crvz556")
   (fetchbower "bootstrap" "4.3.1" "^v4.0.0" "081xw746bshhy8m14x7y8y6ryl38jz3l5545v62vjzr6b4609xd9")
   (fetchbower "diff-dom" "2.1.1" "2.1.1" "0nrn6xqlhp0p5ixjxdk8qg3939crkggh1l8swd20d7bsz186l5f1")
-  (fetchbower "nthen" "0.1.7" "^0.1.5" "1bxfjw7qzs0sidv6wf1rjrj4fm0x0j7pr5yi3v4nw3d7cjjgd3wg")
+  (fetchbower "nthen" "0.1.10" "^0.1.5" "0ipaydp1g63hgjis9qpp4nzf7p0b06g0xnz8nlxnwarkknci55y8")
   (fetchbower "open-sans-fontface" "1.4.2" "^1.4.2" "0ksav1fcq640fmdz49ra4prwsrrfj35y2p4shx1jh1j7zxd044nf")
   (fetchbower "bootstrap-tokenfield" "0.12.1" "^0.12.1" "0ib1v5k8h360sp19yiy7q92rfaz2554fvwwg2ixmxn01ydqlprw6")
   (fetchbower "bootstrap" "3.1.1" "~3.1.1" "06bhjwa8p7mzbpr3jkgydd804z1nwrkdql66h7jkfml99psv9811")
@@ -31,9 +31,9 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
   (fetchbower "croppie" "2.6.4" "^2.5.0" "1lcdsjdc4xz7a3sii836g40wx15223sxng53mnf3g7h7s5y84h1x")
   (fetchbower "sortablejs" "1.9.0" "^1.6.0" "12gncd70fi3craqqpb3la12hg7pm2wf4y01l1r2vvmnzmb5apdan")
   (fetchbower "saferphore" "0.0.1" "^0.0.1" "1wfr9wpbm3lswmvy2p0247ydb108h4qh5s286py89k871qh6jwdi")
-  (fetchbower "jszip" "Stuk/jszip#3.2.0" "Stuk/jszip#^3.1.5" "1gyhm07dsqw2bmj6xddfk91f05gj7xd3gxjd94lsxy8z66z6zia5")
+  (fetchbower "jszip" "Stuk/jszip#3.2.2" "Stuk/jszip#^3.1.5" "1k0va2ps2x29d1virg51n5s5rdjk21zfh7h14nnljcfnvxvk3rpp")
   (fetchbower "requirejs-plugins" "1.0.3" "^1.0.3" "00s3sdz1ykygx5shldwhhhybwgw7c99vkqd94i5i5x0gl97ifxf5")
-  (fetchbower "chainpad-netflux" "0.7.5" "^0.7.0" "1dgi1x00msbr203xf3lz8pqhd0w2h5nqa3pqzly1559jfxbyw8g0")
-  (fetchbower "netflux-websocket" "0.1.19" "^0.1.19" "0gzn4bxa6biad083aawn6qpwmg3raqb059mapzalaqjb9bvs8x26")
+  (fetchbower "chainpad-netflux" "0.7.6" "^0.7.0" "02qjk0qv423r2ksxma49i4l45p42j20ifr2rrr23dz0fq44j6llc")
+  (fetchbower "netflux-websocket" "0.1.20" "^0.1.19" "0bpkkg4vfyhiwwf2d2hxld6zsppjx4clknrwsivp4m0vx2ddc54s")
   (fetchbower "es6-promise" "3.3.1" "^3.2.2" "0ai6z5admfs84fdx6663ips49kqgz4x68ays78cic0xfb7pp6vcz")
 ]; }
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix b/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
index 679cedf25227..f406aa83e350 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
@@ -45,12 +45,6 @@ let
     nodePackages
     ;
 
-  # Get the patched load-config.js that allows loading config from the env
-  dynamicConfig = fetchurl {
-    url = "https://raw.githubusercontent.com/zimbatm/cryptpad/35dd3abbb5ef6e3f9d5fb0b31b693c430d159b4a/lib/load-config.js";
-    sha256 = "1ch6r4fkcvyxhc501nmdc39zpnxcqwgwkj7nb39ayflkhil19f6a";
-  };
-
   combined = cryptpad.override {
     postInstall = ''
       out_cryptpad=$out/lib/node_modules/cryptpad
@@ -60,9 +54,6 @@ let
         ${bowerPackages}/bower_components \
         $out_cryptpad/www/bower_components
 
-      # patch the load-config.js file
-      cp ${dynamicConfig} $out_cryptpad/lib/load-config.js
-
       # add executable
       mkdir $out/bin
       cat <<EOF > $out/bin/cryptpad
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
index f53a1dcf66b1..b2a943dc2dfc 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
@@ -22,13 +22,13 @@ let
         sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
       };
     };
-    "async-limiter-1.0.0" = {
+    "async-limiter-1.0.1" = {
       name = "async-limiter";
       packageName = "async-limiter";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
-        sha512 = "jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==";
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==";
       };
     };
     "body-parser-1.18.3" = {
@@ -49,13 +49,13 @@ let
         sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
       };
     };
-    "chainpad-server-3.0.2" = {
+    "chainpad-server-3.0.3" = {
       name = "chainpad-server";
       packageName = "chainpad-server";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chainpad-server/-/chainpad-server-3.0.2.tgz";
-        sha512 = "c5aEljVAapDKKs0+Rt2jymKAszm8X4ZeLFNJj1yxflwBqoh0jr8OANYvbfjtNaYFe2Wdflp/1i4gibYX4IMc+g==";
+        url = "https://registry.npmjs.org/chainpad-server/-/chainpad-server-3.0.3.tgz";
+        sha512 = "NRfV7FFBEYy4ZVX7h0P5znu55X8v5K4iGWeMGihkfWZLKu70GmCPUTwpBCP79dUvnCToKEa4/e8aoSPcvZC8pA==";
       };
     };
     "content-disposition-0.5.2" = {
@@ -220,13 +220,13 @@ let
         sha512 = "+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==";
       };
     };
-    "graceful-fs-4.1.15" = {
+    "graceful-fs-4.2.2" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.1.15";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz";
-        sha512 = "6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha512 = "IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==";
       };
     };
     "http-errors-1.6.3" = {
@@ -364,13 +364,13 @@ let
         sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
-    "nthen-0.1.8" = {
+    "nthen-0.1.10" = {
       name = "nthen";
       packageName = "nthen";
-      version = "0.1.8";
+      version = "0.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nthen/-/nthen-0.1.8.tgz";
-        sha512 = "Oh2CwIbhj+wUT94lQV7LKmmgw3UYAGGd8oLIqp6btQN3Bz3PuWp4BuvtUo35H3rqDknjPfKx5P6mt7v+aJNjcw==";
+        url = "https://registry.npmjs.org/nthen/-/nthen-0.1.10.tgz";
+        sha512 = "W5LOhoFlQZSVg9SnRUJHgm3lOiT3HV6xq+Qo0dGKju2FWsDrKPwcgbJ9o5CORGz7UKKVhPScY9wOJHUogVG2UA==";
       };
     };
     "on-finished-2.3.0" = {
@@ -382,15 +382,6 @@ let
         sha1 = "20f1336481b083cd75337992a16971aa2d906947";
       };
     };
-    "options-0.0.6" = {
-      name = "options";
-      packageName = "options";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz";
-        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
-      };
-    };
     "parseurl-1.3.3" = {
       name = "parseurl";
       packageName = "parseurl";
@@ -418,13 +409,13 @@ let
         sha512 = "t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==";
       };
     };
-    "pull-stream-3.6.12" = {
+    "pull-stream-3.6.14" = {
       name = "pull-stream";
       packageName = "pull-stream";
-      version = "3.6.12";
+      version = "3.6.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.12.tgz";
-        sha512 = "+LO1XIVyTMmeoH26UHznpgrgX2npTVYccTkMpgk/EyiQjFt1FmoNm+w+/zMLuz9U3bpvT5sSUicMKEe/2JjgEA==";
+        url = "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.14.tgz";
+        sha512 = "KIqdvpqHHaTUA2mCYcLG1ibEbu/LCKoJZsBWyv9lSYtPkJPBq8m3Hxa103xHi6D2thj5YXa0TqK3L3GUkwgnew==";
       };
     };
     "qs-6.5.2" = {
@@ -571,15 +562,6 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "ultron-1.0.2" = {
-      name = "ultron";
-      packageName = "ultron";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz";
-        sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa";
-      };
-    };
     "ultron-1.1.1" = {
       name = "ultron";
       packageName = "ultron";
@@ -625,15 +607,6 @@ let
         sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
       };
     };
-    "ws-1.1.5" = {
-      name = "ws";
-      packageName = "ws";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz";
-        sha512 = "o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==";
-      };
-    };
     "ws-3.3.3" = {
       name = "ws";
       packageName = "ws";
@@ -646,26 +619,22 @@ let
   };
 in
 {
-  "cryptpad-git+https://github.com/xwiki-labs/cryptpad.git#2.23.0" = nodeEnv.buildNodePackage {
+  "cryptpad-git+https://github.com/xwiki-labs/cryptpad.git#2.25.0" = nodeEnv.buildNodePackage {
     name = "cryptpad";
     packageName = "cryptpad";
-    version = "2.23.0";
+    version = "2.25.0";
     src = fetchgit {
       url = "https://github.com/xwiki-labs/cryptpad.git";
-      rev = "980e3f964a5b8bcd7c33da92dbe005f42b20cb30";
-      sha256 = "a094708e4a275ee55ca3a59a2890f20f2f9f7dcfe50274b7e3ecd260502c583b";
+      rev = "0b17df3302fc4a7683a8790f305c8a2c7b1b4fe8";
+      sha256 = "261531da1745f9ff930bce3729afba2b7a52ee02f51340426ecf6b19204a21b7";
     };
     dependencies = [
       sources."accepts-1.3.7"
       sources."array-flatten-1.1.1"
-      sources."async-limiter-1.0.0"
+      sources."async-limiter-1.0.1"
       sources."body-parser-1.18.3"
       sources."bytes-3.0.0"
-      (sources."chainpad-server-3.0.2" // {
-        dependencies = [
-          sources."ws-3.3.3"
-        ];
-      })
+      sources."chainpad-server-3.0.3"
       sources."content-disposition-0.5.2"
       sources."content-type-1.0.4"
       sources."cookie-0.3.1"
@@ -684,7 +653,7 @@ in
       sources."fs-extra-7.0.1"
       sources."gar-1.0.4"
       sources."get-folder-size-2.0.1"
-      sources."graceful-fs-4.1.15"
+      sources."graceful-fs-4.2.2"
       sources."http-errors-1.6.3"
       sources."iconv-lite-0.4.23"
       sources."inherits-2.0.3"
@@ -700,13 +669,12 @@ in
       sources."mime-types-2.1.24"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
-      sources."nthen-0.1.8"
+      sources."nthen-0.1.10"
       sources."on-finished-2.3.0"
-      sources."options-0.0.6"
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-2.0.5"
-      sources."pull-stream-3.6.12"
+      sources."pull-stream-3.6.14"
       sources."qs-6.5.2"
       sources."range-parser-1.2.1"
       sources."raw-body-2.3.3"
@@ -728,11 +696,7 @@ in
       sources."unpipe-1.0.0"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
-      (sources."ws-1.1.5" // {
-        dependencies = [
-          sources."ultron-1.0.2"
-        ];
-      })
+      sources."ws-3.3.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
index 9d2b233f767b..c37d984ae121 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
@@ -1,3 +1,3 @@
 [
-  { "cryptpad": "git+https://github.com/xwiki-labs/cryptpad.git#2.23.0" }
+  { "cryptpad": "git+https://github.com/xwiki-labs/cryptpad.git#2.25.0" }
 ]
diff --git a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.nix b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.nix
index 75e28e2382e2..36c5996286ff 100644
--- a/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.nix
+++ b/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.nix
@@ -2,7 +2,7 @@
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-6_x"}:
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
diff --git a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix b/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
index 9c1e01745a8d..e848cb83c529 100644
--- a/nixpkgs/pkgs/servers/web-apps/matomo/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/moodle/default.nix b/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
new file mode 100644
index 000000000000..4f47890cc87a
--- /dev/null
+++ b/nixpkgs/pkgs/servers/web-apps/moodle/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, writeText }:
+
+let
+  version = "3.7.1";
+  stableVersion = builtins.substring 0 2 (builtins.replaceStrings ["."] [""] version);
+in
+
+stdenv.mkDerivation rec {
+  pname = "moodle";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz";
+    sha256 = "0xfriw0nfaf9hlcjviwg2acwpd192jf2ahw8sw3s6bj3pr1isxmd";
+  };
+
+  phpConfig = writeText "config.php" ''
+  <?php
+    return require(getenv('MOODLE_CONFIG'));
+  ?>
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/moodle
+    cp -r . $out/share/moodle
+    cp ${phpConfig} $out/share/moodle/config.php
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Free and open-source learning management system (LMS) written in PHP";
+    license = licenses.gpl3Plus;
+    homepage = "https://moodle.org/";
+    maintainers = with maintainers; [ aanderse ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix b/nixpkgs/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix
index c4f49b36bf80..a53c726587f2 100644
--- a/nixpkgs/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/pgpkeyserver-lite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, lib } : 
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   name = "pgpkeyserver-lite-${version}";
@@ -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/nixpkgs/pkgs/servers/web-apps/searx/default.nix b/nixpkgs/pkgs/servers/web-apps/searx/default.nix
index 59d3a387b606..6545151df230 100644
--- a/nixpkgs/pkgs/servers/web-apps/searx/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/servers/web-apps/shaarli/default.nix b/nixpkgs/pkgs/servers/web-apps/shaarli/default.nix
index 64ae1dbbe1d5..0ec31e7dc4fa 100644
--- a/nixpkgs/pkgs/servers/web-apps/shaarli/default.nix
+++ b/nixpkgs/pkgs/servers/web-apps/shaarli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "shaarli-${version}";
-  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/nixpkgs/pkgs/servers/x11/xorg/default.nix b/nixpkgs/pkgs/servers/x11/xorg/default.nix
index 3be672c29f17..66d4643de39f 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/default.nix
+++ b/nixpkgs/pkgs/servers/x11/xorg/default.nix
@@ -2159,11 +2159,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   xf86videosis = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver }: stdenv.mkDerivation {
-    name = "xf86-video-sis-0.10.9";
+    name = "xf86-video-sis-0.11.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-video-sis-0.10.9.tar.bz2;
-      sha256 = "03f1abjjf68y8y1iz768rn95va9d33wmbwfbsqrgl6k0gi0bf9jj";
+      url = mirror://xorg/individual/driver/xf86-video-sis-0.11.0.tar.bz2;
+      sha256 = "0srvrhydjnynfb7b1s145rgmsk4f71iz0ag4icpmb05944d90xr1";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
diff --git a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
index 426b848a138d..beeffc21e562 100644
--- a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
+++ b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
@@ -117,7 +117,7 @@ mirror://xorg/individual/driver/xf86-video-rendition-4.2.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-s3virge-1.11.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-savage-2.3.9.tar.bz2
 mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.9.tar.bz2
-mirror://xorg/individual/driver/xf86-video-sis-0.10.9.tar.bz2
+mirror://xorg/individual/driver/xf86-video-sis-0.11.0.tar.bz2
 mirror://xorg/individual/driver/xf86-video-sisusb-0.9.7.tar.bz2
 mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2
 mirror://xorg/individual/driver/xf86-video-sunffb-1.2.2.tar.bz2
diff --git a/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix b/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix
index 5db000e7a4a2..7e092c523493 100644
--- a/nixpkgs/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/nixpkgs/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";
-  name = "ejabberd-${version}";
+  version = "19.08";
+  pname = "ejabberd";
 
   src = fetchurl {
-    url = "https://www.process-one.net/downloads/ejabberd/${version}/${name}.tgz";
-    sha256 = "1lczck2760bcsl7vqc5xv4rizps0scdmss2zc4b1l59wzlmnfg7h";
+    url = "https://www.process-one.net/downloads/ejabberd/${version}/${pname}-${version}.tgz";
+    sha256 = "0ivkw31civcznv9k645hvrzn1yc6a4qsrsywjrakniwaaxlsnj8w";
   };
 
   nativeBuildInputs = [ fakegit ];
@@ -75,7 +75,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "1bdghq8vsr8y4rka4c8vbcmazw1avs2nlcp5id1cihvnscmyjbc3";
+    outputHash = "0h1amqp2x6ir29bdh9x8bm0abj67k81nmkqi8gidwccsa5z94s2c";
   };
 
   configureFlags =
diff --git a/nixpkgs/pkgs/servers/zoneminder/default.nix b/nixpkgs/pkgs/servers/zoneminder/default.nix
index 5a052df9e0a5..996bd6a8fb6e 100644
--- a/nixpkgs/pkgs/servers/zoneminder/default.nix
+++ b/nixpkgs/pkgs/servers/zoneminder/default.nix
@@ -146,7 +146,7 @@ in stdenv.mkDerivation rec {
     # build-time dependencies
     DateManip DBI DBDmysql LWP SysMmap
     # run-time dependencies not checked at build-time
-    ClassStdFast DataDump JSONMaybeXS LWPProtocolHttps NumberBytesHuman SysCPU SysMemInfo TimeDate
+    ClassStdFast DataDump DeviceSerialPort JSONMaybeXS LWPProtocolHttps NumberBytesHuman SysCPU SysMemInfo TimeDate
   ]);
 
   nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
diff --git a/nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix b/nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix
index 560aef16644c..90bbc5e37dd6 100644
--- a/nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix
+++ b/nixpkgs/pkgs/shells/bash/bash-5.0-patches.nix
@@ -8,4 +8,6 @@ patch: [
 (patch "005" "0xl2kyzm84nlyklrqzkn73ixabhzfhn9x91lzcmis89cppclvxav")
 (patch "006" "0844749ixk1z60437nkznzms1f0nzh9an62kj7sny6r0zyk2k1fn")
 (patch "007" "16xg37gp1b8zlj5969w8mcrparwqlcbj9695vn3qhgb7wdz1xd0p")
+(patch "008" "1qyp19krjh8zxvb0jgwmyjz40djslwcf4xi7kc1ab0iaca44bipf")
+(patch "009" "00yrjjqd95s81b21qq3ba1y7h879q8jaajlkjggc6grhcwbs4g7d")
 ]
diff --git a/nixpkgs/pkgs/shells/oil/default.nix b/nixpkgs/pkgs/shells/oil/default.nix
index 48c8fd0815ec..9f1bf3ce6af1 100644
--- a/nixpkgs/pkgs/shells/oil/default.nix
+++ b/nixpkgs/pkgs/shells/oil/default.nix
@@ -1,13 +1,12 @@
 { stdenv, lib, fetchurl }:
-let
-  version = "0.6.0";
-in
-stdenv.mkDerivation {
-  name = "oil-${version}";
+
+stdenv.mkDerivation rec {
+  pname = "oil";
+  version = "0.7.pre3";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "1dw4mgnlmaxlfygasfihgvbj32d3m9w6k5j7azb9d9lp35f3l7hl";
+    sha256 = "01zc36zaasaagr54rnh90k0j7pbnj0cc6a9pvz6gs6pk91i80lqg";
   };
 
   postPatch = ''
@@ -22,10 +21,9 @@ stdenv.mkDerivation {
   dontStrip = true;
 
   meta = {
+    description = "A new unix shell";
     homepage = https://www.oilshell.org/;
 
-    description = "A new unix shell, still in its early stages";
-
     license = with lib.licenses; [
       psfl # Includes a portion of the python interpreter and standard library
       asl20 # Licence for Oil itself
diff --git a/nixpkgs/pkgs/shells/powershell/default.nix b/nixpkgs/pkgs/shells/powershell/default.nix
index a434ef7e4fb4..3a6eb6378f0a 100644
--- a/nixpkgs/pkgs/shells/powershell/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/shells/xonsh/default.nix b/nixpkgs/pkgs/shells/xonsh/default.nix
index 2c43bb420eba..2697050144b4 100644
--- a/nixpkgs/pkgs/shells/xonsh/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/X11/nx-libs/default.nix b/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
index 516ed9da272b..b0ef813b455a 100644
--- a/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/nx-libs/default.nix
@@ -2,12 +2,12 @@
   libpng, libtool, libxml2, pkgconfig, which, xorg }:
 stdenv.mkDerivation rec {
   name = "nx-libs-${version}";
-  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/nixpkgs/pkgs/tools/X11/wpgtk/default.nix b/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
index a9ebbff8203d..496fa422877a 100644
--- a/nixpkgs/pkgs/tools/X11/wpgtk/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/X11/xcalib/default.nix b/nixpkgs/pkgs/tools/X11/xcalib/default.nix
index 2f925b11ba5c..4e400ee8a247 100644
--- a/nixpkgs/pkgs/tools/X11/xcalib/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
index c72fab015d9f..066b566be1fe 100644
--- a/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xdg-user-dirs/default.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation rec {
   buildInputs = [ libxslt docbook_xsl makeWrapper ];
 
   preFixup = ''
+    # fallback values need to be last
     wrapProgram "$out/bin/xdg-user-dirs-update" \
-      --prefix XDG_CONFIG_DIRS : "$out/etc/xdg"
+      --suffix XDG_CONFIG_DIRS : "$out/etc/xdg"
   '';
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/tools/X11/xkb-switch/default.nix b/nixpkgs/pkgs/tools/X11/xkb-switch/default.nix
index e3bbd5990757..c49a3dedb126 100644
--- a/nixpkgs/pkgs/tools/X11/xkb-switch/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xkb-switch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xkb-switch-${version}";
-  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/nixpkgs/pkgs/tools/X11/xpra/default.nix b/nixpkgs/pkgs/tools/X11/xpra/default.nix
index 863c02fb23dd..ffede7d58b22 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/default.nix
+++ b/nixpkgs/pkgs/tools/X11/xpra/default.nix
@@ -14,11 +14,11 @@ let
   xf86videodummy = callPackage ./xf86videodummy { };
 in buildPythonApplication rec {
   pname = "xpra";
-  version = "2.5";
+  version = "2.5.3";
 
   src = fetchurl {
     url = "https://xpra.org/src/${pname}-${version}.tar.xz";
-    sha256 = "0q6c7ijgpp2wk6jlh0pzqki1w60i36wyl2zfwkg0gpdh40ypab3x";
+    sha256 = "1ys35lj28903alccks9p055psy1fsk1nxi8ncchvw8bfxkkkvbys";
   };
 
   patches = [
@@ -56,7 +56,7 @@ in buildPythonApplication rec {
   propagatedBuildInputs = with python3.pkgs; [
     pillow rencode pycrypto cryptography pycups lz4 dbus-python
     netifaces numpy pygobject3 pycairo gst-python pam
-    pyopengl paramiko opencv python-uinput pyxdg
+    pyopengl paramiko opencv4 python-uinput pyxdg
     ipaddress idna
   ];
 
diff --git a/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch b/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch
index ac8107235be5..eb982682586b 100644
--- a/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch
+++ b/nixpkgs/pkgs/tools/X11/xpra/fix-paths.patch
@@ -1,15 +1,8 @@
+gdiff --git a/setup.py b/setup.py
+index 8d3df15..6156206 100755
 --- a/setup.py
 +++ b/setup.py
-@@ -1885,7 +1885,7 @@
-     if OSX:
-         pycairo = "py3cairo"
-     else:
--        pycairo = "pycairo"
-+        pycairo = "py3cairo"
-     cython_add(Extension("xpra.client.gtk3.cairo_workaround",
-                 ["xpra/client/gtk3/cairo_workaround.pyx"],
-                 **pkgconfig(pycairo)
-@@ -2363,10 +2363,7 @@
+@@ -2359,10 +2359,7 @@ if v4l2_ENABLED:
      v4l2_pkgconfig = pkgconfig()
      #fuly warning: cython makes this difficult,
      #we have to figure out if "device_caps" exists in the headers:
@@ -21,14 +14,16 @@
      kwargs = {"ENABLE_DEVICE_CAPS" : ENABLE_DEVICE_CAPS}
      make_constants("xpra", "codecs", "v4l2", "constants", **kwargs)
      cython_add(Extension("xpra.codecs.v4l2.pusher",
+diff --git a/xpra/x11/bindings/keyboard_bindings.pyx b/xpra/x11/bindings/keyboard_bindings.pyx
+index bd7023d..064c6b5 100644
 --- a/xpra/x11/bindings/keyboard_bindings.pyx
 +++ b/xpra/x11/bindings/keyboard_bindings.pyx
-@@ -19,7 +19,7 @@
- 
+@@ -21,7 +21,7 @@ from libc.stdlib cimport free, malloc
+
  DEF PATH_MAX = 1024
  DEF DFLT_XKB_RULES_FILE = b"base"
 -DEF DFLT_XKB_CONFIG_ROOT = b"/usr/share/X11/xkb"
 +DEF DFLT_XKB_CONFIG_ROOT = b"@xkeyboardconfig@/share/X11/xkb"
- 
+
  ###################################
  # Headers, python magic
diff --git a/nixpkgs/pkgs/tools/admin/acme.sh/default.nix b/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
index 3314089d746c..827a19d4bed7 100644
--- a/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
+++ b/nixpkgs/pkgs/tools/admin/acme.sh/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute, unixtools }:
 stdenv.mkDerivation rec {
   name = "acme.sh-${version}";
-  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/nixpkgs/pkgs/tools/admin/eksctl/default.nix b/nixpkgs/pkgs/tools/admin/eksctl/default.nix
index a5e2df9ad212..aaf59d72f980 100644
--- a/nixpkgs/pkgs/tools/admin/eksctl/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix b/nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix
index ec31d3ebbe93..37a27127bab0 100644
--- a/nixpkgs/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/nixpkgs/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 {
-  name = "gtk-vnc-${version}";
-  version = "0.9.0";
+  pname = "gtk-vnc";
+  version = "1.0.0";
 
   outputs = [ "out" "bin" "man" "dev" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtk-vnc/${stdenv.lib.versions.majorMinor version}/${name}.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/nixpkgs/pkgs/tools/admin/lego/default.nix b/nixpkgs/pkgs/tools/admin/lego/default.nix
index 688ff3c7ca08..bf4261682cf9 100644
--- a/nixpkgs/pkgs/tools/admin/lego/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/admin/lxd/default.nix b/nixpkgs/pkgs/tools/admin/lxd/default.nix
index 9d55e6bdefad..3c50a7948d90 100644
--- a/nixpkgs/pkgs/tools/admin/lxd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/backup/borg/default.nix b/nixpkgs/pkgs/tools/backup/borg/default.nix
index beb3db5e78b3..593056f403ed 100644
--- a/nixpkgs/pkgs/tools/backup/borg/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/backup/partimage/default.nix b/nixpkgs/pkgs/tools/backup/partimage/default.nix
index a2e962d7f855..4a18deeb57c8 100644
--- a/nixpkgs/pkgs/tools/backup/partimage/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/backup/wal-e/default.nix b/nixpkgs/pkgs/tools/backup/wal-e/default.nix
index 3b66ac1b491f..42a3f51ee609 100644
--- a/nixpkgs/pkgs/tools/backup/wal-e/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/compression/xar/default.nix b/nixpkgs/pkgs/tools/compression/xar/default.nix
index 3421045fe4c6..a794296bfd95 100644
--- a/nixpkgs/pkgs/tools/compression/xar/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/compression/zstd/default.nix b/nixpkgs/pkgs/tools/compression/zstd/default.nix
index 257396e04289..5a153393ccdb 100644
--- a/nixpkgs/pkgs/tools/compression/zstd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
index e3ee04f6e2ea..95923f202cf4 100644
--- a/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/nixpkgs/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "bcachefs-tools";
-  version = "2019-07-13";
+  version = "2019-08-21";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs-tools.git";
-    rev = "692eadd6ca9b45f12971126b326b6a89d7117e67";
-    sha256 = "0d2kqy5p89qjrk38iqfk9zsh14c2x40d21kic9kcybdhalfq5q31";
+    rev = "72a408f84846fe702b8db4f158b678ee20bbf835";
+    sha256 = "0y5700afv1x1i3wnp3g71i3zhyhkwmx79j0irxr63fmg47n0ys1i";
   };
 
   enableParallelBuilding = true;
diff --git a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix b/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
index e915cc1c132a..606e41e582ee 100644
--- a/nixpkgs/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch b/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
index f679fb8f4c1b..f08d73cf3a65 100644
--- a/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-fix-bug-1489610-glusterfind-var-data-under-prefix.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch b/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-glusterfind-log-remote-node_cmd-error.patch
deleted file mode 100644
index 8bc00fdbf75c..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch b/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-python-remove-find_library.patch
deleted file mode 100644
index 4757f2fce771..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch b/nixpkgs/pkgs/tools/filesystems/glusterfs/glusterfs-use-PATH-instead-of-hardcodes.patch
deleted file mode 100644
index acb15464e48f..000000000000
--- a/nixpkgs/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/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix b/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
index b66257f442ea..23a1f26db976 100644
--- a/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
+++ b/nixpkgs/pkgs/tools/graphics/argyllcms/default.nix
@@ -115,7 +115,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/nixpkgs/pkgs/tools/graphics/scrot/default.nix b/nixpkgs/pkgs/tools/graphics/scrot/default.nix
index 035e135a2e40..2f4862b06458 100644
--- a/nixpkgs/pkgs/tools/graphics/scrot/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 3f2ab1fc96a9..8e34cb860a65 100644
--- a/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/nixpkgs/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchFromGitHub
 , autoreconfHook, docbook2x, pkgconfig
 , gtk3, dconf, gobject-introspection
-, ibus, python3 }:
+, ibus, python3, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
-  name = "ibus-table-${version}";
+  pname = "ibus-table";
   version = "1.9.21";
 
   src = fetchFromGitHub {
@@ -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/nixpkgs/pkgs/tools/misc/3llo/Gemfile b/nixpkgs/pkgs/tools/misc/3llo/Gemfile
new file mode 100644
index 000000000000..17a1086d78f0
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/3llo/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem '3llo', '0.3.0'
diff --git a/nixpkgs/pkgs/tools/misc/3llo/Gemfile.lock b/nixpkgs/pkgs/tools/misc/3llo/Gemfile.lock
new file mode 100644
index 000000000000..0696ba341651
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/3llo/Gemfile.lock
@@ -0,0 +1,27 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    3llo (0.3.0)
+      tty-prompt (~> 0.12.0)
+    equatable (0.6.1)
+    necromancer (0.4.0)
+    pastel (0.7.3)
+      equatable (~> 0.6)
+      tty-color (~> 0.5)
+    tty-color (0.5.0)
+    tty-cursor (0.4.0)
+    tty-prompt (0.12.0)
+      necromancer (~> 0.4.0)
+      pastel (~> 0.7.0)
+      tty-cursor (~> 0.4.0)
+      wisper (~> 1.6.1)
+    wisper (1.6.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  3llo (= 0.3.0)
+
+BUNDLED WITH
+   1.17.2
diff --git a/nixpkgs/pkgs/tools/misc/3llo/default.nix b/nixpkgs/pkgs/tools/misc/3llo/default.nix
new file mode 100644
index 000000000000..1f59d1f16a78
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/3llo/default.nix
@@ -0,0 +1,31 @@
+{ lib, ruby, bundlerApp, fetchpatch }:
+
+bundlerApp {
+  pname = "3llo";
+
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+
+  gemset = lib.recursiveUpdate (import ./gemset.nix) ({
+    "3llo" = {
+      dontBuild = false;
+      patches = [
+        (fetchpatch {
+          url = https://github.com/qcam/3llo/commit/7667c67fdc975bac315da027a3c69f49e7c06a2e.patch;
+          sha256 = "0ahp19igj77x23b2j9zk3znlmm7q7nija7mjgsmgqkgfbz2r1y7v";
+        })
+      ];
+    };
+  });
+
+  inherit ruby;
+
+  exes = [ "3llo" ];
+
+  meta = with lib; {
+    description = "Trello interactive CLI on terminal";
+    license = licenses.mit;
+    homepage = https://github.com/qcam/3llo;
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/3llo/gemset.nix b/nixpkgs/pkgs/tools/misc/3llo/gemset.nix
new file mode 100644
index 000000000000..5c50ea9b2122
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/3llo/gemset.nix
@@ -0,0 +1,85 @@
+{
+  "3llo" = {
+    dependencies = ["tty-prompt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "082g42lkkynnb2piz37ih696zm2ms63mz2q9rnfzjsd149ig39yy";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
+  equatable = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fzx2ishipnp6c124ka6fiw5wk42s7c7gxid2c4c1mb55b30dglf";
+      type = "gem";
+    };
+    version = "0.6.1";
+  };
+  necromancer = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
+  pastel = {
+    dependencies = ["equatable" "tty-color"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m43wk7gswwkl6lfxwlliqc9v1qp8arfygihyz91jc9icf270xzm";
+      type = "gem";
+    };
+    version = "0.7.3";
+  };
+  tty-color = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zpp6zixkkchrc2lqnabrsy24pxikz2px87ggz5ph6355fs803da";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
+  tty-cursor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "07whfm8mnp7l49s2cm2qy1snhsqq3a90sqwb71gvym4hm2kx822a";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
+  tty-prompt = {
+    dependencies = ["necromancer" "pastel" "tty-cursor" "wisper"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1026nyqhgmgxi2nmk8xk3hca07gy5rpisjs8y6w00wnw4f01kpv0";
+      type = "gem";
+    };
+    version = "0.12.0";
+  };
+  wisper = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19bw0z1qw1dhv7gn9lad25hgbgpb1bkw8d599744xdfam158ms2s";
+      type = "gem";
+    };
+    version = "1.6.1";
+  };
+}
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/misc/autorandr/default.nix b/nixpkgs/pkgs/tools/misc/autorandr/default.nix
index 423fc9d85350..3b3a96e8b6e1 100644
--- a/nixpkgs/pkgs/tools/misc/autorandr/default.nix
+++ b/nixpkgs/pkgs/tools/misc/autorandr/default.nix
@@ -51,11 +51,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/nixpkgs/pkgs/tools/misc/calamares/default.nix b/nixpkgs/pkgs/tools/misc/calamares/default.nix
index 8a269e3eb4b3..61d0bf60a4d6 100644
--- a/nixpkgs/pkgs/tools/misc/calamares/default.nix
+++ b/nixpkgs/pkgs/tools/misc/calamares/default.nix
@@ -7,12 +7,12 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "calamares";
-  version = "3.2.8";
+  version = "3.2.11";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "1ymyl12fzxc5jjfbw4pfmgzp036w0dai76f7anilw2bnwfzq5g62";
+    sha256 = "1djrc8p6kll8szycyj86v02jphiw2xwfhn563siykphfqr0jknlw";
   };
 
   buildInputs = [
diff --git a/nixpkgs/pkgs/tools/misc/ckb-next/default.nix b/nixpkgs/pkgs/tools/misc/ckb-next/default.nix
index fdb0f008a6cb..e913d5176839 100644
--- a/nixpkgs/pkgs/tools/misc/ckb-next/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ckb-next/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, substituteAll, udev
+{ stdenv, mkDerivation, fetchFromGitHub, substituteAll, udev
 , pkgconfig, qtbase, cmake, zlib, kmod }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   version = "0.3.2";
   name = "ckb-next-${version}";
 
@@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
     cmake
   ];
 
+  cmakeFlags = [
+    "-DINSTALL_DIR_ANIMATIONS=libexec"
+  ];
+
   patches = [
     ./install-dirs.patch
     ./systemd-service.patch
diff --git a/nixpkgs/pkgs/tools/misc/claws/default.nix b/nixpkgs/pkgs/tools/misc/claws/default.nix
new file mode 100644
index 000000000000..10347e6e794d
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/claws/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "claws";
+  version = "0.3.2";
+
+  goPackagePath = "github.com/thehowl/${pname}";
+
+  src = fetchFromGitHub {
+    rev = version;
+    owner = "thehowl";
+    repo = pname;
+    sha256 = "0nl7xvdivnabqr98mh3m1pwqznprsaqpagny6zcwwmz480x4pmfz";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/thehowl/claws";
+    description = "Interactive command line client for testing websocket servers";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ petabyteboy ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/dynamic-colors/default.nix b/nixpkgs/pkgs/tools/misc/dynamic-colors/default.nix
index e2f2f51ccfb9..6cb01f14a2c0 100644
--- a/nixpkgs/pkgs/tools/misc/dynamic-colors/default.nix
+++ b/nixpkgs/pkgs/tools/misc/dynamic-colors/default.nix
@@ -1,38 +1,26 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "dynamic-colors-${version}";
-  version = "0.2.2.1";
+  pname = "dynamic-colors";
+  version = "0.2.2.2";
 
   src = fetchFromGitHub {
     owner  = "peterhoeg";
     repo   = "dynamic-colors";
     rev    = "v${version}";
-    sha256 = "0qz76n5sspgpz6bz66jfkyr42da3skbpw9wbvxgm3ha343azfaiw";
+    sha256 = "0i63570z9aqbxa8ixh4ayb3akgjdnlqyl2sbf9d7x8f1pxhk5kd5";
   };
 
-  dontBuild = true;
-  dontStrip = true;
+  PREFIX = placeholder "out";
 
-  installPhase = ''
-    mkdir -p \
-      $out/bin \
-      $out/share/dynamic-colors/colorschemes \
-      $out/share/bash-completion/completions \
-      $out/share/zsh/site-packages
-
-    install -m755 bin/dynamic-colors              $out/bin/
-    install -m644 completions/dynamic-colors.bash $out/share/bash-completion/completions/dynamic-colors
-    install -m644 completions/dynamic-colors.zsh  $out/share/zsh/site-packages/_dynamic-colors
-    install -m644 colorschemes/*               -t $out/share/dynamic-colors/colorschemes
-
-    substituteInPlace $out/bin/dynamic-colors \
+  postPatch = ''
+    substituteInPlace bin/dynamic-colors \
       --replace /usr/share/dynamic-colors $out/share/dynamic-colors
   '';
 
   meta = with stdenv.lib; {
     description = "Change terminal colors on the fly";
-    homepage    = https://github.com/peterhoeg/dynamic-colors;
+    homepage    = "https://github.com/peterhoeg/dynamic-colors";
     license     = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms   = platforms.unix;
diff --git a/nixpkgs/pkgs/tools/misc/exa/default.nix b/nixpkgs/pkgs/tools/misc/exa/default.nix
index 7c43638ea562..1447c70412b6 100644
--- a/nixpkgs/pkgs/tools/misc/exa/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/fd/default.nix b/nixpkgs/pkgs/tools/misc/fd/default.nix
index 64bceb355a29..91c1b3b70719 100644
--- a/nixpkgs/pkgs/tools/misc/fd/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/ffsend/default.nix b/nixpkgs/pkgs/tools/misc/ffsend/default.nix
index 22697cfb24d3..73734ee5ea0f 100644
--- a/nixpkgs/pkgs/tools/misc/ffsend/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ffsend/default.nix
@@ -16,16 +16,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.49";
+  version = "0.2.50";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "08x0kakhn75yzajxpvpdp1ml9z77i2x2k02kqcx3ssr6mbc7xnpf";
+    sha256 = "06virzmg3prvwk5gilr19qrpi93wvv7jq096kgsbn3rmnv3ys1zh";
   };
 
-  cargoSha256 = "1dmkij25gj0ya1i6h5l7pkjnqvj02zvsx15hddbjn1q06pihcsjm";
+  cargoSha256 = "1g72nz3nha41cvsb514z4k78yw7xcsh3nm0bl2wqy9dvdzgp1lm1";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ]
diff --git a/nixpkgs/pkgs/tools/misc/fpp/default.nix b/nixpkgs/pkgs/tools/misc/fpp/default.nix
index 6271eb599b58..8b7c2b430882 100644
--- a/nixpkgs/pkgs/tools/misc/fpp/default.nix
+++ b/nixpkgs/pkgs/tools/misc/fpp/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, python27 }:
+{ stdenv, fetchFromGitHub, python3 }:
 
 stdenv.mkDerivation rec {
   name = "fpp-${version}";
-  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/nixpkgs/pkgs/tools/misc/geekbench/default.nix b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
index fddb1c99634d..d71227ae8f53 100644
--- a/nixpkgs/pkgs/tools/misc/geekbench/default.nix
+++ b/nixpkgs/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "geekbench-${version}";
-  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/nixpkgs/pkgs/tools/misc/grc/default.nix b/nixpkgs/pkgs/tools/misc/grc/default.nix
index 451828b0f47b..828d4e4dab78 100644
--- a/nixpkgs/pkgs/tools/misc/grc/default.nix
+++ b/nixpkgs/pkgs/tools/misc/grc/default.nix
@@ -1,8 +1,9 @@
-{ stdenv, fetchFromGitHub, python3Packages, makeWrapper }:
+{ stdenv, fetchFromGitHub, python3Packages }:
 
-stdenv.mkDerivation rec {
-  name    = "grc-${version}";
+python3Packages.buildPythonApplication rec {
+  pname = "grc";
   version = "1.11.3";
+  format = "other";
 
   src = fetchFromGitHub {
     owner  = "garabik";
@@ -11,22 +12,18 @@ stdenv.mkDerivation rec {
     sha256 = "0b3wx9zr7l642hizk93ysbdss7rfymn22b2ykj4kpkf1agjkbv35";
   };
 
-  buildInputs = with python3Packages; [ wrapPython makeWrapper ];
+  postPatch = ''
+    for f in grc grcat; do
+      substituteInPlace $f \
+        --replace /usr/local/ $out/
+    done
+  '';
 
   installPhase = ''
     runHook preInstall
 
     ./install.sh "$out" "$out"
-
-    for f in $out/bin/* ; do
-      patchPythonScript $f
-      substituteInPlace $f \
-        --replace ' /usr/bin/env python3' '${python3Packages.python.interpreter}' \
-        --replace "'/etc/grc.conf'"   "'$out/etc/grc.conf'" \
-        --replace "'/usr/share/grc/'" "'$out/share/grc/'"
-      wrapProgram $f \
-        --prefix PATH : $out/bin
-    done
+    install -Dm444 -t $out/share/zsh/vendor-completions _grc
 
     runHook postInstall
   '';
diff --git a/nixpkgs/pkgs/tools/misc/ix/default.nix b/nixpkgs/pkgs/tools/misc/ix/default.nix
new file mode 100644
index 000000000000..fdbd7611dce5
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/ix/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, makeWrapper, curl }:
+
+stdenv.mkDerivation rec {
+  pname = "ix";
+  version = "20190815";
+
+  src = fetchurl {
+    url = "http://ix.io/client";
+    sha256 =  "0xc2s4s1aq143zz8lgkq5k25dpf049dw253qxiav5k7d7qvzzy57";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phases = [ "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    install -Dm +x $src $out/bin/ix
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/ix --prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://ix.io";
+    description = "Command line pastebin";
+    maintainers = with maintainers; [ asymmetric ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/kanshi/default.nix b/nixpkgs/pkgs/tools/misc/kanshi/default.nix
index dac3b0c2c32b..d3e0ba029f3f 100644
--- a/nixpkgs/pkgs/tools/misc/kanshi/default.nix
+++ b/nixpkgs/pkgs/tools/misc/kanshi/default.nix
@@ -1,40 +1,33 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, udev }:
-rustPlatform.buildRustPackage 
-{
-  pname = "kanshi-unstable";
-  version = "2019-02-02";
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, scdoc, wayland }:
+
+stdenv.mkDerivation rec {
+  pname = "kanshi";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = "kanshi";
-    rev = "970267e400c21a6bb51a1c80a0aadfd1e6660a7b";
-    sha256 = "10lfdan86bmwazpma6ixnv46z9cnf879gxln8gx87v7a1x3ss0bh";
+    rev = "v${version}";
+    sha256 = "0v50q1s105c2rar6mi1pijm8llsnsp62gv4swd3ddjn5rwallg46";
   };
 
-  buildInputs = [ pkgconfig udev ];
-
-  cargoSha256 = "0pvkrdjrg9y38vsrqkrvsknzp78sknpmq14rskvij450a9mpihii";
+  nativeBuildInputs = [ meson ninja pkgconfig scdoc ];
+  buildInputs = [ wayland ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Dynamic display configuration tool";
-    longDescription = 
-    ''
-    Kanshi uses a configuration file and a list of available displays to choose 
-    the right settings for each display. It's useful if your window manager 
-    doesn't support multiple display configurations (e.g. i3/Sway).
-    
-    For now, it only supports:
-    - sysfs as backend
-    - udev as notifier (optional)
-    - Configuration file
-      - GNOME (~/.config/monitors.xml)
-      - Kanshi (see below)
-    - Sway as frontend
+    longDescription = ''
+      kanshi allows you to define output profiles that are automatically enabled
+      and disabled on hotplug. For instance, this can be used to turn a laptop's
+      internal screen off when docked.
+
+      kanshi can be used on Wayland compositors supporting the
+      wlr-output-management protocol.
     '';
     homepage = "https://github.com/emersion/kanshi";
     downloadPage = "https://github.com/emersion/kanshi";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.balsoft ];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ balsoft ];
+    platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/lazydocker/default.nix b/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
index ea8f781e4055..a8ca200129a0 100644
--- a/nixpkgs/pkgs/tools/misc/lazydocker/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix b/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix
index 18177c0a7e30..8009fe563ee1 100644
--- a/nixpkgs/pkgs/tools/misc/libbitcoin/libbitcoin.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/ncdu/default.nix b/nixpkgs/pkgs/tools/misc/ncdu/default.nix
index bb7924515647..6b2e7d681706 100644
--- a/nixpkgs/pkgs/tools/misc/ncdu/default.nix
+++ b/nixpkgs/pkgs/tools/misc/ncdu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ncdu-${version}";
-  version = "1.14";
+  version = "1.14.1";
 
   src = fetchurl {
     url = "https://dev.yorhel.nl/download/${name}.tar.gz";
-    sha256 = "0i4cap2z3037xx2rdzhrlazl2igk3xy4ncddp9j7xqi1mcx7i566";
+    sha256 = "0gp1aszzrh8b6fhv8fspvkmr0qwc55z6z4w6l7r8j09sq7lf0cdy";
   };
 
   buildInputs = [ ncurses ];
diff --git a/nixpkgs/pkgs/tools/misc/osinfo-db-tools/default.nix b/nixpkgs/pkgs/tools/misc/osinfo-db-tools/default.nix
index 9b45680ffca2..0b7a7826a972 100644
--- a/nixpkgs/pkgs/tools/misc/osinfo-db-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/qt5ct/default.nix b/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
index 9069821fe354..fbb56b98be77 100644
--- a/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
+++ b/nixpkgs/pkgs/tools/misc/qt5ct/default.nix
@@ -15,6 +15,11 @@ mkDerivation rec {
 
   buildInputs = [ qtbase ];
 
+  # Wayland needs to know the desktop file name in order to show the app name and icon.
+  # Patch has been upstreamed and can be removed in the future.
+  # See: https://sourceforge.net/p/qt5ct/code/549/
+  patches = [ ./wayland.patch ];
+
   qmakeFlags = [
     "LRELEASE_EXECUTABLE=${getDev qttools}/bin/lrelease"
   ];
diff --git a/nixpkgs/pkgs/tools/misc/qt5ct/wayland.patch b/nixpkgs/pkgs/tools/misc/qt5ct/wayland.patch
new file mode 100644
index 000000000000..fe186cfa4692
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/qt5ct/wayland.patch
@@ -0,0 +1,22 @@
+--- a/src/qt5ct/main.cpp
++++ b/src/qt5ct/main.cpp
+@@ -29,14 +29,18 @@
+ #include <QApplication>
+ #include <QLibraryInfo>
+ #include <QLocale>
+-#include "qt5ct.h"
++#include <QtGlobal>
+ #include <QTranslator>
+ #include <QtDebug>
++#include "qt5ct.h"
+ #include "mainwindow.h"
+ 
+ int main(int argc, char **argv)
+ {
+     QApplication app(argc, argv);
++#if (QT_VERSION >= QT_VERSION_CHECK(5, 7, 0))
++    QGuiApplication::setDesktopFileName("qt5ct.desktop");
++#endif
+     QTranslator translator;
+     QString locale = Qt5CT::systemLanguageID();
+     translator.load(QString(":/qt5ct_") + locale);
\ No newline at end of file
diff --git a/nixpkgs/pkgs/tools/misc/riemann-c-client/default.nix b/nixpkgs/pkgs/tools/misc/riemann-c-client/default.nix
index 970cf28c26d7..69bf9cafa536 100644
--- a/nixpkgs/pkgs/tools/misc/riemann-c-client/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/shallot/default.nix b/nixpkgs/pkgs/tools/misc/shallot/default.nix
index 6c757ca224a9..ced15038b0c1 100644
--- a/nixpkgs/pkgs/tools/misc/shallot/default.nix
+++ b/nixpkgs/pkgs/tools/misc/shallot/default.nix
@@ -1,12 +1,10 @@
-{ 
-  stdenv, fetchFromGitHub,
-  openssl
+{ stdenv, fetchFromGitHub, fetchpatch
+, openssl
 }:
 
-let 
+stdenv.mkDerivation rec {
+  pname = "shallot";
   version = "0.0.3";
-in stdenv.mkDerivation {
-  name = "shallot-${version}";
 
   src = fetchFromGitHub {
     owner = "katmagic";
@@ -17,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/nixpkgs/pkgs/tools/misc/starship/default.nix b/nixpkgs/pkgs/tools/misc/starship/default.nix
index 26834241befc..e0bd36b21952 100644
--- a/nixpkgs/pkgs/tools/misc/starship/default.nix
+++ b/nixpkgs/pkgs/tools/misc/starship/default.nix
@@ -2,19 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.10.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = "starship";
     rev = "v${version}";
-    sha256 = "045lq4nsrdssmqbcj0551f2c5qd2rcvhs8gr4p4iniv7s89yz1xl";
+    sha256 = "0zq99ll0vyafr2piffazprhvbs3sxb6863cp2qw596ilqg7ffi04";
   };
 
   buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
   nativeBuildInputs = [ pkgconfig ];
 
-  cargoSha256 = "126y8q19qr37wrj6x4hqh0v7nqr9yfrycwqfgdlaw6i33gb0qam9";
+  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";
diff --git a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
index 5502f2542f12..15b8f1bf3b42 100644
--- a/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/nixpkgs/pkgs/tools/misc/svtplay-dl/default.nix
@@ -1,27 +1,24 @@
 { stdenv, fetchFromGitHub, makeWrapper, python3Packages, perl, zip
-, rtmpdump, gitMinimal }:
+, gitMinimal }:
 
 let
   inherit (python3Packages) python nose pycrypto pyyaml requests mock;
 in stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "1cnc32gbhs955391hs1x1jpjsl3b6pqy7ysdydmp9q1i2rw105ln";
+    sha256 = "02yjz17x8dl5spn7mcbj1ji7vsyx0qwwa60zqyrdxpr03g1rnhdz";
   };
 
   pythonPaths = [ pycrypto pyyaml requests ];
-  buildInputs = [ python perl nose mock rtmpdump makeWrapper ] ++ pythonPaths;
+  buildInputs = [ python perl nose mock makeWrapper ] ++ pythonPaths;
   nativeBuildInputs = [ gitMinimal zip ];
 
   postPatch = ''
-    substituteInPlace lib/svtplay_dl/fetcher/rtmp.py \
-      --replace '"rtmpdump"' '"${rtmpdump}/bin/rtmpdump"'
-
     substituteInPlace scripts/run-tests.sh \
       --replace 'PYTHONPATH=lib' 'PYTHONPATH=lib:$PYTHONPATH'
   '';
diff --git a/nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix b/nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix
index 9b587c271546..8cbea666f123 100644
--- a/nixpkgs/pkgs/tools/misc/thin-provisioning-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/uhubctl/default.nix b/nixpkgs/pkgs/tools/misc/uhubctl/default.nix
new file mode 100644
index 000000000000..5c858944b3fe
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/unclutter-xfixes/default.nix b/nixpkgs/pkgs/tools/misc/unclutter-xfixes/default.nix
index 8e2342f4269e..7d2e5e0c367d 100644
--- a/nixpkgs/pkgs/tools/misc/unclutter-xfixes/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix b/nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix
index b3b1b4b310a7..8f79f5463e30 100644
--- a/nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/nixpkgs/pkgs/tools/misc/vdirsyncer/default.nix
@@ -8,17 +8,18 @@ python3Packages.buildPythonApplication rec {
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
-    owner = "pimutils";
+    owner = "spk";
     repo = pname;
-    rev = "ac45cf144b0ceb72cc2a9f454808688f3ac9ba4f";
-    sha256 = "0hqsjdpgvm7d34q5b2hzmrzfxk43ald1bx22mvgg559kw1ck54s9";
+    # fix-build-style branch, see https://github.com/pimutils/vdirsyncer/pull/798
+    rev = "2c62d03bd73f8b44a47c2e769ade046697896ae9";
+    sha256 = "1q6xvzz5rf5sqdaj3mdvhpgwy5b16isavgg7vardgjwqwv1yal28";
   };
 
   native = rustPlatform.buildRustPackage {
     name = "${name}-native";
     inherit src;
     sourceRoot = "source/rust";
-    cargoSha256 = "1qziwlf6nlkpxb1hamb7qsipqg9ibp871rimgpwil38vqmyd570s";
+    cargoSha256 = "1n1dxq3klsry5mmbfff2jv7ih8mr5zvpncrdgba6qs93wi77qi0y";
     buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
   };
 
@@ -36,18 +37,6 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ];
 
-  patches = [
-    # Fixes for hypothesis: https://github.com/pimutils/vdirsyncer/pull/779
-    (fetchpatch {
-      url = https://github.com/pimutils/vdirsyncer/commit/22ad88a6b18b0979c5d1f1d610c1d2f8f87f4b89.patch;
-      sha256 = "0dbzj6jlxhdidnm3i21a758z83sdiwzhpd45pbkhycfhgmqmhjpl";
-    })
-    (fetchpatch {
-      url = https://github.com/pimutils/vdirsyncer/commit/29417235321c249c65904bc7948b066ef5683aee.patch;
-      sha256 = "0zvr0y88gm3vprjcdzs4m151laa9qhkyi61rvrfdjmf42fwhbm80";
-    })
-  ];
-
   postPatch = ''
     # Invalid argument: 'perform_health_check' is not a valid setting
     substituteInPlace tests/conftest.py \
@@ -74,7 +63,7 @@ python3Packages.buildPythonApplication rec {
   meta = with stdenv.lib; {
     homepage = https://github.com/pimutils/vdirsyncer;
     description = "Synchronize calendars and contacts";
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ matthiasbeyer gebner ];
     license = licenses.mit;
   };
 }
diff --git a/nixpkgs/pkgs/tools/misc/vfdecrypt/default.nix b/nixpkgs/pkgs/tools/misc/vfdecrypt/default.nix
deleted file mode 100644
index 83b91f6203ed..000000000000
--- a/nixpkgs/pkgs/tools/misc/vfdecrypt/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchFromGitHub, openssl }:
-
-stdenv.mkDerivation rec {
-  name = "vfdecrypt-${version}";
-  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/nixpkgs/pkgs/tools/misc/wev/default.nix b/nixpkgs/pkgs/tools/misc/wev/default.nix
new file mode 100644
index 000000000000..fa69cc4445ee
--- /dev/null
+++ b/nixpkgs/pkgs/tools/misc/wev/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl
+, pkg-config, scdoc
+, wayland, wayland-protocols, libxkbcommon
+}:
+
+let
+  version = "2019-08-11";
+  commit = "47d17393473be152cf601272faf5704fff1c3f92";
+in stdenv.mkDerivation {
+  pname = "wev-unstable";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://git.sr.ht/~sircmpwn/wev/archive/${commit}.tar.gz";
+    sha256 = "0a5kvrviz77bf7357gqs2iy7a1bvb3izgkmiv1rdxzzmihd563ga";
+  };
+
+  nativeBuildInputs = [ pkg-config scdoc ];
+  buildInputs = [ wayland wayland-protocols libxkbcommon ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Wayland event viewer";
+    longDescription = ''
+      This is a tool for debugging events on a Wayland window, analagous to the
+      X11 tool xev.
+    '';
+    homepage = https://git.sr.ht/~sircmpwn/wev;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/misc/yank/default.nix b/nixpkgs/pkgs/tools/misc/yank/default.nix
index 0e88e79eb1ba..9fb5399fd724 100644
--- a/nixpkgs/pkgs/tools/misc/yank/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix b/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix
index 44b2f3451c1d..810c2f49a5ec 100644
--- a/nixpkgs/pkgs/tools/misc/yubikey-manager-qt/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/arping/default.nix b/nixpkgs/pkgs/tools/networking/arping/default.nix
index 4358d22142d9..5d1ebc748003 100644
--- a/nixpkgs/pkgs/tools/networking/arping/default.nix
+++ b/nixpkgs/pkgs/tools/networking/arping/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchFromGitHub, autoreconfHook, libnet, libpcap }:
 
 stdenv.mkDerivation rec {
-  version = "2.19";
-  name = "arping-${version}";
+  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/nixpkgs/pkgs/tools/networking/chrony/default.nix b/nixpkgs/pkgs/tools/networking/chrony/default.nix
index 33f004190e40..127244a29927 100644
--- a/nixpkgs/pkgs/tools/networking/chrony/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix b/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix
index 315e12cc155e..bcc1f39e8fd3 100644
--- a/nixpkgs/pkgs/tools/networking/dnsmasq/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/dsniff/default.nix b/nixpkgs/pkgs/tools/networking/dsniff/default.nix
index 50a3c98af0f7..9ddc1a35ce37 100644
--- a/nixpkgs/pkgs/tools/networking/dsniff/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/httping/default.nix b/nixpkgs/pkgs/tools/networking/httping/default.nix
index abde3f2a380d..1a6aeb57ab87 100644
--- a/nixpkgs/pkgs/tools/networking/httping/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/httplz/cargo-lock.patch b/nixpkgs/pkgs/tools/networking/httplz/cargo-lock.patch
index aa161460904b..f88998902c58 100644
--- a/nixpkgs/pkgs/tools/networking/httplz/cargo-lock.patch
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/httplz/default.nix b/nixpkgs/pkgs/tools/networking/httplz/default.nix
index f8ea5f2dae62..b7ee85da9d8d 100644
--- a/nixpkgs/pkgs/tools/networking/httplz/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/mailsend/default.nix b/nixpkgs/pkgs/tools/networking/mailsend/default.nix
index 642fd739335a..c888f354eae7 100644
--- a/nixpkgs/pkgs/tools/networking/mailsend/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix b/nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix
index ae8d3d964832..c3a076076f14 100644
--- a/nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix
+++ b/nixpkgs/pkgs/tools/networking/memtier-benchmark/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "memtier-benchmark-${version}";
-  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/nixpkgs/pkgs/tools/networking/mtr/default.nix b/nixpkgs/pkgs/tools/networking/mtr/default.nix
index d00e37372378..1acd513be31f 100644
--- a/nixpkgs/pkgs/tools/networking/mtr/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/network-manager/applet.nix b/nixpkgs/pkgs/tools/networking/network-manager/applet.nix
index f7df0740ba17..0fb11e1b0ebb 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/applet.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/network-manager/default.nix b/nixpkgs/pkgs/tools/networking/network-manager/default.nix
index c0e29c6538be..95d37e164788 100644
--- a/nixpkgs/pkgs/tools/networking/network-manager/default.nix
+++ b/nixpkgs/pkgs/tools/networking/network-manager/default.nix
@@ -120,7 +120,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/nixpkgs/pkgs/tools/networking/nfdump/default.nix b/nixpkgs/pkgs/tools/networking/nfdump/default.nix
index 5ad3adfc9153..977683f26ccb 100644
--- a/nixpkgs/pkgs/tools/networking/nfdump/default.nix
+++ b/nixpkgs/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 {
   name = "nfdump-${version}";
@@ -11,7 +11,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/nixpkgs/pkgs/tools/networking/ofono/0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch b/nixpkgs/pkgs/tools/networking/ofono/0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch
new file mode 100644
index 000000000000..eb97209a693e
--- /dev/null
+++ b/nixpkgs/pkgs/tools/networking/ofono/0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch
@@ -0,0 +1,120 @@
+From 0e0994c9716700c9484b3dccb25f98a9a59d1744 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Fri, 23 Aug 2019 18:42:51 +0200
+Subject: [PATCH] Search connectors in OFONO_PLUGIN_PATH
+
+Previously, the connectors would only be looked for in a single
+directory, specified during compilation. This patch allows to
+traverse a list of directories provided by an environment variable.
+---
+ src/plugin.c | 77 ++++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 50 insertions(+), 27 deletions(-)
+
+diff --git a/src/plugin.c b/src/plugin.c
+index 924a45ec..f05055c3 100644
+--- a/src/plugin.c
++++ b/src/plugin.c
+@@ -99,35 +99,12 @@ static gboolean check_plugin(struct ofono_plugin_desc *desc,
+ 	return TRUE;
+ }
+ 
+-#include "builtin.h"
+-
+-int __ofono_plugin_init(const char *pattern, const char *exclude)
+-{
+-	gchar **patterns = NULL;
+-	gchar **excludes = NULL;
+-	GSList *list;
+-	GDir *dir;
++static handle_dir(const gchar *plugin_path, const gchar **patterns, const gchar **excludes) {
+ 	const gchar *file;
+ 	gchar *filename;
+-	unsigned int i;
+-
+-	DBG("");
+-
+-	if (pattern)
+-		patterns = g_strsplit_set(pattern, ":, ", -1);
+-
+-	if (exclude)
+-		excludes = g_strsplit_set(exclude, ":, ", -1);
+-
+-	for (i = 0; __ofono_builtin[i]; i++) {
+-		if (check_plugin(__ofono_builtin[i],
+-					patterns, excludes) == FALSE)
+-			continue;
+-
+-		add_plugin(NULL, __ofono_builtin[i]);
+-	}
++	GDir *dir;
+ 
+-	dir = g_dir_open(PLUGINDIR, 0, NULL);
++	dir = g_dir_open(plugin_path, 0, NULL);
+ 	if (dir != NULL) {
+ 		while ((file = g_dir_read_name(dir)) != NULL) {
+ 			void *handle;
+@@ -137,7 +114,7 @@ int __ofono_plugin_init(const char *pattern, const char *exclude)
+ 					g_str_has_suffix(file, ".so") == FALSE)
+ 				continue;
+ 
+-			filename = g_build_filename(PLUGINDIR, file, NULL);
++			filename = g_build_filename(plugin_path, file, NULL);
+ 
+ 			handle = dlopen(filename, RTLD_NOW);
+ 			if (handle == NULL) {
+@@ -168,6 +145,52 @@ int __ofono_plugin_init(const char *pattern, const char *exclude)
+ 
+ 		g_dir_close(dir);
+ 	}
++}
++
++#include "builtin.h"
++
++int __ofono_plugin_init(const char *pattern, const char *exclude)
++{
++	gchar **patterns = NULL;
++	gchar **excludes = NULL;
++	GSList *list;
++	unsigned int i;
++
++	DBG("");
++
++	if (pattern)
++		patterns = g_strsplit_set(pattern, ":, ", -1);
++
++	if (exclude)
++		excludes = g_strsplit_set(exclude, ":, ", -1);
++
++	for (i = 0; __ofono_builtin[i]; i++) {
++		if (check_plugin(__ofono_builtin[i],
++					patterns, excludes) == FALSE)
++			continue;
++
++		add_plugin(NULL, __ofono_builtin[i]);
++	}
++
++
++	const gchar *plugin_path;
++
++	plugin_path = g_getenv ("OFONO_PLUGIN_PATH");
++
++	if (!plugin_path) {
++		gchar **plugin_path_list;
++		gsize i;
++
++		plugin_path_list = g_strsplit (plugin_path, G_SEARCHPATH_SEPARATOR_S, 0);
++
++		for (i = 0; plugin_path_list[i]; i++) {
++			handle_dir(plugin_path_list, patterns, excludes);
++		}
++
++		g_strfreev(plugin_path_list);
++	}
++
++	handle_dir(PLUGINDIR, patterns, excludes);
+ 
+ 	for (list = plugins; list; list = list->next) {
+ 		struct ofono_plugin *plugin = list->data;
+-- 
+2.22.0
+
diff --git a/nixpkgs/pkgs/tools/networking/ofono/default.nix b/nixpkgs/pkgs/tools/networking/ofono/default.nix
index 1e5bd6b66f5d..21d1f9ee0675 100644
--- a/nixpkgs/pkgs/tools/networking/ofono/default.nix
+++ b/nixpkgs/pkgs/tools/networking/ofono/default.nix
@@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
     sha256 = "1qzysmzpgbh6zc3x9xh931wxcazka9wwx727c2k66z9gal2n6n66";
   };
 
+  patches = [
+    ./0001-Search-connectors-in-OFONO_PLUGIN_PATH.patch
+  ];
+
   nativeBuildInputs = [
     autoreconfHook
     pkgconfig
@@ -37,7 +41,7 @@ stdenv.mkDerivation rec {
   ];
 
   configureFlags = [
-    "--with-dbusconfdir=${placeholder ''out''}/etc/dbus-1/system.d"
+    "--with-dbusconfdir=${placeholder ''out''}/share"
     "--with-systemdunitdir=${placeholder ''out''}/lib/systemd/system"
     "--enable-external-ell"
   ];
diff --git a/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix b/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
index 363963b1b141..38255a68ffed 100644
--- a/nixpkgs/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/p2p/libtorrent/default.nix b/nixpkgs/pkgs/tools/networking/p2p/libtorrent/default.nix
index 524b75d5582d..f750e3b1bfe1 100644
--- a/nixpkgs/pkgs/tools/networking/p2p/libtorrent/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix b/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
index 0ed1150159d2..9901194f3c62 100644
--- a/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
+++ b/nixpkgs/pkgs/tools/networking/radsecproxy/default.nix
@@ -1,15 +1,18 @@
-{ stdenv, fetchurl, openssl }:
+{ stdenv, fetchFromGitHub, openssl, autoreconfHook, nettle }:
 
 stdenv.mkDerivation rec {
-  name = "radsecproxy-${version}";
-  version = "1.6.9";
+  pname = "radsecproxy";
+  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/nixpkgs/pkgs/tools/networking/redir/default.nix b/nixpkgs/pkgs/tools/networking/redir/default.nix
index e584354952a4..a11bebe0dca1 100644
--- a/nixpkgs/pkgs/tools/networking/redir/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/sipcalc/default.nix b/nixpkgs/pkgs/tools/networking/sipcalc/default.nix
index 5b046c6eeab7..9400ccbb0724 100644
--- a/nixpkgs/pkgs/tools/networking/sipcalc/default.nix
+++ b/nixpkgs/pkgs/tools/networking/sipcalc/default.nix
@@ -1,15 +1,19 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
+
 stdenv.mkDerivation rec {
   name = "sipcalc-${version}";
   version = "1.1.6";
+
   src = fetchurl {
     url = "http://www.routemeister.net/projects/sipcalc/files/${name}.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/nixpkgs/pkgs/tools/networking/socat/2.x.nix b/nixpkgs/pkgs/tools/networking/socat/2.x.nix
index 11af161893fb..99f0301c7c86 100644
--- a/nixpkgs/pkgs/tools/networking/socat/2.x.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/swaks/default.nix b/nixpkgs/pkgs/tools/networking/swaks/default.nix
index 2abdab773ddf..a9b0d04360ef 100644
--- a/nixpkgs/pkgs/tools/networking/swaks/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/tcpdump/default.nix b/nixpkgs/pkgs/tools/networking/tcpdump/default.nix
index 8a4722aa5214..e0a9a7e76ae3 100644
--- a/nixpkgs/pkgs/tools/networking/tcpdump/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/tcpflow/default.nix b/nixpkgs/pkgs/tools/networking/tcpflow/default.nix
index 1df0f2c37fc2..8f502c5ef3f6 100644
--- a/nixpkgs/pkgs/tools/networking/tcpflow/default.nix
+++ b/nixpkgs/pkgs/tools/networking/tcpflow/default.nix
@@ -1,61 +1,44 @@
-{ stdenv, lib, fetchFromGitHub, openssl, zlib, libpcap, boost, cairo, automake, autoconf, useCairo ? false }:
+{ stdenv, lib, fetchFromGitHub, automake, autoconf
+, openssl, zlib, libpcap, boost
+, useCairo ? false, cairo
+}:
 
 stdenv.mkDerivation rec {
-  baseName = "tcpflow";
-  version  = "1.4.6";
-  name     = "${baseName}-${version}";
+  pname   = "tcpflow";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner  = "simsong";
-    repo   = "tcpflow";
-    rev    = "017687365b8233d16260f4afd7572c8ad8873cf6";
-    sha256 = "002cqmn786sjysf59xnbb7lgr23nqqslb2gvy29q2xpnq6my9w38";
+    repo   = pname;
+    rev    = "${pname}-${version}";
+    sha256 = "063n3pfqa0lgzcwk4c0h01g2y5c3sli615j6a17dxpg95aw1zryy";
+    fetchSubmodules = true;
   };
 
-  be13_api = fetchFromGitHub {
-    owner  = "simsong";
-    repo   = "be13_api";
-    rev    = "8f4f4b3fe0b4815babb3a6fb595eb9a6d07e8a2e";
-    sha256 = "1dlys702x3m8cr9kf4b9j8n28yh6knhwgqkm6a5yhh1grd8r3ksm";
-  };
-
-  dfxml = fetchFromGitHub {
-    owner  = "simsong";
-    repo   = "dfxml";
-    rev    = "13a8cc22189a8336d16777f2897ada6ae2ee59de";
-    sha256 = "0wzhbkp4c8sp6wrk4ilz3skxp14scdnm3mw2xmxxrsifymzs2f5n";
-  };
-
-  httpparser = fetchFromGitHub {
-    owner  = "nodejs";
-    repo   = "http-parser";
-    rev    = "8d9e5db981b623fffc93657abacdc80270cbee58";
-    sha256 = "0x17wwhrc7b2ngiqy0clnzn1zz2gbcz5n9m29pcyrcplly782k52";
-  };
-
-  buildInputs = [ openssl zlib libpcap boost automake autoconf ] ++ lib.optional useCairo cairo;
-
-  postUnpack = ''
-    pushd "$sourceRoot/src"
-    cp -rv ${be13_api}/* be13_api/
-    cp -rv ${dfxml}/* dfxml/
-    cp -rv ${httpparser}/* http-parser/
-    chmod -R u+w dfxml
-    popd
-  '';
+  nativeBuildInputs = [ automake autoconf ];
+  buildInputs = [ openssl zlib libpcap boost ]
+    ++ lib.optional useCairo cairo;
 
   prePatch = ''
-    substituteInPlace ./bootstrap.sh \
-      --replace \ git 'echo git' \
-      --replace /bin/rm rm
+    substituteInPlace bootstrap.sh \
+      --replace ".git" "" \
+      --replace "/bin/rm" "rm"
+    substituteInPlace configure.ac \
+      --replace "1.5.1" "1.5.2"
   '';
 
   preConfigure = "bash ./bootstrap.sh";
 
   meta = with stdenv.lib; {
-    description = ''TCP stream extractor'';
-    license     = licenses.gpl3 ;
-    maintainers = with maintainers; [ raskin obadz ];
+    description = "TCP stream extractor";
+    longDescription = ''
+      tcpflow is a program that captures data transmitted as part of TCP
+      connections (flows), and stores the data in a way that is convenient for
+      protocol analysis and debugging.
+    '';
+    inherit (src.meta) homepage;
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ primeos raskin obadz ];
     platforms   = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/tools/networking/tcpflow/default.upstream b/nixpkgs/pkgs/tools/networking/tcpflow/default.upstream
deleted file mode 100644
index 72802e4d0469..000000000000
--- a/nixpkgs/pkgs/tools/networking/tcpflow/default.upstream
+++ /dev/null
@@ -1 +0,0 @@
-url http://www.digitalcorpora.org/downloads/tcpflow/
diff --git a/nixpkgs/pkgs/tools/networking/unbound/default.nix b/nixpkgs/pkgs/tools/networking/unbound/default.nix
index 861a61c8f38f..5702483b88bb 100644
--- a/nixpkgs/pkgs/tools/networking/unbound/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/uwimap/default.nix b/nixpkgs/pkgs/tools/networking/uwimap/default.nix
index 7cb489a3f213..125c83da4c4f 100644
--- a/nixpkgs/pkgs/tools/networking/uwimap/default.nix
+++ b/nixpkgs/pkgs/tools/networking/uwimap/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, pam, openssl}:
+{ stdenv, fetchurl, fetchpatch, pam, openssl }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = "uw-imap-2007f";
 
   src = fetchurl {
@@ -12,14 +12,20 @@ stdenv.mkDerivation {
     then "osx"
     else "lnp" # Linux with PAM modules;
     # -fPIC is required to compile php with imap on x86_64 systems
-    + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC";
+    + stdenv.lib.optionalString stdenv.isx86_64 " EXTRACFLAGS=-fPIC"
+    + stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) " CC=${stdenv.hostPlatform.config}-gcc RANLIB=${stdenv.hostPlatform.config}-ranlib";
 
   hardeningDisable = [ "format" ];
 
   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,'
@@ -46,4 +52,11 @@ stdenv.mkDerivation {
   passthru = {
     withSSL = true;
   };
-}
+} // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) {
+  # This is set here to prevent rebuilds on native compilation.
+  # Configure phase is a no-op there, because this package doesn't use ./configure scripts.
+  configurePhase = ''
+    echo "Cross-compilation, injecting make flags"
+    makeFlagsArray+=("ARRC=${stdenv.hostPlatform.config}-ar rc")
+  '';
+})
diff --git a/nixpkgs/pkgs/tools/networking/vde2/default.nix b/nixpkgs/pkgs/tools/networking/vde2/default.nix
index ac87a5c10e9f..4ea09cd7f006 100644
--- a/nixpkgs/pkgs/tools/networking/vde2/default.nix
+++ b/nixpkgs/pkgs/tools/networking/vde2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, openssl, libpcap, python2 }:
+{ stdenv, fetchurl, fetchpatch, openssl, libpcap, python2, withPython ? false }:
 
 stdenv.mkDerivation rec {
   name = "vde2-2.3.2";
@@ -15,8 +15,10 @@ stdenv.mkDerivation rec {
     }
   );
 
+  configureFlags = stdenv.lib.optional (!withPython) [ "--disable-python" ];
 
-  buildInputs = [ openssl libpcap python2 ];
+  buildInputs = [ openssl libpcap ]
+    ++ stdenv.lib.optional withPython python2;
 
   hardeningDisable = [ "format" ];
 
diff --git a/nixpkgs/pkgs/tools/networking/whois/default.nix b/nixpkgs/pkgs/tools/networking/whois/default.nix
index ddac709e5772..ee72cf4d2d89 100644
--- a/nixpkgs/pkgs/tools/networking/whois/default.nix
+++ b/nixpkgs/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";
   name = "whois-${version}";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "0h6lvsz868533irx68vd3hjhwcz93zh88axfq0qzji5ndc0ks4qb";
+    sha256 = "05dbc58dgq5ln28pahififljdb19gqicwlcmnni0vw4ny4r7r9bg";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix b/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix
index f918949a0277..ef6b0d5c6410 100644
--- a/nixpkgs/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/networking/zerotierone/default.nix b/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
index 76a2dbd8850a..367c518ad828 100644
--- a/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
+++ b/nixpkgs/pkgs/tools/networking/zerotierone/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zerotierone";
-  version = "1.4.0";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "zerotier";
     repo = "ZeroTierOne";
     rev = version;
-    sha256 = "14iwhlxmxsnvnm9rrp6rysiz461w0v5nsmnz5p91rfi351103a63";
+    sha256 = "1b9qm01ximz2j6yimp7bs86h4kaz8jsjxxb6c2js43dzp98k0m94";
   };
 
   preConfigure = ''
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Create flat virtual Ethernet networks of almost unlimited size";
     homepage = https://www.zerotier.com;
-    license = licenses.gpl3;
+    license = licenses.bsl11;
     maintainers = with maintainers; [ sjmackenzie zimbatm ehmry obadz ];
     platforms = platforms.x86_64 ++ platforms.aarch64;
   };
diff --git a/nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix b/nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix
new file mode 100644
index 000000000000..51e4e22bc5b6
--- /dev/null
+++ b/nixpkgs/pkgs/tools/nix/nixpkgs-fmt/default.nix
@@ -0,0 +1,21 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+rustPlatform.buildRustPackage rec {
+  pname = "nixpkgs-fmt";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "nix-community";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0nz4njmrwacizz9z89ligxr2gyggk65vq9cmd6s4hn133gajf2n1";
+  };
+
+  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/nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix b/nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix
index 9735bde199dc..21740ce2ead1 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-download/Cargo.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/cargo-download/crates-io.nix b/nixpkgs/pkgs/tools/package-management/cargo-download/crates-io.nix
new file mode 100644
index 000000000000..d120a05e00d7
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/cargo-download/default.nix b/nixpkgs/pkgs/tools/package-management/cargo-download/default.nix
index 398e007c3702..1cb53a4b6c8d 100644
--- a/nixpkgs/pkgs/tools/package-management/cargo-download/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/package-management/xbps/default.nix b/nixpkgs/pkgs/tools/package-management/xbps/default.nix
index 6a96e5b43b50..5954ca4959b6 100644
--- a/nixpkgs/pkgs/tools/package-management/xbps/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/chaps/default.nix b/nixpkgs/pkgs/tools/security/chaps/default.nix
index 3c6f52a4c7f6..1270423e9285 100644
--- a/nixpkgs/pkgs/tools/security/chaps/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/clamav/default.nix b/nixpkgs/pkgs/tools/security/clamav/default.nix
index 13fad5792fb0..b96fc49886a4 100644
--- a/nixpkgs/pkgs/tools/security/clamav/default.nix
+++ b/nixpkgs/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "clamav-${version}";
-  version = "0.101.3";
+  version = "0.101.4";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${name}.tar.gz";
-    sha256 = "0f034sqqgngj3ry71f7j73g66n6mqfisjcw5529y5gcw9an2mm38";
+    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/nixpkgs/pkgs/tools/security/dnsenum/default.nix b/nixpkgs/pkgs/tools/security/dnsenum/default.nix
index d764e8a71ae6..3374c827d756 100644
--- a/nixpkgs/pkgs/tools/security/dnsenum/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/dnsrecon/default.nix b/nixpkgs/pkgs/tools/security/dnsrecon/default.nix
index 06270723f4d0..2575636aeca2 100644
--- a/nixpkgs/pkgs/tools/security/dnsrecon/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/fierce/default.nix b/nixpkgs/pkgs/tools/security/fierce/default.nix
index abc1bacd212b..809d8e29ea35 100644
--- a/nixpkgs/pkgs/tools/security/fierce/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/hcxtools/default.nix b/nixpkgs/pkgs/tools/security/hcxtools/default.nix
index 20ad5bbc0b27..216d58192fbc 100644
--- a/nixpkgs/pkgs/tools/security/hcxtools/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/keybase/default.nix b/nixpkgs/pkgs/tools/security/keybase/default.nix
index 18e3836c99d9..6fac3b66cbc6 100644
--- a/nixpkgs/pkgs/tools/security/keybase/default.nix
+++ b/nixpkgs/pkgs/tools/security/keybase/default.nix
@@ -5,7 +5,7 @@
 
 buildGoPackage rec {
   name = "keybase-${version}";
-  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/nixpkgs/pkgs/tools/security/keybase/gui.nix b/nixpkgs/pkgs/tools/security/keybase/gui.nix
index afe2d457a7fe..02d8625aa762 100644
--- a/nixpkgs/pkgs/tools/security/keybase/gui.nix
+++ b/nixpkgs/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 {
   name = "keybase-gui-${version}";
-  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/nixpkgs/pkgs/tools/security/kpcli/default.nix b/nixpkgs/pkgs/tools/security/kpcli/default.nix
index 350d0e66dc7d..e7c09e0b2d5e 100644
--- a/nixpkgs/pkgs/tools/security/kpcli/default.nix
+++ b/nixpkgs/pkgs/tools/security/kpcli/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, perl, perlPackages }:
 
 stdenv.mkDerivation rec {
-  version = "3.2";
+  version = "3.3";
   name = "kpcli-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/kpcli/${name}.pl";
-    sha256 = "11z6zbnsmqgjw73ai4nrq4idr83flrib22d8fqh1637d36p1nnk1";
+    sha256 = "1z6dy70d3ag16vgzzafcnxb8gap3wahfmy4vd22fpgbrdd6riph4";
   };
 
   buildInputs = [ makeWrapper perl ];
diff --git a/nixpkgs/pkgs/tools/security/lesspass-cli/default.nix b/nixpkgs/pkgs/tools/security/lesspass-cli/default.nix
new file mode 100644
index 000000000000..afcdf0c0a07a
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/nmap/default.nix b/nixpkgs/pkgs/tools/security/nmap/default.nix
index 3bc5758aad44..1b66dab35c8f 100644
--- a/nixpkgs/pkgs/tools/security/nmap/default.nix
+++ b/nixpkgs/pkgs/tools/security/nmap/default.nix
@@ -20,22 +20,22 @@ 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 ]
     ++ optionals stdenv.cc.isClang [(
       # Fixes a compile error due an ambiguous reference to bind(2) in
       # nping/EchoServer.cc, which is otherwise resolved to std::bind.
-      # Also fixes a missing include.
       # https://github.com/nmap/nmap/pull/1363
       fetchpatch {
         url = "https://github.com/nmap/nmap/commit/5bbe66f1bd8cbd3718f5805139e2e8139e6849bb.diff";
-        sha256 = "088r8ylpc9hachsxs4r17cqfa1ncyspbjvkc573lill7rk1r9m0s";
+        includes = [ "nping/EchoServer.cc" ];
+        sha256 = "0xcph9mycy57yryjg253frxyz87c4135rrbndlqw1400c8jxq70c";
       }
     )];
 
diff --git a/nixpkgs/pkgs/tools/security/pass/default.nix b/nixpkgs/pkgs/tools/security/pass/default.nix
index 8ddbd60a38d1..94f517d2e92d 100644
--- a/nixpkgs/pkgs/tools/security/pass/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/ripasso/cursive.nix b/nixpkgs/pkgs/tools/security/ripasso/cursive.nix
new file mode 100644
index 000000000000..9eac6b6e5ca4
--- /dev/null
+++ b/nixpkgs/pkgs/tools/security/ripasso/cursive.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, ncurses, python3, openssl, libgpgerror, gpgme, xorg }:
+
+with rustPlatform;
+buildRustPackage rec {
+  version = "unstable-2019-08-27";
+  pname = "ripasso-cursive";
+
+  src = fetchFromGitHub {
+    owner = "cortex";
+    repo = "ripasso";
+    rev  = "1b5ef4ae19f95f1422ba5cb09e9e689880599c40";
+    sha256 = "1lh1in8knpqz4vbsmdyd4hh8y4bfhxjciysfbq3qzdpdpihgj0nn";
+  };
+
+  cargoSha256 = "0dwaa106vj7jbgshhqpjabsr0zmkg1a5syzky7jcaasvc7r7njwl";
+  cargoBuildFlags = [ "-p ripasso-cursive" ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    ncurses python3 openssl libgpgerror gpgme xorg.libxcb
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A simple password manager written in Rust";
+    homepage = "https://github.com/cortex/ripasso";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ sgo ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/tools/security/tor/default.nix b/nixpkgs/pkgs/tools/security/tor/default.nix
index b3b71a16eb88..249ff435c5fc 100644
--- a/nixpkgs/pkgs/tools/security/tor/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/tpm-luks/default.nix b/nixpkgs/pkgs/tools/security/tpm-luks/default.nix
index 7d0ff797336d..e7a82f6089e7 100644
--- a/nixpkgs/pkgs/tools/security/tpm-luks/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/tpm-luks/openssl-1.1.patch b/nixpkgs/pkgs/tools/security/tpm-luks/openssl-1.1.patch
new file mode 100644
index 000000000000..10132242b345
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/tpm-luks/signed-ptr.patch b/nixpkgs/pkgs/tools/security/tpm-luks/signed-ptr.patch
new file mode 100644
index 000000000000..83e356a4ef9e
--- /dev/null
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/security/tpm-tools/default.nix b/nixpkgs/pkgs/tools/security/tpm-tools/default.nix
index 1944cf236e1e..5a2dc6652ddc 100644
--- a/nixpkgs/pkgs/tools/security/tpm-tools/default.nix
+++ b/nixpkgs/pkgs/tools/security/tpm-tools/default.nix
@@ -13,6 +13,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/nixpkgs/pkgs/tools/security/vault/default.nix b/nixpkgs/pkgs/tools/security/vault/default.nix
index 3f366a583204..dcded0652763 100644
--- a/nixpkgs/pkgs/tools/security/vault/default.nix
+++ b/nixpkgs/pkgs/tools/security/vault/default.nix
@@ -1,36 +1,25 @@
-{ stdenv, fetchFromGitHub, go, gox, removeReferencesTo }:
+{ stdenv, fetchFromGitHub, buildGoModule }:
 
-stdenv.mkDerivation rec {
+buildGoModule rec {
   name = "vault-${version}";
-  version = "1.1.3";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "0dylwvs95crvn1p7pbyzib979rxzp4ivzvi5k4f5ivp4ygnp597s";
+    sha256 = "1xljm7xmb4ldg3wx8s9kw1spffg4ywk4r1jqfa743czd2xxmqavl";
   };
 
-  nativeBuildInputs = [ go gox removeReferencesTo ];
+  modSha256 = "13pr3piv6hrsc562qagpn1h5wckiziyfqraj13172hdglz3n2i7q";
 
-  preBuild = ''
-    patchShebangs ./
-    substituteInPlace scripts/build.sh --replace 'git rev-parse HEAD' 'echo ${src.rev}'
-    sed -i s/'^GIT_DIRTY=.*'/'GIT_DIRTY="+NixOS"'/ scripts/build.sh
-
-    mkdir -p .git/hooks src/github.com/hashicorp
-    ln -s $(pwd) src/github.com/hashicorp/vault
-
-    export GOPATH=$(pwd)
-    export GOCACHE="$TMPDIR/go-cache"
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/bash-completion/completions
-
-    cp pkg/*/* $out/bin/
-    find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
+  buildFlagsArray = [
+    "-tags='vault'"
+    "-ldflags=\"-X github.com/hashicorp/vault/sdk/version.GitCommit='v${version}'\""
+  ];
 
+  postInstall = ''
+    mkdir -p $out/share/bash-completion/completions
     echo "complete -C $out/bin/vault vault" > $out/share/bash-completion/completions/vault
   '';
 
diff --git a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
index 95fa1047fe54..94da72c54b34 100644
--- a/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
+++ b/nixpkgs/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "acpica-tools";
-  version = "20190703";
+  version = "20190816";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "031m124a109vv6fx667h4ca2iav0xszrlvif9zcfxcaxbjsn6991";
+    sha256 = "0p7ws106hf8bir9yb1a5m6v3wmvqagxmk3l9rpp4i89vib44vv3s";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ bison flex ];
 
-  installFlags = [ "PREFIX=$(out)" ];
+  installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description = "ACPICA Tools";
diff --git a/nixpkgs/pkgs/tools/system/freeipmi/default.nix b/nixpkgs/pkgs/tools/system/freeipmi/default.nix
index 079494bb5990..b8cd85c0abca 100644
--- a/nixpkgs/pkgs/tools/system/freeipmi/default.nix
+++ b/nixpkgs/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";
   name = "freeipmi-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${name}.tar.gz";
-    sha256 = "1sg12ycig2g5yv9l3vx25wsjmz7ybnrsvji0vs51yjmclwsygm5a";
+    sha256 = "0g0s4iwx0ng4rv7hp5cc3kkx4drahsc89981gwjblf04lfavppv5";
   };
 
   buildInputs = [ libgcrypt readline libgpgerror ];
diff --git a/nixpkgs/pkgs/tools/system/ipmiutil/default.nix b/nixpkgs/pkgs/tools/system/ipmiutil/default.nix
index b553206f13ab..7966deeccc2e 100644
--- a/nixpkgs/pkgs/tools/system/ipmiutil/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/lr/default.nix b/nixpkgs/pkgs/tools/system/lr/default.nix
index 0ab8d226f3a0..39cd429e1f93 100644
--- a/nixpkgs/pkgs/tools/system/lr/default.nix
+++ b/nixpkgs/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 = with maintainers; [ vika_nezrimaya ];
   };
 }
diff --git a/nixpkgs/pkgs/tools/system/runit/default.nix b/nixpkgs/pkgs/tools/system/runit/default.nix
index 4d5de56fbf0d..131ba53f5847 100644
--- a/nixpkgs/pkgs/tools/system/runit/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/stress-ng/default.nix b/nixpkgs/pkgs/tools/system/stress-ng/default.nix
index 5d5d3b1939db..ab7fdf7c4bf8 100644
--- a/nixpkgs/pkgs/tools/system/stress-ng/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix b/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix
index a57cafb54e25..1f444ca5cd81 100644
--- a/nixpkgs/pkgs/tools/system/syslog-ng-incubator/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/syslog-ng/default.nix b/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
index dcc9942a0611..6998ed36ee52 100644
--- a/nixpkgs/pkgs/tools/system/syslog-ng/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix b/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
index 2219d623a039..4c4ad91e7279 100644
--- a/nixpkgs/pkgs/tools/system/systemd-journal2gelf/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/system/thermald/default.nix b/nixpkgs/pkgs/tools/system/thermald/default.nix
index 818c76712c7e..2a98a2f889e8 100644
--- a/nixpkgs/pkgs/tools/system/thermald/default.nix
+++ b/nixpkgs/pkgs/tools/system/thermald/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "thermald-${version}";
-  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/nixpkgs/pkgs/tools/text/ripgrep/default.nix b/nixpkgs/pkgs/tools/text/ripgrep/default.nix
index 4fa90441bdbe..4b1275d041f4 100644
--- a/nixpkgs/pkgs/tools/text/ripgrep/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/text/vale/default.nix b/nixpkgs/pkgs/tools/text/vale/default.nix
index 3e436b80be8a..b73015dd19f3 100644
--- a/nixpkgs/pkgs/tools/text/vale/default.nix
+++ b/nixpkgs/pkgs/tools/text/vale/default.nix
@@ -1,10 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
-  name = "vale-${version}";
-  version = "1.4.3";
-
-  goPackagePath = "github.com/errata-ai/vale";
+buildGoModule rec {
+  pname = "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/nixpkgs/pkgs/tools/typesetting/biber/default.nix b/nixpkgs/pkgs/tools/typesetting/biber/default.nix
index 3f9ba73e13d9..6d26129f2c12 100644
--- a/nixpkgs/pkgs/tools/typesetting/biber/default.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/tools/typesetting/scdoc/default.nix b/nixpkgs/pkgs/tools/typesetting/scdoc/default.nix
index f2a48e5db049..3145d580dc62 100644
--- a/nixpkgs/pkgs/tools/typesetting/scdoc/default.nix
+++ b/nixpkgs/pkgs/tools/typesetting/scdoc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "scdoc-${version}";
-  version = "1.9.6";
+  version = "1.9.7";
 
   src = fetchurl {
     url = "https://git.sr.ht/~sircmpwn/scdoc/archive/${version}.tar.gz";
-    sha256 = "0a2rxn0pihknvyvfvzib42v9c7zfdg8pi95q40fywwjb9clz59c9";
+    sha256 = "0y9p03dzdaszx02jbkdf3vcs52fqml591cmic5jdch5yznrg03ky";
   };
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
index 5aab4c80d275..57347a120214 100644
--- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/nixpkgs/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:
@@ -292,6 +292,7 @@ latexindent = perlPackages.buildPerlPackage rec {
 
   outputs = [ "out" ];
 
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
   propagatedBuildInputs = with perlPackages; [ FileHomeDir LogDispatch LogLog4perl UnicodeLineBreak YAMLTiny ];
 
   postPatch = ''
@@ -308,6 +309,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/nixpkgs/pkgs/top-level/aliases.nix b/nixpkgs/pkgs/top-level/aliases.nix
index f3dbd2efd55b..1a4169605a64 100644
--- a/nixpkgs/pkgs/top-level/aliases.nix
+++ b/nixpkgs/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;
@@ -331,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/nixpkgs/pkgs/top-level/all-packages.nix b/nixpkgs/pkgs/top-level/all-packages.nix
index bb87a1b16c13..03c1a9e34092 100644
--- a/nixpkgs/pkgs/top-level/all-packages.nix
+++ b/nixpkgs/pkgs/top-level/all-packages.nix
@@ -149,10 +149,16 @@ 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 { };
 
+  cm256cc = callPackage ../development/libraries/cm256cc {  };
+
   conftest = callPackage ../development/tools/conftest {};
 
   corgi = callPackage ../development/tools/corgi { };
@@ -384,6 +390,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;
@@ -444,6 +454,8 @@ in
 
   _0x0 = callPackage ../tools/misc/0x0 { };
 
+  _3llo = callPackage ../tools/misc/3llo { };
+
   _1password = callPackage ../applications/misc/1password { };
 
   _9pfs = callPackage ../tools/filesystems/9pfs { };
@@ -758,6 +770,8 @@ in
 
   chkcrontab = callPackage ../tools/admin/chkcrontab { };
 
+  claws = callPackage ../tools/misc/claws { };
+
   codespell = with python3Packages; toPythonApplication codespell;
 
   cozy = callPackage ../applications/audio/cozy-audiobooks { };
@@ -852,6 +866,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 +1195,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 +1708,8 @@ in
 
   gsctl = callPackage ../applications/misc/gsctl { };
 
+  gthree = callPackage ../development/libraries/gthree { };
+
   gti = callPackage ../tools/misc/gti { };
 
   hdate = callPackage ../applications/misc/hdate { };
@@ -1770,7 +1790,7 @@ in
 
   massren = callPackage ../tools/misc/massren { };
 
-  megasync = callPackage ../applications/misc/megasync { };
+  megasync = libsForQt5.callPackage ../applications/misc/megasync { };
 
   meritous = callPackage ../games/meritous { };
 
@@ -1910,6 +1930,8 @@ in
     conf = config.riot-web.conf or null;
   };
 
+  ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {};
+
   roundcube = callPackage ../servers/roundcube { };
 
   roundcubePlugins = dontRecurseIntoAttrs (callPackage ../servers/roundcube/plugins { });
@@ -2104,7 +2126,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 +2652,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 +2677,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 +2794,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 { };
@@ -2780,6 +2810,8 @@ in
 
   wallutils = callPackage ../tools/graphics/wallutils { };
 
+  wev = callPackage ../tools/misc/wev { };
+
   wl-clipboard = callPackage ../tools/misc/wl-clipboard { };
 
   z-lua = callPackage ../tools/misc/z-lua { };
@@ -2915,7 +2947,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 { };
 
@@ -3056,6 +3090,8 @@ in
     stdenv = gccStdenv;
   };
 
+  flux = callPackage ../development/compilers/flux { };
+
   fierce = callPackage ../tools/security/fierce { };
 
   figlet = callPackage ../tools/misc/figlet { };
@@ -3293,6 +3329,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 { };
@@ -3396,6 +3434,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 { };
@@ -3469,6 +3511,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 { };
@@ -3617,7 +3661,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 {};
 
@@ -3631,7 +3677,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 {};
 
@@ -3896,7 +3944,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 { };
 
@@ -3960,7 +4010,9 @@ in
     buildGoPackage = buildGo110Package;
   };
 
-  ipmitool = callPackage ../tools/system/ipmitool { };
+  ipmitool = callPackage ../tools/system/ipmitool {
+    openssl = openssl_1_0_2;
+  };
 
   ipmiutil = callPackage ../tools/system/ipmiutil {};
 
@@ -3990,6 +4042,8 @@ in
 
   isync = callPackage ../tools/networking/isync { };
 
+  ix = callPackage ../tools/misc/ix { };
+
   jaaa = callPackage ../applications/audio/jaaa { };
 
   jackett = callPackage ../servers/jackett { };
@@ -4374,26 +4428,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!
@@ -4432,9 +4478,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 { };
 
@@ -4488,6 +4532,8 @@ in
 
   libsidplayfp = callPackage ../development/libraries/libsidplayfp { };
 
+  libspf2 = callPackage ../development/libraries/libspf2 { };
+
   libsrs2 = callPackage ../development/libraries/libsrs2 { };
 
   libtermkey = callPackage ../development/libraries/libtermkey { };
@@ -4508,7 +4554,7 @@ in
 
   libmongo-client = callPackage ../development/libraries/libmongo-client { };
 
-  libmesode = callPackage ../development/libraries/libmesode { };
+  libmesode = callPackage ../development/libraries/libmesode {};
 
   libnabo = callPackage ../development/libraries/libnabo { };
 
@@ -4989,6 +5035,8 @@ in
 
   milu = callPackage ../applications/misc/milu { };
 
+  mkgmap = callPackage ../applications/misc/mkgmap { };
+
   mpack = callPackage ../tools/networking/mpack { };
 
   mtm = callPackage ../tools/misc/mtm { };
@@ -5120,6 +5168,8 @@ in
 
   offlineimap = callPackage ../tools/networking/offlineimap { };
 
+  ofono-phonesim = libsForQt5.callPackage ../development/tools/ofono-phonesim/default.nix { };
+
   oh-my-zsh = callPackage ../shells/zsh/oh-my-zsh { };
 
   ola = callPackage ../applications/misc/ola { };
@@ -5184,7 +5234,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;
@@ -5196,7 +5251,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 { };
 
@@ -5204,6 +5259,8 @@ in
     stdenv = clangStdenv;
   };
 
+  out-of-tree = callPackage ../development/tools/out-of-tree { };
+
   oppai-ng = callPackage ../tools/misc/oppai-ng { };
 
   update-dotdee = with python3Packages; toPythonApplication update-dotdee;
@@ -5214,7 +5271,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;
@@ -5232,6 +5291,8 @@ in
 
   ossec = callPackage ../tools/security/ossec {};
 
+  osslsigncode = callPackage ../development/tools/osslsigncode {};
+
   ostree = callPackage ../tools/misc/ostree { };
 
   otfcc = callPackage ../tools/misc/otfcc { };
@@ -5258,7 +5319,7 @@ in
 
   pacman = callPackage ../tools/package-management/pacman { };
 
-  padthv1 = callPackage ../applications/audio/padthv1 { };
+  padthv1 = libsForQt5.callPackage ../applications/audio/padthv1 { };
 
   pagmo2 = callPackage ../development/libraries/pagmo2 { };
 
@@ -5319,7 +5380,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;
 
@@ -5380,7 +5444,9 @@ in
     libusb = libusb1;
   };
 
-  bully = callPackage ../tools/networking/bully { };
+  bully = callPackage ../tools/networking/bully {
+    openssl = openssl_1_0_2;
+  };
 
   pcapc = callPackage ../tools/networking/pcapc { };
 
@@ -5553,7 +5619,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 { };
 
@@ -5645,7 +5713,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 {};
 
@@ -5677,6 +5744,8 @@ in
 
   qview = libsForQt5.callPackage ../applications/graphics/qview {};
 
+  wayback_machine_downloader = callPackage ../applications/networking/wayback_machine_downloader { };
+
   wiggle = callPackage ../development/tools/wiggle { };
 
   radamsa = callPackage ../tools/security/radamsa { };
@@ -5729,7 +5798,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 {};
@@ -5923,6 +5994,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;
   };
@@ -6011,7 +6086,9 @@ in
 
   shout = nodePackages.shout;
 
-  shellinabox = callPackage ../servers/shellinabox { };
+  shellinabox = callPackage ../servers/shellinabox {
+    openssl = openssl_1_0_2;
+  };
 
   shrikhand = callPackage ../data/fonts/shrikhand { };
 
@@ -6203,6 +6280,8 @@ in
 
   sunxi-tools = callPackage ../development/tools/sunxi-tools { };
 
+  sumorobot-manager = python3Packages.callPackage ../applications/science/robotics/sumorobot-manager { };
+
   super = callPackage ../tools/security/super { };
 
   supertux-editor = callPackage ../applications/editors/supertux-editor { };
@@ -6213,6 +6292,8 @@ in
 
   svgcleaner = callPackage ../tools/graphics/svgcleaner { };
 
+  ssb-patchwork = callPackage ../applications/networking/ssb/patchwork { };
+
   ssdeep = callPackage ../tools/security/ssdeep { };
 
   ssh-ident = callPackage ../tools/networking/ssh-ident { };
@@ -6336,7 +6417,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 { };
 
@@ -6402,7 +6483,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 { };
 
@@ -6445,7 +6526,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;
@@ -6515,7 +6595,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 { };
 
@@ -6628,9 +6710,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 { };
 
@@ -6644,8 +6728,6 @@ in
 
   verilog = callPackage ../applications/science/electronics/verilog {};
 
-  vfdecrypt = callPackage ../tools/misc/vfdecrypt { };
-
   video2midi = callPackage ../tools/audio/video2midi {
     pythonPackages = python3Packages;
   };
@@ -6716,7 +6798,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 { };
 
@@ -6835,7 +6919,7 @@ in
 
   uemacs = callPackage ../applications/editors/uemacs { };
 
-  uftp = callPackage ../servers/uftp { };
+  uftp = callPackage ../servers/uftp {};
 
   uhttpmock = callPackage ../development/libraries/uhttpmock { };
 
@@ -7271,6 +7355,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 { };
@@ -7376,6 +7464,7 @@ in
     crystal_0_26
     crystal_0_27
     crystal_0_29
+    crystal_0_30
     crystal;
 
   icr = callPackage ../development/tools/icr {};
@@ -7758,7 +7847,7 @@ in
 
   fsharp = callPackage ../development/compilers/fsharp { };
 
-  fsharp41 = callPackage ../development/compilers/fsharp41 { mono = mono4; };
+  fsharp41 = callPackage ../development/compilers/fsharp41 { mono = mono6; };
 
   fstar = callPackage ../development/compilers/fstar { };
 
@@ -7826,12 +7915,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;
   });
@@ -7940,6 +8023,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 { };
@@ -8149,8 +8234,15 @@ in
     inherit (darwin.apple_sdk.frameworks) Foundation;
   };
 
+  mono6 = callPackage ../development/compilers/mono/6.nix {
+    inherit (darwin) libobjc;
+    inherit (darwin.apple_sdk.frameworks) Foundation;
+  };
+
   monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
 
+  msbuild = callPackage ../development/tools/build-managers/msbuild { mono = mono6; };
+
   mosml = callPackage ../development/compilers/mosml { };
 
   mozart-binary = callPackage ../development/compilers/mozart/binary.nix { };
@@ -8161,11 +8253,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 { };
 
@@ -8282,10 +8370,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;
   };
@@ -8316,6 +8402,8 @@ in
     gputils = null;
   };
 
+  serialdv = callPackage ../development/libraries/serialdv {  };
+
   serpent = callPackage ../development/compilers/serpent { };
 
   shmig = callPackage ../development/tools/database/shmig { };
@@ -8760,7 +8848,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);
@@ -8902,6 +8990,8 @@ in
   tcl-8_5 = callPackage ../development/interpreters/tcl/8.5.nix { };
   tcl-8_6 = callPackage ../development/interpreters/tcl/8.6.nix { };
 
+  wasm = ocamlPackages.wasm;
+
   proglodyte-wasm = callPackage ../development/interpreters/proglodyte-wasm { };
 
   wasm-gc = callPackage ../development/interpreters/wasm-gc { };
@@ -9498,10 +9588,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;
 
@@ -10022,6 +10118,8 @@ in
 
   travis = callPackage ../development/tools/misc/travis { };
 
+  tree-sitter = callPackage ../development/tools/parsing/tree-sitter { };
+
   trellis = callPackage ../development/tools/trellis { };
 
   ttyd = callPackage ../servers/ttyd { };
@@ -10129,8 +10227,6 @@ in
 
   a52dec = callPackage ../development/libraries/a52dec { };
 
-  aacskeys = callPackage ../development/libraries/aacskeys { };
-
   aalib = callPackage ../development/libraries/aalib { };
 
   abseil-cpp = callPackage ../development/libraries/abseil-cpp { };
@@ -10291,7 +10387,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 { };
@@ -10419,7 +10515,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 { };
@@ -10753,10 +10851,6 @@ in
     inherit (darwin.apple_sdk.frameworks) OpenGL;
   };
 
-  gegl_0_3 = callPackage ../development/libraries/gegl/3.0.nix {
-    gtk = res.gtk2;
-  };
-
   gegl_0_4 = callPackage ../development/libraries/gegl/4.0.nix {
     gtk = res.gtk2;
   };
@@ -10953,6 +11047,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 { };
@@ -12043,7 +12141,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 { };
 
@@ -12189,6 +12289,8 @@ in
 
   libphonenumber = callPackage ../development/libraries/libphonenumber { };
 
+  libplacebo = callPackage ../development/libraries/libplacebo { };
+
   libpng = callPackage ../development/libraries/libpng { };
   libpng_apng = libpng.override { apngSupport = true; };
   libpng12 = callPackage ../development/libraries/libpng/12.nix { };
@@ -12510,8 +12612,6 @@ in
 
   luabind_luajit = luabind.override { lua = luajit; };
 
-  luaffi = callPackage ../development/libraries/luaffi { lua = lua5_1; };
-
   lzo = callPackage ../development/libraries/lzo { };
 
   mapnik = callPackage ../development/libraries/mapnik { };
@@ -12632,13 +12732,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 { };
 
@@ -12667,7 +12771,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 { };
 
@@ -12822,7 +12928,8 @@ in
 
   inherit (callPackages ../development/libraries/libressl { })
     libressl_2_8
-    libressl_2_9;
+    libressl_2_9
+    libressl_3_0;
 
   libressl = libressl_2_9;
 
@@ -12830,7 +12937,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
@@ -13039,20 +13146,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;
@@ -13318,8 +13411,6 @@ in
 
   lvtk = callPackage ../development/libraries/audio/lvtk { };
 
-  patchwork = callPackage ../applications/networking/ssb/patchwork { };
-
   qradiolink = callPackage ../applications/radio/qradiolink { };
 
   qrupdate = callPackage ../development/libraries/qrupdate { };
@@ -13687,7 +13778,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 { };
 
@@ -13812,6 +13905,7 @@ in
 
   ucommon_openssl = callPackage ../development/libraries/ucommon {
     gnutls = null;
+    openssl = openssl_1_0_2;
   };
 
   ucommon_gnutls = lowPrio (ucommon.override {
@@ -14399,7 +14493,9 @@ in
 
     mod_python = callPackage ../servers/http/apache-modules/mod_python { };
 
-    mod_wsgi = callPackage ../servers/http/apache-modules/mod_wsgi { };
+    mod_wsgi  = self.mod_wsgi2;
+    mod_wsgi2 = callPackage ../servers/http/apache-modules/mod_wsgi { python = python2; ncurses = null; };
+    mod_wsgi3 = callPackage ../servers/http/apache-modules/mod_wsgi { python = python3; };
 
     php = pkgs.php.override { inherit apacheHttpd; };
 
@@ -14486,7 +14582,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 {});
@@ -14513,6 +14609,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;
   };
 
@@ -14548,7 +14645,6 @@ in
   freeradius = callPackage ../servers/freeradius { };
 
   freeswitch = callPackage ../servers/sip/freeswitch {
-    openssl = openssl_1_0_2;
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
   };
 
@@ -14618,8 +14714,6 @@ in
 
   labelImg = callPackage ../applications/science/machine-learning/labelimg { };
 
-  mailman = callPackage ../servers/mail/mailman { };
-
   mailman-rss = callPackage ../development/python-modules/mailman-rss { };
 
   mattermost = callPackage ../servers/mattermost { };
@@ -14660,6 +14754,8 @@ in
 
   mlmmj = callPackage ../servers/mail/mlmmj { };
 
+  moodle = callPackage ../servers/web-apps/moodle { };
+
   morty = callPackage ../servers/web-apps/morty { };
 
   mullvad-vpn = callPackage ../applications/networking/mullvad-vpn { };
@@ -14685,14 +14781,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 { };
@@ -14740,8 +14834,6 @@ in
 
   postsrsd = callPackage ../servers/mail/postsrsd { };
 
-  rmilter = callPackage ../servers/mail/rmilter { };
-
   rspamd = callPackage ../servers/mail/rspamd { };
 
   pfixtools = callPackage ../servers/mail/postfix/pfixtools.nix {
@@ -14808,6 +14900,7 @@ in
   mongodb = callPackage ../servers/nosql/mongodb {
     sasl = cyrus_sasl;
     boost = boost160;
+    openssl = openssl_1_0_2;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
@@ -14887,15 +14980,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 { };
 
@@ -14948,10 +15041,12 @@ in
   prometheus-bind-exporter = callPackage ../servers/monitoring/prometheus/bind-exporter.nix { };
   prometheus-blackbox-exporter = callPackage ../servers/monitoring/prometheus/blackbox-exporter.nix { };
   prometheus-collectd-exporter = callPackage ../servers/monitoring/prometheus/collectd-exporter.nix { };
+  prometheus-cups-exporter = callPackage ../servers/monitoring/prometheus/cups-exporter.nix { };
   prometheus-consul-exporter = callPackage ../servers/monitoring/prometheus/consul-exporter.nix { };
   prometheus-dnsmasq-exporter = callPackage ../servers/monitoring/prometheus/dnsmasq-exporter.nix { };
   prometheus-dovecot-exporter = callPackage ../servers/monitoring/prometheus/dovecot-exporter.nix { };
   prometheus-fritzbox-exporter = callPackage ../servers/monitoring/prometheus/fritzbox-exporter.nix { };
+  prometheus-gitlab-ci-pipelines-exporter = callPackage ../servers/monitoring/prometheus/gitlab-ci-pipelines-exporter.nix { };
   prometheus-haproxy-exporter = callPackage ../servers/monitoring/prometheus/haproxy-exporter.nix { };
   prometheus-json-exporter = callPackage ../servers/monitoring/prometheus/json-exporter.nix { };
   prometheus-mail-exporter = callPackage ../servers/monitoring/prometheus/mail-exporter.nix { };
@@ -15080,6 +15175,8 @@ in
 
   sambaFull = samba4Full;
 
+  sampler = callPackage ../applications/misc/sampler { };
+
   shairplay = callPackage ../servers/shairplay { avahi = avahi-compat; };
 
   shairport-sync = callPackage ../servers/shairport-sync { };
@@ -15123,7 +15220,6 @@ in
   spawn_fcgi = callPackage ../servers/http/spawn-fcgi { };
 
   squid = callPackage ../servers/squid { };
-  squid4 = callPackage ../servers/squid/4.nix { };
 
   sslh = callPackage ../servers/sslh { };
 
@@ -15177,9 +15273,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;
 
@@ -15474,6 +15574,8 @@ in
 
   gradm = callPackage ../os-specific/linux/gradm { };
 
+  inherit (nodePackages) gtop;
+
   hd-idle = callPackage ../os-specific/linux/hd-idle { };
 
   hdparm = callPackage ../os-specific/linux/hdparm { };
@@ -15494,7 +15596,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 { };
 
@@ -15726,7 +15830,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;
@@ -15747,7 +15851,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 {};
 
@@ -15815,7 +15919,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 { };
 
@@ -16086,6 +16191,8 @@ in
 
   goconvey = callPackage ../development/tools/goconvey { };
 
+  gofumpt = callPackage ../development/tools/gofumpt { };
+
   gotags = callPackage ../development/tools/gotags { };
 
   golint = callPackage ../development/tools/golint { };
@@ -16120,7 +16227,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 { };
 
@@ -16154,7 +16263,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 { };
 
@@ -16267,6 +16378,8 @@ in
 
   sdparm = callPackage ../os-specific/linux/sdparm { };
 
+  sdrangel = libsForQt5.callPackage ../applications/radio/sdrangel {  };
+
   sepolgen = callPackage ../os-specific/linux/sepolgen { };
 
   setools = callPackage ../os-specific/linux/setools { };
@@ -16406,6 +16519,10 @@ in
     libgcrypt = null;
   };
 
+  usbguard-nox = usbguard.override {
+    withGui = false;
+  };
+
   usbutils = callPackage ../os-specific/linux/usbutils { };
 
   usermount = callPackage ../os-specific/linux/usermount { };
@@ -16704,6 +16821,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 {};
@@ -16901,7 +17020,6 @@ in
 
   powerline-rs = callPackage ../tools/misc/powerline-rs {
     inherit (darwin.apple_sdk.frameworks) Security;
-    openssl = openssl_1_1;
   };
 
   profont = callPackage ../data/fonts/profont { };
@@ -16948,6 +17066,8 @@ in
 
   starship = callPackage ../tools/misc/starship { };
 
+  stig = callPackage ../applications/networking/p2p/stig { };
+
   stix-otf = callPackage ../data/fonts/stix-otf { };
 
   stix-two = callPackage ../data/fonts/stix-two { };
@@ -17029,6 +17149,8 @@ in
     gtk = res.gtk2;
   };
 
+  theme-obsidian2 = callPackage ../data/themes/obsidian2 { };
+
   themes = name: callPackage (../data/misc/themes + ("/" + name + ".nix")) {};
 
   theano = callPackage ../data/fonts/theano { };
@@ -17262,7 +17384,6 @@ in
   clightning = altcoins.clightning;
   lnd = altcoins.lnd;
 
-  bitcoin-xt = altcoins.bitcoin-xt;
   cryptop = altcoins.cryptop;
 
   jnetmap = callPackage ../applications/networking/jnetmap {};
@@ -17627,15 +17748,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 { };
@@ -17837,7 +17949,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 { };
 
@@ -18144,7 +18258,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 { };
 
@@ -18192,7 +18308,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 { };
 
@@ -18479,7 +18597,7 @@ in
 
   get_iplayer = callPackage ../applications/misc/get_iplayer {};
 
-  getxbook = callPackage ../applications/misc/getxbook {};
+  getxbook = callPackage ../applications/misc/getxbook { };
 
   ghq = gitAndTools.ghq;
 
@@ -18627,10 +18745,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 { };
@@ -18968,6 +19086,8 @@ in
 
   iptraf-ng = callPackage ../applications/networking/iptraf-ng { };
 
+  irccloud = callPackage ../applications/networking/irc/irccloud { };
+
   irssi = callPackage ../applications/networking/irc/irssi { };
 
   irssi_fish = callPackage ../applications/networking/irc/irssi/fish { };
@@ -19141,6 +19261,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 { };
@@ -19364,6 +19486,8 @@ in
 
   marp = callPackage ../applications/office/marp { };
 
+  magnetico = callPackage ../applications/networking/p2p/magnetico { };
+
   matchbox = callPackage ../applications/window-managers/matchbox { };
 
   mblaze = callPackage ../applications/networking/mailreaders/mblaze { };
@@ -19461,7 +19585,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 {
@@ -19488,6 +19611,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 { };
@@ -20222,9 +20347,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 { };
 
@@ -20336,10 +20459,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 { };
@@ -20374,6 +20493,8 @@ in
 
   rpcs3 = libsForQt5.callPackage ../misc/emulators/rpcs3 { };
 
+  rsclock = callPackage ../applications/misc/rsclock { };
+
   rstudio = libsForQt5.callPackage ../applications/editors/rstudio {
     boost = boost166;
     llvmPackages = llvmPackages_7;
@@ -20510,8 +20631,6 @@ in
     ncurses = ncurses5;
   };
 
-  ssvnc = callPackage ../applications/networking/remote/ssvnc { };
-
   stupidterm = callPackage ../applications/misc/stupidterm {
     gtk = gtk3;
   };
@@ -20755,6 +20874,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;
@@ -20810,8 +20938,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 {};
@@ -22671,8 +22797,6 @@ in
 
   theme-jade1 = callPackage ../misc/themes/jade1 { };
 
-  theme-obsidian2 = callPackage ../misc/themes/obsidian2 { };
-
   theme-vertex = callPackage ../misc/themes/vertex { };
 
   rox-filer = callPackage ../desktops/rox/rox-filer {
@@ -22888,6 +23012,8 @@ in
 
   somatic-sniper = callPackage ../applications/science/biology/somatic-sniper { };
 
+  sortmerna = callPackage ../applications/science/biology/sortmerna { };
+
   stacks = callPackage ../applications/science/biology/stacks { };
 
   star = callPackage ../applications/science/biology/star { };
@@ -24062,6 +24188,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 { };
@@ -24452,6 +24580,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 { };
@@ -24460,7 +24590,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 { };
 
@@ -24620,7 +24752,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 { };
 
@@ -24659,8 +24791,6 @@ in
 
   fpm2 = callPackage ../tools/security/fpm2 { };
 
-  tw-rs = callPackage ../misc/tw-rs { };
-
   simplenote = callPackage ../applications/misc/simplenote { };
 
   hy = callPackage ../development/interpreters/hy {};
@@ -24752,6 +24882,8 @@ in
 
   tsung = callPackage ../applications/networking/tsung {};
 
+  bcompare = libsForQt5.callPackage ../applications/version-management/bcompare {};
+
   qmk_firmware = callPackage ../development/misc/qmk_firmware {
     avrgcc = pkgsCross.avr.buildPackages.gcc;
     avrbinutils = pkgsCross.avr.buildPackages.binutils;
@@ -24779,4 +24911,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/nixpkgs/pkgs/top-level/beam-packages.nix b/nixpkgs/pkgs/top-level/beam-packages.nix
index ef43f8784ae9..df9d3dbcff5b 100644
--- a/nixpkgs/pkgs/top-level/beam-packages.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/coq-packages.nix b/nixpkgs/pkgs/top-level/coq-packages.nix
index 3ac7b9413d95..d4c2c3b1e3f3 100644
--- a/nixpkgs/pkgs/top-level/coq-packages.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/dotnet-packages.nix b/nixpkgs/pkgs/top-level/dotnet-packages.nix
index 1740b3278097..e89a7d9df2aa 100644
--- a/nixpkgs/pkgs/top-level/dotnet-packages.nix
+++ b/nixpkgs/pkgs/top-level/dotnet-packages.nix
@@ -45,10 +45,31 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
     outputFiles = [ "lib/net40/*" ];
   };
 
-  FSharpCore = fetchNuGet {
+  FSharpCore302 = fetchNuGet {
+    baseName = "FSharp.Core";
+    version = "3.0.2";
+    sha256 = "1s4pqwbmhrsg5sw8i6dixdri3x0yjyilmkhsf4apfkp80si7d73q";
+    outputFiles = [ "*" ];
+  };
+
+  FSharpCore3125 = fetchNuGet {
+    baseName = "FSharp.Core";
+    version = "3.1.2.5";
+    sha256 = "0pfvjimrgrffb5rj612gsid044lfpk8g2cxyh9792dc1n8ck5hih";
+    outputFiles = [ "*" ];
+  };
+
+  FSharpCore4001 = fetchNuGet {
     baseName = "FSharp.Core";
     version = "4.0.0.1";
-    sha256 = "01nhjcxdz8l1r5vvdzhmgy5x7z5fqppab3ki34qg14axgf8jjygn";
+    sha256 = "0v53iq12ji2d1bkdyg9dn8sz5l93sprrh835amh39dghh8v8vm8k";
+    outputFiles = [ "*" ];
+  };
+
+  FSharpCore4117 = fetchNuGet {
+    baseName = "FSharp.Core";
+    version = "4.1.17";
+    sha256 = "1yk23ir66fgqm5r6qyf66zf64l0s223l3yd7p9yvbyimyg0hgzb1";
     outputFiles = [ "*" ];
   };
 
@@ -89,8 +110,8 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
 
   FSharpCompilerTools = fetchNuGet {
     baseName = "FSharp.Compiler.Tools";
-    version = "4.1.4";
-    sha256 = "0vsp0khlnwh15ibg8s161rw6a6i8rlriclpq53paga447jllf0m8";
+    version = "4.1.27";
+    sha256 = "1m3hl8ja9gp5ajxmjf7bnq24bbkd6kx7yhxf4zb8si27h1n9l6dl";
     outputFiles = [ "*" ];
   };
 
@@ -101,10 +122,10 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
     outputFiles = [ "build/*" ];
   };
 
-  FsLexYacc704 = fetchNuGet {
+  FsLexYacc706 = fetchNuGet {
     baseName = "FsLexYacc";
-    version = "7.0.4";
-    sha256 = "01zpdb0pybdf0by02rwd7pb1g0cmnn8jxm2pibzxjxw6f4l43ywi";
+    version = "7.0.6";
+    sha256 = "0xwiq8q5q6ga6zj24w83ch5csbv405xcg6jg2hmnjic0npz0drk2";
     outputFiles = [ "*" ];
   };
 
@@ -203,8 +224,8 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
 
   SystemValueTuple = fetchNuGet {
     baseName = "System.ValueTuple";
-    version = "4.3.0";
-    sha256 = "00p5s753xh5417arw3k6npf1pc1k3m1s9mrlkw5vmc7pg8lm6n88";
+    version = "4.3.1";
+    sha256 = "0qzq878s66yfkf4n2b9af8lw2bx45s3cg6mi0w8w0bi358fa7q70";
     outputFiles = [ "*" ];
   };
 
@@ -848,13 +869,13 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
 
   Nuget = buildDotnetPackage {
     baseName = "Nuget";
-    version = "3.4.3";
+    version = "4.9.1";
 
     src = fetchFromGitHub {
       owner = "mono";
       repo = "nuget-binary";
-      rev = "1f3025c2eb13bfcb56b47ddd77329ac3d9911d1c";
-      sha256 = "01snk05hcrp5i2ys3p1y34r05q1b460q6wb8p3vwpba2q2czdax5";
+      rev = "7871fa26914593fdb2f2500df1196df7b8aecb1c";
+      sha256 = "07r63xam6icm17pf6amh1qkmna13nxa3ncdan7a3ql307i5isriz";
     };
 
     buildInputs = [ unzip ];
diff --git a/nixpkgs/pkgs/top-level/ocaml-packages.nix b/nixpkgs/pkgs/top-level/ocaml-packages.nix
index f42b9fd2e33c..7eabfccf85f0 100644
--- a/nixpkgs/pkgs/top-level/ocaml-packages.nix
+++ b/nixpkgs/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 { };
@@ -380,11 +382,7 @@ let
 
     lambdasoup = callPackage ../development/ocaml-modules/lambdasoup { };
 
-    lambdaTerm-1_6 = callPackage ../development/ocaml-modules/lambda-term/1.6.nix { lwt = lwt2; };
-    lambdaTerm =
-      if lib.versionOlder "4.02" ocaml.version
-      then callPackage ../development/ocaml-modules/lambda-term { }
-      else lambdaTerm-1_6;
+    lambdaTerm = callPackage ../development/ocaml-modules/lambda-term { };
 
     linenoise = callPackage ../development/ocaml-modules/linenoise { };
 
@@ -766,6 +764,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/nixpkgs/pkgs/top-level/perl-packages.nix b/nixpkgs/pkgs/top-level/perl-packages.nix
index 9ff9045600be..6180f6372e27 100644
--- a/nixpkgs/pkgs/top-level/perl-packages.nix
+++ b/nixpkgs/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 ];
   };
@@ -4523,17 +4532,6 @@ let
     };
   };
 
-  DeviceSerialPort = buildPerlPackage {
-    pname = "Device-SerialPort";
-    version = "1.04";
-    src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/COOK/Device-SerialPort-1.04.tar.gz;
-      sha256 = "1mz9a2qzkz6fbz76wcwmp48h6ckjxpcazb70q03acklvndy5d4nk";
-    };
-    meta = {
-    };
-  };
-
   DBDMock = buildPerlModule {
     pname = "DBD-Mock";
     version = "1.45";
@@ -8855,6 +8853,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/;
@@ -14990,6 +14993,19 @@ let
     };
   };
 
+  DeviceSerialPort = buildPerlPackage rec {
+    pname = "Device-SerialPort";
+    version = "1.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CO/COOK/${pname}-${version}.tar.gz";
+      sha256 = "1mz9a2qzkz6fbz76wcwmp48h6ckjxpcazb70q03acklvndy5d4nk";
+    };
+    meta = with stdenv.lib; {
+      description = "Linux/POSIX emulation of Win32::SerialPort functions.";
+      license = with licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ServerStarter = buildPerlModule {
     pname = "Server-Starter";
     version = "0.34";
@@ -19282,12 +19298,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/nixpkgs/pkgs/top-level/php-packages.nix b/nixpkgs/pkgs/top-level/php-packages.nix
index 801a9c9e30bf..879ffc9f441c 100644
--- a/nixpkgs/pkgs/top-level/php-packages.nix
+++ b/nixpkgs/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/nixpkgs/pkgs/top-level/python-packages.nix b/nixpkgs/pkgs/top-level/python-packages.nix
index f319bdf7b11e..e8dca7c924b7 100644
--- a/nixpkgs/pkgs/top-level/python-packages.nix
+++ b/nixpkgs/pkgs/top-level/python-packages.nix
@@ -569,19 +569,27 @@ 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 { };
+  flufl_bounce = callPackage ../development/python-modules/flufl/bounce.nix { };
 
-  filemagic = callPackage ../development/python-modules/filemagic { };
+  flufl_i18n = callPackage ../development/python-modules/flufl/i18n.nix { };
+
+  flufl_lock = callPackage ../development/python-modules/flufl/lock.nix { };
+
+  foxdot = callPackage ../development/python-modules/foxdot { };
 
   fsspec = callPackage ../development/python-modules/fsspec { };
 
@@ -683,6 +691,10 @@ in {
 
   langdetect = callPackage ../development/python-modules/langdetect { };
 
+  lazr_config = callPackage ../development/python-modules/lazr/config.nix { };
+
+  lazr_delegates = callPackage ../development/python-modules/lazr/delegates.nix { };
+
   libmr = callPackage ../development/python-modules/libmr { };
 
   limitlessled = callPackage ../development/python-modules/limitlessled { };
@@ -699,6 +711,10 @@ in {
 
   mail-parser = callPackage ../development/python-modules/mail-parser { };
 
+  mailman = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/core.nix { });
+
+  mailmanclient = callPackage ../development/python-modules/mailmanclient { };
+
   manhole = callPackage ../development/python-modules/manhole { };
 
   markerlib = callPackage ../development/python-modules/markerlib { };
@@ -807,6 +823,8 @@ in {
 
   poetry = callPackage ../development/python-modules/poetry { };
 
+  postorius = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/postorius.nix { });
+
   pplpy = callPackage ../development/python-modules/pplpy { };
 
   pprintpp = callPackage ../development/python-modules/pprintpp { };
@@ -1570,6 +1588,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 { };
@@ -2852,6 +2872,8 @@ in {
 
   django-logentry-admin = callPackage ../development/python-modules/django-logentry-admin { };
 
+  django-mailman3 = callPackage ../development/python-modules/django-mailman3 { };
+
   django-pglocks = callPackage ../development/python-modules/django-pglocks { };
 
   django-picklefield = callPackage ../development/python-modules/django-picklefield { };
@@ -3752,7 +3774,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 {};
 
@@ -4126,11 +4148,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 { };
 
@@ -4311,7 +4329,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 { };
 
@@ -5051,6 +5069,8 @@ in {
 
   xarray = callPackage ../development/python-modules/xarray { };
 
+  xapian = callPackage ../development/python-modules/xapian { xapian = pkgs.xapian; };
+
   xlwt = callPackage ../development/python-modules/xlwt { };
 
   xxhash = callPackage ../development/python-modules/xxhash { };
@@ -5823,6 +5843,7 @@ in {
     cudatoolkit = pkgs.cudatoolkit_10;
     cudnn = pkgs.cudnn_cudatoolkit_10;
     nccl = pkgs.nccl_cudatoolkit_10;
+    openssl = pkgs.openssl_1_0_2;
   };
 
   tensorflow = if stdenv.isDarwin then self.tensorflow-bin else self.tensorflow-build;
@@ -6073,7 +6094,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 { };