summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CONTRIBUTING.md5
-rw-r--r--doc/builders/trivial-builders.xml21
-rw-r--r--doc/contributing/coding-conventions.xml21
-rw-r--r--doc/languages-frameworks/gnome.xml4
-rw-r--r--doc/languages-frameworks/haskell.section.md44
-rw-r--r--doc/stdenv/cross-compilation.xml2
-rw-r--r--doc/stdenv/stdenv.xml2
-rw-r--r--maintainers/maintainer-list.nix56
-rw-r--r--nixos/doc/manual/installation/installing.xml5
-rw-r--r--nixos/doc/manual/release-notes/rl-2003.xml35
-rw-r--r--nixos/lib/test-driver/test-driver.py143
-rw-r--r--nixos/modules/config/networking.nix17
-rw-r--r--nixos/modules/hardware/video/nvidia.nix5
-rw-r--r--nixos/modules/i18n/input-method/ibus.nix10
-rw-r--r--nixos/modules/misc/version.nix2
-rw-r--r--nixos/modules/module-list.nix2
-rw-r--r--nixos/modules/programs/dconf.nix6
-rw-r--r--nixos/modules/programs/ssmtp.nix14
-rw-r--r--nixos/modules/rename.nix3
-rw-r--r--nixos/modules/services/audio/roon-server.nix3
-rw-r--r--nixos/modules/services/desktops/neard.nix23
-rw-r--r--nixos/modules/services/hardware/bluetooth.nix32
-rw-r--r--nixos/modules/services/hardware/upower.nix181
-rw-r--r--nixos/modules/services/misc/gitea.nix21
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix3
-rw-r--r--nixos/modules/services/network-filesystems/samba.nix2
-rw-r--r--nixos/modules/services/networking/dnschain.nix4
-rw-r--r--nixos/modules/services/networking/dnscrypt-wrapper.nix3
-rw-r--r--nixos/modules/services/networking/fakeroute.nix2
-rw-r--r--nixos/modules/services/networking/monero.nix12
-rw-r--r--nixos/modules/services/networking/namecoind.nix2
-rw-r--r--nixos/modules/services/networking/pdns-recursor.nix15
-rw-r--r--nixos/modules/services/networking/privoxy.nix2
-rw-r--r--nixos/modules/services/networking/searx.nix2
-rw-r--r--nixos/modules/services/networking/v2ray.nix81
-rw-r--r--nixos/modules/services/networking/wpa_supplicant.nix9
-rw-r--r--nixos/modules/services/networking/yggdrasil.nix6
-rw-r--r--nixos/modules/services/torrent/magnetico.nix2
-rw-r--r--nixos/modules/services/web-apps/matomo-doc.xml6
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix9
-rw-r--r--nixos/modules/services/web-apps/wordpress.nix2
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix2
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix1
-rw-r--r--nixos/modules/services/x11/compton.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix27
-rw-r--r--nixos/modules/services/x11/unclutter.nix3
-rw-r--r--nixos/modules/services/x11/urxvtd.nix2
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl12
-rw-r--r--nixos/modules/system/boot/networkd.nix4
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix66
-rw-r--r--nixos/release-combined.nix3
-rw-r--r--nixos/release-small.nix3
-rw-r--r--nixos/tests/all-tests.nix6
-rw-r--r--nixos/tests/consul.nix143
-rw-r--r--nixos/tests/containers-bridge.nix79
-rw-r--r--nixos/tests/containers-imperative.nix186
-rw-r--r--nixos/tests/containers-ip.nix77
-rw-r--r--nixos/tests/containers-ipv4.nix55
-rw-r--r--nixos/tests/containers-ipv6.nix60
-rw-r--r--nixos/tests/dhparams.nix98
-rw-r--r--nixos/tests/docker-tools-overlay.nix15
-rw-r--r--nixos/tests/ecryptfs.nix121
-rw-r--r--nixos/tests/env.nix25
-rw-r--r--nixos/tests/ferm.nix30
-rw-r--r--nixos/tests/gocd-agent.nix24
-rw-r--r--nixos/tests/gocd-server.nix26
-rw-r--r--nixos/tests/gvisor.nix49
-rw-r--r--nixos/tests/i3wm.nix51
-rw-r--r--nixos/tests/iftop.nix25
-rw-r--r--nixos/tests/installed-tests/default.nix76
-rw-r--r--nixos/tests/installed-tests/ibus.nix20
-rw-r--r--nixos/tests/kernel-latest.nix6
-rw-r--r--nixos/tests/kernel-lts.nix6
-rw-r--r--nixos/tests/kernel-testing.nix6
-rw-r--r--nixos/tests/ldap.nix212
-rw-r--r--nixos/tests/mailcatcher.nix4
-rw-r--r--nixos/tests/matomo.nix17
-rw-r--r--nixos/tests/mediawiki.nix10
-rw-r--r--nixos/tests/memcached.nix26
-rw-r--r--nixos/tests/moinmoin.nix20
-rw-r--r--nixos/tests/munin.nix44
-rw-r--r--nixos/tests/nat.nix55
-rw-r--r--nixos/tests/ndppd.nix10
-rw-r--r--nixos/tests/netdata.nix19
-rw-r--r--nixos/tests/nextcloud/basic.nix18
-rw-r--r--nixos/tests/nextcloud/with-mysql-and-memcached.nix21
-rw-r--r--nixos/tests/nextcloud/with-postgresql-and-redis.nix20
-rw-r--r--nixos/tests/openarena.nix15
-rw-r--r--nixos/tests/openldap.nix10
-rw-r--r--nixos/tests/pam-oath-login.nix110
-rw-r--r--nixos/tests/pam-u2f.nix8
-rw-r--r--nixos/tests/pantheon.nix3
-rw-r--r--nixos/tests/predictable-interface-names.nix6
-rw-r--r--nixos/tests/rabbitmq.nix16
-rw-r--r--nixos/tests/radicale.nix88
-rw-r--r--nixos/tests/resolv.nix46
-rw-r--r--nixos/tests/tiddlywiki.nix80
-rw-r--r--nixos/tests/timezone.nix95
-rw-r--r--nixos/tests/xmpp/ejabberd.nix26
-rw-r--r--nixos/tests/xrdp.nix36
-rw-r--r--nixos/tests/xss-lock.nix26
-rw-r--r--pkgs/applications/audio/bsequencer/default.nix6
-rw-r--r--pkgs/applications/audio/cantata/default.nix2
-rw-r--r--pkgs/applications/audio/easytag/default.nix2
-rw-r--r--pkgs/applications/audio/helm/default.nix6
-rw-r--r--pkgs/applications/audio/jack-oscrolloscope/default.nix4
-rw-r--r--pkgs/applications/audio/lollypop/default.nix6
-rw-r--r--pkgs/applications/audio/mda-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/meters_lv2/default.nix4
-rw-r--r--pkgs/applications/audio/mpc/default.nix8
-rw-r--r--pkgs/applications/audio/ncspot/default.nix10
-rw-r--r--pkgs/applications/audio/noise-repellent/default.nix29
-rw-r--r--pkgs/applications/audio/opus-tools/default.nix2
-rw-r--r--pkgs/applications/audio/opusfile/default.nix2
-rw-r--r--pkgs/applications/audio/pianobooster/default.nix7
-rw-r--r--pkgs/applications/audio/picard/default.nix4
-rw-r--r--pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--pkgs/applications/audio/reaper/default.nix4
-rw-r--r--pkgs/applications/audio/setbfree/default.nix4
-rw-r--r--pkgs/applications/audio/sisco.lv2/default.nix4
-rw-r--r--pkgs/applications/audio/snd/default.nix6
-rw-r--r--pkgs/applications/audio/soundscape-renderer/default.nix4
-rw-r--r--pkgs/applications/audio/spotify-tui/default.nix13
-rw-r--r--pkgs/applications/audio/strawberry/default.nix6
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix8
-rw-r--r--pkgs/applications/audio/zam-plugins/default.nix10
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc.nix8
-rw-r--r--pkgs/applications/blockchains/bitcoin.nix10
-rw-r--r--pkgs/applications/blockchains/dogecoin.nix4
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix37
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix4
-rw-r--r--pkgs/applications/blockchains/parity/beta.nix4
-rw-r--r--pkgs/applications/blockchains/parity/default.nix4
-rw-r--r--pkgs/applications/display-managers/lightdm/gtk-greeter.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-packages.nix3
-rw-r--r--pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs/25.nix27
-rw-r--r--pkgs/applications/editors/flpsed/default.nix2
-rw-r--r--pkgs/applications/editors/geany/default.nix45
-rw-r--r--pkgs/applications/editors/geany/with-vte.nix32
-rw-r--r--pkgs/applications/editors/jucipp/default.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-php.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-python.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop.nix4
-rw-r--r--pkgs/applications/editors/kodestudio/default.nix4
-rw-r--r--pkgs/applications/editors/mle/default.nix4
-rw-r--r--pkgs/applications/editors/nano/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/neovim-remote.nix4
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix6
-rw-r--r--pkgs/applications/editors/tiled/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix6
-rw-r--r--pkgs/applications/editors/yi/wrapper.nix2
-rw-r--r--pkgs/applications/gis/saga/default.nix4
-rw-r--r--pkgs/applications/graphics/akira/default.nix76
-rw-r--r--pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch88
-rw-r--r--pkgs/applications/graphics/antimony/default.nix4
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix4
-rw-r--r--pkgs/applications/graphics/cq-editor/default.nix57
-rw-r--r--pkgs/applications/graphics/digikam/default.nix6
-rw-r--r--pkgs/applications/graphics/draftsight/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/exrdisplay/default.nix4
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--pkgs/applications/graphics/freepv/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/default.nix2
-rw-r--r--pkgs/applications/graphics/gscan2pdf/default.nix2
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--pkgs/applications/graphics/hugin/default.nix4
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix10
-rw-r--r--pkgs/applications/graphics/k3d/default.nix8
-rw-r--r--pkgs/applications/graphics/kodelife/default.nix8
-rw-r--r--pkgs/applications/graphics/mandelbulber/default.nix64
-rw-r--r--pkgs/applications/graphics/mcomix/default.nix2
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix44
-rw-r--r--pkgs/applications/graphics/openimageio/2.x.nix4
-rw-r--r--pkgs/applications/graphics/openscad/default.nix4
-rw-r--r--pkgs/applications/graphics/paraview/default.nix4
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix4
-rw-r--r--pkgs/applications/graphics/sxiv/default.nix2
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix4
-rw-r--r--pkgs/applications/kde/ark/default.nix1
-rw-r--r--pkgs/applications/misc/alacritty/default.nix12
-rw-r--r--pkgs/applications/misc/blender/default.nix4
-rw-r--r--pkgs/applications/misc/buku/default.nix1
-rw-r--r--pkgs/applications/misc/calibre/default.nix2
-rw-r--r--pkgs/applications/misc/cpp-ethereum/default.nix4
-rw-r--r--pkgs/applications/misc/cura/default.nix6
-rw-r--r--pkgs/applications/misc/cura/plugins.nix6
-rw-r--r--pkgs/applications/misc/curaengine/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix14
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/googleearth/default.nix4
-rw-r--r--pkgs/applications/misc/googler/default.nix12
-rw-r--r--pkgs/applications/misc/gummi/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix16
-rw-r--r--pkgs/applications/misc/icesl/default.nix4
-rw-r--r--pkgs/applications/misc/josm/default.nix4
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix2
-rw-r--r--pkgs/applications/misc/kanboard/default.nix4
-rw-r--r--pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/kitty/default.nix14
-rw-r--r--pkgs/applications/misc/kitty/fix-paths.patch11
-rw-r--r--pkgs/applications/misc/kitty/library-paths.patch32
-rw-r--r--pkgs/applications/misc/kitty/no-werror.patch6
-rw-r--r--pkgs/applications/misc/llpp/default.nix4
-rw-r--r--pkgs/applications/misc/merkaartor/default.nix10
-rw-r--r--pkgs/applications/misc/minder/default.nix4
-rw-r--r--pkgs/applications/misc/mlterm/default.nix7
-rw-r--r--pkgs/applications/misc/navit/default.nix4
-rw-r--r--pkgs/applications/misc/nnn/default.nix4
-rw-r--r--pkgs/applications/misc/onboard/default.nix6
-rw-r--r--pkgs/applications/misc/openbrf/default.nix4
-rw-r--r--pkgs/applications/misc/opencpn/default.nix6
-rw-r--r--pkgs/applications/misc/osmium-tool/default.nix4
-rw-r--r--pkgs/applications/misc/plank/default.nix3
-rw-r--r--pkgs/applications/misc/prusa-slicer/default.nix5
-rw-r--r--pkgs/applications/misc/qtpass/default.nix7
-rw-r--r--pkgs/applications/misc/simplenote/default.nix54
-rw-r--r--pkgs/applications/misc/slic3r/boost-compile-error.patch12
-rw-r--r--pkgs/applications/misc/slic3r/default.nix9
-rw-r--r--pkgs/applications/misc/stretchly/default.nix140
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/taizen/default.nix25
-rw-r--r--pkgs/applications/misc/taskell/default.nix4
-rw-r--r--pkgs/applications/misc/tilix/default.nix4
-rw-r--r--pkgs/applications/misc/vifm/default.nix27
-rw-r--r--pkgs/applications/misc/workrave/default.nix3
-rw-r--r--pkgs/applications/misc/xchm/default.nix4
-rw-r--r--pkgs/applications/misc/xdgmenumaker/default.nix38
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/proxy.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix10
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix770
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix770
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix776
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix9
-rw-r--r--pkgs/applications/networking/browsers/firefox/fix-ff71-lto.patch100
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix9
-rw-r--r--pkgs/applications/networking/browsers/next-gtk-webkit/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/next/default.nix150
-rw-r--r--pkgs/applications/networking/browsers/next/next-gtk-webkit.nix50
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/uzbl/default.nix45
-rw-r--r--pkgs/applications/networking/browsers/vimprobable2/default.nix43
-rw-r--r--pkgs/applications/networking/cawbird/default.nix52
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/kubeval/default.nix26
-rw-r--r--pkgs/applications/networking/cluster/kubeval/deps.nix174
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/data.nix186
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/dsvpn/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/rssguard/default.nix4
-rw-r--r--pkgs/applications/networking/gopher/gopher/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/fractal/default.nix19
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix27
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix540
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix1426
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/package.json27
-rw-r--r--pkgs/applications/networking/instant-messengers/matrixcli/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/pro.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-web.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/server.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix78
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/wire-desktop/default.nix102
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/balsa/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/quiterss/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix9
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix74
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix10
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/default.nix3
-rw-r--r--pkgs/applications/networking/ssb/patchwork/default.nix8
-rw-r--r--pkgs/applications/networking/syncthing/add-stcli-target.patch16
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/office/bookworm/default.nix4
-rw-r--r--pkgs/applications/office/libreoffice/default.nix21
-rw-r--r--pkgs/applications/office/libreoffice/still.nix21
-rw-r--r--pkgs/applications/office/minetime/default.nix37
-rw-r--r--pkgs/applications/office/mmex/default.nix13
-rw-r--r--pkgs/applications/office/scribus/unstable.nix15
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix84
-rw-r--r--pkgs/applications/office/zotero/default.nix7
-rw-r--r--pkgs/applications/radio/dump1090/default.nix30
-rw-r--r--pkgs/applications/radio/tlf/default.nix4
-rw-r--r--pkgs/applications/radio/urh/default.nix4
-rw-r--r--pkgs/applications/radio/welle-io/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/celestia/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gildas/default.nix6
-rw-r--r--pkgs/applications/science/astronomy/gravit/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix4
-rw-r--r--pkgs/applications/science/biology/bftools/default.nix4
-rw-r--r--pkgs/applications/science/biology/hmmer/default.nix4
-rw-r--r--pkgs/applications/science/biology/kallisto/default.nix4
-rw-r--r--pkgs/applications/science/biology/paml/default.nix5
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/avogadro/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/marvin/default.nix4
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/unstable.nix4
-rw-r--r--pkgs/applications/science/electronics/pcb/default.nix4
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/default.nix1
-rw-r--r--pkgs/applications/science/logic/mcrl2/default.nix4
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix4
-rw-r--r--pkgs/applications/science/math/giac/default.nix6
-rw-r--r--pkgs/applications/science/math/glsurf/default.nix4
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/applications/science/math/pspp/default.nix5
-rw-r--r--pkgs/applications/science/math/sage/sage-tests.nix2
-rw-r--r--pkgs/applications/science/medicine/aliza/default.nix4
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix4
-rw-r--r--pkgs/applications/science/misc/golly/beta.nix4
-rw-r--r--pkgs/applications/science/misc/gplates/default.nix4
-rw-r--r--pkgs/applications/science/misc/netlogo/default.nix4
-rw-r--r--pkgs/applications/science/misc/root/5.nix4
-rw-r--r--pkgs/applications/science/misc/root/default.nix4
-rw-r--r--pkgs/applications/science/misc/tulip/default.nix4
-rw-r--r--pkgs/applications/science/misc/vite/default.nix6
-rw-r--r--pkgs/applications/search/catfish/default.nix4
-rw-r--r--pkgs/applications/version-management/bcompare/default.nix2
-rw-r--r--pkgs/applications/version-management/bugseverywhere/default.nix34
-rw-r--r--pkgs/applications/version-management/git-and-tools/delta/default.nix5
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix16
-rw-r--r--pkgs/applications/version-management/git-and-tools/subgit/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix5
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile8
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock31
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/deps.nix662
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix42
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile47
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock196
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix280
-rw-r--r--pkgs/applications/version-management/gitlab/yarnPkgs.nix1488
-rw-r--r--pkgs/applications/version-management/gource/default.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix3
-rw-r--r--pkgs/applications/version-management/yadm/default.nix36
-rw-r--r--pkgs/applications/video/aegisub/default.nix4
-rw-r--r--pkgs/applications/video/bomi/default.nix4
-rw-r--r--pkgs/applications/video/kodi/default.nix4
-rw-r--r--pkgs/applications/video/makemkv/default.nix6
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix6
-rw-r--r--pkgs/applications/video/mplayer/default.nix6
-rw-r--r--pkgs/applications/video/mpv/default.nix8
-rw-r--r--pkgs/applications/video/mythtv/default.nix4
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix4
-rw-r--r--pkgs/applications/video/smplayer/default.nix4
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix4
-rw-r--r--pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--pkgs/applications/virtualization/cntr/default.nix4
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-compose/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/distribution.nix4
-rw-r--r--pkgs/applications/virtualization/gvisor/containerd-shim.nix36
-rw-r--r--pkgs/applications/virtualization/gvisor/default.nix101
-rw-r--r--pkgs/applications/virtualization/podman-compose/default.nix21
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix17
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/extpack.nix2
-rw-r--r--pkgs/applications/virtualization/x11docker/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/blocks.nix10
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--pkgs/build-support/agda/default.nix2
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix6
-rw-r--r--pkgs/build-support/build-bazel-package/default.nix30
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix24
-rw-r--r--pkgs/build-support/docker/default.nix3
-rw-r--r--pkgs/build-support/docker/examples.nix7
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git1
-rw-r--r--pkgs/build-support/rust/build-rust-crate/build-crate.nix27
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix15
-rw-r--r--pkgs/build-support/rust/build-rust-crate/install-crate.nix22
-rw-r--r--pkgs/build-support/rust/default.nix19
-rw-r--r--pkgs/build-support/trivial-builders.nix29
-rw-r--r--pkgs/build-support/vm/windows/default.nix3
-rwxr-xr-xpkgs/common-updater/scripts/update-source-version2
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/fonts/cantarell-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/cascadia-code/default.nix4
-rw-r--r--pkgs/data/fonts/input-fonts/default.nix6
-rw-r--r--pkgs/data/fonts/overpass/default.nix6
-rw-r--r--pkgs/data/icons/flat-remix-icon-theme/default.nix35
-rw-r--r--pkgs/data/icons/zafiro-icons/default.nix6
-rw-r--r--pkgs/data/misc/cldr-emoji-annotation/default.nix27
-rw-r--r--pkgs/data/misc/tzdata/default.nix6
-rw-r--r--pkgs/data/misc/unicode-character-database/default.nix38
-rw-r--r--pkgs/data/misc/unicode-emoji/default.nix59
-rw-r--r--pkgs/data/misc/unihan-database/default.nix38
-rw-r--r--pkgs/data/themes/plata/default.nix4
-rw-r--r--pkgs/desktops/deepin/dbus-factory/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-api/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-calendar/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-control-center/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-daemon/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-dock/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-file-manager/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-launcher/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-network-utils/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-polkit-agent/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix2
-rw-r--r--pkgs/desktops/deepin/dde-session-ui/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-anything/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-calculator/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-base/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-schemas/default.nix6
-rw-r--r--pkgs/desktops/deepin/deepin-gettext-tools/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-gtk-theme/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-icon-theme/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-image-viewer/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-menu/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-movie-reborn/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-screenshot/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-sound-theme/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-terminal/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-turbo/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-wallpapers/default.nix2
-rw-r--r--pkgs/desktops/deepin/disomaster/default.nix2
-rw-r--r--pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix2
-rw-r--r--pkgs/desktops/deepin/dtkcore/default.nix2
-rw-r--r--pkgs/desktops/deepin/dtkwidget/default.nix2
-rw-r--r--pkgs/desktops/deepin/dtkwm/default.nix2
-rw-r--r--pkgs/desktops/deepin/go-dbus-factory/default.nix2
-rw-r--r--pkgs/desktops/deepin/go-dbus-generator/default.nix2
-rw-r--r--pkgs/desktops/deepin/go-gir-generator/default.nix2
-rw-r--r--pkgs/desktops/deepin/go-lib/default.nix2
-rw-r--r--pkgs/desktops/deepin/qcef/default.nix2
-rw-r--r--pkgs/desktops/deepin/qt5dxcb-plugin/default.nix2
-rw-r--r--pkgs/desktops/deepin/qt5integration/default.nix2
-rw-r--r--pkgs/desktops/deepin/udisks2-qt5/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix14
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglext/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gedit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-maps/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gucharmap/default.nix86
-rw-r--r--pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix45
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix124
-rw-r--r--pkgs/desktops/gnome-3/core/rygel/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp-xsl/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/extensions/caffeine/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-taquin/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/iagno/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-desktop/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-terminal/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/appcenter/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calculator/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calendar/default.nix7
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-videos/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix14
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch76
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix12
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch39
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix15
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch20
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix10
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch33
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard/wrapper.nix21
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix21
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix11
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch24
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix6
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix29
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix6
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix6
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix6
-rw-r--r--pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix25
-rw-r--r--pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix4
-rwxr-xr-xpkgs/desktops/pantheon/update.sh21
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch18
-rw-r--r--pkgs/desktops/xfce/default.nix7
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix27
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix18
-rw-r--r--pkgs/development/androidndk-pkgs/androidndk-pkgs.nix2
-rw-r--r--pkgs/development/compilers/abcl/default.nix4
-rw-r--r--pkgs/development/compilers/crystal/default.nix42
-rw-r--r--pkgs/development/compilers/cudatoolkit/common.nix38
-rw-r--r--pkgs/development/compilers/fasm/bin.nix4
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix3
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix3
-rw-r--r--pkgs/development/compilers/ghc/8.4.4.nix2
-rw-r--r--pkgs/development/compilers/ghc/8.6.5.nix2
-rw-r--r--pkgs/development/compilers/ghc/8.8.1.nix2
-rw-r--r--pkgs/development/compilers/ghc/head.nix2
-rw-r--r--pkgs/development/compilers/go-jsonnet/default.nix35
-rw-r--r--pkgs/development/compilers/go-jsonnet/deps.nix48
-rw-r--r--pkgs/development/compilers/intel-graphics-compiler/default.nix4
-rw-r--r--pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/4/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/5/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/5/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/6/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/6/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/7/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/7/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/llvm/7/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/8/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/llvm/8/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/9/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/manticore/default.nix6
-rw-r--r--pkgs/development/compilers/mruby/default.nix4
-rw-r--r--pkgs/development/compilers/nim/default.nix4
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix19
-rw-r--r--pkgs/development/compilers/orc/default.nix2
-rw-r--r--pkgs/development/compilers/ponyc/default.nix8
-rw-r--r--pkgs/development/compilers/ponyc/pony-stable.nix4
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix6
-rw-r--r--pkgs/development/compilers/rgbds/default.nix4
-rw-r--r--pkgs/development/compilers/rust/1_38_0.nix1
-rw-r--r--pkgs/development/compilers/rust/1_39_0.nix1
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix19
-rw-r--r--pkgs/development/compilers/rust/default.nix8
-rwxr-xr-xpkgs/development/compilers/rust/print-hashes.sh1
-rw-r--r--pkgs/development/compilers/rust/rustc.nix14
-rw-r--r--pkgs/development/compilers/smlnj/default.nix68
-rw-r--r--pkgs/development/compilers/smlnj/heap2exec.diff9
-rw-r--r--pkgs/development/compilers/souffle/default.nix4
-rw-r--r--pkgs/development/compilers/unison/default.nix6
-rw-r--r--pkgs/development/compilers/vala/default.nix12
-rw-r--r--pkgs/development/compilers/x11basic/default.nix4
-rw-r--r--pkgs/development/go-modules/generic/default.nix1
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix34
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix29
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml167
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix58
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix4498
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix3
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix6
-rw-r--r--pkgs/development/interpreters/io/default.nix4
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix30
-rw-r--r--pkgs/development/interpreters/love/0.10.nix4
-rw-r--r--pkgs/development/interpreters/love/0.7.nix4
-rw-r--r--pkgs/development/interpreters/love/0.8.nix4
-rw-r--r--pkgs/development/interpreters/love/0.9.nix4
-rw-r--r--pkgs/development/interpreters/love/11.1.nix4
-rw-r--r--pkgs/development/interpreters/lush/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/default.nix12
-rw-r--r--pkgs/development/interpreters/php/default.nix33
-rw-r--r--pkgs/development/interpreters/python/default.nix2
-rw-r--r--pkgs/development/interpreters/python/manylinux/default.nix83
-rwxr-xr-xpkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py2
-rw-r--r--pkgs/development/interpreters/racket/default.nix8
-rw-r--r--pkgs/development/interpreters/racket/minimal.nix2
-rw-r--r--pkgs/development/interpreters/renpy/default.nix6
-rw-r--r--pkgs/development/interpreters/wasmtime/cargo-lock.patch673
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix10
-rw-r--r--pkgs/development/libraries/AntTweakBar/default.nix4
-rw-r--r--pkgs/development/libraries/CGAL/4.nix28
-rw-r--r--pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--pkgs/development/libraries/ace/default.nix4
-rw-r--r--pkgs/development/libraries/agda/Agda-Sheaves/default.nix2
-rw-r--r--pkgs/development/libraries/agda/TotalParserCombinators/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-base/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-prelude/default.nix2
-rw-r--r--pkgs/development/libraries/agda/agda-stdlib/default.nix2
-rw-r--r--pkgs/development/libraries/agda/bitvector/default.nix2
-rw-r--r--pkgs/development/libraries/agda/categories/default.nix2
-rw-r--r--pkgs/development/libraries/agda/pretty/default.nix2
-rw-r--r--pkgs/development/libraries/allegro/5.nix4
-rw-r--r--pkgs/development/libraries/allegro/default.nix4
-rw-r--r--pkgs/development/libraries/arrayfire/default.nix4
-rw-r--r--pkgs/development/libraries/aspell/default.nix14
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix3
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/box2d/default.nix4
-rw-r--r--pkgs/development/libraries/bullet/default.nix4
-rw-r--r--pkgs/development/libraries/bullet/roboschool-fork.nix4
-rw-r--r--pkgs/development/libraries/cairo/default.nix2
-rw-r--r--pkgs/development/libraries/chipmunk/default.nix4
-rw-r--r--pkgs/development/libraries/cln/default.nix6
-rw-r--r--pkgs/development/libraries/cppzmq/default.nix4
-rw-r--r--pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--pkgs/development/libraries/dconf/default.nix (renamed from pkgs/desktops/gnome-3/core/dconf/default.nix)0
-rw-r--r--pkgs/development/libraries/egl-wayland/default.nix79
-rw-r--r--pkgs/development/libraries/egl-wayland/eglmesaext.patch12
-rw-r--r--pkgs/development/libraries/enet/default.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix9
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix8
-rw-r--r--pkgs/development/libraries/ffms/default.nix2
-rw-r--r--pkgs/development/libraries/flatpak/default.nix4
-rw-r--r--pkgs/development/libraries/fltk/1.4.nix4
-rw-r--r--pkgs/development/libraries/folly/default.nix4
-rw-r--r--pkgs/development/libraries/forge/default.nix4
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix4
-rw-r--r--pkgs/development/libraries/freenect/default.nix4
-rw-r--r--pkgs/development/libraries/fribidi/default.nix8
-rw-r--r--pkgs/development/libraries/gaia/default.nix6
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix5
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/gegl/4.0.nix3
-rw-r--r--pkgs/development/libraries/giflib/default.nix2
-rw-r--r--pkgs/development/libraries/gjs/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/glm/default.nix2
-rw-r--r--pkgs/development/libraries/gloox/default.nix2
-rw-r--r--pkgs/development/libraries/glui/default.nix3
-rw-r--r--pkgs/development/libraries/gmime/3.nix4
-rw-r--r--pkgs/development/libraries/gpgme/default.nix2
-rw-r--r--pkgs/development/libraries/grib-api/default.nix20
-rw-r--r--pkgs/development/libraries/grpc/default.nix10
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix252
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix169
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix107
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix65
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix155
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix55
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix52
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix85
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix83
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix46
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix2
-rw-r--r--pkgs/development/libraries/gvfs/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/default.nix2
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/intel-media-sdk/default.nix6
-rw-r--r--pkgs/development/libraries/irrlicht/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix5
-rw-r--r--pkgs/development/libraries/java/swt/default.nix4
-rw-r--r--pkgs/development/libraries/jsoncpp/default.nix4
-rw-r--r--pkgs/development/libraries/libaal/default.nix2
-rw-r--r--pkgs/development/libraries/libagar/default.nix6
-rw-r--r--pkgs/development/libraries/libao/default.nix2
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix38
-rw-r--r--pkgs/development/libraries/libcerf/default.nix15
-rw-r--r--pkgs/development/libraries/libdigidocpp/default.nix4
-rw-r--r--pkgs/development/libraries/libfido2/default.nix6
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfprint/default.nix40
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix6
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix3
-rw-r--r--pkgs/development/libraries/libgnurl/default.nix4
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix2
-rw-r--r--pkgs/development/libraries/libicns/default.nix18
-rw-r--r--pkgs/development/libraries/libid3tag/default.nix2
-rw-r--r--pkgs/development/libraries/libidn2/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix1
-rw-r--r--pkgs/development/libraries/libisoburn/default.nix4
-rw-r--r--pkgs/development/libraries/libmaxminddb/default.nix4
-rw-r--r--pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--pkgs/development/libraries/libmpeg2/default.nix2
-rw-r--r--pkgs/development/libraries/libmypaint/default.nix8
-rw-r--r--pkgs/development/libraries/libnice/default.nix53
-rw-r--r--pkgs/development/libraries/libpng/12.nix2
-rw-r--r--pkgs/development/libraries/libpng/default.nix2
-rw-r--r--pkgs/development/libraries/libpsl/default.nix42
-rw-r--r--pkgs/development/libraries/libraw/default.nix7
-rw-r--r--pkgs/development/libraries/librealsense/default.nix16
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix4
-rw-r--r--pkgs/development/libraries/libsolv/default.nix5
-rw-r--r--pkgs/development/libraries/libtcod/default.nix4
-rw-r--r--pkgs/development/libraries/libtermkey/default.nix7
-rw-r--r--pkgs/development/libraries/libusb1/default.nix9
-rw-r--r--pkgs/development/libraries/libvncserver/default.nix40
-rw-r--r--pkgs/development/libraries/libvterm-neovim/default.nix6
-rw-r--r--pkgs/development/libraries/libwebp/default.nix6
-rw-r--r--pkgs/development/libraries/libxl/default.nix10
-rw-r--r--pkgs/development/libraries/libxml2/default.nix10
-rw-r--r--pkgs/development/libraries/libxslt/default.nix22
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix4
-rw-r--r--pkgs/development/libraries/live555/default.nix4
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/mimalloc/default.nix34
-rw-r--r--pkgs/development/libraries/mygui/default.nix5
-rw-r--r--pkgs/development/libraries/nanoflann/default.nix12
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix7
-rw-r--r--pkgs/development/libraries/nss_wrapper/default.nix4
-rw-r--r--pkgs/development/libraries/nuspell/default.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.10.x.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.9.x.nix4
-rw-r--r--pkgs/development/libraries/ogre/default.nix4
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix2
-rw-r--r--pkgs/development/libraries/opencsg/default.nix4
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix2
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix2
-rw-r--r--pkgs/development/libraries/opencv/default.nix2
-rw-r--r--pkgs/development/libraries/openexrid-unstable/default.nix4
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix2
-rw-r--r--pkgs/development/libraries/partio/default.nix4
-rw-r--r--pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--pkgs/development/libraries/phonon/default.nix19
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix4
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix6
-rw-r--r--pkgs/development/libraries/plib/default.nix4
-rw-r--r--pkgs/development/libraries/polkit/default.nix6
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/prometheus-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.11.nix4
-rw-r--r--pkgs/development/libraries/protolock/default.nix6
-rw-r--r--pkgs/development/libraries/pybind11/default.nix47
-rw-r--r--pkgs/development/libraries/pybind11/no_test_cmake_build.patch7
-rw-r--r--pkgs/development/libraries/qt-3/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.11/default.nix175
-rw-r--r--pkgs/development/libraries/qt-5/5.11/fetch.sh1
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch30
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase.patch1106
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch46
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtscript.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtserialport.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qttools.patch86
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch37
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebkit.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.11/srcs.nix325
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix9
-rw-r--r--pkgs/development/libraries/qt-5/5.12/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch41
-rw-r--r--pkgs/development/libraries/qt-5/5.12/srcs.nix320
-rw-r--r--pkgs/development/libraries/qt-5/5.9/default.nix179
-rw-r--r--pkgs/development/libraries/qt-5/5.9/fetch.sh1
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch30
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch3985
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase.patch1119
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch33
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtscript.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtserialport.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qttools.patch71
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch38
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch50
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebkit.patch64
-rw-r--r--pkgs/development/libraries/qt-5/5.9/srcs.nix333
-rw-r--r--pkgs/development/libraries/quesoglc/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/QuadProgpp/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/or-tools/default.nix2
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix6
-rw-r--r--pkgs/development/libraries/simgear/default.nix4
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix4
-rw-r--r--pkgs/development/libraries/slang/default.nix2
-rw-r--r--pkgs/development/libraries/smarty3/default.nix4
-rw-r--r--pkgs/development/libraries/smpeg/default.nix4
-rw-r--r--pkgs/development/libraries/soxt/default.nix4
-rw-r--r--pkgs/development/libraries/sphinxbase/default.nix2
-rw-r--r--pkgs/development/libraries/sundials/default.nix6
-rw-r--r--pkgs/development/libraries/sundials/tests-parallel.patch45
-rw-r--r--pkgs/development/libraries/tepl/default.nix4
-rw-r--r--pkgs/development/libraries/vaapi-vdpau/default.nix4
-rw-r--r--pkgs/development/libraries/vrpn/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.nix111
-rw-r--r--pkgs/development/libraries/webkitgtk/configure.patch20
-rw-r--r--pkgs/development/libraries/webkitgtk/fix-execinfo.patch20
-rw-r--r--pkgs/development/libraries/webkitgtk/libc++.patch20
-rw-r--r--pkgs/development/libraries/webkitgtk/plugin-none.patch38
-rw-r--r--pkgs/development/libraries/webkitgtk/quartz-webcore.patch22
-rw-r--r--pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch8
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/default.nix9
-rw-r--r--pkgs/development/libraries/wxwidgets/3.1/default.nix9
-rw-r--r--pkgs/development/libraries/xapian/default.nix2
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix4
-rw-r--r--pkgs/development/libraries/zlib/default.nix2
-rw-r--r--pkgs/development/misc/amdapp-sdk/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/alcotest/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/asn1-combinators/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/biocaml/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/bos/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/cfstream/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/cfstream/git_commit.patch13
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/cpuid/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/eigen/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/fmt/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/git/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/gnuplot/default.nix22
-rw-r--r--pkgs/development/ocaml-modules/jsonm/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/kafka/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/logs/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/magic-mime/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/metrics/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/metrics/lwt.nix14
-rw-r--r--pkgs/development/ocaml-modules/metrics/unix.nix19
-rw-r--r--pkgs/development/ocaml-modules/mtime/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/nocrypto/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/num/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/num/enable-static.patch12
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/opam-file-format/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/opam-file-format/optional-static.patch13
-rw-r--r--pkgs/development/ocaml-modules/ounit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/owl-base/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/owl/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/phylogenetics/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/ppx_tools/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/ptime/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/tls/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/topkg/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uchar/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/uuidm/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/uutf/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/zarith/default.nix11
-rw-r--r--pkgs/development/pharo/vm/build-vm-legacy.nix6
-rw-r--r--pkgs/development/pharo/vm/build-vm.nix6
-rw-r--r--pkgs/development/pharo/vm/vms.nix2
-rw-r--r--pkgs/development/pure-modules/gl/default.nix4
-rw-r--r--pkgs/development/python-modules/APScheduler/default.nix4
-rw-r--r--pkgs/development/python-modules/Cython/default.nix14
-rw-r--r--pkgs/development/python-modules/GitPython/default.nix4
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--pkgs/development/python-modules/XlsxWriter/default.nix4
-rw-r--r--pkgs/development/python-modules/acoustics/default.nix4
-rw-r--r--pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--pkgs/development/python-modules/ansiwrap/default.nix44
-rw-r--r--pkgs/development/python-modules/apsw/default.nix12
-rw-r--r--pkgs/development/python-modules/argcomplete/default.nix4
-rw-r--r--pkgs/development/python-modules/arrow/default.nix4
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy-helpers/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy/default.nix4
-rw-r--r--pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch54
-rw-r--r--pkgs/development/python-modules/astroquery/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncpg/default.nix4
-rw-r--r--pkgs/development/python-modules/atomman/default.nix33
-rw-r--r--pkgs/development/python-modules/awkward/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-sam-translator/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-cosmosdb-table/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-datalake-store/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-loganalytics/default.nix8
-rw-r--r--pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-compute/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-monitor/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-netapp/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-network/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-reservations/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-sql/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-web/default.nix4
-rw-r--r--pkgs/development/python-modules/babelgladeextractor/default.nix6
-rw-r--r--pkgs/development/python-modules/behave/default.nix5
-rw-r--r--pkgs/development/python-modules/biopython/default.nix4
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--pkgs/development/python-modules/blist/default.nix10
-rw-r--r--pkgs/development/python-modules/boltons/default.nix4
-rw-r--r--pkgs/development/python-modules/btrees/default.nix4
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix11
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix4
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix10
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix4
-rw-r--r--pkgs/development/python-modules/cadquery/default.nix93
-rw-r--r--pkgs/development/python-modules/carbon/default.nix4
-rw-r--r--pkgs/development/python-modules/cchardet/default.nix4
-rw-r--r--pkgs/development/python-modules/cffi/default.nix4
-rw-r--r--pkgs/development/python-modules/cfn-lint/default.nix4
-rw-r--r--pkgs/development/python-modules/chainer/default.nix31
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix4
-rw-r--r--pkgs/development/python-modules/cleo/default.nix4
-rw-r--r--pkgs/development/python-modules/click-default-group/default.nix4
-rw-r--r--pkgs/development/python-modules/consonance/default.nix29
-rw-r--r--pkgs/development/python-modules/cornice/default.nix4
-rw-r--r--pkgs/development/python-modules/curio/default.nix2
-rw-r--r--pkgs/development/python-modules/dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/decorator/default.nix8
-rw-r--r--pkgs/development/python-modules/deprecated/default.nix9
-rw-r--r--pkgs/development/python-modules/diff_cover/default.nix4
-rw-r--r--pkgs/development/python-modules/dissononce/default.nix26
-rw-r--r--pkgs/development/python-modules/distlib/default.nix4
-rw-r--r--pkgs/development/python-modules/django-dynamic-preferences/default.nix4
-rw-r--r--pkgs/development/python-modules/django-multiselectfield/default.nix4
-rw-r--r--pkgs/development/python-modules/django-storages/default.nix4
-rw-r--r--pkgs/development/python-modules/django/2_1.nix4
-rw-r--r--pkgs/development/python-modules/django/2_2.nix4
-rw-r--r--pkgs/development/python-modules/dotnetcore2/default.nix4
-rw-r--r--pkgs/development/python-modules/emcee/default.nix4
-rw-r--r--pkgs/development/python-modules/eyed3/default.nix4
-rw-r--r--pkgs/development/python-modules/faker/default.nix4
-rw-r--r--pkgs/development/python-modules/fido2/default.nix19
-rw-r--r--pkgs/development/python-modules/fiona/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8-debugger/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-httpauth/default.nix20
-rw-r--r--pkgs/development/python-modules/future/default.nix4
-rw-r--r--pkgs/development/python-modules/gcovr/default.nix12
-rw-r--r--pkgs/development/python-modules/google-pasta/default.nix4
-rw-r--r--pkgs/development/python-modules/google_cloud_automl/default.nix4
-rw-r--r--pkgs/development/python-modules/gpapi/default.nix11
-rw-r--r--pkgs/development/python-modules/gplaycli/default.nix4
-rw-r--r--pkgs/development/python-modules/graph_nets/default.nix4
-rw-r--r--pkgs/development/python-modules/graphite-web/default.nix4
-rw-r--r--pkgs/development/python-modules/gunicorn/default.nix18
-rw-r--r--pkgs/development/python-modules/gym/default.nix4
-rw-r--r--pkgs/development/python-modules/handout/default.nix4
-rw-r--r--pkgs/development/python-modules/hiredis/default.nix4
-rw-r--r--pkgs/development/python-modules/html5-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/hupper/default.nix4
-rw-r--r--pkgs/development/python-modules/hvplot/default.nix2
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/0.4.nix4
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/default.nix3
-rw-r--r--pkgs/development/python-modules/inotify-simple/default.nix4
-rw-r--r--pkgs/development/python-modules/jdatetime/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkins-job-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkinsapi/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpc-async/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpc-base/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpc-websocket/default.nix8
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/kconfiglib/default.nix4
-rw-r--r--pkgs/development/python-modules/klaus/default.nix4
-rw-r--r--pkgs/development/python-modules/kombu/default.nix4
-rw-r--r--pkgs/development/python-modules/lark-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/lazr/config.nix4
-rw-r--r--pkgs/development/python-modules/lazy-object-proxy/default.nix4
-rw-r--r--pkgs/development/python-modules/ledgerblue/default.nix4
-rw-r--r--pkgs/development/python-modules/libarcus/default.nix6
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/libsavitar/default.nix2
-rw-r--r--pkgs/development/python-modules/license-expression/default.nix4
-rw-r--r--pkgs/development/python-modules/livestreamer/default.nix2
-rw-r--r--pkgs/development/python-modules/logilab/common.nix4
-rw-r--r--pkgs/development/python-modules/marshmallow/default.nix4
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix3
-rw-r--r--pkgs/development/python-modules/mechanize/default.nix4
-rw-r--r--pkgs/development/python-modules/minio/default.nix4
-rw-r--r--pkgs/development/python-modules/mock/default.nix11
-rw-r--r--pkgs/development/python-modules/moderngl/default.nix4
-rw-r--r--pkgs/development/python-modules/mpv/default.nix4
-rw-r--r--pkgs/development/python-modules/nbsphinx/default.nix4
-rw-r--r--pkgs/development/python-modules/nose-exclude/default.nix8
-rw-r--r--pkgs/development/python-modules/numpy/default.nix2
-rw-r--r--pkgs/development/python-modules/oauth/default.nix2
-rw-r--r--pkgs/development/python-modules/openpyxl/default.nix4
-rw-r--r--pkgs/development/python-modules/opentimestamps/default.nix4
-rw-r--r--pkgs/development/python-modules/opt-einsum/default.nix2
-rw-r--r--pkgs/development/python-modules/ovh/default.nix4
-rw-r--r--pkgs/development/python-modules/owslib/default.nix4
-rw-r--r--pkgs/development/python-modules/pafy/default.nix2
-rw-r--r--pkgs/development/python-modules/pandas/default.nix2
-rw-r--r--pkgs/development/python-modules/panel/default.nix2
-rw-r--r--pkgs/development/python-modules/papermill/default.nix70
-rw-r--r--pkgs/development/python-modules/papis/default.nix12
-rw-r--r--pkgs/development/python-modules/pdf2image/default.nix4
-rw-r--r--pkgs/development/python-modules/pgspecial/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix13
-rw-r--r--pkgs/development/python-modules/pivy/default.nix2
-rw-r--r--pkgs/development/python-modules/polyline/default.nix31
-rw-r--r--pkgs/development/python-modules/pony/default.nix2
-rw-r--r--pkgs/development/python-modules/progressbar2/default.nix5
-rw-r--r--pkgs/development/python-modules/pudb/default.nix4
-rw-r--r--pkgs/development/python-modules/pyGithub/default.nix4
-rw-r--r--pkgs/development/python-modules/pyasn1/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix52
-rw-r--r--pkgs/development/python-modules/pybullet/default.nix4
-rw-r--r--pkgs/development/python-modules/pycairo/default.nix4
-rw-r--r--pkgs/development/python-modules/pycollada/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodome/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodomex/default.nix4
-rw-r--r--pkgs/development/python-modules/pyftgl/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfxa/default.nix8
-rw-r--r--pkgs/development/python-modules/pyglet/default.nix7
-rw-r--r--pkgs/development/python-modules/pykde4/default.nix46
-rw-r--r--pkgs/development/python-modules/pykde4/dlfcn.patch13
-rw-r--r--pkgs/development/python-modules/pykde4/kdelibs.nix48
-rw-r--r--pkgs/development/python-modules/pylibacl/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pympler/default.nix4
-rw-r--r--pkgs/development/python-modules/pymupdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopengl/default.nix2
-rw-r--r--pkgs/development/python-modules/pysaml2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyscreenshot/default.nix29
-rw-r--r--pkgs/development/python-modules/pyspf/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-bdd/default.nix39
-rw-r--r--pkgs/development/python-modules/pytest-qt/default.nix39
-rw-r--r--pkgs/development/python-modules/pytest-repeat/default.nix28
-rw-r--r--pkgs/development/python-modules/pytest-rerunfailures/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-xvfb/default.nix28
-rw-r--r--pkgs/development/python-modules/pytest/default.nix4
-rw-r--r--pkgs/development/python-modules/python-daemon/default.nix27
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--pkgs/development/python-modules/python-periphery/default.nix4
-rw-r--r--pkgs/development/python-modules/python-stdnum/default.nix4
-rw-r--r--pkgs/development/python-modules/pywebkitgtk/default.nix27
-rw-r--r--pkgs/development/python-modules/pyzmq/default.nix4
-rw-r--r--pkgs/development/python-modules/rasterio/default.nix4
-rw-r--r--pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix4
-rw-r--r--pkgs/development/python-modules/reproject/default.nix19
-rw-r--r--pkgs/development/python-modules/rpy2/2.nix108
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix56
-rw-r--r--pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch21
-rw-r--r--pkgs/development/python-modules/runway-python/default.nix4
-rw-r--r--pkgs/development/python-modules/send2trash/default.nix11
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix30
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/shodan/default.nix4
-rw-r--r--pkgs/development/python-modules/slicedimage/default.nix5
-rw-r--r--pkgs/development/python-modules/smart_open/default.nix4
-rw-r--r--pkgs/development/python-modules/spectral-cube/default.nix17
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix6
-rw-r--r--pkgs/development/python-modules/starfish/default.nix4
-rw-r--r--pkgs/development/python-modules/sunpy/default.nix12
-rw-r--r--pkgs/development/python-modules/tabulate/default.nix4
-rw-r--r--pkgs/development/python-modules/tasklib/default.nix4
-rw-r--r--pkgs/development/python-modules/terminado/default.nix4
-rw-r--r--pkgs/development/python-modules/tesserocr/default.nix34
-rw-r--r--pkgs/development/python-modules/testfixtures/default.nix4
-rw-r--r--pkgs/development/python-modules/textwrap3/default.nix37
-rw-r--r--pkgs/development/python-modules/tinydb/default.nix39
-rw-r--r--pkgs/development/python-modules/tld/default.nix4
-rw-r--r--pkgs/development/python-modules/tox/default.nix4
-rw-r--r--pkgs/development/python-modules/traits/default.nix4
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/uncompyle6/default.nix4
-rw-r--r--pkgs/development/python-modules/uproot/default.nix6
-rw-r--r--pkgs/development/python-modules/uranium/default.nix4
-rw-r--r--pkgs/development/python-modules/urllib3/default.nix4
-rw-r--r--pkgs/development/python-modules/wxPython/4.0.nix4
-rw-r--r--pkgs/development/python-modules/xdis/default.nix4
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/xxhash/default.nix4
-rw-r--r--pkgs/development/python-modules/yamllint/default.nix4
-rw-r--r--pkgs/development/python-modules/yowsup/argparse-dependency.patch13
-rw-r--r--pkgs/development/python-modules/yowsup/default.nix10
-rw-r--r--pkgs/development/python-modules/yowsup/dependency-fixes.patch13
-rw-r--r--pkgs/development/python-modules/zodbpickle/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_proxy/default.nix4
-rw-r--r--pkgs/development/r-modules/default.nix2
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix7
-rw-r--r--pkgs/development/ruby-modules/solargraph/Gemfile.lock16
-rw-r--r--pkgs/development/ruby-modules/solargraph/gemset.nix32
-rw-r--r--pkgs/development/tools/alloy/default.nix8
-rw-r--r--pkgs/development/tools/ammonite/default.nix1
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/nix-linter/default.nix45
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix1
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix12
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_rc.patch13
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix64
-rw-r--r--pkgs/development/tools/build-managers/bazel/src-deps.json16
-rw-r--r--pkgs/development/tools/build-managers/bazel/strict_action_env.patch13
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/kati/default.nix23
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/buildah/default.nix10
-rw-r--r--pkgs/development/tools/buildah/disable-go-module-mode.patch33
-rw-r--r--pkgs/development/tools/ccloud-cli/default.nix33
-rw-r--r--pkgs/development/tools/chefdk/default.nix2
-rw-r--r--pkgs/development/tools/clang-tools/wrapper2
-rw-r--r--pkgs/development/tools/cmake-format/default.nix4
-rw-r--r--pkgs/development/tools/conftest/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-agent/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-server/default.nix6
-rw-r--r--pkgs/development/tools/database/pgcli/default.nix13
-rw-r--r--pkgs/development/tools/doctl/default.nix6
-rw-r--r--pkgs/development/tools/erlang/hex2nix/default.nix21
-rw-r--r--pkgs/development/tools/flyway/default.nix13
-rw-r--r--pkgs/development/tools/godot/default.nix4
-rw-r--r--pkgs/development/tools/hcloud/default.nix20
-rw-r--r--pkgs/development/tools/hcloud/deps.nix111
-rw-r--r--pkgs/development/tools/kubectx/default.nix4
-rw-r--r--pkgs/development/tools/kubeprompt/default.nix31
-rw-r--r--pkgs/development/tools/lazygit/default.nix6
-rw-r--r--pkgs/development/tools/micronaut/default.nix4
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix9
-rw-r--r--pkgs/development/tools/misc/elfkickers/default.nix4
-rw-r--r--pkgs/development/tools/misc/gdb/default.nix10
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/crunch/default.nix28
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix7
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix6
-rw-r--r--pkgs/development/tools/overcommit/Gemfile2
-rw-r--r--pkgs/development/tools/overcommit/Gemfile.lock17
-rw-r--r--pkgs/development/tools/overcommit/default.nix15
-rw-r--r--pkgs/development/tools/overcommit/gemset.nix33
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix4
-rw-r--r--pkgs/development/tools/profiling/EZTrace/default.nix2
-rw-r--r--pkgs/development/tools/purescript/spago/default.nix47
-rw-r--r--pkgs/development/tools/rubocop/Gemfile.lock6
-rw-r--r--pkgs/development/tools/rubocop/gemset.nix12
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock270
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/simavr/default.nix4
-rw-r--r--pkgs/development/tools/skaffold/default.nix8
-rw-r--r--pkgs/development/tools/vagrant/default.nix4
-rw-r--r--pkgs/development/tools/vagrant/gemset.nix181
-rw-r--r--pkgs/development/tools/vim-vint/default.nix27
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-0.2.55.patch (renamed from pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch)814
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/default.nix8
-rw-r--r--pkgs/development/tools/yarn/default.nix4
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/nodejs/v13.nix4
-rw-r--r--pkgs/development/web/postman/default.nix4
-rw-r--r--pkgs/games/0ad/game.nix4
-rw-r--r--pkgs/games/adom/default.nix4
-rw-r--r--pkgs/games/alienarena/default.nix6
-rw-r--r--pkgs/games/armagetronad/default.nix4
-rw-r--r--pkgs/games/astromenace/default.nix4
-rw-r--r--pkgs/games/bitsnbots/default.nix4
-rw-r--r--pkgs/games/blackshades/default.nix4
-rw-r--r--pkgs/games/blobby/default.nix4
-rw-r--r--pkgs/games/bzflag/default.nix4
-rw-r--r--pkgs/games/construo/default.nix10
-rw-r--r--pkgs/games/crack-attack/default.nix4
-rw-r--r--pkgs/games/crawl/default.nix4
-rw-r--r--pkgs/games/crrcsim/default.nix4
-rw-r--r--pkgs/games/dhewm3/default.nix6
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix4
-rw-r--r--pkgs/games/dxx-rebirth/default.nix4
-rw-r--r--pkgs/games/eduke32/default.nix8
-rw-r--r--pkgs/games/egoboo/default.nix4
-rw-r--r--pkgs/games/extremetuxracer/default.nix2
-rw-r--r--pkgs/games/ezquake/default.nix4
-rw-r--r--pkgs/games/flightgear/default.nix4
-rw-r--r--pkgs/games/freeorion/default.nix4
-rw-r--r--pkgs/games/fsg/default.nix4
-rw-r--r--pkgs/games/gl-117/default.nix4
-rw-r--r--pkgs/games/globulation/default.nix4
-rw-r--r--pkgs/games/gltron/default.nix4
-rw-r--r--pkgs/games/kobodeluxe/default.nix4
-rw-r--r--pkgs/games/lincity/ng.nix4
-rw-r--r--pkgs/games/mars/default.nix4
-rw-r--r--pkgs/games/minecraft/default.nix4
-rw-r--r--pkgs/games/minetest/default.nix4
-rw-r--r--pkgs/games/mnemosyne/default.nix18
-rw-r--r--pkgs/games/mudlet/default.nix11
-rw-r--r--pkgs/games/naev/default.nix4
-rw-r--r--pkgs/games/newtonwars/default.nix7
-rw-r--r--pkgs/games/nexuiz/default.nix4
-rw-r--r--pkgs/games/openrw/default.nix4
-rw-r--r--pkgs/games/openxcom/default.nix4
-rw-r--r--pkgs/games/pingus/default.nix4
-rw-r--r--pkgs/games/pioneer/default.nix8
-rw-r--r--pkgs/games/prboom/default.nix7
-rw-r--r--pkgs/games/privateer/default.nix4
-rw-r--r--pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--pkgs/games/residualvm/default.nix6
-rw-r--r--pkgs/games/rigsofrods/default.nix4
-rw-r--r--pkgs/games/scorched3d/default.nix4
-rw-r--r--pkgs/games/scummvm/default.nix4
-rw-r--r--pkgs/games/soi/default.nix4
-rw-r--r--pkgs/games/space-orbit/default.nix4
-rw-r--r--pkgs/games/speed-dreams/default.nix4
-rw-r--r--pkgs/games/spring/default.nix4
-rw-r--r--pkgs/games/stardust/default.nix4
-rw-r--r--pkgs/games/super-tux-kart/default.nix6
-rw-r--r--pkgs/games/supertux/default.nix4
-rw-r--r--pkgs/games/tdm/default.nix6
-rw-r--r--pkgs/games/tibia/default.nix6
-rw-r--r--pkgs/games/tintin/default.nix4
-rw-r--r--pkgs/games/tome4/default.nix4
-rw-r--r--pkgs/games/trackballs/default.nix4
-rw-r--r--pkgs/games/tremulous/default.nix4
-rw-r--r--pkgs/games/trigger/default.nix4
-rw-r--r--pkgs/games/ufoai/default.nix4
-rw-r--r--pkgs/games/ultimatestunts/default.nix4
-rw-r--r--pkgs/games/ultrastardx/default.nix4
-rw-r--r--pkgs/games/uqm/default.nix4
-rw-r--r--pkgs/games/urbanterror/default.nix6
-rw-r--r--pkgs/games/vdrift/default.nix4
-rw-r--r--pkgs/games/voxelands/default.nix4
-rw-r--r--pkgs/games/worldofgoo/default.nix4
-rw-r--r--pkgs/games/xmoto/default.nix4
-rw-r--r--pkgs/games/xonotic/default.nix4
-rw-r--r--pkgs/games/xpilot/bloodspilot-client.nix4
-rw-r--r--pkgs/games/xpilot/default.nix4
-rw-r--r--pkgs/games/zandronum/default.nix9
-rw-r--r--pkgs/misc/drivers/xboxdrv/default.nix2
-rw-r--r--pkgs/misc/emulators/atari800/default.nix4
-rw-r--r--pkgs/misc/emulators/attract-mode/default.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix4
-rw-r--r--pkgs/misc/emulators/dosbox/default.nix4
-rw-r--r--pkgs/misc/emulators/emulationstation/default.nix4
-rw-r--r--pkgs/misc/emulators/epsxe/default.nix4
-rw-r--r--pkgs/misc/emulators/fakenes/default.nix4
-rw-r--r--pkgs/misc/emulators/fs-uae/default.nix4
-rw-r--r--pkgs/misc/emulators/gens-gs/default.nix4
-rw-r--r--pkgs/misc/emulators/hatari/default.nix2
-rw-r--r--pkgs/misc/emulators/higan/default.nix4
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix4
-rw-r--r--pkgs/misc/emulators/nestopia/default.nix4
-rw-r--r--pkgs/misc/emulators/ppsspp/default.nix2
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix4
-rw-r--r--pkgs/misc/emulators/vbam/default.nix4
-rw-r--r--pkgs/misc/emulators/vice/default.nix4
-rw-r--r--pkgs/misc/emulators/wine/base.nix2
-rw-r--r--pkgs/misc/emulators/wxmupen64plus/default.nix4
-rw-r--r--pkgs/misc/emulators/yabause/default.nix4
-rw-r--r--pkgs/misc/emulators/zsnes/default.nix4
-rw-r--r--pkgs/misc/ghostscript/default.nix5
-rw-r--r--pkgs/misc/gnash/default.nix12
-rw-r--r--pkgs/misc/jackaudio/default.nix9
-rw-r--r--pkgs/misc/screensavers/electricsheep/default.nix4
-rw-r--r--pkgs/misc/screensavers/rss-glx/default.nix4
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--pkgs/misc/uboot/default.nix85
-rw-r--r--pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch105
-rw-r--r--pkgs/misc/uboot/rock64.nix38
-rw-r--r--pkgs/misc/uboot/rockpro64.nix38
-rw-r--r--pkgs/misc/vim-plugins/generated.nix499
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix6
-rwxr-xr-xpkgs/misc/vim-plugins/update.py73
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names3
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix4
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix3
-rw-r--r--pkgs/os-specific/darwin/cctools/apfs.patch22
-rw-r--r--pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch12
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix16
-rw-r--r--pkgs/os-specific/darwin/libtapi/default.nix11
-rw-r--r--pkgs/os-specific/linux/alsa-firmware/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix8
-rw-r--r--pkgs/os-specific/linux/audit/default.nix2
-rw-r--r--pkgs/os-specific/linux/bpftrace/default.nix4
-rw-r--r--pkgs/os-specific/linux/cpupower/default.nix6
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix2
-rw-r--r--pkgs/os-specific/linux/hostapd/default.nix5
-rw-r--r--pkgs/os-specific/linux/intel-compute-runtime/default.nix4
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix4
-rw-r--r--pkgs/os-specific/linux/iw/default.nix4
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.3.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix9
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix6
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix8
-rw-r--r--pkgs/os-specific/linux/kmod/enable-static.patch12
-rw-r--r--pkgs/os-specific/linux/kmscon/default.nix4
-rw-r--r--pkgs/os-specific/linux/libaio/default.nix2
-rw-r--r--pkgs/os-specific/linux/libratbag/default.nix4
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix5
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix26
-rw-r--r--pkgs/os-specific/linux/open-iscsi/default.nix8
-rw-r--r--pkgs/os-specific/linux/pktgen/default.nix4
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix4
-rw-r--r--pkgs/os-specific/linux/reptyr/default.nix10
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix6
-rw-r--r--pkgs/os-specific/linux/tomb/default.nix4
-rw-r--r--pkgs/os-specific/linux/upower/default.nix2
-rw-r--r--pkgs/os-specific/linux/usbguard/default.nix4
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix4
-rw-r--r--pkgs/servers/atlassian/confluence.nix4
-rw-r--r--pkgs/servers/caddy/default.nix10
-rw-r--r--pkgs/servers/caddy/v2.nix25
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/documize-community/default.nix31
-rw-r--r--pkgs/servers/freeradius/default.nix4
-rw-r--r--pkgs/servers/gotify/default.nix6
-rw-r--r--pkgs/servers/gotify/ui.nix4
-rw-r--r--pkgs/servers/gotify/yarndeps.nix16
-rw-r--r--pkgs/servers/gotty/default.nix6
-rw-r--r--pkgs/servers/gotty/deps.nix74
-rw-r--r--pkgs/servers/http/jetty/default.nix6
-rw-r--r--pkgs/servers/http/nginx/generic.nix16
-rw-r--r--pkgs/servers/jellyfin/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch46
-rw-r--r--pkgs/servers/mautrix-whatsapp/default.nix12
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/metabase/default.nix4
-rw-r--r--pkgs/servers/meteor/default.nix4
-rw-r--r--pkgs/servers/misc/airsonic/default.nix4
-rw-r--r--pkgs/servers/misc/subsonic/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/loki/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix54
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter.nix4
-rwxr-xr-xpkgs/servers/monitoring/prometheus/update-webui-deps.sh20
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/webui-package.json96
-rw-r--r--pkgs/servers/monitoring/prometheus/webui-yarndeps.nix11885
-rw-r--r--pkgs/servers/monitoring/prometheus/wireguard-exporter.nix12
-rw-r--r--pkgs/servers/monitoring/zabbix/versions.nix13
-rw-r--r--pkgs/servers/mpd/default.nix2
-rw-r--r--pkgs/servers/mtprotoproxy/default.nix4
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix4
-rw-r--r--pkgs/servers/nosql/redis/default.nix8
-rw-r--r--pkgs/servers/openafs/1.8/cross-build.patch2
-rw-r--r--pkgs/servers/openafs/1.8/default.nix3
-rw-r--r--pkgs/servers/openafs/1.8/module.nix14
-rw-r--r--pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--pkgs/servers/pulseaudio/default.nix4
-rw-r--r--pkgs/servers/routinator/default.nix6
-rw-r--r--pkgs/servers/samba/3.x.nix99
-rw-r--r--pkgs/servers/sql/monetdb/default.nix4
-rw-r--r--pkgs/servers/sql/mysql/8.0.x.nix5
-rw-r--r--pkgs/servers/sql/postgresql/default.nix20
-rw-r--r--pkgs/servers/sql/postgresql/ext/tds_fdw.nix4
-rw-r--r--pkgs/servers/squid/default.nix4
-rw-r--r--pkgs/servers/tautulli/default.nix4
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix34
-rw-r--r--pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/default.nix8
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix10
-rw-r--r--pkgs/servers/x11/xorg/tarballs.list2
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix4
-rw-r--r--pkgs/servers/xmpp/ejabberd/default.nix8
-rw-r--r--pkgs/shells/bash/bash-completion/default.nix10
-rw-r--r--pkgs/shells/nushell/default.nix12
-rw-r--r--pkgs/shells/powershell/default.nix2
-rw-r--r--pkgs/tools/X11/xnee/default.nix2
-rw-r--r--pkgs/tools/admin/awscli/default.nix2
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix10
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix58
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/lego/default.nix7
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix8
-rw-r--r--pkgs/tools/archivers/unrar/default.nix4
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix4
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/mpdris2/default.nix48
-rw-r--r--pkgs/tools/backup/hpe-ltfs/default.nix30
-rw-r--r--pkgs/tools/filesystems/cryfs/default.nix82
-rw-r--r--pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch34
-rw-r--r--pkgs/tools/filesystems/cryfs/test-no-network.patch24
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix6
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/fusesmb/default.nix28
-rw-r--r--pkgs/tools/filesystems/grive2/default.nix4
-rw-r--r--pkgs/tools/filesystems/moosefs/default.nix4
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix11
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix4
-rw-r--r--pkgs/tools/graphics/facedetect/default.nix4
-rw-r--r--pkgs/tools/graphics/gifsicle/default.nix2
-rw-r--r--pkgs/tools/graphics/glee/default.nix4
-rw-r--r--pkgs/tools/graphics/gmic-qt/default.nix4
-rw-r--r--pkgs/tools/graphics/gmic/default.nix4
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix4
-rw-r--r--pkgs/tools/graphics/luxcorerender/default.nix6
-rw-r--r--pkgs/tools/graphics/nifskope/default.nix7
-rw-r--r--pkgs/tools/graphics/pfstools/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix56
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix11
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix59
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix53
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix3
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch13
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix57
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix146
-rw-r--r--pkgs/tools/inputmethods/ibus/fix-paths.patch2
-rw-r--r--pkgs/tools/inputmethods/touchegg/default.nix4
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/cloc/default.nix2
-rw-r--r--pkgs/tools/misc/eva/Cargo.lock.patch213
-rw-r--r--pkgs/tools/misc/eva/default.nix20
-rw-r--r--pkgs/tools/misc/ffsend/default.nix8
-rw-r--r--pkgs/tools/misc/fwup/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/default.nix7
-rw-r--r--pkgs/tools/misc/hyperfine/default.nix8
-rw-r--r--pkgs/tools/misc/kisslicer/default.nix6
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix8
-rw-r--r--pkgs/tools/misc/licensor/default.nix6
-rw-r--r--pkgs/tools/misc/memtest86-efi/default.nix4
-rw-r--r--pkgs/tools/misc/multitail/default.nix4
-rw-r--r--pkgs/tools/misc/multitime/default.nix39
-rw-r--r--pkgs/tools/misc/ocz-ssd-guru/default.nix4
-rw-r--r--pkgs/tools/misc/onefetch/default.nix26
-rw-r--r--pkgs/tools/misc/paps/default.nix12
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/pipelight/default.nix4
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/pspg/default.nix4
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix2
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix4
-rw-r--r--pkgs/tools/misc/slop/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix15
-rw-r--r--pkgs/tools/misc/termtosvg/default.nix4
-rw-r--r--pkgs/tools/misc/tmate/default.nix4
-rw-r--r--pkgs/tools/misc/tmux/default.nix32
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/topgrade/default.nix6
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix7
-rw-r--r--pkgs/tools/misc/vivid/default.nix6
-rw-r--r--pkgs/tools/misc/wakatime/default.nix4
-rw-r--r--pkgs/tools/misc/websocat/default.nix23
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--pkgs/tools/networking/6tunnel/default.nix23
-rw-r--r--pkgs/tools/networking/babeld/default.nix2
-rw-r--r--pkgs/tools/networking/chrony/allow-clock_adjtime.patch26
-rw-r--r--pkgs/tools/networking/chrony/default.nix5
-rw-r--r--pkgs/tools/networking/chrony/fix-seccomp-build.patch13
-rw-r--r--pkgs/tools/networking/connman/connman-notify/default.nix38
-rw-r--r--pkgs/tools/networking/croc/default.nix6
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/ferm/default.nix4
-rw-r--r--pkgs/tools/networking/gnirehtet/default.nix8
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/mu/default.nix4
-rw-r--r--pkgs/tools/networking/nebula/default.nix43
-rw-r--r--pkgs/tools/networking/network-manager/default.nix11
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--pkgs/tools/networking/pmacct/default.nix62
-rw-r--r--pkgs/tools/networking/shadowsocks-libev/default.nix4
-rw-r--r--pkgs/tools/networking/sslsplit/default.nix31
-rw-r--r--pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--pkgs/tools/networking/uget/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/networking/v2ray/default.nix36
-rw-r--r--pkgs/tools/networking/v2ray/generic.nix50
-rwxr-xr-xpkgs/tools/networking/v2ray/update.sh53
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix7
-rw-r--r--pkgs/tools/networking/yggdrasil/default.nix4
-rw-r--r--pkgs/tools/networking/ytcc/default.nix4
-rw-r--r--pkgs/tools/package-management/cargo-deb/default.nix6
-rw-r--r--pkgs/tools/package-management/cargo-edit/default.nix15
-rw-r--r--pkgs/tools/package-management/emplace/default.nix23
-rw-r--r--pkgs/tools/package-management/pacman/default.nix12
-rw-r--r--pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--pkgs/tools/package-management/reuse/default.nix4
-rw-r--r--pkgs/tools/security/clamav/default.nix4
-rw-r--r--pkgs/tools/security/enpass/default.nix4
-rw-r--r--pkgs/tools/security/fprintd/default.nix14
-rw-r--r--pkgs/tools/security/ghidra/default.nix29
-rw-r--r--pkgs/tools/security/gnome-keysign/default.nix8
-rw-r--r--pkgs/tools/security/gnupg/22.nix4
-rw-r--r--pkgs/tools/security/john/default.nix11
-rw-r--r--pkgs/tools/security/pbis/default.nix70
-rw-r--r--pkgs/tools/security/pcsclite/default.nix6
-rw-r--r--pkgs/tools/security/pius/default.nix2
-rw-r--r--pkgs/tools/security/ripasso/cursive.nix23
-rw-r--r--pkgs/tools/security/stoken/default.nix2
-rw-r--r--pkgs/tools/system/inxi/default.nix4
-rw-r--r--pkgs/tools/system/java-service-wrapper/default.nix41
-rw-r--r--pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch41
-rw-r--r--pkgs/tools/system/rsyslog/default.nix4
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/text/amber/default.nix6
-rw-r--r--pkgs/tools/text/boxes/default.nix47
-rw-r--r--pkgs/tools/text/highlight/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix14
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/bin.nix52
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix12
-rw-r--r--pkgs/tools/virtualization/amazon-ecs-cli/default.nix4
-rw-r--r--pkgs/tools/virtualization/ec2-utils/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix11
-rw-r--r--pkgs/top-level/all-packages.nix313
-rw-r--r--pkgs/top-level/coq-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix28
-rw-r--r--pkgs/top-level/perl-packages.nix455
-rw-r--r--pkgs/top-level/php-packages.nix66
-rw-r--r--pkgs/top-level/python-packages.nix45
-rw-r--r--pkgs/top-level/static.nix50
1519 files changed, 33427 insertions, 21046 deletions
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 4577cea2225..706952b208d 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -6,9 +6,8 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
 ## Opening issues
 
 * Make sure you have a [GitHub account](https://github.com/signup/free)
-* [Submit an issue](https://github.com/NixOS/nixpkgs/issues) - assuming one does not already exist.
-  * Clearly describe the issue including steps to reproduce when it is a bug.
-  * Include information what version of nixpkgs and Nix are you using (nixos-version or git revision).
+* Make sure there is no open issue on the topic
+* [Submit a new issue](https://github.com/NixOS/nixpkgs/issues/new/choose) by choosing the kind of topic and fill out the template
 
 ## Submitting changes
 
diff --git a/doc/builders/trivial-builders.xml b/doc/builders/trivial-builders.xml
index df0e38da1aa..94948c57b91 100644
--- a/doc/builders/trivial-builders.xml
+++ b/doc/builders/trivial-builders.xml
@@ -7,7 +7,7 @@
   Nixpkgs provides a couple of functions that help with building derivations. The most important one, <function>stdenv.mkDerivation</function>, has already been documented above. The following functions wrap <function>stdenv.mkDerivation</function>, making it easier to use in certain cases.
  </para>
  <variablelist>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommand">
    <term>
     <literal>runCommand</literal>
    </term>
@@ -40,7 +40,7 @@
 </programlisting>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommandCC">
    <term>
     <literal>runCommandCC</literal>
    </term>
@@ -50,7 +50,20 @@
     </para>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-runCommandLocal">
+   <term>
+    <literal>runCommandLocal</literal>
+   </term>
+   <listitem>
+    <para>
+     Variant of <literal>runCommand</literal> that forces the derivation to be built locally, it is not substituted. This is intended for very cheap commands (&lt;1s execution time). It saves on the network roundrip and can speed up a build.
+    </para>
+    <note><para>
+      This sets <link xlink:href="https://nixos.org/nix/manual/#adv-attr-allowSubstitutes"><literal>allowSubstitutes</literal> to <literal>false</literal></link>, so only use <literal>runCommandLocal</literal> if you are certain the user will always have a builder for the <literal>system</literal> of the derivation. This should be true for most trivial use cases (e.g. just copying some files to a different location or adding symlinks), because there the <literal>system</literal> is usually the same as <literal>builtins.currentSystem</literal>.
+    </para></note>
+   </listitem>
+  </varlistentry>
+  <varlistentry xml:id="trivial-builder-writeText">
    <term>
     <literal>writeTextFile</literal>, <literal>writeText</literal>, <literal>writeTextDir</literal>, <literal>writeScript</literal>, <literal>writeScriptBin</literal>
    </term>
@@ -63,7 +76,7 @@
     </para>
    </listitem>
   </varlistentry>
-  <varlistentry>
+  <varlistentry xml:id="trivial-builder-symlinkJoin">
    <term>
     <literal>symlinkJoin</literal>
    </term>
diff --git a/doc/contributing/coding-conventions.xml b/doc/contributing/coding-conventions.xml
index 799f1479467..fcb6501f615 100644
--- a/doc/contributing/coding-conventions.xml
+++ b/doc/contributing/coding-conventions.xml
@@ -622,6 +622,16 @@ args.stdenv.mkDerivation (args // {
        </varlistentry>
        <varlistentry>
         <term>
+         If it’s an <emphasis>icon theme</emphasis>:
+        </term>
+        <listitem>
+         <para>
+          <filename>data/icons</filename>
+         </para>
+        </listitem>
+       </varlistentry>
+       <varlistentry>
+        <term>
          If it’s related to <emphasis>SGML/XML processing</emphasis>:
         </term>
         <listitem>
@@ -652,6 +662,17 @@ args.stdenv.mkDerivation (args // {
          </variablelist>
         </listitem>
        </varlistentry>
+       <varlistentry>
+        <term>
+         If it’s a <emphasis>theme</emphasis> for a <emphasis>desktop environment</emphasis>,
+         a <emphasis>window manager</emphasis> or a <emphasis>display manager</emphasis>:
+        </term>
+        <listitem>
+         <para>
+          <filename>data/themes</filename>
+         </para>
+        </listitem>
+       </varlistentry>
       </variablelist>
      </listitem>
     </varlistentry>
diff --git a/doc/languages-frameworks/gnome.xml b/doc/languages-frameworks/gnome.xml
index 3d69d77a1c8..9c3afe127a4 100644
--- a/doc/languages-frameworks/gnome.xml
+++ b/doc/languages-frameworks/gnome.xml
@@ -74,7 +74,7 @@
 preFixup = ''
   for f in $(find $out/bin/ $out/libexec/ -type f -executable); do
     wrapProgram "$f" \
-      --prefix GIO_EXTRA_MODULES : "${getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$out/share" \
       --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
       --prefix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
@@ -102,7 +102,7 @@ preFixup = ''
     </listitem>
     <listitem xml:id="ssec-gnome-hooks-dconf">
      <para>
-      <package>gnome3.dconf.lib</package> is a dependency of <package>wrapGAppsHook</package>, which then also adds it to the <envar>GIO_EXTRA_MODULES</envar> variable.
+      <package>dconf.lib</package> is a dependency of <package>wrapGAppsHook</package>, which then also adds it to the <envar>GIO_EXTRA_MODULES</envar> variable.
      </para>
     </listitem>
     <listitem xml:id="ssec-gnome-hooks-hicolor-icon-theme">
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md
index 7cbac95f7d4..be5c7b7c8d1 100644
--- a/doc/languages-frameworks/haskell.section.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -25,14 +25,14 @@ avoided that by keeping all Haskell-related packages in a separate attribute
 set called `haskellPackages`, which the following command will list:
 ```
 $ nix-env -f "<nixpkgs>" -qaP -A haskellPackages
-haskellPackages.a50         a50-0.5
-haskellPackages.abacate     haskell-abacate-0.0.0.0
-haskellPackages.abcBridge   haskell-abcBridge-0.12
-haskellPackages.afv         afv-0.1.1
-haskellPackages.alex        alex-3.1.4
-haskellPackages.Allure      Allure-0.4.101.1
-haskellPackages.alms        alms-0.6.7
-[... some 8000 entries omitted  ...]
+haskellPackages.a50                                             a50-0.5
+haskellPackages.AAI                                             AAI-0.2.0.1
+haskellPackages.abacate                                         abacate-0.0.0.0
+haskellPackages.abc-puzzle                                      abc-puzzle-0.2.1
+haskellPackages.abcBridge                                       abcBridge-0.15
+haskellPackages.abcnotation                                     abcnotation-1.9.0
+haskellPackages.abeson                                          abeson-0.1.0.1
+[... some 14000 entries omitted  ...]
 ```
 
 To install any of those packages into your profile, refer to them by their
@@ -101,19 +101,21 @@ to compile your Haskell packages with any GHC version you please. The following
 command displays the complete list of available compilers:
 ```
 $ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
-haskell.compiler.ghc6104        ghc-6.10.4
-haskell.compiler.ghc6123        ghc-6.12.3
-haskell.compiler.ghc704         ghc-7.0.4
-haskell.compiler.ghc722         ghc-7.2.2
-haskell.compiler.ghc742         ghc-7.4.2
-haskell.compiler.ghc763         ghc-7.6.3
-haskell.compiler.ghc784         ghc-7.8.4
-haskell.compiler.ghc7102        ghc-7.10.2
-haskell.compiler.ghcHEAD        ghc-7.11.20150402
-haskell.compiler.ghcNokinds     ghc-nokinds-7.11.20150704
-haskell.compiler.ghcjs          ghcjs-0.1.0
-haskell.compiler.jhc            jhc-0.8.2
-haskell.compiler.uhc            uhc-1.1.9.0
+haskell.compiler.ghc822                  ghc-8.2.2
+haskell.compiler.integer-simple.ghc822   ghc-8.2.2
+haskell.compiler.ghc822Binary            ghc-8.2.2-binary
+haskell.compiler.ghc844                  ghc-8.4.4
+haskell.compiler.ghc863Binary            ghc-8.6.3-binary
+haskell.compiler.ghc864                  ghc-8.6.4
+haskell.compiler.integer-simple.ghc864   ghc-8.6.4
+haskell.compiler.ghc865                  ghc-8.6.5
+haskell.compiler.integer-simple.ghc865   ghc-8.6.5
+haskell.compiler.ghc881                  ghc-8.8.1
+haskell.compiler.integer-simple.ghc881   ghc-8.8.1
+haskell.compiler.ghcHEAD                 ghc-8.9.20190601
+haskell.compiler.integer-simple.ghcHEAD  ghc-8.9.20190601
+haskell.compiler.ghcjs84                 ghcjs-8.4.0.1
+haskell.compiler.ghcjs                   ghcjs-8.6.0.1
 ```
 
 We have no package sets for `jhc` or `uhc` yet, unfortunately, but for every
diff --git a/doc/stdenv/cross-compilation.xml b/doc/stdenv/cross-compilation.xml
index 5476c9a4893..bea56a0c2fc 100644
--- a/doc/stdenv/cross-compilation.xml
+++ b/doc/stdenv/cross-compilation.xml
@@ -244,7 +244,7 @@
      </question>
      <answer>
       <para>
-       Many packages assume that an unprefixed <command>ar</command> is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefixed `ar`.
+       Many packages assume that an unprefixed <command>ar</command> is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefixed <command>ar</command>.
       </para>
      </answer>
     </qandaentry>
diff --git a/doc/stdenv/stdenv.xml b/doc/stdenv/stdenv.xml
index 0b59f90eb49..49699d7168d 100644
--- a/doc/stdenv/stdenv.xml
+++ b/doc/stdenv/stdenv.xml
@@ -1717,7 +1717,7 @@ someVar=$(stripHash $name)
   </para>
 
   <para>
-   The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency. For example, the C compiler wrapper's setup hook feeds itself flags for each dependency that contains relevant libraries and headers. This is done by defining a bash function, and appending its name to one of <envar>envBuildBuildHooks</envar>`, <envar>envBuildHostHooks</envar>`, <envar>envBuildTargetHooks</envar>`, <envar>envHostHostHooks</envar>`, <envar>envHostTargetHooks</envar>`, or <envar>envTargetTargetHooks</envar>`. These 6 bash variables correspond to the 6 sorts of dependencies by platform (there's 12 total but we ignore the propagated/non-propagated axis).
+   The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency. For example, the C compiler wrapper's setup hook feeds itself flags for each dependency that contains relevant libraries and headers. This is done by defining a bash function, and appending its name to one of <envar>envBuildBuildHooks</envar>, <envar>envBuildHostHooks</envar>, <envar>envBuildTargetHooks</envar>, <envar>envHostHostHooks</envar>, <envar>envHostTargetHooks</envar>, or <envar>envTargetTargetHooks</envar>. These 6 bash variables correspond to the 6 sorts of dependencies by platform (there's 12 total but we ignore the propagated/non-propagated axis).
   </para>
 
   <para>
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 6751d00f451..8bc94c571cc 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2182,6 +2182,12 @@
     githubId = 1583484;
     name = "Andrey Golovizin";
   };
+  ersin = {
+    email = "me@ersinakinci.com";
+    github = "earksiinni";
+    githubId = 5427394;
+    name = "Ersin Akinci";
+  };
   ertes = {
     email = "esz@posteo.de";
     github = "ertes";
@@ -3225,6 +3231,12 @@
     githubId = 2195834;
     name = "Jaakko Luttinen";
   };
+  jm2dev = {
+    email = "jomarcar@gmail.com";
+    github = "jm2dev";
+    githubId = 474643;
+    name = "José Miguel Martínez Carrasco";
+  };
   jmagnusj = {
     email = "jmagnusj@gmail.com";
     github = "magnusjonsson";
@@ -4163,6 +4175,12 @@
     githubId = 34086;
     name = "Marc Weber";
   };
+  marcus7070 = {
+    email = "marcus@geosol.com.au";
+    github = "marcus7070";
+    githubId = 50230945;
+    name = "Marcus Boyd";
+  };
 	marenz = {
 		email = "marenz@arkom.men";
 		github = "marenz2569";
@@ -4528,6 +4546,16 @@
     githubId = 22477669;
     name = "Mark K Gardner";
   };
+  mkg20001 = {
+    email = "mkg20001+nix@gmail.com";
+    github = "mkg20001";
+    githubId = 7735145;
+    name = "Maciej Krüger";
+    keys = [{
+      longkeyid = "rsa4096/0x0D948CE19CF49C5F";
+      fingerprint = "E90C BA34 55B3 6236 740C  038F 0D94 8CE1 9CF4 9C5F";
+    }];
+  };
   mlieberman85 = {
     email = "mlieberman85@gmail.com";
     github = "mlieberman85";
@@ -4666,6 +4694,12 @@
     githubId = 2881922;
     name = "Francis St-Amour";
   };
+  mtrsk = {
+    email = "marcos.schonfinkel@protonmail.com";
+    github = "mtrsk";
+    githubId = 16356569;
+    name = "Marcos Benevides";
+  };
   mredaelli = {
     email = "massimo@typish.io";
     github = "mredaelli";
@@ -6109,6 +6143,16 @@
     githubId = 307899;
     name = "Gurkan Gur";
   };
+  servalcatty = {
+    email = "servalcat@pm.me";
+    github = "servalcatty";
+    githubid = 51969817;
+    name = "Serval";
+    keys = [{
+      longkeyid = "rsa4096/0x4A2AAAA382F8294C";
+      fingerprint = "A317 37B3 693C 921B 480C  C629 4A2A AAA3 82F8 294C";
+    }];
+  };
   sfrijters = {
     email = "sfrijters@gmail.com";
     github = "sfrijters";
@@ -7652,4 +7696,16 @@
     githubId = 50867187;
     name = "Rakesh Gupta";
   };
+  mlatus = {
+    email = "wqseleven@gmail.com";
+    github = "Ninlives";
+    githubId = 17873203;
+    name = "mlatus";
+  };
+  waiting-for-dev = {
+    email = "marc@lamarciana.com";
+    github = "waiting-for-dev";
+    githubId = 52650;
+    name = "Marc Busqué";
+  };
 }
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index 7991c43e01f..5655295871e 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -380,7 +380,10 @@
     </para>
     <para>
      If you need to configure networking for your machine the configuration
-     options are described in <xref linkend="sec-networking"/>.
+     options are described in <xref linkend="sec-networking"/>. In particular,
+     while wifi is supported on the installation image, it is not enabled by
+     default in the configuration generated by
+     <command>nixos-generate-config</command>.
     </para>
     <para>
      Another critical option is <option>fileSystems</option>, specifying the
diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml
index 26311e43405..b8af15f59c9 100644
--- a/nixos/doc/manual/release-notes/rl-2003.xml
+++ b/nixos/doc/manual/release-notes/rl-2003.xml
@@ -77,6 +77,12 @@
     be set if the hostname of the node should be non default.
     </para>
    </listitem>
+   <listitem>
+    <para>
+    UPower's configuration is now managed by NixOS and can be customized
+    via <option>services.upower</option>.
+    </para>
+   </listitem>
   </itemizedlist>
 
  </section>
@@ -188,11 +194,32 @@
    </listitem>
    <listitem>
     <para>
-      Going forward, <literal>~/bin/<literal> in the users home directory will no longer be in <literal>PATH</literal> by default.
+      Going forward, <literal>~/bin</literal> in the users home directory will no longer be in <literal>PATH</literal> by default.
       If you depend on this you should set the option <literal>environment.homeBinInPath</literal> to <literal>true</literal>.
       The aforementioned option was added this release.
     </para>
    </listitem>
+   <listitem>
+    <para>
+      The <literal>buildRustCrate</literal> infrastructure now produces <literal>lib</literal> outputs in addition to the <literal>out</literal> output.
+      This has led to drastically reduced closed sizes for some rust crates since development dependencies are now in the <literal>lib</literal> output.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The packages <literal>openobex</literal> and <literal>obexftp</literal>
+     are no loger installed when enabling bluetooth via
+     <option>hardware.bluetooth.enable</option>.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The <literal>dump1090</literal> derivation has been changed to use FlightAware's dump1090
+     as its upstream. However, this version does not have an internal webserver anymore. The
+     assets in the <literal>share/dump1090</literal> directory of the derivation can be used
+     in conjunction with an external webserver to replace this functionality.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -215,6 +242,12 @@
      release announcement</link> for more information.
     </para>
    </listitem>
+   <listitem>
+     <para>
+       <literal>PRETTY_NAME</literal> in <literal>/etc/os-release</literal>
+       now uses the short rather than full version string.
+     </para>
+   </listitem>
   </itemizedlist>
  </section>
 </section>
diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index e45521424de..7e575189209 100644
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -16,6 +16,8 @@ import tempfile
 import time
 import unicodedata
 from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List
+import shlex
+import pathlib
 
 CHAR_TO_KEY = {
     "A": "shift-a",
@@ -91,6 +93,10 @@ def eprint(*args: object, **kwargs: Any) -> None:
     print(*args, file=sys.stderr, **kwargs)
 
 
+def make_command(args: list) -> str:
+    return " ".join(map(shlex.quote, (map(str, args))))
+
+
 def create_vlan(vlan_nr: str) -> Tuple[str, str, "subprocess.Popen[bytes]", Any]:
     global log
     log.log("starting VDE switch for network {}".format(vlan_nr))
@@ -215,7 +221,7 @@ class Machine:
             return path
 
         self.state_dir = create_dir("vm-state-{}".format(self.name))
-        self.shared_dir = create_dir("xchg-shared")
+        self.shared_dir = create_dir("{}/xchg".format(self.state_dir))
 
         self.booted = False
         self.connected = False
@@ -306,8 +312,13 @@ class Machine:
         self.monitor.send(message)
         return self.wait_for_monitor_prompt()
 
-    def wait_for_unit(self, unit: str, user: Optional[str] = None) -> bool:
-        while True:
+    def wait_for_unit(self, unit: str, user: Optional[str] = None) -> None:
+        """Wait for a systemd unit to get into "active" state.
+        Throws exceptions on "failed" and "inactive" states as well as
+        after timing out.
+        """
+
+        def check_active(_: Any) -> bool:
             info = self.get_unit_info(unit, user)
             state = info["ActiveState"]
             if state == "failed":
@@ -323,8 +334,10 @@ class Machine:
                                 'unit "{}" is inactive and there ' "are no pending jobs"
                             ).format(unit)
                         )
-            if state == "active":
-                return True
+
+            return state == "active"
+
+        retry(check_active)
 
     def get_unit_info(self, unit: str, user: Optional[str] = None) -> Dict[str, str]:
         status, lines = self.systemctl('--no-pager show "{}"'.format(unit), user)
@@ -415,18 +428,34 @@ class Machine:
                     )
 
     def wait_until_succeeds(self, command: str) -> str:
+        """Wait until a command returns success and return its output.
+        Throws an exception on timeout.
+        """
+        output = ""
+
+        def check_success(_: Any) -> bool:
+            nonlocal output
+            status, output = self.execute(command)
+            return status == 0
+
         with self.nested("waiting for success: {}".format(command)):
-            while True:
-                status, output = self.execute(command)
-                if status == 0:
-                    return output
+            retry(check_success)
+            return output
 
     def wait_until_fails(self, command: str) -> str:
+        """Wait until a command returns failure.
+        Throws an exception on timeout.
+        """
+        output = ""
+
+        def check_failure(_: Any) -> bool:
+            nonlocal output
+            status, output = self.execute(command)
+            return status != 0
+
         with self.nested("waiting for failure: {}".format(command)):
-            while True:
-                status, output = self.execute(command)
-                if status != 0:
-                    return output
+            retry(check_failure)
+            return output
 
     def wait_for_shutdown(self) -> None:
         if not self.booted:
@@ -447,25 +476,38 @@ class Machine:
         )
         return output
 
-    def wait_until_tty_matches(self, tty: str, regexp: str) -> bool:
+    def wait_until_tty_matches(self, tty: str, regexp: str) -> None:
+        """Wait until the visible output on the chosen TTY matches regular
+        expression. Throws an exception on timeout.
+        """
         matcher = re.compile(regexp)
+
+        def tty_matches(last: bool) -> bool:
+            text = self.get_tty_text(tty)
+            if last:
+                self.log(
+                    f"Last chance to match /{regexp}/ on TTY{tty}, "
+                    f"which currently contains: {text}"
+                )
+            return len(matcher.findall(text)) > 0
+
         with self.nested("waiting for {} to appear on tty {}".format(regexp, tty)):
-            while True:
-                text = self.get_tty_text(tty)
-                if len(matcher.findall(text)) > 0:
-                    return True
+            retry(tty_matches)
 
     def send_chars(self, chars: List[str]) -> None:
         with self.nested("sending keys ‘{}‘".format(chars)):
             for char in chars:
                 self.send_key(char)
 
-    def wait_for_file(self, filename: str) -> bool:
+    def wait_for_file(self, filename: str) -> None:
+        """Waits until the file exists in machine's file system."""
+
+        def check_file(_: Any) -> bool:
+            status, _ = self.execute("test -e {}".format(filename))
+            return status == 0
+
         with self.nested("waiting for file ‘{}‘".format(filename)):
-            while True:
-                status, _ = self.execute("test -e {}".format(filename))
-                if status == 0:
-                    return True
+            retry(check_file)
 
     def wait_for_open_port(self, port: int) -> None:
         def port_is_open(_: Any) -> bool:
@@ -488,8 +530,8 @@ class Machine:
     def stop_job(self, jobname: str, user: Optional[str] = None) -> Tuple[int, str]:
         return self.systemctl("stop {}".format(jobname), user)
 
-    def wait_for_job(self, jobname: str) -> bool:
-        return self.wait_for_unit(jobname)
+    def wait_for_job(self, jobname: str) -> None:
+        self.wait_for_unit(jobname)
 
     def connect(self) -> None:
         if self.connected:
@@ -524,6 +566,33 @@ class Machine:
             if ret.returncode != 0:
                 raise Exception("Cannot convert screenshot")
 
+    def copy_from_vm(self, source: str, target_dir: str = "") -> None:
+        """Copy a file from the VM (specified by an in-VM source path) to a path
+        relative to `$out`. The file is copied via the `shared_dir` shared among
+        all the VMs (using a temporary directory).
+        """
+        # Compute the source, target, and intermediate shared file names
+        out_dir = pathlib.Path(os.environ.get("out", os.getcwd()))
+        vm_src = pathlib.Path(source)
+        with tempfile.TemporaryDirectory(dir=self.shared_dir) as shared_td:
+            shared_temp = pathlib.Path(shared_td)
+            vm_shared_temp = pathlib.Path("/tmp/xchg") / shared_temp.name
+            vm_intermediate = vm_shared_temp / vm_src.name
+            intermediate = shared_temp / vm_src.name
+            # Copy the file to the shared directory inside VM
+            self.succeed(make_command(["mkdir", "-p", vm_shared_temp]))
+            self.succeed(make_command(["cp", "-r", vm_src, vm_intermediate]))
+            self.succeed("sync")
+            abs_target = out_dir / target_dir / vm_src.name
+            abs_target.parent.mkdir(exist_ok=True, parents=True)
+            # Copy the file from the shared directory outside VM
+            if intermediate.is_dir():
+                shutil.copytree(intermediate, abs_target)
+            else:
+                shutil.copy(intermediate, abs_target)
+        # Make sure the cleanup is synced into VM
+        self.succeed("sync")
+
     def dump_tty_contents(self, tty: str) -> None:
         """Debugging: Dump the contents of the TTY<n>
         """
@@ -667,18 +736,20 @@ class Machine:
         """Wait until it is possible to connect to the X server.  Note that
         testing the existence of /tmp/.X11-unix/X0 is insufficient.
         """
+
+        def check_x(_: Any) -> bool:
+            cmd = (
+                "journalctl -b SYSLOG_IDENTIFIER=systemd | "
+                + 'grep "Reached target Current graphical"'
+            )
+            status, _ = self.execute(cmd)
+            if status != 0:
+                return False
+            status, _ = self.execute("[ -e /tmp/.X11-unix/X0 ]")
+            return status == 0
+
         with self.nested("waiting for the X11 server"):
-            while True:
-                cmd = (
-                    "journalctl -b SYSLOG_IDENTIFIER=systemd | "
-                    + 'grep "Reached target Current graphical"'
-                )
-                status, _ = self.execute(cmd)
-                if status != 0:
-                    continue
-                status, _ = self.execute("[ -e /tmp/.X11-unix/X0 ]")
-                if status == 0:
-                    return
+            retry(check_x)
 
     def get_window_names(self) -> List[str]:
         return self.succeed(
diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix
index a89667ea221..3560e579e47 100644
--- a/nixos/modules/config/networking.nix
+++ b/nixos/modules/config/networking.nix
@@ -41,19 +41,6 @@ in
       '';
     };
 
-    networking.hostConf = lib.mkOption {
-      type = types.lines;
-      default = "multi on";
-      example = ''
-        multi on
-        reorder on
-        trim lan
-      '';
-      description = ''
-        The contents of <filename>/etc/host.conf</filename>. See also <citerefentry><refentrytitle>host.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
-      '';
-    };
-
     networking.timeServers = mkOption {
       default = [
         "0.nixos.pool.ntp.org"
@@ -186,7 +173,9 @@ in
         '';
 
         # /etc/host.conf: resolver configuration file
-        "host.conf".text = cfg.hostConf;
+        "host.conf".text = ''
+          multi on
+        '';
 
       } // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") {
         # /etc/rpc: RPC program numbers.
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 1e18e927ec6..fcb30187fa2 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -111,9 +111,10 @@ in
   config = mkIf enabled {
     assertions = [
       {
-        assertion = with config.services.xserver.displayManager; gdm.enable -> !gdm.wayland;
-        message = "NVIDIA drivers don't support wayland, set services.xserver.displayManager.gdm.wayland=false";
+        assertion = with config.services.xserver.displayManager; gdm.nvidiaWayland -> cfg.modesetting.enable;
+        message = "You cannot use wayland with GDM without modesetting enabled for NVIDIA drivers, set `hardware.nvidia.modesetting.enable = true`";
       }
+
       {
         assertion = !optimusCfg.enable ||
           (optimusCfg.nvidiaBusId != "" && optimusCfg.intelBusId != "");
diff --git a/nixos/modules/i18n/input-method/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix
index 8109ef76c40..d7857976fcc 100644
--- a/nixos/modules/i18n/input-method/ibus.nix
+++ b/nixos/modules/i18n/input-method/ibus.nix
@@ -53,9 +53,15 @@ in
   config = mkIf (config.i18n.inputMethod.enabled == "ibus") {
     i18n.inputMethod.package = ibusPackage;
 
+    environment.systemPackages = [
+      ibusAutostart
+    ];
+
     # Without dconf enabled it is impossible to use IBus
-    environment.systemPackages = with pkgs; [
-      gnome3.dconf ibusAutostart
+    programs.dconf.enable = true;
+
+    services.dbus.packages = [
+      ibusAutostart
     ];
 
     environment.variables = {
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index 773724ffbd5..cf17f9aae38 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -92,7 +92,7 @@ in
         VERSION="${cfg.version} (${cfg.codeName})"
         VERSION_CODENAME=${toLower cfg.codeName}
         VERSION_ID="${cfg.version}"
-        PRETTY_NAME="NixOS ${cfg.version} (${cfg.codeName})"
+        PRETTY_NAME="NixOS ${cfg.release} (${cfg.codeName})"
         LOGO="nix-snowflake"
         HOME_URL="https://nixos.org/"
         DOCUMENTATION_URL="https://nixos.org/nixos/manual/index.html"
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9e0d9478b5d..8e373550bb3 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -307,6 +307,7 @@
   ./services/desktops/gnome3/sushi.nix
   ./services/desktops/gnome3/tracker.nix
   ./services/desktops/gnome3/tracker-miners.nix
+  ./services/desktops/neard.nix
   ./services/desktops/profile-sync-daemon.nix
   ./services/desktops/system-config-printer.nix
   ./services/desktops/telepathy.nix
@@ -721,6 +722,7 @@
   ./services/networking/tvheadend.nix
   ./services/networking/unbound.nix
   ./services/networking/unifi.nix
+  ./services/networking/v2ray.nix
   ./services/networking/vsftpd.nix
   ./services/networking/wakeonlan.nix
   ./services/networking/websockify.nix
diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix
index eeebc3558bd..e0e2ffd80cf 100644
--- a/nixos/modules/programs/dconf.nix
+++ b/nixos/modules/programs/dconf.nix
@@ -32,13 +32,13 @@ in
     environment.etc = optionals (cfg.profiles != {})
       (mapAttrsToList mkDconfProfile cfg.profiles);
 
-    services.dbus.packages = [ pkgs.gnome3.dconf ];
+    services.dbus.packages = [ pkgs.dconf ];
 
     # For dconf executable
-    environment.systemPackages = [ pkgs.gnome3.dconf ];
+    environment.systemPackages = [ pkgs.dconf ];
 
     # Needed for unwrapped applications
-    environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.gnome3.dconf.lib}/lib/gio/modules" ];
+    environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.dconf.lib}/lib/gio/modules" ];
   };
 
 }
diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix
index 0e060e3f522..e45748af205 100644
--- a/nixos/modules/programs/ssmtp.nix
+++ b/nixos/modules/programs/ssmtp.nix
@@ -8,18 +8,16 @@
 with lib;
 
 let
-
-  cfg = config.networking.defaultMailServer;
+  cfg = config.services.ssmtp;
 
 in
-
 {
 
   options = {
 
-    networking.defaultMailServer = {
+    services.ssmtp = {
 
-      directDelivery = mkOption {
+      enable = mkOption {
         type = types.bool;
         default = false;
         description = ''
@@ -29,7 +27,7 @@ in
           <command>sendmail</command> or <command>postfix</command> on
           your machine, set this option to <literal>true</literal>, and
           set the option
-          <option>networking.defaultMailServer.hostName</option> to the
+          <option>services.ssmtp.hostName</option> to the
           host name of your preferred mail server.
         '';
       };
@@ -129,9 +127,9 @@ in
   };
 
 
-  config = mkIf cfg.directDelivery {
+  config = mkIf cfg.enable {
 
-    networking.defaultMailServer.authPassFile = mkIf (cfg.authPass != "")
+    services.ssmtp.authPassFile = mkIf (cfg.authPass != "")
       (mkDefault (toString (pkgs.writeTextFile {
         name = "ssmtp-authpass";
         text = cfg.authPass;
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index d4bce3b49d3..83b29613d9c 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -11,6 +11,8 @@ with lib;
     (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
     (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ])
     (mkRenamedOptionModule [ "networking" "connman" ] [ "services" "connman" ])
+    (mkRenamedOptionModule [ "networking" "defaultMailServer" ] [ "services" "ssmtp" ])
+    (mkRenamedOptionModule [ "services" "ssmtp" "directDelivery" ] [ "services" "ssmtp" "enable" ])
     (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
       (config:
         let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
@@ -237,6 +239,7 @@ with lib;
     (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
     (mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.fonts = [ pkgs.corefonts ]; instead.")
     (mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
+    (mkRemovedOptionModule [ "networking" "hostConf" ] "Use environment.etc.\"host.conf\" instead.")
 
     # ZSH
     (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
diff --git a/nixos/modules/services/audio/roon-server.nix b/nixos/modules/services/audio/roon-server.nix
index 4eda3c5708d..6aed485638c 100644
--- a/nixos/modules/services/audio/roon-server.nix
+++ b/nixos/modules/services/audio/roon-server.nix
@@ -66,7 +66,8 @@ in {
       if cfg.user == "roon-server" then {
         isSystemUser = true;
         description = "Roon Server user";
-        groups = [ cfg.group "audio" ];
+        group = cfg.group;
+        extraGroups = [ "audio" ];
       }
       else {};
   };
diff --git a/nixos/modules/services/desktops/neard.nix b/nixos/modules/services/desktops/neard.nix
new file mode 100644
index 00000000000..9b0f8d1b3a7
--- /dev/null
+++ b/nixos/modules/services/desktops/neard.nix
@@ -0,0 +1,23 @@
+# neard service.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  ###### interface
+  options = {
+    services.neard = {
+      enable = mkEnableOption "neard, NFC daemon";
+    };
+  };
+
+
+  ###### implementation
+  config = mkIf config.services.neard.enable {
+    environment.systemPackages = [ pkgs.neard ];
+
+    services.dbus.packages = [ pkgs.neard ];
+
+    systemd.packages = [ pkgs.neard ];
+  };
+}
diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix
index c5f9d1f9b72..11d67418a31 100644
--- a/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixos/modules/services/hardware/bluetooth.nix
@@ -36,17 +36,25 @@ in {
         '';
       };
 
+      config = mkOption {
+        type = with types; attrsOf (attrsOf (oneOf [ bool int str ]));
+        example = {
+          General = {
+            ControllerMode = "bredr";
+          };
+        };
+        description = "Set configuration for system-wide bluetooth (/etc/bluetooth/main.conf).";
+      };
+
       extraConfig = mkOption {
-        type = types.lines;
-        default = "";
+        type = with types; nullOr lines;
+        default = null;
         example = ''
           [General]
           ControllerMode = bredr
         '';
         description = ''
           Set additional configuration for system-wide bluetooth (/etc/bluetooth/main.conf).
-
-          NOTE: We already include [Policy], so any configuration under the Policy group should come first.
         '';
       };
     };
@@ -56,16 +64,18 @@ in {
   ###### implementation
 
   config = mkIf cfg.enable {
+    warnings = optional (cfg.extraConfig != null) "hardware.bluetooth.`extraConfig` is deprecated, please use hardware.bluetooth.`config`.";
 
-    environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];
+    hardware.bluetooth.config = {
+      Policy = {
+        AutoEnable = mkDefault cfg.powerOnBoot;
+      };
+    };
 
-    environment.etc = singleton {
-      source = pkgs.writeText "main.conf" ''
-        [Policy]
-        AutoEnable=${lib.boolToString cfg.powerOnBoot}
+    environment.systemPackages = [ bluez-bluetooth ];
 
-        ${cfg.extraConfig}
-      '';
+    environment.etc = singleton {
+      source = pkgs.writeText "main.conf" (generators.toINI { } cfg.config + optionalString (cfg.extraConfig != null) cfg.extraConfig);
       target = "bluetooth/main.conf";
     };
 
diff --git a/nixos/modules/services/hardware/upower.nix b/nixos/modules/services/hardware/upower.nix
index 5e7ac7a6e65..449810b5315 100644
--- a/nixos/modules/services/hardware/upower.nix
+++ b/nixos/modules/services/hardware/upower.nix
@@ -37,6 +37,172 @@ in
         '';
       };
 
+      enableWattsUpPro = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable the Watts Up Pro device.
+
+          The Watts Up Pro contains a generic FTDI USB device without a specific
+          vendor and product ID. When we probe for WUP devices, we can cause
+          the user to get a perplexing "Device or resource busy" error when
+          attempting to use their non-WUP device.
+
+          The generic FTDI device is known to also be used on:
+
+          <itemizedlist>
+            <listitem><para>Sparkfun FT232 breakout board</para></listitem>
+            <listitem><para>Parallax Propeller</para></listitem>
+          </itemizedlist>
+        '';
+      };
+
+      noPollBatteries = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Don't poll the kernel for battery level changes.
+
+          Some hardware will send us battery level changes through
+          events, rather than us having to poll for it. This option
+          allows disabling polling for hardware that sends out events.
+        '';
+      };
+
+      ignoreLid = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Do we ignore the lid state
+
+          Some laptops are broken. The lid state is either inverted, or stuck
+          on or off. We can't do much to fix these problems, but this is a way
+          for users to make the laptop panel vanish, a state that might be used
+          by a couple of user-space daemons. On Linux systems, see also
+          logind.conf(5).
+        '';
+      };
+
+      usePercentageForPolicy = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Policy for warnings and action based on battery levels
+
+          Whether battery percentage based policy should be used. The default
+          is to use the percentage, which
+          should work around broken firmwares. It is also more reliable than
+          the time left (frantically saving all your files is going to use more
+          battery than letting it rest for example).
+        '';
+      };
+
+      percentageLow = mkOption {
+        type = types.ints.unsigned;
+        default = 10;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will consider the
+          battery low.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      percentageCritical = mkOption {
+        type = types.ints.unsigned;
+        default = 3;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will consider the
+          battery critical.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      percentageAction = mkOption {
+        type = types.ints.unsigned;
+        default = 2;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>true</literal>, the levels at which UPower will take action
+          for the critical battery level.
+
+          This will also be used for batteries which don't have time information
+          such as that of peripherals.
+
+          If any value (of <literal>percentageLow</literal>,
+          <literal>percentageCritical</literal> and
+          <literal>percentageAction</literal>) is invalid, or not in descending
+          order, the defaults will be used.
+        '';
+      };
+
+      timeLow = mkOption {
+        type = types.ints.unsigned;
+        default = 1200;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          consider the battery low.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      timeCritical = mkOption {
+        type = types.ints.unsigned;
+        default = 300;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          consider the battery critical.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      timeAction = mkOption {
+        type = types.ints.unsigned;
+        default = 120;
+        description = ''
+          When <literal>usePercentageForPolicy</literal> is
+          <literal>false</literal>, the time remaining at which UPower will
+          take action for the critical battery level.
+
+          If any value (of <literal>timeLow</literal>,
+          <literal>timeCritical</literal> and <literal>timeAction</literal>) is
+          invalid, or not in descending order, the defaults will be used.
+        '';
+      };
+
+      criticalPowerAction = mkOption {
+        type = types.enum [ "PowerOff" "Hibernate" "HybridSleep" ];
+        default = "HybridSleep";
+        description = ''
+          The action to take when <literal>timeAction</literal> or
+          <literal>percentageAction</literal> has been reached for the batteries
+          (UPS or laptop batteries) supplying the computer
+        '';
+      };
+
     };
 
   };
@@ -54,6 +220,21 @@ in
 
     systemd.packages = [ cfg.package ];
 
+    environment.etc."UPower/UPower.conf".text = generators.toINI {} {
+      UPower = {
+        EnableWattsUpPro = cfg.enableWattsUpPro;
+        NoPollBatteries = cfg.noPollBatteries;
+        IgnoreLid = cfg.ignoreLid;
+        UsePercentageForPolicy = cfg.usePercentageForPolicy;
+        PercentageLow = cfg.percentageLow;
+        PercentageCritical = cfg.percentageCritical;
+        PercentageAction = cfg.percentageAction;
+        TimeLow = cfg.timeLow;
+        TimeCritical = cfg.timeCritical;
+        TimeAction = cfg.timeAction;
+        CriticalPowerAction = cfg.criticalPowerAction;
+      };
+    };
   };
 
 }
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index c8c59fb256e..258476dd9fe 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -394,6 +394,26 @@ in
         WorkingDirectory = cfg.stateDir;
         ExecStart = "${gitea.bin}/bin/gitea web";
         Restart = "always";
+
+        # Filesystem
+        ProtectHome = true;
+        PrivateDevices = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+        ReadWritePaths = cfg.stateDir;
+        # Caps
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        # Misc.
+        LockPersonality = true;
+        RestrictRealtime = true;
+        PrivateMounts = true;
+        PrivateUsers = true;
+        MemoryDenyWriteExecute = true;
+        SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @reboot @resources @setuid @swap";
+        SystemCallArchitectures = "native";
+        RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
       };
 
       environment = {
@@ -453,4 +473,5 @@ in
       timerConfig.OnCalendar = cfg.dump.interval;
     };
   };
+  meta.maintainers = with lib.maintainers; [ srhb ];
 }
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 35b513bac57..53f32b8fadc 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -197,6 +197,9 @@ in
     services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
   })] ++ [(mkIf config.services.rspamd.enable {
     services.prometheus.exporters.rspamd.url = mkDefault "http://localhost:11334/stat";
+  })] ++ [(mkIf config.services.nginx.enable {
+    systemd.services.prometheus-nginx-exporter.after = [ "nginx.service" ];
+    systemd.services.prometheus-nginx-exporter.requires = [ "nginx.service" ];
   })] ++ (mapAttrsToList (name: conf:
     mkExporterConf {
       inherit name;
diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix
index c66011afccb..875ab70bfc7 100644
--- a/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixos/modules/services/network-filesystems/samba.nix
@@ -115,7 +115,7 @@ in
         type = types.package;
         default = pkgs.samba;
         defaultText = "pkgs.samba";
-        example = literalExample "pkgs.samba3";
+        example = literalExample "pkgs.samba4Full";
         description = ''
           Defines which package should be used for the samba server.
         '';
diff --git a/nixos/modules/services/networking/dnschain.nix b/nixos/modules/services/networking/dnschain.nix
index 5b58ea9b0c9..2586f2d74e9 100644
--- a/nixos/modules/services/networking/dnschain.nix
+++ b/nixos/modules/services/networking/dnschain.nix
@@ -137,7 +137,7 @@ in
       ];
 
     services.pdns-recursor = mkIf cfgs.pdns-recursor.resolveDNSChainQueries {
-      forwardZones =
+      forwardZonesRecurse =
         { bit = "127.0.0.1:${toString cfg.dns.port}";
           dns = "127.0.0.1:${toString cfg.dns.port}";
         };
@@ -180,4 +180,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/dnscrypt-wrapper.nix b/nixos/modules/services/networking/dnscrypt-wrapper.nix
index 79f9e1a4308..e53fb7a1578 100644
--- a/nixos/modules/services/networking/dnscrypt-wrapper.nix
+++ b/nixos/modules/services/networking/dnscrypt-wrapper.nix
@@ -197,4 +197,7 @@ in {
     };
 
   };
+
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/fakeroute.nix b/nixos/modules/services/networking/fakeroute.nix
index 82a9fb729d8..7916ad4098a 100644
--- a/nixos/modules/services/networking/fakeroute.nix
+++ b/nixos/modules/services/networking/fakeroute.nix
@@ -60,4 +60,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/monero.nix b/nixos/modules/services/networking/monero.nix
index 831e4d60d8d..98a3456f639 100644
--- a/nixos/modules/services/networking/monero.nix
+++ b/nixos/modules/services/networking/monero.nix
@@ -224,15 +224,17 @@ in
       };
     };
 
-   assertions = singleton {
-     assertion = cfg.mining.enable -> cfg.mining.address != "";
-     message   = ''
+    assertions = singleton {
+      assertion = cfg.mining.enable -> cfg.mining.address != "";
+      message   = ''
        You need a Monero address to receive mining rewards:
        specify one using option monero.mining.address.
-    '';
-   };
+      '';
+    };
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
 
diff --git a/nixos/modules/services/networking/namecoind.nix b/nixos/modules/services/networking/namecoind.nix
index c8ee0a2f564..43a9a0b2598 100644
--- a/nixos/modules/services/networking/namecoind.nix
+++ b/nixos/modules/services/networking/namecoind.nix
@@ -201,4 +201,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/pdns-recursor.nix b/nixos/modules/services/networking/pdns-recursor.nix
index ebfdd9f35b7..6ff181377fc 100644
--- a/nixos/modules/services/networking/pdns-recursor.nix
+++ b/nixos/modules/services/networking/pdns-recursor.nix
@@ -91,10 +91,18 @@ in {
 
     forwardZones = mkOption {
       type = types.attrs;
+      default = {};
+      description = ''
+        DNS zones to be forwarded to other authoritative servers.
+      '';
+    };
+
+    forwardZonesRecurse = mkOption {
+      type = types.attrs;
       example = { eth = "127.0.0.1:5353"; };
       default = {};
       description = ''
-        DNS zones to be forwarded to other servers.
+        DNS zones to be forwarded to other recursive servers.
       '';
     };
 
@@ -158,7 +166,8 @@ in {
       webserver-port       = cfg.api.port;
       webserver-allow-from = cfg.api.allowFrom;
 
-      forward-zones    = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
+      forward-zones         = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
+      forward-zones-recurse = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZonesRecurse;
       export-etc-hosts = cfg.exportHosts;
       dnssec           = cfg.dnssecValidation;
       serve-rfc1918    = cfg.serveRFC1918;
@@ -210,4 +219,6 @@ in {
      "To change extra Recursor settings use services.pdns-recursor.settings instead.")
   ];
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix
index 49ca839a2c3..1f41c720adf 100644
--- a/nixos/modules/services/networking/privoxy.nix
+++ b/nixos/modules/services/networking/privoxy.nix
@@ -109,4 +109,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/searx.nix b/nixos/modules/services/networking/searx.nix
index 9412d0ef8a6..60fb3d5d6d4 100644
--- a/nixos/modules/services/networking/searx.nix
+++ b/nixos/modules/services/networking/searx.nix
@@ -75,4 +75,6 @@ in
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/networking/v2ray.nix b/nixos/modules/services/networking/v2ray.nix
new file mode 100644
index 00000000000..a1774cdffbb
--- /dev/null
+++ b/nixos/modules/services/networking/v2ray.nix
@@ -0,0 +1,81 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  options = {
+
+    services.v2ray = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to run v2ray server.
+
+          Either <literal>configFile</literal> or <literal>config</literal> must be specified.
+        '';
+      };
+
+      configFile = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "/etc/v2ray/config.json";
+        description = ''
+          The absolute path to the configuration file.
+
+          Either <literal>configFile</literal> or <literal>config</literal> must be specified.
+
+          See <link xlink:href="https://v2ray.com/en/configuration/overview.html"/>.
+        '';
+      };
+
+      config = mkOption {
+        type = types.nullOr (types.attrsOf types.unspecified);
+        default = null;
+        example = {
+          inbounds = [{
+            port = 1080;
+            listen = "127.0.0.1";
+            protocol = "http";
+          }];
+          outbounds = [{
+            protocol = "freedom";
+          }];
+        };
+        description = ''
+          The configuration object.
+
+          Either `configFile` or `config` must be specified.
+
+          See <link xlink:href="https://v2ray.com/en/configuration/overview.html"/>.
+        '';
+      };
+    };
+
+  };
+
+  config = let
+    cfg = config.services.v2ray;
+    configFile = if cfg.configFile != null
+      then cfg.configFile
+      else (pkgs.writeText "v2ray.json" (builtins.toJSON cfg.config));
+
+  in mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = (cfg.configFile == null) != (cfg.config == null);
+        message = "Either but not both `configFile` and `config` should be specified for v2ray.";
+      }
+    ];
+
+    systemd.services.v2ray = {
+      description = "v2ray Daemon";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [ pkgs.v2ray ];
+      script = ''
+        exec v2ray -config ${configFile}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix
index 294c0d70ede..8f05c3949fb 100644
--- a/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixos/modules/services/networking/wpa_supplicant.nix
@@ -236,9 +236,12 @@ in {
         ${if ifaces == [] then ''
           for i in $(cd /sys/class/net && echo *); do
             DEVTYPE=
-            source /sys/class/net/$i/uevent
-            if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
-              ifaces="$ifaces''${ifaces:+ -N} -i$i"
+            UEVENT_PATH=/sys/class/net/$i/uevent
+            if [ -e "$UEVENT_PATH" ]; then
+              source "$UEVENT_PATH"
+              if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
+                ifaces="$ifaces''${ifaces:+ -N} -i$i"
+              fi
             fi
           done
         '' else ''
diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix
index 5d65f8e3413..9e675ecd6f4 100644
--- a/nixos/modules/services/networking/yggdrasil.nix
+++ b/nixos/modules/services/networking/yggdrasil.nix
@@ -12,11 +12,11 @@ let
   configFileProvided = (cfg.configFile != null);
   generateConfig = (
     if configProvided && configFileProvided then
-      "${pkgs.jq}/bin/jq -s add /run/yggdrasil/configFile.json ${configAsFile}"
+      "${pkgs.jq}/bin/jq -s add ${configAsFile} ${cfg.configFile}"
     else if configProvided then
       "cat ${configAsFile}"
     else if configFileProvided then
-      "cat /run/yggdrasil/configFile.json"
+      "cat ${cfg.configFile}"
     else
       "${cfg.package}/bin/yggdrasil -genconf"
   );
@@ -147,7 +147,7 @@ in {
         RuntimeDirectory = "yggdrasil";
         RuntimeDirectoryMode = "0700";
         BindReadOnlyPaths = mkIf configFileProvided
-          [ "${cfg.configFile}:/run/yggdrasil/configFile.json" ];
+          [ "${cfg.configFile}" ];
 
         # TODO: as of yggdrasil 0.3.8 and systemd 243, yggdrasil fails
         # to set up the network adapter when DynamicUser is set.  See
diff --git a/nixos/modules/services/torrent/magnetico.nix b/nixos/modules/services/torrent/magnetico.nix
index 719827713ff..7465c10e002 100644
--- a/nixos/modules/services/torrent/magnetico.nix
+++ b/nixos/modules/services/torrent/magnetico.nix
@@ -213,4 +213,6 @@ in {
 
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/web-apps/matomo-doc.xml b/nixos/modules/services/web-apps/matomo-doc.xml
index 79cece551d3..69d1170e452 100644
--- a/nixos/modules/services/web-apps/matomo-doc.xml
+++ b/nixos/modules/services/web-apps/matomo-doc.xml
@@ -86,12 +86,6 @@ GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
   <itemizedlist>
    <listitem>
     <para>
-     Matomo's file integrity check will warn you. This is due to the patches
-     necessary for NixOS, you can safely ignore this.
-    </para>
-   </listitem>
-   <listitem>
-    <para>
      Matomo will warn you that the JavaScript tracker is not writable. This is
      because it's located in the read-only nix store. You can safely ignore
      this, unless you need a plugin that needs JavaScript tracker access.
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index b67f0880878..e3a2db398e6 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -31,8 +31,12 @@ let
   occ = pkgs.writeScriptBin "nextcloud-occ" ''
     #! ${pkgs.stdenv.shell}
     cd ${pkgs.nextcloud}
-    exec /run/wrappers/bin/sudo -u nextcloud \
-      NEXTCLOUD_CONFIG_DIR="${cfg.home}/config" \
+    sudo=exec
+    if [[ "$USER" != nextcloud ]]; then
+      sudo='exec /run/wrappers/bin/sudo -u nextcloud --preserve-env=NEXTCLOUD_CONFIG_DIR'
+    fi
+    export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config"
+    $sudo \
       ${phpPackage}/bin/php \
       -c ${pkgs.writeText "php.ini" phpOptionsStr}\
       occ $*
@@ -420,6 +424,7 @@ in {
         nextcloud-update-plugins = mkIf cfg.autoUpdateApps.enable {
           serviceConfig.Type = "oneshot";
           serviceConfig.ExecStart = "${occ}/bin/nextcloud-occ app:update --all";
+          serviceConfig.User = "nextcloud";
           startAt = cfg.autoUpdateApps.startAt;
         };
       };
diff --git a/nixos/modules/services/web-apps/wordpress.nix b/nixos/modules/services/web-apps/wordpress.nix
index f1370c2854b..13d21a0b4ae 100644
--- a/nixos/modules/services/web-apps/wordpress.nix
+++ b/nixos/modules/services/web-apps/wordpress.nix
@@ -127,7 +127,7 @@ let
             <note><para>These themes need to be packaged before use, see example.</para></note>
           '';
           example = ''
-            # For shits and giggles, let's package the responsive theme
+            # Let's package the responsive theme
             responsiveTheme = pkgs.stdenv.mkDerivation {
               name = "responsive-theme";
               # Download the theme from the wordpress site
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index f5a6051b4b5..850d3052533 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -367,7 +367,7 @@ in
         type = types.lines;
         default = "";
         description = ''
-          Cnfiguration lines appended to the generated Apache
+          Configuration lines appended to the generated Apache
           configuration file. Note that this mechanism may not work
           when <option>configFile</option> is overridden.
         '';
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 7e488f33a41..455854e2a96 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -207,6 +207,7 @@ with lib;
       default = null;
       description = ''
         Basic Auth password file for a vhost.
+        Can be created via: <command>htpasswd -c &lt;filename&gt; &lt;username&gt;</command>
       '';
     };
 
diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix
index a94a76ff0c0..61174672e2d 100644
--- a/nixos/modules/services/x11/compton.nix
+++ b/nixos/modules/services/x11/compton.nix
@@ -284,4 +284,6 @@ in {
     environment.systemPackages = [ pkgs.compton ];
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 80dab135ee2..25ef1cbfc67 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -159,7 +159,7 @@ in
     # Override GSettings schemas
     environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
 
-    environment.sessionVariables.GNOME_SESSION_DEBUG = optionalString cfg.debug "1";
+    environment.sessionVariables.GNOME_SESSION_DEBUG = mkIf cfg.debug "1";
 
     # Settings from elementary-default-settings
     environment.sessionVariables.GTK_CSD = "1";
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index da8bdcb78c4..56015874723 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -169,7 +169,7 @@ in
         ++ lib.optional (cfg.phononBackend == "vlc") libsForQt5.phonon-backend-vlc
 
         # Optional hardware support features
-        ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt ]
+        ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt openobex obexftp ]
         ++ lib.optional config.networking.networkmanager.enable plasma-nm
         ++ lib.optional config.hardware.pulseaudio.enable plasma-pa
         ++ lib.optional config.powerManagement.enable powerdevil
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 0af9ccfcf3e..29a80aac6e6 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -126,11 +126,21 @@ in
       wayland = mkOption {
         default = true;
         description = ''
-          Allow GDM run on Wayland instead of Xserver
+          Allow GDM to run on Wayland instead of Xserver.
+          Note to enable Wayland with Nvidia you need to
+          enable the <option>nvidiaWayland</option>.
         '';
         type = types.bool;
       };
 
+      nvidiaWayland = mkOption {
+        default = false;
+        description = ''
+          Whether to allow wayland to be used with the proprietary
+          NVidia graphics driver.
+        '';
+      };
+
       autoSuspend = mkOption {
         default = true;
         description = ''
@@ -237,6 +247,19 @@ in
 
     services.dbus.packages = [ gdm ];
 
+    # We duplicate upstream's udev rules manually to make wayland with nvidia configurable
+    services.udev.extraRules = ''
+      # disable Wayland on Cirrus chipsets
+      ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      # disable Wayland on Hi1710 chipsets
+      ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      ${optionalString (!cfg.gdm.nvidiaWayland) ''
+        DRIVER=="nvidia", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      ''}
+      # disable Wayland when modesetting is disabled
+      IMPORT{cmdline}="nomodeset", RUN+="${gdm}/libexec/gdm-disable-wayland"
+    '';
+
     systemd.user.services.dbus.wantedBy = [ "default.target" ];
 
     programs.dconf.profiles.gdm =
@@ -258,7 +281,7 @@ in
       customDconfDb = pkgs.stdenv.mkDerivation {
         name = "gdm-dconf-db";
         buildCommand = ''
-          ${pkgs.gnome3.dconf}/bin/dconf compile $out ${customDconf}/dconf
+          ${pkgs.dconf}/bin/dconf compile $out ${customDconf}/dconf
         '';
       };
     in pkgs.stdenv.mkDerivation {
diff --git a/nixos/modules/services/x11/unclutter.nix b/nixos/modules/services/x11/unclutter.nix
index 5f16a680050..2478aaabb79 100644
--- a/nixos/modules/services/x11/unclutter.nix
+++ b/nixos/modules/services/x11/unclutter.nix
@@ -71,4 +71,7 @@ in {
       serviceConfig.Restart = "always";
     };
   };
+
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/services/x11/urxvtd.nix b/nixos/modules/services/x11/urxvtd.nix
index d916fa5bb39..9bfcfa9b065 100644
--- a/nixos/modules/services/x11/urxvtd.nix
+++ b/nixos/modules/services/x11/urxvtd.nix
@@ -45,4 +45,6 @@ in {
     environment.variables.RXVT_SOCKET = "/run/user/$(id -u)/urxvtd-socket";
   };
 
+  meta.maintainers = with lib.maintainers; [ rnhmjoj ];
+
 }
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 12a80a12d19..641cf9faadc 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -214,17 +214,7 @@ while (my ($unit, $state) = each %{$activePrev}) {
                 # Reload the changed mount unit to force a remount.
                 $unitsToReload{$unit} = 1;
                 recordUnit($reloadListFile, $unit);
-            } elsif ($unit =~ /\.socket$/) {
-                my $unitInfo = parseUnit($newUnitFile);
-                # If a socket unit has been changed, the corresponding
-                # service unit has to be stopped before the socket can
-                # be restarted. The service will be started again on demand.
-                my $serviceUnit = $unitInfo->{'Unit'} // "$baseName.service";
-                $unitsToStop{$serviceUnit} = 1;
-                $unitsToStop{$unit} = 1;
-                $unitsToStart{$unit} = 1;
-                recordUnit($startListFile, $unit);
-            } elsif ($unit =~ /\.path$/ || $unit =~ /\.slice$/) {
+            } elsif ($unit =~ /\.socket$/ || $unit =~ /\.path$/ || $unit =~ /\.slice$/) {
                 # FIXME: do something?
             } else {
                 my $unitInfo = parseUnit($newUnitFile);
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index 226769f1059..58d914d0810 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -11,7 +11,7 @@ let
   checkLink = checkUnitConfig "Link" [
     (assertOnlyFields [
       "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name" "OriginalName"
-      "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port"
+      "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port" "Advertise"
       "TCPSegmentationOffload" "TCP6SegmentationOffload" "GenericSegmentationOffload"
       "GenericReceiveOffload" "LargeReceiveOffload" "RxChannels" "TxChannels"
       "OtherChannels" "CombinedChannels"
@@ -276,7 +276,7 @@ let
     (assertValueOneOf "ARP" boolValues)
     (assertValueOneOf "Multicast" boolValues)
     (assertValueOneOf "Unmanaged" boolValues)
-    (assertValueOneOf "RequiredForOnline" boolValues)
+    (assertValueOneOf "RequiredForOnline" (boolValues ++ ["off" "no-carrier" "dormant" "degraded-carrier" "carrier" "degraded" "enslaved" "routable"]))
   ];
 
 
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index fe11917c609..75581af71ec 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -12,6 +12,7 @@ let
   cfgSnapFlags = cfgSnapshots.flags;
   cfgScrub = config.services.zfs.autoScrub;
   cfgTrim = config.services.zfs.trim;
+  cfgZED = config.services.zfs.zed;
 
   inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems;
   inSystem = any (fs: fs == "zfs") config.boot.supportedFilesystems;
@@ -87,6 +88,17 @@ let
     }
   '';
 
+  zedConf = generators.toKeyValue {
+    mkKeyValue = generators.mkKeyValueDefault {
+      mkValueString = v:
+        if isInt           v then toString v
+        else if isString   v then "\"${v}\""
+        else if true  ==   v then "1"
+        else if false ==   v then "0"
+        else if isList     v then "\"" + (concatStringsSep " " v) + "\""
+        else err "this value is" (toString v);
+    } "=";
+  } cfgZED.settings;
 in
 
 {
@@ -312,6 +324,32 @@ in
         '';
       };
     };
+
+    services.zfs.zed.settings = mkOption {
+      type = with types; attrsOf (oneOf [ str int bool (listOf str) ]);
+      example = literalExample ''
+        {
+          ZED_DEBUG_LOG = "/tmp/zed.debug.log";
+
+          ZED_EMAIL_ADDR = [ "root" ];
+          ZED_EMAIL_PROG = "mail";
+          ZED_EMAIL_OPTS = "-s '@SUBJECT@' @ADDRESS@";
+
+          ZED_NOTIFY_INTERVAL_SECS = 3600;
+          ZED_NOTIFY_VERBOSE = false;
+
+          ZED_USE_ENCLOSURE_LEDS = true;
+          ZED_SCRUB_AFTER_RESILVER = false;
+        }
+      '';
+      description = ''
+        ZFS Event Daemon /etc/zfs/zed.d/zed.rc content
+
+        See
+        <citerefentry><refentrytitle>zed</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+        for details on ZED and the scripts in /etc/zfs/zed.d to find the possible variables
+      '';
+    };
   };
 
   ###### implementation
@@ -389,8 +427,32 @@ in
         zfsSupport = true;
       };
 
-      environment.etc."zfs/zed.d".source = "${packages.zfsUser}/etc/zfs/zed.d/";
-      environment.etc."zfs/zpool.d".source = "${packages.zfsUser}/etc/zfs/zpool.d/";
+      services.zfs.zed.settings = {
+        ZED_EMAIL_PROG = mkDefault "${pkgs.mailutils}/bin/mail";
+      };
+
+      environment.etc = genAttrs
+        (map
+          (file: "zfs/zed.d/${file}")
+          [
+            "all-syslog.sh"
+            "pool_import-led.sh"
+            "resilver_finish-start-scrub.sh"
+            "statechange-led.sh"
+            "vdev_attach-led.sh"
+            "zed-functions.sh"
+            "data-notify.sh"
+            "resilver_finish-notify.sh"
+            "scrub_finish-notify.sh"
+            "statechange-notify.sh"
+            "vdev_clear-led.sh"
+          ]
+        )
+        (file: { source = "${packages.zfsUser}/etc/${file}"; })
+      // {
+        "zfs/zed.d/zed.rc".text = zedConf;
+        "zfs/zpool.d".source = "${packages.zfsUser}/etc/zfs/zpool.d/";
+      };
 
       system.fsPackages = [ packages.zfsUser ]; # XXX: needed? zfs doesn't have (need) a fsck
       environment.systemPackages = [ packages.zfsUser ]
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 689f881cbea..678ce3c2880 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -63,8 +63,7 @@ in rec {
 
         #(all nixos.tests.containers)
         (all nixos.tests.containers-imperative)
-        (all nixos.tests.containers-ipv4)
-        (all nixos.tests.containers-ipv6)
+        (all nixos.tests.containers-ip)
         nixos.tests.chromium.x86_64-linux or []
         (all nixos.tests.firefox)
         (all nixos.tests.firewall)
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index 84af457801a..74c16e990f3 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -32,8 +32,7 @@ in rec {
     tests = {
       inherit (nixos'.tests)
         containers-imperative
-        containers-ipv4
-        containers-ipv6
+        containers-ip
         firewall
         ipv6
         login
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 7945a239f6a..35a02d2e283 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -48,13 +48,13 @@ in
   clickhouse = handleTest ./clickhouse.nix {};
   cloud-init = handleTest ./cloud-init.nix {};
   codimd = handleTest ./codimd.nix {};
+  consul = handleTest ./consul.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 {};
-  containers-ipv4 = handleTest ./containers-ipv4.nix {};
-  containers-ipv6 = handleTest ./containers-ipv6.nix {};
+  containers-ip = handleTest ./containers-ip.nix {};
   containers-macvlans = handleTest ./containers-macvlans.nix {};
   containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
   containers-restart_networking = handleTest ./containers-restart_networking.nix {};
@@ -104,6 +104,7 @@ in
   grafana = handleTest ./grafana.nix {};
   graphite = handleTest ./graphite.nix {};
   graylog = handleTest ./graylog.nix {};
+  gvisor = handleTest ./gvisor.nix {};
   hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
   hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};
   handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {};
@@ -267,6 +268,7 @@ in
   taskserver = handleTest ./taskserver.nix {};
   telegraf = handleTest ./telegraf.nix {};
   tiddlywiki = handleTest ./tiddlywiki.nix {};
+  timezone = handleTest ./timezone.nix {};
   tinydns = handleTest ./tinydns.nix {};
   tor = handleTest ./tor.nix {};
   transmission = handleTest ./transmission.nix {};
diff --git a/nixos/tests/consul.nix b/nixos/tests/consul.nix
new file mode 100644
index 00000000000..6600dae4770
--- /dev/null
+++ b/nixos/tests/consul.nix
@@ -0,0 +1,143 @@
+import ./make-test-python.nix ({pkgs, lib, ...}:
+
+let
+  # Settings for both servers and agents
+  webUi = true;
+  retry_interval = "1s";
+  raft_multiplier = 1;
+
+  defaultExtraConfig = {
+    inherit retry_interval;
+    performance = {
+      inherit raft_multiplier;
+    };
+  };
+
+  allConsensusServerHosts = [
+    "192.168.1.1"
+    "192.168.1.2"
+    "192.168.1.3"
+  ];
+
+  allConsensusClientHosts = [
+    "192.168.2.1"
+    "192.168.2.2"
+  ];
+
+  firewallSettings = {
+    # See https://www.consul.io/docs/install/ports.html
+    allowedTCPPorts = [ 8301 8302 8600 8500 8300 ];
+    allowedUDPPorts = [ 8301 8302 8600 ];
+  };
+
+  client = index: { pkgs, ... }:
+    let
+      ip = builtins.elemAt allConsensusClientHosts index;
+    in
+      {
+        environment.systemPackages = [ pkgs.consul ];
+
+        networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+          { address = ip; prefixLength = 16; }
+        ];
+        networking.firewall = firewallSettings;
+
+        services.consul = {
+          enable = true;
+          inherit webUi;
+          extraConfig = defaultExtraConfig // {
+            server = false;
+            retry_join = allConsensusServerHosts;
+            bind_addr = ip;
+          };
+        };
+      };
+
+  server = index: { pkgs, ... }:
+    let
+      ip = builtins.elemAt allConsensusServerHosts index;
+    in
+      {
+        networking.interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+          { address = builtins.elemAt allConsensusServerHosts index; prefixLength = 16; }
+        ];
+        networking.firewall = firewallSettings;
+
+        services.consul =
+          let
+            thisConsensusServerHost = builtins.elemAt allConsensusServerHosts index;
+          in
+          assert builtins.elem thisConsensusServerHost allConsensusServerHosts;
+          {
+            enable = true;
+            inherit webUi;
+            extraConfig = defaultExtraConfig // {
+              server = true;
+              bootstrap_expect = builtins.length allConsensusServerHosts;
+              retry_join =
+                # If there's only 1 node in the network, we allow self-join;
+                # otherwise, the node must not try to join itself, and join only the other servers.
+                # See https://github.com/hashicorp/consul/issues/2868
+                if builtins.length allConsensusServerHosts == 1
+                  then allConsensusServerHosts
+                  else builtins.filter (h: h != thisConsensusServerHost) allConsensusServerHosts;
+              bind_addr = ip;
+            };
+          };
+      };
+in {
+  name = "consul";
+
+  nodes = {
+    server1 = server 0;
+    server2 = server 1;
+    server3 = server 2;
+
+    client1 = client 0;
+    client2 = client 1;
+  };
+
+  testScript = ''
+    servers = [server1, server2, server3]
+    machines = [server1, server2, server3, client1, client2]
+
+    for m in machines:
+        m.wait_for_unit("consul.service")
+
+    for m in machines:
+        m.wait_until_succeeds("[ $(consul members | grep -o alive | wc -l) == 5 ]")
+
+    client1.succeed("consul kv put testkey 42")
+    client2.succeed("[ $(consul kv get testkey) == 42 ]")
+
+    # Test that the cluster can tolearate failures of any single server:
+    for server in servers:
+        server.crash()
+
+        # For each client, wait until they have connection again
+        # using `kv get -recurse` before issuing commands.
+        client1.wait_until_succeeds("consul kv get -recurse")
+        client2.wait_until_succeeds("consul kv get -recurse")
+
+        # Do some consul actions while one server is down.
+        client1.succeed("consul kv put testkey 43")
+        client2.succeed("[ $(consul kv get testkey) == 43 ]")
+        client2.succeed("consul kv delete testkey")
+
+        # Restart crashed machine.
+        server.start()
+
+        # Wait for recovery.
+        for m in machines:
+            m.wait_until_succeeds("[ $(consul members | grep -o alive | wc -l) == 5 ]")
+
+        # Wait for client connections.
+        client1.wait_until_succeeds("consul kv get -recurse")
+        client2.wait_until_succeeds("consul kv get -recurse")
+
+        # Do some consul actions with server back up.
+        client1.succeed("consul kv put testkey 44")
+        client2.succeed("[ $(consul kv get testkey) == 44 ]")
+        client2.succeed("consul kv delete testkey")
+  '';
+})
diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix
index 38db64eb793..2c8e8fa5370 100644
--- a/nixos/tests/containers-bridge.nix
+++ b/nixos/tests/containers-bridge.nix
@@ -7,7 +7,7 @@ let
   containerIp6 = "fc00::2/7";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-bridge";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ];
@@ -61,43 +61,42 @@ import ./make-test.nix ({ pkgs, ...} : {
       virtualisation.pathsInNixDB = [ pkgs.stdenv ];
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container status webserver") =~ /up/ or die;
-
-      # Check if bridges exist inside containers
-      $machine->succeed("nixos-container run webserver -- ip link show eth0");
-      $machine->succeed("nixos-container run web-noip -- ip link show eth0");
-
-      "${containerIp}" =~ /([^\/]+)\/([0-9+])/;
-      my $ip = $1;
-      chomp $ip;
-      $machine->succeed("ping -n -c 1 $ip");
-      $machine->succeed("curl --fail http://$ip/ > /dev/null");
-
-      "${containerIp6}" =~ /([^\/]+)\/([0-9+])/;
-      my $ip6 = $1;
-      chomp $ip6;
-      $machine->succeed("ping -n -c 1 $ip6");
-      $machine->succeed("curl --fail http://[$ip6]/ > /dev/null");
-
-      # Check that nixos-container show-ip works in case of an ipv4 address with
-      # subnetmask in CIDR notation.
-      my $result = $machine->succeed("nixos-container show-ip webserver");
-      chomp $result;
-      $result eq $ip or die;
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
-      $machine->fail("curl --fail --connect-timeout 2 http://[$ip6]/ > /dev/null");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
+  testScript = ''
+    machine.wait_for_unit("default.target")
+    assert "webserver" in machine.succeed("nixos-container list")
+
+    with subtest("Start the webserver container"):
+        assert "up" in machine.succeed("nixos-container status webserver")
+
+    with subtest("Bridges exist inside containers"):
+        machine.succeed(
+            "nixos-container run webserver -- ip link show eth0",
+            "nixos-container run web-noip -- ip link show eth0",
+        )
+
+    ip = "${containerIp}".split("/")[0]
+    machine.succeed(f"ping -n -c 1 {ip}")
+    machine.succeed(f"curl --fail http://{ip}/ > /dev/null")
+
+    ip6 = "${containerIp6}".split("/")[0]
+    machine.succeed(f"ping -n -c 1 {ip6}")
+    machine.succeed(f"curl --fail http://[{ip6}]/ > /dev/null")
+
+    with subtest(
+        "nixos-container show-ip works in case of an ipv4 address "
+        + "with subnetmask in CIDR notation."
+    ):
+        result = machine.succeed("nixos-container show-ip webserver").rstrip()
+        assert result == ip
+
+    with subtest("Stop the container"):
+        machine.succeed("nixos-container stop webserver")
+        machine.fail(
+            f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null",
+            f"curl --fail --connect-timeout 2 http://[{ip6}]/ > /dev/null",
+        )
+
+    # Destroying a declarative container should fail.
+    machine.fail("nixos-container destroy webserver")
+  '';
 })
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 2e7e4b2f1d6..61df74042cb 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-imperative";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ];
@@ -36,95 +36,99 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = let
-    tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" ''
-      {
-        systemd.tmpfiles.rules = [ "d /foo - - - - -" ];
-        systemd.services.foo = {
-          serviceConfig.Type = "oneshot";
-          script = "ls -al /foo";
-          wantedBy = [ "multi-user.target" ];
-        };
-      }
-    ''; in
-    ''
-      # Make sure we have a NixOS tree (required by ‘nixos-container create’).
-      $machine->succeed("PAGER=cat nix-env -qa -A nixos.hello >&2");
-
-      # Create some containers imperatively.
-      my $id1 = $machine->succeed("nixos-container create foo --ensure-unique-name");
-      chomp $id1;
-      $machine->log("created container $id1");
-
-      my $id2 = $machine->succeed("nixos-container create foo --ensure-unique-name");
-      chomp $id2;
-      $machine->log("created container $id2");
-
-      die if $id1 eq $id2;
-
-      # Put the root of $id2 into a bind mount.
-      $machine->succeed(
-        "mv /var/lib/containers/$id2 /id2-bindmount",
-        "mount --bind /id2-bindmount /var/lib/containers/$id1"
-      );
-
-      my $ip1 = $machine->succeed("nixos-container show-ip $id1");
-      chomp $ip1;
-      my $ip2 = $machine->succeed("nixos-container show-ip $id2");
-      chomp $ip2;
-      die if $ip1 eq $ip2;
-
-      # Create a directory and a file we can later check if it still exists
-      # after destruction of the container.
-      $machine->succeed(
-        "mkdir /nested-bindmount",
-        "echo important data > /nested-bindmount/dummy",
-      );
-
-      # Create a directory with a dummy file and bind-mount it into both
-      # containers.
-      foreach ($id1, $id2) {
-        my $importantPath = "/var/lib/containers/$_/very/important/data";
-        $machine->succeed(
-          "mkdir -p $importantPath",
-          "mount --bind /nested-bindmount $importantPath"
-        );
-      }
-
-      # Start one of them.
-      $machine->succeed("nixos-container start $id1");
-
-      # Execute commands via the root shell.
-      $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
-
-      # Execute a nix command via the root shell. (regression test for #40355)
-      $machine->succeed("nixos-container run $id1 -- nix-instantiate -E 'derivation { name = \"empty\"; builder = \"false\"; system = \"false\"; }'");
-
-      # Stop and start (regression test for #4989)
-      $machine->succeed("nixos-container stop $id1");
-      $machine->succeed("nixos-container start $id1");
-
-      # Ensure tmpfiles are present
-      $machine->log("creating container tmpfiles");
-      $machine->succeed("nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}");
-      $machine->log("created, starting…");
-      $machine->succeed("nixos-container start tmpfiles");
-      $machine->log("done starting, investigating…");
-      $machine->succeed("echo \$(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;");
-      $machine->succeed("nixos-container destroy tmpfiles");
-
-      # Execute commands via the root shell.
-      $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
-
-      # Destroy the containers.
-      $machine->succeed("nixos-container destroy $id1");
-      $machine->succeed("nixos-container destroy $id2");
-
-      $machine->succeed(
-        # Check whether destruction of any container has killed important data
-        "grep -qF 'important data' /nested-bindmount/dummy",
-        # Ensure that the container path is gone
-        "test ! -e /var/lib/containers/$id1"
-      );
+      tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" ''
+        {
+          systemd.tmpfiles.rules = [ "d /foo - - - - -" ];
+          systemd.services.foo = {
+            serviceConfig.Type = "oneshot";
+            script = "ls -al /foo";
+            wantedBy = [ "multi-user.target" ];
+          };
+        }
+      '';
+    in ''
+      with subtest("Make sure we have a NixOS tree (required by ‘nixos-container create’)"):
+          machine.succeed("PAGER=cat nix-env -qa -A nixos.hello >&2")
+
+      id1, id2 = None, None
+
+      with subtest("Create some containers imperatively"):
+          id1 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip()
+          machine.log(f"created container {id1}")
+
+          id2 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip()
+          machine.log(f"created container {id2}")
+
+          assert id1 != id2
+
+      with subtest(f"Put the root of {id2} into a bind mount"):
+          machine.succeed(
+              f"mv /var/lib/containers/{id2} /id2-bindmount",
+              f"mount --bind /id2-bindmount /var/lib/containers/{id1}",
+          )
+
+          ip1 = machine.succeed(f"nixos-container show-ip {id1}").rstrip()
+          ip2 = machine.succeed(f"nixos-container show-ip {id2}").rstrip()
+          assert ip1 != ip2
+
+      with subtest(
+          "Create a directory and a file we can later check if it still exists "
+          + "after destruction of the container"
+      ):
+          machine.succeed("mkdir /nested-bindmount")
+          machine.succeed("echo important data > /nested-bindmount/dummy")
+
+      with subtest(
+          "Create a directory with a dummy file and bind-mount it into both containers."
+      ):
+          for id in id1, id2:
+              important_path = f"/var/lib/containers/{id}/very/important/data"
+              machine.succeed(
+                  f"mkdir -p {important_path}",
+                  f"mount --bind /nested-bindmount {important_path}",
+              )
+
+      with subtest("Start one of them"):
+          machine.succeed(f"nixos-container start {id1}")
+
+      with subtest("Execute commands via the root shell"):
+          assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname")
+
+      with subtest("Execute a nix command via the root shell. (regression test for #40355)"):
+          machine.succeed(
+              f"nixos-container run {id1} -- nix-instantiate -E "
+              + '\'derivation { name = "empty"; builder = "false"; system = "false"; }\' '
+          )
+
+      with subtest("Stop and start (regression test for #4989)"):
+          machine.succeed(f"nixos-container stop {id1}")
+          machine.succeed(f"nixos-container start {id1}")
+
+      with subtest("tmpfiles are present"):
+          machine.log("creating container tmpfiles")
+          machine.succeed(
+              "nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}"
+          )
+          machine.log("created, starting…")
+          machine.succeed("nixos-container start tmpfiles")
+          machine.log("done starting, investigating…")
+          machine.succeed(
+              "echo $(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;"
+          )
+          machine.succeed("nixos-container destroy tmpfiles")
+
+      with subtest("Execute commands via the root shell"):
+          assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname")
+
+      with subtest("Destroy the containers"):
+          for id in id1, id2:
+              machine.succeed(f"nixos-container destroy {id}")
+
+      with subtest("Check whether destruction of any container has killed important data"):
+          machine.succeed("grep -qF 'important data' /nested-bindmount/dummy")
+
+      with subtest("Ensure that the container path is gone"):
+          print(machine.succeed("ls -lsa /var/lib/containers"))
+          machine.succeed(f"test ! -e /var/lib/containers/{id1}")
     '';
-
 })
diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix
new file mode 100644
index 00000000000..8583a08c625
--- /dev/null
+++ b/nixos/tests/containers-ip.nix
@@ -0,0 +1,77 @@
+# Test for NixOS' container support.
+
+let
+  webserverFor = hostAddress: localAddress: {
+    inherit hostAddress localAddress;
+    privateNetwork = true;
+    config = {
+      services.httpd = {
+        enable = true;
+        adminAddr = "foo@example.org";
+      };
+      networking.firewall.allowedTCPPorts = [ 80 ];
+    };
+  };
+
+in import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "containers-ipv4-ipv6";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ aristid aszlig eelco kampfschlaefer ];
+  };
+
+  machine =
+    { pkgs, ... }: {
+      imports = [ ../modules/installer/cd-dvd/channel.nix ];
+      virtualisation = {
+        writableStore = true;
+        memorySize = 768;
+      };
+
+      containers.webserver4 = webserverFor "10.231.136.1" "10.231.136.2";
+      containers.webserver6 = webserverFor "fc00::2" "fc00::1";
+      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
+    };
+
+  testScript = { nodes, ... }: ''
+    import time
+
+
+    def curl_host(ip):
+        # put [] around ipv6 addresses for curl
+        host = ip if ":" not in ip else f"[{ip}]"
+        return f"curl --fail --connect-timeout 2 http://{host}/ > /dev/null"
+
+
+    def get_ip(container):
+        # need to distinguish because show-ip won't work for ipv6
+        if container == "webserver4":
+            ip = machine.succeed(f"nixos-container show-ip {container}").rstrip()
+            assert ip == "${nodes.machine.config.containers.webserver4.localAddress}"
+            return ip
+        return "${nodes.machine.config.containers.webserver6.localAddress}"
+
+
+    for container in "webserver4", "webserver6":
+        assert container in machine.succeed("nixos-container list")
+
+        with subtest(f"Start container {container}"):
+            machine.succeed(f"nixos-container start {container}")
+            # wait 2s for container to start and network to be up
+            time.sleep(2)
+
+        # Since "start" returns after the container has reached
+        # multi-user.target, we should now be able to access it.
+
+        ip = get_ip(container)
+        with subtest(f"{container} reacts to pings and HTTP requests"):
+            machine.succeed(f"ping -n -c1 {ip}")
+            machine.succeed(curl_host(ip))
+
+        with subtest(f"Stop container {container}"):
+            machine.succeed(f"nixos-container stop {container}")
+            machine.fail(curl_host(ip))
+
+        # Destroying a declarative container should fail.
+        machine.fail(f"nixos-container destroy {container}")
+  '';
+})
diff --git a/nixos/tests/containers-ipv4.nix b/nixos/tests/containers-ipv4.nix
deleted file mode 100644
index ace68ff2df8..00000000000
--- a/nixos/tests/containers-ipv4.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-# Test for NixOS' container support.
-
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-ipv4";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
-  };
-
-  machine =
-    { pkgs, ... }:
-    { imports = [ ../modules/installer/cd-dvd/channel.nix ];
-      virtualisation.writableStore = true;
-      virtualisation.memorySize = 768;
-
-      containers.webserver =
-        { privateNetwork = true;
-          hostAddress = "10.231.136.1";
-          localAddress = "10.231.136.2";
-          config =
-            { services.httpd.enable = true;
-              services.httpd.adminAddr = "foo@example.org";
-              networking.firewall.allowedTCPPorts = [ 80 ];
-              system.stateVersion = "18.03";
-            };
-        };
-
-      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
-    };
-
-  testScript =
-    ''
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
-
-      # wait two seconds for the container to start and the network to be up
-      sleep 2;
-
-      # Since "start" returns after the container has reached
-      # multi-user.target, we should now be able to access it.
-      my $ip = $machine->succeed("nixos-container show-ip webserver");
-      chomp $ip;
-      $machine->succeed("ping -n -c1 $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");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
-})
diff --git a/nixos/tests/containers-ipv6.nix b/nixos/tests/containers-ipv6.nix
deleted file mode 100644
index a9499d192bd..00000000000
--- a/nixos/tests/containers-ipv6.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-# Test for NixOS' container support.
-
-let
-  hostIp = "fc00::2";
-  localIp = "fc00::1";
-in
-
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-ipv6";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
-  };
-
-  machine =
-    { pkgs, ... }:
-    { imports = [ ../modules/installer/cd-dvd/channel.nix ];
-      virtualisation.writableStore = true;
-      virtualisation.memorySize = 768;
-
-      containers.webserver =
-        { privateNetwork = true;
-          hostAddress6 = hostIp;
-          localAddress6 = localIp;
-          config =
-            { services.httpd.enable = true;
-              services.httpd.adminAddr = "foo@example.org";
-              networking.firewall.allowedTCPPorts = [ 80 ];
-            };
-        };
-
-      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
-    };
-
-  testScript =
-    ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
-
-      # wait two seconds for the container to start and the network to be up
-      sleep 2;
-
-      # Since "start" returns after the container has reached
-      # multi-user.target, we should now be able to access it.
-      my $ip = "${localIp}";
-      chomp $ip;
-      $machine->succeed("ping -n -c 1 $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");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
-})
diff --git a/nixos/tests/dhparams.nix b/nixos/tests/dhparams.nix
index d11dfeec5d0..a0de2911777 100644
--- a/nixos/tests/dhparams.nix
+++ b/nixos/tests/dhparams.nix
@@ -4,7 +4,7 @@ let
     environment.systemPackages = [ pkgs.openssl ];
   };
 
-in import ./make-test.nix {
+in import ./make-test-python.nix {
   name = "dhparams";
 
   nodes.generation1 = { pkgs, config, ... }: {
@@ -66,79 +66,77 @@ in import ./make-test.nix {
       node = "generation${toString gen}";
     in nodes.${node}.config.security.dhparams.params.${name}.path;
 
-    assertParamBits = gen: name: bits: let
-      path = getParamPath gen name;
-    in ''
-      $machine->nest('check bit size of ${path}', sub {
-        my $out = $machine->succeed('openssl dhparam -in ${path} -text');
-        $out =~ /^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$/m;
-        die "bit size should be ${toString bits} but it is $1 instead."
-          if $1 != ${toString bits};
-      });
-    '';
-
     switchToGeneration = gen: let
       node = "generation${toString gen}";
       inherit (nodes.${node}.config.system.build) toplevel;
       switchCmd = "${toplevel}/bin/switch-to-configuration test";
     in ''
-      $machine->nest('switch to generation ${toString gen}', sub {
-        $machine->succeed('${switchCmd}');
-        $main::machine = ''$${node};
-      });
+      with machine.nested("switch to generation ${toString gen}"):
+          machine.succeed(
+              "${switchCmd}"
+          )
+          machine = ${node}
     '';
 
   in ''
-    my $machine = $generation1;
+    import re
 
-    $machine->waitForUnit('multi-user.target');
 
-    subtest "verify startup order", sub {
-      $machine->succeed('systemctl is-active foo.service');
-    };
+    def assert_param_bits(path, bits):
+        with machine.nested(f"check bit size of {path}"):
+            output = machine.succeed(f"openssl dhparam -in {path} -text")
+            pattern = re.compile(r"^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$", re.M)
+            match = pattern.match(output)
+            if match is None:
+                raise Exception("bla")
+            if match[1] != str(bits):
+                raise Exception(f"bit size should be {bits} but it is {match[1]} instead.")
 
-    subtest "check bit sizes of dhparam files", sub {
-      ${assertParamBits 1 "foo" 16}
-      ${assertParamBits 1 "bar" 17}
-    };
+
+    machine = generation1
+
+    machine.wait_for_unit("multi-user.target")
+
+    with subtest("verify startup order"):
+        machine.succeed("systemctl is-active foo.service")
+
+    with subtest("check bit sizes of dhparam files"):
+        assert_param_bits("${getParamPath 1 "foo"}", 16)
+        assert_param_bits("${getParamPath 1 "bar"}", 17)
 
     ${switchToGeneration 2}
 
-    subtest "check whether bit size has changed", sub {
-      ${assertParamBits 2 "foo" 18}
-    };
+    with subtest("check whether bit size has changed"):
+        assert_param_bits("${getParamPath 2 "foo"}", 18)
 
-    subtest "ensure that dhparams file for 'bar' was deleted", sub {
-      $machine->fail('test -e ${getParamPath 1 "bar"}');
-    };
+    with subtest("ensure that dhparams file for 'bar' was deleted"):
+        machine.fail("test -e ${getParamPath 1 "bar"}")
 
     ${switchToGeneration 3}
 
-    subtest "ensure that 'security.dhparams.path' has been deleted", sub {
-      $machine->fail(
-        'test -e ${nodes.generation3.config.security.dhparams.path}'
-      );
-    };
+    with subtest("ensure that 'security.dhparams.path' has been deleted"):
+        machine.fail("test -e ${nodes.generation3.config.security.dhparams.path}")
 
     ${switchToGeneration 4}
 
-    subtest "check bit sizes dhparam files", sub {
-      ${assertParamBits 4 "foo2" 18}
-      ${assertParamBits 4 "bar2" 19}
-    };
+    with subtest("check bit sizes dhparam files"):
+        assert_param_bits(
+            "${getParamPath 4 "foo2"}", 18
+        )
+        assert_param_bits(
+            "${getParamPath 4 "bar2"}", 19
+        )
 
-    subtest "check whether dhparam files are in the Nix store", sub {
-      $machine->succeed(
-        'expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}',
-        'expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}',
-      );
-    };
+    with subtest("check whether dhparam files are in the Nix store"):
+        machine.succeed(
+            "expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}",
+            "expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}",
+        )
 
     ${switchToGeneration 5}
 
-    subtest "check whether defaultBitSize works as intended", sub {
-      ${assertParamBits 5 "foo3" 30}
-      ${assertParamBits 5 "bar3" 30}
-    };
+    with subtest("check whether defaultBitSize works as intended"):
+        assert_param_bits("${getParamPath 5 "foo3"}", 30)
+        assert_param_bits("${getParamPath 5 "bar3"}", 30)
   '';
 }
diff --git a/nixos/tests/docker-tools-overlay.nix b/nixos/tests/docker-tools-overlay.nix
index 637957bd3e8..1a0e0ea6775 100644
--- a/nixos/tests/docker-tools-overlay.nix
+++ b/nixos/tests/docker-tools-overlay.nix
@@ -1,6 +1,6 @@
 # this test creates a simple GNU image with docker tools and sees if it executes
 
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "docker-tools-overlay";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -16,17 +16,18 @@ import ./make-test.nix ({ pkgs, ... }:
       };
   };
 
-  testScript =
-    ''
-      $docker->waitForUnit("sockets.target");
+  testScript = ''
+      docker.wait_for_unit("sockets.target")
 
-      $docker->succeed("docker load --input='${pkgs.dockerTools.examples.bash}'");
-      $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+      docker.succeed(
+          "docker load --input='${pkgs.dockerTools.examples.bash}'",
+          "docker run --rm ${pkgs.dockerTools.examples.bash.imageName} bash --version",
+      )
 
       # Check if the nix store has correct user permissions depending on what
       # storage driver is used, incorrectly built images can show up as readonly.
       # drw-------  3 0 0   3 Apr 14 11:36 /nix
       # drw------- 99 0 0 100 Apr 14 11:36 /nix/store
-      $docker->succeed("docker run --rm -u 1000:1000 ${pkgs.dockerTools.examples.bash.imageName} bash --version");
+      docker.succeed("docker run --rm -u 1000:1000 ${pkgs.dockerTools.examples.bash.imageName} bash --version")
     '';
 })
diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix
index 3f02cecb866..ef7bd13eb92 100644
--- a/nixos/tests/ecryptfs.nix
+++ b/nixos/tests/ecryptfs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 {
   name = "ecryptfs";
 
@@ -10,75 +10,76 @@ import ./make-test.nix ({ ... }:
   };
 
   testScript = ''
-    $machine->waitForUnit("default.target");
+    def login_as_alice():
+        machine.wait_until_tty_matches(1, "login: ")
+        machine.send_chars("alice\n")
+        machine.wait_until_tty_matches(1, "Password: ")
+        machine.send_chars("foobar\n")
+        machine.wait_until_tty_matches(1, "alice\@machine")
 
-    # Set alice up with a password and a home
-    $machine->succeed("(echo foobar; echo foobar) | passwd alice");
-    $machine->succeed("chown -R alice.users ~alice");
 
-    # Migrate alice's home
-    my $out = $machine->succeed("echo foobar | ecryptfs-migrate-home -u alice");
-    $machine->log("ecryptfs-migrate-home said: $out");
+    def logout():
+        machine.send_chars("logout\n")
+        machine.wait_until_tty_matches(1, "login: ")
 
-    # Log alice in (ecryptfs passwhrase is wrapped during first login)
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+
+    machine.wait_for_unit("default.target")
+
+    with subtest("Set alice up with a password and a home"):
+        machine.succeed("(echo foobar; echo foobar) | passwd alice")
+        machine.succeed("chown -R alice.users ~alice")
+
+    with subtest("Migrate alice's home"):
+        out = machine.succeed("echo foobar | ecryptfs-migrate-home -u alice")
+        machine.log(f"ecryptfs-migrate-home said: {out}")
+
+    with subtest("Log alice in (ecryptfs passwhrase is wrapped during first login)"):
+        login_as_alice()
+        machine.send_chars("logout\n")
+        machine.wait_until_tty_matches(1, "login: ")
 
     # Why do I need to do this??
-    $machine->succeed("su alice -c ecryptfs-umount-private || true");
-    $machine->sleep(1);
-    $machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted
+    machine.succeed("su alice -c ecryptfs-umount-private || true")
+    machine.sleep(1)
+
+    with subtest("check that encrypted home is not mounted"):
+        machine.fail("mount | grep ecryptfs")
 
-    # Show contents of the user keyring
-    my $out = $machine->succeed("su - alice -c 'keyctl list \@u'");
-    $machine->log("keyctl unlink said: " . $out);
+    with subtest("Show contents of the user keyring"):
+        out = machine.succeed("su - alice -c 'keyctl list \@u'")
+        machine.log(f"keyctl unlink said: {out}")
 
-    # Log alice again
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
+    with subtest("Log alice again"):
+        login_as_alice()
 
-    # Create some files in encrypted home
-    $machine->succeed("su alice -c 'touch ~alice/a'");
-    $machine->succeed("su alice -c 'echo c > ~alice/b'");
+    with subtest("Create some files in encrypted home"):
+        machine.succeed("su alice -c 'touch ~alice/a'")
+        machine.succeed("su alice -c 'echo c > ~alice/b'")
 
-    # Logout
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+    with subtest("Logout"):
+        logout()
 
     # Why do I need to do this??
-    $machine->succeed("su alice -c ecryptfs-umount-private || true");
-    $machine->sleep(1);
-
-    # Check that the filesystem is not accessible
-    $machine->fail("mount | grep ecryptfs");
-    $machine->succeed("su alice -c 'test \! -f ~alice/a'");
-    $machine->succeed("su alice -c 'test \! -f ~alice/b'");
-
-    # Log alice once more
-    $machine->waitUntilTTYMatches(1, "login: ");
-    $machine->sendChars("alice\n");
-    $machine->waitUntilTTYMatches(1, "Password: ");
-    $machine->sendChars("foobar\n");
-    $machine->waitUntilTTYMatches(1, "alice\@machine");
-
-    # Check that the files are there
-    $machine->sleep(1);
-    $machine->succeed("su alice -c 'test -f ~alice/a'");
-    $machine->succeed("su alice -c 'test -f ~alice/b'");
-    $machine->succeed(qq%test "\$(cat ~alice/b)" = "c"%);
-
-    # Catch https://github.com/NixOS/nixpkgs/issues/16766
-    $machine->succeed("su alice -c 'ls -lh ~alice/'");
-
-    $machine->sendChars("logout\n");
-    $machine->waitUntilTTYMatches(1, "login: ");
+    machine.succeed("su alice -c ecryptfs-umount-private || true")
+    machine.sleep(1)
+
+    with subtest("Check that the filesystem is not accessible"):
+        machine.fail("mount | grep ecryptfs")
+        machine.succeed("su alice -c 'test \! -f ~alice/a'")
+        machine.succeed("su alice -c 'test \! -f ~alice/b'")
+
+    with subtest("Log alice once more"):
+        login_as_alice()
+
+    with subtest("Check that the files are there"):
+        machine.sleep(1)
+        machine.succeed("su alice -c 'test -f ~alice/a'")
+        machine.succeed("su alice -c 'test -f ~alice/b'")
+        machine.succeed('test "$(cat ~alice/b)" = "c"')
+
+    with subtest("Catch https://github.com/NixOS/nixpkgs/issues/16766"):
+        machine.succeed("su alice -c 'ls -lh ~alice/'")
+
+    logout()
   '';
 })
diff --git a/nixos/tests/env.nix b/nixos/tests/env.nix
index 6c681905b19..e603338e489 100644
--- a/nixos/tests/env.nix
+++ b/nixos/tests/env.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "environment";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -20,16 +20,17 @@ import ./make-test.nix ({ pkgs, ...} : {
       };
     };
 
-  testScript =
-    ''
-      $machine->succeed('[ -L "/etc/plainFile" ]');
-      $machine->succeed('cat "/etc/plainFile" | grep "Hello World"');
-      $machine->succeed('[ -d "/etc/folder" ]');
-      $machine->succeed('[ -d "/etc/folder/with" ]');
-      $machine->succeed('[ -L "/etc/folder/with/file" ]');
-      $machine->succeed('cat "/etc/plainFile" | grep "Hello World"');
+  testScript = ''
+    machine.succeed('[ -L "/etc/plainFile" ]')
+    assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
+    machine.succeed('[ -d "/etc/folder" ]')
+    machine.succeed('[ -d "/etc/folder/with" ]')
+    machine.succeed('[ -L "/etc/folder/with/file" ]')
+    assert "Hello World" in machine.succeed('cat "/etc/plainFile"')
 
-      $machine->succeed('echo ''${TERMINFO_DIRS} | grep "/run/current-system/sw/share/terminfo"');
-      $machine->succeed('echo ''${NIXCON} | grep "awesome"');
-    '';
+    assert "/run/current-system/sw/share/terminfo" in machine.succeed(
+        "echo ''${TERMINFO_DIRS}"
+    )
+    assert "awesome" in machine.succeed("echo ''${NIXCON}")
+  '';
 })
diff --git a/nixos/tests/ferm.nix b/nixos/tests/ferm.nix
index edf9c8036ac..a73c9ce739c 100644
--- a/nixos/tests/ferm.nix
+++ b/nixos/tests/ferm.nix
@@ -1,5 +1,5 @@
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "ferm";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mic92 ];
@@ -53,24 +53,22 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
+      start_all()
 
-      $client->waitForUnit("network-online.target");
-      $server->waitForUnit("ferm.service");
-      $server->waitForUnit("nginx.service");
-      $server->waitUntilSucceeds("ss -ntl | grep -q 80");
+      client.wait_for_unit("network-online.target")
+      server.wait_for_unit("ferm.service")
+      server.wait_for_unit("nginx.service")
+      server.wait_until_succeeds("ss -ntl | grep -q 80")
 
-      subtest "port 80 is allowed", sub {
-          $client->succeed("curl --fail -g http://192.168.1.1:80/status");
-          $client->succeed("curl --fail -g http://[fd00::1]:80/status");
-      };
+      with subtest("port 80 is allowed"):
+          client.succeed("curl --fail -g http://192.168.1.1:80/status")
+          client.succeed("curl --fail -g http://[fd00::1]:80/status")
 
-      subtest "port 8080 is not allowed", sub {
-          $server->succeed("curl --fail -g http://192.168.1.1:8080/status");
-          $server->succeed("curl --fail -g http://[fd00::1]:8080/status");
+      with subtest("port 8080 is not allowed"):
+          server.succeed("curl --fail -g http://192.168.1.1:8080/status")
+          server.succeed("curl --fail -g http://[fd00::1]:8080/status")
 
-          $client->fail("curl --fail -g http://192.168.1.1:8080/status");
-          $client->fail("curl --fail -g http://[fd00::1]:8080/status");
-      };
+          client.fail("curl --fail -g http://192.168.1.1:8080/status")
+          client.fail("curl --fail -g http://[fd00::1]:8080/status")
     '';
 })
diff --git a/nixos/tests/gocd-agent.nix b/nixos/tests/gocd-agent.nix
index 50470379576..5b630a40736 100644
--- a/nixos/tests/gocd-agent.nix
+++ b/nixos/tests/gocd-agent.nix
@@ -9,14 +9,18 @@ let
   header = "Accept: application/vnd.go.cd.v2+json";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "gocd-agent";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ grahamc swarren83 ];
+
+    # gocd agent needs to register with the autoregister key created on first server startup,
+    # but NixOS module doesn't seem to allow to pass during runtime currently
+    broken = true;
   };
 
   nodes = {
-    gocd_agent =
+    agent =
       { ... }:
       {
         virtualisation.memorySize = 2046;
@@ -30,11 +34,15 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $gocd_agent->waitForUnit("gocd-server");
-    $gocd_agent->waitForOpenPort("8153");
-    $gocd_agent->waitForUnit("gocd-agent");
-    $gocd_agent->waitUntilSucceeds("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid");
-    $gocd_agent->succeed("curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle");
+    start_all()
+    agent.wait_for_unit("gocd-server")
+    agent.wait_for_open_port("8153")
+    agent.wait_for_unit("gocd-agent")
+    agent.wait_until_succeeds(
+        "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].uuid"
+    )
+    agent.succeed(
+        "curl ${serverUrl} -H '${header}' | ${pkgs.jq}/bin/jq -e ._embedded.agents[0].agent_state | grep -q Idle"
+    )
   '';
 })
diff --git a/nixos/tests/gocd-server.nix b/nixos/tests/gocd-server.nix
index 80cf04ed640..20faf85a1cc 100644
--- a/nixos/tests/gocd-server.nix
+++ b/nixos/tests/gocd-server.nix
@@ -2,7 +2,7 @@
 #   1. GoCD server starts
 #   2. GoCD server responds
 
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "gocd-server";
@@ -10,19 +10,19 @@ import ./make-test.nix ({ pkgs, ...} :
     maintainers = [ swarren83 ];
   };
 
-nodes = {
-  gocd_server =
-    { ... }:
-    {
-      virtualisation.memorySize = 2046;
-      services.gocd-server.enable = true;
-    };
-};
+  nodes = {
+    server =
+      { ... }:
+      {
+        virtualisation.memorySize = 2046;
+        services.gocd-server.enable = true;
+      };
+  };
 
   testScript = ''
-    $gocd_server->start;
-    $gocd_server->waitForUnit("gocd-server");
-    $gocd_server->waitForOpenPort("8153");
-    $gocd_server->waitUntilSucceeds("curl -s -f localhost:8153/go");
+    server.start()
+    server.wait_for_unit("gocd-server")
+    server.wait_for_open_port(8153)
+    server.wait_until_succeeds("curl -s -f localhost:8153/go")
   '';
 })
diff --git a/nixos/tests/gvisor.nix b/nixos/tests/gvisor.nix
new file mode 100644
index 00000000000..4d68a1d8a5f
--- /dev/null
+++ b/nixos/tests/gvisor.nix
@@ -0,0 +1,49 @@
+# This test runs a container through gvisor and checks if simple container starts
+
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "gvisor";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ andrew-d ];
+  };
+
+  nodes = {
+    gvisor =
+      { pkgs, ... }:
+        {
+          virtualisation.docker = {
+            enable = true;
+            extraOptions = "--add-runtime runsc=${pkgs.gvisor}/bin/runsc";
+          };
+
+          networking = {
+            dhcpcd.enable = false;
+            defaultGateway = "192.168.1.1";
+            interfaces.eth1.ipv4.addresses = pkgs.lib.mkOverride 0 [
+              { address = "192.168.1.2"; prefixLength = 24; }
+            ];
+          };
+        };
+    };
+
+  testScript = ''
+    start_all()
+
+    gvisor.wait_for_unit("network.target")
+    gvisor.wait_for_unit("sockets.target")
+
+    # Start by verifying that gvisor itself works
+    output = gvisor.succeed(
+        "${pkgs.gvisor}/bin/runsc -alsologtostderr do ${pkgs.coreutils}/bin/echo hello world"
+    )
+    assert output.strip() == "hello world"
+
+    # Also test the Docker runtime
+    gvisor.succeed("tar cv --files-from /dev/null | docker import - scratchimg")
+    gvisor.succeed(
+        "docker run -d --name=sleeping --runtime=runsc -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+    )
+    gvisor.succeed("docker ps | grep sleeping")
+    gvisor.succeed("docker stop sleeping")
+  '';
+})
+
diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix
index d309f19a0b4..8afa845f1e2 100644
--- a/nixos/tests/i3wm.nix
+++ b/nixos/tests/i3wm.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "i3wm";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aszlig ];
@@ -12,24 +12,35 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = { ... }: ''
-    $machine->waitForX;
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-    $machine->waitForWindow(qr/first configuration/);
-    $machine->sleep(2);
-    $machine->screenshot("started");
-    $machine->sendKeys("ret");
-    $machine->sleep(2);
-    $machine->sendKeys("alt");
-    $machine->sleep(2);
-    $machine->screenshot("configured");
-    $machine->sendKeys("ret");
-    # make sure the config file is created before we continue
-    $machine->waitForFile("/home/alice/.config/i3/config");
-    $machine->sleep(2);
-    $machine->sendKeys("alt-ret");
-    $machine->waitForWindow(qr/alice.*machine/);
-    $machine->sleep(2);
-    $machine->screenshot("terminal");
+    with subtest("ensure x starts"):
+        machine.wait_for_x()
+        machine.wait_for_file("/home/alice/.Xauthority")
+        machine.succeed("xauth merge ~alice/.Xauthority")
+
+    with subtest("ensure we get first configuration window"):
+        machine.wait_for_window(r".*?first configuration.*?")
+        machine.sleep(2)
+        machine.screenshot("started")
+
+    with subtest("ensure we generate and save a config"):
+        # press return to indicate we want to gen a new config
+        machine.send_key("\n")
+        machine.sleep(2)
+        machine.screenshot("preconfig")
+        # press alt then return to indicate we want to use alt as our Mod key
+        machine.send_key("alt")
+        machine.send_key("\n")
+        machine.sleep(2)
+        # make sure the config file is created before we continue
+        machine.wait_for_file("/home/alice/.config/i3/config")
+        machine.screenshot("postconfig")
+        machine.sleep(2)
+
+    with subtest("ensure we can open a new terminal"):
+        machine.send_key("alt-ret")
+        machine.sleep(2)
+        machine.wait_for_window(r"alice.*?machine")
+        machine.sleep(2)
+        machine.screenshot("terminal")
   '';
 })
diff --git a/nixos/tests/iftop.nix b/nixos/tests/iftop.nix
index a4f524ceb27..8a161027c2a 100644
--- a/nixos/tests/iftop.nix
+++ b/nixos/tests/iftop.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -18,17 +18,16 @@ with lib;
   };
 
   testScript = ''
-    subtest "machine with iftop enabled", sub {
-      $withIftop->waitForUnit("default.target");
-      # limit to eth1 (eth0 is the test driver's control interface)
-      # and don't try name lookups
-      $withIftop->succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'");
-    };
-    subtest "machine without iftop", sub {
-      $withoutIftop->waitForUnit("default.target");
-      # check that iftop is there but user alice lacks capabilities
-      $withoutIftop->succeed("iftop -t -s 1 -n -i eth1");
-      $withoutIftop->fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'");
-    };
+    with subtest("machine with iftop enabled"):
+        withIftop.wait_for_unit("default.target")
+        # limit to eth1 (eth0 is the test driver's control interface)
+        # and don't try name lookups
+        withIftop.succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'")
+
+    with subtest("machine without iftop"):
+        withoutIftop.wait_for_unit("default.target")
+        # check that iftop is there but user alice lacks capabilitie
+        withoutIftop.succeed("iftop -t -s 1 -n -i eth1")
+        withoutIftop.fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'")
   '';
 })
diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix
index f4780bdcfc9..8e997ee4aeb 100644
--- a/nixos/tests/installed-tests/default.nix
+++ b/nixos/tests/installed-tests/default.nix
@@ -29,36 +29,51 @@ let
 
       # Extra flags to pass to gnome-desktop-testing-runner.
     , testRunnerFlags ? ""
-    }:
-    makeTest rec {
-      name = tested.name;
-
-      meta = {
-        maintainers = tested.meta.maintainers;
-      };
-
-      machine = { ... }: {
-        imports = [
-          testConfig
-        ] ++ optional withX11 ../common/x11.nix;
-
-        environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
-
-      };
-
-      testScript =
-        optionalString withX11 ''
-          machine.wait_for_x()
-        '' +
-        optionalString (preTestScript != "") ''
-          ${preTestScript}
-        '' +
-        ''
-          machine.succeed(
-              "gnome-desktop-testing-runner ${testRunnerFlags} -d '${tested.installedTests}/share'"
-          )
-        '';
-    };
+
+      # Extra attributes to pass to makeTest.
+      # They will be recursively merged into the attrset created by this function.
+    , ...
+    }@args:
+    makeTest
+      (recursiveUpdate
+        rec {
+          name = tested.name;
+
+          meta = {
+            maintainers = tested.meta.maintainers;
+          };
+
+          machine = { ... }: {
+            imports = [
+              testConfig
+            ] ++ optional withX11 ../common/x11.nix;
+
+            environment.systemPackages = with pkgs; [ gnome-desktop-testing ];
+
+          };
+
+          testScript =
+            optionalString withX11 ''
+              machine.wait_for_x()
+            '' +
+            optionalString (preTestScript != "") ''
+              ${preTestScript}
+            '' +
+            ''
+              machine.succeed(
+                  "gnome-desktop-testing-runner ${testRunnerFlags} -d '${tested.installedTests}/share'"
+              )
+            '';
+        }
+
+        (removeAttrs args [
+          "tested"
+          "testConfig"
+          "preTestScript"
+          "withX11"
+          "testRunnerFlags"
+        ])
+      );
 
 in
 
@@ -73,6 +88,7 @@ in
   glib-networking = callInstalledTest ./glib-networking.nix {};
   gnome-photos = callInstalledTest ./gnome-photos.nix {};
   graphene = callInstalledTest ./graphene.nix {};
+  ibus = callInstalledTest ./ibus.nix {};
   libgdata = callInstalledTest ./libgdata.nix {};
   libxmlb = callInstalledTest ./libxmlb.nix {};
   ostree = callInstalledTest ./ostree.nix {};
diff --git a/nixos/tests/installed-tests/ibus.nix b/nixos/tests/installed-tests/ibus.nix
new file mode 100644
index 00000000000..af54b612b50
--- /dev/null
+++ b/nixos/tests/installed-tests/ibus.nix
@@ -0,0 +1,20 @@
+{ pkgs, makeInstalledTest, ... }:
+
+makeInstalledTest {
+  tested = pkgs.ibus;
+
+  testConfig = {
+    i18n.inputMethod.enabled = "ibus";
+  };
+
+  preTestScript = ''
+    # ibus has ibus-desktop-testing-runner but it tries to manage desktop session so we just spawn ibus-daemon ourselves
+    machine.succeed("ibus-daemon --daemonize --verbose")
+  '';
+
+  withX11 = true;
+
+  # TODO: ibus-daemon is currently crashing or something
+  # maybe make ibus systemd service that auto-restarts?
+  meta.broken = true;
+}
diff --git a/nixos/tests/kernel-latest.nix b/nixos/tests/kernel-latest.nix
index f30bd2e2e76..f09d0926d22 100644
--- a/nixos/tests/kernel-latest.nix
+++ b/nixos/tests/kernel-latest.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-latest";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages_latest.kernel.version}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages_latest.kernel.version}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/kernel-lts.nix b/nixos/tests/kernel-lts.nix
index 28717fa6a84..bad706d63c0 100644
--- a/nixos/tests/kernel-lts.nix
+++ b/nixos/tests/kernel-lts.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-lts";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages.kernel.version}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages.kernel.version}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/kernel-testing.nix b/nixos/tests/kernel-testing.nix
index 276d2de12bb..b7e10ebd5bd 100644
--- a/nixos/tests/kernel-testing.nix
+++ b/nixos/tests/kernel-testing.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-testing";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages_testing.kernel.modDirVersion}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages_testing.kernel.modDirVersion}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/ldap.nix b/nixos/tests/ldap.nix
index 665b9ee09b5..74b002fc00e 100644
--- a/nixos/tests/ldap.nix
+++ b/nixos/tests/ldap.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ...} :
 
 let
   unlines = lib.concatStringsSep "\n";
@@ -288,108 +288,118 @@ in
 
     client1 = mkClient true; # use nss_pam_ldapd
     client2 = mkClient false; # use nss_ldap and pam_ldap
-
   };
 
   testScript = ''
-    $server->start;
-    $server->waitForUnit("default.target");
-
-    subtest "slapd", sub {
-      subtest "auth as database admin with SASL and check a POSIX account", sub {
-        $server->succeed(join ' ', 'test',
-         '"$(ldapsearch -LLL -H ldapi:// -Y EXTERNAL',
-             '-b \'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}\' ',
-             '-s base uidNumber |',
-           'sed -ne \'s/^uidNumber: \\(.*\\)/\\1/p\' ',
-         ')" -eq ${toString ldapUserId}');
-      };
-      subtest "auth as database admin with password and check a POSIX account", sub {
-        $server->succeed(join ' ', 'test',
-         '"$(ldapsearch -LLL -H ldap://server',
-             '-D \'cn=admin,${dbSuffix}\' -w \'${dbAdminPwd}\' ',
-             '-b \'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}\' ',
-             '-s base uidNumber |',
-           'sed -ne \'s/^uidNumber: \\(.*\\)/\\1/p\' ',
-         ')" -eq ${toString ldapUserId}');
-      };
-    };
-
-    $client1->start;
-    $client1->waitForUnit("default.target");
-
-    subtest "password", sub {
-      subtest "su with password to a POSIX account", sub {
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "${ldapUserPwd}\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-      };
-      subtest "change password of a POSIX account as root", sub {
-        $client1->succeed("chpasswd <<<'${ldapUser}:new-password'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "new-password\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-      };
-      subtest "change password of a POSIX account from itself", sub {
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su --login ${ldapUser} -c passwd',
-          'expect "Password: "',
-          'send "${ldapUserPwd}\n"',
-          'expect "(current) UNIX password: "',
-          'send "${ldapUserPwd}\n"',
-          'expect "New password: "',
-          'send "new-password\n"',
-          'expect "Retype new password: "',
-          'send "new-password\n"',
-          'expect "passwd: password updated successfully" {exit}',
-          'exit 1' . "'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "${ldapUserPwd}\n"',
-          'expect "su: Authentication failure" {exit}',
-          'exit 1' . "'");
-        $client1->succeed("${pkgs.expect}/bin/expect -c '" . join ';',
-          'spawn su "${ldapUser}"',
-          'expect "Password:"',
-          'send "new-password\n"',
-          'expect "*"',
-          'send "whoami\n"',
-          'expect -ex "${ldapUser}" {exit}',
-          'exit 1' . "'");
-        $client1->succeed('chpasswd <<<\'${ldapUser}:${ldapUserPwd}\' ');
-      };
-    };
-
-    $client2->start;
-    $client2->waitForUnit("default.target");
-
-    subtest "NSS", sub {
-        $client1->succeed("test \"\$(id -u '${ldapUser}')\" -eq ${toString ldapUserId}");
-        $client1->succeed("test \"\$(id -u -n '${ldapUser}')\" = '${ldapUser}'");
-        $client1->succeed("test \"\$(id -g '${ldapUser}')\" -eq ${toString ldapGroupId}");
-        $client1->succeed("test \"\$(id -g -n '${ldapUser}')\" = '${ldapGroup}'");
-        $client2->succeed("test \"\$(id -u '${ldapUser}')\" -eq ${toString ldapUserId}");
-        $client2->succeed("test \"\$(id -u -n '${ldapUser}')\" = '${ldapUser}'");
-        $client2->succeed("test \"\$(id -g '${ldapUser}')\" -eq ${toString ldapGroupId}");
-        $client2->succeed("test \"\$(id -g -n '${ldapUser}')\" = '${ldapGroup}'");
-    };
-
-    subtest "PAM", sub {
-        $client1->succeed("echo ${ldapUserPwd} | su -l '${ldapUser}' -c true");
-        $client2->succeed("echo ${ldapUserPwd} | su -l '${ldapUser}' -c true");
-    };
+    def expect_script(*commands):
+        script = ";".join(commands)
+        return f"${pkgs.expect}/bin/expect -c '{script}'"
+
+
+    server.start()
+    server.wait_for_unit("default.target")
+
+    with subtest("slapd: auth as database admin with SASL and check a POSIX account"):
+        server.succeed(
+            'test "$(ldapsearch -LLL -H ldapi:// -Y EXTERNAL '
+            + "-b 'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}' "
+            + "-s base uidNumber | "
+            + "sed -ne 's/^uidNumber: \\(.*\\)/\\1/p')\" -eq ${toString ldapUserId}"
+        )
+
+    with subtest("slapd: auth as database admin with password and check a POSIX account"):
+        server.succeed(
+            "test \"$(ldapsearch -LLL -H ldap://server -D 'cn=admin,${dbSuffix}' "
+            + "-w '${dbAdminPwd}' -b 'uid=${ldapUser},ou=accounts,ou=posix,${dbSuffix}' "
+            + "-s base uidNumber | "
+            + "sed -ne 's/^uidNumber: \\(.*\\)/\\1/p')\" -eq ${toString ldapUserId}"
+        )
+
+    client1.start()
+    client1.wait_for_unit("default.target")
+
+    with subtest("password: su with password to a POSIX account"):
+        client1.succeed(
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "${ldapUserPwd}\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            )
+        )
+
+    with subtest("password: change password of a POSIX account as root"):
+        client1.succeed(
+            "chpasswd <<<'${ldapUser}:new-password'",
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "new-password\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            ),
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}'",
+        )
+
+    with subtest("password: change password of a POSIX account from itself"):
+        client1.succeed(
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}' ",
+            expect_script(
+                "spawn su --login ${ldapUser} -c passwd",
+                'expect "Password: "',
+                'send "${ldapUserPwd}\n"',
+                'expect "(current) UNIX password: "',
+                'send "${ldapUserPwd}\n"',
+                'expect "New password: "',
+                'send "new-password\n"',
+                'expect "Retype new password: "',
+                'send "new-password\n"',
+                'expect "passwd: password updated successfully" {exit}',
+                "exit 1",
+            ),
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "${ldapUserPwd}\n"',
+                'expect "su: Authentication failure" {exit}',
+                "exit 1",
+            ),
+            expect_script(
+                'spawn su "${ldapUser}"',
+                'expect "Password:"',
+                'send "new-password\n"',
+                'expect "*"',
+                'send "whoami\n"',
+                'expect -ex "${ldapUser}" {exit}',
+                "exit 1",
+            ),
+            "chpasswd <<<'${ldapUser}:${ldapUserPwd}'",
+        )
+
+    client2.start()
+    client2.wait_for_unit("default.target")
+
+    with subtest("NSS"):
+        client1.succeed(
+            "test \"$(id -u    '${ldapUser}')\" -eq ${toString ldapUserId}",
+            "test \"$(id -u -n '${ldapUser}')\" =  '${ldapUser}'",
+            "test \"$(id -g    '${ldapUser}')\" -eq ${toString ldapGroupId}",
+            "test \"$(id -g -n '${ldapUser}')\" =  '${ldapGroup}'",
+            "test \"$(id -u    '${ldapUser}')\" -eq ${toString ldapUserId}",
+            "test \"$(id -u -n '${ldapUser}')\" =  '${ldapUser}'",
+            "test \"$(id -g    '${ldapUser}')\" -eq ${toString ldapGroupId}",
+            "test \"$(id -g -n '${ldapUser}')\" =  '${ldapGroup}'",
+        )
+
+    with subtest("PAM"):
+        client1.succeed(
+            "echo ${ldapUserPwd} | su -l '${ldapUser}' -c true",
+            "echo ${ldapUserPwd} | su -l '${ldapUser}' -c true",
+        )
   '';
 })
diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix
index d45b5d4edfc..eb5b606ecc8 100644
--- a/nixos/tests/mailcatcher.nix
+++ b/nixos/tests/mailcatcher.nix
@@ -9,8 +9,8 @@ import ./make-test.nix ({ lib, ... }:
     {
       services.mailcatcher.enable = true;
 
-      networking.defaultMailServer.directDelivery = true;
-      networking.defaultMailServer.hostName = "localhost:1025";
+      services.ssmtp.enable = true;
+      services.ssmtp.hostName = "localhost:1025";
 
       environment.systemPackages = [ pkgs.mailutils ];
     };
diff --git a/nixos/tests/matomo.nix b/nixos/tests/matomo.nix
index 4efa65a7b6d..2bea237c8bd 100644
--- a/nixos/tests/matomo.nix
+++ b/nixos/tests/matomo.nix
@@ -1,7 +1,7 @@
 { system ? builtins.currentSystem, config ? { }
 , pkgs ? import ../.. { inherit system config; } }:
 
-with import ../lib/testing.nix { inherit system pkgs; };
+with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
 let
@@ -24,11 +24,16 @@ let
     };
 
     testScript = ''
-      startAll;
-      $machine->waitForUnit("mysql.service");
-      $machine->waitForUnit("phpfpm-matomo.service");
-      $machine->waitForUnit("nginx.service");
-      $machine->succeed("curl -sSfL http://localhost/ | grep '<title>Matomo[^<]*Installation'");
+      start_all()
+      machine.wait_for_unit("mysql.service")
+      machine.wait_for_unit("phpfpm-matomo.service")
+      machine.wait_for_unit("nginx.service")
+
+      # without the grep the command does not produce valid utf-8 for some reason
+      with subtest("welcome screen loads"):
+          machine.succeed(
+              "curl -sSfL http://localhost/ | grep '<title>Matomo[^<]*Installation'"
+          )
     '';
   };
 in {
diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix
index 6293e8a2f46..9468c1de8cc 100644
--- a/nixos/tests/mediawiki.nix
+++ b/nixos/tests/mediawiki.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "mediawiki";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
@@ -11,9 +11,11 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('phpfpm-mediawiki.service');
-    $machine->succeed('curl -L http://localhost/') =~ /MediaWiki has been installed/ or die;
+    machine.wait_for_unit("phpfpm-mediawiki.service")
+
+    page = machine.succeed("curl -L http://localhost/")
+    assert "MediaWiki has been installed" in page
   '';
 })
diff --git a/nixos/tests/memcached.nix b/nixos/tests/memcached.nix
index b120599c51d..31f5627d25c 100644
--- a/nixos/tests/memcached.nix
+++ b/nixos/tests/memcached.nix
@@ -1,28 +1,24 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "memcached";
 
-  nodes = {
-    machine =
-      { ... }:
-      {
-        imports = [ ../modules/profiles/minimal.nix ];
-        services.memcached.enable = true;
-      };
+  machine = {
+    imports = [ ../modules/profiles/minimal.nix ];
+    services.memcached.enable = true;
   };
 
   testScript = let
-    testScript = pkgs.writeScript "testScript.py" ''
-      #!${pkgs.python3.withPackages (p: [p.memcached])}/bin/python
-
+    testScript = pkgs.writers.writePython3 "test_memcache" {
+      libraries = with pkgs.python3Packages; [ memcached ];
+    } ''
       import memcache
       c = memcache.Client(['localhost:11211'])
       c.set('key', 'value')
       assert 'value' == c.get('key')
     '';
   in ''
-    startAll;
-    $machine->waitForUnit("memcached.service");
-    $machine->waitForOpenPort("11211");
-    $machine->succeed("${testScript}");
+    machine.start()
+    machine.wait_for_unit("memcached.service")
+    machine.wait_for_open_port(11211)
+    machine.succeed("${testScript}")
   '';
 })
diff --git a/nixos/tests/moinmoin.nix b/nixos/tests/moinmoin.nix
index 2662b79aa09..ac327498eba 100644
--- a/nixos/tests/moinmoin.nix
+++ b/nixos/tests/moinmoin.nix
@@ -1,6 +1,6 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "moinmoin";
-  meta.maintainers = [ ]; # waiting for https://github.com/NixOS/nixpkgs/pull/65397
+  meta.maintainers = with lib.maintainers; [ mmilata ];
 
   machine =
     { ... }:
@@ -13,12 +13,16 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit('moin-ExampleWiki.service');
-    $machine->waitForUnit('nginx.service');
-    $machine->waitForFile('/run/moin/ExampleWiki/gunicorn.sock');
-    $machine->succeed('curl -L http://localhost/') =~ /If you have just installed/ or die;
-    $machine->succeed('moin-ExampleWiki account create --name=admin --email=admin@example.com --password=foo 2>&1') =~ /status success/ or die;
+    machine.wait_for_unit("moin-ExampleWiki.service")
+    machine.wait_for_unit("nginx.service")
+    machine.wait_for_file("/run/moin/ExampleWiki/gunicorn.sock")
+
+    assert "If you have just installed" in machine.succeed("curl -L http://localhost/")
+
+    assert "status success" in machine.succeed(
+        "moin-ExampleWiki account create --name=admin --email=admin@example.com --password=foo 2>&1"
+    )
   '';
 })
diff --git a/nixos/tests/munin.nix b/nixos/tests/munin.nix
index 31374aaf77e..7b674db7768 100644
--- a/nixos/tests/munin.nix
+++ b/nixos/tests/munin.nix
@@ -1,7 +1,7 @@
 # This test runs basic munin setup with node and cron job running on the same
 # machine.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "munin";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ domenkozar eelco ];
@@ -12,33 +12,33 @@ import ./make-test.nix ({ pkgs, ...} : {
       { config, ... }:
         {
           services = {
-           munin-node = {
+            munin-node = {
+              enable = true;
+              # disable a failing plugin to prevent irrelevant error message, see #23049
+              disabledPlugins = [ "apc_nis" ];
+            };
+            munin-cron = {
              enable = true;
-             # disable a failing plugin to prevent irrelevant error message, see #23049
-             disabledPlugins = [ "apc_nis" ];
-           };
-           munin-cron = {
-            enable = true;
-            hosts = ''
-              [${config.networking.hostName}]
-              address localhost
-            '';
-           };
+             hosts = ''
+               [${config.networking.hostName}]
+               address localhost
+             '';
+            };
           };
-          # long timeout to prevent hydra failure on high load
-          systemd.services.munin-node.serviceConfig.TimeoutStartSec = "10min";
+
+          # increase the systemd timer interval so it fires more often
+          systemd.timers.munin-cron.timerConfig.OnCalendar = pkgs.stdenv.lib.mkForce "*:*:0/10";
         };
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $one->waitForUnit("munin-node.service");
-    # make sure the node is actually listening
-    $one->waitForOpenPort(4949);
-    $one->succeed('systemctl start munin-cron');
-    # wait for munin-cron output
-    $one->waitForFile("/var/lib/munin/one/one-uptime-uptime-g.rrd");
-    $one->waitForFile("/var/www/munin/one/index.html");
+    with subtest("ensure munin-node starts and listens on 4949"):
+        one.wait_for_unit("munin-node.service")
+        one.wait_for_open_port(4949)
+    with subtest("ensure munin-cron output is correct"):
+        one.wait_for_file("/var/lib/munin/one/one-uptime-uptime-g.rrd")
+        one.wait_for_file("/var/www/munin/one/index.html")
   '';
 })
diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix
index 51d9cf166bb..0d1f7aaedfa 100644
--- a/nixos/tests/nat.nix
+++ b/nixos/tests/nat.nix
@@ -3,7 +3,7 @@
 # client on the inside network, a server on the outside network, and a
 # router connected to both that performs Network Address Translation
 # for the client.
-import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false, ... }:
+import ./make-test-python.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false, ... }:
   let
     unit = if withFirewall then "firewall" else "nat";
 
@@ -69,49 +69,52 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false,
         routerDummyNoNatClosure = nodes.routerDummyNoNat.config.system.build.toplevel;
         routerClosure = nodes.router.config.system.build.toplevel;
       in ''
-        $client->start;
-        $router->start;
-        $server->start;
+        client.start()
+        router.start()
+        server.start()
 
         # The router should have access to the server.
-        $server->waitForUnit("network.target");
-        $server->waitForUnit("httpd");
-        $router->waitForUnit("network.target");
-        $router->succeed("curl --fail http://server/ >&2");
+        server.wait_for_unit("network.target")
+        server.wait_for_unit("httpd")
+        router.wait_for_unit("network.target")
+        router.succeed("curl --fail http://server/ >&2")
 
         # The client should be also able to connect via the NAT router.
-        $router->waitForUnit("${unit}");
-        $client->waitForUnit("network.target");
-        $client->succeed("curl --fail http://server/ >&2");
-        $client->succeed("ping -c 1 server >&2");
+        router.wait_for_unit("${unit}")
+        client.wait_for_unit("network.target")
+        client.succeed("curl --fail http://server/ >&2")
+        client.succeed("ping -c 1 server >&2")
 
         # Test whether passive FTP works.
-        $server->waitForUnit("vsftpd");
-        $server->succeed("echo Hello World > /home/ftp/foo.txt");
-        $client->succeed("curl -v ftp://server/foo.txt >&2");
+        server.wait_for_unit("vsftpd")
+        server.succeed("echo Hello World > /home/ftp/foo.txt")
+        client.succeed("curl -v ftp://server/foo.txt >&2")
 
         # Test whether active FTP works.
-        $client->${if withConntrackHelpers then "succeed" else "fail"}(
-          "curl -v -P - ftp://server/foo.txt >&2");
+        client.${if withConntrackHelpers then "succeed" else "fail"}("curl -v -P - ftp://server/foo.txt >&2")
 
         # Test ICMP.
-        $client->succeed("ping -c 1 router >&2");
-        $router->succeed("ping -c 1 client >&2");
+        client.succeed("ping -c 1 router >&2")
+        router.succeed("ping -c 1 client >&2")
 
         # If we turn off NAT, the client shouldn't be able to reach the server.
-        $router->succeed("${routerDummyNoNatClosure}/bin/switch-to-configuration test 2>&1");
-        $client->fail("curl --fail --connect-timeout 5 http://server/ >&2");
-        $client->fail("ping -c 1 server >&2");
+        router.succeed(
+            "${routerDummyNoNatClosure}/bin/switch-to-configuration test 2>&1"
+        )
+        client.fail("curl --fail --connect-timeout 5 http://server/ >&2")
+        client.fail("ping -c 1 server >&2")
 
         # And make sure that reloading the NAT job works.
-        $router->succeed("${routerClosure}/bin/switch-to-configuration test 2>&1");
+        router.succeed(
+            "${routerClosure}/bin/switch-to-configuration test 2>&1"
+        )
         # FIXME: this should not be necessary, but nat.service is not started because
         #        network.target is not triggered
         #        (https://github.com/NixOS/nixpkgs/issues/16230#issuecomment-226408359)
         ${lib.optionalString (!withFirewall) ''
-          $router->succeed("systemctl start nat.service");
+          router.succeed("systemctl start nat.service")
         ''}
-        $client->succeed("curl --fail http://server/ >&2");
-        $client->succeed("ping -c 1 server >&2");
+        client.succeed("curl --fail http://server/ >&2")
+        client.succeed("ping -c 1 server >&2")
       '';
   })
diff --git a/nixos/tests/ndppd.nix b/nixos/tests/ndppd.nix
index 6a6f602726d..b67b26a7934 100644
--- a/nixos/tests/ndppd.nix
+++ b/nixos/tests/ndppd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "ndppd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ fpletz ];
@@ -52,9 +52,9 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $server->waitForUnit("multi-user.target");
-    $upstream->waitForUnit("multi-user.target");
-    $upstream->waitUntilSucceeds("ping -c5 fd42::2");
+    start_all()
+    server.wait_for_unit("multi-user.target")
+    upstream.wait_for_unit("multi-user.target")
+    upstream.wait_until_succeeds("ping -c5 fd42::2")
   '';
 })
diff --git a/nixos/tests/netdata.nix b/nixos/tests/netdata.nix
index 9bd147968e4..8dd5eafb097 100644
--- a/nixos/tests/netdata.nix
+++ b/nixos/tests/netdata.nix
@@ -1,6 +1,6 @@
 # This test runs netdata and checks for data via apps.plugin
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "netdata";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ cransom ];
@@ -16,23 +16,22 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $netdata->waitForUnit("netdata.service");
+    netdata.wait_for_unit("netdata.service")
 
     # wait for the service to listen before sending a request
-    $netdata->waitForOpenPort(19999);
+    netdata.wait_for_open_port(19999)
 
     # check if the netdata main page loads.
-    $netdata->succeed("curl --fail http://localhost:19999/");
+    netdata.succeed("curl --fail http://localhost:19999/")
 
     # check if netdata can read disk ops for root owned processes.
     # if > 0, successful. verifies both netdata working and
     # apps.plugin has elevated capabilities.
-    my $cmd = <<'CMD';
-    curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \
-       jq -e '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
-    CMD
-    $netdata->waitUntilSucceeds($cmd);
+    url = "http://localhost:19999/api/v1/data\?chart=users.pwrites"
+    filter = '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
+    cmd = f"curl -s {url} | jq -e '{filter}'"
+    netdata.wait_until_succeeds(cmd)
   '';
 })
diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix
index bfb97ec3f23..75862feb202 100644
--- a/nixos/tests/nextcloud/basic.nix
+++ b/nixos/tests/nextcloud/basic.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "notproduction";
   adminuser = "root";
 in {
@@ -50,11 +50,15 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/nextcloud/with-mysql-and-memcached.nix b/nixos/tests/nextcloud/with-mysql-and-memcached.nix
index aaf37ee4c81..b9ba5888187 100644
--- a/nixos/tests/nextcloud/with-mysql-and-memcached.nix
+++ b/nixos/tests/nextcloud/with-mysql-and-memcached.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "hunter2";
   adminuser = "root";
 in {
@@ -85,13 +85,16 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("${configureMemcached}");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
-
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("${configureMemcached}")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
index f655aba9d45..324853350af 100644
--- a/nixos/tests/nextcloud/with-postgresql-and-redis.nix
+++ b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "hunter2";
   adminuser = "custom-admin-username";
 in {
@@ -85,12 +85,16 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("${configureRedis}");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("${configureRedis}")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/openarena.nix b/nixos/tests/openarena.nix
index 4cc4db22963..b315426532b 100644
--- a/nixos/tests/openarena.nix
+++ b/nixos/tests/openarena.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "openarena";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ tomfitzhenry ];
@@ -23,14 +23,19 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->waitForUnit("openarena.service");
-      $machine->waitUntilSucceeds("ss --numeric --udp --listening | grep -q 27960");
+      machine.wait_for_unit("openarena.service")
+      machine.wait_until_succeeds("ss --numeric --udp --listening | grep -q 27960")
 
       # The log line containing 'resolve address' is last and only message that occurs after
       # the server starts accepting clients.
-      $machine->waitUntilSucceeds("journalctl -u openarena.service | grep 'resolve address: dpmaster.deathmask.net'");
+      machine.wait_until_succeeds(
+          "journalctl -u openarena.service | grep 'resolve address: dpmaster.deathmask.net'"
+      )
 
       # Check it's possible to join the server.
-      $machine->succeed("echo -n -e '\\xff\\xff\\xff\\xffgetchallenge' | socat - UDP4-DATAGRAM:127.0.0.1:27960 | grep -q challengeResponse");
+      # Can't use substring match instead of grep because the output is not utf-8
+      machine.succeed(
+          "echo -n -e '\\xff\\xff\\xff\\xffgetchallenge' | socat - UDP4-DATAGRAM:127.0.0.1:27960 | grep -q challengeResponse"
+      )
     '';
 })
diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix
index 3ef90e18347..f8321a2c522 100644
--- a/nixos/tests/openldap.nix
+++ b/nixos/tests/openldap.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "openldap";
 
   machine = { pkgs, ... }: {
@@ -24,8 +24,10 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('openldap.service');
-    $machine->succeed('systemctl status openldap.service');
-    $machine->succeed('ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"');
+    machine.wait_for_unit("openldap.service")
+    machine.succeed(
+        "systemctl status openldap.service",
+        'ldapsearch -LLL -D "cn=root,dc=example" -w notapassword -b "dc=example"',
+    )
   '';
 }
diff --git a/nixos/tests/pam-oath-login.nix b/nixos/tests/pam-oath-login.nix
index b9d489950e7..6d48199eda9 100644
--- a/nixos/tests/pam-oath-login.nix
+++ b/nixos/tests/pam-oath-login.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 
 let
   oathSnakeoilSecret = "cdd4083ef8ff1fa9178c6d46bfb1a3";
@@ -55,70 +55,54 @@ in
       };
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty1'");
-      $machine->screenshot("postboot");
-
-
-      subtest "Invalid password", sub {
-        $machine->fail("pgrep -f 'agetty.*tty2'");
-        $machine->sendKeys("alt-f2");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 2 ]");
-        $machine->waitForUnit('getty@tty2.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty2'");
-
-        $machine->waitUntilTTYMatches(2, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(2, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-
-        $machine->waitUntilTTYMatches(2, "One-time password");
-        $machine->sendChars("${oathSnakeOilPassword1}\n");
-        $machine->waitUntilTTYMatches(2, "Password: ");
-        $machine->sendChars("blorg\n");
-        $machine->waitUntilTTYMatches(2, "Login incorrect");
-      };
+  testScript = ''
+    def switch_to_tty(tty_number):
+        machine.fail(f"pgrep -f 'agetty.*tty{tty_number}'")
+        machine.send_key(f"alt-f{tty_number}")
+        machine.wait_until_succeeds(f"[ $(fgconsole) = {tty_number} ]")
+        machine.wait_for_unit(f"getty@tty{tty_number}.service")
+        machine.wait_until_succeeds(f"pgrep -f 'agetty.*tty{tty_number}'")
 
-      subtest "Invalid oath token", sub {
-        $machine->fail("pgrep -f 'agetty.*tty3'");
-        $machine->sendKeys("alt-f3");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 3 ]");
-        $machine->waitForUnit('getty@tty3.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty3'");
-
-        $machine->waitUntilTTYMatches(3, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(3, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-        $machine->waitUntilTTYMatches(3, "One-time password");
-        $machine->sendChars("000000\n");
-        $machine->waitUntilTTYMatches(3, "Login incorrect");
-        $machine->waitUntilTTYMatches(3, "login:");
-      };
 
-      subtest "Happy path (both passwords are mandatory to get us in)", sub {
-        $machine->fail("pgrep -f 'agetty.*tty4'");
-        $machine->sendKeys("alt-f4");
-        $machine->waitUntilSucceeds("[ \$(fgconsole) = 4 ]");
-        $machine->waitForUnit('getty@tty4.service');
-        $machine->waitUntilSucceeds("pgrep -f 'agetty.*tty4'");
-
-        $machine->waitUntilTTYMatches(4, "login: ");
-        $machine->sendChars("alice\n");
-        $machine->waitUntilTTYMatches(4, "login: alice");
-        $machine->waitUntilSucceeds("pgrep login");
-        $machine->waitUntilTTYMatches(4, "One-time password");
-        $machine->sendChars("${oathSnakeOilPassword2}\n");
-        $machine->waitUntilTTYMatches(4, "Password: ");
-        $machine->sendChars("${alicePassword}\n");
-
-        $machine->waitUntilSucceeds("pgrep -u alice bash");
-        $machine->sendChars("touch  done4\n");
-        $machine->waitForFile("/home/alice/done4");
-      };
+    def enter_user_alice(tty_number):
+        machine.wait_until_tty_matches(tty_number, "login: ")
+        machine.send_chars("alice\n")
+        machine.wait_until_tty_matches(tty_number, "login: alice")
+        machine.wait_until_succeeds("pgrep login")
+        machine.wait_until_tty_matches(tty_number, "One-time password")
 
-    '';
 
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
+    machine.screenshot("postboot")
+
+    with subtest("Invalid password"):
+        switch_to_tty(2)
+        enter_user_alice(2)
+
+        machine.send_chars("${oathSnakeOilPassword1}\n")
+        machine.wait_until_tty_matches(2, "Password: ")
+        machine.send_chars("blorg\n")
+        machine.wait_until_tty_matches(2, "Login incorrect")
+
+    with subtest("Invalid oath token"):
+        switch_to_tty(3)
+        enter_user_alice(3)
+
+        machine.send_chars("000000\n")
+        machine.wait_until_tty_matches(3, "Login incorrect")
+        machine.wait_until_tty_matches(3, "login:")
+
+    with subtest("Happy path: Both passwords are mandatory to get us in"):
+        switch_to_tty(4)
+        enter_user_alice(4)
+
+        machine.send_chars("${oathSnakeOilPassword2}\n")
+        machine.wait_until_tty_matches(4, "Password: ")
+        machine.send_chars("${alicePassword}\n")
+
+        machine.wait_until_succeeds("pgrep -u alice bash")
+        machine.send_chars("touch  done4\n")
+        machine.wait_for_file("/home/alice/done4")
+    '';
 })
diff --git a/nixos/tests/pam-u2f.nix b/nixos/tests/pam-u2f.nix
index 1052a2f3b91..f492baa9e13 100644
--- a/nixos/tests/pam-u2f.nix
+++ b/nixos/tests/pam-u2f.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }:
+import ./make-test-python.nix ({ ... }:
 
 {
   name = "pam-u2f";
@@ -17,7 +17,9 @@ import ./make-test.nix ({ ... }:
 
   testScript =
     ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->succeed('egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue" /etc/pam.d/ -R');
+      machine.wait_for_unit("multi-user.target")
+      machine.succeed(
+          'egrep "auth required .*/lib/security/pam_u2f.so.*debug.*interactive.*cue" /etc/pam.d/ -R'
+      )
     '';
 })
diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix
index 6ff19be1bb9..c0434f20754 100644
--- a/nixos/tests/pantheon.nix
+++ b/nixos/tests/pantheon.nix
@@ -28,7 +28,8 @@ import ./make-test-python.nix ({ pkgs, ...} :
 
     with subtest("Test we can see usernames in elementary-greeter"):
         machine.wait_for_text("${user.description}")
-        machine.wait_for_text("${bob.description}")
+        # OCR was struggling with this one.
+        # machine.wait_for_text("${bob.description}")
         machine.screenshot("elementary_greeter_lightdm")
 
     with subtest("Login with elementary-greeter"):
diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix
index 194b4dafa77..83883477a5c 100644
--- a/nixos/tests/predictable-interface-names.nix
+++ b/nixos/tests/predictable-interface-names.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  inherit (import ../lib/testing.nix { inherit system pkgs; }) makeTest;
+  inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
 in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
   name = pkgs.lib.optionalString (!predictable) "un" + "predictable"
        + pkgs.lib.optionalString withNetworkd "Networkd";
@@ -20,8 +20,8 @@ in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
     };
 
     testScript = ''
-      print $machine->succeed("ip link");
-      $machine->${if predictable then "fail" else "succeed"}("ip link show eth0 ");
+      print(machine.succeed("ip link"))
+      machine.${if predictable then "fail" else "succeed"}("ip link show eth0")
     '';
   };
 }) [[true false] [true false]])
diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix
index bb5932c3641..8e7f34d06e3 100644
--- a/nixos/tests/rabbitmq.nix
+++ b/nixos/tests/rabbitmq.nix
@@ -1,21 +1,21 @@
 # This test runs rabbitmq and checks if rabbitmq is up and running.
 
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "rabbitmq";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco offline ];
   };
 
-  nodes = {
-    one = { ... }: {
-      services.rabbitmq.enable = true;
-    };
+  machine = {
+    services.rabbitmq.enable = true;
   };
 
   testScript = ''
-    startAll;
+    machine.start()
 
-    $one->waitForUnit("rabbitmq.service");
-    $one->waitUntilSucceeds("su -s ${pkgs.stdenv.shell} rabbitmq -c \"rabbitmqctl status\"");
+    machine.wait_for_unit("rabbitmq.service")
+    machine.wait_until_succeeds(
+        'su -s ${pkgs.stdenv.shell} rabbitmq -c "rabbitmqctl status"'
+    )
   '';
 })
diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix
index 60796425564..c81e78a8f99 100644
--- a/nixos/tests/radicale.nix
+++ b/nixos/tests/radicale.nix
@@ -28,7 +28,7 @@ let
 
 in
 
-  import ./make-test.nix ({ lib, ... }@args: {
+  import ./make-test-python.nix ({ lib, ... }@args: {
     name = "radicale";
     meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
 
@@ -64,43 +64,59 @@ in
         newSystem = nodes.${nodeName}.config.system.build.toplevel;
       in "${newSystem}/bin/switch-to-configuration test";
     in ''
-      # Check Radicale 1 functionality
-      $radicale->succeed('${switchToConfig "radicale1"} >&2');
-      $radicale->waitForUnit('radicale.service');
-      $radicale->waitForOpenPort(${port});
-      $radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/');
+      with subtest("Check Radicale 1 functionality"):
+          radicale.succeed(
+              "${switchToConfig "radicale1"} >&2"
+          )
+          radicale.wait_for_unit("radicale.service")
+          radicale.wait_for_open_port(${port})
+          radicale.succeed(
+              "curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
+          )
 
-      # Export data in Radicale 2 format
-      $radicale->succeed('systemctl stop radicale');
-      $radicale->succeed('ls -al /tmp/collections');
-      $radicale->fail('ls -al /tmp/collections-new');
-      # Radicale exits immediately after exporting storage
-      $radicale->succeed('${switchToConfig "radicale1_export"} >&2');
-      $radicale->waitUntilFails('systemctl status radicale');
-      $radicale->succeed('ls -al /tmp/collections');
-      $radicale->succeed('ls -al /tmp/collections-new');
+      with subtest("Export data in Radicale 2 format"):
+          radicale.succeed("systemctl stop radicale")
+          radicale.succeed("ls -al /tmp/collections")
+          radicale.fail("ls -al /tmp/collections-new")
 
-      # Verify data in Radicale 2 format
-      $radicale->succeed('rm -r /tmp/collections/${user}');
-      $radicale->succeed('mv /tmp/collections-new/collection-root /tmp/collections');
-      $radicale->succeed('${switchToConfig "radicale2_verify"} >&2');
-      $radicale->waitUntilFails('systemctl status radicale');
-      my ($retcode, $logs) = $radicale->execute('journalctl -u radicale -n 10');
-      if ($retcode != 0 || index($logs, 'Verifying storage') == -1) {
-        die "Radicale 2 didn't verify storage"
-      }
-      if (index($logs, 'failed') != -1 || index($logs, 'exception') != -1) {
-        die "storage verification failed"
-      }
+      with subtest("Radicale exits immediately after exporting storage"):
+          radicale.succeed(
+              "${switchToConfig "radicale1_export"} >&2"
+          )
+          radicale.wait_until_fails("systemctl status radicale")
+          radicale.succeed("ls -al /tmp/collections")
+          radicale.succeed("ls -al /tmp/collections-new")
 
-      # Check Radicale 2 functionality
-      $radicale->succeed('${switchToConfig "radicale2"} >&2');
-      $radicale->waitForUnit('radicale.service');
-      $radicale->waitForOpenPort(${port});
-      my ($retcode, $output) = $radicale->execute('curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/');
-      if ($retcode != 0 || index($output, 'VCALENDAR') == -1) {
-        die "Could not read calendar from Radicale 2"
-      }
-      $radicale->succeed('curl --fail http://${user}:${password}@localhost:${port}/.web/');
+      with subtest("Verify data in Radicale 2 format"):
+          radicale.succeed("rm -r /tmp/collections/${user}")
+          radicale.succeed("mv /tmp/collections-new/collection-root /tmp/collections")
+          radicale.succeed(
+              "${switchToConfig "radicale2_verify"} >&2"
+          )
+          radicale.wait_until_fails("systemctl status radicale")
+
+          (retcode, logs) = radicale.execute("journalctl -u radicale -n 10")
+          assert (
+              retcode == 0 and "Verifying storage" in logs
+          ), "Radicale 2 didn't verify storage"
+          assert (
+              "failed" not in logs and "exception" not in logs
+          ), "storage verification failed"
+
+      with subtest("Check Radicale 2 functionality"):
+          radicale.succeed(
+              "${switchToConfig "radicale2"} >&2"
+          )
+          radicale.wait_for_unit("radicale.service")
+          radicale.wait_for_open_port(${port})
+
+          (retcode, output) = radicale.execute(
+              "curl --fail http://${user}:${password}@localhost:${port}/someuser/calendar.ics/"
+          )
+          assert (
+              retcode == 0 and "VCALENDAR" in output
+          ), "Could not read calendar from Radicale 2"
+
+      radicale.succeed("curl --fail http://${user}:${password}@localhost:${port}/.web/")
     '';
 })
diff --git a/nixos/tests/resolv.nix b/nixos/tests/resolv.nix
new file mode 100644
index 00000000000..b506f87451e
--- /dev/null
+++ b/nixos/tests/resolv.nix
@@ -0,0 +1,46 @@
+# Test whether DNS resolving returns multiple records and all address families.
+import ./make-test-python.nix ({ pkgs, ... } : {
+  name = "resolv";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ckauhaus ];
+  };
+
+  nodes.resolv = { ... }: {
+    networking.extraHosts = ''
+      # IPv4 only
+      192.0.2.1 host-ipv4.example.net
+      192.0.2.2 host-ipv4.example.net
+      # IP6 only
+      2001:db8::2:1 host-ipv6.example.net
+      2001:db8::2:2 host-ipv6.example.net
+      # dual stack
+      192.0.2.1 host-dual.example.net
+      192.0.2.2 host-dual.example.net
+      2001:db8::2:1 host-dual.example.net
+      2001:db8::2:2 host-dual.example.net
+    '';
+  };
+
+  testScript = ''
+    def addrs_in(hostname, addrs):
+        res = resolv.succeed("getent ahosts {}".format(hostname))
+        for addr in addrs:
+            assert addr in res, "Expected output '{}' not found in\n{}".format(addr, res)
+
+
+    start_all()
+    resolv.wait_for_unit("nscd")
+
+    ipv4 = ["192.0.2.1", "192.0.2.2"]
+    ipv6 = ["2001:db8::2:1", "2001:db8::2:2"]
+
+    with subtest("IPv4 resolves"):
+        addrs_in("host-ipv4.example.net", ipv4)
+
+    with subtest("IPv6 resolves"):
+        addrs_in("host-ipv6.example.net", ipv6)
+
+    with subtest("Dual stack resolves"):
+        addrs_in("host-dual.example.net", ipv4 + ipv6)
+  '';
+})
diff --git a/nixos/tests/tiddlywiki.nix b/nixos/tests/tiddlywiki.nix
index 4a2014a4ec9..cf45578b0f9 100644
--- a/nixos/tests/tiddlywiki.nix
+++ b/nixos/tests/tiddlywiki.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... }: {
+import ./make-test-python.nix ({ ... }: {
   name = "tiddlywiki";
   nodes = {
     default = {
@@ -20,48 +20,50 @@ import ./make-test.nix ({ ... }: {
     };
   };
 
-  testScript = ''
-    startAll;
+  testScript =
+    ''
+      start_all()
 
-    subtest "by default works without configuration", sub {
-      $default->waitForUnit("tiddlywiki.service");
-    };
-
-    subtest "by default available on port 8080 without auth", sub {
-      $default->waitForUnit("tiddlywiki.service");
-      $default->waitForOpenPort(8080);
-      $default->succeed("curl --fail 127.0.0.1:8080");
-    };
-
-    subtest "by default creates empty wiki", sub {
-      $default->succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info");
-    };
+      with subtest("by default works without configuration"):
+          default.wait_for_unit("tiddlywiki.service")
 
-    subtest "configured on port 3000 with basic auth", sub {
-      $configured->waitForUnit("tiddlywiki.service");
-      $configured->waitForOpenPort(3000);
-      $configured->fail("curl --fail 127.0.0.1:3000");
-      $configured->succeed("curl --fail 127.0.0.1:3000 --user somelogin:somesecret");
-    };
+      with subtest("by default available on port 8080 without auth"):
+          default.wait_for_unit("tiddlywiki.service")
+          default.wait_for_open_port(8080)
+          # we output to /dev/null here to avoid a python UTF-8 decode error
+          # but the check will still fail if the service doesn't respond
+          default.succeed("curl --fail -o /dev/null 127.0.0.1:8080")
 
-    subtest "configured with different wikifolder", sub {
-      $configured->succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info");
-    };
+      with subtest("by default creates empty wiki"):
+          default.succeed("test -f /var/lib/tiddlywiki/tiddlywiki.info")
 
-    subtest "restart preserves changes", sub {
-      # given running wiki
-      $default->waitForUnit("tiddlywiki.service");
-      # with some changes
-      $default->succeed("curl --fail --request PUT --header 'X-Requested-With:TiddlyWiki' --data '{ \"title\": \"title\", \"text\": \"content\" }' --url 127.0.0.1:8080/recipes/default/tiddlers/somepage ");
-      $default->succeed("sleep 2"); # server syncs to filesystem on timer
+      with subtest("configured on port 3000 with basic auth"):
+          configured.wait_for_unit("tiddlywiki.service")
+          configured.wait_for_open_port(3000)
+          configured.fail("curl --fail -o /dev/null 127.0.0.1:3000")
+          configured.succeed(
+              "curl --fail -o /dev/null 127.0.0.1:3000 --user somelogin:somesecret"
+          )
+      
+      with subtest("restart preserves changes"):
+          # given running wiki
+          default.wait_for_unit("tiddlywiki.service")
+          # with some changes
+          default.succeed(
+              'curl --fail --request PUT --header \'X-Requested-With:TiddlyWiki\' \
+              --data \'{ "title": "title", "text": "content" }\' \
+              --url 127.0.0.1:8080/recipes/default/tiddlers/somepage '
+          )
+          default.succeed("sleep 2")
 
-      # when wiki is cycled
-      $default->systemctl("restart tiddlywiki.service");
-      $default->waitForUnit("tiddlywiki.service");
-      $default->waitForOpenPort(8080);
+          # when wiki is cycled
+          default.systemctl("restart tiddlywiki.service")
+          default.wait_for_unit("tiddlywiki.service")
+          default.wait_for_open_port(8080)
 
-      # the change is preserved
-      $default->succeed("curl --fail 127.0.0.1:8080/recipes/default/tiddlers/somepage");
-    };
-  '';
+          # the change is preserved
+          default.succeed(
+              "curl --fail -o /dev/null 127.0.0.1:8080/recipes/default/tiddlers/somepage"
+          )
+    '';
 })
diff --git a/nixos/tests/timezone.nix b/nixos/tests/timezone.nix
index 2204649a3fc..7fc9a5058ee 100644
--- a/nixos/tests/timezone.nix
+++ b/nixos/tests/timezone.nix
@@ -1,45 +1,50 @@
-{
-  timezone-static = import ./make-test.nix ({ pkgs, ... }: {
-    name = "timezone-static";
-    meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
-
-    machine.time.timeZone = "Europe/Amsterdam";
-
-    testScript = ''
-      $machine->waitForUnit("dbus.socket");
-      $machine->fail("timedatectl set-timezone Asia/Tokyo");
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      $dateResult[1] eq "1970-01-01 01:00:00\n" or die "Timezone seems to be wrong";
-    '';
-  });
-
-  timezone-imperative = import ./make-test.nix ({ pkgs, ... }: {
-    name = "timezone-imperative";
-    meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
-
-    machine.time.timeZone = null;
-
-    testScript = ''
-      $machine->waitForUnit("dbus.socket");
-
-      # Should default to UTC
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 00:00:00\n" or die "Timezone seems to be wrong";
-
-      $machine->succeed("timedatectl set-timezone Asia/Tokyo");
-
-      # Adjustment should be taken into account
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 09:00:00\n" or die "Timezone was not adjusted";
-
-      # Adjustment should persist across a reboot
-      $machine->shutdown;
-      $machine->waitForUnit("dbus.socket");
-      my @dateResult = $machine->execute('date -d @0 "+%Y-%m-%d %H:%M:%S"');
-      print $dateResult[1];
-      $dateResult[1] eq "1970-01-01 09:00:00\n" or die "Timezone adjustment was not persisted";
-    '';
-  });
-}
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "timezone";
+  meta.maintainers = with pkgs.lib.maintainers; [ lheckemann ];
+
+  nodes = {
+    node_eutz = { pkgs, ... }: {
+      time.timeZone = "Europe/Amsterdam";
+    };
+
+    node_nulltz = { pkgs, ... }: {
+      time.timeZone = null;
+    };
+  };
+
+  testScript = { nodes, ... }: ''
+      node_eutz.wait_for_unit("dbus.socket")
+
+      with subtest("static - Ensure timezone change gives the correct result"):
+          node_eutz.fail("timedatectl set-timezone Asia/Tokyo")
+          date_result = node_eutz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          assert date_result == "1970-01-01 01:00:00\n", "Timezone seems to be wrong"
+
+      node_nulltz.wait_for_unit("dbus.socket")
+
+      with subtest("imperative - Ensure timezone defaults to UTC"):
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert (
+              date_result == "1970-01-01 00:00:00\n"
+          ), "Timezone seems to be wrong (not UTC)"
+
+      with subtest("imperative - Ensure timezone adjustment produces expected result"):
+          node_nulltz.succeed("timedatectl set-timezone Asia/Tokyo")
+
+          # Adjustment should be taken into account
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert date_result == "1970-01-01 09:00:00\n", "Timezone was not adjusted"
+
+      with subtest("imperative - Ensure timezone adjustment persists across reboot"):
+          # Adjustment should persist across a reboot
+          node_nulltz.shutdown()
+          node_nulltz.wait_for_unit("dbus.socket")
+          date_result = node_nulltz.succeed('date -d @0 "+%Y-%m-%d %H:%M:%S"')
+          print(date_result)
+          assert (
+              date_result == "1970-01-01 09:00:00\n"
+          ), "Timezone adjustment was not persisted"
+  '';
+})
diff --git a/nixos/tests/xmpp/ejabberd.nix b/nixos/tests/xmpp/ejabberd.nix
index 196a04aca30..1518aaacc8a 100644
--- a/nixos/tests/xmpp/ejabberd.nix
+++ b/nixos/tests/xmpp/ejabberd.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ... }: {
+import ../make-test-python.nix ({ pkgs, ... }: {
   name = "ejabberd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ajs124 ];
@@ -248,13 +248,21 @@ import ../make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = { nodes, ... }: ''
-    $server->waitForUnit('ejabberd.service');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) status|grep started') =~ /ejabberd is running/;
-    $server->succeed('su ejabberd -s $(which ejabberdctl) register azurediamond example.com hunter2');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) register cthon98 example.com nothunter2');
-    $server->fail('su ejabberd -s $(which ejabberdctl) register asdf wrong.domain');
-    $client->succeed('send-message');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) unregister cthon98 example.com');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) unregister azurediamond example.com');
+    ejabberd_prefix = "su ejabberd -s $(which ejabberdctl) "
+
+    server.wait_for_unit("ejabberd.service")
+
+    assert "status: started" in server.succeed(ejabberd_prefix + "status")
+
+    server.succeed(
+        ejabberd_prefix + "register azurediamond example.com hunter2",
+        ejabberd_prefix + "register cthon98 example.com nothunter2",
+    )
+    server.fail(ejabberd_prefix + "register asdf wrong.domain")
+    client.succeed("send-message")
+    server.succeed(
+        ejabberd_prefix + "unregister cthon98 example.com",
+        ejabberd_prefix + "unregister azurediamond example.com",
+    )
   '';
 })
diff --git a/nixos/tests/xrdp.nix b/nixos/tests/xrdp.nix
index 0106aefe831..1aceeffb955 100644
--- a/nixos/tests/xrdp.nix
+++ b/nixos/tests/xrdp.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "xrdp";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ volth ];
@@ -21,25 +21,27 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
   };
 
-  testScript = { ... }: ''
-    startAll;
+  testScript = { nodes, ... }: let
+    user = nodes.client.config.users.users.alice;
+  in ''
+    start_all()
 
-    $client->waitForX;
-    $client->waitForFile("/home/alice/.Xauthority");
-    $client->succeed("xauth merge ~alice/.Xauthority");
+    client.wait_for_x()
+    client.wait_for_file("${user.home}/.Xauthority")
+    client.succeed("xauth merge ${user.home}/.Xauthority")
 
-    $client->sleep(5);
+    client.sleep(5)
 
-    $client->execute("xterm &");
-    $client->sleep(1);
-    $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:alice /p:foobar\n");
-    $client->sleep(5);
-    $client->screenshot("localrdp");
+    client.execute("xterm &")
+    client.sleep(1)
+    client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:127.0.0.1 /u:${user.name} /p:${user.password}\n")
+    client.sleep(5)
+    client.screenshot("localrdp")
 
-    $client->execute("xterm &");
-    $client->sleep(1);
-    $client->sendChars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:alice /p:foobar\n");
-    $client->sleep(5);
-    $client->screenshot("remoterdp");
+    client.execute("xterm &")
+    client.sleep(1)
+    client.send_chars("xfreerdp /cert-tofu /w:640 /h:480 /v:server /u:${user.name} /p:${user.password}\n")
+    client.sleep(5)
+    client.screenshot("remoterdp")
   '';
 })
diff --git a/nixos/tests/xss-lock.nix b/nixos/tests/xss-lock.nix
index 0d757e8cef3..3a7dea07d53 100644
--- a/nixos/tests/xss-lock.nix
+++ b/nixos/tests/xss-lock.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -26,15 +26,19 @@ with lib;
   };
 
   testScript = ''
-    startAll;
-
-    ${concatStringsSep "\n" (mapAttrsToList (name: lockCmd: ''
-      ${"$"+name}->start;
-      ${"$"+name}->waitForX;
-      ${"$"+name}->waitForUnit("xss-lock.service", "alice");
-      ${"$"+name}->fail("pgrep ${lockCmd}");
-      ${"$"+name}->succeed("su -l alice -c 'xset dpms force standby'");
-      ${"$"+name}->waitUntilSucceeds("pgrep ${lockCmd}");
-    '') { simple = "i3lock"; custom_lockcmd = "xlock"; })}
+    def perform_xsslock_test(machine, lockCmd):
+        machine.start()
+        machine.wait_for_x()
+        machine.wait_for_unit("xss-lock.service", "alice")
+        machine.fail(f"pgrep {lockCmd}")
+        machine.succeed("su -l alice -c 'xset dpms force standby'")
+        machine.wait_until_succeeds(f"pgrep {lockCmd}")
+
+
+    with subtest("simple"):
+        perform_xsslock_test(simple, "i3lock")
+
+    with subtest("custom_cmd"):
+        perform_xsslock_test(custom_lockcmd, "xlock")
   '';
 })
diff --git a/pkgs/applications/audio/bsequencer/default.nix b/pkgs/applications/audio/bsequencer/default.nix
index e4ac2fbbcdc..b91554f5716 100644
--- a/pkgs/applications/audio/bsequencer/default.nix
+++ b/pkgs/applications/audio/bsequencer/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSEQuencer";
-  version = "0.4";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0c3bm2z6z2bjjv1cy50383zr81h99rcb2frmxad0r7lhi27mjyqn";
+    rev = "${version}";
+    sha256 = "08xwz5v8wrar0rx7qdr9pkpjz2k9sw6bn5glhpn6sp6453fabf8q";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/cantata/default.nix b/pkgs/applications/audio/cantata/default.nix
index bdbf6a45a6d..876889416da 100644
--- a/pkgs/applications/audio/cantata/default.nix
+++ b/pkgs/applications/audio/cantata/default.nix
@@ -80,7 +80,7 @@ in mkDerivation {
     homepage    = https://github.com/cdrummond/cantata;
     description = "A graphical client for MPD";
     license     = licenses.gpl3;
-    maintainers = with maintainers; [ fuuzetsu peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg ];
     # Technically Cantata can run on Windows so if someone wants to
     # bother figuring that one out, be my guest.
     platforms   = platforms.linux;
diff --git a/pkgs/applications/audio/easytag/default.nix b/pkgs/applications/audio/easytag/default.nix
index c6fb7c67d58..4c2b97e727f 100644
--- a/pkgs/applications/audio/easytag/default.nix
+++ b/pkgs/applications/audio/easytag/default.nix
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
     description = "View and edit tags for various audio files";
     homepage = https://wiki.gnome.org/Apps/EasyTAG;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix
index 64de722afe9..428490e119a 100644
--- a/pkgs/applications/audio/helm/default.nix
+++ b/pkgs/applications/audio/helm/default.nix
@@ -1,5 +1,5 @@
-  { stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2
-  , lv2, pkgconfig, libGLU_combined }:
+{ stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2
+, lv2, pkgconfig, libGLU, libGL }:
 
   stdenv.mkDerivation {
   version = "0.9.0";
@@ -15,7 +15,7 @@
   buildInputs = [
     xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext
     xorg.libXinerama xorg.libXrender xorg.libXrandr
-    freetype alsaLib curl libjack2 pkgconfig libGLU_combined lv2
+    freetype alsaLib curl libjack2 pkgconfig libGLU libGL lv2
   ];
 
   CXXFLAGS = "-DHAVE_LROUND";
diff --git a/pkgs/applications/audio/jack-oscrolloscope/default.nix b/pkgs/applications/audio/jack-oscrolloscope/default.nix
index d31bc981e0c..5bad5453504 100644
--- a/pkgs/applications/audio/jack-oscrolloscope/default.nix
+++ b/pkgs/applications/audio/jack-oscrolloscope/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libjack2, libGLU_combined, pkgconfig }:
+{ stdenv, fetchurl, SDL, libjack2, libGLU, libGL, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "jack_oscrolloscope";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL libjack2 libGLU_combined ];
+  buildInputs = [ SDL libjack2 libGLU libGL ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 8bdf45a968a..b555598591d 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -19,7 +19,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.2.5";
+  version = "1.2.16";
 
   format = "other";
   doCheck = false;
@@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "148p3ab7nnfz13hgjkx1cf2ahq9mgl72csrl35xy6d0nkfqbfr8r";
+    sha256 = "0rl4a5npjh5sm3kih11cs2j7ik894nlygllbw4j5pn9n9v66x51w";
   };
 
   nativeBuildInputs = [
@@ -84,10 +84,10 @@ python3.pkgs.buildPythonApplication rec  {
   ];
 
   meta = with lib; {
+    changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
     description = "A modern music player for GNOME";
     homepage = https://wiki.gnome.org/Apps/Lollypop;
     license = licenses.gpl3Plus;
-    changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
     maintainers = with maintainers; [ worldofpeace ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix
index 901be5a23d0..61f2bc33f7f 100644
--- a/pkgs/applications/audio/mda-lv2/default.nix
+++ b/pkgs/applications/audio/mda-lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mda-lv2";
-  version = "1.2.2";
+  version = "1.2.4";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
+    sha256 = "1a3cv6w5xby9yn11j695rbh3c4ih7rxfxmkca9s1324ljphh06m8";
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix
index a2368017cc1..12383dcbbda 100644
--- a/pkgs/applications/audio/meters_lv2/default.nix
+++ b/pkgs/applications/audio/meters_lv2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, lv2, libGLU_combined, gtk2, cairo, pango, fftwFloat, libjack2 }:
+, lv2, libGLU, libGL, gtk2, cairo, pango, fftwFloat, libjack2 }:
 
 let
   version = "0.9.10";
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   inherit name;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftwFloat libjack2 ];
+  buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ];
 
   srcs = [ src robtkSrc ];
   sourceRoot = name;
diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix
index 9a273299297..1e8d73ce560 100644
--- a/pkgs/applications/audio/mpc/default.nix
+++ b/pkgs/applications/audio/mpc/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, mpd_clientlib, sphinx }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, mpd_clientlib, sphinx, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "mpc";
-  version = "0.31";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "mpc";
     rev    = "v${version}";
-    sha256 = "06wn5f24bgkqmhh2p8rbizmqibzqr4x1q7c6zl0pfq7mdy49g5ds";
+    sha256 = "1qbi0i9cq54rj8z2kapk8x8g1jkw2jz781niwb9i7kw4xfhvy5zx";
   };
 
-  buildInputs = [ mpd_clientlib ];
+  buildInputs = [ mpd_clientlib ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
 
   nativeBuildInputs = [ meson ninja pkgconfig sphinx ];
 
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 63ae9278c5d..136f6fc1427 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -11,17 +11,17 @@ let
     ++ lib.optional withPortAudio "portaudio_backend";
 in
 rustPlatform.buildRustPackage rec {
-  pname = "ncspot-unstable";
-  version = "2019-10-12";
+  pname = "ncspot";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
-    rev = "4defded54646958268a20787917e4721ae96407d";
-    sha256 = "1w3cmilwjzk3pfnq97qgz6hzxgjgi27dm8jq7maw87qyl3v17gyg";
+    rev = "v${version}";
+    sha256 = "0ldisr45w6ys1j62qv99ssqfg5q9dwrrzxh2maggyrx1zqdlsk6m";
   };
 
-  cargoSha256 = "1w1fk39pragfy2i2myw99mqf63w6fw4nr2kri8ily2iqc6g9xpgw";
+  cargoSha256 = "0k765hinqxfm30li1z66m1chsv69v6hiz109q2zlkxzg937qbnjh";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/pkgs/applications/audio/noise-repellent/default.nix b/pkgs/applications/audio/noise-repellent/default.nix
new file mode 100644
index 00000000000..146e13f34de
--- /dev/null
+++ b/pkgs/applications/audio/noise-repellent/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, fftwFloat, lv2 }:
+
+stdenv.mkDerivation rec {
+  pname = "noise-repellent";
+  version = "unstable-2018-12-29";
+
+  src = fetchFromGitHub {
+    owner = "lucianodato";
+    repo = pname;
+    rev = "9efdd0b41ec184a792087c87cbf5382f455e33ec";
+    sha256 = "0pn9cxapfvb5l62q86bchyfll1290vi0rhrzarb1jpc4ix7kz53c";
+    fetchSubmodules = true;
+  };
+
+  mesonFlags = ("--prefix=${placeholder "out"}/lib/lv2");
+
+  nativeBuildInputs = [ meson ninja pkgconfig ];
+  buildInputs = [
+    fftwFloat lv2
+  ];
+
+  meta = with stdenv.lib; {
+    description = "An lv2 plugin for broadband noise reduction";
+    homepage    = https://github.com/lucianodato/noise-repellent;
+    license     = licenses.gpl3;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin"  ];
+  };
+}
diff --git a/pkgs/applications/audio/opus-tools/default.nix b/pkgs/applications/audio/opus-tools/default.nix
index 85d0e1fbaf7..69fa75d85f4 100644
--- a/pkgs/applications/audio/opus-tools/default.nix
+++ b/pkgs/applications/audio/opus-tools/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     description = "Tools to work with opus encoded audio streams";
     homepage = http://www.opus-codec.org/;
     license = stdenv.lib.licenses.bsd2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/applications/audio/opusfile/default.nix b/pkgs/applications/audio/opusfile/default.nix
index 993e3c4fe8c..25636863793 100644
--- a/pkgs/applications/audio/opusfile/default.nix
+++ b/pkgs/applications/audio/opusfile/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.opus-codec.org/;
     license = licenses.bsd3;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix
index 448b219a1af..fee456ae717 100644
--- a/pkgs/applications/audio/pianobooster/default.nix
+++ b/pkgs/applications/audio/pianobooster/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, cmake, libGLU_combined, makeWrapper, qt4 }:
+{ stdenv, fetchurl, alsaLib, cmake, libGLU, libGL, makeWrapper, qt4 }:
 
 stdenv.mkDerivation  {
   pname = "pianobooster";
@@ -16,12 +16,13 @@ stdenv.mkDerivation  {
 
   preConfigure = "cd src";
 
-  buildInputs = [ alsaLib cmake makeWrapper libGLU_combined qt4 ];
+  buildInputs = [ alsaLib cmake makeWrapper libGLU libGL qt4 ];
   NIX_LDFLAGS = [ "-lGL" "-lpthread" ];
 
   postInstall = ''
     wrapProgram $out/bin/pianobooster \
-      --prefix LD_LIBRARY_PATH : ${libGLU_combined}/lib
+      --prefix LD_LIBRARY_PATH : ${libGL}/lib \
+      --prefix LD_LIBRARY_PATH : ${libGLU}/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index dc1118f47e0..b40ab6d4f7a 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -4,13 +4,13 @@ let
   pythonPackages = python3Packages;
 in pythonPackages.buildPythonApplication rec {
   pname = "picard";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "metabrainz";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "1iibkvwpj862wcrl0fmyi6qhcgx4q5ay63yr0zyg0bkqgcka0gpr";
+    sha256 = "0lb4pzl03mr5hrzrzva99rxqd5yfip62b7sjmlg4j0imw8mxaj16";
   };
 
   nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ];
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index dee9b8f20c8..46dafb72c41 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtractor";
-  version = "0.9.10";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "00fj762qdna4bm8hshdhkwfa48s01bi5sk4f030rfk77mivl09jk";
+    sha256 = "02cpjlf3j4sm74hz88r1frnlycs52rs11mzplr2q8plji3ic5w50";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 3b780ee2b36..236c42b5293 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "5.984";
+  version = "5.987";
 
   src = fetchurl {
     url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
-    sha256 = "01yy0s9b9mkl6v66vgdfxl2zhr36abridih1d4ajbrdn60vppykw";
+    sha256 = "040k5inzj7mmi75fc6hr0ym18y5xss1675bl5rmhn4sq535m289k";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix
index 6d5944b7aff..5a90ee65947 100644
--- a/pkgs/applications/audio/setbfree/default.nix
+++ b/pkgs/applications/audio/setbfree/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchzip, alsaLib, freetype, ftgl, libjack2, libX11, lv2
-, libGLU_combined, pkgconfig, ttf_bitstream_vera
+, libGLU, libGL, pkgconfig, ttf_bitstream_vera
 }:
 
 stdenv.mkDerivation  rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation  rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    alsaLib freetype ftgl libjack2 libX11 lv2 libGLU_combined
+    alsaLib freetype ftgl libjack2 libX11 lv2 libGLU libGL
     ttf_bitstream_vera
   ];
 
diff --git a/pkgs/applications/audio/sisco.lv2/default.nix b/pkgs/applications/audio/sisco.lv2/default.nix
index 32cfd0f7494..f95655f5e9a 100644
--- a/pkgs/applications/audio/sisco.lv2/default.nix
+++ b/pkgs/applications/audio/sisco.lv2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, lv2, pkgconfig, libGLU_combined, cairo, pango, libjack2 }:
+{ stdenv, fetchFromGitHub, lv2, pkgconfig, libGLU, libGL, cairo, pango, libjack2 }:
 
 let
   name = "sisco.lv2-${version}";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   sourceRoot = src.name;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ lv2 pango cairo libjack2 libGLU_combined ];
+  buildInputs = [ lv2 pango cairo libjack2 libGLU libGL ];
 
   postUnpack = "chmod u+w -R ${robtkName}-src; mv ${robtkName}-src/* ${sourceRoot}/robtk";
   sisco_VERSION = version;
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index b4a50395464..2ba9d4f50c3 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-19.8";
+  name = "snd-19.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "0cdf3940cjvf5kls5l1zjll9wgg152xzlxs0jmpsq1kml12qa67b";
+    sha256 = "13s8fahpsjygjdrcwmprcrz23ny3klaj2rh2xzdv3bfs69gxvhys";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     homepage = http://ccrma.stanford.edu/software/snd;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.free;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 
 
diff --git a/pkgs/applications/audio/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix
index 30ff41da369..5b5f01eef5c 100644
--- a/pkgs/applications/audio/soundscape-renderer/default.nix
+++ b/pkgs/applications/audio/soundscape-renderer/default.nix
@@ -11,7 +11,7 @@
 , boost
 , ecasound
 , glibcLocales
-, libGLU_combined # Needed because help2man basically does a ./ssr-binaural  --help and ssr-binaural needs libGL
+, libGLU, libGL # Needed because help2man basically does a ./ssr-binaural  --help and ssr-binaural needs libGL
 }:
 
 stdenv.mkDerivation {
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
   LC_ALL = "en_US.UTF-8";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ boost boost.dev ecasound libGLU_combined help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
+  buildInputs = [ boost boost.dev ecasound libGLU libGL help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
 
   # 1) Fix detecting version. https://github.com/SoundScapeRenderer/ssr/pull/53
   # 2) Make it find ecasound headers
diff --git a/pkgs/applications/audio/spotify-tui/default.nix b/pkgs/applications/audio/spotify-tui/default.nix
index 606abc86ae2..bd4aaf5a2d6 100644
--- a/pkgs/applications/audio/spotify-tui/default.nix
+++ b/pkgs/applications/audio/spotify-tui/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, Security }:
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, python3, libxcb, AppKit, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "spotify-tui";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "Rigellute";
     repo = "spotify-tui";
     rev = "v${version}";
-    sha256 = "1bbh9df4gfgb5pqavgvmy8fqnr2j5rbqbanv0y31j4i0kv2wrh6a";
+    sha256 = "10wrlfi50lsf6qjsi9qklw2mk2fbf0jib7f841v842l9k9zw0hrg";
   };
 
-  cargoSha256 = "1rb4dl9zn3xx2yrapx5cfsli93ggmdq8w9fqi8cy8giyja1mnqfl";
+  cargoSha256 = "140m3pryvbc96xvl5ymz68msrx93rmvvy0y8skvc40yxwl401inc";
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig python3 ];
   buildInputs = [ openssl ]
-    ++ stdenv.lib.optional stdenv.isDarwin Security;
+  	++ stdenv.lib.optional stdenv.isLinux libxcb
+    ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ];
 
   meta = with stdenv.lib; {
     description = "Spotify for the terminal written in Rust";
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index 315bb624e51..07e7bb84c56 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -35,13 +35,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "1kqx0q99n1p5pm6skvqjihz11byhxdid1qw6gqp67dh2na62z1lm";
+    sha256 = "14bw4hmysrbl4havz03s3wl8bv76380wddf5zzrjvfjjpwn333r6";
   };
 
   buildInputs = [
@@ -93,7 +93,7 @@ mkDerivation rec {
     changelog = "https://raw.githubusercontent.com/jonaski/strawberry/${version}/Changelog";
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
-    # upstream says darwin should work but they lack maintainers as of 0.6.5
+    # upstream says darwin should work but they lack maintainers as of 0.6.6
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index b8acaa5a7e4..24620d91ff5 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk, pcre
-, libjack2, libsndfile, libXdmcp, readline, lv2, libGLU_combined, minixml, pkgconfig, zlib, xorg
+, libjack2, libsndfile, libXdmcp, readline, lv2, libGLU, libGL, minixml, pkgconfig, zlib, xorg
 }:
 
 assert stdenv ? glibc;
 
 stdenv.mkDerivation  rec {
   pname = "yoshimi";
-  version = "1.6.0.2";
+  version = "1.6.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/yoshimi/${pname}-${version}.tar.bz2";
-    sha256 = "0q2cw168r53r50zghkdqcxba2cybn44axbdkwacvkm7ag2z0j2l8";
+    sha256 = "1z2mnmm299ng6jcwa61dzr1ilwa5fjgsggxl2wa5smji6b4npmx7";
   };
 
   buildInputs = [
-    alsaLib boost cairo fftwSinglePrec fltk libjack2 libsndfile libXdmcp readline lv2 libGLU_combined
+    alsaLib boost cairo fftwSinglePrec fltk libjack2 libsndfile libXdmcp readline lv2 libGLU libGL
     minixml zlib xorg.libpthreadstubs pcre
   ];
 
diff --git a/pkgs/applications/audio/zam-plugins/default.nix b/pkgs/applications/audio/zam-plugins/default.nix
index eeeb8ae2ea4..a8236b4b60f 100644
--- a/pkgs/applications/audio/zam-plugins/default.nix
+++ b/pkgs/applications/audio/zam-plugins/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit , boost, libX11, libGLU_combined, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }:
+{ stdenv, fetchgit , boost, libX11, libGL, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }:
 
 stdenv.mkDerivation {
   pname = "zam-plugins";
@@ -12,16 +12,18 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ boost libX11 libGLU_combined liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ];
+  buildInputs = [ boost libX11 libGL liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ];
 
-  patchPhase = ''
+  postPatch = ''
     patchShebangs ./dpf/utils/generate-ttl.sh
   '';
 
   makeFlags = [
-    "PREFIX=$(out)"
+    "PREFIX=${placeholder ''out''}"
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://www.zamaudio.com/?p=976;
     description = "A collection of LV2/LADSPA/VST/JACK audio plugins by ZamAudio";
diff --git a/pkgs/applications/blockchains/bitcoin-abc.nix b/pkgs/applications/blockchains/bitcoin-abc.nix
index 0c806a89015..b03acfbf78a 100644
--- a/pkgs/applications/blockchains/bitcoin-abc.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db53, boost
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db53, boost
 , zlib, miniupnpc, qtbase ? null , qttools ? null, utillinux, protobuf, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.20.5";
+  version = "0.20.7";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "1adps3g99m7cxs58c48g2dgyihfv0v8d198klzcbbf4dq0s5v45c";
+    sha256 = "1d17ry9906zmwj2n3mh77b6rqmdg0dgm7b7ybh8d7q2ml0196ilj";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin.nix
index b1d84f91251..f3804db48b9 100644
--- a/pkgs/applications/blockchains/bitcoin.nix
+++ b/pkgs/applications/blockchains/bitcoin.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq, rapidcheck
-, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, protobuf, python3, qrencode, libevent
+, zlib, miniupnpc, qtbase ? null, qttools ? null, wrapQtAppsHook ? null, utillinux, python3, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "0.18.1";
+  pname = if withGui then "bitcoin" else "bitcoind";
+  version = "0.19.0.1";
 
   src = fetchurl {
     urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
              "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
            ];
-    sha256 = "5c7d93f15579e37aa2d1dc79e8f5ac675f59045fceddf604ae0f1550eb03bf96";
+    sha256 = "7ac9f972249a0a16ed01352ca2a199a5448fe87a4ea74923404a40b4086de284";
   };
 
   nativeBuildInputs =
     [ pkgconfig autoreconfHook ]
     ++ optional withGui wrapQtAppsHook;
   buildInputs = [ openssl db48 boost zlib zeromq
-                  miniupnpc protobuf libevent]
+                  miniupnpc libevent]
                   ++ optionals stdenv.isLinux [ utillinux ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
diff --git a/pkgs/applications/blockchains/dogecoin.nix b/pkgs/applications/blockchains/dogecoin.nix
index e5f149a0efe..02744e50647 100644
--- a/pkgs/applications/blockchains/dogecoin.nix
+++ b/pkgs/applications/blockchains/dogecoin.nix
@@ -7,13 +7,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "1.14.1";
+  version = "1.14.2";
 
   src = fetchFromGitHub {
     owner = "dogecoin";
     repo = "dogecoin";
     rev = "v${version}";
-    sha256 = "0nmbi5gmms16baqs3fmdp2xm0yf8wawnyz80gcmca4j5ph2zka1v";
+    sha256 = "1gw46q63mjzwvb17ck6p1bap2xpdrap08szw2kjhasa3yvd5swyy";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index fe7a5f991dd..34cfe868c0b 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -1,22 +1,39 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }:
+{ stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.9.7";
-
-  goPackagePath = "github.com/ethereum/go-ethereum";
-
-  # Fix for usb-related segmentation faults on darwin
-  propagatedBuildInputs =
-    stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+  version = "1.9.9";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07110dj91wmkpwz7iy0lmxx3y9wjxjrhk3rhkfdil74cxm0wkkn2";
+    sha256 = "00fhqn0b9grqz8iigzbijg7b1va58vccjb15fpy6yfr301z3ib1q";
   };
 
+  modSha256 = "1rn1x3qc23wfcx9c61sw1sc6iqwvv2b9pv006lk1az4zbwh09dbm";
+
+  subPackages = [
+    "cmd/abigen"
+    "cmd/bootnode"
+    "cmd/checkpoint-admin"
+    "cmd/clef"
+    "cmd/devp2p"
+    "cmd/ethkey"
+    "cmd/evm"
+    "cmd/faucet"
+    "cmd/geth"
+    "cmd/p2psim"
+    "cmd/puppeth"
+    "cmd/rlpdump"
+    "cmd/utils"
+    "cmd/wnode"
+  ];
+
+  # Fix for usb-related segmentation faults on darwin
+  propagatedBuildInputs =
+    stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+
   meta = with stdenv.lib; {
     homepage = "https://geth.ethereum.org/";
     description = "Official golang implementation of the Ethereum protocol";
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index dde324b39e1..7082794bba7 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "monero-gui";
-  version = "0.15.0.0";
+  version = "0.15.0.1";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "1shpnly2dym5jhvk8zk10p69mz062dihx979djg74q6hgkhhhqsh";
+    sha256 = "08j8kkncdn57xql0bhmlzjpjkdfhqbpda1p07r797q8qi0nl4w8n";
   };
 
   nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
diff --git a/pkgs/applications/blockchains/parity/beta.nix b/pkgs/applications/blockchains/parity/beta.nix
index c9da6f0e7a8..ffa509d2320 100644
--- a/pkgs/applications/blockchains/parity/beta.nix
+++ b/pkgs/applications/blockchains/parity/beta.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.6.5";
-  sha256      = "1ykrsphqil68051wwp9b0259gsmfrj9xmx0pfhh2yvmmjzv7k4fv";
+  version     = "2.6.6";
+  sha256      = "1gx5qg9c588d5m564bnbly86663yrzb2hmlgv9zplwba7p0lpphl";
   cargoSha256 = "1xqmnirx2r91q5gy1skxl0f79xvaqzimq3l0cj4xvfms7mpdfbg1";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/blockchains/parity/default.nix b/pkgs/applications/blockchains/parity/default.nix
index ba3491e084d..1b5870b429b 100644
--- a/pkgs/applications/blockchains/parity/default.nix
+++ b/pkgs/applications/blockchains/parity/default.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.5.10";
-  sha256      = "0s8llcb1xdzs2zb6rnbsa9hck7dj4m8mamzkkvr0xjmgvigskf64";
+  version     = "2.5.11";
+  sha256      = "1x2p559g2f30520v3kn46n737l5s1kwrn962dv73s6mb6n1lhs55";
   cargoSha256 = "16nf6y0hyffwdhxn1w4ms4zycs5lkzir8sj6c2lgsabig057hb6z";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index 5b1490a6b3b..91fe3e5b22f 100644
--- a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
+++ b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
@@ -20,7 +20,7 @@
 
 let
   ver_branch = "2.0";
-  version = "2.0.6";
+  version = "2.0.7";
 in
 stdenv.mkDerivation rec {
   pname = "lightdm-gtk-greeter";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15";
+    sha256 = "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms";
   };
 
   nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index c9bd1d089ca..5c796e71fdf 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -18,9 +18,9 @@ let
     sha256Hash = "0wyyr6r0jzb1l4rn1mfgp0nnzvgk3x62imq629z6vrdbymy8psf1";
   };
   latestVersion = { # canary & dev
-    version = "4.0.0.3"; # "Android Studio 4.0 Canary 3"
-    build = "192.5994236";
-    sha256Hash = "14ig352anjs0df72f41v4r6jl7mlm2n4pn9syanmykaj87dm4kf4";
+    version = "4.0.0.4"; # "Android Studio 4.0 Canary 4"
+    build = "192.6008643";
+    sha256Hash = "1z1srginlg1xnp911nlilhf515mbpmngwhln29q6lxsir8g2cw2z";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/emacs-modes/elpa-packages.nix b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
index a6bea779eae..a6d657199b9 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-packages.nix
@@ -40,6 +40,9 @@ self: let
       cl-lib = null; # builtin
       tle = null; # builtin
       advice = null; # builtin
+      seq = if lib.versionAtLeast self.emacs.version "27"
+            then null
+            else super.seq;
     };
 
     elpaPackages = super // overrides;
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index f1833225013..8d70794a754 100644
--- a/pkgs/applications/editors/emacs-modes/org-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/org-generated.nix
@@ -4,10 +4,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "20190904";
+        version = "20191203";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-20190904.tar";
-          sha256 = "0ah5zgbxp4j3mfgriw9liamy73npp9zbkq0zrg6cfhf8l3xwbnxn";
+          url = "http://orgmode.org/elpa/org-20191203.tar";
+          sha256 = "1fcgiswjnqmfzx3xkmlqyyhc4a8ms07vdsv7nkizgxqdh9hwfm2q";
         };
         packageRequires = [];
         meta = {
@@ -19,10 +19,10 @@
       elpaBuild {
         pname = "org-plus-contrib";
         ename = "org-plus-contrib";
-        version = "20190904";
+        version = "20191203";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-plus-contrib-20190904.tar";
-          sha256 = "08s3fk3jim0y2v00l6ah8y08ba8wbcf29z6fxqzyaxj58a5sq81a";
+          url = "http://orgmode.org/elpa/org-plus-contrib-20191203.tar";
+          sha256 = "1kvw95492acb7gqn8gxbp1vg4fyw80w43yvflxnfxdf6jnnw2wah";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs/25.nix b/pkgs/applications/editors/emacs/25.nix
index 76009370473..42edb7c707e 100644
--- a/pkgs/applications/editors/emacs/25.nix
+++ b/pkgs/applications/editors/emacs/25.nix
@@ -1,13 +1,13 @@
-{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d
+{ stdenv, lib, fetchurl, ncurses, xlibsWrapper, libXaw, libXpm, Xaw3d, fetchpatch
 , pkgconfig, gettext, libXft, dbus, libpng, libjpeg, libungif
 , libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
 , alsaLib, cairo, acl, gpm, AppKit, GSS, ImageIO
 , withX ? !stdenv.isDarwin
 , withGTK2 ? false, gtk2 ? null
 , withGTK3 ? true, gtk3 ? null, gsettings-desktop-schemas ? null
-, withXwidgets ? false, webkitgtk24x-gtk3 ? null, wrapGAppsHook ? null, glib-networking ? null
+, withXwidgets ? false, webkitgtk, wrapGAppsHook ? null, glib-networking ? null
 , withCsrc ? true
-, srcRepo ? false, autoconf ? null, automake ? null, texinfo ? null
+, autoconf ? null, automake ? null, texinfo ? null
 }:
 
 assert (libXft != null) -> libpng != null;      # probably a bug
@@ -16,7 +16,7 @@ assert withGTK2 -> withX || stdenv.isDarwin;
 assert withGTK3 -> withX || stdenv.isDarwin;
 assert withGTK2 -> !withGTK3 && gtk2 != null;
 assert withGTK3 -> !withGTK2 && gtk3 != null;
-assert withXwidgets -> withGTK3 && webkitgtk24x-gtk3 != null;
+assert withXwidgets -> withGTK3 && webkitgtk != null;
 
 let
   toolkit =
@@ -46,10 +46,21 @@ stdenv.mkDerivation rec {
       url = "https://gist.githubusercontent.com/aaronjensen/f45894ddf431ecbff78b1bcf533d3e6b/raw/6a5cd7f57341aba673234348d8b0d2e776f86719/Emacs-25-OS-X-use-vfork.patch";
       sha256 = "1nlsxiaynswqhy99jf4mw9x0sndhwcrwy8713kq1l3xqv9dbrzgj";
     })
+  ] ++ [
+    # Backport patches so we can use webkitgtk with xwidgets.
+    (fetchpatch {
+      name = "0001-Omit-unnecessary-includes-from-xwidget-c.patch";
+      url = "https://github.com/emacs-mirror/emacs/commit/a36ed9b5e95afea5716256bac24d883263aefbaf.patch";
+      sha256 = "1j34c0vkj87il87xy1px23yk6bw73adpr7wqa79ncj89i4lc8qkb";
+    })
+    (fetchpatch {
+      name = "0002-xwidget-Use-WebKit2-API.patch";
+      url = "https://github.com/emacs-mirror/emacs/commit/d781662873f228b110a128f7a2b6583a4d5e0a3a.patch";
+      sha256 = "1lld56zi4cw2hmjxhhdcc0f07k8lbj32h10wcq4ml3asdwa31ryr";
+    })
   ];
 
-  nativeBuildInputs = [ pkgconfig ]
-    ++ lib.optionals srcRepo [ autoconf automake texinfo ]
+  nativeBuildInputs = [ pkgconfig autoconf automake texinfo ]
     ++ lib.optional (withX && (withGTK3 || withXwidgets)) wrapGAppsHook;
 
   buildInputs =
@@ -61,7 +72,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional (withX && withGTK2) gtk2
     ++ lib.optionals (withX && withGTK3) [ gtk3 gsettings-desktop-schemas ]
     ++ lib.optional (stdenv.isDarwin && withX) cairo
-    ++ lib.optionals (withX && withXwidgets) [ webkitgtk24x-gtk3 glib-networking ]
+    ++ lib.optionals (withX && withXwidgets) [ webkitgtk glib-networking ]
     ++ lib.optionals stdenv.isDarwin [ AppKit GSS ImageIO ];
 
   hardeningDisable = [ "format" ];
@@ -75,7 +86,7 @@ stdenv.mkDerivation rec {
              "--with-gif=no" "--with-tiff=no" ])
     ++ lib.optional withXwidgets "--with-xwidgets";
 
-  preConfigure = lib.optionalString srcRepo ''
+  preConfigure = ''
     ./autogen.sh
   '' + ''
     substituteInPlace lisp/international/mule-cmds.el \
diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix
index b8b11e5e831..cbff8e606f2 100644
--- a/pkgs/applications/editors/flpsed/default.nix
+++ b/pkgs/applications/editors/flpsed/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
     homepage = http://flpsed.org/flpsed.html;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix
index 1e1a817f092..d3cc3624419 100644
--- a/pkgs/applications/editors/geany/default.nix
+++ b/pkgs/applications/editors/geany/default.nix
@@ -1,36 +1,51 @@
-{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file, libintl, hicolor-icon-theme }:
-
-with stdenv.lib;
-
-let
-  version = "1.36";
-in
+{ stdenv
+, fetchurl
+, gtk3
+, which
+, pkgconfig
+, intltool
+, file
+, libintl
+, hicolor-icon-theme
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "geany";
-  inherit version;
+  version = "1.36";
+
+  outputs = [ "out" "dev" "doc" "man" ];
 
   src = fetchurl {
     url = "https://download.geany.org/${pname}-${version}.tar.bz2";
     sha256 = "0gnm17cr4rf3pmkf0axz4a0fxwnvp55ji0q0lzy88yqbshyxv14i";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool libintl ];
-  buildInputs = [ gtk2 which file hicolor-icon-theme ];
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    libintl
+    which
+    file
+    hicolor-icon-theme
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+  ];
 
   doCheck = true;
 
   enableParallelBuilding = true;
 
-  patchPhase = "patchShebangs .";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "Small and lightweight IDE";
     longDescription = ''
       Geany is a small and lightweight Integrated Development Environment.
       It was developed to provide a small and fast IDE, which has only a few dependencies from other packages.
       Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME.
-      Geany only requires the GTK2 runtime libraries.
+      Geany only requires the GTK runtime libraries.
       Some basic features of Geany:
       - Syntax highlighting
       - Code folding
@@ -45,7 +60,7 @@ stdenv.mkDerivation rec {
       - Simple project management
       - Plugin interface
     '';
-    homepage = https://www.geany.org/;
+    homepage = "https://www.geany.org/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ frlan ];
     platforms = platforms.all;
diff --git a/pkgs/applications/editors/geany/with-vte.nix b/pkgs/applications/editors/geany/with-vte.nix
index f7351454fb8..ece5c95f05a 100644
--- a/pkgs/applications/editors/geany/with-vte.nix
+++ b/pkgs/applications/editors/geany/with-vte.nix
@@ -1,8 +1,24 @@
-{ runCommand, makeWrapper, geany, gnome2 }:
-let name = builtins.replaceStrings ["geany-"] ["geany-with-vte-"] geany.name;
-in
-runCommand name { nativeBuildInputs = [ makeWrapper ]; inherit (geany.meta); } "
-   mkdir -p $out
-   ln -s ${geany}/share $out
-   makeWrapper ${geany}/bin/geany $out/bin/geany --prefix LD_LIBRARY_PATH : ${gnome2.vte}/lib
-"
+{ symlinkJoin
+, makeWrapper
+, geany
+, lndir
+, vte
+}:
+
+symlinkJoin {
+  name = "geany-with-vte-${geany.version}";
+
+  # TODO: add geany-plugins
+  paths = with geany; [ out doc man ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    # need to replace the directory since it is a symlink
+    rm -r $out/bin; mkdir $out/bin
+    makeWrapper ${geany}/bin/geany $out/bin/geany \
+      --prefix LD_LIBRARY_PATH : ${vte}/lib
+  '';
+
+  inherit (geany.meta);
+}
diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix
index cb9f10281c7..70b2d3c148d 100644
--- a/pkgs/applications/editors/jucipp/default.nix
+++ b/pkgs/applications/editors/jucipp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, gnome3, gtksourceview3, at-spi2-core, gtksourceviewmm,
+{ stdenv, fetchgit, dconf, gtksourceview3, at-spi2-core, gtksourceviewmm,
   boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
   libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts, gtkmm3,
   coreutils, glibc, dbus, openssl, libxml2, gnumake, ctags }:
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     gtksourceviewmm
     llvmPackages.clang.cc
     llvmPackages.lldb
-    gnome3.dconf
+    dconf
   ];
 
 
diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix
index 94db57d593e..19fef1c42dc 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-php";
-  version = "5.4.4";
+  version = "5.4.5";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1q80vh2b4bmpa3sh94b6jsa5ymqr6hcn76mr2lyw30h2ppy5hm5l";
+    sha256 = "12j0l2k6ii9ajp90lil3apk0xsz56cb549ighabik73a1w3c6ib6";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 3cd81f4c1a1..7723b9482a2 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-python";
-  version = "5.4.4";
+  version = "5.4.5";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "04ig8vmn85z15mlngha4ybynjlmv9g9dn48y58wqrkif2ssliq7m";
+    sha256 = "1iq4lxbl8gq4qvydyz34ild4izw21cp22adlz9dc054v0wis331j";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix
index dd1f5eea8f4..21b469347df 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -10,11 +10,11 @@
 
 mkDerivation rec {
   pname = "kdevelop";
-  version = "5.4.4";
+  version = "5.4.5";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1cangz3ghz39sxxggp2p7kqy2ncgs0r3i19c341b5xbkcxw2y20h";
+    sha256 = "08vhbg9ql0402bw3y3xw1kdxhig9sv3ss8g0h4477vy3z17m1h4j";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix
index a106c316674..9d0d91f4be5 100644
--- a/pkgs/applications/editors/kodestudio/default.nix
+++ b/pkgs/applications/editors/kodestudio/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
 , # Patchelf dependencies:
-  alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU_combined
+  alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU, libGL
 , openssl, xorg, zlib
 }:
 
@@ -56,7 +56,7 @@ in
           $out/kodestudio
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${libGLU_combined}/lib:${openssl.out}/lib" \
+          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${libGL}/lib:${libGLU}/lib:${openssl.out}/lib" \
           $out/resources/app/extensions/krom/Krom/linux/Krom
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
diff --git a/pkgs/applications/editors/mle/default.nix b/pkgs/applications/editors/mle/default.nix
index e98759edd15..2c36be1c21b 100644
--- a/pkgs/applications/editors/mle/default.nix
+++ b/pkgs/applications/editors/mle/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mle";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "adsr";
     repo = "mle";
     rev = "v${version}";
-    sha256 = "15i5lzcp0zar2zh34ky9m6pvvi41zgdrl3hmylpgsqnnj4r87vqc";
+    sha256 = "053zvxkjx2zwq6lwkycirxz1m9sjc3zi9ic8fvp3mjvbqfri1y3x";
   };
 
   # Fix location of Lua 5.3 header and library
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 15f251f5b09..6f29946d77a 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -20,11 +20,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "4.5";
+  version = "4.6";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "0czmz1yq8s5qcxcmfjdxzg9nkhbmlc9q1nz04jvf57fdbs7w7mfy";
+    sha256 = "1s98jsvkfar6qmd5n5l1n1k59623dnc93ciyvlhxjkvpad0kmb4v";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix
index 18f458fd85c..9893c6085a6 100644
--- a/pkgs/applications/editors/neovim/neovim-remote.nix
+++ b/pkgs/applications/editors/neovim/neovim-remote.nix
@@ -4,14 +4,14 @@ with stdenv.lib;
 
 pythonPackages.buildPythonApplication rec {
   pname = "neovim-remote";
-  version = "2.2.2";
+  version = "2.2.3";
   disabled = !pythonPackages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "mhinz";
     repo = "neovim-remote";
     rev = "v${version}";
-    sha256 = "129yjpwn6480rd5na866h4mcr6rf60rqv651hks5fn3ws112n751";
+    sha256 = "0g7gs5gigk3krydxdpmscgfr1fms0a6rc6am2y4c5szkgbd1d0ph";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pynvim psutil ];
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
index 11a5b4c7ba3..6bb40f0166d 100644
--- a/pkgs/applications/editors/rednotebook/default.nix
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.11.1";
+  version = "2.14";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1";
+    sha256 = "1xs2wvm9g8vypz25li7rm8m0j4dsdpqpajcvrc756x5m149dxc08";
   };
 
   # We have not packaged tests.
@@ -35,7 +35,7 @@ buildPythonApplication rec {
   strictDeps = false;
 
   meta = with lib; {
-    homepage = http://rednotebook.sourceforge.net/;
+    homepage = "https://rednotebook.sourceforge.io/";
     description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
     license = licenses.gpl2;
     maintainers = with maintainers; [ orivej tstrobel ];
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index fa9cc155f36..e66530aaf76 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.2.5";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0sz8klz0nz60dhvz7pdn44zwr9q578pq50sxsbynz7irhrv02b52";
+    sha256 = "1vhg8m1b7ccccrzlp0pyf3qskgvlf6sn1w956zsczmndrixbli9a";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index b8010cab181..2ecb979ac4b 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0yi1ghliivhb50153dvv9q5gbbgh2dd1m3xrl1i097b3phrzb0j4";
-    x86_64-darwin = "1slf4h8yhhzlr6cm839y3zx7k831zl24xasi88z6xvib32rh9qxs";
+    x86_64-linux = "01mblkwq3qnj70rwizv408x6sc0jg4wav44p9z3cmzcf9prpm2gs";
+    x86_64-darwin = "1lvh735vddz65l1ahbl66k04rck36lpvp1n3z3hrk0mjn451ga6v";
   }.${system};
 
   sourceRoot = {
@@ -23,7 +23,7 @@ in
   callPackage ./generic.nix rec {
     inherit sourceRoot;
 
-    version = "1.40.0";
+    version = "1.40.1";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/editors/yi/wrapper.nix b/pkgs/applications/editors/yi/wrapper.nix
index fe5fcc1724b..0f3cd7d136a 100644
--- a/pkgs/applications/editors/yi/wrapper.nix
+++ b/pkgs/applications/editors/yi/wrapper.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
     description = "Allows Yi to find libraries and the compiler easily";
     # This wrapper and wrapper only is under PD
     license = licenses.publicDomain;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index feb79f444b8..90e7af9944d 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma, jasper,
+{ stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma,
   libharu, opencv, vigra, postgresql, Cocoa,
   unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }:
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
   # for why the have additional buildInputs on darwin
   buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma
-                  jasper qhull giflib ]
+                  qhull giflib ]
                 ++ stdenv.lib.optionals stdenv.isDarwin
                   [ Cocoa unixODBC poppler hdf4.out hdf5 netcdf sqlite ];
 
diff --git a/pkgs/applications/graphics/akira/default.nix b/pkgs/applications/graphics/akira/default.nix
new file mode 100644
index 00000000000..adbc1eac379
--- /dev/null
+++ b/pkgs/applications/graphics/akira/default.nix
@@ -0,0 +1,76 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, appstream-glib
+, desktop-file-utils
+, meson
+, ninja
+, pantheon
+, pkgconfig
+, python3
+, vala
+, vala-lint
+, wrapGAppsHook
+, cairo
+, glib
+, goocanvas2
+, gtk3
+, gtksourceview3
+, json-glib
+, libarchive
+, libgee
+, libxml2 }:
+
+stdenv.mkDerivation rec {
+  pname = "akira";
+  version = "2019-10-12";
+
+  src = fetchFromGitHub {
+    owner = "akiraux";
+    repo = "Akira";
+    rev = "cab952dee4591b6bde34d670c1f853f5a3ff6b19";
+    sha256 = "1fp3a79hkh6xwwqqdrx4zqq2zhsm236c6fhhl5f2nmi108yxz04q";
+  };
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    pkgconfig
+    python3
+    vala
+    vala-lint
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    cairo
+    glib
+    goocanvas2
+    pantheon.granite
+    gtk3
+    gtksourceview3
+    json-glib
+    libarchive
+    libgee
+    libxml2
+  ];
+
+  mesonFlags = [ "-Dprofile=default" ];
+
+  patches = [ ./fix-build-with-vala-0-44-or-later.patch ];
+
+  postPatch = ''
+    chmod +x build-aux/meson/post_install.py
+    patchShebangs build-aux/meson/post_install.py
+  '';
+
+  meta = with lib; {
+    description = "Native Linux Design application built in Vala and GTK";
+    homepage = "https://github.com/akiraux/Akira";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ filalex77 ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch b/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch
new file mode 100644
index 00000000000..3c35900c04f
--- /dev/null
+++ b/pkgs/applications/graphics/akira/fix-build-with-vala-0-44-or-later.patch
@@ -0,0 +1,88 @@
+From bcda8fd53f6f232db0b6411269ba108af551629f Mon Sep 17 00:00:00 2001
+From: Alberto Fanjul <albertofanjul@gmail.com>
+Date: Tue, 9 Apr 2019 09:45:36 +0200
+Subject: [PATCH] Build on vala >= 0.44.2
+
+---
+ src/FileFormat/JsonObject.vala        |  2 +-
+ src/FileFormat/JsonObjectArray.vala   |  2 +-
+ src/FileFormat/ZipArchiveHandler.vala | 18 +++++++++++++++++-
+ 3 files changed, 19 insertions(+), 3 deletions(-)
+
+diff --git a/src/FileFormat/JsonObject.vala b/src/FileFormat/JsonObject.vala
+index 7bfe46f..805fbad 100644
+--- a/src/FileFormat/JsonObject.vala
++++ b/src/FileFormat/JsonObject.vala
+@@ -31,7 +31,7 @@ public abstract class Akira.FileFormat.JsonObject : GLib.Object {
+ 
+     private ObjectClass obj_class;
+ 
+-    public JsonObject.from_object (Json.Object object) {
++    protected JsonObject.from_object (Json.Object object) {
+         Object (object: object);
+     }
+ 
+diff --git a/src/FileFormat/JsonObjectArray.vala b/src/FileFormat/JsonObjectArray.vala
+index 4f6e573..d0a7dad 100644
+--- a/src/FileFormat/JsonObjectArray.vala
++++ b/src/FileFormat/JsonObjectArray.vala
+@@ -31,7 +31,7 @@ public abstract class Akira.FileFormat.JsonObjectArray : Object {
+      *
+      * Your JsonObject implementation should have it's own list of items
+      */
+-    public JsonObjectArray (Json.Object object, string property_name) {
++    protected JsonObjectArray (Json.Object object, string property_name) {
+         Object (object: object, property_name: property_name);
+     }
+ 
+diff --git a/src/FileFormat/ZipArchiveHandler.vala b/src/FileFormat/ZipArchiveHandler.vala
+index ca60dd0..5d65aa2 100644
+--- a/src/FileFormat/ZipArchiveHandler.vala
++++ b/src/FileFormat/ZipArchiveHandler.vala
+@@ -262,11 +262,17 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                 continue;
+             }
+ 
++            Posix.off_t offset;
++#if VALA_0_42
++            uint8[] buffer;
++            while (archive.read_data_block (out buffer, out offset) == Archive.Result.OK) {
++                if (extractor.write_data_block (buffer, offset) != Archive.Result.OK) {
++#else
+             void* buffer = null;
+             size_t buffer_length;
+-            Posix.off_t offset;
+             while (archive.read_data_block (out buffer, out buffer_length, out offset) == Archive.Result.OK) {
+                 if (extractor.write_data_block (buffer, buffer_length, offset) != Archive.Result.OK) {
++#endif
+                     break;
+                 }
+             }
+@@ -316,9 +322,15 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                     // Add an entry to the archive
+                     Archive.Entry entry = new Archive.Entry ();
+                     entry.set_pathname (initial_folder.get_relative_path (current_file));
++#if VALA_0_42
++                    entry.set_size ((Archive.int64_t) file_info.get_size ());
++                    entry.set_filetype (Archive.FileType.IFREG);
++                    entry.set_perm (Archive.FileType.IFREG);
++#else
+                     entry.set_size (file_info.get_size ());
+                     entry.set_filetype ((uint) Posix.S_IFREG);
+                     entry.set_perm (0644);
++#endif
+ 
+                     if (archive.write_header (entry) != Archive.Result.OK) {
+                         critical ("Error writing '%s': %s (%d)", current_file.get_path (), archive.error_string (), archive.errno ());
+@@ -333,7 +345,11 @@ public class Akira.FileFormat.ZipArchiveHandler : GLib.Object {
+                             break;
+                         }
+ 
++#if VALA_0_42
++                        archive.write_data (buffer[0:bytes_read]);
++#else
+                         archive.write_data (buffer, bytes_read);
++#endif
+                     }
+                 }
+             }
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index 04e64b76d3f..5966d6427ed 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, libpng, python3
-, libGLU_combined, qtbase, wrapQtAppsHook, ncurses
+, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses
 , cmake, flex, lemon
 }:
 
@@ -29,7 +29,7 @@ in
 
     buildInputs = [
       libpng python3 python3.pkgs.boost
-      libGLU_combined qtbase wrapQtAppsHook
+      libGLU libGL qtbase wrapQtAppsHook
       ncurses
     ];
 
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 1497fe19991..e2a7a9fe5c4 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "3.9.6";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "0jnl461dg2s5panrw12707bv34g6wxc1pxc90awnja13yq0z6bfc";
+    sha256 = "13jwxwvwb9nnjxcnh9vfi22n4c00bhdypl84wrpdg5xw9325zhvy";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
index 57cf6c3f13f..2b70ea3b450 100644
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ b/pkgs/applications/graphics/cinepaint/default.nix
@@ -2,7 +2,7 @@
   flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11,
   pythonPackages, gettext, intltool, babl, gegl,
   glib, makedepend, xorgproto, libXmu, openexr,
-  libGLU_combined, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
+  libGLU, libGL, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
 
 let
   inherit (pythonPackages) python pygtk;
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg
     libexif zlib libX11 python pygtk gettext intltool babl
-    gegl glib makedepend xorgproto libXmu openexr libGLU_combined
+    gegl glib makedepend xorgproto libXmu openexr libGLU libGL
     libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
   ] ++ (with perlPackages; [ perl XMLParser ]);
 
diff --git a/pkgs/applications/graphics/cq-editor/default.nix b/pkgs/applications/graphics/cq-editor/default.nix
new file mode 100644
index 00000000000..32d079d85ff
--- /dev/null
+++ b/pkgs/applications/graphics/cq-editor/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, mkDerivationWith
+, python3Packages
+, fetchFromGitHub
+}:
+
+mkDerivationWith python3Packages.buildPythonApplication rec {
+  pname = "cq-editor";
+  version = "0.1RC1";
+
+  src = fetchFromGitHub {
+    owner = "CadQuery";
+    repo = "CQ-editor";
+    rev = version;
+    sha256 = "0iwcpnj15s64k16948sakvkn1lb4mqwrhmbxk3r03bczs0z33zax";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    cadquery
+    Logbook
+    pyqt5
+    pyparsing
+    pyqtgraph
+    spyder
+    pathpy
+    qtconsole
+    requests
+  ];
+
+  postFixup = ''
+    wrapQtApp "$out/bin/cq-editor"
+  '';
+
+  checkInputs = with python3Packages; [
+    pytest
+    pytest-xvfb
+    pytest-mock
+    pytestcov
+    pytest-repeat
+    pytest-qt
+  ];
+
+  checkPhase = ''
+    pytest --no-xvfb
+  '';
+
+  # requires X server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "CadQuery GUI editor based on PyQT";
+    homepage = "https://github.com/CadQuery/CQ-editor";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ costrouc marcus7070 ];
+  };
+
+}
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 1fc15af7244..1d9b06de29f 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -26,7 +26,7 @@
 , exiv2
 , ffmpeg
 , flex
-, jasper
+, jasper ? null, withJpeg2k ? false  # disable JPEG2000 support, jasper has unfixed CVE
 , lcms2
 , lensfun
 , libgphoto2
@@ -70,7 +70,6 @@ mkDerivation rec {
     exiv2
     ffmpeg
     flex
-    jasper
     lcms2
     lensfun
     libgphoto2
@@ -103,7 +102,8 @@ mkDerivation rec {
     marble
     oxygen
     threadweaver
-  ];
+  ]
+  ++ lib.optionals withJpeg2k [ jasper ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/graphics/draftsight/default.nix b/pkgs/applications/graphics/draftsight/default.nix
index e59d14f7dd6..144c723da20 100644
--- a/pkgs/applications/graphics/draftsight/default.nix
+++ b/pkgs/applications/graphics/draftsight/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, dpkg, makeWrapper, gcc, libGLU_combined, xdg_utils,
+{ stdenv, fetchurl, dpkg, makeWrapper, gcc, libGLU, libGL, xdg_utils,
   dbus, alsaLib, cups, fontconfig, glib, icu, libpng12,
   xkeyboard_config, zlib, libxslt, libxml2, sqlite, orc,
   libX11, libXcursor, libXrandr, libxcb, libXi, libSM, libICE,
@@ -71,7 +71,7 @@ stdenv.mkDerivation {
     sha256 = "05lrvml0zkzqg0sj6sj2h8h66hxdmsw5fg9fwz923r1y8j48qxdx";
   };
 
-  libPath = stdenv.lib.makeLibraryPath [ gcc.cc libGLU_combined xdg_utils
+  libPath = stdenv.lib.makeLibraryPath [ gcc.cc libGLU libGL xdg_utils
     dbus alsaLib cups.lib fontconfig glib icu libpng12
     xkeyboard_config zlib libxslt libxml2 sqlite orc libX11
     libXcursor libXrandr libxcb libXi libSM libICE libXrender
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 25cefabbd63..548b004d794 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "12.2.2";
+  version = "12.3.2";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
-    sha256 = "04h11gdy78py9zrs3v6y0hhhc2n1h4s0ymbvf6qn4vv4r3r9vbaw";
+    sha256 = "1hh4616dbq0fqldlph7vyl8vkibwc3xpcv9r1m2v949kn84yi2j3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/exrdisplay/default.nix b/pkgs/applications/graphics/exrdisplay/default.nix
index 562fb8c11dc..d8b08faf239 100644
--- a/pkgs/applications/graphics/exrdisplay/default.nix
+++ b/pkgs/applications/graphics/exrdisplay/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, fltk, openexr, libGLU_combined, ctl }:
+{ stdenv, fetchurl, pkgconfig, fltk, openexr, libGLU, libGL, ctl }:
 
 stdenv.mkDerivation {
   name ="openexr_viewers-2.2.1";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openexr fltk libGLU_combined ctl ];
+  buildInputs = [ openexr fltk libGLU libGL ctl ];
 
   meta = {
     description = "Application for viewing OpenEXR images on a display at various exposure settings";
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index ae38730226a..c364badc174 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ghostscript, libpng } :
 
 let
-  version = "3.2.7a";
+  version = "3.2.7b";
 
 in stdenv.mkDerivation {
   pname = "fig2dev";
@@ -9,7 +9,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
-    sha256 = "0a7vkfl38fvkhg3na5gr9c4fskas9wbs84y9djg85nzwbshik8mx";
+    sha256 = "1ck8gnqgg13xkxq4hrdy706i4xdgrlckx6bi6wxm1g514121pp27";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/applications/graphics/freepv/default.nix b/pkgs/applications/graphics/freepv/default.nix
index 0bd3421f1b1..57321220fb1 100644
--- a/pkgs/applications/graphics/freepv/default.nix
+++ b/pkgs/applications/graphics/freepv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libjpeg, libGLU_combined, freeglut, zlib, cmake, libX11, libxml2, libpng,
+{ stdenv, fetchurl, libjpeg, libGLU, libGL, freeglut, zlib, cmake, libX11, libxml2, libpng,
   libXxf86vm }:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "1w19abqjn64w47m35alg7bcdl1p97nf11zn64cp4p0dydihmhv56";
   };
 
-  buildInputs = [ libjpeg libGLU_combined freeglut zlib cmake libX11 libxml2 libpng
+  buildInputs = [ libjpeg libGLU libGL freeglut zlib cmake libX11 libxml2 libpng
     libXxf86vm ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
index a67a03b3e07..2b3b992d24b 100644
--- a/pkgs/applications/graphics/gimp/default.nix
+++ b/pkgs/applications/graphics/gimp/default.nix
@@ -157,6 +157,8 @@ in stdenv.mkDerivation rec {
     "--without-webkit" # old version is required
     "--with-bug-report-url=https://github.com/NixOS/nixpkgs/issues/new"
     "--with-icc-directory=/run/current-system/sw/share/color/icc"
+    # fix libdir in pc files (${exec_prefix} needs to be passed verbatim)
+    "--libdir=\${exec_prefix}/lib"
   ];
 
   # on Darwin,
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix
index b0e76d23dac..9db6281b341 100644
--- a/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -38,7 +38,7 @@ perlPackages.buildPerlPackage rec {
       ListMoreUtils
       HTMLParser
       ProcProcessTable
-      Log4Perl
+      LogLog4perl
       TryTiny
       DataUUID
       DateCalc
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index d7c0f0e0a0c..f0057f3a1a8 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.8.1";
+  version = "3.8.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "184zn79w4s9y1zy42ar31p3jsg8rmkxy8k6iry51nz8aizbcs7jb";
+    sha256 = "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index d7888da15ef..8f7800a7323 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,7 +1,7 @@
 { stdenv, cmake, fetchurl, gnumake, makeWrapper, pkgconfig, fetchpatch
 , autopanosiftc, boost, cairo, enblend-enfuse, exiv2, fftw, flann, gettext
 , glew, ilmbase, lcms2, lensfun, libjpeg, libpng, libtiff, libX11, libXi
-, libXmu, libGLU_combined, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib
+, libXmu, libGLU, libGL, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     boost cairo exiv2 fftw flann gettext glew ilmbase lcms2 lensfun libjpeg
-    libpng libtiff libX11 libXi libXmu libGLU_combined openexr panotools sqlite vigra
+    libpng libtiff libX11 libXi libXmu libGLU libGL openexr panotools sqlite vigra
     wxGTK zlib
   ];
 
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 17b5a716491..3996b94ba14 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -25,6 +25,16 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.com/inkscape/inkscape/commit/e831b034746f8dc3c3c1b88372751f6dcb974831.diff";
       sha256 = "096rdyi6ppjq1h9jwwsm9hb99nggfrfinik8rm23jkn4h2zl01zf";
     })
+    (fetchpatch {
+      name = "inkscape-poppler_0_82_compat.patch";
+      url = "https://gitlab.com/inkscape/inkscape/commit/835b6bb62be565efab986d5a3f30a672ad56c7eb.patch";
+      sha256 = "02c6sxi2w52b885vr3pgani6kvxp9gdqqk2jgiykkdzv70hhrnm7";
+    })
+    (fetchpatch {
+      name = "inkscape-poppler_0_83_compat.patch";
+      url = "https://gitlab.com/inkscape/inkscape/commit/b5360a807b12d4e8318475ffd0464b84882788b5.patch";
+      sha256 = "1p44rr2q2i3zkd1y1j7xgdcbgx8yvlq6hq92im8s0bkjby6p5cpz";
+    })
   ];
 
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 1487fb8adba..a87d54459c1 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, fetchpatch, ftgl, glew, asciidoc
-, cmake, ninja, libGLU_combined, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
-, libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff
+, cmake, ninja, libGLU, libGL, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
+, libpng, boost, doxygen, cairomm, pkgconfig, libjpeg, libtiff
 , gettext, intltool, perl, gtkmm2, glibmm, gtkglext, pangox_compat, libXmu }:
 
 stdenv.mkDerivation rec {
@@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja gettext intltool doxygen pkgconfig perl asciidoc ];
 
   buildInputs = [
-     libGLU_combined zlib python expat libxml2 libsigcxx libuuid freetype libpng
-     boost cairomm imagemagick libjpeg libtiff
+     libGLU libGL zlib python expat libxml2 libsigcxx libuuid freetype libpng
+     boost cairomm libjpeg libtiff
      ftgl glew gtkmm2 glibmm gtkglext pangox_compat libXmu
     ];
 
diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix
index 961b0175da9..47a0687e79d 100644
--- a/pkgs/applications/graphics/kodelife/default.nix
+++ b/pkgs/applications/graphics/kodelife/default.nix
@@ -3,17 +3,17 @@
 , alsaLib
 , glib
 , gst_all_1
-, libGLU_combined
+, libGLU, libGL
 , xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "kodelife";
-  version = "0.8.6.101";
+  version = "0.8.7.105";
 
   src = fetchzip {
     url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
-    sha256 = "1ldab1famdcby2djfys657g85d46s8k96m6mr71riw4v336ar238";
+    sha256 = "0ld4lwigzwlikx04qy3gskqqg0wzlk8m3ccrd704ifl8lsp46n5r";
   };
 
   dontConfigure = true;
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       glib
       gst_all_1.gstreamer
       gst_all_1.gst-plugins-base
-      libGLU_combined
+      libGLU libGL
       xorg.libX11
     ];
   in ''
diff --git a/pkgs/applications/graphics/mandelbulber/default.nix b/pkgs/applications/graphics/mandelbulber/default.nix
new file mode 100644
index 00000000000..0a3368ec2ab
--- /dev/null
+++ b/pkgs/applications/graphics/mandelbulber/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, libpng
+, gsl
+, libsndfile
+, lzo
+, qmake
+, qttools
+, qtbase
+, qtmultimedia
+, withOpenCL ? true
+, opencl-clhpp ? null
+, ocl-icd ? null
+}:
+
+assert withOpenCL -> opencl-clhpp != null;
+assert withOpenCL -> ocl-icd != null;
+
+mkDerivation rec {
+  pname = "mandelbulber";
+  version = "2.20";
+
+  src = fetchFromGitHub {
+    owner = "buddhi1980";
+    repo = "mandelbulber2";
+    rev = version;
+    sha256 = "043dks9fimhradyhdzqdc6lb9z0x9lkj3szj10751g424lppp207";
+  };
+
+  nativeBuildInputs = [
+    qmake
+    qttools
+  ];
+  buildInputs = [
+    qtbase
+    qtmultimedia
+    libpng
+    gsl
+    libsndfile
+    lzo
+  ] ++ lib.optionals withOpenCL [
+    opencl-clhpp
+    ocl-icd
+  ];
+
+  sourceRoot = "${src.name}/mandelbulber2";
+
+  qmakeFlags = [
+    "SHARED_PATH=${placeholder ''out''}"
+    (if withOpenCL
+      then "qmake/mandelbulber-opencl.pro"
+      else "qmake/mandelbulber.pro")
+  ];
+
+  meta = with lib; {
+    description = "A 3D fractal rendering engine";
+    longDescription = "Mandelbulber creatively generates three-dimensional fractals. Explore trigonometric, hyper-complex, Mandelbox, IFS, and many other 3D fractals.";
+    homepage = "https://mandelbulber.com";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ kovirobi ];
+  };
+}
diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix
index 7130d21b8ef..c16c0d88b46 100644
--- a/pkgs/applications/graphics/mcomix/default.nix
+++ b/pkgs/applications/graphics/mcomix/default.nix
@@ -27,7 +27,7 @@ python27Packages.buildPythonApplication rec {
       '';
       homepage = http://mcomix.sourceforge.net/;
       license = stdenv.lib.licenses.gpl2;
-      maintainers = with stdenv.lib.maintainers; [ fuuzetsu AndersonTorres ];
+      maintainers = with stdenv.lib.maintainers; [ AndersonTorres ];
     };
 }
 # TODO:
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index c08bbbea766..1acaf4850eb 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,8 +1,22 @@
-{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection
-, gdk-pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }:
+{ stdenv
+, fetchFromGitHub
+, gtk3
+, intltool
+, json_c
+, lcms2
+, libpng
+, librsvg
+, gobject-introspection
+, gdk-pixbuf
+, pkgconfig
+, python2
+, scons
+, swig
+, wrapGAppsHook
+}:
 
 let
-  inherit (python2Packages) python pycairo pygobject3 numpy;
+  inherit (python2.pkgs) pycairo pygobject3 numpy;
 in stdenv.mkDerivation {
   pname = "mypaint";
   version = "1.2.1";
@@ -16,18 +30,32 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [
-    intltool pkgconfig scons swig wrapGAppsHook
+    intltool
+    pkgconfig
+    scons
+    swig
+    wrapGAppsHook
     gobject-introspection # for setup hook
   ];
 
   buildInputs = [
-    gtk3 gdk-pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python
+    gtk3
+    gdk-pixbuf
+    json_c
+    lcms2
+    libpng
+    librsvg
+    pycairo
+    pygobject3
+    python2
   ];
 
-  propagatedBuildInputs = [ numpy ];
+  propagatedBuildInputs = [
+    numpy
+  ];
 
   postInstall = ''
-    sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint
+    sed -i -e 's|/usr/bin/env python2.7|${python2}/bin/python|' $out/bin/mypaint
   '';
 
   preFixup = ''
@@ -36,7 +64,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A graphics application for digital painters";
-    homepage = http://mypaint.org/;
+    homepage = "http://mypaint.org/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ goibhniu jtojnar ];
diff --git a/pkgs/applications/graphics/openimageio/2.x.nix b/pkgs/applications/graphics/openimageio/2.x.nix
index 69cc323b40f..bbd2f0b5929 100644
--- a/pkgs/applications/graphics/openimageio/2.x.nix
+++ b/pkgs/applications/graphics/openimageio/2.x.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.0.11";
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "1kasp9as81wjvys9qrx10mgdf9bjbdgryhdgjqn05zdmv2rs95nc";
+    sha256 = "0v3k33jb0glb30jdhq3c732a9dxvnidaclz6b2wpqwik8l3658mj";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index 9f7fbc8421b..2c95f6d403f 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -7,7 +7,7 @@
 , flex
 , eigen
 , boost
-, libGLU_combined
+, libGLU, libGL
 , glew
 , opencsg
 , cgal
@@ -44,7 +44,7 @@ mkDerivation rec {
     eigen boost glew opencsg cgal mpfr gmp glib
     harfbuzz lib3mf libzip double-conversion freetype fontconfig
     qtbase qtmultimedia qscintilla
-  ] ++ stdenv.lib.optional stdenv.isLinux libGLU_combined
+  ] ++ stdenv.lib.optionals stdenv.isLinux [ libGLU libGL ]
     ++ stdenv.lib.optional stdenv.isDarwin qtmacextras
   ;
 
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index fdda8062a43..1a47a355749 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -1,6 +1,6 @@
 {
 stdenv, fetchFromGitHub, cmake, makeWrapper
-,qtbase, qttools, python, libGLU_combined
+,qtbase, qttools, python, libGLU, libGL
 ,libXt, qtx11extras, qtxmlpatterns
 , mkDerivation
 }:
@@ -43,7 +43,7 @@ mkDerivation rec {
   buildInputs = [
     python
     python.pkgs.numpy
-    libGLU_combined
+    libGLU libGL
     libXt
     qtbase
     qtx11extras
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 3d6d04db553..3df2ab4ab40 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.2.5";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fgdq8byb9pp9wiq3dm0vxw32kbspczqnk41agxpzjf303zmv75y";
+    sha256 = "03v4wc531dwmbjqgs3y3ncdn6g3xirv1w6h1mfgglb6sjll8jxp5";
   };
 
   modSha256 = "1nagb3k2ghfw27g4vcmn7v8s5flg387jpf1l18gw6c44a1xjcivs";
diff --git a/pkgs/applications/graphics/sxiv/default.nix b/pkgs/applications/graphics/sxiv/default.nix
index acbbf73465d..99c151f8c80 100644
--- a/pkgs/applications/graphics/sxiv/default.nix
+++ b/pkgs/applications/graphics/sxiv/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/muennich/sxiv;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with maintainers; [ jfrankenau fuuzetsu ];
+    maintainers = with maintainers; [ jfrankenau ];
   };
 }
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index 3597b97fae6..76f8e03fa13 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.0.15";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
     repo = pname;
     rev = version;
-    sha256 = "1q716hn2ajkxfba0dxp7vcnqfa31hx36ax09yz4d13sdw43rfjf4";
+    sha256 = "1bdmxxkcqpjvkckizmrz2839b4yspw4xv69bqkrrgkcyvxsr804w";
   };
 
   nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/kde/ark/default.nix b/pkgs/applications/kde/ark/default.nix
index 6015cb69d77..76cc423f546 100644
--- a/pkgs/applications/kde/ark/default.nix
+++ b/pkgs/applications/kde/ark/default.nix
@@ -22,6 +22,7 @@ in
 mkDerivation {
   name = "ark";
   meta = {
+    description = "Graphical file compression/decompression utility";
     license = with lib.licenses;
       [ gpl2 lgpl3 ] ++ lib.optional unfreeEnableUnrar unfree;
     maintainers = [ lib.maintainers.ttuegel ];
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index 24f788ef468..4b4148bdc63 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/misc/alacritty/default.nix
@@ -52,16 +52,16 @@ let
   ];
 in buildRustPackage rec {
   pname = "alacritty";
-  version = "0.3.3";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "jwilm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h9zid7bi19qga3a8a2d4x3ma9wf1njmj74s4xnw7nzqqf3dh750";
+    sha256 = "0adaqdbma6gskb2g14yscrgr9gch5wf2g2clchplv72c2qr1k427";
   };
 
-  cargoSha256 = "1rxb5ljgvn881jkxm8772kf815mmp08ci7sqmn2x1jwdcrphhxr1";
+  cargoSha256 = "1r267g8f986nxh8ms5yhp50qy1yl8gly2jr78p738qqc6frlxlhv";
 
   nativeBuildInputs = [
     cmake
@@ -76,10 +76,6 @@ in buildRustPackage rec {
     ++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ];
 
   outputs = [ "out" "terminfo" ];
-  postPatch = ''
-    substituteInPlace alacritty_terminal/src/config/mouse.rs \
-      --replace xdg-open ${xdg_utils}/bin/xdg-open
-  '';
 
   postBuild = lib.optionalString stdenv.isDarwin "make app";
 
@@ -118,7 +114,7 @@ in buildRustPackage rec {
     description = "GPU-accelerated terminal emulator";
     homepage = https://github.com/jwilm/alacritty;
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ mic92 ];
+    maintainers = with maintainers; [ filalex77 mic92 ];
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index b671663db8e..8c4833be3e6 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,7 +1,7 @@
 { config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libX11, libXext, libXrender
 , libjpeg, libpng, libsamplerate, libsndfile
-, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages
+, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages
 , openvdb, libXxf86vm, tbb
 , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
 , jackaudioSupport ? false, libjack2
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
       libXi libX11 libXext libXrender
-      freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU_combined openal
+      freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU libGL openal
       opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc
       (opensubdiv.override { inherit cudaSupport; })
       openvdb libXxf86vm tbb
diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix
index ac65341d498..98f6e2895d1 100644
--- a/pkgs/applications/misc/buku/default.nix
+++ b/pkgs/applications/misc/buku/default.nix
@@ -27,6 +27,7 @@ with python3.pkgs; buildPythonApplication rec {
     requests
     urllib3
     flask
+    flask-admin
     flask-api
     flask-bootstrap
     flask-paginate
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 22ae573353e..9701db3c0b7 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -47,7 +47,7 @@ mkDerivation rec {
     poppler_utils libpng imagemagick libjpeg
     fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
   ] ++ (with pypkgs; [
-    apsw cssselect css-parser dateutil dnspython html5-parser lxml markdown netifaces pillow
+    apsw cssselect css-parser dateutil dnspython feedparser html5-parser lxml markdown netifaces pillow
     python pyqt5_with_qtwebkit sip
     regex msgpack beautifulsoup4 html2text
     # the following are distributed with calibre, but we use upstream instead
diff --git a/pkgs/applications/misc/cpp-ethereum/default.nix b/pkgs/applications/misc/cpp-ethereum/default.nix
index 0e9ff40cffa..dae25f6b817 100644
--- a/pkgs/applications/misc/cpp-ethereum/default.nix
+++ b/pkgs/applications/misc/cpp-ethereum/default.nix
@@ -13,7 +13,7 @@
 , miniupnpc
 , libmicrohttpd
 , gmp
-, libGLU_combined
+, libGLU, libGL
 , extraCmakeFlags ? []
 }:
 stdenv.mkDerivation rec {
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
     miniupnpc
     libmicrohttpd
     gmp
-    libGLU_combined
+    libGLU libGL
   ];
 
   dontStrip = true;
diff --git a/pkgs/applications/misc/cura/default.nix b/pkgs/applications/misc/cura/default.nix
index 702a9c585a3..7187b8c0099 100644
--- a/pkgs/applications/misc/cura/default.nix
+++ b/pkgs/applications/misc/cura/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "cura";
-  version = "4.3.0";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "Cura";
-    rev = version;
-    sha256 = "1wf60qr0wqsci5skp55qr8h56s3x5s2icxbn58ia9s4a5hhvnsmf";
+    rev = "v${version}";
+    sha256 = "131n36qhdfky584wr3zv73ckjjprwaqb5fih8yln2syf8b7ziwlz";
   };
 
   materials = fetchFromGitHub {
diff --git a/pkgs/applications/misc/cura/plugins.nix b/pkgs/applications/misc/cura/plugins.nix
index 20c58ddfb1d..35d6c97fa0b 100644
--- a/pkgs/applications/misc/cura/plugins.nix
+++ b/pkgs/applications/misc/cura/plugins.nix
@@ -6,13 +6,13 @@ let
 
     octoprint = stdenv.mkDerivation rec {
       pname = "Cura-OctoPrintPlugin";
-      version = "3.5.8";
+      version = "3.5.11";
 
       src = fetchFromGitHub {
         owner = "fieldOfView";
         repo = pname;
-        rev = "a82a42a87bbeb390b80b991afb1a6741c46a3432";
-        sha256 = "0q5yd7pw626qls2ks2y39hb9czd6lgh71jalzl2drwdi6a8mwsfz";
+        rev = "3cef0a955ae7ccfa5c07d20d9d147c530cc9d6ec";
+        sha256 = "0q9bkwgpsbfwkp1bfaxq3wm9pbwx5d7ji0jr7cwc4y5nizji81is";
       };
 
       nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index 06c5d158565..6594deb84a5 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "curaengine";
-  version = "4.3.0";
+  version = "4.4.0";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "CuraEngine";
     rev = version;
-    sha256 = "074qcaj1v2ri9wppx9lr066nlidkrsp9m1rrrk2hs2b61x0340ff";
+    sha256 = "1m89bp4g0dldh7vv1clj110m29ajiaghdq7b49mb3y8ifgrf8rdi";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index e3d9e8be0b2..60598e56539 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver-ce";
-  version = "6.2.5";
+  version = "6.3.0";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1bg5cq7ivf263mjr8g9qwdhp9x0gm04nqiya4fyw0k33yiab85zn";
+    sha256 = "07j2r2kfjhfv8zzzzp5qj3ppx4vv7llpx4lwip6bnjfkh80ny22a";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index d0429d135d7..e6cfca5667e 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchurl, python3Packages, qtbase, wrapQtAppsHook }:
+{ lib, fetchFromGitHub, python3Packages, qtbase, wrapQtAppsHook }:
 
 python3Packages.buildPythonApplication rec {
   pname = "electron-cash";
-  version = "4.0.10";
+  version = "4.0.11";
 
-  src = fetchurl {
-    url = "https://electroncash.org/downloads/${version}/win-linux/Electron-Cash-${version}.tar.gz";
-    # Verified using official SHA-1 and signature from
-    # https://github.com/fyookball/keys-n-hashes
-    sha256 = "48270e12956a2f4ef4d2b0cb60611e47f136b734a3741dab176542a32ae59ee5";
+  src = fetchFromGitHub {
+    owner = "Electron-Cash";
+    repo = "Electron-Cash";
+    rev = version;
+    sha256 = "1k4zbaj0g8bgk1l5vrb835a8bqfay2707bcb4ql2vx4igcwpb680";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index b1cd6a36e08..1a9789114dc 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.10.6";
+  version = "1.11.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0jbfp072rnb3pkqp10xds57bnlcn87vqjaz68nhpzkwvwhs3hr4w";
+    sha256 = "08py1f48ylw83712h8313rxz55igbszxcwr2yxkchpr4233avzph";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index 961efe4b057..181273752ea 100644
--- a/pkgs/applications/misc/googleearth/default.nix
+++ b/pkgs/applications/misc/googleearth/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glibc, libGLU_combined, freetype, glib, libSM, libICE, libXi, libXv
+{ stdenv, fetchurl, glibc, libGLU, libGL, freetype, glib, libSM, libICE, libXi, libXv
 , libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11
 , zlib, fontconfig, dpkg, libproxy, libxml2, gstreamer, gst_all_1, dbus }:
 
@@ -20,7 +20,7 @@ let
     libICE
     libXi
     libXv
-    libGLU_combined
+    libGLU libGL
     libXrender
     libXrandr
     libXfixes
diff --git a/pkgs/applications/misc/googler/default.nix b/pkgs/applications/misc/googler/default.nix
index 12eb8839b8a..60feecd665d 100644
--- a/pkgs/applications/misc/googler/default.nix
+++ b/pkgs/applications/misc/googler/default.nix
@@ -1,14 +1,14 @@
-{stdenv, fetchFromGitHub, python}:
+{ stdenv, fetchFromGitHub, python }:
 
 stdenv.mkDerivation rec {
-  version = "3.9";
   pname = "googler";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "jarun";
-    repo = "googler";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0zqq157i0rfrja8yqnqr9rfrp5apzc7cxb7d7ppv6abkc5bckyqc";
+    sha256 = "13jj15ph0vmbyxjslzl6z4h5b7wyllvhwgsrb6zf7qlkcmkd4vwy";
   };
 
   propagatedBuildInputs = [ python ];
@@ -16,10 +16,10 @@ stdenv.mkDerivation rec {
   makeFlags = "PREFIX=$(out)";
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/jarun/googler;
+    homepage = "https://github.com/jarun/googler";
     description = "Google Search, Google Site Search, Google News from the terminal";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ koral ];
+    maintainers = with maintainers; [ koral filalex77 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/gummi/default.nix b/pkgs/applications/misc/gummi/default.nix
index 273be11ac63..d1daec28482 100644
--- a/pkgs/applications/misc/gummi/default.nix
+++ b/pkgs/applications/misc/gummi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgs, makeWrapper
+{ stdenv, pkgs, makeWrapper, pango
 , glib, gnome2, gnome3, gtk2-x11, gtkspell2, poppler
 , pkgconfig, intltool, autoreconfHook, wrapGAppsHook
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     pkgconfig intltool autoreconfHook makeWrapper wrapGAppsHook
   ];
   buildInputs = [
-    glib gnome2.gtksourceview gnome2.pango gtk2-x11 gtkspell2 poppler
+    glib gnome2.gtksourceview pango gtk2-x11 gtkspell2 poppler
     gnome3.adwaita-icon-theme
   ];
 
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 840f4c32e52..4667427b8a0 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.58.3";
+  version = "0.60.1";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
   src = fetchFromGitHub {
-    owner  = "gohugoio";
-    repo   = pname;
-    rev    = "v${version}";
-    sha256 = "00dhb6xilkwr9yhncpyc6alzqw77ch3vd85dc7lzsmhw1c80n0lc";
+    owner = "gohugoio";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0l8n87y5zrs09s693rqvqwz0233wlr4jwib7r36ilss1qgm7x6n5";
   };
 
-  modSha256 = "0d6zc7hxb246zsvwsjz4ds6gdd2m95x6l3djh3mmciwfg9cd7prx";
+  modSha256 = "1an4plbx06fzz2iqzgs08r6vsjpkl5lbqck5jqmv6fv7b7psf7iw";
 
   buildFlags = "-tags extended";
 
@@ -21,8 +21,8 @@ buildGoModule rec {
 
   meta = with stdenv.lib; {
     description = "A fast and modern static website engine.";
-    homepage = https://gohugo.io;
+    homepage = "https://gohugo.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ schneefux ];
+    maintainers = with maintainers; [ schneefux filalex77 ];
   };
 }
diff --git a/pkgs/applications/misc/icesl/default.nix b/pkgs/applications/misc/icesl/default.nix
index c197e1a8fd3..3ee4fd8259a 100644
--- a/pkgs/applications/misc/icesl/default.nix
+++ b/pkgs/applications/misc/icesl/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU_combined, libSM, libXext, dialog, makeWrapper }:
+{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU, libGL, libSM, libXext, dialog, makeWrapper }:
 let
-  lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU_combined libSM libXext ];
+  lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU libGL libSM libXext ];
 in
 stdenv.mkDerivation rec {
   pname = "iceSL";
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 857cc6c7456..a3cbdabeacf 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "josm";
-  version = "15390";
+  version = "15492";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "1wxncd3mjd4j14svgpmvrxc0nkzfkpn0xlci7m7wp9hfp1l81v9f";
+    sha256 = "0x7ndcrlvrvk2fd4pyn10npr3778khcwg6xzzh19vdw4glh5zfcl";
   };
 
   buildInputs = [ jdk11 makeWrapper ];
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index a2eba8e08c2..aedfff40d70 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -3,7 +3,7 @@
 , enableGSL ? true, gsl
 , enableGhostScript ? true, ghostscript
 , enableMuPDF ? true, mupdf
-, enableJPEG2K ? true, jasper
+, enableJPEG2K ? false, jasper ? null  # disabled by default, jasper has unfixed CVE
 , enableDJVU ? true, djvulibre
 , enableGOCR ? false, gocr # Disabled by default due to crashes
 , enableTesseract ? true, leptonica, tesseract4
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index 0bdf8e49d96..d3cef00bbe8 100644
--- a/pkgs/applications/misc/kanboard/default.nix
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kanboard";
-  version = "1.2.11";
+  version = "1.2.12";
 
   src = fetchFromGitHub {
     owner = "kanboard";
     repo = "kanboard";
     rev = "v${version}";
-    sha256 = "0if5nh4m4y3xlvlv86jph7ix5nvpgc1zjkp4cq5iig6z0041bw98";
+    sha256 = "1m1drgbyk1m6mf69xqlz9gqcj650n9m4y2fdj7d2yv20q8r31489";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 6701c910a1f..06fc04ba8fb 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -34,13 +34,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "053z6mzcn22w3vkf09i7kdi5p0c6zcd9g62v3p5i3yhd14cgviqr";
+    sha256 = "0dkya9smx81c5cgcwk2gi2m1pabfff1v9gd3ngl42sdvyb63wgdq";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index e87d09b50cc..dbb4f5138c3 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -21,14 +21,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.14.6";
+  version = "0.15.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "1rb5ys9xsdhd2qa3kz5gqzz111c6b14za98va6hlglk69wqlmb51";
+    sha256 = "1gh8lcyqpkwvmjxwiq5d43sd43bg3c49fyy2x8drqdzj34gc49qg";
   };
 
   buildInputs = [
@@ -64,9 +64,13 @@ buildPythonApplication rec {
   outputs = [ "out" "terminfo" ];
 
   patches = [
+    ./fix-paths.patch
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
     (substituteAll {
-      src = ./fix-paths.patch;
+      src = ./library-paths.patch;
       libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so";
+      libcanberra = "${libcanberra}/lib/libcanberra.so";
+      libEGL = "${stdenv.lib.getLib libGL}/lib/libEGL.so.1";
     })
   ] ++ stdenv.lib.optionals stdenv.isDarwin [
     ./no-lto.patch
@@ -74,10 +78,6 @@ buildPythonApplication rec {
     ./png2icns.patch
   ];
 
-  preConfigure  = stdenv.lib.optional (!stdenv.isDarwin) ''
-    substituteInPlace glfw/egl_context.c --replace "libEGL.so.1" "${stdenv.lib.getLib libGL}/lib/libEGL.so.1"
-  '';
-
   buildPhase = if stdenv.isDarwin then ''
     ${python.interpreter} setup.py kitty.app --update-check-interval=0
   '' else ''
diff --git a/pkgs/applications/misc/kitty/fix-paths.patch b/pkgs/applications/misc/kitty/fix-paths.patch
index 70460581307..380f6d74914 100644
--- a/pkgs/applications/misc/kitty/fix-paths.patch
+++ b/pkgs/applications/misc/kitty/fix-paths.patch
@@ -1,14 +1,3 @@
---- a/kitty/desktop.c
-+++ b/kitty/desktop.c
-@@ -30,7 +30,7 @@
- static PyObject*
- init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
-     static bool done = false;
--    static const char* libname = "libstartup-notification-1.so";
-+    static const char* libname = "@libstartup_notification@";
-     // some installs are missing the .so symlink, so try the full name
-     static const char* libname2 = "libstartup-notification-1.so.0";
-
 --- a/docs/Makefile
 +++ b/docs/Makefile
 @@ -3,7 +3,7 @@
diff --git a/pkgs/applications/misc/kitty/library-paths.patch b/pkgs/applications/misc/kitty/library-paths.patch
new file mode 100644
index 00000000000..5f8daacc3c2
--- /dev/null
+++ b/pkgs/applications/misc/kitty/library-paths.patch
@@ -0,0 +1,32 @@
+--- a/glfw/egl_context.c
++++ b/glfw/egl_context.c
+@@ -314,7 +314,7 @@ bool _glfwInitEGL(void)
+ #elif defined(__CYGWIN__)
+         "libEGL-1.so",
+ #else
+-        "libEGL.so.1",
++        "@libEGL@",
+ #endif
+         NULL
+     };
+
+--- a/kitty/desktop.c
++++ b/kitty/desktop.c
+@@ -30,7 +30,7 @@
+ static PyObject*
+ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
+     static bool done = false;
+-    static const char* libname = "libstartup-notification-1.so";
++    static const char* libname = "@libstartup_notification@";
+     // some installs are missing the .so symlink, so try the full name
+     static const char* libname2 = "libstartup-notification-1.so.0";
+     static const char* libname3 = "libstartup-notification-1.so.0.0.0";
+@@ -105,7 +105,7 @@ load_libcanberra_functions(void) {
+ 
+ static void
+ load_libcanberra(void) {
+-    static const char* libname = "libcanberra.so";
++    static const char* libname = "@libcanberra@";
+     // some installs are missing the .so symlink, so try the full name
+     static const char* libname2 = "libcanberra.so.0";
+     static const char* libname3 = "libcanberra.so.0.2.5";
diff --git a/pkgs/applications/misc/kitty/no-werror.patch b/pkgs/applications/misc/kitty/no-werror.patch
index 8217b5ef51a..92a65258855 100644
--- a/pkgs/applications/misc/kitty/no-werror.patch
+++ b/pkgs/applications/misc/kitty/no-werror.patch
@@ -1,11 +1,11 @@
 --- a/setup.py
 +++ b/setup.py
-@@ -212,7 +212,7 @@
+@@ -217,7 +217,7 @@ def init_env(
      cflags = os.environ.get(
          'OVERRIDE_CFLAGS', (
-             '-Wextra -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std=c11'
+             '-Wextra {} -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std={}11'
 -            ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
 +            ' {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
          ).format(
+             float_conversion, std,
              optimize,
-             ' '.join(sanitize_args),
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index 2c2acb6a743..25f9b10b1e8 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11,
-libGLU_combined, freetype, xclip, inotify-tools, procps }:
+libGLU, libGL, freetype, xclip, inotify-tools, procps }:
 
 assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   });
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml mupdf libX11 libGLU_combined freetype ];
+  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ];
 
   dontStrip = true;
 
diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix
index 3023a5b5930..e643c212225 100644
--- a/pkgs/applications/misc/merkaartor/default.nix
+++ b/pkgs/applications/misc/merkaartor/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchFromGitHub, makeWrapper, qmake, pkgconfig, boost, gdal, proj
-, qtbase, qtsvg, qtwebkit }:
+, qtbase, qtsvg, qtwebview, qtwebkit }:
 
 stdenv.mkDerivation rec {
   pname = "merkaartor";
-  version = "0.18.3";
+  version = "unstable-2019-11-12";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = "merkaartor";
-    rev = version;
-    sha256 = "0ls3q8m1hxiwyrypy6qca8wczhl4969ncl0sszfdwfv70rzxjk88";
+    rev = "29b3388680a03f1daac0037a2b504ea710da879a";
+    sha256 = "0h3d3srzl06p2ajq911j05zr4vkl88qij18plydx45yqmvyvh0xz";
   };
 
   nativeBuildInputs = [ makeWrapper qmake pkgconfig ];
 
-  buildInputs = [ boost gdal proj qtbase qtsvg qtwebkit ];
+  buildInputs = [ boost gdal proj qtbase qtsvg qtwebview qtwebkit ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/misc/minder/default.nix b/pkgs/applications/misc/minder/default.nix
index 4b92a43451a..5c31cdf6e72 100644
--- a/pkgs/applications/misc/minder/default.nix
+++ b/pkgs/applications/misc/minder/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "0lhmv3z2jifv4cksxa27jigdfj9n81myjsxg38xp28fx5x3h8bzc";
+    sha256 = "1z3if8bbiigb3m5py641y0j8d9z0s6kbb325waxbqs240pcxipml";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];
diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix
index 303b9fe5e8b..0c8ad9ae1b3 100644
--- a/pkgs/applications/misc/mlterm/default.nix
+++ b/pkgs/applications/misc/mlterm/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mlterm";
-  version = "3.8.8";
+  version = "3.8.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/mlterm/01release/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "1jq3fv2wqhszfipkzj8d0lykr6g0zzksn7xy4d3kwincmzfskv7k";
+    sha256 = "1iy7wq953gcnygr1d04h5ddvhpmy8l575n5is2w0rj3ck31ihpqd";
   };
 
   nativeBuildInputs = [ pkgconfig autoconf ];
@@ -86,8 +86,9 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    description = "Multi Lingual TERMinal emulator on X11";
     homepage = http://mlterm.sourceforge.net/;
-    license = licenses.bsd2;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ vrthra ramkromberg ];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix
index 4d95f0b5238..29e768c257f 100644
--- a/pkgs/applications/misc/navit/default.nix
+++ b/pkgs/applications/misc/navit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, gtk2, fontconfig, freetype, imlib2
-, SDL_image, libGLU_combined, libXmu, freeglut, pcre, dbus, dbus-glib, glib
+, SDL_image, libGLU, libGL, libXmu, freeglut, pcre, dbus, dbus-glib, glib
 , librsvg, freeimage, libxslt, cairo, gdk-pixbuf, pango
 , atk, patchelf, fetchurl, bzip2, python, gettext, quesoglc
 , gd, cmake, shapelib, SDL_ttf, fribidi, makeWrapper
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk2 fontconfig freetype imlib2 libGLU_combined freeimage
+    gtk2 fontconfig freetype imlib2 libGLU libGL freeimage
     libxslt libXmu freeglut python gettext quesoglc gd
     fribidi pcre  dbus dbus-glib librsvg shapelib glib
     cairo gdk-pixbuf pango atk
diff --git a/pkgs/applications/misc/nnn/default.nix b/pkgs/applications/misc/nnn/default.nix
index 38d69406da4..e7c32c13095 100644
--- a/pkgs/applications/misc/nnn/default.nix
+++ b/pkgs/applications/misc/nnn/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "nnn";
-  version = "2.7";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19kiikjblkq3bx2j6h3f2d467p2v582albqr7nbrm9c1yg4qx38z";
+    sha256 = "0h7j0wcpwwd2fibggr1nwkqpvhv2i1qnk54c4x6hixx31yidy2l0";
   };
 
   configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index 79e3317e64d..1e578cde512 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -7,7 +7,7 @@
 , bash
 , glib
 , glibcLocales
-, gnome3
+, dconf
 , gobject-introspection
 , gsettings-desktop-schemas
 , gtk3
@@ -66,7 +66,7 @@ python3.pkgs.buildPythonApplication rec {
   buildInputs = [
     bash
     glib
-    gnome3.dconf
+    dconf
     gsettings-desktop-schemas
     gtk3
     hunspell
@@ -89,7 +89,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   propagatedUserEnvPkgs = [
-    gnome3.dconf
+    dconf
   ];
 
   checkInputs = [
diff --git a/pkgs/applications/misc/openbrf/default.nix b/pkgs/applications/misc/openbrf/default.nix
index b8b6e42d5cf..e943263600c 100644
--- a/pkgs/applications/misc/openbrf/default.nix
+++ b/pkgs/applications/misc/openbrf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmake, libGLU_combined }:
+{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmake, libGLU, libGL }:
 
 
 stdenv.mkDerivation {
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     install -Dm644 reference.brf $out/share/openBrf/reference.brf
 
     patchelf  \
-      --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU_combined ]}" \
+      --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU libGL ]}" \
       $out/share/openBrf/openBrf
 
     mkdir -p "$out/bin"
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
index 9240b5d8910..375552aaa33 100644
--- a/pkgs/applications/misc/opencpn/default.nix
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencpn-unstable";
-  version = "2019-05-15";
+  version = "2019-11-21";
 
   src = fetchFromGitHub {
     owner = "OpenCPN";
     repo = "OpenCPN";
-    rev = "83a3c4b5ff011d4eb070f009e0a46d194b177047";
-    sha256 = "00s1mxnkf1gg41hrz0zp8ypkp98py0m1c22im2zd09k6lcddxw5p";
+    rev = "e73dc935545b2bbcf193cc61d987a0178c52d7a7";
+    sha256 = "0yiqahkzwcbzgabc5xgxmwlngapkfiaqyva3mwz29xj0c5lg2bdk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix
index 19657da607f..82144e9689f 100644
--- a/pkgs/applications/misc/osmium-tool/default.nix
+++ b/pkgs/applications/misc/osmium-tool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osmium-tool";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "osmium-tool";
     rev = "v${version}";
-    sha256 = "164r1w539dzy67ir2rqh21kwdvkjv87isd18gp51qyxbsprz6kq5";
+    sha256 = "199dvajik5d56nybk2061vdjyxwakngfd7frxj99wr2vsrp4aw2b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix
index dfc92e38f63..0ae9e7379e7 100644
--- a/pkgs/applications/misc/plank/default.nix
+++ b/pkgs/applications/misc/plank/default.nix
@@ -3,6 +3,7 @@
 , vala
 , atk
 , cairo
+, dconf
 , glib
 , gnome3
 , gtk3
@@ -51,7 +52,7 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     glib
     gnome-menus
-    gnome3.dconf
+    dconf
     gtk3
     libX11
     libXfixes
diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix
index f3cd6fdb0f6..154b974e644 100644
--- a/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/pkgs/applications/misc/prusa-slicer/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, cmake, pkgconfig
-, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK30
+, boost, cereal, curl, eigen, expat, glew, libpng, tbb, wxGTK31
 , gtest, nlopt, xorg, makeDesktopItem
 }:
 let
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     glew
     libpng
     tbb
-    wxGTK30
+    wxGTK31
     xorg.libX11
   ] ++ checkInputs;
 
@@ -65,7 +65,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DSLIC3R_FHS=1"
-    "-DSLIC3R_WX_STABLE=1"  # necessary when compiling against wxGTK 3.0
   ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix
index 1256bb96608..f185524da58 100644
--- a/pkgs/applications/misc/qtpass/default.nix
+++ b/pkgs/applications/misc/qtpass/default.nix
@@ -1,5 +1,5 @@
 { lib, mkDerivation, fetchFromGitHub
-, git, gnupg, pass, pwgen
+, git, gnupg, pass, pwgen, qrencode
 , qtbase, qtsvg, qttools, qmake
 }:
 
@@ -14,6 +14,11 @@ mkDerivation rec {
     sha256 = "0748hjvhjrybi33ci3c8hcr74k9pdrf5jv8npf9hrsrmdyy1kr9x";
   };
 
+  postPatch = ''
+    substituteInPlace src/qtpass.cpp \
+      --replace "/usr/bin/qrencode" "${qrencode}/bin/qrencode"
+  '';
+
   buildInputs = [ git gnupg pass qtbase qtsvg ];
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix
index be8e2105401..1829407705b 100644
--- a/pkgs/applications/misc/simplenote/default.nix
+++ b/pkgs/applications/misc/simplenote/default.nix
@@ -1,23 +1,37 @@
-{ atomEnv, autoPatchelfHook, dpkg, fetchurl, makeDesktopItem, makeWrapper
-, stdenv, udev, wrapGAppsHook }:
+{ atomEnv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, stdenv
+, udev
+, wrapGAppsHook
+}:
 
 let
   inherit (stdenv.hostPlatform) system;
 
+  throwSystem = throw "Unsupported system: ${system}";
+
   pname = "simplenote";
 
-  version = "1.9.1";
+  version = "1.11.0";
 
   sha256 = {
-    x86_64-linux = "1zqrjh1xfdpkpj1fsri9r4qkazh9j89pbj8vjr474b39v56v693j";
-  }.${system};
+    x86_64-linux = "1ljam1yfiy1lh6lrknrq7cdqpj1q7f655mxjiiwv3izp98qr1f8s";
+  }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
     description = "The simplest way to keep notes";
     homepage = "https://github.com/Automattic/simplenote-electron";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ kiwi ];
-    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [
+      kiwi
+    ];
+    platforms = [
+      "x86_64-linux"
+    ];
   };
 
   linux = stdenv.mkDerivation rec {
@@ -31,14 +45,14 @@ let
     };
 
     desktopItem = makeDesktopItem {
-      name = "simplenote";
+      categories = "Development";
       comment = "Simplenote for Linux";
+      desktopName = "Simplenote";
       exec = "simplenote %U";
       icon = "simplenote";
-      type = "Application";
+      name = "simplenote";
       startupNotify = "true";
-      desktopName = "Simplenote";
-      categories = "Development";
+      type = "Application";
     };
 
     dontBuild = true;
@@ -46,9 +60,14 @@ let
     dontPatchELF = true;
     dontWrapGApps = true;
 
-    buildInputs = atomEnv.packages;
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+      makeWrapper
+      wrapGAppsHook
+    ];
 
-    nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ];
+    buildInputs = atomEnv.packages;
 
     unpackPhase = "dpkg-deb -x $src .";
 
@@ -62,14 +81,15 @@ let
       cp "${desktopItem}/share/applications/"* "$out/share/applications"
     '';
 
-    runtimeDependencies = [ udev.lib ];
+    runtimeDependencies = [
+      udev.lib
+    ];
 
     postFixup = ''
-      ls -ahl $out
       makeWrapper $out/opt/Simplenote/simplenote $out/bin/simplenote \
-      "''${gappsWrapperArgs[@]}"
+        "''${gappsWrapperArgs[@]}"
     '';
   };
 
 in
-  linux
+linux
diff --git a/pkgs/applications/misc/slic3r/boost-compile-error.patch b/pkgs/applications/misc/slic3r/boost-compile-error.patch
new file mode 100644
index 00000000000..4dbdb85f743
--- /dev/null
+++ b/pkgs/applications/misc/slic3r/boost-compile-error.patch
@@ -0,0 +1,12 @@
+diff --git a/xs/src/libslic3r/GCodeSender.hpp b/xs/src/libslic3r/GCodeSender.hpp
+index cc0b2983..0f39f5a3 100644
+--- a/xs/src/libslic3r/GCodeSender.hpp
++++ b/xs/src/libslic3r/GCodeSender.hpp
+@@ -9,6 +9,7 @@
+ #include <boost/asio.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/thread.hpp>
++#include <boost/core/noncopyable.hpp>
+ 
+ namespace Slic3r {
+ 
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index cf9e93b87b3..8dbd0cd5776 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchgit, perl, makeWrapper, makeDesktopItem
-, which, perlPackages, boost
+{ lib, stdenv, fetchgit, perl, makeWrapper
+, makeDesktopItem, which, perlPackages, boost
 }:
 
 stdenv.mkDerivation rec {
@@ -40,6 +40,11 @@ stdenv.mkDerivation rec {
     sed -i 's|"/usr/include/asm-generic/ioctls.h"|<asm-generic/ioctls.h>|g' xs/src/libslic3r/GCodeSender.cpp
   '';
 
+  # note the boost-compile-error is fixed in
+  # https://github.com/slic3r/Slic3r/commit/90f108ae8e7a4315f82e317f2141733418d86a68
+  # this patch can be probably be removed in the next version after 1.3.0
+  patches = lib.optional (lib.versionAtLeast boost.version "1.56.0") ./boost-compile-error.patch;
+
   buildPhase = ''
     export SLIC3R_NO_AUTO=true
     export LD=$CXX
diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix
index 213f308646a..75f3be85dad 100644
--- a/pkgs/applications/misc/stretchly/default.nix
+++ b/pkgs/applications/misc/stretchly/default.nix
@@ -1,8 +1,12 @@
 { GConf
 , alsaLib
 , at-spi2-atk
+, at-spi2-core
 , atk
+, buildFHSUserEnv
 , cairo
+, common-updater-scripts
+, coreutils
 , cups
 , dbus
 , expat
@@ -29,15 +33,19 @@
 , libnotify
 , libpciaccess
 , libpng12
+, libuuid
 , libxcb
 , nspr
 , nss
 , pango
 , pciutils
 , pulseaudio
+, runtimeShell
 , stdenv
 , udev
 , wrapGAppsHook
+, writeScript
+, file
 }:
 
 let
@@ -45,6 +53,7 @@ let
     GConf
     alsaLib
     at-spi2-atk
+    at-spi2-core
     atk
     cairo
     cups
@@ -71,6 +80,7 @@ let
     libnotify
     libpciaccess
     libpng12
+    libuuid
     libxcb
     nspr
     nss
@@ -82,58 +92,96 @@ let
   ];
 
   libPath = lib.makeLibraryPath libs;
+
+  stretchly =
+    stdenv.mkDerivation rec {
+      pname = "stretchly";
+      version = "0.21.0";
+
+      src = fetchurl {
+        url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
+        sha256 = "1gyyr22xq8s4miiacs8wqhp7lxnwvkvlwhngnq8671l62s6iyjzl";
+      };
+
+      nativeBuildInputs = [
+        wrapGAppsHook
+        coreutils
+      ];
+
+      buildInputs = libs;
+
+      dontPatchELF = true;
+      dontBuild = true;
+      dontConfigure = true;
+
+      installPhase = ''
+        mkdir -p $out/bin $out/lib/stretchly
+        cp -r ./* $out/lib/stretchly/
+        ln -s $out/lib/stretchly/stretchly $out/bin/
+      '';
+
+      preFixup = ''
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libEGL.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/libGLESv2.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libEGL.so
+        patchelf --set-rpath "${libPath}" $out/lib/stretchly/swiftshader/libGLESv2.so
+
+        patchelf \
+          --set-rpath "$out/lib/stretchly:${libPath}" \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          $out/lib/stretchly/stretchly
+
+        patchelf \
+          --set-rpath "$out/lib/stretchly:${libPath}" \
+          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+          $out/lib/stretchly/chrome-sandbox
+      '';
+
+      meta = with stdenv.lib; {
+        description = "A break time reminder app";
+        longDescription = ''
+          stretchly is a cross-platform electron app that reminds you to take
+          breaks when working on your computer. By default, it runs in your tray
+          and displays a reminder window containing an idea for a microbreak for 20
+          seconds every 10 minutes. Every 30 minutes, it displays a window
+          containing an idea for a longer 5 minute break.
+        '';
+        homepage = https://hovancik.net/stretchly;
+        downloadPage = https://hovancik.net/stretchly/downloads/;
+        license = licenses.bsd2;
+        maintainers = with maintainers; [ cdepillabout ];
+        platforms = platforms.linux;
+      };
+    };
+
 in
 
-stdenv.mkDerivation rec {
-  pname = "stretchly";
-  version = "0.19.1";
+buildFHSUserEnv {
+  inherit (stretchly) meta;
 
-  src = fetchurl {
-    url = "https://github.com/hovancik/stretchly/releases/download/v${version}/stretchly-${version}.tar.xz";
-    sha256 = "1q2wxfqs8qv9b1rfh5lhmyp3rrgdl05m6ihsgkxlgp0yzi07afz8";
-  };
+  name = "stretchly";
 
-  nativeBuildInputs = [
-    wrapGAppsHook
+  targetPkgs = pkgs: [
+     stretchly
   ];
 
-  buildInputs = libs;
-
-  dontPatchELF = true;
-  dontBuild = true;
-  dontConfigure = true;
-
-  installPhase = ''
-    mkdir -p $out/bin $out/lib/stretchly
-    cp -r ./* $out/lib/stretchly/
-    ln -s $out/lib/stretchly/libffmpeg.so $out/lib/
-    ln -s $out/lib/stretchly/libnode.so $out/lib/
-    ln -s $out/lib/stretchly/stretchly $out/bin/
-  '';
-
-  preFixup = ''
-    patchelf --set-rpath "${libPath}" $out/lib/stretchly/libffmpeg.so
-    patchelf --set-rpath "${libPath}" $out/lib/stretchly/libnode.so
-
-    patchelf \
-      --set-rpath "$out/lib/stretchly:${libPath}" \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      $out/lib/stretchly/stretchly
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A break time reminder app";
-    longDescription = ''
-      stretchly is a cross-platform electron app that reminds you to take
-      breaks when working on your computer. By default, it runs in your tray
-      and displays a reminder window containing an idea for a microbreak for 20
-      seconds every 10 minutes. Every 30 minutes, it displays a window
-      containing an idea for a longer 5 minute break.
+  runScript = "stretchly";
+
+  passthru = {
+    updateScript = writeScript "update-stretchly" ''
+      #!${runtimeShell}
+
+      set -eu -o pipefail
+
+      # get the latest release version
+      latest_version=$(curl -s https://api.github.com/repos/hovancik/stretchly/releases/latest | jq --raw-output .tag_name | sed -e 's/^v//')
+
+      echo "updating to $latest_version..."
+
+      ${common-updater-scripts}/bin/update-source-version stretchly.passthru.stretchlyWrapped "$latest_version"
     '';
-    homepage = https://hovancik.net/stretchly;
-    downloadPage = https://hovancik.net/stretchly/downloads/;
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ cdepillabout ];
-    platforms = platforms.linux;
+
+    stretchlyWrapped = stretchly;
   };
 }
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 816ae664f8e..857dcfaf69f 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  version = "0.10.2";
+  version = "0.10.3";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "09iq1rr70wwy5xk0jmfnwzvnigq409hvs2viy1j0khn9jhvnk6z0";
+    sha256 = "12s1v65h4z051k4gi1b5f3z4hpbgqnhkjnz2xv5bdwhs24zxrrif";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
diff --git a/pkgs/applications/misc/taizen/default.nix b/pkgs/applications/misc/taizen/default.nix
new file mode 100644
index 00000000000..ee516ac97aa
--- /dev/null
+++ b/pkgs/applications/misc/taizen/default.nix
@@ -0,0 +1,25 @@
+{ rustPlatform, lib, fetchFromGitHub, ncurses, openssl, pkgconfig }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "taizen";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "NerdyPepper";
+    repo = pname;
+    rev = "5c1876429e2da7424e9d31b1e16f5a3147cc58d0";
+    sha256 = "09izgx7icvizskdy9kplk0am61p7550fsd0v42zcihq2vap2j92z";
+  };
+
+  buildInputs = [ ncurses openssl ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  cargoSha256 = "0h8ybhb17pqhhfjcmq1l70kp8g1yyq38228lcf86byk3r2ar2rkg";
+
+  meta = with lib; {
+    homepage = https://crates.io/crates/taizen;
+    license = licenses.mit;
+    description = "curses based mediawiki browser";
+    maintainers = with maintainers; [ ma27 ];
+  };
+}
diff --git a/pkgs/applications/misc/taskell/default.nix b/pkgs/applications/misc/taskell/default.nix
index 702c3124d8a..488e49c2181 100644
--- a/pkgs/applications/misc/taskell/default.nix
+++ b/pkgs/applications/misc/taskell/default.nix
@@ -1,8 +1,8 @@
 { lib, haskellPackages, fetchFromGitHub }:
 
 let
-  version = "1.6.1";
-  sha256  = "047gvpq52pif9sfb4qcfdiwz50x3wlnjvsnnjzypm1qlwyl2rbz1";
+  version = "1.7.3";
+  sha256  = "1439fh79ilc6jvz894cfzhk7gy5r2sv4v79bvqmmqbzbqk9qsbvx";
 
 in (haskellPackages.mkDerivation {
   pname = "taskell";
diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix
index 922b3fd2028..2fa193fc8e7 100644
--- a/pkgs/applications/misc/tilix/default.nix
+++ b/pkgs/applications/misc/tilix/default.nix
@@ -6,7 +6,7 @@
 , python3
 , pkgconfig
 , dmd
-, gnome3
+, dconf
 , dbus
 , gsettings-desktop-schemas
 , desktop-file-utils
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
   buildInputs = [
     dbus
     gettext
-    gnome3.dconf
+    dconf
     gsettings-desktop-schemas
     gtkd
     libsecret
diff --git a/pkgs/applications/misc/vifm/default.nix b/pkgs/applications/misc/vifm/default.nix
index 81563254abd..f71e7a7a960 100644
--- a/pkgs/applications/misc/vifm/default.nix
+++ b/pkgs/applications/misc/vifm/default.nix
@@ -1,11 +1,15 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, makeWrapper
 , pkgconfig
 , ncurses, libX11
 , utillinux, file, which, groff
+
+  # adds support for handling removable media (vifm-media). Linux only!
+, mediaSupport ? false, python3 ? null, udisks2 ? null, lib ? null 
 }:
 
-stdenv.mkDerivation rec {
-  pname = "vifm";
+let isFullPackage = mediaSupport;
+in stdenv.mkDerivation rec {
+  pname = if isFullPackage then "vifm-full" else "vifm";
   version = "0.10.1";
 
   src = fetchurl {
@@ -13,13 +17,24 @@ stdenv.mkDerivation rec {
     sha256 = "0fyhxh7ndjn8fyjhj14ymkr3pjcs3k1xbs43g7xvvq85vdb6y04r";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
   buildInputs = [ ncurses libX11 utillinux file which groff ];
 
+  postFixup = let
+    path = lib.makeBinPath 
+      [ udisks2 
+        (python3.withPackages (p: [p.dbus-python]))
+      ];
+
+    wrapVifmMedia = "wrapProgram $out/share/vifm/vifm-media --prefix PATH : ${path}";
+  in ''
+    ${if mediaSupport then wrapVifmMedia else ""}
+  '';
+
   meta = with stdenv.lib; {
-    description = "A vi-like file manager";
+    description = ''A vi-like file manager${if isFullPackage then "; Includes support for optional features" else ""}'';
     maintainers = with maintainers; [ raskin ];
-    platforms = platforms.unix;
+    platforms = if mediaSupport then platforms.linux else platforms.unix;
     license = licenses.gpl2;
     downloadPage = "https://vifm.info/downloads.shtml";
     homepage = https://vifm.info/;
diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix
index 9ad010deb16..4fc06b5c1ad 100644
--- a/pkgs/applications/misc/workrave/default.nix
+++ b/pkgs/applications/misc/workrave/default.nix
@@ -9,8 +9,7 @@ stdenv.mkDerivation rec {
   pname = "workrave";
   version = "1.10.31";
 
-  src = let
-  in fetchFromGitHub {
+  src = fetchFromGitHub {
     sha256 = "0v2mx2idaxlsyv5w66b7pknlill9j9i2gqcs3vq54gak7ix9fj1p";
     rev = with stdenv.lib;
       "v" + concatStringsSep "_" (splitVersion version);
diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix
index 6a5e62f54e1..fb1b59ed01f 100644
--- a/pkgs/applications/misc/xchm/default.nix
+++ b/pkgs/applications/misc/xchm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xchm";
-  version = "1.30";
+  version = "1.31";
 
   src = fetchFromGitHub {
     owner = "rzvncj";
     repo = "xCHM";
     rev = version;
-    sha256 = "1sjvh06m8jbb28k6y3knas3nkh1dfvff4mlwjs33x12ilhddhr8v";
+    sha256 = "1mzafbpc1c211byf8bnwl13by7vi8xvxlaykyrajb1bj0ynbmmgp";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/misc/xdgmenumaker/default.nix b/pkgs/applications/misc/xdgmenumaker/default.nix
index b7f8cfce2fb..56168b34859 100644
--- a/pkgs/applications/misc/xdgmenumaker/default.nix
+++ b/pkgs/applications/misc/xdgmenumaker/default.nix
@@ -1,33 +1,43 @@
-{ stdenv, fetchFromGitHub, txt2tags, python2Packages }:
+{ stdenv, fetchFromGitHub, txt2tags, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
 
-stdenv.mkDerivation rec {
+python3Packages.buildPythonApplication rec {
   pname = "xdgmenumaker";
   version = "1.5";
 
   src = fetchFromGitHub {
     owner = "gapan";
-    repo = "xdgmenumaker";
+    repo = pname;
     rev = version;
     sha256 = "1vrsp5c1ah7p4dpwd6aqvinpwzd8crdimvyyr3lbm3c6cwpyjmif";
   };
 
+  format = "other";
+
+  strictDeps = false;
+
   nativeBuildInputs = [
+    gobject-introspection
     txt2tags
-    python2Packages.wrapPython
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+  ];
+
+  pythonPath = with python3Packages; [
+    pyxdg
+    pygobject3
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
   ];
 
-  pythonPath = [
-    python2Packages.pyxdg
-    python2Packages.pygtk
+  installFlags = [
+    "DESTDIR="
   ];
 
-  installPhase = ''
-    make install PREFIX=$out DESTDIR=
-    wrapProgram "$out/bin/xdgmenumaker" \
-      --prefix XDG_DATA_DIRS : "$out/share"
-    wrapPythonPrograms
-  '';
-  
   meta = with stdenv.lib; {
     description = "Command line tool that generates XDG menus for several window managers";
     homepage = https://github.com/gapan/xdgmenumaker;
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index 265c4c173fc..441cab3dd7b 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "5.0.0";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "17bgz1rpix1zgzzn4zz84jp7hl6b2k968h918y3av5asxn0mji49";
+    sha256 = "1lkw7xrj20ppfmv7abki9i60yjks9i7nr8ni9p6n7rilfbp4603k";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix
index 54fdbdb7cc1..fc3070d1dcb 100644
--- a/pkgs/applications/misc/xmrig/proxy.nix
+++ b/pkgs/applications/misc/xmrig/proxy.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig-proxy";
-  version = "5.0.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig-proxy";
     rev = "v${version}";
-    sha256 = "0h0yxzpar952ix94j10qyf31c20g45w0nxr02vfybjip48dvlf76";
+    sha256 = "0lp11p4lf03l9x2kcpq1j19z7c1zrdvjmcfh2xyvlbw8pqx0hxkv";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index aff4d54c620..d49e2d73122 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -13,7 +13,7 @@
 , bison, gperf
 , glib, gtk3, dbus-glib
 , glibc
-, libXScrnSaver, libXcursor, libXtst, libGLU_combined, libGL
+, libXScrnSaver, libXcursor, libXtst, libGLU, libGL
 , protobuf, speechd, libXdamage, cups
 , ffmpeg, libxslt, libxml2, at-spi2-core
 , jdk
@@ -123,7 +123,7 @@ let
       utillinux alsaLib
       bison gperf kerberos
       glib gtk3 dbus-glib
-      libXScrnSaver libXcursor libXtst libGLU_combined
+      libXScrnSaver libXcursor libXtst libGLU libGL
       pciutils protobuf speechd libXdamage at-spi2-core
       jdk.jre
     ] ++ optional gnomeKeyringSupport libgnome-keyring3
@@ -152,11 +152,7 @@ let
     ] ++ optionals (useVaapi) [
       # source: https://aur.archlinux.org/cgit/aur.git/tree/vaapi-fix.patch?h=chromium-vaapi
       ./patches/vaapi-fix.patch
-    ] ++ optional stdenv.isAarch64 (fetchpatch {
-      url       = https://raw.githubusercontent.com/OSSystems/meta-browser/e4a667deaaf9a26a3a1aeb355770d1f29da549ad/recipes-browser/chromium/files/aarch64-skia-build-fix.patch;
-      postFetch = "substituteInPlace $out --replace __aarch64__ SK_CPU_ARM64";
-      sha256    = "018fbdzyw9rvia8m0qkk5gv8q8gl7x34rrjbn7mi1fgxdsayn22s";
-    });
+    ];
 
     postPatch = ''
       # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 8329bf3ef55..369367bae42 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,4 +1,4 @@
-{ newScope, config, stdenv, llvmPackages, gcc8Stdenv, llvmPackages_8
+{ newScope, config, stdenv, llvmPackages_8
 , makeWrapper, ed
 , glib, gtk3, gnome3, gsettings-desktop-schemas
 , libva ? null
@@ -20,11 +20,8 @@
 }:
 
 let
-  stdenv_ = if stdenv.isAarch64 then gcc8Stdenv else llvmPackages_8.stdenv;
-  llvmPackages_ = if stdenv.isAarch64 then llvmPackages else llvmPackages_8;
-in let
-  stdenv = stdenv_;
-  llvmPackages = llvmPackages_;
+  stdenv = llvmPackages_8.stdenv;
+  llvmPackages = llvmPackages_8;
 
   callPackage = newScope chromium;
 
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index d70490f8218..426bba57fb2 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "71.0b6";
+  version = "72.0b1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ach/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ach/firefox-72.0b1.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "0f2aab504455ab3e18b220d3a284d955b0342ef864990d8b100e98fde00cbb9d660ecd9af1a9601d4b93bfd425599a5e111a2566d057932e9b40627b34318857";
+      sha512 = "55cc69b488b159bb93bf73c2033642f686aeee84ea1a1a1b194af9108db47f948c602c59392e12a30a8e12604671f8535dcb95e1eb3e5fe91805a36965860f82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/af/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/af/firefox-72.0b1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "64ed124236183b2fbf9c31b5130de0caae8d314afbc09fdeab2b3a23217b2af4aaa6c8fdd46aab27402d4079639080af1e8ee68ad3b074f20748e213e6a9f92b";
+      sha512 = "3f4ca618254b23b62500dc6c4a6f516def11e9916bcd5319e94608ad439b3760eb0c29d1375c7376e6d2c9fd049f06466b5ff13763a96abe146936ddc660f2dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/an/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/an/firefox-72.0b1.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "ab46ba25db59894be85e8a78074a811d12cc9e233554f79b028bc0ad6cadc452a8b37fbd59c9a15b81b1a0a499050e37b5f75a154c056324f1207c2c1ac1d75a";
+      sha512 = "ccfb24fda35b1feab11ad9956abcb6ec4aeddecf09e909429b1d4cc58a2586094770ddef83f8a7b69910525fd37e4cd22d9a75701746a409dd1c8a6e50bdaa36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ar/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ar/firefox-72.0b1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "298682210b8127ab77f509a79b3bc61c3206a1a405a5da44f9697fe7361deb3f936449f32494f3a8e15420b56775cfbd773a77185aa5f07f593aa371d61c74f4";
+      sha512 = "7b30ed5ba12434dcaad0ad01c99368f5b1230d20527d3b781a8dabfafef9a5e1e341dbdb3cc96480ef232216ca608ed26f37f4add848a3e80134cb1abf1829a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ast/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ast/firefox-72.0b1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "30221379730f41d32e0738689cf8ebdd8615275c6905a984f186f4a7823f7a84a707ab5ed8ce9448f091750a78373d10df4999a94ca32020e44b0ab81442df29";
+      sha512 = "3e2fb1de7f69b971d0aa9390c9772757a462d42da7da0327dcdd0cda71945326e7a40ecf0ee0375f7494bd649613d59c282a8f1aee10902998fdcba804dd2536";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/az/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/az/firefox-72.0b1.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "f948c6bf563012639a6ecaafa8730d0430ec569c193bae617436cbbafd61de197b87116a1ee3e16035048d15bc794b499e9e4f8dbd8522166f20fe8be038d965";
+      sha512 = "32077af14df1c78ca0c22276ffefffe7b267d7173a367259ba3275575714cab459b6ead4d0e96260a04736b5609f3c13cc6113a375f92bf53cb6858e1f206ab4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/be/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/be/firefox-72.0b1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "9c7db4af9b692896faf7e9ba3c5b1e8360a5ab2e60b6850a901288b4554bfb0e45c738f167a0d96a3af2db4fb150a557eb1e81b375087f4086e4ee5438b219d8";
+      sha512 = "3bf10ae0b44785ebbaad66a5b28ea763ad893cbc872e551006abacd3e19eacf9c6199781b447d5c46dc240818e8dcbb0227c1ee7169be7b933709c10adefb2b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bg/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/bg/firefox-72.0b1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "ea01ee47f6febd71a1f77b883bb48c093fbc19e20f277dbe676a351cd35e334ecc81b8ee9510650c38048e11a68365e2815fd0545ffd4d833afec2e3c3e31f73";
+      sha512 = "d6ab297126c02e1cffdfa329855905c2fd79b3a02e59b866bcbd083fe396884fa73636317e483c47bcc3283a0cafb392966e0888c052b9a6051d2171807b2786";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/bn/firefox-72.0b1.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "d4143ef97c5f9f20605dcf8b646b0acdde7b9475cf2696be7f3dd6ae5830511319a083f5dc6488a7d83764be7f39f6134fc67d28ac3e334f2a87235958ce3070";
+      sha512 = "b0bbb8cb5f91c5189544eeb75faad7d89f1d04458d18d6f2174a13fed40414016bec63e331f8c5f94142bf7cd7f1593d7068fd69848e36feec2567f469641f88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/br/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/br/firefox-72.0b1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "04a0d955fc4e74bee803f274e89dea46500bc0c89b3cbbc03b892d30b93c648ee2909a37078b38a4d106338e045cf5698bdfcc6125baacb8d839cda7f178c715";
+      sha512 = "2cd9688e5e823bcaca0804dda09ba39b06ef28072ce2d76a683a5c772751ca45c43c54e18d325006c86b3d1073684b1a74ae7e710d775abbaf0c8ab9110e3a95";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/bs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/bs/firefox-72.0b1.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "f06e2d49206fa5569d3584b71f321c1ca9270cedc5bfb1c4ee8969f00cdd094bfcff400c1dbf67c9d4b45173f7aeabe9a44a393f8c49d30feacd4e4a0e24a47a";
+      sha512 = "9a5152d2ecf6d3393671fc5ea63212ecdcf696a2cf18741ee347ab34ca3178dee2898278a5859501d6e27001128a3d5043e93e182abc8cb82172d8e169e95184";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ca-valencia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ca-valencia/firefox-72.0b1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha512 = "13aec7c68757c07e9b1016121ac474d894d580cdd88a05ec6e4a2f34018b483a37aca8bff8b46e7f00439059cb9cc44a9032363c8a157bdc3f06fee3be021309";
+      sha512 = "8340c108965eb47af11c63242e3c94cea48cc171dcb6e186eb46c277b6d925ff93e1ac349d089dac3444590a811206c1b5d000c75c585bc5bc16c5e3c9f5ec31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ca/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ca/firefox-72.0b1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "e548c5a7b741c8affd6852a538f0842f3774048f9765c7f25177ebd71c8c7d41530e4236ef11fa03f4d2ae1d8704c19b29c95c7744715ff374dda20a7923f716";
+      sha512 = "62c1ebbae286aaafd9b1d9811e9af98a6363dd74a8376bf343711c7ab90cf654d0dc0eebbd0e75d979dcaf8460f08b8bdab71d17877d97603a579a2b4f643da2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cak/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/cak/firefox-72.0b1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "9e284c5bce5f2b232c4acb84e34d01418edb66cfc0290d5b48e67a412451f5520f845c9a0e70089cd89828ae9cdbf4fcb791fe5de17439372144e1b3133db149";
+      sha512 = "0b29218e6cd7ecd2ecf06e0c475e6c1eb46f18860d8d15c7edf5c5b447a37ba94e80c6cae3638ee27b35b46ede6c6beb636a13f67784c0fde906931dce0091a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/cs/firefox-72.0b1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "b4e23db7f7dfceec6fdb0a48d74a376e165ef3efd38f03990d19ab9cab67d51a2a0f3a0b3d18b57f9cc0f26d84454ee6b573c7f5444c2e4e20e9b18ca44dd480";
+      sha512 = "9daae2bc034e2d86e6c15f2eec4d3b029377c3ed8ac03db9067e148f1e497810b37de4fcb220ceb6fd3a1b014afb2923829d383e9ab13df48e2026d33b133812";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/cy/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/cy/firefox-72.0b1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "506cbc0261c90b0b20382dd7f204e826e666915b6624c1490089ebb8e613fcdef368eac4b7de5b2167d406130c3435b0f0367d23667816a562ab0576a2be9458";
+      sha512 = "ffcb5c19891bfe075d033dbd9ff24c0a410ebe4f8ec43ab10e1bd68269aa5da964da972c0128509ab0f02196bebaf6bc0d890f7d8abc8fbd862537df68ce81e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/da/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/da/firefox-72.0b1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "60e25765159560242af62d60a8c8a4f6f607a3f153277b013e70bd5f0abc9132801c122f5ef374e3de8710eaa49f059658fd325a66b076417b5ab34e9d156c2a";
+      sha512 = "b5b3896a2497c7a642a39c2da626b23c72fd32fce2c930aa85b49919ac8bd9fa8352f5ef00f0db763d2e62a5ea6fe0d9615f380ae3373baf720c2cf758db6fc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/de/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/de/firefox-72.0b1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "a99c8a9604e2a83e6bd085ce5a30f6fac79482ffb6360e23b1678c1531ca14f05394a91401ba57dc37a5006553944a8c96821c9cc58a4a3fd5aff685c51bdc4d";
+      sha512 = "3f394947c8a600250cd7cb3ba544eea5f0543a6f0d454e45d3c049eccf54148ac4962938bd58000a305511c53deef61d1e58b4acceee45e9cfa305000e2a9bf6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/dsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/dsb/firefox-72.0b1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "5dcfa216878aa733afe9fdb0d11c873c753a93cfe3aedbb3b4e5ff62f6578f86c6ac4e3a408012a00dcfad31d7de9dded903c6d5d0d351b108f718cb7c226310";
+      sha512 = "e79d1022445c629f2acf24b35744a0d5043270273fc98af5a1cb28daca27d57eefb46d7750e2c8fc31687b8a52881fd22868a57442850a28fc50b330628d20c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/el/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/el/firefox-72.0b1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "ac596fdd1bd4ca09bb127f5d964318e0496e4d9c2f060c982a62c8cdf71af5e35f7d96c37ad0543550af4b4741a08b7de10b2206d1ac90f8ff27ed733a346d86";
+      sha512 = "b454c80910c66ef800ca4ae57d8b358af15106149d0d9dc498d8b0c2a952c96cd0e2e88ac96417dc6faa35d1772f9141c05ff38032467f0aeec32d36f62c3f33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-CA/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/en-CA/firefox-72.0b1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "8dd71d997a6676f6ef28d09a90f67b7858bc313beea4312124a498208b9b8e36ce7306901abe5bad4dcdaa5b1cd23010aa65eb8bb41f5f4ae2e400608dce2cfc";
+      sha512 = "f255d8cb8a19a757ac46a656b5c55f35b4774996e9560544ef2b1d1ae3b5af724c553a9ba473ba5ec17ded5b1f42bd3d34b7b698c4b29f66b11bc171419d46f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-GB/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/en-GB/firefox-72.0b1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "a442336f7a2dd1865052f06664b7b52ebac33be84c1cfc55b9b6ad3d2e9fd548a5cad65b9733f57ff432a7d0d8a4e034610a2f4ccbde836290d9a2ecc9ca8548";
+      sha512 = "de974c6149ff854c2950e7d2c82c0c0691613a429d428c88998a4fc1a2f1328199058baa7a33de4fe3ec01e5e5d36f8ac6b47e1a601c2a7d10e9306eea76786a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/en-US/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/en-US/firefox-72.0b1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "fcf3bdffb8f2742101b8dc215e489ea54778d7e2f05aeec7229bebb532fa972aa56257264a0fdd3d37ec19d427d782f3d0cd45534f977d1b0b6e19399d004f75";
+      sha512 = "0db37834d788c0bbd3f84c521e26b2f292c8c39ae02af546c004f7bff035e560010c6a55c2bcd92fd5b502a57020dea2fbe79159caa85bdb2fa1d866f8de1173";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/eo/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/eo/firefox-72.0b1.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "228dcd7d4bfde4d99172f895502033271765898fb7221d359c55277de9b04d070e362a64c6327e774bf6ec7a23983765c21c77a1d210d4f238d0846d2f6ebc6b";
+      sha512 = "597d5366b25b1b8e393330cf9d00cda6c1a40fda60aa91ef4131d41fbacd6f5fa22b5a23fd20f28708063604f52c124a39be4f26e8c540b3e8e69c4fbe788693";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-AR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/es-AR/firefox-72.0b1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "bfc15c3bf2a8e8d980410d81ea94b99c92037779ed87fc4bc6a8035970067e98d181ec35d88e576dc08b86485a90a7fdca450a55deebfbeaf651247ea1dfafbd";
+      sha512 = "529096e30bf24b84b29f2b971ceebeeb483c5f298da394dc6dd7fc5ea747d46ec2f8c9f5d3efa8bf3d854276b995bcdb9adf6d0cd00ae74a083cc35e6ec439d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-CL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/es-CL/firefox-72.0b1.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "9638f8cb3fa6fd71dabdc88974e0498d7bedb09448e2544356d990ef641aceb3668214c0d54e7baf65ac196501697ddff216901d00d946962a43f0a09f3c8126";
+      sha512 = "a592e6b3cba1a19081b94cc8cb9be5c6cedc19f939905a7606ff00242af5acadf6bd3f3e1685e5113b2b86326c3f3edcfafc5c87724ec65b0e6566d5ab07f3ee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-ES/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/es-ES/firefox-72.0b1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "1b17dce1c7b1d3965a71a7972777af91f8a88e2f5371db888e00d658390bd3aee7de034d0433f90bf93796425a80fba51a5a5e1d235095f9c43775895311952d";
+      sha512 = "e582b5df25f5eeeea1c58f294d332c81d7d2f23d91eeddba5fc23fcedc526cbcb06d54bba48d1daadfbd0431bc54b17609eb767e2e9bd3a4a864bd759d912bbd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/es-MX/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/es-MX/firefox-72.0b1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "4c4491775007dd5d2ef89d4245c8f84e79d4e27251a96b5f538c2e0c540b5097683a6072d94a85620e1f5b13143e1bf1062ce5f691000de3f9c168e44cd3b03a";
+      sha512 = "c2b303095ce4015ffb13d8f11eb15a423c8b2ccd1401e232cbaf6be00d763fef4a0b09c91ca1146b06ae6177abd629a75cf4552594022056674face627f9a56c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/et/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/et/firefox-72.0b1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "24734e0ab55249a95117c39ea26f7bd173d8d90ff5e69833d6f3c335ef1ee895fa474458b2f6d1d545cca26c295cbacdf74098806a62e6742d03ece28a9fd426";
+      sha512 = "3a5fd91ecdc5c96e9a356f480e70ed2bf713d7f56a57adf005978e391becbae933724cbcab57d8e1aa862febcf8f1e2bf8c5240bca234fc4b84013b37bfc6c8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/eu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/eu/firefox-72.0b1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "ddeb8b1dcbe414905fba9175ad4c09b981a9f2277d335d851320beace94d55ce2d1e10ae96972c6da28d8008db377fa4470f4fb8f7a1ead8a4c26bd01d2bd0e9";
+      sha512 = "2dbdb855c304277d8b5dd2e509f99fb0fa8833797ae7f4fa3716c4e6fd24ef87f922f1c1dad893c05a9e29aef193c0bc3eac0e4220bdc08f19594cb40dda48c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fa/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/fa/firefox-72.0b1.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "cc6daff1ce0cedde5a9a2c3189039fe59ba01ee20449610a340816dd316d104bc64f6496389aba5f4e843fb70fe9d9b18edc0dee59357d64e916969a3c38853e";
+      sha512 = "9ec59af0ed6bf0422a8c5df95fc2c21d7b6c6abd642a66eb0c4a60b7204c2935b54146d14259d540932b1f269ebcb98de47bf5ad17703da00fea3921f8681e21";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ff/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ff/firefox-72.0b1.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "ca11dd6f3862c42b1bb76050d347d97f27e6f415c9c5bf9565281c4bd11411b940f1f8ff69940e1201e008ba7ae5de653a64570b4f7175c2264bceeb696bb2e3";
+      sha512 = "5d7f4f8141ce47525f0c742f48a4cda62b5c0c74ac8561eb946c0cfb49231873a685869671f9ecc4aa7d4396ebb85e3e5fe25645883a5ec477bcd48911aebcb2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/fi/firefox-72.0b1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "49110d54b09331a0d91b1e2fe2aa67a80e46b93bec3e449e55ce4b600334ce506344022ca7523b498b444e8bef25b358d18709ce83e6465254c0e27bcd9e8cd6";
+      sha512 = "adbf12865dfc17560ee16ba68e17c4bbc8354b20f97a150a2dc9867fb2199a48e18ef70934a64fa013a8fbb145d4cb7ea6e10071b0ddabcdee1b9e6437ad5f89";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/fr/firefox-72.0b1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "14a3ff081668a5003e4d129256975e0c8eebab78ff96a7d63f6eeca45c9331ba1250df09a8d529cdbc199133a8ff61ed170f91f0f366f12e7f8f0486a563046d";
+      sha512 = "d37f84bd27923b81758c1713124909f3f70c54c9876786b99cda207ea4828d19b3eb76e18f1c47a7f13657690a126b783257edaed224777bca008ff0e9f220f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/fy-NL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/fy-NL/firefox-72.0b1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "4b78417383fe474407f55353f148429047635988c7407a7dafa9aa894e3df9bed9363181b3201a66caf11f20c10ecaf5cf9cf630181bc043ac5f8ba9525bedad";
+      sha512 = "ac3ab38dcba4405ccf7341c512a955f51b1d38ddd086148913e83e523cf7ac73fc6ec2f8792fbb00fe45ec31c7b13663153e25405b62389222570fe469ba1a6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ga-IE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ga-IE/firefox-72.0b1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "7bbd19ce0063746b66b5016b00cc3c0b62aad4424c26fcdf895c485217525e4d601c22d417c9faecfa8da6344f8edab28a3e0536b785f2215b8e5f67d4d860b0";
+      sha512 = "efa5ac94217876febf76c31afefbfc34e2e11499deafa744b6238c100d5ad2f803dece92b71847d15b32e5e4cc163b3de1392d84420ea29388bb8b67cc42a0d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gd/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/gd/firefox-72.0b1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "a3444d8d13038203760ba3e04f6aee6097b5140a1f0faa247dec6916221c1c7cd5f9bca091f84f8a778cf3433a74671c4a9e9a4c114738309873a3bf14b860a6";
+      sha512 = "e2803c1c0826846addd399d74783e5b0ff9a14e5e1b3732e7752b21370a022fed2c8e4d8f116772954d552f1d4a12f38e19ccf195a1830d18dffcd5474385eb3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/gl/firefox-72.0b1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "9d0441b7391aa2a7adcd24946d36ce197b6aa107133f0e83120c8caacb02a5580e2e786a7c36bf03003698d473a39dd3e9d7d57553f601dbe1b45a23bcddf12d";
+      sha512 = "653cdd7e29b319695b14895cba45b78d10075a2e85bec4658aeff0901b4e6e220b5cd6d94b7e1adbbce997bf7855f014412eefc1ef530896837b4fe19b6c5c13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/gn/firefox-72.0b1.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "41fcece059ff48ad3d23ad3826dcbff2fd356ab5567abdd757ff66739f09ad962a2026cc5b5217ecfa1d035356f77fe8563ff2f78be925b88ea903d8ccc63641";
+      sha512 = "77e04e0c75c8331812cc3d9c8f24816fd6d2cd6142eabded8143b1241ec29a5ad20f20f462a9578b4b7d1c86f787972a9625e2d72b91a381930f195639c561a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/gu-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/gu-IN/firefox-72.0b1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "d09dbcd2222245218902e2e7d921239a2e96481ba6312c3601e33c0a9f5c21c27a505ade880ff36560dc2634562a58dbfef574bc693941ecb9f6fef9461cb004";
+      sha512 = "93de67603253c1dd1ad45f58b8b8db52a91463e18b6e156575cde6b40b141bf78ca3fe1de4564a3e51e0e425058d98183171e00b57114aa4b9225d721734d4be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/he/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/he/firefox-72.0b1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "9d7cf14280fa265f1f8a06cd21e174098347199b389b66613713af722f500461dd394b2b56bc635168c3266bbc9e98676bbeac45a647ad9c7c0187e49e41218d";
+      sha512 = "63757c688d81d4b4c4caffbecb63a5c1467aedec8a6d27939665c1602f30524e299fa5765129d3d6a95918ec4162cc8cad8b24c47aedd78a9004f26d1fc7d00e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hi-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/hi-IN/firefox-72.0b1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "295cc80fcdfcbc523d676147f403e828f1f09642a5fcea0d371504f6ed2892556a058f7097e923a7d5bb13b812efa858f39161efba557d8a5d38562beb091646";
+      sha512 = "8c4cd97f03fa5abe681657f412a5fc91a58e8d47eb06a2d9a124924243a9619117159baef52461f1882fdf35f8617ffa8c0a1ec517cae41cbbe424d0f7cbdcbd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/hr/firefox-72.0b1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "e5dd6596a62da991d33589e7ed5f2834d10125e9ba3d05670cbab35f2a7addba065d36e881b3cf7aae3a31932a4e7e197cdcbae42e9ffbd352ca60513fe35931";
+      sha512 = "0423e6e8f4129fe3dae80432513ce998a18170c904d5b14bd3b35a7f7c9d737b85b8f58f9eca34879d741ffaf0fa92d38918369595548df6cb12d254731f2f69";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/hsb/firefox-72.0b1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "a07459b299630d6db0b18b045547fa65533de02e6684e696ff4979575455ad8bfa42802ab93c4b3adb38046ca5856b7b2af470524cb54efbc7752fa42d9e77c1";
+      sha512 = "411afb1f6d64e6d9f95da02f1a28298ed158e683f7fedf990633e9f6789b8dea9b8aa30a9c22bacc79dc07de524e4205f67a9b7c372d626275515036421f1a08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/hu/firefox-72.0b1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "01ddb0a1333ed2b9dc3ee1f0b2ec069c1d606abdb918798f64ba420774dab33356ef7c97d0c403bc5052b0834a852b02ac17d187f53c509e13f4d2de5bcc66ed";
+      sha512 = "dfcaa2a3cf3b815e27f958853ca2c8c3b010578fcd41247c31981681f25e1fae6d439e7dfd581bd90ca87d8d1ee0fa7cfaa6dc617d83be2fc235e4e0adccbcfb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/hy-AM/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/hy-AM/firefox-72.0b1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "648240e7ca906619d2e396069c0b2be29e962d9e2f96e5f5cee0efce7c85f4b6f17fb3589d236a7ae347ffe465d7c7188d68e04454e566b4619ffdcbb21bbcef";
+      sha512 = "cf2abfe9d37af39e3cced69d87b2afcffeac4697757a7be0b4579e5ccace93f5a2145881e827101d46c862e7885ece3648434eda44f54974545101035622d160";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ia/firefox-72.0b1.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "313b8de952330bfea1a0643821a17331e92bc5ab6a575c77cb14484ef8734662bce804259cbfc0ef2191f0e96aa10d61b6374149563cb4114008e26d9efc3ced";
+      sha512 = "405b8bbc08a3fc43dc2cf4fcb379a3fa539d62c244dde098185b155de5734906020b0588212b1c66c373505285a52b18d3e2af15c78af3161214e78c181776ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/id/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/id/firefox-72.0b1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "39e8a946274245702bac80455cdc84a5416cc25dfdf32b67d9bf97a0f263cda6417799b80a1eb34cf98492929016dc176ad09e140cdb7f57d09daef97aacdc69";
+      sha512 = "4953050e56990940ca5b982afd92f4086a317b46a6341de6a2b979649c4987c3f73ca43e3ffbc8d8ef18ebe4eda289f91ea4fcfa23a633c5075db5f7cc606595";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/is/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/is/firefox-72.0b1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "2956d0309b81a9c428ebba4698a7b5431e885e55bc71ba3394abfe50fd81e0b7b3c9049aab020a8d9a8caefc04cdebdd4793e56754ba41c88e55aa8d8a3e05f8";
+      sha512 = "e6ba7cafa9572482a6a2a118b16eb08b7f94e906525631a4f451838d54b78667e1c4d504318a269b604d6ea85a137254f1928caea6783ec53e4d7f9e2696120a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/it/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/it/firefox-72.0b1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "73486caba6b0fa67bd6754ef6d712c244429b8de262c73fe2bcf35afb2d6e1a3061a3ca97fed148397b49230ff1dea0263e1bc404be74f28c88b6e0c540a4163";
+      sha512 = "c2f72b525fd41d559478e95cb4ae7eba97a6371ffd179dfe860411ffde53dae951a1f963914d754e1efbcd710f5f7a39c548acf96219dc01011ae156ab37e152";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ja/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ja/firefox-72.0b1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "446fbf643d4fac6f43ef0b7547df542ecd8fd5d319456875a1660ae40a949872c74bd97ae8e49e7c685a1938eb312693ec35c0e107e9bad942584dfba2f934e1";
+      sha512 = "b2cb63bea9f26005cc78437971c0ce5fe6e6a99bd70ee9d757d3f0448acf9bf201e515b056c467edf7ee9eb248d4ea4b42ea9ae7ef02638da485b9f27e2daa84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ka/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ka/firefox-72.0b1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "1666ac3fe60104b0c3a942f28f4496927fd83baa403c85cd712f11cac1e3a35f794a3fc098e642ea7a20720d3138f021f77935d365ce2ed7606e89284b374476";
+      sha512 = "95323417ceed7053cb2519bce9a8f77f048bf8e6944d2304722b6b0011ffac8e8074d1d31d107bcc7940d55f14ac3cec6165bd50f8dcab32649f3f656eef10bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kab/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/kab/firefox-72.0b1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "9335419c9b7b93075e12dc1b4f96c260b7e045b7598f60dd9c6ccd3ff4c3fab808666a7b13ef8a7906f31afd5a720499aa6abbdd5c4259d23aa8b1317146c805";
+      sha512 = "c0c23605f2295f91dc3f86ee74eb9ca22519f61c7b5b1d7126b9ac42a0f989108b662b0cf0c47af59434a9fe79abec0f9b2e6a0c04944efe9b5a17fd524cebcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/kk/firefox-72.0b1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "c5107685611e21b0d12357aabd3111a05cc635d69553510220f928485c3a78124aa86afc44c26147b282c158e94d448df14a4ce1e43763b78c5a9e3de6348942";
+      sha512 = "47940c2d0bcb49c2dde5718e6871175f65a3597b3bdc353ce2f15cd1873226f4f9376b20855ff59887c3baa8059ba9668c348054e0b2f18c9f85561848815467";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/km/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/km/firefox-72.0b1.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "d26f924db4954eb1dd9c2cb2d333a954925c53ac4a48a0f82a5ec340a3bcc6934a00666e9398c407e5594e191d5789bee2ded4af57d5f76aa4d27a3f00b4ae89";
+      sha512 = "6f457b3efb054db74e4d6169f867a0b6135fef62e402f3f154f2991223f49eb36178ccac483c98ba5ea96bbd1306d99d11a370ebe3259e50c69b0801d30041b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/kn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/kn/firefox-72.0b1.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "d8ac76dad99060c2900d063b9e037b8b4bbee96066521f41353f77c82536bad8a637e38302b9b5cf1f643284792be730a2441bca2d604d05ffc77600a162d3d2";
+      sha512 = "290224b13e6dab5820048c415ef788315e6e4b969267e91ef6dd5ea9258a96c28b5a202aaf697538dbfe5ee8fe64789e93978a4f877bc2da7742decab8d922b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ko/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ko/firefox-72.0b1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "ee289f66819bcb680ef74c90de2e025617eb12ef69c4134c17768f0f0644d215f6220db5cdcf0190b63284782ca7125aa0cb2016c9dcb25e7db91a4200608059";
+      sha512 = "7f9c87535fcd761b2871083ec906119b868838a5e29aca5ceab090f3d1e0e05dc57666c0257b382cf46a660cdab34eb0c968e5281563a8e7d4093abd6766cd1e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lij/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/lij/firefox-72.0b1.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "8fb5707baec621e20bddd33f7ef61669d3694f3687e797cae9851876ef1976413ff60f3c3409a9a3e1b63f9c6e1028e9cf1b5a82d97960f1c3d92fb81af1003d";
+      sha512 = "19cf9547d19942bd7465e734c19dd44758fabdd712dfdb6b4f40c65f5e19aabbf991590abb001f3b9faec1354934fca699341d91d5e4941621fdf714722a6296";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lt/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/lt/firefox-72.0b1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "53db71d1798f963b53fd3695319276ce3ccf42b9b29b9678cf5eb149d6b79390d0a2712967486f05fe3c6d8cf25b123f5f8d6ccffa4f138f03dec611bbe2bdaa";
+      sha512 = "eade91820471a8c990396d408fc04e52ec5332acd840acd8acfc8428e13d95c7703ebab22c89548fd3e69b79b0a93e0c45bc26de779a0eae8d934c50965cb7df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/lv/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/lv/firefox-72.0b1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "7cece5926ddc73a817ca894167ceb264865e284dacf66c4cf98c89cec8287268af6088da9cd3451a358e26ed591d2b6ff146f567116f8ab8a80cdda36aa781c5";
+      sha512 = "f59f8e4d862497ff2e85bd141c49072812aa2a84234ca66b5dbabc5fafda5ab861c1a2d1450b9dd4c05d3b32ffc8e2b3b08c83a8fdcd1df762d5f4ac3aa67f84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/mk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/mk/firefox-72.0b1.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "492739c5c7b25696ba02f8f0c41127689de8b65cdcee43981dbb1d1243d6490ed7f034ca0e8d5e50763390e85bafb134c190fd86a6d2bf2a9c715ff1837e53f5";
+      sha512 = "2c3def0dd561b6e978c6970039ecf8d1e0f4a0e97b2c2c30627c178f1623f2c2424052254c2f1a1b70bea9c675074cc7c4b4924d00cf4719bd7678446cc79e38";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/mr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/mr/firefox-72.0b1.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "cdc685a2435afbdf33324d7d93c5af9f1fa1b7a817c70f34607280084345d3e69c7eb1c0189db8c16c288e31ad0c982ea7271bce6b0a9a71f0596a9ababc32ae";
+      sha512 = "aeca959d91e2c1bd07f822140aa6c0dff82807bef3e786971493a3239cb14a1744b4067f7ed56e40d833ffddf08d3943dc0a7df284a330e46a68cbf2d16aef73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ms/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ms/firefox-72.0b1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "37379786db0f326add87e8796b5bd2b9a7365e2a740095a5ae0affd1f15bd08642aa44ae5aeac4e2b0198f4fa590b5fdc05ea2ccf51049908540c39fea059f1e";
+      sha512 = "c97e380e11b41cf5bc0de2b2f76a6795f4030677dbff9ce13390f2d7b9dc302bbc79c20b90010e0e1f0bd409cc5954770f86ef2abf0d7ea47ae5bd888ba4bbf3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/my/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/my/firefox-72.0b1.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "c6ef471af337726207344d7eea3d03f412facc0fb26ba45a9134fec7f7a8857dec1484a40625fee9eee1a840dc1ba50f6d959cf58b79f77713d996fdaa5fb616";
+      sha512 = "162dd8e6f1f0b529154fbcc2926aba9a6931ed05077514389f4e909d6c0ccb77cdbaec28cca1ada753380ea7b3ee611297dc58318fdbcd3e4d5dfa8d4b5f71db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nb-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/nb-NO/firefox-72.0b1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "8cb1f23fa23ee164c172cac43bb7e26ec42bd20b811922fa09c0945d9727d5cc545edc1e47f040084165de4eb0fc217c5fa9b54eb915703add563df83cabf7fb";
+      sha512 = "dda0680fb730966cf0e6844eb31549f5e92548acd65216b73de5b39d56986f3924d8e2d43f82389b8ed766fe3a7b779fe5789a94f98b8f15f74d091d6f0189b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ne-NP/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ne-NP/firefox-72.0b1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "b620f2dc18fec008aa668255a3a5b2de987f9c1b3dd27ae93f9cd9f2c02287e105516568cfdb631a9f60dd08e03ccc89fc9d7f6c7d682fc7f8cf8644965b9419";
+      sha512 = "d334eda8863d54d2ed2a47a2c49dcec868975b5d1727cd821375568f0a8354d4f15fc3fc1ee2c59262fd18908523d58267e287cab1773a3756b6be769502f67f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/nl/firefox-72.0b1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "51298d8ef95f9d76cbf6d410a85d277ded0463db6b85a05007cb11fbd9490fa385d9700bdf0dd333ba61aafe3690bd31604b1dabdfeeb5d8351c678eafa7a558";
+      sha512 = "a62192cf2695be91b1c43786c22031d40a252ad10b3c061851f5ddbfdcede8842b7fe685f0ae5786a72cda6675203725e242014dccea75639a7dd2e40d365380";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/nn-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/nn-NO/firefox-72.0b1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "61deac483f285167a9ed3f12548735b484bdf2e361ec7e9ed62abd44084bf2ecf037990b946255e1d086a746139f3d24f1ed428dba150161cd5fbf9db420ea9e";
+      sha512 = "61b1a9c766a3e5e3ea295b3473f4e9209e8e89699a6ea0e0ca43b1c8e9c5f34a6608a935e2a13d5da68f64eaecc0fa66250f69aadb6de963e1b288e439436126";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/oc/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/oc/firefox-72.0b1.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "8421017b5aec9c5998aeb255a47b8e34b189667a9b9a576f087613c4721ba7feeed5b053d7c4fe24c32ce17589b5fed8603695242e6acb25d5236414012a9563";
+      sha512 = "0e22dfd1ea284570bac7dbfcf3a28bc1c646166f63fb484bf794b3230a6dc65282d224c3578dd345b9817c358d8bbb51e5cc846e6f90f0b23dd88e342b6126bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pa-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/pa-IN/firefox-72.0b1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "3b8de8911a3249727bf1642214c5affe0555a6f91fa60a7b7709b3d9324403c9c5203557e6c4c0f8fdeb770fe73cc577f4a053064f09549049a9bcebeb4a359b";
+      sha512 = "4403f693b9ce06075378e26396b43b4acef7c4e690765676ccc952d06aebbb827c2122ec1ab6bdb3ad349e9435f46e5db883bbdb983f6100fb7c4838ec3d7d78";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/pl/firefox-72.0b1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "7c7b9ff6387e9252bfc8c9cf9540cdf05e2d041c0a172cbb95de67cc91bfb4991d554e3a1616be8e8bfdcf0243095e91f06aca50d01b8ccf2316becea23de54b";
+      sha512 = "f4ed507ec2ae7f12499a12c873edb5539e755b5e6475a5e9098240b76a92c5d7a2e5692cb182832303b3dd3dace882f608d1988a7df14c2ee7c37fcf30b35a1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pt-BR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/pt-BR/firefox-72.0b1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "d6918ebbd92548be667c2fdc1bd53a21d5de473fdb73f82c81da89e95d2fc3d9cac5b8938f74d1b32a5e3163a5010b2cb03f19dd6d858130118c592a573ff461";
+      sha512 = "972f38594bceb21ae8a0c23a87d023c52bfa2c00125e1ec96c41f2239fcca1284d3bc13329b69f2bf0fc6dbc7fbb4e24094210664cab4ce3957f0c89524ebf57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/pt-PT/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/pt-PT/firefox-72.0b1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "46fccd1f9f521b37ae4810535da84ec26f1de3a454f1e76d7652ed735fb91df043109597b3ec2d155ab5e47a2bc48ee1b2f54289514fd81503910f6a97eda8cb";
+      sha512 = "3f5886daa9231a879ce71d355646681358c81fe980ec3717ed355b074ac0de7acc38b787361a57e474b50d7ee13ce562240f932b095906448004757184f2fea4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/rm/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/rm/firefox-72.0b1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "7c8e478956cbd25f249f8ae61bf1749d0b6f40a18d35d7a2e0427cb9f7575f32ea2ba69e8b1240eed0ee382914aea93b15184fd7d0a3aa0af2530e0b3da948cf";
+      sha512 = "b7e2fcfe63d9ebe961af8a639e25d128e331ddc2156bce962cc46676857a3f111c964749b70fa97b7a228382737e4875e7034d5bda5f6fe25dd0384a53327a9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ro/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ro/firefox-72.0b1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "b42acf347fc1606ed4fe53b054b6c662aa909a734d6b9ccbd7f6d0fe42588504ae2a36e292db6229638b71228032189735ec318e745d187ffa5ab7087458749b";
+      sha512 = "9ba2371935e6c8601397f291ae0e0604d4b158fddde602573af7eda5b2517cff184470beaac02cb6621891c85d62d741164c6529d3536deb4a7b6136665d99bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ru/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ru/firefox-72.0b1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "f3f9a1501ba4a3ed69c0bec569d5fd585bca4bbc34d5d7b92a9b6c7c299e05201b4fd5b45c9a3d8c09d16d6804ab2a76c22a973e2b730ff33c03e325dd4ee4b3";
+      sha512 = "826b7e0ef948b4c4e3d76c98d22ba4c445b7a0aea71a1093b1a086502c2c120854506044fbccfda53ffa92befe8fcb4e3557b47721170c523b15e4c979e5f491";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/si/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/si/firefox-72.0b1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "99afc39d22bf30818da8156648face1eecaa8413f923fe4fb14623226c50afb437e39d908caf43e7a7c78b4ab4c66860a03832f33b012a5c1fa6c26e936e99e6";
+      sha512 = "df7b4b15abd966f5c744b66e2801f1e04024022934032e379512e83b4b6dc8a47bfb01fe96f70ef59d3825925041bbb50b1040981b930d603ed1675f1234eb4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/sk/firefox-72.0b1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "3c574962db7e38169b01179bc67af5d57296918adf009512ab494b6672ce95bda10dc9a6ff88f5ab17d414335bdd97fca5b75bcf0f4408a26a9eba83c052f3c6";
+      sha512 = "21b8b52b20dbca2e3058f66aeb9c3daefab8543e664c9dd9d42676fa48f230ca8519e84a6e7371b67bb7bfe534cb32e3499e967ab71d58a095cc3773f21fe624";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/sl/firefox-72.0b1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "c266949cec012d11e13659e60edf9af6fd24434b0bc71bc7c1b50fb3e18de984ca34d074113949d95e7ce1dd759c7b081e8a336c73e7a84b146eec747413b222";
+      sha512 = "5fdea4de8e71cf77d5374368668d0d304e36629e44756ae50ddc656171f5c455828d6a55b9aee8bb9a8d4970441bd83df3cdfb19d18372b35b604ce420baba2c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/son/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/son/firefox-72.0b1.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "7b9f060acf3b4aae96a79d7fc712803cbc51a6b38e5624371523f9e45169f838f26f1848f8c39f644cbb7409e76c835bafe02152e981034202c50222fa1fa87a";
+      sha512 = "d47b8817bdf8a77b158625bdd3022de090c8f13e865385e3bdc3c2033113c3865c5c89559d8c4df3bfb7fe1f2860c9651c464da0aba74be4c1cd76e0b922e567";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sq/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/sq/firefox-72.0b1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "3e555168da6e7ce386c7a577bd773879d0cdc725ee2c79151554628212fb4b16a95a88169bbde512ca63f51920e035a27b863b2e2d2a5a636c6e8b1427cce20f";
+      sha512 = "35487c998bee6b8bce1fb91af3e632636b972293bd8ad5f6d7c73efb12c0423f40092d84bbc2bb88984c18dc0e684bc1270b4d570c1d12279a4222d0e1780700";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/sr/firefox-72.0b1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "b453c4ee3138061c1b5b955639672eaff4b5702aa067f1316f7b42922e4c9ab9a00b8fe60f3bd47c25d300ae048277ac5830fde6898e2cd4e3c7eb9d4ecd34db";
+      sha512 = "fdbbe3ba8a753e0b3df152559b31e80d9d33fb3e03eea5f350f4b78881715d78f197524153546144ffda4d76da2f07740081e60e11812f93db18ee6af0cc87a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/sv-SE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/sv-SE/firefox-72.0b1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "7f859fa052096bf5cbb63716cb0b57c2edcc13f0e79fbcd59cc179f7fa91fb70a99d94f44a5005e3e6d38e88dd58843acf6e5c9b097b5d592ada7d19aa8b7b94";
+      sha512 = "f778138a14de350d2dfc6d807f018f6a056b76a3e4d39bec9e399f217ccb0cb0dc3bddf20dabb6e3d1b78d546281687aabe580f36fcbb9fe1e5c73af175d9f8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ta/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ta/firefox-72.0b1.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "4cd7b5be580a70aee1259a39ccd37e947c8da8be408aaaa9210e76f4744c2d2075525331e0441d14be4a6aa5f3eb8c7e0f78220bbde0db3e521baa3a9696e1a9";
+      sha512 = "950e29f8f2297e90154bd428da18d53b8b3f271bdc1e9d0ec3eab5e4eb35eeac518eb3912ba59ec94acc31a0c88d9a71a2a69388cacc7fc6105bf1113306f964";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/te/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/te/firefox-72.0b1.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "685bc8f8ec7274dc402a6f27be13a254ca28b67ee28f151cd0e146db6857d8f54729fb76c3266ad08c47b108e84bccaf8dd561dafc7996f9678a83c4a01d4fa2";
+      sha512 = "34108cf6ed4972c88f0f67b30884177da4e5ca2403b389576ca50dc13e572913ef53074f58b9e836d28b71cd46eb68a09df05da8ceba5cfbc8ba1c9fd8c1bc17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/th/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/th/firefox-72.0b1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "d5167cdf3d67638772d474634c690bda4c3ea136baa3ac28d5113c9eb7673dcf9f38abf6e2fd54b55e5e487ff60f7e33036b7939b6c1add860dd48d9cfccb0b3";
+      sha512 = "9e65aa09cae3c1f00a01fa5fee6d16cc91b3f507a8b9e16547365188edc9f91f900535207853dd3ed0c643e734aa8cdb9430e5b3abad2a860114e2632cd8510e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/tl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/tl/firefox-72.0b1.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha512 = "bf49bd41ca1bb1cf03f8b06ce80e518f487359fe5bb93b90cfbc17ecb05aab74f4b68a8ad76c10acffa934a5a9fd5e257a52b9705e3f09e81343d142afc773a1";
+      sha512 = "55b8811e45ac6d803fa30c1edea0317e710da54c3f67760d55433d1fa1c9822efd33880394c117267cb9ac5d664de8f3f3629bd106272b7b5ecea2241b695219";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/tr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/tr/firefox-72.0b1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "f67ad1441541b02d77eed6ec0e205e36aa585d70a85d74c3704e9fc95126ca4ede76807c62df2eb0659ae24ad8a79bb6857299a52dba432d0cade8b3091b6db4";
+      sha512 = "a76778b70c793ed9fd8119aa57f203c4402d2df1f425d478b87ad3342d2b17bbb7bafa7d6bc9b93211abb61492d9afc9d581fde2add73afd82f8d04f1d57e315";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/trs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/trs/firefox-72.0b1.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha512 = "151772f684075ca2b24c98e35405b8cc54d878062a3d5bfe5b49561a0328a2d9064780fbc8aa1368bcb53957c208a102859accd35ff3e09d23a0623886ed24d8";
+      sha512 = "238a4ca19b4fd02c3d1739319a37ed0624dddad6141f5cdce2a17ca1f5d229fcffaad020d6713b8e38766e14c87410fddd5ef6dac449ff3de0105e355dbd8b31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/uk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/uk/firefox-72.0b1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "f27019219dfa6b1af09971aabeeabfad7343a6e9e034433a366bf0b85dae2a070c4236115a645bcce433e8a1ddcc74aa33c06f3e1526a665d7339c730e2d8b6b";
+      sha512 = "dbd7770fbadf50f168019d9ae27f8ebe0d3c84634cd53d31164852271b2da7bcbd1959dc16621c4e69b597bf4cd557b83262e903a513ff242624262bd6c77fc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/ur/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/ur/firefox-72.0b1.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "4b6b3c96dabeeb3ce6b814ac28f8842fb8a991586f8d9e24d8f04c4771e1e930903fd486429b028177fda3194a40f2d68ae89fb55ba632f3d778635bdfb61f10";
+      sha512 = "c4b5a713aa82db925bbc04da19aa1e2327aa3a138cc511adc1571b858f44a10a7b1d5aaa21386562fcdf291a98bc586d05d1006975da90b59961e6c7cf0afe7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/uz/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/uz/firefox-72.0b1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "c236ecb253b724715b66b60ed15870c7190bf53beb8c0aa3eab7b8f9770a35d07c4b07d7e947e548274ab636fa4acabc89f8ed9db81b347d6d01c3741547773e";
+      sha512 = "0cfbb49d1fb06b2fbc509715b609bbea5c7558a785c081754a2e2c6834d375ab102f86107c34164f2c2694027d816395665ce78fec7a1f76fe937dfb6b812ff8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/vi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/vi/firefox-72.0b1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "34716693e977408908c303e69a72fb9a3001ec4683e848bae2a22b050f446ed82509cd8bfbbc560bc4fc14d13da673cc56ac70b0dde8e719266697e043ae90b3";
+      sha512 = "0b17b118229cf7e7b4d996bad198d4f2db75713b3c28d0579d67ff0bcd055bcac0c5006771c84ad1da0a364fc0fb0ecd6f1952c7de9bd5557072530e19ec0710";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/xh/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/xh/firefox-72.0b1.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "634514944739f748afb01379e9b0b7d902cd367ab3dd72eb08442b0700c145e3239f0fe8a4598bf123231b5430cb4cf17e33dfb56aa6aceff1d833efd836ce52";
+      sha512 = "04d785b6842e2ad7a2cd0aae7d23fa57d11dec0a786c92e4dfe084e108325e1e4b619b905bc7e293ae61614c4f80b566c10110a3b8223d603fa133c9686df558";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/zh-CN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/zh-CN/firefox-72.0b1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "5f57467a2b3bc1346c503d7ac7452a063daa5656c8193495046f80296140d648f50539c5f0c9af23155498593da54f66e16f4ae2ab72637f394859e74ce3c990";
+      sha512 = "76a509307b061a8271998d9f80b713294f5cbc3bdcdf48e5828fc2eb263360af687812ceb241d31a48b83d2f533f38d9d866e93bb34768eae0826a8b807be5c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-x86_64/zh-TW/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-x86_64/zh-TW/firefox-72.0b1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "fe5808270355da0a3f6bc8b1522f8c2afd79f6f68842f09ff7db9d67ab21c1c683ab65dff9be7a666da9b25add657f6ebf8b080e898e8b2822612ba7b1a53dca";
+      sha512 = "4454db195d4264dea8ad66bbc90337957e90744d7be0bd370717e2088473510e1d9836b42a42723578b8ac607d9dd28d53b2318f0f6c1274f5cadacc855716ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ach/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ach/firefox-72.0b1.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "f4ca9cbf830c34b0287f92ec7683872b93cfc29a559c56e29fac686a50833e31bbcd2e22eb5ae5fe345fe8110d50d6be2c8ce32968aa74a65543e701ec2af6b7";
+      sha512 = "62519f4091e6072fe4c9caee04d6e5daf8420ee233aa0b08b99d9cc33c08e331fe1c1ef1473538ba70dbfeeff4a2c9c0cd3a875bc64d075ac712b8100b4ab939";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/af/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/af/firefox-72.0b1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "31de89d33fce172551a3a7cc1047b06d9fbd199d0e9a7ca94434ca1f050d0cebe0f3c06b1703b2e6ad7bab37fbaffefde5ec661bb23b1b470b82360f4f08d471";
+      sha512 = "4943c6e24f9919ed7571057e08aae4fc1b2dec7b27ed7aa481ca4745782dfccd5cc16c1c466dfc43633a1d21e4ae5a0dc334aeb47ad8e243cef49df11b58e256";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/an/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/an/firefox-72.0b1.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "a5f1346cd8e74bae67b3a7b0ff7350b4376b4fbb7305932c333767e5625fb1a451daf3004619fe737d7d479aed09cfabb9323e32ccf1d980f369f7763520c515";
+      sha512 = "0a2158906e8d88d181df20774687fa34f1a82c0aa94819c576420bbf82fcada4378c017c9816076a6f61397a39996f49b7d0f90f650b9d7ceb2bb62913e5a9ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ar/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ar/firefox-72.0b1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "87eeaf4d620a643bbfbe8f710612aa12bbaf2162f5e762263714f9ecc4a6fc75896c4d8145089775c24018491a9604d9b67273d43e96ec206518c42b978d8037";
+      sha512 = "f19f58e8d5a99a51c2ea54b2edb559fa33f0922716ec45267423db1ff960f29877a02a20d5f7523b3e03f83a0b8ad3615679a15bbf1e48866921fb959a98b2fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ast/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ast/firefox-72.0b1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "b3b169892ec8646abbb22ab31d24337f4203c8257a0827dbef0ff396fb5219af47e68e69f90fb874f4f09bb2144cdf5c8d5cf7d0f484b755e5ecb40c19c3a839";
+      sha512 = "7b2eb492eb80a8e57419fc6820a3befab3e7a8a52f467136894f02ccc2c6681e05718fa00316243a6928d43f9bae99345e389d058e03045c11866644fde2865f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/az/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/az/firefox-72.0b1.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "569a81642a725f184cc0abbf573bc92ae21efec93dce73572f46fdbc0319caa3da6a9f7e5066c7abe74d7636f27628ec5a87d243ff41a483e8f2f9eab6fbbf0d";
+      sha512 = "1fbbb997ad7661b9b7465327bf318971c5e94fdf5bb012b53da3901f1eb98d3b2f84600342dbc94f0368470ddf1f91f56577d0c63115b0fd0f917fc40acfeb6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/be/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/be/firefox-72.0b1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "9bb66208dc81e314fffe537fa229abc401e5d55fc6070e773d6cd167cc719019886b96625796bb20590e4313ea422d814ce4e2c6ddda8064ecf2d42bfdc2ac71";
+      sha512 = "504a77cd3af725f4b3a0c7c6bed5d498df706747d0f9de78b5d50b36721ec9eabf00bd8ce7302d6639fd18e98e9b2bece77da6020f287268107fce5c00f132e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bg/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/bg/firefox-72.0b1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "04f7a77b716d77e56d1f4997c6fff775a16e2bee5cb7a33e3aa87677b08dc5e62587be072d639bf383454a3e4d5cdb656589c8db1b42a79244e2103cd54be4f3";
+      sha512 = "df5a2fc79cbfd370c3dea0c3f0b6636c64ec268fb062e23e6b771d56ae0d36c51d466e69d655286dfc788cf54f2a7fdd741a72c6594c556d6f4fb694fc8b4b94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/bn/firefox-72.0b1.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "c3a03115b7f7599d2e6d1bdcee8fba27a967c05809bb29826dbac670b092cb6e290f1f9bd955b880fa87b99884530802644b1d32107ddc1704cc31a42452a570";
+      sha512 = "3f0621cd561965de7e4d29081c90d02811332a2ef1126c2cb0f5f033e2b18f6fbefa4d6fbe1041339a0426c0be8b70c5e13dab0a24f36aa1977011e75ac5f827";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/br/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/br/firefox-72.0b1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "2a556badf0e1a64b1dd1e47ceac5e3e8be24998eb4373e0fc03b63518200d41ddc5ccad4ee679993c80a63b63c38e3c4cd28b2a3c96d344210bde628e0d6dc27";
+      sha512 = "67e61763789f2f346ad6c62ddf6a8fd627b09c78c21b7507a5f3e1308971506e4e6c8dc13382134233ad449ff05684ed95fba17a13324749374e42b6969f0db1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/bs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/bs/firefox-72.0b1.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "909a21a318738fddf063f70489ac47648a16f666ce7ff93b152305fd3f932db939b71ee75e27131451ef14e3e0d5deb0c33cf4e9f0a174e1b369192261e28624";
+      sha512 = "423c420d9934a1c588e9bb32d2932d32d92e6493f42885ce99b76e553d291c16eb53d6b167fe139a4e858ac9ff108e63612f0277f7d1293021b6e24e973c6288";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ca-valencia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ca-valencia/firefox-72.0b1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha512 = "e7414535d0a0c0291de4076242dcf3e44405408d885adb551c951600f2565d524080064c8ad7d475d8e3e884667b99f99fd55df7266e9bd453c907216fb1af75";
+      sha512 = "14aaef4d823f32374d074389213b5f8c90c15b2cf68015c0ae0a70cb8404bf287c1ef7ac8f96de0f4b8dd00471dc108d4fcbf822495ad22fd19b6e2e461d94cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ca/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ca/firefox-72.0b1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "cbb1fc6cbe4a051afffb4c67d4bed4b97dd4511da4ee283bfc27400550a1a4cae2984f847892dd271472e6f09970fe5229f137220544785deca837dfe6f241e9";
+      sha512 = "771efae06949f8eddbfdbb1235430146a4bb6eefdaa219cb5734c39335879d97c657ddac38e9d64421d6e74f523795d95a9fe3747693e000a2013818bddc561f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cak/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/cak/firefox-72.0b1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "79cb0c91bc2d6567bdf0ef38672f35f1c5a484b8decf9efff8d9f907b26b5cad5bfc71c171185da0561abcc92889cfd7a8fd974a532cd9acfd6cc8e6bdd68ad1";
+      sha512 = "52db70e284e2183e7e2de4c800ee38ed6b3ae78dfb81d894ef343ea1eac3800fa5632d4821ec150bbb0d98fce94e9bf2fa73a4dd9836e3be999c67dc2257e7ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/cs/firefox-72.0b1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "b1a5d5619eece10b1d7e70e14857a0965175294808253238e3ab432585662d3c16c56bb6bb989225efbf271f1d4eecb3d20fd4561b0e8994538516d54fc9386b";
+      sha512 = "0303e95a749014b260c25cf23acc8b1b5c39d8a6f1688ea764aee8deedd9e8b0bc59eaf0397863e785a8d30f351170979d5732f03aa18e3f1cbd583bc77464ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/cy/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/cy/firefox-72.0b1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "3e06fc68797f371f918ed10b93f6984780e81344dfb014e790e02351d8afe72974c8234533683ec87d9cecb6e0ab49f5f1b7f61c9058c4ac275a5f79627c5827";
+      sha512 = "75307d5d2e7d4f38e105f167aab23afc1e3d99d28a25d53c6794800ec8753ba56fbf506567ccc861ba32b37469025b7d4ff85d43b4cec87df956b99df0a7f323";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/da/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/da/firefox-72.0b1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "ee90213314fa0ad3267c97eb00cd81205cef1df09a8cfaf162d707d8d3dfcd95e2ada11cd1458c988a7ab95df7a1eac55f7e2b3107c26690c39dcd5d441417ee";
+      sha512 = "2f5a8e80dde8856754cd9c1d784f8ea3591b786a03d9208710e3d617f250b8325bd78f37feff50dc8ed7a98fe4220e0cf05210d5cf32fb2aa7b9d92372272beb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/de/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/de/firefox-72.0b1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "9f1aee93429060eb0fd60a19b7622a4bead16b8c3609a00afacf7e41f437f6e2e75cc2b4bf7785e77d6e1bf1e51899a176c5fda3b3b88ca549da903ebb3ddfea";
+      sha512 = "cf9a5ba12ab71b3968bdb47a00b67827a60287edae4b6bb4c56faa455cde7112981e28b6f8922f0419b540ed2dcb7e8fbdb0705aed35c6b3892e80d571f7f305";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/dsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/dsb/firefox-72.0b1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "80d3b7edac9accbf47cacf8cd3e31b0568423b7e133a347508ed1ec6862d1f4a6558f975fe0bbb762888a25c37dc10e9b20a60ae9c4d313918bfb7f85cd0328d";
+      sha512 = "68c659ce7bce4a23d3d3cb9795de3b6cf08ba21298af1ca23ea53a514d7b18ff38c8b9397264593e983f3936e2a2c96d3514e74b07f4da25cb24d6f37dc60ccc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/el/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/el/firefox-72.0b1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "46f7b8931354ab171d60e5871091a0c214f0f9a7f4689ad8a59bebf48343cc390c4ab38840d21536a3c32c1cce59307402e542cac5ed056efc5f33009f6ead17";
+      sha512 = "1882c2572fdaf0af52bdd753493c56ba792786adc71934042726ac211ac91e7d6e53539ad8ebf243271ab0ea72aec8637c3ac054182862ef0399f51458803883";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-CA/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/en-CA/firefox-72.0b1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "74ee6da165e6e35d511b9d0a715d4bbc85541014728b1bf8bd526a3ffcbd5794afd9f00d8298ed194713a9053ad514434cbed7d4e34a342149de9f2ee2e0f126";
+      sha512 = "0eed1a4b83c67b58d94f932941270e4494d580c73e371db8d81673d51c1515ca90e89872412e0863b63bd4840a6516c11fcfe851eeefdab7e5285e70aec8e688";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-GB/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/en-GB/firefox-72.0b1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "1c84689bd6861752b2bc4530b4eeed8809b37f02dcb57d01716cbc347e6e161615046e81680db751acadd4f8d46e83b0d5c00b0702c7ba522148e89313a47b31";
+      sha512 = "b71ea6c6abdbc8fd40992fc06289287faebabc05bdae82ee85349a00d23ff28101002072d7009820ff77ccfe295480367bd086d1b96cbfd0481c74bc825e68cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/en-US/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/en-US/firefox-72.0b1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "1750ea484b386b845e299b4ae7f7d3e6942ba3c765d09c6b94dc0d1d7da011e17ae05f84f379a0fceeb6df54a3e81f61f5c334886feed094bb630d62371ccc1f";
+      sha512 = "2bbe30423934f412ab375efd553f5a0599c2b472af47eb436bca892bd9744404d1c30c505205f5f140c9b32b106c5a9bc1e6b80421b130a4fbf3b30ee954d20f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/eo/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/eo/firefox-72.0b1.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "b67e3423ac2801dfd80423b5faad2b1a216148fd5149fd787827f03745061d808e77ed352e21081f033129de2fec94b0951a16435357ced8dab23a8594e766ee";
+      sha512 = "6dc03cde7d22cdfddcbaed5e046570d61c3269bcc57669c53f0cda181042726dd67459b08905bf9bf4319dc0d0748d17435423792a55c271865805e2a45e8e46";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-AR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/es-AR/firefox-72.0b1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "222aa7f906ddb829d6d95ad0ff64f080c26766f4ce83ba971e0e2a8996e471398882de24cae3f3fb51206c67ee7e1022d8a7d3d86ba70fc3147a2b914e4186bd";
+      sha512 = "b9bfad1022b11b3c3d8a40dede39d0e093c8b57d0fea226a9fcba289930cc5396f80d94bbce225e1e98051cdd9d75f17a9f45c2511b2153383cdf7c1a792442f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-CL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/es-CL/firefox-72.0b1.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "9cec91d7c17c7c2fdf2a2507e71cb25c10b997de98f2a4e33a4fdf8aadf39c2ad9a539b15413a76dd86f8a0c370e8fd7ec1822cb3eab9917fe4395b57a8123ff";
+      sha512 = "7053984c7a2202b8c81afb03f6b14210beaa1f2a70b3fdbdce8d4373b76b9d07e209987a88e6951647c4508ea217f73a5db962cae2ae491e56030bf11f909c23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-ES/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/es-ES/firefox-72.0b1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "f609a5a48417746b5c64f9765c067648581566b8ef3aa6935a9de9f08df12034f4e2f0af839d76e2adc1646244ffa58b1d50e4b4f8970ef043985c3e60ba9e6c";
+      sha512 = "3953a554d0e72fc6300249dc4f86d2e58719207b143020af2ee158576b89a28c75dd89e4c9e8e6c20926c06030eccf2cc7cc6f15d225ef9427c9c173dbd58396";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/es-MX/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/es-MX/firefox-72.0b1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "34743906e3f6f7add3727c876f44aa21af08c178614940363cdf788fe54dc20a582c7d36eaf242355cdf31664aed7d807c8acf361aaf535d97e4ee06e4f4b219";
+      sha512 = "62f1d1a308652f4913fee16225ea32f99dff419abe9e8e4263947bb6b79b1c0d48450a31c23645b04844bda33c622d5f196d55102ab74d1351b66c7345a840c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/et/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/et/firefox-72.0b1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "ffab3566060d248bd7c113f9ab462d6226893269eda244dc1e4c609456a987cbd0f66bfcd5478f097d9748eb0499e9d666d147cb989a3084a74a97dab5193afe";
+      sha512 = "63ecd962b9b7eabd453d66e43f7a051fb31794103eeeb09654691e41e4e48700d3d37f312f6404c93f29b8585d543a3d90effd912ac4dd8620a7d4eea99a6074";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/eu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/eu/firefox-72.0b1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "3ebbf87b65150cd8450287341f2357c8e8c102a80b91b61defd7800153e3b53f44d93825504dd1f818b82548835faa1324643bb7e484506f0b193043994c957d";
+      sha512 = "d6da7e8e785fe0c013d0e661f106edce47c0faae03262d901589669508e43e3c3469b324227a26299051acea76c344f42a0b00891ad6b70f88bb56a0a1641d5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fa/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/fa/firefox-72.0b1.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "4ca347f377339c31f75c5dae713589a834f4f50d594a060cf3e2c07d1da8318013302f23f43973e0db8cb3f3cf42abfdba0357a085b8bb74fe9851c5c798933b";
+      sha512 = "1f695fa00284489ed46f32752d22592a96f20c52e5cb2eea69614ea4024db81ae1e0bb7acc67b47d1920a60ebff1d1a95e5cf2ce637704a2365149db7600de7c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ff/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ff/firefox-72.0b1.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "595763867baa20475057a576171d6ef3c1399a29c7a80a1e61822ddc71670a3ffbc4aa8b99dd857d91fda1e00ad1aa129bc79bb0cfc9f53f1147bb6c0c9114f0";
+      sha512 = "e3a6ed1ff504bc85c64482f9c19da02cf26c0e45cfecdc06369f3929fe42e21514067eae993cc7823a173f67c8d3a6e5d050816b930106f99ab69c4f868574f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/fi/firefox-72.0b1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "92dc11a2e77b7286932067f3ac45f4bad752fbbb2649dd6ad9b5e5dde2838e4881aa26143b77775964149e2ee877dc5f38da2d203e1c04db1b1e2f24cb879768";
+      sha512 = "5e269698a17b786be418a1e629f0ca3bb3b6149e35d3aef67c2cb51427ce3dbd1190d158a9bd1b8ace95cd7f447c4318cecd203015f8034150d3c3df06b25806";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/fr/firefox-72.0b1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "37e23c8386568b68603e499153e3e258a56af45eb334255023b48c32b8dae32145460b849701def48ddb812314bb0c881766d68219408cebfa2e518eab2900f4";
+      sha512 = "ed10443d0a30675ef9622d990c53c45c3c10e42b00609b993ac2fa8be91fccf3a4c763e4a508881d659f2af495e9940c1c38cec52beaf2a1959306e46cac33dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/fy-NL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/fy-NL/firefox-72.0b1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "dee303e4b71814940f8910c6ed2686cb388e4c63d18fb88cda4437161f9fe60f65cb5c6bdcefeac4f56c321dc60a38ad77c2b1e2f83edfc54d8a87ec1f85abec";
+      sha512 = "befcfb7a77b3c91089be60e44e67428927fd560908000cc8310646570ee2f2e0828e373ff2ff8d3a5bd80a25279fd125094002f450981f3ec36754d777bfba66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ga-IE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ga-IE/firefox-72.0b1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "408bbb2f7cb351505330132974267ceaa90a86aef27d6194338810c40770bbe54d72945b1cf54a2b59d87331480d5bcf5ed6c327c65e890126ae0003840e4f18";
+      sha512 = "6c64399215ee965d803bfe737be0a26f63ff0c61f585ab4ffec6d732d47da367e1a6ef6663bcd51476215be2cd5263108c8bfdc22af8e8a0f44db59aa537dc03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gd/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/gd/firefox-72.0b1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "0ab9ef7d43cde2ae8042ccc16b1f82552e5ec09d9ccf23291bc19b2d53524cca34bd61c090c317b0c5d53cd93d5a994b38a3abbe636338a7a508966f7404da2d";
+      sha512 = "48e020887125369be015342211b5b2c1b24f8c2ca25a39a48abb913bc55f1f041e71d979bc6e18d1f2eba7e17fb841ce9c14b495963a5131727821f6fd69a7e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/gl/firefox-72.0b1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "71711dc42fc674efe4df9bc1eb3b3f51a6df9eeaa919d21b65585e62fc6fb33f357da9708f25b7ae2d111353302b06230fd5279749788d8c06d802fbbb6b38d6";
+      sha512 = "71eaf5d31589e21f955c7f48c33c5d3ff5a7e38149a8bfd2bacbd955695363da805455f2a9949c779d161b9476ca265eb0241ddd2518a633a4b999f1570f6d9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/gn/firefox-72.0b1.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "dd810f573d203220c588f1daf82628a62e771a8a5186d467675839fe94774f9c7a5741a8066b273d62f79ddcd9ac628248e651ffa379f7c7b13ec52375315573";
+      sha512 = "49bb11d0c0c83719c2da908bfe3d06c24d0d9a43f459e1f72cdecc564beac9110ac03e5fd790573419e657668f1f89067f7476f96184542feba1acb9943e3e79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/gu-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/gu-IN/firefox-72.0b1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "c63b5ace09a07075cd274bcc9487cc8c8f2ee738b42b5206354d997d1b29ec8c2c83f3dca89902e90c5bd7c5f96b2e4ae707bf6ef519d8f6d7a1d979523c5bb2";
+      sha512 = "e01114aa90698dc579e3c081f71a332f474158ca5d9fd84c1bd5f3c373efd6b79268ad5f32b2aa61f475d1c0de493855b5da4276ed4e2dee978b75c26964b6b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/he/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/he/firefox-72.0b1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "c46460435482c73884d62ef77c8f92d3b09a2bd4b4485b1ce4f48d80e9695615df42869f1b5cacebd7b9062022cd7868bf25ea0995457490057667144608a4d1";
+      sha512 = "11b128561a00e8ac157ff2bc78fc2f6a58d4c215437d2e7da2c556111475d046d7c0584dae2645fa8d435bf9f5d1dbcc88a2c3d6d50bbcbea20da25fce6d1fb8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hi-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/hi-IN/firefox-72.0b1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "22e6d02c3934c6ebd7bee848672ab28d8363bc178646d33254e9fcbbd6790c92b121b36c429b6aae422e4cbdeec26158f0a1533dfa601ed465659c706f7b934f";
+      sha512 = "f7a3beef04e827dc50e39e4707519d1003cf44397f731d81de4df48ff04d86250ff01260116e9eed2ab0296bc3ced1b3ce585e25fa6edb97a6279b76f06e30f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/hr/firefox-72.0b1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "f07d9a3e06a4957a0d614bc45578c497a9ef2f21e39132943840d6bd6d51aafb5a88925fb9b6348f1de55ef831f14a20939685fd79a7dacf0cec42e6281483ef";
+      sha512 = "113176a7a3b7db097cda263c528c154474a3d94aa6dbbc5e2435837a7f8ce5afda7e3ac135af0a869f7ba72f489752c3eb5ae32d0cb2f4fd26d259470a483d84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/hsb/firefox-72.0b1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "5efb205a729e7ed3d16ec3459f544b138fddfd70cf7494b12e31c9879cde18ba0c2f1ebaf2b9085a9af5e17aa066b48a4e52c959627eeddac8d025bce7924934";
+      sha512 = "e1bc34a5aaf68e65e734424f73c20b4bba2d7b6d41cead5f0994bf27d810f6b295f1f2359e6a8bb0b4bc9775be2033bab27c617cff8407a808c0f347b4ab379b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/hu/firefox-72.0b1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "4cc9d7c92e285d9100df3ff3e9ce0f8dcf803b540dd8c87835179544dc9f252eab68135d0f67f0626829c918e8ade6826a4ad87da69efcb23e36a85390009217";
+      sha512 = "f100c1b0ae3dc36bf52a200615b6a32d7360d0fe9d7ce8017919b29228c2290359509f8982c385a3f446f7b13d729cf9dc0bad0102d9b2c19cada9f0b6bbd0ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/hy-AM/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/hy-AM/firefox-72.0b1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "11c6a61219789b23791461f6f4ebba4e726e5dfc53b7fb1ae2f23b602b75d770edc8399f55bf2dadb863fee5953cb118ee2ec931c3b9a5d4df3b307526a89619";
+      sha512 = "04c27328f5bba88173baeae2bb5e28411643b62f48fb88464d32b9e8c660c14f04e124fa5de71c63d3e193dfa00c1136e30e71d6cc7c2d7094f11021a3db3abe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ia/firefox-72.0b1.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "feebcec542b539c41b592116c5dfba3b88179d87d0a83090641079a1705b7c275c1fa8c7bb8dc31ed0a06ec62acf42dd2e39700f6b71b408182870f8c2d971d7";
+      sha512 = "66dfcb504d5f31988f5b3e8ec3cdd88957d561e4523e5163654fb4bf30703d0e0f7ecc53e2efdcb0b51a3c9f12b535b181a1dcd8dffa3af9026e12c4bf1ec443";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/id/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/id/firefox-72.0b1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "dba5e3ee99597d7bb615473b9715b1862bde5e45a631320e6a4c50f1b497a0c42f585ecff67d6728075821f19c83d9497788f7e4cf34573b4139eb2a164de004";
+      sha512 = "ecf1419f38df71524fd0bda9dfbf4fd4dd8a46c4e21ccdc7b09ec5e2462594314fc6928d4e828e67616edf3444ace3ee4f770b59b3c505484b7c48033e96ccc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/is/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/is/firefox-72.0b1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "d2078a7faa0edd5f5210bc5e4c7ee53a303aa6420b8ca8dc1ab764e17e141acb8412bb732457946380c4cbb0199b672a0841cdba3097bfd6e69bff6947bbbb97";
+      sha512 = "f5fd235fa5e27538c79cbb55468cad2f9803837a664170506b597fbf1ecda22c4e308279a064407e8f78cf29f921065ea30f15e8ce9c2eabb946ea52b198527d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/it/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/it/firefox-72.0b1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "55787b6d2cd8013414897da4b279e0937d54488bcef35c63753633ec0f56c8dc0c10508f06e90146e3c4ebe1f381229801a994cb497f2fc1bcbf78f8abab1ac1";
+      sha512 = "4f948edb53afe26e30849c000e092261de21179defb4b5308027cd219ec3121c283f1ffef5237fb7a4510ffa9acdd0b8c0a0a0b03e0bcd5af31bbd53e197ea58";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ja/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ja/firefox-72.0b1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "02a316992254fef959a1618dba98730270cd751074330e6719fa45ac1a8b2c32cda90ce11b453b950ba4e1c679035c582aa472119676c5ea1bf623fe70367bc6";
+      sha512 = "16ba327bd4bb6fb07928b1c6cfbfe0495e3c55117363304724e518b07d09cd3779fb788a437686c47b872e2208823c0342fca5e49bfd2db76f2e887f496fc9bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ka/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ka/firefox-72.0b1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "f5d93a5c47ba9eb7b1deb7a590a9fdf3d3567cfadae779c44c6360245f371f1feb14d64eb70d1538426a9a6005885d115826c11f673006028eb1b484bf0568ff";
+      sha512 = "d9e641f1b72978e94d645c2ab41dffa85cd85bee04e571c88ce7bee81634793656a9c40c027df5152030dce48be16383b2b5a79d8304dd1f8673f88ed1273982";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kab/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/kab/firefox-72.0b1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "718cce9a90139abd0027c7c730ac5e5db95922d0960744481e05a4557926b62683df71052b5162ac614648def658909880de1ba5fb71b5b30975b0f97fb7013d";
+      sha512 = "34b7e9ad87a01e1689bb5dff81cbef3606f1d03e9229fe8ff22a19050975a248e944ec8d54b0385bfee97f934494d120de7bb74c67e74baf3cabeaff67aa1b1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/kk/firefox-72.0b1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "1ec72e2a607b302878c30d78135ec7339d2e4a88f1e1f638aad0d21818c638bc6980fcf9b2319d6c1b4a32814a51ace010fc4ec1795415275ea0c6f7782755fc";
+      sha512 = "630c795dce5984dddbc549b480b462399c1303079592126615057199566adfc0826d14656e5f7e0f9cea18c23dcf032ecad3f1c9c1774f0cb7fba260484e99d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/km/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/km/firefox-72.0b1.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "bc378c99b85df9c63e03824f3462ebbd84ece0b10eb4676d4e4c7deecdcb73945c63087628605a3370df4bad9b978c39728a157cfb96eb038faf9a3c65c49dda";
+      sha512 = "ca5b4a800b7c5a33e982d737363481325b703e6466e5cf41af970e3f7adb2404cba5f76bff40ade3e2c9552080a463c4f7c02de1719347818cc3b994146749a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/kn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/kn/firefox-72.0b1.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "d7c902977156686b23b29c02386a743974e9d903cdd8b15b6761397e0fcaa94b83052603d9c807fa6914aad2101cb26fea6e767dfa101ff7b610751403786c4d";
+      sha512 = "effd60c68c1824b7c52a12c08c4a3919754e6ba206c0163924374c2f9bfed832f11f6ba4ec55d61ca826f2110d01c1e3cc2a984109f339fe15de1423a4f0bb9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ko/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ko/firefox-72.0b1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "a7424b79e8d1ab631dac6dea38bf999cc7c998fc8dc96ac4955c00205d0ca397a57c37cafd74fa431f29e88feb0fa5abc1b8e46dc11d36c932ad1a0c4637ade8";
+      sha512 = "08f78cb4748354164f387735177adf6687e85139ef514fcc0372ec03779ef4de407be78388b0d5f2462b45f8e2d7507ee0a30c4e64c837b8630515593019f07d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lij/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/lij/firefox-72.0b1.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "d80efe8613a1f9d0ed95a71df8245b29e078a3d7eb1ef574953a35018a3198a2f30cacf17467857ec7a943b174538a528cb19b3f787ae5411fdc845a9ace085b";
+      sha512 = "ea280bd610170de2b42b6a9a3a945dea9b4c8fe0ecd90972c9e8283185ae6060c58c16fb7baa5295775bb037489c6b872cc52bb903c85c705ef1c29b81082e3c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lt/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/lt/firefox-72.0b1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "b4b93a59ea67315a623136629d66baa46e389fe01d1a6eb2cceafbc8e25570dd91d830fb3a7120c7c59e42d7ce24c23109aeb6a289756797214d6ca80a1661ba";
+      sha512 = "c0aa75a01f157e737c8b93020f737bb23cd063955589fe2a35a5a99d3aa927efc54a7ea924878f060935c488a87ae4d76435a554671359640557f1f48e4f79e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/lv/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/lv/firefox-72.0b1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "f4e2d4cb15586b96f66818f21b35ee368acbdb5dc546b1df5aa20fb59ca5d4a2dc6ec2b08427af1622756369d67997e9bf8130a6370696219dc6f44e3a2ac557";
+      sha512 = "68a7d023b25023a67c37398fde4a2cb89faffbbe2afa8590173e3cc63aaaf0bd48ec586aa81f56964ad8c4707e4d8fa94a7a90884f9a6103eb8ccfa5feecbe06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/mk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/mk/firefox-72.0b1.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "ef1f17ccde55e097ac1eb8a522749d1b8c4f10a45920fd9771676758f59b396372e38b420c11614cbadcf26f1d109a9051ce8266d567c7064d9fdc771153446e";
+      sha512 = "35aaf6b35db4bd696b04f56ac5bdad2c9b8e1f13852a93495cf0b832442aad52efd0a5775da0e2c462db29fd8610b766b5e75011edd7a9a0847cd9f870eeddee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/mr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/mr/firefox-72.0b1.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "c3a8924dc813d9b34f55e87f984cc735156dfc1b1f840f5867e0539297ab3ec09c008bf44978411d7fc821d5671a49a0a53acde10eea847d2855fff80d40ec29";
+      sha512 = "07ea92c452972e00b8237410db062d1feb35f84c0a6ad07e53d352e4ac080b0323c49b4e65389dff7d44e8a65c0beb0dcb8f39a52ae2bdc39d1128736e28a008";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ms/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ms/firefox-72.0b1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "1186bd1679a713d2e79d11422332fa9f3e600c1a9ce1e8e26338e06d5ca97e2ee1d2f0dc657a78fa9590dd0421545cab3b08f4cb000af37033cb06c1b75adeae";
+      sha512 = "385252c7597f22b7f8aff116b4c359909fd275f1d33ee1f7efbe23f031fa937be1defa191e8dcabeb8d62034d37db4517876313aa596f6ff10280ae4978471d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/my/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/my/firefox-72.0b1.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "fd99f7e218ebf570ee1dd8473fe9896fce2855b591aa25cbe03f5f78b0e36bc4587efe5630efe95023a16fd87dc5c221916bcaf0a5423e2a7d3f1fbf015c3c07";
+      sha512 = "2497e278d41bc299558cc553a1cd16b4234db57c01508a30bbc294a58797ddaeb710deae24551bb37a351efa6d60ff38a8f1b0fa7c8aa5a624bffaeff9191b59";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nb-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/nb-NO/firefox-72.0b1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "fcf0e084f20ae15c820193180a541576968cacb0bba58821547811c761cbe4949f0e8e93bf0713e0d21fce885c5414ed3ff84925cca51e1ed4f5d8df520ae53c";
+      sha512 = "1fa5eb81b32a5725b726ea5f1e64c8409be632f88c2eeb24812e66a376aef8d3d3abbf9edf5f10b8df845f18cfad7e1deaf3ab9b985c055a3036015a2ca6874e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ne-NP/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ne-NP/firefox-72.0b1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "6037ec1a95694c099850629d0048612984e9248622bf7527ffe4fa143644dce7c009d849b46e1ec55d4d33b306fdf9fe3d3ccd78071f63fa2cd7f6038705c033";
+      sha512 = "6bed7091e5cd646adbfa679a625cf718055d7497383875d52baffd3aad7f9b9241e601630f108c3a8471a513e08b171a960d7c08257fc3ea43cead9a32f42d0e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/nl/firefox-72.0b1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "ad3ad9dd0df03c5e702f33e67810c32eff250f951970ece9517f1869fc95335d65e50547b45073051b0113b5bcd071052b4a3ebfe1cfa5167ebce4835a976c7e";
+      sha512 = "8caa50a47f4cfa1f3f0d1f86caf176705c32735ef65e919e8b468204121151cfbe5ca137d04d53a7a4e9d0b0efd5c72de493b421f1b53a3228466e8aa0e64f44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/nn-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/nn-NO/firefox-72.0b1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "efdcbf3b646ab11d0671ae09f15060e3f88462d869aafafdd7b2833e841753e1abbd5c115a94a1c9214b277e2d12a85600a425be3b913d1a66b49278b4c762b1";
+      sha512 = "380ac7be6c125b42cae6323cc1cf19d3ba7a3ff9b3215be36145d7a8ef10ffb41d3f9f9d8b74fff24661b50bf4cf762f5f55a5f50fc259efedaef5533041143a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/oc/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/oc/firefox-72.0b1.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "3806bd7ea0343a74fa4d66d6ed30090f9bf33ef3e2bb1c40a55a3ed38be0ad24bfe6d35a4c0bdadaa9100404d7d704e0dffb6f6887210523394fd18c09c6cb4b";
+      sha512 = "76217950974d18e0e91efd822325ae60ab16f61fca116ff9502417e55cf1b44ba2ced2ec2a7c570244874ad3295e5fb52201bc414abc69e031db028f1d00f8b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pa-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/pa-IN/firefox-72.0b1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "09a4b17b01ad77898499b17a3e8c174d1f35097def6d807cd602a5539edcda49c10db27fe98e738a78bbc5932f4bc0d956e3ad296dba79ff4ccce6fa50ae2f4a";
+      sha512 = "0cac1ca8ec57125fa7a34c65e253cc04b41254eb23ac3cd8cfa403e2d44d1a285ff2479da9f7c9ca2c767749cabcca9adc9fa64587c0cf69f4e96d865ea3c7b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/pl/firefox-72.0b1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "33996f6536932629f0d55c17f93f79d81e9bf2a83246fa5587ab8304ce4ce5b2c7e7151d447701abf3c359171cb45855b28ea3b5fd5c64f65dadcdca80ab060e";
+      sha512 = "c9411bde243762825f8a655b8a4582fae1a1ce15cc1d0c64a850514d5832d8ed25900376697ab7bc9ca9e9e510db2ebec2c1e919f2d35bc4128f44f216a24364";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pt-BR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/pt-BR/firefox-72.0b1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "6e579f3e70bd30174422aeadd39fb0be373cc5d0f1e34fa75209177466c75710f90a0a3165980f794f4d7a2f701a59b2ea4fdc3cd8e39ddc09630442e09b44d8";
+      sha512 = "c0e914dd8fad4e4e95cd13e3631a7ea73e04fe9b2c1bcc942679d8085cde5d7e95295f0e8e5536270ec2e26dfc41aa76661a75eac6fbfc6cf756b36b67b260a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/pt-PT/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/pt-PT/firefox-72.0b1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "0ca174389788cf9bbdff7b3193c13cb2f1aa83d1d7f967efbda3855d8606d2318b840f65f25d0b7abb5e1466b8b8f7bdf1f4d3a0b33379343510838f447de3ad";
+      sha512 = "11cbd3b6b024544074865ab0c3739a38f025f4557fffa1043dca26d3674fba32ffe3944866d743f968ed655fb85002a71bcaa84ab7fd513a356cdf572a19abe2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/rm/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/rm/firefox-72.0b1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "9c2c762724c503fb81e9e55fc3e333caabb81e6d063a756385b51658866c58dc07190f5bebec27e317731145c763ac7aed7fb53692de15c68c78260e3f518193";
+      sha512 = "081bd7164aa3215cd2938874222cfa61107c3cb185d193c5a257d08d75164aa546c8fad88d71d922d6c192e8e2e5dce9b8396aef7c458d0efa1b9b3ae4ad8f5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ro/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ro/firefox-72.0b1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "80b5f9e7d1a9ffaefcf28f7c5ff4dc2f5d8ebfc9274d674c396bd2569e5309ba7e224da176c84a943749a605ca6634f7441c8f81225f6f8ed4912ca48409bc5c";
+      sha512 = "19085269e6999f685b71988a8eafd708e3913bc61c1b87668aeba6c8802e13e90641ab05f082f760d776019ff458d6178ec7e005b88e612eb9dcc917a194e112";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ru/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ru/firefox-72.0b1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "63910164184c3c81d22c1d6b4450502eca4dafcbe62b015b3bcd3f47772ab482d979f2e34f050e219b5a87466bf3ebeff896cf27055669a2ffcde313e1948701";
+      sha512 = "01a41264ca578c2345f7b018b86a68ffcf420495a702806b5dff98c678a67ed37fabddb2d3fc74f34a0c57b506539d6b00d9fbf5fefda15afe3882bd6d82da26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/si/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/si/firefox-72.0b1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "79dd2082a8de6ff7ae9f3f47d5372b0a234441dadd428cafec544dc527b43d01434c49f5cb47da2c689b4b9cf8a45aff7f73064aba470bee84bd2b13af8f1aa5";
+      sha512 = "81d444ca045572c75e052ecfcfc656631f713e11b9e164b365cda2312d6c0b981213d55dcaebca404e2c173cb6170fda0240d3adee9c6d66ab038342207a2833";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/sk/firefox-72.0b1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "bb2cf2e3546f5d2b5a1c163165ff37461d4aae87db6b7f2b9e340f56dc60c29d806e2b699ebca6b00c1cf1bc8d74db2f72fd3dff9c4a7aeec0a03d93a23af73d";
+      sha512 = "fb390c661f66b800f25ab472e80653870f03b5b0d1fa0ccaf01cefe1df296b21fa138a8ba8cdb96c66aab8b8295edf56ef2cd6477c5122e33c8a7a9f90877c8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/sl/firefox-72.0b1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "25f0f66b27f03c5b2e69f40da350db53a78b756a1ad7dc47453c33a2f6c62d558572f47c8159701805513baaa5b598d31101b7fee98f87f37366f85703033927";
+      sha512 = "36b0b271aaea9568425e29405caa4009154fd878fb51d60813ee8cec9bd2907aec78923e7989ee3f9ff51f48e271745820eceaa06fe8541eac2993c1713db8c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/son/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/son/firefox-72.0b1.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "2dd69052b1ea296e9c49a72a4c2f6a00c35f168ad162a86f101a0c6201a19aacca3ec8f98f2fdb13571359a2d6380d9ea9e33be9ebf74271f117becc72b09152";
+      sha512 = "37827ffbacfef8169dd846e4aa73870bbb9edf67c061d82f06bd86b9d8f87c69219491f4b25286d2a08e9a942c3039c6c1a366baed4c0a167065d349c4b3e232";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sq/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/sq/firefox-72.0b1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "bbb9241e921837d7393ac562078be01085ede14e73f1179c6e07f59360026f6d5c2220a0067fed096526bb39660dfcc66100c8ecedc42dfa89b93499536720cc";
+      sha512 = "b42ed52fc52f9ac0de7892f7badae1fc54abb1c633d501c35bdc0a1ef9be7ce5d45680fb8344f532c153fe2d54a6e3cc7bfe1bbfa19d30473f8ec07417bd1fa7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/sr/firefox-72.0b1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "1cea129186274ba3491829882bf51eb4199446b3c894b4c1e5bd010252564d9e0724401e700692bf9c2939074b69751bc7fc988fc63da5f4726a0e4d62837c38";
+      sha512 = "d6c91f1c7d3684f332f8ab21c6d6e4a443c6b3db8b10577af7b3266ca901ccb4948aada3e74317a2707b6f1f9f4bf145d12a8f375235d14e6dc09bb94bb03a5b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/sv-SE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/sv-SE/firefox-72.0b1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "6e7adbfb820f093fae4c2f2ea9f74e5d1ed91cd5a0f84ef3d53a2efe966af82fa5eeca32c3045ac1e575504e4322ed2aeaa5175d7ded1241d59fd7cafe42231d";
+      sha512 = "8e26c136dba0eb164f2f3fc9dca81675eb8f5bd37e78a87e394d4a995e87c0d83515974cf55a8742b218d443d96633a42bc42e02db0e13d9020bd5f1b3a4c46b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ta/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ta/firefox-72.0b1.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "9fbe15bc81d2c7ea84c50f77e209b07df049d740ce0985fe3bd3457aee87bb59ec60bd61700909986253d022332e536139e6c637d4cf7ff67248397fd13ec76f";
+      sha512 = "9ee2bd05b94b2e128930330567aca68d437fc26e06e2f43d7c182ea0c1d7b72ccea6521d9cce808d0d5b13320fcb950d1990dbf9c9e1e6c2d6a65d482b0fd2af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/te/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/te/firefox-72.0b1.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "5ec78316c5f940dad34b8a847bb7057196dedd28235dda8d25f9155b2e6a660eb3639a95699cb8d8dbf90ccb2cb8d840f96d6f6821317fbe5cd92773a745dee1";
+      sha512 = "205f3ee5374e383975fc2b8fff800b29517a1519ac932443782b83173b74dce8200d44a1fec89972566fa3c61d2541a0c089d40ab5ed2917dc61eb3603390103";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/th/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/th/firefox-72.0b1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "98caad307d4e72c3c1225249055b9039582a90c0a68b95c6ab4781c3e676833111de3dd88f4bf6280569e32ad8a8413cc7943a0e4b1c22abd1e59fd8463225de";
+      sha512 = "5c9340a8a3d969048edbe2ec6db6cbbfd31e0fe59598747d524081f9af3cc375dee3bd17d217a013052aa7531422b664b4c2c8937dc3dd5d2c32b3a4214cb2de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/tl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/tl/firefox-72.0b1.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha512 = "908a3bdce2d2b803ae50adf856671f2f1a2af2c4b7c603e6be166adc13028fccf2f8b6cee2dbafc20050d6cc1cad52ac76135200da32a859657a7f6ad175fdf3";
+      sha512 = "7add824a4278423a9880e246b25724e1eac1967149fa687db67aed21a01cb4d9b190e224c09b79c8a0ccd0fcc13f1d45db603871a325d2bf362334d94bc39751";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/tr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/tr/firefox-72.0b1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "c5cd41468c8a41b711301b05716840df7b9f536f435bb5938f46a6d7affc722b8c12bb6d9840d6c47e07b4dbd52d94f8c189b728780086114f8e07037282773e";
+      sha512 = "20b0a1e038bfed992e8d36d248eb47532474163aa8cc6082cc134f6049350556ab8f5bb6a5a5f72919177cf6ebcb85da922f11e83beba5a745e2664228947800";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/trs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/trs/firefox-72.0b1.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha512 = "f83946fa8d121f8dd3a51707cf1fe25e4731fa9ee43d6889ac36319d4df8c9339eabe95db2ea5c01064fdeed8331ceecb3e13678b012e25a215519b0bab91f6d";
+      sha512 = "88a67f3ac76327ec8d922dec3d5a2982283ccb4b23c1f620468a798c9afdb7c65211c696b7f0ee965ef9c18d5d6a9affecedbcd30490db6c16b4eac2afca4698";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/uk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/uk/firefox-72.0b1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "2692fe4c88ca6d23e8d4aacaeb939b753393543bb1da2265c58fea5c587232c2b63043dbd6f7eb853c3617d30e707b99782fa683fd7ec4de8ed18fa748760347";
+      sha512 = "56e8501269e1d21141ac41af5773852e0e002590aaf2f9c39b35fbd56766cae670c07733e2e26142b7e76a36438e31e74b3b23042476286dba406518ab6d866e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/ur/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/ur/firefox-72.0b1.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "a8865d0c69a3f72e1b9adc7cf63a6987c4e1e46cdfc4ac31f26c48d14c175c0c1784933458eba132be6e1f580764846107df905eec51b071492b823c5d312db4";
+      sha512 = "02f882154179c0989623172efa0892e1fdd100ed12d6a2debb65f2897d59ca417396778177bbfdbfbb037eee997c614f368ec09f8e5bbe0414852c7a2f8e0a05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/uz/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/uz/firefox-72.0b1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "4cabb95e02a86579f95937b149dceab678b6bc117c8684d9204efc5d9d05fa4b04372d38da0a17e66b7e69c9d5165b1adfa43d45a2e7bb6189e135ddf95fe3b1";
+      sha512 = "7c5e6c143a3f1f66a264e72a6cceab0e91b4bf454accc828baa06900e0957673100d8d7bec0f3da27fb59488d481596d38285bd1fbf3252871ee943ec8c9a173";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/vi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/vi/firefox-72.0b1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "0ddebe6d31fec59f2c18541082d0a0ab0dcd0ee3ccec2e895aa026781297676c31f0a58aa2bc395c6764a0b3b911a940e00cbee159d4c40f45554a6f07e12ea4";
+      sha512 = "30caf388c247aba971c918b6e257c5aa52798ba23621017385d8e11fdf1ac642dab3e1f21de136fb57a0f81a302817ba1898c8cdafd4d81e499ee89f8ee61d7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/xh/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/xh/firefox-72.0b1.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "178c1fe904c66c226c7e2ccbe1142d101ad9e8ae59aed276535d7dd9afdaea17e23460c27a656322bd23a72b9764c3359af63ac16d3d11fc495712f70179aafe";
+      sha512 = "adfe98bc488840a705265de808d954119dd8f8c043614c3701bc8323f72c5b483e5211d569469bbded6c3aeb4e29ca5d8fc856a021a306952ce4aae46385ab46";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/zh-CN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/zh-CN/firefox-72.0b1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "a648144767874c9dd0a6c66deeb4397b48a047a7c72168bc4597b2a0e30c557d60f8729400715b1cb003027f727eacd8161b0b19d7d2ae5176442de0e220bbfd";
+      sha512 = "d1db18cf7ae27887e27528516e7613a8142618d0eabd049c7239cf675f13269d604008974b928768af9e872fdfa9152b59b1bc73631e6452302304325f3df8e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0b6/linux-i686/zh-TW/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/72.0b1/linux-i686/zh-TW/firefox-72.0b1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "c401b4fa658e8a0ae045bcc3488695cb619d8db7fb2ac74d7365e9f2c7b2fe7be1e2eaa63ce8c426f3c3e5d5a77f4ae019e6982879cca6d4aa6b54264d414078";
+      sha512 = "b7d53daba40fb035d6f9cce848ad96865b934e6631cc37cacae4f7ac31ee739909a9838ecc093b298f23d59c1255e7578ad307bdcb4318b84e99514e4d130501";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 537a30c01a2..c9dbe6ba4b9 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -32,7 +32,7 @@
 , libgnomeui
 , libnotify
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -126,7 +126,7 @@ stdenv.mkDerivation {
       libgnome
       libgnomeui
       libnotify
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index 353b350f5fb..4b74eda90b8 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,965 +1,965 @@
 {
-  version = "71.0b6";
+  version = "72.0b1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ach/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ach/firefox-72.0b1.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "4832f3ba706224a472f19f5ee75cd11d776e2f90a64660903044db05dc125f2847441e7f0c033d3164bafe52ba9520d6f18f2233c366774af256b206bb719684";
+      sha512 = "a47d13494e429765127e558d9bea03ba7619f3684988d8d1734804c9493abd17439fb7de96c1aac3a3170bf837cf813cad10f8735c735e209ed9f332c986eb38";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/af/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/af/firefox-72.0b1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "591fd8f1e35837e02b4f245741baa8e17cc768146a319b64c3a29860de25cbe83a7ef10e0874888f091df231e87aa0c5b66e4a0a0bdbc91e4e68693d0b2e9fbe";
+      sha512 = "02d81e4ba9290df20a7833458ccc51c63569e5520be6ba714635c6979d84edda8aa46a45f989e2f995be190f12a38eb09e919799c9f3c0c6902896fd2e833c64";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/an/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/an/firefox-72.0b1.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "f62f6a0487b26bfdbb8b3e6420c023faf230b0848bd7d22fe860be382db10075233a74f493ce40959ba1fc8eb87d0144aeec1ab0543ac48d8c8f7c1e02be791d";
+      sha512 = "097be1735073ada738d49079857454e4a797f7d45e4e2e49ef9dfc65f076ad62566866be572ffa4b6e14103675d234a60652f838da35415c19f1547bdd33b942";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ar/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ar/firefox-72.0b1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "95637fdb3c897629d2638a4e580122e02bbe767b965619cea27352cdd02f35e39ceaa35e6f07baaf483118a757a1591a95ff4f928e80839fa55883382f9cb602";
+      sha512 = "a7b6341e4dcfceea780bd384fc512448aeab345c49ab5a94eb5c9fcf24b323d65f1af4aeda8b6785c67b949444bbabc28d52771fc16f55158c31a08bcdd97c49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ast/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ast/firefox-72.0b1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "9b047f8c399593d6bc532ba14893018f4c1c6c02e128d88776d11fc9a8027472cbfb0fff51c79629de316612de6952119339fd9317201a0a51e556549fb32a74";
+      sha512 = "976622f806ee1d5ec94fb8733a14283c4de070a9b8b71def63276f7dfaf4f16e18984ad46ed73fa9288f67d9992880eef4bac377de6670a50a4a8f03b47b671b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/az/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/az/firefox-72.0b1.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "2a45e8d197db07527e05032ff46e776bf596f1f7192cfed5d245fc5ad14d427b43096904e997482bff225daeaf778ccf6d3eeb4ab6fd62a1fc1d0e1030dc9f60";
+      sha512 = "1d7834a215f73103b6294f2a486c9eff2a97788b0a4b28865a94d4997d521dc01dec0f59e9172058ef42d961973cfb8cf5ea1447daddcb6d08fe1daaecaf43dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/be/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/be/firefox-72.0b1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "e4184c91a2830a3168eaec5aa18f17e5ed5fb13180f89b428a0c66e3087dc6aa7c0b7893683ede36201801548234b498ab7f0615fcf34649b0f4bee72f041cfe";
+      sha512 = "a2f4244a4d0b404576f25455f1f5dd50bf58a0ecb3172ba1231d7920634591c3517ae8f9bc314919387e726cad21726ff6cb0d1eb200df6b6637cfc53d4c090d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/bg/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/bg/firefox-72.0b1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "6f5aa6d5efa2941d56a60a91565bb99bb8a347613a6da8afdee4f68cff3f489fc5b004c996384955dc59cc82a0c148ed22126d56b7ef1b9cf8898b3a0d1d6cf5";
+      sha512 = "07342a9b5f3d04d989294386d3d44640d41308ae3743eb5cfebcd930facbed06bd985b4278142b04958fa138af9538b60a2625fb616b199969a154101b0381aa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/bn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/bn/firefox-72.0b1.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "238463c63366310feab496fc9407652e61e42b6ee2de5231ce614202ce9bb9cfee4bda088c2db47808ddf3ce844b5ca5a6824a7327f0fb8b82bbac48d451ee1d";
+      sha512 = "96f11db80c352c50e6b3b45b135277e1ef7977d026ffa685e73abed3006a6e21f4c7c4ab7c43708ad8d377ae9bd2a827f1097d780c1c14fb20e27faf87e5858f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/br/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/br/firefox-72.0b1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "0a280492ce0184d22b438a83aa12cfb4a09c9c473fa95ca473d8116fff81d9185b48df9f4e99f59d569a38881dcf9cf3a0713097cfbae89281b9246532b9a78c";
+      sha512 = "fd0b5f14623ffb54404787e1fbdc6e54717e46405f39ab67ec44a2535113ed03ea3d061fcfc8c48345577cda237b4f1d8dd00bf6e8893a459a11f3d1704f929d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/bs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/bs/firefox-72.0b1.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "b15a8f4620a60c9e4c2ffc4d5b037fb550a57ec40eb8a9604753f4a38e53098d919d1fe814bde405875e2c346cdbecae8ea732c43b50149d7ff575f979d77d92";
+      sha512 = "9f626d3fe885599907881c67afa0d6139994b82b35e3df083583f6f39367d288941a894ce857fcafd98523ad30d56496d543a2ffe742b73482995d929add5d42";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ca-valencia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ca-valencia/firefox-72.0b1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha512 = "5d3aa1a4a393e32a662c2a5bf59ac12798b82f7aa1be26f711f9d9d44d63d0f524c259ed4c6888fd6f2522cdc15c4aef168aabf9c69af12f6d29d1b75187e9de";
+      sha512 = "62bc2b76afabcba999358269c0bfce795ab8bcd64f1612930f1f2d317f61c38bcbb1834a957fdf9c9cb3fa097e543a07ad7f06d92b5b7b97a145a695dd27d149";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ca/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ca/firefox-72.0b1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "e605d955c550a51debde40f527740dfa9afba47541298e9bd5a07264be2cad32ab61a7da8724e1244c6cebef4348e6ccbe26a12eaa545444c1b678f0d048ad3f";
+      sha512 = "4a58ad8ac24af63a6031e56866b85d78e7680e6c1541e1cbd75208ca71f4c413e6ef48ba24d9000689319ca9bc7666c7a489f16c2a24b08802315d4e45b81aac";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/cak/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/cak/firefox-72.0b1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "30ed299b8bd9167557c0fad649a9e52c3901c0d1e097760ec2e17d0b1f3731e28668ce5e649d97ba6e1694c367a917e468ad06780e3ec85234b215151e257a3a";
+      sha512 = "a5102ce2936bf717309ac3473af0f69d56832d560cada97f5daaf316e538af4331f3972af0fec3f38197ef7e114bb4b846684b88b51d74b5d51b4392113a3bb9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/cs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/cs/firefox-72.0b1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "73743d76ca4aa5be5fd5a416b5a62f7e891c5951ae8e30688a476e906805656544aea5f07c05c7297f9f8abc9679d9a104d98ed51e6193fa6b39c7db6e4cc7e8";
+      sha512 = "880de1684f6bc5c9b1bebdc373fd72b7b5f875d530d95324d596c215d84d0aadf57edf980902e5b335aae463c899b1157a79d38220395399063ea6482a53620d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/cy/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/cy/firefox-72.0b1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "a97732fbd1333dabf6c988965d3f01a339ff9430bba48a41101c8f8c72ff146e91215e51b57bbb677372db265c2ab60b69cbeb606d8257e75f5e3e29fa1569d0";
+      sha512 = "d9640d3de7c31429a18b525d62fc13c075e94c3254f1f19916e298b10da735e1b25f801ff4bde809ea616cee88880ee33f04a5b99f988bf9b41c234f2a84a292";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/da/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/da/firefox-72.0b1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "be7bd08faf4074751467ffbf71a8119347e11231c67bf48e9204f6c472591365ed75121759c42b83605c05099f57122dec6854792af52afc689418c5e6954049";
+      sha512 = "a7623ea464e43cf22b1735cf66304eb810b4e0f7e66549100eaa8075617605f6e2e49d5c0542bc25f1c1ba9bf3b333ae608bcae64bca738703da215dd01171a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/de/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/de/firefox-72.0b1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "1a54e941d4ef87ee21313bad9e8091aa8cd178d1e32c23511527eaa58afae1b17ee9cd22514669cca94d516b158d5f95420c72cee53a217ef9212aab239cce15";
+      sha512 = "50bce2fa82cab6908de71007a433f2bbd6a86f89178c778ce7842bbfb1826cbdaea02fe5dfd855c3be57dc4931587b48cfd740ccc57a8739ef38e25ec3c491bb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/dsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/dsb/firefox-72.0b1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "0845cc605f1ec235babc42bdcd1f08ba57e1dac445c65ecc56f5062f87d86b9bff46c12e51d4b4a29cd0785a9e3a026a6d64307356f2fdd9c96e6ce52550517a";
+      sha512 = "07a977f570f1317792dc6550fab6ea01326299aa8fb6566ee882800fa9f664a45c96680f02b306fb239dbe2903b5357fc2ba2a1f0338106753c383900bc37975";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/el/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/el/firefox-72.0b1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "811cae96aaa3895d360165bb5de15bfef5ad05b1fb846e141a625114c4736b2c1107a331b891e6025113ab1a3c9a0241dbe2ad3abf89cf410fec5d01e4979fda";
+      sha512 = "cc7755bb4e6c942b3f1ec7d7cf93f99083e63dcaa8b3b1795f1407a0f3733f36f87641a9a86c66b2c6ce513ab5418f947b0ecfedd5bf16feb76604400932fb20";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/en-CA/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/en-CA/firefox-72.0b1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "4bb57560d72f7afc9c44d68cdcd3075b0b8f07a074e196181236566dc9c51a8fc43658f2b4b50bc3ef17afa0fe4f20d57c21313b57a90da0be75820619e88ca8";
+      sha512 = "b7e5ea4202928fa64905f90c85ea27ba8dcbf1cef9842eb3479ce3cae1dfd550c78d063956d7903bd7a7e4d201ab59dbe78d9e1818e4d1e9b682783b338526e0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/en-GB/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/en-GB/firefox-72.0b1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "ca3cf0c5deacadc4eda81c5246e29d79ae362d9dd416a0c0242de550601b2e8543ff8068b763f3f861ae22287ed530248448e313123f0959ca2eda91b0ecd032";
+      sha512 = "848eec546d25e00464323e5a7a8edadc718754b804caac1153a694c16bed88215b4408a7881540da328529d05c14f13b13389b8bcaf6e6b49ebfba18f4102a85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/en-US/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/en-US/firefox-72.0b1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "88f0bdba9f8706c3b0475742496b51c12ae126317dd96aff78673948a14d6fa6de218086947de48264432bc7dec2dd3c02ad2f95b06b83d5680219ef5a42ce0a";
+      sha512 = "3dc9778faa44291264fcfd43135f8507e85bad0695de511d63b84a572d342d0c2bf4714c040e9f8e263d77b6c66cfc946e8174585faa85c2b70a6c03227dc12d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/eo/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/eo/firefox-72.0b1.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "8c713290190413f68c2e197c49fbf8aea01d1b7952e893d707669cb6dda384aea63d9a4d5b36c7a871e4086cbb15e8a4deeac4f27f02df9b94603e1a89095f5d";
+      sha512 = "963fe38bb9310b165096c8b793b22c3f7d6c20a74629af3d1d45ca27b99d6545fc7d9b3dfeb17ff29a7f1bc78e7a34a2815ca5c9b20fc9dc1b8de37028b38b5a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/es-AR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/es-AR/firefox-72.0b1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "39e70d871dfc4788e0fef7414982160afb642bd774a8a1f31f98fd187ee04a9c78c2c569caef5399c8860a5eb8e6ec8e3531df30ccd501df7feb7535a2c2b99c";
+      sha512 = "bad64eb915171bb190370eb0c33f73b1d9c567e46d87094e9b17319f2ffc4f6f964fab1f5d8a1d4003b7b021eb42bf40e8f2f711065dd9f8489555b23476e2e2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/es-CL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/es-CL/firefox-72.0b1.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "fa4e470b89258ff9c6f0af4f975de1d6ddf26f3aa4e8970516481862faa28e7dfc7c843b843f00f080988f5e9b8a1ffc3a3a4e89b0aa51029170c8ec3c6f7d62";
+      sha512 = "2034a6327791f548fc851a6093508f98227c2938f9bb208c5dcc72f53aa5b3a6fb8d645e0ffad9c41c91f954c5a471ac747f0deac1f090d90b6eb302e6364afc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/es-ES/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/es-ES/firefox-72.0b1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "b7f7d3798f5ea6c7e2600b733cb220232bc879eb4a9300e5b017e5d3588e7bd33da63767f5edc57ee0b9be3701295cbb7f83dd4f8486fca6e834f153f2e186ce";
+      sha512 = "8c2e6271a5478d314bb4365ec6079e726c4c47ce316b4b569047559707320a456a73308e302b327a02bedd0156827d3dff25c354727dcafa4800b2886621ca9a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/es-MX/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/es-MX/firefox-72.0b1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "c6af98f1181e91a3ba6ac873325be50505a6c62ec978598965e5c7a3c6bf5e7b19b401d893b9659e15ca3e2552d7420a174a880e58cc3102c49bf90038b26807";
+      sha512 = "e0ab43a94b291f2c585a70d491f2288d5ae881408df110cab701cf7cf9f4df19bfe5ceb28a067b9d6d5deb709b17283baed99449f833a3c2e3adb411be45f5fe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/et/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/et/firefox-72.0b1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "7e0f2ee6e03282b2815720024bb0ab0ab92eb3d59fe4843d76b666780940694214dad1caab182a1fed75e9a2fdf413a1ec6308e5154919a1f7f24ed772411a40";
+      sha512 = "7766282abc148be1cd55ccb8810d7ff8df51faf0113718f565d2c542d7f67144f5f0fc3c95e2a001a94a0103a1018059939a65e5ec5785ce065b526be6a84635";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/eu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/eu/firefox-72.0b1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "3eb646c5a42dd5dbe1062271ab48b76c5164b9f5202d6b9f0fbcc81c606b52d54df3a80c4bfd3dedd2116fdaece322a01922f6ed8eeb3509dfcd99c7cd802a34";
+      sha512 = "005eff67cc377a82bf0edb3c84441f053e39e0e0768657797ad33fc02261791cc837e7d16a6d546dd382b9f63218eb3b220f1d33edc6279dec25dace7d6e750a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/fa/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/fa/firefox-72.0b1.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "cbbf7b055409a39636de670b03fddbd062f5add34dfa6b35bb9abaab508719fc55578849d81ef0733b1ff1b558e5cc889624d548accb179fee4069c99c1db068";
+      sha512 = "30c0528e9d84b4349798b2793b765f3dee970ac030c40a885843b48847e3532e05d8111871d02008623be86b80f585942c811ac7ad04c79f85462873abe895a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ff/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ff/firefox-72.0b1.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "db0db81dad551fc5a39798bc1e0e71b7881fa8c955edc4db2326835914a18f141574f62f7b8fb35f4f51a872854fab858cea95b88b3741a13c3412ba36a1b807";
+      sha512 = "b4a335b79242056a9434efc88ad119ef00206446bb3285b3e8b95234adb75c6f036648dc1611a1992be462e034672bf79cfe8b83b42e89fc0b6e971c7df15714";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/fi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/fi/firefox-72.0b1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "1842d85d3cc0881069fd0e6c6397809727aeafff2c2c2f2b4385a7da24a57dfe3fcd6255926a6301c3a48b36aa11df20f944e200416cd8c564d132faf8426eb7";
+      sha512 = "dab579a078c5dad754ebacb5d49cb39dcc23f7c10f10d866c4addb24ea84b34660edc59e0f903f726ac01c715bd2c9029273c8bcda0d7713fce2ec78b4850f0a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/fr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/fr/firefox-72.0b1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "fb230dfe11cd1f722fa93a6343f7c897be3867ea0df49218fe877126a76b0f07281d2a5fae856c90cb3124c04c1ecf9d8e7253e10aafab15592d39cc4473e48d";
+      sha512 = "e8ddfcb3ee5d78dcca9cdc47d0440c7cb7c8c1d5d6a03baba72294708e0e00d26ab08453f7bd9a297697f3d8af74901dc04b7fa5a58455d5ab9b254deedf208a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/fy-NL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/fy-NL/firefox-72.0b1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "db074ad24fd4c3729f0d95c8aef501cafb6d4a05fb6f7dabb61446156b29932b8984e779f84d7043881e5e939cc9e5967f6b0024147769f771e3d0993fe4b620";
+      sha512 = "c39e5d4b37001863df04dccc57946771d6d71016ffd854c9ddfa86df6020dbc0d52b9d02710098a59a74ee073101f47ec2768b47c4612d5ff2d30d7b67580d4f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ga-IE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ga-IE/firefox-72.0b1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "a1862f8756053311f08f897f2ff871ce73e9359e261e48d924b2faebddcf52e42ed454cfb9e9a9d66e3f278f7632910600a34a156fcd44b76116f3e060451863";
+      sha512 = "43a5cbdc12a6730c40cf4e8ff978d5484cf5564b3ea94d3e2e2d3d02ebc53cebc0d61e0941bbdefb30d8c816429b145253624e342954bb15c6b418345bdeb9f5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/gd/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/gd/firefox-72.0b1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "8d5652c12c5af81922581d57499da12642884449a619eb3cf3040c2200e520b0ba92e6a2341ce5bd43d6e39d4b0396842357ae96cb31d39b9627d7a8ae8de187";
+      sha512 = "dea55a8a101c6afa321bb7d142939433cee5bf145975f36f39cb159419ea8fffc0b1f383c8e1f16814572338a61ec62e1acfb6d123cc460019e963e2d7e2e1da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/gl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/gl/firefox-72.0b1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "80f24c3420c6cbe0c41b827d9bfd1735d5b300e33a405acc6439e83b2642a6e2d8ca387611b6f041ccc97f56b7efa29526d260c7a2d76be056b66f4b2fb0f138";
+      sha512 = "20cc4fb6111aeab07789be0dcb246c70223b1bdc7fad82e28cf275415d73333c2b5b4c48fd762200ec8261da91bedaccfa49686d276c09921d6556b0ba02c288";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/gn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/gn/firefox-72.0b1.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "fc57872a00afcc0c790863641dd3b31cfe4b9eb56ecdba17000c9b7abd701a4c6257a4f6080d90e545cf682b8b547635193e5c3af9625c3b18ec5513710f282f";
+      sha512 = "fc5590103692da0c2dbc25587d9bf071f5168fa0904cdb5c559f7b99f6378fef6231171da883651eba6b8a2443a969ebcbec5d7f51c76aee08619f89e5f8f991";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/gu-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/gu-IN/firefox-72.0b1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "a066288f68f697da26aa6b49607673813ab6a932845e5b2199fb4f764acaf810f0bc170e5fb26e05db0a4a4ab1d2b29a7e644e662f6d64f4fecc847a8d9b84ee";
+      sha512 = "e88b9d858c46915148f45b5197c0b18f925b7279d644ddd824c9a5ff3f1970b0de59eecbff9a00e9350c09fc7baf550c1b9458f8d74d9912da4883f1da810d02";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/he/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/he/firefox-72.0b1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "9288ea2662584d9a9a90b84e96eb3426a47d4e7a9079120247add9d2e2af5615fd75f7f93b3197fa3f17cc539af65af99125a6c948ea1f6ecd94556ab5856f29";
+      sha512 = "e31b2146fb47cece9158273f13a659ba998ea4a716ef00f6ba790ea418768549125cf02f7afe0cf45cbb298d35a0b97fcf8cc336caf3d768ccf1beb4bfb02b62";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/hi-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/hi-IN/firefox-72.0b1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "3c55c8e417da47367d5af105798ccebcddf8279026e2a1821ef51b6e490e8ed96ae4f187822d6f0b023aceb549994ff3874c9b5c5be821aa40ac4f56d1d84580";
+      sha512 = "154a028c8ce7c0acf645ce5901cd632caa8c2aa142f827386abdc61e0ff9880122e3ec554c65e5fe740ae2ac4fc1f9f9a447e49e84e2a49a093737fe14847563";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/hr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/hr/firefox-72.0b1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "790c7c17a44774d1069b388c28012e960639e7a5a6b504a819e2d1a9f909fec9a8c9a093f256cd9e83094b320a22c805db8dd72d186fa11d100a18a741a1f6ed";
+      sha512 = "295f2e56c1fac01c66420c08bc171f5b47c784b935d69d235d24594e57598cdf945cca9ce688ca58ad14fef65804349dbf8fd9113203493d255ebb2ce0ac65c5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/hsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/hsb/firefox-72.0b1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "22b2c1d54ee2c9a6f2eec7b8c8bd7cd90ebb543331462d7ecf79d83ae2efc5e063ed07995d4f61e63822c7d0fb9ce58fe8223d3c73b87526865684bbb21cad8b";
+      sha512 = "6f552368b7d2a5001b3258b734528d5c09dde04e8bb6e20b4c468d0911eb2657268eb8eec03a9198773e8011e5ca234e94fbeb4002a696ccadf5c30d4734ef1f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/hu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/hu/firefox-72.0b1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "86453e03519675fa7f450831089c34528d5fbb48c76d927e697e2bfeb10125addafea94160282bae6904d8923b76febf39c1ffa6c7f065f500d8d7c85bf83a6f";
+      sha512 = "29e343c53fe0a4bd5c89d43be14fae886025cf553846e3f465760093b48e9f1f6aa377c1ce9355e06133037aeef74de957efe7e4e6cdbb8ab3370d54f0031270";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/hy-AM/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/hy-AM/firefox-72.0b1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "0ba3bf4e3921387fc52f619657b9c07dde6be7d1d48096297fa07d371b86449949f8c38909842cf93bb86ef22a5270f35f2d959c6a4a8156102fa488663af89a";
+      sha512 = "b063e297a04609b246540d0fa8bf611ac0a49fa3f82b441d9d508f6ebefd579b1eef3c8039325b45319a351c9e245a43269983ab396354ae6e5e4f65787b76ab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ia/firefox-72.0b1.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "fca43bba8ab0ffd37431d5620e94598f5a519556bbc7e84aeabc29be043bef84c981b7ec875416107c1e2f04947f9560350130b4ba5ef76af147c77bf4dc2d3c";
+      sha512 = "ae7e41d464508eb79dfe2c841c8d8133f3a206a60af86a2ffe04f4e49f3d3e2173633d4479dde70e811c4c513d054e118e8d32b5c24299c199b9d411645130b7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/id/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/id/firefox-72.0b1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "e0fc3a4f27bfeef8a2377eb749936ed41c8ba3f46087a1fc1e964ac113c83fa4748de8df69deac8fd274cb1d9d5abf86e64d21ea27ad0798c0f2f7a7948809a5";
+      sha512 = "e2c824ef9b9949f6be443ff7c5ff372a90a978fada9a0abe2016093aec12867a8a25d775e63c7b1d39e47c307a91438b53e715ae9bc564e27f70a94e441329b8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/is/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/is/firefox-72.0b1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "cbda95a34ea17ade522efb156ee8ef91dcef1042f74051ce3ae5dfad3e1c1e7e0123ea11e254c4d75e247cce4e6cb344d7e0febf79b3e4257ae2c31660606e7e";
+      sha512 = "3b58baf1f6c19df7f4799a467c2a8c2a78c49d5e64e5b0c166033ce61a0b22d5d35ffbb4054263c888c60f01cea1f8005e8e201b3b39992dee2abd8a9a560ab2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/it/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/it/firefox-72.0b1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "91dc374147434282a5edb683852684704b6f815030a1ff074eefe000ca02448e586dc8b9149e542805c8492374cee12c82d3ac6b1b25c5859a4f15c1133f4327";
+      sha512 = "609d03d75515e1fbeefa6836604851ac0c8a0c98536369fb1b9ae147d77102d4dac4403e28d29c5d120d7a94d9cef9438c479e19cd87ae1dfc889e5ae6030ace";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ja/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ja/firefox-72.0b1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "aa3d2df0c6e3024b52ba1545b0cc1e2a9f497ec3a44a12215aa400cf0a34219fdba700c88608351bcb5f181877e86ffd937536f4e3ac7556a571e5c789eadf01";
+      sha512 = "a49ba75b9adb9a5a3e73f68d93ff09c77574b67c29abbf47783b15bd0b8d67ddba41372dda8a4d05416ac972532073e2d02d1c43e3bf094df3f03e2cee94c799";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ka/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ka/firefox-72.0b1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "bd71a4e7ee05a78f7e4799b09d0a066d1291efefc04285710554da6f9c1ab214a30fbe881cbefdc9400550f4fcef0595f9bbfe767cdfcbe79106c487bedfafc0";
+      sha512 = "b2fa0a596738ae881fa0a33e07a042ccc4e300ba67f73125ca1c176274f1c53a25f5b8ffdac228ac383cd2e7debe5fae60a99079041c1a9fd2438c3a3b317e85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/kab/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/kab/firefox-72.0b1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "5c51f3101964b07d347fb7399c7fa4cd337feb8384a94a721c87d89c9f4bb83031a464348cfa292fec77bb1278101d23f2378591353c7adc11a7c761e89056de";
+      sha512 = "72e7a00b15e3a8f5c7123a68d3a141cf41a188fb0f46b725f6373542f98eaad33e330f82f0eb56a457f9e2596213da0425244bd72025f1deee699cb5460ecdb1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/kk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/kk/firefox-72.0b1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "3c2702e37a8b0072d4f0ec72cb804f8b1213087541cb15276cf7fa5e195c488cc8cb039f6941a04268468b3a0e0a691dad6b60f2a0207ca32d296e3f51765a97";
+      sha512 = "0f95075c155a512f22837104031e430c2bcd30bf73f5fcf02188be49d7099d2335ded840294c0c94b1973cb37e284cea8cc618ccb23d063aa9afdfbb4e3902f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/km/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/km/firefox-72.0b1.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "8ac646139529b3ced44de93e92a5f4cd79d0dda1024b3d1e03a8498c905fd425695551e0e4d1a477fedf85866ad8ce7979a2750f49eaf6091326c6283bf0384b";
+      sha512 = "013e90c6345486f2e9124772b8fa8c1b9d1b244f5ec035fe697d86ed7c45c7d93e6580824e378eab0f85313bd765e3738ddf0d3d4c7e955d12f8a2e280df6d93";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/kn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/kn/firefox-72.0b1.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "55ed6b542998adb0fd68782a970997ba0e9d854edf764724590b938bf52642c2aebee881898f0b7fa2bc890ca258910e5252c23532fe7f55a7fe2ed3d55970fd";
+      sha512 = "669e779e592725ddea80e2f4cf2a5babf58e9be656be21b07e38740ae07da65d89f6af419e69e852532cd94052138456006659257ed9cce54461918ce4534691";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ko/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ko/firefox-72.0b1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "181855fb4bffda99f5da78659f2a4740e9478a6923af3863cd90439b698148617634d4367d584831d6c01343bfb297765a9f531aa3370d25d2f51ff6b02bf96a";
+      sha512 = "48c6d846c8508210a02c528cb32d95bf0f19020868e59ea57ed8ccf18b3d475fc1360750baddda854bcdc00d70e7b77ebe33b53b7c995db74f4b84b1e3ef1f9f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/lij/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/lij/firefox-72.0b1.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "cd6e1c38473f000bfe0d04043597587fa73fd67b4037e5016a7f38d72968751e5f738afae5a9b6624dd38f858d5eec555c53c0f4c850e1689a0ceb90f72f3a8b";
+      sha512 = "05e61a83a2d3764e6f2c5d5550f9f3b4fc37b0912a37e58e947331c28f4c453f579d939d42ebe50cf9e2ea6226a337bf767eb927f2ac4beed0619c3894522dec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/lt/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/lt/firefox-72.0b1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "2a2bc2f1deda93c00692b82f2cc0b7affb1245fd670cf6a74b538352c7113c7440be647b3c2af20aedb191fc30ea8d17799b01a8fbe29f962398b153b4c7059a";
+      sha512 = "a321a496ae31dd5ca45a20eed54ee73fe055cabdd720759d9b7c866a304081aa9d519693417c5bc6b77484e153fdc968ef0aff99c18912314898affaa96e015b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/lv/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/lv/firefox-72.0b1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "2101aa80644b84ff5b7babb098dbc60e651324087111a06a4698df38a2ffeea8ac8cef2de276aedc7d0292595f3ebaac51263fda0f473ba4d240484060a047cf";
+      sha512 = "b8fe79b7b65f62217881b669ae431db3889b7f0209d06c8814b901ab7d5d0d02bafba95c489d1cea51dec003a9085ccf865b3c8df550e15204ecfc3407baf22d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/mk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/mk/firefox-72.0b1.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "e8a527675db8b53a439eaa7334f7df3d7261132537b84e12e0f8ad9afd2fed8e9e1ab8af57cd9bf65347b76f4ebd98caddfbc66fc5a28a3660569d5b1163bfaa";
+      sha512 = "0bbd8eb3fea25c89be01ee870728b17df0f379920476a92c21b906474698260ce2f97b7a8f3bfd394c03bf6d872b131ecb4b6e1e371ada780b09708be1e9b8d6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/mr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/mr/firefox-72.0b1.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "23e8aa5cf74353b35c75a2c357c839c5dc950f1f422db44dd951233d725c8595753c24b0d903de42739ce7d3ba90cf033daafa5389d6bdfe14952024c37709db";
+      sha512 = "90df42a304f8cd6965f0ff80dd2a51b576e793be8d791b84f7f0eb7061edeb5e4e8742d1f43b661b8d1d48343c7b60e6d9b1d2d017be00d317bec0cec648f708";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ms/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ms/firefox-72.0b1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "8a7d73de2b8fe4c853f42c258a4f6539f1904478526cbe525452c57ecf62f3eee1d7e6ffc7b6410f0b22ea966f300b4fdfb31e4b63fa14a2311a01d4d1511b5a";
+      sha512 = "39abe1281894c2c4d4938d789eb1f91484b9472b706b8c12491fc5f92fe2aa957f2f45f5aea56eb25a26a9f12b59b2766c6747fbbf0f808dc584c8be1b8aac34";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/my/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/my/firefox-72.0b1.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "797413eada2e49730047a2762dfd5ff6a62edd55db2bc7e2b7459f7ebbb2b381c8b218ca5def31e95007ddf68bc047f27732d044a57cbd6153ebdd89d452ab50";
+      sha512 = "d873b3d1d1ae21269bd16f0ecc4885638acf9c549bf29eb08efe8c07b35cd8b32d4e1753f20bc8e1f3dc8d17bdfb2e4963842cd61db452c525bbd0aa4d611b94";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/nb-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/nb-NO/firefox-72.0b1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "1b2ad84cde2dbd9c44919ff5a6f366a8ad2bc4fbc3605ce681fc46e9c959a25e18635549be87c6172ec1e4a1163ee41debff84c93b4171169291172b4d3ff605";
+      sha512 = "78825dce6c2893aeebce454e04f6d7f034bcd716320bfcfdb8279aa2d0b2ea2cdc06db978c0124d3abef37254ae3a5af446b4dfeb2ef7f1c30c085287b62d92e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ne-NP/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ne-NP/firefox-72.0b1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "6aff26975371a2e86410e9a3bef1ed576e09b8620e7686ef549d5028163533ed003de84b1ffb1e5ff7c27c5c0de8914de7ec6169074b634ec987614fcb879f7a";
+      sha512 = "5770737471bc6c5e4dca8a2971c2c6feaad361b8ceebee86899e0c585dc243d95e2d893f98a57b4298769ae2394ffcc91ed799ad011679904e64530e7ca21861";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/nl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/nl/firefox-72.0b1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "a8844ceb5d28eafac4ad333f83df118cafa6af3b56940b4423d08f8bcfba5a486c64d93e34c5888c4c4ac9cdfc511db8a306c3d7475917c310825e40e3848bc1";
+      sha512 = "cac506c024b4d11230e4b885f07a1852a53d94cdb6652ac872daaf499154b96e71deed6da3107ac36a0081b72d920a662e18374e9a419bc7bf2ac82dbf692069";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/nn-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/nn-NO/firefox-72.0b1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "fddf3fde15aa2836813a9ae8856bc0a02b04111b51ea575549617a2ffbf7b3c3f7934b73e22658afc4a8b832b75f39b30cc6bb791ee13ed44514fdcf6da9f470";
+      sha512 = "8e127485ef44703634bddd9c52fd0bcfb35fcf7f09ffae92c5607ac6acde3d26f8957e8ad7443d8c4b08c01ff5b4502dfdffc85b1a2f15c4a0f10eb2f8690d6b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/oc/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/oc/firefox-72.0b1.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "7bad80877ee57c083cbce7b25ec32ab59335c8663dc234690e5a191866dacf0e3f95de933d33e15c6d3f87df71731233eea335881ca730d1c7b195afdc76c521";
+      sha512 = "82b53a007c0ad9f7ed586d84d989cd3de65ece1870cb5bc9df2331ce73d0196b7f696bf2262a89237fc4fa923eeabc4af9c98ebd6bc3619693647481a0cdc441";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/pa-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/pa-IN/firefox-72.0b1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "edde3835516fce3978884afb7a7eb3282a0d64230141437493503ec8477cd11e0b6cc00288c8d58d21da2bc2f7c11bf099e2853312082429b49ae0714ef2329f";
+      sha512 = "d18697f8ba0c4d3f080f3fd25cf0e77a16db762083fd8b84bd04e56cd655f5b062572b38025c79e291b8a59ad7a40afb81eaf879d0429a02668d692829dce7a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/pl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/pl/firefox-72.0b1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "fe2dcde2d35076ec8ce050d2904df053d9521947d68ec4506ff39b4be2a8105ded64ab2cb4387953f3a71514957c67386a4e005b4ddeec847320b0d827003026";
+      sha512 = "34a3b44bb3ab18eb96879aaf45920449b99f88f7fec3d23c7956bdbfa08b2432ed7fd7a7b1b1ed6b9b4dae42db3cd4b1b44a8a4837c2ce1d4aeffeffab9e3ba2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/pt-BR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/pt-BR/firefox-72.0b1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "532327f4e3e54a70bee7b8961d9b0d5e515755b2c45244f414547903104605d533fe6fab6f86e0c5d42ef7617d6f8b4301a836b26ba1da97741d2702ff9da1f8";
+      sha512 = "02ae95b7e9b21bfb89d0fdba18d4e75747065794cc1e715cea94c9817392b18dcc35c19aab6cb32e877f4a247b6c584666c22639278f89108a83bbd86f750cc5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/pt-PT/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/pt-PT/firefox-72.0b1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "22b8a905f1cdb09048cdf93ab719668f4f87f10927a8adebbfd3a88e15c3c59a9afdec25f4b20ef5680e07bd9b9a603dbfee5e4bbb5bb26319e0aad383f23eaa";
+      sha512 = "bf94db376d4e2af7f6a22299b80d6edf152b16ccfc76e19ecb2801eedb34629aebb77fac090f8ecd4afd1c668430b9b1d604f1b9f1f91b2d29132d519343793e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/rm/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/rm/firefox-72.0b1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "f5fa4bc45af9bb1bda5665691183b7c3d3d897c5e2c93693e8fdef34584e09b3f9cf03c2e6a6257f01b2aa75c32c168c5978299baae1622c406a89a7429c4095";
+      sha512 = "7b25e26ba5e7a8d3e7740f2885543f95cfbdcd20664bbe6f4259345141c60bef1cffb0bad93aff29f8918c0e511aa676987ba378018a00df321e8da8ef88d8fe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ro/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ro/firefox-72.0b1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "9e69d45cc3a7ddbe4c541528ca65e06a62b943bb6d7e5fd512cc071282e53b55fefad23bfcd3f9e864dac75c593f9c60e92fc231db217ebe8de6a3fa35722a00";
+      sha512 = "be85b2ed7075883ef3c57cc59cdf5b4bafd942e654edf8d4dfaf1dbabd2426d5a2056cf71291c231940a5b04c605cda7f71ba8b54ddd92bfcf5a951cadcbd387";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ru/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ru/firefox-72.0b1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "57ec718c444a261667ec837d8edd9141baf2f556c070bb2303b5c1d34abb29769fad186951ac15f5c72df7d63a4b823f61713e696615cf44b4173099235945f4";
+      sha512 = "7c07b5f77857a4fc61f1901208c5995a919379130a8aa8b41e845269d4268f700a90ea7c4268888ab3486e65fe06b909c4e9e3744581035c8649ad5908dddb8f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/si/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/si/firefox-72.0b1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "71c53d3bbeef8339d7428288dae67da992d72608a08ac337b8cac6a26ab65316dae865686e6b8813f0fe6d8d070a2d0d4ad59e0015bc1d2be96ba530ee69b90b";
+      sha512 = "38c8e6323dd400da744e7f1aa59b90048d148a6d2c5530c4c07ab507a9201652fb570352a4d11692a49106b646c4964f186f5936945efdc6867aa545aaa2fe46";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/sk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/sk/firefox-72.0b1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "fc262886813d19157238c7a575a21cd4ba37d30c4b5479532faeda51936438239c8f6f6c537051b7dfef7757d69afcdc5d6b6284091289deed28bae11aad150b";
+      sha512 = "b890fec5c18808206590db7427d7ed1972d7fec154c69e9dcf9300032b737174553492226607f4b7e7301fe8e943893f383f68cc8313df9f39aef8e6ba9b6eb8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/sl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/sl/firefox-72.0b1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "4623e812e069fe0478028d5297c4e3785b08c8ab524daab85a2dfc4610de0e99686fb6831a565640e167567d29f7ab2b8868cc566368f8d0222ac4def539be32";
+      sha512 = "51830d16de94658ecb40d598d83f3f8b6f2084915663f176bbce192afb79d6c18c179991452f415385341a97ffde9e6966edafd43db729950c1f971ea57f332b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/son/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/son/firefox-72.0b1.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "89c8808d7de54fea98c2137cc1ee5a23ca00d5da79a4077f5ae361728a38cd0cc21768512fff4434f8152c555ffba4daaf837716cd9f0ecaf49d692b1c4f1aba";
+      sha512 = "2cdbd1b8cdeb60c5290ae47ead96ce1870c105f1bbbee716094948be86df62135491e1e3e9148e4838fad3fd53a4022f7ea276df5245a7abfacc3710d3833386";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/sq/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/sq/firefox-72.0b1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "b041525c4bf2a99444a2936d6a7ea9b56d1feada9dc992b63c4c3d5ea911d494843bc60419f60126e96992c95396f5edec6dfdcac19186ec0d9c8a8d45e635f1";
+      sha512 = "ef5ba3675945102108e0513aa1b463cd922837246c1ef5af2dea19df43595468f67188f4194e2bda3f68bd30e760cd5e0f3f7b385d3cf7db83fbd9852e69747a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/sr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/sr/firefox-72.0b1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "7a3fe5cfdec0c2a1ddcbc1fe466381db0bf80c9f3c592b1370be9931674bc2d8068bba61f5584ede38c6090e214f5156f38dc474c9a89fbd79aa7d8a98d4aae8";
+      sha512 = "c367b635775b146d199c16b09c1f0ea9c5e6dcf3b15340e78eee5a4e91746e5b6be2552a9ae82aae9ab1a9245b19d36fff722ad83e690398246b34fa9a80fa30";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/sv-SE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/sv-SE/firefox-72.0b1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "807dafdfd5879993ddb4f637ccbb8bce23120a63c081970b1171793a0d050a0ac63b90ed6f5ed72a49292c2934fe7a5202cc7c607776ed5ee34ddea066843406";
+      sha512 = "62aac4f4c7d43e83ce264c95bb4540f708f982cb7c99e468173a840eb2f8e800931de0692cb3e398fa977a951dca9f4b3d19cc01cece01d17ee490f1d4a4b54f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ta/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ta/firefox-72.0b1.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "843b2591a1bdfb80213f0ad067a36f8d0ab2aca987ccb5a2293d618eab2851aa3e06c1cf93022c52bc65c6eb774292a1e3a6b286ff563d05c4243c3315fe0d1b";
+      sha512 = "11de37a1f9e56547df13617ecfc2ffb640e07f56516b968c803ff97504362f447196decaa21c3079bd59023a75c9c0c37ba39d0b89de904351180a43f89ab865";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/te/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/te/firefox-72.0b1.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "cfb573aac3dcaf4de8b0807296081a9116fe67734bd2577c48b408130f408ee1316a0788b6bbe668af322d2deaa458e1ce4270f2d27a50b458f39d06291b46a2";
+      sha512 = "025ca844d1b30a7a1245826dd7fe60eeb6ac2df1a8c85828afe8b74be4e373efd87e623fcacbdff309abba34cb0b0e71919d5b1c8b245f1d17719297377f0f2e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/th/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/th/firefox-72.0b1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "2f07b01e2d1abf2da8b8c106d017064137a239501e1244a276019aa1327f7cdd96a047db6b3b7903f83a1491dad4be5f49eb26031d418c85397178761fcc448a";
+      sha512 = "ce15d6016807f559b2491003995a0153aa864a8a04c7ce235d981b16ac09206bafd3641e5789250c7b40b64b044c0d0c14aeca0994ab7da5dc6a8e91befccbac";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/tl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/tl/firefox-72.0b1.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha512 = "cba0777a6113a40f5f593ac6c236b068095e226748794975cf0e63dbb79d95a414758e6aa5c88099ec716ff9c215a713a8d9c1ea33ceaf98ac607b708badde3b";
+      sha512 = "553948e20324ae9beb7405b3389d30e514e289abca5824ff79dba3bfb86aa31b78136dceee641543b42bdcce49464839148fb63b487e2259bf7a6293de0e345f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/tr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/tr/firefox-72.0b1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "ba1a2b45f774e21bc62ab6d0c4f75b3340e261f57ce3138cd0d6000dfcad816a9cc141a601e0571be01a259d3ac58cc46425765cb11eb8f3f4e85fd584153d81";
+      sha512 = "7663a96a09f358a7d7c1f216a854e299f662d8aee73365a198850ef87f1b28e8120dce181e2f70d2bcfe6c9fd93de17828cf67e2a2795ae6061f405b082929ce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/trs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/trs/firefox-72.0b1.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha512 = "6efa7b972d21256750945583916d2bf0968230beccb9ff69415543205631f8a45b946427790afa295d146f1a948a4bf8f331662c847bb698d185bcd18c269e15";
+      sha512 = "027f48b3eb11f6029b56b79c8be976e259c1cfb6de4828ab2be9fce6544e80e249bbcd822400b5d46450e66f133cb92a2a25e626906a8653f48370e405aec500";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/uk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/uk/firefox-72.0b1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "a9626d32502bd1c6c8de055a46dfcc85f20ebe5f456a012fe2ad079fbc75d6ef0f7718a440697152308cc59c857bb2f1ab570042ffacac1ba854a93f3957438e";
+      sha512 = "c30da2332d56e69a6fabf09b4b350df319da7a69a8d037d5fc69cdbed532b8072dd7e2dd6400a29a4b523bafdcd456afbd42cb20c4a089376eea1be1cbda4ac7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/ur/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/ur/firefox-72.0b1.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "ca98d745302107243aeb6c4a66c4ab62a830b81f083f2d974dfd6fa8c58b485913c8d066fe15638d871d08f22a5f11a5258b301effa9e188516550a682009e5f";
+      sha512 = "4ed659d6511e6337562f15cf82c5e60e2bef81afcc6f0c1d7167d3891bc6b9f69a6839af47566165173e5282f939bd6a76b4ee80005154e8e96821a8233cdda2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/uz/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/uz/firefox-72.0b1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "681d256f7d3509b36cddd1d985ddefa3c2227e5fd165a4cc8049d400d3fa9a68d8d97aa0084253b355754044fcaed9cd335f23fc1670b76e9e77448dcd2ea647";
+      sha512 = "6965976a575c48e71e1dcc9d7071498620cf07c5222ec7a289082f1150b2d44983df0e37c25898c5c897f4532d2c412400c34bae7eabe8b18fb4c149f1b607f3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/vi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/vi/firefox-72.0b1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "cd15b665c4816fcb07a16629f6a53cf096f9e4964b33d67179e603559b99480f188a4820b05e5318c11282423e9c31dd84acd59544230fb0a9a976f0ccd74a26";
+      sha512 = "0f0d0700623aa2530e1a2befadc94cb58535cd9655d281bef92482e49fe22cea265f19e67bd421bd81b995fd0d60be8ee15e6ea4e5610283f37e7f2e1d404ba8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/xh/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/xh/firefox-72.0b1.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "c5684a4ccb695038722ebacb677e54d56ef7cc14dd82b1ffc376caa6799a931e89a86f061f01a5fedc183c77a5e2625e409a99a089fec07dd0a0a3fee1f9d48e";
+      sha512 = "43b2708e4375444176b44d7575f5522b1bef8cc52c6b8ab5dddf5e80b6db0f6af466516370df2c0774c8199dae0e446bd50218edcfdd09ae4b68341af0e3d280";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/zh-CN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/zh-CN/firefox-72.0b1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "54559f2db9a61921c32b371cc031fa6d6140f7f98cc6d8535ee043c6192cfbec4ff3d4f6eb999abc1003d6118e9d0c2ea0d9b18e4fc9e36573565c8a9f524cec";
+      sha512 = "67e186dd32373b77123d845f454aee8122a8424667befe4a3da241f26674c0acbcfa67a7e31c20f74d0e6731b7988f87fd1249c62dd10ce57fa10d605cde7fb3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-x86_64/zh-TW/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-x86_64/zh-TW/firefox-72.0b1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "4a413a9697cfd2a4fa070454e5e08563493ff463fd1f0db2b059ea74291d2345ea4b548894e9c0b91b7ea633fbfa8dcc5a4f69362096dac007d49d19a752e9d8";
+      sha512 = "3c8c2350dfc57f49f0f76a97ba634a603607bcb616810e1ddf62b6d61c34efe1c504935d06994c5f9f0f0b575b3ae1b1716058ae846d26e5a2ac7bcca2c09818";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ach/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ach/firefox-72.0b1.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "01e5a9943e1daa5036fa68a93dc193bdf699f65971b81adfdf20b97fb06c55ac63a9dca66bef31d1bc4940e6f318deca66387fd8b26bd4284871f61a259087d4";
+      sha512 = "acddb0e6331e3ed6eb6be6c1c36f6fa9c1023185da7e422128ca43c8cdca69fbb294189ba5afa6a3637ac26768ad10ec38b1698f90963c1cfbf7357b5026e185";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/af/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/af/firefox-72.0b1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "ea54247e9408b4e6ed9c7419384ec28cfe9b5c6cf421a640d1ec9872d5f013b567119ec45c019af393ee673c11eceed7316bfc58d7d7c619d1058176e7a89567";
+      sha512 = "70e395efca8cf6cada93349fca485789408b4c857e8d2112a776a0e4b0ab3e9a9182d85f3ea076c28ae7ac4d143201bf232d9e3d2131f1514f22e72a5d77b71b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/an/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/an/firefox-72.0b1.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "2d855a70932911b500d48c7a48c020e11b97eab44de44397a702e3f3bd6eb3511df4b13a8a65cd539f55aaf1f31990a6b796e3822ca594c880aafcf4e2af9163";
+      sha512 = "0a627f26b383c2e4a04d4756f58aef4846122cfb072a76c9c61dd74c4a733dfc99cd4cb27b89dbce773ed82838d5aca122722e91abd3b31e7c0621ea8362fedd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ar/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ar/firefox-72.0b1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "5b1fbd9890fdcfca4e10cbc46ae39baae49928f226de643ec6e281d62fcfd6a8aa09a704ca2bb7cb5311d743e0124ea71054d54397a558c22c464848f4fd417a";
+      sha512 = "e4efe406c6dc75b718a4275fc919d299a0479d54f4ac7b19dcdb2573e6c2bf549edd1356210de096829c0c057a9350d7d8febf84ce2b9793e53f61980afc6d80";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ast/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ast/firefox-72.0b1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "a52a770a0a5a001846e7aea1ce9d55e36193b3afbb10dd31b6d1eae8fc861d74b3b5899cbd380edf567e401e9c560aa863720b52f746e81a5dac98f9db409381";
+      sha512 = "eb606307b893951de08a2c41a1c834ad684b3dd20d50036ac00000c4ef80d602efb8c34f69d7bfa171ac17310066d028e5133c000fd06028c7669e660a87fd4d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/az/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/az/firefox-72.0b1.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "918deb37443c2459efb50c6756a02e7f2c0606c101ad925e1029c8215414d788eacde29067a2b683b4bbaa77895948126936795d309e3ef60f02987b599873e2";
+      sha512 = "cde736c057172c90e9359789358330f289840ed71de20d1435e2b4658992a71d9a9df2abe1b775c677e60474e7f111730cc6518ff994ac58885212f8d339865f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/be/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/be/firefox-72.0b1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "d7436a7b071932c5d37a1554966bd65e1b286047f00c4a66a3adcd90ba88054d8c4b42ed0781a41c3218e97ff9d79774eb2768ec0044f9dec0e1b956a0a0c139";
+      sha512 = "8326d1b5a8d8da3661b5cc2471b91de90dc96016955b9667f15c4e8eeae49e37dc53a40a303cef3b23b6338a0ea4d44245e99c8d263e1f7c33d3af40ea6568ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/bg/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/bg/firefox-72.0b1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "1e68849a322575f78aebb284dfedbb1e07163227edf5580521d10bc69d389a66c4653993cf2384249f3627f30a6e61eecb9f8572c076e659ab9faa3b5313a3a8";
+      sha512 = "26ca56fc270f1b32c65f8ab9785d8bc0161f89486c73d257aa8c68d3709767e92906a177aab5b8b4e38c0f4a9d5f3322ada862848bf9051ee305bdff0017a7be";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/bn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/bn/firefox-72.0b1.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "79dfa0fbaabe7c7b2e9088812313ee97a28e69e5b893463788784c79ff421c0a7588534b0467ab77b17c3130fdf071a166b96a16afeb44fc7abc5774a2fbd34e";
+      sha512 = "3779536445f562b06c84a3e317c243c5b93c0fe6798b10a354b3780ecdfd7d09f7822be6c31c79b58e24b7c6d7d049caefcb5cc82fc8d6e519490acfbbf9e4a0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/br/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/br/firefox-72.0b1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "17c6540f7351716e7ee3ecff540b78d34fde5197d35df0ca7c6836087a90bde7b833a64df7adcc1ea50a947ec1b38b73fb0439b70472a4835c307575ecfd1c80";
+      sha512 = "e8bce944ab365f7f1c6a194841d7886f728a4f140cbae95eb37673a33619d002592620f7a51683d70301866ce2be298c9e826efdbb0868a6f560cd65f8f5f698";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/bs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/bs/firefox-72.0b1.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "792855fa81350074cb493750cdabfeeb408349713c9eb52764647e25c102542fcd0a5d9d4ca4a038fd00fddda1316c0c771041778405f753b030d6c2cbac4cc5";
+      sha512 = "49586b4605bda89abfc57756c75f4fdb3a8b1dbcc6d0098008676da6a795bf0b1f6c1f717c03356f3364c491c3b80f088ee5d74c91aacdc51f802bef0c1a28b6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ca-valencia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ca-valencia/firefox-72.0b1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha512 = "67c66f28063842ddf346a2106b31a75769a946b6a8129f6fc92bd8466b23ad3e60c5c513d8bae0245d0c05dd892c4a4fd5dfc0ca06e523bbac23b9d9e3d88d78";
+      sha512 = "5b968f7930bc455ed1ea526269c7839d45e01e9a3dc19bfbd80323cda8d8bfa784492c04b9c26a9c8e41af0897c059806ba04efb30c5bf3886cce472fb700476";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ca/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ca/firefox-72.0b1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "a9c3d735f8e8e377b04b906df33c32c0649dee9ffde4314de517532b8487bb212441af50821bdcdcc346b3725a526f01ee6ca817fbbca624882094343fe9ffa8";
+      sha512 = "e3fe69f68258db1bfc380eed3d7b582826da59132eb0ad3d2bf4c27f11b28fd5e6dd0222b5ca227f2af763e059392f25073b5a3494f71f93dd54dd574eea36f3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/cak/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/cak/firefox-72.0b1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "5eb719e1d95194ba6a4d4153b6ed0c831a95ea41d5572230a661d3985445f3eea73190499a8c127de4ba461f8ab5a885a88050ce6129fe1a9abc784e5d335abf";
+      sha512 = "d4b00ee4460836ecef300d7480762cac96de6ac8261426b5f6542ddd5e0cb6c4b8f0ec4cd5d50f31b931c764a66813b652c088fb3ef9d67eac0344fc1d01870d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/cs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/cs/firefox-72.0b1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "5c0b01697415bf3f2e47f2f707dbd618229f0e286b391c5baa0a0dde9de4f008c05d218c3dc8dade652f81723e7d1d2ca47561ed9f55eba8e3c8edcb67e6b717";
+      sha512 = "ca9ad14d81b5c79a844004e402ff3a7efb2f0aa05060617ac612677dc9de6b879c5d94c4ec46634e43fe1c121d420be4cc7c93e1e56179537805a8db8a979bc4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/cy/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/cy/firefox-72.0b1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "9250627374247087905c38cbb90d394e11f1d4a788620c7e534ca8ff1ed00bfc9d3060371af326f79651bd7c70ab3727fb8ef2e8b51b7cb202b35e9c60fa9fe9";
+      sha512 = "27600673141e6aa56da9fb6d18101d202ae9283b33187e0bd0c490c9683e649b2dcbe590cb37ffcc5ffea4090342d42062f4ee05bca8c724d50e67e645297f1f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/da/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/da/firefox-72.0b1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "7e5823171ecdeea65661e1b90fcee824ce43604027843d12ee9bc46ad8d348892c4748493cab69490726c9fa27019948ddd0aef203a44e99502356e2d3632e3b";
+      sha512 = "36e30b13d338cbe6df290acae6c1fd02bb60a27b91916058ac991ee25232b49084813625cfd3ac9c0cd3763e8c08bcc1f8dd38707568f1049f05c7aa8ef10f28";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/de/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/de/firefox-72.0b1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "ccfdeff8354f5c05651954d37be71a1d4b6803517451fecd8051833e25b22996e3afb3e4b471e7348b43409d5ba05cfa9f1555920bc9a48e32417261701e852c";
+      sha512 = "eab03c781b782b39668617d90d192141828bb01356c50fcbbd0db908c80a5856329b67d3cb0db14c26ed79b02688e35e7894eae440910871646b313ca4ab7777";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/dsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/dsb/firefox-72.0b1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "92db1f66b8ce5b5bda5122d8fc9420944ea904adf98ce353086042627d2e6da63eb61bb49d8275021bf32bd8fc8fe96a798f457b03ca0dd27e55535e7163f9c5";
+      sha512 = "e288296e9e2be6ee12d4e3d419805607d09902cd5cc10b12ecf3c16c4dc0c1ac87a51513c4e640cf4206f81573e834c550c9dd28f152a1a266a6bd8dc60a307b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/el/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/el/firefox-72.0b1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "839ed54492a56ece40b3408f051b093eb81762b6725ede4d633a24e9041883c47b36be5fb69701a7a7142041fe3b6112b7f17347f3e41070883ac3accf3e6a95";
+      sha512 = "98da2ea104d6d755a0efc64e14f9571eb470156e7f6d8b9661381d82167c9c0f49c1944990f687793725b9a351fe06f87618f64d6d8464d372bcc8286336821b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/en-CA/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/en-CA/firefox-72.0b1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "ae6f7ba7b3323d9017549bd05113a909552c538bd9781cdef0e4cc65f203e1628d3c589c2d9c34d8475d641b0cf4cc394ef3240b1d1a5d22244d4a38ca8d931d";
+      sha512 = "4f04db17ec067bf4855d9aa27b3efbfec8e1ec171eec099cd3ccb57584c16aa9a28eadb1d3e61b9ee91ec51f728d699bb259426573ca82b0b48f2ed92d9bda3c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/en-GB/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/en-GB/firefox-72.0b1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "de4da5a471f6127f04b84e5fd88b5f8c3757a790557c8e7aff8490575fef1409ddc3cf32073c83296acf9cfdda7f2291b086e8bee163d9b95187d8d0d804afee";
+      sha512 = "451b3bf794e0b26e50bdc8ee66d7b4c80c72e0fdcc2602b1123976d80bec5ab138c56b15ce1e2109ae6b371058f4df96754e3a3fea3f650420263f1bdec3cf45";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/en-US/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/en-US/firefox-72.0b1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "d0a6f31a44076ae24134b306483855fe969c28f95987f2b035d165bb6397f78545e331926a992ae271f6fff4bd66341b9dc46f89f8762b5fdb7d3099d21ac49e";
+      sha512 = "bd8a7e7d622037607024f6ae11b62f993f2a80df2b628612d0d3f43a852d41f99cb8605042150642f1af0f9f7b03f4f2343c685416e3d18a92d88cf7db00fa59";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/eo/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/eo/firefox-72.0b1.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "ed6fdc01e9ca1c3e65385d4625a5df22acff9e3b4753f42ee30a134d3f68483b868875be68bea4bad74ca920e3734c447bfd1150bd86c8349fbccabb19c2b9ae";
+      sha512 = "ce80dcde8fe337b012366749ff6b5aca3325a7a2dcdb7e861259c56303452255e7e85fb93c7385f8f6cfb70ccbb8038fb882e3ed38571f40b05d889fd2170d87";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/es-AR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/es-AR/firefox-72.0b1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "35910231c2227d230a8a73c56a94d93e9941ca940aeec99093fa5bfa12835347138b4ccfc0fe7c1bfb002da7ce6c90a14185f62f6bb88d5645b19c34c7281bd2";
+      sha512 = "900eccf25cce830e4e36185571b85538dc4465effaf1abb49a99f76af5af8ea8b7143c116815907a8fe60c87fa701882fe19459c24d0d9bf8b69cb647adfa040";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/es-CL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/es-CL/firefox-72.0b1.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "6373fc5559ffe2887a0d4c042ba1417d8cbf3f32be687068cf194357d7b3ae7609dadc4cdf9dca45a2d4e02fabd587320ecac4c33acd22c05eca3ec44bc1f1f3";
+      sha512 = "7858b2f4c75d653226c8efd3b133a7b6fd43fe20206cc5261c55f702ad25884c306366baee8a1272c45e1c548bf4dcdaeeabb7802db1851bcc53cefd7165d2d8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/es-ES/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/es-ES/firefox-72.0b1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "9a55ae7f5d686d722878fd09aa161f9e03746f016d42afad7d4591fcc2cd2d399552f467d44944cc610d6dc6abd4f60bbd07d78305df5e0cf7bd5f5a4f382be8";
+      sha512 = "b14896e39af7f275cbeb614cc9e5cf29a662844beaf54d0d8b2455f718ee2b81bc30cba672e4e7105ffe51a28f90012daae329d27708153c5943ff749e20ff40";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/es-MX/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/es-MX/firefox-72.0b1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "6f7ca858aeb314f10f85f8b9e881281ca430bb5e97fa5fb79340a9e1215b5086986616c0a97484e54fd57e6b433dc4dd7aaea9c7f66ee0a6c0b210e37efcb2e6";
+      sha512 = "0b86eb36450557702449a97f2c562636ef31490ccdafa76784df06338220482262c16ada763618f608ff43240089510569b416092758f4eeff7e362e7b1bc249";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/et/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/et/firefox-72.0b1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "0c9a7d9de35cfb1d1e4ef1416a1862913cbd96ad35cc2f223e965adf8b0f23161b96d55a60acd87fee13698c05bd78d5d80d80c95e92c0bbe2587493421a5f06";
+      sha512 = "93f3e77d136b6eb64355331dc36932b3bc3db91c8ed133ca3484abec7192193b80b4c663ebf2a019b3d750fe81cef2cd641e1b58deea36b0e36603aa4235896a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/eu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/eu/firefox-72.0b1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "8f09a5426aa0e57c81947a59efa98395072489514f0d1ac6cc9bcda111692db8eb7436bc8ab3c08c5c5af2a5b1cca5269ba766e2d8b0c89b8ea327babd035916";
+      sha512 = "bd9ca87a3c220348f8605f54829bec224ccb9b7a26d62e3f28263a00265865d696c4900d01286bdecce164922c0d3a8b9bc39d45c27e58f0a2b91154e64f2311";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/fa/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/fa/firefox-72.0b1.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "6dfa007d83c6c06793744ae966dc30a2c0a5d15a1e1090fa918a9a0e48a95f2b17eb1287814976bf4578f37465e8db70967bff1ae36bef963d64bb3d94772df2";
+      sha512 = "2a9c9ac5dbfda1819bf04f9814ab446afd6327b9facb7bf5cb0b1d1e496214e7a9c2cbb24b0bceee8db1f5c38271aa09f1c6ac6c60cf99ee4afb09a453b07788";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ff/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ff/firefox-72.0b1.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "2c99cba49a717c539bee467f9f5ef558013a91fd2ed9065b7624abf838cf35dbb5451aa330030be750f6edb7d3c0683402a0a67bfa60761d730f9a5d674a0956";
+      sha512 = "1b2f1800527cfd19bf1e8895c1b6d98316bee96c9e5e1516092693b440f0a603d8b61fda5d6c91cd773bf2d73a4b01dd1ed8e3ba0f2462c94b56bd85e8004ab7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/fi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/fi/firefox-72.0b1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "dec8b214998417d9c6c4599b87a738daf808e0462ee0cf4ad652d3baa953ed270d862f255af480060da5a37639d6fb5f17bbe111d5df30da32478447d14860c0";
+      sha512 = "7c3eea2f57e7cc32eb69646ddefed054ed7d900fb27eb0f555c6d7b3f4b4f656981c70503fe9ef59d08bdb9c7270d96e5782702ace52ccac7a8cce92d470e68f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/fr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/fr/firefox-72.0b1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "9409852541a316c8bed8a56a5a9ef8a919bc635c4f0ad686c2b194c174f5d90cafcaeb4f12b7f24a79a43051a0eacb3569df2579ccb600e78e92c0788a354a6f";
+      sha512 = "63f884991a9c25925d4438b8e6d85fc57578e113ca357b18d292d5485db83eba4ac037189a9e50c8508a6a1e0fbc4135a76bedfda64303c1795c8efadb03a723";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/fy-NL/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/fy-NL/firefox-72.0b1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "57cf81ccff549109b337451b4c97038db249d7bfb56469ed0810ba0ded24b66166d310b4cf447ddd006878cfe4a3b6c74a9056c2c5b88757880d0c51f8c0458b";
+      sha512 = "616edcbedf15bc928e93ca80589044f5e76aa8184e9f258dab056cd849dfbc50a46ecbf2a5c933901045a7a8c6eb5f304a57872b6224fd8fc594467d165530c7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ga-IE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ga-IE/firefox-72.0b1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "9ca53ed31c2aba78e0e738ab3bc864e5bd9acc19c7414a229b1197fa7b464d11ee5665d5300b805587001e613e8f3375c5be8bdd0ac3ab0c4f7270bbf9f0bb3d";
+      sha512 = "42c7eaf384247bd2dd5955c2ff3e677ad2bb8137e39d78fccfa50943e891edb7ebf0413f70ce4fdbcd066ba8a2594b80d383cbc645036dd764d26fcfa4b5326c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/gd/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/gd/firefox-72.0b1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "35a02ab1f906ea13b79f42ec6dfe9225dcff87bf66f9078aa514a5bac3ad5335ac76e4ef61576d287db0a2a87de42faa18f14cb07e9c5518842742dabf77dc32";
+      sha512 = "f907624d82914f2ea028a3d3d40797fb70433ad2fa9339f5cb493c0ebbded5972f1ce79923d5ff4d26c1a3c77f8468678c3b980be5d7edfe8ce9b0f059483fb8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/gl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/gl/firefox-72.0b1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "8d0022da05342ccbf5a3cd16f12efef4268c4c3a8595357951732310bb2c8b0b948cc93f6098e82b199097d2a6fc6584b092f64a8be76b9e4a341ff5d98e01bc";
+      sha512 = "3fde4a8431e926ad131d94c9624c6276fe83539f8d033c4bef3fcc99fe0a643e14adfc4277457596ab22908667e5e361ca00b58771e130022b0beb51c733a2a6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/gn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/gn/firefox-72.0b1.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "02a86e64360fc8640ab491b81162709132f2ce05d412fecce5054dd8e17d29cc212c2faa00837ae99367f6be0ca92631d412d51a1466f3dbaabf4a147dc3c4dc";
+      sha512 = "8ab91284ea2a7d0d313a405bed7c60c220d28b9caca64a819de7fd5a9080b65d1a4363eb3e657f516d4e027229999c2af9c4d0789886dc979e5c7781ea877f94";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/gu-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/gu-IN/firefox-72.0b1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "f27330d3610a1cb39826d778fa72d6387ef305a136285955ffe0d95a86b03bb414215c7cff9def0c55fadd4b1fc42ded4f8d1b3bdb94407e2ee9e9c252e1fd84";
+      sha512 = "39e3bcdb47000f5b6287408d0b3f869b5fe8aac779a2795f94d72f50704ed38e2842cf93615276231379b318549410d8458e323e40953741ea1a12f6208d573b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/he/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/he/firefox-72.0b1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "fcb1ab26f3a38d58d778ca799b6903d0956e53b352db864e213d1f64bf0be4615ced48be942b3db27024f545a070c4948f6f715e799d697c783f3c781eac355a";
+      sha512 = "db6134d9489b721018dc93d7dc1f8ca83148e751904481faf50e3f6dda30ca6847b38bf35634faeb7b3a062309ada16018520cb04b6954f5195b3f909aeb7025";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/hi-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/hi-IN/firefox-72.0b1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "df4a66dfd0d55e31f98bf919c827234a0df7d6100daeac0ee16a1f2c7bfa06a3453bb0ee139537ab334ad7670d5bb9933ff8fb3a84c5d20b82b3f8a6313048ac";
+      sha512 = "bd8139355288cf1a5ec731896eb021b0e567970b602d491f5acdd96a6317599a409c28b04fa86bacc8834d070eb7c0af3d6251bf6ea8386af8b47449af29493f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/hr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/hr/firefox-72.0b1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "57520871eaefe4d4abd8e7cb2ff02339b35b5ce9cb307d158e859e141e59f737245eae2b72178d8bb23c1b8b7aae8b743476e02743617d7400e1b043e7886402";
+      sha512 = "504eb24d499183457cc16784313b5320a44c48d7c278a2472639b4ececcf7504dca003375a7c82bf972a1c6c0d40f2dba11dd88463f922b008866fdbc8047010";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/hsb/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/hsb/firefox-72.0b1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "33746773e8a0bdb03c03aab367425d4da1934ef4ef469e061364b68953fbb824c1f3bfa7b1b513b81140150258d9ef07ad133b3506336294100d24b6d54319ed";
+      sha512 = "ac38577397c2c2b444a1eb2362c2757b648dcbbc75997849329d21496a8893ff61d2e9e7025c5ef24fafb4b4a304f3307ee75892a1f8d2458d08882cc2a53171";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/hu/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/hu/firefox-72.0b1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "d15539bf57efaa88a8df9f002c57f31c057e21994265a4e52c8d2680f9839cb271fe50ce7de50a03bd080ddf77e19ba216161e00ba772de6870966ef826d72a3";
+      sha512 = "94f52a61f830d5e07484a932ba23e76a3cd6b60e5897ea6432b71dfaed7fcbc91973464e80608815bcbb74aa9ac1e64c58d83b1545d13219bedc7f2a264e5dfb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/hy-AM/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/hy-AM/firefox-72.0b1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "b90e40c357f35045c9a4cfb3bf10b50a0623d8ba7006880482d377dfa532d1c7afb8c67ae7e96b4b2ebfff3d3a72ed515533cfc2a7fdbee5ed21ca1689885829";
+      sha512 = "ca35583edb7e2b18514632fdc2c1599a97b2a5464db7a3961d9fedfd53d09ccf8dde399b5a6d86b4c5e118c73f95f164bd674537b6376de0bd3c4323adface7d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ia/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ia/firefox-72.0b1.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "3fae3c87c43e3409daf907e1cda6e336a88b7aecf0767003c9ca2e81ea48dda830f7d2d999bfae8e84699adbc581daa964c8748f98f29a9496cf66739bdc3a01";
+      sha512 = "b9f736a6076f26847f942b50b434f6d713e971fa9f904bfc15e3e9fe1768b83f53d631d40bd4b070944c1be47d798f6aed2b0844ce85b858a446b7c639cedb97";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/id/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/id/firefox-72.0b1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "d6b604e2ba835747710120bad9af28d99179bbef2936fa1cf04bca89706f9ffa871d71127e21f1d2a8730a478c2b8d36dfa53fd77cf8775e6129b78fd552bda6";
+      sha512 = "0b13a7e945e0024cd2b01baaf057d633b856bd072f6474ab1cb7824ca0a70331c86e3e2f1036c4c2bb2c22deba3c4555fe39fe4e10c797ac5f79f1123ce8179d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/is/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/is/firefox-72.0b1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "a4150baaa6a24e1fda1ed51aa57770b7796e5b8dfa41fa514625cb18dc322ccf1a92c6726dffe7e47123ab27f9f3f51e65bc26956ca851c66b647324e1db12eb";
+      sha512 = "481420b267b8f6b1a3e29fac17cc4e260c51e66a0f5faf8feeeb07b6e10ce575a4086f3a80d0f74cd5882f152d744acabd128186dc5cb45ae8b276196ff386d1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/it/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/it/firefox-72.0b1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "8e6fd4396aa94274ef7e93780f3c6afa6921cda75bfea904e41a34247357569d00a4b7a85d3846faf4454d11658c49601a677ed7a9717c199b4fa36ccd0ff3cb";
+      sha512 = "519d9849c3ef9ab3f84357132d7c0255c416f916479ae097379879f13a3c5b01dfd58425f80eb769f5c8bc050234c38ec280c42ca7102c19f4098f149a33cd87";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ja/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ja/firefox-72.0b1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "192f402abc0ac43280fd2c3c26984dffe78c33fb27dda0b3be1292a055ea16ce7457c3d9b1d10fb8508ed2455dc50bfc7911fe36487ac3c3fb901a197a8f908f";
+      sha512 = "97e493222a84775127285d6f58c5d32fefa97ac4a6845608024156a448274141d6f6acc6a0c6157e19d06b45e5996cff19d7ca9d2bd376425f7a69ed94a0df60";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ka/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ka/firefox-72.0b1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "d16f350268fe5650dfd8a650c96a3c4e23286c8171e3c7b4e351d71ab5a28e7cf71e4156bf4ad9d443ed991795cc67527bee1c07fb45371165e01229356c5b45";
+      sha512 = "377044ccbdbabed0d969c75c2ff915051382788cdc8d8e5a24ec6c7e948465bdcde8972d210e3f644553b908f4227f51c7117157af496638c312ebbd18d3cc8e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/kab/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/kab/firefox-72.0b1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "f85f5267aff327edc5efb3614634bf6343831f65c53a718efbdb3ef7d8e3f7dc9d763ea79d0e369b75025e105c17c16943fbb218717a2d7421d1ca1acfdf4424";
+      sha512 = "17b70b87ffe7c0e0a84eee1c34ba3e74b7500590f59efca3d613db59212e3ec343db5840965df1c51712a8ab29f05c99ad484c371b29104e891e51284432b730";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/kk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/kk/firefox-72.0b1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "512d930738589959d8fe274bb5d8adf77061a21b5b7939d42fd434bf7606468143097dd9fe0aef41e0061ae03cbf0a76e7b82fe137168a293e0a56728622dac0";
+      sha512 = "358575c3034a60ff5ec3d5fdf0b55be245564bc1efe7d81f0a149d201af08c021649ed2f80ffc7612a9e38210935a28569785f2c37cbdf6b426c2b79d58a7ae6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/km/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/km/firefox-72.0b1.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "4b00a6e18bc6f02c7dcb003991c4363acc0289dab251388b5d80d2217ec434a4a72f042ab884ad0ec934ad21eab367e2c8772d9e52fc1b2c782e8cde4e3e5b60";
+      sha512 = "13249ad6913e4588818b943bdc7d3d405d8a5e84d6c488063ae49c57ef9215426bb184498f144be4762b4830f53ecf4bf7a268e7027e473482ab7dec22c1ef98";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/kn/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/kn/firefox-72.0b1.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "4153802579839e946d6f481aaa0bdd3dfbc7e8eeadb8f2cfacfe16741438e203d75fc06a96d8533ea26c3fc6ed9b4b8de235166bd9b3def7c506cee7ea9bd456";
+      sha512 = "a63d387af011958e7c56a80041751bdcac7b127235c759a2df26ad8b6b6f54897d1142f1e439253701ab27aa741da18630bd7fe8b5e0244fdf767a8e2886fdfa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ko/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ko/firefox-72.0b1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "1af1a017467c60833a882e42459adc9240b139b472809417daec15f058e93b7d862ed66346c5d8edd2ed472c7768c6939a94c74a9f774f8fee038e5eb2d5d001";
+      sha512 = "eeae25d432c5ae2bc52faf96de10d629e1415cf1fb8a85cb360120ae5110943a00506472cfbd188c606ff6af9a2a3fc94abb5544dae6eedeccbe19672a6d59f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/lij/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/lij/firefox-72.0b1.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "20011e79a9d2907e5acd74b0aac4b007aa7c5c29e86163e9b8ffe1e00cfa9deb62586c9564e2193a003cf5e6ddfee9eb93f873c5d2a7d3abb1586fb5484fa7e8";
+      sha512 = "bd621f0a251de2023148a50ca5590b14bf8035e22eafab5254a5e149ff4c952c53b1104f63a51af7b356d689bbec7b77a3d4c4c2a1623ad91f854f1dbf51fb5c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/lt/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/lt/firefox-72.0b1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "b4666068b53dfdb843a8b46e9969a5a653c57b30753fc2a45e661ba3ce9dcc0713e485d3dd39885901de7bf2f2b54138b3a2dcc13411ece5216758aaa38d6e53";
+      sha512 = "838e0f4c61aeca1f076a561bb9261efe08da4c86f5204d2a544accd37a48fa5536f50f8a55aa7a53cdf8647e9e699aadd0e9a8a3cad15f35847644e2a096396c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/lv/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/lv/firefox-72.0b1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "e3546ddd2c656438a13b1bc5f4478f8bf814fea7044d168c21017d581447dbc506faaef443b09cc01899ac59862cf60633822d2f8cb73170e5999c4029c378a0";
+      sha512 = "b22bbc48e420d61666d5aa9865ebc7a08efa57c7e2f89509020c2bfcc3caa5f74f77b1ab142b2f55db3c53f9178293e08053c47d28a1c457df16f51b43557a2a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/mk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/mk/firefox-72.0b1.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "b45084736ede3cc740e81aa59e7fb423d17c724075fba27ddcfb584a651d4cc9b0f3bae95a296dc9001485bb089efa1fcd1ea1cef030238e556c78f1d0215957";
+      sha512 = "16a385017551e6defba83b0afbcd70ea36263c5f2ed878eaa81b55cf6b985a3957aa9783fd69ad7be3b6130fa3ce56850ef85c8c3afa53b08da76fe469613fdc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/mr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/mr/firefox-72.0b1.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "3df7b84e1e315040b6b16faf8ad8d82b1fc29d3e52c49e86c302209721e7c43e454b30ecc9b89807529c5137a0788db300aa30a21d3fcc31017c834bd86064a2";
+      sha512 = "7f9e34a919454ab8bb226e926befc7e234da542c60281fc3a4cf083414c1552d575bcbdbda0f630e4adf3cc808d5c9cd80d49e9b1535d14cacab420758bf9ced";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ms/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ms/firefox-72.0b1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "9a66335f84f29399793706d69cfe4369c320d1cb36934f57f9c0d4e04f29584b0e9a9717dcd88df19d23814610ed84da3192e8d2d2dfea1713cc40db1c3d9f94";
+      sha512 = "56644cc2c19106e2431fcdc5fef21cb1defe21b8a88262fb73aeeaddf6c14307669e8a79f3ac7972d554889aa7e84db357cfa6c076f4cdf0b3c790f16e9b41f3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/my/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/my/firefox-72.0b1.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "8586219819669d4451cea83044fb9debe2b6db389ba24b8dcb927361e4f48c818e7e7eda073004985c13a78c25f8cd7cc2e02dc4c188b2dab0a30dc707d5aada";
+      sha512 = "ad57d19f8cc7be806d0dbd904ac30d4228a226d63494aa567900b4ad7bcbe7147afac1af5ec180c860a21c7327b909181b7863353de6f3a438a833acd0dbcedb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/nb-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/nb-NO/firefox-72.0b1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "32f847d6bf444eefb03de167dd695543ea69f62b9205016e18c4f099e9312f6db87f879d9050266c47db43ea50b952b5236997aea0a5a980c90f2ab414ebef8a";
+      sha512 = "056dc03609ed5d531cdabc406c21376cf83f4348ec2e3252acb6fa18c4d9fd89d60913aefd02680a3c5d14d207ede374a3641c781638dc3410c36e3499d8d36c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ne-NP/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ne-NP/firefox-72.0b1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "90fffda6e1fc345a1dd3c993d206c2101b8a5f8b03abd3801124a4c0fbb3c9a6cbde09cffe9c181f2d6eaae42af4dcb19a79983d9588be4ee2ffbf3dd270adcb";
+      sha512 = "db3fa143a5557ef9d1bd26374721ae8030c3d5c020a762b2b51e4c80621c4fe08603e472536204b9444baa5f93c746cacf7d55e7f39d03ad95cba60edd35b44c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/nl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/nl/firefox-72.0b1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "eec4bf72b0c13cfef5111d64f5d7e01b0542d48d8796c4b807914b620352656bdaaa0e01a6625719dd33aa53edb9288101542639e37c262fa49b14a7ce24e776";
+      sha512 = "eac3d98342b593392b922ab066d0502561acb84ad47ec0c721d159007f7d716276cd185920a6da8bb344b515643f8aba953124892d103bcddf0f42bea69ad8ae";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/nn-NO/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/nn-NO/firefox-72.0b1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "f82dd5a5f2bae8610551dc340930054f291f13c39d4cd56c0c1c6df47434d0d7a350dd5f4e05ba5aba73a985af228db67a780c9a9084e3ce8b4acad86a613386";
+      sha512 = "069c5911fad3f76c63fd2c729721388a811edbc15a4e06fbd2a626007c9205de134aa0bbea5337a58800200c32dd5eb014005c392bb91f33f6a353a934e619b8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/oc/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/oc/firefox-72.0b1.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "4e8796ffdafc1a30056b972cc7f2287aa4dc5ac1460601b23e0364abb3507832bd10f8cc0feae3e1dc2bbd8835be693d7b301554d7ccbaae401cddc58c703562";
+      sha512 = "109ee45b0dfe0d910639c9cac2e252e82af4f241944944e3b71e6b5e116515ee13fe6a778b576208f12e690f01f1ad072d135b42cc74867e4ecae4cbdb080af6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/pa-IN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/pa-IN/firefox-72.0b1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "5586ae4d8db7dbc7e2a0c3ac67d55a3a161aafa342690a58c92465911cf1329f2aa9d239d861295455038c894ef29c84e5cb4a06460661e679f118dd8b15480b";
+      sha512 = "48d843823c9f279eb5e7c2068fb4d0a3b46b6e235851542fb06d43435f4a06a969834b8a2313ee2f0e022a536f687e3b414ff004ef466f9d8f31105752fd51dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/pl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/pl/firefox-72.0b1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "055aa65d85674a79352b3d634dabb320bb7c2fd978c5b011f3e3f537ce1436fdc3e2cc2a316d0163cf095c1b9afa2e4d8a5a1ff1bbc9bddd280cbd88a018bd73";
+      sha512 = "68f10c3ee536a375ef81b4d3d27d643aa6a8413c1b498523b49c6ccc77a4a495fe66a2b4125270332812bd3619f6270266941b6681b0fd1b8bc08e51ecca832d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/pt-BR/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/pt-BR/firefox-72.0b1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "840391d56d7d31cd26338d49f64a56a6c48f52566fb3d534b5c6484e0062cdc024c2a30f65036f3255e26688574969e831ec431e071d575fb56b560b65031539";
+      sha512 = "5a681b1648d37941853a76dd0a9d6e28b77c4d206e1d5e34c736f6a40d00640f0f3056d2861d5116fa72007aee67f1b709935fc65da1886021d6cd4db5664546";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/pt-PT/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/pt-PT/firefox-72.0b1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "fa1fc0eddaf1ce287ce48796d8e6f1ebd279277e1c33a11f2d4f7abb32424664f555d27abf317930e1053769e48aad3bbeb09e54bfe3c680a99381d42e54fa18";
+      sha512 = "a0a7d7659dc85934d62ec9477db58237ae2acd91e010646f347373646b0bf8e5e37f653a8c625bf9d360ed27d53a9ce5b21f05420bfef0228e2e890891895e8c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/rm/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/rm/firefox-72.0b1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "e035ccb63bc220aa283eb561ee92962d00848e6a02f5d4869a82345ffad05c9e2b638dab551d532621e3b00266692fa33a7277acf8156f368d917290d7740472";
+      sha512 = "050ae799a752e3000f9203b5b67482c2c571d7cb59befdfa896d533cf1daaad64a7a6a01bcde4abdc0c7da5c3d6dc08b08cb6ce4a259808a756eddb97ef16ead";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ro/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ro/firefox-72.0b1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "9c1071cdb64f479a3753554e3e0f9f1a31e3ef480722cbb510dc9265c6a1d9efec855d60a09628998abacaee39dce6dbc1d6bf5336644c8f160ebad6515fb356";
+      sha512 = "801a28a1071af835b44c6ca573c1a6946cd69c04385c4ecf8d3e931efadbb16b6e3ffe1d9da86e921cc84b3adb78da1b316d9cf8678fbb48f19c55c38399f0e4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ru/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ru/firefox-72.0b1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "287aecdf7a132ace21be8a215502f6edd00f824ecdb0ef68633d54f0983b63795ac06dbdc046762f036559b1632672366716beac300e85f54735a4d54ef8f79a";
+      sha512 = "8a02fc75cde199115fcf2090e7830cd0a468145bdae812487870ea4f393c07bbb0dedddbb401dc56b97370bdf11afd6080448af5c93c3fa48f17f78bd209f768";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/si/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/si/firefox-72.0b1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "38c0e1f89b30b87f61fe42755ceacb8b139fd2993410163f2d80b892ff081321753fb2c9b3ee95307afdcb3deba08a825887f23b9c75b0091fde181a1435452a";
+      sha512 = "23e75a8b5ecbd9de921f55007a72165ce133901633d258ca87b03ef59e508178c5e43286b5d5e1341488e5fa6a296e7da4d0fb61559befcbf0ea8a00ed787c14";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/sk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/sk/firefox-72.0b1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "49c0b47c5cbf7736a757971bb12d08de0c88a405984f3049b54706c6113d9766159e18230076564cc38bd1e9515d8f9a0adc294b73bea96c34c0b72b5ceaf492";
+      sha512 = "770b440b100567a34058ec3fc038ffdfcf47d041801134decba515361e1801e12820c170d7ed2d296354250c38381483abaa2f2c13481d0eb20c49452412a899";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/sl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/sl/firefox-72.0b1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "53604559cf49c2a6a509ef51d6abc293384213553f14e7f2617452f314454dbde480e561de646efffecc31e3aef44375d07765a8387abd2edb515bacf9771729";
+      sha512 = "6855f8e9bc6c74caadf59f95efb6734bd1286a27cf3c51a52b6dbbb5cc7abc13b8c86652bf3139d0fa10067876c030057cea5bf14380c0bc7522a91a4f3676f6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/son/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/son/firefox-72.0b1.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "ad1cadc39f09b935a032188664fd4a068e6936a650f6bdadab834718a9ce061b2920004b0f3e59a27a5cc43bbd142d7e2a5125485c67a691614b64f88118fc8f";
+      sha512 = "0d3fe1b7d0dc54ee1b870032c3bd368f096edbf857de84f87772740fbc5781a580ccef33ec94c1405110958d1e3e49d0e143d3332daaf1dc47acd48649d21214";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/sq/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/sq/firefox-72.0b1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "661adfb7a6f0a584a16042909c0427f9870d3ee57c0be44e6fa6a359076a201813cf55de5b39d6e00f90d419565e4f808e0a8dabe6bf8e3ab9e77de29dff00b1";
+      sha512 = "4eca3df4d709bf95a6b6ee63fd2754e819209276e9751c59816ec85b9d0a3789d9e07c0130a7ad7d4c4976056b843bf62390257bb1c394fa1b298c34f967bdd1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/sr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/sr/firefox-72.0b1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "2ca948e7ae31e2151842801c021bc4e9ccb2261e52d22749b051bb6a56fd96b14bc39b7c461d3d081ebad876d387d2bcbeac6813dce413a9e8e1d7116389aad6";
+      sha512 = "a73612f69e3c3e82790814166b1a29ca29b8d577d317e318f5f451f64dbfd2e0952dc20c97571e147d3b65383e6f26c5b9e54a8b63d505e8398c74f5dfadeed1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/sv-SE/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/sv-SE/firefox-72.0b1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "297e10d7e5cd95b536f51705fe5ecc5b35ba4d9efce371f42fb809106ea3cc0a0804fa43b37b6850f6ac8e95de4367bc05b8de4b539bc1a9e3fa6999c6d19984";
+      sha512 = "70d2c32cba5e5ecf3d187ff3667bdf3b5fff1d32a16b29393f7bd5321d1f301647a81f91596fb6d0f4e6b40583679a8cda0b61051545133cd841d7f3f3c97a0e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ta/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ta/firefox-72.0b1.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "3139fcb90ddfe70788f538c9b625c624cbdca69668370f526fdc074039ee2e543da49f020a6b813c1ed8414ffb12dde10be5505bb13781bb108b43f4bb3af703";
+      sha512 = "87d390999ed09eb1ebb35a14aea98c95b7d30d7178b8df159f6f63ab9b7b03bf752f5ac9ef78661229c771ca3cadd73f961d486b30bd54e5bb8ce59e6831bd70";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/te/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/te/firefox-72.0b1.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "0f4534486ecc0c9f53456e68e411ebe673a150b08b3d9c6e903b4e5d1de94f77bbfc326802fd5d74796c55fa00434d0db4b3a053c3a730588a96323e43f3b2e4";
+      sha512 = "c55d3d2ec945c3afed6fce72b8a044931d2dbbf3e09c9a6f4143249d6d767417d85ad42520899dc6ed25422213449bdd5cfb0c8225118ace38d9f6d981a11bde";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/th/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/th/firefox-72.0b1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "3a673aeca702239df98e2218260b0d38361aad8e00f8f9d7cc025b861aeb737fef909a2220eda8aa5c26e393811aa55b06eea2d969685ffce579e472a40c9f22";
+      sha512 = "8be6cb5a52f2a5ac9c6583a998fd8d0a0e5ba435252d99072a65bca64642e9104e814e6cf2836060d59d31aaeda2ef501175955b6558e5a89c1295567df1ff34";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/tl/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/tl/firefox-72.0b1.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha512 = "f97d4709087089be241523fd52acdd95f073cd4a793e7013c00a07dea21b6c493071faa0269402c8024498719e86fcf9cb11a919a0ae0f0143d64dfd9f4eaf61";
+      sha512 = "ab8be21c0718a7f99f88ddc218f634d2e3cc1879ada1108e1b2d86ebf092644bf4ae66b4515ea096eaf9bcc45e1801682e3d0447dae8958dbb62c6639c1b45f6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/tr/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/tr/firefox-72.0b1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "0747a36b046240198ac2b7359785fe930746629fce71d2a1d8728fe7cbbe775bc41ec0cce4c7ac5710e1e4087f908fdf97e03d192519b682107361615c724f2d";
+      sha512 = "1551617e0bba99cdd208b4d3ca96685eab52f0ececd2a90b6863f36fa06dd2198f727074be7c3ae3564ec33bb63d0ae38dd9adcb91d9992c0ec64d522e69d988";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/trs/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/trs/firefox-72.0b1.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha512 = "84f4d764ea2c3daebe6bdd1fe3a46fae22a065bf5e7e6e96114730fac60dc9f4b1887b12ef82e9adc705552c6668f165777e7c7a69d5052285eb27b45a4c04d4";
+      sha512 = "0f6d88d37e7d81675f333c11ae0b62285367e331f6683dc43eb231f648131e6af3e25d9cdb73fe0871fd6a36ca2d01145529e6d5c1edcc7068926e8e2451d5d9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/uk/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/uk/firefox-72.0b1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "7a7e224493a742489a299bc38595d3a43c06cd38241085c5b909cf45b240df8de238bc4e3e7caa786f591e87c20f00cc19bdfcfca29d378d523daca81b156788";
+      sha512 = "0ad678d6f91b64620b12040e69aa075053a007d8f0c9911cbc59a8c539b3f9acf81b33a1f3dda4dfba0d72c679299f2008063bfd91bddd91c0c66816875d2416";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/ur/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/ur/firefox-72.0b1.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "32b2c6cd8fe45cacc4ffb3fd9c553dc5ef2b733c695bd051b2cd036f53f0373151223b68c7b5585c446183199f9dcf161d26717e0ee3dae65eea8baad638658d";
+      sha512 = "225c8ce9f33343cb5deae28e53797dde1df64b036fa4407d38bddbd2a5a95ab5e1df53d094522e53757520c6b29f494a4e56fab4e17ac5dc61bfadaf3760d2c7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/uz/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/uz/firefox-72.0b1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "b89fd5af10fa965d420d951ac9f7c6fb214c05f86cc95373b41037935f83d845e889f9030a72788cc8909ab35f17d4e922a26fbf1f482157d496fa9e56921369";
+      sha512 = "7198f44ddf4360f67102572524600ee8cf66ebe5602797af90bb733c8889eac34d34d3eecdb2ba4b510806048d2cabb1ef8580ffd666581f7524fce20d085320";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/vi/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/vi/firefox-72.0b1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "221da3c7dda82bedb9e33dcc7eac7cc4f59e8e5b71d97e85097f93cdf96dba6c9dc1e1648483bfcd2250a635f7641a08d7752a035de33bb3ec33862dab764170";
+      sha512 = "6524f38b09275553abdc3bf1e4a790fbde346f3254a555ca626a36ba7e41683aeccc40d17bc10e04ced21a758e2ca47c643dd41ccef12712e20e74db37dadee5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/xh/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/xh/firefox-72.0b1.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "29536e222d83f30bc71c06b8ddc4ee04d3bccf119c2c1be8934b9cc8da57da5e38bb14434e410804e2919fb0ed21a1be87a361b6c923da131b1fffa194fefcd2";
+      sha512 = "d1ee2643509b7c24ee95bd2956e668abaee55667d2d597924283e95dab6372fb074cf5787d7ac4e6264be78f583e9fe3312342486cc4243265953a1d218232ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/zh-CN/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/zh-CN/firefox-72.0b1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "6bc526bfb6245e6ac109d2f9ae5805bc6da09f06a5a58e2c78953b59fb66114c24ffe01a90568a9d8cab40b9c17912111e9a21ed89dc3c65dd4e0cbfe1bf20d3";
+      sha512 = "b4d94914235c44f721c2d1271d8e5735300b22d85305efd83f3036062c70564a7bc4288dc5d730deb24920a317c4778896fc4a343929697c0f5c75f0f780414e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/71.0b6/linux-i686/zh-TW/firefox-71.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/72.0b1/linux-i686/zh-TW/firefox-72.0b1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "68599169c727d5bf4795960dd6128a75a4208b74c258f4b8dd8dfef398c1369a8b9d4a3cff96f55f1fad14e412f966946fe888bb5fd162ad09528b62eb930c62";
+      sha512 = "9cb7da1cdf5b7fb35bdcab991294e72ac035366c45869d34b50befb985d5f188c85a1f675c613a497ff92a0925890cf9d198d4afa62d63f3090e6eaeb3bcce2c";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 7b74a1094c7..0a819fac91b 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,935 +1,965 @@
 {
-  version = "70.0.1";
+  version = "71.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ach/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ach/firefox-71.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "8ffdef324586ec9afcfe254c42e938f54774e9c4ea5c695ba585439e71468145b6f0e39644aa731aa01427f09bc117a501ffeb36b5ee40fe39f675be81c86a33";
+      sha512 = "61b15c19839b16659129746561c8da055ac7e7761384511466937892bcfc34aa06aca613e6786b7415926192ea587d8d2d49efe156238fa63a30013f6feb4d41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/af/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/af/firefox-71.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "df9dccc59c7a3563e7f3b9dad7eb3acf483d27c575ab2c5bf4934efe69d75033e675f399876d2925dfa9f651b558884abf37fd2bbf5f46e671fb9f6ebfb28f81";
+      sha512 = "e8d62ea2f03a330178f6cf6316b87343d76ca99acff5d67d9d45be813eb9ab7969466ea30c2759f4ed0e55e33b743cbc96c6524d4a856abdf54723ec7839d803";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/an/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/an/firefox-71.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "1c02c1eb8aa276a9e3c1c48926092d10e1dde51b3d576eab1165c97543d2d014c1dadbe9aef9076aa41398b3b6087384dd352b587761ba92952db3178b393ee7";
+      sha512 = "613f8424d32fb9c7946716e39e4ed6964d7e5c398f7885a86ba36318dc1276228026aa196dff4c04058630ed537818719c0d56e501c010c650d4a4c8a3da32bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ar/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ar/firefox-71.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "aa768f5799fcd352287e663f69d37f82deddc10c1ff6e15d383f7fafb4d159f551b9aa6d4f8faa9f7bb789c056423bb03cc2c658d47584e422f02eb6cd1ebe4c";
+      sha512 = "fb240bfd506da1d2c5197c684419b8d8be15847e9516c915856816073de46f7694ebed8256799d06f57ed77a0417124cac277cc8cfa2ee9395affab2ba956f5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ast/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ast/firefox-71.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "edece41399d6e5959823306295f7b40849425426e164ec8d4d6ae4ceebbb4f7f0a83d05caf1039795c5b9bab7fbb10f4b8c2f51c116b897ff5deb879064c2fe0";
+      sha512 = "e87a750ea3d27008c986ec58b104b32214d50dc0362e4a92d0359b990fb39f8ce3af63d7d96e84893804cf1e87c7c319aa3973f22eb32776c812ea2599b8a5b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/az/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/az/firefox-71.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "d509166e3b17b68688420adc9074839a60cf4e64039d3a3a0974746d11fdacacd2fee7059abe5cbc6fb7533d7c99a32518afa7eabcf3ce4b304a9843c66cc273";
+      sha512 = "5789390585336b88e0ff14c32da9136b8c40e1ee7e6290796fabb01060dd295a07ae76dd78223b2a73cf0f59ca6dec40ff1d31a7f73956ac852314266b4b47a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/be/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/be/firefox-71.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "308a04e69392fcd748bed4db4b46d83462e5aa93cac01d6be8b8a408cfae1347d779bc0db46892b7b4a53dba384c3273385911a365e1b21206e906e35d78e8e8";
+      sha512 = "5dc9e7e7c8ba973f477318103015e425c7de61bf803a41e06c9774b4ed5894deacd4abf389ff40395a0269a06ac2ffdddc737bcc2e26dc8760adee2c6e58bdf0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/bg/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/bg/firefox-71.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "130e8a9f8e9829b70aaf6b0fa0f0160f31cd37d1dd87ce1398976461625321e47f8683ba11c1023cddc661a6dc9a0f7752c41247bece4ce11568376495c526bd";
+      sha512 = "12d7e7c285ac69d35ad7726babab8b50f42846931545123fb61741bfa635a2eb7b3f1829bb92f5d5a9d07dfe3dc0c685f49eb5b7c1baa388788b697477b5ec65";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/bn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/bn/firefox-71.0.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha512 = "ff688748b1c216aa384c1e28e4147c761a81fcd22a49150b5862bc0967b54566f2933c1a71a40ed3257ea592129b83150197c23e411ddbbcbea74731b70f886a";
+      sha512 = "45431252333b7ccad98bd79a708b5ca25f7cbb49330cd3287dad259d9db0ad4d19671e12cd9d71d82f8ab2b1d8cfca34e7cae14a8299300166fc33fd2946718e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/br/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/br/firefox-71.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "b366245b8933d2f76f1eeb6dbc16cec661643718d07e73df2e4890ccb1add383521ffac6df2f308379bf7e878df6fcdf0a258471a773f9cb635dd4ff11a721bb";
+      sha512 = "c4a3a7e197864f52525270a11ae7979772d0eaff9fa623edd5f3bca143c7fe2f9788ffcc8407934a2b7370edbd94fb0009f8b6188b0755903178fe18235a9247";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/bs/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/bs/firefox-71.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "2a2a663af9865b123d5eb6b185c1bd44a8dc5361dfcca118086f2162590cafaa36cd71ef59fe1ec0eb637d7e7c0cda2e943647d289c1c2c7afc206bda6dac1aa";
+      sha512 = "17e7e8a7c74d413a90e0b7e0da7a88455a1411f2d08f081285ececb162625912302560ddfddea7efb466c9cb4c679978d4ad90685db65faf6bf847f3ac1d2bc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ca/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ca-valencia/firefox-71.0.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-x86_64";
+      sha512 = "4ed7af69a5f4b5e82886b787cb7feab2df19ccabbb4e9e2fa9ddbc6677e0d11a4c94ffeb0517c35a14a51b257769c3157b21ee661d0b086fa0bc951407885af4";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ca/firefox-71.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "0a77e2f99466557c0b5b540d86773d36ee5f0498cb5ee5e5d39814069efd8c3c48291675a7b607530859b86bb9886889ad35382936657738d1bc86d4da46ea01";
+      sha512 = "8a0688a40f263bc6775f6bd23edbe3fcf3f9b725e37e9b94b23bbef65aab273e503bc67c03fdcf820395acbf59a5578f5638a3277bdc14e961b18c6a68a443cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/cak/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/cak/firefox-71.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "6eb549b34f3ec10974b223892e7d4003597660eb840e6931a7bc54afede2433915e27602dd8e83a53dc3cfb386fbd52fc1d04d7c5fe1bf1e40e8eb0ddf40a159";
+      sha512 = "4b25ad5ceec5d55fc2f3c1be875e75237c2c32d3ebab725018bc04c6b5d43ff182818d95d73d816479d87a6a2994330fce894d87573852f79e43b56e0b7fd6a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/cs/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/cs/firefox-71.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "b34adfc5aa3a405543af4d7077bf1202480832b6dcbccbcc3a1e8e3ee525a2442f9c127ec5da2bc7a1c1e2c3948c4e85ca746f03b701814bfa73614aa5bcd769";
+      sha512 = "ae2f6386819caa9917ba26e7b404cd8f4b6f4d390faea57a333ac555a6860dcc7b92993224ec54f5bbcb547b91cc99a5b9008bba33dc39b38ce5eaf9468c3f50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/cy/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/cy/firefox-71.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "b723b1d73341112e606965428a5f3f793f78a7172e3ec9adce8e1feea212921d63616898050c47d15cbb6c2f80049678489d752524b8449a5afedcdf7b59b533";
+      sha512 = "fd6093384954f1a0deb7435229fe92196db1a3ba80ce651f1be20a420701a8b5ff417ee7f1d3c8f5f703d732e3b89ef87e49d164785bf32c326c66ecb9afe165";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/da/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/da/firefox-71.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "d4d0f30577a016a2a1d24d6d8bfc51c55f27b0cab2dce3d2f584c3bab4b54022409e9090ad0631a84d041cdee5e2c467b843d41df52504e0e86a9a550cd6c267";
+      sha512 = "52c63938d5f6fb85ec5fd24289eb2dad43a00ec38cdd59c0c44cc06d3884ec203195e4dd1a6b26f990b819fe58f6638f97d8d2dfb597d2cc01a27ba019d0cf03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/de/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/de/firefox-71.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "8d544ee0b04c84ff736fc84515fd3afd3c00a99b4f76df5aba1669ca970138bec7965b87210f7dcbed3c0bf48f81dee184b225f49900d6393698e20a9a8fc28d";
+      sha512 = "e10824056a96d5d7e5b671d6bb37f607d36b92412c01baee8e493b90fd3b9613be2bd7854d0aba3e97cd560345ecba19b880e9beac82bcc5c850217a397f7f20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/dsb/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/dsb/firefox-71.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "2c23d351b72bf2a9b94da2cf786fe58192698aa9ab428b947103e6ddae714a004a461a29af2a1dcd865a316038dda6a2610536f330c42d3ac16e7e027fc1add3";
+      sha512 = "d1ebe6e9b14d1fbc63a45f6cecae206ec7479851aed80819f7cce78e7cb3a043efd0eb367c2a2561cd6d668497e5337aab3a0f5579dd5291587d36c22890849b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/el/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/el/firefox-71.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "4da4a9b6c412dcbe1b12109df45a26bd3cfb67205ae351d2c49c774b8138633a2854211ce8f14f6630badc9d38e3edd0fa8c41859554b76ebcad698476828692";
+      sha512 = "f1468f8d0d2838df928a209330ae6fc7c1a03b9b16168ed5777db7763c56227031414150a5b01c4ad35ac6e4cf7f1eb24ed644896cc6bf3745aa2de7029b0d1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/en-CA/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/en-CA/firefox-71.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha512 = "477865fe5340b56db34b44bb82f9dca748a9e12832a698e1d17fcb31f93d02d01c221568d68778f21b10184393e3a07a08cb1314dfa6a67441baa7150c0bd98c";
+      sha512 = "a78d91bcf51fc963328d38e7681b573d7d2f751bd27f881d80e43cdf40452ccd71207bdc7d0fb7b8f209e9ea336236752aadeac33b51bf1e129df46840a4f72f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/en-GB/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/en-GB/firefox-71.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "145b02e3e27009839094bdfdeed1fa79ee3d6fdc068fa00496db0c129d26c6f52a239ffc9e14b49a82946ee8c5ea9c840b8d9b734bc62a9b3bc7b3aae9355b58";
+      sha512 = "5fdf613e662d3d3e709d6b0c13371e58542dd61a04c52abccca06dacd58c0327e49241603b12e940bb79fa4f80055f919136bbad597b1727ca067bfc54fdcb0a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/en-US/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/en-US/firefox-71.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "fe347712d10282ecd16e11d5820c43bffb2264c373cfb0abfe2d5014b88b2db1d9c3f3b18e0cf7f4dcdbb6b710ebf8c46952239a260cc7336ba8a7abdcad6f7b";
+      sha512 = "f835ace8d5ea8bf920c1065a2dcf4cd0c4fefbe675311b9768e864446570bf8bea289703dc2cd5d1295f027cf93ce5aa34ca28a722f64549b388a50fe4c87e96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/eo/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/eo/firefox-71.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "b33357cc9262c2128b33f7324457cf9ba3f245dc1690364b5b70e9f7041b17f2c4a7f1289486dd4cd5c57c4f92b91a48c176aff4df5770013637270670740174";
+      sha512 = "86d403a9193b35dec9e71e434e5e998d1f7f5ce14bc47218bc50454bc623652d704f5dab27cd4759e2c90fc85bdc8f016f799080dadebf0d31c0e5be2173a63a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/es-AR/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/es-AR/firefox-71.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "4e11b69eaae79235c445af1313669fff2b41b15504895b65927c184c12afc53dcd8c35a2df0b7dcb136582e9b850c999f4eefca146a79861c4f2c54936454ea1";
+      sha512 = "f4d9b5d87c334111897cd91b16433122a391f491efe420ffdf63e0638d07348c6a2017f1175f246d2f93b030781043ca7a1bf4d3248412363d6fef7048125c74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/es-CL/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/es-CL/firefox-71.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "d0297e178415684604211d9d8fe942fb4ea37c0fd67750c13df7918f70bd8caa73e92db0c75a712689702ce2dc039a721fe1c354124a2ca65e11ef552cb4967a";
+      sha512 = "b2c5ad1d7b51fc072bb451dd1a63af4d9c90f9d2091e02bf8d8b4d39d9918b9abf20beada85058d05aa57ac447ba2b480d12d7916666caed5be853427061589e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/es-ES/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/es-ES/firefox-71.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "37017e46caa2a97470988b521a4a957ce5943f2259fd722105528aeef6813d506da4ff4a0235ca90c6d6db6ecca3f037629872cf43134891c7aa604a21da2648";
+      sha512 = "e85e9dc61bb8f4319544fe0bc2430c03a813f4f4da1cabf7d7ae03738cf7b5f2f8d39656058c4a447c3890e1b98c6e558cee17ad528119aff516eb17be39c879";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/es-MX/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/es-MX/firefox-71.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "722cc4e25f5d67404a97fd90fdde4c7b2140e0cada2ce2e400d89d50f31c88be748e1a743dc73c499688ebe37051c4267dbd4e7b1ea64af7dbde34754fa1867e";
+      sha512 = "7d73e3687f822e8ab41f8b4e04ab04eb7d0a4c8f3584ddfc43dd154b760866d26e28f85c62ef6ab55777c842e3eab61ff9372232f2788b254133d3ad7a84775a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/et/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/et/firefox-71.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "bda3e3b7d073aa7fb8b0d9c4fca2a22972633775c66ea07a5f54ed262ce9232f10de3495dc94cf4d758a881f5b9304beab57d8ba2217aa651ab025af37949a7f";
+      sha512 = "d9f2d99d7195d64d3aec9faaa07469d99f9fb9ff1f83b38cf8ec7ebfa2cec91a0f8242548a794d1ae5858623730d0f616ecdca5c25288b7bbf378bf7677173ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/eu/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/eu/firefox-71.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "6cba87ec645c1036da3f915ce3ecc65361fe036d778266d4f0396e723bc65e0dfce2fa723179a94aaae0bc87bdb896badbc728ba99fe0f5bd250c3fe639db64f";
+      sha512 = "a0a8c7af075f4fc4814c571e9aa4eb889326b92815b9fbe3c79c69ccc78012e278386b1f2b2e1d6957e8b97ae65c044322e3792df6d6f66f42552270883f2dfe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/fa/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/fa/firefox-71.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "d16d36b676eaf8f9a0809e3702398eb03affbd596e63da2f90a29d256ad1564b19be5346a463689895e7d8b42b9648c581495d8058b33a30ea80a53a19417f45";
+      sha512 = "f8274fef2412c541f1548afac3e3ce7d0ef758ce133669c18a4737e05464b94b2bbbea966325cfe89064b4acf3f79725613101e5428b9032d75c73acf6b8ba6e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ff/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ff/firefox-71.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "2205c85057e8d959e1556ec81523724d9e5e9064b22f30f7f194c184baea1c4c6a3e7eff133b4fc8c8574b8702ba075f7345b1703916a8dbbaeb8275fdbc0640";
+      sha512 = "cfe678f59a4a468710c1c9d17d8ecabcf491c2a9bde03ee7ffe4b73f426632587a546913538449606bcab4c945e5cded2fc3c81ebd9797a4791c097455dd6689";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/fi/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/fi/firefox-71.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "c65ad5804089f81f28a4820edd154df5fb7825988de650dd8550ab518326c809e21e50a033fe6b6433d89ae075a561ca91ac930728bed05758885263866df469";
+      sha512 = "9c9c0c1040f451068bc244c5dd194e799b64ac5f1e80f71ea4ea84cfdc1f3eee2916cd2dcf24d3eb8bc70bdf80957201472eb8346d2ca605e97e8f70eb3433fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/fr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/fr/firefox-71.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "d65508b9a78fd8bf75a44b39346e8408a83a0e308cf0fcbd612f3b9d66d6c1e5fb93c8070574b8823b363470aa138468dcbbc3313f3b789508093bab86248524";
+      sha512 = "9b395558437f41b75f709ac046c482a0bfd5aa68336b2d0b53fb8896abe2f7e37965885c70bac24026cf5d3a9cd774da03dbea896c13b95bfaa70502164eb5b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/fy-NL/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/fy-NL/firefox-71.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "44d1d3d072fd350874aa1366c76146579fbd6015930c8e597abc472fa380155676b5016294688dd4cb43fc5c3b225c8c0ee93af2126874dbb4b5108f2c267b9b";
+      sha512 = "c15e43a16c3d3ead9eeaebf774caec691fb4307c49d3d96b587b217b46a9ad3de8ba6e474a4cd1fa493b3f873e3041bb11c0b807c022182e08dc4d841b2e0a72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ga-IE/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ga-IE/firefox-71.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "2e8ba8cdcf2d96eb61d089d2f53139375a161a92b000f7723a62dca28000e77946f089b5f571b7cd9cf75b6910cb37c522fe95fddfa10e300351e679ed685300";
+      sha512 = "6092293fafe763688f810cfba2c34abca1a2d4b0c086febb048386a04bbcc6ffd62ef210b679c0d29dec3cb343be8264daa332fe710d2b681094fc7209b9c679";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/gd/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/gd/firefox-71.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "b08e58fa3845047d6dc82d55ccc4c9f0e09a10e48444c6e39a4826534503c59db737b1c7e9cba526b98f240f6f65010002ad56b054349df82e608e58ba2d34b9";
+      sha512 = "67218bb7dd860e92ae5b2c6ee4234b58c65cc3c458f8604751782f629f3fc23f523ae18093e141f19cabd93619db0f283db797c4c4f01a8e860aeec7976c0fd5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/gl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/gl/firefox-71.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "d84b29970c4eb30f73f1f924744a529ae51b4d933cb0c6108ff9d12736596c34e3237566922540b0ae346e63dfde51f4252cf9e6a76e0c910878cbbc7dfffac2";
+      sha512 = "ddfffb5e6927a9edd8ea448148524dba075f1e9ffcfaaa5d56b04af06a3107095b910034022e2c9af298d2d2cc7a8612c8544af8ae0418c4d2ed0b1cd83d6e4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/gn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/gn/firefox-71.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "650e09d225a27194156fb2681591b8bd658f92ac33e8ff4e0ed601a75fa28315f5ce34a7c3ea89ad7ba065fa3e0c9942051c0c75d96a87baba623eed368c5a64";
+      sha512 = "54f2893fb78260240c6b9f0fb9989d1dff7f4f5d493fb1baac6711821fe61e38afacc52cd7608543f5d9d8999a716163c65604c442279f929f35eb0e8f892d7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/gu-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/gu-IN/firefox-71.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "546d8c2a3f63f5090ab6c1b82a515d816123f5d87185efab04f1c255a7717e28e0969866e440b695fb22a743dd000575dd150d82613b9c7a289a2ada8689a0ae";
+      sha512 = "91e04c877173c730ac0bafc3e51fc47ddfadf3bc6858c8e4ac52454d4ce1fbcd965da53e8adf9c6276c7f7fdc353e52463875976bff4e01b932d348ee0f961bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/he/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/he/firefox-71.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "5e27de14d61ba25005700ec2efd958698733b362aa4aec6bbcf630fcd34cececdd4eef0bb8c9ea31ec5372c816b5cc0d930c15e594f33f28b99476a19e0ef92f";
+      sha512 = "f9a142dfc33af2f28671c5cb62007ca307a5156c9e97e1ef48e2e709faa89e2ce8ef40f98886b1b7595e6cd3ddb86e19c9795296bbb1fc07afc1cce933e7ac62";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hi-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hi-IN/firefox-71.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "b91d9977e3817332240c82e73dbee31ea1dde9bbd4004f7f19e27cf3693460746cd7b37a571fc0219e88f0f52af2e38a39eee17935a9a6400da5fbf8605aa8ea";
+      sha512 = "545bade79a71a9a7e6c62f74d027705a7c60ad1303f8e1795e7809355368dd5709121baeebee16c7ee36b7f9913edab8fdde4555278a08e58981df2dc3ca897d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hr/firefox-71.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "8f87ee0a9fdac42b554d3d69d114feb44b320e1db3202bb90c0f05f7b13eb1b22f1d341d9e4ca6eed2e7a3b560834ae328582c7db66d64c3dcb54031218398c2";
+      sha512 = "08a92ebb33b0658c4242ffbf46245839842a16355b5c61b7c4c41f84daf306645c4945b96cc954e8121f3e9c27227427e322b8a38a209a6d7945a047ebdefb1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hsb/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hsb/firefox-71.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "84070fbc03c36b3ec04be8872546c9ad79de14a4b518bc76ef324bfeb06f859153bb717c7fa7e0619ec6df0392d2e0f139616503a86b3926dad3f1e1c9bcf0e3";
+      sha512 = "3cd0a9bd9ff3c3662a4dd64cac378dec948ab2d518b41adc0a5836ff42a502afcbef0307bfd04af728e7065e3bcd791d64470f2602e358c78f51b7f41912cffc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hu/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hu/firefox-71.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "3a0e8fba4050641edb8f273659f7ce3eaea974f22b7a1b3c9859f11834b94f470831d5d71ce491b5269bcef79db973b7500d04a01583189e3acb7b15ff6f2ffd";
+      sha512 = "96b625cd3fec5578a646ec1668cde58c59b381fd2b58d84cd904c67c89b19fbed05d9ee70ea7f114be5041a00bd074e00eebcc424cc7715734a88bd3a15fa32d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/hy-AM/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/hy-AM/firefox-71.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "f408b350c3210a024671561caf75bacbeeb43fc90061558886c1eaf948caf14a8526ac66230cb66e265ea4b5094908e89188c469da76b477337a689b7a4f7998";
+      sha512 = "d67115a96bc9e1f225de788570e28b96ad867435afd94ee849dfd7c27f40aadfcf6213e2c2a8f6a237752a1241464e48c9bee373d5563506577cf0bdf6f9d290";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ia/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ia/firefox-71.0.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha512 = "5ba03b1a90d681f963e54e4599178c4494f4f892bcf3e1ea698eaa237830f128d9e0e4a19550f683645fd4682efa7801492bdc3fe5ef4cdf51b2241eb6fad279";
+      sha512 = "09334b96781f1ca1343766d3a78a82b9fbd60d6c2d267bdc25a5e0c4b3fa4df785e6eb839291585adc08ba9a1f707d3ab066da326a34d72a750dcb9fe10b1f96";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/id/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/id/firefox-71.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "e8fe42ce9f6399d1291198d169f7da5be07f8317ffc47395968958587b559e576b6dfebb6a1176b89eb4ae6138aed9de987d6839f1e48c1a330a0274967f27b7";
+      sha512 = "5b01cd3f4395a7747d27c49038f82887ede4b5fd396d96f6ba085d26dbeb2bb7c722bbd53fc0872ad0070de0817e6e67f065e4e0054d52f0a76d4813e60b3b68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/is/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/is/firefox-71.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "2179886cb62bac2fbac100fe7617b074ea890b9efc16c0fcf8387096d82e4b84d351bd2eff431bf5ac1e30d144208411b57bde540d8a744fb9e91b793d6dd061";
+      sha512 = "bee1004c51fb2c6a45689b29d8ef1aedf91eaa22d153d4d85eda87c79c3d063bef8ba0cc985c5b9cd808aecfc22b1654fbe7baf0f9c96cfc188a1ab101405c5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/it/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/it/firefox-71.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "738519602a2a7ee6b8c97a9df82b125d46e77d1804e7278d7416ff7a930fa38a2cd2888f7019f5a9d15b748725f8bb2d37eb7390141ae65c3056352c64b9ebe8";
+      sha512 = "7aa5568131a47d3bff820bfd3c7e8f5dff8d79d2f039510d73964b302f2b6f63e41cd2232e4d17e766ce52d89c9aad5118092152472ee7080b8505a4352b30a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ja/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ja/firefox-71.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "645ed65a2e9340c7836bc35badc6bab1d209fa59dcd3221deb892ae63025179610fe3a59c60dba3262c18b618ca7f625c9df6f247b8ddb0f7e72557d0572417b";
+      sha512 = "92e13e266b2da5b200cbb2d09b1bae3ba6963069357656a2dec89d2ca239bbfa799bb7356d5935bdd38a0d4ed5d503bcd69de67d3caf79f8118f0884b9b7fe6e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ka/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ka/firefox-71.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "f4d4d156b5d7c15886680b2d5b2b6db7bb978a620be38ad25eec6ce477f5bdda068030b51fb05b949d3faf2639b6f0f288619ff523b0e9e988515927f251fe08";
+      sha512 = "fdd066469146eea0e0dec12d5dd98f8801e7a8910b5662e71ad480be337d9481939e7d4d19eb0a34e19e929ccdea97681a9d0da2d9fb96a6caf36f842426f32b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/kab/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/kab/firefox-71.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "5f3d11bddb361a542f333c1045d9189e8ca104a8f5280eecc3b9392941f8468140fc686b7e6c36140ae4e9f9417f00467c9931334944b3949023015b23b5d0e8";
+      sha512 = "0a62bac221250b7ebe55beab4acbf58d90ef522a82f4f98ed1cfda19ff4bcb02e59587cace7251691aa5545d02b7b9ddb7a8fa99eabe65ae867a4405e24b851a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/kk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/kk/firefox-71.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "e9cd29f905bf0cbb7a8ab90e7f73144fee15c5442d653c2492701356260b3c134eef33ee066bfb1dacd46e1cbdd19efd0901fa150472aa63f003ee9e82ce006e";
+      sha512 = "cd611b845802e59ac292cb6e487a68319544130d6a39f4ce3f37dd5fa73094ae89e9504d7bba846c55dbc16747caf988c1a45691e7fdffcd601b50546e15ea54";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/km/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/km/firefox-71.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "c9153fe68edf04008023928ad5fc810dfa0a8344beb2bd0c1810f15b0736fd1a0168d4b57e611f1192b5f7fada136d7bce209713e2873a2428218b555262c4de";
+      sha512 = "27b0d8750bfcf10813c35910eabe87f4294b033d1044b0fb35ba82a5870748de2f10b03b4f39c5857b6f42efee796ae9f8d3ccb9b920fb6b6544a0bbc86cae9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/kn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/kn/firefox-71.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "6ceaeb920d775403f1da31d172754c3cde34f8d3b68bb18d75e23887f253bb62610c960fca3e11599caef4a947e68f11b22b1c240b3381a6eba179c948c1cda4";
+      sha512 = "5b292220e41ad296d2230650810beea85f038dd7d16fe24f08d7424ad2927424c088d8fa1c5c670aa95f0457d9d8259d4ad228cde09d2195dcb94a452a56b6b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ko/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ko/firefox-71.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "f0161bd480a8a8a861c9e757e0c54334c060616bc544cc698a5e47b71de1784092c44b12cea973b74f80bec89cd14c13a9c6a493eb7a220a8121676f5151cbe3";
+      sha512 = "784a362e0a28233e7453948cf2e8a6d6752d5a702164f913dae01e58f7aa837fd976f5641f6786fc58799b2b3a66255317a52714ae09b3f346a9814eb5445c4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/lij/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/lij/firefox-71.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "d591cbb59e4db81ce872ad367e0d74b425c1b2b7528d8f468bbea15443efb98ae74a5b860fbef43718432be8f1d0929766a970e6751105bbd949c7ac6e515b65";
+      sha512 = "6ddc8ebfb7a469636054ce2b5606cb2601398dbec59221e81cdbb3fcde33be0d6e2c2f47a7bd80a84c3a1d0a1c8e68827d72d57041319aca59c89a1b03eb9510";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/lt/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/lt/firefox-71.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "073a23678762ee210554301940e220aa50dbb478aa345c47c64ced760a19e25e24d1748767d627b6b0d382245be71723e44189b7a4f8d74a16afa1fa8ff93747";
+      sha512 = "57f61620c306445154585623ee4b8d2e915371429f669c426d0b99916a6eef39888c32d304420146250ea4d2c4696f287b7dab1187e341ccdd728d5cfc181b11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/lv/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/lv/firefox-71.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "6b5a2db5852f99fd725410042c59809ffc660ce66b15b8baab1b4b1d3cd4f534dbb93699b49204a73b37c2ec094ade0662661a580f7c498b8d17d7a1aed4ff1f";
+      sha512 = "6d7ef84ca7d5cf92fe671ef5372b602983b25a035e110bd92f25c461fc8a86fe0b14965aa3426c90febe1b311cbe67d901122cd54191162957ee0bc1e1d01a44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/mk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/mk/firefox-71.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "be4c365a2f9e39f5046b464308605d90d318142300fae63c5f12f3038bee064174f78639a5bf58950cf6849c5490f338247ca7982c2f400fa7c62672c11fb5a1";
+      sha512 = "680752f83f68c0a2c6f929016c610e671bef0ae44b84e976b0839a19f1947429a5a2e8e60149791fa2454a85772132dc87db1979adf327bf6d36da92b50a5924";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/mr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/mr/firefox-71.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "a9f8d75efb79d3ba833edbe333308c1da1e1a5724e95d6f6065170150bd341de1189a61283f28e6570b35d24c1711d97b2fa6de9a32bf2b896a2376ed592b56b";
+      sha512 = "1950ebfb23bf825b2f8711ff85c53db29781e52a9684b515373c2591c458d897a7a4445cbe3ade9a891c52104a7651ced306885639495bed76690a305b22fea5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ms/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ms/firefox-71.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "82d9462433da674272c77cb89d65d9514a045ac7ba68270b7dec5f6f01e50e81d6b79b5c84830bac4abe311eedd3a2e851ac8afb7d03f0e5421995b78c039ff2";
+      sha512 = "1dacb30753cc4c65bda54af6dc886b1a8abd6c6320cbf208163aa83d874449aadac64c5f5559e5dcfb366d4b0ebece323ba46b2eb41f03e908b6aef08bb46a03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/my/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/my/firefox-71.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "9239499eaf3686cd9ccd1e686f06197be63e1fe9b95c1343bce032664d08387abb4798d725f64cb439ca61afea58f3802ea786b40653028a0b90686af8423398";
+      sha512 = "708813ef947b1bdc8f0459c3ac908ca1fe3862525c59d51ccdc1e7c2d91c1e45693b109faa3d0302e7a2a0acabc3c84543b8ebe98ba9d97215505074ce9169b2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/nb-NO/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/nb-NO/firefox-71.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "085fab55bc8ecd2021f1ea0887ca7b191390d8ba02af07c1fa16bf78bbb5561b9e47a7ded461bf68b1faad9be747db794c9a9d31d35d2d51888d54a513dd5f99";
+      sha512 = "6511ea81a9eb6f552c260821bfbaefa7153a59f5078d7ab5676aca313ee27cf75617cae1cb569df400ed491ed31e172f51fb4c4da4ad672ec76e3faaa31825d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ne-NP/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ne-NP/firefox-71.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha512 = "c5f1e0b5c3e84f11a3d78bce721ddaf5f93bca53236475bbae7b9bfb126917cffe779a89846c4b2ea8d47a55b61b4a0a9dccebc1e685f100f9ba36ace157cbda";
+      sha512 = "088adcab8954c67db9715047bda7c91034b7068593334ebd2b0dd5941ca7ca3d3c22c959baeb5222e041ca50e93f4032b2fd509e305a666af0f772f89a56faff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/nl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/nl/firefox-71.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "35bce76ba0505839b85f91881bc1fa8ee8e8d6b6dcc237619b80ae4c7fe0ae2c19bf6951ede595e94b5afb7b9c030813fbf4cfc796b1c3f82381b7c6a7ab593a";
+      sha512 = "a9d569d5032bd5e7aa5a54815b01d21f8aa55188144a0e19299cfd2e9f39f931bbd86bb9e05b9c2fc67e2749f82ef4d14c9bdc08044fceef8710b3eb67d3a4b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/nn-NO/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/nn-NO/firefox-71.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "16ca43ce95b52823ded1776584fcc5a5bbe03126496c029ff36475559ed73d3fb9aa60c205aa5e36565f19e1e144a0239421331f3e3660dd7cc38868d44ea7cd";
+      sha512 = "dadc75699db6c309262855754cd8f3849a5f51aa62ccb2071322cc54f8193ac5b6ddd642677ab277871c4ffb90000bd49a01bff23557d387e7d902b74150d4da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/oc/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/oc/firefox-71.0.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha512 = "46d6196315738ffd105a7a15e2f2bbdeba86b171c8b87d7a69e8a28f5c704f8d1312e19d118e2634505945adafedc37558b7d8fe24bdd5df7cc3d50837db3155";
+      sha512 = "52850cb096bf7c2539c048f935c434101f3e66e7c24d4fe05147de018aadb357c4fb7b582d4e43b3948575b3d0a8166a97cef58ebe159585e8a0065bbbf30727";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/pa-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/pa-IN/firefox-71.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "73f8150047a7b0873fda0c7b8144fdac0e3e83dfdcf97b50398625cb228d5088dda611727ea5bdeaf0b018e0ebd9f6f63dba9abea398929761028623c513f35b";
+      sha512 = "ac1832d4c105b3b401cf029bf95dacff3afda8cc63de51b35d4b847177bf4ef48e415294c91c7a7c095725c52413ca17eab051d3a50c5f8c7346e480d85b2de7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/pl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/pl/firefox-71.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "0f5134d8f8cc922331a4ffd26c9fc37e8ec54efc1e5d1b9da9fbe5fb05da80b078fd7698c88ef74009ca8769c919255aa120bfadf30354ce5b34f015a1caaefb";
+      sha512 = "6925686d241ab63e882b0679c93ea2ba73db84037593f098912fbd23a5bc0b93492bec3114e7e42a87f1ab72696f9c9d80caecee31b0d06c949a55238c0cb8a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/pt-BR/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/pt-BR/firefox-71.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "f26f1cb749856c9e183984327f773baf9ccfb00f7b00abffc07fc98d9e646ca8d7b90ff784f8563e20ff5653cc57abfc193b9ce0862b5e86d50922d52a9c8e0e";
+      sha512 = "a3aa486f7d41f77e090d56047aa72dc9d40e8d8b27ec8203c85d77bd108443201940239fa16bbbbb007d8093429d810db0ce0ff6309c29763ee0b424b8df977e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/pt-PT/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/pt-PT/firefox-71.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "00921e3e87f12d653e762cefe75f3d064bfaa3fae7afe003cda2c98a381be4ad55a21989affa825c0e7726ad81baef41313ed98381ba598d991917d0f33b7cf9";
+      sha512 = "e8730652a48e737840f8bfef348d357d18d642e01aa91518fc88d0142fe45d5ec5f7902506e5e6a0c49c0fdcb74009a5fab96d9f6097b0cbe07c4df05599d79d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/rm/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/rm/firefox-71.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "1fb0246c91cc6beb01ae842a4ea9f2d749a5196380ee03eb689e03e1ad4d30f7d58ddd7ed3a6d3f340fc72b1c94732b67895cfcd0c2a3f1df87140d0ca7068df";
+      sha512 = "8555b604d00fa7f5efa6a2d3f6fed95e18c2256bc67dc311499b160dd634e9529e0e7f641d66c46ce3a269119a7e4af65461c8315d130eb46af3f43762f89d8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ro/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ro/firefox-71.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "5a1d2659499dda8f7394b6646deab1cdb18f7b6ff71cdf3667a238ac1d4170a97624beabd28cef3dc0ec5969d5eb9d05b5560fff4bf14fd0a5e5e2744c670585";
+      sha512 = "65e2b57e2e9aa7226989181fd5cf7d76b54f3be66460fb587d35f27689551ec326ee77da5dd6e4a60b61f39c5c789c399c8164377f6fc03324e65653112d07be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ru/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ru/firefox-71.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "8c7d33d17fcfd3df95757818b95e6a799a5089a2311a2e07960e6700d024b8218ef9c03d0771d3c2559937a45556ab640aa5cd71c34c00dfa27936c62903bc57";
+      sha512 = "b2c52373652a8340e4425a101bb8a9c5bca8f2db6093e54f5983a1a62d4aec0b10252d678b91dcd8bbb23a844215545b1f9d627ed1dd1bbd1488fc07027aba47";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/si/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/si/firefox-71.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "1e20a444d0968162a84946ac8f78d42d0a01843a5521978b3719d954c2f49d4e834261b6e248d46e85a6312c60109cb2e2f75adbb209870132d828b73b0a50ec";
+      sha512 = "47fe8efd423579a99e480c906cd7af5a249c01103558c5a0dd41008ab701f60cec817bb691636985fb5ccd2c5c4d0628fe13e892db377d8400cf24b40b513aea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sk/firefox-71.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "badfe0541b0c7d5c9387b1a9da769b5a50ffb0ef5bbf063be99b4ce2fa44ebb7e957a1bcc5c7be4968e31028b215775f8b8d433af7c1c3ead2bede17c18b34f9";
+      sha512 = "3d8cd6aedd3ae96be8ddc7a8cf44a3185731803a1a413e3cc582aa17d3bd7280aa1001f7ec89360a95bdb8c01c0bb51b144921a72b9869e17fc83f6801aa3438";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sl/firefox-71.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "d6f133eff2b4fecc43603201a94b06d43a872de706bbce0c828c6f3ec4eaaeedbae677255bd85f8a22212f372192c3871d5871a402ec67855e30d2cef00f1b16";
+      sha512 = "79137e5e42391dda48e521b44cd7d6f951886b1473bd517689c04b74a0d4a9ceef5733e128a5180653a9ef9c3546d4d1a591e0343292e4eb7b9310ba77ebad5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/son/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/son/firefox-71.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "234116cade8ff0fd68eafdeb09def2de5a4395eb500fc06e04f9c5367a2bc9859beb34fb64f9a80bdafa76200716d999bf17a35a23177974a4e7f1f1cc43f646";
+      sha512 = "d782f24ba3ebc4882e4e5cdb9668d35b9dbdd614d31102efe85aae6d39e2890dee2e667534c1ec82f7e010463c5628975d5a9f06df2b84a2c0322bc0ad22cdab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sq/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sq/firefox-71.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "5742ddc31600b89d600dece3afe1794799e147b6f66454de3b1d7f8948b06778b87bdca042e8082f61213fa4fedcfa8ea3a0ef3d9a88b7b83e0a9ab438a44796";
+      sha512 = "6423c1957d7d3f80f8a00e9e04b4dad3143f0404136e4d8c695030da3acc261827c7d3c001a97b8ec6e451cef753819a3846e576c4cd6812cd45cd78e7700a9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sr/firefox-71.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "b3a2e8765c6d78bc35595f12086f4771ea5314e6aa0a1b36dd1d870680818c102d04e12633f30744c62416c378cee88c59e110eee11e44795d4dcc15c79c4273";
+      sha512 = "cf4de0253aca5994569925b5b5a2a80d560ad8d0bf6cfb9ec3b0f2944d542faa4065deb89375e8497f272349a10a4eb1db048631040e422dd7b37098fe912b4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/sv-SE/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/sv-SE/firefox-71.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "65bc7b60249d6e29633bf6fb997a744522667af120dd00f61143f4c9ee7cf48a2764391c383821c9f6ac1c99fe40bee1734d8949194624ed123f92d0ffe7efa1";
+      sha512 = "83b0203af53d660dcfe801891a7409d8b3715ffd24ec1ea5ae526c712ed97b61470d23f656b196e8b8165eda8043eaba47475860ebc07f6fb28548d6a5a74e81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ta/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ta/firefox-71.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "5ed15cfb7e70ab43eef608a06713af28b44cd64a1e5d9e09bff2b5bc1c095f8022b82665a496ac25d3214c955c9662a8d783ba20a784a864739a04d387a4a81c";
+      sha512 = "c559e6f5fa0d7040f4b15567c24c9dc20d4f8fa1862985b3b4aec465e83734868fa9235d8e9718837d543b6ab8a74655f01dddec0be9d70740f728697043a612";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/te/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/te/firefox-71.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "6bbf8bf5a672b8fa16a9286dea173b5323a77f904dd3218a439489d2ec3ad092346be8d06f22cc8b12d39a44282861461883a16bea8b0067e1b0551cd38a053c";
+      sha512 = "6cc85a388d5c88a6ad74bfd1a411b9cc33d573e15ab04889753b8e9c006b94c6cb654ccdc72b90609e3a1eb79ffdecaafede306f80c7fe811fd8c583b7299311";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/th/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/th/firefox-71.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "ed04524b8d60e96a35967c69901d478596a98aec0a31f8f4fec72c67217a6397dfc2c0a142929d074d0eef6e0d32ab4183a72b467f0f19720c240f7d0ab9969a";
+      sha512 = "601e0c5ccf1b3725c399035ac2bc7d1440de7084c7a2ac1f12c883a7088154b3d83de7c0167a556599c3c896c57540b57a927f5c89cbef8d7cb74941aa76ced6";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/tl/firefox-71.0.tar.bz2";
+      locale = "tl";
+      arch = "linux-x86_64";
+      sha512 = "1023604de1e1fbce835511e50b0807c6e1dba76461b86c7e8506b640f26f9cbc854109b14a8872e6350899afbbc868f3b4427cfba32fffc6e6585f65fbb95dcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/tr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/tr/firefox-71.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "5660ab4de81d92002ae2dcb7b8eccb371ca57c4ac06d31b052b187985babb54eacaccde8f9b2cf815c15f9d093a06b5ace715de42a9c36793ecf7b847ec5f219";
+      sha512 = "56a4755be67d6d764c62b8e226a14aa0f18741ab71d3d6b7dfcaf45dde124d821dcae75c3e251024dfd44d99b904538eaf4dd4a56c728af651a8c4a2c9533a3b";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/trs/firefox-71.0.tar.bz2";
+      locale = "trs";
+      arch = "linux-x86_64";
+      sha512 = "bb4cffcba83698fc3dd8edfcce361d58503ba4c890f2d906690d7036a3b36a338e379019df9129e2b509394737b716bc70ec7afdd485b12adbf7bf804a13e8d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/uk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/uk/firefox-71.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "3cf5d6942fd15b42a17911aaf3069a610f3c65c3e5d4bff83ee922fdb21d6fc6afd81172a6871fd47245a045e5a644943d450fb8af400553b3091f78aaa71b5f";
+      sha512 = "d406c99bb37bfadae4a43195be37f52023835ec9d771bcb824b2714552929def1d3888236dd9aecd9624ff1cbc13d24ea1ad0ac99b2d7f05d738f81eb0817ea8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/ur/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/ur/firefox-71.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "174039e641ebcd3bc2204c7816566e8083a61082aca7c67c46bce316408a978b5832a250944f8282732590e442af4a9a21d4dff53dfa0147755d276bf3dea05f";
+      sha512 = "18c84f48270a12173fe93505d35f2a0abfd9400714b23ab28282efc38f9fef358dfdd3a182b57f8de9f8635624e85b735276db913ab102a5ba27d9cab94ce352";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/uz/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/uz/firefox-71.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "fa6924abed1205b9c99db2134f311996c493d6b81ccee473baa9287b60cb0918df0aefa67603f0daa5fe73ba3e29ac2534f08079c6a348fd8546fe1d920a3b1f";
+      sha512 = "8c918babd17af9b44a3fd3fd1473b4a55e29a8b8907269ec7e4ddad82fa60babeec557f206a6c8a1deedf1536927cc94d5d397992dc3f7353a131110a73f7d9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/vi/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/vi/firefox-71.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "79cf47c86f9ee36b906f13d78405c84793284affb7c1364cf7f71ca33f3938b0b434655db3a9051edb95574de6a7591697703a8bb5c7db3fa088da7d9aa97356";
+      sha512 = "bc00562535fb5555b5ec00b28f477d78fff09248bf6b3cc8fa6c54bc4d3ee304ed0787c17b18b699e693bfa1f40eec2875962b02df7a0beabb5a30f0a926bb54";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/xh/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/xh/firefox-71.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "ee34ae83ea0eb4c3fc6a95635cd1965bc0ac13f9881fb15cb3202f32360e15c959de84457e2f167fe4dabc1e411062b942526f3cd624b1c860b4df7711de4d60";
+      sha512 = "8fa553f431e350c85aef0b31f99c2c02d6acb2ee1c78d353304b6030740c959b6cd5d536c62a0611306a9e2a927568ce91a6e43294462e8166221511632a5452";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/zh-CN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/zh-CN/firefox-71.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "f60a9f43eb196084dd86cf910597ae4833f6aa9d87a7dab934104ed6def9936420bafd1d8a321ff7d22d6d1b69452ac2b79865446b4b41789dd97858b0887810";
+      sha512 = "4a58da292a7453566e903612d2d8ec9af07e2c9f35346bdc4c1be4a9f586bd0d95236a300bd544a6f50bafe3ba582edbeabe3a18de925a85323e53999785e3fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-x86_64/zh-TW/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-x86_64/zh-TW/firefox-71.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "1c582dd3dde0c6a0a29145b9482b750f849d22162889436397f9186e82852b3a763784a7e53a18f728ac7e76dd4e9c02e080e679770ae2ce0638543c00d3e3db";
+      sha512 = "9cd943600d1464d3116b9d141d58f06177886ebb6a41f491af8004ea46713b56e93da56b1187f96e4f6ac6a304a5f1ef00bc0f7c74fc333cfe3a7a094cd907dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ach/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ach/firefox-71.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "5037ec716c3b9484f8dac120b9bd5d89d7fe4af8d5890566623b8cbe8cb9be7ad361848995b4b0862bbfff8ce752566e88a32643e6d631cb35f4bb48b136f0c1";
+      sha512 = "4b8e6c0a9617f35af6484a45781aea888693d89b87e73693cc4d39ac5dc8a4b5ade221efc2c8367f799f19b86d8cc23994c28adb519f472f0552487c6279e0b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/af/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/af/firefox-71.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "875f8c525297baff2876a6c5567b1a7c6b07a269d487c93a7591366c9e91f2359f3ab537f7c6ab59d20f1360638f742443aecc2082ebb5e6bfb545e7bf328f54";
+      sha512 = "cfb071be89b5c5d4943402f545a001717aeb46df6210a7c5efa58ec73f192799cb0b5e1d4cc61cd13b072a9a320560f6592700e9cb0df1fbea4cdc8d24c8a286";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/an/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/an/firefox-71.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "fa677ecac73408fdb394390f72bf49ccb3df16f93ad124ad91f60d1f29aa8a217af341ffd566291b86c18c81c92c8f9950dfbc8a339aad12105349f36cd79e2b";
+      sha512 = "ea87ac0ea1048dbb50ef76b93d1027d78fbd9fb18acd7e77121954ebdfc2bc8fbedd2e3b61461ea884e265be744ebe7d300b4416f7e3ba1ac6cdc86710e34b33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ar/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ar/firefox-71.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "e4474a7bf8e50d29d991587d354d2f1df0359513be6e6b8e978be6af59f18650c83d5acba61c0a972da8fad7b7db720c63105d8bbe6f903dc4392ba060fc8f88";
+      sha512 = "2301d1d7c3029829585442a8cb49a8fdb862044fb9329304d9fbf13e3359e60b452fab822d57743a7fb9b037ebe45607a251581b22dd682ef56c73a934c4cede";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ast/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ast/firefox-71.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "1a9d6336780e76e501e844c925953409c12953f27de8185407475a9ee54b9601d069f535570f16e70f6165c363a089b38cba472329749d18499defde6feb71e5";
+      sha512 = "4b1a6377f4cce9f16955b045eec886352dde9377b4ac4349ba544bf5554cc8d8b4406afedfdca53ffc2a3417eef6deed74def9e7d370c9800187d589a19a5c1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/az/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/az/firefox-71.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "774e7d4c0dd2830a581db68ed77d0066fdd03b523b9cad0e722343faa797e2b813f391a9fec7cfe37c9343c1220a0dabbe0a39a2ff39b3ed4d735dad7495ee49";
+      sha512 = "dd1a23b3a2a6ff1359953c2e4208e3e2eca32194ae8b48cce9654ffab680749b0a9cf9d9f13ca589b61d91f947df33ab2dfbbe559cd90c470ac2ab7ecff46a63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/be/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/be/firefox-71.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "cc82764c3a70d7ff2d92a5ad42796aff97e6c30e13d2669a6e651ec21897be2bc13ae7dd7a061e359dbf88768306b85face5602e9e5a917b4dc803593be224fd";
+      sha512 = "052bb1c0411c0d1fe997a394ef4dadfeafc4b01d80b4f7b5c80cc9281d1cd7affe65560fd19c085ffa1305314a86e2963f5baa814ea4ca285fa2e151af92a257";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/bg/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/bg/firefox-71.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "f64cb5ab0896c0d87532eefce2bedadd8fa3d288c093aca9245f860e93c2b3345b4a3a5261f01cc91621d05d1d60476d546b063b4bc76d11149c62031d4cdd5a";
+      sha512 = "bd12158f7faee488c820853c6911f9c6e5ad92be9918669814761d2974e85be6242fc7b0e4f531a73692ec2d4724ac8f0a3371ff8b308012a4c899bfc1325444";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/bn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/bn/firefox-71.0.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha512 = "46706117f3bff11a6fcfdc0a161eddf3e4d1167dad75f60eb0bbb9479bb45b65364a93a20bd1ed9b99da8965c1b86ec4138b1187f4974ca34cb6e71e1db9d182";
+      sha512 = "ea9081d4dee23cf6ffc1c2ad7e7d7228cf615336f83725f46d53db5924fa09cf948344f95f8ff6ef57b19799327648ac9d1d6a0bf104727e85c76ceabeef1596";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/br/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/br/firefox-71.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "9856d76eefc33a114558edd83be6abab5676ce059076580641781a602621a74458b5a87cc5a664a977a9537e5d5b5f3c534773dfa446b292eef9a9849fe7a5e1";
+      sha512 = "67accbfd323a94fdd8daeb3fccdd6ef294c501f0a796cff9274be0b71583841f15e918781aeb30c903a5d58554caad4d4ad2d1dba7dffd983c642661a22cfa79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/bs/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/bs/firefox-71.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "7db4ce6bb1732f335da36e3f28ae695528a51b99797597a4154852f952a4dce99196f19da56807e653e3c83ce398872ebb2e0e1095d19ad45c68241f3b2d37d3";
+      sha512 = "72e33a58d27615dcf2ac407983f324cda4dcd127f4f6a7149552822578520abb9cf15c28aabc3a09a8873b392b0d7fe6976fceb2d89197c34a17fb4d4d1b5612";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ca/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ca-valencia/firefox-71.0.tar.bz2";
+      locale = "ca-valencia";
+      arch = "linux-i686";
+      sha512 = "3cecb8d3401838ad7c8668cbd424a6fc3f141aefdcacd28733301db651d31dd3ab996bd41a9dfd3249c4ebcb48c6d5eec464698bb6dc7fe9269dfd045e5eec08";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ca/firefox-71.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "565ff4b01016a47103832057ccb39aaa0af1860b90f820fdbce3a037be89741e077d9b10f41c7ecb20c1e5d724a672d394d3d42dcd5c82e48711104aa6660774";
+      sha512 = "545cf4e37c7946b0fc4b92cefdfc0e61e9fb77f01b886e82a4c2e9a348b720b45f6df84828fa8cd8e3a1827e47bd112d94d1513b68a96c1e1b2909729418535d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/cak/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/cak/firefox-71.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "7e5637b6e7560f68910adc22dcb02e0bb9a81a4b65a63c87634237943816da4c7d8bd3c02a809f15f4a1dd7a99903d6bf34151f4892cea4fefa5d8fac132c13e";
+      sha512 = "6fa83191685c96c860fd5b9ff8a27fa809c3595f2fe5ccadabc510e84e77da7210b192e589a7835bad8c6e5c46b7866124f66c419e58d0386a9bf8dd1d2d6583";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/cs/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/cs/firefox-71.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "407c9700c3c73fcff72042183549eb1c73a340b32bfcbdb350f4707b421c5c0614478aaacece123a41b4b2883eabc7e05568d90085e1ed560dcbe561f429a775";
+      sha512 = "50c22882418acac3f95a57691a5b1752ae51f209a50b60d7ad29b8e1b22b0aa372c1bc104dfa5563b6de14f6a09a03a85a595434f4bdc45a3ee932390249165e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/cy/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/cy/firefox-71.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "555f00ea08af899e080b52fc16ecf22b950a171be2beb339cefc7940a15a1b6ccd5c5dd61d3cb20d2e9f4a81faa9537279bd2b08195d8e3e527fd76990a462b1";
+      sha512 = "0475351728c3dc6afcf1e816edd5737f6aca15848da790616cc2fc3d7efe253ac2358a5b7226bf4ab9c3caaa07e91329e77622e6a022d81dee3cd7dc09532a5a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/da/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/da/firefox-71.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "b2ecde8118c19ffd3bb5f75af9fbe3891fbe2feb85119a2d9ded71519e427d2a1fe9e41969945df984c516593cc61010daa61602fd6e5b01b84c7a6d0fb67a5a";
+      sha512 = "5a078e0be9d67fedca8951fb471838a54972d25a53d95c132b439028c20276a8a43183d249878fbb706f6b5d7d244bfcbc14cdad43ee2616eefefcbbc7876b5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/de/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/de/firefox-71.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "3d90125d66977908e19c2c2d5f0e8d9242094a87ce29fcfe8174db21a882cbf71ca9fd76279ba4c03131cd945c24de1b74437a7364d5d7670021d7e901b06b02";
+      sha512 = "8348b5d882ecc1fe9c4632b6644d756578d29f1ea1938b3953c6c2f7ae70cd02e00299bb4b5384775ba5e45f43ebb0d79a5b976385da4ad6cfc192edef0bd1fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/dsb/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/dsb/firefox-71.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "65722a4473e466417b3ec0859422f6bb40dcb68565eaef789838e6e15a6acf30393b70a7d599106161684ecd1895a28d4876bb36c511a6b9a292ce6542a4c370";
+      sha512 = "63b9fb904d0040d9ff626eb970e00fa58288527a9068c234f02d41af6cb33ec9575595b5d3661c78abafe4b2472d3e8b8f5d3c8b92d8121f564fc9f71883195c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/el/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/el/firefox-71.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "8192bd5c963541153ce7264d227396fe6eb6ab54aec879e0bc511845fe1a311662a7e03db3ad193a01ef0da3c701718d1aeab72550cc3b8f01b14518c82eae2f";
+      sha512 = "1de78be4c89017cc39c19e6196bd2327bd24a4c7cbfdf1a77aa87b0b0395e9791443d034edc48afacf1fc20b785369e48e91c203edaca5c33cab10c9a5f098f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/en-CA/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/en-CA/firefox-71.0.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha512 = "4514ea0d1efee35b57482374202cf4b44e24389ed1ea536f35b908966d6dcbb1963f59f2d4c48c136baa1dcb222a0596f63dca21b1da175eb5b71dbac5dfac46";
+      sha512 = "1a78bdc245161bfbe2cb7d6488f750d53524feb1fd9e04b519136bd0797f8ac5e60b1d9b905e27f98512e4d898498823768de0b51a8fcc682a807f690df3458e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/en-GB/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/en-GB/firefox-71.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "62bfc1a2522a638af38a41b0054b4fce1fd04d383df81d12abf0cb132a0e4e8f138e741130feff4ddf0c3fab574a0e889b72862517dc4603e8d9e966894fb086";
+      sha512 = "c12442798aa2a5e3a1f31f934876b281abe0c956558cbb5042cb5c94bdc062bf7659d19f0ed67b7208243cb42244aa7685f76da08df6a4b8d2013cc6ffeae392";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/en-US/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/en-US/firefox-71.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "0bea6634aecdcf315ffcc56f8604a677f7bfa6976a8671a361f2f76a6ff9c34ac1e7ad07980ef9892196515fb922188a36439e8c7b5d8113632fe449ab138878";
+      sha512 = "558ae4312ef18493d69c7504f10baa3598fd6e47289f316346b6df16dac97ef25894d6d2c776ed2a8f1ce0546e9b4c6086fb58b0cfd5018424b81068a6fbb7a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/eo/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/eo/firefox-71.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "a9bc92703d62576c988a5c50cd7cbdfe79665aed444e748f6c036b566005207883ae66bd9006af7ed6a35c26b520a250d746ed8b1964cc177abcf250231eb8a1";
+      sha512 = "ec05a1cb0573e27b5c848dc67ca6346ec43c7ea25d0854a84a8d61804946e970ef45995140b04271239d70c8d737c144d629384d221ab7167b581ea7f3982370";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/es-AR/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/es-AR/firefox-71.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "a3d9a790dafb4f8fa75dafb0fe6f6c938b09d67895e9f443bac35f1799a73652d3f2460e0481333b325fa3293954eea06f1843f5d7fbe6f1c6927287fe35dbf2";
+      sha512 = "aa2064be8753c26359cc14a2d6c4aeb342cc14876a9565ea214fec0378b17074f811ae948bbb970371b67ab95cec1b68a0393c758874d8af43863b485801ef4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/es-CL/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/es-CL/firefox-71.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "b81a8eaca07454b30a1dd902b6a3eaf6a81ded6d3a518067ce8483f20b6ff1c9f4f89e87e35bde08f7105970b033947fcdf03c1665522e1ecb557a7d2d536b83";
+      sha512 = "c4a3ff9543e50cfb200c21c80935133cbd8016da162bf8379817e86516ed23b6caa096228f1ff3a889f401f0ffbdec4d06015a81fcc0f5bf10c28e9097d61886";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/es-ES/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/es-ES/firefox-71.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "90fb3f648f6df4885521bc4d4c24e1e824ac3f700354ea26c3247a7791d2c588351e4d20f6dffd946ad3cd2a90744ce5fd0334744562df9a11b3015860da165f";
+      sha512 = "12f955890bc274d52d3a6ef81440c85d8b6b13332c2b3bfbad377cdba0fe8f64ed5dfc8f1ba576e9a8d0a5bd425b10e034a46b761ec86e7c2a5228bc2fbd98a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/es-MX/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/es-MX/firefox-71.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "6520c5ca64ca286da0e5c5dbb239552040de4b5e5b1f4b348a671245071b8e1f4213da930fc6acc7a7134a9a139c57d0f0462318df167771763d2d83b54c6123";
+      sha512 = "e38bead8333f3f29319e045aee1612dcaf4091d8cd543c9345b0fc78a563ee0fccd936a24416cdc91ebd184b479a504f2ffb72648e9d6521a0f8a1cd68e1ba79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/et/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/et/firefox-71.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "3e3d35b70b28d7a3b636e986d575db1e46ebd886cd3480202d9f79a13d2c60d0df0704d222cdf1e5b6c823dc80a68a610d7904b9915aadb0142fcdba83096280";
+      sha512 = "5437345a4ef6179898f7084c81fac8926f4d44dfa92c7875f7ffab5dd02538fd3e434db50abc486b460cf43a95162f5c38525c20d4872ff6300e182a6a3f2ae3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/eu/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/eu/firefox-71.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "53d4125d95a132ee7ba7d13b6dd3303dfb4799aa9419cc1600addbd7905af20914b0d9e05a50d96081000db4b7d69242fba9eeb51f5bb4fc755d29df2c800d6a";
+      sha512 = "9265ae811f7e78c7078ef2cacbaf82356a37ce4ccf1528c72303a7b70ff04c59a43173e3ce0930fdd5d0bacf75267703965e8e99ed06f58f7444a0ddc9988a84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/fa/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/fa/firefox-71.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "0e6f6de18dfb2744f80591ba0b5761cd50c68e7957a7937a59699ba0ab40c995cf7f49fc9829f35379448dbabb86783962c06d9cc926e3ce0a00277ef509c307";
+      sha512 = "a1ef3b8d4547dd186bc66425da0b8e92a3d1bb30e05ef3ff0bb6ab303758f3a743ae6167024e290a409a4c1381aa8b20f126fe3c8b057a3b15c2a6393affdf84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ff/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ff/firefox-71.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "9057e7c690474b8caec909f77fde40c40a0eeba7ae6a16d021809024f1e83235221637d4b3f0201e99ea381dbfc2d56b6207249e275feb83ec86bc0bc2a67ad7";
+      sha512 = "05e3660ec39408afdf19dfa57b0538d69a87de58885569538f9786c27d7177666c0d24b9e7c92f013b603aa5f7a873b3be84771016de50216b3d2093e9ab2d6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/fi/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/fi/firefox-71.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "7b0e3601ff96c7e1574b073c8e14e6b1c2738064090b4bbb00c1b14fec901670fdecfb3b311d8beeb641b2bf762530db77e716dedd919096a549979b1cbec5b4";
+      sha512 = "a540afebb39f0a0fd0013635d54a4026007b2134293e669dafccec91f0c19045a1ac1c4983d1acf4c68daaaefef5d2b6e05a2c817759e32d738d71542145af9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/fr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/fr/firefox-71.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "1cb393810f5268ebe869f116d9bb29f5d16e1fe074423f3e90a8a66ec1ae5efc525980157d9dd7b3635651e55e0619f64d5a8a356bfb1658e180a162135cec0d";
+      sha512 = "9f6007b920b23b345f78dcf372186c7b6f99fcf1b14f20405dc3b524cc057bc5d5acd9092f41d7f7729f5afdc8a973613ce0617c93e98ea2448154dd968ad344";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/fy-NL/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/fy-NL/firefox-71.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "13ec09f3e23b32996b9959ce90c5e1df9f2b4659cb5f5b848632930ae084125dfe27ff24e110740290480be655239470a05899993a41997c4c861d296a3d484c";
+      sha512 = "962fa9beac2152188f415f64418747d1fb8331f7abeb451f4fc10580fe3b35531f7be7d3a79428e1bca476e162701f879f7392e8c1fcf75f67b9af9ad09491af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ga-IE/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ga-IE/firefox-71.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "fc8e89974aa1b21bc7c53bfd04f6bb307594a8547b77b1e253a9a0c9c47b9fb18e570a812bdfab72b65b88a2fbbb2ab62a3dd9190545323d896ee5df448e6f7b";
+      sha512 = "cef86c78031b5f5ed53e5c11cf9c2fc87b95ee7dfbd4fb4c60c4934c6dc2cace1576b657e947a185067c4faf1cf52c641f720d8859eef822d4d727ab4c51f9fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/gd/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/gd/firefox-71.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "19374bc3444d2b047f4bd9233acd87c2c629928ec4f527cd39974af72cb28f9b4ec5caf98c59906952b62fc0740d06c554ca0900a4bf8350a728797772cd12ca";
+      sha512 = "fe845325b5314e786653000fe99b9a2645036d7058e09e68dfc6a6b1d67e0686c03fe69fcdeb017e96b1ba3eebbfe49f66e1abb01f0da343218597616adf3a28";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/gl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/gl/firefox-71.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "dc9e047c423e922aadfb7ad487191dc7c3b4c9ab4a92dea547ba7177883395ca492b494fd65d331a88c0b0d61a2064e96b07656943643533b6eaab0dceffe9aa";
+      sha512 = "75313fc9c8e0146668293f7689c1655835fa5bb13e87caafdb6bdbcbdfb356459ed7b181daa2de37d7a74740d2ced4edc34886bbd3d44ff39086a24ffdc2f81c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/gn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/gn/firefox-71.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "7cad7e80ccfe46f146585307b4aaf2f53543c92c2fa399397615d481e0a5c2918896afdd0307fb91966f1153f00af1c35a5aaf0947849e0c17b67af3849e9f3b";
+      sha512 = "2b1f1b34bb99cc412a00c74a60dc8964700b8d99d76f96a095f19cfab9c55ced8c3f1fedbe54e62c74401d8fd777cb1c6ab0f4954a553ad4898d03a05653bfc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/gu-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/gu-IN/firefox-71.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "253cce0007ee447d6a22211b266532b8808faebc50451b00e5024ebaffc1deb01366f01b11e1602caf6af3497b47fac6a7d235861a9b8f796e5b89feb27b0987";
+      sha512 = "fef942f3ef14a660a0bb1420fd3c7af454ed330e01b41834b7a919927880a3c8f266339a5d95eea9c9d4fc9eeafb7e38d243726fe8fc5a2d0d88871c99c37c8e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/he/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/he/firefox-71.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "0319355e75fcf89b695c90af897ff14de43a7f83b89fa6deb39a4e8070d2147ce1d2ffcbc46c2fc423d9198fafbd1830eb855d29c400761c29ebc11003813224";
+      sha512 = "509d12bfd4708b9836b9817573c06533a81c9704f8660a1cce12d28398c91cfe52a22e3f139ee34b3f5c762d122e68ba92e725f41dceaf0b0ae5bce40ccd05e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hi-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hi-IN/firefox-71.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "49352a4f2a609fb5062fdb935ef5947cad9f8f51edf6f2c6866af8948301495986ebd5d2620efa919884d08eba88f66b4a4b0ba41b323fadcd960263a218909f";
+      sha512 = "6157cb4b53c2c190f9473b8086505fb0b12de5e9e902edcd259f5748cc462507fd5603fb08b0c19ac8e64a63ae3552244b61a08904a40860d9210debccdd3edf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hr/firefox-71.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "3ae70d6a0e01b2f24692c23bff8a02881793ad25ab62b3d2130117d1ce488ef84e855c95e42f45b623b09dd01cec9e7ea61f5bafefb33381f729db8b21a22447";
+      sha512 = "7e3fe339fa2d1a1d7258cc3b3e05397be74792ff7295d5a391b723ed491e5aa5768c66231935e9e69c864b2914e29c3bce8439346d23ec6e075645ae15dc4111";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hsb/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hsb/firefox-71.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "53d427b81c5e05e2d986420f13ba33704bc30f12fdab7ed60399d2c9e577731a64d7facef62eb07b9fbcb9589dd0c976aced60e41e573197fce230501a2c139a";
+      sha512 = "d7e3dfd311e12c6a84b4d9dc064c25b9a8ab32aef063306dbee9c8da6a057af358bf37cb2c6ae3c4c6f1a9f4512d6fc1cfab2e60bdbc0aeda530a2cce3085561";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hu/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hu/firefox-71.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "fcfc48428bb0764f5573d976fa671a4eeb7d08a5e5d7ed6472cbcb85a5c269aaf709550032845fd2993246a10aaf990bdf02045a9229af2cf6f34e693b250388";
+      sha512 = "807905640f123592a56d3343bff129ac35f44ddf60ab04ab719f17ceca5dcf8cb21b1f24dad35580a6ec50bc11bd4f0243a28aae62800154f4d98be0d290e402";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/hy-AM/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/hy-AM/firefox-71.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "91b09cacf023774a6b123804578508ac78d11b398267c679f0bc97a27921fad94378be338c2a6488ccce9944537f14df9df705c9c365c39f46773de50ab24fc5";
+      sha512 = "2839c3ef418a083e5ee8ce563a4f06b5f1edfcd9c86ae90ceb75a6decb1ef587b9b855055fd1fd7e0b1e25431c7e67999c69278339ed94d86744002f4d954a07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ia/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ia/firefox-71.0.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha512 = "64ce9ce8b80db1af862bfdeb45fb5e4790ed910470c242eef2905220f5c763652783c6575753a6c950777b6dce20ed55150f298a03d24ff331f076c7c7904316";
+      sha512 = "900e8931df0bd992a22556f8796b59accab53593824ce5928cb69fcee5f28ada5a4640a25edce54aa2f81c59547b8072cb09fedf852202d4407d5e4983a3599c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/id/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/id/firefox-71.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "1e104130399a6379c174804a7e2f5a5ee855303565295c829f1f024ed3742379e6ff835416e123ef2ae4a210974619231eeed8bde58b784717ee9a49e6b6e66e";
+      sha512 = "dbfc727dd69a3799c2c2350f3f79b01b1b83e011cc5e0f38acb1c632324f8de90a7d70dd32a7c5c91dce5b0becfc530563ab290ab9176a632ec9da80a3ca6a66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/is/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/is/firefox-71.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "0c4f0e787695c8615c8f5c65e776ffe30d7a4cdcaac4e996a5ab417a3f785658801df4ef0810c00e6a028a87843d4e01e7653a74defaaa1d427bf78a569d88f5";
+      sha512 = "209e319507b34b35820a28835aacd4f910a00d0edcab29c30a3a3e1278ee3a5934d5237f4b3ee8df90abddb278cf497790169ee52266f965e368746f9f8ee326";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/it/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/it/firefox-71.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "b133d1cc936b23d289cc14024b3fd6572ff9ab1b1becb5b5456ab933cec28b17d2a42f82a11404e59f954d7c8f1f583dacb21cad0aeddfc5f1cc663569d1727f";
+      sha512 = "419da43d9c9a3048fa8552f0e3080ee2bdcc2a95b8c88958dea0ca898cecb45d6fb634db31af827b2f8842275f88dabf0b940078b08f2d91aeed5640bafdb00a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ja/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ja/firefox-71.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "e5ac3d886d17a2a7e2b4ed51098501c32d812b49895b5861ab2d086475b5b2a12b76895ecc77e3b5b8d2c02ea22206cc6babcc629f97925d0824b519692b0e78";
+      sha512 = "492b7f8f53b905c8e5b9cd9e16553ecd96f6fa0c063939e5e1b655a89f78b1b16b4ed29d219710d4bb3ff8335904cec4b494b850a735697bdb68cc9ef9a1f202";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ka/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ka/firefox-71.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "a565ff60cf771a1b4f38793cd62f37f7d87255e546605cf6ff8eb9865a3595d9d6a65712e602f71dae5257d465b5b2cdfeab3fcf86b81f974d96ed4394fc30fe";
+      sha512 = "8c0d6457a97f9bafcf902e718d5ca85f8fcbc09d8be19ba702bf76a9eabbd607b41411db242302f1a6d100e541805bb4050e48510b562191e0ea2794dd2d5bcf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/kab/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/kab/firefox-71.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "01cdd838b55b490b631838d37d8b8facc59a88c83782af37c44e2a7fb9e029ffa74286a5e697c5fb18b3c6bfd299e505dcb7a74806ce2f402f9d7fc70d7490d4";
+      sha512 = "d5b85445c45dbd9ebc9d16bbdeca374aaabbb6adeb34f661d329995156ae2a71cff6ccc473380cfee1822c1f3f71d4fc2b00721d674499ec31d278f486f57031";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/kk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/kk/firefox-71.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "ef57f2946a86477e37fe611a33f88c5d79f480432d96936ca5a1b8e4a0a4d84770a311c5d017d06215e65e99b42b36c32d8ea862c4359064bd008ad3e71143d1";
+      sha512 = "c1da7ff1e1102fa8c51f8e5e268aeaff7e735d90608ae8a07efca5e88b00534da1962f963a51fa8a03917b8ed7b598d7f4ef7500528227fff1da87b77571241a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/km/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/km/firefox-71.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "ad6c71ab38f778089dc741b8efd1093f500df24c5bbd78801f1b02ea2d13dc30cc56eb32585102f646135ff3f2d6ab8afa871f2ed6fb7528daf1e16ac3c3660a";
+      sha512 = "939b3072f867f6a6a4e8d2ae5dc7e49e351216ab0f767235ba82939ead1071c4d33eca4e4ced8f39715b12884765db17970a9bd88518c9e499e3b0abc0b8b9d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/kn/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/kn/firefox-71.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "e341c369ef095cb356470e7861504aa4a670bf633fd91ecfd190561cdea5faee03206053cac60dc1c66db3a771bb201e169913916741aa1a398a1567dc56b209";
+      sha512 = "b86414a3698ec62ec5f92a818c6f00460d246a5baa3a24f33da5b64b122ff6393e9e14a45e3778a45982df73c276e19efddae95a5ef41171ce5b7a995bbe9413";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ko/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ko/firefox-71.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "38c8c9ee945cb381744b077f3c85b0d96355d866fa7771cb4c1fa1c542d8d11f8c63b497a6c052da20ff443adcd16aec868d79120b1ee27d0f17aa9d1c809112";
+      sha512 = "b1f8e57c9147d834dd610391a908599cef69d30f61c9075b6fc85c641a6bd4e74b54823cabd09d2d391d0734024ab2d699010b7fcc8755d687cf7b6ef1f250f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/lij/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/lij/firefox-71.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "8cfe74ecb2ff43a83c2d4587ba3ef46a9856ce6065dd320df8cefbc75a6f34bc2c0dbd969e3a0894b0cff3faf40c67dfd5ef13c739beb5aeacfad2fd0da644f4";
+      sha512 = "256dda3e0cb8eb52dc7f778c0c9bbf38ebec313afe0f24e8d00a823d1eab4cbd30cc7fe9637eadae355e9494d0993f3060113b502a2daa4c2aa40154337c50a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/lt/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/lt/firefox-71.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "f00e7d3abea4f6ad161d1b9755a23c0cee97a897d14aa168c02b8ca934c116a046c98320a2cc92ed880aaac97961688338a7d16d9fd8d8140d5b89b6b755bb59";
+      sha512 = "7d57c55f2b3c3d19efba46424eaeaca350c70087100e8954bc85cb0c74fc65d3c47a3319d2aab5353d2298922da8fcb007f84469b61e2f9f6c69e5121212d9c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/lv/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/lv/firefox-71.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "48006127f33a07a1fa9873cd5700b7bf6195c53b45ae8917277ad936a9ea1e44125fd29a32c21f293c45513ed0d8ba159577acbfcfc1406f653c3411eb5f28cb";
+      sha512 = "abaf628da902218ab6394b547b1e4d318091b0fdbec2bfaecc75a8365df56a668fc7ddc21241497af7710317676a055c2850bf74960204f1160adf1d00c81461";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/mk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/mk/firefox-71.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "41fee9f27eda062cb60deb190c155e48d370b42c2705a1be31b08593a688013547f7bdf872c385d77e69073b242538b55e058e84a2f3f8f2c50510b018a6bdfd";
+      sha512 = "0bc74823a7ce8654f366949144c2876e7a3a526b96dac37452be4ba387234a302ef786a38e3828514c5164d609014c15181472cc2d3e0f75e8871b8af859adcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/mr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/mr/firefox-71.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "7b34194089a72e26c7feef0a541c0ce92b770007492963ecc04427a155e0488846c5bab875cf3bd6f535fec9b10f18d4bd75a439e8cc70f635d718be94683539";
+      sha512 = "d1d6e6bd41ef63424eefdd4a8fca9b8b20d4d452117eaf6abff22f9b42f7a22a4182fb826cecc4c38975caf6fbecd43fca35f818053c2360ed723250c7e95fc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ms/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ms/firefox-71.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "6a48e803f8c2ef2bf77802e7905a75124f2b5a0bf05be1e42cfffbca6337cee16e63e0b50eedcdb21f868ff0792cfc7adbf3d00b9b7498e122d5c6b9571b267d";
+      sha512 = "e3161b2ea8bab3d720b04d69e966cb1265cc0649241081127ab5ce31d4036699a63231b8342a07c215d53ceaf5af2567da1aa1e71a46439a797aaae979bd17cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/my/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/my/firefox-71.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "843a0618ab2260462937a374b87e1bb24a781ed85aee3f03b9745c1374c186bc5c8013358c37ac674495e992e1ece3015f51bd50216733c498576936284fb9ae";
+      sha512 = "ae7830a149522f0ed9bfd3e53e1c692534cd7c2f43d6eece8d3789764fd8ff7ccaacd6ac2efc9fe0f45c7cd0ea8b612208f330ffd0daffe9243ee9e1b5169a31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/nb-NO/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/nb-NO/firefox-71.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "95f23fe193ea4b71daaf2bf9e6016f30202fc2eff3b8de2f64e32451a23edf438441c10979673b73f4244eb7dcf34fa29af985487cf2d757394f02e399e1e2f4";
+      sha512 = "c25803b43b21a2ebbdf16a8a9825cbfb7442358a6791ec6f268d12874e35f24ef48e8dee55e6ed5cd46d193fe59b902890b6b718fa8a6e121ef6fdc359dc903a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ne-NP/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ne-NP/firefox-71.0.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha512 = "aff8a40c53bb7279ecb3054716a2c8e655b0708d1f93eaabaa10181f634942fea384cffc0d6e624fbdb046fad5e9922bb74ee051b306e323f5f71bc0f05809b6";
+      sha512 = "b363fcfb531981dc423d0b134cbda0dd5c07f95631cc3b7644a7f3701d52ea20f5e62036d1e845ffa2a4f65e9b4a295bf9645ade31f59f3af864ec7d83f82240";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/nl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/nl/firefox-71.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "5b9049bd2c025e988415373525ab7b4d98938fb8f3cd821e923d082df5e57b4338d2b1b769f5861e962bbcf4c4ec103ed916995b6621e5064a5bf08bdb42847e";
+      sha512 = "7ffa10349f0705a751f4e29775b43b81f2e23af764774c27a5bfaca90656650090076fdf3c11fd29dbbf4af9cf4d39b3389b885eaeb3e5abc0a5bb9cb9b85aef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/nn-NO/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/nn-NO/firefox-71.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "f3a54f9ad4b5d06646eb52c44407bb7fb6ec1ab7a88f703bde17c69e6f598a05eb5c86e1eb89cd41edc89721463b997b9c93172eeaa1ba5cadfb85136fd9d848";
+      sha512 = "4df5c67cb0fe6f0ab70bb885d601ca0beffe3bc8cf8d652e47d9d01a503bb2b33e47fd45b8c1cf47919607da4a6f144fccb15f8fd39dc9d1e395fbc607314a6e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/oc/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/oc/firefox-71.0.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha512 = "5eb8a9b68ab057cd67776edc1dd71f094e5373926230ab4275e498ca91e18d8bbe37f2d921507001097b1536085739fb8e167b47cc71d7350301fc9ea687c122";
+      sha512 = "386e9eeb00e63d9ed24befa757b8fce2dcdaf6c9cab69000ff23ef89e9f65ebba0128b69202db34852f2149fae91df05694f6957eca7ed1f82a25e14c0123ea7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/pa-IN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/pa-IN/firefox-71.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "3bbe65e9486b1192c0ab6aee17805e31724fca6ce4faf986c9afd9ae5b4e48f81cd78c15bf7a4be74f4f26a49f9de69221f88ae4b3a119c7c5400ad9d73d2869";
+      sha512 = "213e984eb4e62d058198b71e72b8c814f203e2f0d2c2bbab2fbf22f7cece52186beb44b1f23ed19ac1638b027781c1e7b4f2e68770180bbb9b7b27d401eeeb21";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/pl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/pl/firefox-71.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "3e4c7d5a36e11f2013209f6eb40d7c95ec597a049688d795f426215377ce99677393d198470c9549b7800b36926ea728629497572e1242bcdb150f17d1e23642";
+      sha512 = "f7828a1a31face974561441e4347fe17f6fd925e41430dfa9f5b39d4fe8a691aeae9691b6703a29f798b68caa53e1ab17cc5ec6d3948240fddd6a78854c74bb0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/pt-BR/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/pt-BR/firefox-71.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "45b3b8541c76e2b18f1ce6f31e7653b612529573fd7d795ab09da85fa786db8f85385e875996acf2c2b53335cded727cd00d59d51caa63a115d18877a14b6396";
+      sha512 = "bf780d5934d67009c38f980fe82fb299cf52e76652066e057b38b88ff113825e3f34d7ad7667c3617e8304464a66082e8dffa0a6e6d9fa607504558e89f5b13b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/pt-PT/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/pt-PT/firefox-71.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "a372f393f9b49bf3fa84858a5173272a226d740e8dda058c780d7733778be0d0e3eca7e959425b9b51ed62d1dcb91adcf04c8f7832bd4563649d29274c844c11";
+      sha512 = "4923899c4ad5dc1364d8aa15bc8089eed80b06595b96a85b219478ce92e86fd8d3ff2423150dab09a357f3e68b380d267dcf32f75368e6c49df521cd651f8d55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/rm/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/rm/firefox-71.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "5fbbf7b308f40ff27ee364bc0a5ce9d8dde0685eccd319a1aba22192b1e713ab2ac34e66d9284cac8f9d8b2ca5a4f4c24b6befc76da937e97c1021b2247e0be6";
+      sha512 = "b4386b2b482c85663de59faa3a068713459dbf70cdc7d8cab8477b1e53c499e6e3438e4cd53233954d7170d12e9e598b5dead5def0669d01bce597c8a6b84725";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ro/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ro/firefox-71.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "a39b7e922aaf404b810e06b56bb23b012252606caa70e64680a024adf64e780db8a4850053166f35e0d47a98e009e5116143b273920531a3c1ce82ae81430c33";
+      sha512 = "9b033b547508da32ab23b477c4b4589d1b12515b3341dc39a13106748d8e93a48dceb8ed6d9a95da455ea1101eb6e9643cc5d676bb59922bdb64a0526b778221";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ru/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ru/firefox-71.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "e2b909fb157a514485ac90dd46598245df90b9d6ace9104a4fd638513d2e5bf430b59238a3180d2906e8be2a2e1cc68478f7a6a1b2017018a8bdf79c6acd777a";
+      sha512 = "595d7ce551c846511f691de9dac90d5b15f46b6b00590a41d4ba1d7471f55b7f32dcd1e392bcc54ab2d1cffdcaf2ccff8fbfc3c084d3f74cca869bf570c515e8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/si/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/si/firefox-71.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "e99a85f77b4269189f578f2f2ff52f952a1044c8e9894b7ae3826df709304aba7b56980078adc82a4c6242ab7dc102a55c7c3417a2bd3c4d4a50ae702381e400";
+      sha512 = "c10dd55008408cee98aaf4e6aacf03a4770a20220732e8d5318441bc163730753edcba8691017906b3cf2c28d5f9cdd0606ee812a1d01b40ef24d3d9d0239d08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sk/firefox-71.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "16a1c7f32c6e9ef145e6c85a5d875afb87ab844ba1a97e0a878129dfa3e8d1418f3484c5cab653fdb6901a4af282c0b4eb6b7e44a4b124fa5638136cec7d151b";
+      sha512 = "a439c2edda86c81911a61334ba747eba8619eaaf09b9f089a462f54bc93f413207b4db20a96b85ce8b0df58472bac450be1d8ab8e3bcad482ce653837d981ce2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sl/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sl/firefox-71.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "0e844d8c13b365b206d903059d68edb54a49995616846d6ba73846d437fbd4a15ed4c179ef466f955598a08d37e546e63f72cb5cb351affe9b71a7b8172680c7";
+      sha512 = "1bcf899acd6e722ddecb6f776cf185e71d758e7974c2b9e693f1295b2a9007dbca7cbea9b1c2e540857f748c24daa8631ad1857798742b1496a8553412e7b0be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/son/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/son/firefox-71.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "21e038a13b2de3b1793a05c6b58311ef025fd5e0e84ae73ce6a652563ff0e2ddea3d94b723175a4ed8782b72b32eef673f0bb30c8191894d3b5279c8f928a356";
+      sha512 = "0f43632a15edf48efb18089daab3f2f45c54ff1cdf288a8ab456bc36019aae9109bef1017b01481625b8d225fe78494be8323ced159bc4ecc9aebfaed1c46e75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sq/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sq/firefox-71.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "17e54e8d2e47aa06b2889d2c742e8af7b0d506025c03eb240106c3ca6e2a6ed8a3c68e2999190a4a18b3ea52a7e0e689851d9839105f5ce973c7d92dc5162a94";
+      sha512 = "0ce0d354aee7c3e2bfdab5a3cc13c64d9967620fc710d52d0ce46cc54d15149d52e6d35749f5eaa3889c8ce1399a08477d5a1e7079c012d5280765c5688d3894";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sr/firefox-71.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "c635b30ff1c3681b37cc823c7184939f4edd0a5eb0b991e6efb329816e7f7a1433bcebd7a5a905a0d0352c214d9df7015e6e017d66b60450dbaf5c1ce8e91311";
+      sha512 = "218ad778d5f8421081f0a6c42232513dd7fb6f4b946cffc4a36278d37457d68e78674f5deac839c500ab7708f79bdaffebefbb14777103af2f01b105d7de54d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/sv-SE/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/sv-SE/firefox-71.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "d4a7bb7cca2caae6c0fe59a7d95386b62b6d061604601d84779fbbfcae0f3e4f1688c0397b30fc39a52706b3188f7bdf87b9f04af2b2f3b9f4af791d090af62a";
+      sha512 = "8c3bea33cedd039db2af5c0203a36c375d65d83d4d914a43b9ed9f83e5f7783e7cb2072259bb14642ff9ef8463d6af521d242c1d9f6dab10f9621d499dc6d7f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ta/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ta/firefox-71.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "6849eb6714602c1fdb9925bedf155876544f483ed4661e90d3bdb819a43469030913b2f5dd08a25a1ecd88599f6210ba08fd840598fdb442eda701c6427e63d1";
+      sha512 = "0a0eb3e83e897bcc21a610b235e923344d8f3a09c0de83f78c5b240c84254e2684654608d004be82896c485f004b9fb9f93a6039f51a780610ea5f6a7eeb1d59";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/te/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/te/firefox-71.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "b969367ab5d96f7eb3d53ecb0e2bc6b5c76f1f3b409be2469e44eef7450d9b4e3df20b759ddff452319cfe117d037c8140086c06d99aa757ea1be9471a5d7ec2";
+      sha512 = "b39b47e236fa80771414f92b8d9898d0f316e4f4807abd9ca59ffba822166a11ff79f79b819600a1b3a24afccbc7ccbd740dbef89516b1ea031c1364ec6bc7ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/th/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/th/firefox-71.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "9bb9888a2106256fffdc289c711b75d008018080d49dc87ebbb40519ac39884a7e645504b3b9a458dc34268afe273684044d3993d94851bc7ef0dfad2491cd6d";
+      sha512 = "ff6c0a8d6ad2b1971af4fcd5d96ed2422e6fc6a820d43f2177d49740ee2a87a52a393ac323c65901907303741d7b228cb547093419dff474cde3837b3f9d4679";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/tl/firefox-71.0.tar.bz2";
+      locale = "tl";
+      arch = "linux-i686";
+      sha512 = "ac603fc901fb513266bf3d9ee7c1e088fa09fd403ca264539b586879303f27987c4eb1432a8b9d3a3c4fa3abe874d1d1be76cb9993cf0bfb675df3815f9b6b81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/tr/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/tr/firefox-71.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "80a614d54be2ea66ffe8947e9389c795a83bddd1d1350f5f98953ebf02eb8d7102ee3e2e41e79143a19630a897ad9ad9b3d999fc264a271a7be426c18de4a179";
+      sha512 = "5a222bf901572528f058d2f6bf2d449fe93dfc9a7555c91ba6a19844674e3ef43a3d53258840cf37dcd3cb2100d68cf0a6407f2934ee07345faca2423f0c7a04";
+    }
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/trs/firefox-71.0.tar.bz2";
+      locale = "trs";
+      arch = "linux-i686";
+      sha512 = "d0530d17fd9aba0046ddc677326c17301603f1929d3c7fde6590278af43c9ec2b3ec8951efb184c9ff89085311cfb4b5738e732203d8ec6e7f8be61428fc4f87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/uk/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/uk/firefox-71.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "f08ad461916354ed37d489e2635cde7c42c34b9bf8eafbbf05901a489f9eb69ab55df2dbecbed22980f63d084b76a981d8608434366e35836c19a9e87367b9e5";
+      sha512 = "fcee0ec3a5821c7539aab0414a48b2647aa88b66b99b079259f811c91afdda4ccd4f073ca06f9f8b87173427d07f0390705fcca66fbd100a917205bc4703201c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/ur/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/ur/firefox-71.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "33483075d31c70b684e8152f241c0ec082fdb2a7567bdcc418d86a5135ce2afd6b40ec6616b8725dc3a0dc683120ef55717c5391a7a8bcc1c62b43c56620f70d";
+      sha512 = "8bf47e2b5eca734580ca0958d0f86a4807a1753996da13f57c2a3c6f6f3d1297de7fdc02e8db649ef7108313c415a8a82baa5772f35f7dc94fd5bd1927558e8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/uz/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/uz/firefox-71.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "065c212d3fb01cee2c90be07c84bdce37bd285ec20938cf6799951e2ee2d598317b720af8757ce0d9355dbb4fc99365e02890cb57a43437ce60e9d28c7701cc0";
+      sha512 = "50bf9e63e73387c4740f5978e8eae93d7212775cffc62cd9f2d7da24dde2558180d59cec5c19d78475cfbc7451f82263ae3b9ed53c765f6621ec456b0eca03e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/vi/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/vi/firefox-71.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "fc906223f3a75ad7672bb54dfc2b653f26bed3ca958f8a030bb4987db641abf3ab84dd811b0919a7ea283703bada22ef5e3042bebf7ef6336b3d2494c4cc87e4";
+      sha512 = "887878ae122299374d1eccfade722837cdd7df0122e2790749909543d6ce9a5fa83919a7ceea1864ab3b9b71408c38b4e3e72d2abbe485dfb66b378e103d9719";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/xh/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/xh/firefox-71.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "dc1896ef1a1eb0e0049724bf28f14bb2d039d558212aed3c619688f289d8b80f99b4e77acdb75d454b75ed39e610527840211dd2ffd7dec1a8e74d68d3eb468a";
+      sha512 = "4521638a80908805b13faddf28098b7186704b50b1da6ea9999aefba0202263e6e8650445b6b6b635d4290f96a95173c5aa0db9a4ac066b4e4baeab3c67bfd79";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/zh-CN/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/zh-CN/firefox-71.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "d3a1ab88c12115e70b4077d6ff05949d637527a376abaa5ae773ae3ee7caac9e9812ec16f1674d890aa0dab358491f344688e6f1e2fe57ea10f086d4c88c1cd2";
+      sha512 = "65830ec45c63074cd4494805af5fd40b7fe6b061025f00d16df53ea3a51892b1e7eabc2fae8000b08a7d4c6eb4a8648eec2f3c86e105d8cb383e6dc20a3a3114";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/70.0.1/linux-i686/zh-TW/firefox-70.0.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/71.0/linux-i686/zh-TW/firefox-71.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "0746b0f439aee108a0c2e4b582a9c308921ce52575322ee6129026ad35ad9cc5a4ee81b05a27fe2febfd98168c59b012381e0432e08dfc52cc2ffed8bd43cfc6";
+      sha512 = "ae776f0593c0ab0dfa360a76e1465fe64de9f751ffc906019168af18467731670fedb2449d159d4978351e39da01eb6553444eba0c5884111d14a8f280c92462";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 1c6ddfc99eb..c6dcd20d62f 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -7,7 +7,7 @@
 { lib, stdenv, pkgconfig, pango, perl, python2, python3, zip, libIDL
 , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
 , freetype, fontconfig, file, nspr, nss, libnotify
-, yasm, libGLU_combined, sqlite, unzip, makeWrapper
+, yasm, libGLU, libGL, sqlite, unzip, makeWrapper
 , hunspell, libXdamage, libevent, libstartup_notification, libvpx
 , icu, libpng, jemalloc, glib
 , autoconf213, which, gnused, cargo, rustc, llvmPackages
@@ -95,7 +95,7 @@ let
   browserPatches = [
     ./env_var_for_system_dir.patch
   ]
-  ++ lib.optional (lib.versionAtLeast ffversion "63" && lib.versionOlder ffversion "69")
+  ++ lib.optional (lib.versionAtLeast ffversion "63" && lib.versionOlder ffversion "68.3.0")
     (fetchpatch { # https://bugzilla.mozilla.org/show_bug.cgi?id=1500436#c29
       name = "write_error-parallel_make.diff";
       url = "https://hg.mozilla.org/mozilla-central/raw-diff/562655fe/python/mozbuild/mozbuild/action/node.py";
@@ -110,7 +110,8 @@ let
       url = "https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/09c7fa0dc1d87922e3b464c0fa084df1227fca79/extra/firefox/build-arm-libopus.patch";
       sha256 = "1zg56v3lc346fkzcjjx21vjip2s9hb2xw4pvza1dsfdnhsnzppfp";
     })
-  ] ++ patches;
+  ] ++ lib.optional (lib.versionAtLeast ffversion "71") ./fix-ff71-lto.patch
+  ++ patches;
 
 in
 
@@ -131,7 +132,7 @@ stdenv.mkDerivation rec {
     gtk2 perl zip libIDL libjpeg zlib bzip2
     dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor
     xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
-    libnotify xorg.pixman yasm libGLU_combined
+    libnotify xorg.pixman yasm libGLU libGL
     xorg.libXScrnSaver xorg.xorgproto
     xorg.libXext sqlite unzip makeWrapper
     libevent libstartup_notification libvpx /* cairo */
diff --git a/pkgs/applications/networking/browsers/firefox/fix-ff71-lto.patch b/pkgs/applications/networking/browsers/firefox/fix-ff71-lto.patch
new file mode 100644
index 00000000000..f48cad9e67a
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/fix-ff71-lto.patch
@@ -0,0 +1,100 @@
+Original Patch: https://bugzilla.mozilla.org/show_bug.cgi?id=1601707#c6
+
+Also fixes the issues with dom localstorage.
+
+--- a/dom/indexedDB/ActorsParent.cpp
++++ b/dom/indexedDB/ActorsParent.cpp
+@@ -24311,11 +24311,11 @@ nsresult ObjectStoreAddOrPutRequestOp::DoDatabaseWork(
+   // if we allow overwrite or not. By not allowing overwrite we raise
+   // detectable errors rather than corrupting data.
+   DatabaseConnection::CachedStatement stmt;
+-  const auto& optReplaceDirective = (!mOverwrite || keyUnset)
+-                                        ? NS_LITERAL_CSTRING("")
+-                                        : NS_LITERAL_CSTRING("OR REPLACE ");
+   rv = aConnection->GetCachedStatement(
+-      NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
++      NS_LITERAL_CSTRING("INSERT ") +
++	  ((!mOverwrite || keyUnset)
++           ? NS_LITERAL_CSTRING("")
++           : NS_LITERAL_CSTRING("OR REPLACE ")) +
+           NS_LITERAL_CSTRING("INTO object_data "
+                              "(object_store_id, key, file_ids, data) "
+                              "VALUES (:") +
+@@ -26076,9 +26076,6 @@ nsresult Cursor::OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) {
+ 
+   const bool usingKeyRange = mOptionalKeyRange.isSome();
+ 
+-  const auto& indexTable = mCursor->mUniqueIndex
+-                               ? NS_LITERAL_CSTRING("unique_index_data")
+-                               : NS_LITERAL_CSTRING("index_data");
+ 
+   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
+ 
+@@ -26099,7 +26096,9 @@ nsresult Cursor::OpenOp::DoIndexDatabaseWork(DatabaseConnection* aConnection) {
+                                  "object_data.file_ids, "
+                                  "object_data.data "
+                                  "FROM ") +
+-                             indexTable +
++                             (mCursor->mUniqueIndex
++                                 ? NS_LITERAL_CSTRING("unique_index_data")
++                                 : NS_LITERAL_CSTRING("index_data")) +
+                              NS_LITERAL_CSTRING(
+                                  " AS index_table "
+                                  "JOIN object_data "
+@@ -26198,9 +26197,6 @@ nsresult Cursor::OpenOp::DoIndexKeyDatabaseWork(
+ 
+   const bool usingKeyRange = mOptionalKeyRange.isSome();
+ 
+-  const auto& table = mCursor->mUniqueIndex
+-                          ? NS_LITERAL_CSTRING("unique_index_data")
+-                          : NS_LITERAL_CSTRING("index_data");
+ 
+   NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column");
+ 
+@@ -26218,7 +26214,10 @@ nsresult Cursor::OpenOp::DoIndexKeyDatabaseWork(
+                              NS_LITERAL_CSTRING(
+                                  "object_data_key "
+                                  " FROM ") +
+-                             table + NS_LITERAL_CSTRING(" WHERE index_id = :") +
++                             (mCursor->mUniqueIndex
++                                 ? NS_LITERAL_CSTRING("unique_index_data")
++                                 : NS_LITERAL_CSTRING("index_data")) +
++                             NS_LITERAL_CSTRING(" WHERE index_id = :") +
+                              kStmtParamNameId;
+ 
+   const auto keyRangeClause =
+diff --git a/dom/localstorage/ActorsParent.cpp b/dom/localstorage/ActorsParent.cpp
+index 9c46c20670..642cef1701 100644
+--- a/dom/localstorage/ActorsParent.cpp
++++ b/dom/localstorage/ActorsParent.cpp
+@@ -6959,13 +6959,10 @@ nsresult PrepareDatastoreOp::Start() {
+   MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread());
+   MOZ_ASSERT(MayProceed());
+ 
+-  const LSRequestCommonParams& commonParams =
+-      mForPreload
+-          ? mParams.get_LSRequestPreloadDatastoreParams().commonParams()
+-          : mParams.get_LSRequestPrepareDatastoreParams().commonParams();
+-
+   const PrincipalInfo& storagePrincipalInfo =
+-      commonParams.storagePrincipalInfo();
++      mForPreload
++          ? mParams.get_LSRequestPreloadDatastoreParams().commonParams().storagePrincipalInfo()
++          : mParams.get_LSRequestPrepareDatastoreParams().commonParams().storagePrincipalInfo();
+ 
+   if (storagePrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo) {
+     QuotaManager::GetInfoForChrome(&mSuffix, &mGroup, &mOrigin);
+@@ -6996,10 +6993,9 @@ nsresult PrepareDatastoreOp::CheckExistingOperations() {
+     return NS_ERROR_FAILURE;
+   }
+ 
+-  const LSRequestCommonParams& commonParams =
+-      mForPreload
+-          ? mParams.get_LSRequestPreloadDatastoreParams().commonParams()
+-          : mParams.get_LSRequestPrepareDatastoreParams().commonParams();
++  const LSRequestCommonParams& preloadCommonParams = mParams.get_LSRequestPreloadDatastoreParams().commonParams();
++  const LSRequestCommonParams& prepareCommonParams = mParams.get_LSRequestPrepareDatastoreParams().commonParams();
++  const LSRequestCommonParams& commonParams = mForPreload ? preloadCommonParams : prepareCommonParams;
+ 
+   const PrincipalInfo& storagePrincipalInfo =
+       commonParams.storagePrincipalInfo();
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index b60d1a8e8f3..105a0a18d6b 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -14,13 +14,12 @@ let
 in
 
 rec {
-
   firefox = common rec {
     pname = "firefox";
-    ffversion = "70.0.1";
+    ffversion = "71.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "0jzga89iyawswma2p2g1ygffivflc8a966v8s5pbz425xhgbcvif1li0y0rbhnc5dc08lh0mr3a9n5sry43rr5nhkqi1vsh1ri1i3kr";
+      sha512 = "0hfjlhwdhfdfzd27d6p3h8ff5m2jphlaipv4zym48bn6g95if1x98q2lb87617bxfm31di4rckjvqb70g9sm3smil6p6bnw2dsvnq1g";
     };
 
     patches = [
@@ -100,10 +99,10 @@ rec {
 
   firefox-esr-68 = common rec {
     pname = "firefox-esr";
-    ffversion = "68.2.0esr";
+    ffversion = "68.3.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "3p4gic3nlz1rxfc64xnv6vgfvf84w8752vpkdc1sfl3qx0w05q5d23rsvmkm8nb45bnsq3ch3jsrsh4p6fan4k9hvmzv8zgp6k2qlpn";
+      sha512 = "31zisy4l07hhm9yvxz7sx04kz1f5rl20z1w072jxaabi42sw07xr6lcflv88gwl21y902n7vwd1q1zfavpnipn65wap4i0vm8c4m6pr";
     };
 
     patches = [
diff --git a/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix b/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
deleted file mode 100644
index 6ab53376310..00000000000
--- a/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, gcc7, pkg-config
-, next
-, webkitgtk, gsettings-desktop-schemas
-}:
-
-stdenv.mkDerivation rec {
-  pname = "next-gtk-webkit";
-  inherit (next) src version;
-
-  makeFlags = [ "gtk-webkit" "PREFIX=$(out)" ];
-  installTargets = "install-gtk-webkit";
-
-  nativeBuildInputs = [ gcc7 pkg-config ];
-  buildInputs = [
-    webkitgtk
-    gsettings-desktop-schemas
-  ];
-  meta = with stdenv.lib; {
-    description = "Infinitely extensible web-browser (user interface only)";
-    homepage = https://next.atlas.engineer;
-    license = licenses.bsd3;
-    maintainers = [ maintainers.lewo ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/next/default.nix b/pkgs/applications/networking/browsers/next/default.nix
index 9b537c55337..97c65fc12ef 100644
--- a/pkgs/applications/networking/browsers/next/default.nix
+++ b/pkgs/applications/networking/browsers/next/default.nix
@@ -1,86 +1,90 @@
-{ pkgs, stdenv, fetchFromGitHub
-, gcc7, pkg-config, makeWrapper
-, glib-networking
-, next-gtk-webkit
+{ stdenv
+, fetchFromGitHub
 , lispPackages
 , sbcl
+, callPackage
 }:
 
-stdenv.mkDerivation rec {
-    pname = "next";
-    version = "1.3.4";
+let
+
+  # This is the wrapped webkitgtk platform port that we hardcode into the Lisp Core.
+  # See https://github.com/atlas-engineer/next/tree/master/ports#next-platform-ports
+  next-gtk-webkit = callPackage ./next-gtk-webkit.nix {};
 
-    src = fetchFromGitHub {
-      owner = "atlas-engineer";
-      repo = "next";
-      rev = version;
-      sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
-    };
+in
+
+stdenv.mkDerivation rec {
+  pname = "next";
+  version = "1.3.4";
 
-    # Stripping destroys the generated SBCL image
-    dontStrip = true;
+  src = fetchFromGitHub {
+    owner = "atlas-engineer";
+    repo = "next";
+    rev = version;
+    sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
+  };
 
-    prePatch = ''
-      substituteInPlace source/ports/gtk-webkit.lisp \
-        --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
-    '';
+  nativeBuildInputs = [
+    sbcl
+  ] ++ (with lispPackages; [
+    prove-asdf
+    trivial-features
+  ]);
 
-    nativeBuildInputs =
-      [ sbcl makeWrapper ] ++ (with lispPackages;
-      [ prove-asdf trivial-features ]);
+  buildInputs = with lispPackages; [
+    alexandria
+    bordeaux-threads
+    cl-annot
+    cl-ansi-text
+    cl-css
+    cl-hooks
+    cl-json
+    cl-markup
+    cl-ppcre
+    cl-ppcre-unicode
+    cl-prevalence
+    closer-mop
+    dbus
+    dexador
+    ironclad
+    local-time
+    log4cl
+    lparallel
+    mk-string-metrics
+    parenscript
+    quri
+    sqlite
+    str
+    swank
+    trivia
+    trivial-clipboard
+    unix-opts
+  ];
 
-    buildInputs = with lispPackages; [
-      alexandria
-      bordeaux-threads
-      cl-annot
-      cl-ansi-text
-      cl-css
-      cl-hooks
-      cl-json
-      cl-markup
-      cl-ppcre
-      cl-ppcre-unicode
-      cl-prevalence
-      closer-mop
-      dbus
-      dexador
-      ironclad
-      local-time
-      log4cl
-      lparallel
-      mk-string-metrics
-      parenscript
-      quri
-      sqlite
-      str
-      swank
-      trivia
-      trivial-clipboard
-      unix-opts
-    ];
-    propagatedBuildInputs = [ next-gtk-webkit ];
+  prePatch = ''
+    substituteInPlace source/ports/gtk-webkit.lisp \
+      --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
+  '';
 
-    buildPhase = ''
-      common-lisp.sh --eval "(require :asdf)" \
-                     --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
-                     --eval '(asdf:make :next)' \
-                     --quit
-    '';
+  buildPhase = ''
+    common-lisp.sh --eval "(require :asdf)" \
+                   --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
+                   --eval '(asdf:make :next)' \
+                   --quit
+  '';
 
-    installPhase = ''
-      install -D -m0755 next $out/bin/next
-    '';
+  installPhase = ''
+    install -D -m0755 next $out/bin/next
+  '';
 
-    preFixup = ''
-      wrapProgram $out/bin/next \
-        --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules"
-    '';
+  # Stripping destroys the generated SBCL image
+  dontStrip = true;
 
-    meta = with stdenv.lib; {
-      description = "Infinitely extensible web-browser (with Lisp development files)";
-      homepage = https://next.atlas.engineer;
-      license = licenses.bsd3;
-      maintainers = [ maintainers.lewo ];
-      platforms = [ "x86_64-linux" ];
-    };
-  }
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
+    homepage = https://next.atlas.engineer;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
new file mode 100644
index 00000000000..a71583ffbec
--- /dev/null
+++ b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
@@ -0,0 +1,50 @@
+# https://github.com/atlas-engineer/next/tree/master/ports/gtk-webkit
+
+{ stdenv
+, pkg-config
+, next
+, webkitgtk
+, gtk3
+, glib
+, gsettings-desktop-schemas
+, glib-networking
+, gst_all_1
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "next-gtk-webkit";
+  inherit (next) src version;
+
+  nativeBuildInputs = [
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    glib-networking
+    gsettings-desktop-schemas
+    gtk3
+    webkitgtk
+    gst_all_1.gst-plugins-base
+    gst_all_1.gstreamer
+  ];
+
+  makeFlags = [
+    "gtk-webkit"
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  installTargets =  [
+    "install-gtk-webkit"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (user interface only)";
+    homepage = https://next.atlas.engineer;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index f68f34c68e5..c1ede504449 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -47,11 +47,11 @@ let
 in stdenv.mkDerivation rec {
 
   pname = "opera";
-  version = "64.0.3417.83";
+  version = "65.0.3467.48";
 
   src = fetchurl {
     url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    sha256 = "09ygnfma5ncx6y8yr6dm3hz98cd9srv6687wgs786dw5glfhsd57";
+    sha256 = "0vcpq2p8si6rlyvd8nzs0a7pjxks2qn8i8czna968wyfxlczckyr";
   };
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index 07234f59a8e..05262b0cf50 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -3,7 +3,7 @@
 , dbus, dbus-glib, ffmpeg, file, fontconfig, freetype
 , gnome2, gnum4, gtk2, hunspell, libevent, libjpeg
 , libnotify, libstartup_notification, makeWrapper
-, libGLU_combined, perl, python, libpulseaudio
+, libGLU, libGL, perl, python, libpulseaudio
 , unzip, xorg, wget, which, yasm, zip, zlib
 }:
 
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     alsaLib bzip2 cairo dbus dbus-glib ffmpeg file fontconfig freetype
     gnome2.GConf gnum4 gtk2 hunspell libevent libjpeg libnotify
-    libstartup_notification makeWrapper libGLU_combined perl
+    libstartup_notification makeWrapper libGLU libGL perl
     pkgconfig python libpulseaudio unzip wget which yasm zip zlib
   ] ++ (with xorg; [
     libX11 libXext libXft libXi libXrender libXScrnSaver
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 7b13d748fe0..b616e82a209 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -10,23 +10,23 @@ assert withMediaPlayback -> gst_all_1 != null;
 
 let
   pdfjs = let
-    version = "2.2.228";
+    version = "2.3.200";
   in
   fetchzip rec {
     name = "pdfjs-${version}";
     url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
-    sha256 = "0yik4vfnz46j844jfw1gq5cshgzry42kpy2d5rr7fbn9fjf98bw6";
+    sha256 = "1fpxsw0hzahccyng08acvc7g0gk29j2x701p6w6fg1718mvcrm1q";
     stripRoot = false;
   };
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "1.8.1";
+  version = "1.8.3";
 
   # the release tarballs are different from the git checkout!
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0ckffbw2zlg0afz4rgyywzdprnqs74va5qj0xqlaqc14ziiypxnw";
+    sha256 = "055zmzk3q0m3hx1742nfy2mdawfllrkvijnbzp1hiv01dj1bxaf8";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix
deleted file mode 100644
index f86c4a84e58..00000000000
--- a/pkgs/applications/networking/browsers/uzbl/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, python3, makeWrapper
-, webkitgtk, glib-networking, gsettings-desktop-schemas, python2Packages
-}:
-# This package needs python3 during buildtime,
-# but Python 2 + packages during runtime.
-
-stdenv.mkDerivation rec {
-  pname = "uzbl";
-  version = "0.9.0";
-
-  meta = with stdenv.lib; {
-    description = "Tiny externally controllable webkit browser";
-    homepage    = "http://uzbl.org/";
-    license     = licenses.gpl3;
-    platforms   = platforms.linux;
-    maintainers = with maintainers; [ raskin dgonyeo ];
-  };
-
-  src = fetchurl {
-    name = "uzbl-v${version}.tar.gz";
-    url = "https://github.com/uzbl/uzbl/archive/v${version}.tar.gz";
-    sha256 = "0iskhv653fdm5raiidimh9fzlsw28zjqx7b5n3fl1wgbj6yz074k";
-  };
-
-  preConfigure = ''
-    makeFlags="$makeFlags PREFIX=$out"
-    makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out"
-    mkdir -p $out/${python3.sitePackages}/
-    export PYTHONPATH=$PYTHONPATH:$out/${python3.sitePackages}
-  '';
-
-  preFixup = ''
-    for f in $out/bin/*; do
-      wrapProgram $f \
-        --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
-        --prefix PYTHONPATH : "$PYTHONPATH" \
-        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share"
-    done
-  '';
-
-  nativeBuildInputs = [ pkgconfig python3 makeWrapper ];
-
-  buildInputs = [ gsettings-desktop-schemas webkitgtk ];
-  propagatedBuildInputs = with python2Packages; [ pygtk six ];
-}
diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix
deleted file mode 100644
index 8a2e164b363..00000000000
--- a/pkgs/applications/networking/browsers/vimprobable2/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, glib-networking, gtk2, libsoup, libX11, perl,
-  pkgconfig, webkitgtk, gsettings-desktop-schemas }:
-
-stdenv.mkDerivation rec {
-  version = "1.4.2";
-  pname = "vimprobable2";
-  src = fetchurl {
-    url = "mirror://sourceforge/vimprobable/vimprobable2_${version}.tar.bz2";
-    sha256 = "13jdximksh9r3cgd2f8vms0pbsn3x0gxvyqdqiw16xp5fmdx5kzr";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper gtk2 libsoup libX11 perl webkitgtk gsettings-desktop-schemas ];
-
-  hardeningDisable = [ "format" ];
-
-  installFlags = "PREFIX=/ DESTDIR=$(out)";
-
-  preFixup = ''
-    wrapProgram "$out/bin/vimprobable2" \
-      --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
-
-  meta = {
-    description = ''
-      Vimprobable is a web browser that behaves like the Vimperator plugin
-      available for Mozilla Firefox
-    '';
-    longDescription = ''
-      Vimprobable is a web browser that behaves like the Vimperator plugin
-      available for Mozilla Firefox. It is based on the WebKit engine (using
-      GTK bindings). The goal of Vimprobable is to build a completely
-      keyboard-driven, efficient and pleasurable browsing-experience. Its
-      featureset might be considered "minimalistic", but not as minimalistic as
-      being completely featureless.
-    '';
-    homepage = https://sourceforge.net/apps/trac/vimprobable;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.aforemny ];
-    platforms = with stdenv.lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/networking/cawbird/default.nix b/pkgs/applications/networking/cawbird/default.nix
index 02368990a01..6462dd49949 100644
--- a/pkgs/applications/networking/cawbird/default.nix
+++ b/pkgs/applications/networking/cawbird/default.nix
@@ -1,6 +1,23 @@
-{ stdenv, fetchFromGitHub, glib, gtk3, json-glib, sqlite, libsoup, gettext, vala
-, meson, ninja, pkgconfig, gnome3, gst_all_1, wrapGAppsHook, gobject-introspection
-, glib-networking, python3 }:
+{ stdenv
+, fetchFromGitHub
+, glib
+, gtk3
+, json-glib
+, sqlite
+, libsoup
+, gettext
+, gspell
+, vala
+, meson
+, ninja
+, pkgconfig
+, dconf
+, gst_all_1
+, wrapGAppsHook
+, gobject-introspection
+, glib-networking
+, python3
+}:
 
 stdenv.mkDerivation rec {
   version = "1.0.3.1";
@@ -14,13 +31,34 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig wrapGAppsHook python3
+    meson
+    ninja
+    vala
+    pkgconfig
+    wrapGAppsHook
+    python3
     gobject-introspection # for setup hook
   ];
 
   buildInputs = [
-    glib gtk3 json-glib sqlite libsoup gettext gnome3.dconf gnome3.gspell glib-networking
-  ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad (gst-plugins-good.override { gtkSupport = true; }) gst-libav ]);
+    glib
+    gtk3
+    json-glib
+    sqlite
+    libsoup
+    gettext
+    dconf
+    gspell
+    glib-networking
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+    (gst-plugins-good.override {
+      gtkSupport = true;
+    })
+    gst-libav
+  ]);
 
   postPatch = ''
     chmod +x data/meson_post_install.py # patchShebangs requires executable file
@@ -30,7 +68,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Native GTK Twitter client for the Linux desktop";
     longDescription = "Cawbird is a modern, easy and fun Twitter client. Fork of the discontinued Corebird.";
-    homepage = https://ibboard.co.uk/cawbird/;
+    homepage = "https://ibboard.co.uk/cawbird/";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ jonafato schmittlauch ];
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index abd1abdc89a..904eabfcda8 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.15.0";
+  version = "1.16.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "1aqcamhiivy733l2avc18b0k72sg0d8iqbsqvnj1344kqx6jgxf6";
+    sha256 = "1yk78w9cwssk5y69iapfzqf7mnrkam3w64x4zsx3zjpdmvp9dq7l";
   };
 
-  modSha256 = "1dz1cb2513drb2lr5gbl7w05ksrq5rvkqdcjnlkdc00mypjb2ms5";
+  modSha256 = "17rh8yilxqv0dwljwm5ay43diwcy5pa1g2jff9wyhsh8q7sy9wln";
 
   subPackages = [ "cmd/fluxctl" ];
 
   meta = with stdenv.lib; {
     description = "CLI client for Flux, the GitOps Kubernetes operator";
-    homepage = https://github.com/fluxcd/flux;
+    homepage = "https://github.com/fluxcd/flux";
     license = licenses.asl20;
-    maintainers = with maintainers; [ Gonzih ];
+    maintainers = with maintainers; [ Gonzih filalex77 ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index 7e513edf612..267f25f8bb5 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -65,4 +65,9 @@ in rec {
     version = "1.14.1";
     sha256 = "0ikd8qwrjh8s1sc95g18sm0q6p33swz2m1rjd8zw34mb2w9jv76n";
   };
+
+  kops_1_15 = mkKops {
+    version = "1.15.0";
+    sha256 = "0sjas8pn0njl767b1y15g7cci2q3kxkxwmgr0wvs7vi3n1s1sf9d";
+  };
 }
diff --git a/pkgs/applications/networking/cluster/kubeval/default.nix b/pkgs/applications/networking/cluster/kubeval/default.nix
index 89d06474509..84e9b889943 100644
--- a/pkgs/applications/networking/cluster/kubeval/default.nix
+++ b/pkgs/applications/networking/cluster/kubeval/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage, makeWrapper }:
+{ stdenv, lib, fetchFromGitHub, buildGoModule, makeWrapper }:
 
 let
 
@@ -7,10 +7,10 @@ let
   schema = stdenv.mkDerivation {
     name = "kubeval-schema";
     src = fetchFromGitHub {
-      owner = "garethr";
+      owner = "instrumenta";
       repo = "kubernetes-json-schema";
-      rev = "c7672fd48e1421f0060dd54b6620baa2ab7224ba";
-      sha256 = "0picr3wvjx4qv158jy4f60pl225rm4mh0l97pf8nqi9h9x4x888p";
+      rev = "6a498a60dc68c5f6a1cc248f94b5cd1e7241d699";
+      sha256 = "1y9m2ma3n4h7sf2lg788vjw6pkfyi0fa7gzc870faqv326n6x2jr";
     };
 
     installPhase = ''
@@ -21,26 +21,26 @@ let
 
 in
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "kubeval";
-  version = "0.7.3";
+  version = "0.14.0";
 
-  goPackagePath = "github.com/garethr/kubeval";
   src = fetchFromGitHub {
-    owner = "garethr";
+    owner = "instrumenta";
     repo = "kubeval";
-    rev = version;
-    sha256 = "042v4mc5p80vmk56wp6aw89yiibjnfqn79c0zcd6y179br4gpfnb";
+    rev = "${version}";
+    sha256 = "0kpwk7bv36m3i8vavm1pqc8l611c6l9qbagcc64v6r85qig4w5xv";
   };
-  goDeps = ./deps.nix;
 
   buildInputs = [ makeWrapper ];
 
-  postFixup = "wrapProgram $bin/bin/kubeval --set KUBEVAL_SCHEMA_LOCATION file:///${schema}";
+  modSha256 = "0y9x44y3bchi8xg0a6jmp2rmi8dybkl6qlywb6nj1viab1s8dd4y";
+
+  postFixup = "wrapProgram $out/bin/kubeval --set KUBEVAL_SCHEMA_LOCATION file:///${schema}/kubernetes-json-schema/master";
 
   meta = with lib; {
     description = "Validate your Kubernetes configuration files";
-    homepage = https://github.com/garethr/kubeval;
+    homepage = https://github.com/instrumenta/kubeval;
     license = licenses.asl20;
     maintainers = with maintainers; [ nicknovitski ];
     platforms = platforms.all;
diff --git a/pkgs/applications/networking/cluster/kubeval/deps.nix b/pkgs/applications/networking/cluster/kubeval/deps.nix
deleted file mode 100644
index b9565e927de..00000000000
--- a/pkgs/applications/networking/cluster/kubeval/deps.nix
+++ /dev/null
@@ -1,174 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-  {
-    goPackagePath = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev = "c2828203cd70a50dcccfb2761f8b1f8ceef9a8e9";
-      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/go-multierror";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/go-multierror";
-      rev = "b7773ae218740a7be65057fc60b366a49b538a44";
-      sha256 = "09904bk7ac6qs9dgiv23rziq9h3makb9qg4jvxr71rlydsd7psfd";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168";
-      sha256 = "1qalfsc31fra7hcw2lc3s20aj7al62fq3j5fn5kga3mg99b82nyr";
-    };
-  }
-  {
-    goPackagePath = "github.com/magiconair/properties";
-    fetch = {
-      type = "git";
-      url = "https://github.com/magiconair/properties";
-      rev = "c2353362d570a7bfa228149c62842019201cfb71";
-      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/mapstructure";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/mapstructure";
-      rev = "bb74f1db0675b241733089d5a1faa5dd8b0ef57b";
-      sha256 = "1aqk9qr46bwgdc5j7n7als61xvssvyjf4qzfsvhacl4izpygqnw7";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "66540cf1fcd2c3aee6f6787dfa32a6ae9a870f12";
-      sha256 = "1n8na0yg90gm0rpifmzrby5r385vvd62cdam3ls7ssy02bjvfw15";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/afero";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/afero";
-      rev = "787d034dfe70e44075ccc060d346146ef53270ad";
-      sha256 = "0138rjiacl71h7kvhzinviwvy6qa2m6rflpv9lgqv15hnjvhwvg1";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cast";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cast";
-      rev = "8965335b8c7107321228e3e3702cab9832751bac";
-      sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "1e58aa3361fd650121dceeedc399e7189c05674a";
-      sha256 = "1d6dy60dw7i2mcab10yp99wi5w28jzhzzf16w4ys6bna7ymndiin";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/jwalterweatherman";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/jwalterweatherman";
-      rev = "7c0cea34c8ece3fbeb2b27ab9b59511d360fb394";
-      sha256 = "132p84i20b9s5r6fs597lsa6648vd415ch7c0d018vm8smzqpd0h";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "3ebe029320b2676d667ae88da602a5f854788a8a";
-      sha256 = "11yxs0wqy70wj106fkz8r923yg4ncnc2mbw33v48zmlg4a1rasgp";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/viper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/viper";
-      rev = "b5e8006cbee93ec955a89ab31e0e3ce3204f3736";
-      sha256 = "0y3r6ysi5vn0yq5c7pbl62yg2i64fkv54xgj2jf1hn3v6zzyimis";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonpointer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonpointer";
-      rev = "4e3ac2762d5f479393488629ee9370b50873b3a6";
-      sha256 = "13y6iq2nzf9z4ls66bfgnnamj2m3438absmbpqry64bpwjfbsi9q";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonreference";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonreference";
-      rev = "bd5ef7bd5415a7ac448318e64f11a24cd21e594b";
-      sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5";
-    };
-  }
-  {
-    goPackagePath = "github.com/xeipuuv/gojsonschema";
-    fetch = {
-      type = "git";
-      url = "https://github.com/xeipuuv/gojsonschema";
-      rev = "9ff6d6c47f3f5de55acc6f464d6e3719b02818ae";
-      sha256 = "0rpkya4lnpv9g33bs0z3vd5dlnadkyq1lg7114nbd73vm878s6sw";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "2d6f6f883a06fc0d5f4b14a81e4c28705ea64c15";
-      sha256 = "1a6x6n1fk5k013w5r4b0bxws1d2fh0s69mbzpi1vkyfpcxabwjhj";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "5c1cf69b5978e5a34c5f9ba09a83e56acc4b7877";
-      sha256 = "03br8p1sb1ffr02l8hyrgcyib7ms0z06wy3v4r1dj2l6q4ghwzfs";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
-      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
-    };
-  }
-]
diff --git a/pkgs/applications/networking/cluster/terraform-providers/data.nix b/pkgs/applications/networking/cluster/terraform-providers/data.nix
index 6be9a5092ba..cd37083d935 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/data.nix
@@ -12,9 +12,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      rev     = "v1.60.0";
-      version = "1.60.0";
-      sha256  = "14k96ccjrjiqfrdrj9kd090ms1p15z71qv60gm05bhffviyplmgw";
+      rev     = "v1.63.0";
+      version = "1.63.0";
+      sha256  = "0353zsga4ic7rsgnk243v202l4hpy0xlzp95fnbmrz7p5wy2k8js";
     };
   archive =
     {
@@ -44,25 +44,25 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      rev     = "v2.34.0";
-      version = "2.34.0";
-      sha256  = "1kmy6hn1d3padfnix17ibmrm1339q4li0740dlfgjlxjv179bv34";
+      rev     = "v2.41.0";
+      version = "2.41.0";
+      sha256  = "0i9bh78ihmxj7hjbqzkkj7k6lvr3xdakf8qv0bfckcinwpzwzbxa";
     };
   azuread =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azuread";
-      rev     = "v0.6.0";
-      version = "0.6.0";
-      sha256  = "1s3k2plka1lzfij4vhr30vc549zysa6v8j5mphra7fjxy236v40j";
+      rev     = "v0.7.0";
+      version = "0.7.0";
+      sha256  = "1a7w31dvjz5498445ia4m5gd1js3k7ghz6qqfq51f2n86iafs0xq";
     };
   azurerm =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      rev     = "v1.36.1";
-      version = "1.36.1";
-      sha256  = "1mnbmbfsnc859j6ahcph80z0v1jl82dnbjqmqg2q0kiappz2g2lm";
+      rev     = "v1.37.0";
+      version = "1.37.0";
+      sha256  = "0n0582v8g3np8glyxnpnayps014jxclzrglcxf35wszfz9mspryg";
     };
   azurestack =
     {
@@ -76,9 +76,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-bigip";
-      rev     = "v1.0.0";
-      version = "1.0.0";
-      sha256  = "0dz5dfv3glx7898a9bi9vi3g0ghyi96pc45brrj41and5835jvdc";
+      rev     = "v1.1.0";
+      version = "1.1.0";
+      sha256  = "15fmxr1c39xx6ix38nigf8izrqzlmjjr6hvlkf7yhb5z7485nvsg";
     };
   bitbucket =
     {
@@ -108,9 +108,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-circonus";
-      rev     = "v0.2.0";
-      version = "0.2.0";
-      sha256  = "1vcia3p31cgdwjs06k4244bk7ib2qp1f2lhc7hmyhdfi1c8jym45";
+      rev     = "v0.4.0";
+      version = "0.4.0";
+      sha256  = "0iz7v7gfjgbca47vjnvcv9159kgladkad7cmjw2hpncrn2jjinwg";
     };
   clc =
     {
@@ -124,17 +124,17 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudflare";
-      rev     = "v2.0.1";
-      version = "2.0.1";
-      sha256  = "18cxyxgv6x5s1xsd5l460hnl1xdvrvkwb36lhvk3dgziaw2xxr81";
+      rev     = "v2.1.0";
+      version = "2.1.0";
+      sha256  = "1ll06p4fz88mr4a51rqgvxykivx9xina6507mflyxaic59xlkdz4";
     };
   cloudscale =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-cloudscale";
-      rev     = "v2.0.0";
-      version = "2.0.0";
-      sha256  = "145hj4pbi5zrkgamicy3m1n3380fpd2ndd6ym7mwd65d95g39vwb";
+      rev     = "v2.1.0";
+      version = "2.1.0";
+      sha256  = "12vxzhpsivvq343mqkmnwklvnv6dc9h2ah0ixla9svdwjp91xfcd";
     };
   cloudstack =
     {
@@ -172,9 +172,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-digitalocean";
-      rev     = "v1.10.0";
-      version = "1.10.0";
-      sha256  = "1c53g32mk41lvq4ikfj04m89nhzrdk8d6h35aq3z07yyqp6ap2a0";
+      rev     = "v1.11.0";
+      version = "1.11.0";
+      sha256  = "0s8z0zsfibclx0431fcqbi9yqkhwj4w0rz780z1dwv50xpgnmzql";
     };
   dme =
     {
@@ -204,9 +204,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-docker";
-      rev     = "v2.5.0";
-      version = "2.5.0";
-      sha256  = "1nril7qy1nm1dq19vg6mm0zc0sgkjrm1s39n7p9gxf4s4j78ig1n";
+      rev     = "v2.6.0";
+      version = "2.6.0";
+      sha256  = "12qq7m75yxfczik78klqaimrzhp70m2vk5q0h3v8b2dwvvynj0dg";
     };
   dyn =
     {
@@ -252,25 +252,25 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-gitlab";
-      rev     = "v2.3.0";
-      version = "2.3.0";
-      sha256  = "012pbgfdmwyq8y8ddrhyf14jc6s7v24f1w3mrpi6mp4glqc5yfqx";
+      rev     = "v2.4.0";
+      version = "2.4.0";
+      sha256  = "0409n8miva205wkx968ggzmz0y121s99iybsjlkx0gja20x68yxx";
     };
   google =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      rev     = "v2.19.0";
-      version = "2.19.0";
-      sha256  = "00pqkysic3x8iygcxb232dwbpmy5ldf7fdfi6ldiv3g6gbvlcaf7";
+      rev     = "v2.20.0";
+      version = "2.20.0";
+      sha256  = "1b19hql244lv74gxdwgqh9955d3zkwj7riaq6kj5ylbj44spcpjy";
     };
   google-beta =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google-beta";
-      rev     = "v2.19.0";
-      version = "2.19.0";
-      sha256  = "03im9h7r2vyx4y9qnc3l0hsvcqy7rai5dlkmj1za3npm98vpx2d7";
+      rev     = "v2.20.0";
+      version = "2.20.0";
+      sha256  = "0zkhyn17kji6yyl5582g5vhqj3rcbin73ym6vn6f0m7sf5yaplky";
     };
   grafana =
     {
@@ -284,17 +284,17 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-hcloud";
-      rev     = "v1.14.0";
-      version = "1.14.0";
-      sha256  = "13zxrjx4im25g7m45z95d3py85nzs2k8r9grilxshr6x95bxk2f0";
+      rev     = "v1.15.0";
+      version = "1.15.0";
+      sha256  = "0l554mf6s248j0453b4r5pafshcvhn2smk4pp23y9kq5g1xd0xmd";
     };
   hedvig =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-hedvig";
-      rev     = "v1.0.4";
-      version = "1.0.4";
-      sha256  = "0y6brzznxp8khdfbnpmnbjqf140411z0pvnp88p8mj2kmbk7kkjd";
+      rev     = "v1.0.5";
+      version = "1.0.5";
+      sha256  = "0dic4kqjwi3s8pss1pmgixnr7xi503gl5i7pcx66fam5y5ar92v5";
     };
   helm =
     {
@@ -324,9 +324,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-huaweicloud";
-      rev     = "v1.9.0";
-      version = "1.9.0";
-      sha256  = "06blhsbv5pxlb1m07qanrq5qmbai33dlk89ghzscrqwnvv1nnszr";
+      rev     = "v1.10.0";
+      version = "1.10.0";
+      sha256  = "0aa83y0bzfldijd4jbmhqppc13jdqaax83p75kffwaxw1rmxrana";
     };
   icinga2 =
     {
@@ -340,9 +340,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ignition";
-      rev     = "v1.1.0";
-      version = "1.1.0";
-      sha256  = "0vpjbb70wnlrvw7z2zc92fbisgjk49ivdmv10ahyqlgvc23js5va";
+      rev     = "v1.2.0";
+      version = "1.2.0";
+      sha256  = "0dg5xak02rv7h9z07kjqxf55al188ligzq3m6711rlh62zam2cjc";
     };
   influxdb =
     {
@@ -356,9 +356,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-kubernetes";
-      rev     = "v1.9.0";
-      version = "1.9.0";
-      sha256  = "1ai8w853k4pgr43g9dwdsimw0g0c6vg6vg2f20d9ch7bx8ii4nhf";
+      rev     = "v1.10.0";
+      version = "1.10.0";
+      sha256  = "04hd9n9jm72fi81cmdz0yf374fg52r8yinsxy0ag29rd3r2l1k81";
     };
   librato =
     {
@@ -372,9 +372,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-linode";
-      rev     = "v1.8.0";
-      version = "1.8.0";
-      sha256  = "1jgh2ij58a5mr6ns604cfpvfvr19qr0q51j57gvchz53iv683m9q";
+      rev     = "v1.9.1";
+      version = "1.9.1";
+      sha256  = "10f7nij91fhgf1808r6rv3l13nz7p37mcln5p3nfvhsxskss3vxn";
     };
   local =
     {
@@ -412,9 +412,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-mysql";
-      rev     = "v1.8.0";
-      version = "1.8.0";
-      sha256  = "1llcg2mp6jbj386liinly62pgy934v0c2g5z976n0xwfdiybyhwx";
+      rev     = "v1.9.0";
+      version = "1.9.0";
+      sha256  = "14gxxki3jhncv3s2x828ns2vgmf2xxzigdyp9b54mbkw5rnv1k2g";
     };
   netlify =
     {
@@ -428,9 +428,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-newrelic";
-      rev     = "v1.5.2";
-      version = "1.5.2";
-      sha256  = "1q2vlpzxz04xhmf2wi5pc501454qwzh59kdhfhs8yjg1d1489jng";
+      rev     = "v1.8.0";
+      version = "1.8.0";
+      sha256  = "16fdif6hshdb1aswv22k590rcr3f6b3a9gmg8vc4lbyi6l2dfabd";
     };
   nomad =
     {
@@ -444,17 +444,17 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ns1";
-      rev     = "v1.6.0";
-      version = "1.6.0";
-      sha256  = "1v075wc48pq9kp9rp4kanlfshnxgan9h914nqalq90xgzyl2gf3v";
+      rev     = "v1.6.1";
+      version = "1.6.1";
+      sha256  = "0zyn165h42p640k1q85x3n8fw1fs9j72z9lnfa8pas89jy2fmi8b";
     };
   nsxt =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nsxt";
-      rev     = "v1.1.1";
-      version = "1.1.1";
-      sha256  = "19bbycify25bshpyq65qjxnl72b6wmwwwdb7hxl94hhbgx2c9z29";
+      rev     = "v1.1.2";
+      version = "1.1.2";
+      sha256  = "1hnxivad7371j363sp3460mfzl5alb3dhxsbp0qwfl5mzvriwrbl";
     };
   null =
     {
@@ -476,9 +476,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oci";
-      rev     = "v3.50.0-rc1";
-      version = "3.50.0-rc1";
-      sha256  = "0nzz62zyx5xf2qlvjcbsqnafdhmq194yhyipcab1n2ckji8zb03z";
+      rev     = "v3.54.0-rc1";
+      version = "3.54.0-rc1";
+      sha256  = "14mfkjjpq4sfw0j4w1mnh37x9kwn76rs1y6cjqq9zb8fnhva6gax";
     };
   oneandone =
     {
@@ -508,17 +508,17 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opentelekomcloud";
-      rev     = "v1.13.1";
-      version = "1.13.1";
-      sha256  = "1mxbfskxf9zwm55r3s6fhk634pnyk0sx5pgwk3kmw4sgjv88i1ny";
+      rev     = "v1.14.0";
+      version = "1.14.0";
+      sha256  = "1mjb6br8iy76q417lmg04xnv4hkgi2fgdn3qnr3nvlwnnccp230k";
     };
   opsgenie =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opsgenie";
-      rev     = "v0.2.4";
-      version = "0.2.4";
-      sha256  = "1kgvbx39v6f3hszwrqjsaq3wvwzkxf4gwwfix2m6bprfr5q5vn0d";
+      rev     = "v0.2.5";
+      version = "0.2.5";
+      sha256  = "0brjqnlnxqss285n2g1z006bibbdh5v47g75l5kyhyhhchavccma";
     };
   oraclepaas =
     {
@@ -540,9 +540,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      rev     = "v2.6.1";
-      version = "2.6.1";
-      sha256  = "198lkw5b4xfyf82yzym66fna7j0wl3hzvkdr9b9q7f0nffx47xri";
+      rev     = "v2.7.1";
+      version = "2.7.1";
+      sha256  = "1hmja9c8ab66yr814psz1zsa4y0nbmd5rcnp3qxdgizp45yrvz3i";
     };
   pagerduty =
     {
@@ -556,9 +556,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-panos";
-      rev     = "v1.6.0";
-      version = "1.6.0";
-      sha256  = "0qszdyrj84c8i195y45cnanzmkn8ypi1gi5a03pf3gsf2fdcj9gq";
+      rev     = "v1.6.1";
+      version = "1.6.1";
+      sha256  = "06hwi426x7ipmn4dbg5dyv9z84sxaa8q1jlcd2l264n9s2y3xhiq";
     };
   postgresql =
     {
@@ -700,9 +700,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tencentcloud";
-      rev     = "v1.22.0";
-      version = "1.22.0";
-      sha256  = "0lamj77n9b5m80201wim0zcjgdcbihcaq27z49himh2qi5j8lxiz";
+      rev     = "v1.25.2";
+      version = "1.25.2";
+      sha256  = "1pf4l9rvkarl4vhf51np4kdqcgs4jhsr5gw7vs6rn8gv97lb40kw";
     };
   terraform =
     {
@@ -756,9 +756,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      rev     = "v2.5.0";
-      version = "2.5.0";
-      sha256  = "0h3q2zifjgm05kvdans88dl8wx9hr21c1s64fmfs4an07gkg8947";
+      rev     = "v2.6.0";
+      version = "2.6.0";
+      sha256  = "0sw1swy2j9n3ji48sxmj093zzlq7sdmp8ixmz488ps3m4jjyfk6k";
     };
   vcd =
     {
@@ -780,9 +780,9 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-yandex";
-      rev     = "v0.23.0";
-      version = "0.23.0";
-      sha256  = "0vv8lp834q8i7fam2s8pvs7slfwlf8m4g080i9cij5z2lgipja32";
+      rev     = "v0.24.0";
+      version = "0.24.0";
+      sha256  = "0a9isivn3ni0d1id8ww97xbcwrxc0c4pn1m1q21cipqs6mwksq9m";
     };
   segment =
     {
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index f8b42470de7..1bffafac882 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -112,8 +112,8 @@ in rec {
   terraform_0_11-full = terraform_0_11.full;
 
   terraform_0_12 = pluggable (generic {
-    version = "0.12.16";
-    sha256 = "10r9vra4d3lyms9cvl0g1ij6ldcfi3vjrqsmd52isrmlmjdzm8nk";
+    version = "0.12.17";
+    sha256 = "1pmvjbmzws5qjzz34dw0fcb6p36vafqs0h8i87g7lmhckb9bqihv";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/dsvpn/default.nix b/pkgs/applications/networking/dsvpn/default.nix
index 4958d290529..04d3887bf4e 100644
--- a/pkgs/applications/networking/dsvpn/default.nix
+++ b/pkgs/applications/networking/dsvpn/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dsvpn";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "jedisct1";
     repo = pname;
     rev = version;
-    sha256 = "1jl9b23s2glims09mb1sq01kaf10bfjsd3qsgk68mp5kvy9f3gj2";
+    sha256 = "1gbj3slwmq990qxsbsaxasi98alnnzv3adp6f8w8sxd4gi6qxhdh";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix
index 169b88f2718..2bb592bfb42 100644
--- a/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "rssguard";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =  [ qtwebengine qttools ];
-  nativeBuildInputs = [ qmake wrapGAppsHook ];
+  nativeBuildInputs = [ qmake wrapGAppsHook wrapQtAppsHook ];
   qmakeFlags = [ "CONFIG+=release" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/gopher/gopher/default.nix b/pkgs/applications/networking/gopher/gopher/default.nix
index 4fcdf55777a..f90e35ca7e2 100644
--- a/pkgs/applications/networking/gopher/gopher/default.nix
+++ b/pkgs/applications/networking/gopher/gopher/default.nix
@@ -1,23 +1,25 @@
-{stdenv, fetchurl, ncurses}:
+{ stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "gopher";
-  version = "3.0.11";
+  version = "3.0.17";
 
-  src = fetchurl {
-    url = "http://gopher.quux.org:70/devel/gopher/Downloads/gopher_${version}.tar.gz";
-    sha256 = "15r7x518wlpfqpd6z0hbdwm8rw8ll8hbpskdqgxxhrmy00aa7w9c";
+  src = fetchFromGitHub {
+    owner = "jgoerzen";
+    repo = pname;
+    rev = "release/${version}";
+    sha256 = "1j6xh5l8v231d4mwl9gj1c34dc0jmazz6zg1qqfxmqr9y609jq3h";
   };
 
   buildInputs = [ ncurses ];
 
   preConfigure = "export LIBS=-lncurses";
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://gopher.quux.org:70/devel/gopher;
     description = "A ncurses gopher client";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ sternenseemann ];
+    platforms = platforms.linux; # clang doesn't like local regex.h
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/fractal/default.nix b/pkgs/applications/networking/instant-messengers/fractal/default.nix
index 478d27fcfb3..052a626531b 100644
--- a/pkgs/applications/networking/instant-messengers/fractal/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fractal/default.nix
@@ -9,7 +9,7 @@
 , python3
 , rustPlatform
 , pkgconfig
-, gtksourceview
+, gtksourceview4
 , glib
 , libhandy
 , gtk3
@@ -25,17 +25,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fractal";
-  version = "4.2.0";
+  version = "4.2.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "fractal";
     rev = version;
-    sha256 = "0clwsmd6h759bzlazfq5ig56dbx7npx3h43yspk87j1rm2dp1177";
+    sha256 = "0r98km3c8naj3mdr1wppzj823ir7jnsia7r3cbg3vsq8q52i480r";
   };
 
-  cargoSha256 = "1hwjajkphl5439dymglgj3h92hxgbf7xpipzrga7ga8m10nx1dhl";
+  cargoSha256 = "1n9n4d057cz44sh1iy2hb2adplhnrhvr8drnp0v2h8yw73a5shvv";
 
   nativeBuildInputs = [
     cargo
@@ -58,21 +58,14 @@ rustPlatform.buildRustPackage rec {
     gst_all_1.gst-plugins-bad
     gst_all_1.gst-plugins-base
     gst_all_1.gstreamer
+    gst_all_1.gst-validate
     gtk3
-    gtksourceview
+    gtksourceview4
     libhandy
     openssl
     sqlite
   ];
 
-  cargoPatches = [
-    # https://gitlab.gnome.org/GNOME/fractal/merge_requests/446
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/fractal/commit/2778acdc6c50bc6f034513029b66b0b092bc4c38.patch";
-      sha256 = "08v17xmbwrjw688ps4hsnd60d5fm26xj72an3zf6yszha2b97j6y";
-    })
-  ];
-
   postPatch = ''
     chmod +x scripts/test.sh
     patchShebangs scripts/meson_post_install.py scripts/test.sh
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
new file mode 100644
index 00000000000..e03bdd9909e
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
@@ -0,0 +1,21 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+
+let
+  nodeEnv = import ./node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+locpkgs = 
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+  globalBuildInputs = [
+    locpkgs.node-pre-gyp
+  ];
+};
+in locpkgs
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
new file mode 100644
index 00000000000..633219626b6
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, pkgs }:
+(import ./composition.nix {
+  inherit pkgs;
+  inherit (stdenv.hostPlatform) system;
+})."package".override {
+  postInstall = ''
+    mkdir "$out/bin"
+    echo '#!/bin/sh' >> "$out/bin/matrix-recorder"
+    echo "'${pkgs.nodejs-12_x}/bin/node'" \
+         "'$out/lib/node_modules/matrix-recorder/matrix-recorder.js'" \
+         '"$@"' >> "$out/bin/matrix-recorder"
+    echo '#!/bin/sh' >> "$out/bin/matrix-recorder-to-html"
+    echo 'cd "$1"' >> "$out/bin/matrix-recorder-to-html"
+    echo "test -d templates/ || ln -sfT '$out/lib/node_modules/matrix-recorder/templates' templates" >> "$out/bin/matrix-recorder-to-html"
+    echo "'${pkgs.nodejs-12_x}/bin/node'" \
+         "'$out/lib/node_modules/matrix-recorder/recorder-to-html.js'" \
+         '.' >> "$out/bin/matrix-recorder-to-html"
+    chmod a+x "$out/bin/matrix-recorder"
+    chmod a+x "$out/bin/matrix-recorder-to-html"
+  '';
+  meta = {
+    description = "Matrix message recorder";
+    homepage = "https://gitlab.com/argit/matrix-recorder/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
new file mode 100644
index 00000000000..670556bf271
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
@@ -0,0 +1,540 @@
+# 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/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix
new file mode 100644
index 00000000000..012ad195a71
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix
@@ -0,0 +1,1426 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "abbrev-1.1.1" = {
+      name = "abbrev";
+      packageName = "abbrev";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
+      };
+    };
+    "ajv-6.10.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
+        sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
+      };
+    };
+    "another-json-0.2.0" = {
+      name = "another-json";
+      packageName = "another-json";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/another-json/-/another-json-0.2.0.tgz";
+        sha1 = "b5f4019c973b6dd5c6506a2d93469cb6d32aeedc";
+      };
+    };
+    "ansi-regex-2.1.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    };
+    "aproba-1.2.0" = {
+      name = "aproba";
+      packageName = "aproba";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
+      };
+    };
+    "are-we-there-yet-1.1.5" = {
+      name = "are-we-there-yet";
+      packageName = "are-we-there-yet";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
+      };
+    };
+    "asn1-0.2.4" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
+      };
+    };
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    };
+    "asynckit-0.4.0" = {
+      name = "asynckit";
+      packageName = "asynckit";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    };
+    "aws-sign2-0.7.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    };
+    "aws4-1.9.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
+      };
+    };
+    "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";
+      };
+    };
+    "bcrypt-pbkdf-1.0.2" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    };
+    "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==";
+      };
+    };
+    "browser-request-0.3.3" = {
+      name = "browser-request";
+      packageName = "browser-request";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
+        sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
+      };
+    };
+    "caseless-0.12.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    };
+    "chownr-1.1.3" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+        sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
+      };
+    };
+    "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";
+      };
+    };
+    "combined-stream-1.0.8" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
+      };
+    };
+    "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";
+      };
+    };
+    "console-control-strings-1.1.0" = {
+      name = "console-control-strings";
+      packageName = "console-control-strings";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    };
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    };
+    "dashdash-1.14.1" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    };
+    "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==";
+      };
+    };
+    "deep-extend-0.6.0" = {
+      name = "deep-extend";
+      packageName = "deep-extend";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
+      };
+    };
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    };
+    "delegates-1.0.0" = {
+      name = "delegates";
+      packageName = "delegates";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    };
+    "detect-libc-1.0.3" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    };
+    "ecc-jsbn-0.1.2" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    };
+    "encoding-0.1.12" = {
+      name = "encoding";
+      packageName = "encoding";
+      version = "0.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    };
+    "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==";
+      };
+    };
+    "extsprintf-1.3.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    };
+    "fast-deep-equal-2.0.1" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    };
+    "form-data-2.3.3" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
+        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
+      };
+    };
+    "fs-minipass-1.2.7" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "1.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
+        sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
+      };
+    };
+    "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";
+      };
+    };
+    "gauge-2.7.4" = {
+      name = "gauge";
+      packageName = "gauge";
+      version = "2.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    };
+    "getpass-0.1.7" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    };
+    "glob-7.1.6" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
+      };
+    };
+    "graceful-fs-4.2.3" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
+        sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==";
+      };
+    };
+    "har-schema-2.0.0" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    };
+    "har-validator-5.1.3" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "5.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
+        sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
+      };
+    };
+    "has-unicode-2.0.1" = {
+      name = "has-unicode";
+      packageName = "has-unicode";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    };
+    "http-signature-1.2.0" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    };
+    "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-walk-3.0.3" = {
+      name = "ignore-walk";
+      packageName = "ignore-walk";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
+        sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
+      };
+    };
+    "imurmurhash-0.1.4" = {
+      name = "imurmurhash";
+      packageName = "imurmurhash";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    };
+    "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.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==";
+      };
+    };
+    "ini-1.3.5" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
+      };
+    };
+    "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-stream-1.1.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    };
+    "is-typedarray-1.0.0" = {
+      name = "is-typedarray";
+      packageName = "is-typedarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    };
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    };
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    };
+    "jsbn-0.1.1" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    };
+    "json-schema-traverse-0.4.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    };
+    "marked-0.6.3" = {
+      name = "marked";
+      packageName = "marked";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/marked/-/marked-0.6.3.tgz";
+        sha512 = "Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ==";
+      };
+    };
+    "matrix-js-sdk-0.7.13" = {
+      name = "matrix-js-sdk";
+      packageName = "matrix-js-sdk";
+      version = "0.7.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-0.7.13.tgz";
+        sha1 = "283accc710009f5a0b02367682f2e86155fd00c4";
+      };
+    };
+    "mime-db-1.42.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.42.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
+      };
+    };
+    "mime-types-2.1.25" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
+      };
+    };
+    "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";
+      };
+    };
+    "minipass-2.9.0" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
+        sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
+      };
+    };
+    "minizlib-1.3.3" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
+        sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
+      };
+    };
+    "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==";
+      };
+    };
+    "mustache-2.3.2" = {
+      name = "mustache";
+      packageName = "mustache";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz";
+        sha512 = "KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==";
+      };
+    };
+    "nan-2.14.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
+        sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
+      };
+    };
+    "needle-2.4.0" = {
+      name = "needle";
+      packageName = "needle";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz";
+        sha512 = "4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==";
+      };
+    };
+    "node-fetch-1.7.3" = {
+      name = "node-fetch";
+      packageName = "node-fetch";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz";
+        sha512 = "NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==";
+      };
+    };
+    "node-localstorage-1.3.1" = {
+      name = "node-localstorage";
+      packageName = "node-localstorage";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz";
+        sha512 = "NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==";
+      };
+    };
+    "node-pre-gyp-0.11.0" = {
+      name = "node-pre-gyp";
+      packageName = "node-pre-gyp";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz";
+        sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==";
+      };
+    };
+    "nopt-4.0.1" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    };
+    "npm-bundled-1.0.6" = {
+      name = "npm-bundled";
+      packageName = "npm-bundled";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz";
+        sha512 = "8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==";
+      };
+    };
+    "npm-packlist-1.4.6" = {
+      name = "npm-packlist";
+      packageName = "npm-packlist";
+      version = "1.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz";
+        sha512 = "u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==";
+      };
+    };
+    "npmlog-4.1.2" = {
+      name = "npmlog";
+      packageName = "npmlog";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
+        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
+      };
+    };
+    "number-is-nan-1.0.1" = {
+      name = "number-is-nan";
+      packageName = "number-is-nan";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    };
+    "oauth-sign-0.9.0" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        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";
+      };
+    };
+    "olm-https://packages.matrix.org/npm/olm/olm-2.3.0.tgz" = {
+      name = "olm";
+      packageName = "olm";
+      version = "2.3.0";
+      src = fetchurl {
+        name = "olm-2.3.0.tar.gz";
+        url = https://packages.matrix.org/npm/olm/olm-2.3.0.tgz;
+        sha256 = "1f0f037a025a44509646cb849ded7c1a1f55e7bfed240fad19676c002fcd953a";
+      };
+    };
+    "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";
+      };
+    };
+    "os-homedir-1.0.2" = {
+      name = "os-homedir";
+      packageName = "os-homedir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    };
+    "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";
+      };
+    };
+    "osenv-0.1.5" = {
+      name = "osenv";
+      packageName = "osenv";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
+      };
+    };
+    "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";
+      };
+    };
+    "performance-now-2.1.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    };
+    "process-nextick-args-2.0.1" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
+      };
+    };
+    "psl-1.4.0" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
+        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "punycode-2.1.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
+      };
+    };
+    "q-1.5.1" = {
+      name = "q";
+      packageName = "q";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    };
+    "qs-6.5.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+      };
+    };
+    "rc-1.2.8" = {
+      name = "rc";
+      packageName = "rc";
+      version = "1.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
+        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
+      };
+    };
+    "readable-stream-2.3.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
+      };
+    };
+    "request-2.88.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.88.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
+        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
+      };
+    };
+    "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==";
+      };
+    };
+    "safe-buffer-5.1.2" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+      };
+    };
+    "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==";
+      };
+    };
+    "sax-1.2.4" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
+      };
+    };
+    "semver-5.7.1" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
+      };
+    };
+    "set-blocking-2.0.0" = {
+      name = "set-blocking";
+      packageName = "set-blocking";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    };
+    "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";
+      };
+    };
+    "slide-1.1.6" = {
+      name = "slide";
+      packageName = "slide";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+      };
+    };
+    "sqlite3-4.1.0" = {
+      name = "sqlite3";
+      packageName = "sqlite3";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz";
+        sha512 = "RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==";
+      };
+    };
+    "sshpk-1.16.1" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.16.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
+        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
+      };
+    };
+    "string-width-1.0.2" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    };
+    "string_decoder-1.1.1" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+      };
+    };
+    "strip-ansi-3.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    };
+    "strip-json-comments-2.0.1" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    };
+    "tar-4.4.13" = {
+      name = "tar";
+      packageName = "tar";
+      version = "4.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
+        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
+      };
+    };
+    "tough-cookie-2.4.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
+      };
+    };
+    "tunnel-agent-0.6.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    };
+    "tweetnacl-0.14.5" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    };
+    "uri-js-4.2.2" = {
+      name = "uri-js";
+      packageName = "uri-js";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
+        sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
+      };
+    };
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    };
+    "uuid-3.3.3" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz";
+        sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==";
+      };
+    };
+    "verror-1.10.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    };
+    "wide-align-1.1.3" = {
+      name = "wide-align";
+      packageName = "wide-align";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
+        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
+      };
+    };
+    "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";
+      };
+    };
+    "write-file-atomic-1.3.4" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz";
+        sha1 = "f807a4f0b1d9e913ae7a48112e6cc3af1991b45f";
+      };
+    };
+    "yallist-3.1.1" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
+      };
+    };
+  };
+  node-pre-gyp = nodeEnv.buildNodePackage {
+    name = "node-pre-gyp";
+    packageName = "node-pre-gyp";
+    version = "0.14.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz";
+      sha512 = "+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."chownr-1.1.3"
+      sources."code-point-at-1.1.0"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."debug-3.2.6"
+      sources."deep-extend-0.6.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."glob-7.1.6"
+      sources."has-unicode-2.0.1"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-walk-3.0.3"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."isarray-1.0.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.1.2"
+      sources."needle-2.4.0"
+      sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.6"
+      sources."npm-packlist-1.4.6"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."path-is-absolute-1.0.1"
+      sources."process-nextick-args-2.0.1"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.1"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."tar-4.4.13"
+      sources."util-deprecate-1.0.2"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."yallist-3.1.1"
+    ];
+    buildInputs = [];
+    meta = {
+      description = "Node.js native addon binary install tool";
+      homepage = "https://github.com/mapbox/node-pre-gyp#readme";
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  args = {
+    name = "matrix-recorder";
+    packageName = "matrix-recorder";
+    version = "0.0.6";
+    src = fetchgit {
+      url = "https://gitlab.com/argit/matrix-recorder/";
+      rev = "006b78c8a4ddc636be8f6f1e3875b13a4a6d2c7c";
+      sha256 = "0m3kzwbrxymwl6hr981q6fsf752fqxwzbpxryx25j4lkwc23nmj3";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ajv-6.10.2"
+      sources."another-json-0.2.0"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.9.0"
+      sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."browser-request-0.3.3"
+      sources."caseless-0.12.0"
+      sources."chownr-1.1.3"
+      sources."code-point-at-1.1.0"
+      sources."combined-stream-1.0.8"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."debug-3.2.6"
+      sources."deep-extend-0.6.0"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."ecc-jsbn-0.1.2"
+      sources."encoding-0.1.12"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."getpass-0.1.7"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-unicode-2.0.1"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-walk-3.0.3"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."marked-0.6.3"
+      sources."matrix-js-sdk-0.7.13"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.1.2"
+      sources."mustache-2.3.2"
+      sources."nan-2.14.0"
+      sources."needle-2.4.0"
+      sources."node-fetch-1.7.3"
+      sources."node-localstorage-1.3.1"
+      sources."node-pre-gyp-0.11.0"
+      sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.6"
+      sources."npm-packlist-1.4.6"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."olm-https://packages.matrix.org/npm/olm/olm-2.3.0.tgz"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."path-is-absolute-1.0.1"
+      sources."performance-now-2.1.0"
+      sources."process-nextick-args-2.0.1"
+      sources."psl-1.4.0"
+      sources."punycode-2.1.1"
+      sources."q-1.5.1"
+      sources."qs-6.5.2"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."request-2.88.0"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.1"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."slide-1.1.6"
+      sources."sqlite3-4.1.0"
+      sources."sshpk-1.16.1"
+      sources."string-width-1.0.2"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."tar-4.4.13"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uri-js-4.2.2"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.3"
+      sources."verror-1.10.0"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-1.3.4"
+      sources."yallist-3.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A recorder that can record Matrix rooms you are a member of (including E2E-encrypted rooms).";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+in
+{
+  tarball = nodeEnv.buildNodeSourceDist args;
+  package = nodeEnv.buildNodePackage args;
+  shell = nodeEnv.buildNodeShell args;
+  inherit node-pre-gyp;
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json b/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json
new file mode 100644
index 00000000000..fc03d636ad2
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json
@@ -0,0 +1,27 @@
+{
+  "name": "matrix-recorder",
+  "version": "0.0.6",
+  "description": "A recorder that can record Matrix rooms you are a member of (including E2E-encrypted rooms).",
+  "author": "Hello Matrix <hello@hello-matrix.net>",
+  "main": "matrix-recorder.js",
+  "scripts": {
+    "start": "node matrix-recorder.js"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://gitlab.com/argit/matrix-recorder.git"
+  },
+  "dependencies": {
+    "marked": "^0.6.2",
+    "matrix-js-sdk": "^0.7.13",
+    "mime-types": "^2.1.14",
+    "mustache": "^2.3.0",
+    "node-fetch": "^1.6.3",
+    "node-localstorage": "^1.3.0",
+    "sqlite3": "^4.0.7",
+    "olm": "https://packages.matrix.org/npm/olm/olm-2.3.0.tgz"
+  },
+  "license": "MIT",
+  "optionalDependencies": {
+  }
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrixcli/default.nix b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
new file mode 100644
index 00000000000..54b7ef2bd99
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchgit
+  , buildPythonApplication, buildPythonPackage
+  , pygobject3, pytestrunner, requests, responses, pytest, python-olm
+  , canonicaljson, olm
+}:
+let
+  mainsrc = fetchgit {
+    url = "https://github.com/saadnpq/matrixcli";
+    rev = "61ebde173ca2f77185c261c2b7f6db297ca89863";
+    sha256 = "0xcjjy2xwlcixr9fwgzcfjjkivqpk104h7dslfa7lz9jq9pzqzvq";
+    fetchSubmodules = true;
+  };
+
+  sdk = buildPythonPackage rec {
+    name = "${pname}-${version}";
+    pname = "matrix-python-sdk-matrixcli";
+    version = "0.0.2019-08-15";
+    
+    src = "${mainsrc}/matrix-python-sdk/";
+
+    propagatedBuildInputs = [
+      requests responses olm python-olm canonicaljson
+      pytestrunner pytest
+    ];
+
+    doCheck = false;
+    doInstallCheck = false;
+
+    meta = {
+      license = stdenv.lib.licenses.asl20;
+      description = "Fork of Matrix Python SDK";
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+in
+buildPythonApplication rec {
+  name = "${pname}-${version}";
+  pname = "matrixcli";
+  version = "0.0.2019-08-15";
+
+  src = mainsrc;
+
+  propagatedBuildInputs = [pygobject3 sdk];
+
+  meta = {
+    description = "CLI client for Matrix";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/saadnpq/matrixcli";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
index eee5fd82bba..8b1f4d4c0e9 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/pro.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rambox-pro";
-  version = "1.1.7";
+  version = "1.2.0";
 
   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 = "1d84hlac3qwrbi8khp6r3bm5y25zcz52l6z54k7jmyplay46r5as";
+    sha256 = "189rpsrs25c4100xf1zhcwvdyigbzsw8ffhayj8mmrx4akg39653";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
index 30012970d78..3338f6159d9 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "src/electron-main.js",
-  "version": "1.5.0",
+  "version": "1.5.5",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "dependencies": {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index 5dc61ff5cc8..c3fe4b9dd33 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
@@ -6,12 +6,12 @@
 
 let
   executableName = "riot-desktop";
-  version = "1.5.0";
+  version = "1.5.5";
   riot-web-src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-web";
     rev = "v${version}";
-    sha256 = "1xi5zg3602d7gdjxskpk2q3anpn2drrkxyirfvi9mzcfp2r05557";
+    sha256 = "18xhqniwxp1sv49qcd9ah8nyy2n2yliy3wg613raxjl16qvvzxmc";
   };
 
 in mkYarnPackage rec {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index ccfad7259a5..93c3d837b05 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riot-web";
-  version = "1.5.0";
+  version = "1.5.5";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "08r9473ncfy3wzqhnds729s77fq82jjgz8w3yya07aahcxzasi94";
+    sha256 = "0isln25sl5jvvlqvh822w73a4i82x75g1ywf3p9n5m1a5sr9f537";
   };
 
   installPhase = let
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 027b5b5805c..c821c4b0f44 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.6.3";
+  version = "0.6.5";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
-    sha256 = "1gvdifscyxmxn2dwlkqi684ahy5kbcj84mqda0m8l4aa8iaq1d59";
+    sha256 = "082kq8kadxbwzf31fmlq4in714id2irk0hhqsl53vsl3wmv45zvv";
   };
 
   buildInputs = lib.optional stdenv.isLinux [ libmatthew_java dbus dbus_java ];
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index aee540b7886..6bbdb66d3a8 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -59,7 +59,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "1.28.0"; # Please backport all updates to the stable channel.
+  version = "1.29.0"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -69,7 +69,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "14cd635fax99l5jk70jy0mjnvw01b0gbv666szc4ajamm36l2bkr";
+    sha256 = "1zbj0z4bhmg6zf975bn67wpr1kdi0h05d90aniijnh5wqgnwhfqn";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 2893f21357b..a368473b0c8 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.54.0.85";
+  version = "8.54.0.91";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -63,7 +63,7 @@ let
           "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
           "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
         ];
-        sha256 = "09k260g9qy4n8vy6wr2jb5mm27cvqyapmv8vj4ff2j72f3ad31vm";
+        sha256 = "1hnha8sqk78zxkjqg62npmg6dymi5fnyj2bmxlwpgi61v3pyxj94";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
index 15cec96afc7..9c57ac829af 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/server.nix
@@ -4,13 +4,13 @@ let
   arch = if stdenv.is64bit then "amd64" else "x86";
 in stdenv.mkDerivation rec {
   pname = "teamspeak-server";
-  version = "3.9.1";
+  version = "3.10.2";
 
   src = fetchurl {
     url = "https://files.teamspeak-services.com/releases/server/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2";
     sha256 = if stdenv.is64bit
-      then "0vzi0prnqhjxrwlghwgii0rsmml6aa3qk3yv227g9wz5m3b9f10a"
-      else "1nn0fh4s5rmnn27djbsk21jaah1kxyvap9qaf5p4r7cydwr1bzm6";
+      then "03c717qjlbym02nwy82l6jhrkbidsdm1jv5k8p3c10p6a46jy9nl"
+      else "1ay0lmbv2rw9klz289yg0hhsac83kfzzlbwwhjpi28xndl2lq4bf";
   };
 
   buildInputs = [ stdenv.cc.cc ];
@@ -28,12 +28,12 @@ in stdenv.mkDerivation rec {
     ln -s $out/lib/teamspeak/tsdns/tsdnsserver $out/bin/tsdnsserver
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "TeamSpeak voice communication server";
     homepage = https://teamspeak.com/;
-    license = stdenv.lib.licenses.unfreeRedistributable;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.arobyn ];
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ arobyn gerschtli ];
   };
 }
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index 3368ec1124e..f3d1e6cfd75 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, gnome3, pkgconfig, dbus-glib, telepathy-glib, libxslt, makeWrapper }:
+{ stdenv, fetchurl, glib, dconf, pkgconfig, dbus-glib, telepathy-glib, libxslt, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-idle";
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib telepathy-glib dbus-glib libxslt telepathy-glib.python (stdenv.lib.getLib gnome3.dconf) makeWrapper ];
+  buildInputs = [ glib telepathy-glib dbus-glib libxslt telepathy-glib.python (stdenv.lib.getLib dconf) makeWrapper ];
 
   preFixup = ''
     wrapProgram "$out/libexec/telepathy-idle" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 8c777cd3f7d..af0ca1589e5 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, pkgconfig
-, gnome3, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
+, dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
 
 stdenv.mkDerivation rec {
   project = "telepathy-logger";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$out/libexec/telepathy-logger" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index 6bbe82c4a28..ef842275a5d 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , fetchurl
 , pkgconfig
-, gnome3
+, dconf
 , telepathy-glib
 , python3
 , libxslt
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$lib/libexec/mission-control-5" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
new file mode 100644
index 00000000000..0378f50a9c0
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -0,0 +1,78 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, libxml2
+, libsndfile
+, file
+, readline
+, bison
+, flex
+, ucommon
+, ccrtp
+, qtbase
+, qttools
+, qtquickcontrols2
+, alsaLib
+, speex
+, ilbc
+, fetchurl
+, mkDerivation
+, bcg729
+}:
+
+mkDerivation rec {
+  pname = "twinkle";
+  version = "1.10.2";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "LubosD";
+    rev = "v${version}";
+    sha256 = "0s0gi03xwvzp02ah4q6j33r9jx9nbayr6dxlg2ck9pwbay1nq1hx";
+  };
+
+  buildInputs = [
+    libxml2
+    file # libmagic
+    libsndfile
+    readline
+    ucommon
+    ccrtp
+    qtbase
+    qttools
+    qtquickcontrols2
+    alsaLib
+    speex
+    ilbc
+  ];
+
+  patches = [
+    (fetchurl { # https://github.com/LubosD/twinkle/pull/152 patch for bcg729 1.0.2+
+      url = "https://github.com/LubosD/twinkle/compare/05082ae12051821b1d969e6672d9e4e5afe1bc07...7a6c533cda387652b5b4cb2a867be1a18585890c.patch";
+      sha256 = "39fc6cef3e88cfca8db44612b2d082fb618027b0f99509138d3c0d2777a494c2";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    bison
+    flex
+    bcg729
+  ];
+
+  cmakeFlags = [
+    "-DWITH_G729=On"
+    "-DWITH_SPEEX=On"
+    "-DWITH_ILBC=On"
+    /* "-DWITH_DIAMONDCARD=On" seems ancient and broken */
+  ];
+
+  meta = with stdenv.lib; {
+    changelog = "https://github.com/LubosD/twinkle/blob/${version}/NEWS";
+    description = "A SIP-based VoIP client";
+    homepage = "http://twinkle.dolezel.info/";
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.mkg20001 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index 1b3e1c8ad81..acdec1dc99c 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -1,6 +1,6 @@
 {fetchurl, stdenv, dpkg, makeWrapper,
  alsaLib, cups, curl, dbus, expat, fontconfig, freetype, glib, gst_all_1, harfbuzz, libcap,
- libpulseaudio, libxml2, libxslt, libGLU_combined, nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
+ libpulseaudio, libxml2, libxslt, libGLU, libGL, nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
 }:
 
 stdenv.mkDerivation {
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
       libpulseaudio
       libxml2
       libxslt
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       openssl
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index f395c2a8055..0079d9f324f 100644
--- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, makeDesktopItem
-
-, alsaLib, at-spi2-atk, atk, cairo, cups, dbus, dpkg, expat, fontconfig
-, freetype, gdk-pixbuf, glib, gtk3, hunspell, libX11, libXScrnSaver
-, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr
-, libXrender, libXtst, libnotify, libuuid, nspr, nss, pango, pciutils
-, pulseaudio, udev, xdg_utils, xorg
-
-, cpio, xar
+{ atomEnv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, stdenv
+, udev
+, wrapGAppsHook
+, cpio
+, xar
 }:
 
 let
@@ -18,13 +20,13 @@ let
   pname = "wire-desktop";
 
   version = {
-    x86_64-linux = "3.11.2912";
     x86_64-darwin = "3.10.3215";
+    x86_64-linux = "3.11.2912";
   }.${system} or throwSystem;
 
   sha256 = {
-    x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl";
     x86_64-darwin = "0ygm3fgy9k1dp2kjfwsrrwq1i88wgxc6k8y80yz61ivdawgph9wa";
+    x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl";
   }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
@@ -40,11 +42,19 @@ let
         * Timed messages and chats
         * Synced across your phone, desktop and tablet
     '';
-    homepage = https://wire.com/;
-    downloadPage = https://wire.com/download/;
+    homepage = "https://wire.com/";
+    downloadPage = "https://wire.com/download/";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ arianvp toonn worldofpeace ];
-    platforms = [ "x86_64-darwin" "x86_64-linux" ];
+    maintainers = with maintainers; [
+      arianvp
+      kiwi
+      toonn
+      worldofpeace
+    ];
+    platforms = [
+      "x86_64-darwin"
+      "x86_64-linux"
+    ];
   };
 
   linux = stdenv.mkDerivation rec {
@@ -52,54 +62,55 @@ let
 
     src = fetchurl {
       url = "https://wire-app.wire.com/linux/debian/pool/main/"
-        + "Wire-${version}_amd64.deb";
+      + "Wire-${version}_amd64.deb";
       inherit sha256;
     };
 
     desktopItem = makeDesktopItem {
-      name = "wire-desktop";
-      exec = "wire-desktop %U";
-      icon = "wire-desktop";
+      categories = "Network;InstantMessaging;Chat;VideoConference";
       comment = "Secure messenger for everyone";
       desktopName = "Wire Desktop";
+      exec = "wire-desktop %U";
       genericName = "Secure messenger";
-      categories = "Network;InstantMessaging;Chat;VideoConference";
+      icon = "wire-desktop";
+      name = "wire-desktop";
     };
 
     dontBuild = true;
-    dontPatchELF = true;
     dontConfigure = true;
+    dontPatchELF = true;
+    dontWrapGApps = true;
 
-    nativeBuildInputs = [ dpkg ];
-    rpath = stdenv.lib.makeLibraryPath [
-      alsaLib at-spi2-atk atk cairo cups dbus expat fontconfig freetype
-      gdk-pixbuf glib gtk3 hunspell libX11 libXScrnSaver libXcomposite
-      libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
-      libXtst libnotify libuuid nspr nss pango pciutils pulseaudio
-      stdenv.cc.cc udev xdg_utils xorg.libxcb
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+      makeWrapper
+      wrapGAppsHook
     ];
 
+    buildInputs = atomEnv.packages;
+
     unpackPhase = "dpkg-deb -x $src .";
 
     installPhase = ''
-      mkdir -p "$out"
+      mkdir -p "$out/bin"
       cp -R "opt" "$out"
       cp -R "usr/share" "$out/share"
       chmod -R g-w "$out"
 
-      # Patch wire-desktop
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${rpath}:$out/opt/Wire" \
-        "$out/opt/Wire/wire-desktop"
-
-      # Symlink to bin
-      mkdir -p "$out/bin"
-      ln -s "$out/opt/Wire/wire-desktop" "$out/bin/wire-desktop"
-
       # Desktop file
       mkdir -p "$out/share/applications"
       cp "${desktopItem}/share/applications/"* "$out/share/applications"
     '';
+
+    runtimeDependencies = [
+      udev.lib
+    ];
+
+    postFixup = ''
+      makeWrapper $out/opt/Wire/wire-desktop $out/bin/wire-desktop \
+        "''${gappsWrapperArgs[@]}"
+    '';
   };
 
   darwin = stdenv.mkDerivation {
@@ -107,18 +118,20 @@ let
 
     src = fetchurl {
       url = "https://github.com/wireapp/wire-desktop/releases/download/"
-        + "macos%2F${version}/Wire.pkg";
+      + "macos%2F${version}/Wire.pkg";
       inherit sha256;
     };
 
-    buildInputs = [ cpio xar ];
+    buildInputs = [
+      cpio
+      xar
+    ];
 
     unpackPhase = ''
       xar -xf $src
       cd com.wearezeta.zclient.mac.pkg
     '';
 
-
     buildPhase = ''
       cat Payload | gunzip -dc | cpio -i
     '';
@@ -129,6 +142,7 @@ let
     '';
   };
 
-in if stdenv.isDarwin
-  then darwin
-  else linux
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 47437df25e7..431c9326aac 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/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 = "3.0.317369.1110";
+  version = "3.5.330166.1202";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
-      sha256 = "0r4wp9qb1739xwr24kglc4sj8qaxwr4nh5p1igi3x6f1f8gczia7";
+      sha256 = "1fjirl4hmxvy4kp3b0n97mn8sz355ik10297qx6hcr0fhn2v0nig";
     };
   };
 
diff --git a/pkgs/applications/networking/mailreaders/balsa/default.nix b/pkgs/applications/networking/mailreaders/balsa/default.nix
index ff659959876..e7c9d50cb9b 100644
--- a/pkgs/applications/networking/mailreaders/balsa/default.nix
+++ b/pkgs/applications/networking/mailreaders/balsa/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "balsa";
-  version = "2.5.7";
+  version = "2.5.9";
 
   src = fetchurl {
     url = "https://pawsa.fedorapeople.org/balsa/${pname}-${version}.tar.bz2";
-    sha256 = "0yfqhfpwm1qnwmbpr6dfn2f5w8a8xxq51pn8ypgg0fw973l1c1nx";
+    sha256 = "19gs1qfvbk9qx4rjmgrmvid00kl9k153zjjx8zjii2lz09w7g19i";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index 9fcf72ce4bc..e89a36eade0 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -1,7 +1,7 @@
 { config, fetchurl, stdenv, wrapGAppsHook, autoreconfHook
 , curl, dbus, dbus-glib, enchant, gtk2, gnutls, gnupg, gpgme
 , libarchive, libcanberra-gtk2, libetpan, libnotify, libsoup, libxml2, networkmanager
-, openldap, perl, pkgconfig, poppler, python, shared-mime-info, webkitgtk24x-gtk2
+, openldap, perl, pkgconfig, poppler, python, shared-mime-info
 , glib-networking, gsettings-desktop-schemas, libSM, libytnef, libical
 # Build options
 # TODO: A flag to build the manual.
@@ -13,7 +13,6 @@
 , enableNetworkManager ? config.networking.networkmanager.enable or false
 , enablePgp ? true
 , enablePluginArchive ? false
-, enablePluginFancy ? false
 , enablePluginNotificationDialogs ? true
 , enablePluginNotificationSounds ? true
 , enablePluginPdf ? false
@@ -64,12 +63,10 @@ stdenv.mkDerivation rec {
     ++ optional enablePluginArchive libarchive
     ++ optional enablePluginNotificationSounds libcanberra-gtk2
     ++ optional enablePluginNotificationDialogs libnotify
-    ++ optional enablePluginFancy libsoup
     ++ optional enablePluginRssyl libxml2
     ++ optional enableNetworkManager networkmanager
     ++ optional enableLdap openldap
     ++ optional enablePluginPdf poppler
-    ++ optional enablePluginFancy webkitgtk24x-gtk2
     ++ optional enablePluginVcalendar libical;
 
   configureFlags =
@@ -81,7 +78,6 @@ stdenv.mkDerivation rec {
       "--disable-pgpmime-plugin"
     ]
     ++ optional (!enablePluginArchive) "--disable-archive-plugin"
-    ++ optional (!enablePluginFancy) "--disable-fancy-plugin"
     ++ optional (!enablePluginPdf) "--disable-pdf_viewer-plugin"
     ++ optional (!enablePluginPython) "--disable-python-plugin"
     ++ optional (!enablePluginRavatar) "--disable-libravatar-plugin"
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index 9f05020f2c3..38e4bf5d710 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imapfilter";
-  version = "2.6.14";
+  version = "2.6.16";
 
   src = fetchFromGitHub {
     owner = "lefcha";
     repo = "imapfilter";
     rev = "v${version}";
-    sha256 = "09aq9gw1vz0zl6k4fb4zdm6cpjhddsl13asfjx3qy21pbw0azmj6";
+    sha256 = "0f65sg6hhv6778fxwsz4hvarbm97dsb8jj0mg7a9qs273r35pqck";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     description = "Mail filtering utility";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 3af4c7f5e15..bc4bb49981e 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "1.12.2";
+  version = "1.13.0";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "10k8352s0z7yan6d4z2am80qd3bsaky4h89g72wl4xr3x067ahmw";
+    sha256 = "1dzmypmcyqsxcb0qwz1b2v3nhvd83jcqlnn3acvgaiag10hxq3d0";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 4305294297a..274d9d4718e 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20191111";
+  version = "20191207";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "16xr7wdmjw0i72xbnyyh098wx4cr0m8w2cr1szdi1b14p4kpgr67";
+    sha256 = "147yjpqnsbfy01fhsflxlixk0985r91a6bjmqq3cwmf7gka3sihm";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index ad98cd660d9..f46e355cd57 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -34,7 +34,7 @@
 , libgnome
 , libgnomeui
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -116,7 +116,7 @@ stdenv.mkDerivation {
       libcanberra-gtk2
       libgnome
       libgnomeui
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
@@ -185,7 +185,7 @@ stdenv.mkDerivation {
       free = false;
       url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
     };
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index a4edc76caca..78ed553ccd8 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, pkgconfig, gtk2, pango, perl, python2, python3, nodejs
 , libIDL, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
 , freetype, fontconfig, file, nspr, nss, libnotify
-, yasm, libGLU_combined, sqlite, zip, unzip
+, yasm, libGLU, libGL, sqlite, zip, unzip
 , libevent, libstartup_notification
 , icu, libpng, jemalloc
 , autoconf213, which, m4, fetchpatch
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
     [ gtk2 zip libIDL libjpeg zlib bzip2
       dbus dbus-glib pango freetype fontconfig xorg.libXi
       xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
-      nspr nss libnotify xorg.pixman yasm libGLU_combined
+      nspr nss libnotify xorg.pixman yasm libGLU libGL
       xorg.libXScrnSaver xorg.xorgproto
       xorg.libXext sqlite unzip
       libevent libstartup_notification /* cairo */
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index 3f90f65476e..f50d9516167 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -7,7 +7,7 @@
 
 assert spellChecking -> gtkspell3 != null;
 
-let version = "0.145"; in
+let version = "0.146"; in
 
 stdenv.mkDerivation {
   pname = "pan";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
-    sha256 = "1b4wamv33hprghcjk903bpvnd233yxyrm18qnh13alc8h1553nk8";
+    sha256 = "17agd27sn4a7nahvkpg0w39kv74njgdrrygs74bbvpaj8rk2hb55";
   };
 
   nativeBuildInputs = [ pkgconfig gettext intltool itstool libxml2 makeWrapper ];
diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix
index 6274c1c345d..d54e8eca78e 100644
--- a/pkgs/applications/networking/newsreaders/quiterss/default.nix
+++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quiterss";
-  version = "0.19.1";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "QuiteRSS";
     repo = "quiterss";
     rev = version;
-    sha256 = "0zr17r33g99ylvb1avcbixg2jiwisaks4x91lywv2dy3g6dkpxml";
+    sha256 = "1dmfag5hmy4jac20nizwgd92w8h2hdl2ch57hvw5hmjyfckn9rpj";
   };
 
   nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
index 55bdced74b5..68babaddd1b 100644
--- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
+++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, autoconf, automake, libtool, wrapGAppsHook, fetchFromGitHub, pkgconfig
-, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib }:
+, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib, fetchpatch }:
 
 
 stdenv.mkDerivation rec {
@@ -13,6 +13,13 @@ stdenv.mkDerivation rec {
     sha256 = "1pipc1f94jdppv597mqmcj2kw2rdvaqcbl512v7z8vir76p1a7gk";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/transmission-remote-gtk/transmission-remote-gtk/commit/0f5cc8a9942e220ea0f7d0b17db4a78d094e3b65.patch";
+      sha256 = "195rsjpbc0gzmr9bycvq4mra7abp3hd9by3a5vvcmxsh5ipikycf";
+    })
+  ];
+
   preConfigure = "./autogen.sh";
 
   nativeBuildInputs= [
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index 65abcf35a35..683507f8b19 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -1,48 +1,51 @@
-{ stdenv, fetchurl, pythonPackages, makeWrapper, imagemagick
-, enablePlayer ? true, vlc ? null, qt5 }:
+{ stdenv, fetchurl, pkgs, python3Packages, makeWrapper
+, enablePlayer ? true, vlc ? null, qt5, lib }:
 
 stdenv.mkDerivation rec {
   pname = "tribler";
-  version = "7.1.2";
+  version = "7.4.0-exp1";
 
   src = fetchurl {
-    url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.gz";
-    sha256 = "1ayzqx4358qlx56hsnsn5s8xl6mzdb6nw4kwsalmp86dw6vmmis8";
+    url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
+    sha256 = "18ziisg0v2gdxnprbhqsryz92yk270waj0la7m2h326k5qql3qkf";
   };
 
-  buildInputs = [
-    pythonPackages.python
-    pythonPackages.wrapPython
+  nativeBuildInputs = [
+    python3Packages.wrapPython
     makeWrapper
-    imagemagick
+  ];
+
+  buildInputs = [
+    python3Packages.python
   ];
 
   pythonPath = [
-    pythonPackages.libtorrentRasterbar
-    pythonPackages.apsw
-    pythonPackages.twisted
-    pythonPackages.netifaces
-    pythonPackages.pycrypto
-    pythonPackages.pyasn1
-    pythonPackages.requests
-    pythonPackages.setuptools
-    pythonPackages.m2crypto
-    pythonPackages.pyqt5
-    pythonPackages.chardet
-    pythonPackages.cherrypy
-    pythonPackages.cryptography
-    pythonPackages.libnacl
-    pythonPackages.configobj
-    pythonPackages.matplotlib
-    pythonPackages.plyvel
-    pythonPackages.decorator
-    pythonPackages.feedparser
-    pythonPackages.service-identity
-    pythonPackages.psutil
-    pythonPackages.meliae
-    pythonPackages.sip
-    pythonPackages.pillow
-    pythonPackages.networkx
+    python3Packages.libtorrentRasterbar
+    python3Packages.twisted
+    python3Packages.netifaces
+    python3Packages.pycrypto
+    python3Packages.pyasn1
+    python3Packages.requests
+    python3Packages.m2crypto
+    python3Packages.pyqt5
+    python3Packages.chardet
+    python3Packages.cherrypy
+    python3Packages.cryptography
+    python3Packages.libnacl
+    python3Packages.configobj
+    python3Packages.decorator
+    python3Packages.feedparser
+    python3Packages.service-identity
+    python3Packages.psutil
+    python3Packages.pillow
+    python3Packages.networkx
+    python3Packages.pony
+    python3Packages.lz4
+    python3Packages.pyqtgraph
+
+    # there is a BTC feature, but it requires some unclear version of
+    # bitcoinlib, so this doesn't work right now.
+    # python3Packages.bitcoinlib
   ];
 
   postPatch = ''
@@ -54,12 +57,11 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    find . -name '*.png' -exec convert -strip {} {} \;
     mkdir -pv $out
     # Nasty hack; call wrapPythonPrograms to set program_PYTHONPATH.
     wrapPythonPrograms
     cp -prvd ./* $out/
-    makeWrapper ${pythonPackages.python}/bin/python $out/bin/tribler \
+    makeWrapper ${python3Packages.python}/bin/python $out/bin/tribler \
         --set QT_QPA_PLATFORM_PLUGIN_PATH ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms \
         --set _TRIBLERPATH $out \
         --set PYTHONPATH $out:$program_PYTHONPATH \
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index e9dd022c313..03a2ef9551b 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, makeDesktopItem
-, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU_combined, pango, xorg
+, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU, libGL, pango, xorg
 , lsb-release, freetype, fontconfig, pangox_compat, polkit, polkit_gnome
 , pulseaudio }:
 
 let
   sha256 = {
-    x86_64-linux = "1zdbgbbdavaqx4y02sw9y7i1r9wkxqccrqkn0sp5847a26cpk9k9";
-    i386-linux   = "11qwyxvy3c3n7hvksmlsfl9vvqaqkv3kwbk5rgjyy7vy8vn4kjmk";
+    x86_64-linux = "0dcg9znjxpnysypznnnq4xbaciiqz8l4p1hrbis3pazwi7bakizs";
+    i386-linux   = "04bvsvqjkayac17y9jcpdcfm3hzm2kq1brd9vwnx34gg07x9mn7g";
   }.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
 
   arch = {
@@ -28,7 +28,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "anydesk";
-  version = "5.4.1";
+  version = "5.5.0";
 
   src = fetchurl {
     url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     atk cairo gdk-pixbuf glib gtk2 stdenv.cc.cc pango
-    gnome2.gtkglext libGLU_combined freetype fontconfig
+    gnome2.gtkglext libGLU libGL freetype fontconfig
     pangox_compat polkit polkit_gnome pulseaudio
   ] ++ (with xorg; [
     libxcb libxkbfile libX11 libXdamage libXext libXfixes libXi libXmu
diff --git a/pkgs/applications/networking/remote/citrix-workspace/default.nix b/pkgs/applications/networking/remote/citrix-workspace/default.nix
index 26e8cf59a9e..dc6f85f2130 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/default.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/default.nix
@@ -9,6 +9,7 @@
 , makeDesktopItem
 , tzdata
 , cacert
+, dconf
 , glib
 , gtk2
 , atk
@@ -137,7 +138,7 @@ let
         gdk-pixbuf
         cairo
         pango
-        gnome3.dconf
+        dconf
         xorg.libX11
         xorg.libXext
         xorg.libXrender
diff --git a/pkgs/applications/networking/ssb/patchwork/default.nix b/pkgs/applications/networking/ssb/patchwork/default.nix
index 349c4f5e799..04ab1d1c98d 100644
--- a/pkgs/applications/networking/ssb/patchwork/default.nix
+++ b/pkgs/applications/networking/ssb/patchwork/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ssb-patchwork";
-  version = "3.16.2";
-  name = "${pname}-${version}";
+  version = "3.17.1";
+  name = "Patchwork-${version}";
 
   src = fetchurl {
-    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
-    sha256 = "0hi9ysmwhiiww82a3mqdd2b1anj7qa41b46f6zb3q9d0b8nmvlz4";
+    url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage";
+    sha256 = "06wcgdcagmh80nr8nyrnz83wgq7j8r96hn3ccka7nmn02pdgvp3k";
   };
 
   binary = appimageTools.wrapType2 {
diff --git a/pkgs/applications/networking/syncthing/add-stcli-target.patch b/pkgs/applications/networking/syncthing/add-stcli-target.patch
index 58ac15253ae..07b5e334b2c 100644
--- a/pkgs/applications/networking/syncthing/add-stcli-target.patch
+++ b/pkgs/applications/networking/syncthing/add-stcli-target.patch
@@ -1,17 +1,17 @@
-diff --git i/build.go w/build.go
-index 7d400d6f..1b5e1d25 100644
---- i/build.go
-+++ w/build.go
-@@ -175,6 +175,12 @@ var targets = map[string]target{
+diff --git a/build.go b/build.go
+index c8a5c1cf..d75a8491 100644
+--- a/build.go
++++ b/build.go
+@@ -202,6 +202,12 @@ var targets = map[string]target{
  			{src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/AUTHORS.txt", perm: 0644},
  		},
  	},
 +	"stcli": {
 +		name:        "stcli",
 +		description: "Syncthing CLI",
-+		buildPkg:    "github.com/syncthing/syncthing/cmd/stcli",
-+		binaryName:  "stcli", // .exe will be added automatically for Windows builds
++		buildPkgs:   []string{"github.com/syncthing/syncthing/cmd/stcli"},
++		binaryName:  "stcli",
 +	},
  }
  
- func init() {
+ // These are repos we need to clone to run "go generate"
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 555550d4d9e..c7663ef4117 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,19 +3,19 @@
 let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
-      version = "1.3.0";
+      version = "1.3.2";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "14k1acap9y1z8sj28gcn72lkfxdzpcqj9d27hk8vzm47zjaxgp8l";
+        sha256 = "029mym3vdfg616gpmhv6p22iy65h8vff2sq6z70l37bjf3zx1cms";
       };
 
       goPackagePath = "github.com/syncthing/syncthing";
 
-      modSha256 = "17np8ym84ql7hwzsqfx2l6yiy9hag7h96q8ysvarlfg9l95g1m64";
+      modSha256 = "06anhfi9mswmwhhjyz8mla6h8v83cc7slfr752fvgfaxra1fwgx8";
 
       patches = [
         ./add-stcli-target.patch
diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix
index d839f4c81f2..be6fe172e29 100644
--- a/pkgs/applications/office/bookworm/default.nix
+++ b/pkgs/applications/office/bookworm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk
+{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee
 , gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     pantheon.elementary-icon-theme
     pantheon.granite
     glib
-    gnome3.libgee
+    libgee
     gtk3
     html2text
     poppler
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 51ef4eb9d24..395ca901d95 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip, gettext
+{ stdenv, fetchurl, fetchpatch, pam, python3, libxslt, perl, ArchiveZip, gettext
 , IOCompress, zlib, libjpeg, expat, freetype, libwpd
 , libxml2, db, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
 , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, libmysqlclient
+, librsvg, gnome_vfs, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@@ -13,7 +13,7 @@
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , gnome3, glib, ncurses, epoxy, gpgme
-, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ]
+, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ru" "sl" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false
 }:
@@ -73,6 +73,19 @@ in stdenv.mkDerivation rec {
 
   patches = [
     ./xdg-open-brief.patch
+
+    # Poppler-0.82 compatibility
+    # https://gerrit.libreoffice.org/81545
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/2eadd46ab81058087af95bdfc1fea28fcdb65998.patch";
+      sha256 = "1mpipdfxvixjziizbhfbpybpzlg1ijw7s0yqjpmq5d7pf3pvkm4n";
+    })
+    # Poppler-0.83 compatibility
+    # https://gerrit.libreoffice.org/84384
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/9065cd8d9a19864f6b618f2dc10daf577badd9ee.patch";
+      sha256 = "0nd0gck8ra3ffw936a7ri0s6a0ii5cyglnhip2prcjh5yf7vw2i2";
+    })
   ];
 
   tarballPath = "external/tarballs";
@@ -365,7 +378,7 @@ in stdenv.mkDerivation rec {
       hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
+      libXdmcp libpthreadstubs libGLU libGL mythes gst_all_1.gstreamer
       gst_all_1.gst-plugins-base glib libmysqlclient
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
       python3 sane-backends unzip vigra which zip zlib
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index fc984d39e27..8fb03b437e6 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip, gettext
+{ stdenv, fetchurl, fetchpatch, pam, python3, libxslt, perl, ArchiveZip, gettext
 , IOCompress, zlib, libjpeg, expat, freetype, libwpd
 , libxml2, db, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
 , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, libmysqlclient
+, librsvg, gnome_vfs, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@@ -13,7 +13,7 @@
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , gnome3, glib, ncurses, epoxy, gpgme
-, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ]
+, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ru" "sl" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false
 }:
@@ -73,6 +73,19 @@ in stdenv.mkDerivation rec {
 
   patches = [
     ./xdg-open-brief.patch
+
+    # Poppler-0.82 compatibility
+    # https://gerrit.libreoffice.org/81545
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/2eadd46ab81058087af95bdfc1fea28fcdb65998.patch";
+      sha256 = "1mpipdfxvixjziizbhfbpybpzlg1ijw7s0yqjpmq5d7pf3pvkm4n";
+    })
+    # Poppler-0.83 compatibility
+    # https://gerrit.libreoffice.org/84384
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/9065cd8d9a19864f6b618f2dc10daf577badd9ee.patch";
+      sha256 = "0nd0gck8ra3ffw936a7ri0s6a0ii5cyglnhip2prcjh5yf7vw2i2";
+    })
   ];
 
   tarballPath = "external/tarballs";
@@ -362,7 +375,7 @@ in stdenv.mkDerivation rec {
       hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
+      libXdmcp libpthreadstubs libGLU libGL mythes gst_all_1.gstreamer
       gst_all_1.gst-plugins-base glib libmysqlclient
       neon nspr nss openldap openssl ORBit2 pam perl poppler
       python3 sane-backends unzip vigra which zip zlib
diff --git a/pkgs/applications/office/minetime/default.nix b/pkgs/applications/office/minetime/default.nix
index 85e8bc131ce..42802409e59 100644
--- a/pkgs/applications/office/minetime/default.nix
+++ b/pkgs/applications/office/minetime/default.nix
@@ -1,15 +1,32 @@
-{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+{ appimageTools, fetchurl, lib, runCommandNoCC, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
 
 let
-  pname = "minetime";
-  version = "1.5.1";
-in
-appimageTools.wrapType2 rec {
   name = "${pname}-${version}";
-  src = fetchurl {
-    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}-x86_64.AppImage";
-    sha256 = "0099cq4p7j01bzs7q79y9xi7g6ji17v9g7cykfjggwsgqfmvd0hz";
+  pname = "minetime";
+  version = "1.7.3";
+  appimage = fetchurl {
+    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}.AppImage";
+    sha256 = "0zz6p3mwxg9gm1sqzs582pq2nkb10lv0c3r542b9llqyzk9qv5aa";
+  };
+  extracted = appimageTools.extractType2 {
+    inherit name;
+    src = appimage;
   };
+  patched = runCommandNoCC "minetime-patchelf" {} ''
+    cp -av ${extracted} $out
+
+    x=$out/resources/app.asar.unpacked/services/scheduling/dist/MinetimeSchedulingService
+    chmod +w $x
+
+    patchelf \
+      --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
+      --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
+      $x
+  '';
+in
+appimageTools.wrapAppImage rec {
+  inherit name;
+  src = patched;
 
   profile = ''
     export LC_ALL=C.UTF-8
@@ -17,7 +34,9 @@ appimageTools.wrapType2 rec {
   '';
 
   multiPkgs = null; # no 32bit needed
-  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraPkgs = ps:
+    appimageTools.defaultFhsEnvArgs.multiPkgs ps
+    ++ (with ps; [ at-spi2-core at-spi2-atk libsecret libnotify ]);
   extraInstallCommands = "mv $out/bin/{${name},${pname}}";
 
   meta = with lib; {
diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix
index 99824cd19ec..ed33d121a05 100644
--- a/pkgs/applications/office/mmex/default.nix
+++ b/pkgs/applications/office/mmex/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, sqlite, wxGTK30, gettext }:
+{ stdenv, fetchgit, sqlite, wxGTK30, gettext, wrapGAppsHook }:
 
 
 let
@@ -14,7 +14,16 @@ in
       sha256 = "0r4n93z3scv0i0zqflsxwv7j4yl8jy3gr0m4l30y1q8qv0zj9n74";
     };
 
-    buildInputs = [ sqlite wxGTK30 gettext ];
+    nativeBuildInputs = [
+      wrapGAppsHook
+    ];
+
+    buildInputs = [
+      gettext
+      sqlite
+      wxGTK30
+      wxGTK30.gtk
+    ];
 
     meta = {
       description = "Easy-to-use personal finance software";
diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix
index 3c5ae4c4b0a..2a602b094ba 100644
--- a/pkgs/applications/office/scribus/unstable.nix
+++ b/pkgs/applications/office/scribus/unstable.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman,
+{ stdenv, fetchurl, fetchpatch, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman,
 boost, cups, fontconfig, freetype, hunspell, libjpeg, libtiff, libxml2, lcms2,
 podofo, poppler, poppler_data, python2, qtimageformats, qttools, harfbuzzFull }:
 
@@ -14,6 +14,19 @@ mkDerivation rec {
     sha256 = "eQiyGmzoQyafWM7fX495GJMlfmIBzOX73ccNrKL+P3E=";
   };
 
+  patches = [
+    # fix build with Poppler 0.82
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
+      sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
+    })
+    # fix build with Poppler 0.83
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
+      sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
+    })
+  ];
+
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig cmake  ];
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index 1f21ec60ae2..6ece55182ab 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -1,23 +1,22 @@
 { stdenv, fetchurl
 , libX11, glib, xorg, fontconfig, freetype
-, zlib, libpng12, libICE, libXrender, cups }:
+, zlib, libpng12, libICE, libXrender, cups
+, alsaLib, atk, cairo, dbus, expat
+, gdk-pixbuf, gtk2-x11, lzma, pango, zotero
+, sqlite, libuuid, qt5, dpkg }:
 
-let
-  bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64"
-         else "x86";
-
-  version = "10.1.0.5672";
-in stdenv.mkDerivation rec{
+stdenv.mkDerivation rec{
   pname = "wpsoffice";
-  inherit version;
+  version = "11.1.0.8865";
 
   src = fetchurl {
-    name = "${pname}-${version}.tar.xz";
-    url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz";
-    sha256 = if bits == "x86_64" then
-      "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else
-      "1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97";
+    url = "https://wdl1.cache.wps.cn/wps/download/ep/Linux2019/8865/wps-office_11.1.0.8865_amd64.deb";
+    sha256 = "0pxx3j02cm8d08iakg30azjvl3a50y4avyrf08ddgaavqnvkypfj";
   };
+  unpackCmd = "dpkg -x $src .";
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ qt5.wrapQtAppsHook dpkg ];
 
   meta = {
     description = "Office program originally named Kingsoft Office";
@@ -25,20 +24,44 @@ in stdenv.mkDerivation rec{
     platforms = [ "i686-linux" "x86_64-linux" ];
     hydraPlatforms = [];
     license = stdenv.lib.licenses.unfreeRedistributable;
+    maintainers = [ stdenv.lib.maintainers.mlatus ];
   };
 
-  libPath = stdenv.lib.makeLibraryPath [
+  libPath = with xorg; stdenv.lib.makeLibraryPath [
     libX11
     libpng12
     glib
-    xorg.libSM
-    xorg.libXext
+    libSM
+    libXext
     fontconfig
     zlib
     freetype
     libICE
     cups
     libXrender
+    libxcb
+
+    alsaLib
+    atk
+    cairo
+    dbus.daemon.lib
+    expat
+    fontconfig.lib
+    gdk-pixbuf
+    gtk2-x11
+    lzma
+    pango
+    zotero
+    sqlite
+    libuuid
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXfixes
+    libXi
+    libXrandr
+    libXScrnSaver
+    libXtst
   ];
 
   dontPatchELF = true;
@@ -49,32 +72,27 @@ in stdenv.mkDerivation rec{
 
   installPhase = ''
     prefix=$out/opt/kingsoft/wps-office
-    mkdir -p $prefix
-    cp -r . $prefix
+    mkdir -p $out
+    cp -r opt $out
+    cp -r usr/* $out
 
     # Avoid forbidden reference error due use of patchelf
-    rm -r $PWD
+    rm -r *
 
-    mkdir $out/bin
-    for i in wps wpp et; do
+    for i in wps wpp et wpspdf; do
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --force-rpath --set-rpath "$prefix/office6:$libPath" \
+        --force-rpath --set-rpath "$(patchelf --print-rpath $prefix/office6/$i):${stdenv.cc.cc.lib}/lib64:${libPath}" \
         $prefix/office6/$i
 
-      substitute $prefix/$i $out/bin/$i \
+      substituteInPlace $out/bin/$i \
         --replace /opt/kingsoft/wps-office $prefix
-      chmod +x $out/bin/$i
-
-      substituteInPlace $prefix/resource/applications/wps-office-$i.desktop \
-        --replace /usr/bin $out/bin
     done
 
-    # China fonts
-    mkdir -p $prefix/resource/fonts/wps-office $out/etc/fonts/conf.d
-    ln -s $prefix/fonts/* $prefix/resource/fonts/wps-office
-    ln -s $prefix/fontconfig/*.conf $out/etc/fonts/conf.d
-
-    ln -s $prefix/resource $out/share
+    for i in $out/share/applications/*;do
+      substituteInPlace $i \
+        --replace /usr/bin $out/bin \
+        --replace /opt/kingsoft/wps-office $prefix
+    done
   '';
 }
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 34dace1cadb..a84d9c1b169 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -5,6 +5,7 @@
 , cups
 , dbus-glib
 , dbus
+, dconf
 , fontconfig
 , freetype
 , gdk-pixbuf
@@ -25,7 +26,7 @@
 , libXt
 , libnotify
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
     sha256 = "1dgxzprpb8f5wpmvlvkxix0xxckfgjsi3wfcy9mb221a17cv0029";
   };
 
-  buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
+  buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme dconf ];
 
   phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
 
@@ -75,7 +76,7 @@ stdenv.mkDerivation rec {
       libXrender
       libXt
       libnotify
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
diff --git a/pkgs/applications/radio/dump1090/default.nix b/pkgs/applications/radio/dump1090/default.nix
index 41ddb671a36..0a92bea44e8 100644
--- a/pkgs/applications/radio/dump1090/default.nix
+++ b/pkgs/applications/radio/dump1090/default.nix
@@ -1,21 +1,31 @@
-{ stdenv, fetchFromGitHub, pkgconfig, libusb, rtl-sdr }:
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, libbladeRF
+, libusb
+, ncurses
+, rtl-sdr
+}:
 
 stdenv.mkDerivation rec {
   pname = "dump1090";
-  version = "2014-10-31";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
-    owner = "MalcolmRobb";
+    owner = "flightaware";
     repo = pname;
-    rev = "bff92c4ad772a0a8d433f788d39dae97e00e4dbe";
-    sha256 = "06aaj9gpz5v4qzvnp8xf18wdfclp0jvn3hflls79ly46gz2dh9hy";
+    rev = "v${version}";
+    sha256 = "0vlv9bd805kid202xxkrnl51rh02cyrl055gbcqlqgk51j5rrq8w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ libusb rtl-sdr ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
+  buildInputs = [
+    libbladeRF
+    libusb
+    ncurses
+    rtl-sdr
+  ];
 
   installPhase = ''
     mkdir -p $out/bin $out/share
@@ -25,8 +35,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A simple Mode S decoder for RTLSDR devices";
-    homepage = https://github.com/MalcolmRobb/dump1090;
-    license = licenses.bsd3;
+    homepage = "https://github.com/flightaware/dump1090";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ earldouglas ];
   };
diff --git a/pkgs/applications/radio/tlf/default.nix b/pkgs/applications/radio/tlf/default.nix
index f45e695486d..530008702f1 100644
--- a/pkgs/applications/radio/tlf/default.nix
+++ b/pkgs/applications/radio/tlf/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tlf";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0gniysjm8aq5anq0a0az31vd6h1vyg56bifc7rpf53lsh9hkzmgc";
+    sha256 = "0f97hxiwc6blp5haik871q6zzvwy0b3p2jg8ad2dvaxg07xc76l0";
   };
 
   nativeBuildInputs = [ autoreconfHook autoconf automake pkgconfig perl ];
diff --git a/pkgs/applications/radio/urh/default.nix b/pkgs/applications/radio/urh/default.nix
index d4056dca7bf..eea9bb9027c 100644
--- a/pkgs/applications/radio/urh/default.nix
+++ b/pkgs/applications/radio/urh/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c87lff9bqhf574420ycqz88x6ad5hmy36wrb8pi0dqd1s1d72qb";
+    sha256 = "0vwc1jw1fjirdpavrnvc95bql8023ayrz9srbwn0p6n0ia038948";
   };
 
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
diff --git a/pkgs/applications/radio/welle-io/default.nix b/pkgs/applications/radio/welle-io/default.nix
index 229200f2352..66a033fef25 100644
--- a/pkgs/applications/radio/welle-io/default.nix
+++ b/pkgs/applications/radio/welle-io/default.nix
@@ -3,7 +3,7 @@
 , faad2, rtl-sdr, soapysdr-with-plugins, libusb, fftwSinglePrec, lame, mpg123 }:
 let
 
-  version = "2.0";
+  version = "2.1";
 
 in mkDerivation {
 
@@ -14,7 +14,7 @@ in mkDerivation {
     owner = "AlbrechtL";
     repo = "welle.io";
     rev = "v${version}";
-    sha256 = "0cp8dyswgwidabaj9bvkkc6hl3160096j6myckd5bw00zxnbfiqn";
+    sha256 = "1j63gdbd66d6rfjsxwdm2agrcww1rs4438kg7313h6zixpcc1icj";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix
index e3ceffd34c1..e72354c8658 100644
--- a/pkgs/applications/science/astronomy/celestia/default.nix
+++ b/pkgs/applications/science/astronomy/celestia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, freeglut, gtk2, gtkglext, libjpeg_turbo, libtheora, libXmu
-, lua, libGLU_combined, pkgconfig, perl, autoreconfHook
+, lua, libGLU, libGL, pkgconfig, perl, autoreconfHook
 }:
 
 let
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU_combined lua
+  buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU libGL lua
     perl autoreconfHook ];
 
   patchPhase = ''
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix
index 9584c2f41a8..4bb3c7b34fe 100644
--- a/pkgs/applications/science/astronomy/gildas/default.nix
+++ b/pkgs/applications/science/astronomy/gildas/default.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  srcVersion = "oct19a";
-  version = "20191001_a";
+  srcVersion = "dec19a";
+  version = "20191201_a";
   pname = "gildas";
 
   src = fetchurl {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     # source code of the previous release to a different directory
     urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz"
       "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ];
-    sha256 = "0h6g16ra7v8x15j21z5hnb3midwm0asc7bjm9gs5v5sw66vn3wc1";
+    sha256 = "0kwq5gzgzx5hkbabwvbrw2958pqz4m2s501k5cbllgxh4sqp86b1";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index 03d0018f237..15f72938eff 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU_combined, libpng, lua5, autoconf, automake }:
+{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU, libGL, libpng, lua5, autoconf, automake }:
 
 stdenv.mkDerivation rec {
   name = "gravit-0.5.1";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "14vf7zj2bgrl96wsl3f1knsggc8h9624354ajzd72l46y09x5ky7";
   };
 
-  buildInputs = [ libGLU_combined SDL SDL_ttf SDL_image lua5 libpng libSM libICE ];
+  buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image lua5 libpng libSM libICE ];
 
   nativeBuildInputs = [ autoconf automake ];
 
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 59c6a02d349..1c193c37cb3 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, fetchFromGitHub
-, cmake, freetype, libpng, libGLU_combined, openssl, perl, libiconv
+, cmake, freetype, libpng, libGLU, libGL, openssl, perl, libiconv
 , qtscript, qtserialport, qttools
 , qtmultimedia, qtlocation, qtbase, wrapQtAppsHook
 }:
@@ -18,7 +18,7 @@ mkDerivation rec {
   nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
 
   buildInputs = [
-    freetype libpng libGLU_combined openssl libiconv qtscript qtserialport qttools
+    freetype libpng libGLU libGL openssl libiconv qtscript qtserialport qttools
     qtmultimedia qtlocation qtbase
   ];
 
diff --git a/pkgs/applications/science/biology/bftools/default.nix b/pkgs/applications/science/biology/bftools/default.nix
index 15829104934..29e8bca5262 100644
--- a/pkgs/applications/science/biology/bftools/default.nix
+++ b/pkgs/applications/science/biology/bftools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bftools";
-  version = "5.9.2";
+  version = "6.3.0";
 
   src = fetchzip {
     url = "http://downloads.openmicroscopy.org/bio-formats/${version}/artifacts/bftools.zip";
-    sha256 = "08lmbg3kfxh17q6548il0i2h3f9a6ch8r0r067p14dajhzfpjyqj";
+    sha256 = "02nvvmpfglpah1ihd08aw65g1794w588c988cdar1hfl4s80qwhb";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/science/biology/hmmer/default.nix b/pkgs/applications/science/biology/hmmer/default.nix
index 3adbaf0079e..69ecb228697 100644
--- a/pkgs/applications/science/biology/hmmer/default.nix
+++ b/pkgs/applications/science/biology/hmmer/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.1";
+  version = "3.3";
   pname = "hmmer";
 
   src = fetchurl {
     url = "http://eddylab.org/software/hmmer/${pname}-${version}.tar.gz";
-    sha256 = "171bivy6xhgjsz5nv53n81pc3frnwz29ylblawk2bv46szwjjqd5";
+    sha256 = "0v3kcgkr6jihq0xmpgn2xd5q7wiwvj6yswa905k2c0v7mx0bz1h1";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix
index de93ae5d782..1a6555e0d63 100644
--- a/pkgs/applications/science/biology/kallisto/default.nix
+++ b/pkgs/applications/science/biology/kallisto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kallisto";
-  version = "0.46.0";
+  version = "0.46.1";
 
   src = fetchFromGitHub {
     repo = "kallisto";
     owner = "pachterlab";
     rev = "v${version}";
-    sha256 = "09vgdqwpigl4x3sdw5vjfyknsllkli339mh8xapbf7ldm0jldfn9";
+    sha256 = "09ldgy70wziw51ma4a3b7vyrphzf2v1cnq1j5r1wwgfmx8fgbh2z";
   };
 
   nativeBuildInputs = [ autoconf cmake ];
diff --git a/pkgs/applications/science/biology/paml/default.nix b/pkgs/applications/science/biology/paml/default.nix
index fe6919656d9..731e31c588f 100644
--- a/pkgs/applications/science/biology/paml/default.nix
+++ b/pkgs/applications/science/biology/paml/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  version = "4.9i";
+  version = "4.9j";
   pname = "paml";
   src = fetchurl {
     url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tgz";
-    sha256 = "1k5lcyls6c33ppp5fxl8ply2fy7i2k0gcqaifsl7gnc81d8ay4dw";
+    sha256 = "0qflf3i27x6jwks3c6q560m1q8r043ja96syah145113iz5wdalp";
   };
 
   preBuild = ''
@@ -29,6 +29,5 @@ stdenv.mkDerivation rec {
     longDescription = ''PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood. It is maintained and distributed for academic use free of charge by Ziheng Yang. ANSI C source codes are distributed for UNIX/Linux/Mac OSX, and executables are provided for MS Windows. PAML is not good for tree making. It may be used to estimate parameters and test hypotheses to study the evolutionary process, when you have reconstructed trees using other programs such as PAUP*, PHYLIP, MOLPHY, PhyML, RaxML, etc.'';
     license     = "non-commercial";
     homepage    = http://abacus.gene.ucl.ac.uk/software/paml.html;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 5a9cb5de528..a67653c8437 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.21.1";
+  version = "2.21.3";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0knfx0by7rml19kr5ynb7860iykij1z1mx2hx0bg3s287sld1ppl";
+    sha256 = "0s1gn2bkya41866kd8zj0g8xjbivs763jqmlzdpjz4c25h6xkhns";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/chemistry/avogadro/default.nix b/pkgs/applications/science/chemistry/avogadro/default.nix
index a569b82ff59..6aca678480d 100644
--- a/pkgs/applications/science/chemistry/avogadro/default.nix
+++ b/pkgs/applications/science/chemistry/avogadro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, libGLU_combined, libX11, doxygen }:
+{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, libGLU, libGL, libX11, doxygen }:
 
 stdenv.mkDerivation rec {
   name = "avogadro-1.1.1";
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "050ag9p4vg7jg8hj1wqfv7lsm6ar2isxjw2vw85s49vsl7g7nvzy";
   };
 
-  buildInputs = [ qt4 eigen zlib openbabel libGLU_combined libX11 ];
+  buildInputs = [ qt4 eigen zlib openbabel libGL libGLU libX11 ];
 
   nativeBuildInputs = [ cmake pkgconfig doxygen ];
 
-  NIX_CFLAGS_COMPILE = "-include ${libGLU_combined}/include/GL/glu.h";
+  NIX_CFLAGS_COMPILE = "-include ${libGLU.dev}/include/GL/glu.h";
 
   patches = [
     (fetchurl {
diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix
index 391ed54dfcb..8b7da71c80f 100644
--- a/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/pkgs/applications/science/chemistry/marvin/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "marvin";
-  version = "19.1.0";
+  version = "19.23.0";
 
   src = fetchurl {
     name = "marvin-${version}.deb";
     url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
-    sha256 = "1ccsimfvms5q4prjyk6sg5hsc3hkcjjfq3gl7jjm8dgd2173zzyc";
+    sha256 = "1m28jki2qan6gdzs544y1v72ybp4vyj66ri5sy44jqi94xg1mb5f";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 64c1c3daba8..9b52e8c5051 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.102";
+  version = "3.3.103";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${pname}-${version}.tar.gz";
-    sha256 = "1izyfx6b1n9nr08c7q0gkgcf0q04bb4qz92ckwh74n5l5nwprfw0";
+    sha256 = "1xzaxqbabj4sb4n10yki5acglx3736pwl3kwlq4k7i96rzvsn9f3";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 5d069c5a219..6b0c998d751 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,4 +1,4 @@
-{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU_combined, zlib
+{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU, libGL, zlib
 , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
 , doxygen, pcre, libpthreadstubs, libXdmcp
 , wrapGAppsHook
@@ -63,7 +63,7 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ pythonPackages.wxPython ];
 
   buildInputs = [
-    libGLU_combined zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs
+    libGLU libGL zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs
     cairo curl openssl boost
     swig (python.withPackages (ps: with ps; [ wxPython ]))
   ] ++ optional (oceSupport) opencascade
diff --git a/pkgs/applications/science/electronics/kicad/unstable.nix b/pkgs/applications/science/electronics/kicad/unstable.nix
index 5310da0699e..df0d9932b8a 100644
--- a/pkgs/applications/science/electronics/kicad/unstable.nix
+++ b/pkgs/applications/science/electronics/kicad/unstable.nix
@@ -1,4 +1,4 @@
-{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib
+{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, zlib
 , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
 , doxygen, pcre, libpthreadstubs, libXdmcp
 
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake doxygen pkgconfig ];
   buildInputs = [
-    libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
+    libGLU libGL zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
     cairo curl openssl boost
   ] ++ optional (oceSupport) opencascade
     ++ optional (ngspiceSupport) libngspice
diff --git a/pkgs/applications/science/electronics/pcb/default.nix b/pkgs/applications/science/electronics/pcb/default.nix
index 7514aed9f24..93d99928d7d 100644
--- a/pkgs/applications/science/electronics/pcb/default.nix
+++ b/pkgs/applications/science/electronics/pcb/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gtk2, bison, intltool, flex
-, netpbm, imagemagick, dbus, xlibsWrapper, libGLU_combined
+, netpbm, imagemagick, dbus, xlibsWrapper, libGLU, libGL
 , shared-mime-info, tcl, tk, gnome2, pangox_compat, gd, xorg
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     gtk2 bison intltool flex netpbm imagemagick dbus xlibsWrapper
-    libGLU_combined tcl shared-mime-info tk
+    libGLU libGL tcl shared-mime-info tk
     gnome2.gtkglext pangox_compat gd xorg.libXmu
   ];
 
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index b59f628dfe9..98deda0ae6b 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.020";
+  version = "4.022";
 
   src = fetchurl {
     url    = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "06n3vds762vza4byrav0j3kp3aivvadndkgw7nirvasclp19zmxb";
+    sha256 = "1sj0qzl387pl2ygii3ssx35c3m601nb07j16lqj5zcxzhcg62i9p";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index bf2d0396f69..e5958f46cbf 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -31,6 +31,7 @@ let
    "8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2";
    "8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
    "8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
+   "8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz";
   }.${version};
   coq-version = stdenv.lib.versions.majorMinor version;
   versionAtLeast = stdenv.lib.versionAtLeast coq-version;
diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix
index 93212c5b854..a479e31e339 100644
--- a/pkgs/applications/science/logic/mcrl2/default.nix
+++ b/pkgs/applications/science/logic/mcrl2/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, libGLU_combined, qt5, boost}:
+{stdenv, fetchurl, cmake, libGLU, libGL, qt5, boost}:
 
 stdenv.mkDerivation rec {
   version = "201707";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1c8h94ja7271ph61zrcgnjgblxppld6v22f7f900prjgzbcfy14m";
   };
 
-  buildInputs = [ cmake libGLU_combined qt5.qtbase boost ];
+  buildInputs = [ cmake libGLU libGL qt5.qtbase boost ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index 8e100716c87..ddefcf1b3aa 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, yosys, bash, python3 }:
+{ stdenv, fetchFromGitHub, yosys, bash, python3, yices }:
 
 stdenv.mkDerivation {
   pname = "symbiyosys";
@@ -13,6 +13,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ python3 yosys ];
 
+  propagatedBuildInputs = [ yices ];
+
   buildPhase = "true";
   installPhase = ''
     mkdir -p $out/bin $out/share/yosys/python3
diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix
index 90b1b367a7c..862761fe6fb 100644
--- a/pkgs/applications/science/math/giac/default.nix
+++ b/pkgs/applications/science/math/giac/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapack
 , gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty
 , readline, gettext, libpng, libao, gfortran, perl
-, enableGUI ? false, libGLU_combined ? null, xorg ? null, fltk ? null
+, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
 }:
 
-assert enableGUI -> libGLU_combined != null && xorg != null && fltk != null;
+assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
 
 stdenv.mkDerivation rec {
   name = "${attr}-${version}";
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     (stdenv.lib.getLib gfortran.cc)
     liblapack
   ] ++ stdenv.lib.optionals enableGUI [
-    libGLU_combined fltk xorg.libX11
+    libGL libGLU fltk xorg.libX11
   ];
 
   /* fixes:
diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix
index 609e73b327a..c11110e4bc4 100644
--- a/pkgs/applications/science/math/glsurf/default.nix
+++ b/pkgs/applications/science/math/glsurf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocamlPackages, libGLU_combined, freeglut
+{ stdenv, fetchurl, ocamlPackages, libGLU, libGL, freeglut
 , libmysqlclient, mpfr, gmp, libtiff, libjpeg, libpng, giflib
 }:
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     sha256 = "0w8xxfnw2snflz8wdr2ca9f5g91w5vbyp1hwlx1v7vg83d4bwqs7";
   };
 
-  buildInputs = [ freeglut libGLU_combined libmysqlclient mpfr gmp
+  buildInputs = [ freeglut libGLU libGL libmysqlclient mpfr gmp
     libtiff libjpeg libpng giflib ]
   ++ (with ocamlPackages; [
     ocaml findlib ocaml_mysql lablgl camlimages_4_0 mlgmpidl
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index 1d96c0039ad..66c41bb073a 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
-, zlib, libGLU_combined, libGLU, xorg, opencascade-occt }:
+, zlib, libGL, libGLU, xorg, opencascade-occt }:
 
 stdenv.mkDerivation rec {
   pname = "gmsh";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1p7hibmsgv961lfkzdxlgcvmcb0q155m2sp60r97cjsfzhw68g45";
   };
 
-  buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU_combined
+  buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL
     libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
     xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
     opencascade-occt
diff --git a/pkgs/applications/science/math/pspp/default.nix b/pkgs/applications/science/math/pspp/default.nix
index c53e87caa9a..3c263916a0e 100644
--- a/pkgs/applications/science/math/pspp/default.nix
+++ b/pkgs/applications/science/math/pspp/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl
-, pkgconfig, gtksourceview, pango, gettext
+, pkgconfig, gtksourceview, pango, gettext, dconf
 , makeWrapper, gsettings-desktop-schemas, hicolor-icon-theme
-, gnome3
 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +25,7 @@ stdenv.mkDerivation rec {
      --prefix XDG_DATA_DIRS : "$out/share" \
      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" \
      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-     --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+     --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/applications/science/math/sage/sage-tests.nix b/pkgs/applications/science/math/sage/sage-tests.nix
index 93ec1e33cf6..451edb8f085 100644
--- a/pkgs/applications/science/math/sage/sage-tests.nix
+++ b/pkgs/applications/science/math/sage/sage-tests.nix
@@ -56,6 +56,6 @@ stdenv.mkDerivation {
     export GLIBC_TUNABLES=glibc.malloc.arena_max=4
 
     echo "Running sage tests with arguments ${timeSpecifier} ${patienceSpecifier} ${testArgs}"
-    "sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs}
+    "sage" -t --timeout=0 --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs}
   '';
 }
diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix
index 53d5ad6ab4c..e135534d1ac 100644
--- a/pkgs/applications/science/medicine/aliza/default.nix
+++ b/pkgs/applications/science/medicine/aliza/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU_combined }:
+{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU, libGL }:
 
 with stdenv.lib;
 stdenv.mkDerivation {
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   '';
 
   postInstall = let
-    libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU_combined ];
+    libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU libGL ];
   in ''
     ${patchelf}/bin/patchelf \
       --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index c806b558da0..38b9b8ec66d 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, stdenv, autoconf, automake, pkgconfig, m4, curl,
-libGLU_combined, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK30, xcbutil,
+libGLU, libGL, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK30, xcbutil,
 sqlite, gtk2, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
 
 let
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ libtool automake autoconf m4 pkgconfig ];
 
   buildInputs = [
-    curl libGLU_combined libXmu libXi freeglut libjpeg wxGTK30 sqlite gtk2 libXScrnSaver
+    curl libGLU libGL libXmu libXi freeglut libjpeg wxGTK30 sqlite gtk2 libXScrnSaver
     libnotify patchelf libX11 libxcb xcbutil
   ];
 
diff --git a/pkgs/applications/science/misc/golly/beta.nix b/pkgs/applications/science/misc/golly/beta.nix
index 99159fba5b4..36de6a1d4c5 100644
--- a/pkgs/applications/science/misc/golly/beta.nix
+++ b/pkgs/applications/science/misc/golly/beta.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchgit
-, wxGTK, perl, python2, zlib, libGLU_combined, libX11
+, wxGTK, perl, python2, zlib, libGLU, libGL, libX11
 , automake, autoconf
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [autoconf automake];
 
   buildInputs = [
-    wxGTK perl python2 zlib libGLU_combined libX11
+    wxGTK perl python2 zlib libGLU libGL libX11
   ];
 
   # Link against Python explicitly as it is needed for scripts
diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix
index b394639fd0c..9b510d432fb 100644
--- a/pkgs/applications/science/misc/gplates/default.nix
+++ b/pkgs/applications/science/misc/gplates/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt4, qwt6_qt4, libGLU_combined, glew, gdal_1_11, cgal
+{ stdenv, fetchurl, qt4, qwt6_qt4, libGLU, libGL, glew, gdal_1_11, cgal
 , proj, boost, cmake, python2, doxygen, graphviz, gmp }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    qt4 qwt6_qt4 libGLU_combined glew gdal_1_11 cgal proj boost cmake python2
+    qt4 qwt6_qt4 libGLU libGL glew gdal_1_11 cgal proj boost cmake python2
     doxygen graphviz gmp
   ];
 
diff --git a/pkgs/applications/science/misc/netlogo/default.nix b/pkgs/applications/science/misc/netlogo/default.nix
index b412c4ef81a..9b0279bd4d0 100644
--- a/pkgs/applications/science/misc/netlogo/default.nix
+++ b/pkgs/applications/science/misc/netlogo/default.nix
@@ -15,11 +15,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "netlogo";
-  version = "6.0.4";
+  version = "6.1.1";
 
   src = fetchurl {
     url = "https://ccl.northwestern.edu/netlogo/${version}/NetLogo-${version}-64.tgz";
-    sha256 = "0dcd9df4dfb218826a74f9df42163fa588908a1dfe58864106936f8dfb76acec";
+    sha256 = "1j08df68pgggxqkmpzd369w4h97q0pivmmljdb48hjghx7hacblp";
   };
 
   src1 = fetchurl {
diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix
index 2145d7e71d3..8422eb8752b 100644
--- a/pkgs/applications/science/misc/root/5.nix
+++ b/pkgs/applications/science/misc/root/5.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1
+, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lzma, gsl_1
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
     ;
 
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 690dc920d5c..ada2f0b44ad 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash
+, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, lzma, gsl, xxHash
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
     ;
 
diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix
index 509cdeaee61..3f83f2f30a6 100644
--- a/pkgs/applications/science/misc/tulip/default.nix
+++ b/pkgs/applications/science/misc/tulip/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libxml2, freetype, libGLU_combined, glew, qt4
+{ fetchurl, stdenv, libxml2, freetype, libGLU, libGL, glew, qt4
 , cmake, makeWrapper, libjpeg, python }:
 
 let version = "5.2.1"; in
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky";
   };
 
-  buildInputs = [ libxml2 freetype glew libGLU_combined qt4 libjpeg python ];
+  buildInputs = [ libxml2 freetype glew libGLU libGL qt4 libjpeg python ];
 
   nativeBuildInputs = [ cmake makeWrapper ];
 
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 64482ddd74b..3e7c7a42eb8 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -1,4 +1,4 @@
-{ fetchsvn, stdenv, cmake, qt4, libGLU_combined }:
+{ fetchsvn, stdenv, cmake, qt4, libGLU, libGL }:
 
 # ViTE 1.1 has several bugs, so use the SVN version.
 let
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     ln -sv "${externals}" externals
   '';
 
-  buildInputs = [ cmake qt4 libGLU_combined ];
+  buildInputs = [ cmake qt4 libGLU libGL ];
 
   NIX_LDFLAGS = "-lGLU";
 
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
 
     homepage = http://vite.gforge.inria.fr/;
     license = stdenv.lib.licenses.cecill20;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/applications/search/catfish/default.nix
index bce5795a9c7..3190c5e5d10 100644
--- a/pkgs/applications/search/catfish/default.nix
+++ b/pkgs/applications/search/catfish/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, file, which, intltool, gobject-introspection,
-  findutils, xdg_utils, gnome3, gtk3, pythonPackages,
+  findutils, xdg_utils, dconf, gtk3, pythonPackages,
   wrapGAppsHook
 }:
 
@@ -25,7 +25,7 @@ pythonPackages.buildPythonApplication rec {
 
   buildInputs = [
     gtk3
-    gnome3.dconf
+    dconf
     pythonPackages.pyxdg
     pythonPackages.ptyprocess
     pythonPackages.pycairo
diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix
index 8f862af0a28..d8a6ec05844 100644
--- a/pkgs/applications/version-management/bcompare/default.nix
+++ b/pkgs/applications/version-management/bcompare/default.nix
@@ -1,4 +1,4 @@
-{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qt511, qtbase, stdenv, runtimeShell }:
+{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qtbase, stdenv, runtimeShell }:
 
 stdenv.mkDerivation rec {
   pname = "bcompare";
diff --git a/pkgs/applications/version-management/bugseverywhere/default.nix b/pkgs/applications/version-management/bugseverywhere/default.nix
deleted file mode 100644
index 7d1de378f53..00000000000
--- a/pkgs/applications/version-management/bugseverywhere/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, pythonPackages, fetchurl }:
-
-#
-# Upstream stopped development of this package. If this package does not build
-# anymore, feel free to remove it by reverting the appropriate patch
-# (git log --grep bugseverywhere)
-#
-pythonPackages.buildPythonApplication rec {
-    version = "1.1.1";
-    pname = "bugseverywhere";
-
-    src = fetchurl {
-      url =
-      "mirror://pypi/b/bugs-everywhere/bugs-everywhere-${version}.tar.gz";
-      sha256 = "1ikm3ckwpimwcvx32vy7gh5gbp7q750j3327m17nvrj99g3daz2d";
-    };
-
-    # There are no tests in the repository.
-    doCheck = false;
-
-    buildInputs = with pythonPackages; [
-        jinja2
-        cherrypy
-    ];
-
-    meta = with stdenv.lib; {
-        description = "Bugtracker supporting distributed revision control";
-        homepage = http://www.bugseverywhere.org/;
-        license = licenses.gpl2Plus;
-        platforms = platforms.all;
-        maintainers = [ maintainers.matthiasbeyer ];
-    };
-}
-
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index 023b9f6d967..2551c980fa8 100644
--- a/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.0.14";
+  version = "0.0.15";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "11kjxa39mqdd9jh969ibxd0nlp9bacj2fm4cj6sk4gp6xf7gv90h";
+    sha256 = "1c2zqvkzkrj8rcz226vfk43yw113b1fdcz2gx0xh8fs72arqx6wh";
   };
 
   cargoSha256 = "1888bvkpalfcw9bc9zmf9bmil6x35l9ia31x6mx1h2dvrfpw3bb1";
@@ -16,6 +16,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     homepage = "https://github.com/dandavison/delta";
     description = "A syntax-highlighting pager for git";
+    changelog = "https://github.com/dandavison/delta/releases/tag/${version}";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index aafaa6659d3..32d3465016c 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "2.12.1";
+  version = "2.12.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "114kq396zq45jlibn1lp0nk4lmanj4w1bcn48gi7xzdm0y1nkzfq";
+    sha256 = "0kmwm9rwngxm2qdlv6nvxyhwpfa0i95kbrmasrj1qqdz7rmyyzmi";
   };
 
   nativeBuildInputs = [ installShellFiles pbr ];
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index a8e284c6fec..7fdb659890a 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, buildPackages
-, curl, openssl, zlib, expat, perlPackages, python, gettext, cpio
+, curl, openssl, zlib, expat, perlPackages, python3, gettext, cpio
 , gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
 , openssh, pcre2
 , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
@@ -91,7 +91,7 @@ stdenv.mkDerivation {
     "SHELL_PATH=${stdenv.shell}"
   ]
   ++ (if perlSupport then ["PERL_PATH=${perlPackages.perl}/bin/perl"] else ["NO_PERL=1"])
-  ++ (if pythonSupport then ["PYTHON_PATH=${python}/bin/python"] else ["NO_PYTHON=1"])
+  ++ (if pythonSupport then ["PYTHON_PATH=${python3}/bin/python"] else ["NO_PYTHON=1"])
   ++ stdenv.lib.optionals stdenv.isSunOS ["INSTALL=install" "NO_INET_NTOP=" "NO_INET_PTON="]
   ++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc"])
   ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"]
@@ -253,7 +253,10 @@ stdenv.mkDerivation {
   installCheckTarget = "test";
 
   # see also installCheckFlagsArray
-  installCheckFlags = "DEFAULT_TEST_TARGET=prove";
+  installCheckFlags = [
+    "DEFAULT_TEST_TARGET=prove"
+    "PERL_PATH=${buildPackages.perl}/bin/perl"
+  ];
 
   preInstallCheck = ''
     installCheckFlagsArray+=(
@@ -296,6 +299,13 @@ stdenv.mkDerivation {
     # Tested to fail: 2.18.0
     disable_test t9902-completion "sourcing the completion script clears cached --options"
 
+    ${stdenv.lib.optionalString (!perlSupport) ''
+      # request-pull is a Bash script that invokes Perl, so it is not available
+      # when NO_PERL=1, and the test should be skipped, but the test suite does
+      # not check for the Perl prerequisite.
+      disable_test t5150-request-pull
+    ''}
+
     # As of 2.19.0, t5562 refers to #!/usr/bin/perl
     patchShebangs t/t5562/invoke-with-content-length.pl
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/applications/version-management/git-and-tools/subgit/default.nix b/pkgs/applications/version-management/git-and-tools/subgit/default.nix
index 03933788551..3636ad11fb6 100644
--- a/pkgs/applications/version-management/git-and-tools/subgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/subgit/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, unzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "subgit-3.3.8";
+  name = "subgit-3.3.9";
 
   meta = {
     description = "A tool for a smooth, stress-free SVN to Git migration";
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://subgit.com/download/${name}.zip";
-    sha256 = "0gvyyr4prx1v06f9j9fmmr8br1gjd45bnncl40c9agiqsyy0q06n";
+    sha256 = "0dwd2kymmprci3b61ayr6axzlkc8zgbc40jqxvvyzschfxw9y0v5";
   };
 }
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 8a22f8c3dc1..99e660d9276 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "19r0gbp4q2sk3br17625m8jinlglijjknqs5y20w3kzxrifrjrmk";
+    sha256 = "1b1vmixc94kzfnd266r3hx25lcm3h4ywqg7d9kif83ixm612cj3g";
     # Required to generate the same checksum on MacOS due to unicode encoding differences
     # More information: https://github.com/NixOS/nixpkgs/pull/48128
     extraPostFetch = ''
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 722bbc11b30..ceea2f44a8b 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "12.4.3",
-  "repo_hash": "1qsd3qxvvb3rbyrlyrqvrday4c9s2krgics99ch7v74hprj3xfq9",
+  "version": "12.5.3",
+  "repo_hash": "1q76yhg4ygs9w5hb8hbv1908d5pfqzr8idmjp06pa4dw5qqqkv97",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v12.4.3-ee",
+  "rev": "v12.5.3-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "1.67.0",
-    "GITLAB_PAGES_VERSION": "1.11.0",
+    "GITALY_SERVER_VERSION": "1.72.1",
+    "GITLAB_PAGES_VERSION": "1.12.0",
     "GITLAB_SHELL_VERSION": "10.2.0",
-    "GITLAB_WORKHORSE_VERSION": "8.14.0"
+    "GITLAB_WORKHORSE_VERSION": "8.14.1"
   }
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 545894cc1e5..60035990ed0 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -64,6 +64,11 @@ let
       # Fixup "resolved"-entries in yarn.lock to match our offline cache
       ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
 
+      # fixup_yarn_lock currently doesn't correctly fix the dagre-d3
+      # url, so we have to do it manually
+      ${replace}/bin/replace-literal -f -e '"https://codeload.github.com/dagrejs/dagre-d3/tar.gz/e1a00e5cb518f5d2304a35647e024f31d178e55b"' \
+                                           '"https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b"' yarn.lock
+
       yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
 
       patchShebangs node_modules/
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 9478dc9a84b..841f6bfdefc 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -4,13 +4,13 @@ source 'https://rubygems.org'
 gem 'bundler', '>= 1.17.3'
 
 gem 'rugged', '~> 0.28'
-gem 'github-linguist', '~> 6.1', require: 'linguist'
+gem 'github-linguist', '~> 7.5', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.0'
 gem 'activesupport', '~> 5.2.3'
-gem 'rdoc', '~> 4.2'
+gem 'rdoc', '~> 6.0'
 gem 'gitlab-gollum-lib', '~> 4.2.7.7', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
-gem 'grpc', '~> 1.19.0'
+gem 'grpc', '~> 1.24.0'
 gem 'sentry-raven', '~> 2.9.0', require: false
 gem 'faraday', '~> 0.12'
 gem 'rbtrace', require: false
@@ -22,7 +22,7 @@ gem 'gitlab-labkit', '~> 0.5.0'
 # This version needs to be in sync with GitLab CE/EE
 gem 'licensee', '~> 8.9.0'
 
-gem 'google-protobuf', '~> 3.7.1'
+gem 'google-protobuf', '~> 3.8.0'
 
 group :development, :test do
   gem 'rubocop', '~> 0.69', require: false
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index cb292af8cc3..90c4e1bccea 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -49,10 +49,10 @@ GEM
     ffi (1.11.1)
     gemojione (3.3.0)
       json
-    github-linguist (6.4.1)
+    github-linguist (7.5.1)
       charlock_holmes (~> 0.7.6)
       escape_utils (~> 1.2.0)
-      mime-types (>= 1.19)
+      mini_mime (~> 1.0)
       rugged (>= 0.25.1)
     github-markup (1.7.0)
     gitlab-gollum-lib (4.2.7.7)
@@ -81,12 +81,12 @@ GEM
     gitlab-markup (1.7.0)
     gollum-grit_adapter (1.0.1)
       gitlab-grit (~> 2.7, >= 2.7.1)
-    google-protobuf (3.7.1)
+    google-protobuf (3.8.0)
     googleapis-common-protos-types (1.0.4)
       google-protobuf (~> 3.0)
-    grpc (1.19.0)
-      google-protobuf (~> 3.1)
-      googleapis-common-protos-types (~> 1.0.0)
+    grpc (1.24.0)
+      google-protobuf (~> 3.8)
+      googleapis-common-protos-types (~> 1.0)
     hashdiff (0.3.9)
     i18n (1.6.0)
       concurrent-ruby (~> 1.0)
@@ -99,7 +99,7 @@ GEM
     licensee (8.9.2)
       rugged (~> 0.24)
     listen (0.5.3)
-    loofah (2.2.3)
+    loofah (2.3.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -108,12 +108,13 @@ GEM
     mime-types (3.2.2)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2019.0331)
+    mini_mime (1.0.2)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
     msgpack (1.3.0)
     multi_json (1.13.1)
     multipart-post (2.0.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
@@ -138,14 +139,14 @@ GEM
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
-    rails-html-sanitizer (1.2.0)
-      loofah (~> 2.2, >= 2.2.2)
+    rails-html-sanitizer (1.3.0)
+      loofah (~> 2.3)
     rainbow (3.0.0)
     rbtrace (0.4.11)
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
-    rdoc (4.3.0)
+    rdoc (6.2.0)
     redis (4.1.2)
     rouge (3.11.0)
     rspec (3.8.0)
@@ -217,18 +218,18 @@ DEPENDENCIES
   bundler (>= 1.17.3)
   factory_bot
   faraday (~> 0.12)
-  github-linguist (~> 6.1)
+  github-linguist (~> 7.5)
   gitlab-gollum-lib (~> 4.2.7.7)
   gitlab-gollum-rugged_adapter (~> 0.4.4.2)
   gitlab-labkit (~> 0.5.0)
   gitlab-markup (~> 1.7.0)
-  google-protobuf (~> 3.7.1)
-  grpc (~> 1.19.0)
+  google-protobuf (~> 3.8.0)
+  grpc (~> 1.24.0)
   licensee (~> 8.9.0)
   listen (~> 0.5.0)
   pry (~> 0.12.2)
   rbtrace
-  rdoc (~> 4.2)
+  rdoc (~> 6.0)
   rspec
   rspec-parameterized
   rubocop (~> 0.69)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index dd17618dc74..2c764162230 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -17,14 +17,14 @@ let
       };
   };
 in buildGoPackage rec {
-  version = "1.67.0";
+  version = "1.72.1";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "1mj2l15hnxwqmyc8xn79d6qpmpqbqw2ishalr8qvn83nzdsbk8l3";
+    sha256 = "0gnhw7p8fgy3w15828qjgkkxcd4dg7gf1hpanc3xqawb8jqpfc91";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
diff --git a/pkgs/applications/version-management/gitlab/gitaly/deps.nix b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
index 34c30f71054..951ea39e5be 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/deps.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
@@ -19,6 +19,42 @@
     };
   }
   {
+    goPackagePath = "github.com/Joker/hpp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Joker/hpp";
+      rev = "6893e659854a";
+      sha256 = "0lsx63c28rzqigv3lwzznqacpk7nr0dn6ig37v023x8lzc728ix5";
+    };
+  }
+  {
+    goPackagePath = "github.com/Joker/jade";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Joker/jade";
+      rev = "v1.0.0";
+      sha256 = "0k9b8dcwwhajw6rzjmakqwmhw9z192pzzdhppcvam6dy63yl4zjf";
+    };
+  }
+  {
+    goPackagePath = "github.com/Shopify/goreferrer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Shopify/goreferrer";
+      rev = "ec9c9a553398";
+      sha256 = "0d740psj8czks1hl0nr6nlrwfbwq3nc51jj2p91d1wyhhmgn6jmn";
+    };
+  }
+  {
+    goPackagePath = "github.com/ajg/form";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ajg/form";
+      rev = "v1.5.1";
+      sha256 = "1d6sxzzf9yycdf8jm5877y0khmhkmhxfw3sc4xpdcsrdlc7gqh5a";
+    };
+  }
+  {
     goPackagePath = "github.com/alecthomas/template";
     fetch = {
       type = "git";
@@ -37,6 +73,15 @@
     };
   }
   {
+    goPackagePath = "github.com/aymerick/raymond";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aymerick/raymond";
+      rev = "v2.0.2";
+      sha256 = "1w6am4142k8lyjnwwcgx94c2d8zviflzi0a9c81gn2j0gyx475i3";
+    };
+  }
+  {
     goPackagePath = "github.com/beorn7/perks";
     fetch = {
       type = "git";
@@ -82,6 +127,15 @@
     };
   }
   {
+    goPackagePath = "github.com/codegangsta/inject";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codegangsta/inject";
+      rev = "33e0aa1cb7c0";
+      sha256 = "1jqakr3z9l60qhcgrdzsb6rlk8ikcamisw0g2ndmrf27s0ibfcaj";
+    };
+  }
+  {
     goPackagePath = "github.com/davecgh/go-spew";
     fetch = {
       type = "git";
@@ -91,6 +145,42 @@
     };
   }
   {
+    goPackagePath = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev = "v3.2.0";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+    };
+  }
+  {
+    goPackagePath = "github.com/eknkc/amber";
+    fetch = {
+      type = "git";
+      url = "https://github.com/eknkc/amber";
+      rev = "cdade1c07385";
+      sha256 = "152w97yckwncgw7lwjvgd8d00wy6y0nxzlvx72kl7nqqxs9vhxd9";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/structs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/structs";
+      rev = "v1.1.0";
+      sha256 = "1wrhb8wp8zpzggl61lapb627lw8yv281abvr6vqakmf569nswa9q";
+    };
+  }
+  {
+    goPackagePath = "github.com/flosch/pongo2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/flosch/pongo2";
+      rev = "bbf5a6c351f4";
+      sha256 = "0yqh58phznnxakm64w82gawrpndb0r85vsd1s7h244qqrq7w4avq";
+    };
+  }
+  {
     goPackagePath = "github.com/fsnotify/fsnotify";
     fetch = {
       type = "git";
@@ -100,15 +190,69 @@
     };
   }
   {
+    goPackagePath = "github.com/gavv/monotime";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gavv/monotime";
+      rev = "30dba4353424";
+      sha256 = "0w67yyc9y11dp7lp4b712dkcgbiln1qmgfx1nbbrw3mfkzr61d7g";
+    };
+  }
+  {
     goPackagePath = "github.com/getsentry/raven-go";
     fetch = {
       type = "git";
       url = "https://github.com/getsentry/raven-go";
-      rev = "v0.1.2";
+      rev = "v0.1.0";
       sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
     };
   }
   {
+    goPackagePath = "github.com/getsentry/sentry-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/getsentry/sentry-go";
+      rev = "v0.3.0";
+      sha256 = "1919lhvg1swcqyfa6mck6nz53c7n4df21jsz46f7x4wncb6f5il1";
+    };
+  }
+  {
+    goPackagePath = "github.com/gin-contrib/sse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gin-contrib/sse";
+      rev = "5545eab6dad3";
+      sha256 = "0jhcvi66rn7c1wg3rf7q7sylrvlk7c40yk79c5lypnz1dpsdcrb5";
+    };
+  }
+  {
+    goPackagePath = "github.com/gin-gonic/gin";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gin-gonic/gin";
+      rev = "v1.4.0";
+      sha256 = "19nxip48p2s8l7p1p7wpd5li2fcngi4c58rgcg71izdmsmj2iw1d";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-check/check";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-check/check";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-errors/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-errors/errors";
+      rev = "v1.0.1";
+      sha256 = "0rznpknk19rxkr7li6dqs52c26pjazp69lh493l4ny4sxn5922lp";
+    };
+  }
+  {
     goPackagePath = "github.com/go-kit/kit";
     fetch = {
       type = "git";
@@ -127,6 +271,15 @@
     };
   }
   {
+    goPackagePath = "github.com/go-martini/martini";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-martini/martini";
+      rev = "22fa46961aab";
+      sha256 = "01ip3mwbnm5isq120ww73yrvbcn6n5944prhhbyf2ggyf6g46ylh";
+    };
+  }
+  {
     goPackagePath = "github.com/go-stack/stack";
     fetch = {
       type = "git";
@@ -176,8 +329,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "v1.3.1";
-      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.2.0";
+      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "v1.0.0";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
     };
   }
   {
@@ -190,6 +361,24 @@
     };
   }
   {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0766667cb4d1";
+      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/schema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/schema";
+      rev = "v1.1.0";
+      sha256 = "14d31i3h6bg83r7ncmwm2pirab66z9hza38in18l89pbazxyh2n9";
+    };
+  }
+  {
     goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
     fetch = {
       type = "git";
@@ -217,6 +406,51 @@
     };
   }
   {
+    goPackagePath = "github.com/imkira/go-interpol";
+    fetch = {
+      type = "git";
+      url = "https://github.com/imkira/go-interpol";
+      rev = "v1.1.0";
+      sha256 = "180h3pf2p0pch6hmqf45wk7wd87md83d3p122f8ll43x5nja5mph";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/blackfriday";
+      rev = "v2.0.0";
+      sha256 = "1gkizavajqmxm79il8r6cbi0g9ls3vwdh9wr0zy89vc9sq17p3im";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/formBinder";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/formBinder";
+      rev = "v5.0.0";
+      sha256 = "0mqk6j7a9d3y28ad4ylqc7z5w4hmn1ws5wwnyll918xn1wkzr5rg";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/go.uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/go.uuid";
+      rev = "v2.0.0";
+      sha256 = "0nc0ggn0a6bcwdrwinnx3z6889x65c20a2dwja0n8can3xblxs35";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/httpexpect";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/httpexpect";
+      rev = "ebe99fcebbce";
+      sha256 = "126c50c6r5l2gdn60jirpb54pqwswxag3wgrv6wcn998h9w9gv8c";
+    };
+  }
+  {
     goPackagePath = "github.com/json-iterator/go";
     fetch = {
       type = "git";
@@ -226,6 +460,42 @@
     };
   }
   {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.20.0";
+      sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/errors";
+      rev = "089d3ea4e4d5";
+      sha256 = "056za75j1zgksky7pbf0pkjqz5ha15g3wj3p4ma10m9sywdyq79r";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/loggo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/loggo";
+      rev = "584905176618";
+      sha256 = "0hzi0652y74jf62wwyi9gf8bzrs7ynvhjfqc8rwr4l799d7i5gd4";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/testing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/testing";
+      rev = "472a3e8b2073";
+      sha256 = "05wjc2k0kwbam7anaxwnj30pl03dcdbrsz32icd70zl70ipsqsw4";
+    };
+  }
+  {
     goPackagePath = "github.com/julienschmidt/httprouter";
     fetch = {
       type = "git";
@@ -235,6 +505,42 @@
     };
   }
   {
+    goPackagePath = "github.com/k0kubun/colorstring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/k0kubun/colorstring";
+      rev = "9440f1994b88";
+      sha256 = "0isskya7ky4k9znrh85crfc2pxwyfz2s8j1a5cbjb8b8zf2v0qbj";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/golog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/golog";
+      rev = "99c81de45f40";
+      sha256 = "1dgrsvhzymgj7da54ldv8plkxk3n8zh3kc995qxl6mrpz65j801p";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/iris";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/iris";
+      rev = "v11.1.1";
+      sha256 = "1rxpr5hdj9mji26mlfp4zic0pc6nh93akzccw24a5kynj07g68wg";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/pio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/pio";
+      rev = "ea782b38602d";
+      sha256 = "0ca29wmkpx19qwnvi4fja3avkxkzz14x9wyzmg1l9074bxbj8cgj";
+    };
+  }
+  {
     goPackagePath = "github.com/kelseyhightower/envconfig";
     fetch = {
       type = "git";
@@ -253,6 +559,24 @@
     };
   }
   {
+    goPackagePath = "github.com/klauspost/compress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/compress";
+      rev = "v1.4.0";
+      sha256 = "1y7951q0ji894d111lqqbacq64cxyi2dxsni5sqi9488zsasgw8s";
+    };
+  }
+  {
+    goPackagePath = "github.com/klauspost/cpuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/cpuid";
+      rev = "e7e905edc00e";
+      sha256 = "0cmyv3rwv5r5iqvvfhbiwp3jsfa40c6xfm42nxbngd5lygjcwwgf";
+    };
+  }
+  {
     goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
     fetch = {
       type = "git";
@@ -271,6 +595,51 @@
     };
   }
   {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/labstack/echo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/labstack/echo";
+      rev = "v4.1.10";
+      sha256 = "0qg9ykmhgldiv2v1w8sz8x0j0bgqf11ghzrim59fb6pxz8qgg25h";
+    };
+  }
+  {
+    goPackagePath = "github.com/labstack/gommon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/labstack/gommon";
+      rev = "v0.3.0";
+      sha256 = "18z7akyzm75p6anm4b8qkqgm4iivx50z07hi5wf50w1pbsvbcdi0";
+    };
+  }
+  {
     goPackagePath = "github.com/libgit2/git2go";
     fetch = {
       type = "git";
@@ -289,6 +658,33 @@
     };
   }
   {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.1.2";
+      sha256 = "0512jm3wmzkkn7d99x9wflyqf48n5ri3npy1fqkq6l6adc5mni3n";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.9";
+      sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/goveralls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/goveralls";
+      rev = "v0.0.2";
+      sha256 = "13ffdikvc594g1mryhi94m87skr7irwkjnpxp8ad2kprn6syfslp";
+    };
+  }
+  {
     goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
     fetch = {
       type = "git";
@@ -298,6 +694,15 @@
     };
   }
   {
+    goPackagePath = "github.com/microcosm-cc/bluemonday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/microcosm-cc/bluemonday";
+      rev = "v1.0.2";
+      sha256 = "0j0aylsxqjcj49w7ph8cmpaqjlpvg7mb5mrcrd9bg71dlb9z9ir2";
+    };
+  }
+  {
     goPackagePath = "github.com/modern-go/concurrent";
     fetch = {
       type = "git";
@@ -316,6 +721,15 @@
     };
   }
   {
+    goPackagePath = "github.com/moul/http2curl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/moul/http2curl";
+      rev = "v1.0.0";
+      sha256 = "15bpx33d3ygya8dg8hbsn24h7acpajl27006pj8lw1c0bfvbnrl0";
+    };
+  }
+  {
     goPackagePath = "github.com/mwitkow/go-conntrack";
     fetch = {
       type = "git";
@@ -329,8 +743,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.7.0";
-      sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
+      rev = "v1.10.1";
+      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
     };
   }
   {
@@ -338,8 +752,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.4.3";
-      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+      rev = "v1.7.0";
+      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
     };
   }
   {
@@ -361,12 +775,21 @@
     };
   }
   {
+    goPackagePath = "github.com/pingcap/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pingcap/errors";
+      rev = "v0.11.1";
+      sha256 = "00wr0l4cwq0qx8jw51j0n7pbh9l7hdq2874x9rf1mz5svz1wbmcp";
+    };
+  }
+  {
     goPackagePath = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "v0.8.0";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+      rev = "v0.8.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
     };
   }
   {
@@ -415,6 +838,33 @@
     };
   }
   {
+    goPackagePath = "github.com/ryanuber/columnize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryanuber/columnize";
+      rev = "v2.1.0";
+      sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6";
+    };
+  }
+  {
+    goPackagePath = "github.com/sergi/go-diff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sergi/go-diff";
+      rev = "v1.0.0";
+      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
+    };
+  }
+  {
+    goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev = "v1.0.0";
+      sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f";
+    };
+  }
+  {
     goPackagePath = "github.com/sirupsen/logrus";
     fetch = {
       type = "git";
@@ -424,6 +874,24 @@
     };
   }
   {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "b2de0cb4f26d";
+      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "505e41936337";
+      sha256 = "07zjxwszayal88z1j2bwnqrsa32vg8l4nivks5yfr9j8xfsw7n6m";
+    };
+  }
+  {
     goPackagePath = "github.com/stretchr/objx";
     fetch = {
       type = "git";
@@ -437,8 +905,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
     };
   }
   {
@@ -478,6 +946,123 @@
     };
   }
   {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "v1.1.4";
+      sha256 = "0ma2qvn5wqvjidpdz74x832a813qnr1cxbx6n6n125ak9b3wbn5w";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/negroni";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/negroni";
+      rev = "v1.0.0";
+      sha256 = "1gp6j74adi1cn8fq5v3wzlzhwl4zg43n2746m4fzdcdimihk3ccp";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/bytebufferpool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/bytebufferpool";
+      rev = "v1.0.0";
+      sha256 = "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasthttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasthttp";
+      rev = "v1.4.0";
+      sha256 = "0kypc7r91n61fm6qsadza1aiy9n6byghvcxzvx7agi6yzrllk956";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasttemplate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasttemplate";
+      rev = "v1.0.1";
+      sha256 = "0l131znbv8v67y20s4q361mwiww2c33zdc68mwvxchzk1gpy5ywq";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/tcplisten";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/tcplisten";
+      rev = "ceec8f93295a";
+      sha256 = "0ksbj1gsdqanbnhly5w1wcc107bib4w0zpnyl00prr89zch3imnf";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonpointer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonpointer";
+      rev = "df4f5c81cb3b";
+      sha256 = "0dfwc66z5gq75m3z7va80c10c22ijiq99bahq86l26ki71g286xn";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonreference";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonreference";
+      rev = "bd5ef7bd5415";
+      sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonschema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonschema";
+      rev = "v1.1.0";
+      sha256 = "10gn5y4l72zknj21mff29d9vnk4pz7jnw39xnlsb373lsiih91xg";
+    };
+  }
+  {
+    goPackagePath = "github.com/yalp/jsonpath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yalp/jsonpath";
+      rev = "5cc68e5049a0";
+      sha256 = "0kkyxp1cg3kfxy5hhwzxg132jin4xb492z5jpqq94ix15v6rdf4b";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/gojsondiff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/gojsondiff";
+      rev = "v1.0.0";
+      sha256 = "0qnymi0027mb8kxm24mmd22bvjrdkc56c7f4q3lbdf93x1vxbbc2";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/golcs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/golcs";
+      rev = "ecda9a501e82";
+      sha256 = "0mx6wc5fz05yhvg03vvps93bc5mw4vnng98fhmixd47385qb29pq";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/pp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/pp";
+      rev = "v2.0.1";
+      sha256 = "18vbc7jagnjw1wpvhqjffl0np7bzzqdd9jpdcisvj5h85lbyn5gk";
+    };
+  }
+  {
     goPackagePath = "gitlab.com/gitlab-org/labkit";
     fetch = {
       type = "git";
@@ -500,8 +1085,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "20be4c3c3ed5";
-      sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
+      rev = "4def268fd1a4";
+      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
     };
   }
   {
@@ -509,8 +1094,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/lint";
-      rev = "06c8688daad7";
-      sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
+      rev = "d0100b6bd8b3";
+      sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
     };
   }
   {
@@ -536,8 +1121,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "37e7f081c4d4";
-      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
     };
   }
   {
@@ -545,8 +1130,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "953cdadca894";
-      sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
+      rev = "fde4db37ae7a";
+      sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3";
     };
   }
   {
@@ -563,8 +1148,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "6cd1fcedba52";
-      sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d";
+      rev = "2c0ae7006135";
+      sha256 = "1lsi2ssxajclj3bciz2a41v1vjv768ja3v6wnbyhxy8xphwkp4fk";
     };
   }
   {
@@ -590,8 +1175,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/grpc/grpc-go";
-      rev = "v1.16.0";
-      sha256 = "0a9xl6c5j7lvsb4q6ry5p892rjm86p47d4f8xrf0r8lxblf79qbg";
+      rev = "v1.24.0";
+      sha256 = "0h8mwv74vzcfb7p4ai247x094skxca71vjp4wpj2wzmri0x9p4v6";
     };
   }
   {
@@ -631,6 +1216,33 @@
     };
   }
   {
+    goPackagePath = "gopkg.in/go-playground/assert.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/go-playground/assert.v1";
+      rev = "v1.2.1";
+      sha256 = "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/go-playground/validator.v8";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/go-playground/validator.v8";
+      rev = "v8.18.2";
+      sha256 = "1m2i48ph5a3kw9nlw2srx8i04v7chicds2hlzlrfm15045crga55";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/mgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/mgo.v2";
+      rev = "9856a29383ce";
+      sha256 = "1gfbcmvpwwf1lydxj3g42wv2g9w3pf0y02igqk4f4f21h02sazkw";
+    };
+  }
+  {
     goPackagePath = "gopkg.in/tomb.v1";
     fetch = {
       type = "git";
@@ -653,8 +1265,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/dominikh/go-tools";
-      rev = "88497007e858";
-      sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
+      rev = "ea95bdfd59fc";
+      sha256 = "1763nw7pwpzkvzfnm63dgzcgbq9hwmq5l1nffchnhh77vgkaq4ic";
     };
   }
 ]
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index a5140972ef0..47e1c3b3568 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -224,15 +224,15 @@
     version = "3.3.0";
   };
   github-linguist = {
-    dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
+    dependencies = ["charlock_holmes" "escape_utils" "mini_mime" "rugged"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nqsprsy4xd6yxzk3b54815hv0gk2r1xn0vsm81pkyy61bbm35hf";
+      sha256 = "092bq7bjfj2yvss2ig6jb71j0h04cigq79xxfis37j315iixl12j";
       type = "gem";
     };
-    version = "6.4.1";
+    version = "7.5.1";
   };
   github-markup = {
     source = {
@@ -308,10 +308,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2";
+      sha256 = "0by3289irdklb9gjqw41fq6mg6yja3iyzh99dj8p8z9l4brllqn4";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.0";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -330,10 +330,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs";
+      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.24.0";
   };
   hashdiff = {
     groups = ["default" "development" "test"];
@@ -418,10 +418,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
+      sha256 = "06kfq90vi38gv6i128f4zg462kj32szs5vsgm25hxgw9zd12pj9x";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.3.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -459,6 +459,16 @@
     };
     version = "3.2019.0331";
   };
+  mini_mime = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -507,10 +517,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -640,10 +650,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ilwxzm3a7bql5c9q2n9g9nb1hax7vd8d65a5yp3d967ld97nvrq";
+      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   rainbow = {
     source = {
@@ -663,12 +673,14 @@
     version = "0.4.11";
   };
   rdoc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c";
+      sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "6.2.0";
   };
   redis = {
     groups = ["default"];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index aa8cf7c164c..4f3322f3d0f 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
   pname = "gitlab-workhorse";
 
-  version = "8.14.0";
+  version = "8.14.1";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "1cqx75h4x4chjvp72kzbln8qkm5p7p2w7x8bdd99g38kf21wxxaq";
+    sha256 = "19flb9b9l9214ykwgjphcqrinncnfvhis7nrvcr4ns6rlpxnc9dl";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitlab-workhorse";
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 920f778c053..d27bc276088 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -8,12 +8,12 @@ gem 'bootsnap', '~> 1.4'
 gem 'nakayoshi_fork', '~> 0.0.4'
 
 # Responders respond_to and respond_with
-gem 'responders', '~> 2.0'
+gem 'responders', '~> 3.0'
 
 gem 'sprockets', '~> 3.7.0'
 
 # Default values for AR models
-gem 'default_value_for', '~> 3.2.0'
+gem 'default_value_for', '~> 3.3.0'
 
 # Supported DBs
 gem 'pg', '~> 1.1'
@@ -42,7 +42,7 @@ gem 'omniauth-shibboleth', '~> 1.3.0'
 gem 'omniauth-twitter', '~> 1.4'
 gem 'omniauth_crowd', '~> 2.2.0'
 gem 'omniauth-authentiq', '~> 0.3.3'
-gem 'omniauth_openid_connect', '~> 0.3.1'
+gem 'omniauth_openid_connect', '~> 0.3.3'
 gem "omniauth-ultraauth", '~> 0.0.2'
 gem 'omniauth-salesforce', '~> 1.0.5'
 gem 'rack-oauth2', '~> 1.9.3'
@@ -64,7 +64,7 @@ gem 'u2f', '~> 0.2.1'
 
 # GitLab Pages
 gem 'validates_hostname', '~> 1.0.6'
-gem 'rubyzip', '~> 1.2.2', require: 'zip'
+gem 'rubyzip', '~> 1.3.0', require: 'zip'
 # GitLab Pages letsencrypt support
 gem 'acme-client', '~> 2.0.2'
 
@@ -72,7 +72,7 @@ gem 'acme-client', '~> 2.0.2'
 gem 'browser', '~> 2.5'
 
 # GPG
-gem 'gpgme', '~> 2.0.18'
+gem 'gpgme', '~> 2.0.19'
 
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
@@ -136,7 +136,7 @@ gem 'faraday_middleware-aws-signers-v4'
 
 # Markdown and HTML processing
 gem 'html-pipeline', '~> 2.8'
-gem 'deckar01-task_list', '2.2.0'
+gem 'deckar01-task_list', '2.2.1'
 gem 'gitlab-markup', '~> 1.7.0'
 gem 'github-markup', '~> 1.7.0', require: 'github/markup'
 gem 'commonmarker', '~> 0.17'
@@ -151,7 +151,7 @@ gem 'asciidoctor-plantuml', '0.0.9'
 gem 'rouge', '~> 3.11.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.10.4'
+gem 'nokogiri', '~> 1.10.5'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
@@ -159,6 +159,7 @@ gem 'icalendar'
 
 # Diffs
 gem 'diffy', '~> 3.1.0'
+gem 'diff_match_patch', '~> 0.1.0'
 
 # Application server
 gem 'rack', '~> 2.0.7'
@@ -175,7 +176,7 @@ group :puma do
 end
 
 # State machine
-gem 'state_machines-activerecord', '~> 0.5.1'
+gem 'state_machines-activerecord', '~> 0.6.0'
 
 # Issue tags
 gem 'acts-as-taggable-on', '~> 6.0'
@@ -259,9 +260,6 @@ gem 'loofah', '~> 2.2'
 # Working with license
 gem 'licensee', '~> 8.9'
 
-# Protect against bruteforcing
-gem 'rack-attack', '~> 4.4.1'
-
 # Ace editor
 gem 'ace-rails-ap', '~> 4.1.0'
 
@@ -293,10 +291,13 @@ gem 'base32', '~> 0.3.0'
 
 gem "gitlab-license", "~> 1.0"
 
+# Protect against bruteforcing
+gem 'rack-attack', '~> 6.2.0'
+
 # Sentry integration
 gem 'sentry-raven', '~> 2.9'
 
-gem 'premailer-rails', '~> 1.9.7'
+gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
 gem 'gitlab-labkit', '~> 0.5'
@@ -331,7 +332,6 @@ group :metrics do
 end
 
 group :development do
-  gem 'foreman', '~> 0.84.0'
   gem 'brakeman', '~> 4.2', require: false
   gem 'danger', '~> 6.0', require: false
 
@@ -388,7 +388,6 @@ group :development, :test do
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
-  gem 'license_finder', '~> 5.4', require: false
   gem 'knapsack', '~> 1.17'
 
   gem 'stackprof', '~> 0.2.10', require: false
@@ -398,6 +397,11 @@ group :development, :test do
   gem 'timecop', '~> 0.8.0'
 end
 
+# Gems required in omnibus-gitlab pipeline
+group :development, :test, :omnibus do
+  gem 'license_finder', '~> 5.4', require: false
+end
+
 group :test do
   gem 'shoulda-matchers', '~> 4.0.1', require: false
   gem 'email_spec', '~> 2.2.0'
@@ -407,6 +411,7 @@ group :test do
   gem 'concurrent-ruby', '~> 1.1'
   gem 'test-prof', '~> 0.10.0'
   gem 'rspec_junit_formatter'
+  gem 'guard-rspec'
 end
 
 gem 'octokit', '~> 4.9'
@@ -446,18 +451,18 @@ group :ed25519 do
 end
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 1.65.0'
+gem 'gitaly', '~> 1.70.0'
 
-gem 'grpc', '~> 1.19.0'
+gem 'grpc', '~> 1.24.0'
 
-gem 'google-protobuf', '~> 3.7.1'
+gem 'google-protobuf', '~> 3.8.0'
 
 gem 'toml-rb', '~> 1.0.0', require: false
 
 # Feature toggles
-gem 'flipper', '~> 0.13.0'
-gem 'flipper-active_record', '~> 0.13.0'
-gem 'flipper-active_support_cache_store', '~> 0.13.0'
+gem 'flipper', '~> 0.17.1'
+gem 'flipper-active_record', '~> 0.17.1'
+gem 'flipper-active_support_cache_store', '~> 0.17.1'
 gem 'unleash', '~> 0.1.5'
 
 # Structured logging
@@ -469,3 +474,5 @@ gem 'gitlab-net-dns', '~> 0.9.1'
 
 # Countries list
 gem 'countries', '~> 3.0'
+
+gem 'retriable', '~> 3.1.2'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 18160932c56..15465cd6b03 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -50,8 +50,8 @@ GEM
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    acts-as-taggable-on (6.0.0)
-      activerecord (~> 5.0)
+    acts-as-taggable-on (6.5.0)
+      activerecord (>= 5.0, < 6.1)
     adamantium (0.2.0)
       ice_nine (~> 0.11.0)
       memoizable (~> 0.4.0)
@@ -80,14 +80,16 @@ GEM
       encryptor (~> 3.0.0)
     attr_required (1.0.1)
     awesome_print (1.8.0)
-    aws-sdk (2.9.32)
-      aws-sdk-resources (= 2.9.32)
-    aws-sdk-core (2.9.32)
+    aws-eventstream (1.0.3)
+    aws-sdk (2.11.374)
+      aws-sdk-resources (= 2.11.374)
+    aws-sdk-core (2.11.374)
       aws-sigv4 (~> 1.0)
       jmespath (~> 1.0)
-    aws-sdk-resources (2.9.32)
-      aws-sdk-core (= 2.9.32)
-    aws-sigv4 (1.0.0)
+    aws-sdk-resources (2.11.374)
+      aws-sdk-core (= 2.11.374)
+    aws-sigv4 (1.1.0)
+      aws-eventstream (~> 1.0, >= 1.0.2)
     axiom-types (0.1.1)
       descendants_tracker (~> 0.0.4)
       ice_nine (~> 0.11.0)
@@ -171,9 +173,9 @@ GEM
       unicode_utils (~> 1.4)
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    crass (1.0.4)
+    crass (1.0.5)
     creole (0.5.0)
-    css_parser (1.5.0)
+    css_parser (1.7.0)
       addressable
     daemons (1.2.6)
     danger (6.0.9)
@@ -192,12 +194,12 @@ GEM
     database_cleaner (1.7.0)
     debug_inspector (0.0.3)
     debugger-ruby_core_source (1.3.8)
-    deckar01-task_list (2.2.0)
+    deckar01-task_list (2.2.1)
       html-pipeline
     declarative (0.0.10)
     declarative-option (0.1.0)
-    default_value_for (3.2.0)
-      activerecord (>= 3.2.0, < 6.0)
+    default_value_for (3.3.0)
+      activerecord (>= 3.2.0, < 6.1)
     derailed_benchmarks (1.3.5)
       benchmark-ips (~> 2)
       get_process_mem (~> 0)
@@ -222,6 +224,7 @@ GEM
       railties
       rotp (~> 2.0)
     diff-lcs (1.3)
+    diff_match_patch (0.1.0)
     diffy (3.1.0)
     discordrb-webhooks-blackst0ne (3.3.0)
       rest-client (~> 2.0)
@@ -285,13 +288,13 @@ GEM
     fast_gettext (1.6.0)
     ffaker (2.10.0)
     ffi (1.11.1)
-    flipper (0.13.0)
-    flipper-active_record (0.13.0)
-      activerecord (>= 3.2, < 6)
-      flipper (~> 0.13.0)
-    flipper-active_support_cache_store (0.13.0)
-      activesupport (>= 3.2, < 6)
-      flipper (~> 0.13.0)
+    flipper (0.17.1)
+    flipper-active_record (0.17.1)
+      activerecord (>= 4.2, < 7)
+      flipper (~> 0.17.1)
+    flipper-active_support_cache_store (0.17.1)
+      activesupport (>= 4.2, < 7)
+      flipper (~> 0.17.1)
     flowdock (0.7.1)
       httparty (~> 0.7)
       multi_json
@@ -332,10 +335,8 @@ GEM
     fog-xml (0.1.3)
       fog-core
       nokogiri (>= 1.5.11, < 2.0.0)
-    font-awesome-rails (4.7.0.4)
-      railties (>= 3.2, < 6.0)
-    foreman (0.84.0)
-      thor (~> 0.19.1)
+    font-awesome-rails (4.7.0.5)
+      railties (>= 3.2, < 6.1)
     formatador (0.2.5)
     fugit (1.2.1)
       et-orbi (~> 1.1, >= 1.1.8)
@@ -358,12 +359,12 @@ GEM
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
     git (1.5.0)
-    gitaly (1.65.0)
+    gitaly (1.70.0)
       grpc (~> 1.0)
     github-markup (1.7.0)
-    gitlab-labkit (0.5.2)
-      actionpack (~> 5)
-      activesupport (~> 5)
+    gitlab-labkit (0.7.0)
+      actionpack (>= 5.0.0, < 6.1.0)
+      activesupport (>= 5.0.0, < 6.1.0)
       grpc (~> 1.19)
       jaeger-client (~> 0.10)
       opentracing (~> 0.4)
@@ -400,7 +401,7 @@ GEM
       mime-types (~> 3.0)
       representable (~> 3.0)
       retriable (>= 2.0, < 4.0)
-    google-protobuf (3.7.1)
+    google-protobuf (3.8.0)
     googleapis-common-protos-types (1.0.4)
       google-protobuf (~> 3.0)
     googleauth (0.6.6)
@@ -410,7 +411,7 @@ GEM
       multi_json (~> 1.11)
       os (>= 0.9, < 2.0)
       signet (~> 0.7)
-    gpgme (2.0.18)
+    gpgme (2.0.19)
       mini_portile2 (~> 2.3)
     grape (1.1.0)
       activesupport
@@ -440,11 +441,25 @@ GEM
       graphql (~> 1.6)
       html-pipeline (~> 2.8)
       sass (~> 3.4)
-    grpc (1.19.0)
-      google-protobuf (~> 3.1)
-      googleapis-common-protos-types (~> 1.0.0)
+    grpc (1.24.0)
+      google-protobuf (~> 3.8)
+      googleapis-common-protos-types (~> 1.0)
     gssapi (1.2.0)
       ffi (>= 1.0.1)
+    guard (2.15.1)
+      formatador (>= 0.2.4)
+      listen (>= 2.7, < 4.0)
+      lumberjack (>= 1.0.12, < 2.0)
+      nenv (~> 0.1)
+      notiffany (~> 0.0)
+      pry (>= 0.9.12)
+      shellany (~> 0.0)
+      thor (>= 0.18.1)
+    guard-compat (1.2.1)
+    guard-rspec (4.7.3)
+      guard (~> 2.1)
+      guard-compat (~> 1.1)
+      rspec (>= 2.99.0, < 4.0)
     haml (5.0.4)
       temple (>= 0.8.0)
       tilt
@@ -508,7 +523,7 @@ GEM
       atlassian-jwt
       multipart-post
       oauth (~> 0.5, >= 0.5.0)
-    jmespath (1.3.1)
+    jmespath (1.4.0)
     js_regex (3.1.1)
       character_set (~> 1.1)
       regexp_parser (~> 1.1)
@@ -560,15 +575,20 @@ GEM
       xml-simple
     licensee (8.9.2)
       rugged (~> 0.24)
+    listen (3.1.5)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+      ruby_dep (~> 1.2)
     locale (2.1.2)
     lograge (0.10.0)
       actionpack (>= 4)
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.3.0)
+    loofah (2.3.1)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
+    lumberjack (1.0.13)
     mail (2.7.1)
       mini_mime (>= 0.1.1)
     mail_room (0.9.1)
@@ -584,7 +604,7 @@ GEM
     mime-types-data (3.2019.0331)
     mimemagic (0.3.2)
     mini_magick (4.9.5)
-    mini_mime (1.0.1)
+    mini_mime (1.0.2)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
     msgpack (1.3.1)
@@ -597,16 +617,20 @@ GEM
       mustermann (~> 1.0.0)
     nakayoshi_fork (0.0.4)
     nap (1.1.0)
+    nenv (0.3.0)
     net-ldap (0.16.0)
     net-ntp (2.1.3)
     net-ssh (5.2.0)
     netrc (0.11.0)
     nio4r (2.3.1)
     no_proxy_fix (0.1.2)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
+    notiffany (0.1.3)
+      nenv (~> 0.1)
+      shellany (~> 0.0)
     numerizer (0.1.1)
     oauth (0.5.4)
     oauth2 (1.4.1)
@@ -675,12 +699,12 @@ GEM
       activesupport
       nokogiri (>= 1.4.4)
       omniauth (~> 1.0)
-    omniauth_openid_connect (0.3.1)
+    omniauth_openid_connect (0.3.3)
       addressable (~> 2.5)
-      omniauth (~> 1.3)
+      omniauth (~> 1.9)
       openid_connect (~> 1.1)
     open4 (1.3.4)
-    openid_connect (1.1.6)
+    openid_connect (1.1.8)
       activemodel
       attr_required (>= 1.0.0)
       json-jwt (>= 1.5.0)
@@ -703,12 +727,12 @@ GEM
     pg (1.1.4)
     po_to_json (1.0.1)
       json (>= 1.6.0)
-    premailer (1.10.4)
+    premailer (1.11.1)
       addressable
-      css_parser (>= 1.4.10)
+      css_parser (>= 1.6.0)
       htmlentities (>= 4.0.0)
-    premailer-rails (1.9.7)
-      actionmailer (>= 3, < 6)
+    premailer-rails (1.10.3)
+      actionmailer (>= 3)
       premailer (~> 1.7, >= 1.7.9)
     proc_to_ast (0.1.0)
       coderay
@@ -724,7 +748,7 @@ GEM
       pry (~> 0.10)
     pry-rails (0.3.6)
       pry (>= 0.10.4)
-    public_suffix (3.1.0)
+    public_suffix (3.1.1)
     puma (3.12.0)
     puma_worker_killer (0.1.0)
       get_process_mem (~> 0.2)
@@ -734,8 +758,8 @@ GEM
     rack (2.0.7)
     rack-accept (0.4.5)
       rack (>= 0.4)
-    rack-attack (4.4.1)
-      rack
+    rack-attack (6.2.0)
+      rack (>= 1.0, < 3)
     rack-cors (1.0.2)
     rack-oauth2 (1.9.3)
       activesupport
@@ -763,10 +787,10 @@ GEM
       bundler (>= 1.3.0)
       railties (= 5.2.3)
       sprockets-rails (>= 2.0.0)
-    rails-controller-testing (1.0.2)
-      actionpack (~> 5.x, >= 5.0.1)
-      actionview (~> 5.x, >= 5.0.1)
-      activesupport (~> 5.x)
+    rails-controller-testing (1.0.4)
+      actionpack (>= 5.0.1.x)
+      actionview (>= 5.0.1.x)
+      activesupport (>= 5.0.1.x)
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
@@ -798,25 +822,25 @@ GEM
     recaptcha (4.13.1)
       json
     recursive-open-struct (1.1.0)
-    redis (4.1.2)
-    redis-actionpack (5.0.2)
-      actionpack (>= 4.0, < 6)
+    redis (4.1.3)
+    redis-actionpack (5.1.0)
+      actionpack (>= 4.0, < 7)
       redis-rack (>= 1, < 3)
       redis-store (>= 1.1.0, < 2)
-    redis-activesupport (5.0.7)
-      activesupport (>= 3, < 6)
+    redis-activesupport (5.2.0)
+      activesupport (>= 3, < 7)
       redis-store (>= 1.3, < 2)
     redis-namespace (1.6.0)
       redis (>= 3.0.4)
-    redis-rack (2.0.5)
+    redis-rack (2.0.6)
       rack (>= 1.5, < 3)
       redis-store (>= 1.2, < 2)
     redis-rails (5.0.2)
       redis-actionpack (>= 5.0, < 6)
       redis-activesupport (>= 5.0, < 6)
       redis-store (>= 1.2, < 2)
-    redis-store (1.6.0)
-      redis (>= 2.2, < 5)
+    redis-store (1.8.1)
+      redis (>= 4, < 5)
     regexp_parser (1.5.1)
     regexp_property_values (0.3.4)
     representable (3.0.4)
@@ -824,9 +848,9 @@ GEM
       declarative-option (< 0.2.0)
       uber (< 0.2.0)
     request_store (1.3.1)
-    responders (2.4.1)
-      actionpack (>= 4.2.0, < 6.0)
-      railties (>= 4.2.0, < 6.0)
+    responders (3.0.0)
+      actionpack (>= 5.0)
+      railties (>= 5.0)
     rest-client (2.0.2)
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
@@ -897,11 +921,12 @@ GEM
     ruby-progressbar (1.10.1)
     ruby-saml (1.7.2)
       nokogiri (>= 1.5.10)
+    ruby_dep (1.5.0)
     ruby_parser (3.13.1)
       sexp_processor (~> 4.9)
     rubyntlm (0.6.2)
     rubypants (0.2.0)
-    rubyzip (1.2.2)
+    rubyzip (1.3.0)
     rugged (0.28.3.1)
     safe_yaml (1.0.4)
     sanitize (4.6.6)
@@ -938,6 +963,7 @@ GEM
       faraday (>= 0.7.6, < 1.0)
     settingslogic (2.0.9)
     sexp_processor (4.12.0)
+    shellany (0.0.1)
     shoulda-matchers (4.0.1)
       activesupport (>= 4.2.0)
     sidekiq (5.2.7)
@@ -978,11 +1004,11 @@ GEM
     sshkey (2.0.0)
     stackprof (0.2.10)
     state_machines (0.5.0)
-    state_machines-activemodel (0.5.1)
-      activemodel (>= 4.1, < 6.0)
+    state_machines-activemodel (0.7.1)
+      activemodel (>= 4.1)
       state_machines (>= 0.5.0)
-    state_machines-activerecord (0.5.1)
-      activerecord (>= 4.1, < 6.0)
+    state_machines-activerecord (0.6.0)
+      activerecord (>= 4.1)
       state_machines-activemodel (>= 0.5.0)
     swd (1.1.2)
       activesupport (>= 3)
@@ -1127,12 +1153,13 @@ DEPENDENCIES
   creole (~> 0.5.0)
   danger (~> 6.0)
   database_cleaner (~> 1.7.0)
-  deckar01-task_list (= 2.2.0)
-  default_value_for (~> 3.2.0)
+  deckar01-task_list (= 2.2.1)
+  default_value_for (~> 3.3.0)
   derailed_benchmarks
   device_detector
   devise (~> 4.6)
   devise-two-factor (~> 3.0.0)
+  diff_match_patch (~> 0.1.0)
   diffy (~> 3.1.0)
   discordrb-webhooks-blackst0ne (~> 3.3)
   doorkeeper (~> 4.3)
@@ -1149,9 +1176,9 @@ DEPENDENCIES
   faraday_middleware-aws-signers-v4
   fast_blank
   ffaker (~> 2.10)
-  flipper (~> 0.13.0)
-  flipper-active_record (~> 0.13.0)
-  flipper-active_support_cache_store (~> 0.13.0)
+  flipper (~> 0.17.1)
+  flipper-active_record (~> 0.17.1)
+  flipper-active_support_cache_store (~> 0.17.1)
   flowdock (~> 0.7)
   fog-aliyun (~> 0.3)
   fog-aws (~> 3.5)
@@ -1161,14 +1188,13 @@ DEPENDENCIES
   fog-openstack (~> 1.0)
   fog-rackspace (~> 0.1.1)
   font-awesome-rails (~> 4.7)
-  foreman (~> 0.84.0)
   fugit (~> 1.2.1)
   fuubar (~> 2.2.0)
   gemojione (~> 3.3)
   gettext (~> 3.2.2)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 1.65.0)
+  gitaly (~> 1.70.0)
   github-markup (~> 1.7.0)
   gitlab-labkit (~> 0.5)
   gitlab-license (~> 1.0)
@@ -1181,8 +1207,8 @@ DEPENDENCIES
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.2)
   google-api-client (~> 0.23)
-  google-protobuf (~> 3.7.1)
-  gpgme (~> 2.0.18)
+  google-protobuf (~> 3.8.0)
+  gpgme (~> 2.0.19)
   grape (~> 1.1.0)
   grape-entity (~> 0.7.1)
   grape-path-helpers (~> 1.1)
@@ -1190,8 +1216,9 @@ DEPENDENCIES
   graphiql-rails (~> 1.4.10)
   graphql (~> 1.9.11)
   graphql-docs (~> 1.6.0)
-  grpc (~> 1.19.0)
+  grpc (~> 1.24.0)
   gssapi
+  guard-rspec
   haml_lint (~> 0.31.0)
   hamlit (~> 2.8.8)
   hangouts-chat (~> 0.0.5)
@@ -1226,7 +1253,7 @@ DEPENDENCIES
   net-ldap
   net-ntp
   net-ssh (~> 5.2)
-  nokogiri (~> 1.10.4)
+  nokogiri (~> 1.10.5)
   oauth2 (~> 1.4)
   octokit (~> 4.9)
   omniauth (~> 1.8)
@@ -1246,17 +1273,17 @@ DEPENDENCIES
   omniauth-twitter (~> 1.4)
   omniauth-ultraauth (~> 0.0.2)
   omniauth_crowd (~> 2.2.0)
-  omniauth_openid_connect (~> 0.3.1)
+  omniauth_openid_connect (~> 0.3.3)
   org-ruby (~> 0.9.12)
   pg (~> 1.1)
-  premailer-rails (~> 1.9.7)
+  premailer-rails (~> 1.10.3)
   prometheus-client-mmap (~> 0.9.10)
   pry-byebug (~> 3.5.1)
   pry-rails (~> 0.3.4)
   puma (~> 3.12)
   puma_worker_killer
   rack (~> 2.0.7)
-  rack-attack (~> 4.4.1)
+  rack-attack (~> 6.2.0)
   rack-cors (~> 1.0.0)
   rack-oauth2 (~> 1.9.3)
   rack-proxy (~> 0.6.0)
@@ -1275,7 +1302,8 @@ DEPENDENCIES
   redis-namespace (~> 1.6.0)
   redis-rails (~> 5.0.2)
   request_store (~> 1.3)
-  responders (~> 2.0)
+  responders (~> 3.0)
+  retriable (~> 3.1.2)
   rouge (~> 3.11.0)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
@@ -1291,7 +1319,7 @@ DEPENDENCIES
   ruby-prof (~> 1.0.0)
   ruby-progressbar
   ruby_parser (~> 3.8)
-  rubyzip (~> 1.2.2)
+  rubyzip (~> 1.3.0)
   rugged (~> 0.28)
   sanitize (~> 4.6)
   sassc-rails (~> 2.1.0)
@@ -1312,7 +1340,7 @@ DEPENDENCIES
   sprockets (~> 3.7.0)
   sshkey (~> 2.0)
   stackprof (~> 0.2.10)
-  state_machines-activerecord (~> 0.5.1)
+  state_machines-activerecord (~> 0.6.0)
   sys-filesystem (~> 1.1.6)
   test-prof (~> 0.10.0)
   thin (~> 1.7.0)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 84a984ea2b3..dc9c8128d2f 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -146,10 +146,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl";
+      sha256 = "1nvhd986xa6llyjnhikq4h1nrcf5b9r9s11if25qsj8358inrpga";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "6.5.0";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -309,16 +309,26 @@
     };
     version = "1.8.0";
   };
+  aws-eventstream = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "100g77a5ixg4p5zwq77f28n2pdkk0y481f7v83qrlmnj22318qq6";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   aws-sdk = {
     dependencies = ["aws-sdk-resources"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03r754cqa0jayf1nxpcmp1anaypxwpcjyjaq5cz7i04l9jdxvsnn";
+      sha256 = "1yvl9bxzaxgcyzix2yw46cgll9nl0xfg5qx1j6y3xc1i78rk7vy0";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sdk-core = {
     dependencies = ["aws-sigv4" "jmespath"];
@@ -326,10 +336,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pq09wwb74y4m5adk4hi4zlz05q6sxjxij6g71v6nkd0z83hi34x";
+      sha256 = "1d7nw1jihv7rglcmkd3hhidjflbzq5ik63n43q27pmx8ki108rd9";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sdk-resources = {
     dependencies = ["aws-sdk-core"];
@@ -337,20 +347,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15m56k12x9gzkcyhwrab1qhi3wqla0qmv84dkqcjwp44d7c2xjyi";
+      sha256 = "0qx2a67vsw8rz1y0m04f97p1q4zx7miy06a5ck78hm77nvsigjj4";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sigv4 = {
+    dependencies = ["aws-eventstream"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cnrfxbaxn86qrxhfidg10f89ka1hddihakdhcvnri0dljaw7dsz";
+      sha256 = "1dfc8i5cxjwlvi4b665lbpbwvks8a6wfy3vfmwr3pjdmxwdmc2cs";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.1.0";
   };
   axiom-types = {
     dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
@@ -814,10 +825,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
+      sha256 = "030sc98kjrb36rh7g21qsbdfxrj6knsjkx0mn3b7gig8zknwhp2f";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   creole = {
     groups = ["default"];
@@ -835,10 +846,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jlr17cn044yaq4l3d9p42g3bghnamwsprq9c39xn6pxjrn5k1hy";
+      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.7.0";
   };
   daemons = {
     groups = ["default" "development"];
@@ -901,10 +912,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s637v5pi5ipmv0gn9g2wwjpxdm27dvppfjd8ml0dc1m0jsm7964";
+      sha256 = "09k7rlxsl7pd5kn3wyswgqi0hhbmlj40b66l4mf8v9mqf3c7v0yk";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.1";
   };
   declarative = {
     groups = ["default"];
@@ -932,10 +943,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xj9d1y2fk3kxfm1kyiwasjpw6r1w7c1xjx26sm3c33xhmz57fla";
+      sha256 = "08hwnnqm3bxd4n627isliq79zysdlmfkf813403v0b4mkhika5my";
       type = "gem";
     };
-    version = "3.2.0";
+    version = "3.3.0";
   };
   derailed_benchmarks = {
     dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"];
@@ -1001,6 +1012,16 @@
     };
     version = "1.3";
   };
+  diff_match_patch = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03n4g4w2pwiygmqq5lfhqrpbs9g6kv0jhb3vrffz3vgaryzmfq5k";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
   diffy = {
     groups = ["default"];
     platforms = [];
@@ -1374,10 +1395,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pdj9y3k6padiicfraxw9ibx9fm8yi2ihh608736lq5nnbf3k6gw";
+      sha256 = "01gbn1qmcvn49gjcbvd5fga57qc8l3915kb04ikkffvb6n09q7f7";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flipper-active_record = {
     dependencies = ["activerecord" "flipper"];
@@ -1385,10 +1406,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rgm4h5h6xcbf17z47sw8ancaxva8x4hwlxmyqpm0vzj1pnc47c1";
+      sha256 = "154q9xajqs64gxa9fv4hwpad44x3rmwgpldrb941i8wi37dpzskg";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flipper-active_support_cache_store = {
     dependencies = ["activesupport" "flipper"];
@@ -1396,10 +1417,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zpikmfhadb7l1ny6xbhk5d4840im6yq0wvfsnlw718spxi4ccgk";
+      sha256 = "0mkbyn3mx3f411x4z1l1djc9vix3wrfzd5rhrmxb83iqp60r42hg";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flowdock = {
     dependencies = ["httparty" "multi_json"];
@@ -1517,21 +1538,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11mf7bk2737pyxjwba3a9lpgcxzbp0vgq01n2dn30774zysc90hj";
+      sha256 = "0a32q69rdsdw9zhmf2cflvvnikg20amidhn40sv2afw2qk91fcrz";
       type = "gem";
     };
-    version = "4.7.0.4";
-  };
-  foreman = {
-    dependencies = ["thor"];
-    groups = ["development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06mq39lpmc17bxzlwhad9d8i0lcnbb08xr18smh2x79mm631wsw0";
-      type = "gem";
-    };
-    version = "0.84.0";
+    version = "4.7.0.5";
   };
   formatador = {
     groups = ["default"];
@@ -1645,10 +1655,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h8jzwifqgkrgh9d05g0vsdkyrnk75i53lmm3pfp9rj47gvn1z1j";
+      sha256 = "0b705d2fmdisirf3hydakswdr8jq786wbqn053gvxgssrwcdlrq3";
       type = "gem";
     };
-    version = "1.65.0";
+    version = "1.70.0";
   };
   github-markup = {
     groups = ["default"];
@@ -1666,10 +1676,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j06gl4ksd83rycg3fb46bb77iw74i1ivs5li6pyf5klrxjq8k3h";
+      sha256 = "0r2zkxkj2l78c6qgr6k9lgcp7w6x7r703259rbsbrg7cfnjm43b7";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.7.0";
   };
   gitlab-license = {
     groups = ["default"];
@@ -1794,10 +1804,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2";
+      sha256 = "0by3289irdklb9gjqw41fq6mg6yja3iyzh99dj8p8z9l4brllqn4";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.0";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -1827,10 +1837,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12fqirxr964mc8jwsfl5nif6q4wcckrmj7w4c9ci4xg9xy2b9v6m";
+      sha256 = "0jbqajngi5ndqfarw9dxkhbphva0j71jav5wfym3fsiisvk5gg6p";
       type = "gem";
     };
-    version = "2.0.18";
+    version = "2.0.19";
   };
   grape = {
     dependencies = ["activesupport" "builder" "mustermann-grape" "rack" "rack-accept" "virtus"];
@@ -1914,10 +1924,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs";
+      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.24.0";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -1930,6 +1940,38 @@
     };
     version = "1.2.0";
   };
+  guard = {
+    dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "000hn5cdqz3wl99b245q958c5byi2dlsqi814q5gmyljv7i47zwf";
+      type = "gem";
+    };
+    version = "2.15.1";
+  };
+  guard-compat = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  guard-rspec = {
+    dependencies = ["guard" "guard-compat" "rspec"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4";
+      type = "gem";
+    };
+    version = "4.7.3";
+  };
   haml = {
     dependencies = ["temple" "tilt"];
     groups = ["default" "development" "test"];
@@ -2241,10 +2283,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07w8ipjg59qavijq59hl82zs74jf3jsp7vxl9q3a2d0wpv5akz3y";
+      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.4.0";
   };
   js_regex = {
     dependencies = ["character_set" "regexp_parser" "regexp_property_values"];
@@ -2450,6 +2492,17 @@
     };
     version = "8.9.2";
   };
+  listen = {
+    dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
+      type = "gem";
+    };
+    version = "3.1.5";
+  };
   locale = {
     groups = ["default" "development"];
     platforms = [];
@@ -2477,10 +2530,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kfq90vi38gv6i128f4zg462kj32szs5vsgm25hxgw9zd12pj9x";
+      sha256 = "0npqav026zd7r4qdidq9x5nxcp2dzg71bnp421xxx7sngbxf2xbd";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.3.1";
+  };
+  lumberjack = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n";
+      type = "gem";
+    };
+    version = "1.0.13";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -2605,10 +2668,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   mini_portile2 = {
     groups = ["default" "development" "test"];
@@ -2721,6 +2784,16 @@
     };
     version = "1.1.0";
   };
+  nenv = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
   net-ldap = {
     groups = ["default"];
     platforms = [];
@@ -2787,10 +2860,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -2803,6 +2876,17 @@
     };
     version = "1.5.0";
   };
+  notiffany = {
+    dependencies = ["nenv" "shellany"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0f47h3bmg1apr4x51szqfv3rh2vq58z3grh4w02cp3bzbdh6jxnk";
+      type = "gem";
+    };
+    version = "0.1.3";
+  };
   numerizer = {
     groups = ["default"];
     platforms = [];
@@ -3071,10 +3155,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ja7cjlm4z0k0pwwy64djl58pay3lzkw7im565fybs4a8q4wmacb";
+      sha256 = "0awybp2jnai0w2qfgqnr3f478g3nbg5r0vcm6pa5g8k5f4rs19qr";
       type = "gem";
     };
-    version = "0.3.1";
+    version = "0.3.3";
   };
   open4 = {
     groups = ["default" "development"];
@@ -3092,10 +3176,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd";
+      sha256 = "0r50vwf9hsf6r8gx5mwqs3w3w92l864ikiz9d0fcibqsr1489pbg";
       type = "gem";
     };
-    version = "1.1.6";
+    version = "1.1.8";
   };
   opentracing = {
     groups = ["default"];
@@ -3206,10 +3290,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10w6f7r6snpkcnv3byxma9b08lyqzcfxkm083scb2dr2ly4xkzyf";
+      sha256 = "1xrhmialxn5vlp1nmf40a4db9gji4h2wbzd7f43sz64z8lvrjj6h";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.11.1";
   };
   premailer-rails = {
     dependencies = ["actionmailer" "premailer"];
@@ -3217,10 +3301,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05czxmx6hnykg6g23hy2ww2bf86a69njbi02sv7lrds4w776jhim";
+      sha256 = "0bqi7d4f15vy3f1g0xb3bxmncfbzv9dd3ilhqj0plvw64xqbkp3w";
       type = "gem";
     };
-    version = "1.9.7";
+    version = "1.10.3";
   };
   proc_to_ast = {
     dependencies = ["coderay" "parser" "unparser"];
@@ -3299,10 +3383,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
+      sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.1.1";
   };
   puma = {
     groups = ["puma"];
@@ -3372,10 +3456,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1czx68p70x98y21dkdndsb64lrxf9qrv09wl1dbcxrypcjnpsdl1";
+      sha256 = "1sqjqwa18c0l59zdymcvvvnh5nk3pjggnzaydb2q1qbrk3rypcnq";
       type = "gem";
     };
-    version = "4.4.1";
+    version = "6.2.0";
   };
   rack-cors = {
     groups = ["default"];
@@ -3458,10 +3542,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy";
+      sha256 = "1m1rklj6pvzi4fydxcmcv4q0xd7913hhhw1hw530nfz1wkl7vjlf";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.4";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "nokogiri"];
@@ -3640,10 +3724,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mymdx7s5sr4mablklaipz679ckczsiigswm1g2v5mc93yj5amw3";
+      sha256 = "08v2y91q1pmv12g9zsvwj66w3s8j9d82yrmxgyv4y4gz380j3wyh";
       type = "gem";
     };
-    version = "4.1.2";
+    version = "4.1.3";
   };
   redis-actionpack = {
     dependencies = ["actionpack" "redis-rack" "redis-store"];
@@ -3651,10 +3735,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15k41gz7nygd4yydk2yd25gghya1j7q6zifk4mdrra6bwnwjbm63";
+      sha256 = "1hvai5ygkyii9wq8h98wim8shgrm7vkv0js62zpm85vdl1xzvphz";
       type = "gem";
     };
-    version = "5.0.2";
+    version = "5.1.0";
   };
   redis-activesupport = {
     dependencies = ["activesupport" "redis-store"];
@@ -3662,10 +3746,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y1df62gpqgy0yrlmgl05rp4kb0xvn0kylprhv1k32bs33dgpv62";
+      sha256 = "14a3z8810j02ysvg53f3mvcfb4rw34m91yfd19zy9y5lb3yv2g59";
       type = "gem";
     };
-    version = "5.0.7";
+    version = "5.2.0";
   };
   redis-namespace = {
     dependencies = ["redis"];
@@ -3684,10 +3768,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03xgdmq4fh187aqlh8z05idbxrmgddcarlb8x1kw4wjfcsf5afqi";
+      sha256 = "1pa19ydbk0l6wilwbxcjn6knfs4ffgj0rhaaldrlhf76pjgkaiqb";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "2.0.6";
   };
   redis-rails = {
     dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
@@ -3706,10 +3790,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mrcnjgkbmx1zf569mly82agdizqayjvnp2k6055k1iy07in3j8b";
+      sha256 = "1isqzzds9kszc2nn8jiy8ikry01qspn7637ba9z2k6sk7vky46d9";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.8.1";
   };
   regexp_parser = {
     groups = ["default" "development" "test"];
@@ -3758,10 +3842,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18lqbiyc7234vd6iwxia5yvvzg6bdvdwl2nm4a5y7ia5fxjl3kqm";
+      sha256 = "1p7pqcfq33q1z4xlp4qm94w4h3fzc1yvr3cny16d00i8b20v4rx2";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "3.0.0";
   };
   rest-client = {
     dependencies = ["http-cookie" "mime-types" "netrc"];
@@ -4052,6 +4136,16 @@
     };
     version = "1.7.2";
   };
+  ruby_dep = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
   ruby_parser = {
     dependencies = ["sexp_processor"];
     groups = ["default"];
@@ -4084,14 +4178,14 @@
     version = "0.2.0";
   };
   rubyzip = {
-    groups = ["default" "development" "test"];
+    groups = ["default" "development" "omnibus" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj";
+      sha256 = "1qxc2zxwwipm6kviiar4gfhcakpx1jdcs89v6lvzivn5hq1xk78l";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   rugged = {
     groups = ["default"];
@@ -4243,6 +4337,16 @@
     };
     version = "4.12.0";
   };
+  shellany = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf";
+      type = "gem";
+    };
+    version = "0.0.1";
+  };
   shoulda-matchers = {
     dependencies = ["activesupport"];
     groups = ["test"];
@@ -4439,10 +4543,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0chhm5hs1y83dq8haff10m66r3yrm7jab35r9xg6adn6qd8ynv2l";
+      sha256 = "05c2dw3115zj3pmyyqh2iypc7afj8ibhrghisg0d61z7gzmir1rd";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.7.1";
   };
   state_machines-activerecord = {
     dependencies = ["activerecord" "state_machines-activemodel"];
@@ -4450,10 +4554,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00h07gd4kb22ahgv61r8zca9hqxaw44fnk2sc28j00c1nmwsw6r3";
+      sha256 = "12g7yqy11fpfiprzc86pwa9jjky1h3haxj37kg47467fgg43p511";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.6.0";
   };
   swd = {
     dependencies = ["activesupport" "attr_required" "httpclient"];
diff --git a/pkgs/applications/version-management/gitlab/yarnPkgs.nix b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
index cff2603129d..04c0b44f4ac 100644
--- a/pkgs/applications/version-management/gitlab/yarnPkgs.nix
+++ b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
@@ -42,14 +42,6 @@
       };
     }
     {
-      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";
@@ -210,14 +202,6 @@
       };
     }
     {
-      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.6.2.tgz";
       path = fetchurl {
         name = "_babel_parser___parser_7.6.2.tgz";
@@ -242,22 +226,6 @@
       };
     }
     {
-      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";
@@ -266,38 +234,6 @@
       };
     }
     {
-      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";
@@ -306,30 +242,6 @@
       };
     }
     {
-      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.6.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
@@ -346,22 +258,6 @@
       };
     }
     {
-      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_private_methods___plugin_proposal_private_methods_7.6.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.6.0.tgz";
@@ -370,14 +266,6 @@
       };
     }
     {
-      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.6.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
@@ -394,22 +282,6 @@
       };
     }
     {
-      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";
@@ -418,46 +290,6 @@
       };
     }
     {
-      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";
@@ -474,38 +306,6 @@
       };
     }
     {
-      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";
@@ -522,30 +322,6 @@
       };
     }
     {
-      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";
@@ -626,14 +402,6 @@
       };
     }
     {
-      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";
@@ -738,38 +506,6 @@
       };
     }
     {
-      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";
@@ -842,30 +578,6 @@
       };
     }
     {
-      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_standalone___standalone_7.5.5.tgz";
       path = fetchurl {
         name = "_babel_standalone___standalone_7.5.5.tgz";
@@ -938,27 +650,27 @@
       };
     }
     {
-      name = "_gitlab_svgs___svgs_1.78.0.tgz";
+      name = "_gitlab_svgs___svgs_1.82.0.tgz";
       path = fetchurl {
-        name = "_gitlab_svgs___svgs_1.78.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.78.0.tgz";
-        sha1 = "469493bd6cdd254eb5d1271edeab22bbbee2f4c4";
+        name = "_gitlab_svgs___svgs_1.82.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.82.0.tgz";
+        sha1 = "c059c460afc13ebfe9df370521ca8963fa5afb80";
       };
     }
     {
-      name = "_gitlab_ui___ui_5.36.0.tgz";
+      name = "_gitlab_ui___ui_7.11.0.tgz";
       path = fetchurl {
-        name = "_gitlab_ui___ui_5.36.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-5.36.0.tgz";
-        sha1 = "3087b23c138ad1c222f6b047e533f253371bc618";
+        name = "_gitlab_ui___ui_7.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-7.11.0.tgz";
+        sha1 = "b5c981f3b1edbf0ad75bcca8fa1cd81017676b3b";
       };
     }
     {
-      name = "_gitlab_visual_review_tools___visual_review_tools_1.0.3.tgz";
+      name = "_gitlab_visual_review_tools___visual_review_tools_1.2.0.tgz";
       path = fetchurl {
-        name = "_gitlab_visual_review_tools___visual_review_tools_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/visual-review-tools/-/visual-review-tools-1.0.3.tgz";
-        sha1 = "b49c4a6fd8af3a1517d7e7d04096562f8bcb5d14";
+        name = "_gitlab_visual_review_tools___visual_review_tools_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/visual-review-tools/-/visual-review-tools-1.2.0.tgz";
+        sha1 = "8d6757917193c1023012bb4a316dc1a97309a27a";
       };
     }
     {
@@ -1074,6 +786,62 @@
       };
     }
     {
+      name = "_sentry_browser___browser_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_browser___browser_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.7.1.tgz";
+        sha1 = "1f8435e2a325d7a09f830065ebce40a2b3c708a4";
+      };
+    }
+    {
+      name = "_sentry_core___core_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_core___core_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/core/-/core-5.7.1.tgz";
+        sha1 = "3eb2b7662cac68245931ee939ec809bf7a639d0e";
+      };
+    }
+    {
+      name = "_sentry_hub___hub_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_hub___hub_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.7.1.tgz";
+        sha1 = "a52acd9fead7f3779d96e9965c6978aecc8b9cad";
+      };
+    }
+    {
+      name = "_sentry_minimal___minimal_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_minimal___minimal_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.7.1.tgz";
+        sha1 = "56afc537737586929e25349765e37a367958c1e1";
+      };
+    }
+    {
+      name = "_sentry_types___types_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_types___types_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/types/-/types-5.7.1.tgz";
+        sha1 = "4c4c1d4d891b6b8c2c3c7b367d306a8b1350f090";
+      };
+    }
+    {
+      name = "_sentry_utils___utils_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_utils___utils_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.7.1.tgz";
+        sha1 = "cf37ad55f78e317665cd8680f202d307fa77f1d0";
+      };
+    }
+    {
+      name = "_sourcegraph_code_host_integration___code_host_integration_0.0.13.tgz";
+      path = fetchurl {
+        name = "_sourcegraph_code_host_integration___code_host_integration_0.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.13.tgz";
+        sha1 = "4fd5fe1e0088c63b2a26be231c5a2a4ca79b1596";
+      };
+    }
+    {
       name = "_types_anymatch___anymatch_1.3.0.tgz";
       path = fetchurl {
         name = "_types_anymatch___anymatch_1.3.0.tgz";
@@ -1434,6 +1202,22 @@
       };
     }
     {
+      name = "_wry_context___context_0.4.4.tgz";
+      path = fetchurl {
+        name = "_wry_context___context_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@wry/context/-/context-0.4.4.tgz";
+        sha1 = "e50f5fa1d6cfaabf2977d1fda5ae91717f8815f8";
+      };
+    }
+    {
+      name = "_wry_equality___equality_0.1.9.tgz";
+      path = fetchurl {
+        name = "_wry_equality___equality_0.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.9.tgz";
+        sha1 = "b13e18b7a8053c6858aa6c85b54911fb31e3a909";
+      };
+    }
+    {
       name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
       path = fetchurl {
         name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
@@ -1458,14 +1242,6 @@
       };
     }
     {
-      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 = "abab___abab_2.0.0.tgz";
       path = fetchurl {
         name = "abab___abab_2.0.0.tgz";
@@ -1658,27 +1434,27 @@
       };
     }
     {
-      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.5.1.tgz";
+      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
       path = fetchurl {
-        name = "apollo_cache_inmemory___apollo_cache_inmemory_1.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.5.1.tgz";
-        sha1 = "265d1ee67b0bf0aca9c37629d410bfae44e62953";
+        name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.3.tgz";
+        sha1 = "826861d20baca4abc45f7ca7a874105905b8525d";
       };
     }
     {
-      name = "apollo_cache___apollo_cache_1.2.1.tgz";
+      name = "apollo_cache___apollo_cache_1.3.2.tgz";
       path = fetchurl {
-        name = "apollo_cache___apollo_cache_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.2.1.tgz";
-        sha1 = "aae71eb4a11f1f7322adc343f84b1a39b0693644";
+        name = "apollo_cache___apollo_cache_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.2.tgz";
+        sha1 = "df4dce56240d6c95c613510d7e409f7214e6d26a";
       };
     }
     {
-      name = "apollo_client___apollo_client_2.5.1.tgz";
+      name = "apollo_client___apollo_client_2.6.4.tgz";
       path = fetchurl {
-        name = "apollo_client___apollo_client_2.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.5.1.tgz";
-        sha1 = "36126ed1d32edd79c3713c6684546a3bea80e6d1";
+        name = "apollo_client___apollo_client_2.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.4.tgz";
+        sha1 = "872c32927263a0d34655c5ef8a8949fbb20b6140";
       };
     }
     {
@@ -1698,14 +1474,6 @@
       };
     }
     {
-      name = "apollo_link_dedup___apollo_link_dedup_1.0.10.tgz";
-      path = fetchurl {
-        name = "apollo_link_dedup___apollo_link_dedup_1.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-link-dedup/-/apollo-link-dedup-1.0.10.tgz";
-        sha1 = "7b94589fe7f969777efd18a129043c78430800ae";
-      };
-    }
-    {
       name = "apollo_link_http_common___apollo_link_http_common_0.2.13.tgz";
       path = fetchurl {
         name = "apollo_link_http_common___apollo_link_http_common_0.2.13.tgz";
@@ -1730,19 +1498,11 @@
       };
     }
     {
-      name = "apollo_utilities___apollo_utilities_1.2.1.tgz";
+      name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
       path = fetchurl {
-        name = "apollo_utilities___apollo_utilities_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.2.1.tgz";
-        sha1 = "1c3a1ebf5607d7c8efe7636daaf58e7463b41b3c";
-      };
-    }
-    {
-      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 = "apollo_utilities___apollo_utilities_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.2.tgz";
+        sha1 = "8cbdcf8b012f664cd6cb5767f6130f5aed9115c9";
       };
     }
     {
@@ -2122,14 +1882,6 @@
       };
     }
     {
-      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_7.0.0_beta.19.tgz";
       path = fetchurl {
         name = "babylon___babylon_7.0.0_beta.19.tgz";
@@ -2298,14 +2050,6 @@
       };
     }
     {
-      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 = "bonjour___bonjour_3.5.0.tgz";
       path = fetchurl {
         name = "bonjour___bonjour_3.5.0.tgz";
@@ -2458,14 +2202,6 @@
       };
     }
     {
-      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_from___buffer_from_1.1.1.tgz";
       path = fetchurl {
         name = "buffer_from___buffer_from_1.1.1.tgz";
@@ -2490,14 +2226,6 @@
       };
     }
     {
-      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_xor___buffer_xor_1.0.3.tgz";
       path = fetchurl {
         name = "buffer_xor___buffer_xor_1.0.3.tgz";
@@ -2522,14 +2250,6 @@
       };
     }
     {
-      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";
@@ -2578,14 +2298,6 @@
       };
     }
     {
-      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 = "call_me_maybe___call_me_maybe_1.0.1.tgz";
       path = fetchurl {
         name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
@@ -2994,14 +2706,6 @@
       };
     }
     {
-      name = "clone_buffer___clone_buffer_1.0.0.tgz";
-      path = fetchurl {
-        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_deep___clone_deep_4.0.1.tgz";
       path = fetchurl {
         name = "clone_deep___clone_deep_4.0.1.tgz";
@@ -3018,30 +2722,6 @@
       };
     }
     {
-      name = "clone_stats___clone_stats_1.0.0.tgz";
-      path = fetchurl {
-        name = "clone_stats___clone_stats_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz";
-        sha1 = "b3782dff8bb5474e18b9b6bf0fdfe782f8777680";
-      };
-    }
-    {
-      name = "clone___clone_2.1.2.tgz";
-      path = fetchurl {
-        name = "clone___clone_2.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz";
-        sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f";
-      };
-    }
-    {
-      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 = "co___co_4.6.0.tgz";
       path = fetchurl {
         name = "co___co_4.6.0.tgz";
@@ -3138,14 +2818,6 @@
       };
     }
     {
-      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";
@@ -3242,14 +2914,6 @@
       };
     }
     {
-      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";
@@ -3346,14 +3010,6 @@
       };
     }
     {
-      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";
@@ -3554,6 +3210,14 @@
       };
     }
     {
+      name = "crypto_random_string___crypto_random_string_3.0.1.tgz";
+      path = fetchurl {
+        name = "crypto_random_string___crypto_random_string_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-3.0.1.tgz";
+        sha1 = "29d7dc759d577a768afb3b7b2765dd9bd7ffe36a";
+      };
+    }
+    {
       name = "css_b64_images___css_b64_images_0.2.5.tgz";
       path = fetchurl {
         name = "css_b64_images___css_b64_images_0.2.5.tgz";
@@ -3618,6 +3282,14 @@
       };
     }
     {
+      name = "cssfontparser___cssfontparser_1.2.1.tgz";
+      path = fetchurl {
+        name = "cssfontparser___cssfontparser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz";
+        sha1 = "f4022fc8f9700c68029d542084afbaf425a3f3e3";
+      };
+    }
+    {
       name = "cssom___cssom_0.3.4.tgz";
       path = fetchurl {
         name = "cssom___cssom_0.3.4.tgz";
@@ -3946,27 +3618,27 @@
       };
     }
     {
-      name = "d3___d3_5.9.2.tgz";
+      name = "d3___d3_5.12.0.tgz";
       path = fetchurl {
-        name = "d3___d3_5.9.2.tgz";
-        url  = "https://registry.yarnpkg.com/d3/-/d3-5.9.2.tgz";
-        sha1 = "64e8a7e9c3d96d9e6e4999d2c8a2c829767e67f5";
+        name = "d3___d3_5.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3/-/d3-5.12.0.tgz";
+        sha1 = "0ddeac879c28c882317cd439b495290acd59ab61";
       };
     }
     {
-      name = "dagre_d3_renderer___dagre_d3_renderer_0.5.8.tgz";
+      name = "https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b";
       path = fetchurl {
-        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";
+        name = "https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b";
+        url  = "https://codeload.github.com/dagrejs/dagre-d3/tar.gz/e1a00e5cb518f5d2304a35647e024f31d178e55b";
+        sha1 = "7400df3f5fe80538fde43d0201e1570e1d689004";
       };
     }
     {
-      name = "dagre_layout___dagre_layout_0.8.8.tgz";
+      name = "dagre___dagre_0.8.4.tgz";
       path = fetchurl {
-        name = "dagre_layout___dagre_layout_0.8.8.tgz";
-        url  = "https://registry.yarnpkg.com/dagre-layout/-/dagre-layout-0.8.8.tgz";
-        sha1 = "9b6792f24229f402441c14162c1049e3f261f6d9";
+        name = "dagre___dagre_0.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/dagre/-/dagre-0.8.4.tgz";
+        sha1 = "26b9fb8f7bdc60c6110a0458c375261836786061";
       };
     }
     {
@@ -4066,11 +3738,11 @@
       };
     }
     {
-      name = "deckar01_task_list___deckar01_task_list_2.2.0.tgz";
+      name = "deckar01_task_list___deckar01_task_list_2.2.1.tgz";
       path = fetchurl {
-        name = "deckar01_task_list___deckar01_task_list_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/deckar01-task_list/-/deckar01-task_list-2.2.0.tgz";
-        sha1 = "5cc3ea06f01d3d786b1a667064a462eb5d069bd3";
+        name = "deckar01_task_list___deckar01_task_list_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/deckar01-task_list/-/deckar01-task_list-2.2.1.tgz";
+        sha1 = "e1e8a16c4fd6e153e51fd9258fdbee067ebcd86b";
       };
     }
     {
@@ -4162,14 +3834,6 @@
       };
     }
     {
-      name = "defined___defined_1.0.0.tgz";
-      path = fetchurl {
-        name = "defined___defined_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz";
-        sha1 = "c98d9bcef75674188e110969151199e39b1fa693";
-      };
-    }
-    {
       name = "del___del_2.2.2.tgz";
       path = fetchurl {
         name = "del___del_2.2.2.tgz";
@@ -4242,14 +3906,6 @@
       };
     }
     {
-      name = "detab___detab_2.0.2.tgz";
-      path = fetchurl {
-        name = "detab___detab_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/detab/-/detab-2.0.2.tgz";
-        sha1 = "074970d1a807b045d0258a4235df5928dd683561";
-      };
-    }
-    {
       name = "detect_file___detect_file_1.0.0.tgz";
       path = fetchurl {
         name = "detect_file___detect_file_1.0.0.tgz";
@@ -4282,14 +3938,6 @@
       };
     }
     {
-      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 = "di___di_0.0.1.tgz";
       path = fetchurl {
         name = "di___di_0.0.1.tgz";
@@ -4314,14 +3962,6 @@
       };
     }
     {
-      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.2.tgz";
       path = fetchurl {
         name = "diffie_hellman___diffie_hellman_5.0.2.tgz";
@@ -4370,14 +4010,6 @@
       };
     }
     {
-      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";
@@ -4402,14 +4034,6 @@
       };
     }
     {
-      name = "documentation___documentation_12.0.3.tgz";
-      path = fetchurl {
-        name = "documentation___documentation_12.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/documentation/-/documentation-12.0.3.tgz";
-        sha1 = "32f91da8e5cb4104f69db9fd32c87773a1ad6240";
-      };
-    }
-    {
       name = "dom_serialize___dom_serialize_2.2.1.tgz";
       path = fetchurl {
         name = "dom_serialize___dom_serialize_2.2.1.tgz";
@@ -4490,14 +4114,6 @@
       };
     }
     {
-      name = "duplexer2___duplexer2_0.1.4.tgz";
-      path = fetchurl {
-        name = "duplexer2___duplexer2_0.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz";
-        sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
-      };
-    }
-    {
       name = "duplexer3___duplexer3_0.1.4.tgz";
       path = fetchurl {
         name = "duplexer3___duplexer3_0.1.4.tgz";
@@ -4586,14 +4202,6 @@
       };
     }
     {
-      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";
@@ -4714,14 +4322,6 @@
       };
     }
     {
-      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";
@@ -5546,14 +5146,6 @@
       };
     }
     {
-      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_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
       path = fetchurl {
         name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
@@ -5650,14 +5242,6 @@
       };
     }
     {
-      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";
-      };
-    }
-    {
       name = "get_stdin___get_stdin_4.0.1.tgz";
       path = fetchurl {
         name = "get_stdin___get_stdin_4.0.1.tgz";
@@ -5738,38 +5322,6 @@
       };
     }
     {
-      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_parent___glob_parent_3.1.0.tgz";
       path = fetchurl {
         name = "glob_parent___glob_parent_3.1.0.tgz";
@@ -5786,14 +5338,6 @@
       };
     }
     {
-      name = "glob_stream___glob_stream_6.1.0.tgz";
-      path = fetchurl {
-        name = "glob_stream___glob_stream_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz";
-        sha1 = "7045c99413b3eb94888d83ab46d0b404cc7bdde4";
-      };
-    }
-    {
       name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
       path = fetchurl {
         name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
@@ -5858,14 +5402,6 @@
       };
     }
     {
-      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";
@@ -5962,11 +5498,11 @@
       };
     }
     {
-      name = "graphlibrary___graphlibrary_2.2.0.tgz";
+      name = "graphlib___graphlib_2.1.7.tgz";
       path = fetchurl {
-        name = "graphlibrary___graphlibrary_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/graphlibrary/-/graphlibrary-2.2.0.tgz";
-        sha1 = "017a14899775228dec4497a39babfdd6bf56eac6";
+        name = "graphlib___graphlib_2.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz";
+        sha1 = "b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc";
       };
     }
     {
@@ -6154,38 +5690,6 @@
       };
     }
     {
-      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.2.0.tgz";
       path = fetchurl {
         name = "he___he_1.2.0.tgz";
@@ -6194,14 +5698,6 @@
       };
     }
     {
-      name = "highlight.js___highlight.js_9.15.8.tgz";
-      path = fetchurl {
-        name = "highlight.js___highlight.js_9.15.8.tgz";
-        url  = "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.8.tgz";
-        sha1 = "f344fda123f36f1a65490e932cf90569e4999971";
-      };
-    }
-    {
       name = "highlight.js___highlight.js_9.13.1.tgz";
       path = fetchurl {
         name = "highlight.js___highlight.js_9.13.1.tgz";
@@ -6282,14 +5778,6 @@
       };
     }
     {
-      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 = "htmlparser2___htmlparser2_3.10.0.tgz";
       path = fetchurl {
         name = "htmlparser2___htmlparser2_3.10.0.tgz";
@@ -6442,14 +5930,6 @@
       };
     }
     {
-      name = "immutable_tuple___immutable_tuple_0.4.9.tgz";
-      path = fetchurl {
-        name = "immutable_tuple___immutable_tuple_0.4.9.tgz";
-        url  = "https://registry.yarnpkg.com/immutable-tuple/-/immutable-tuple-0.4.9.tgz";
-        sha1 = "473ebdd6c169c461913a454bf87ef8f601a20ff0";
-      };
-    }
-    {
       name = "import_fresh___import_fresh_2.0.0.tgz";
       path = fetchurl {
         name = "import_fresh___import_fresh_2.0.0.tgz";
@@ -6658,14 +6138,6 @@
       };
     }
     {
-      name = "is_absolute___is_absolute_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_absolute___is_absolute_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz";
-        sha1 = "395e1ae84b11f26ad1795e73c17378e48a301576";
-      };
-    }
-    {
       name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
       path = fetchurl {
         name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
@@ -6922,14 +6394,6 @@
       };
     }
     {
-      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_npm___is_npm_1.0.0.tgz";
       path = fetchurl {
         name = "is_npm___is_npm_1.0.0.tgz";
@@ -7066,14 +6530,6 @@
       };
     }
     {
-      name = "is_relative___is_relative_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_relative___is_relative_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz";
-        sha1 = "a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d";
-      };
-    }
-    {
       name = "is_resolvable___is_resolvable_1.1.0.tgz";
       path = fetchurl {
         name = "is_resolvable___is_resolvable_1.1.0.tgz";
@@ -7090,14 +6546,6 @@
       };
     }
     {
-      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";
@@ -7122,14 +6570,6 @@
       };
     }
     {
-      name = "is_unc_path___is_unc_path_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_unc_path___is_unc_path_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz";
-        sha1 = "d731e8898ed090a12c352ad2eaed5095ad322c9d";
-      };
-    }
-    {
       name = "is_utf8___is_utf8_0.2.1.tgz";
       path = fetchurl {
         name = "is_utf8___is_utf8_0.2.1.tgz";
@@ -7138,14 +6578,6 @@
       };
     }
     {
-      name = "is_valid_glob___is_valid_glob_1.0.0.tgz";
-      path = fetchurl {
-        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.2.tgz";
       path = fetchurl {
         name = "is_whitespace_character___is_whitespace_character_1.0.2.tgz";
@@ -7338,6 +6770,14 @@
       };
     }
     {
+      name = "jest_canvas_mock___jest_canvas_mock_2.1.2.tgz";
+      path = fetchurl {
+        name = "jest_canvas_mock___jest_canvas_mock_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-canvas-mock/-/jest-canvas-mock-2.1.2.tgz";
+        sha1 = "0d16c9f91534f773fd132fc289f2e6b6db8faa28";
+      };
+    }
+    {
       name = "jest_changed_files___jest_changed_files_24.8.0.tgz";
       path = fetchurl {
         name = "jest_changed_files___jest_changed_files_24.8.0.tgz";
@@ -7802,14 +7242,6 @@
       };
     }
     {
-      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 = "jsprim___jsprim_1.4.1.tgz";
       path = fetchurl {
         name = "jsprim___jsprim_1.4.1.tgz";
@@ -7978,14 +7410,6 @@
       };
     }
     {
-      name = "lazystream___lazystream_1.0.0.tgz";
-      path = fetchurl {
-        name = "lazystream___lazystream_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz";
-        sha1 = "f6995fe0f820392f61396be89462407bb77168e4";
-      };
-    }
-    {
       name = "lcid___lcid_1.0.0.tgz";
       path = fetchurl {
         name = "lcid___lcid_1.0.0.tgz";
@@ -8002,14 +7426,6 @@
       };
     }
     {
-      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";
@@ -8066,14 +7482,6 @@
       };
     }
     {
-      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_1.1.0.tgz";
       path = fetchurl {
         name = "load_json_file___load_json_file_1.1.0.tgz";
@@ -8186,6 +7594,22 @@
       };
     }
     {
+      name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+      path = fetchurl {
+        name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz";
+        sha1 = "7c526a52d89b45c45cc690b88163be0497f550cb";
+      };
+    }
+    {
+      name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz";
+        sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
+      };
+    }
+    {
       name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz";
       path = fetchurl {
         name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz";
@@ -8514,46 +7938,6 @@
       };
     }
     {
-      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 = "mdurl___mdurl_1.0.1.tgz";
       path = fetchurl {
         name = "mdurl___mdurl_1.0.1.tgz";
@@ -8642,11 +8026,11 @@
       };
     }
     {
-      name = "mermaid___mermaid_8.2.6.tgz";
+      name = "mermaid___mermaid_8.4.2.tgz";
       path = fetchurl {
-        name = "mermaid___mermaid_8.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.2.6.tgz";
-        sha1 = "e73f396461a435c39a998819171c2114f59e46e1";
+        name = "mermaid___mermaid_8.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.4.2.tgz";
+        sha1 = "91d3d8e9541e72eed7a78d0e882db11564fab3bb";
       };
     }
     {
@@ -8834,14 +8218,6 @@
       };
     }
     {
-      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";
@@ -9154,22 +8530,6 @@
       };
     }
     {
-      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 = "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";
@@ -9362,11 +8722,11 @@
       };
     }
     {
-      name = "optimism___optimism_0.6.9.tgz";
+      name = "optimism___optimism_0.10.3.tgz";
       path = fetchurl {
-        name = "optimism___optimism_0.6.9.tgz";
-        url  = "https://registry.yarnpkg.com/optimism/-/optimism-0.6.9.tgz";
-        sha1 = "19258ff8b3be0cea29ac35f06bff818e026e30bb";
+        name = "optimism___optimism_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/optimism/-/optimism-0.10.3.tgz";
+        sha1 = "163268fdc741dea2fb50f300bedda80356445fd7";
       };
     }
     {
@@ -9386,14 +8746,6 @@
       };
     }
     {
-      name = "ordered_read_streams___ordered_read_streams_1.0.1.tgz";
-      path = fetchurl {
-        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";
-      };
-    }
-    {
       name = "orderedmap___orderedmap_1.0.0.tgz";
       path = fetchurl {
         name = "orderedmap___orderedmap_1.0.0.tgz";
@@ -9610,27 +8962,19 @@
       };
     }
     {
-      name = "parse_entities___parse_entities_1.2.0.tgz";
+      name = "parse_color___parse_color_1.0.0.tgz";
       path = fetchurl {
-        name = "parse_entities___parse_entities_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.0.tgz";
-        sha1 = "9deac087661b2e36814153cb78d7e54a4c5fd6f4";
+        name = "parse_color___parse_color_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-color/-/parse-color-1.0.0.tgz";
+        sha1 = "7b748b95a83f03f16a94f535e52d7f3d94658619";
       };
     }
     {
-      name = "parse_filepath___parse_filepath_1.0.2.tgz";
-      path = fetchurl {
-        name = "parse_filepath___parse_filepath_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz";
-        sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891";
-      };
-    }
-    {
-      name = "parse_git_config___parse_git_config_0.2.0.tgz";
+      name = "parse_entities___parse_entities_1.2.0.tgz";
       path = fetchurl {
-        name = "parse_git_config___parse_git_config_0.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-0.2.0.tgz";
-        sha1 = "272833fdd15fea146fb75d336d236b963b6ff706";
+        name = "parse_entities___parse_entities_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.0.tgz";
+        sha1 = "9deac087661b2e36814153cb78d7e54a4c5fd6f4";
       };
     }
     {
@@ -9658,22 +9002,6 @@
       };
     }
     {
-      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";
@@ -9794,22 +9122,6 @@
       };
     }
     {
-      name = "path_root_regex___path_root_regex_0.1.2.tgz";
-      path = fetchurl {
-        name = "path_root_regex___path_root_regex_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz";
-        sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d";
-      };
-    }
-    {
-      name = "path_root___path_root_0.1.1.tgz";
-      path = fetchurl {
-        name = "path_root___path_root_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz";
-        sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7";
-      };
-    }
-    {
       name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
       path = fetchurl {
         name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
@@ -10194,11 +9506,11 @@
       };
     }
     {
-      name = "postcss___postcss_7.0.18.tgz";
+      name = "postcss___postcss_7.0.21.tgz";
       path = fetchurl {
-        name = "postcss___postcss_7.0.18.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz";
-        sha1 = "4b9cda95ae6c069c67a4d933029eddd4838ac233";
+        name = "postcss___postcss_7.0.21.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz";
+        sha1 = "06bb07824c19c2021c5d056d5b10c35b989f7e17";
       };
     }
     {
@@ -10258,14 +9570,6 @@
       };
     }
     {
-      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";
@@ -10274,6 +9578,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___process_0.11.10.tgz";
       path = fetchurl {
         name = "process___process_0.11.10.tgz";
@@ -10306,14 +9618,6 @@
       };
     }
     {
-      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 = "prosemirror_commands___prosemirror_commands_1.0.7.tgz";
       path = fetchurl {
         name = "prosemirror_commands___prosemirror_commands_1.0.7.tgz";
@@ -10434,14 +9738,6 @@
       };
     }
     {
-      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";
@@ -10562,14 +9858,6 @@
       };
     }
     {
-      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";
@@ -10634,14 +9922,6 @@
       };
     }
     {
-      name = "raven_js___raven_js_3.22.1.tgz";
-      path = fetchurl {
-        name = "raven_js___raven_js_3.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/raven-js/-/raven-js-3.22.1.tgz";
-        sha1 = "1117f00dfefaa427ef6e1a7d50bbb1fb998a24da";
-      };
-    }
-    {
       name = "raw_body___raw_body_2.4.0.tgz";
       path = fetchurl {
         name = "raw_body___raw_body_2.4.0.tgz";
@@ -10650,14 +9930,6 @@
       };
     }
     {
-      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_3.1.0.tgz";
       path = fetchurl {
         name = "raw_loader___raw_loader_3.1.0.tgz";
@@ -10762,14 +10034,6 @@
       };
     }
     {
-      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 = "readdir_enhanced___readdir_enhanced_2.2.4.tgz";
       path = fetchurl {
         name = "readdir_enhanced___readdir_enhanced_2.2.4.tgz";
@@ -10930,22 +10194,6 @@
       };
     }
     {
-      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_parse___remark_parse_6.0.3.tgz";
       path = fetchurl {
         name = "remark_parse___remark_parse_6.0.3.tgz";
@@ -10954,30 +10202,6 @@
       };
     }
     {
-      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_stringify___remark_stringify_6.0.4.tgz";
       path = fetchurl {
         name = "remark_stringify___remark_stringify_6.0.4.tgz";
@@ -10986,14 +10210,6 @@
       };
     }
     {
-      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_10.0.1.tgz";
       path = fetchurl {
         name = "remark___remark_10.0.1.tgz";
@@ -11002,38 +10218,6 @@
       };
     }
     {
-      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 = "remote_origin_url___remote_origin_url_0.4.0.tgz";
-      path = fetchurl {
-        name = "remote_origin_url___remote_origin_url_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.4.0.tgz";
-        sha1 = "4d3e2902f34e2d37d1c263d87710b77eb4086a30";
-      };
-    }
-    {
-      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";
@@ -11202,14 +10386,6 @@
       };
     }
     {
-      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";
@@ -11338,14 +10514,6 @@
       };
     }
     {
-      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_regex___safe_regex_1.1.0.tgz";
       path = fetchurl {
         name = "safe_regex___safe_regex_1.1.0.tgz";
@@ -11370,11 +10538,11 @@
       };
     }
     {
-      name = "sanitize_html___sanitize_html_1.16.3.tgz";
+      name = "sanitize_html___sanitize_html_1.20.1.tgz";
       path = fetchurl {
-        name = "sanitize_html___sanitize_html_1.16.3.tgz";
-        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.16.3.tgz";
-        sha1 = "96c1b44a36ff7312e1c22a14b05274370ac8bd56";
+        name = "sanitize_html___sanitize_html_1.20.1.tgz";
+        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.1.tgz";
+        sha1 = "f6effdf55dd398807171215a62bfc21811bacf85";
       };
     }
     {
@@ -11778,14 +10946,6 @@
       };
     }
     {
-      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 = "sortablejs___sortablejs_1.10.0.tgz";
       path = fetchurl {
         name = "sortablejs___sortablejs_1.10.0.tgz";
@@ -11866,14 +11026,6 @@
       };
     }
     {
-      name = "space_separated_tokens___space_separated_tokens_1.1.4.tgz";
-      path = fetchurl {
-        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";
-      };
-    }
-    {
       name = "spdx_correct___spdx_correct_1.0.2.tgz";
       path = fetchurl {
         name = "spdx_correct___spdx_correct_1.0.2.tgz";
@@ -12034,14 +11186,6 @@
       };
     }
     {
-      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.1.tgz";
       path = fetchurl {
         name = "stream_browserify___stream_browserify_2.0.1.tgz";
@@ -12050,14 +11194,6 @@
       };
     }
     {
-      name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
-      path = fetchurl {
-        name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
-        sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
-      };
-    }
-    {
       name = "stream_each___stream_each_1.2.2.tgz";
       path = fetchurl {
         name = "stream_each___stream_each_1.2.2.tgz";
@@ -12090,14 +11226,6 @@
       };
     }
     {
-      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_length___string_length_2.0.0.tgz";
       path = fetchurl {
         name = "string_length___string_length_2.0.0.tgz";
@@ -12106,14 +11234,6 @@
       };
     }
     {
-      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";
@@ -12146,14 +11266,6 @@
       };
     }
     {
-      name = "string_decoder___string_decoder_0.10.31.tgz";
-      path = fetchurl {
-        name = "string_decoder___string_decoder_0.10.31.tgz";
-        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz";
-        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
-      };
-    }
-    {
       name = "string_decoder___string_decoder_1.1.1.tgz";
       path = fetchurl {
         name = "string_decoder___string_decoder_1.1.1.tgz";
@@ -12162,6 +11274,14 @@
       };
     }
     {
+      name = "string_decoder___string_decoder_0.10.31.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_0.10.31.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    }
+    {
       name = "stringify_entities___stringify_entities_1.3.2.tgz";
       path = fetchurl {
         name = "stringify_entities___stringify_entities_1.3.2.tgz";
@@ -12290,14 +11410,6 @@
       };
     }
     {
-      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 = "sugarss___sugarss_2.0.0.tgz";
       path = fetchurl {
         name = "sugarss___sugarss_2.0.0.tgz";
@@ -12498,14 +11610,6 @@
       };
     }
     {
-      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_2.0.5.tgz";
       path = fetchurl {
         name = "through2___through2_2.0.5.tgz";
@@ -12570,14 +11674,6 @@
       };
     }
     {
-      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 = "tiptap_commands___tiptap_commands_1.4.0.tgz";
       path = fetchurl {
         name = "tiptap_commands___tiptap_commands_1.4.0.tgz";
@@ -12626,14 +11722,6 @@
       };
     }
     {
-      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";
@@ -12690,14 +11778,6 @@
       };
     }
     {
-      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 = "toggle_selection___toggle_selection_1.0.6.tgz";
       path = fetchurl {
         name = "toggle_selection___toggle_selection_1.0.6.tgz";
@@ -12738,14 +11818,6 @@
       };
     }
     {
-      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_newlines___trim_newlines_1.0.0.tgz";
       path = fetchurl {
         name = "trim_newlines___trim_newlines_1.0.0.tgz";
@@ -12818,14 +11890,6 @@
       };
     }
     {
-      name = "ts_invariant___ts_invariant_0.2.1.tgz";
-      path = fetchurl {
-        name = "ts_invariant___ts_invariant_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.2.1.tgz";
-        sha1 = "3d587f9d6e3bded97bf9ec17951dd9814d5a9d3f";
-      };
-    }
-    {
       name = "ts_invariant___ts_invariant_0.3.2.tgz";
       path = fetchurl {
         name = "ts_invariant___ts_invariant_0.3.2.tgz";
@@ -12834,6 +11898,14 @@
       };
     }
     {
+      name = "ts_invariant___ts_invariant_0.4.4.tgz";
+      path = fetchurl {
+        name = "ts_invariant___ts_invariant_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz";
+        sha1 = "97a523518688f93aafad01b0e80eb803eb2abd86";
+      };
+    }
+    {
       name = "ts_jest___ts_jest_24.0.0.tgz";
       path = fetchurl {
         name = "ts_jest___ts_jest_24.0.0.tgz";
@@ -12882,6 +11954,14 @@
       };
     }
     {
+      name = "type_fest___type_fest_0.5.2.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz";
+        sha1 = "d6ef42a0356c6cd45f49485c3b6281fc148e48a2";
+      };
+    }
+    {
       name = "type_is___type_is_1.6.18.tgz";
       path = fetchurl {
         name = "type_is___type_is_1.6.18.tgz";
@@ -12930,14 +12010,6 @@
       };
     }
     {
-      name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
-      path = fetchurl {
-        name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz";
-        sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
-      };
-    }
-    {
       name = "undefsafe___undefsafe_2.0.2.tgz";
       path = fetchurl {
         name = "undefsafe___undefsafe_2.0.2.tgz";
@@ -13018,14 +12090,6 @@
       };
     }
     {
-      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 = "unified___unified_7.1.0.tgz";
       path = fetchurl {
         name = "unified___unified_7.1.0.tgz";
@@ -13066,14 +12130,6 @@
       };
     }
     {
-      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 = "unique_string___unique_string_1.0.0.tgz";
       path = fetchurl {
         name = "unique_string___unique_string_1.0.0.tgz";
@@ -13082,14 +12138,6 @@
       };
     }
     {
-      name = "unist_builder___unist_builder_1.0.4.tgz";
-      path = fetchurl {
-        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_find_all_after___unist_util_find_all_after_1.0.2.tgz";
       path = fetchurl {
         name = "unist_util_find_all_after___unist_util_find_all_after_1.0.2.tgz";
@@ -13098,14 +12146,6 @@
       };
     }
     {
-      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.2.tgz";
       path = fetchurl {
         name = "unist_util_is___unist_util_is_2.1.2.tgz";
@@ -13114,14 +12154,6 @@
       };
     }
     {
-      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.2.tgz";
       path = fetchurl {
         name = "unist_util_remove_position___unist_util_remove_position_1.1.2.tgz";
@@ -13138,14 +12170,6 @@
       };
     }
     {
-      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.0.1.tgz";
       path = fetchurl {
         name = "unist_util_visit_parents___unist_util_visit_parents_2.0.1.tgz";
@@ -13362,14 +12386,6 @@
       };
     }
     {
-      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";
@@ -13402,46 +12418,6 @@
       };
     }
     {
-      name = "vfile_message___vfile_message_2.0.1.tgz";
-      path = fetchurl {
-        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 = "vfile_reporter___vfile_reporter_6.0.0.tgz";
-      path = fetchurl {
-        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_3.0.1.tgz";
       path = fetchurl {
         name = "vfile___vfile_3.0.1.tgz";
@@ -13450,38 +12426,6 @@
       };
     }
     {
-      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";
-      };
-    }
-    {
       name = "visibilityjs___visibilityjs_1.2.4.tgz";
       path = fetchurl {
         name = "visibilityjs___visibilityjs_1.2.4.tgz";
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index ca26fbc61e9..2ce855d3a7f 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, SDL2, ftgl, pkgconfig, libpng, libjpeg, pcre
-, SDL2_image, freetype, glew, libGLU_combined, boost, glm
+, SDL2_image, freetype, glew, libGLU, libGL, boost, glm
 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU_combined
+    glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU libGL
     boost glm freetype
   ];
 
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index 8aa6128819f..d050895ca23 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, buildPythonPackage
 , python
-, srht, asyncpg, unidiff, aiosmtpd, emailthreads }:
+, srht, asyncpg, unidiff, aiosmtpd, pygit2, emailthreads }:
 
 buildPythonPackage rec {
   pname = "listssrht";
@@ -20,6 +20,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     srht
+    pygit2
     asyncpg
     unidiff
     aiosmtpd
diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix
index 66b785e43b1..4995216b8b6 100644
--- a/pkgs/applications/version-management/yadm/default.nix
+++ b/pkgs/applications/version-management/yadm/default.nix
@@ -1,37 +1,39 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, git, gnupg }:
 
-let version = "1.12.0"; in
+let version = "2.0.1"; in
 stdenv.mkDerivation {
   pname = "yadm";
   inherit version;
 
+  buildInputs = [ git gnupg ];
+
   src = fetchFromGitHub {
     owner  = "TheLocehiliosan";
     repo   = "yadm";
     rev    = version;
-    sha256 = "0873jgks7dpfkj5km1jchxdrhf7lia70p0f8zsrh9p4crj5f4pc6";
+    sha256 = "0knz2p0xyid65z6gdmjqfcqljqilxhqi02v4n6n4akl2i12kk193";
   };
 
-  buildCommand = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/man/man1
-    mkdir -p $out/share/zsh/site-functions
-    mkdir -p $out/share/bash-completion/completions
-    sed -e 's:/bin/bash:/usr/bin/env bash:' $src/yadm > $out/bin/yadm
-    chmod 755 $out/bin/yadm
-    install -m 644 $src/yadm.1 $out/share/man/man1/yadm.1
-    install -m644 $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
-    install -m644 $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/bin $src/yadm
+    install -Dt $out/share/man/man1 $src/yadm.1
+    install -D $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
+    install -D $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
+    runHook postInstall
   '';
 
   meta = {
     homepage = https://github.com/TheLocehiliosan/yadm;
     description = "Yet Another Dotfiles Manager";
     longDescription = ''
-    yadm is a dotfile management tool with 3 main features: Manages files across
-    systems using a single Git repository. Provides a way to use alternate files on
-    a specific OS or host. Supplies a method of encrypting confidential data so it
-    can safely be stored in your repository.
+      yadm is a dotfile management tool with 3 main features:
+      * Manages files across systems using a single Git repository.
+      * Provides a way to use alternate files on a specific OS or host.
+      * Supplies a method of encrypting confidential data so it can safely be stored in your repository.
     '';
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index 2734035b6de..2d82f3d3e2b 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -1,7 +1,7 @@
 { config, stdenv, fetchurl
 , libX11, wxGTK
 , libiconv, fontconfig, freetype
-, libGLU_combined
+, libGLU, libGL
 , libass, fftw, ffms
 , ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies
 , icu, boost, intltool # New dependencies
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   postPatch = "sed '1i#include <unicode/unistr.h>' -i src/utils.cpp";
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig intltool libX11 wxGTK fontconfig freetype libGLU_combined
+  [ pkgconfig intltool libX11 wxGTK fontconfig freetype libGLU libGL
     libass fftw ffms ffmpeg zlib icu boost boost.out libiconv
   ]
     ++ optional spellcheckSupport hunspell
diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix
index 9ff65483f26..a9d98a9a2a4 100644
--- a/pkgs/applications/video/bomi/default.nix
+++ b/pkgs/applications/video/bomi/default.nix
@@ -1,6 +1,6 @@
 { config, stdenv, fetchFromGitHub
 , fetchpatch, pkgconfig, perl, python, which
-, libX11, libxcb, libGLU_combined
+, libX11, libxcb, libGLU, libGL
 , qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras, qmake, makeWrapper
 , libchardet
 , ffmpeg
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
   buildInputs = with stdenv.lib;
                 [ libX11
                   libxcb
-                  libGLU_combined
+                  libGLU libGL
                   qtbase
                   qtx11extras
                   qtdeclarative
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 8edc99c5f02..0302dd24646 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -9,7 +9,7 @@
 , libXinerama, libXrandr
 , libXtst, libXfixes, systemd
 , alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
-, libjpeg, jasper, libpng, libtiff
+, libjpeg, libpng, libtiff
 , libmpeg2, libsamplerate, libmad
 , libogg, libvorbis, flac, libxslt
 , lzo, libcdio, libmodplug, libass, libbluray
@@ -157,7 +157,7 @@ in stdenv.mkDerivation {
       libX11 xorgproto libXt libXmu libXext
       libXinerama libXrandr libXtst libXfixes
       alsaLib libGL libGLU glew fontconfig freetype ftgl
-      libjpeg jasper libpng libtiff
+      libjpeg libpng libtiff
       libmpeg2 libsamplerate libmad
       libogg libvorbis flac libxslt systemd
       lzo libcdio libmodplug libass libbluray
diff --git a/pkgs/applications/video/makemkv/default.nix b/pkgs/applications/video/makemkv/default.nix
index 77aa2779b5d..ca202c5ce60 100644
--- a/pkgs/applications/video/makemkv/default.nix
+++ b/pkgs/applications/video/makemkv/default.nix
@@ -3,21 +3,21 @@
 }:
 
 let
-  version = "1.14.5";
+  version = "1.14.7";
   # Using two URLs as the first one will break as soon as a new version is released
   src_bin = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
     ];
-    sha256 = "1rnkx0h149n3pawmk8d234x5w1xw4kady9pgrcc5aw6krbx38nis";
+    sha256 = "19j62vyk8havv38lh35108f7jmrqiqzikl3aqlsncxxa69m6fv5n";
   };
   src_oss = fetchurl {
     urls = [
       "http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
       "http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
     ];
-    sha256 = "1jg10mslcl0sfwdd9p7hy9zfvk0xc7qhdakiv1kbilsl42bgaxyi";
+    sha256 = "1w6b4cvhfg1dv2claam0l6slhjqzy0n2lvwk1ggkh4c561qbfp59";
   };
 in mkDerivation {
   pname = "makemkv";
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 153d0a20b6e..2d332a862c6 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "38.0.0";
+  version = "40.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "0874rfslglywpa8ilhqv59zvn2hisdsbwd7r61psf5rd64v72ym4";
+    sha256 = "103rvj6f6nlzybzbkqix7q5f2017bmzsn9z5g7bwnjjwgih5mrpq";
   };
 
   nativeBuildInputs = [
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     description = "Cross-platform tools for Matroska";
     homepage    = http://www.bunkus.org/videotools/mkvtoolnix/;
     license     = licenses.gpl2;
-    maintainers = with maintainers; [ codyopel fuuzetsu rnhmjoj ];
+    maintainers = with maintainers; [ codyopel rnhmjoj ];
     platforms   = platforms.linux
       ++ optionals (!withGUI) platforms.darwin;
   };
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 2afb7d1c68a..a75a7a11d67 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -2,7 +2,7 @@
 , aalibSupport ? true, aalib ? null
 , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
 , fribidiSupport ? true, fribidi ? null
-, x11Support ? true, libX11 ? null, libXext ? null, libGLU_combined ? null
+, x11Support ? true, libX11 ? null, libXext ? null, libGLU, libGL ? null
 , xineramaSupport ? true, libXinerama ? null
 , xvSupport ? true, libXv ? null
 , alsaSupport ? stdenv.isLinux, alsaLib ? null
@@ -32,7 +32,7 @@
 assert fontconfigSupport -> (fontconfig != null);
 assert (!fontconfigSupport) -> (freefont_ttf != null);
 assert fribidiSupport -> (fribidi != null);
-assert x11Support -> (libX11 != null && libXext != null && libGLU_combined != null);
+assert x11Support -> (libX11 != null && libXext != null && libGLU != null && libGL != null);
 assert xineramaSupport -> (libXinerama != null && x11Support);
 assert xvSupport -> (libXv != null && x11Support);
 assert alsaSupport -> alsaLib != null;
@@ -111,7 +111,7 @@ stdenv.mkDerivation rec {
     ++ optional aalibSupport aalib
     ++ optional fontconfigSupport fontconfig
     ++ optional fribidiSupport fribidi
-    ++ optionals x11Support [ libX11 libXext libGLU_combined ]
+    ++ optionals x11Support [ libX11 libXext libGLU libGL ]
     ++ optional alsaSupport alsaLib
     ++ optional xvSupport libXv
     ++ optional theoraSupport libtheora
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index f3c7d376100..91a9f4a7d01 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -9,7 +9,7 @@
   , libxkbcommon      ? null
 
 , x11Support ? stdenv.isLinux
-  , libGLU_combined ? null
+  , libGLU, libGL ? null
   , libX11          ? null
   , libXext         ? null
   , libXxf86vm      ? null
@@ -86,7 +86,7 @@ assert vapoursynthSupport -> available vapoursynth;
 assert vdpauSupport       -> available libvdpau;
 assert vulkanSupport      -> all available [ libplacebo shaderc vulkan-headers vulkan-loader ];
 assert waylandSupport     -> all available [ wayland wayland-protocols libxkbcommon ];
-assert x11Support         -> all available [ libGLU_combined libX11 libXext libXxf86vm libXrandr ];
+assert x11Support         -> all available [ libGLU libGL libX11 libXext libXxf86vm libXrandr ];
 assert xineramaSupport    -> x11Support && available libXinerama;
 assert xvSupport          -> x11Support && available libXv;
 assert youtubeSupport     -> available youtube-dl;
@@ -181,7 +181,7 @@ in stdenv.mkDerivation rec {
     ++ optionals drmSupport        [ libdrm mesa ]
     ++ optionals dvdnavSupport     [ libdvdnav libdvdnav.libdvdread ]
     ++ optionals waylandSupport    [ wayland wayland-protocols libxkbcommon ]
-    ++ optionals x11Support        [ libX11 libXext libGLU_combined libXxf86vm libXrandr ]
+    ++ optionals x11Support        [ libX11 libXext libGLU libGL libXxf86vm libXrandr ]
     ++ optionals vulkanSupport     [ libplacebo shaderc vulkan-headers vulkan-loader ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
       CoreFoundation Cocoa CoreAudio
@@ -235,7 +235,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 globin ivan ];
+    maintainers = with maintainers; [ AndersonTorres fpletz globin ivan ];
     platforms = platforms.darwin ++ platforms.linux;
 
     longDescription = ''
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index 7914bb84c42..2c73d3e734c 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, mkDerivation, fetchFromGitHub, which, qtbase, qtwebkit, qtscript, xlibsWrapper
-, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU_combined, alsaLib, freetype
+, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsaLib, freetype
 , perl, pkgconfig , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm
 , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders
 , libXNVCtrl, enableXnvctrl ? false
@@ -26,7 +26,7 @@ mkDerivation rec {
   setSourceRoot = ''sourceRoot=$(echo */mythtv)'';
 
   buildInputs = [
-    freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU_combined
+    freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU libGL
     perl libsamplerate libbluray lzo alsaLib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC
     libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2
   ] ++ stdenv.lib.optional enableXnvctrl libXNVCtrl;
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index 29ad928e27c..6191fd0f18a 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext, qtx11extras
-, libXfixes, libGLU_combined, pkgconfig, libpulseaudio, qtbase, cmake, ninja
+, libXfixes, libGLU, libGL, pkgconfig, libpulseaudio, qtbase, cmake, ninja
 }:
 
 mkDerivation rec {
@@ -25,7 +25,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ninja ];
   buildInputs = [
-    alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU_combined
+    alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU libGL
     libpulseaudio qtbase qtx11extras
   ];
 
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index facb8fabe26..65a7f358d6f 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "smplayer";
-  version = "19.10.0";
+  version = "19.10.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0sq7hr10b4pbbi0y1q4mxs24h2lb042nv4rqr03r72bp57353xsl";
+    sha256 = "0i2c15yxk4by2zyjhb7n08larz9pmpa6zw383aybjxqh0nd9zv9p";
   };
 
   buildInputs = [ qtscript ];
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index b5ffdb018ff..ce22d8bed27 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -1,14 +1,14 @@
 { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "1.2.0";
+  version = "1.3.0";
   pname = "streamlink";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = version;
-    sha256 = "0l8b9ipfmd6dic07ajqqml26jdydz0k046hvx32mqp64jl5jpznh";
+    sha256 = "0f4qwwa5pxd4igvxq1qadqpphazlbs3c3cr29ybks2x5wajrvwah";
   };
 
   checkInputs = with pythonPackages; [ pytest mock requests-mock freezegun ];
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 72db4f1e5aa..770154f1918 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , pkgconfig, libtool
-, gtk2, libGLU_combined, readline, libX11, libXpm
+, gtk2, libGLU, libGL, readline, libX11, libXpm
 , docbook_xml_dtd_45, docbook_xsl
 , sdlSupport ? true, SDL2 ? null
 , termSupport ? true, ncurses ? null
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   patches = [ ./bochs-2.6.9-glibc-2.26.patch ];
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig libtool gtk2 libGLU_combined readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
+  [ pkgconfig libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
   ++ optionals termSupport [ ncurses ]
   ++ optionals sdlSupport [ SDL2 ]
   ++ optionals wxSupport [ wxGTK ]
diff --git a/pkgs/applications/virtualization/charliecloud/default.nix b/pkgs/applications/virtualization/charliecloud/default.nix
index 35c78dfd50a..a0694b7efbe 100644
--- a/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/pkgs/applications/virtualization/charliecloud/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.11";
+  version = "0.12";
   pname = "charliecloud";
 
   src = fetchFromGitHub {
     owner = "hpc";
     repo = "charliecloud";
     rev = "v${version}";
-    sha256 = "10dzas5fyh2lpa0kf1xv8z9c4g4cf0zlmnpilyvpcyccyfjf6cp2";
+    sha256 = "177rcf1klcxsp6x9cw75cmz3y2izgd1hvi1rb9vc6iz9qx1nmk3v";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/applications/virtualization/cntr/default.nix b/pkgs/applications/virtualization/cntr/default.nix
index 13afe0a4261..698f6df0673 100644
--- a/pkgs/applications/virtualization/cntr/default.nix
+++ b/pkgs/applications/virtualization/cntr/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cntr";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "cntr";
     rev = version;
-    sha256 = "0lmbsnjia44h4rskqkv9yc7xb6f3qjgbg8kcr9zqnr7ivr5fjcxg";
+    sha256 = "0dhfz7aj3cqi974ybf0axchih40rzrs9m8bxhwz1hgig57aisfc0";
   };
 
   cargoSha256 = "0xkwza9fx61pvlsm0s3dxc9i09mqp6c9df8w63fyiq7174vjxryx";
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index fddf1741720..29111399ae9 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -17,7 +17,7 @@
 
 buildGoPackage rec {
   project = "cri-o";
-  version = "1.16.0";
+  version = "1.16.1";
   name = "${project}-${version}${flavor}";
 
   goPackagePath = "github.com/${project}/${project}";
@@ -26,7 +26,7 @@ buildGoPackage rec {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "1kbg544v7c1apaxrpndgrap0pb5c67d8fazbkgykg6ynskx6n344";
+    sha256 = "0w690zhc55gdqzc31jc34nrzwd253pfb3rq23z51q22nqwmlsh9p";
   };
 
   outputs = [ "bin" "out" ];
diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix
index b1c42b099b6..7e8dbf33a7b 100644
--- a/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/pkgs/applications/virtualization/docker-compose/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonApplication rec {
-  version = "1.24.1";
+  version = "1.25.0";
   pname = "docker-compose";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lx7bx6jvhydbab8vwry0bclhdf0dfj6jrns1m5y45yp9ybqxmd5";
+    sha256 = "0zlprmsgmj4z627snsl0qmq8y7ggcyqrqm5vxvrvcigl7zywnprc";
   };
 
   # lots of networking and other fails
diff --git a/pkgs/applications/virtualization/docker/distribution.nix b/pkgs/applications/virtualization/docker/distribution.nix
index ed4db853c38..a408d20f3ba 100644
--- a/pkgs/applications/virtualization/docker/distribution.nix
+++ b/pkgs/applications/virtualization/docker/distribution.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "distribution";
-  version = "2.6.2";
+  version = "2.7.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/docker/distribution";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "docker";
     repo = "distribution";
     inherit rev;
-    sha256 = "0nj4xd72mik4pj8g065cqb0yjmgpj5ppsqf2k5ibz9f68c39c00b";
+    sha256 = "1nx8b5a68rn81alp8wkkw6qd5v32mgf0fk23mxm60zdf63qk1nzw";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/virtualization/gvisor/containerd-shim.nix b/pkgs/applications/virtualization/gvisor/containerd-shim.nix
new file mode 100644
index 00000000000..0161a117def
--- /dev/null
+++ b/pkgs/applications/virtualization/gvisor/containerd-shim.nix
@@ -0,0 +1,36 @@
+{ lib, fetchFromGitHub, buildGoModule, go-bindata }:
+
+buildGoModule rec {
+  name = "gvisor-containerd-shim-${version}";
+  version = "2019-10-09";
+
+  src = fetchFromGitHub {
+    owner  = "google";
+    repo   = "gvisor-containerd-shim";
+    rev    = "f299b553afdd8455a0057862004061ea12e660f5";
+    sha256 = "077bhrmjrpcxv1z020yxhx2c4asn66j21gxlpa6hz0av3lfck9lm";
+  };
+
+  modSha256 = "1jdhgbrn59ahnabwnig99i21f6kimmqx9f3dg10ffwfs3dx0gzlg";
+
+  buildPhase = ''
+    make
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    make test
+  '';
+
+  installPhase = ''
+    make install DESTDIR="$out"
+  '';
+
+  meta = with lib; {
+    description = "containerd shim for gVisor";
+    homepage    = https://github.com/google/gvisor-containerd-shim;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ andrew-d ];
+    platforms   = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/virtualization/gvisor/default.nix b/pkgs/applications/virtualization/gvisor/default.nix
new file mode 100644
index 00000000000..2d99fb3bf57
--- /dev/null
+++ b/pkgs/applications/virtualization/gvisor/default.nix
@@ -0,0 +1,101 @@
+{ stdenv
+, buildBazelPackage
+, fetchFromGitHub
+, cacert
+, git
+, glibcLocales
+, go
+, iproute
+, iptables
+, makeWrapper
+, procps
+, python3
+}:
+
+let
+  preBuild = ''
+    patchShebangs .
+
+    # Tell rules_go to use the Go binary found in the PATH
+    sed -E -i \
+      -e 's|go_version\s*=\s*"[^"]+",|go_version = "host",|g' \
+      WORKSPACE
+
+    # The gazelle Go tooling needs CA certs
+    export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt"
+
+    # If we don't reset our GOPATH, the rules_go stdlib builder tries to
+    # install something into it. Ideally that wouldn't happen, but for now we
+    # can also get around it by unsetting GOPATH entirely, since rules_go
+    # doesn't need it.
+    export GOPATH=
+  '';
+
+in buildBazelPackage rec {
+  name = "gvisor-${version}";
+  version = "2019-11-14";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo  = "gvisor";
+    rev   = "release-20191114.0";
+    sha256 = "0kyixjjlws9iz2r2srgpdd4rrq94vpxkmh2rmmzxd9mcqy2i9bg1";
+  };
+
+  nativeBuildInputs = [ git glibcLocales go makeWrapper python3 ];
+
+  bazelTarget = "//runsc:runsc";
+
+  # gvisor uses the Starlark implementation of rules_cc, not the built-in one,
+  # so we shouldn't delete it from our dependencies.
+  removeRulesCC = false;
+
+  fetchAttrs = {
+    inherit preBuild;
+
+    preInstall = ''
+      # Remove the go_sdk (it's just a copy of the go derivation) and all
+      # references to it from the marker files. Bazel does not need to download
+      # this sdk because we have patched the WORKSPACE file to point to the one
+      # currently present in PATH. Without removing the go_sdk from the marker
+      # file, the hash of it will change anytime the Go derivation changes and
+      # that would lead to impurities in the marker files which would result in
+      # a different sha256 for the fetch phase.
+      rm -rf $bazelOut/external/{go_sdk,\@go_sdk.marker}
+
+      # Remove the gazelle tools, they contain go binaries that are built
+      # non-deterministically. As long as the gazelle version matches the tools
+      # should be equivalent.
+      rm -rf $bazelOut/external/{bazel_gazelle_go_repository_tools,\@bazel_gazelle_go_repository_tools.marker}
+
+      # Remove the gazelle repository cache
+      chmod -R +w $bazelOut/external/bazel_gazelle_go_repository_cache
+      rm -rf $bazelOut/external/{bazel_gazelle_go_repository_cache,\@bazel_gazelle_go_repository_cache.marker}
+
+      # Remove log file(s)
+      rm -f "$bazelOut"/java.log "$bazelOut"/java.log.*
+    '';
+
+    sha256 = "122qk6iv8hd7g2a84y9aqqhij4r0m47vpxzbqhhh6k5livc73qd6";
+  };
+
+  buildAttrs = {
+    inherit preBuild;
+
+    installPhase = ''
+      install -Dm755 bazel-bin/runsc/*_pure_stripped/runsc $out/bin/runsc
+
+      # Needed for the 'runsc do' subcomand
+      wrapProgram $out/bin/runsc \
+        --prefix PATH : ${stdenv.lib.makeBinPath [ iproute iptables procps ]}
+    '';
+  };
+
+  meta = with stdenv.lib; {
+    description = "Container Runtime Sandbox";
+    homepage = https://github.com/google/gvisor;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ andrew-d ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/virtualization/podman-compose/default.nix b/pkgs/applications/virtualization/podman-compose/default.nix
new file mode 100644
index 00000000000..31755f87f63
--- /dev/null
+++ b/pkgs/applications/virtualization/podman-compose/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonApplication, fetchPypi, podman, pyyaml }:
+
+buildPythonApplication rec {
+  version = "0.1.5";
+  pname = "podman-compose";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sgbc889zq127qhxa9frhswa1mid19fs5qnyzfihx648y5i968pv";
+  };
+
+  propagatedBuildInputs = [ pyyaml podman ];
+
+  meta = with lib; {
+    description = "An implementation of docker-compose with podman backend";
+    homepage = "https://github.com/containers/podman-compose";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 42860966fe1..99d20477a12 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -9,17 +9,12 @@
 
 with stdenv.lib;
 
-# TODO: remove after there's support for setupPyDistFlags
-let
-  setuppy = ../../../development/interpreters/python/run_setup.py;
-in
 python3Packages.buildPythonApplication rec {
-  name = "virt-manager-${version}";
+  pname = "virt-manager";
   version = "2.2.1";
-  namePrefix = "";
 
   src = fetchurl {
-    url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz";
+    url = "http://virt-manager.org/download/sources/virt-manager/${pname}-${version}.tar.gz";
     sha256 = "06ws0agxlip6p6n3n43knsnjyd91gqhh2dadgc33wl9lx1k8vn6g";
   };
 
@@ -49,13 +44,7 @@ python3Packages.buildPythonApplication rec {
     ${python3Packages.python.interpreter} setup.py configure --prefix=$out
   '';
 
-  # TODO: remove after there's support for setupPyDistFlags
-  buildPhase = ''
-    runHook preBuild
-    cp ${setuppy} nix_run_setup
-    ${python3Packages.python.pythonForBuild.interpreter} nix_run_setup --no-update-icon-cache build_ext bdist_wheel
-    runHook postBuild
-  '';
+  setupPyGlobalFlags = [ "--no-update-icon-cache" ];
 
   preFixup = ''
     gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index addcf125e27..13e70c2561d 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -214,7 +214,7 @@ in stdenv.mkDerivation {
     description = "PC emulator";
     license = licenses.gpl2;
     homepage = https://www.virtualbox.org/;
-    maintainers = with maintainers; [ flokli sander ];
+    maintainers = with maintainers; [ sander ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix
index 56400a75945..9357a641de2 100644
--- a/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -18,7 +18,7 @@ fetchurl rec {
     description = "Oracle Extension pack for VirtualBox";
     license = licenses.virtualbox-puel;
     homepage = https://www.virtualbox.org/;
-    maintainers = with maintainers; [ flokli sander cdepillabout ];
+    maintainers = with maintainers; [ sander cdepillabout ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix
index c57a7f6e771..af136f7e545 100644
--- a/pkgs/applications/virtualization/x11docker/default.nix
+++ b/pkgs/applications/virtualization/x11docker/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute }:
 stdenv.mkDerivation rec {
   pname = "x11docker";
-  version = "6.3.0";
+  version = "6.4.0";
   src = fetchFromGitHub {
     owner = "mviereck";
     repo = "x11docker";
     rev = "v${version}";
-    sha256 = "0x2sx41y3ylzg511x52k3wh8mfbzp4ialpas6sn4ccagqxh2hc4y";
+    sha256 = "0s8gk2kqxkfwx1x44g19ckm7rqgrcax59y8brgmigajqizik7sql";
   };
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/window-managers/i3/blocks.nix b/pkgs/applications/window-managers/i3/blocks.nix
index 15bd5e74cdc..8c3101f8eb9 100644
--- a/pkgs/applications/window-managers/i3/blocks.nix
+++ b/pkgs/applications/window-managers/i3/blocks.nix
@@ -1,16 +1,16 @@
-{ fetchFromGitHub, fetchpatch, stdenv, autoreconfHook }:
+{ fetchFromGitHub, fetchpatch, stdenv, autoreconfHook, pkg-config }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation {
   pname = "i3blocks";
-  version = "unstable-2019-02-07";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "vivien";
     repo = "i3blocks";
-    rev = "ec050e79ad8489a6f8deb37d4c20ab10729c25c3";
-    sha256 = "1fx4230lmqa5rpzph68dwnpcjfaaqv5gfkradcr85hd1z8d1qp1b";
+    rev = "3417602a2d8322bc866861297f535e1ef80b8cb0";
+    sha256 = "0v8mwnm8qzpv6xnqvrk43s4b9iyld4naqzbaxk4ldq1qkhai0wsv";
   };
 
   patches = [
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
     })
   ];
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   meta = {
     description = "A flexible scheduler for your i3bar blocks";
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index f388c2d99db..58fa0d194e1 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "1.6.0";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner  = "bbidulock";
     repo   = "icewm";
     rev    = version;
-    sha256 = "1l8hjmb19d7ds7z21cx207h86wkjcmmmamcnalgkwh4alvbawc2p";
+    sha256 = "0h3w718x28fd4sz36ka9wpgcb98scna6qpycxzls4cjji3rjgm0l";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl asciidoc ];
diff --git a/pkgs/build-support/agda/default.nix b/pkgs/build-support/agda/default.nix
index 16fe748c3e5..3e5d8e6c384 100644
--- a/pkgs/build-support/agda/default.nix
+++ b/pkgs/build-support/agda/default.nix
@@ -1,6 +1,4 @@
 # Builder for Agda packages. Mostly inspired by the cabal builder.
-#
-# Contact: stdenv.lib.maintainers.fuuzetsu
 
 { stdenv, Agda, glibcLocales
 , writeShellScriptBin
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index 0abce22c676..c60abdd03e8 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -73,9 +73,9 @@ let
 in
 
 stdenv.mkDerivation {
-  name = targetPrefix
-    + (if name != "" then name else "${bintoolsName}-wrapper")
-    + (stdenv.lib.optionalString (bintools != null && bintoolsVersion != "") "-${bintoolsVersion}");
+  pname = targetPrefix
+    + (if name != "" then name else "${bintoolsName}-wrapper");
+  version = if bintools == null then null else bintoolsVersion;
 
   preferLocalBuild = true;
 
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix
index a1a38484386..8fa3cc55279 100644
--- a/pkgs/build-support/build-bazel-package/default.nix
+++ b/pkgs/build-support/build-bazel-package/default.nix
@@ -4,10 +4,30 @@
 , lib
 }:
 
-args@{ name, bazelFlags ? [], bazelBuildFlags ? [], bazelFetchFlags ? [], bazelTarget, buildAttrs, fetchAttrs, ... }:
+args@{
+  name
+, bazelFlags ? []
+, bazelBuildFlags ? []
+, bazelFetchFlags ? []
+, bazelTarget
+, buildAttrs
+, fetchAttrs
+
+# Newer versions of Bazel are moving away from built-in rules_cc and instead
+# allow fetching it as an external dependency in a WORKSPACE file[1]. If
+# removed in the fixed-output fetch phase, building will fail to download it.
+# This can be seen e.g. in #73097
+#
+# This option allows configuring the removal of rules_cc in cases where a
+# project depends on it via an external dependency.
+#
+# [1]: https://github.com/bazelbuild/rules_cc
+, removeRulesCC ? true
+, ...
+}:
 
 let
-  fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" ];
+  fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" "removeRulesCC" ];
   fBuildAttrs = fArgs // buildAttrs;
   fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ];
 
@@ -24,8 +44,12 @@ in stdenv.mkDerivation (fBuildAttrs // {
       export bazelOut="$(echo ''${NIX_BUILD_TOP}/output | sed -e 's,//,/,g')"
       export bazelUserRoot="$(echo ''${NIX_BUILD_TOP}/tmp | sed -e 's,//,/,g')"
       export HOME="$NIX_BUILD_TOP"
+      export USER="nix"
       # This is needed for git_repository with https remotes
       export GIT_SSL_CAINFO="${cacert}/etc/ssl/certs/ca-bundle.crt"
+      # This is needed for Bazel fetchers that are themselves programs (e.g.
+      # rules_go using the go toolchain)
+      export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt"
     '';
 
     buildPhase = fFetchAttrs.buildPhase or ''
@@ -60,7 +84,7 @@ in stdenv.mkDerivation (fBuildAttrs // {
 
       # Remove all built in external workspaces, Bazel will recreate them when building
       rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker}
-      rm -rf $bazelOut/external/{rules_cc,\@rules_cc.marker}
+      ${if removeRulesCC then "rm -rf $bazelOut/external/{rules_cc,\\@rules_cc.marker}" else ""}
       rm -rf $bazelOut/external/{embedded_jdk,\@embedded_jdk.marker}
       rm -rf $bazelOut/external/{local_*,\@local_*.marker}
 
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index d02f47fde8c..757985e0716 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -93,9 +93,9 @@ assert nativeLibc == bintools.nativeLibc;
 assert nativePrefix == bintools.nativePrefix;
 
 stdenv.mkDerivation {
-  name = targetPrefix
-    + (if name != "" then name else "${ccName}-wrapper")
-    + (stdenv.lib.optionalString (cc != null && ccVersion != "") "-${ccVersion}");
+  pname = targetPrefix
+    + (if name != "" then name else "${ccName}-wrapper");
+  version = if cc == null then null else ccVersion;
 
   preferLocalBuild = true;
 
@@ -132,6 +132,8 @@ stdenv.mkDerivation {
     src=$PWD
   '';
 
+  wrapper = ./cc-wrapper.sh;
+
   installPhase =
     ''
       mkdir -p $out/bin $out/nix-support
@@ -171,42 +173,42 @@ stdenv.mkDerivation {
       export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
 
       if [ -e $ccPath/${targetPrefix}gcc ]; then
-        wrap ${targetPrefix}gcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcc
+        wrap ${targetPrefix}gcc $wrapper $ccPath/${targetPrefix}gcc
         ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc
         export named_cc=${targetPrefix}gcc
         export named_cxx=${targetPrefix}g++
       elif [ -e $ccPath/clang ]; then
-        wrap ${targetPrefix}clang ${./cc-wrapper.sh} $ccPath/clang
+        wrap ${targetPrefix}clang $wrapper $ccPath/clang
         ln -s ${targetPrefix}clang $out/bin/${targetPrefix}cc
         export named_cc=${targetPrefix}clang
         export named_cxx=${targetPrefix}clang++
       fi
 
       if [ -e $ccPath/${targetPrefix}g++ ]; then
-        wrap ${targetPrefix}g++ ${./cc-wrapper.sh} $ccPath/${targetPrefix}g++
+        wrap ${targetPrefix}g++ $wrapper $ccPath/${targetPrefix}g++
         ln -s ${targetPrefix}g++ $out/bin/${targetPrefix}c++
       elif [ -e $ccPath/clang++ ]; then
-        wrap ${targetPrefix}clang++ ${./cc-wrapper.sh} $ccPath/clang++
+        wrap ${targetPrefix}clang++ $wrapper $ccPath/clang++
         ln -s ${targetPrefix}clang++ $out/bin/${targetPrefix}c++
       fi
 
       if [ -e $ccPath/cpp ]; then
-        wrap ${targetPrefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
+        wrap ${targetPrefix}cpp $wrapper $ccPath/cpp
       fi
     ''
 
     + optionalString cc.langFortran or false ''
-      wrap ${targetPrefix}gfortran ${./cc-wrapper.sh} $ccPath/${targetPrefix}gfortran
+      wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
     ''
 
     + optionalString cc.langJava or false ''
-      wrap ${targetPrefix}gcj ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcj
+      wrap ${targetPrefix}gcj $wrapper $ccPath/${targetPrefix}gcj
     ''
 
     + optionalString cc.langGo or false ''
-      wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
+      wrap ${targetPrefix}gccgo $wrapper $ccPath/${targetPrefix}gccgo
     '';
 
   strictDeps = true;
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 37b25232b96..2a25ac04d40 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -845,6 +845,9 @@ rec {
         echo "         be better to only have one layer that contains a nix store."
 
         export NIX_REMOTE=local?root=$PWD
+        # A user is required by nix
+        # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
+        export USER=nobody
         ${nix}/bin/nix-store --load-db < ${closureInfo {rootPaths = contentsList;}}/registration
 
         mkdir -p nix/var/nix/gcroots/docker/
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 29eea33a7e1..eb89a2e3c2e 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -117,7 +117,12 @@ rec {
       pkgs.nix
     ];
     config = {
-      Env = [ "NIX_PAGER=cat" ];
+      Env = [
+        "NIX_PAGER=cat"
+        # A user is required by nix
+        # https://github.com/NixOS/nix/blob/9348f9291e5d9e4ba3c4347ea1b235640f54fd79/src/libutil/util.cc#L478
+        "USER=nobody"
+      ];
     };
   };
 
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 931be1a3700..8020ba46f3f 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -42,6 +42,7 @@ Options:
       --url url       Any url understood by 'git clone'.
       --rev ref       Any sha1 or references (such as refs/heads/master)
       --hash h        Expected hash.
+      --branch-name   Branch name to check out into
       --deepClone     Clone the entire repository.
       --no-deepClone  Make a shallow clone of just the required ref.
       --leave-dotGit  Keep the .git directories.
diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
index e0a52e62561..db187d2ac14 100644
--- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, echo_build_heading, noisily, makeDeps }:
+{ lib, stdenv, echo_build_heading, noisily, makeDeps, rust }:
 { crateName,
   dependencies,
   crateFeatures, crateRenames, libName, release, libPath,
@@ -13,17 +13,6 @@
         (if release then "-C opt-level=3" else "-C debuginfo=2")
         (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
     rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}";
-
-    # Some platforms have different names for rustc.
-    rustPlatform =
-      with stdenv.hostPlatform.parsed;
-      let cpu_ = if cpu.name == "armv7a" then "armv7"
-                 else cpu.name;
-          vendor_ = vendor.name;
-          kernel_ = kernel.name;
-          abi_ = abi.name;
-      in
-      "${cpu_}-${vendor_}-${kernel_}-${abi_}";
   in ''
     runHook preBuild
     norm=""
@@ -67,7 +56,7 @@
         ${crateFeatures} --out-dir target/bin --emit=dep-info,link -L dependency=target/deps \
         $LINK ${deps}$EXTRA_LIB --cap-lints allow \
         $BUILD_OUT_DIR $EXTRA_BUILD $EXTRA_FEATURES --color ${colors} \
-        ${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rustPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
+        ${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
       if [ "$crate_name_" != "$crate_name" ]; then
         mv target/bin/$crate_name_ target/bin/$crate_name
       fi
@@ -91,18 +80,18 @@
 
     echo "$EXTRA_LINK_SEARCH" | while read i; do
        if [[ ! -z "$i" ]]; then
-         for lib in $i; do
-           echo "-L $lib" >> target/link
-           L=$(echo $lib | sed -e "s#$(pwd)/target/build#$out/lib#")
+         for library in $i; do
+           echo "-L $library" >> target/link
+           L=$(echo $library | sed -e "s#$(pwd)/target/build#$lib/lib#")
            echo "-L $L" >> target/link.final
          done
        fi
     done
     echo "$EXTRA_LINK" | while read i; do
        if [[ ! -z "$i" ]]; then
-         for lib in $i; do
-           echo "-l $lib" >> target/link
-           echo "-l $lib" >> target/link.final
+         for library in $i; do
+           echo "-l $library" >> target/link
+           echo "-l $library" >> target/link.final
          done
        fi
     done
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 6534e21c0f0..edff3941636 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -4,7 +4,7 @@
 # This can be useful for deploying packages with NixOps, and to share
 # binary dependencies between projects.
 
-{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc }:
+{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc, rust }:
 
 let
     # This doesn't appear to be officially documented anywhere yet.
@@ -22,9 +22,9 @@ let
           else
             extern;
         in (if lib.lists.any (x: x == "lib") dep.crateType then
-           " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
+           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
          else
-           " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
+           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
       ) dependencies);
 
     echo_build_heading = colors: ''
@@ -59,7 +59,7 @@ let
     '';
 
     configureCrate = import ./configure-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
-    buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
+    buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps rust; };
     installCrate = import ./install-crate.nix;
 
     in
@@ -96,12 +96,12 @@ stdenv.mkDerivation (rec {
     buildInputs = (crate.buildInputs or []) ++ buildInputs_;
     dependencies =
       builtins.map
-        (dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })
+        (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
         dependencies_;
 
     buildDependencies =
       builtins.map
-        (dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })
+        (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
         buildDependencies_;
 
     completeDeps = lib.lists.unique (dependencies ++ lib.lists.concatMap (dep: dep.completeDeps) dependencies);
@@ -160,6 +160,9 @@ stdenv.mkDerivation (rec {
     };
     installPhase = installCrate crateName metadata;
 
+    outputs = [ "out" "lib" ];
+    outputDev = [ "lib" ];
+
 } // extraDerivationAttrs
 )) {
   rust = rustc;
diff --git a/pkgs/build-support/rust/build-rust-crate/install-crate.nix b/pkgs/build-support/rust/build-rust-crate/install-crate.nix
index 3b0282621ea..934c3a03176 100644
--- a/pkgs/build-support/rust/build-rust-crate/install-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/install-crate.nix
@@ -1,24 +1,26 @@
 crateName: metadata:
 ''
   runHook preInstall
-  mkdir -p $out
+  # always create $out even if we do not have binaries. We are detecting binary targets during compilation, if those are missing there is no way to only have $lib
+  mkdir $out
   if [[ -s target/env ]]; then
-    cp target/env $out/env
+    mkdir -p $lib
+    cp target/env $lib/env
   fi
   if [[ -s target/link.final ]]; then
-    mkdir -p $out/lib
-    cp target/link.final $out/lib/link
+    mkdir -p $lib/lib
+    cp target/link.final $lib/lib/link
   fi
   if [[ "$(ls -A target/lib)" ]]; then
-    mkdir -p $out/lib
-    cp target/lib/* $out/lib #*/
-    for lib in $out/lib/*.so $out/lib/*.dylib; do #*/
-      ln -s $lib $(echo $lib | sed -e "s/-${metadata}//")
+    mkdir -p $lib/lib
+    cp target/lib/* $lib/lib #*/
+    for library in $lib/lib/*.so $lib/lib/*.dylib; do #*/
+      ln -s $library $(echo $library | sed -e "s/-${metadata}//")
     done
   fi
   if [[ "$(ls -A target/build)" ]]; then # */
-    mkdir -p $out/lib
-    cp -r target/build/* $out/lib # */
+    mkdir -p $lib/lib
+    cp -r target/build/* $lib/lib # */
   fi
   if [[ -d target/bin ]]; then
     if [[ "$(ls -A target/bin)" ]]; then
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index f0f949b2205..1d8e4448674 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, cacert, git, cargo, rustc, fetchcargo, buildPackages, windows }:
+{ stdenv, cacert, git, rust, cargo, rustc, fetchcargo, buildPackages, windows }:
 
 { name ? "${args.pname}-${args.version}"
 , cargoSha256 ? "unset"
@@ -46,12 +46,7 @@ let
       cargoDepsCopy="$sourceRoot/${cargoVendorDir}"
     '';
 
-  hostConfig = stdenv.hostPlatform.config;
-
-  rustHostConfig = {
-    x86_64-pc-mingw32 = "x86_64-pc-windows-gnu";
-  }.${hostConfig} or hostConfig;
-  rustTarget = if target == null then rustHostConfig else target;
+  rustTarget = if target == null then rust.toRustTarget stdenv.hostPlatform else target;
 
   ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
   cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
@@ -87,7 +82,7 @@ stdenv.mkDerivation (args // {
       --subst-var-by vendor "$(pwd)/$cargoDepsCopy"
 
     cat >> .cargo/config <<'EOF'
-    [target."${stdenv.buildPlatform.config}"]
+    [target."${rust.toRustTarget stdenv.buildPlatform}"]
     "linker" = "${ccForBuild}"
     ${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
     [target."${rustTarget}"]
@@ -129,10 +124,10 @@ stdenv.mkDerivation (args // {
     (
     set -x
     env \
-      "CC_${stdenv.buildPlatform.config}"="${ccForBuild}" \
-      "CXX_${stdenv.buildPlatform.config}"="${cxxForBuild}" \
-      "CC_${stdenv.hostPlatform.config}"="${ccForHost}" \
-      "CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \
+      "CC_${rust.toRustTarget stdenv.buildPlatform}"="${ccForBuild}" \
+      "CXX_${rust.toRustTarget stdenv.buildPlatform}"="${cxxForBuild}" \
+      "CC_${rust.toRustTarget stdenv.hostPlatform}"="${ccForHost}" \
+      "CXX_${rust.toRustTarget stdenv.hostPlatform}"="${cxxForHost}" \
       cargo build \
         ${stdenv.lib.optionalString (buildType == "release") "--release"} \
         --target ${rustTarget} \
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 55df09121b4..5210b7d7ba2 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -2,11 +2,16 @@
 
 let
 
-  runCommand' = stdenv: name: env: buildCommand:
+  runCommand' = runLocal: stdenv: name: env: buildCommand:
     stdenv.mkDerivation ({
       inherit name buildCommand;
       passAsFile = [ "buildCommand" ];
-    } // env);
+    }
+    // (lib.optionalAttrs runLocal {
+          preferLocalBuild = true;
+          allowSubstitutes = false;
+       })
+    // env);
 
 in
 
@@ -21,11 +26,27 @@ rec {
   * runCommand "name" {envVariable = true;} ''echo hello > $out''
   * runCommandNoCC "name" {envVariable = true;} ''echo hello > $out'' # equivalent to prior
   * runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
+  *
+  * The `*Local` variants force a derivation to be built locally,
+  * it is not substituted.
+  *
+  * This is intended for very cheap commands (<1s execution time).
+  * It saves on the network roundrip and can speed up a build.
+  *
+  * It is the same as adding the special fields
+  * `preferLocalBuild = true;`
+  * `allowSubstitutes = false;`
+  * to a derivation’s attributes.
   */
   runCommand = runCommandNoCC;
-  runCommandNoCC = runCommand' stdenvNoCC;
-  runCommandCC = runCommand' stdenv;
+  runCommandLocal = runCommandNoCCLocal;
+
+  runCommandNoCC = runCommand' false stdenvNoCC;
+  runCommandNoCCLocal = runCommand' true stdenvNoCC;
 
+  runCommandCC = runCommand' false stdenv;
+  # `runCommandCCLocal` left out on purpose.
+  # We shouldn’t force the user to have a cc in scope.
 
   /* Writes a text file to the nix store.
    * The contents of text is added to the file in the store.
diff --git a/pkgs/build-support/vm/windows/default.nix b/pkgs/build-support/vm/windows/default.nix
index 48ee2713d1f..309241c36de 100644
--- a/pkgs/build-support/vm/windows/default.nix
+++ b/pkgs/build-support/vm/windows/default.nix
@@ -20,8 +20,7 @@ let
   '';
 
 in {
-  runInWindowsVM = drv: let
-  in pkgs.lib.overrideDerivation drv (attrs: let
+  runInWindowsVM = drv: pkgs.lib.overrideDerivation drv (attrs: let
     bootstrap = bootstrapper attrs.windowsImage;
   in {
     requiredSystemFeatures = [ "kvm" ];
diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version
index 0a436ff02a3..d051a0f75c1 100755
--- a/pkgs/common-updater/scripts/update-source-version
+++ b/pkgs/common-updater/scripts/update-source-version
@@ -93,7 +93,7 @@ if [ -z "$oldUrl" ]; then
 fi
 
 drvName=$(nix-instantiate $systemArg --eval -E "with import ./. {}; lib.getName $attr" | tr -d '"')
-oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or lib.getVersion $attr" | tr -d '"')
+oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or (lib.getVersion $attr)" | tr -d '"')
 
 if [ -z "$drvName" -o -z "$oldVersion" ]; then
     die "Couldn't evaluate name and version from '$attr.name'!"
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index a266a597e0b..b4435fb911f 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "man-pages";
-  version = "5.03";
+  version = "5.04";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
-    sha256 = "082i9258rl9xxjgpxpz3v8jcwk96dsk704ki9h9lq7q8z7m3mqbz";
+    sha256 = "1bx4ws24bjq6iyfyilg7aih5f0qrhy9l97ksrwcd4yxvjh8gn13x";
   };
 
   makeFlags = [ "MANDIR=$(out)/share/man" ];
diff --git a/pkgs/data/fonts/cantarell-fonts/default.nix b/pkgs/data/fonts/cantarell-fonts/default.nix
index 4403d690a16..4c3459d0f11 100644
--- a/pkgs/data/fonts/cantarell-fonts/default.nix
+++ b/pkgs/data/fonts/cantarell-fonts/default.nix
@@ -33,6 +33,6 @@ in stdenv.mkDerivation rec {
     description = "Default typeface used in the user interface of GNOME since version 3.0";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.ofl;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/data/fonts/cascadia-code/default.nix b/pkgs/data/fonts/cascadia-code/default.nix
index d2d2ad34256..105b5da3105 100644
--- a/pkgs/data/fonts/cascadia-code/default.nix
+++ b/pkgs/data/fonts/cascadia-code/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "cascadia-code";
-  version = "1910.04";
+  version = "1911.20";
 in
 fetchurl {
   name = "${pname}-${version}";
@@ -15,7 +15,7 @@ fetchurl {
     install -Dm444 $downloadedFile $out/share/fonts/truetype/Cascadia.ttf
   '';
 
-  sha256 = "124zbv7xwirwwxrm988h3plwd2vynqxyx7p2gijqrnw69q9pf67q";
+  sha256 = "1dfd3g7cf2h0z2gxvk4pxy46xswd3wyqz3p8ypxcv2dkz4ri6l0j";
 
   meta = with lib; {
     description = "Monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal";
diff --git a/pkgs/data/fonts/input-fonts/default.nix b/pkgs/data/fonts/input-fonts/default.nix
index 68322bd5482..c3d3bf4aa6a 100644
--- a/pkgs/data/fonts/input-fonts/default.nix
+++ b/pkgs/data/fonts/input-fonts/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation {
   pname = "input-fonts";
-  version = "2017-08-10"; # date of the download and checksum
+  version = "2019-11-25"; # date of the download and checksum
 
   src = requireFile {
     name = "Input-Font.zip";
     url = "https://input.fontbureau.com/download/";
-    sha256 = "07fkyvbb12agkb2kpnq2j45nycgbjvb4n1s5hjyqsipdh2z9zihq";
+    sha256 = "10rax2a7vzidcs7kyfg5lv5bwp9i7kvjpdcsd10p0517syijkp3b";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "0k7xqkgqldd110ch9s144ilh762q777qcjvg3plmrb9s6xiaqvvd";
+  outputHash = "15sdhqqqd4jgk80fw7ncx49avi9cxbdgyrvnrfya0066x4q4r6lv";
 
   meta = with stdenv.lib; {
     description = "Fonts for Code, from Font Bureau";
diff --git a/pkgs/data/fonts/overpass/default.nix b/pkgs/data/fonts/overpass/default.nix
index 4730a67e290..1d0cf04d756 100644
--- a/pkgs/data/fonts/overpass/default.nix
+++ b/pkgs/data/fonts/overpass/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "3.0.3";
+  version = "3.0.4";
 in fetchzip rec {
   name = "overpass-${version}";
 
@@ -12,10 +12,10 @@ in fetchzip rec {
     mkdir -p $out/share/doc/${name}    ; unzip -j $downloadedFile \*.md  -d $out/share/doc/${name}
   '';
 
-  sha256 = "1m6p7rrlyqikjvypp4698sn0lp3a4z0z5al4swblfhg8qaxzv5pg";
+  sha256 = "13b4yam0nycclccxidzj2fa3nwms5qji7gfkixdnl4ybf0f56b64";
 
   meta = with lib; {
-    homepage = http://overpassfont.org/;
+    homepage = "https://overpassfont.org/";
     description = "Font heavily inspired by Highway Gothic";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/pkgs/data/icons/flat-remix-icon-theme/default.nix b/pkgs/data/icons/flat-remix-icon-theme/default.nix
new file mode 100644
index 00000000000..f0e13b21dfd
--- /dev/null
+++ b/pkgs/data/icons/flat-remix-icon-theme/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub , gtk3 }:
+
+stdenv.mkDerivation rec  {
+  pname = "flat-remix-icon-theme";
+  version = "20191018";
+
+  src = fetchFromGitHub  {
+    owner = "daniruiz";
+    repo = "flat-remix";
+    rev = version;
+    sha256 = "13ibxvrvri04lb5phm49b6d553jh0aigm57z5i0nsins405gixn9";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  installPhase = ''
+    mkdir -p $out/share/icons
+    mv Flat-Remix* $out/share/icons/
+  '';
+
+  postFixup = ''
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Flat remix is a pretty simple icon theme inspired on material design";
+    homepage = https://drasite.com/flat-remix;
+    license = with licenses; [ gpl3 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ mschneider ];
+  };
+}
+ 
diff --git a/pkgs/data/icons/zafiro-icons/default.nix b/pkgs/data/icons/zafiro-icons/default.nix
index 0b28a02ba4d..c3670a6f58c 100644
--- a/pkgs/data/icons/zafiro-icons/default.nix
+++ b/pkgs/data/icons/zafiro-icons/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zafiro-icons";
-  version = "0.9";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "zayronxio";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0zmnhih4gz8bidyzf1wimy85z7zx9i29mv1zirmykpqj819g7mx9";
+    rev = "${version}";
+    sha256 = "0gy3c0jkj1icnwcs23b6km9cj9cccv8y5z1w11nfdv91cq3mdhmb";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/misc/cldr-emoji-annotation/default.nix b/pkgs/data/misc/cldr-emoji-annotation/default.nix
new file mode 100644
index 00000000000..4279cf8aec4
--- /dev/null
+++ b/pkgs/data/misc/cldr-emoji-annotation/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cldr-emoji-annotation";
+  version = "36.12.120191002_0";
+
+  src = fetchFromGitHub {
+    owner = "fujiwarat";
+    repo = "cldr-emoji-annotation";
+    rev = version;
+    sha256 = "0nxigzs3mxjgi7c8mmdaxsy5sfl7ihsc2nysaj0db198b33w9clw";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Emoji annotation files in CLDR";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index b2363b4b549..3227d9a7623 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "tzdata";
-  version = "2019b";
+  version = "2019c";
 
   srcs =
     [ (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
-        sha256 = "0r0clnlslwm15m1c61dinf1fi9ffgl6aipng7i7yryfwj0n0kn85";
+        sha256 = "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr";
       })
       (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
-        sha256 = "0vbmswvv3li25s31shyllq5v24449lxnrki9hr043nipjd09sirf";
+        sha256 = "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn";
       })
     ];
 
diff --git a/pkgs/data/misc/unicode-character-database/default.nix b/pkgs/data/misc/unicode-character-database/default.nix
new file mode 100644
index 00000000000..5f50049856f
--- /dev/null
+++ b/pkgs/data/misc/unicode-character-database/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchurl
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "unicode-character-database";
+  version = "12.1.0";
+
+  src = fetchurl {
+    url = "https://www.unicode.org/Public/zipped/${version}/UCD.zip";
+    sha256 = "19m06iw0jl7lhlggcmghi12p6jld0qrmfpksgc243yn6sjh53fi5";
+  };
+
+  nativeBuildInputs = [
+    unzip
+  ];
+
+  setSourceRoot = ''
+    sourceRoot=$PWD
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/unicode
+    cp -r * $out/share/unicode
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Unicode Character Database";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/unicode-emoji/default.nix b/pkgs/data/misc/unicode-emoji/default.nix
new file mode 100644
index 00000000000..05472b26d88
--- /dev/null
+++ b/pkgs/data/misc/unicode-emoji/default.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, fetchurl
+, symlinkJoin
+, lib
+}:
+
+let
+  version = "12.1";
+
+  fetchData = { file, sha256 }: fetchurl {
+    url = "https://www.unicode.org/Public/emoji/${version}/${file}";
+    inherit sha256;
+    downloadToTemp = true;
+    recursiveHash = true;
+    postFetch = ''
+      installDir="$out/share/unicode/emoji"
+      mkdir -p "$installDir"
+      mv "$downloadedFile" "$installDir/${file}"
+    '';
+  };
+
+  srcs = {
+    emoji-data = fetchData {
+      file = "emoji-data.txt";
+      sha256 = "17gfm5a28lsymx36prbjy2g0b27gf3rcgggy0yxdshbxwf6zpf9k";
+    };
+    emoji-sequences = fetchData {
+      file = "emoji-sequences.txt";
+      sha256 = "1fckw5hfyvz5jfp2jczzx8qcs79vf0zyq0z2942230j99arq70vc";
+    };
+    emoji-test = fetchData {
+      file = "emoji-test.txt";
+      sha256 = "0w29lva7gp9g9lf7bz1i24qdalvf440bcq8npsbwr3cpp7na95kh";
+    };
+    emoji-variation-sequences = fetchData {
+      file = "emoji-variation-sequences.txt";
+      sha256 = "0akpib3cinr8xcs045hda5wnpfj6qfdjlkzmq5vgdc50gyhrd2z3";
+    };
+    emoji-zwj-sequences = fetchData {
+      file = "emoji-zwj-sequences.txt";
+      sha256 = "0s2mvy1nr2v1x0rr1fxlsv8ly1vyf9978rb4hwry5vnr678ls522";
+    };
+  };
+in
+
+symlinkJoin rec {
+  name = "unicode-emoji-${version}";
+
+  paths = lib.attrValues srcs;
+
+  passthru = srcs;
+
+  meta = with stdenv.lib; {
+    description = "Unicode Emoji Data Files";
+    homepage = "https://home.unicode.org/emoji/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/unihan-database/default.nix b/pkgs/data/misc/unihan-database/default.nix
new file mode 100644
index 00000000000..77da77242a9
--- /dev/null
+++ b/pkgs/data/misc/unihan-database/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchurl
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "unihan-database";
+  version = "12.1.0";
+
+  src = fetchurl {
+    url = "https://www.unicode.org/Public/zipped/${version}/Unihan.zip";
+    sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
+  };
+
+  nativeBuildInputs = [
+    unzip
+  ];
+
+  setSourceRoot = ''
+    sourceRoot=$PWD
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/unicode
+    cp -r * $out/share/unicode
+
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Unicode Han Database";
+    homepage = "https://www.unicode.org/";
+    license = licenses.free; # https://www.unicode.org/license.html
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix
index d1d7228183c..37eb9b7e5bc 100644
--- a/pkgs/data/themes/plata/default.nix
+++ b/pkgs/data/themes/plata/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plata-theme";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitLab {
     owner = "tista500";
     repo = "plata-theme";
     rev = version;
-    sha256 = "1bcjrnh6bm7pxyqrr39yx5zykf3yzxrsydd5xcawjfihnph3yrlg";
+    sha256 = "0rva56xdvsj6vwwvrn55137mw83c9p4xy00i3mq0ryh43imyj4mg";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/desktops/deepin/dbus-factory/default.nix b/pkgs/desktops/deepin/dbus-factory/default.nix
index 2511f05c4ea..9f7b0e478e1 100644
--- a/pkgs/desktops/deepin/dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/dbus-factory/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's:/share/gocode:/share/go:' Makefile
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Generates static DBus bindings for Golang and QML at build-time";
diff --git a/pkgs/desktops/deepin/dde-api/default.nix b/pkgs/desktops/deepin/dde-api/default.nix
index 36a1d050cb8..c4082ce454c 100644
--- a/pkgs/desktops/deepin/dde-api/default.nix
+++ b/pkgs/desktops/deepin/dde-api/default.nix
@@ -113,7 +113,7 @@ buildGoPackage rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Go-lang bindings for dde-daemon";
diff --git a/pkgs/desktops/deepin/dde-calendar/default.nix b/pkgs/desktops/deepin/dde-calendar/default.nix
index 3d4800a7510..5460a932962 100644
--- a/pkgs/desktops/deepin/dde-calendar/default.nix
+++ b/pkgs/desktops/deepin/dde-calendar/default.nix
@@ -37,7 +37,7 @@ mkDerivation rec {
       -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert,"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Calendar for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-control-center/default.nix b/pkgs/desktops/deepin/dde-control-center/default.nix
index 0aaacee2ba4..97e44c6c36e 100644
--- a/pkgs/desktops/deepin/dde-control-center/default.nix
+++ b/pkgs/desktops/deepin/dde-control-center/default.nix
@@ -99,7 +99,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Control panel of Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-daemon/default.nix b/pkgs/desktops/deepin/dde-daemon/default.nix
index 31451dca91a..b5460029f78 100644
--- a/pkgs/desktops/deepin/dde-daemon/default.nix
+++ b/pkgs/desktops/deepin/dde-daemon/default.nix
@@ -121,7 +121,7 @@ buildGoPackage rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Daemon for handling Deepin Desktop Environment session settings";
diff --git a/pkgs/desktops/deepin/dde-dock/default.nix b/pkgs/desktops/deepin/dde-dock/default.nix
index afa245eefe9..7b44b69d5b7 100644
--- a/pkgs/desktops/deepin/dde-dock/default.nix
+++ b/pkgs/desktops/deepin/dde-dock/default.nix
@@ -68,7 +68,7 @@ unwrapped = mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Dock for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-file-manager/default.nix b/pkgs/desktops/deepin/dde-file-manager/default.nix
index ba7505b5b2f..62b4da71dd6 100644
--- a/pkgs/desktops/deepin/dde-file-manager/default.nix
+++ b/pkgs/desktops/deepin/dde-file-manager/default.nix
@@ -240,7 +240,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "File manager and desktop module for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-launcher/default.nix b/pkgs/desktops/deepin/dde-launcher/default.nix
index ca5fa6d0906..f5e5f23cc2c 100644
--- a/pkgs/desktops/deepin/dde-launcher/default.nix
+++ b/pkgs/desktops/deepin/dde-launcher/default.nix
@@ -63,7 +63,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin Desktop Environment launcher module";
diff --git a/pkgs/desktops/deepin/dde-network-utils/default.nix b/pkgs/desktops/deepin/dde-network-utils/default.nix
index 0c8e7e8d137..778481fc651 100644
--- a/pkgs/desktops/deepin/dde-network-utils/default.nix
+++ b/pkgs/desktops/deepin/dde-network-utils/default.nix
@@ -41,7 +41,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin network utils";
diff --git a/pkgs/desktops/deepin/dde-polkit-agent/default.nix b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
index 533b0a0fdea..7aaddf53872 100644
--- a/pkgs/desktops/deepin/dde-polkit-agent/default.nix
+++ b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
@@ -38,7 +38,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "PolicyKit agent for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix b/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
index cdbefb406ad..ba237bcf755 100644
--- a/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/dde-qt-dbus-factory/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt DBus interface library for Deepin software";
diff --git a/pkgs/desktops/deepin/dde-session-ui/default.nix b/pkgs/desktops/deepin/dde-session-ui/default.nix
index e71262cc8e9..699403567b7 100644
--- a/pkgs/desktops/deepin/dde-session-ui/default.nix
+++ b/pkgs/desktops/deepin/dde-session-ui/default.nix
@@ -113,7 +113,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin desktop-environment - Session UI module";
diff --git a/pkgs/desktops/deepin/deepin-anything/default.nix b/pkgs/desktops/deepin/deepin-anything/default.nix
index 38ebe664b85..184153a3981 100644
--- a/pkgs/desktops/deepin/deepin-anything/default.nix
+++ b/pkgs/desktops/deepin/deepin-anything/default.nix
@@ -51,7 +51,7 @@ mkDerivation rec {
     searchHardCodedPaths $modsrc  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin file search tool";
diff --git a/pkgs/desktops/deepin/deepin-calculator/default.nix b/pkgs/desktops/deepin/deepin-calculator/default.nix
index 201316638a8..26f2b99612e 100644
--- a/pkgs/desktops/deepin/deepin-calculator/default.nix
+++ b/pkgs/desktops/deepin/deepin-calculator/default.nix
@@ -36,7 +36,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Easy to use calculator for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
index 7ffba88d153..0ca42a88761 100644
--- a/pkgs/desktops/deepin/deepin-desktop-base/default.nix
+++ b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     ln -s ../lib/deepin/desktop-version $out/etc/deepin-version
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Base assets and definitions for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
index fe2062a3d96..579ceb442be 100644
--- a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
+++ b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python3, gnome3, glib, deepin-gtk-theme,
+{ stdenv, fetchFromGitHub, python3, dconf, glib, deepin-gtk-theme,
   deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, deepin }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome3.dconf
+    dconf
     deepin-gtk-theme
     deepin-icon-theme
     deepin-sound-theme
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GSettings deepin desktop-wide schemas";
diff --git a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
index 67fcc36bcef..915cb8c6ac7 100644
--- a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
+++ b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/deepin-desktop-ts-convert --set PERL5LIB $PERL5LIB
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin Internationalization utilities";
diff --git a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
index 8e2469a2c78..7c10e873209 100644
--- a/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-gtk-theme/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin GTK Theme";
diff --git a/pkgs/desktops/deepin/deepin-icon-theme/default.nix b/pkgs/desktops/deepin/deepin-icon-theme/default.nix
index 51b67e05554..f8258a1d8cd 100644
--- a/pkgs/desktops/deepin/deepin-icon-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-icon-theme/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     cp -a ./Sea ./usr/share/icons/hicolor "$out"/share/icons/
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Icons for the Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-image-viewer/default.nix b/pkgs/desktops/deepin/deepin-image-viewer/default.nix
index bf9d1db2120..aa13eb76055 100644
--- a/pkgs/desktops/deepin/deepin-image-viewer/default.nix
+++ b/pkgs/desktops/deepin/deepin-image-viewer/default.nix
@@ -41,7 +41,7 @@ mkDerivation rec {
       -e "s,\$\$\[QT_INSTALL_PLUGINS\],$out/$qtPluginPrefix,"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Image Viewer for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-menu/default.nix b/pkgs/desktops/deepin/deepin-menu/default.nix
index 9aef8a15eb9..b23a7491aaf 100644
--- a/pkgs/desktops/deepin/deepin-menu/default.nix
+++ b/pkgs/desktops/deepin/deepin-menu/default.nix
@@ -34,7 +34,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin menu service";
diff --git a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
index 0c14ddff178..b3930c8e399 100644
--- a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
+++ b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
@@ -58,7 +58,7 @@ mkDerivation rec {
       --replace "Exec=deepin-movie" "Exec=$out/bin/deepin-movie"
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin movie player";
diff --git a/pkgs/desktops/deepin/deepin-screenshot/default.nix b/pkgs/desktops/deepin/deepin-screenshot/default.nix
index 0e0db458aca..374af8be2be 100644
--- a/pkgs/desktops/deepin/deepin-screenshot/default.nix
+++ b/pkgs/desktops/deepin/deepin-screenshot/default.nix
@@ -48,7 +48,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Easy-to-use screenshot tool for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix b/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
index 217dbc2b0db..a8d143ff8b0 100644
--- a/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
+++ b/pkgs/desktops/deepin/deepin-shortcut-viewer/default.nix
@@ -25,7 +25,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Pop-up shortcut viewer for Deepin applications";
diff --git a/pkgs/desktops/deepin/deepin-sound-theme/default.nix b/pkgs/desktops/deepin/deepin-sound-theme/default.nix
index e61e91fc87c..378945ac1dd 100644
--- a/pkgs/desktops/deepin/deepin-sound-theme/default.nix
+++ b/pkgs/desktops/deepin/deepin-sound-theme/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin sound theme";
diff --git a/pkgs/desktops/deepin/deepin-terminal/default.nix b/pkgs/desktops/deepin/deepin-terminal/default.nix
index 7a4d0662bbb..049c856419d 100644
--- a/pkgs/desktops/deepin/deepin-terminal/default.nix
+++ b/pkgs/desktops/deepin/deepin-terminal/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
     "-DVERSION=${version}"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Default terminal emulator for Deepin";
diff --git a/pkgs/desktops/deepin/deepin-turbo/default.nix b/pkgs/desktops/deepin/deepin-turbo/default.nix
index 299db533674..3aa6003592b 100644
--- a/pkgs/desktops/deepin/deepin-turbo/default.nix
+++ b/pkgs/desktops/deepin/deepin-turbo/default.nix
@@ -31,7 +31,7 @@ mkDerivation rec {
     searchHardCodedPaths $out  # for debugging
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "A daemon that helps to launch applications faster";
diff --git a/pkgs/desktops/deepin/deepin-wallpapers/default.nix b/pkgs/desktops/deepin/deepin-wallpapers/default.nix
index e822cf6269d..6baee0eda11 100644
--- a/pkgs/desktops/deepin/deepin-wallpapers/default.nix
+++ b/pkgs/desktops/deepin/deepin-wallpapers/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       $out/var/cache/image-blur/$(echo -n $out/share/backgrounds/deepin/desktop.jpg | md5sum | cut -d " " -f 1).jpg
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Wallpapers for Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/disomaster/default.nix b/pkgs/desktops/deepin/disomaster/default.nix
index 37140d84191..3ce2adba098 100644
--- a/pkgs/desktops/deepin/disomaster/default.nix
+++ b/pkgs/desktops/deepin/disomaster/default.nix
@@ -29,7 +29,7 @@ mkDerivation rec {
        libdisomaster/libdisomaster.pro
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "A libisoburn wrapper for Qt";
diff --git a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
index 394bdd52b3d..ed01cd92c7c 100644
--- a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
+++ b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     fixPath $out /usr dpa-ext-gnomekeyring.pro gnomekeyringextention.cpp
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GNOME keyring extension for dde-polkit-agent";
diff --git a/pkgs/desktops/deepin/dtkcore/default.nix b/pkgs/desktops/deepin/dtkcore/default.nix
index 3d9dd33772b..8ae1c6f0952 100644
--- a/pkgs/desktops/deepin/dtkcore/default.nix
+++ b/pkgs/desktops/deepin/dtkcore/default.nix
@@ -43,7 +43,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin tool kit core library";
diff --git a/pkgs/desktops/deepin/dtkwidget/default.nix b/pkgs/desktops/deepin/dtkwidget/default.nix
index 2e0cfef036a..751fe02562f 100644
--- a/pkgs/desktops/deepin/dtkwidget/default.nix
+++ b/pkgs/desktops/deepin/dtkwidget/default.nix
@@ -40,7 +40,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin graphical user interface library";
diff --git a/pkgs/desktops/deepin/dtkwm/default.nix b/pkgs/desktops/deepin/dtkwm/default.nix
index 0251f8097d5..ead96fe2533 100644
--- a/pkgs/desktops/deepin/dtkwm/default.nix
+++ b/pkgs/desktops/deepin/dtkwm/default.nix
@@ -37,7 +37,7 @@ mkDerivation rec {
     "LIB_INSTALL_DIR=${outRef}/lib"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Deepin graphical user interface library";
diff --git a/pkgs/desktops/deepin/go-dbus-factory/default.nix b/pkgs/desktops/deepin/go-dbus-factory/default.nix
index d302cc3417f..0b7c6cfdc91 100644
--- a/pkgs/desktops/deepin/go-dbus-factory/default.nix
+++ b/pkgs/desktops/deepin/go-dbus-factory/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's:/share/gocode:/share/go:' Makefile
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "GoLang DBus factory for the Deepin Desktop Environment";
diff --git a/pkgs/desktops/deepin/go-dbus-generator/default.nix b/pkgs/desktops/deepin/go-dbus-generator/default.nix
index d564f2c8875..fed8b6f2c6a 100644
--- a/pkgs/desktops/deepin/go-dbus-generator/default.nix
+++ b/pkgs/desktops/deepin/go-dbus-generator/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     "GOCACHE=$(TMPDIR)/go-cache"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Convert dbus interfaces to go-lang or qml wrapper code";
diff --git a/pkgs/desktops/deepin/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-gir-generator/default.nix
index 2f431bd941b..5a10efa1932 100644
--- a/pkgs/desktops/deepin/go-gir-generator/default.nix
+++ b/pkgs/desktops/deepin/go-gir-generator/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     "GOCACHE=$(TMPDIR)/go-cache"
   ];
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Generate static golang bindings for GObject";
diff --git a/pkgs/desktops/deepin/go-lib/default.nix b/pkgs/desktops/deepin/go-lib/default.nix
index f5ed22f2f8e..730412a58f3 100644
--- a/pkgs/desktops/deepin/go-lib/default.nix
+++ b/pkgs/desktops/deepin/go-lib/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     rm -r $out/share/go/src/pkg.deepin.io/lib/debian
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Go bindings for Deepin Desktop Environment development";
diff --git a/pkgs/desktops/deepin/qcef/default.nix b/pkgs/desktops/deepin/qcef/default.nix
index b43d74d15c7..38ca4f3b676 100644
--- a/pkgs/desktops/deepin/qcef/default.nix
+++ b/pkgs/desktops/deepin/qcef/default.nix
@@ -90,7 +90,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt5 binding of Chromium Embedded Framework";
diff --git a/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix b/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
index f382e605bac..6b1f212716c 100644
--- a/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
+++ b/pkgs/desktops/deepin/qt5dxcb-plugin/default.nix
@@ -43,7 +43,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt platform theme integration plugin for DDE";
diff --git a/pkgs/desktops/deepin/qt5integration/default.nix b/pkgs/desktops/deepin/qt5integration/default.nix
index 0ffa3d006bc..5de46f8a1dd 100644
--- a/pkgs/desktops/deepin/qt5integration/default.nix
+++ b/pkgs/desktops/deepin/qt5integration/default.nix
@@ -40,7 +40,7 @@ mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "Qt platform theme integration plugins for DDE";
diff --git a/pkgs/desktops/deepin/udisks2-qt5/default.nix b/pkgs/desktops/deepin/udisks2-qt5/default.nix
index 1809f191838..7972d8f9a3f 100644
--- a/pkgs/desktops/deepin/udisks2-qt5/default.nix
+++ b/pkgs/desktops/deepin/udisks2-qt5/default.nix
@@ -28,7 +28,7 @@ mkDerivation rec {
     searchHardCodedPaths $out
   '';
 
-  passthru.updateScript = deepin.updateScript { inherit ;name = "${pname}-${version}"; };
+  passthru.updateScript = deepin.updateScript { name = "${pname}-${version}"; };
 
   meta = with stdenv.lib; {
     description = "UDisks2 D-Bus interfaces binding for Qt5";
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index 6cc6848b316..d0a7a890355 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -37,9 +37,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome_python_desktop = callPackage ./bindings/gnome-python-desktop { };
 
-  gnome_vfs = callPackage ./platform/gnome-vfs {
-    openssl = pkgs.openssl_1_0_2;
-  };
+  gnome_vfs = callPackage ./platform/gnome-vfs { };
 
   libgnome = callPackage ./platform/libgnome { };
 
diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index c15f43b542a..7196840978f 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, dbus-glib
+{ stdenv, fetchurl, fetchpatch, pkgconfig, libxml2, bzip2, openssl, dbus-glib
 , glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
 
 stdenv.mkDerivation rec {
@@ -20,6 +20,18 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ GConf glib ];
 
+  # struct SSL is opaque in openssl-1.1; and the SSL_free() man page
+  # says that one should not free members of it manually (in both
+  # the openssl-1.0 and openssl-1.1 man pages).
+  # https://bugs.gentoo.org/592540
+  patches = [ (fetchpatch {
+                name = "gnome-vfs-2.24.4-openssl-1.1.patch";
+                url = "https://bugs.gentoo.org/attachment.cgi?id=535944";
+                sha256 = "1q4icapvmwmd5rjah7rr0bqazzk5cg36znmjlpra20n9y27nz040";
+                extraPrefix = "";
+              })
+            ];
+
   postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
 
   doCheck = false; # needs dbus daemon
diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
index 27caaa70634..3b972718230 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU_combined, pango, pangox_compat, xorg }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU, libGL, pango, pangox_compat, xorg }:
 
 stdenv.mkDerivation rec {
   name = "gtkglext-1.2.0";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with xorg;
-    [ pkgconfig glib gtk2 libGLU_combined pango libX11 libXmu ];
+    [ pkgconfig glib gtk2 libGLU libGL pango libX11 libXmu ];
   propagatedBuildInputs = [ pangox_compat ];
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix
index 5115c2d8fb4..6ea04910d23 100644
--- a/pkgs/desktops/gnome-3/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gedit/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "3.34.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zjh3p3lns7a7kx3g3v7gkgcqdzyx1zyv8ssr6d5ljfb7hfyb59y";
+    sha256 = "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index ce8215d6391..d59746adc3d 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -51,11 +51,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-boxes";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1758k5b79kyywdg67b4byqhva9045i13lzg5r62my950c4c2p0pc";
+    sha256 = "1rqdjf61cbi3zcpzr6cfkj3lcfrdlhs20bl65lxw2xrwk4jn0ph5";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
index 49b44f5f283..12dba8b41e1 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "gnome-maps";
-  version = "3.34.1";
+  version = "3.34.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "03nswj60lqznr2j3ld2lgjzr4j9x2gblqx2ip4l2yxnm9kgbm14s";
+    sha256 = "00xslcnhhwslqglgfv2im7vq3awa49y2jxzr8wsby7f713k28vf5";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
index d2f161f23b4..4900717898f 100644
--- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "adwaita-icon-theme";
-  version = "3.34.0";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zvwikj3a07i3g3rir4cc63b14822lrzzgprs1j2nmb3h8gykds0";
+    sha256 = "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7";
   };
 
   # For convenience, we can specify adwaita-icon-theme only in packages
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index c7a126034f2..5934f56274c 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3
+{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3, dconf
 , libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }:
 
 let
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
     gettext docbook_xsl libxml2 gobject-introspection python3
   ];
 
-  buildInputs = [ glib gtk3 gnome3.dconf ];
+  buildInputs = [ glib gtk3 dconf ];
 
   postPatch = ''
     chmod +x meson_post_install.py
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index fa70ecea264..6c293cb55b9 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1gisymfjhkibqy73pmd0d3fwl43a23d0lvlxzqkycfdn9jh6pxbg";
+    sha256 = "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 9d1602dfccd..ba660a64418 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg
-, accountsservice, libX11, gnome3, systemd, autoreconfHook
+, accountsservice, libX11, gnome3, systemd, autoreconfHook, dconf
 , gtk3, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth
 , librsvg, coreutils, xwayland, nixos-icons, fetchpatch }:
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     "--with-udevdir=$(out)/lib/udev"
   ];
 
-  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool gnome3.dconf ];
+  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool dconf ];
   buildInputs = [
     glib accountsservice systemd
     gobject-introspection libX11 gtk3
diff --git a/pkgs/desktops/gnome-3/core/gucharmap/default.nix b/pkgs/desktops/gnome-3/core/gucharmap/default.nix
index 6c291c1874f..ce5e073ac06 100644
--- a/pkgs/desktops/gnome-3/core/gucharmap/default.nix
+++ b/pkgs/desktops/gnome-3/core/gucharmap/default.nix
@@ -1,11 +1,48 @@
-{ stdenv, intltool, fetchFromGitLab, pkgconfig, gtk3, adwaita-icon-theme
-, glib, desktop-file-utils, gtk-doc, autoconf, automake, libtool
-, wrapGAppsHook, gnome3, itstool, libxml2, yelp-tools
-, docbook_xsl, docbook_xml_dtd_412, gsettings-desktop-schemas
-, callPackage, unzip, gobject-introspection }:
+{ stdenv
+, intltool
+, fetchFromGitLab
+, fetchpatch
+, pkgconfig
+, gtk3
+, adwaita-icon-theme
+, glib
+, desktop-file-utils
+, gtk-doc
+, autoconf
+, automake
+, libtool
+, wrapGAppsHook
+, gnome3
+, itstool
+, libxml2
+, yelp-tools
+, docbook_xsl
+, docbook_xml_dtd_412
+, gsettings-desktop-schemas
+, callPackage
+, unzip
+, unicode-character-database
+, unihan-database
+, runCommand
+, symlinkJoin
+, gobject-introspection
+}:
 
 let
-  unicode-data = callPackage ./unicode-data.nix {};
+  # TODO: make upstream patch allowing to use the uncompressed file,
+  # preferably from XDG_DATA_DIRS.
+  # https://gitlab.gnome.org/GNOME/gucharmap/issues/13
+  unihanZip = runCommand "unihan" {} ''
+    mkdir -p $out/share/unicode
+    ln -s ${unihan-database.src} $out/share/unicode/Unihan.zip
+  '';
+  ucd = symlinkJoin {
+    name = "ucd+unihan";
+    paths = [
+      unihanZip
+      unicode-character-database
+    ];
+  };
 in stdenv.mkDerivation rec {
   pname = "gucharmap";
   version = "12.0.1";
@@ -20,16 +57,41 @@ in stdenv.mkDerivation rec {
     sha256 = "0si3ymyfzc5v7ly0dmcs3qgw2wp8cyasycq5hmcr8frl09lr6gkw";
   };
 
+  patches = [
+    # fix build with Unicode 12.1
+    (fetchpatch {
+      url = "https://salsa.debian.org/gnome-team/gucharmap/raw/de079ad494a15f662416257fca2f2b8db757f4ea/debian/patches/update-to-unicode-12.1.patch";
+      sha256 = "093gqsxfpp3s0b88p1dgkskr4ng3hv8irmxc60l3fdrkl8am00xh";
+    })
+  ];
+
   nativeBuildInputs = [
-    pkgconfig wrapGAppsHook unzip intltool itstool
-    autoconf automake libtool gtk-doc docbook_xsl docbook_xml_dtd_412
-    yelp-tools libxml2 desktop-file-utils gobject-introspection
+    pkgconfig
+    wrapGAppsHook
+    unzip
+    intltool
+    itstool
+    autoconf
+    automake
+    libtool
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_412
+    yelp-tools
+    libxml2
+    desktop-file-utils
+    gobject-introspection
   ];
 
-  buildInputs = [ gtk3 glib gsettings-desktop-schemas adwaita-icon-theme ];
+  buildInputs = [
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    adwaita-icon-theme
+  ];
 
   configureFlags = [
-    "--with-unicode-data=${unicode-data}"
+    "--with-unicode-data=${ucd}/share/unicode"
     "--enable-gtk-doc"
   ];
 
@@ -51,7 +113,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "GNOME Character Map, based on the Unicode Character Database";
-    homepage = https://wiki.gnome.org/Apps/Gucharmap;
+    homepage = "https://wiki.gnome.org/Apps/Gucharmap";
     license = licenses.gpl3;
     maintainers = gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix b/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix
deleted file mode 100644
index 56104aff484..00000000000
--- a/pkgs/desktops/gnome-3/core/gucharmap/unicode-data.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ fetchurl, stdenv, gnome3 }:
-stdenv.mkDerivation rec {
-  pname = "unicode-data";
-  version = "12.0.0";
-  srcs = [
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Blocks.txt";
-      sha256 = "041sk54v6rjzb23b9x7yjdwzdp2wc7gvfz7ybavgg4gbh51wm8x1";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/DerivedAge.txt";
-      sha256 = "04j92xp07v273z3pxkbfmi1svmw9kmnjl9nvz9fv0g5ybk9zk7r6";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/NamesList.txt";
-      sha256 = "0vsq8gx7hws8mvxy3nlglpwxw7ky57q0fs09d7w9xgb2ylk7fz61";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Scripts.txt";
-      sha256 = "18c63hx4y5yg408a8d0wx72d2hfnlz4l560y1fsf9lpzifxpqcmx";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/UnicodeData.txt";
-      sha256 = "07d1kq190kgl92ispfx6zmdkvwvhjga0ishxsngzlw8j3kdkz4ap";
-    })
-    (fetchurl {
-      url = "http://www.unicode.org/Public/${version}/ucd/Unihan.zip";
-      sha256 = "1kfdhgg2gm52x3s07bijb5cxjy0jxwhd097k5lqhvzpznprm6ibf";
-    })
-  ];
-  phases = "installPhase";
-  installPhase = with stdenv.lib; ''
-    mkdir $out
-    for f in $srcs;do
-      cp $f $out/$(stripHash $f)
-    done
-  '';
-  meta = with stdenv.lib; {
-    homepage = http://www.unicode.org/ucd/;
-    description = "Unicode Character Database";
-    maintainers = gnome3.maintainers;
-    license = licenses.mit;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index 8fad9e3c288..63136d95f81 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -1,8 +1,35 @@
-{ fetchurl, fetchpatch, substituteAll, stdenv, pkgconfig, gnome3, gettext, gobject-introspection, upower, cairo
-, pango, cogl, json-glib, libstartup_notification, zenity, libcanberra-gtk3
-, ninja, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
-, gsettings-desktop-schemas, glib, gtk3, gnome-desktop
-, geocode-glib, pipewire, libgudev, libwacom, xwayland, meson
+{ fetchurl
+, fetchpatch
+, substituteAll
+, stdenv
+, pkgconfig
+, gnome3
+, gettext
+, gobject-introspection
+, upower
+, cairo
+, pango
+, cogl
+, json-glib
+, libstartup_notification
+, zenity
+, libcanberra-gtk3
+, ninja
+, xkeyboard_config
+, libxkbfile
+, libxkbcommon
+, libXtst
+, libinput
+, gsettings-desktop-schemas
+, glib
+, gtk3
+, gnome-desktop
+, geocode-glib
+, pipewire
+, libgudev
+, libwacom
+, xwayland
+, meson
 , gnome-settings-daemon
 , xorgserver
 , python3
@@ -10,6 +37,7 @@
 , sysprof
 , desktop-file-utils
 , libcap_ng
+, egl-wayland
 }:
 
 stdenv.mkDerivation rec {
@@ -24,53 +52,87 @@ stdenv.mkDerivation rec {
   };
 
   mesonFlags = [
-    "-Dxwayland-path=${xwayland}/bin/Xwayland"
+    "-Degl_device=true"
     "-Dinstalled_tests=false" # TODO: enable these
+    "-Dwayland_eglstream=true"
+    "-Dxwayland-path=${xwayland}/bin/Xwayland"
   ];
 
   propagatedBuildInputs = [
     # required for pkgconfig to detect mutter-clutter
-    libXtst
     json-glib
+    libXtst
     libcap_ng
   ];
 
   nativeBuildInputs = [
-    meson
-    pkgconfig
+    desktop-file-utils
     gettext
+    meson
     ninja
+    pkgconfig
     python3
-    # for cvt command
-    xorgserver
     wrapGAppsHook
-    desktop-file-utils
+    xorgserver # for cvt command
   ];
 
   buildInputs = [
-    glib gobject-introspection gtk3 gsettings-desktop-schemas upower
-    gnome-desktop cairo pango cogl zenity libstartup_notification
-    geocode-glib libinput libgudev libwacom
-    libcanberra-gtk3 zenity xkeyboard_config libxkbfile
-    libxkbcommon pipewire xwayland
-    gnome-settings-daemon sysprof
+    cairo
+    cogl
+    egl-wayland
+    geocode-glib
+    glib
+    gnome-desktop
+    gnome-settings-daemon
+    gobject-introspection
+    gsettings-desktop-schemas
+    gtk3
+    libcanberra-gtk3
+    libgudev
+    libinput
+    libstartup_notification
+    libwacom
+    libxkbcommon
+    libxkbfile
+    pango
+    pipewire
+    sysprof
+    upower
+    xkeyboard_config
+    xwayland
+    zenity
+    zenity
   ];
 
   patches = [
+    # Fixes from gnome-3-34 branch 2019-11-29.
+    (fetchpatch {
+      name = "gnome-3-34-2019-11-29.patch";
+      url = "https://github.com/GNOME/mutter/compare/3.34.1...c0e76186da5b7baf7c8804c0ffa80232a5a6bf98.patch";
+      excludes = [
+        ".gitlab-ci.yml"
+        ".gitlab-ci/checkout-gnome-shell.sh"
+      ];
+      sha256 = "1qmxic83bd3dvg6isipqy8jaaksd7p5s3cb7h44zinq738n8d0fb";
+    })
+
+    # Fix build with libglvnd provided headers
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
+      sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
+    })
+
     # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
     # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
     ./drop-inheritable.patch
-   # TODO: submit upstream
-   ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
+
+    # TODO: submit upstream
+    ./0001-build-use-get_pkgconfig_variable-for-sysprof-dbusdir.patch
+
     (substituteAll {
       src = ./fix-paths.patch;
       inherit zenity;
     })
-    # Fix build with libglvnd provided headers
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/mutter/commit/a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90.patch";
-      sha256 = "0imy2j8af9477jliwdq4jc40yw1cifsjjf196gnmwxr9rkj0hbrd";
-    })
   ];
 
   postPatch = ''
@@ -81,18 +143,18 @@ stdenv.mkDerivation rec {
     ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
   '';
 
-  enableParallelBuilding = true;
-
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "mutter";
-      attrPath = "gnome3.mutter";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    maintainers = gnome3.maintainers;
+    description = "A window manager for GNOME";
+    homepage = "https://gitlab.gnome.org/GNOME/mutter";
     license = licenses.gpl2;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/rygel/default.nix b/pkgs/desktops/gnome-3/core/rygel/default.nix
index c38e677a421..415974d0c2b 100644
--- a/pkgs/desktops/gnome-3/core/rygel/default.nix
+++ b/pkgs/desktops/gnome-3/core/rygel/default.nix
@@ -28,14 +28,14 @@
 
 stdenv.mkDerivation rec {
   pname = "rygel";
-  version = "0.38.1";
+  version = "0.38.3";
 
   # TODO: split out lib
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1w8bi2rw91qyfny1zxhy32k4qn62hdjl2m38f75cp7wv6494d7w0";
+    sha256 = "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index 21e198a867f..8d737b22a7a 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "simple-scan";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq";
+    sha256 = "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index 7cb63b8df79..34f6accdd5f 100644
--- a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp-xsl";
-  version = "3.34.0";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1qjfw4s8yf4hmyqrcqy6q2rsnb8b2cl1qbq67m7n7pyiczp3l1p8";
+    sha256 = "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index a4e594331c3..605ef95656c 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -35,7 +35,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   caribou = callPackage ./core/caribou { };
 
-  dconf = callPackage ./core/dconf { };
   dconf-editor = callPackage ./core/dconf-editor { };
 
   empathy = callPackage ./core/empathy { };
@@ -359,4 +358,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   inherit (pkgs) gjs; # added 2019-01-05
 
   inherit (pkgs) yelp-tools; # added 2019-11-20
+
+  inherit (pkgs) dconf; # added 2019-11-30
 })
diff --git a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
index 8cf9fb9f0e6..1761887f8fb 100644
--- a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-caffeine";
-  version = "unstable-2019-04-02";
+  version = "33";
 
   src = fetchFromGitHub {
     owner = "eonpatapon";
     repo = "gnome-shell-extension-caffeine";
-    rev = "a6b37dee108cddf50a0f0a19f0101854a75bf173";
-    sha256 = "1j3q12j36v97551sjb0c8qc8zr7a7gmxibygczryfdfmwjzp6icl";
+    rev = "v${version}";
+    sha256 = "1v74xfk7csgc4kw1fg75brmhk2aby3d453ksnmj4k8ivyxkzxmfg";
   };
 
   uuid = "caffeine@patapon.info";
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ eperuffo ];
     homepage = https://github.com/eonpatapon/gnome-shell-extension-caffeine;
-    broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesn't support 3.34
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
index dd7908ba726..9edeb3ea5de 100644
--- a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-taquin";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0vyrfhkfpx83n9p70jssykbndvb3sxwdihqvvvb94rbw7n6c4q4r";
+    sha256 = "1ff3h57wr26np3dlh7smpslba2awxasmhv3y45bn498i3n1vyvsk";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/iagno/default.nix b/pkgs/desktops/gnome-3/games/iagno/default.nix
index c679f3f74b8..33cd60f5272 100644
--- a/pkgs/desktops/gnome-3/games/iagno/default.nix
+++ b/pkgs/desktops/gnome-3/games/iagno/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iagno";
-  version = "3.34.2";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/iagno/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0r31k6b8mqgn5c55hi94gpdr776ykq7ww55vq6pmp5irhdwb3gn9";
+    sha256 = "1m9654dbi4vrl59wvbyxz7jf81v4mn4n5lcq7abb42lba965d2z2";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index dc7e0ed222f..808d36dab95 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -27,14 +27,14 @@
 
 let
   pname = "gnome-flashback";
-  version = "3.34.1";
+  version = "3.34.2";
   requiredComponents = wmName: "RequiredComponents=${wmName};gnome-flashback;gnome-panel;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;";
   gnome-flashback = stdenv.mkDerivation rec {
     name = "${pname}-${version}";
 
     src = fetchurl {
       url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-      sha256 = "0xxw5w66gx04amyxhf4xbz0s4bf0rdp7y9nyrf6bb4xdc6b0rfnx";
+      sha256 = "1726xcm2q94nfvb055d3m61m20s0xy3xl1fc3ds3k3rcrn457riv";
     };
 
     # make .desktop Execs absolute
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index e16effed670..836588e7e2b 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus-glib,
   libxklavier, libcanberra-gtk3, librsvg, libappindicator-gtk3,
-  desktop-file-utils, gnome3, gtk3, mate, hicolor-icon-theme, wrapGAppsHook
+  desktop-file-utils, dconf, gtk3, mate, hicolor-icon-theme, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     librsvg
     libappindicator-gtk3
     gtk3
-    gnome3.dconf
+    dconf
     hicolor-icon-theme
     mate.mate-desktop
     mate.libmatekbd
diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index 8d157a201be..35cacee5a4d 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/pkgs/desktops/mate/mate-desktop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, dconf, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-desktop";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome3.dconf
+    dconf
     gtk3
     isocodes
   ];
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index db45dc9c472..09744ecfdaa 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, gnome3, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, dconf, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-panel";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     librsvg
     libxml2
     gtk3
-    gnome3.dconf
+    dconf
     mate.libmateweather
     mate.mate-desktop
     mate.mate-menus
diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 73dd7011d49..b7385839242 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier,
-  libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate,
+  libcanberra-gtk3, libnotify, nss, polkit, dconf, gtk3, mate,
   pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio,
   wrapGAppsHook, fetchpatch, autoreconfHook }:
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     nss
     polkit
     gtk3
-    gnome3.dconf
+    dconf
     mate.mate-desktop
     mate.libmatekbd
     mate.libmatemixer
diff --git a/pkgs/desktops/mate/mate-terminal/default.nix b/pkgs/desktops/mate/mate-terminal/default.nix
index 7ec9944aa0e..704db60ff15 100644
--- a/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/pkgs/desktops/mate/mate-terminal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, gnome3, gtk3, vte, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, dconf, gtk3, vte, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-terminal";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
      vte
      gtk3
-     gnome3.dconf
+     dconf
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix
index db674f4fb7e..adba0b43008 100644
--- a/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -28,13 +28,13 @@
 
 stdenv.mkDerivation rec {
   pname = "appcenter";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0xsxm0qgmnljd4s8m6xajzsjp9skpsa8wwlwqmc5yx34diad7zag";
+    sha256 = "18l0kbm778728rksifslnaw2arnpr92sk24nw26k1zvs4prz5i7j";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index 4cdaacddbeb..3c73de6e7a9 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calculator";
-  version = "1.5.3";
+  version = "1.5.4";
 
   repoName = "calculator";
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0ibnj3zm93p8ghiy8gbbm0vlig9mnqjsvvp1cpw62dnap0qixdcg";
+    sha256 = "0053bdzn5viqlni6qg6q39nma6bsddmhnafa0mzggiv8l4qasbrx";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
index 4e5f69fc9e6..4f4244fa03e 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
@@ -25,22 +25,21 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calendar";
-  version = "unstable-2019-10-29";
+  version = "5.0.3";
 
   repoName = "calendar";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = repoName;
-    rev = "7d201fc5ea9e8dc25c46427397594fcab2016ed6"; # needed for libical 2.0 compat
-    sha256 = "11bqf3nxrj1sfd0qq5h0jsmimc6mwkd2g7q9ycizn9x5ak2gb8xi";
+    rev = version;
+    sha256 = "1dqcmh585fjib4m8bs7qy23fv429s7q9nbcqnn0vvmy1n36fic4m";
   };
 
   passthru = {
     updateScript = pantheon.updateScript {
       inherit repoName;
       attrPath = pname;
-      versionPolicy = "master";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
index 9132707db2b..e934a944df8 100644
--- a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-videos";
-  version = "2.6.3";
+  version = "2.7.0";
 
   repoName = "videos";
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ncm8kh6dcy83p8pmpilnk03b4dx3b1jm8w13izq2dkglfgdwvqx";
+    sha256 = "1b6dqqmxa83fwlh9r0v918ikxd3mnwk0j5xssw1wk5l7q72s43w7";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
index 7578b779058..c7f2fcce458 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -15,24 +15,15 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-mouse-touchpad";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1cg69nbdf4mcr16mi71aw9j8877lyj8yxjfk9bd3sml8f4fh7mmr";
+    sha256 = "1974zdr5w3xd882gi95fp7axgilfni1sclsr750qm32yhl7d9bfn";
   };
 
-  patches = [
-    ./hardcode-settings-daemon-gsettings.patch
-  ];
-
-  postPatch = ''
-    substituteInPlace src/Views/Clicking.vala \
-      --subst-var-by GSD_GSETTINGS ${glib.getSchemaPath elementary-settings-daemon}
-  '';
-
   passthru = {
     updateScript = pantheon.updateScript {
       repoName = pname;
@@ -51,6 +42,7 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    elementary-settings-daemon
     switchboard
   ];
 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
deleted file mode 100644
index 591ed9fc152..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/src/Views/Clicking.vala b/src/Views/Clicking.vala
-index cc4431b..d12ddfe 100644
---- a/src/Views/Clicking.vala
-+++ b/src/Views/Clicking.vala
-@@ -123,42 +123,39 @@ public class MouseTouchpad.ClickingView : Granite.SimpleSettingsPage {
-         content_area.attach (hold_scale, 3, 3);
-        content_area. attach (hold_help, 1, 4, 3);
- 
--        var xsettings_schema = SettingsSchemaSource.get_default ().lookup (
--            "org.gnome.settings-daemon.plugins.xsettings",
--            true
--        );
--
--        if (xsettings_schema != null) {
--            var primary_paste_switch = new Gtk.Switch ();
--            primary_paste_switch.halign = Gtk.Align.START;
-+        SettingsSchemaSource daemon_schema_source = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS@", null, true);
-+        SettingsSchema xsettings_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.plugins.xsettings", false);
- 
--            var primary_paste_help = new Gtk.Label (
--                _("Middle or three-finger clicking on an input will paste any selected text")
--            );
--            primary_paste_help.margin_bottom = 18;
--            primary_paste_help.wrap = true;
--            primary_paste_help.xalign = 0;
--            primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL);
--
--            content_area.attach (new SettingLabel (_("Middle click paste:")), 0, 5);
--            content_area.attach (primary_paste_switch, 1, 5);
--            content_area.attach (primary_paste_help, 1, 6, 3);
--
--            var xsettings = new GLib.Settings ("org.gnome.settings-daemon.plugins.xsettings");
--            primary_paste_switch.notify["active"].connect (() => {
--                on_primary_paste_switch_changed (primary_paste_switch, xsettings);
--            });
-+        var primary_paste_switch = new Gtk.Switch ();
-+        primary_paste_switch.halign = Gtk.Align.START;
- 
--            var current_value = xsettings.get_value ("overrides").lookup_value (
--                "Gtk/EnablePrimaryPaste",
--                VariantType.INT32
--            );
--            if (current_value != null) {
--                primary_paste_switch.active = current_value.get_int32 () == 1;
--            }
-+        var primary_paste_help = new Gtk.Label (
-+            _("Middle or three-finger clicking on an input will paste any selected text")
-+        );
-+        primary_paste_help.margin_bottom = 18;
-+        primary_paste_help.wrap = true;
-+        primary_paste_help.xalign = 0;
-+        primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL);
-+
-+        content_area.attach (new SettingLabel (_("Middle click paste:")), 0, 5);
-+        content_area.attach (primary_paste_switch, 1, 5);
-+        content_area.attach (primary_paste_help, 1, 6, 3);
-+
-+        var xsettings = new GLib.Settings.full (xsettings_schema, null, null);
-+        primary_paste_switch.notify["active"].connect (() => {
-+            on_primary_paste_switch_changed (primary_paste_switch, xsettings);
-+        });
-+
-+        var current_value = xsettings.get_value ("overrides").lookup_value (
-+            "Gtk/EnablePrimaryPaste",
-+            VariantType.INT32
-+        );
-+        if (current_value != null) {
-+            primary_paste_switch.active = current_value.get_int32 () == 1;
-         }
- 
--        var daemon_settings = new GLib.Settings ("org.gnome.settings-daemon.peripherals.mouse");
-+        SettingsSchema daemon_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false);
-+        var daemon_settings = new GLib.Settings.full (daemon_schema, null, null);
-         daemon_settings.bind ("double-click", double_click_speed_adjustment, "value", SettingsBindFlags.DEFAULT);
- 
-         var a11y_mouse_settings = new GLib.Settings ("org.gnome.desktop.a11y.mouse");
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
index cd48b9d1d78..f8fdb01aee6 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
@@ -36,24 +36,16 @@ stdenv.mkDerivation rec {
     granite
     gtk3
     libgee
+    gala
+    wingpanel
     plank
     switchboard
   ];
 
   patches = [
     ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded
-    ./hardcode-gsettings.patch
   ];
 
-  postPatch = ''
-    substituteInPlace src/Views/Appearance.vala \
-      --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala}
-    substituteInPlace src/Views/HotCorners.vala \
-      --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala}
-    substituteInPlace src/Views/Appearance.vala \
-      --subst-var-by WINGPANEL_GSETTINGS_PATH ${glib.getSchemaPath wingpanel}
-  '';
-
   meta = with stdenv.lib; {
     description = "Switchboard Desktop Plug";
     homepage = https://github.com/elementary/switchboard-plug-pantheon-shell;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
deleted file mode 100644
index d337cf2e7b7..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala
-index c8300cc..fc48a0e 100644
---- a/src/Views/Appearance.vala
-+++ b/src/Views/Appearance.vala
-@@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid {
-         attach (text_size_label, 0, 2);
-         attach (text_size_modebutton, 1, 2);
- 
--        var animations_settings = new Settings (ANIMATIONS_SCHEMA);
-+        SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema animations_schema = gala_schema_source.lookup (ANIMATIONS_SCHEMA, false);
-+
-+        var animations_settings = new Settings.full (animations_schema, null, null);
-         animations_settings.bind (ANIMATIONS_KEY, animations_switch, "active", SettingsBindFlags.DEFAULT);
- 
--        var panel_settings = new Settings (PANEL_SCHEMA);
-+        SettingsSchemaSource panel_schema_source = new SettingsSchemaSource.from_directory ("@WINGPANEL_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema panel_schema = panel_schema_source.lookup (PANEL_SCHEMA, false);
-+
-+        var panel_settings = new GLib.Settings.full (panel_schema, null, null);
-         panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT);
- 
-         var interface_settings = new Settings (INTERFACE_SCHEMA);
-diff --git a/src/Views/HotCorners.vala b/src/Views/HotCorners.vala
-index 481e7c5..d102d03 100644
---- a/src/Views/HotCorners.vala
-+++ b/src/Views/HotCorners.vala
-@@ -30,7 +30,10 @@ public class HotCorners : Gtk.Grid {
-         row_spacing = 24;
-         halign = Gtk.Align.CENTER;
- 
--        behavior_settings = new GLib.Settings ("org.pantheon.desktop.gala.behavior");
-+
-+        SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema behavior_schema = gala_schema_source.lookup ("org.pantheon.desktop.gala.behavior", false);
-+        behavior_settings = new GLib.Settings.full (behavior_schema, null, null);
- 
-         custom_command_revealer = new Gtk.Revealer ();
- 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index 1639181193a..df2051d8040 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -43,6 +43,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     dbus
+    elementary-dpms-helper
+    elementary-settings-daemon
     glib
     granite
     gtk3
@@ -56,21 +58,8 @@ stdenv.mkDerivation rec {
       src = ./dpms-helper-exec.patch;
       elementary_dpms_helper = elementary-dpms-helper;
     })
-    ./hardcode-gsettings.patch
   ];
 
-  postPatch = ''
-    substituteInPlace src/MainView.vala \
-      --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${glib.getSchemaPath elementary-dpms-helper}
-    substituteInPlace src/MainView.vala \
-      --subst-var-by GSD_GSETTINGS_PATH ${glib.getSchemaPath elementary-settings-daemon}
-  '';
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-  PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/system-services";
-  PKG_CONFIG_DBUS_1_SYSCONFDIR = "${placeholder "out"}/etc";
-  PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
-
   meta = with stdenv.lib; {
     description = "Switchboard Power Plug";
     homepage = https://github.com/elementary/switchboard-plug-power;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
deleted file mode 100644
index caacdad6eda..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/MainView.vala b/src/MainView.vala
-index 1654e68..ad8fed9 100644
---- a/src/MainView.vala
-+++ b/src/MainView.vala
-@@ -46,8 +46,13 @@ public class Power.MainView : Gtk.Grid {
-
-         var label_size = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL);
-
--        settings = new GLib.Settings ("org.gnome.settings-daemon.plugins.power");
--        elementary_dpms_settings = new GLib.Settings ("io.elementary.dpms");
-+        SettingsSchemaSource gsd_sss = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS_PATH@", null, true);
-+        SettingsSchema gsd_schema = gsd_sss.lookup ("org.gnome.settings-daemon.plugins.power", false);
-+        settings = new GLib.Settings.full (gsd_schema, null, null);
-+
-+        SettingsSchemaSource dpms_sss = new SettingsSchemaSource.from_directory ("@DPMS_HELPER_GSETTINGS_PATH@", null, true);
-+        SettingsSchema elementary_dpms_schema = dpms_sss.lookup ("io.elementary.dpms", false);
-+        elementary_dpms_settings = new GLib.Settings.full (elementary_dpms_schema, null, null);
-
-         battery = new Battery ();
-         power_supply = new PowerSupply ();
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
index 5c72af92397..e8d21478cc9 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
@@ -48,21 +48,13 @@ stdenv.mkDerivation rec {
     libgee
     polkit
     switchboard
+    lightlocker
     zeitgeist
   ];
 
-  patches = [
-    ./hardcode-gsettings.patch
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
-
-    substituteInPlace src/Views/LockPanel.vala \
-      --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${glib.getSchemaPath lightlocker}
-    substituteInPlace src/Views/FirewallPanel.vala \
-      --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch
deleted file mode 100644
index 24a104248f8..00000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/src/Views/FirewallPanel.vala b/src/Views/FirewallPanel.vala
-index 0335c29..481b1c8 100644
---- a/src/Views/FirewallPanel.vala
-+++ b/src/Views/FirewallPanel.vala
-@@ -49,7 +49,11 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage {
-     }
- 
-     construct {
--        settings = new Settings ("io.elementary.switchboard.security-privacy");
-+        SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema security_privacy_schema = sss.lookup ("io.elementary.switchboard.security-privacy", false);
-+
-+        settings = new Settings.full (security_privacy_schema, null, null);
-+
-         disabled_rules = new Gee.HashMap<string, UFWHelpers.Rule> ();
-         load_disabled_rules ();
- 
-diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala
-index 4f523f9..7135a83 100644
---- a/src/Views/LockPanel.vala
-+++ b/src/Views/LockPanel.vala
-@@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage {
-     }
- 
-     construct {
--        locker = new Settings ("apps.light-locker");
-+        SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@LIGHTLOCKER_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
-+        SettingsSchema locker_schema = sss.lookup ("apps.light-locker", false);
-+
-+        locker = new Settings.full (locker_schema, null, null);
- 
-         var lock_suspend_label = new Gtk.Label (_("Lock on suspend:"));
-         var lock_suspend_switch = new Gtk.Switch ();
diff --git a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
index 756ae86bb19..c0abb172806 100644
--- a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix
@@ -1,4 +1,6 @@
-{ makeWrapper
+{ wrapGAppsHook
+, glib
+, lib
 , symlinkJoin
 , switchboard
 , switchboardPlugs
@@ -11,13 +13,22 @@ in
 symlinkJoin {
   name = "${switchboard.name}-with-plugs";
 
-  paths = [ switchboard ] ++ selectedPlugs;
+  paths = [
+    switchboard
+  ] ++ selectedPlugs;
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [
+    wrapGAppsHook
+    glib
+  ] ++ (lib.forEach selectedPlugs (x: x.buildInputs))
+    ++ selectedPlugs;
 
   postBuild = ''
-    wrapProgram $out/bin/io.elementary.switchboard \
-      --set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard"
+    make_glib_find_gsettings_schemas
+
+    gappsWrapperArgs+=(--set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard")
+
+    wrapGAppsHook
   '';
 
   inherit (switchboard) meta;
diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
index c48dd761e08..8a497372862 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
@@ -1,11 +1,14 @@
 { stdenv
 , fetchFromGitHub
 , pantheon
+, meson
+, ninja
+, gettext
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-wallpapers";
-  version = "5.4";
+  version = "5.5.0";
 
   repoName = "wallpapers";
 
@@ -13,9 +16,15 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ihvv9v8m5f2n2v3bgg769l52wbg241zgp3d45q6phk7p8s1gz3s";
+    sha256 = "0c63nds2ylqgcp39s13mfwhipgyw8cirn0bhybp291l5g86ii6s3";
   };
 
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+  ];
+
   passthru = {
     updateScript = pantheon.updateScript {
       inherit repoName;
@@ -23,14 +32,6 @@ stdenv.mkDerivation rec {
     };
   };
 
-  dontBuild = true;
-  dontConfigure = true;
-
-  installPhase = ''
-    mkdir -p $out/share/backgrounds/elementary
-    cp -av *.jpg $out/share/backgrounds/elementary
-  '';
-
   meta = with stdenv.lib; {
     description = "Collection of wallpapers for elementary";
     homepage = https://github.com/elementary/wallpapers;
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
index a266223eced..ca9abadf9ba 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
@@ -26,7 +26,7 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-applications-menu";
-  version = "2.4.4";
+  version = "2.5.0";
 
   repoName = "applications-menu";
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "09ssxn264v6nzrxgk529kpdxq5j3b14z8mbwq0gni1bgjcla773d";
+    sha256 = "1zry9xvcljsn5fnl8qs21x7q8rpwv0sxvp2dmnx3ddqnvj4q2m7d";
   };
 
   passthru = {
@@ -73,13 +73,10 @@ stdenv.mkDerivation rec {
     "--sysconfdir=${placeholder "out"}/etc"
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   patches = [
     (substituteAll {
-      src = ./bc.patch;
-      exec = "${bc}/bin/bc";
+      src = ./fix-paths.patch;
+      bc = "${bc}/bin/bc";
     })
   ];
 
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
new file mode 100644
index 00000000000..25e3891a205
--- /dev/null
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch
@@ -0,0 +1,24 @@
+diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala
+index 18ca3af..f5d1076 100644
+--- a/src/synapse-plugins/calculator-plugin.vala
++++ b/src/synapse-plugins/calculator-plugin.vala
+@@ -44,9 +44,7 @@ namespace Synapse {
+                 _("Calculator"),
+                 _("Calculate basic expressions."),
+                 "accessories-calculator",
+-                register_plugin,
+-                Environment.find_program_in_path ("bc") != null,
+-                _("bc is not installed")
++                register_plugin
+             );
+         }
+ 
+@@ -87,7 +85,7 @@ namespace Synapse {
+             if (matched) {
+                 Pid pid;
+                 int read_fd, write_fd;
+-                string[] argv = {"bc", "-l"};
++                string[] argv = {"@bc@", "-l"};
+                 string? solution = null;
+ 
+                 try {
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
index 3a462219f1e..965d9800c5b 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-bluetooth";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "04ggakf7qp4q0kah5xksbwjn78wpdrp9kdgkj6ibzsb97ngn70g9";
+    sha256 = "05v3qy4rxi4l3g1ql99vcjylb01hz3galh19c2jc3lqc1mf1z1j1";
   };
 
   passthru = {
@@ -48,8 +48,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
index 91549342052..b4e9eeef0fd 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
@@ -16,32 +16,17 @@
 , libxml2
 , libsoup
 , elementary-calendar
-, fetchurl
 }:
 
-let
-
-  # Terrible workaround https://github.com/elementary/wingpanel-indicator-datetime/issues/122
-  # Evolution Data Server functionality will be broken (events from calendar in indicator)
-  # but at least we don't fail to build.
-  old-evolution-data-server = evolution-data-server.overrideAttrs(old: {
-    src = fetchurl {
-      url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor "3.32.4"}/${old.pname}-3.32.4.tar.xz";
-      sha256 = "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3";
-    };
-  });
-
-in
-
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-datetime";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1whdx0vgm0qbbzsw8dg2liz3cbh3ad5ybkriy4lmx5ynyhpbz0sx";
+    sha256 = "0y8lfrrkzcj8nw94jqawbxr4jz41ac0z539kkr3n3x0qmx72md2y";
   };
 
   passthru = {
@@ -60,7 +45,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    old-evolution-data-server
+    evolution-data-server
     granite
     gtk3
     libgee
@@ -69,6 +54,14 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
+  patches = [
+    # Add support for libecal-2.0
+    (fetchpatch {
+      url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/3ccd05d611e6dd5274a03f061ba1b5e13d6fe0cf.patch";
+      sha256 = "011q9b4pjmk4fpq5zscl5r8m4n3jiyx464023h4j7zf8r1070jz6";
+    })
+  ];
+
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
index 4dbf6528c70..78512b341bb 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-notifications";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1960s3xcsx6yjlnk0csf1m66s1z1sj5rym9b2fy7pm2nan47z3ld";
+    sha256 = "1lx023z7xxlgwh0br48fw5w7xw673p2sqxwl1gz9f54xx7rv81py";
   };
 
   passthru = {
@@ -44,8 +44,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with stdenv.lib; {
     description = "Notifications Indicator for Wingpanel";
     homepage = https://github.com/elementary/wingpanel-indicator-notifications;
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
index 7efb03f9d66..c80da53986a 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-session";
-  version = "2.2.5";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lqh9g6qq09m744gncspm79lbwx1vjl1d6j2szwcq9f0jdm01pm5";
+    sha256 = "0pzknbm0hg4kf2izfg1mcmyildfzwyq1hh0xhlq16gsmakq4ld26";
   };
 
   passthru = {
@@ -44,8 +44,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   meta = with stdenv.lib; {
     description = "Session Indicator for Wingpanel";
     homepage = https://github.com/elementary/wingpanel-indicator-session;
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
index fa89cca68c0..12654ff5509 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wingpanel-indicator-sound";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0lgjl969c7s31nszh6d4pr1vsxfdsizplsihvd8r02mm1mlxmsda";
+    sha256 = "00r3dqkyp7k34xwn12l0dbzfmz70084lblxchykmk77pgzid2a0b";
   };
 
   passthru = {
@@ -52,8 +52,6 @@ stdenv.mkDerivation rec {
     wingpanel
   ];
 
-  PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
index 6b554d89caa..253c61b7790 100644
--- a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
+++ b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix
@@ -1,5 +1,6 @@
 { lib
-, makeWrapper
+, wrapGAppsHook
+, glib
 , symlinkJoin
 , wingpanel
 , wingpanelIndicators
@@ -13,17 +14,27 @@ in
 symlinkJoin {
   name = "${wingpanel.name}-with-indicators";
 
-  paths = [ wingpanel ] ++ selectedIndicators;
+  paths = [
+    wingpanel
+  ] ++ selectedIndicators;
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = [
+    glib
+    wrapGAppsHook
+  ] ++ (lib.forEach selectedIndicators (x: x.buildInputs))
+    ++ selectedIndicators;
 
   # We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu
   # has a plugin to search switchboard settings
   postBuild = ''
-    wrapProgram $out/bin/wingpanel \
-      --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel" \
-      --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard" \
-      --suffix XDG_DATA_DIRS : ${lib.concatMapStringsSep ":" (indicator: ''${indicator}/share/gsettings-schemas/${indicator.name}'') selectedIndicators}
+    make_glib_find_gsettings_schemas
+
+    gappsWrapperArgs+=(
+      --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel"
+      --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard"
+    )
+
+    wrapGAppsHook
   '';
 
   inherit (wingpanel) meta;
diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
index 6305c872b2f..b4982fcf6be 100644
--- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
+++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-capnet-assist";
-  version = "2.2.3";
+  version = "2.2.4";
 
   repoName = "capnet-assist";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "15cnwimkmmsb4rwvgm8bizcsn1krsj6k3qc88izn79is75y6wwji";
+    sha256 = "0yz827gs1qv6csgv4v993rjmqzc6dbymbvznsy45ghlh19l4l7j1";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/update.sh b/pkgs/desktops/pantheon/update.sh
index 8d002fe47c2..4897697d94f 100755
--- a/pkgs/desktops/pantheon/update.sh
+++ b/pkgs/desktops/pantheon/update.sh
@@ -114,7 +114,26 @@ EOF
     function get_latest_tag ( ) {
         repo_name="$1"
 
-        curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name'
+        OAUTH_TOKEN=$(printenv OAUTH_TOKEN)
+
+        if [ -n "$OAUTH_TOKEN"  ]; then
+            curl \
+                --silent \
+                --show-error \
+                --fail \
+                -X GET \
+                --header "Authorization: token $OAUTH_TOKEN" \
+                "https://api.github.com/repos/elementary/$repo_name/releases/latest" \
+                | jq -r '.tag_name'
+        else
+            curl \
+                --silent \
+                --show-error \
+                --fail \
+                -X GET \
+                "https://api.github.com/repos/elementary/$repo_name/releases/latest" \
+                | jq -r '.tag_name'
+        fi
     }
 
 #
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
index 5c27eee5010..5159328ed3f 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
@@ -1,9 +1,8 @@
 diff --git a/sddm-theme/theme.conf.cmake b/sddm-theme/theme.conf.cmake
-index 69d3070..52e9102 100644
+index ea9a943..f98ddd2 100644
 --- a/sddm-theme/theme.conf.cmake
 +++ b/sddm-theme/theme.conf.cmake
-@@ -1,5 +1,5 @@
- [General]
+@@ -2,4 +2,4 @@
  type=image
  color=#1d99f3
  fontSize=10
@@ -37,7 +36,7 @@ index 493218e..d507aa5 100644
 +    return system( NIXPKGS_KDOSTARTUPCONFIG5 );
      }
 diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
-index b68f0c6..a0ec214 100644
+index b68f0c6..97a13a1 100644
 --- a/startkde/startkde.cmake
 +++ b/startkde/startkde.cmake
 @@ -1,22 +1,31 @@
@@ -443,7 +442,7 @@ index b68f0c6..a0ec214 100644
  if test $? -eq 255; then
    # Startup error
    echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
-@@ -286,36 +387,36 @@ fi
+@@ -286,19 +387,19 @@ fi
  #Anything after here is logout
  #It is not called after shutdown/restart
 
@@ -465,13 +464,12 @@ index b68f0c6..a0ec214 100644
              # ask remaining drkonqis to die in a graceful way
 -            qdbus | grep 'org.kde.drkonqi-' | while read address ; do
 -                qdbus "$address" "/MainApplication" "quit"
--            done
--            break
 +            @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ 'org.kde.drkonqi-' | while read address ; do
 +                @NIXPKGS_QDBUS@ "$address" "/MainApplication" "quit"
+             done
+             break
          fi
-     done
- fi
+@@ -307,15 +408,17 @@ fi
 
  echo 'startkde: Shutting down...'  1>&2
  # just in case
@@ -1008,5 +1006,3 @@ index dcb473a..0988740 100644
 
  echo 'startplasmacompositor: Shutting down...'  1>&2
 
---
-2.19.2
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 07773523b3e..793142fdc18 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -3,8 +3,6 @@
 lib.makeScope pkgs.newScope (self: with self; {
   #### NixOS support
 
-  inherit (pkgs.gnome3) dconf;
-
   mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
 
   automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh;
@@ -139,7 +137,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-timer-plugin = callPackage ./panel-plugins/xfce4-timer-plugin.nix { };
 
-  xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin.nix { };
+  xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin { };
 
   xfce4-xkb-plugin = callPackage ./panel-plugins/xfce4-xkb-plugin { };
 
@@ -217,4 +215,7 @@ lib.makeScope pkgs.newScope (self: with self; {
   thunar-bare = thunar.override {
     thunarPlugins = [];
   };
+
+  # added 2019-11-30
+  inherit (pkgs) dconf;
 })
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
deleted file mode 100644
index c9e5c8befbb..00000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, pcre
-, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2 }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-verve-plugin";
-  ver_maj = "1.1";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "114wkmgjxkim1jkswih20zg9d7rbzmlf30b5rlcpvmbsij0ny6d3";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo pcre libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
-
-  hardeningDisable = [ "format" ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "A command-line plugin";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
new file mode 100644
index 00000000000..288aaddfb98
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkXfceDerivation, gtk3, libxfce4ui, pcre, libxfce4util, xfce4-panel, xfconf }:
+
+mkXfceDerivation rec {
+  category = "panel-plugins";
+  pname = "xfce4-verve-plugin";
+  version = "2.0.0";
+  rev = version;
+  sha256 = "09vpa6m0ah7pgmra094c16vb79xrcwva808g6zpawwrhcwz85lcz";
+
+  buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ];
+
+  hardeningDisable = [ "format" ];
+
+  meta = {
+    description = "A command-line plugin";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
index 6bcfcfc3023..f8be40eecab 100644
--- a/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
+++ b/pkgs/development/androidndk-pkgs/androidndk-pkgs.nix
@@ -56,7 +56,7 @@ rec {
   binaries = runCommand "ndk-gcc-binutils" {
     isClang = true; # clang based cc, but bintools ld
     nativeBuildInputs = [ makeWrapper ];
-    propgatedBuildInputs = [ androidndk ];
+    propagatedBuildInputs = [ androidndk ];
   } ''
     mkdir -p $out/bin
 
diff --git a/pkgs/development/compilers/abcl/default.nix b/pkgs/development/compilers/abcl/default.nix
index accedf9a7af..44f72a93c3a 100644
--- a/pkgs/development/compilers/abcl/default.nix
+++ b/pkgs/development/compilers/abcl/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ant, jre, jdk}:
 stdenv.mkDerivation rec {
   pname = "abcl";
-  version = "1.5.0";
+  version = "1.6.0";
   # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
   src = fetchurl {
     url = "https://common-lisp.net/project/armedbear/releases/${version}/${pname}-src-${version}.tar.gz";
-    sha256 = "1hhvcg050nfpjbdmskc1cv2j38qi6qfl77a61b5cxx576kbff3lj";
+    sha256 = "0hvbcsffr8n2xwdixc8wyw1bfl9fxn2gyy0c4nma7j9zbn0wwgw9";
   };
   configurePhase = ''
     mkdir nix-tools
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index 4032f0b5e92..095f94143e3 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, fetchurl, makeWrapper
 , coreutils, git, gmp, nettools, openssl_1_0_2, readline, tzdata, libxml2, libyaml
-, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib
+, boehmgc, libatomic_ops, pcre, libevent, libiconv, llvm, clang, which, zlib, pkgconfig
 , callPackage }:
 
 # We need multiple binaries as a given binary isn't always able to build
@@ -38,8 +38,14 @@ let
     '';
   };
 
-  generic = { version, sha256, binary, doCheck ? true }:
-  let compiler = stdenv.mkDerivation rec {
+  commonBuildInputs = extraBuildInputs: [
+    boehmgc libatomic_ops pcre libevent libyaml zlib libxml2 openssl_1_0_2
+  ] ++ extraBuildInputs
+    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
+
+
+  generic = ({ version, sha256, binary, doCheck ? true, extraBuildInputs ? [] }:
+  lib.fix (compiler: stdenv.mkDerivation {
     pname = "crystal";
     inherit doCheck version;
 
@@ -72,14 +78,9 @@ let
         --replace '`hostname`' '`${nettools}/bin/hostname`'
     '';
 
-    buildInputs = [
-      boehmgc libatomic_ops pcre libevent libyaml
-      llvm zlib openssl_1_0_2
-    ] ++ stdenv.lib.optionals stdenv.isDarwin [
-      libiconv
-    ];
+    buildInputs = commonBuildInputs extraBuildInputs;
 
-    nativeBuildInputs = [ binary makeWrapper which ];
+    nativeBuildInputs = [ binary makeWrapper which pkgconfig llvm ];
 
     makeFlags = [
       "CRYSTAL_CONFIG_VERSION=${version}"
@@ -91,10 +92,13 @@ let
 
     FLAGS = [
       "--release"
-      "--no-debug"
       "--single-module" # needed for deterministic builds
     ];
 
+    # This makes sure we don't keep depending on the previous version of
+    # crystal used to build this one.
+    CRYSTAL_LIBRARY_PATH = "${placeholder "out"}/lib/crystal";
+
     # We *have* to add `which` to the PATH or crystal is unable to build stuff
     # later if which is not available.
     installPhase = ''
@@ -102,9 +106,11 @@ let
 
       install -Dm755 .build/crystal $out/bin/crystal
       wrapProgram $out/bin/crystal \
-          --suffix PATH : ${lib.makeBinPath [ clang which ]} \
+          --suffix PATH : ${lib.makeBinPath [ pkgconfig clang which ]} \
           --suffix CRYSTAL_PATH : lib:$out/lib/crystal \
-          --suffix LIBRARY_PATH : ${lib.makeLibraryPath buildInputs}
+          --suffix CRYSTAL_LIBRARY_PATH : ${
+            lib.makeLibraryPath (commonBuildInputs extraBuildInputs)
+          }
       install -dm755 $out/lib/crystal
       cp -r src/* $out/lib/crystal/
 
@@ -147,7 +153,7 @@ let
       maintainers = with maintainers; [ manveru david50407 peterhoeg ];
       platforms = builtins.attrNames archs;
     };
-  }; in compiler;
+  }));
 
 in rec {
   binaryCrystal_0_26 = genericBinary {
@@ -219,6 +225,14 @@ in rec {
     binary = crystal_0_30;
   };
 
+  crystal_0_32 = generic {
+    version = "255bfc5fa925b95b72e34b26ad997fb2b3f83059";
+    sha256  = "1dgk36cj5lwhs1c4zp0s1c9hjk0h3vljq6zwhlnzkl1xs7cgzim1";
+    doCheck = false; # 5 checks are failing now
+    binary = crystal_0_31;
+    extraBuildInputs = [ readline ];
+  };
+
   crystal = crystal_0_31;
 
   crystal2nix = callPackage ./crystal2nix.nix {};
diff --git a/pkgs/development/compilers/cudatoolkit/common.nix b/pkgs/development/compilers/cudatoolkit/common.nix
index c5a1513b648..2e93c0b661b 100644
--- a/pkgs/development/compilers/cudatoolkit/common.nix
+++ b/pkgs/development/compilers/cudatoolkit/common.nix
@@ -66,22 +66,25 @@ stdenv.mkDerivation rec {
   unpackPhase = ''
     sh $src --keep --noexec
 
-    cd pkg/run_files
-    sh cuda-linux*.run --keep --noexec
-    sh cuda-samples*.run --keep --noexec
-    mv pkg ../../$(basename $src)
-    cd ../..
-    rm -rf pkg
-
-    for patch in $runPatches; do
-      sh $patch --keep --noexec
-      mv pkg $(basename $patch)
-    done
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
+      cd pkg/run_files
+      sh cuda-linux*.run --keep --noexec
+      sh cuda-samples*.run --keep --noexec
+      mv pkg ../../$(basename $src)
+      cd ../..
+      rm -rf pkg
+
+      for patch in $runPatches; do
+        sh $patch --keep --noexec
+        mv pkg $(basename $patch)
+      done
+    ''}
   '';
 
   installPhase = ''
     runHook preInstall
     mkdir $out
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
     cd $(basename $src)
     export PERL5LIB=.
     perl ./install-linux.pl --prefix="$out"
@@ -91,14 +94,22 @@ stdenv.mkDerivation rec {
       perl ./install_patch.pl --silent --accept-eula --installdir="$out"
       cd ..
     done
+    ''}
+    ${lib.optionalString (lib.versionAtLeast version "10.1") ''
+      cd pkg/builds/cuda-toolkit
+      mv * $out/
+    ''}
 
     rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
 
+    ${lib.optionalString (lib.versionOlder version "10.1") ''
     # let's remove the 32-bit libraries, they confuse the lib64->lib mover
     rm -rf $out/lib
+    ''}
 
     # Remove some cruft.
-    ${lib.optionalString (lib.versionAtLeast version "7.0") "rm $out/bin/uninstall*"}
+    ${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1"))
+      "rm $out/bin/uninstall*"}
 
     # Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
     if [ -d "$out"/cuda-samples ]; then
@@ -122,6 +133,9 @@ stdenv.mkDerivation rec {
 
     # Remove OpenCL libraries as they are provided by ocl-icd and driver.
     rm -f $out/lib64/libOpenCL*
+    ${lib.optionalString (lib.versionAtLeast version "10.1") ''
+      mv $out/lib64 $out/lib
+    ''}
 
     # Set compiler for NVCC.
     wrapProgram $out/bin/nvcc \
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index 5353862424a..14610af10ae 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -3,11 +3,11 @@
 stdenvNoCC.mkDerivation rec {
   pname = "fasm-bin";
 
-  version = "1.73.16";
+  version = "1.73.18";
 
   src = fetchurl {
     url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "1jaqm7w458ny37fsw3fln17kw31rcsk8kyadci45qcbw6jspmn7k";
+    sha256 = "0m88vi8ac9mlak430nyrg3nxsj0fzy3yli8kk0mqsw8rqw2pfvqb";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 4844ddaa1fb..ae96d5a1ef9 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -111,7 +111,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = "${crossNameAddon}${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index dde72fb615d..5194f607f3b 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -116,7 +116,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = "${crossNameAddon}${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index cc3912c6aee..cddfd58aa53 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -107,7 +107,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = "${crossNameAddon}${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index fa69a2818c7..3ac4fa7032a 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -104,7 +104,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = "${crossNameAddon}${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index d860cf64a38..3362cfe7a08 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -78,7 +78,8 @@ let majorVersion = "7";
 in
 
 stdenv.mkDerivation ({
-  name = "${crossNameAddon}${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index e6a9a6aa92c..c9302cc4f74 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -70,7 +70,8 @@ let majorVersion = "8";
 in
 
 stdenv.mkDerivation ({
-  name = "${crossNameAddon}${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index cece94e1b73..9698f4db286 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -69,7 +69,8 @@ let majorVersion = "9";
 in
 
 stdenv.mkDerivation ({
-  name = "${crossNameAddon}${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index ce76fd184f0..0441296ef17 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -66,7 +66,8 @@ let majorVersion = "7";
 in
 
 stdenv.mkDerivation ({
-  name = "${crossNameAddon}${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/ghc/8.4.4.nix b/pkgs/development/compilers/ghc/8.4.4.nix
index 52fb926cdc6..73c7e4708d5 100644
--- a/pkgs/development/compilers/ghc/8.4.4.nix
+++ b/pkgs/development/compilers/ghc/8.4.4.nix
@@ -126,7 +126,7 @@ stdenv.mkDerivation (rec {
     export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
     export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
     export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
     export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
diff --git a/pkgs/development/compilers/ghc/8.6.5.nix b/pkgs/development/compilers/ghc/8.6.5.nix
index cdbcb8e1aed..f285e271c62 100644
--- a/pkgs/development/compilers/ghc/8.6.5.nix
+++ b/pkgs/development/compilers/ghc/8.6.5.nix
@@ -125,7 +125,7 @@ stdenv.mkDerivation (rec {
     export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
     export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
     export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
     export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
diff --git a/pkgs/development/compilers/ghc/8.8.1.nix b/pkgs/development/compilers/ghc/8.8.1.nix
index 95bbab3cb3e..6872cea4e2a 100644
--- a/pkgs/development/compilers/ghc/8.8.1.nix
+++ b/pkgs/development/compilers/ghc/8.8.1.nix
@@ -110,7 +110,7 @@ stdenv.mkDerivation (rec {
     export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
     export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
     export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
     export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 0e73f81fbab..8d22c0a674b 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -117,7 +117,7 @@ stdenv.mkDerivation (rec {
     export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
     # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
     # and more generally have a faster linker.
-    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isLinux ".gold"}"
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString (targetPlatform.isLinux && !(targetPlatform.useLLVM or false)) ".gold"}"
     export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
     export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
     export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
diff --git a/pkgs/development/compilers/go-jsonnet/default.nix b/pkgs/development/compilers/go-jsonnet/default.nix
index e051d41993c..94919090367 100644
--- a/pkgs/development/compilers/go-jsonnet/default.nix
+++ b/pkgs/development/compilers/go-jsonnet/default.nix
@@ -1,33 +1,24 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-jsonnet";
-  version = "0.13.0";
-
-  goPackagePath = "github.com/google/go-jsonnet";
-
-  # regenerate deps.nix using following steps:
-  #
-  # go get -u github.com/google/go-jsonnet
-  # cd $GOPATH/src/github.com/google/go-jsonnet
-  # git checkout <version>
-  # dep init
-  # dep2nix
-  goDeps = ./deps.nix;
+  version = "0.14.0";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "google";
     repo = "go-jsonnet";
-    sha256 = "0x95sqhrw4pscxq0q8781wix0w881k9my5kn5nf6k0fg1d6qlgiy";
-    fetchSubmodules = true;
+    rev = "v${version}";
+    sha256 = "1q0mpydh8h0zrml605q9r259y8584kbwcr9g4sqcb1n13b4d1sgp";
   };
 
-  meta = {
+  modSha256 = "1b6hz5a66hhlzpcv1badxr1b4nmk4lw0507d5jks7lqzvvwd0sxq";
+
+  subPackages = [ "cmd/jsonnet" ];
+
+  meta = with lib; {
     description = "An implementation of Jsonnet in pure Go";
-    maintainers = with lib.maintainers; [ nshalman ];
-    license = lib.licenses.asl20;
-    homepage = https://github.com/google/go-jsonnet;
-    platforms = lib.platforms.unix;
+    homepage = "https://github.com/google/go-jsonnet";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nshalman ];
   };
 }
diff --git a/pkgs/development/compilers/go-jsonnet/deps.nix b/pkgs/development/compilers/go-jsonnet/deps.nix
deleted file mode 100644
index 1f413a16d81..00000000000
--- a/pkgs/development/compilers/go-jsonnet/deps.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev =  "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev =  "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
-      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev =  "1311e847b0cb909da63b5fecfb5370aa66236465";
-      sha256 = "0rqfh1rj6f5wm8p2ky7inm8g10152p7w6n2cli17kf9gad797i8h";
-    };
-  }
-  {
-    goPackagePath  = "github.com/sergi/go-diff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sergi/go-diff";
-      rev =  "1744e2970ca51c86172c8190fadad617561ed6e7";
-      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev =  "4c4f7f33c9ed00de01c4c741d2177abfcfe19307";
-      sha256 = "191001bxqyc3xfs46nnqmm7jdk0r73vk7a4zqngfl7zwjv9smwsq";
-    };
-  }
-]
\ No newline at end of file
diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix
index 183e1f2a085..a365761b014 100644
--- a/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -24,13 +24,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "1.0.2714.1";
+  version = "1.0.2878";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     rev = "igc-${version}";
-    sha256 = "0ys03sv08fg8q06lb6k5088xirnwms4nzazxp3kbdjm973n7imxc";
+    sha256 = "0rgij1013fy2x2szfchy3z6390mjfqw3nz4zprcb5v2v6mpvcj4l";
   };
 
   nativeBuildInputs = [ clang cmake bison flex llvm python ];
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 12a75eb8f14..a6384c449c8 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 let
-  version = "1.3.50";
+  version = "1.3.60";
 in stdenv.mkDerivation {
   inherit version;
   pname = "kotlin";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "1v66pnk810agf26khwdv7l8jpc11x6na5fyqxs9jvxdpls8l0hk9";
+    sha256 = "1frgnirrl795m8xydngrbn73np5gwgs7wymr9j81d0gz4gzpry8j";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix
index f50da39a624..6b67e2cc856 100644
--- a/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/pkgs/development/compilers/llvm/4/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "16vnv3msnvx33dydd17k2cq0icndi1a06bg5vcxkrhjjb1rqlwv1";
 
@@ -91,7 +92,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index ac5dcbe6b94..5b5939e094d 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -24,7 +24,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0l9bf7kdwhlj0kq1hawpyxhna1062z3h7qcz2y8nfl9dz2qksy6s";
 
@@ -166,7 +167,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix
index 7a3b151f835..6695609b8ec 100644
--- a/pkgs/development/compilers/llvm/5/clang/default.nix
+++ b/pkgs/development/compilers/llvm/5/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s";
 
@@ -87,7 +88,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix
index 2fe7df7695b..97d0e0d5d84 100644
--- a/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/pkgs/development/compilers/llvm/5/llvm.nix
@@ -23,7 +23,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm";
 
@@ -149,7 +150,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/6/clang/default.nix b/pkgs/development/compilers/llvm/6/clang/default.nix
index ff9064f455e..d093379b3c9 100644
--- a/pkgs/development/compilers/llvm/6/clang/default.nix
+++ b/pkgs/development/compilers/llvm/6/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w";
 
@@ -87,7 +88,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/6/llvm.nix b/pkgs/development/compilers/llvm/6/llvm.nix
index a250c9fefac..c6d2c09c2df 100644
--- a/pkgs/development/compilers/llvm/6/llvm.nix
+++ b/pkgs/development/compilers/llvm/6/llvm.nix
@@ -26,7 +26,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn";
 
@@ -154,7 +155,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix
index e49c8387f7e..5ac9a7a2672 100644
--- a/pkgs/development/compilers/llvm/7/clang/default.nix
+++ b/pkgs/development/compilers/llvm/7/clang/default.nix
@@ -6,7 +6,8 @@
 
 let
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0vc4i87qwxnw9lci4ayws9spakg0z6w5w670snj9f8g5m9rc8zg9";
 
@@ -93,7 +94,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix
index 5d7266f39ec..a7d4bcb8696 100644
--- a/pkgs/development/compilers/llvm/7/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false || stdenv.isDarwin) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix
index 3e966f1ea44..c56bbfd0eab 100644
--- a/pkgs/development/compilers/llvm/7/llvm.nix
+++ b/pkgs/development/compilers/llvm/7/llvm.nix
@@ -30,7 +30,8 @@ let
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 
 in stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0r1p5didv4rkgxyvbkyz671xddg6i3dxvbpsi1xxipkla0l9pk0v";
   polly_src = fetch "polly" "16qkns4ab4x0azrvhy4j7cncbyb2rrbdrqj87zphvqxm5pvm8m1h";
@@ -175,7 +176,7 @@ in stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix
index 6911089250e..8c540e45b28 100644
--- a/pkgs/development/compilers/llvm/8/clang/default.nix
+++ b/pkgs/development/compilers/llvm/8/clang/default.nix
@@ -6,7 +6,8 @@
 
 let
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0ihnbdl058gvl2wdy45p5am55bq8ifx8m9mhcsgj9ax8yxlzvvvh";
 
@@ -105,7 +106,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt.nix b/pkgs/development/compilers/llvm/8/compiler-rt.nix
index 88788852862..344ff725675 100644
--- a/pkgs/development/compilers/llvm/8/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/8/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/llvm/8/llvm.nix b/pkgs/development/compilers/llvm/8/llvm.nix
index 160e2a72366..b556a638f1f 100644
--- a/pkgs/development/compilers/llvm/8/llvm.nix
+++ b/pkgs/development/compilers/llvm/8/llvm.nix
@@ -28,7 +28,8 @@ let
     concatStringsSep "." (take 1 (splitVersion release_version));
 
 in stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "1rvm5gqp5v8hfn17kqws3zhk94w4kxndal12bqa0y57p09nply24";
   polly_src = fetch "polly" "1lfjdz3ilj5xmjxvicd8f5ykybks67ry2pdb777352r3mzlgg8g8";
@@ -150,7 +151,7 @@ in stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/9/compiler-rt.nix b/pkgs/development/compilers/llvm/9/compiler-rt.nix
index 9a333ad7c11..5826f0fbb35 100644
--- a/pkgs/development/compilers/llvm/9/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/9/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/manticore/default.nix b/pkgs/development/compilers/manticore/default.nix
index 1e9b77cfb79..adfde05e658 100644
--- a/pkgs/development/compilers/manticore/default.nix
+++ b/pkgs/development/compilers/manticore/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchFromGitHub, coreutils, autoreconfHook, smlnj }:
 
 let
-  rev= "4528ccacdfd53d36f5959c005b27cd7ab6175b83";
+  rev = "7376cb20ba5285a6b076a73c821e4743809c1d9d";
 in stdenv.mkDerivation {
   pname = "manticore";
-  version = "2019.09.20";
+  version = "2019.12.03";
  
   src = fetchFromGitHub {
     owner = "ManticoreProject";
     repo = "manticore";
-    sha256 = "1xz7msiq5x2c56zjxydbxlj6r001mm5zszcda6f6v5qfmmd1bakz";
+    sha256 = "17h3ar7d6145dyrm006r3gd5frk3v4apjk383n78dh4vlniv1ay2";
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix
index 03f3d56fd93..e4c756e9c7d 100644
--- a/pkgs/development/compilers/mruby/default.nix
+++ b/pkgs/development/compilers/mruby/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mruby";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner   = "mruby";
     repo    = "mruby";
     rev     = version;
-    sha256  = "1zm2d5kj9fnfx8ifj8ysrrr838ipwmvz35byzjhprakrg64911p9";
+    sha256  = "1y072c7dh9jf8xwy7kia6cb4dkpspq4zf24ssn7zm5f46p4waxni";
   };
 
   nativeBuildInputs = [ ruby bison ];
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 48808bf356b..dee0b351a60 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nim";
-  version = "1.0.2";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://nim-lang.org/download/${pname}-${version}.tar.xz";
-    sha256 = "1rjinrs119c8i6wzz5fzjfml7n7kbd5hb9642g4rr8qxkq4sx83k";
+    sha256 = "1q5fx9g40bk4ajghi856w5l34fmrl7avq5j6p0dr2xa4l52ib149";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index 9557d0a79ae..d39c0d86fd5 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -12,16 +12,18 @@ in
 
 { stdenv, fetchurl, ncurses, buildEnv
 , libX11, xorgproto, useX11 ? safeX11 stdenv
+, aflSupport ? false
 , flambdaSupport ? false
 }:
 
 assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
+assert aflSupport -> stdenv.lib.versionAtLeast version "4.05";
 assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03";
 
 let
    useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optional optionals optionalString;
-   name = "ocaml${optionalString flambdaSupport "+flambda"}-${version}";
+   name = "ocaml${optionalString aflSupport "+afl"}${optionalString flambdaSupport "+flambda"}-${version}";
 in
 
 let
@@ -41,11 +43,16 @@ stdenv.mkDerivation (args // {
   };
 
   prefixKey = "-prefix ";
-  configureFlags = optionals useX11 (
-    if stdenv.lib.versionAtLeast version "4.08"
-    then [ "--x-libraries=${x11lib}" "--x-includes=${x11inc}"]
-    else [ "-x11lib" x11lib "-x11include" x11inc ])
-  ++ optional flambdaSupport "-flambda"
+  configureFlags =
+    let flags = new: old:
+      if stdenv.lib.versionAtLeast version "4.08"
+      then new else old
+    ; in
+    optionals useX11 (flags
+      [ "--x-libraries=${x11lib}" "--x-includes=${x11inc}"]
+      [ "-x11lib" x11lib "-x11include" x11inc ])
+  ++ optional aflSupport (flags "--with-afl" "-afl-instrument")
+  ++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
   ;
 
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 4540a301610..987c86ba264 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     # under the 3-clause BSD license. The rest is 2-clause BSD license.
     license = with licenses; [ bsd3 bsd2 ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index f20a32acedd..33a3a1216dd 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl,
+{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl, libxml2,
   cc ? stdenv.cc, lto ? !stdenv.isDarwin }:
 
 stdenv.mkDerivation ( rec {
   pname = "ponyc";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "07ai5lr0zdrcdmfjxsypp33fpj8lnak7y5177s7qd19163z0ia20";
+    sha256 = "0a0sw902nrayg0s1zrkhfpvrmdqw19nif67hsv0ijrckcq37bjcz";
   };
 
-  buildInputs = [ llvm makeWrapper which ];
+  buildInputs = [ llvm makeWrapper which libxml2 ];
   propagatedBuildInputs = [ cc ];
 
   # Disable problematic networking tests
diff --git a/pkgs/development/compilers/ponyc/pony-stable.nix b/pkgs/development/compilers/ponyc/pony-stable.nix
index 6719293af2a..23e7f3b28f7 100644
--- a/pkgs/development/compilers/ponyc/pony-stable.nix
+++ b/pkgs/development/compilers/ponyc/pony-stable.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pony-stable";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "pony-stable";
     rev = version;
-    sha256 = "1wiinw35bp3zpq9kx61x2zvid7ln00jrw052ah8801s0d9dbwrdr";
+    sha256 = "0nzvsqvl315brp3yb4j5kl82xnkmib4jk416jjc7yrz4k3jgr278";
   };
 
   buildInputs = [ ponyc ];
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index 149a38231b4..f1126fdeddf 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.13.4";
+  version = "0.13.5";
 
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "0rqjair1r1yr1k8rva3ly16dv5594f4s8xwpnrz9n7x3f99mk4fx";
+      sha256 = "19bb50m0cd738r353blgy21d842b3yj58xfbplk7bz59jawj9lym";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "1ajzi5ikgzgdfrgq36r9pc3yc6f7h0qgnqcq414zd66z08mbggng";
+      sha256 = "016wvwypgb4859f0n1lqsqv9a8cca2y8g7d6ffvzx6rncd115gxi";
     };
 
 
diff --git a/pkgs/development/compilers/rgbds/default.nix b/pkgs/development/compilers/rgbds/default.nix
index 3856ced250e..99519c53fcd 100644
--- a/pkgs/development/compilers/rgbds/default.nix
+++ b/pkgs/development/compilers/rgbds/default.nix
@@ -6,12 +6,12 @@
 
 stdenv.mkDerivation rec {
   pname = "rgbds";
-  version = "0.3.8";
+  version = "0.3.9";
   src = fetchFromGitHub {
     owner = "rednex";
     repo = "rgbds";
     rev = "v${version}";
-    sha256 = "0db37z886026svhj6qnc3wk56sndbnz1vi41gn2k3bl6ppbnjlpk";
+    sha256 = "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv";
   };
   nativeBuildInputs = [ bison flex pkg-config libpng ];
   installFlags = "PREFIX=\${out}";
diff --git a/pkgs/development/compilers/rust/1_38_0.nix b/pkgs/development/compilers/rust/1_38_0.nix
index 5260ab20174..be43e074228 100644
--- a/pkgs/development/compilers/rust/1_38_0.nix
+++ b/pkgs/development/compilers/rust/1_38_0.nix
@@ -10,6 +10,7 @@ import ./default.nix {
   bootstrapHashes = {
     i686-unknown-linux-gnu = "74510e0e52a55e65a9f716673c2cda4d2bd427e2453541c6993c77c3ec04acf9";
     x86_64-unknown-linux-gnu = "cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb";
+    arm-unknown-linux-gnueabihf = "272739fbb23cf6c2040c1813af9c8c7f386cac37d9de638f22a1816eb96bc0ae";
     armv7-unknown-linux-gnueabihf = "5b87b877f0ed20c6a09ce26e7a15d8c61b26b62484b97e78a51099d0efefec98";
     aarch64-unknown-linux-gnu = "263ef98fa3a6b2911b56f89c06615cdebf6ef676eb9b2493ad1539602f79b6ba";
     i686-apple-darwin = "e45d0c4d882fc6c404ffa6fe790294f4ea96384a2b48804adbf723f3635477a8";
diff --git a/pkgs/development/compilers/rust/1_39_0.nix b/pkgs/development/compilers/rust/1_39_0.nix
index aa29c7a9ff7..cc07590dedc 100644
--- a/pkgs/development/compilers/rust/1_39_0.nix
+++ b/pkgs/development/compilers/rust/1_39_0.nix
@@ -10,6 +10,7 @@ import ./default.nix {
   bootstrapHashes = {
     i686-unknown-linux-gnu = "41aed8a350e24a0cac1444ed99b3dd24a90bc581dd88cb420c6e547d6b5f57af";
     x86_64-unknown-linux-gnu = "adda26b3f0609dbfbdc2019da4a20101879b9db2134fae322a4e863a069ec221";
+    arm-unknown-linux-gnueabihf = "0603a3d3d16ae8f3b3b117eb699e8f3ef7532a6f6d3c29d13e7d4614fc3c9e7a";
     armv7-unknown-linux-gnueabihf = "8b1bf1680a61a643d6b5c7a3b1a1ce88448652756395e20ba5846739cbd085c4";
     aarch64-unknown-linux-gnu = "06afd6d525326cea95c3aa658aaa8542eab26f44235565bb16913ac9d12b7bda";
     i686-apple-darwin = "cdbf2807774bed350a3af6f41d7f7dd7ceff28777cde310c3ba90033188eb2f8";
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 54b2d3016e5..7c0b46d5593 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -1,24 +1,11 @@
-{ stdenv, fetchurl, callPackage, version, hashes }:
+{ stdenv, fetchurl, rust, callPackage, version, hashes }:
 
 let
-  platform =
-    if stdenv.hostPlatform.system == "i686-linux"
-    then "i686-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "x86_64-linux"
-    then "x86_64-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "armv7l-linux"
-    then "armv7-unknown-linux-gnueabihf"
-    else if stdenv.hostPlatform.system == "aarch64-linux"
-    then "aarch64-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "i686-darwin"
-    then "i686-apple-darwin"
-    else if stdenv.hostPlatform.system == "x86_64-darwin"
-    then "x86_64-apple-darwin"
-    else throw "missing bootstrap url for platform ${stdenv.hostPlatform.system}";
+  platform = rust.toRustTarget stdenv.hostPlatform;
 
   src = fetchurl {
      url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz";
-     sha256 = hashes.${platform};
+     sha256 = hashes.${platform} or (throw "missing bootstrap url for platform ${platform}");
   };
 
 in callPackage ./binary.nix
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index efd641efb6e..75104ac7ad5 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -11,6 +11,14 @@
 , llvmPackages_5
 , pkgsBuildTarget, pkgsBuildBuild
 }: rec {
+  toRustTarget = platform: with platform.parsed; let
+    cpu_ = {
+      "armv7a" = "armv7";
+      "armv7l" = "armv7";
+      "armv6l" = "arm";
+    }.${cpu.name} or cpu.name;
+  in "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
+
   makeRustPlatform = { rustc, cargo, ... }: {
     rust = {
       inherit rustc cargo;
diff --git a/pkgs/development/compilers/rust/print-hashes.sh b/pkgs/development/compilers/rust/print-hashes.sh
index 7eb00a30ad7..1d46fe376d4 100755
--- a/pkgs/development/compilers/rust/print-hashes.sh
+++ b/pkgs/development/compilers/rust/print-hashes.sh
@@ -10,6 +10,7 @@ set -euo pipefail
 PLATFORMS=(
   i686-unknown-linux-gnu
   x86_64-unknown-linux-gnu
+  arm-unknown-linux-gnueabihf
   armv7-unknown-linux-gnueabihf
   aarch64-unknown-linux-gnu
   i686-apple-darwin
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index ceaf6f4c225..ca9bf05b7e7 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,6 +1,6 @@
 { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
 , fetchurl, file, python2
-, llvm_9, darwin, git, cmake, rustPlatform
+, llvm_9, darwin, git, cmake, rust, rustPlatform
 , pkgconfig, openssl
 , which, libffi
 , withBundledLLVM ? false
@@ -53,9 +53,9 @@ in stdenv.mkDerivation rec {
   # We need rust to build rust. If we don't provide it, configure will try to download it.
   # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py
   configureFlags = let
-    setBuild  = "--set=target.${stdenv.buildPlatform.config}";
-    setHost   = "--set=target.${stdenv.hostPlatform.config}";
-    setTarget = "--set=target.${stdenv.targetPlatform.config}";
+    setBuild  = "--set=target.${rust.toRustTarget stdenv.buildPlatform}";
+    setHost   = "--set=target.${rust.toRustTarget stdenv.hostPlatform}";
+    setTarget = "--set=target.${rust.toRustTarget stdenv.targetPlatform}";
     ccForBuild  = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}cc";
     cxxForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}c++";
     ccForHost  = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}cc";
@@ -68,9 +68,9 @@ in stdenv.mkDerivation rec {
     "--set=build.cargo=${rustPlatform.rust.cargo}/bin/cargo"
     "--enable-rpath"
     "--enable-vendor"
-    "--build=${stdenv.buildPlatform.config}"
-    "--host=${stdenv.hostPlatform.config}"
-    "--target=${stdenv.targetPlatform.config}"
+    "--build=${rust.toRustTarget stdenv.buildPlatform}"
+    "--host=${rust.toRustTarget stdenv.hostPlatform}"
+    "--target=${rust.toRustTarget stdenv.targetPlatform}"
 
     "${setBuild}.cc=${ccForBuild}"
     "${setHost}.cc=${ccForHost}"
diff --git a/pkgs/development/compilers/smlnj/default.nix b/pkgs/development/compilers/smlnj/default.nix
index 89912ac9ad6..a79c9a702c4 100644
--- a/pkgs/development/compilers/smlnj/default.nix
+++ b/pkgs/development/compilers/smlnj/default.nix
@@ -1,32 +1,47 @@
 { stdenv, fetchurl }:
 let
-  version = "110.91";
+  version = "110.95";
   baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
 
+  isArch64 = stdenv.system == "x86_64-linux";
+
+  arch = if isArch64
+    then "64"
+    else "32";
+
+  boot32 = { url = "${baseurl}/boot.x86-unix.tgz";
+             sha256 = "07bcrvjphyin1ygjbymcqhd1mbfk4hff82wmxcllh77lr28l5dxf"; };
+  boot64 = { url = "${baseurl}/boot.amd64-unix.tgz";
+             sha256 = "1zn96a83kb6bn6228yfjsvb58m2qxw9k4j3qz0p9c8za479w4ch6"; };
+
+  bootBinary = if isArch64
+               then boot64
+               else boot32;
+
   sources = map fetchurl [
-    { url = "${baseurl}/config.tgz";              sha256 = "00vbg2kpwgkf272m697p5hd35pawficbrifchn7dnd519wpdx436"; }
-    { url = "${baseurl}/cm.tgz";                  sha256 = "0wxb0s2fwh7lbb3z2pfvmvhk5v0gm75kchkv7gg9f895ahyvm6yd"; }
-    { url = "${baseurl}/compiler.tgz";            sha256 = "0iq06ycivy562i59vvbma9zi575zw1djhdfkcy0bn7m9kfzzbgkh"; }
-    { url = "${baseurl}/runtime.tgz";             sha256 = "0km8p4vmy3m38xv0rl8d3mh2nlk2mvx010npm34gs374bmmzc7z9"; }
-    { url = "${baseurl}/system.tgz";              sha256 = "16d5vs1rn7ly6jxjm08222cj0sry73pr57xpc9d6k286b1v0910b"; }
-    { url = "${baseurl}/MLRISC.tgz";              sha256 = "1c9sw8zm90ykas5nwbhk2wic7sxkjrylb610x37v46m5ips1wlma"; }
-    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "09ka20ym7ahrpj4r6vc5phflc8y57dj09qvwk8ambfwb2p2274sw"; }
-    { url = "${baseurl}/old-basis.tgz";           sha256 = "1bhq9fv6p8diz489h9571g0xrsi8yx7h6gh9410255klxjrw964h"; }
-    { url = "${baseurl}/ckit.tgz";                sha256 = "1lq9ljai0shc6hszx5v6bqmkz16a3f295mfg7q622apzgzark3vd"; }
-    { url = "${baseurl}/nlffi.tgz";               sha256 = "1xjmlwiclgckj73z5hz3hnqlavp3ax9sfvgc0rvj3xpy3i3n6axj"; }
-    { url = "${baseurl}/cml.tgz";                 sha256 = "1sjzipxnvr9dgcg16bllfk3b46ac9f8h353nh1ccykwwq4whi9bf"; }
-    { url = "${baseurl}/eXene.tgz";               sha256 = "04clbchrlqx5v35gkbydbfnpl720i4nqijkshiwn0v592n4xfdf4"; }
-    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "0max073nzwv7vx13caj7zmlhslvxlgg8rj52278g7f6fqcrwp5cf"; }
-    { url = "${baseurl}/ml-lex.tgz";              sha256 = "0x2mbg45l71049sgvvkl6bnqc5svz70vh1m1rbf3xk41z5bapcgr"; }
-    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "0a1pbwpw1y6d1xn9yjarqpmybrxqwp5snp28by36745h1jvb1p1b"; }
-    { url = "${baseurl}/ml-burg.tgz";             sha256 = "119mq5jrbkn9vf9fgb0wyz483hf26al9hwb91xpmlmfx5qqnfzik"; }
-    { url = "${baseurl}/pgraph.tgz";              sha256 = "1s7jmh3q88rz29bk02y3gzdqrgvk484j5ji8bn7s6fc78m50nqp8"; }
-    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1gzf1pbmw2cn5w6f5qfdm3d6n6069n1nnzz6z4v7mr07x54c6mdv"; }
-    { url = "${baseurl}/heap2asm.tgz";            sha256 = "09cgj568a9x017awysjdx35mlp5zkdmc2fs67fvnm5ifl7ivfs8j"; }
-    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "1g4xhcxychs9q25x7a5lvqfamq52c5ljlx84bc5cazvpkhixyg04"; }
-    { url = "${baseurl}/doc.tgz";                 sha256 = "1l0x91dscizk2pyj1lw595r84h1h0shxh0x5hva891717a1hfa51"; }
-    { url = "${baseurl}/boot.x86-unix.tgz";       sha256 = "0f6x4nfhrgm1z4dx862df2yaffdh1sd6zx2lyb2vph5mhp7x9n58"; }
-    { url = "${baseurl}/asdl.tgz";                sha256 = "1pi3m21jllyd2h0zpz4bajskfv58g6pjhpprqiwgmikn6w1pryp8"; }
+    bootBinary
+    { url = "${baseurl}/config.tgz";              sha256 = "09srqxkxl86iaz6l6dz83c1apsac0pxpfq6b74i6l0nfl261jibw"; }
+    { url = "${baseurl}/cm.tgz";                  sha256 = "0gh8inrb07z597axw8qipwyx52m8nac5d5r0rvgzvdnnjg9nr9zy"; }
+    { url = "${baseurl}/compiler.tgz";            sha256 = "1kk6jwzyc261l5nii3n8rwccmgvcj1mg5fgycfsfsiyyy1v8xfx7"; }
+    { url = "${baseurl}/runtime.tgz";             sha256 = "17i069h5cv411sgzx3ynlf4v3wlrxiba9bwy1b0x0cyhs879kppc"; }
+    { url = "${baseurl}/system.tgz";              sha256 = "0s8ij3wfxpjrmrwxrgrirfxjj8vkda6l32j88al5q1ic3ncwc58s"; }
+    { url = "${baseurl}/MLRISC.tgz";              sha256 = "1v2d3gjxrcgc95x5glqcw0nfp13aapkcw03fyi70m3k1yc61izmz"; }
+    { url = "${baseurl}/smlnj-lib.tgz";           sha256 = "04i11ki8v9s7yz3lg6b0djhi03zzkzav0b5cr81ypxlkmf4hh6bp"; }
+    { url = "${baseurl}/old-basis.tgz";           sha256 = "1ryqpy0n7c9gd995ndmjvaci74f95nr8n1jjgm28yd1sn7hnavhi"; }
+    { url = "${baseurl}/ckit.tgz";                sha256 = "18mcs3j8c5gq9cmck7r175am60blaznqmhzyir622yfc8fpw1map"; }
+    { url = "${baseurl}/nlffi.tgz";               sha256 = "16mrl5aqbgsgljxa3z8kj5max9drddml34bq7rn1i78594jfvkwk"; }
+    { url = "${baseurl}/cml.tgz";                 sha256 = "00x784nv1pi6534k3vva26i9qx84cvw242vgwbs5020zkm6gvrmn"; }
+    { url = "${baseurl}/eXene.tgz";               sha256 = "143825h36v6z77kwvrvpszgwnhmjs3yldb18i9z4lwkqfb4kn7f7"; }
+    { url = "${baseurl}/ml-lpt.tgz";              sha256 = "17ly9h9ry8r94dx6lkas6w2cxknwkpma4z9pj8rgzmd3w6qm7j1z"; }
+    { url = "${baseurl}/ml-lex.tgz";              sha256 = "1ja3l2kiq17754c58mwdiqi25f7ax0cji2wk0vq4872iwwxc22px"; }
+    { url = "${baseurl}/ml-yacc.tgz";             sha256 = "1m48nkwvw87yg39sjihlw8na5m34bzz3d4zpfbjaj2f75fkjy3jf"; }
+    { url = "${baseurl}/ml-burg.tgz";             sha256 = "13nbvbah7bn8gjm4gi41m412vpl69wd6d3x3wzbb6xpia9vm4z4j"; }
+    { url = "${baseurl}/pgraph.tgz";              sha256 = "1aizkl8avz01kx221xy5z7a1a1b5xqn2hrk66wr8d0iav2nh5c98"; }
+    { url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1c80xgck9sb2rm554nfg4f5mpjkdbrwkcx88pj120056225l10vx"; }
+    { url = "${baseurl}/heap2asm.tgz";            sha256 = "1n68drd7as5dy20ccfvgd9cmnhfpfvz7g3f0gc8kpaqaz3vpy36g"; }
+    { url = "${baseurl}/smlnj-c.tgz";             sha256 = "1b6svh2kk5211rq73fdwx3sf80d2rshf0dmkkrq5mw4852nzqz3p"; }
+    { url = "${baseurl}/doc.tgz";                 sha256 = "021yzhy9maypq4ahz0d0qpr601spndg583fn9mapv6rl42kwhjq6"; }
+    { url = "${baseurl}/asdl.tgz";                sha256 = "0nqavqcbidwnphbbwjrxhpy8glbyad51wy0cpqimbsw3sgns0zkd"; }
   ];
 in stdenv.mkDerivation {
   pname = "smlnj";
@@ -37,6 +52,7 @@ in stdenv.mkDerivation {
   patchPhase = ''
     sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
     echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
+    patch --verbose config/_heap2exec ${./heap2exec.diff}
   '';
 
   unpackPhase = ''
@@ -50,7 +66,7 @@ in stdenv.mkDerivation {
   '';
 
   buildPhase = ''
-    ./config/install.sh
+    ./config/install.sh -default ${arch}
   '';
 
   installPhase = ''
@@ -67,7 +83,7 @@ in stdenv.mkDerivation {
     description = "Standard ML of New Jersey, a compiler";
     homepage    = http://smlnj.org;
     license     = licenses.bsd3;
-    platforms   = [ "i686-linux" ];
+    platforms   = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/pkgs/development/compilers/smlnj/heap2exec.diff b/pkgs/development/compilers/smlnj/heap2exec.diff
new file mode 100644
index 00000000000..ef21a8e7f07
--- /dev/null
+++ b/pkgs/development/compilers/smlnj/heap2exec.diff
@@ -0,0 +1,9 @@
+@@ -35,7 +35,7 @@
+     BIN_DIR=${SMLNJ_HOME}/bin
+ fi
+ 
+-ARCH_N_OPSYS=`"$BIN_DIR/.arch-n-opsys $SIZE_OPT"`
++ARCH_N_OPSYS=`$BIN_DIR/.arch-n-opsys $SIZE_OPT`
+ if [ "$?" != "0" ]; then
+ 	die "unable to determine architecture/operating system"
+ fi
diff --git a/pkgs/development/compilers/souffle/default.nix b/pkgs/development/compilers/souffle/default.nix
index a39a6c4a2e4..35ee7de7a2d 100644
--- a/pkgs/development/compilers/souffle/default.nix
+++ b/pkgs/development/compilers/souffle/default.nix
@@ -10,13 +10,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "souffle";
-  version = "1.6.1";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner  = "souffle-lang";
     repo   = "souffle";
     rev    = version;
-    sha256 = "004c5iicjnlzn1yz1k7a28s4xdqx00016rr870drdq2z30mxfgz8";
+    sha256 = "0px8kh5875q2iyza4ylpa6vxpy6qxg0qvn2idk1j6dcdf5pdryph";
   };
 
   nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ];
diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix
index 03a62d1e4d8..2a8c07fa0fe 100644
--- a/pkgs/development/compilers/unison/default.nix
+++ b/pkgs/development/compilers/unison/default.nix
@@ -4,18 +4,18 @@
 
 stdenv.mkDerivation rec {
   pname = "unison-code-manager";
-  milestone_id = "M1f";
+  milestone_id = "M1g";
   version = "1.0.${milestone_id}-alpha";
 
   src = if (stdenv.isDarwin) then
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-osx.tar.gz";
-      sha256 = "089nb0b9ghsdbs39sskwa9a6v6s5xwshcfzk9qbbpahzphp1xmfk";
+      sha256 = "186y7y7ffg976w01cbb8am84ajbifb7lcnsc4g3x262mkswr7lry";
     }
   else
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz";
-      sha256 = "0jq2cspanlw15910khlzfdqdfgkwkr1q4fkmrkj0q8gz70mqi6ri";
+      sha256 = "1ki9car1clpaspnl5jb5qnr6nzv108q279n8m8bjm8azfcnl61ab";
     };
 
   # The tarball is just the prebuilt binary, in the archive root.
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 8079daf59a5..d84503caa60 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -106,18 +106,18 @@ in rec {
   };
 
   vala_0_40 = generic {
-    version = "0.40.16";
-    sha256 = "0vv25fmr9jqiqf080vak1x4raa4w3cz3n5ysjglqsq9qfx304i7b";
+    version = "0.40.18";
+    sha256 = "1f7cdkjdysg4dcri1wbzdddm46amk2s48jkwb5ghpdvhjb4l5j2m";
   };
 
   vala_0_44 = generic {
-    version = "0.44.8";
-    sha256 = "0f7pc496zvxfhbkhg8ayxykjas6f55mgv452wsnh0bz5zbxm8xrl";
+    version = "0.44.11";
+    sha256 = "06spdvm9q9k4riq1d2fxkyc8d88bcv460v360465iy1lnj3z9x2s";
   };
 
   vala_0_46 = generic {
-    version = "0.46.2";
-    sha256 = "1g20fzcwh3j7ab46jalabyi005h2in0cp7xj0yga4b8hx29h61wj";
+    version = "0.46.5";
+    sha256 = "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s";
   };
 
   vala = vala_0_46;
diff --git a/pkgs/development/compilers/x11basic/default.nix b/pkgs/development/compilers/x11basic/default.nix
index 3d955c4394b..147ec13c555 100644
--- a/pkgs/development/compilers/x11basic/default.nix
+++ b/pkgs/development/compilers/x11basic/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "X11basic";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchFromGitHub {
     owner = "kollokollo";
     repo = pname;
     rev = version;
-    sha256 = "0rwj9cf496xailply0rgw695bzdladh2dhy7vdqac1pwbkl53nvd";
+    sha256 = "1hpxzdqnjl1fiwgs2vrjg4kxm29c7pqwk3g1m4p5pm4x33a3d1q2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index 9adebe51247..55eaca514da 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -98,6 +98,7 @@ let
 
       export GOCACHE=$TMPDIR/go-cache
       export GOPATH="$TMPDIR/go"
+      export GOSUMDB=off
       export GOPROXY=file://${go-modules}
 
       runHook postConfigure
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 9fd343870b9..3c11205de73 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -511,7 +511,9 @@ self: super: {
      else dontCheck super.tasty-discover);
 
   # generic-deriving bound is too tight
-  aeson = doJailbreak super.aeson;
+  # aeson 1.4.6.0 needs Diff 0.4.0 to do tests but nixpkgs is still at 0.3.4
+  # https://github.com/bos/aeson/issues/740
+  aeson = dontCheck (doJailbreak super.aeson);
 
   # containers >=0.4 && <0.6 is too tight
   # https://github.com/RaphaelJ/friday/issues/34
@@ -1050,8 +1052,7 @@ self: super: {
     generateOptparseApplicativeCompletion "dhall" (
       dontCheck super.dhall
   );
-  dhall_1_27_0 = dontCheck super.dhall_1_27_0;
-
+  dhall_1_28_0 = dontCheck super.dhall_1_28_0;
 
   # Missing test files in source distribution, fixed once 1.4.0 is bumped
   # https://github.com/dhall-lang/dhall-haskell/pull/997
@@ -1078,6 +1079,7 @@ self: super: {
 
   # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
   haddock-library = doJailbreak (dontCheck super.haddock-library);
+  haddock-library_1_8_0 = doJailbreak super.haddock-library_1_8_0;
 
   # Generate shell completion.
   cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
@@ -1183,18 +1185,6 @@ self: super: {
   # test suite failure: https://github.com/jgm/pandoc/issues/5582
   pandoc = dontCheck super.pandoc;
 
-  # The latest release version is ancient. You really need this tool from git.
-  haskell-ci = generateOptparseApplicativeCompletion "haskell-ci"
-    (addBuildDepend (overrideSrc (dontCheck super.haskell-ci) {
-      version = "20190814-git";
-      src = pkgs.fetchFromGitHub {
-        owner = "haskell-CI";
-        repo = "haskell-ci";
-        rev = "70918d80b6fd43aca7e4d00ba0d2ea116b666556";
-        sha256 = "0bzp959qy74zmqq75f60rcixpjbvvyrb5a8zp2nyql3nm9vxzy5k";
-      };
-  }) (with self; [temporary lattices Cabal_3_0_0_0]));
-
   # Fix build with attr-2.4.48 (see #53716)
   xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;
 
@@ -1219,8 +1209,8 @@ self: super: {
   temporary-resourcet = doJailbreak super.temporary-resourcet;
 
   # Requires dhall >= 1.23.0
-  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_27_0; };
-  dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_27_0; };
+  ats-pkg = super.ats-pkg.override { dhall = self.dhall_1_28_0; };
+  dhall-to-cabal = super.dhall-to-cabal.override { dhall = self.dhall_1_28_0; };
 
   # Test suite doesn't work with current QuickCheck
   # https://github.com/pruvisto/heap/issues/11
@@ -1230,7 +1220,7 @@ self: super: {
   constraints-deriving = dontCheck super.constraints-deriving;
 
   # need newer version of ghc-libparser
-  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_1; };
+  hlint = super.hlint.override { ghc-lib-parser = self.ghc-lib-parser_8_8_1_20191204; };
 
   # https://github.com/sol/hpack/issues/366
   hpack = self.hpack_0_33_0;
@@ -1251,7 +1241,7 @@ self: super: {
   });
 
   # The LTS-14.x version of their dependencies are too old.
-  cabal-plan = super.cabal-plan.override { optparse-applicative = self.optparse-applicative_0_15_1_0; };
+  cabal-plan = super.cabal-plan.overrideScope (self: super: { optparse-applicative = self.optparse-applicative_0_15_1_0; ansi-terminal = self.ansi-terminal_0_10_2; base-compat = self.base-compat_0_11_0; semialign = self.semialign_1_1; time-compat = doJailbreak super.time-compat; });
   hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_22_0; };
 
   # Version bounds for http-client are too strict:
@@ -1318,4 +1308,10 @@ self: super: {
   # Needs the corresponding version of haskell-src-exts.
   haskell-src-exts-simple = super.haskell-src-exts-simple.override { haskell-src-exts = self.haskell-src-exts_1_22_0; };
 
+  # https://github.com/Daniel-Diaz/HaTeX/issues/144
+  HaTeX = dontCheck super.HaTeX;
+
+  # https://github.com/kazu-yamamoto/dns/issues/150
+  dns = dontCheck super.dns;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index ec0e4377f76..6f7b3a30ab1 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -67,22 +67,48 @@ self: super: {
   # TODO: remove when upstream accepts https://github.com/snapframework/io-streams-haproxy/pull/17
   io-streams-haproxy = doJailbreak super.io-streams-haproxy; # base >=4.5 && <4.13
   snap-server = doJailbreak super.snap-server;
+  xmobar = doJailbreak super.xmobar;
 
   # use latest version to fix the build
+  brick = self.brick_0_50_1;
+  dbus = self.dbus_1_2_11;
+  doctemplates = self.doctemplates_0_7_2;
+  exact-pi = doJailbreak super.exact-pi;
   generics-sop = self.generics-sop_0_5_0_0;
   hackage-db = self.hackage-db_2_1_0;
+  haddock-library = self.haddock-library_1_8_0;
+  HaTeX = self.HaTeX_3_22_0_0;
+  HsYAML = self.HsYAML_0_2_1_0;
+  json-autotype = doJailbreak super.json-autotype;
   lens = self.lens_4_18_1;
   memory = self.memory_0_15_0;
   microlens = self.microlens_0_4_11_2;
+  microlens-ghc = self.microlens-ghc_0_4_11_1;
+  microlens-mtl = self.microlens-mtl_0_2_0_1;
+  microlens-platform = self.microlens-platform_0_4_0;
+  microlens-th = self.microlens-th_0_4_3_2;
+  network = self.network_3_1_1_1;
   optparse-applicative = self.optparse-applicative_0_15_1_0;
+  pandoc = self.pandoc_2_8_1;
+  pandoc-types = self.pandoc-types_1_20;
+  prettyprinter = self.prettyprinter_1_5_1;
   primitive = dontCheck super.primitive_0_7_0_0;  # evaluating the test suite gives an infinite recursion
   regex-base = self.regex-base_0_94_0_0;
+  regex-compat = self.regex-compat_0_95_2_0;
   regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43;
   regex-posix = self.regex-posix_0_96_0_0;
-  regex-tdfa = self.regex-tdfa_1_3_0;
+  regex-tdfa = self.regex-tdfa_1_3_1_0;
   shelly = self.shelly_1_9_0;
+  singletons = self.singletons_2_6;
+  skylighting = self.skylighting_0_8_3;
+  skylighting-core = self.skylighting-core_0_8_3;
   sop-core = self.sop-core_0_5_0_0;
+  texmath = self.texmath_0_12;
+  th-desugar = self.th-desugar_1_10;
   tls = self.tls_1_5_2;
+  trifecta = self.trifecta_2_1;
+  vty = self.vty_5_26;
+  xml-conduit = overrideCabal super.xml-conduit (drv: { version = "1.9.0.0"; sha256 = "1p57v127882rxvvmwjmvnqdmk3x2wg1z4d8y03849h0xaz1vid0w"; });
   xmonad-contrib = self.xmonad-contrib_0_16;
 
   # These packages don't work and need patching and/or an update.
@@ -100,7 +126,6 @@ self: super: {
     sha256 = "1asl932mibr5y057xx8v1a7n3qy87lcnclsfh8pbxq1m3iwjkxy8";
   });
   vault = dontHaddock super.vault;
-  monad-par = dontCheck super.monad-par;   # test suite does not compile in monad-par-0.3.4.8
 
   # https://github.com/snapframework/snap-core/issues/288
   snap-core = overrideCabal super.snap-core (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail   = Fail.fail' ''"; });
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index f57768ecb77..48263695f46 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -43,7 +43,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 14.14
+  # LTS Haskell 14.16
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -55,7 +55,7 @@ default-package-overrides:
   - adjunctions ==4.4
   - adler32 ==0.1.2.0
   - advent-of-code-api ==0.1.2.3
-  - aeson ==1.4.5.0
+  - aeson ==1.4.6.0
   - aeson-attoparsec ==0.0.0
   - aeson-better-errors ==0.9.1.0
   - aeson-casing ==0.2.0.0
@@ -120,7 +120,7 @@ default-package-overrides:
   - async-timer ==0.2.0.0
   - atom-basic ==0.2.5
   - atomic-primops ==0.8.3
-  - atomic-write ==0.2.0.6
+  - atomic-write ==0.2.0.7
   - attoparsec ==0.13.2.3
   - attoparsec-base64 ==0.0.0
   - attoparsec-binary ==0.2
@@ -131,7 +131,7 @@ default-package-overrides:
   - attoparsec-uri ==0.0.7
   - audacity ==0.0.2
   - aur ==6.2.0.1
-  - authenticate ==1.3.4
+  - authenticate ==1.3.5
   - authenticate-oauth ==1.6.0.1
   - auto ==0.4.3.1
   - autoexporter ==1.1.15
@@ -142,7 +142,7 @@ default-package-overrides:
   - avro ==0.4.5.4
   - avwx ==0.3.0.2
   - aws-cloudfront-signed-cookies ==0.2.0.1
-  - aws-lambda-haskell-runtime ==2.0.1
+  - aws-lambda-haskell-runtime ==2.0.2
   - backprop ==0.2.6.3
   - bank-holidays-england ==0.2.0.2
   - barbies ==1.1.3.0
@@ -279,7 +279,7 @@ default-package-overrides:
   - casing ==0.1.4.1
   - cassava ==0.5.2.0
   - cassava-conduit ==0.5.1
-  - cassava-megaparsec ==2.0.0
+  - cassava-megaparsec ==2.0.1
   - cassava-records ==0.1.0.4
   - cast ==0.1.0.2
   - caster ==0.0.3.0
@@ -311,7 +311,7 @@ default-package-overrides:
   - chiphunk ==0.1.2.1
   - choice ==0.2.2
   - chronologique ==0.3.1.1
-  - chronos ==1.0.8
+  - chronos ==1.0.9
   - chronos-bench ==0.2.0.2
   - chunked-data ==0.3.1
   - cipher-aes ==0.2.11
@@ -326,7 +326,7 @@ default-package-overrides:
   - classy-prelude ==1.5.0
   - classy-prelude-conduit ==1.5.0
   - classy-prelude-yesod ==1.5.0
-  - clay ==0.13.1
+  - clay ==0.13.2
   - clientsession ==0.9.1.2
   - Clipboard ==2.3.2.0
   - clock ==0.8
@@ -336,7 +336,7 @@ default-package-overrides:
   - clr-marshal ==0.2.0.0
   - clumpiness ==0.17.0.2
   - cmark ==0.6
-  - cmark-gfm ==0.2.0
+  - cmark-gfm ==0.2.1
   - cmdargs ==0.10.20
   - codec ==0.2.1
   - codec-beam ==0.2.0
@@ -388,7 +388,7 @@ default-package-overrides:
   - connection ==0.3.1
   - connection-pool ==0.2.2
   - console-style ==0.0.2.1
-  - constraint ==0.1.3.0
+  - constraint ==0.1.4.0
   - constraints ==0.10.1
   - contravariant ==1.5.2
   - contravariant-extras ==0.3.5
@@ -397,9 +397,9 @@ default-package-overrides:
   - control-monad-free ==0.6.2
   - control-monad-omega ==0.3.2
   - convertible ==1.1.1.0
-  - cookie ==0.4.4
-  - core-data ==0.2.1.0
-  - core-text ==0.2.2.1
+  - cookie ==0.4.5
+  - core-data ==0.2.1.4
+  - core-text ==0.2.2.4
   - countable ==1.0
   - country ==0.1.6
   - courier ==0.1.1.5
@@ -408,7 +408,7 @@ default-package-overrides:
   - cprng-aes ==0.6.1
   - cpu ==0.1.2
   - cpuinfo ==0.1.0.1
-  - cql ==4.0.1
+  - cql ==4.0.2
   - cql-io ==1.1.1
   - crackNum ==2.3
   - crc32c ==0.0.0
@@ -519,14 +519,14 @@ default-package-overrides:
   - dhall-bash ==1.0.21
   - dhall-json ==1.3.0
   - diagrams ==1.4
-  - diagrams-contrib ==1.4.3
+  - diagrams-contrib ==1.4.4
   - diagrams-core ==1.4.2
   - diagrams-lib ==1.4.3
   - diagrams-postscript ==1.4.1
   - diagrams-rasterific ==1.4.1.1
   - diagrams-solve ==0.1.1
   - diagrams-svg ==1.4.2
-  - di-core ==1.0.3
+  - di-core ==1.0.4
   - dictionary-sharing ==0.1.0.0
   - Diff ==0.3.4
   - digest ==0.0.1.2
@@ -544,7 +544,7 @@ default-package-overrides:
   - dlist ==0.8.0.7
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
-  - dns ==4.0.0
+  - dns ==4.0.1
   - dockerfile ==0.2.0
   - docopt ==0.7.0.5
   - doctemplates ==0.2.2.1
@@ -555,7 +555,7 @@ default-package-overrides:
   - do-list ==1.0.1
   - dom-parser ==3.1.0
   - do-notation ==0.1.0.2
-  - dotenv ==0.8.0.2
+  - dotenv ==0.8.0.4
   - dotgen ==0.4.2
   - dotnet-timespan ==0.0.1.0
   - double-conversion ==2.0.2.0
@@ -664,7 +664,7 @@ default-package-overrides:
   - filecache ==0.4.1
   - file-embed ==0.0.11
   - file-embed-lzma ==0
-  - filelock ==0.1.1.3
+  - filelock ==0.1.1.4
   - filemanip ==0.3.6.3
   - file-modules ==0.1.2.4
   - filepattern ==0.1.1
@@ -734,7 +734,7 @@ default-package-overrides:
   - gauge ==0.2.5
   - gc ==0.0.3
   - gd ==3000.7.3
-  - gdp ==0.0.0.2
+  - gdp ==0.0.3.0
   - general-games ==1.1.1
   - generic-arbitrary ==0.1.0
   - generic-data ==0.7.0.0
@@ -847,7 +847,7 @@ default-package-overrides:
   - hackage-db ==2.0.1
   - hackage-security ==0.5.3.0
   - haddock-library ==1.7.0
-  - hadolint ==1.17.2
+  - hadolint ==1.17.3
   - half ==0.3
   - hamilton ==0.1.0.3
   - hamtsolo ==1.0.3
@@ -885,7 +885,7 @@ default-package-overrides:
   - haxl ==2.1.2.0
   - hbeanstalk ==0.2.4
   - HCodecs ==0.5.1
-  - hdaemonize ==0.5.5
+  - hdaemonize ==0.5.6
   - HDBC ==2.4.0.3
   - HDBC-mysql ==0.7.1.0
   - HDBC-session ==0.1.2.0
@@ -929,7 +929,7 @@ default-package-overrides:
   - hmpfr ==0.4.4
   - hoauth2 ==1.8.9
   - Hoed ==0.5.1
-  - hOpenPGP ==2.8
+  - hOpenPGP ==2.8.4
   - hopenpgp-tools ==0.21.3
   - hopfli ==0.2.2.1
   - hosc ==0.17
@@ -1007,7 +1007,7 @@ default-package-overrides:
   - htoml ==1.0.0.3
   - http2 ==1.6.5
   - HTTP ==4000.3.14
-  - http-api-data ==0.4.1
+  - http-api-data ==0.4.1.1
   - http-client ==0.6.4
   - http-client-tls ==0.3.5.3
   - http-common ==0.8.2.0
@@ -1047,7 +1047,7 @@ default-package-overrides:
   - hw-mquery ==0.2.0.2
   - hw-packed-vector ==0.0.0.3
   - hw-parser ==0.1.0.2
-  - hw-prim ==0.6.2.38
+  - hw-prim ==0.6.2.39
   - hw-rankselect ==0.13.0.0
   - hw-rankselect-base ==0.3.2.3
   - hw-simd ==0.1.1.5
@@ -1086,7 +1086,6 @@ default-package-overrides:
   - indents ==0.5.0.1
   - indexed ==0.1.3
   - indexed-list-literals ==0.2.1.2
-  - indexed-profunctors ==0.1
   - infer-license ==0.2.0
   - inflections ==0.4.0.4
   - influxdb ==1.7.1.1
@@ -1096,7 +1095,7 @@ default-package-overrides:
   - inline-c-cpp ==0.3.0.3
   - inline-r ==0.10.2
   - inliterate ==0.1.0
-  - insert-ordered-containers ==0.2.3
+  - insert-ordered-containers ==0.2.2
   - inspection-testing ==0.4.2.2
   - instance-control ==0.1.2.0
   - int-cast ==0.2.0.0
@@ -1141,7 +1140,7 @@ default-package-overrides:
   - ixset-typed ==0.4.0.1
   - ix-shapable ==0.1.0
   - jack ==0.7.1.4
-  - jose ==0.8.1.0
+  - jose ==0.8.2.0
   - jose-jwt ==0.8.0
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
@@ -1253,7 +1252,7 @@ default-package-overrides:
   - log-domain ==0.12
   - logfloat ==0.13.3.3
   - logger-thread ==0.1.0.2
-  - logging-effect ==1.3.7
+  - logging-effect ==1.3.8
   - logging-facade ==0.3.0
   - logging-facade-syslog ==1
   - logict ==0.7.0.2
@@ -1280,7 +1279,7 @@ default-package-overrides:
   - markdown-unlit ==0.5.0
   - markov-chain ==0.0.3.4
   - massiv ==0.4.3.0
-  - massiv-io ==0.1.7.0
+  - massiv-io ==0.1.9.0
   - massiv-test ==0.1.1
   - mathexpr ==0.3.0.0
   - math-functions ==0.3.3.0
@@ -1352,7 +1351,7 @@ default-package-overrides:
   - monad-logger ==0.3.30
   - monad-logger-json ==0.1.0.0
   - monad-logger-prefix ==0.1.11
-  - monad-logger-syslog ==0.1.4.0
+  - monad-logger-syslog ==0.1.5.0
   - monad-loops ==0.4.3
   - monad-memo ==0.5.1
   - monad-metrics ==0.2.1.4
@@ -1432,7 +1431,7 @@ default-package-overrides:
   - network-house ==0.1.0.2
   - network-info ==0.2.0.10
   - network-ip ==0.3.0.3
-  - network-messagepack-rpc ==0.1.1.4
+  - network-messagepack-rpc ==0.1.2.0
   - network-multicast ==0.3.2
   - network-simple ==0.4.5
   - network-simple-tls ==0.3.2
@@ -1448,10 +1447,9 @@ default-package-overrides:
   - nonce ==1.0.7
   - nondeterminism ==1.4
   - non-empty ==0.3.2
-  - nonempty-containers ==0.3.2.0
+  - nonempty-containers ==0.3.1.0
   - nonemptymap ==0.0.6.0
-  - non-empty-sequence ==0.2.0.2
-  - nonempty-vector ==0.2.0.1
+  - non-empty-sequence ==0.2.0.4
   - non-negative ==0.1.2
   - not-gloss ==0.7.7.0
   - no-value ==1.0.0.0
@@ -1461,7 +1459,7 @@ default-package-overrides:
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
   - numeric-prelude ==0.4.3.1
-  - numhask ==0.3.0.0
+  - numhask ==0.3.1
   - NumInstances ==1.4
   - numtype-dk ==0.5.0.2
   - nuxeo ==0.3.2
@@ -1495,8 +1493,6 @@ default-package-overrides:
   - open-witness ==0.4.0.1
   - operational ==0.2.3.5
   - operational-class ==0.3.0.0
-  - optics-core ==0.2
-  - optics-extra ==0.2
   - optional-args ==1.0.2
   - options ==1.2.1.1
   - optparse-applicative ==0.14.3.0
@@ -1548,7 +1544,7 @@ default-package-overrides:
   - pcf-font-embed ==0.1.2.0
   - pcg-random ==0.1.3.6
   - pcre-heavy ==1.0.0.2
-  - pcre-light ==0.4.0.4
+  - pcre-light ==0.4.1.0
   - pcre-utils ==0.1.8.1.1
   - pdfinfo ==1.5.4
   - peano ==0.1.0.1
@@ -1651,7 +1647,7 @@ default-package-overrides:
   - primitive ==0.6.4.0
   - primitive-extras ==0.7.1.1
   - prim-uniq ==0.1.0.1
-  - probability ==0.2.5.2
+  - probability ==0.2.6
   - process-extras ==0.7.4
   - product-isomorphic ==0.0.3.3
   - product-profunctors ==0.10.0.0
@@ -1909,7 +1905,7 @@ default-package-overrides:
   - sexpr-parser ==0.1.1.2
   - SHA ==1.6.4.4
   - shake-language-c ==0.12.0
-  - shakespeare ==2.0.22
+  - shakespeare ==2.0.23
   - shared-memory ==0.2.0.0
   - shell-conduit ==4.7.0
   - shell-escape ==0.2.0
@@ -1953,7 +1949,7 @@ default-package-overrides:
   - smallcheck-series ==0.6.1
   - smoothie ==0.4.2.9
   - snap-blaze ==0.2.1.5
-  - snap-core ==1.0.4.0
+  - snap-core ==1.0.4.1
   - snap-server ==1.1.1.1
   - snowflake ==0.1.1.1
   - soap ==0.2.3.6
@@ -2226,7 +2222,7 @@ default-package-overrides:
   - type-operators ==0.2.0.0
   - typerep-map ==0.3.2
   - type-spec ==0.4.0.0
-  - tz ==0.1.3.2
+  - tz ==0.1.3.3
   - tzdata ==0.1.20190325.0
   - ua-parser ==0.7.5.1
   - ucam-webauth ==0.1.0.0
@@ -2355,7 +2351,7 @@ default-package-overrides:
   - webex-teams-api ==0.2.0.0
   - webex-teams-conduit ==0.2.0.0
   - webex-teams-pipes ==0.2.0.0
-  - web-routes ==0.27.14.2
+  - web-routes ==0.27.14.3
   - web-routes-hsp ==0.24.6.1
   - web-routes-wai ==0.24.3.1
   - webrtc-vad ==0.1.0.3
@@ -2437,7 +2433,7 @@ default-package-overrides:
   - yesod-auth ==1.6.8
   - yesod-auth-hashdb ==1.7.1.1
   - yesod-auth-oauth2 ==0.6.1.2
-  - yesod-bin ==1.6.0.3
+  - yesod-bin ==1.6.0.4
   - yesod-core ==1.6.16.1
   - yesod-csp ==0.2.5.0
   - yesod-eventsource ==1.6.0
@@ -2452,7 +2448,7 @@ default-package-overrides:
   - yesod-recaptcha2 ==0.3.0
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.0.1
-  - yesod-test ==1.6.7
+  - yesod-test ==1.6.8
   - yesod-text-markdown ==0.1.10
   - yesod-websockets ==0.3.0.2
   - yes-precure5-command ==5.5.3
@@ -2548,7 +2544,6 @@ package-maintainers:
     - funcmp
     - git-annex
     - hackage-db
-    - haskell-ci
     - hledger
     - hledger-interest
     - hledger-ui
@@ -2594,6 +2589,7 @@ package-maintainers:
   cdepillabout:
     - pretty-simple
     - purescript
+    - spago
     - termonad
 
 unsupported-platforms:
@@ -2855,6 +2851,7 @@ broken-packages:
   - alerta
   - alex-meta
   - alex-prelude
+  - alex-tools
   - alfred
   - alg
   - alga
@@ -2937,6 +2934,7 @@ broken-packages:
   - apecs-stm
   - apelsin
   - api-builder
+  - api-rpc-factom
   - api-rpc-pegnet
   - api-tools
   - api-yoti
@@ -2998,6 +2996,7 @@ broken-packages:
   - array-chunks
   - array-forth
   - array-primops
+  - arrayfire
   - arraylist
   - ArrayRef
   - arrow-improve
@@ -3264,6 +3263,7 @@ broken-packages:
   - biofasta
   - biofastq
   - biohazard
+  - BioHMM
   - bioinformatics-toolkit
   - biophd
   - biopsl
@@ -3273,6 +3273,7 @@ broken-packages:
   - bird
   - BirdPP
   - bisect-binary
+  - bishbosh
   - bit-array
   - bit-stream
   - bitcoin-hs
@@ -3388,6 +3389,7 @@ broken-packages:
   - buffer
   - buffer-builder-aeson
   - BufferedSocket
+  - buffet
   - buffon
   - bugzilla
   - build
@@ -3446,11 +3448,13 @@ broken-packages:
   - cabal-ghc-dynflags
   - cabal-ghci
   - cabal-graphdeps
+  - cabal-helper
   - Cabal-ide-backend
   - cabal-info
   - cabal-install-bundle
   - cabal-install-ghc72
   - cabal-install-ghc74
+  - cabal-install-parsers
   - cabal-meta
   - cabal-mon
   - cabal-nirvana
@@ -3492,7 +3496,9 @@ broken-packages:
   - calculator
   - caldims
   - caledon
+  - calenderweek
   - call
+  - call-alloy
   - call-haskell-from-anything
   - camfort
   - campfire
@@ -3685,6 +3691,7 @@ broken-packages:
   - cloud-haskell
   - cloud-seeder
   - cloudfront-signer
+  - cloudi
   - clr-inline
   - clua
   - cluss
@@ -3713,6 +3720,8 @@ broken-packages:
   - co-log-sys
   - Coadjute
   - coalpit
+  - cobot-io
+  - cobot-tools
   - code-builder
   - codec-beam
   - codec-libevent
@@ -3764,6 +3773,7 @@ broken-packages:
   - compact-socket
   - compact-string
   - compact-string-fix
+  - compact-word-vectors
   - Compactable
   - compdata-dags
   - competition
@@ -3827,6 +3837,7 @@ broken-packages:
   - conkin
   - conlogger
   - connection-string
+  - connections
   - Conscript
   - consistent
   - const-math-ghc-plugin
@@ -4177,6 +4188,7 @@ broken-packages:
   - dgim
   - dgs
   - dhall-check
+  - dhall-fly
   - dhall-lsp-server
   - dhall-nix
   - dhall-to-cabal
@@ -4355,6 +4367,7 @@ broken-packages:
   - dtd-text
   - dtw
   - dual
+  - duet
   - Dung
   - duplo
   - Dust
@@ -4430,6 +4443,7 @@ broken-packages:
   - email
   - email-header
   - email-postmark
+  - email-validator
   - emailparse
   - embeddock
   - embeddock-example
@@ -4542,6 +4556,7 @@ broken-packages:
   - exif
   - exinst-deepseq
   - exinst-hashable
+  - exist-instances
   - exists
   - exitcode
   - expand
@@ -4571,6 +4586,7 @@ broken-packages:
   - f-ree-hack-cheats-free-v-bucks-generator
   - Facebook-Password-Hacker-Online-Latest-Version
   - faceted
+  - factory
   - Facts
   - factual-api
   - fadno
@@ -4665,6 +4681,7 @@ broken-packages:
   - FilePather
   - filepather
   - Files
+  - filestore
   - FileSystem
   - filesystem-conduit
   - filesystem-enumerator
@@ -4687,6 +4704,7 @@ broken-packages:
   - first-and-last
   - firstify
   - FirstOrderTheory
+  - fishfood
   - fit
   - fits-parse
   - fitsio
@@ -4757,6 +4775,7 @@ broken-packages:
   - Forestry
   - forger
   - ForkableT
+  - forma
   - formal
   - FormalGrammars
   - format
@@ -4777,6 +4796,7 @@ broken-packages:
   - foscam-sort
   - Foster
   - fpco-api
+  - fplll
   - fpnla-examples
   - FPretty
   - fptest
@@ -4862,6 +4882,10 @@ broken-packages:
   - funnyprint
   - funpat
   - funsat
+  - fused-effects-exceptions
+  - fused-effects-lens
+  - fused-effects-random
+  - fused-effects-resumable
   - fusion
   - futhark
   - futun
@@ -4875,6 +4899,7 @@ broken-packages:
   - g2q
   - g4ip
   - gact
+  - galois-fft
   - game-probability
   - gameclock
   - gamgee
@@ -4957,6 +4982,7 @@ broken-packages:
   - getflag
   - GGg
   - ggtsTC
+  - gh-labeler
   - ghc-core-smallstep
   - ghc-datasize
   - ghc-dump-tree
@@ -5289,7 +5315,6 @@ broken-packages:
   - hakyll-dir-list
   - hakyll-favicon
   - hakyll-filestore
-  - hakyll-images
   - hakyll-ogmarkup
   - hakyll-R
   - hakyll-sass
@@ -5412,6 +5437,7 @@ broken-packages:
   - haskell-bitmex-client
   - haskell-bitmex-rest
   - haskell-brainfuck
+  - haskell-ci
   - haskell-cnc
   - haskell-coffee
   - haskell-compression
@@ -5505,6 +5531,7 @@ broken-packages:
   - haskmon
   - haskoin
   - haskoin-bitcoind
+  - haskoin-core
   - haskoin-crypto
   - haskoin-node
   - haskoin-protocol
@@ -5634,6 +5661,7 @@ broken-packages:
   - hedgehog-classes
   - hedgehog-gen-json
   - hedgehog-generic
+  - hedgehog-golden
   - Hedi
   - hedis-config
   - hedis-pile
@@ -5889,6 +5917,7 @@ broken-packages:
   - hoovie
   - hopencc
   - hopencl
+  - hOpenPGP
   - hopenpgp-tools
   - hopfield
   - hoppy-docs
@@ -5946,6 +5975,9 @@ broken-packages:
   - hR
   - hranker
   - HRay
+  - hreq-client
+  - hreq-conduit
+  - hreq-core
   - Hricket
   - hricket
   - hriemann
@@ -6167,6 +6199,7 @@ broken-packages:
   - http-streams
   - http-wget
   - http2-client-grpc
+  - http2-grpc-proto3-wire
   - https-everywhere-rules
   - https-everywhere-rules-raw
   - httpspec
@@ -6561,6 +6594,7 @@ broken-packages:
   - JYU-Utils
   - kademlia
   - kafka-client
+  - kafka-client-sync
   - kaleidoscope
   - Kalman
   - kalman
@@ -7042,6 +7076,7 @@ broken-packages:
   - mangopay
   - manifold-random
   - manifolds
+  - Map
   - map-exts
   - map-reduce-folds
   - map-syntax
@@ -7066,6 +7101,10 @@ broken-packages:
   - marxup
   - masakazu-bot
   - MASMGen
+  - mason
+  - massiv
+  - massiv-io
+  - massiv-test
   - master-plan
   - matchable-th
   - matchers
@@ -7208,6 +7247,7 @@ broken-packages:
   - mm2
   - mmsyn2
   - mmsyn4
+  - mmsyn6ukr
   - mmtf
   - mmtl
   - mmtl-base
@@ -7293,6 +7333,7 @@ broken-packages:
   - monoids
   - monopati
   - monte-carlo
+  - months
   - monzo
   - moo
   - moonshine
@@ -7301,11 +7342,14 @@ broken-packages:
   - morley
   - morley-prelude
   - morph
+  - morpheus-graphql-cli
   - morphisms-functors
   - morphisms-functors-inventory
   - morphisms-objects
   - morte
   - mosaico-lib
+  - moto
+  - moto-postgresql
   - mount
   - movie-monad
   - mp
@@ -7524,6 +7568,7 @@ broken-packages:
   - nirum
   - nitro
   - nixfromnpm
+  - nixpkgs-update
   - nkjp
   - nlp-scores
   - nlp-scores-scripts
@@ -7549,6 +7594,7 @@ broken-packages:
   - NoSlow
   - not-gloss-examples
   - notcpp
+  - notifications-tray-icon
   - notmuch-haskell
   - notmuch-web
   - now-haskell
@@ -7574,6 +7620,7 @@ broken-packages:
   - numhask-histogram
   - numhask-prelude
   - numhask-range
+  - numhask-space
   - numhask-test
   - Nussinov78
   - Nutri
@@ -7679,6 +7726,7 @@ broken-packages:
   - orgstat
   - origami
   - orizentic
+  - ormolu
   - OrPatterns
   - osc
   - oscpacking
@@ -7714,12 +7762,13 @@ broken-packages:
   - pairing
   - pam
   - panda
+  - pandoc-citeproc-preamble
+  - pandoc-crossref
   - pandoc-include
   - pandoc-include-code
   - pandoc-japanese-filters
   - pandoc-lens
   - pandoc-markdown-ghci-filter
-  - pandoc-placetable
   - pandoc-plantuml-diagrams
   - pandoc-pyplot
   - pandoc-unlit
@@ -7885,6 +7934,7 @@ broken-packages:
   - piet
   - pig
   - pinchot
+  - pine
   - ping
   - pinpon
   - Pipe
@@ -7959,6 +8009,7 @@ broken-packages:
   - pocket-dns
   - point-octree
   - pointfree-fancy
+  - pointful
   - pointless-lenses
   - pointless-rewrite
   - pokemon-go-protobuf-types
@@ -7969,6 +8020,7 @@ broken-packages:
   - polh-lexicon
   - polimorf
   - Pollutocracy
+  - poly
   - poly-control
   - polydata
   - polydata-core
@@ -8092,6 +8144,7 @@ broken-packages:
   - product
   - prof2dot
   - prof2pretty
+  - profunctor-optics
   - progress
   - progress-meter
   - progressbar
@@ -8115,6 +8168,7 @@ broken-packages:
   - proteome
   - proto-lens-combinators
   - proto-lens-descriptors
+  - proto-lens-jsonpb
   - proto3-suite
   - protobuf-native
   - protocol-buffers-descriptor-fork
@@ -8226,6 +8280,7 @@ broken-packages:
   - quiver-instances
   - quiver-interleave
   - quiver-sort
+  - quokka
   - quoridor-hs
   - qux
   - R-pandoc
@@ -8348,6 +8403,7 @@ broken-packages:
   - reflex-dom-svg
   - reflex-gloss
   - reflex-gloss-scene
+  - reflex-libtelnet
   - reflex-orphans
   - reflex-sdl2
   - reflex-transformers
@@ -8357,6 +8413,7 @@ broken-packages:
   - reformat
   - refresht
   - refurb
+  - reg-alloc
   - regex-deriv
   - regex-dfa
   - regex-generator
@@ -8484,6 +8541,7 @@ broken-packages:
   - riff
   - ring-buffer
   - ring-buffers
+  - rings
   - riot
   - risc386
   - riscv-isa
@@ -8604,7 +8662,6 @@ broken-packages:
   - savage
   - sax
   - SBench
-  - sbv
   - sbvPlugin
   - sc2-lowlevel
   - sc2-proto
@@ -8620,6 +8677,7 @@ broken-packages:
   - scenegraph
   - schedevr
   - schedule-planner
+  - scheduler
   - schedyield
   - schemas
   - schematic
@@ -8896,6 +8954,7 @@ broken-packages:
   - singleton-dict
   - singleton-typelits
   - singnal
+  - singular-factory
   - sink
   - siphon
   - siren-json
@@ -9044,6 +9103,7 @@ broken-packages:
   - sorted
   - sorting
   - sorty
+  - souffle-haskell
   - sound-collage
   - sounddelay
   - soundgen
@@ -9114,6 +9174,7 @@ broken-packages:
   - sqlvalue-list
   - sqsd-local
   - squeal-postgresql
+  - squeeze
   - sr-extra
   - srcinst
   - sscan
@@ -9124,6 +9185,7 @@ broken-packages:
   - sssp
   - sstable
   - SSTG
+  - st2
   - stable-heap
   - stable-maps
   - stable-marriage
@@ -9138,6 +9200,7 @@ broken-packages:
   - stack-run
   - stack-run-auto
   - stack-type
+  - stack-wrapper
   - stack2cabal
   - stack2nix
   - stackage
@@ -9382,6 +9445,7 @@ broken-packages:
   - tasty-laws
   - tasty-lens
   - tasty-stats
+  - tasty-tap
   - Taxonomy
   - TaxonomyTools
   - TBC
@@ -9696,6 +9760,7 @@ broken-packages:
   - twilio
   - twill
   - twine
+  - twirp
   - twitter
   - twitter-conduit
   - twitter-enumerator
@@ -10059,6 +10124,7 @@ broken-packages:
   - websockets-simple
   - websockets-simple-extra
   - webwire
+  - weekdaze
   - weighted
   - weighted-regexp
   - welshy
@@ -10230,6 +10296,7 @@ broken-packages:
   - yam-servant
   - yam-transaction-odbc
   - yam-web
+  - yaml-combinators
   - yaml-pretty-extras
   - yaml-rpc
   - yaml-rpc-scotty
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index dbdad1ddf1d..472e4c66fc7 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -259,7 +259,7 @@ self: super: builtins.intersectAttrs super {
   wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
 
   # Test suite wants to connect to $DISPLAY.
-  hsqml = dontCheck (addExtraLibrary (super.hsqml.override { qt5 = pkgs.qt5Full; }) pkgs.libGLU_combined);
+  hsqml = dontCheck (addExtraLibraries (super.hsqml.override { qt5 = pkgs.qt5Full; }) [pkgs.libGLU pkgs.libGL]);
 
   # Tests attempt to use NPM to install from the network into
   # /homeless-shelter. Disabled.
@@ -636,4 +636,60 @@ self: super: builtins.intersectAttrs super {
   # need it during the build itself, too.
   cairo = addBuildTool super.cairo self.buildHaskellPackages.gtk2hs-buildtools;
   pango = disableHardening (addBuildTool super.pango self.buildHaskellPackages.gtk2hs-buildtools) ["fortify"];
+
+  spago =
+    let
+      # Spago basically compiles with LTS-14, but it requires a newer version
+      # of directory.  This is to work around a bug only present on windows, so
+      # we can safely jailbreak spago and use the older directory package from
+      # LTS-14.
+      spagoWithOverrides = doJailbreak (super.spago.override {
+        # spago requires the latest version of dhall.
+        directory = self.dhall_1_28_0;
+      });
+
+      docsSearchAppJsFile = pkgs.fetchurl {
+        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/docs-search-app.js";
+        sha256 = "11721x455qzh40vzfmralaynn9v8b5wix86r107hhs08vhryjib2";
+      };
+
+      purescriptDocsSearchFile = pkgs.fetchurl {
+        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/purescript-docs-search";
+        sha256 = "16p1fmdvpwz1yswav8qjsd26c9airb22xncqw1rjnbd8lcpqx0p5";
+      };
+
+      spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
+        postUnpack = (drv.postUnpack or "") + ''
+          # The source for spago is pulled directly from GitHub.  It uses a
+          # package.yaml file with hpack, not a .cabal file.  In the package.yaml file,
+          # it uses defaults from the master branch of the hspec repo.  It will try to
+          # fetch these at build-time (but it will fail if running in the sandbox).
+          #
+          # The following line modifies the package.yaml to not pull in
+          # defaults from the hspec repo.
+          substituteInPlace "$sourceRoot/package.yaml" --replace 'defaults: hspec/hspec@master' ""
+
+          # Spago includes the following two files directly into the binary
+          # with Template Haskell.  They are fetched at build-time from the
+          # `purescript-docs-search` repo above.  If they cannot be fetched at
+          # build-time, they are pulled in from the `templates/` directory in
+          # the spago source.
+          #
+          # However, they are not actually available in the spago source, so they
+          # need to fetched with nix and put in the correct place.
+          # https://github.com/spacchetti/spago/issues/510
+          cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js"
+          cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search"
+        '';
+      });
+
+      # Haddock generation is broken for spago.
+      # https://github.com/spacchetti/spago/issues/511
+      spagoWithoutHaddocks = dontHaddock spagoFixHpack;
+
+      # Because of the problem above with pulling in hspec defaults to the
+      # package.yaml file, the tests are disabled.
+      spagoWithoutChecks = dontCheck spagoWithoutHaddocks;
+    in
+    spagoWithoutChecks;
 }
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 0e66938e67d..8c09bd83891 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -756,18 +756,21 @@ self: {
      }) {};
 
   "AesonBson" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bson, hspec, HUnit, text
-     , unordered-containers, vector
+    ({ mkDerivation, aeson, attoparsec, base, bson, hspec, HUnit
+     , QuickCheck, scientific, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "AesonBson";
-       version = "0.2.2";
-       sha256 = "1p7636bjczcwwi2c0cdzvpj95vx2fr27qnmh8pcs8hqgmisagq8s";
+       version = "0.4.0";
+       sha256 = "08ffz1fr8x5z3ipvk99wc5n363ghxrq1z0cv1yh57wx18ialk1cx";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bson unordered-containers vector
+         aeson attoparsec base bson scientific text unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base bson hspec HUnit QuickCheck scientific text
        ];
-       testHaskellDepends = [ aeson base bson hspec HUnit text ];
        description = "Mapping between Aeson's JSON and Bson objects";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -1509,6 +1512,8 @@ self: {
        ];
        description = "Libary for Hidden Markov Models in HMMER3 format";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Biobase" = callPackage
@@ -1668,8 +1673,8 @@ self: {
      }:
      mkDerivation {
        pname = "BiobaseHTTP";
-       version = "1.1.0";
-       sha256 = "0y26d4aqxqpdr142y26p70v6cnrr48dhxm5nnnhqxg0lsirbxad0";
+       version = "1.2.0";
+       sha256 = "1m6lfs08zyk2xcxcmapcdfqp7afmzz3n2r3rr3qzlibwc6w7pj1d";
        libraryHaskellDepends = [
          aeson base BiobaseEnsembl bytestring conduit either-unwrap HTTP
          http-conduit hxt mtl network Taxonomy text transformers
@@ -8027,12 +8032,12 @@ self: {
      }) {};
 
   "HGL" = callPackage
-    ({ mkDerivation, array, base, X11 }:
+    ({ mkDerivation, array, base, stm, X11 }:
      mkDerivation {
        pname = "HGL";
-       version = "3.2.3.1";
-       sha256 = "0m9y2sdlbmw0n4xad26viajr391w0clpqw1256lanidwkrxfwpfh";
-       libraryHaskellDepends = [ array base X11 ];
+       version = "3.2.3.2";
+       sha256 = "087k8i0bha3mzpqa3z3c6npl5vmccg7xcwl28lbv0yzbvj1qkg38";
+       libraryHaskellDepends = [ array base stm X11 ];
        description = "A simple graphics library based on X11 or Win32";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -9229,6 +9234,42 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {};
 
+  "HTF_0_14_0_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base
+     , base64-bytestring, bytestring, Cabal, containers, cpphs, Diff
+     , directory, filepath, haskell-src, HUnit, lifted-base
+     , monad-control, mtl, old-time, pretty, process, QuickCheck, random
+     , regex-compat, template-haskell, temporary, text, time, unix
+     , unordered-containers, vector, xmlgen
+     }:
+     mkDerivation {
+       pname = "HTF";
+       version = "0.14.0.1";
+       sha256 = "025gcc77j547713bxm8y2i7xmq95nc4imyym6agmfrd7bh8h1jdb";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal process ];
+       libraryHaskellDepends = [
+         aeson array base base64-bytestring bytestring containers cpphs Diff
+         directory haskell-src HUnit lifted-base monad-control mtl old-time
+         pretty process QuickCheck random regex-compat text time unix vector
+         xmlgen
+       ];
+       libraryToolDepends = [ cpphs ];
+       executableHaskellDepends = [
+         array base cpphs directory HUnit mtl old-time random text
+       ];
+       executableToolDepends = [ cpphs ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring directory filepath HUnit mtl
+         process random regex-compat template-haskell temporary text
+         unordered-containers
+       ];
+       description = "The Haskell Test Framework";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "HTTP" = callPackage
     ({ mkDerivation, array, base, bytestring, deepseq, httpd-shed
      , HUnit, mtl, network, network-uri, parsec, pureMD5, split
@@ -12458,6 +12499,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ListLike_4_6_3" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , dlist, fmlist, HUnit, QuickCheck, random, text, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "ListLike";
+       version = "4.6.3";
+       sha256 = "10vn7gslx4zzjq547cwpzdfb4c5w3nsfis6qr03dr9c4fdzj61lx";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq dlist fmlist text
+         utf8-string vector
+       ];
+       testHaskellDepends = [
+         array base bytestring containers dlist fmlist HUnit QuickCheck
+         random text utf8-string vector
+       ];
+       description = "Generalized support for list-like structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ListT" = callPackage
     ({ mkDerivation, base, smallcheck, tasty, tasty-smallcheck
      , transformers, util
@@ -12887,14 +12950,16 @@ self: {
      }:
      mkDerivation {
        pname = "Map";
-       version = "0.1.3.0";
-       sha256 = "06i3lw329mvx7is5kb8hl2dz9dd0r8qh5g674ld006kbbk7p3jay";
+       version = "0.1.3.2";
+       sha256 = "03bc7mswiw5n76g34pll6dgz7f46l9gafl1bfanv74p21xjr829g";
        libraryHaskellDepends = [
          base containers either-both filtrable util
        ];
        testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
        description = "Class of key-value maps";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Mapping" = callPackage
@@ -13037,6 +13102,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "MemoTrie_0_6_10" = callPackage
+    ({ mkDerivation, base, newtype-generics }:
+     mkDerivation {
+       pname = "MemoTrie";
+       version = "0.6.10";
+       sha256 = "0lxsarhyhhkp58wpbp7b08scmjxq7s46jfl9vhp2yfq973hz0kaq";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base newtype-generics ];
+       description = "Trie-based memo functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "MetaHDBC" = callPackage
     ({ mkDerivation, base, convertible, hashtables, HDBC, HDBC-odbc
      , mtl, template-haskell
@@ -15066,6 +15145,8 @@ self: {
        pname = "PSQueue";
        version = "1.1.0.1";
        sha256 = "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza";
+       revision = "1";
+       editedCabalFile = "0pswr49mg0ww0w579w4qsv5hjgcnsswdi283lxk6cvxw3wafif07";
        libraryHaskellDepends = [ base ];
        description = "Priority Search Queue";
        license = stdenv.lib.licenses.bsd3;
@@ -16676,6 +16757,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Rasterific_0_7_5" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dlist, FontyFruity
+     , free, JuicyPixels, mtl, primitive, transformers, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "Rasterific";
+       version = "0.7.5";
+       sha256 = "158s0w95x0yxhffcccvhil827jmv7mmbh65nbg8qypvw9j4ldb9j";
+       libraryHaskellDepends = [
+         base bytestring containers dlist FontyFruity free JuicyPixels mtl
+         primitive transformers vector vector-algorithms
+       ];
+       description = "A pure haskell drawing engine";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ReadArgs" = callPackage
     ({ mkDerivation, base, hspec, system-filepath, text }:
      mkDerivation {
@@ -18549,8 +18648,8 @@ self: {
      }:
      mkDerivation {
        pname = "StockholmAlignment";
-       version = "1.1.2";
-       sha256 = "1x41m0xcmz9j4gypbl4pi6a6v53j6v37ndl8g5rq60fqfl18hizb";
+       version = "1.2.0";
+       sha256 = "0zz437d771cb4zpjzcddjl8xvz9qxmj1pyxql70lqczvqrk6k78y";
        libraryHaskellDepends = [
          base colour diagrams-cairo diagrams-lib directory either-unwrap
          filepath parsec ParsecTools SVGFonts text vector
@@ -19050,8 +19149,8 @@ self: {
      }:
      mkDerivation {
        pname = "Taxonomy";
-       version = "1.0.3";
-       sha256 = "0w4j1v2l7c8a8x0rpvq1gxbvjcw83kj84m5bw6bwx3x6gc997xxn";
+       version = "2.0.0";
+       sha256 = "1b2x0lkg5pgjk1jyanbi8g9rs1sr7llihyjhdfsg6fajklrzh3m9";
        libraryHaskellDepends = [
          aeson base bytestring either-unwrap fgl graphviz parsec text vector
        ];
@@ -20652,10 +20751,8 @@ self: {
     ({ mkDerivation, base, bytestring, deepseq, text, text-short }:
      mkDerivation {
        pname = "X";
-       version = "0.3.0.0";
-       sha256 = "0grjiznl8j44mq3m0jkhm9z7wcr4cywrnfmk92nk3g6ddhcyakkc";
-       revision = "1";
-       editedCabalFile = "1nbp0zci2sp07cr5j5xlh7gswcnj52z9dp6akh9xk4mzk3salxwq";
+       version = "0.3.1.0";
+       sha256 = "10paczbaiwag50v8ay9pl0f6whqds6y0yy14z0h8s6j04p9zd50f";
        libraryHaskellDepends = [
          base bytestring deepseq text text-short
        ];
@@ -22652,8 +22749,8 @@ self: {
     ({ mkDerivation, base, criterion, time }:
      mkDerivation {
        pname = "acme-year";
-       version = "2016";
-       sha256 = "1zvhy62hrc47idl1awbdjzrhbhqjplsfy7lpybvdhc298criygdl";
+       version = "2019";
+       sha256 = "011vpap3j0riw6y23j8c4h7610yhjq00jpcfjg2g7lagb62gmkpa";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base time ];
        benchmarkHaskellDepends = [ base criterion ];
@@ -23109,21 +23206,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "advent-of-code-api_0_2_2_0" = callPackage
+  "advent-of-code-api_0_2_7_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, deepseq
      , directory, filepath, finite-typelits, http-api-data, http-client
-     , http-client-tls, http-media, HUnit, megaparsec, mtl, servant
-     , servant-client, servant-client-core, stm, tagsoup, text, time
+     , http-client-tls, http-media, HUnit, megaparsec, mtl, profunctors
+     , servant, servant-client, servant-client-core, stm, tagsoup, text
+     , time, time-compat
      }:
      mkDerivation {
        pname = "advent-of-code-api";
-       version = "0.2.2.0";
-       sha256 = "1r06kb8l6h4hm4r1f7prch3px0zigdcp8vrzi1x0qw6g1wj4zii0";
+       version = "0.2.7.0";
+       sha256 = "0a1h2kwmfnhs1sj7wmnc4hgfwq45d8xl2ah0s6432k13v8lfpxwr";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory filepath
          finite-typelits http-api-data http-client http-client-tls
-         http-media megaparsec mtl servant servant-client
-         servant-client-core stm tagsoup text time
+         http-media megaparsec mtl profunctors servant servant-client
+         servant-client-core stm tagsoup text time time-compat
        ];
        testHaskellDepends = [ base directory filepath HUnit text ];
        description = "Advent of Code REST API bindings and servant API";
@@ -23216,38 +23314,6 @@ self: {
      }:
      mkDerivation {
        pname = "aeson";
-       version = "1.4.5.0";
-       sha256 = "1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz";
-       libraryHaskellDepends = [
-         attoparsec base base-compat bytestring containers deepseq dlist
-         ghc-prim hashable primitive scientific tagged template-haskell text
-         th-abstraction time time-compat unordered-containers uuid-types
-         vector
-       ];
-       testHaskellDepends = [
-         attoparsec base base-compat base-orphans base16-bytestring
-         bytestring containers Diff directory dlist filepath
-         generic-deriving ghc-prim hashable hashable-time integer-logarithms
-         QuickCheck quickcheck-instances scientific tagged tasty
-         tasty-golden tasty-hunit tasty-quickcheck template-haskell text
-         time time-compat unordered-containers uuid-types vector
-       ];
-       description = "Fast JSON parsing and encoding";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "aeson_1_4_6_0" = callPackage
-    ({ mkDerivation, attoparsec, base, base-compat, base-orphans
-     , base16-bytestring, bytestring, containers, deepseq, Diff
-     , directory, dlist, filepath, generic-deriving, ghc-prim, hashable
-     , hashable-time, integer-logarithms, primitive, QuickCheck
-     , quickcheck-instances, scientific, tagged, tasty, tasty-golden
-     , tasty-hunit, tasty-quickcheck, template-haskell, text
-     , th-abstraction, time, time-compat, unordered-containers
-     , uuid-types, vector
-     }:
-     mkDerivation {
-       pname = "aeson";
        version = "1.4.6.0";
        sha256 = "12s8nfsady47zlz94f7m978irwwj0l0v2x41hk8w1i14wb3b4gwj";
        libraryHaskellDepends = [
@@ -23266,7 +23332,6 @@ self: {
        ];
        description = "Fast JSON parsing and encoding";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-applicative" = callPackage
@@ -24063,8 +24128,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-yaml";
-       version = "1.0.4.0";
-       sha256 = "0r42pc7k1bxdwkhcmli9rngymdfk9a84jzkh36scf3gm4fnxlvbs";
+       version = "1.0.5.0";
+       sha256 = "0cx54xqv2w4lcnnmcwapbizxjzxaf0x2xbr7lbhcy380nx99pi73";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -24811,16 +24876,21 @@ self: {
      }) {};
 
   "alex-tools" = callPackage
-    ({ mkDerivation, base, deepseq, template-haskell, text }:
+    ({ mkDerivation, base, bytestring, deepseq, template-haskell, text
+     }:
      mkDerivation {
        pname = "alex-tools";
-       version = "0.4";
-       sha256 = "0qyh3dr5nh7whv3qh431l8x4lx3nzkildlyl3xgnaxpbs8gr8sgi";
-       revision = "2";
-       editedCabalFile = "1hz7gdff15bxvx5jijgh6ih1m2v39nadfy2yjsb43c48p9hcn93z";
-       libraryHaskellDepends = [ base deepseq template-haskell text ];
+       version = "0.5";
+       sha256 = "06ghkigqabz9h17wjpc3jwv1f4k6fajpzblzvysqzg71pfncx88m";
+       revision = "1";
+       editedCabalFile = "0br92hrl0pxw2a5k9wgzk3zwyz2dimcwwjxijgzrd2yg0s1vnm9p";
+       libraryHaskellDepends = [
+         base bytestring deepseq template-haskell text
+       ];
        description = "A set of functions for a common use case of Alex";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "alfred" = callPackage
@@ -25516,6 +25586,22 @@ self: {
        broken = true;
      }) {};
 
+  "altsvc" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "altsvc";
+       version = "0.1.0.0";
+       sha256 = "0lgfj02ryc3130ymrkw179j311df2cj0ry9w32mvd77mwx48396c";
+       libraryHaskellDepends = [ base bytestring cereal ];
+       testHaskellDepends = [
+         base bytestring cereal tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "HTTP Alternative Services";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "alure" = callPackage
     ({ mkDerivation, alure, base, OpenAL }:
      mkDerivation {
@@ -28138,8 +28224,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp-utils";
-       version = "0.4.0.0";
-       sha256 = "0x56yif31bkf01993xh7qvd775c9k8sc6db0ghg8yd10l9fnr92c";
+       version = "0.4.0.1";
+       sha256 = "1xym969csbq08alvvvvwikcl4qg733x1sp13qn4p0xj2kkfayhzf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -28687,10 +28773,8 @@ self: {
      }:
      mkDerivation {
        pname = "ansi-pretty";
-       version = "0.1.2.1";
-       sha256 = "1ill2dlzbxn97smkzdqcjfx9z3fw7pgwvz6w36d92n8p7zwik23h";
-       revision = "6";
-       editedCabalFile = "1j2iyzf61wmwdrb8i3xynins7shjv89y4028sy13rfywsbqpjg4s";
+       version = "0.1.2.2";
+       sha256 = "0q72y2pnx5qx7jk1waq3qdry1azq07wygb9hcgjqz78lbszg19cm";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers generics-sop
          nats scientific semigroups tagged text time unordered-containers
@@ -28713,12 +28797,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ansi-terminal_0_10_1" = callPackage
+  "ansi-terminal_0_10_2" = callPackage
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.10.1";
-       sha256 = "1b168z688b1lg4d2bmbxmm2mj51mwm2wv0smfb1vcwjp2vzpqf9i";
+       version = "0.10.2";
+       sha256 = "0h09lia7gqchp023hbgwq4w8bmg33a02chaixdsx8nqbj8jf5558";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base colour ];
@@ -28734,8 +28818,8 @@ self: {
      }:
      mkDerivation {
        pname = "ansi-terminal-game";
-       version = "0.6.0.0";
-       sha256 = "117j5s87pw1cmh9klzcc3jcc3hvynsrwknkqys8lqlhp2xkvha5y";
+       version = "0.7.2.0";
+       sha256 = "041xw7kq620ydnbdawmsdb65021p2534f9725qddv1i0pcwdn274";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -29614,6 +29698,8 @@ self: {
        testHaskellDepends = [ base bytestring ];
        description = "RPC API client for Factom";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "api-rpc-pegnet" = callPackage
@@ -30589,8 +30675,8 @@ self: {
      }:
      mkDerivation {
        pname = "arbor-monad-metric-datadog";
-       version = "1.1.1";
-       sha256 = "1188xwwxx7ykdh7v15gqnh0kv9w1g66wp09jp1fpfyms1qj12nqj";
+       version = "1.1.2";
+       sha256 = "1wja13n9k2vad0icqsm8lydrxkgb01062ajm3y1xq7fybn5g6rbx";
        libraryHaskellDepends = [
          arbor-datadog arbor-monad-metric base bytestring containers
          generic-lens lens mtl network resourcet stm text transformers
@@ -31406,6 +31492,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell bindings to the ArrayFire general-purpose GPU library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {af = null;};
 
   "arraylist" = callPackage
@@ -32829,8 +32917,8 @@ self: {
      }:
      mkDerivation {
        pname = "atomic-write";
-       version = "0.2.0.6";
-       sha256 = "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl";
+       version = "0.2.0.7";
+       sha256 = "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm";
        libraryHaskellDepends = [
          base bytestring directory filepath temporary text unix-compat
        ];
@@ -32898,19 +32986,19 @@ self: {
 
   "ats-format" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, Cabal, cli-setup, directory
-     , file-embed, filepath, language-ats, optparse-applicative, process
-     , text, toml-parser
+     , filepath, language-ats, optparse-applicative, process, text
+     , toml-parser
      }:
      mkDerivation {
        pname = "ats-format";
-       version = "0.2.0.34";
-       sha256 = "146l1zlm4jc83v8rs3ci9j53x2gsvpdb2wjx06d4zg1h2ri8064i";
+       version = "0.2.0.36";
+       sha256 = "1a7mfpqc09lfk1pp237f2wrizgm2c1indgjdi810599ns19hicd2";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup filepath ];
        executableHaskellDepends = [
-         ansi-wl-pprint base directory file-embed language-ats
-         optparse-applicative process text toml-parser
+         ansi-wl-pprint base directory language-ats optparse-applicative
+         process text toml-parser
        ];
        description = "A source-code formatter for ATS";
        license = stdenv.lib.licenses.bsd3;
@@ -32929,8 +33017,8 @@ self: {
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.3.0.7";
-       sha256 = "15xr1g3ivmfnwmbrh2ga75vppyv1qk6zcx556f69jxx1ab492zyq";
+       version = "3.4.0.1";
+       sha256 = "0lfmlsnxa7fvifqay4xvnkl8cpbx7a6vbfb0szvb5j0nfa8607n6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -33574,21 +33662,18 @@ self: {
 
   "authenticate" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
-     , case-insensitive, conduit, containers, http-conduit, http-types
-     , network-uri, resourcet, tagstream-conduit, text, transformers
+     , case-insensitive, conduit, containers, html-conduit, http-conduit
+     , http-types, network-uri, resourcet, text, transformers
      , unordered-containers, xml-conduit
      }:
      mkDerivation {
        pname = "authenticate";
-       version = "1.3.4";
-       sha256 = "1f1gjggfq114h3nrlzg2svm0j5ghp6n9zlgb3fnq2pgpzpdndm9z";
-       revision = "1";
-       editedCabalFile = "0ipbmf633c0kmcwwb7d51ac8s4220nfyk5xghhq66mpgna77j2c2";
+       version = "1.3.5";
+       sha256 = "10df40ycd4r45p58xzdh0vcsa401909fa99nkgd18fx5alqh84sz";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring case-insensitive
-         conduit containers http-conduit http-types network-uri resourcet
-         tagstream-conduit text transformers unordered-containers
-         xml-conduit
+         conduit containers html-conduit http-conduit http-types network-uri
+         resourcet text transformers unordered-containers xml-conduit
        ];
        description = "Authentication methods for Haskell web applications";
        license = stdenv.lib.licenses.mit;
@@ -34587,8 +34672,8 @@ self: {
      }:
      mkDerivation {
        pname = "aws-lambda-haskell-runtime";
-       version = "2.0.1";
-       sha256 = "0q8x5zqxql403wm9ndii42lac8737i0qhd7p7nsy3i2sswfr5gry";
+       version = "2.0.2";
+       sha256 = "11pkvq3d5w56bsqdha9cfsbqw0rhfda9bh7zipik1b0lc3mk8p0a";
        libraryHaskellDepends = [
          aeson base bytestring http-client http-types path path-io
          safe-exceptions-checked template-haskell text
@@ -36092,8 +36177,8 @@ self: {
        pname = "base62";
        version = "0.1.0.0";
        sha256 = "1ns8hr9xjmrlq5lgi47630gpn8xdglk33ncqw4kjvdrb1x90iz0p";
-       revision = "1";
-       editedCabalFile = "13n150czdd97hrpjnrkd0wcg7ch9d5zvqlv38n61pjcds6dvvdsy";
+       revision = "2";
+       editedCabalFile = "0i1ipcawbnjf0mjdva4q8s2kw4hd4lfnygmvc81sjxd9crlwy4vm";
        libraryHaskellDepends = [
          base byteslice natural-arithmetic primitive small-bytearray-builder
          wide-word
@@ -37701,6 +37786,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bifunctors_5_5_6" = callPackage
+    ({ mkDerivation, base, base-orphans, comonad, containers, hspec
+     , hspec-discover, QuickCheck, tagged, template-haskell
+     , th-abstraction, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "bifunctors";
+       version = "5.5.6";
+       sha256 = "1jnsnc0rj3vkx8rjwsf2aacla9xzdfy1am9mmjk8crxp2gkazcnc";
+       libraryHaskellDepends = [
+         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 {
@@ -39793,6 +39901,8 @@ self: {
        ];
        description = "Plays chess";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "bit-array" = callPackage
@@ -41743,15 +41853,16 @@ self: {
 
   "bond" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
-     , cmdargs, derive, Diff, directory, filepath, HUnit, megaparsec
-     , monad-loops, mtl, pretty, process, QuickCheck, scientific
-     , shakespeare, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
-     , text, unordered-containers
+     , cmdargs, Diff, directory, filepath, HUnit, megaparsec
+     , monad-loops, mtl, pretty, process, QuickCheck
+     , quickcheck-arbitrary-template, scientific, shakespeare, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "bond";
-       version = "0.11.0.3";
-       sha256 = "1zarrlhcp8q1impikmqsz8mnaxi8l8b4nl02qp8xm6y6gpbyhaqj";
+       version = "0.12.0.1";
+       sha256 = "0zhfhr1ya0ljvg5s0s6fpqyrb0f25qdkschblfcmf68c6xmy4ws0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41760,12 +41871,14 @@ self: {
        ];
        executableHaskellDepends = [
          aeson async base bytestring cmdargs directory filepath megaparsec
-         monad-loops process text
+         monad-loops mtl process scientific shakespeare text
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson aeson-pretty base bytestring cmdargs derive Diff directory
-         filepath HUnit megaparsec monad-loops pretty QuickCheck shakespeare
-         tasty tasty-golden tasty-hunit tasty-quickcheck text
+         aeson aeson-pretty base bytestring cmdargs Diff directory filepath
+         HUnit megaparsec monad-loops mtl pretty QuickCheck
+         quickcheck-arbitrary-template scientific shakespeare tasty
+         tasty-golden tasty-hunit tasty-quickcheck text unordered-containers
        ];
        description = "Bond schema compiler and code generator";
        license = stdenv.lib.licenses.mit;
@@ -41968,6 +42081,24 @@ self: {
        broken = true;
      }) {};
 
+  "boolean-normal-forms_0_0_1_1" = callPackage
+    ({ mkDerivation, base, cond, containers, deepseq, QuickCheck, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "boolean-normal-forms";
+       version = "0.0.1.1";
+       sha256 = "0zsll476c7g5syfz54kwcb4d2chh9q6gh0f42847n3ja1d64gaar";
+       libraryHaskellDepends = [ base cond containers deepseq ];
+       testHaskellDepends = [
+         base cond containers QuickCheck tasty tasty-quickcheck
+       ];
+       description = "Boolean normal form: NNF, DNF & CNF";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "boolector" = callPackage
     ({ mkDerivation, base, boolector, c2hs, containers, directory, mtl
      , temporary, time
@@ -42064,8 +42195,8 @@ self: {
     ({ mkDerivation, base, mtl, semigroups, template-haskell, text }:
      mkDerivation {
        pname = "boomerang";
-       version = "1.4.5.6";
-       sha256 = "0zkr9w9qqrcicdm6r928a1z1svspnx6vh0b9mac4q7cd1h021ph3";
+       version = "1.4.5.7";
+       sha256 = "11ycghpgngnw0ks47h3wmp0xdfl3qw1wnwdil1vmr1b5a4gngzi1";
        libraryHaskellDepends = [
          base mtl semigroups template-haskell text
        ];
@@ -42732,7 +42863,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "brick_0_50" = callPackage
+  "brick_0_50_1" = callPackage
     ({ mkDerivation, base, bytestring, config-ini, containers
      , contravariant, data-clist, deepseq, directory, dlist, filepath
      , microlens, microlens-mtl, microlens-th, QuickCheck, stm
@@ -42741,10 +42872,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.50";
-       sha256 = "0g2c420zpvjv8v3y5l4jhmml279d920k9d92yga8d86jymanbvy9";
-       revision = "1";
-       editedCabalFile = "0sknkg4fkmxs78ysk76xhrz5mixndazxnmw7ss1j560z8z368ry0";
+       version = "0.50.1";
+       sha256 = "0wv69pbs4xqfdqw9ag32fhqhmh8djxb14h8jpyblmykirlznx77y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -43007,16 +43136,14 @@ self: {
      }) {};
 
   "broadcast-chan" = callPackage
-    ({ mkDerivation, async, base, criterion, deepseq, stm
+    ({ mkDerivation, async, base, criterion, deepseq, stm, transformers
      , unliftio-core
      }:
      mkDerivation {
        pname = "broadcast-chan";
-       version = "0.2.0.2";
-       sha256 = "12ax37y9i3cs8wifz01lpq0awm9c235l5xkybf13ywvyk5svb0jv";
-       revision = "1";
-       editedCabalFile = "1sgifhdf9l8zkc0dddnkfy8f1bkry061vm67iich489fi8nlhfjn";
-       libraryHaskellDepends = [ base unliftio-core ];
+       version = "0.2.1";
+       sha256 = "1pigxkncv71p51qnhxkag6hry14jp5s2skmxxbq2pmlrkj9j6rgs";
+       libraryHaskellDepends = [ base transformers unliftio-core ];
        benchmarkHaskellDepends = [ async base criterion deepseq stm ];
        description = "Closable, fair, single-wakeup channel type that avoids 0 reader space leaks";
        license = stdenv.lib.licenses.bsd3;
@@ -43028,8 +43155,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-conduit";
-       version = "0.2.0.2";
-       sha256 = "1xnf1ibgnzi4xbmfgrkkfg3pkig7v8vv0xpfhhcdmnybwm2yhlli";
+       version = "0.2.1";
+       sha256 = "1n9hqmdyw3v58kv8czbvvw5sfy4il3izqvn6rk8gak84hb51brxq";
        libraryHaskellDepends = [
          base broadcast-chan conduit resourcet transformers unliftio-core
        ];
@@ -43048,8 +43175,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-pipes";
-       version = "0.2.0.2";
-       sha256 = "1brr0vjrsd53qji8pmns003m3k1s28hvr2w8875hv2fznmm8x1g7";
+       version = "0.2.1";
+       sha256 = "0yifpd97cihagflmh0xs0wcl541k89hick4h9hh8zrah72g71fqr";
        libraryHaskellDepends = [ base broadcast-chan pipes pipes-safe ];
        testHaskellDepends = [
          base broadcast-chan-tests containers foldl pipes pipes-safe
@@ -43068,10 +43195,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-tests";
-       version = "0.2.0.2";
-       sha256 = "1m7m06pd9vfvz0rfnylpr6pjvizxv31qizri3a400rkz3zanhkym";
-       revision = "2";
-       editedCabalFile = "0mfld36ppfyhx2w9a99gxa8qxnik0mnznl7bvqhbbaf1ayinhx91";
+       version = "0.2.1";
+       sha256 = "01vlhxxwhkakllffw7vdqr7fcsf9m7rkwkbs8x6d5dfwb5qxs6gk";
        libraryHaskellDepends = [
          async base broadcast-chan clock containers optparse-applicative
          paramtree stm tagged tasty tasty-golden tasty-hunit tasty-travis
@@ -43273,8 +43398,8 @@ self: {
        pname = "bsb-http-chunked";
        version = "0.0.0.4";
        sha256 = "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql";
-       revision = "1";
-       editedCabalFile = "07k9422yaw7rz66awmc20ni17xw2bd1pn48ja79c66d5va89f6wz";
+       revision = "2";
+       editedCabalFile = "0bz62lxdbnwkfr1d4ngm8xi4y1ndpdflbv71s6h43vp5lbd546hr";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          attoparsec base blaze-builder bytestring doctest hedgehog tasty
@@ -43589,6 +43714,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "buffet" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava
+     , containers, directory, filepath, language-docker, mustache
+     , optparse-applicative, parsec, random, split, tasty, tasty-hunit
+     , text, typed-process, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "buffet";
+       version = "0.3.0";
+       sha256 = "1dsnbx148yrqikqx9qfxivz52szlqaah7q6dg80m87g997x428m7";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring cassava containers directory
+         filepath language-docker mustache optparse-applicative parsec
+         random split text typed-process unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath tasty tasty-hunit text
+         typed-process unordered-containers vector yaml
+       ];
+       doHaddock = false;
+       description = "Assembles many Dockerfiles in one";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "buffon" = callPackage
     ({ mkDerivation, base, monad-primitive, mwc-random
      , mwc-random-monad, primitive, transformers
@@ -43885,8 +44039,8 @@ self: {
      }:
      mkDerivation {
        pname = "bulmex";
-       version = "2.1.0";
-       sha256 = "0awdbwh9s5wdj05fnkzr7dpp2riipv9rlvknrcxf4dpxp9c72n1g";
+       version = "4.0.0";
+       sha256 = "0892prpi8hf8mkwr6n9228bfyji0wgdz9hyh619k20f6xim13ysc";
        libraryHaskellDepends = [
          aeson base bytestring containers generic-lens jsaddle jsaddle-dom
          keycode lens network-uri reflex reflex-dom-core reflex-dom-helpers
@@ -44396,6 +44550,8 @@ self: {
        pname = "bytesmith";
        version = "0.3.1.0";
        sha256 = "1wkwxb9ygc6hii90jr7cjbv4s5d0l4wv0197p9jn4lj7h4i79iqd";
+       revision = "1";
+       editedCabalFile = "13maddwkl9ajczvnrsnsa9f7w20fzq8il09xh9lqhwyrz9yak4ii";
        libraryHaskellDepends = [
          base byteslice bytestring contiguous primitive run-st text-short
          wide-word
@@ -44848,6 +45004,8 @@ self: {
        pname = "bytestring-trie";
        version = "0.2.5.0";
        sha256 = "1jpynpyarikxhlc4ifdswvkj0ph9fd5d0vcxhjv0lrv0zwqvv488";
+       revision = "1";
+       editedCabalFile = "1qpv52ywp8r30s3m9qyjiqiwa6clg3zp095yhs2d4533amprryly";
        libraryHaskellDepends = [ base binary bytestring ];
        description = "An efficient finite map from (byte)strings to values";
        license = stdenv.lib.licenses.bsd3;
@@ -45294,8 +45452,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-cache";
-       version = "1.0.1.2";
-       sha256 = "10njmjlg20rcn223581q013cdmmr2q5x1w62wz7gjq32n6l9fv4r";
+       version = "1.0.1.3";
+       sha256 = "03x5p2yz6vdrhl8dnmgc7phbsmrg7x51syg41i2hjcw9bm2js8wg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45623,6 +45781,8 @@ self: {
        doCheck = false;
        description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal-info" = callPackage
@@ -45740,6 +45900,32 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-install-parsers" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring
+     , binary, binary-instances, bytestring, Cabal, containers
+     , cryptohash-sha256, directory, filepath, lukko, network-uri
+     , parsec, pretty, tar, tasty, tasty-golden, tasty-hunit, text, time
+     , transformers, tree-diff
+     }:
+     mkDerivation {
+       pname = "cabal-install-parsers";
+       version = "0.2";
+       sha256 = "14bfiw8ddfm323a8870wazdb6rlyq52ykrhhm24vd2lxg61sn4aa";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring binary binary-instances bytestring
+         Cabal containers cryptohash-sha256 directory filepath lukko
+         network-uri parsec pretty tar text time transformers
+       ];
+       testHaskellDepends = [
+         ansi-terminal base bytestring Cabal containers directory filepath
+         tasty tasty-golden tasty-hunit tree-diff
+       ];
+       description = "Utilities to work with cabal-install files";
+       license = "GPL-2.0-or-later AND BSD-3-Clause";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-lenses" = callPackage
     ({ mkDerivation, base, Cabal, lens, strict, system-fileio
      , system-filepath, text, transformers, unordered-containers
@@ -45846,18 +46032,16 @@ self: {
      }) {};
 
   "cabal-plan" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base-compat
+    ({ mkDerivation, aeson, ansi-terminal, async, base, base-compat
      , base16-bytestring, bytestring, containers, directory, filepath
-     , mtl, optics-core, optparse-applicative, parsec, process-extras
+     , mtl, optics-core, optparse-applicative, parsec, process
      , semialign, singleton-bool, text, these, topograph, transformers
      , vector
      }:
      mkDerivation {
        pname = "cabal-plan";
-       version = "0.6.1.0";
-       sha256 = "0jb50a45aky1jljl6g84h61wrirk6gh5pwk0m0pkhd1q7zj58jgi";
-       revision = "1";
-       editedCabalFile = "02krq0ibb4q2ypj7cp8yclc175a2hlaa9x5x3j3i8wjkf8pyyvx1";
+       version = "0.6.2.0";
+       sha256 = "0gwbyyj4xih9barg2c589v6z82s0gx98airs6icivg301khg9fzg";
        configureFlags = [ "-fexe" ];
        isLibrary = true;
        isExecutable = true;
@@ -45866,9 +46050,9 @@ self: {
          filepath text
        ];
        executableHaskellDepends = [
-         ansi-terminal base base-compat bytestring containers directory mtl
-         optics-core optparse-applicative parsec process-extras semialign
-         singleton-bool text these topograph transformers vector
+         ansi-terminal async base base-compat bytestring containers
+         directory mtl optics-core optparse-applicative parsec process
+         semialign singleton-bool text these topograph transformers vector
        ];
        description = "Library and utility for processing cabal's plan.json file";
        license = stdenv.lib.licenses.gpl2Plus;
@@ -46937,6 +47121,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "calenderweek" = callPackage
+    ({ mkDerivation, base, megaparsec, optparse-generic, text, time }:
+     mkDerivation {
+       pname = "calenderweek";
+       version = "1.0.0";
+       sha256 = "10lv7c74jrw8v06vaz8assgqlvrk0spn08sw0nvzz1q0x0zbbwff";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base megaparsec optparse-generic text time
+       ];
+       description = "Commandline tool to get week of the year";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "call" = callPackage
     ({ mkDerivation, base, bindings-portaudio, boundingboxes, colors
      , containers, control-bool, deepseq, directory, filepath, free
@@ -46982,6 +47183,8 @@ self: {
        ];
        description = "A simple library to call Alloy given a specification";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "call-haskell-from-anything" = callPackage
@@ -47292,8 +47495,8 @@ self: {
        pname = "cantor-pairing";
        version = "0.1.1.0";
        sha256 = "03vl7qd5962kr0mi4ymgmh667948rzqiq9f1ixcvycyjz8hz0yqw";
-       revision = "2";
-       editedCabalFile = "0vl4b3v7qzbsd93vb0flyd6xkpayji49il97d2a6v35cliph5yw2";
+       revision = "3";
+       editedCabalFile = "0rcjz2r4l4crxxda3hjpi5kkxrh4pgdrcbw29bj5w9a4jph0d0ld";
        libraryHaskellDepends = [
          arithmoi base containers integer-gmp integer-logarithms
        ];
@@ -48204,24 +48407,6 @@ self: {
      }:
      mkDerivation {
        pname = "cassava-megaparsec";
-       version = "2.0.0";
-       sha256 = "0jwhvgfkgxpxp6cci9ahp3kryr4vaxbpqgjzf8ylr2592dm2irnf";
-       libraryHaskellDepends = [
-         base bytestring cassava megaparsec unordered-containers vector
-       ];
-       testHaskellDepends = [
-         base bytestring cassava hspec hspec-megaparsec vector
-       ];
-       description = "Megaparsec parser of CSV files that plays nicely with Cassava";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "cassava-megaparsec_2_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, cassava, hspec, hspec-megaparsec
-     , megaparsec, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "cassava-megaparsec";
        version = "2.0.1";
        sha256 = "0q4skw98nzy6icmgpwqvgw0c5pqcgi25rf7nmwh2pksvv94pi3p3";
        libraryHaskellDepends = [
@@ -48232,7 +48417,6 @@ self: {
        ];
        description = "Megaparsec parser of CSV files that plays nicely with Cassava";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cassava-records" = callPackage
@@ -50558,8 +50742,8 @@ self: {
      }:
      mkDerivation {
        pname = "chronos";
-       version = "1.0.8";
-       sha256 = "08lxf5f40nhqpxx7f75d3lp5xyjmh3gk1hljm4iq7p8mm22nl2fn";
+       version = "1.0.9";
+       sha256 = "103vwpdjqk1csw8famc62ba5ck9s6yd8w5hfa6a0qj3bx9vmf9qv";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock hashable primitive
          semigroups text torsor vector
@@ -50576,20 +50760,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "chronos_1_0_9" = 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
+  "chronos_1_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, 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.9";
-       sha256 = "103vwpdjqk1csw8famc62ba5ck9s6yd8w5hfa6a0qj3bx9vmf9qv";
+       version = "1.1";
+       sha256 = "0g41hchir6rxfnd8halg49y80pc9dr38k7b7cik18gqdasswwg6c";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring clock hashable primitive
-         semigroups text torsor vector
+         aeson attoparsec base bytestring hashable primitive semigroups text
+         torsor vector
        ];
        testHaskellDepends = [
          attoparsec base bytestring doctest HUnit QuickCheck test-framework
@@ -51855,8 +52038,23 @@ self: {
     ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
      mkDerivation {
        pname = "clay";
-       version = "0.13.1";
-       sha256 = "18r8lgzyscxnw6xdxg0jxvp2977i02fjh3n5p89fnd8qrh0r2kl4";
+       version = "0.13.2";
+       sha256 = "1jxwq159hcc55ijga18zdlqr3ga1flilymq96hqpizb4khpq7y6j";
+       libraryHaskellDepends = [ base mtl text ];
+       testHaskellDepends = [ base hspec hspec-discover mtl text ];
+       testToolDepends = [ hspec-discover ];
+       description = "CSS preprocessor as embedded Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "clay_0_13_3" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
+     mkDerivation {
+       pname = "clay";
+       version = "0.13.3";
+       sha256 = "192lsbyj6azjs2ygpx4i47fyr8zfmvwcas8mia07ndqglk2c9csx";
        libraryHaskellDepends = [ base mtl text ];
        testHaskellDepends = [ base hspec hspec-discover mtl text ];
        testToolDepends = [ hspec-discover ];
@@ -52264,8 +52462,8 @@ self: {
      }:
      mkDerivation {
        pname = "cli-setup";
-       version = "0.2.1.0";
-       sha256 = "010rra96lw9qkqm2jvnjxzb6q7xmg8drxaiywbmpb93slrb56r6n";
+       version = "0.2.1.2";
+       sha256 = "0fh9lp8r73mslhwxcjpfzvm0j0qbq0prr4bkkwq2v16izg14ccda";
        libraryHaskellDepends = [
          base bytestring directory file-embed process
        ];
@@ -52723,13 +52921,15 @@ self: {
      }:
      mkDerivation {
        pname = "cloudi";
-       version = "1.7.5";
-       sha256 = "08cklswxmd7x0zxkkrlwh1qy57jbqp0dv3x57xskxpmwyhws2vgs";
+       version = "1.8.0";
+       sha256 = "0j98dbyhc845y26abyp8sdcajpxvpsjcqrmcls4jnb4bhnz21jkc";
        libraryHaskellDepends = [
          array base binary bytestring containers network time unix zlib
        ];
        description = "Haskell CloudI API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cloudyfs" = callPackage
@@ -53037,23 +53237,6 @@ self: {
      }:
      mkDerivation {
        pname = "cmark-gfm";
-       version = "0.2.0";
-       sha256 = "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq";
-       libraryHaskellDepends = [ base bytestring text ];
-       testHaskellDepends = [ base HUnit text ];
-       benchmarkHaskellDepends = [
-         base blaze-html cheapskate criterion discount markdown sundown text
-       ];
-       description = "Fast, accurate GitHub Flavored Markdown parser and renderer";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cmark-gfm_0_2_1" = callPackage
-    ({ mkDerivation, base, blaze-html, bytestring, cheapskate
-     , criterion, discount, HUnit, markdown, sundown, text
-     }:
-     mkDerivation {
-       pname = "cmark-gfm";
        version = "0.2.1";
        sha256 = "1qbhcirg7a0r68l3ifq8q9clnkai5hyhk62jb232bjplrl6y4c23";
        libraryHaskellDepends = [ base bytestring text ];
@@ -53063,7 +53246,6 @@ self: {
        ];
        description = "Fast, accurate GitHub Flavored Markdown parser and renderer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cmark-highlight" = callPackage
@@ -53258,6 +53440,18 @@ self: {
        broken = true;
      }) {};
 
+  "cmf" = callPackage
+    ({ mkDerivation, base, containers, hedgehog }:
+     mkDerivation {
+       pname = "cmf";
+       version = "0.1";
+       sha256 = "16d83x6qggifljm7n8sqlawy79iz7lkrb6vknrr825wa0zg1bc49";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base containers hedgehog ];
+       description = "(C)oncurrent (M)onoidal (F)olds";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "cml" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -53552,46 +53746,52 @@ self: {
 
   "cobot-io" = callPackage
     ({ mkDerivation, array, attoparsec, base, binary, bytestring
-     , containers, data-msgpack, deepseq, hspec, http-conduit, hyraxAbif
-     , lens, linear, mtl, neat-interpolation, QuickCheck, split, text
-     , vector
+     , containers, data-msgpack, deepseq, directory, hspec, http-conduit
+     , hyraxAbif, lens, linear, mtl, neat-interpolation, QuickCheck
+     , split, text, vector
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.2.0";
-       sha256 = "0md5sd67sd3wl7p9z6904pbswlkkzlclrgj7lc3a2qpq6ky7w1ik";
+       version = "0.1.2.1";
+       sha256 = "17rl3xbap3fgn2bg0iykysxaff1rakr8fq759hl7pmx3qnr8xz12";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
          deepseq http-conduit hyraxAbif lens linear mtl split text vector
        ];
        testHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
-         deepseq hspec http-conduit hyraxAbif lens linear mtl
+         deepseq directory hspec http-conduit hyraxAbif lens linear mtl
          neat-interpolation QuickCheck split text vector
        ];
        description = "Biological data file formats and IO";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cobot-tools" = callPackage
-    ({ mkDerivation, array, base, cobot, containers, data-msgpack
-     , deepseq, hspec, lens, mtl, neat-interpolation, QuickCheck, RNA
-     , text
+    ({ mkDerivation, array, base, bytestring, cobot, containers
+     , data-default, data-msgpack, deepseq, hspec, lens, mtl
+     , neat-interpolation, QuickCheck, random, regex-tdfa, RNA, text
      }:
      mkDerivation {
        pname = "cobot-tools";
-       version = "0.1.0.1";
-       sha256 = "0jlfz2jf8vphaxg3wn9bhzzjp5ldnpiyf420fz7waadi6bfi7q75";
+       version = "0.1.2.0";
+       sha256 = "1spivkpb7ql8k17im175i4ijg4bi8d24a6q1ijwfkq4nnrbssg6q";
        libraryHaskellDepends = [
-         array base cobot containers data-msgpack deepseq lens mtl text
+         array base bytestring cobot containers data-default data-msgpack
+         deepseq lens mtl regex-tdfa text
        ];
        librarySystemDepends = [ RNA ];
        testHaskellDepends = [
-         array base cobot containers data-msgpack deepseq hspec lens mtl
-         neat-interpolation QuickCheck text
+         array base bytestring cobot containers data-default data-msgpack
+         deepseq hspec lens mtl neat-interpolation QuickCheck random
+         regex-tdfa text
        ];
        description = "Biological data file formats and IO";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {RNA = null;};
 
   "code-builder" = callPackage
@@ -54995,6 +55195,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "comonad_5_0_6" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, containers
+     , distributive, doctest, tagged, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "comonad";
+       version = "5.0.6";
+       sha256 = "1blgp2nm9cvnsdi2bmkmly5m0gz91npjvf1i5j4pnx6imhbb1kvp";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base containers distributive tagged transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Comonads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "comonad-extras" = callPackage
     ({ mkDerivation, array, base, comonad, containers, distributive
      , semigroupoids, transformers
@@ -55175,6 +55394,24 @@ self: {
        broken = true;
      }) {};
 
+  "compact-word-vectors" = callPackage
+    ({ mkDerivation, base, primitive, QuickCheck, random, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "compact-word-vectors";
+       version = "0.2.0.1";
+       sha256 = "0ix8l6vvnf62vp6716gmypwqsrs6x5pzcx5yfj24bn4gk0xak3lm";
+       libraryHaskellDepends = [ base primitive ];
+       testHaskellDepends = [
+         base primitive QuickCheck random tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Small vectors of small integers stored very compactly";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "compactable" = callPackage
     ({ mkDerivation, base, containers, transformers, vector }:
      mkDerivation {
@@ -55319,6 +55556,8 @@ self: {
        pname = "compensated";
        version = "0.7.3";
        sha256 = "089xj9j3gznxz66ywapjd9kasjcnv197ipj4azgjfbpl2y11l8dg";
+       revision = "1";
+       editedCabalFile = "1ax4jq2hp5737yvi3lxvyj3c4bzkg10h4c7w3nw0hgfcn1ng49kc";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bifunctors binary bytes cereal comonad deepseq distributive
@@ -55331,6 +55570,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "compensated_0_8" = callPackage
+    ({ mkDerivation, base, bifunctors, binary, bytes, Cabal
+     , cabal-doctest, cereal, comonad, deepseq, distributive, doctest
+     , generic-deriving, hashable, lens, log-domain, safecopy
+     , semigroupoids, semigroups, simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "compensated";
+       version = "0.8";
+       sha256 = "1jvvsa1dqsds6ri6f746y47flwrlfxnc7jsgic2m6kvf1b700qr9";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base bifunctors binary bytes cereal comonad deepseq distributive
+         hashable lens log-domain safecopy semigroupoids semigroups vector
+       ];
+       testHaskellDepends = [
+         base doctest generic-deriving semigroups simple-reflect
+       ];
+       description = "Compensated floating-point arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "competition" = callPackage
     ({ mkDerivation, base, filepath, parsec }:
      mkDerivation {
@@ -56147,14 +56409,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "concurrency_1_8_0_0" = callPackage
+  "concurrency_1_8_1_0" = callPackage
     ({ mkDerivation, array, atomic-primops, base, exceptions
      , monad-control, mtl, stm, transformers
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.8.0.0";
-       sha256 = "091nv78c4cfcrg4hwxhn97l0xr5x2n4pfh802ysxmn2zvnm9fbf4";
+       version = "1.8.1.0";
+       sha256 = "0nw5i85lzh03ppcprzpvrlp3bmdam1z50bp7ddq9mp2ycyjbvrp5";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -57705,12 +57967,14 @@ self: {
      }:
      mkDerivation {
        pname = "connections";
-       version = "0.0.2";
-       sha256 = "06z83z172c0p0k8wycjfr26dd9nq2dgg6pjp1v8m3iy4dpmar7fq";
+       version = "0.0.2.1";
+       sha256 = "0pjvxy0167gl6yki2cvjlynzw7biifng82ybnxjmp1b4w7il2qdm";
        libraryHaskellDepends = [ base containers property semigroupoids ];
        testHaskellDepends = [ base hedgehog property ];
        description = "Partial orders & Galois connections";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "consistent" = callPackage
@@ -57927,8 +58191,8 @@ self: {
     ({ mkDerivation, base, category, unconstrained }:
      mkDerivation {
        pname = "constraint";
-       version = "0.1.3.0";
-       sha256 = "0yp09vg9hx5p7ncyh8h6mhcl14kanhhjldyn892lmp0jmlm7flyy";
+       version = "0.1.4.0";
+       sha256 = "0cdncdzpgyr9a0v213g9f6fqfd4311j5rg84gh85xynp8hhh0rr4";
        libraryHaskellDepends = [ base category unconstrained ];
        description = "Reified constraints";
        license = stdenv.lib.licenses.bsd3;
@@ -57977,8 +58241,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "constraint-tuples";
-       version = "0.1.1";
-       sha256 = "0jml9sqgmfz3yqpd8g7k0ki1n036a6ws4m5ywbjmcyiz6gr52czl";
+       version = "0.1.2";
+       sha256 = "16f9y0q771f3mc38g8jpr875c8grjav6sg9lwbhg7nmcvcczwqk2";
        libraryHaskellDepends = [ base ];
        description = "Partially applicable constraint tuples";
        license = stdenv.lib.licenses.bsd3;
@@ -59000,26 +59264,6 @@ self: {
      }:
      mkDerivation {
        pname = "cookie";
-       version = "0.4.4";
-       sha256 = "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j";
-       libraryHaskellDepends = [
-         base bytestring data-default-class deepseq text time
-       ];
-       testHaskellDepends = [
-         base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
-         text time
-       ];
-       description = "HTTP cookie parsing and rendering";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "cookie_0_4_5" = callPackage
-    ({ mkDerivation, base, bytestring, data-default-class, deepseq
-     , HUnit, QuickCheck, tasty, tasty-hunit, tasty-quickcheck, text
-     , time
-     }:
-     mkDerivation {
-       pname = "cookie";
        version = "0.4.5";
        sha256 = "10rmdasb7mypbwxdj2mhr810vqhkakpik7hyd8fvj60hng8r8zvh";
        libraryHaskellDepends = [
@@ -59031,7 +59275,6 @@ self: {
        ];
        description = "HTTP cookie parsing and rendering";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cookies" = callPackage
@@ -59066,12 +59309,15 @@ self: {
      }:
      mkDerivation {
        pname = "copilot";
-       version = "3.0.1";
-       sha256 = "0sfvrk8ik6zaim6xlkvlnz3rnrqbiqvq7i6yxjiba74qx5w8yv4m";
+       version = "3.1";
+       sha256 = "1dw7bkmadwsncd39pkngaxglfsnrnc9km7y8ld0l9bkiiw136x2w";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base copilot-c99 copilot-core copilot-language copilot-libraries
          copilot-theorem directory filepath optparse-applicative
        ];
+       executableHaskellDepends = [ base copilot-c99 copilot-libraries ];
        description = "A stream DSL for writing embedded C programs";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -59085,8 +59331,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.0.2";
-       sha256 = "02987kxwsrxcjicgfnj55prabiv12y5d1s82nr34kk3scrlixl1y";
+       version = "3.1";
+       sha256 = "1cwypmis5dcdzjasq03wcas4lnml7l4a4ymw1v55aybfmz94mxc3";
        libraryHaskellDepends = [
          base containers copilot-core directory filepath language-c99
          language-c99-simple language-c99-util mtl pretty
@@ -59114,14 +59360,12 @@ self: {
      }) {};
 
   "copilot-core" = callPackage
-    ({ mkDerivation, base, containers, dlist, mtl, pretty, random }:
+    ({ mkDerivation, base, containers, dlist, mtl, pretty }:
      mkDerivation {
        pname = "copilot-core";
-       version = "3.0.1";
-       sha256 = "0gq55db39fsg3kim83s86nw58f9wbg59nlrhi4ic70864iv55zs8";
-       libraryHaskellDepends = [
-         base containers dlist mtl pretty random
-       ];
+       version = "3.1";
+       sha256 = "08xz5s0b2fd5igja5wiaq93ignx6bsf942rg4hy42fmh4c03hylp";
+       libraryHaskellDepends = [ base containers dlist mtl pretty ];
        description = "An intermediate representation for Copilot";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -59132,8 +59376,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-language";
-       version = "3.0.1";
-       sha256 = "1vx656vdjvdbsd3zv5cpb9xjvj85ylfqbbk8iibkbdgbq6sm11f6";
+       version = "3.1";
+       sha256 = "0hdk8418l30vz9lv7c4bzh8m5gn8knpvg296b14n66si9g36qglp";
        libraryHaskellDepends = [
          array base containers copilot-core copilot-theorem data-reify
          ghc-prim mtl
@@ -59150,8 +59394,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-libraries";
-       version = "3.0";
-       sha256 = "0xrv37m770qnc722iv5x67kjic11q2sd1bcx2b0gr93p54frbjs4";
+       version = "3.1";
+       sha256 = "094hjzg22b55n4kv89ccr7pbgqpbd0z8f5myn93nyw6yqpmpp30v";
        libraryHaskellDepends = [
          array base containers copilot-language data-reify mtl parsec
        ];
@@ -59185,8 +59429,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-theorem";
-       version = "3.0";
-       sha256 = "1h8gjlfhl473d6h8zafmqv3dzdhmgpyp8bsvysfzb7s2ga5hwnrq";
+       version = "3.1";
+       sha256 = "15vnl5lg9s6h9s98f1nvva3ab0gdn3a5314mxdfxxa53ywmiq2a0";
        libraryHaskellDepends = [
          ansi-terminal base bimap containers copilot-core data-default
          directory mtl parsec pretty process random transformers xml
@@ -59257,26 +59501,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.2.1.0";
-       sha256 = "1d4sf0383kcc7wzy1bld1hlagf9g934bwnx6xdvj45grdkj8l787";
-       libraryHaskellDepends = [
-         aeson base bytestring containers core-text hashable prettyprinter
-         prettyprinter-ansi-terminal scientific text unordered-containers
-         vector
-       ];
-       description = "Convenience wrappers around common data structures and encodings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "core-data_0_2_1_3" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, core-text
-     , hashable, prettyprinter, prettyprinter-ansi-terminal, scientific
-     , text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "core-data";
-       version = "0.2.1.3";
-       sha256 = "1l5q8ayhpr6cjvsj9y4hj8b9iq2013rg9dq1f8b349c9mz98bxqa";
+       version = "0.2.1.4";
+       sha256 = "1arrw5xbzxpwqzpxcyw13lv4sazn5pzv448crw54284kyi798hc3";
        libraryHaskellDepends = [
          aeson base bytestring containers core-text hashable prettyprinter
          prettyprinter-ansi-terminal scientific text unordered-containers
@@ -59284,7 +59510,6 @@ self: {
        ];
        description = "Convenience wrappers around common data structures and encodings";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "core-haskell" = callPackage
@@ -59313,8 +59538,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.2.2.3";
-       sha256 = "0yyhvi84qw67lql1vdf9j1psxglqv1nd43wh6kxz92n1im7canks";
+       version = "0.2.2.4";
+       sha256 = "0l30qvn118bb6vj39ca6wl7ynhf7hkwq7pbh60vhcmwcr20rj4b1";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-text directory
          exceptions filepath hashable hinotify hourglass mtl prettyprinter
@@ -59334,32 +59559,14 @@ self: {
      }:
      mkDerivation {
        pname = "core-text";
-       version = "0.2.2.1";
-       sha256 = "0bql1ksfblnplhj4rbzsjwjbdqdy3z28c51i63q6vhy20mr3bxqk";
-       libraryHaskellDepends = [
-         base bytestring deepseq fingertree hashable prettyprinter
-         prettyprinter-ansi-terminal template-haskell text text-short
-       ];
-       description = "A rope type based on a finger tree over UTF-8 fragments";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "core-text_0_2_2_3" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, fingertree, hashable
-     , prettyprinter, prettyprinter-ansi-terminal, template-haskell
-     , text, text-short
-     }:
-     mkDerivation {
-       pname = "core-text";
-       version = "0.2.2.3";
-       sha256 = "00ac8f7pajqr77r48g332kgfwsmnybdw2f2z9f7dx03hm3x9vgyx";
+       version = "0.2.2.4";
+       sha256 = "1lfxphm5y9irrs225vr0gbvb129lxzfr0xjxy23dz6d0cc3pr1ph";
        libraryHaskellDepends = [
          base bytestring deepseq fingertree hashable prettyprinter
          prettyprinter-ansi-terminal template-haskell text text-short
        ];
        description = "A rope type based on a finger tree over UTF-8 fragments";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "corebot-bliki" = callPackage
@@ -60051,28 +60258,6 @@ self: {
      }:
      mkDerivation {
        pname = "cql";
-       version = "4.0.1";
-       sha256 = "021qaz6qvbdp76gdyfcs07wnnq6k6r1cmqky0g3giinjdrm4qac9";
-       libraryHaskellDepends = [
-         base bytestring cereal containers Decimal iproute network
-         template-haskell text time transformers uuid vector
-       ];
-       testHaskellDepends = [
-         base bytestring cereal Decimal iproute network QuickCheck tasty
-         tasty-quickcheck text time uuid
-       ];
-       description = "Cassandra CQL binary protocol";
-       license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "cql_4_0_2" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, containers, Decimal
-     , iproute, network, QuickCheck, tasty, tasty-quickcheck
-     , template-haskell, text, time, transformers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "cql";
        version = "4.0.2";
        sha256 = "0b6806ahmg4yacx5wc4v53gihhkwywajhqm13kb11nxabww3lapl";
        libraryHaskellDepends = [
@@ -60652,19 +60837,17 @@ self: {
      }) {};
 
   "crf-chain1" = callPackage
-    ({ mkDerivation, array, base, binary, containers, data-lens
+    ({ mkDerivation, array, base, binary, containers, data-lens-light
      , logfloat, monad-codec, parallel, random, sgd, vector
-     , vector-binary, vector-th-unbox
+     , vector-binary-instances, vector-th-unbox
      }:
      mkDerivation {
        pname = "crf-chain1";
-       version = "0.2.2";
-       sha256 = "0v0mmpvn9qma3xz92s13ywk9p5czxzshh2rf06hb2zqqq5m6iwhq";
-       revision = "1";
-       editedCabalFile = "16h297h22wfkq8sgvfxm4gv7wi7pz7pl481b6lgk04rw23bgd2x2";
+       version = "0.2.3";
+       sha256 = "0k805zqjqixicf4s0gs04jc1gijckcnrb3w43sykhhsbz194p0s2";
        libraryHaskellDepends = [
-         array base binary containers data-lens logfloat monad-codec
-         parallel random sgd vector vector-binary vector-th-unbox
+         array base binary containers data-lens-light logfloat monad-codec
+         parallel random sgd vector vector-binary-instances vector-th-unbox
        ];
        description = "First-order, linear-chain conditional random fields";
        license = stdenv.lib.licenses.bsd3;
@@ -61218,6 +61401,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "crypto-keys-ssh" = callPackage
+    ({ mkDerivation, base, base64-bytestring, binary, bytestring }:
+     mkDerivation {
+       pname = "crypto-keys-ssh";
+       version = "0.1.0.0";
+       sha256 = "17r15w7rw6klcw5nlq6acka7rq3kba3vikwggb2fssr8x7wfrm5r";
+       libraryHaskellDepends = [
+         base base64-bytestring binary bytestring
+       ];
+       description = "Like crypto-pubkey-openssh but not dependent on any specific crypto library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "crypto-multihash" = callPackage
     ({ mkDerivation, base, base58-bytestring, bytestring, containers
      , cryptonite, hspec, memory, QuickCheck, string-conversions
@@ -62661,8 +62857,8 @@ self: {
      }:
      mkDerivation {
        pname = "curry-base";
-       version = "1.1.0";
-       sha256 = "1hxac2mx7irphcyhljwivx1w6j6li0s7gl54yb50na6qpna7arqg";
+       version = "1.1.1";
+       sha256 = "0dczgya46jk80j8b7sswjcck64hzw7fifipixnhylhlfvd1cqdlb";
        libraryHaskellDepends = [
          base containers directory extra filepath mtl parsec pretty time
          transformers
@@ -62673,24 +62869,26 @@ self: {
      }) {};
 
   "curry-frontend" = callPackage
-    ({ mkDerivation, base, Cabal, containers, curry-base, directory
-     , extra, filepath, mtl, network-uri, pretty, process, set-extra
-     , transformers
+    ({ mkDerivation, base, bytestring, Cabal, containers, curry-base
+     , directory, extra, file-embed, filepath, mtl, network-uri, pretty
+     , process, set-extra, template-haskell, transformers
      }:
      mkDerivation {
        pname = "curry-frontend";
-       version = "1.0.3";
-       sha256 = "0dqmmvn6iziyzdmig1gbcpdpbpg1hjp57pldzcv03fm2bjhq0a4q";
+       version = "1.0.4";
+       sha256 = "1dfljqyrp9w0sw3zmyy9rglpnjv14qj8ky1yjslmiaanjnl0m07b";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base containers curry-base directory extra filepath mtl network-uri
-         pretty process set-extra transformers
+         base bytestring containers curry-base directory extra file-embed
+         filepath mtl network-uri pretty process set-extra template-haskell
+         transformers
        ];
        executableHaskellDepends = [
-         base containers curry-base directory extra filepath mtl network-uri
-         pretty process set-extra transformers
+         base bytestring containers curry-base directory extra file-embed
+         filepath mtl network-uri pretty process set-extra template-haskell
+         transformers
        ];
        testHaskellDepends = [ base Cabal curry-base filepath ];
        description = "Compile the functional logic language Curry to several intermediate formats";
@@ -64181,6 +64379,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "data-diverse_4_7_0_0" = callPackage
+    ({ mkDerivation, base, containers, criterion, deepseq, ghc-prim
+     , hspec, tagged
+     }:
+     mkDerivation {
+       pname = "data-diverse";
+       version = "4.7.0.0";
+       sha256 = "0ccbb8kf2spaa2h6k10y26zzaij1w28vrifhc8c1ljlvsmc9dkf3";
+       libraryHaskellDepends = [
+         base containers deepseq ghc-prim tagged
+       ];
+       testHaskellDepends = [ base hspec tagged ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Extensible records and polymorphic variants";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "data-diverse-lens" = callPackage
     ({ mkDerivation, base, data-diverse, data-has, hspec, lens
      , profunctors, tagged
@@ -64807,8 +65023,8 @@ self: {
     ({ mkDerivation, attoparsec, base, binary, containers, text }:
      mkDerivation {
        pname = "data-named";
-       version = "0.6.1";
-       sha256 = "14xhjp13hq2d9raybw50v85pax54xb1niczd6f32gvn8cdd28pji";
+       version = "0.6.2";
+       sha256 = "03f4xc4ayql17s48ajza2ny79j885mcmp0x3mrwcfdc42dlnd7nb";
        libraryHaskellDepends = [ attoparsec base binary containers text ];
        description = "Data types for named entities";
        license = stdenv.lib.licenses.bsd3;
@@ -67632,8 +67848,8 @@ self: {
      }:
      mkDerivation {
        pname = "dependent-monoidal-map";
-       version = "0.1.1.0";
-       sha256 = "0l5nj7jalyca6vv9aqsx0j799vrr65cm1jzh17fcnwkxair3lkgx";
+       version = "0.1.1.1";
+       sha256 = "0i3zgngcdli6hw09h985ca4n7l9cpsrxalbhg8lbq32hwh7dim89";
        libraryHaskellDepends = [
          aeson base constraints constraints-extras dependent-map
          dependent-sum dependent-sum-aeson-orphans
@@ -68077,6 +68293,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "deriving-compat_0_5_8" = callPackage
+    ({ mkDerivation, base, base-compat, base-orphans, containers
+     , ghc-boot-th, ghc-prim, hspec, hspec-discover, QuickCheck, tagged
+     , template-haskell, th-abstraction, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "deriving-compat";
+       version = "0.5.8";
+       sha256 = "1dznwypw0w935z30zi9pf9k4mr5yfl6jfp43nv9vx3f6zy5gip9r";
+       libraryHaskellDepends = [
+         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 {
@@ -68365,8 +68605,8 @@ self: {
      }:
      mkDerivation {
        pname = "df1";
-       version = "0.3.1";
-       sha256 = "0a1fpi9r6nivjxlknfyfkwdgnq5m6qmf68z46m3xjvy0md40caij";
+       version = "0.3.2";
+       sha256 = "1iywyrz2pfdpichfq6n77x8fpmfikj20rhkgnrwcf63ichav6xfp";
        libraryHaskellDepends = [
          attoparsec base bytestring containers text time
        ];
@@ -68519,37 +68759,37 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall_1_27_0" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
-     , bytestring, case-insensitive, cborg, cborg-json, containers
+  "dhall_1_28_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
+     , base, bytestring, case-insensitive, cborg, cborg-json, containers
      , contravariant, cryptonite, data-fix, deepseq, Diff, directory
      , doctest, dotgen, either, exceptions, filepath, foldl, gauge
      , generic-random, hashable, haskeline, http-client, http-client-tls
      , http-types, lens-family-core, megaparsec, memory, mockery, mtl
-     , network-uri, optparse-applicative, parsers, prettyprinter
-     , prettyprinter-ansi-terminal, profunctors, QuickCheck
-     , quickcheck-instances, repline, scientific, semigroups, serialise
-     , special-values, spoon, tasty, tasty-expected-failure, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, th-lift-instances
-     , transformers, transformers-compat, turtle, unordered-containers
-     , uri-encode, vector
+     , network-uri, optparse-applicative, parsers, pretty-simple
+     , prettyprinter, prettyprinter-ansi-terminal, profunctors
+     , QuickCheck, quickcheck-instances, repline, scientific, semigroups
+     , serialise, special-values, spoon, tasty, tasty-expected-failure
+     , tasty-hunit, tasty-quickcheck, template-haskell, text
+     , th-lift-instances, transformers, transformers-compat, turtle
+     , unordered-containers, uri-encode, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.27.0";
-       sha256 = "04hpf0g8anhynrc3gd96cg1z4qadrk2xg9094qjm68d2kv6zx2g1";
+       version = "1.28.0";
+       sha256 = "0kiw8a9im768j304s80pv90vp1hh38v7fxfh2bb4hmglh3a8kc21";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal base bytestring case-insensitive
-         cborg cborg-json containers contravariant cryptonite data-fix
-         deepseq Diff directory dotgen either exceptions filepath hashable
-         haskeline http-client http-client-tls http-types lens-family-core
-         megaparsec memory mtl network-uri optparse-applicative parsers
-         prettyprinter prettyprinter-ansi-terminal profunctors repline
-         scientific serialise template-haskell text th-lift-instances
-         transformers transformers-compat unordered-containers uri-encode
-         vector
+         aeson aeson-pretty ansi-terminal atomic-write base bytestring
+         case-insensitive cborg cborg-json containers contravariant
+         cryptonite data-fix deepseq Diff directory dotgen either exceptions
+         filepath hashable haskeline http-client http-client-tls http-types
+         lens-family-core megaparsec memory mtl network-uri
+         optparse-applicative parsers pretty-simple prettyprinter
+         prettyprinter-ansi-terminal profunctors repline scientific
+         serialise template-haskell text th-lift-instances transformers
+         transformers-compat unordered-containers uri-encode vector
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -68589,14 +68829,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-bash_1_0_24" = callPackage
+  "dhall-bash_1_0_25" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.24";
-       sha256 = "0llc8232qrlrhzdww5a1blqdsxpf3ra9hcdjwgahcfxsk1gh4z9g";
+       version = "1.0.25";
+       sha256 = "0bxfx2hj06q1w1372zc7cfibsqw2hckz5116zz447mz5zmcfkjv3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68632,30 +68872,36 @@ self: {
 
   "dhall-fly" = callPackage
     ({ mkDerivation, aeson, aeson-casing, aeson-yaml, base, bytestring
-     , dhall, dhall-json, hspec, hspec-discover, scientific, text
-     , transformers, unordered-containers, vector
+     , dhall, dhall-json, hspec, hspec-discover, optparse-applicative
+     , ordered-containers, scientific, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "dhall-fly";
-       version = "0.1.0";
-       sha256 = "0rjbcpwcpz3kq0cil0pp7vkmksvnyxzv8jg5jpgnkg9pzmapg43y";
+       version = "0.2.2";
+       sha256 = "1pp5lzg8nv1j0y9mrjb4zd9immd7i14ri0x2rgp7zjs86ygcmlf7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-casing base dhall scientific text transformers
+         aeson aeson-casing base dhall optparse-applicative
+         ordered-containers scientific text transformers
          unordered-containers vector
        ];
        executableHaskellDepends = [
          aeson aeson-casing aeson-yaml base bytestring dhall dhall-json
-         scientific text transformers unordered-containers vector
+         optparse-applicative ordered-containers scientific text
+         transformers unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson aeson-casing base dhall hspec scientific text transformers
+         aeson aeson-casing base dhall hspec optparse-applicative
+         ordered-containers scientific text transformers
          unordered-containers vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "Translate concourse config from Dhall to YAML";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "dhall-json" = callPackage
@@ -68688,7 +68934,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-json_1_5_0" = callPackage
+  "dhall-json_1_6_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
      , base, bytestring, containers, dhall, exceptions, filepath
      , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
@@ -68697,8 +68943,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.5.0";
-       sha256 = "1xr2p1k4bx6djbq5z8bd77vv0w77vfb0xgbsz3b9g03g6w4zifsd";
+       version = "1.6.0";
+       sha256 = "1fb3w7p2blnxqc6q3q620vpr0fpqs2my7hh33ykh7jpzs7p031h5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68742,15 +68988,13 @@ self: {
      , data-default, dhall, dhall-json, directory, doctest, filepath
      , haskell-lsp, haskell-lsp-types, hslogger, lens, lens-family-core
      , lsp-test, megaparsec, mtl, network-uri, optparse-applicative
-     , prettyprinter, rope-utf16-splay, tasty, tasty-hspec, text
-     , transformers, unordered-containers, uri-encode
+     , prettyprinter, QuickCheck, rope-utf16-splay, tasty, tasty-hspec
+     , text, transformers, unordered-containers, uri-encode
      }:
      mkDerivation {
        pname = "dhall-lsp-server";
-       version = "1.0.2";
-       sha256 = "1q5kncgy4cdys27j43jfwsnjcg8nr1w4i0ip910c6w56x1p7vnnv";
-       revision = "1";
-       editedCabalFile = "18j3fiskp6i4kccbhp3zc0dfvxnq29gyq3yq9vylq9gx0kh98jyd";
+       version = "1.0.3";
+       sha256 = "1ym7v3blgj4ccchg6cpyxpllp6xz6fh8kfyy3i0b1kd5lzm90s0n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68761,8 +69005,8 @@ self: {
        ];
        executableHaskellDepends = [ base optparse-applicative ];
        testHaskellDepends = [
-         base directory doctest filepath haskell-lsp-types lsp-test tasty
-         tasty-hspec text
+         base directory doctest filepath haskell-lsp-types lsp-test
+         QuickCheck tasty tasty-hspec text
        ];
        description = "Language Server Protocol (LSP) server for Dhall";
        license = stdenv.lib.licenses.mit;
@@ -68776,8 +69020,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.9";
-       sha256 = "153r0h4qdfnw7bw4hfbh1imx5hrxh419qny3zj3d0bmsidf8gakr";
+       version = "1.1.10";
+       sha256 = "04fb8l9qh70fqa50ck0hz8134s1bmcyscbf5xg5ylnxpdrs3n7as";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -68900,8 +69144,8 @@ self: {
      }:
      mkDerivation {
        pname = "di";
-       version = "1.2";
-       sha256 = "0d4ywmnibg9h12bah4bdh03fs2l50f5s590kv45baz010bcqyx0b";
+       version = "1.3";
+       sha256 = "13d503xhmnj2br9m4r4xx58hd2p8jsj8hxf9b4k4451p31kbzs54";
        libraryHaskellDepends = [
          base containers df1 di-core di-df1 di-handle di-monad exceptions
        ];
@@ -68915,8 +69159,8 @@ self: {
      }:
      mkDerivation {
        pname = "di-core";
-       version = "1.0.3";
-       sha256 = "1rfza96ljcf754mj44m2ffm51k9v6c0ii2sqqnddjkva3h3hx47h";
+       version = "1.0.4";
+       sha256 = "0wrj2ndzk9r7izjvwkjjmqb3gg1zy93ch7j7fdalzadzzsd4sqsm";
        libraryHaskellDepends = [
          base containers safe-exceptions stm time
        ];
@@ -68934,8 +69178,8 @@ self: {
      }:
      mkDerivation {
        pname = "di-df1";
-       version = "1.0.2";
-       sha256 = "1imk26njmr7hj56227yxgshjh4dicgr2c9bpc2m9nvsw2qbqslfh";
+       version = "1.2";
+       sha256 = "0bixrinmmb496j55c3vlh914nq6zfsaxq0pp2fcdxhwig1y53fgr";
        libraryHaskellDepends = [
          base df1 di-core di-handle di-monad stm
        ];
@@ -69147,34 +69391,6 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-contrib";
-       version = "1.4.3";
-       sha256 = "01r081rvxkb9i56iqi28zw4054nm62pf9f1szd9i0avmnxxsiyv5";
-       revision = "3";
-       editedCabalFile = "0mm1mmagx6q8g6dxk1cagqka38z6393ihp0lvf6095prlvidasqs";
-       libraryHaskellDepends = [
-         base circle-packing colour containers cubicbezier data-default
-         data-default-class diagrams-core diagrams-lib diagrams-solve
-         force-layout hashable lens linear mfsolve MonadRandom monoid-extras
-         mtl mtl-compat parsec random semigroups split text
-       ];
-       testHaskellDepends = [
-         base containers diagrams-lib HUnit QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2
-       ];
-       description = "Collection of user contributions to diagrams EDSL";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "diagrams-contrib_1_4_4" = callPackage
-    ({ mkDerivation, base, circle-packing, colour, containers
-     , cubicbezier, data-default, data-default-class, diagrams-core
-     , diagrams-lib, diagrams-solve, force-layout, hashable, HUnit, lens
-     , linear, mfsolve, MonadRandom, monoid-extras, mtl, mtl-compat
-     , parsec, QuickCheck, random, semigroups, split, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "diagrams-contrib";
        version = "1.4.4";
        sha256 = "043jpr7lqg708lzmv6cqys7312lfdwnf8ijcnpl4jkbvcwl87c1m";
        libraryHaskellDepends = [
@@ -69189,7 +69405,6 @@ self: {
        ];
        description = "Collection of user contributions to diagrams EDSL";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-core" = callPackage
@@ -69396,8 +69611,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-pgf";
-       version = "1.4.1";
-       sha256 = "00nw2zraanwb20wl9iaynw0kffwshgmy94yn50pgj3vlykj399lr";
+       version = "1.4.1.1";
+       sha256 = "10glg5pqy8zw6l77wnskcawl8da0c10sqfg9dx2jydksd3xpns2f";
        libraryHaskellDepends = [
          base bytestring bytestring-builder colour containers diagrams-core
          diagrams-lib directory filepath hashable JuicyPixels mtl
@@ -70196,8 +70411,8 @@ self: {
      }:
      mkDerivation {
        pname = "digit";
-       version = "0.8";
-       sha256 = "0m3m9c2452b0x7ccglkz7mr3ivi7r98qa44zwfnf7a55d6xckfa9";
+       version = "0.9";
+       sha256 = "0xyghgg8kzjrvhrcjizqnbprcyq5a3ma3x0dfijrdvbyd3lzghvm";
        libraryHaskellDepends = [
          base lens parsers scientific semigroupoids semigroups
          template-haskell
@@ -72265,17 +72480,14 @@ self: {
 
   "dns" = callPackage
     ({ mkDerivation, array, async, attoparsec, auto-update, base
-     , base16-bytestring, base64-bytestring, bytestring, Cabal
-     , cabal-doctest, containers, cryptonite, doctest, hourglass, hspec
-     , iproute, mtl, network, psqueues, QuickCheck, word8
+     , base16-bytestring, base64-bytestring, bytestring, containers
+     , cryptonite, doctest, hourglass, hspec, iproute, mtl, network
+     , psqueues, QuickCheck, word8
      }:
      mkDerivation {
        pname = "dns";
-       version = "4.0.0";
-       sha256 = "0gq0y8pw4x8fja0f3hhwpbxh4rg2i8nzfnp2rxh2py49qfhg38mj";
-       revision = "1";
-       editedCabalFile = "0cg5jhn5g28qspkinx44zyz0yn08ddcsylhmvlpp4clyb9zlz1si";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "4.0.1";
+       sha256 = "1jv89bdhvwb51d9h9157k2r1cg7x0gzari91lddwvghrkx8v9k90";
        libraryHaskellDepends = [
          array async attoparsec auto-update base base16-bytestring
          base64-bytestring bytestring containers cryptonite hourglass
@@ -72284,6 +72496,7 @@ self: {
        testHaskellDepends = [
          base bytestring doctest hspec iproute network QuickCheck word8
        ];
+       doHaddock = false;
        testTarget = "spec";
        description = "DNS library in Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -72643,7 +72856,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "doctemplates_0_7" = callPackage
+  "doctemplates_0_7_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
      , tasty, tasty-golden, tasty-hunit, temporary, text
@@ -72651,16 +72864,16 @@ self: {
      }:
      mkDerivation {
        pname = "doctemplates";
-       version = "0.7";
-       sha256 = "061llh59b69a84175z5wp0y0s2nw461kmf2w986wd5qcrjanxi62";
+       version = "0.7.2";
+       sha256 = "1sadadxq3vyzq4l3p05wvmkw68nwjprn98hn4l5zxif0r722jyxj";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers doclayout filepath HsYAML mtl parsec safe
          scientific text text-conversions unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base bytestring doclayout filepath Glob tasty tasty-golden
-         tasty-hunit temporary text
+         aeson base bytestring containers doclayout filepath Glob tasty
+         tasty-golden tasty-hunit temporary text
        ];
        benchmarkHaskellDepends = [
          aeson base containers criterion doclayout filepath mtl text
@@ -73111,34 +73324,6 @@ self: {
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.8.0.2";
-       sha256 = "0an7spi0cgvzr64nyy7p8pdslyf0jlh9l2ww52jbh1habsxjn6fp";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base base-compat containers directory exceptions megaparsec process
-         text transformers yaml
-       ];
-       executableHaskellDepends = [
-         base base-compat megaparsec optparse-applicative process text
-         transformers yaml
-       ];
-       testHaskellDepends = [
-         base base-compat containers directory exceptions hspec
-         hspec-megaparsec megaparsec process text transformers yaml
-       ];
-       description = "Loads environment variables from dotenv files";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "dotenv_0_8_0_4" = callPackage
-    ({ mkDerivation, base, base-compat, containers, directory
-     , exceptions, hspec, hspec-megaparsec, megaparsec
-     , optparse-applicative, process, text, transformers, yaml
-     }:
-     mkDerivation {
-       pname = "dotenv";
        version = "0.8.0.4";
        sha256 = "05dqa91zmxkzkz1dcpx2jxkzhdr4f51gw0qql47da9bllavl0jj4";
        isLibrary = true;
@@ -73158,7 +73343,6 @@ self: {
        ];
        description = "Loads environment variables from dotenv files";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dotfs" = callPackage
@@ -74254,8 +74438,8 @@ self: {
      }:
      mkDerivation {
        pname = "duet";
-       version = "0.0.1";
-       sha256 = "00f9j3zcna8gxs9g3rnmcm6xqsx7sm9ivygbzjw5dyhmiivh6nr7";
+       version = "0.0.2";
+       sha256 = "16hjhyn254d307ibg5541y00x0l6n5rwk06r5cdkj5x07jmgcafm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -74270,8 +74454,10 @@ self: {
          aeson base containers deepseq edit-distance exceptions hspec
          monad-logger mtl parsec syb text
        ];
-       description = "A tiny language, a subset of Haskell (with type classes) aimed at aiding teachers teach Haskell";
+       description = "A tiny language, a subset of Haskell (with type classes) aimed at aiding teachers to teach Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "dumb-cas" = callPackage
@@ -75907,26 +76093,27 @@ self: {
     ({ mkDerivation, array, base, containers, criterion, deepseq
      , directory, filepath, ghc, ghc-paths, Glob, hashable, haskeline
      , HUnit, megaparsec, mtl, optparse-applicative, parsec
-     , parser-combinators, process, random, regex-tdfa, split
-     , test-framework, test-framework-hunit, text, transformers
+     , parser-combinators, prettyprinter, process, random, regex-tdfa
+     , split, test-framework, test-framework-hunit, text, transformers
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.9.3";
-       sha256 = "03scyzfwrzn8hbkk3r02ix7lw2pfx6r5qyf60xgvi0fgxhg7v7cv";
+       version = "3.10.1";
+       sha256 = "047l2knxhzlrmc4n6xaannnwa1zhq7lxr3iswwrji5xcqbbag5xp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base containers directory ghc ghc-paths hashable haskeline
-         megaparsec mtl parsec parser-combinators process random regex-tdfa
-         split text transformers unordered-containers vector
+         megaparsec mtl optparse-applicative parsec parser-combinators
+         prettyprinter process random regex-tdfa split text transformers
+         unordered-containers vector
        ];
        executableHaskellDepends = [
          array base containers directory filepath ghc ghc-paths haskeline
-         mtl optparse-applicative parsec process text transformers
-         unordered-containers vector
+         mtl optparse-applicative parsec prettyprinter process split text
+         transformers unordered-containers vector
        ];
        testHaskellDepends = [
          base filepath Glob HUnit mtl test-framework test-framework-hunit
@@ -75963,8 +76150,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison-tutorial";
-       version = "3.9.3";
-       sha256 = "0p55bak45hxqajpz0kh6d4czhxm8xm1jkcmk7la6h0fvazz4665p";
+       version = "3.10.0";
+       sha256 = "109j17iskxs7gwgvxyyvmipf3xsbnysjxj20z6hhjzz1sb3sw5x5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -77294,6 +77481,8 @@ self: {
        ];
        description = "Perform basic syntax and deliverability checks on email addresses";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "emailaddress" = callPackage
@@ -79025,7 +79214,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "esqueleto_3_2_2" = callPackage
+  "esqueleto_3_2_3" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
      , conduit, containers, exceptions, hspec, monad-logger, mtl, mysql
      , mysql-simple, persistent, persistent-mysql, persistent-postgresql
@@ -79035,8 +79224,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.2.2";
-       sha256 = "1pnhnnsxx21jah4rnv8qy7jb4n7f6vbrxjh9cs2rygvrwqkg3n9c";
+       version = "3.2.3";
+       sha256 = "1m8ib08bnrmigpf0lzkn1wm8p479aflm92irzq5v3gg07dqgypcy";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -80673,6 +80862,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "exist" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, util }:
+     mkDerivation {
+       pname = "exist";
+       version = "0.2.0.0";
+       sha256 = "0w2ip29f99qzi3wxicydkv991ws0lhnar3w0qka54r2mjb3xzrk9";
+       libraryHaskellDepends = [ base base-unicode-symbols util ];
+       description = "Dependent sum type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exist-instances" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, constraint, exist
+     , util
+     }:
+     mkDerivation {
+       pname = "exist-instances";
+       version = "0.1.0.0";
+       sha256 = "09714dl2gwpr44fhkq5w9fswn4fk0zhddg21mgcw2nb5l7930d7x";
+       libraryHaskellDepends = [
+         base base-unicode-symbols constraint exist util
+       ];
+       description = "Instances for \"exist\" package (requires more language extensions and dependencies)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "existential" = callPackage
     ({ mkDerivation, base, cereal, constraints, control-invariants
      , lens, portable-template-haskell-lens, QuickCheck
@@ -81116,8 +81333,8 @@ self: {
      }:
      mkDerivation {
        pname = "expresso";
-       version = "0.1.2.0";
-       sha256 = "15s4gpf7pv6wv13q5i1cff7s93nx5vb8gyjfm4ifz76ki3xafgcn";
+       version = "0.1.2.2";
+       sha256 = "1fa37bqyw8zlva3z6sj10sp4r7sslh4xakrmr7d5diqynyrgdjax";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -81580,6 +81797,8 @@ self: {
        ];
        description = "Rational arithmetic in an irrational world";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "facts" = callPackage
@@ -81829,7 +82048,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fakedata_0_3_1" = callPackage
+  "fakedata_0_4_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , exceptions, filepath, gauge, hashable, hspec, hspec-discover
      , random, template-haskell, text, time, unordered-containers
@@ -81837,8 +82056,8 @@ self: {
      }:
      mkDerivation {
        pname = "fakedata";
-       version = "0.3.1";
-       sha256 = "0y5gnqjgn3n2px80xbpqx0kaxrdkaqhw8n9ah4ry310j80m9z8ma";
+       version = "0.4.0";
+       sha256 = "0q90aa92wraqjnj256bpv34mhsl42wyp31y2g4nv2sgzj7mi9jjg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers directory exceptions filepath hashable
@@ -82068,15 +82287,15 @@ self: {
      }) {};
 
   "fast-downward" = callPackage
-    ({ mkDerivation, base, containers, list-t, mtl, process, temporary
-     , text, transformers
+    ({ mkDerivation, base, containers, mtl, process, temporary, text
+     , transformers
      }:
      mkDerivation {
        pname = "fast-downward";
-       version = "0.1.1.0";
-       sha256 = "1c4qsihjf6wjmmh4nm088pxaj7xc1mm9di8jq124zgllf85j1lfl";
+       version = "0.2.0.0";
+       sha256 = "0a2ax0z326mf02p5wyp1d8knxj6afn92n9bqxav2qhkc2v5kijhw";
        libraryHaskellDepends = [
-         base containers list-t mtl process temporary text transformers
+         base containers mtl process temporary text transformers
        ];
        description = "Solve classical planning problems (STRIPS/SAS+) using Haskell & Fast Downward";
        license = stdenv.lib.licenses.bsd3;
@@ -83053,6 +83272,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "feed_1_3_0_0" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, HUnit
+     , markdown-unlit, old-locale, old-time, safe, syb, test-framework
+     , test-framework-hunit, text, time, time-locale-compat, utf8-string
+     , xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "feed";
+       version = "1.3.0.0";
+       sha256 = "19xqkx8ars0sjana18m34d7qg9l0qbg1i3v14a5rqabdppzcfrp2";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base base-compat bytestring old-locale old-time safe text time
+         time-locale-compat utf8-string xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base base-compat HUnit old-time syb test-framework
+         test-framework-hunit text time xml-conduit xml-types
+       ];
+       testToolDepends = [ markdown-unlit ];
+       description = "Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "feed-cli" = callPackage
     ({ mkDerivation, base, directory, feed, old-locale, old-time, time
      , xml
@@ -84057,8 +84301,8 @@ self: {
     ({ mkDerivation, async, base, process, unix }:
      mkDerivation {
        pname = "filelock";
-       version = "0.1.1.3";
-       sha256 = "04qimhz78jjndk686dblkx06l9jscq2q9gyr014a4pbfj4iljgi5";
+       version = "0.1.1.4";
+       sha256 = "189n4pvq7f4d235smg2iqs2m5rqmnjdxflifq0mnb2qdbc4jjznr";
        libraryHaskellDepends = [ base unix ];
        testHaskellDepends = [ async base process ];
        description = "Portable interface to file locking (flock / LockFileEx)";
@@ -84193,8 +84437,8 @@ self: {
      }:
      mkDerivation {
        pname = "filestore";
-       version = "0.6.3.4";
-       sha256 = "0q1ynqjslcxx5r93l6w2hsmd1khlq38c5g5mwrifrv12qnh28sx0";
+       version = "0.6.4";
+       sha256 = "1z967kviqsy3ma8xdfffx864f7ji6nsrbd5riis0nasm1bbwm8rr";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers Diff directory filepath old-locale
@@ -84205,6 +84449,8 @@ self: {
        ];
        description = "Interface for versioning file stores";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "filesystem-abstractions" = callPackage
@@ -84538,24 +84784,25 @@ self: {
      }) {};
 
   "finitary-derive" = callPackage
-    ({ mkDerivation, base, binary, coercible-utils, deepseq, finitary
-     , finite-typelits, ghc-typelits-extra, ghc-typelits-knownnat
-     , hashable, hedgehog, hedgehog-classes, monad-loops, mtl, vector
-     , vector-sized
+    ({ mkDerivation, base, binary, bitvec, coercible-utils, deepseq
+     , finitary, finite-typelits, ghc-typelits-extra
+     , ghc-typelits-knownnat, hashable, hedgehog, hedgehog-classes
+     , transformers, vector, vector-binary-instances, vector-instances
      }:
      mkDerivation {
        pname = "finitary-derive";
-       version = "1.0.0.1";
-       sha256 = "1wv9jjvv1jd5y39pybfawb19pxzwb6r3p69ajyh2f7m8nn81kcim";
+       version = "2.2.0.0";
+       sha256 = "11nkryzbhkbz4v2i4kwaggw67nlhs5jljqczmvliyz1df75f5kh3";
        libraryHaskellDepends = [
-         base binary coercible-utils deepseq finitary finite-typelits
-         ghc-typelits-extra ghc-typelits-knownnat hashable mtl vector
-         vector-sized
+         base binary bitvec coercible-utils deepseq finitary finite-typelits
+         ghc-typelits-extra ghc-typelits-knownnat hashable transformers
+         vector vector-binary-instances vector-instances
        ];
        testHaskellDepends = [
-         base finitary finite-typelits hedgehog hedgehog-classes monad-loops
+         base binary deepseq finitary finite-typelits hashable hedgehog
+         hedgehog-classes
        ];
-       description = "Easy and efficient Unbox, Storable, Binary and Hashable instances for Finitary types";
+       description = "Flexible and easy deriving of type classes for finitary types";
        license = stdenv.lib.licenses.gpl3Plus;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -84747,6 +84994,8 @@ self: {
        ];
        description = "Calculates file-size frequency-distribution";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fit" = callPackage
@@ -85217,10 +85466,8 @@ self: {
      }:
      mkDerivation {
        pname = "fixplate";
-       version = "0.1.7";
-       sha256 = "0brll5vkb3341l5iblrc1r50jzg8q6ycvbqvrc9jnj2nc86mslay";
-       revision = "1";
-       editedCabalFile = "0ynmm06iblqsyzfc068sdvmlpll8zwyccwkdlji3nf535biv56hb";
+       version = "0.1.8";
+       sha256 = "0m0g7gbdhigfc0k0sbvxhcl3gilv1wfmffwl14wr6jqbmpqy0as5";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base containers QuickCheck tasty tasty-quickcheck
@@ -85375,6 +85622,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "flags-applicative_0_1_0_2" = callPackage
+    ({ mkDerivation, base, casing, containers, hspec, mtl, network
+     , text
+     }:
+     mkDerivation {
+       pname = "flags-applicative";
+       version = "0.1.0.2";
+       sha256 = "192yghdmylynn57l22ahb6dhrbl590dxmv2cdn755r22v7dbhsgf";
+       libraryHaskellDepends = [
+         base casing containers mtl network text
+       ];
+       testHaskellDepends = [ base containers hspec text ];
+       description = "Applicative flag parsing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "flamethrower" = callPackage
     ({ mkDerivation, base, template-haskell, text }:
      mkDerivation {
@@ -87033,6 +87297,26 @@ self: {
        testHaskellDepends = [ aeson base containers hspec mtl text ];
        description = "Parse and validate forms in JSON format";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "forma_1_1_3" = callPackage
+    ({ mkDerivation, aeson, base, containers, hspec, mtl, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "forma";
+       version = "1.1.3";
+       sha256 = "0pd2qzibffbkw2c4mk687yg109pl0nfjq0kpwi2cl0l8d0qlyv0c";
+       libraryHaskellDepends = [
+         aeson base containers mtl text unordered-containers
+       ];
+       testHaskellDepends = [ aeson base containers hspec mtl text ];
+       description = "Parse and validate forms in JSON format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "formal" = callPackage
@@ -87518,6 +87802,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fplll" = callPackage
+    ({ mkDerivation, base, fplll, hgmp, lattices, semibounded-lattices
+     }:
+     mkDerivation {
+       pname = "fplll";
+       version = "0.1.0.0";
+       sha256 = "1q9njmsgxx4cpziw2llnbpg5ic6sag7qdhial00rak3iq29rzlhh";
+       libraryHaskellDepends = [
+         base hgmp lattices semibounded-lattices
+       ];
+       libraryPkgconfigDepends = [ fplll ];
+       testHaskellDepends = [ base ];
+       description = "Haskell bindings to <https://fplll.github.io/fplll/ fplll>";
+       license = stdenv.lib.licenses.lgpl21Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) fplll;};
+
   "fpnla" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -87782,14 +88084,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "free_5_1_3" = callPackage
+    ({ mkDerivation, base, comonad, containers, distributive
+     , exceptions, mtl, profunctors, semigroupoids, template-haskell
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "free";
+       version = "5.1.3";
+       sha256 = "0b9f9jrfgkq13333px6p1faxpcypqvzi0m9dnbj2rm8s79pdcw1c";
+       libraryHaskellDepends = [
+         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, containers, data-fix, dlist, free, groups
      , hedgehog, kan-extensions, mtl, transformers
      }:
      mkDerivation {
        pname = "free-algebras";
-       version = "0.0.8.0";
-       sha256 = "0hwvjvly1ab7bnb4knqxz0gpxkw8pn1x5xbqf3g0k98cqr0zpsj7";
+       version = "0.0.8.1";
+       sha256 = "07p1nmg88b6nvqi33q80vb2aj6svx9r33ax85ry6d7adkg83s4jz";
        libraryHaskellDepends = [
          base containers data-fix dlist free groups kan-extensions mtl
          transformers
@@ -87798,7 +88118,7 @@ self: {
          base containers data-fix dlist free groups hedgehog kan-extensions
          mtl transformers
        ];
-       description = "Free algebras in Haskell";
+       description = "Free algebras";
        license = stdenv.lib.licenses.mpl20;
      }) {};
 
@@ -87814,13 +88134,19 @@ self: {
      }) {};
 
   "free-category" = callPackage
-    ({ mkDerivation, base, free-algebras }:
+    ({ mkDerivation, base, criterion, free-algebras, QuickCheck, tasty
+     , tasty-quickcheck
+     }:
      mkDerivation {
        pname = "free-category";
-       version = "0.0.2.0";
-       sha256 = "16gs7n3gl5whda376j87qm9jfdx6zhmnyp43fjfaj6s5y2s0z53z";
+       version = "0.0.4.1";
+       sha256 = "1d7r9mcq4163g665bgzwxhvrk2iiypgss8s3j2lmqccb461s7a4j";
        libraryHaskellDepends = [ base free-algebras ];
-       description = "Free category";
+       testHaskellDepends = [
+         base free-algebras QuickCheck tasty tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "efficient data types for free categories and arrows";
        license = stdenv.lib.licenses.mpl20;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -89475,6 +89801,33 @@ self: {
        broken = true;
      }) {};
 
+  "functor-combinators_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bifunctors, comonad, constraints, containers
+     , dependent-sum, deriving-compat, free, hedgehog, kan-extensions
+     , mmorph, mtl, natural-transformation, nonempty-containers, pointed
+     , profunctors, semigroupoids, tagged, tasty, tasty-hedgehog, these
+     , transformers, trivial-constraint, vinyl
+     }:
+     mkDerivation {
+       pname = "functor-combinators";
+       version = "0.2.0.0";
+       sha256 = "0z8r9z08cayyv2ag748aa8550sd2mnj2zagdkf5i5yn3lvhd0k6j";
+       libraryHaskellDepends = [
+         base bifunctors comonad constraints containers deriving-compat free
+         kan-extensions mmorph mtl natural-transformation
+         nonempty-containers pointed profunctors semigroupoids tagged these
+         transformers trivial-constraint vinyl
+       ];
+       testHaskellDepends = [
+         base bifunctors dependent-sum free hedgehog nonempty-containers
+         semigroupoids tasty tasty-hedgehog transformers
+       ];
+       description = "Tools for functor combinator-based program design";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "functor-combo" = callPackage
     ({ mkDerivation, base, base-orphans, containers, data-inttrie, lub
      , type-unary, TypeCompose
@@ -89793,6 +90146,8 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "Handle exceptions thrown in IO with fused-effects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fused-effects-lens" = callPackage
@@ -89805,6 +90160,8 @@ self: {
        testHaskellDepends = [ base fused-effects hspec microlens ];
        description = "Monadic lens combinators for fused-effects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fused-effects-random" = callPackage
@@ -89820,6 +90177,8 @@ self: {
        ];
        description = "Random number generation for fused-effects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fused-effects-resumable" = callPackage
@@ -89833,6 +90192,8 @@ self: {
        ];
        description = "Resumable exceptions for the fused-effects ecosystem";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fusion" = callPackage
@@ -89866,8 +90227,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.12.3";
-       sha256 = "02ddxa7mkmbwg16ylvjdld85fw479n8jvi21mn7fak7vaqjdd2hw";
+       version = "0.13.1";
+       sha256 = "0h92q21hg3850f7hv5n497mn90dv3hxp8fa3cl29gwkn0pkaz33b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -90234,6 +90595,34 @@ self: {
        broken = true;
      }) {};
 
+  "galois-fft" = callPackage
+    ({ mkDerivation, base, criterion, elliptic-curve, galois-field
+     , pairing, poly, protolude, QuickCheck, quickcheck-instances, tasty
+     , tasty-discover, tasty-hunit, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "galois-fft";
+       version = "0.1.0";
+       sha256 = "1qyhx0b0p3avag82g1fdwbiwxdr0npw39k4f2nv0x772rr4h9rz1";
+       libraryHaskellDepends = [
+         base elliptic-curve galois-field poly protolude vector
+       ];
+       testHaskellDepends = [
+         base elliptic-curve galois-field pairing poly protolude QuickCheck
+         quickcheck-instances tasty tasty-discover tasty-hunit
+         tasty-quickcheck vector
+       ];
+       testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         base criterion elliptic-curve galois-field pairing poly protolude
+         vector
+       ];
+       description = "FFTs over finite fields";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "galois-field" = callPackage
     ({ mkDerivation, base, criterion, integer-gmp, MonadRandom
      , protolude, tasty, tasty-quickcheck, wl-pprint-text
@@ -90505,12 +90894,12 @@ self: {
      }) {};
 
   "gasp" = callPackage
-    ({ mkDerivation, base, binary, containers }:
+    ({ mkDerivation, base, binary, containers, mtl }:
      mkDerivation {
        pname = "gasp";
-       version = "1.1.0.0";
-       sha256 = "1zv7jq60nw2nd0np7xkz83y7jnvnshccz63j0i9bl0d9x1grhzbq";
-       libraryHaskellDepends = [ base binary containers ];
+       version = "1.2.0.0";
+       sha256 = "0dq867kgil7xp7wqk8ylmx9ninxrqwc375g5l13iskvyz1li7474";
+       libraryHaskellDepends = [ base binary containers mtl ];
        description = "A framework of algebraic classes";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -90751,20 +91140,6 @@ self: {
     ({ mkDerivation, base, lawful }:
      mkDerivation {
        pname = "gdp";
-       version = "0.0.0.2";
-       sha256 = "1gqs19wjyng0nacwvi7sjxnhnxjy2az0jwjyy6w2r5g4w9dgykr1";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base lawful ];
-       executableHaskellDepends = [ base ];
-       description = "Reason about invariants and preconditions with ghosts of departed proofs";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "gdp_0_0_3_0" = callPackage
-    ({ mkDerivation, base, lawful }:
-     mkDerivation {
-       pname = "gdp";
        version = "0.0.3.0";
        sha256 = "0pkx6j557p9rm39pr6pw8p2j3nz8s4q839n6y9p6c31dnlz0zxx0";
        isLibrary = true;
@@ -90773,7 +91148,6 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Reason about invariants and preconditions with ghosts of departed proofs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gearbox" = callPackage
@@ -91333,14 +91707,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "generic-deriving_1_13" = callPackage
+  "generic-deriving_1_13_1" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover
      , template-haskell, th-abstraction
      }:
      mkDerivation {
        pname = "generic-deriving";
-       version = "1.13";
-       sha256 = "0k4av4jamgpavn82q54g345la5i2ckfbq2w9nnf2a6vhvk1lnw8g";
+       version = "1.13.1";
+       sha256 = "1glsl15dc40wn1r851bray6i450g82xa2n0q53p1i3p5x903mdg9";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell th-abstraction
        ];
@@ -91983,12 +92357,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "genvalidity_0_9_0_1" = callPackage
+  "genvalidity_0_9_1_0" = callPackage
     ({ mkDerivation, base, hspec, hspec-core, QuickCheck, validity }:
      mkDerivation {
        pname = "genvalidity";
-       version = "0.9.0.1";
-       sha256 = "1f0jhahgh0kyyk74g2vmjb3vcv4qvg2xhib1n92r8yyggxih3msl";
+       version = "0.9.1.0";
+       sha256 = "0pkc0ys8g6g0d22s83xwk1vkx476qhassdqn4d7m6z0zcsq0shkg";
        libraryHaskellDepends = [ base QuickCheck validity ];
        testHaskellDepends = [ base hspec hspec-core QuickCheck ];
        description = "Testing utilities for the validity library";
@@ -92056,15 +92430,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "genvalidity-containers_0_8_0_0" = callPackage
+  "genvalidity-containers_0_8_0_1" = callPackage
     ({ mkDerivation, base, containers, genvalidity, genvalidity-hspec
      , genvalidity-property, hspec, QuickCheck, validity
      , validity-containers
      }:
      mkDerivation {
        pname = "genvalidity-containers";
-       version = "0.8.0.0";
-       sha256 = "1397i50dzd7jhq2ymzs2msgbgkih9dfn74bhl2va2rrgjhnypnw6";
+       version = "0.8.0.1";
+       sha256 = "1iamvqrrvqa07hkpfcsmmrg3zppm2gk5gn97qpgmwn0h1pq9fmjp";
        libraryHaskellDepends = [
          base containers genvalidity QuickCheck validity validity-containers
        ];
@@ -92352,6 +92726,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-text_0_7_0_1" = callPackage
+    ({ mkDerivation, array, base, criterion, genvalidity
+     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
+     , random, text, validity, validity-text
+     }:
+     mkDerivation {
+       pname = "genvalidity-text";
+       version = "0.7.0.1";
+       sha256 = "13lpvjid379acapk8if3355zrgaaw2dg8fw52vzby9hqj4ki4gxs";
+       libraryHaskellDepends = [
+         array base genvalidity QuickCheck random text validity
+         validity-text
+       ];
+       testHaskellDepends = [
+         base genvalidity genvalidity-hspec hspec QuickCheck text
+       ];
+       benchmarkHaskellDepends = [
+         base criterion genvalidity genvalidity-criterion QuickCheck text
+       ];
+       description = "GenValidity support for Text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {genvalidity-criterion = null;};
+
   "genvalidity-time" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
      , QuickCheck, time, validity-time
@@ -92578,8 +92977,8 @@ self: {
      }:
      mkDerivation {
        pname = "geoip2";
-       version = "0.4.0.0";
-       sha256 = "1a2wxblnv611asfwkgm2ndam1jvm2xqajj3rk0ii9qi7j9s5w8v0";
+       version = "0.4.0.1";
+       sha256 = "0q0clfmq7spfplxr6dxhq0d39f5l95yfr87ixnv2cn0ahcx7fpi7";
        libraryHaskellDepends = [
          base bytestring cereal containers iproute lens mmap
          reinterpret-cast text
@@ -92807,6 +93206,8 @@ self: {
        ];
        description = "Github Standard Labeler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "gh-pocket-knife" = callPackage
@@ -93046,8 +93447,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-events";
-       version = "0.11.0";
-       sha256 = "0ssm19fp6phpj7b0xgylz29fcbzq8chgfz62kax3wc1acd40vmp0";
+       version = "0.12.0";
+       sha256 = "08lrpi6dn32m9ih2w6s7s7fq95k5k015jxkj73z1kss092l3pwi6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -93311,27 +93712,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib_8_8_1" = callPackage
+  "ghc-lib_8_8_1_20191204" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy
-     , haskeline, hpc, pretty, process, time, transformers, unix
+     , hpc, pretty, process, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.8.1";
-       sha256 = "0lilr12pamss6x2vkqb700zy7yd15vd4y8f0h4q8fdp068bxn177";
-       isLibrary = true;
-       isExecutable = true;
+       version = "8.8.1.20191204";
+       sha256 = "1xj2l9w4jmwxavs5s6p50wciracqlvkx9mg015m8gv1s8sxn6sqh";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          ghc-lib-parser ghc-prim hpc pretty process time transformers unix
        ];
        libraryToolDepends = [ alex happy ];
-       executableHaskellDepends = [
-         array base bytestring containers deepseq directory filepath
-         ghc-prim haskeline process time transformers unix
-       ];
        description = "The GHC API, decoupled from GHC versions";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -93356,15 +93751,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-lib-parser_8_8_1" = callPackage
+  "ghc-lib-parser_8_8_1_20191204" = 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";
+       version = "8.8.1.20191204";
+       sha256 = "0acfq70mhhb76v0fhgqnijb4yp4njzxwc3c6d53r594cix3grvdp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -93797,6 +94192,8 @@ self: {
        pname = "ghc-syntax-highlighter";
        version = "0.0.5.0";
        sha256 = "09h911wqja56b9j9dwjqv7dlim9rm50vra1bkp8zhnlw9fa2s127";
+       revision = "1";
+       editedCabalFile = "15ykgzk8f1kslvwl645saz7q1d6iv3fk5xyri65v2gaiaih0r640";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base ghc-lib-parser text ];
        testHaskellDepends = [ base hspec text ];
@@ -93855,11 +94252,11 @@ self: {
     ({ mkDerivation, base, bytestring, criterion, text }:
      mkDerivation {
        pname = "ghc-trace-events";
-       version = "0.0.0.1";
-       sha256 = "0b9s07wy26f9xswg6ysylpjaa9gv9iqw50n3zqpkj3jr8ah8y3kl";
+       version = "0.1.0";
+       sha256 = "0i68zk3k02f3hp6yvkgmdvdjfm8kgh3pwhr3qff4bc9isfh6qks2";
        libraryHaskellDepends = [ base bytestring text ];
        benchmarkHaskellDepends = [ base bytestring criterion ];
-       description = "Faster replacements for traceEvent and traceMarker";
+       description = "Faster traceEvent and traceMarker, and binary object logging for eventlog";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -94023,8 +94420,8 @@ self: {
     ({ mkDerivation, base, directory, ghc, time }:
      mkDerivation {
        pname = "ghcflags";
-       version = "1.0.1";
-       sha256 = "1s7xx13ka5jc8c5ga2yzzx3m6l9kn8fjgrfq6g7y6z8kw38590vb";
+       version = "1.0.2";
+       sha256 = "17j7bkx7ki5vqr0a3vl0f0v4l9cz2q7lm9xpkj3144y9sqmiqzy3";
        libraryHaskellDepends = [ base directory ghc time ];
        description = "Dump the ghc flags during compilation";
        license = stdenv.lib.licenses.bsd2;
@@ -94218,6 +94615,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghcid_0_8" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, containers
+     , directory, extra, filepath, fsnotify, process, tasty, tasty-hunit
+     , terminal-size, time, unix
+     }:
+     mkDerivation {
+       pname = "ghcid";
+       version = "0.8";
+       sha256 = "1vyjsxxp0jqqfkxp9r8by9qg794g0nj3k5zg7vlvh5v8xzigv8qg";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base cmdargs directory extra filepath process time
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process terminal-size time unix
+       ];
+       testHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process tasty tasty-hunit terminal-size time unix
+       ];
+       description = "GHCi based bare bones IDE";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghcide" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring, containers
      , data-default, deepseq, directory, extra, filepath, ghc, ghc-boot
@@ -94233,6 +94657,8 @@ self: {
        pname = "ghcide";
        version = "0.0.4";
        sha256 = "19iasnsqz9a07gw1f3cxraij1hykwxsidx1c26ws8l13nhnh6mpr";
+       revision = "1";
+       editedCabalFile = "028g2g8g3r4phazry3faj7ham11m95v4aq314kjbkpx8lxva2ipv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -95985,8 +96411,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-config";
-       version = "0.1.1";
-       sha256 = "0vspjqscw02x3hr6n0d0d4kyjfh5lij4wy58fp4z301vmyv77vgl";
+       version = "0.1.2";
+       sha256 = "1kp5yqn7pz5haq41m2za2f3bw0ygf1zlnn3n0b76zh0jbrndgknh";
        libraryHaskellDepends = [
          base megaparsec text unordered-containers
        ];
@@ -96395,8 +96821,8 @@ self: {
      }:
      mkDerivation {
        pname = "github";
-       version = "0.23";
-       sha256 = "1d08m0kajl6zaralz1rbm4miv2a5zrbm6asjyrl75n915l56m9mb";
+       version = "0.24";
+       sha256 = "0jbk34aibm5bqbax8f2sif840f31g81yipnkav96lr4pfdv5b4mr";
        libraryHaskellDepends = [
          aeson base base-compat base16-bytestring binary binary-instances
          bytestring containers cryptohash-sha1 deepseq deepseq-generics
@@ -96761,22 +97187,16 @@ self: {
 
   "gitlab-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, connection, http-conduit
-     , http-types, optparse-applicative, text, transformers, unliftio
-     , unliftio-core
+     , http-types, text, time, transformers, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "gitlab-haskell";
-       version = "0.1.2";
-       sha256 = "0m5gxf7799ds3ff46bz7j3rxycwnbaaik7lffyh22ipp3wlxjxpn";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.1.4";
+       sha256 = "09va5xbb2qya149gzrm3d3q9g6s4axxx6qkv4z764dryqq7fm7ly";
        libraryHaskellDepends = [
-         aeson base bytestring connection http-conduit http-types text
+         aeson base bytestring connection http-conduit http-types text time
          transformers unliftio unliftio-core
        ];
-       executableHaskellDepends = [
-         base http-types optparse-applicative text
-       ];
        description = "A Haskell library for the GitLab web API";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -97785,10 +98205,15 @@ self: {
      }:
      mkDerivation {
        pname = "glpk-hs";
-       version = "0.5";
-       sha256 = "1scr5iyxn83172g3d7wjww3frcrgk8kh3hzni11qchskllkx0vm3";
+       version = "0.7";
+       sha256 = "0cbdlidq14hmhndlgxid4gdzyg0jlm5habp5389xl3zkbmm2hni9";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ array base containers deepseq gasp mtl ];
        librarySystemDepends = [ glpk ];
+       executableHaskellDepends = [
+         array base containers deepseq gasp mtl
+       ];
        description = "Comprehensive GLPK linear programming bindings";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -102064,21 +102489,22 @@ self: {
      }) {};
 
   "graphql" = callPackage
-    ({ mkDerivation, aeson, base, hspec, hspec-expectations
+    ({ mkDerivation, aeson, base, containers, hspec, hspec-expectations
      , hspec-megaparsec, megaparsec, raw-strings-qq, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "graphql";
-       version = "0.5.1.0";
-       sha256 = "0wnn4nhszcciv06h17qkaxn649w48fw876v85934mfbn56fczzdd";
+       version = "0.6.0.0";
+       sha256 = "0gippn2y1ngykfz33825r4r4m5km7m8qch7ijics1q9d1jnszs5a";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base megaparsec text transformers unordered-containers
+         aeson base containers megaparsec text transformers
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson base hspec hspec-expectations hspec-megaparsec megaparsec
-         raw-strings-qq text transformers unordered-containers
+         aeson base containers hspec hspec-expectations hspec-megaparsec
+         megaparsec raw-strings-qq text transformers unordered-containers
        ];
        description = "Haskell GraphQL implementation";
        license = stdenv.lib.licenses.bsd3;
@@ -102121,8 +102547,8 @@ self: {
     ({ mkDerivation, base, containers, json, text }:
      mkDerivation {
        pname = "graphql-w-persistent";
-       version = "0.6.0.0";
-       sha256 = "03m247xmj8gvvjs4bgsc06daz9avklza7ngs575psaqmkpxd8ga3";
+       version = "0.7.0.0";
+       sha256 = "02qbwkbr8hckr6z9ivszdnwlilz7mkh6zinb33s7gas7iwzkf9jc";
        libraryHaskellDepends = [ base containers json text ];
        description = "GraphQL interface middleware for (SQL) databases";
        license = stdenv.lib.licenses.isc;
@@ -104270,29 +104696,28 @@ self: {
 
   "hOpenPGP" = callPackage
     ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
-     , base16-bytestring, base64-bytestring, bifunctors, binary
-     , binary-conduit, bytestring, bzlib, conduit, conduit-extra
-     , containers, criterion, crypto-cipher-types, cryptonite, errors
-     , hashable, incremental-parser, ixset-typed, lens, memory
-     , monad-loops, nettle, network, network-uri, newtype
-     , openpgp-asciiarmor, prettyprinter, QuickCheck
-     , quickcheck-instances, resourcet, semigroups, split, tasty
-     , tasty-hunit, tasty-quickcheck, text, time, time-locale-compat
-     , transformers, unliftio-core, unordered-containers, zlib
+     , base16-bytestring, bifunctors, binary, binary-conduit, bytestring
+     , bzlib, conduit, conduit-extra, containers, criterion
+     , crypto-cipher-types, cryptonite, errors, hashable
+     , incremental-parser, ixset-typed, lens, memory, monad-loops
+     , nettle, network, network-uri, newtype, openpgp-asciiarmor
+     , prettyprinter, QuickCheck, quickcheck-instances, resourcet
+     , semigroups, split, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, time-locale-compat, transformers, unliftio-core
+     , unordered-containers, zlib
      }:
      mkDerivation {
        pname = "hOpenPGP";
-       version = "2.8";
-       sha256 = "1n6cpwgg934ii3b4ap2gp347q3k4b64dc9x37d4bj51hs6910pmw";
-       libraryHaskellDepends = [
-         aeson asn1-encoding attoparsec base base16-bytestring
-         base64-bytestring bifunctors binary binary-conduit bytestring bzlib
-         conduit conduit-extra containers crypto-cipher-types cryptonite
-         errors hashable incremental-parser ixset-typed lens memory
-         monad-loops nettle network-uri newtype openpgp-asciiarmor
-         prettyprinter resourcet semigroups split text time
-         time-locale-compat transformers unliftio-core unordered-containers
-         zlib
+       version = "2.8.4";
+       sha256 = "0vvr86y29ncgs3j2hd5qhsxix09jf01ah8qqq6n12zsh484cr127";
+       libraryHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
+         incremental-parser ixset-typed lens memory monad-loops nettle
+         network-uri newtype openpgp-asciiarmor prettyprinter resourcet
+         semigroups split text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
        ];
        testHaskellDepends = [
          aeson asn1-encoding attoparsec base base16-bytestring bifunctors
@@ -104305,16 +104730,68 @@ self: {
          unliftio-core unordered-containers zlib
        ];
        benchmarkHaskellDepends = [
-         aeson base base16-bytestring base64-bytestring bifunctors binary
-         binary-conduit bytestring bzlib conduit conduit-extra containers
-         criterion crypto-cipher-types cryptonite errors hashable
+         aeson base base16-bytestring bifunctors binary binary-conduit
+         bytestring bzlib conduit conduit-extra containers criterion
+         crypto-cipher-types cryptonite errors hashable incremental-parser
+         ixset-typed lens memory monad-loops nettle network network-uri
+         newtype openpgp-asciiarmor prettyprinter resourcet semigroups split
+         text time time-locale-compat transformers unliftio-core
+         unordered-containers zlib
+       ];
+       description = "native Haskell implementation of OpenPGP (RFC4880)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hOpenPGP_2_9" = callPackage
+    ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
+     , base16-bytestring, bifunctors, binary, binary-conduit, bytestring
+     , bzlib, conduit, conduit-extra, containers, criterion
+     , crypto-cipher-types, cryptonite, errors, hashable
+     , incremental-parser, ixset-typed, lens, memory, monad-loops
+     , nettle, network, network-uri, newtype, openpgp-asciiarmor
+     , prettyprinter, QuickCheck, quickcheck-instances, resourcet
+     , semigroups, split, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, time-locale-compat, transformers, unliftio-core
+     , unordered-containers, zlib
+     }:
+     mkDerivation {
+       pname = "hOpenPGP";
+       version = "2.9";
+       sha256 = "0xdb1ggd7pw0faan8cs3hs29sqb3bgjfhxqs5x43hh1k64k3vdjk";
+       libraryHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
          incremental-parser ixset-typed lens memory monad-loops nettle
-         network network-uri newtype openpgp-asciiarmor prettyprinter
-         resourcet semigroups split text time time-locale-compat
-         transformers unliftio-core unordered-containers zlib
+         network-uri newtype openpgp-asciiarmor prettyprinter resourcet
+         semigroups split text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
+       ];
+       testHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
+         incremental-parser ixset-typed lens memory monad-loops nettle
+         network network-uri newtype prettyprinter QuickCheck
+         quickcheck-instances resourcet semigroups split tasty tasty-hunit
+         tasty-quickcheck text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
+       ];
+       benchmarkHaskellDepends = [
+         aeson base base16-bytestring bifunctors binary binary-conduit
+         bytestring bzlib conduit conduit-extra containers criterion
+         crypto-cipher-types cryptonite errors hashable incremental-parser
+         ixset-typed lens memory monad-loops nettle network network-uri
+         newtype openpgp-asciiarmor prettyprinter resourcet semigroups split
+         text time time-locale-compat transformers unliftio-core
+         unordered-containers zlib
        ];
        description = "native Haskell implementation of OpenPGP (RFC4880)";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hPDB" = callPackage
@@ -105205,22 +105682,21 @@ self: {
 
   "hackage-repo-tool" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , hackage-security, network, network-uri, old-time
+     , hackage-security, microlens, network, network-uri, old-time
      , optparse-applicative, tar, time, unix, zlib
      }:
      mkDerivation {
        pname = "hackage-repo-tool";
-       version = "0.1.1.1";
-       sha256 = "05r4i7zhwbsv9ci4yid57fnb5lkx254pch9arq5a11dvwsvdzvzw";
-       revision = "2";
-       editedCabalFile = "04ghg9chkqj3s4g24jszcpb4m8fi9qbgs04bbb1kny3c6ihin93x";
+       version = "0.1.1.2";
+       sha256 = "1zgsmibi24w2wsd828hnls1yv9lrl9xwsi2aay3d603j8mg8vd0r";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring Cabal directory filepath hackage-security network
-         network-uri old-time optparse-applicative tar time unix zlib
+         base bytestring Cabal directory filepath hackage-security microlens
+         network network-uri old-time optparse-applicative tar time unix
+         zlib
        ];
-       description = "Utility to manage secure file-based package repositories";
+       description = "Manage secure file-based package repositories";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -105253,6 +105729,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hackage-security_0_6_0_0" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, base64-bytestring
+     , bytestring, Cabal, containers, cryptohash-sha256, directory
+     , ed25519, filepath, ghc-prim, lukko, mtl, network, network-uri
+     , parsec, pretty, QuickCheck, tar, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, temporary, time, transformers
+     , unordered-containers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "hackage-security";
+       version = "0.6.0.0";
+       sha256 = "1y9vs30y474ri8b9jqkbwfkcfh7p7jaafzwxina9z0xl32d0bn1c";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring Cabal
+         containers cryptohash-sha256 directory ed25519 filepath ghc-prim
+         lukko mtl network network-uri parsec pretty tar template-haskell
+         time transformers zlib
+       ];
+       testHaskellDepends = [
+         aeson base bytestring Cabal containers network-uri QuickCheck tar
+         tasty tasty-hunit tasty-quickcheck temporary time
+         unordered-containers vector zlib
+       ];
+       description = "Hackage security library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hackage-security-HTTP" = callPackage
     ({ mkDerivation, base, bytestring, hackage-security, HTTP, mtl
      , network, network-uri, zlib
@@ -105729,8 +106233,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "1.17.2";
-       sha256 = "0s9q0016j3y56sblkq12mai1j58h8w8cy8k2x1bzvhb95zpg1va9";
+       version = "1.17.3";
+       sha256 = "00lyf2m6q866383q79b705xhn987504wz3fp3zh7m8580v8phy5p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106484,8 +106988,6 @@ self: {
        ];
        description = "Hakyll utilities to work with images";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hakyll-ogmarkup" = callPackage
@@ -107511,8 +108013,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.4.0";
-       sha256 = "1q4k8x6mwh9g7y5njcjd1xyn79yjnjv01nk4xa5q9yspmsa4685m";
+       version = "2.4.0.2";
+       sha256 = "16f4rs4h3lznkci5axibliiwfr3vrm03arxcjfjiv6mypkcpnp2r";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -107771,8 +108273,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-hsp";
-       version = "7.3.7.3";
-       sha256 = "0m7psd6dg33xijshs3dxz2xrqghmpbs402h67b52pkqsk5nmy633";
+       version = "7.3.7.4";
+       sha256 = "188fqqpq7m921qkfv2b64pikcx8zzsy376l4py4wxlkabl7fkydr";
        libraryHaskellDepends = [
          base bytestring happstack-server harp hsp hsx2hs mtl syb text
          utf8-string
@@ -107827,8 +108329,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-jmacro";
-       version = "7.0.12.1";
-       sha256 = "0bx2wa0pdj73f11xhkk0qq3k8zwh6ccc3kqli9q59617s05wq6zz";
+       version = "7.0.12.2";
+       sha256 = "0zgmh75z59g6hs8n924sbnhswjdd6b947ywiird2a3y6d2zwqj3v";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cereal digest happstack-server
          jmacro text utf8-string wl-pprint-text
@@ -108408,8 +108910,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "harp";
-       version = "0.4.3.2";
-       sha256 = "1abyfsr0ya7j0s6znixhfhsr9mlmcg16rg5d9909b0xr896bkbn6";
+       version = "0.4.3.3";
+       sha256 = "16bmv3ymiiyvy65vf4s5h4fhp6q5hrw40xfdba4yarwgpbm0frm2";
        libraryHaskellDepends = [ base ];
        description = "HaRP allows pattern-matching with regular expressions";
        license = stdenv.lib.licenses.bsd3;
@@ -108501,6 +109003,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hasbolt_0_1_3_6" = callPackage
+    ({ mkDerivation, base, binary, bytestring, connection, containers
+     , data-binary-ieee754, data-default, hex, hspec, mtl, network
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "hasbolt";
+       version = "0.1.3.6";
+       sha256 = "0sgxvgvxqykslbjslrb5mzmaaar4nbc59p94qhk7rzbjsas01vp2";
+       libraryHaskellDepends = [
+         base binary bytestring connection containers data-binary-ieee754
+         data-default mtl network text
+       ];
+       testHaskellDepends = [
+         base bytestring containers hex hspec QuickCheck text
+       ];
+       description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hasbolt-extras" = callPackage
     ({ mkDerivation, aeson, aeson-casing, base, bytestring, containers
      , data-default, doctest, free, hasbolt, lens, mtl
@@ -109485,23 +110008,24 @@ self: {
 
   "haskell-ci" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, base-compat
-     , bytestring, Cabal, containers, deepseq, Diff, directory
-     , exceptions, filepath, generic-lens, HsYAML, lattices, microlens
-     , mtl, network-uri, optparse-applicative, parsec, pretty, process
-     , ShellCheck, tasty, tasty-golden, temporary, text, transformers
-     , unordered-containers
+     , bytestring, Cabal, cabal-install-parsers, containers, deepseq
+     , Diff, directory, exceptions, filepath, generic-lens, HsYAML
+     , lattices, microlens, mtl, network-uri, optparse-applicative
+     , parsec, pretty, process, ShellCheck, tasty, tasty-golden
+     , temporary, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "haskell-ci";
-       version = "0.6";
-       sha256 = "1g9zfdw4z00sbh3mkaz2hzn09hjlawkb7h67mqn4qsdjw6dbwaab";
+       version = "0.8";
+       sha256 = "1wm5fs8fdy85lvjyy9n0yh66ax6bs0ll4gq7d8ba0ibsp69g6pm3";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers deepseq
-         directory exceptions filepath generic-lens HsYAML lattices
-         microlens mtl network-uri optparse-applicative parsec pretty
-         process ShellCheck temporary text transformers unordered-containers
+         aeson base base-compat bytestring Cabal cabal-install-parsers
+         containers deepseq directory exceptions filepath generic-lens
+         HsYAML lattices microlens mtl network-uri optparse-applicative
+         parsec pretty process ShellCheck temporary text transformers
+         unordered-containers
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -109511,7 +110035,8 @@ self: {
        doHaddock = false;
        description = "Cabal package script generator for Travis-CI";
        license = stdenv.lib.licenses.gpl3Plus;
-       maintainers = with stdenv.lib.maintainers; [ peti ];
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-cnc" = callPackage
@@ -110051,7 +110576,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp_0_17_0_0" = callPackage
+  "haskell-lsp_0_18_0_0" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , containers, data-default, directory, filepath, hashable
      , haskell-lsp-types, hslogger, hspec, hspec-discover, lens, mtl
@@ -110060,8 +110585,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-lsp";
-       version = "0.17.0.0";
-       sha256 = "17c95ndm6jadab04q707pmv6x9cwshk463c8gc9ai0m7763win7x";
+       version = "0.18.0.0";
+       sha256 = "0q9xpjgr3n7svhd9f7mmkw113avswvfm08fnbijdr1sblipd12sl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -110120,15 +110645,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp-types_0_17_0_0" = callPackage
+  "haskell-lsp-types_0_18_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, deepseq
      , filepath, hashable, lens, network-uri, scientific, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-lsp-types";
-       version = "0.17.0.0";
-       sha256 = "03i3s7f82imv4ysclhjv07mcs0dl3m5nmjxmfa5wafircai4yi3p";
+       version = "0.18.0.0";
+       sha256 = "1ypa3gxxcg7dl905d4nprcqzw2fcl7z7xy1hpg5har1dw3w9fyiq";
        libraryHaskellDepends = [
          aeson base bytestring data-default deepseq filepath hashable lens
          network-uri scientific text unordered-containers
@@ -110772,14 +111297,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-src-meta_0_8_4" = callPackage
+  "haskell-src-meta_0_8_5" = callPackage
     ({ mkDerivation, base, containers, haskell-src-exts, HUnit, pretty
      , syb, tasty, tasty-hunit, template-haskell, th-orphans
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8.4";
-       sha256 = "18zcsaz9cb65rpyxmxrs30vqmdighc4flyfv8ix623nlq247drsn";
+       version = "0.8.5";
+       sha256 = "1csqp3n7330rhia9msyw34z7qwwj64gdy5qlv8w4jbm49dap24ik";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -111768,6 +112293,17 @@ self: {
        broken = true;
      }) {};
 
+  "haskellish" = callPackage
+    ({ mkDerivation, base, haskell-src-exts }:
+     mkDerivation {
+       pname = "haskellish";
+       version = "0.1.1";
+       sha256 = "1smgr42m4dz6yd8w34dmc3w2l06jllli831bq66l3mdbrfb3964h";
+       libraryHaskellDepends = [ base haskell-src-exts ];
+       description = "For parsing Haskell-ish languages";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskellscrabble" = callPackage
     ({ mkDerivation, array, arrows, base, containers, directory, errors
      , filepath, HUnit, listsafe, mtl, parsec, QuickCheck, random, safe
@@ -112108,6 +112644,37 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Bitcoin & Bitcoin Cash library for Haskell";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "haskoin-core_0_9_7" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, bytestring
+     , cereal, conduit, containers, cryptonite, entropy, hashable, hspec
+     , hspec-discover, HUnit, memory, mtl, murmur3, network, QuickCheck
+     , safe, scientific, secp256k1-haskell, split, string-conversions
+     , text, time, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "haskoin-core";
+       version = "0.9.7";
+       sha256 = "04bh21sdkqzp7rlvs49wqq9lj8cyf2mm8cdjyg3zr4kqsfbw2z73";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring bytestring cereal conduit
+         containers cryptonite entropy hashable hspec HUnit memory mtl
+         murmur3 network QuickCheck safe scientific secp256k1-haskell split
+         string-conversions text time transformers unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring cereal containers hspec HUnit mtl QuickCheck
+         safe split string-conversions text unordered-containers vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bitcoin & Bitcoin Cash library for Haskell";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskoin-crypto" = callPackage
@@ -112223,8 +112790,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.18.7";
-       sha256 = "1cdj43n3y7j9gcw1196y9g5n188yf2dhjrj277impvlrf5y5qqs7";
+       version = "0.18.8";
+       sha256 = "084lbgc80hgjbv4grjm3m40i4n092c075whaz33jav0nkbzpmhd0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -113375,14 +113942,27 @@ self: {
      }) {};
 
   "hasql-th" = callPackage
-    ({ mkDerivation, base-prelude, bytestring, template-haskell, text
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , contravariant, fast-builder, foldl, hashable, hasql
+     , headed-megaparsec, hedgehog, megaparsec, parser-combinators
+     , selective, template-haskell, text, text-builder, tuple-th
+     , unordered-containers, uuid, vector
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.2.1";
-       sha256 = "0lfnmlpxxzm06cr3p6b2x0wzf11913w6ps6hlv290mdd0l3wk1mg";
+       version = "0.3.0.1";
+       sha256 = "03wfzwf3rr83j158757llq23zi17pkpmpracwisbz4acvk0vb3s0";
        libraryHaskellDepends = [
-         base-prelude bytestring template-haskell text
+         base bytestring case-insensitive containers contravariant
+         fast-builder foldl hashable hasql headed-megaparsec megaparsec
+         parser-combinators selective template-haskell text text-builder
+         tuple-th unordered-containers uuid vector
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive containers contravariant
+         fast-builder foldl hashable hasql headed-megaparsec hedgehog
+         megaparsec parser-combinators selective template-haskell text
+         text-builder tuple-th unordered-containers uuid vector
        ];
        description = "Template Haskell utilities for Hasql";
        license = stdenv.lib.licenses.mit;
@@ -113406,21 +113986,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hasql-transaction_1" = callPackage
+  "hasql-transaction_1_0_0_1" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-tree-builder
      , contravariant, contravariant-extras, hasql, mtl, rebase
      , transformers
      }:
      mkDerivation {
        pname = "hasql-transaction";
-       version = "1";
-       sha256 = "1k82b0bx4j2g7lhr2p4z4a365kx1i23dr6zikwg1yyhpvhl3xbcj";
+       version = "1.0.0.1";
+       sha256 = "0jfvabsjpj56piny41hzbblhprjsk5xkpk35x502q2isl2mkk5ql";
        libraryHaskellDepends = [
          base bytestring bytestring-tree-builder contravariant
          contravariant-extras hasql mtl transformers
        ];
        testHaskellDepends = [ async hasql rebase ];
-       description = "A composable abstraction over the retryable transactions for Hasql";
+       description = "Composable abstraction over retryable transactions for Hasql";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -114614,21 +115194,6 @@ self: {
      }:
      mkDerivation {
        pname = "hdaemonize";
-       version = "0.5.5";
-       sha256 = "17q2zr9bv6xwnldgbsh1idwfgybp8q4xzq79p2lmmi3f0q6cnl6j";
-       libraryHaskellDepends = [
-         base bytestring extensible-exceptions filepath hsyslog mtl unix
-       ];
-       description = "Library to handle the details of writing daemons for UNIX";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hdaemonize_0_5_6" = callPackage
-    ({ mkDerivation, base, bytestring, extensible-exceptions, filepath
-     , hsyslog, mtl, unix
-     }:
-     mkDerivation {
-       pname = "hdaemonize";
        version = "0.5.6";
        sha256 = "097fgjgskigy3grnd3ijzyhdq34vjmd9bjk2rscixi59j8j30vxd";
        libraryHaskellDepends = [
@@ -114636,7 +115201,6 @@ self: {
        ];
        description = "Library to handle the details of writing daemons for UNIX";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hdaemonize-buildfix" = callPackage
@@ -115109,6 +115673,21 @@ self: {
        broken = true;
      }) {};
 
+  "headed-megaparsec" = callPackage
+    ({ mkDerivation, base, case-insensitive, megaparsec
+     , parser-combinators, selective
+     }:
+     mkDerivation {
+       pname = "headed-megaparsec";
+       version = "0.1.0.2";
+       sha256 = "0npkkphm4gv7cgm08asr5qxjyk6jdbm4h4w0jwsvxzpxh3nfxgbr";
+       libraryHaskellDepends = [
+         base case-insensitive megaparsec parser-combinators selective
+       ];
+       description = "More informative parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "headergen" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
      , filepath, haskeline, time
@@ -115527,6 +116106,25 @@ self: {
        broken = true;
      }) {};
 
+  "hedgehog-golden" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , Diff, directory, extra, hedgehog, text
+     }:
+     mkDerivation {
+       pname = "hedgehog-golden";
+       version = "1.0.0";
+       sha256 = "17ja3ch042kvk0fpd1gd9nnj9x5jbl37vxn579hr9rimwgf99az7";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring containers Diff directory extra
+         hedgehog text
+       ];
+       testHaskellDepends = [ base hedgehog ];
+       description = "Golden testing capabilities for hedgehog using Aeson";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hedgehog-quickcheck" = callPackage
     ({ mkDerivation, base, hedgehog, QuickCheck, transformers }:
      mkDerivation {
@@ -115585,6 +116183,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hedis_0_12_10" = callPackage
+    ({ mkDerivation, async, base, bytestring, bytestring-lexing
+     , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
+     , resource-pool, scanner, stm, test-framework, test-framework-hunit
+     , text, time, tls, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hedis";
+       version = "0.12.10";
+       sha256 = "0n9rm73h9lgrqavzjlakb95jvpg0lfjhj6grb5rgwpi4rhvqiygb";
+       libraryHaskellDepends = [
+         async base bytestring bytestring-lexing deepseq errors HTTP mtl
+         network network-uri resource-pool scanner stm text time tls
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         async base bytestring doctest HUnit mtl stm test-framework
+         test-framework-hunit text time
+       ];
+       benchmarkHaskellDepends = [ base mtl time ];
+       description = "Client library for the Redis datastore: supports full command set, pipelining";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hedis-config" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hedis, scientific, text
      , time
@@ -118880,20 +119503,22 @@ self: {
      }) {};
 
   "hip" = callPackage
-    ({ mkDerivation, base, bytestring, Chart, Chart-diagrams, colour
-     , criterion, deepseq, directory, filepath, hspec, JuicyPixels
-     , netpbm, primitive, process, QuickCheck, repa, repa-algorithms
-     , temporary, vector
+    ({ mkDerivation, array, base, bytestring, Chart, Chart-diagrams
+     , colour, criterion, deepseq, directory, filepath, hspec
+     , hspec-discover, JuicyPixels, netpbm, primitive, process
+     , QuickCheck, random, repa, repa-algorithms, temporary, vector
      }:
      mkDerivation {
        pname = "hip";
-       version = "1.5.3.0";
-       sha256 = "07jgqz5dz8qk96xz0q92hpn172jaqivfmn0mrynhicmvkx7a7izr";
+       version = "1.5.4.0";
+       sha256 = "09vv9zshgy6g9333pyny5lcja8662rxnldg1m0vvfiywcjafbn14";
        libraryHaskellDepends = [
-         base bytestring Chart Chart-diagrams colour deepseq directory
-         filepath JuicyPixels netpbm primitive process repa temporary vector
+         array base bytestring Chart Chart-diagrams colour deepseq directory
+         filepath JuicyPixels netpbm primitive process random repa temporary
+         vector
        ];
        testHaskellDepends = [ base bytestring hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base criterion deepseq repa repa-algorithms vector
        ];
@@ -119656,55 +120281,44 @@ self: {
 
   "hledger" = callPackage
     ({ mkDerivation, ansi-terminal, base, base-compat-batteries
-     , bytestring, cmdargs, containers, criterion, data-default, Decimal
-     , Diff, directory, easytest, extra, filepath, hashable, haskeline
-     , hledger-lib, html, lucid, math-functions, megaparsec, mtl
-     , mtl-compat, old-time, parsec, pretty-show, process, regex-tdfa
-     , safe, shakespeare, split, tabular, temporary, terminfo
-     , test-framework, test-framework-hunit, text, time, timeit
+     , bytestring, cmdargs, containers, data-default, Decimal, Diff
+     , directory, extra, filepath, hashable, haskeline, hledger-lib
+     , lucid, math-functions, megaparsec, mtl, old-time, parsec
+     , pretty-show, process, regex-tdfa, safe, shakespeare, split
+     , tabular, tasty, temporary, terminfo, text, time, timeit
      , transformers, unordered-containers, utf8-string, utility-ht
      , wizards
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.15.2";
-       sha256 = "16mpj58519p4ksd0iwwkd63xxcr21k99h015l4kgi6zd934v2qix";
+       version = "1.16.1";
+       sha256 = "1dw04sjgji6iprs0hqxr0nynkg5qsqh20l0d48vqjkgaral4sxma";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal Diff directory easytest extra
-         filepath hashable haskeline hledger-lib lucid math-functions
-         megaparsec mtl mtl-compat old-time parsec pretty-show process
-         regex-tdfa safe shakespeare split tabular temporary terminfo text
-         time timeit transformers unordered-containers utf8-string
-         utility-ht wizards
+         containers data-default Decimal Diff directory extra filepath
+         hashable haskeline hledger-lib lucid math-functions megaparsec mtl
+         old-time parsec pretty-show process regex-tdfa safe shakespeare
+         split tabular tasty temporary terminfo text time timeit
+         transformers unordered-containers utf8-string utility-ht wizards
        ];
        executableHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal directory easytest extra filepath
-         haskeline hledger-lib math-functions megaparsec mtl mtl-compat
-         old-time parsec pretty-show process regex-tdfa safe shakespeare
-         split tabular temporary terminfo text time timeit transformers
+         containers data-default Decimal directory extra filepath haskeline
+         hledger-lib math-functions megaparsec mtl old-time parsec
+         pretty-show process regex-tdfa safe shakespeare split tabular tasty
+         temporary terminfo text time timeit transformers
          unordered-containers utf8-string utility-ht wizards
        ];
        testHaskellDepends = [
          ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal directory easytest extra filepath
-         haskeline hledger-lib math-functions megaparsec mtl mtl-compat
-         old-time parsec pretty-show process regex-tdfa safe shakespeare
-         split tabular temporary terminfo test-framework
-         test-framework-hunit text time timeit transformers
+         containers data-default Decimal directory extra filepath haskeline
+         hledger-lib math-functions megaparsec mtl old-time parsec
+         pretty-show process regex-tdfa safe shakespeare split tabular tasty
+         temporary terminfo text time timeit transformers
          unordered-containers utf8-string utility-ht wizards
        ];
-       benchmarkHaskellDepends = [
-         ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers criterion data-default Decimal directory easytest extra
-         filepath haskeline hledger-lib html math-functions megaparsec mtl
-         mtl-compat old-time parsec pretty-show process regex-tdfa safe
-         shakespeare split tabular temporary terminfo text time timeit
-         transformers unordered-containers utf8-string utility-ht wizards
-       ];
        description = "Command-line interface for the hledger accounting tool";
        license = stdenv.lib.licenses.gpl3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
@@ -119805,8 +120419,8 @@ self: {
        pname = "hledger-iadd";
        version = "1.3.9";
        sha256 = "07g48w4099m4vm7z5hrg9zzd2v2yhy7kcv40902njz6v8cklgdgq";
-       revision = "1";
-       editedCabalFile = "18qjkl79gwmdgk6vl8cg3m94wm0qw30kxn4lvlnj9n6gnv2p0b3k";
+       revision = "3";
+       editedCabalFile = "1c06v50lhhzsa4872j9khqvga7pvfrvns8sp3srn9vfwxbiw5x7z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -119872,33 +120486,33 @@ self: {
     ({ mkDerivation, ansi-terminal, array, base, base-compat-batteries
      , blaze-markup, bytestring, call-stack, cassava, cassava-megaparsec
      , cmdargs, containers, data-default, Decimal, deepseq, directory
-     , doctest, easytest, extra, fgl, file-embed, filepath, Glob
-     , hashtables, megaparsec, mtl, mtl-compat, old-time, parsec
-     , parser-combinators, pretty-show, regex-tdfa, safe, split, tabular
+     , extra, fgl, file-embed, filepath, Glob, hashtables, megaparsec
+     , mtl, old-time, parsec, parser-combinators, pretty-show
+     , regex-tdfa, safe, split, tabular, tasty, tasty-hunit
      , template-haskell, text, time, timeit, transformers, uglymemo
      , utf8-string
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.15.2";
-       sha256 = "0q6ppizyadilxma3l8bwlswa6syyzkdri0yq0bqfmdzxvh9s3bcm";
+       version = "1.16.1";
+       sha256 = "14rwigcmal1dy286qnw93nnn4rl42hgcnz882wmjmhpyjrs4l5ig";
        libraryHaskellDepends = [
          ansi-terminal array base base-compat-batteries blaze-markup
          bytestring call-stack cassava cassava-megaparsec cmdargs containers
-         data-default Decimal deepseq directory easytest extra fgl
-         file-embed filepath Glob hashtables megaparsec mtl mtl-compat
-         old-time parsec parser-combinators pretty-show regex-tdfa safe
-         split tabular template-haskell text time timeit transformers
-         uglymemo utf8-string
+         data-default Decimal deepseq directory extra fgl file-embed
+         filepath Glob hashtables megaparsec mtl old-time parsec
+         parser-combinators pretty-show regex-tdfa safe split tabular tasty
+         tasty-hunit template-haskell text time timeit transformers uglymemo
+         utf8-string
        ];
        testHaskellDepends = [
          ansi-terminal array base base-compat-batteries blaze-markup
          bytestring call-stack cassava cassava-megaparsec cmdargs containers
-         data-default Decimal deepseq directory doctest easytest extra fgl
-         file-embed filepath Glob hashtables megaparsec mtl mtl-compat
-         old-time parsec parser-combinators pretty-show regex-tdfa safe
-         split tabular template-haskell text time timeit transformers
-         uglymemo utf8-string
+         data-default Decimal deepseq directory extra fgl file-embed
+         filepath Glob hashtables megaparsec mtl old-time parsec
+         parser-combinators pretty-show regex-tdfa safe split tabular tasty
+         tasty-hunit template-haskell text time timeit transformers uglymemo
+         utf8-string
        ];
        description = "Core data types, parsers and functionality for the hledger accounting tools";
        license = stdenv.lib.licenses.gpl3;
@@ -119934,8 +120548,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.15";
-       sha256 = "047ssmix7pxq61hknd40z983aw8110zxzh6z2ick8xkhdsnw3s1q";
+       version = "1.16.1";
+       sha256 = "0cn1pwr87lvi65m619v845vj17v27hp3h6fcgy1cpb4gjsdvq861";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -119945,7 +120559,7 @@ self: {
          process safe split text text-zipper time transformers unix vector
          vty
        ];
-       description = "Curses-style user interface for the hledger accounting tool";
+       description = "Terminal user interface for the hledger accounting tool";
        license = stdenv.lib.licenses.gpl3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
@@ -119973,24 +120587,25 @@ self: {
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , case-insensitive, clientsession, cmdargs, conduit, conduit-extra
      , containers, data-default, Decimal, directory, filepath, hjsmin
-     , hledger, hledger-lib, http-client, http-conduit, http-types, json
+     , hledger, hledger-lib, http-client, http-conduit, http-types
      , megaparsec, mtl, semigroups, shakespeare, template-haskell, text
-     , time, transformers, wai, wai-extra, wai-handler-launch, warp
-     , yaml, yesod, yesod-core, yesod-form, yesod-static
+     , time, transformers, utf8-string, wai, wai-cors, wai-extra
+     , wai-handler-launch, warp, yaml, yesod, yesod-core, yesod-form
+     , yesod-static
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.15";
-       sha256 = "1m54m8v1fzlazrh9hhv4ff7jrg95d03i8wx360l1y731gry54zw3";
+       version = "1.16.1";
+       sha256 = "1mn3mk4v6akbzl2hc8k89q4njffxpj832h5pywy9rj2mc7fbw5s5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring case-insensitive
          clientsession cmdargs conduit conduit-extra containers data-default
          Decimal directory filepath hjsmin hledger hledger-lib http-client
-         http-conduit http-types json megaparsec mtl semigroups shakespeare
-         template-haskell text time transformers wai wai-extra
-         wai-handler-launch warp yaml yesod yesod-core yesod-form
+         http-conduit http-types megaparsec mtl semigroups shakespeare
+         template-haskell text time transformers utf8-string wai wai-cors
+         wai-extra wai-handler-launch warp yaml yesod yesod-core yesod-form
          yesod-static
        ];
        executableHaskellDepends = [ base ];
@@ -120081,8 +120696,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.2.4";
-       sha256 = "00703miyzfwsypsds69hk74dk4hfmrkg6zizib3wc0p7mk2x1z5d";
+       version = "2.2.5";
+       sha256 = "1ygyk1rg07j5x1qa6af3a76ps1cqicz4cv9i986kcfpzhzlf7iqd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -120183,6 +120798,8 @@ self: {
        pname = "hlrdb";
        version = "0.3.0.0";
        sha256 = "0pc3hqi6v9b78fijisnarfs59w6mw8jgyww25r1wmblgwyakl5ab";
+       revision = "1";
+       editedCabalFile = "1ycglx3b5n1l97pq0rd50wd313gwz1is10snf8s0c9bjlrzspbn5";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cryptonite hashable hedis
          hlrdb-core memory random store time unordered-containers
@@ -120197,8 +120814,8 @@ self: {
      }:
      mkDerivation {
        pname = "hlrdb-core";
-       version = "0.1.4.0";
-       sha256 = "1sn23347mm9r4j45ba2jz4vw7swh6jgn5fds9xnwgr8rch9b0ljc";
+       version = "0.1.5.0";
+       sha256 = "0aznzrwv021nppb5cxbpnr7hiajny4s40diz6kcmddsbml56xmk9";
        libraryHaskellDepends = [
          base bytestring hashable hedis lens mtl profunctors random time
          unordered-containers
@@ -122280,6 +122897,40 @@ self: {
        broken = true;
      }) {};
 
+  "hopenpgp-tools_0_23" = callPackage
+    ({ mkDerivation, aeson, alex, array, attoparsec, base
+     , base16-bytestring, binary, binary-conduit, bytestring, conduit
+     , conduit-extra, containers, crypto-pubkey, cryptohash, cryptonite
+     , directory, errors, fgl, graphviz, happy, hOpenPGP, http-client
+     , http-client-tls, http-types, ixset-typed, lens, monad-loops, mtl
+     , openpgp-asciiarmor, optparse-applicative, prettyprinter
+     , prettyprinter-ansi-terminal, prettyprinter-convert-ansi-wl-pprint
+     , resourcet, text, time, time-locale-compat, transformers
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hopenpgp-tools";
+       version = "0.23";
+       sha256 = "1sgqx8b1sq89hpjzbdmkjsmrfagh5v0jfxyqphzkh1bq2zydj0jl";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson array attoparsec base base16-bytestring binary binary-conduit
+         bytestring conduit conduit-extra containers crypto-pubkey
+         cryptohash cryptonite directory errors fgl graphviz hOpenPGP
+         http-client http-client-tls http-types ixset-typed lens monad-loops
+         mtl openpgp-asciiarmor optparse-applicative prettyprinter
+         prettyprinter-ansi-terminal prettyprinter-convert-ansi-wl-pprint
+         resourcet text time time-locale-compat transformers
+         unordered-containers vector yaml
+       ];
+       executableToolDepends = [ alex happy ];
+       description = "hOpenPGP-based command-line tools";
+       license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hopenssl" = callPackage
     ({ mkDerivation, base, bytestring, HUnit, openssl }:
      mkDerivation {
@@ -123425,8 +124076,8 @@ self: {
      }:
      mkDerivation {
        pname = "hprotoc";
-       version = "2.4.12";
-       sha256 = "0xj000ikh3y8dg5sbrl7ycb471qgra4khmk4kq079biasjvhf58a";
+       version = "2.4.13";
+       sha256 = "0z88kiirwpnzw6hxg99kg42j2hkf002vcsmbcm7nqdfqajrggiy0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -123757,8 +124408,8 @@ self: {
      }:
      mkDerivation {
        pname = "hreq-client";
-       version = "0.1.0.0";
-       sha256 = "0slvpkypfxk4szrls0jsbjn00izgslskzixn9i2fq108wadm0b1b";
+       version = "0.1.1.0";
+       sha256 = "0bx4vhvwh4arkp5ly6clj55dmai3npl2p87l64radhyqr9z0il24";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -123774,6 +124425,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A Type dependent Highlevel HTTP client library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hreq-conduit" = callPackage
@@ -123798,6 +124451,8 @@ self: {
        testToolDepends = [ hspec-discover markdown-unlit ];
        description = "Conduit streaming support for Hreq";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hreq-core" = callPackage
@@ -123808,8 +124463,8 @@ self: {
      }:
      mkDerivation {
        pname = "hreq-core";
-       version = "0.1.0.0";
-       sha256 = "0ndbwdfcs89n8k96h2piw9n2hs0dbpp8vr7kpzdavaji0jzg0w20";
+       version = "0.1.1.0";
+       sha256 = "0lc1bc3kr3j6rkrz9w0s5aqb5bb60xhafg1v02n7vcyishdh2iwl";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring containers exceptions
@@ -123818,6 +124473,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Core functionality for Hreq Http client library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hrfsize" = callPackage
@@ -126224,8 +126881,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsinspect";
-       version = "0.0.7";
-       sha256 = "0vwhxlycvmyczd412llpsjfl63f58bz4ad4fbhiiqw754d7qwaka";
+       version = "0.0.8";
+       sha256 = "1lqczihv7qjh1yy51qds4sg95riwaq1i0fd9mgn3kvhgbyx1r9nn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -126887,6 +127544,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-bracket" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "hspec-bracket";
+       version = "0.0.1.0";
+       sha256 = "1d6262frfaghmq77nqsvcalm6w4jl7bn995bkphx461skhm8n300";
+       libraryHaskellDepends = [ base hspec ];
+       description = "The bracket definitions for Hspec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hspec-checkers" = callPackage
     ({ mkDerivation, base, checkers, hspec }:
      mkDerivation {
@@ -128436,8 +129104,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsx2hs";
-       version = "0.14.1.5";
-       sha256 = "0cw66j3firzgg5c7689y0kffgfq36yn4y17yprbbgv6kw4g7wid4";
+       version = "0.14.1.6";
+       sha256 = "09qynnmy5pq7yl8zic91wysrvjb1a1ibcjc9ry458wgbz236br4n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129185,35 +129853,6 @@ self: {
 
   "http-api-data" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-iso8601, base, base-compat
-     , bytestring, Cabal, cabal-doctest, containers, cookie, directory
-     , doctest, filepath, hashable, hspec, hspec-discover, http-types
-     , HUnit, nats, QuickCheck, quickcheck-instances, tagged, text
-     , time-compat, unordered-containers, uuid-types
-     }:
-     mkDerivation {
-       pname = "http-api-data";
-       version = "0.4.1";
-       sha256 = "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv";
-       revision = "2";
-       editedCabalFile = "14gvcqdxxs9s74r73i5f5g2819dfyp05m0p4s729ynwm7c20fzfs";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         attoparsec attoparsec-iso8601 base base-compat bytestring
-         containers cookie hashable http-types tagged text time-compat
-         unordered-containers uuid-types
-       ];
-       testHaskellDepends = [
-         base base-compat bytestring cookie directory doctest filepath hspec
-         HUnit nats QuickCheck quickcheck-instances text time-compat
-         unordered-containers uuid-types
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "http-api-data_0_4_1_1" = callPackage
-    ({ mkDerivation, attoparsec, attoparsec-iso8601, base, base-compat
      , bytestring, containers, cookie, hashable, hspec, hspec-discover
      , http-types, HUnit, nats, QuickCheck, quickcheck-instances, tagged
      , text, time-compat, unordered-containers, uuid-types
@@ -129235,7 +129874,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-attoparsec" = callPackage
@@ -129767,8 +130405,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-io-streams";
-       version = "0.1.1.0";
-       sha256 = "1f6galfrdvk5r83vxmmrvmq4p5hyv302ghnyra0w4wxmjq9lilc5";
+       version = "0.1.2.0";
+       sha256 = "1xn3lbpxsbl79qgaq9qmhlr78g44h0qpx0jyyb3z8q28z5p39wcy";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring blaze-builder brotli-streams
          bytestring case-insensitive containers directory HsOpenSSL
@@ -130377,6 +131015,8 @@ self: {
        ];
        description = "Encoders based on `proto3-wire` for gRPC over HTTP2";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "http2-grpc-types" = callPackage
@@ -131310,6 +131950,31 @@ self: {
        broken = true;
      }) {};
 
+  "hw-bits_0_7_1_0" = callPackage
+    ({ mkDerivation, base, bitvec, bytestring, criterion, deepseq
+     , hedgehog, hspec, hspec-discover, hw-hspec-hedgehog, hw-int
+     , hw-prim, hw-string-parse, vector
+     }:
+     mkDerivation {
+       pname = "hw-bits";
+       version = "0.7.1.0";
+       sha256 = "0r4jinz2h5zkjap6f6qrjgfq6xhaz3j34fjwawv8qvgc4qgq7bil";
+       libraryHaskellDepends = [
+         base bitvec bytestring deepseq hw-int hw-prim hw-string-parse
+         vector
+       ];
+       testHaskellDepends = [
+         base bitvec bytestring hedgehog hspec hw-hspec-hedgehog hw-prim
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion vector ];
+       description = "Bit manipulation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-ci-assist" = callPackage
     ({ mkDerivation, base, hedgehog, hspec, hspec-discover, hw-hedgehog
      , hw-hspec-hedgehog, optparse-applicative
@@ -131546,6 +132211,8 @@ self: {
        pname = "hw-eliasfano";
        version = "0.1.1.1";
        sha256 = "0fmbcddw13m49xvw8gnpjh246mw4k9h3hr94k956bi1vdvywyqv7";
+       revision = "1";
+       editedCabalFile = "1i5in5h9jnx4p873qv80jmdd1ak6yyyf70002j3lhxyaxx9byy7k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131709,6 +132376,36 @@ self: {
        broken = true;
      }) {};
 
+  "hw-ip_2_4_0_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.4.0.1";
+       sha256 = "0ypz0m5vnwirxap17ws44a0q6vfbg48dk6n8gb9aii2hfcdapds0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         appar base containers generic-lens hedgehog 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 ];
+       doHaddock = false;
+       description = "Library for manipulating IP addresses and CIDR blocks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-json" = callPackage
     ({ mkDerivation, ansi-wl-pprint, array, attoparsec, base
      , bits-extra, bytestring, criterion, directory, dlist, generic-lens
@@ -132094,8 +132791,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.6.2.38";
-       sha256 = "0669dkpwax4nh66c2ll4lb0fvzqhvpvirwnbzzskvykqkq1sj3kr";
+       version = "0.6.2.39";
+       sha256 = "06f4ygwmfb3ambzw972cninj9v0i7pir97qq0832a1mb19h4222g";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim mmap semigroups transformers
          unliftio-core vector
@@ -132235,6 +132932,33 @@ self: {
        broken = true;
      }) {};
 
+  "hw-rankselect-base_0_3_3_0" = callPackage
+    ({ mkDerivation, base, bits-extra, bitvec, criterion, hedgehog
+     , hspec, hspec-discover, hw-bits, hw-hedgehog, hw-hspec-hedgehog
+     , hw-int, hw-prim, hw-string-parse, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "hw-rankselect-base";
+       version = "0.3.3.0";
+       sha256 = "17h4kmi9zcgm4sdpbmqh6rzygz7w0v95lfc6rmhc9a8bmmg30i5b";
+       libraryHaskellDepends = [
+         base bits-extra bitvec hw-bits hw-int hw-prim hw-string-parse
+         vector
+       ];
+       testHaskellDepends = [
+         base bits-extra bitvec hedgehog hspec hw-bits hw-hedgehog
+         hw-hspec-hedgehog hw-prim QuickCheck vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [
+         base bits-extra criterion hw-bits hw-prim vector
+       ];
+       description = "Rank-select base";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-simd" = callPackage
     ({ mkDerivation, base, bits-extra, bytestring, c2hs, cassava
      , containers, criterion, deepseq, directory, hedgehog, hspec
@@ -132388,25 +133112,26 @@ self: {
      }:
      mkDerivation {
        pname = "hw-xml";
-       version = "0.4.0.2";
-       sha256 = "122viqivv2csgrv144xc88xhafiq5vcsy545jpmg052d3kg1x4g2";
+       version = "0.5.0.0";
+       sha256 = "0cqrs19bd9yh67yczhhb1yf5dhcx2v6xikybd88vqwxdh51pxyyn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array attoparsec base bytestring cereal containers
          deepseq ghc-prim hw-balancedparens hw-bits hw-parser hw-prim
-         hw-rankselect hw-rankselect-base lens mmap mtl resourcet
+         hw-rankselect hw-rankselect-base lens mmap mtl resourcet text
          transformers vector word8
        ];
        executableHaskellDepends = [
-         attoparsec base bytestring generic-lens hw-balancedparens hw-bits
-         hw-prim hw-rankselect lens mmap mtl optparse-applicative resourcet
-         text vector
+         attoparsec base bytestring deepseq generic-lens hw-balancedparens
+         hw-bits hw-prim hw-rankselect lens mmap mtl optparse-applicative
+         resourcet text vector
        ];
        testHaskellDepends = [
          attoparsec base bytestring hedgehog hspec hw-balancedparens hw-bits
-         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base vector
+         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base text
+         vector
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
@@ -136173,6 +136898,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inflections_0_4_0_5" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec
+     , hspec-megaparsec, megaparsec, QuickCheck, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "inflections";
+       version = "0.4.0.5";
+       sha256 = "0fdq3iwa2vgb5k19ck6jxzh7f1xsf1kpwx4p3agpdpsrylrcanvb";
+       libraryHaskellDepends = [
+         base exceptions megaparsec text unordered-containers
+       ];
+       testHaskellDepends = [
+         base containers hspec hspec-megaparsec megaparsec QuickCheck text
+       ];
+       description = "Inflections library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inflist" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
@@ -136415,16 +137160,16 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "inline-c_0_8_0_1" = callPackage
+  "inline-c_0_9_0_0" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
      , hashable, hspec, mtl, parsec, parsers, QuickCheck, raw-strings-qq
-     , regex-posix, template-haskell, transformers, unordered-containers
-     , vector
+     , regex-posix, split, template-haskell, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "inline-c";
-       version = "0.8.0.1";
-       sha256 = "1w8njc8k1g8kmpk8c8q5p7m8adgpv5v4k4643hsi5422jdaq0g3i";
+       version = "0.9.0.0";
+       sha256 = "086kqca1vcxhi7wdzmdv3rjwh9k50k3wj4rzig1yjz3x12d0h6q6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136433,7 +137178,7 @@ self: {
        ];
        testHaskellDepends = [
          ansi-wl-pprint base containers hashable hspec parsers QuickCheck
-         raw-strings-qq regex-posix template-haskell transformers
+         raw-strings-qq regex-posix split template-haskell transformers
          unordered-containers vector
        ];
        description = "Write Haskell source files including C code inline. No FFI required.";
@@ -136470,6 +137215,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inline-c-cpp_0_4_0_0" = callPackage
+    ({ mkDerivation, base, containers, hspec, inline-c, safe-exceptions
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "inline-c-cpp";
+       version = "0.4.0.0";
+       sha256 = "10d0yxs3jfkws440wzxrzwcyxjszv8c3f45hbfmj5ln0b0hpfrq0";
+       libraryHaskellDepends = [
+         base containers inline-c safe-exceptions template-haskell
+       ];
+       testHaskellDepends = [
+         base containers hspec inline-c safe-exceptions
+       ];
+       description = "Lets you embed C++ code into Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inline-c-win32" = callPackage
     ({ mkDerivation, base, containers, inline-c, template-haskell
      , Win32
@@ -136576,6 +137340,30 @@ self: {
 
   "insert-ordered-containers" = callPackage
     ({ mkDerivation, aeson, base, base-compat, hashable, lens
+     , QuickCheck, semigroupoids, semigroups, tasty, tasty-quickcheck
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "insert-ordered-containers";
+       version = "0.2.2";
+       sha256 = "1ikjhg0pdfpnx1d645r92k2dwlk7y935j1w5lcsk23nzpwhbkxja";
+       revision = "1";
+       editedCabalFile = "1hlinc8nnjlzc6ds3wf8jvkihpcbhz2dk0rqxq1ns0c5zbbhnylq";
+       libraryHaskellDepends = [
+         aeson base base-compat hashable lens semigroupoids semigroups text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base-compat hashable lens QuickCheck semigroupoids
+         semigroups tasty tasty-quickcheck text transformers
+         unordered-containers
+       ];
+       description = "Associative containers retaining insertion order for traversals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "insert-ordered-containers_0_2_3" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, hashable, lens
      , optics-core, optics-extra, QuickCheck, semigroupoids, semigroups
      , tasty, tasty-quickcheck, text, transformers, unordered-containers
      }:
@@ -136594,6 +137382,7 @@ self: {
        ];
        description = "Associative containers retaining insertion order for traversals";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "inserts" = callPackage
@@ -137534,6 +138323,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "intro_0_6_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, dlist
+     , extra, hashable, lens, mtl, QuickCheck, safe, text, transformers
+     , unordered-containers, writer-cps-mtl
+     }:
+     mkDerivation {
+       pname = "intro";
+       version = "0.6.0.1";
+       sha256 = "1kka6dnlyqppjx9ykk3zixfyslr8cf4ja6sa2hgq6h69mmsicp67";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq dlist extra hashable mtl safe
+         text transformers unordered-containers writer-cps-mtl
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq dlist extra hashable lens mtl
+         QuickCheck safe text transformers unordered-containers
+         writer-cps-mtl
+       ];
+       description = "Safe and minimal prelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "intro-prelude" = callPackage
     ({ mkDerivation, intro }:
      mkDerivation {
@@ -137637,6 +138449,8 @@ self: {
        pname = "invariant";
        version = "0.5.3";
        sha256 = "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp";
+       revision = "1";
+       editedCabalFile = "0sjy375npw6lqcckhyicizzv91v8jh3ca5yjkygiaj22bw5k8c74";
        libraryHaskellDepends = [
          array base bifunctors comonad containers contravariant ghc-prim
          profunctors StateVar stm tagged template-haskell th-abstraction
@@ -137873,8 +138687,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.1.0";
        sha256 = "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp";
-       revision = "1";
-       editedCabalFile = "00zbqcxfkrxidrli5qd8jvdw0jkyvcb3bwv29w8nbk9cr8vmmfl3";
+       revision = "2";
+       editedCabalFile = "1pvw39f0vrzb5hdx6nqpdg4ccsxa59vwjspfjkh6vvw1zwmidgja";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -138055,6 +138869,8 @@ self: {
        pname = "ip";
        version = "1.7.0";
        sha256 = "18m8586ns6kijvk8wwflkhr9apki1h0gd7rkxd4w6qq66x034hk2";
+       revision = "1";
+       editedCabalFile = "1yjz4822vq22zh8mb96ccplqmm6rxrvy334n34gwyq0cfddsilr0";
        libraryHaskellDepends = [
          aeson attoparsec base byteslice bytesmith bytestring deepseq
          hashable natural-arithmetic primitive small-bytearray-builder text
@@ -138106,8 +138922,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, iproute }:
      mkDerivation {
        pname = "ip2proxy";
-       version = "2.1.0";
-       sha256 = "0qcmqy8p13hg9aih8m9w7qpbr6zcbvgc9y6bzh2cqm2sbx7ksvqm";
+       version = "2.2.0";
+       sha256 = "12j8jd0ir24xgghvmac2npf9zqfbfq7fwj1ni2xdi8p673k3d0kd";
        libraryHaskellDepends = [ base binary bytestring iproute ];
        description = "IP2Proxy Haskell package for proxy detection";
        license = stdenv.lib.licenses.mit;
@@ -138274,6 +139090,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "iproute_1_7_8" = callPackage
+    ({ mkDerivation, appar, base, byteorder, containers, doctest, hspec
+     , network, QuickCheck, safe
+     }:
+     mkDerivation {
+       pname = "iproute";
+       version = "1.7.8";
+       sha256 = "0k2qzdw36qp9qs2j0bxsn95ymk3wpjvw6s5c1535aw677gw19bad";
+       libraryHaskellDepends = [
+         appar base byteorder containers network
+       ];
+       testHaskellDepends = [
+         appar base byteorder containers doctest hspec network QuickCheck
+         safe
+       ];
+       description = "IP Routing Table";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "iptables-helpers" = callPackage
     ({ mkDerivation, base, containers, mtl, parsec, QuickCheck, safe
      , syb, utf8-string
@@ -140363,6 +141199,21 @@ self: {
        broken = true;
      }) {};
 
+  "jira-wiki-markup" = callPackage
+    ({ mkDerivation, base, parsec, tasty, tasty-hunit, text }:
+     mkDerivation {
+       pname = "jira-wiki-markup";
+       version = "0.1.1";
+       sha256 = "1a6vk4aryppay87fyirxprwklqvpjh6nj9x2k9s3ybrwhapf1wdx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base parsec text ];
+       executableHaskellDepends = [ base text ];
+       testHaskellDepends = [ base parsec tasty tasty-hunit text ];
+       description = "Handle Jira wiki markup";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "jmacro" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , haskell-src-exts, haskell-src-meta, mtl, parseargs, parsec
@@ -140371,10 +141222,8 @@ self: {
      }:
      mkDerivation {
        pname = "jmacro";
-       version = "0.6.16";
-       sha256 = "1kyrvxg5fwwrwv72aby694ar071yl2xmnfkjyrwi5wbc7hsb8rda";
-       revision = "1";
-       editedCabalFile = "0g7fn738ljrhh6ydmvkigj9znhh2szdvp79kqxw62m4ryqan23qq";
+       version = "0.6.17";
+       sha256 = "14vmnaqr3lhcj7y5rj4jgm2w89kkznfksy53pinmc1xq1bd8b7px";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -140639,36 +141488,6 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.8.1.0";
-       sha256 = "02xg8axy6whbkn0mzg1gjy6b1mhxlmsh1x7vjk1fiawvg9nwzrkl";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring bytestring concise
-         containers cryptonite lens memory monad-time mtl network-uri
-         QuickCheck quickcheck-instances safe semigroups template-haskell
-         text time unordered-containers vector x509
-       ];
-       testHaskellDepends = [
-         aeson attoparsec base base64-bytestring bytestring concise
-         containers cryptonite hspec lens memory monad-time mtl network-uri
-         QuickCheck quickcheck-instances safe semigroups tasty tasty-hspec
-         tasty-quickcheck template-haskell text time unordered-containers
-         vector x509
-       ];
-       description = "Javascript Object Signing and Encryption and JSON Web Token library";
-       license = stdenv.lib.licenses.asl20;
-     }) {};
-
-  "jose_0_8_2_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , bytestring, concise, containers, cryptonite, hspec, lens, memory
-     , monad-time, mtl, network-uri, QuickCheck, quickcheck-instances
-     , safe, semigroups, tasty, tasty-hspec, tasty-quickcheck
-     , template-haskell, text, time, unordered-containers, vector, x509
-     }:
-     mkDerivation {
-       pname = "jose";
        version = "0.8.2.0";
        sha256 = "0kv2kmws9kwymx8pm6j8nnlk1d8pwv22hw2ka2kwlipjvmb7mld4";
        isLibrary = true;
@@ -140688,7 +141507,6 @@ self: {
        ];
        description = "Javascript Object Signing and Encryption and JSON Web Token library";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jose-jwt" = callPackage
@@ -141559,8 +142377,8 @@ self: {
        pname = "json-rpc-server";
        version = "0.2.6.0";
        sha256 = "1xfcxbwri9a5p3xxbc4kvr1kqdnm4c1axd8kgb8dglabffbrk7hn";
-       revision = "6";
-       editedCabalFile = "1rfabr679pk605v141gm0ynbp3l6x87s3ip3wa49lwnpab495mxs";
+       revision = "7";
+       editedCabalFile = "1fjkl0p5glkk01jny6ar62356pmp2a2vf9v1jq67ly3y14dcvywq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -142468,6 +143286,8 @@ self: {
        testHaskellDepends = [ base hw-kafka-client monad-parallel text ];
        description = "Synchronous Kafka Client";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "kafka-device" = callPackage
@@ -143816,8 +144636,8 @@ self: {
        pname = "keycode";
        version = "0.2.2";
        sha256 = "046k8d1h5wwadf5z4pppjkc3g7v2zxlzb06s1xgixc42y5y41yan";
-       revision = "4";
-       editedCabalFile = "081spzhywygv90i7jwhbcm7p1aqz6qqph02ddxvqncghar5kjc7n";
+       revision = "5";
+       editedCabalFile = "17fhzhlbqgd5pqp357n3z0k176q79c2jxvpwqryl3gbad3s8qsfw";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -144281,15 +145101,17 @@ self: {
 
   "knead" = callPackage
     ({ mkDerivation, base, bool8, comfort-array, llvm-extra, llvm-tf
-     , storable-record, storable-tuple, tfp, transformers, utility-ht
+     , prelude-compat, storable-enum, storable-record, storable-tuple
+     , tagged, tfp, transformers, utility-ht
      }:
      mkDerivation {
        pname = "knead";
-       version = "0.4";
-       sha256 = "1p1zfa2mihy2di5wjb189mdq6kygr47y19194ycxdx47sh8y6s6y";
+       version = "0.4.1";
+       sha256 = "07jjs6qx58whwh61n4avrbi6krpl3qawx3mp8wacbjyrjfskcyln";
        libraryHaskellDepends = [
-         base bool8 comfort-array llvm-extra llvm-tf storable-record
-         storable-tuple tfp transformers utility-ht
+         base bool8 comfort-array llvm-extra llvm-tf prelude-compat
+         storable-enum storable-record storable-tuple tagged tfp
+         transformers utility-ht
        ];
        description = "Repa-like array processing using LLVM JIT";
        license = stdenv.lib.licenses.bsd3;
@@ -145123,8 +145945,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambda-options";
-       version = "1.0.0.0";
-       sha256 = "1cpd5s0m10d09mqbpy1qxnrpy8np21ci6fcd09d01xj7lx8p2yzx";
+       version = "1.0.2.0";
+       sha256 = "04h7i79iiq91606x3k7zr2gs3f7apswwv9xxv5lf4qr1h3i4lfix";
        libraryHaskellDepends = [
          base containers funspection mtl read-bounded
        ];
@@ -146060,8 +146882,8 @@ self: {
     ({ mkDerivation, base, pretty }:
      mkDerivation {
        pname = "language-c99";
-       version = "0.1.1";
-       sha256 = "1a6n9n3jzplwgm6136rvhm6zmkvnhxz0nw1bfplikg8kkfgbp5al";
+       version = "0.1.2";
+       sha256 = "0k4a1chca328sa3w7aghhi446kqfrbp6h5jaj2rddd8f8qjz5pag";
        libraryHaskellDepends = [ base pretty ];
        description = "An implementation of the C99 AST that strictly follows the standard";
        license = stdenv.lib.licenses.mit;
@@ -147337,6 +148159,8 @@ self: {
        pname = "latex-formulae-hakyll";
        version = "0.2.0.4";
        sha256 = "0q16p3ccql38ri3rnbsx54vj6jn154j3m6vic64zi4nk54g0sc5f";
+       revision = "1";
+       editedCabalFile = "08502482n0szzg32bcrdyhs853hlmx3r14bpjww1fv2dijk5asrw";
        libraryHaskellDepends = [
          base hakyll latex-formulae-image latex-formulae-pandoc lrucache
          pandoc-types
@@ -147355,6 +148179,8 @@ self: {
        pname = "latex-formulae-image";
        version = "0.1.1.4";
        sha256 = "0s3r0qd235lgmw4g5j52r2d97zsr3nd0ikzffgpwigvcbzshddv0";
+       revision = "1";
+       editedCabalFile = "0m15dyrxala5dh5sh228bsrfa3nym9wd719byj19vfl4i2nabw9d";
        libraryHaskellDepends = [
          base directory errors filepath JuicyPixels process temporary
          transformers
@@ -149081,8 +149907,8 @@ self: {
        pname = "lenz-template";
        version = "0.2.0.0";
        sha256 = "0g073wfh8522hvmy80dp8an5jr6qjnkfj3119ms3sir7dkfzljqn";
-       revision = "4";
-       editedCabalFile = "0fzi4niagdk0wmjbgbbvs5gd9jhs2nwdpgyg9rr7l8i6x433jxpk";
+       revision = "5";
+       editedCabalFile = "0l75fkl778r9kgigyiijnkw2wn2kd4xkpjj7s3bkswg75dvnrbk0";
        libraryHaskellDepends = [
          base base-unicode-symbols containers lenz template-haskell
        ];
@@ -149390,23 +150216,26 @@ self: {
      }) {};
 
   "libarchive" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, chs-cabal
-     , composition-prelude, criterion, deepseq, directory, dlist
-     , filepath, hspec, libarchive, mtl, tar, tar-conduit, temporary
-     , unix-compat
+    ({ mkDerivation, base, bytestring, c2hs, Cabal, chs-cabal
+     , composition-prelude, criterion, deepseq, dir-traverse, directory
+     , dlist, filepath, hspec, libarchive, mtl, tar, tar-conduit
+     , temporary, unix-compat
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "2.0.0.2";
-       sha256 = "126cq8sg2siirxkg1718n86xhlqxa1a96339dm1mw9r68ckj2jd0";
-       setupHaskellDepends = [ base chs-cabal ];
+       version = "2.1.2.0";
+       sha256 = "00j1xrfwcmfb2dhz04dy4p2aryp751mmp6hpdcbm2xdhzdxrgkjf";
+       setupHaskellDepends = [ base Cabal chs-cabal ];
        libraryHaskellDepends = [
          base bytestring composition-prelude deepseq dlist filepath mtl
          unix-compat
        ];
        libraryPkgconfigDepends = [ libarchive ];
        libraryToolDepends = [ c2hs ];
-       testHaskellDepends = [ base bytestring directory filepath hspec ];
+       testHaskellDepends = [
+         base bytestring composition-prelude dir-traverse directory filepath
+         hspec mtl temporary
+       ];
        benchmarkHaskellDepends = [
          base bytestring criterion tar tar-conduit temporary
        ];
@@ -150396,6 +151225,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lift-generics_0_1_3" = callPackage
+    ({ mkDerivation, base, base-compat, generic-deriving, ghc-prim
+     , hspec, hspec-discover, template-haskell
+     }:
+     mkDerivation {
+       pname = "lift-generics";
+       version = "0.1.3";
+       sha256 = "0r2rbik5lh5x8psy5cblzd1ly1ybizdcyjdg8n79m7k3rqp2w6v7";
+       libraryHaskellDepends = [
+         base generic-deriving ghc-prim template-haskell
+       ];
+       testHaskellDepends = [
+         base base-compat generic-deriving hspec template-haskell
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "GHC.Generics-based Language.Haskell.TH.Syntax.lift implementation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lift-read-show" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -152527,18 +153376,20 @@ self: {
      }) {};
 
   "llvm-extra" = callPackage
-    ({ mkDerivation, base, bool8, containers, cpuid, llvm-tf, non-empty
-     , prelude-compat, tfp, transformers, unsafe, utility-ht
+    ({ mkDerivation, base, bool8, containers, cpuid, enumset, llvm-tf
+     , non-empty, prelude-compat, storable-enum, tagged, tfp
+     , transformers, unsafe, utility-ht
      }:
      mkDerivation {
        pname = "llvm-extra";
-       version = "0.8.0.3";
-       sha256 = "1cqxfrjhfgliwxjgbmjkbpcy4dlv0fwwqzdd9jd8fiq96njfqfvp";
+       version = "0.8.2";
+       sha256 = "0fv2q05w86xqak5b8w26iy9szzc6khghc622dgqkjywd9b72xs1s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bool8 containers cpuid llvm-tf non-empty prelude-compat tfp
-         transformers unsafe utility-ht
+         base bool8 containers cpuid enumset llvm-tf non-empty
+         prelude-compat storable-enum tagged tfp transformers unsafe
+         utility-ht
        ];
        description = "Utility functions for the llvm interface";
        license = stdenv.lib.licenses.bsd3;
@@ -152550,8 +153401,8 @@ self: {
     ({ mkDerivation, base, enumset, LLVM }:
      mkDerivation {
        pname = "llvm-ffi";
-       version = "3.8.1.2";
-       sha256 = "04k2ag8nh54f9hh3blgyn1xa88hfv6c6ps51i5b84g4jdvja7f5v";
+       version = "3.9.1";
+       sha256 = "0gyda3bh43iib5isp6fd0rsf1rxkgidnmxrdm31xwjc0qnz71yf2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base enumset ];
@@ -152855,8 +153706,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "3.1.1.1";
-       sha256 = "1rqszg06r8md7cgw2zgf30yvri4isndj608r9l8grqfnyi4lfjay";
+       version = "3.1.2";
+       sha256 = "0k5aj63hl78h8lkxizragvgh57yzzc5ns7h8kz93wicsdxaca8cn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -153356,6 +154207,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "log-domain_0_13" = callPackage
+    ({ mkDerivation, base, binary, bytes, Cabal, cabal-doctest, cereal
+     , comonad, deepseq, distributive, doctest, generic-deriving
+     , hashable, semigroupoids, semigroups, simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "log-domain";
+       version = "0.13";
+       sha256 = "0isl8rs0k5088sxapfh351sff3lh7r1qkgwz8lmai3gvqasb3avv";
+       revision = "1";
+       editedCabalFile = "0wcy54axpnym55f1skagnbmdpw6y2ys6zvn99x8i6qcfzw00i6l9";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base binary bytes cereal comonad deepseq distributive hashable
+         semigroupoids semigroups vector
+       ];
+       testHaskellDepends = [
+         base doctest generic-deriving semigroups simple-reflect
+       ];
+       description = "Log-domain arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "log-effect" = callPackage
     ({ mkDerivation, base, bytestring, extensible-effects
      , monad-control, text, transformers-base
@@ -153636,29 +154511,6 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect";
-       version = "1.3.7";
-       sha256 = "1m8f9s6v1xxfp3li1yjfwdhn2an29lk07ijqcrb1db8chrlx93vd";
-       libraryHaskellDepends = [
-         async base exceptions free monad-control mtl prettyprinter
-         semigroups stm stm-delay text time transformers transformers-base
-         unliftio-core
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion fast-logger lifted-async monad-logger
-         prettyprinter text time
-       ];
-       description = "A mtl-style monad transformer for general purpose & compositional logging";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "logging-effect_1_3_8" = callPackage
-    ({ mkDerivation, async, base, bytestring, criterion, exceptions
-     , fast-logger, free, lifted-async, monad-control, monad-logger, mtl
-     , prettyprinter, semigroups, stm, stm-delay, text, time
-     , transformers, transformers-base, unliftio-core
-     }:
-     mkDerivation {
-       pname = "logging-effect";
        version = "1.3.8";
        sha256 = "0ksavyvcz0c9fadik9yksm4zskzh313srf3713migwrdza5ci5q3";
        libraryHaskellDepends = [
@@ -153672,7 +154524,6 @@ self: {
        ];
        description = "A mtl-style monad transformer for general purpose & compositional logging";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "logging-effect-extra" = callPackage
@@ -154498,8 +155349,8 @@ self: {
      }:
      mkDerivation {
        pname = "lp-diagrams";
-       version = "2.1.1";
-       sha256 = "0dynm0kib4lgyz00gbg4gi0ds5cgpbdx40davk53cknwxv7icri0";
+       version = "2.1.2";
+       sha256 = "0q0qzij6j0nv01hhrd417swyyf5vhgi2m83bmk98dvrd0309l9xl";
        libraryHaskellDepends = [
          base containers gasp graphviz labeled-tree lens mtl parsek
          polynomials-bernstein process reflection text typography-geometry
@@ -154627,7 +155478,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lsp-test_0_8_0_0" = callPackage
+  "lsp-test_0_8_2_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-parse, containers, data-default
      , Diff, directory, filepath, haskell-lsp, hspec, lens, mtl
@@ -154636,8 +155487,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.8.0.0";
-       sha256 = "1w8ag6v8mdgxynz32nzxmvfaar68abmsh3fchdfbhz2ky07p6085";
+       version = "0.8.2.0";
+       sha256 = "1762avrs4fkkd9v8i76giaf6km5f3lds5laickn7la7zq7ysh8a3";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -155032,8 +155883,8 @@ self: {
      }:
      mkDerivation {
        pname = "lukko";
-       version = "0.1.1";
-       sha256 = "1wy2dqs304cynsgnwpc47fwnm9gcy7ch53xxhj5schc0kak3xxbq";
+       version = "0.1.1.1";
+       sha256 = "13wf2vgi3bq48h757qs0zi1sxa6ip9pk8fxfiq7qrrb9p5silcpj";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          async base bytestring filepath singleton-bool tasty
@@ -155317,8 +156168,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzlib";
-       version = "0.3.0.0";
-       sha256 = "1gav8x226703k7jsjbw4g6y74xh2id5adlnqb7hpwv314d45v76a";
+       version = "0.3.0.1";
+       sha256 = "0rq7kafqnv16313ymcq6vcslgf4ls4zjw7n5i73vp7iwsh80pl5d";
        libraryHaskellDepends = [ base bytestring ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ base bytestring directory hspec ];
@@ -156788,8 +157639,8 @@ self: {
      }:
      mkDerivation {
        pname = "mandrill";
-       version = "0.5.3.6";
-       sha256 = "1jvgxhc3x7867cryvsbpj7hks9syhpqbwyh4y0v6b0yp0xil8qrl";
+       version = "0.5.4.0";
+       sha256 = "0cp0xd4by5ml1526lybqvxr1g5ccgskmj9ibl3xnrcmkbi9a14y6";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-html bytestring containers
          email-validate http-client http-client-tls http-types microlens-th
@@ -156996,8 +157847,8 @@ self: {
        pname = "map-syntax";
        version = "0.3";
        sha256 = "0b3ddi998saw5gi5r4bjbpid03rxlifn08zv15wf0b90ambhcc4k";
-       revision = "1";
-       editedCabalFile = "1qfjficc7b6hbg44r3czk8iqgkjmgnp14wmzcdcz4ai93kx8dp44";
+       revision = "2";
+       editedCabalFile = "1cpiarychx4cmv7v71rbd5ccfsjac928isd52sf42mzs2nb492ya";
        libraryHaskellDepends = [ base containers mtl ];
        testHaskellDepends = [
          base containers deepseq hspec HUnit mtl QuickCheck transformers
@@ -157494,8 +158345,8 @@ self: {
      }:
      mkDerivation {
        pname = "marxup";
-       version = "3.1.1.0";
-       sha256 = "0b22mf14qajkpf7hlm6086d951g0wgihlyiw93m0nh4yl1kmgf5q";
+       version = "3.1.2.0";
+       sha256 = "0a6lfjh5brkjm66y4yizzskra4007shqnsb5bjljxwg0vwphp112";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -157536,6 +158387,23 @@ self: {
        broken = true;
      }) {};
 
+  "mason" = callPackage
+    ({ mkDerivation, base, bytestring, ghc-prim, integer-gmp, network
+     , text
+     }:
+     mkDerivation {
+       pname = "mason";
+       version = "0.1";
+       sha256 = "1h9ch2q84n9hbcr6nvb7vllxb05m81vjwlk1vkarp31qjbfcmh29";
+       libraryHaskellDepends = [
+         base bytestring ghc-prim integer-gmp network text
+       ];
+       description = "Fast and extensible bytestring builder";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "massiv" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-doctest
      , data-default-class, deepseq, doctest, exceptions
@@ -157557,32 +158425,43 @@ self: {
        ];
        description = "Massiv (Массив) is an Array Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
-  "massiv-io" = callPackage
-    ({ mkDerivation, base, bytestring, data-default-class, deepseq
-     , directory, filepath, JuicyPixels, massiv, netpbm, process, vector
+  "massiv_0_4_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cabal-doctest
+     , data-default-class, deepseq, doctest, exceptions
+     , mersenne-random-pure64, primitive, QuickCheck, random, scheduler
+     , splitmix, template-haskell, unliftio-core, vector
      }:
      mkDerivation {
-       pname = "massiv-io";
-       version = "0.1.7.0";
-       sha256 = "0w3yffkrsjkgfqdfmhq42am2hpmkblnfg0prifr2ja5pfwr02l5c";
+       pname = "massiv";
+       version = "0.4.4.0";
+       sha256 = "13hwf1z9iqybrjsn21gkglqq3knin6x84rflv3wk6wplk7dfhd2n";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         base bytestring data-default-class deepseq directory filepath
-         JuicyPixels massiv netpbm process vector
+         base bytestring data-default-class deepseq exceptions primitive
+         scheduler unliftio-core vector
        ];
-       description = "Import/export of Image files into massiv Arrays";
+       testHaskellDepends = [
+         base doctest mersenne-random-pure64 QuickCheck random splitmix
+         template-haskell
+       ];
+       description = "Massiv (Массив) is an Array Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
-  "massiv-io_0_1_8_0" = callPackage
+  "massiv-io" = callPackage
     ({ mkDerivation, base, bytestring, data-default-class, deepseq
      , directory, filepath, JuicyPixels, massiv, netpbm, process, vector
      }:
      mkDerivation {
        pname = "massiv-io";
-       version = "0.1.8.0";
-       sha256 = "0c67lcqgbzwxcpp3gp0x35f3njai1sgainwxhjckn9bjddad6vrq";
+       version = "0.1.9.0";
+       sha256 = "0splwbavahv3g0p1pyhym9hwncaw7zd5f12girwxlwhcdwrsgz3r";
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq directory filepath
          JuicyPixels massiv netpbm process vector
@@ -157590,6 +158469,7 @@ self: {
        description = "Import/export of Image files into massiv Arrays";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "massiv-scheduler" = callPackage
@@ -157631,6 +158511,8 @@ self: {
        ];
        description = "Library that contains generators, properties and tests for Massiv Array Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "master-plan" = callPackage
@@ -157758,15 +158640,16 @@ self: {
      }) {};
 
   "math-grads" = callPackage
-    ({ mkDerivation, aeson, array, base, containers, hspec, linear
-     , matrix, mtl, random, vector
+    ({ mkDerivation, aeson, array, base, bimap, containers, hspec
+     , ilist, lens, linear, matrix, mtl, random, vector
      }:
      mkDerivation {
        pname = "math-grads";
-       version = "0.1.5.1";
-       sha256 = "0bq08gh1fv83glx4i2gs560cynl2dv1610kby7vlvjnhg0kkyjgl";
+       version = "0.1.6.2";
+       sha256 = "02flkabfqwgmgcsrlxcfk9zm8b94l65imr3xprdap1g9z26si66l";
        libraryHaskellDepends = [
-         aeson array base containers linear matrix mtl random vector
+         aeson array base bimap containers ilist lens linear matrix mtl
+         random vector
        ];
        testHaskellDepends = [ array base containers hspec random ];
        description = "Library containing graph data structures and graph algorithms";
@@ -161075,8 +161958,8 @@ self: {
      }:
      mkDerivation {
        pname = "mini-egison";
-       version = "0.1.5";
-       sha256 = "19g5743q2h0vr9r7m854pi60r6z7f8cqr3l3fqi4b308jb492ngq";
+       version = "0.1.6";
+       sha256 = "08348nw7xnni81iwcah43x5hi0hyqz286g3zpmkhja8if99l59lj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161150,8 +162033,8 @@ self: {
      }:
      mkDerivation {
        pname = "minilight";
-       version = "0.4.0";
-       sha256 = "1ishxvijigfjfvrqiibbds2l7bb5vp51lsy933q4nphapvqrhk2m";
+       version = "0.4.1";
+       sha256 = "0zx21dhnzc8p0x6v827178rl2s215gik705fggmg31hqhwkzfy4c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161631,15 +162514,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "miso_1_3_0_0" = callPackage
+  "miso_1_4_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, http-api-data
      , http-types, lucid, network-uri, servant, servant-lucid, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "miso";
-       version = "1.3.0.0";
-       sha256 = "1vz7k7ajngmrzczw4bl33g081hbmbk1bkixsm47y4x8jzxa0lk7x";
+       version = "1.4.0.0";
+       sha256 = "067z49ial3dwkbcza54aivdh8r4yx54zmpyxmd6mpyqlv96dv8gc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161992,6 +162875,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mmark_0_0_7_2" = callPackage
+    ({ mkDerivation, aeson, base, case-insensitive, containers
+     , criterion, deepseq, dlist, email-validate, foldl, hashable, hspec
+     , hspec-megaparsec, html-entity-map, lucid, megaparsec, microlens
+     , microlens-th, modern-uri, mtl, parser-combinators, QuickCheck
+     , text, text-metrics, unordered-containers, weigh, yaml
+     }:
+     mkDerivation {
+       pname = "mmark";
+       version = "0.0.7.2";
+       sha256 = "1wwszzba6fvg0r4q5z2dzashim0nkaxzx4rmjl216kdi08jkp7mm";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base case-insensitive containers deepseq dlist email-validate
+         foldl hashable html-entity-map lucid megaparsec microlens
+         microlens-th modern-uri mtl parser-combinators text text-metrics
+         unordered-containers yaml
+       ];
+       testHaskellDepends = [
+         aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri
+         QuickCheck text
+       ];
+       benchmarkHaskellDepends = [ base criterion text weigh ];
+       description = "Strict markdown processor for writers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmark-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
      , ghc-syntax-highlighter, gitrev, lucid, megaparsec, mmark
@@ -162002,8 +162913,8 @@ self: {
        pname = "mmark-cli";
        version = "0.0.5.0";
        sha256 = "15qrp2q1flx9csqvj8zx9w1jqg8pwfi0v7wpia7n7vg09jgydhby";
-       revision = "1";
-       editedCabalFile = "11yrsr4hpl5vxrfav1nfg3gidcr1qy0rjv5mkh5hqsxdpxy6c7aj";
+       revision = "2";
+       editedCabalFile = "1kpxrf3gwcl0l8jqq3dic49705p338rcvach95vp1g1jjpwd8kbj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -162067,8 +162978,8 @@ self: {
     ({ mkDerivation, base, directory }:
      mkDerivation {
        pname = "mmsyn3";
-       version = "0.1.2.0";
-       sha256 = "1cjjdiyb1n5y5bswpm1lckqnn97lvn4mx8nrkydzsi1lfmxjvhk3";
+       version = "0.1.3.0";
+       sha256 = "0asxxv2ykwn82lr744ihfip8lhck888l3rvn4qadjdapv1sn3zfx";
        libraryHaskellDepends = [ base directory ];
        description = "A small library to deal with executable endings";
        license = stdenv.lib.licenses.mit;
@@ -162096,13 +163007,36 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "mmsyn5";
-       version = "0.4.2.1";
-       sha256 = "1cq8180xkq01jpqwiv6f7wiwyjhs76gh5a148hvxhffvfhnsarb8";
+       version = "0.4.2.2";
+       sha256 = "1y5f9fwc9k7hbmnk8fvm6m6h2lrdsfijr6jn0dfj6fhc17kmp46p";
        libraryHaskellDepends = [ base ];
        description = "Various additional operations on lists (some with intermediate Monads)";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mmsyn6ukr" = callPackage
+    ({ mkDerivation, base, bytestring, directory, mmsyn2, mmsyn3
+     , mmsyn5, process, vector
+     }:
+     mkDerivation {
+       pname = "mmsyn6ukr";
+       version = "0.4.1.0";
+       sha256 = "04swk1r6aiakcs52v5n6pa7a2xwvxw60isb24nnhbb6h58xa9zzj";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn5 process vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory mmsyn2 mmsyn3 mmsyn5 process vector
+       ];
+       description = "A musical instrument synthesizer or a tool for Ukrainian language listening";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "mmtf" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-msgpack, deepseq, hspec, http-conduit, QuickCheck, text
@@ -162761,12 +163695,14 @@ self: {
      }) {};
 
   "monad-codec" = callPackage
-    ({ mkDerivation, base, binary, containers, data-lens, mtl }:
+    ({ mkDerivation, base, binary, containers, data-lens-light, mtl }:
      mkDerivation {
        pname = "monad-codec";
-       version = "0.2.0";
-       sha256 = "0jim6hk891jby2gch6f1k4262jm8fl9jgl808dj204ylz8w1475l";
-       libraryHaskellDepends = [ base binary containers data-lens mtl ];
+       version = "0.2.1";
+       sha256 = "0n9mjzx6p75nm4f7ndlha9jmyvwdxaknhnds9cm8p4sj9mpsmgid";
+       libraryHaskellDepends = [
+         base binary containers data-lens-light mtl
+       ];
        description = "Monadic conversion between complex data structures and unique integers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -163089,6 +164025,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "monad-logger_0_3_31" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , exceptions, fast-logger, lifted-base, monad-control, monad-loops
+     , mtl, resourcet, stm, stm-chans, template-haskell, text
+     , transformers, transformers-base, transformers-compat
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "monad-logger";
+       version = "0.3.31";
+       sha256 = "0awr06bh5d51kci2w2xsj34qvh98sb6dm48a4k05k8awv8hrrpmd";
+       libraryHaskellDepends = [
+         base bytestring conduit conduit-extra exceptions fast-logger
+         lifted-base monad-control monad-loops mtl resourcet stm stm-chans
+         template-haskell text transformers transformers-base
+         transformers-compat unliftio-core
+       ];
+       description = "A class of monads which can log messages";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "monad-logger-json" = callPackage
     ({ mkDerivation, aeson, base, monad-logger, template-haskell, text
      }:
@@ -163128,8 +164086,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger-syslog";
-       version = "0.1.4.0";
-       sha256 = "1jwwpjn35mvl7z05xcykpxdyhaa6mgiighgcr8qzprrmw89kwb05";
+       version = "0.1.5.0";
+       sha256 = "0y96f5qan5na32s8xilky7z30mc7yci1s5i3585aqvqsyyvshchf";
        libraryHaskellDepends = [
          base bytestring fast-logger hsyslog monad-logger text transformers
        ];
@@ -163137,14 +164095,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "monad-logger-syslog_0_1_5_0" = callPackage
+  "monad-logger-syslog_0_1_6_0" = callPackage
     ({ mkDerivation, base, bytestring, fast-logger, hsyslog
      , monad-logger, text, transformers
      }:
      mkDerivation {
        pname = "monad-logger-syslog";
-       version = "0.1.5.0";
-       sha256 = "0y96f5qan5na32s8xilky7z30mc7yci1s5i3585aqvqsyyvshchf";
+       version = "0.1.6.0";
+       sha256 = "1n4r0fl043r18683ym3k03sdm3b9wlxfzjgmnxi804kwna639rj3";
        libraryHaskellDepends = [
          base bytestring fast-logger hsyslog monad-logger text transformers
        ];
@@ -164489,16 +165447,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "monoidal-containers_0_6" = callPackage
+  "monoidal-containers_0_6_0_1" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, hashable, lens
      , newtype, semialign, semigroups, these, unordered-containers
      }:
      mkDerivation {
        pname = "monoidal-containers";
-       version = "0.6";
-       sha256 = "1ii09s068g6bj2j10ig3g3ymv1ci6zg596pmmaw6als15j9bybc9";
-       revision = "2";
-       editedCabalFile = "17qv2kds7m4mi3r4rd89d2nhcjc06lzdfg93qsn6ldssnypq0rra";
+       version = "0.6.0.1";
+       sha256 = "1j5mfs0ysvwk3jsmq4hlj4l3kasfc28lk1b3xaymf9dw48ac5j82";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign
          semigroups these unordered-containers
@@ -164654,6 +165610,8 @@ self: {
        ];
        description = "Month, YearMonth, Quarter, YearQuarter types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "monus" = callPackage
@@ -164887,22 +165845,23 @@ self: {
   "morpheus-graphql" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, megaparsec
      , mtl, scientific, tasty, tasty-hunit, template-haskell, text
-     , transformers, unordered-containers, uuid, vector, websockets
+     , th-lift-instances, transformers, unordered-containers, uuid
+     , vector, websockets
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.6.2";
-       sha256 = "160wg001xpwrhvv1wgdqbcwhdpxk4yhi0vf5sjyyzr0bq3j9x1dn";
+       version = "0.7.1";
+       sha256 = "1yh49icsq68xbw9gmvqssy4piaqb97cy39jg4a20360j9sfr87dp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers megaparsec mtl scientific
-         template-haskell text transformers unordered-containers uuid vector
-         websockets
+         template-haskell text th-lift-instances transformers
+         unordered-containers uuid vector websockets
        ];
        testHaskellDepends = [
          aeson base bytestring containers megaparsec mtl scientific tasty
-         tasty-hunit template-haskell text transformers unordered-containers
-         uuid vector websockets
+         tasty-hunit template-haskell text th-lift-instances transformers
+         unordered-containers uuid vector websockets
        ];
        description = "Morpheus GraphQL";
        license = stdenv.lib.licenses.mit;
@@ -164926,6 +165885,8 @@ self: {
        ];
        description = "Morpheus GraphQL CLI";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "morphisms" = callPackage
@@ -165082,6 +166043,8 @@ self: {
        ];
        description = "General purpose migrations library";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "moto-postgresql" = callPackage
@@ -165097,6 +166060,8 @@ self: {
        ];
        description = "PostgreSQL-based migrations registry for moto";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "motor" = callPackage
@@ -167170,6 +168135,26 @@ self: {
        broken = true;
      }) {};
 
+  "musicw" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, data-default
+     , file-embed, ghcjs-base, ghcjs-dom, ghcjs-prim, json, monad-loops
+     , mtl, safe, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "musicw";
+       version = "0.3.0";
+       sha256 = "143yxcj9c1wabg2nmm3ljpdi1r2ah9mf1c8hc2m74gwq08dl78zj";
+       libraryHaskellDepends = [
+         array base bytestring containers data-default file-embed ghcjs-base
+         ghcjs-dom ghcjs-prim json monad-loops mtl safe text time
+         transformers
+       ];
+       description = "Sound synthesis library, to be used with GHCJS and Web Audio API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {ghcjs-prim = null;};
+
   "musicxml" = callPackage
     ({ mkDerivation, base, containers, directory, HaXml, old-time
      , pretty
@@ -167472,6 +168457,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mx-state-codes" = callPackage
+    ({ mkDerivation, aeson, base, hspec, QuickCheck, text }:
+     mkDerivation {
+       pname = "mx-state-codes";
+       version = "1.0.0.0";
+       sha256 = "1jxw7hh24rqs1c5y4b7bmllvcwq3gsrrn0rixq9lzhn2915ykaq6";
+       libraryHaskellDepends = [ aeson base text ];
+       testHaskellDepends = [ aeson base hspec QuickCheck text ];
+       description = "ISO 3166-2:MX State Codes and Names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "mxnet" = callPackage
     ({ mkDerivation, base, c2hs, c2hs-extra, mxnet, pretty, tasty
      , tasty-hunit, template-haskell, unordered-containers, vector
@@ -168712,8 +169709,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "natural-arithmetic";
-       version = "0.1.0.0";
-       sha256 = "0h5ga04hw7v54xsxjj852238spl3px190g67qjqzxvnyn0f76jrp";
+       version = "0.1.1.0";
+       sha256 = "0n2330b2g4gy1ljpcww9vmj74ig23m0zxkg92721zpdfywlcy44g";
        libraryHaskellDepends = [ base ];
        description = "Arithmetic of natural numbers";
        license = stdenv.lib.licenses.bsd3;
@@ -168926,6 +169923,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "neat-interpolation_0_3_2_5" = callPackage
+    ({ mkDerivation, base, base-prelude, HTF, megaparsec
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "neat-interpolation";
+       version = "0.3.2.5";
+       sha256 = "09nb0bypjpfxcm71012c2xxfrq5drvd1nhdmnmhk8wc0r8254g8c";
+       libraryHaskellDepends = [
+         base base-prelude megaparsec template-haskell text
+       ];
+       testHaskellDepends = [ base-prelude HTF ];
+       description = "A quasiquoter for neat and simple multiline text interpolation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "needle" = callPackage
     ({ mkDerivation, base, containers, haskell-src-meta, mtl, parsec
      , parsec-extra, template-haskell, text, vector
@@ -169044,8 +170058,8 @@ self: {
      }:
      mkDerivation {
        pname = "neko-obfs";
-       version = "0.1.0.2";
-       sha256 = "1kqki738d7jfjgr0jcybs9w0fzccmdb1i64caanydpfn6x9rkiac";
+       version = "0.1.0.4";
+       sha256 = "1vffkpxxvxykrjy9awx0vqda6gbpmzz2ybr5ijmb47dl7mr7sl88";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -169101,8 +170115,8 @@ self: {
      }:
      mkDerivation {
        pname = "nerf";
-       version = "0.5.3";
-       sha256 = "18rkjgk2r6784mjbdd2lydv9yac252xvj18m78bbaplnac1504ak";
+       version = "0.5.4.1";
+       sha256 = "1dwfm00r64vi6by92ggi184747v2mq94fbyl18r46icvgq0h1dl2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169110,8 +170124,12 @@ self: {
          dawg IntervalMap monad-ox mtl network polimorf polysoup sgd tagsoup
          text text-binary tokenize vector
        ];
-       executableHaskellDepends = [ directory filepath temporary ];
-       description = "Nerf, the named entity recognition tool based on linear-chain CRFs";
+       executableHaskellDepends = [
+         base binary bytestring cmdargs containers crf-chain1 data-named
+         dawg directory filepath IntervalMap monad-ox mtl network polimorf
+         polysoup sgd tagsoup temporary text text-binary tokenize vector
+       ];
+       description = "Nerf, a named entity recognition tool based on linear-chain CRFs";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -169289,8 +170307,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-mqtt";
-       version = "0.6.2.0";
-       sha256 = "0mryfsjcvybfx7zrakn6h8hw2l8fdq7g194kmiy9xafkkgyza1pk";
+       version = "0.6.2.1";
+       sha256 = "09l9m213x1v7cvrfr039hg2c1pa4dknyhj827h9n0w9pawj61r55";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169935,14 +170953,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "network_3_1_1_0" = callPackage
+  "network_3_1_1_1" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, hspec
      , hspec-discover, HUnit
      }:
      mkDerivation {
        pname = "network";
-       version = "3.1.1.0";
-       sha256 = "0gr99ksn7khijfjf0g4bkp13kb6jbxnq23b6pxflnvlsf5la8yks";
+       version = "3.1.1.1";
+       sha256 = "16ic2hgvadyiy0zfnyd2zknf8rxqmwzpy5mw5x9apwpzfc0mkvyp";
        libraryHaskellDepends = [ base bytestring deepseq ];
        testHaskellDepends = [ base bytestring directory hspec HUnit ];
        testToolDepends = [ hspec-discover ];
@@ -170130,8 +171148,8 @@ self: {
        pname = "network-bsd";
        version = "2.8.1.0";
        sha256 = "0kid0811lv4x761fd5gv6lsc8p5j2bn41rfd366pjb642p562jfr";
-       revision = "2";
-       editedCabalFile = "1cqb720gl960zfzbzxakc2wvrvw8plncgarbb1v1hdzmdxw07js7";
+       revision = "3";
+       editedCabalFile = "1hc3jdbmpq2wxh82xfx452v2m2l97jbdaqqbmj5nz4lljxa2696r";
        libraryHaskellDepends = [ base deepseq network ];
        description = "POSIX network database (<netdb.h>) API";
        license = stdenv.lib.licenses.bsd3;
@@ -170173,6 +171191,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network-byte-order_0_1_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, doctest }:
+     mkDerivation {
+       pname = "network-byte-order";
+       version = "0.1.2.0";
+       sha256 = "1y2azf5zbydzvi4b0hxmy7am4kgpkq8ajnsbrpfrqz87b5y87ccy";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [ base bytestring doctest ];
+       description = "Network byte order utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, network, unix }:
      mkDerivation {
@@ -170429,22 +171460,6 @@ self: {
      }:
      mkDerivation {
        pname = "network-messagepack-rpc";
-       version = "0.1.1.4";
-       sha256 = "040kj2rs80kg7746rqrrsgpbi3vpbfg4c6r5n08nvqqslcx932xb";
-       libraryHaskellDepends = [
-         base bytestring data-msgpack safe-exceptions text
-         unordered-containers
-       ];
-       description = "MessagePack RPC";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "network-messagepack-rpc_0_1_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, data-msgpack, safe-exceptions
-     , text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "network-messagepack-rpc";
        version = "0.1.2.0";
        sha256 = "118agkkbvfyynk6qg5yzazbs0s7w0bw9n0ndj8nm35yy6cil9lky";
        libraryHaskellDepends = [
@@ -170453,7 +171468,6 @@ self: {
        ];
        description = "MessagePack RPC";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-messagepack-rpc-websocket" = callPackage
@@ -170463,8 +171477,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-messagepack-rpc-websocket";
-       version = "0.1.1.0";
-       sha256 = "05cd6cqyydjwymnk8rscqngvz3knyibl674rcbjpz28him6gbc7d";
+       version = "0.1.1.1";
+       sha256 = "0adkav3nl7ghbx2r7dx83ki6m397clxaw37s54ivnkxydqscjv06";
        libraryHaskellDepends = [
          base network-messagepack-rpc text websockets wss-client
        ];
@@ -170729,6 +171743,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network-simple-tls_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, network
+     , network-simple, safe-exceptions, tls, tls-session-manager
+     , transformers, x509, x509-store, x509-system, x509-validation
+     }:
+     mkDerivation {
+       pname = "network-simple-tls";
+       version = "0.4";
+       sha256 = "0c5xxqp2xw1q046sngd5gnwp7gn0ima9wm8drxxry13l0i0bnmn1";
+       libraryHaskellDepends = [
+         base bytestring data-default network network-simple safe-exceptions
+         tls tls-session-manager transformers x509 x509-store x509-system
+         x509-validation
+       ];
+       description = "Simple interface to TLS secured network sockets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-simple-ws" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, network-simple
      , safe-exceptions, websockets
@@ -171350,6 +172383,8 @@ self: {
        pname = "newtype-generics";
        version = "0.5.4";
        sha256 = "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0";
+       revision = "1";
+       editedCabalFile = "1id9a6prj2bzdsyfsfr0pnfy9p8v9wlw59x12fny6y2szfcxcrv7";
        libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [ base hspec ];
        testToolDepends = [ hspec-discover ];
@@ -171537,8 +172572,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools-extra";
-       version = "0.1.0.0";
-       sha256 = "0j3bfrmic9zrivsnaf4kzf5bf0inianmnn7v0c21s5ip775k5jy8";
+       version = "0.1.0.1";
+       sha256 = "0f55j4742rimq7jawgk0ca5kcxg9nz0lfpip5p3sw03w3g52xqxh";
        libraryHaskellDepends = [
          aeson base bytestring containers enclosed-exceptions http-client
          ngx-export-tools snap-core snap-server template-haskell text time
@@ -171763,26 +172798,26 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , bytestring, directory, file-embed, filepath, hashable
      , http-conduit, mtl, optparse-applicative, process, profunctors
-     , string-qq, tasty, tasty-hunit, text, unliftio
+     , pureMD5, string-qq, tasty, tasty-hunit, text, unliftio
      , unordered-containers
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.2.1";
-       sha256 = "18ym8zqxillqf0psc9xyjzgnxhfrfgy5sj3hvrdmggy4dlnn500j";
+       version = "0.2.6";
+       sha256 = "0805n1dk8w3r2wisqjay36wwvcf4b1f3hx4a368vl2dxw43p9j20";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring directory
          file-embed filepath hashable http-conduit mtl optparse-applicative
-         process profunctors string-qq tasty tasty-hunit text unliftio
-         unordered-containers
+         process profunctors pureMD5 string-qq tasty tasty-hunit text
+         unliftio unordered-containers
        ];
        executableHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring directory
          file-embed filepath hashable http-conduit mtl optparse-applicative
-         process profunctors string-qq tasty text unliftio
+         process profunctors pureMD5 string-qq tasty text unliftio
          unordered-containers
        ];
        description = "Easy dependency management for Nix projects";
@@ -171814,8 +172849,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-deploy";
-       version = "1.0.3";
-       sha256 = "0anhmc9g9k40nwj87f24hq4wnj6mkli36dzhzdpa0p3cpg7sh2kh";
+       version = "1.0.4";
+       sha256 = "1wmwrnm6wflkdaq0m84az1q6245iyvkzd2r47vdy9a2a1szqnvl3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -172006,6 +173041,8 @@ self: {
        ];
        description = "Tool for semi-automatic updating of nixpkgs repository";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "nkjp" = callPackage
@@ -172441,23 +173478,11 @@ self: {
     ({ mkDerivation, base, containers, semigroups }:
      mkDerivation {
        pname = "non-empty-sequence";
-       version = "0.2.0.2";
-       sha256 = "1qfidlv190wxrrp67h7rcrlczwfv7r0mdbwm31rrf08l1i6618yr";
-       libraryHaskellDepends = [ base containers semigroups ];
-       description = "Non-empty sequence";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "non-empty-sequence_0_2_0_4" = callPackage
-    ({ mkDerivation, base, containers, semigroups }:
-     mkDerivation {
-       pname = "non-empty-sequence";
        version = "0.2.0.4";
        sha256 = "0a6xk2ijj3lzhqzdrk6q89538d1a62aw8x0ccvkq2kyl1dlahwc0";
        libraryHaskellDepends = [ base containers semigroups ];
        description = "Non-empty sequence";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "non-empty-text" = callPackage
@@ -172540,13 +173565,32 @@ self: {
 
   "nonempty-containers" = callPackage
     ({ mkDerivation, base, comonad, containers, deepseq, hedgehog
+     , hedgehog-fn, semigroupoids, tasty, tasty-hedgehog, text, these
+     }:
+     mkDerivation {
+       pname = "nonempty-containers";
+       version = "0.3.1.0";
+       sha256 = "15flyfv6w4078wk69d2nb2lx21b76xr6c34rxs0w8jz1mb497f6l";
+       libraryHaskellDepends = [
+         base comonad containers deepseq semigroupoids these
+       ];
+       testHaskellDepends = [
+         base comonad containers hedgehog hedgehog-fn semigroupoids tasty
+         tasty-hedgehog text these
+       ];
+       description = "Non-empty variants of containers data types, with full API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nonempty-containers_0_3_3_0" = callPackage
+    ({ mkDerivation, base, comonad, containers, deepseq, hedgehog
      , hedgehog-fn, nonempty-vector, semigroupoids, tasty
      , tasty-hedgehog, text, these, vector
      }:
      mkDerivation {
        pname = "nonempty-containers";
-       version = "0.3.2.0";
-       sha256 = "0h0djvjhlrm4s79q881gbag4kkabacvj0d5x0dc0xvhg1i0hs9da";
+       version = "0.3.3.0";
+       sha256 = "11mrv2vzdqxjx3xn93zlwfxh7z2d5ca5cbsr25y4zv34brn114g2";
        libraryHaskellDepends = [
          base comonad containers deepseq nonempty-vector semigroupoids these
          vector
@@ -172557,6 +173601,7 @@ self: {
        ];
        description = "Non-empty variants of containers data types, with full API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nonempty-lift" = callPackage
@@ -172814,6 +173859,8 @@ self: {
          transformers tuple
        ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "notmuch" = callPackage
@@ -173510,23 +174557,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "numhask";
-       version = "0.3.0.0";
-       sha256 = "1zkiqav683mmghxz0hj0wjzg3sf95zfd4ghicw674d9j3vl4gmcw";
-       libraryHaskellDepends = [ base ];
-       description = "numeric classes";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "numhask_0_3_1" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "numhask";
        version = "0.3.1";
        sha256 = "0r7raa7sw9k6p5xb3kl7jfpfkg4dym2kb8hrdkq9xvj2yrajzg77";
        libraryHaskellDepends = [ base ];
        description = "numeric classes";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "numhask-array" = callPackage
@@ -173639,6 +174674,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "numerical spaces";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "numhask-test" = callPackage
@@ -175039,6 +176076,18 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "op" = callPackage
+    ({ mkDerivation, base, containers, doctest }:
+     mkDerivation {
+       pname = "op";
+       version = "0.3.0.0";
+       sha256 = "0as0nswa28mbw7qp1p1pjvvr4iv6zd81rka9g51fy2w52260lmpv";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base containers doctest ];
+       description = "Common operators encouraging large-scale easy reading";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "opaleye" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , case-insensitive, containers, contravariant, dotenv, hspec
@@ -176958,23 +178007,22 @@ self: {
 
   "ormolu" = callPackage
     ({ mkDerivation, base, bytestring, containers, dlist, exceptions
-     , filepath, ghc, ghc-boot-th, ghc-paths, gitrev, hspec
-     , hspec-discover, mtl, optparse-applicative, path, path-io, syb
-     , text
+     , filepath, ghc-lib-parser, gitrev, hspec, hspec-discover, mtl
+     , optparse-applicative, path, path-io, syb, text
      }:
      mkDerivation {
        pname = "ormolu";
-       version = "0.0.1.0";
-       sha256 = "1p4m9hiavirnhf941fb5pdnrlrknr5rhcvznhqywianvvw6qcm30";
+       version = "0.0.2.0";
+       sha256 = "10p3h98k5ph2awmdd89k8knavv4npvdmh00a9nrzaw6z32j0igfh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring containers dlist exceptions ghc ghc-boot-th
-         ghc-paths mtl syb text
+         base bytestring containers dlist exceptions ghc-lib-parser mtl syb
+         text
        ];
        executableHaskellDepends = [
-         base ghc gitrev optparse-applicative text
+         base ghc-lib-parser gitrev optparse-applicative text
        ];
        testHaskellDepends = [
          base containers filepath hspec path path-io text
@@ -176982,6 +178030,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A formatter for Haskell source code";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "os-release" = callPackage
@@ -177266,10 +178316,8 @@ self: {
      }:
      mkDerivation {
        pname = "overloaded";
-       version = "0.1.2";
-       sha256 = "0m2ddb48vsl0x0hz6pq8wabl1s6vl7s66rz7z9v2i6d809zl83kw";
-       revision = "1";
-       editedCabalFile = "08w1f1g0vq0q8v93fdhb8w7a2xmq6mbyh8c3s5y5sli1bynsgbzb";
+       version = "0.1.3";
+       sha256 = "0yz94zzcwdw34c5v9qmqak9bwqz8gq1s80phf9rn8p0bg6a4l0h4";
        libraryHaskellDepends = [
          base bytestring containers fin ghc optics-core record-hasfield
          sop-core split syb symbols text time vec
@@ -177940,6 +178988,61 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "pandoc_2_8_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
+     , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
+     , case-insensitive, cmark-gfm, containers, criterion, data-default
+     , deepseq, Diff, directory, doclayout, doctemplates, exceptions
+     , executable-path, filepath, Glob, haddock-library, hslua
+     , hslua-module-system, hslua-module-text, HsYAML, HTTP, http-client
+     , http-client-tls, http-types, ipynb, JuicyPixels, mtl, network
+     , network-uri, pandoc-types, parsec, process, QuickCheck, random
+     , safe, scientific, SHA, skylighting, skylighting-core, split, syb
+     , tagsoup, tasty, tasty-golden, tasty-hunit, tasty-lua
+     , tasty-quickcheck, template-haskell, temporary, texmath, text
+     , text-conversions, time, unicode-transforms, unix
+     , unordered-containers, vector, weigh, xml, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "pandoc";
+       version = "2.8.1";
+       sha256 = "0lxlsa26ndp09vmi526cg02lwslfryhyw1xk5vlc6v4jb5i7f46x";
+       configureFlags = [ "-fhttps" "-f-trypandoc" ];
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec base base64-bytestring binary
+         blaze-html blaze-markup bytestring case-insensitive cmark-gfm
+         containers data-default deepseq directory doclayout doctemplates
+         exceptions filepath Glob haddock-library hslua hslua-module-system
+         hslua-module-text HsYAML HTTP http-client http-client-tls
+         http-types ipynb JuicyPixels mtl network network-uri pandoc-types
+         parsec process random safe scientific SHA skylighting
+         skylighting-core split syb tagsoup template-haskell temporary
+         texmath text text-conversions time unicode-transforms unix
+         unordered-containers vector xml zip-archive zlib
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base base64-bytestring bytestring containers Diff directory
+         doctemplates executable-path filepath Glob hslua mtl pandoc-types
+         process QuickCheck tasty tasty-golden tasty-hunit tasty-lua
+         tasty-quickcheck temporary text time xml zip-archive
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion mtl text time weigh
+       ];
+       postInstall = ''
+         mkdir -p $out/share/man/man1
+         mv "man/"*.1 $out/share/man/man1/
+       '';
+       description = "Conversion between markup formats";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
   "pandoc-citeproc" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
@@ -177976,7 +179079,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-citeproc_0_16_3_1" = callPackage
+  "pandoc-citeproc_0_16_4" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
      , HsYAML, HsYAML-aeson, libyaml, mtl, network, old-locale, pandoc
@@ -177986,8 +179089,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.16.3.1";
-       sha256 = "12fsvvjcl7mf52xggh6v7p9va7vhfxj62ziyl1idiz13wp0ipc2z";
+       version = "0.16.4";
+       sha256 = "0mnkhyj56pw8cnycf4ny082rz67gii1x6clzhmxi60zafg07v04c";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178014,18 +179117,21 @@ self: {
 
   "pandoc-citeproc-preamble" = callPackage
     ({ mkDerivation, base, directory, filepath, pandoc-types, process
+     , text-conversions
      }:
      mkDerivation {
        pname = "pandoc-citeproc-preamble";
-       version = "1.2.4";
-       sha256 = "0bdarf6rjncd8lfap4xn479675vsvqzxrmdqd367l2gxfi1nmrv5";
+       version = "1.3";
+       sha256 = "1lnsklvqvi9569wxdkyk2qwc33mm5d3n28xj64847i8g9af2jqs9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base directory filepath pandoc-types process
+         base directory filepath pandoc-types process text-conversions
        ];
        description = "Insert a preamble before pandoc-citeproc's bibliography";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-crossref" = callPackage
@@ -178037,8 +179143,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.4.1";
-       sha256 = "19hs4akqsg7nlspnbdbyncq8irj0a3h8akmyfzxmi2yb35x7c8ny";
+       version = "0.3.5.0";
+       sha256 = "1x01qf7v88f42p6h4mjm8rllxm8jl7bj8rq3512qjksns6qajvk4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -178062,6 +179168,8 @@ self: {
        ];
        description = "Pandoc filter for cross-references";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-csv2table" = callPackage
@@ -178267,8 +179375,6 @@ self: {
        ];
        description = "Pandoc filter to include CSV files";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "pandoc-plantuml-diagrams" = callPackage
@@ -178327,7 +179433,7 @@ self: {
        broken = true;
      }) {};
 
-  "pandoc-pyplot_2_2_0_0" = callPackage
+  "pandoc-pyplot_2_3_0_1" = callPackage
     ({ mkDerivation, base, containers, data-default-class, deepseq
      , directory, filepath, hashable, hspec, hspec-expectations, mtl
      , open-browser, optparse-applicative, pandoc, pandoc-types
@@ -178336,8 +179442,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-pyplot";
-       version = "2.2.0.0";
-       sha256 = "1090c3ilm2krz8wyhizlrbwdrn0hq05a7cyh1n0y57sfv3hxprbj";
+       version = "2.3.0.1";
+       sha256 = "0jpf1fvn3qqaw7094sa79k12v7a7nbqcr6cambl6jr0mk307zm0a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -178354,7 +179460,7 @@ self: {
          mtl pandoc-types tasty tasty-hspec tasty-hunit temporary text
        ];
        description = "A Pandoc filter to include figures generated from Python code blocks";
-       license = stdenv.lib.licenses.mit;
+       license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
@@ -178374,17 +179480,17 @@ self: {
      }) {};
 
   "pandoc-stylefrommeta" = callPackage
-    ({ mkDerivation, base, bytestring, containers, MissingH, pandoc
+    ({ mkDerivation, base, bytestring, containers, extra, pandoc
      , pandoc-types, text
      }:
      mkDerivation {
        pname = "pandoc-stylefrommeta";
-       version = "0.2.1.1";
-       sha256 = "0jqgpgz1yx85zhm4f6qjaqcj94zi71ab0gam5vdz0jad79szr5l8";
+       version = "0.2.3.0";
+       sha256 = "1145flz4jkn5knqkc5cppc1412m6hfzd13124k2kfm8dmw196k31";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring containers MissingH pandoc pandoc-types text
+         base bytestring containers extra pandoc pandoc-types text
        ];
        description = "Pandoc filter to customize links, images and paragraphs";
        license = stdenv.lib.licenses.bsd3;
@@ -178454,17 +179560,17 @@ self: {
 
   "pandoc-vimhl" = callPackage
     ({ mkDerivation, base, cond, directory, filepath, pandoc-types
-     , process, regex-compat, temporary
+     , process, regex-compat, temporary, text
      }:
      mkDerivation {
        pname = "pandoc-vimhl";
-       version = "0.1.2.4";
-       sha256 = "16gvlskbp2d000mbx2rkbz6dg6758ni4x2mkzxjyk5m475h13w6b";
+       version = "0.1.3.0";
+       sha256 = "0ppn42jicmx3v0qk6ql0ccx61kk53c75n5wnl3dppgnv1xgmlnq8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base cond directory filepath pandoc-types process regex-compat
-         temporary
+         temporary text
        ];
        description = "Pandoc filter for native Vim code highlighting";
        license = stdenv.lib.licenses.bsd3;
@@ -181144,18 +182250,6 @@ self: {
      }) {};
 
   "pcre-light" = callPackage
-    ({ mkDerivation, base, bytestring, pcre }:
-     mkDerivation {
-       pname = "pcre-light";
-       version = "0.4.0.4";
-       sha256 = "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82";
-       libraryHaskellDepends = [ base bytestring ];
-       libraryPkgconfigDepends = [ pcre ];
-       description = "Portable regex library for Perl 5 compatible regular expressions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) pcre;};
-
-  "pcre-light_0_4_1_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, HUnit, mtl, pcre }:
      mkDerivation {
        pname = "pcre-light";
@@ -181166,7 +182260,6 @@ self: {
        testHaskellDepends = [ base bytestring containers HUnit mtl ];
        description = "Portable regex library for Perl 5 compatible regular expressions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) pcre;};
 
   "pcre-light-extra" = callPackage
@@ -182444,6 +183537,8 @@ self: {
        pname = "persistent-iproute";
        version = "0.2.3";
        sha256 = "1amzxmwispqi29ln50mfj43i1srl53n5iz7lsq8rxhd1x8fa35gm";
+       revision = "1";
+       editedCabalFile = "1jly9db968q5j5ly75f77hwxrhky3s6xx8ydgsjn5cdr9rc4iz8k";
        libraryHaskellDepends = [
          aeson aeson-iproute base bytestring http-api-data iproute
          path-pieces persistent text
@@ -184260,6 +185355,8 @@ self: {
        testHaskellDepends = [ base containers sdl2 sdl2-image stm text ];
        description = "Functional 2D Game Framework";
        license = stdenv.lib.licenses.zlib;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "ping" = callPackage
@@ -184448,6 +185545,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes_4_3_13" = callPackage
+    ({ mkDerivation, base, criterion, exceptions, mmorph, mtl
+     , optparse-applicative, QuickCheck, semigroups, test-framework
+     , test-framework-quickcheck2, transformers, void
+     }:
+     mkDerivation {
+       pname = "pipes";
+       version = "4.3.13";
+       sha256 = "1ch3xr5f5if0psd3lsyrpkwrgh36synnzqcpimghprys68l4zfkn";
+       libraryHaskellDepends = [
+         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
@@ -185197,6 +186318,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-network-tls_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, network, network-simple
+     , network-simple-tls, pipes, pipes-network, pipes-safe, tls
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-network-tls";
+       version = "0.4";
+       sha256 = "161nqwgv0r5vlnpa1bq0y2wyh2yp8b583dxbwpbgxfjrnsy5f5vm";
+       libraryHaskellDepends = [
+         base bytestring network network-simple network-simple-tls pipes
+         pipes-network pipes-safe tls transformers
+       ];
+       description = "TLS-secured network connections support for pipes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-network-ws" = callPackage
     ({ mkDerivation, base, bytestring, network-simple-ws, pipes }:
      mkDerivation {
@@ -186698,8 +187837,8 @@ self: {
      }:
      mkDerivation {
        pname = "pointfree-fancy";
-       version = "1.1.1.14";
-       sha256 = "08b2dslkblxch8k6wlc6xx50lva8abdkdwibgfxdj2yw4mgdnhry";
+       version = "1.1.1.15";
+       sha256 = "1jbxgn4raa5zzy5riflvx1sch6ar78fi84yf0ag86yxda3lh70qd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186730,6 +187869,8 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Pointful refactoring tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pointless-fun" = callPackage
@@ -186899,15 +188040,13 @@ self: {
      }) {};
 
   "polimorf" = callPackage
-    ({ mkDerivation, base, binary, containers, text, text-binary }:
+    ({ mkDerivation, base, binary, containers, text }:
      mkDerivation {
        pname = "polimorf";
-       version = "0.7.3";
-       sha256 = "0vv7j1l0wnjwpd3hpxswq0k33izl0ck2njspcga885bkrd45lzdr";
-       libraryHaskellDepends = [
-         base binary containers text text-binary
-       ];
-       description = "Working with the PoliMorf dictionary";
+       version = "0.7.4";
+       sha256 = "0pdz9fwqdwhqm1l81jnji3nm8y51dmfg5i84ggp8gmqfsiczvbj3";
+       libraryHaskellDepends = [ base binary containers text ];
+       description = "Handling the PoliMorf dictionary";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -186933,6 +188072,8 @@ self: {
        pname = "poly";
        version = "0.3.1.0";
        sha256 = "1c8xnkqxwzbpx01clz9spz9zwa18qhsbvscrc381r0f46cjax2ph";
+       revision = "1";
+       editedCabalFile = "10lcg7x6vzrzgj5libfwnmxj2y3f1j5gpz9l8mgzivapknvhhpfx";
        libraryHaskellDepends = [
          base primitive semirings vector vector-algorithms
        ];
@@ -186943,6 +188084,8 @@ self: {
        benchmarkHaskellDepends = [ base gauge semirings vector ];
        description = "Polynomials";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "poly_0_3_3_0" = callPackage
@@ -186954,6 +188097,8 @@ self: {
        pname = "poly";
        version = "0.3.3.0";
        sha256 = "1hj77nzyfipsycy77h8ccsx4iyy47ljjv0j8ckihxhaq36g0fpan";
+       revision = "1";
+       editedCabalFile = "0iv4363iq22hkwrkgsijgv8ykvj26q895rsbzrrzkydblf4psra9";
        libraryHaskellDepends = [
          base deepseq primitive semirings vector vector-algorithms
        ];
@@ -186965,6 +188110,7 @@ self: {
        description = "Polynomials";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "poly-arity" = callPackage
@@ -188314,6 +189460,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "postgresql-binary_0_12_2" = callPackage
+    ({ mkDerivation, aeson, base, base-prelude, binary-parser
+     , bytestring, bytestring-strict-builder, containers, conversion
+     , conversion-bytestring, conversion-text, criterion, json-ast
+     , loch-th, network-ip, placeholders, postgresql-libpq, QuickCheck
+     , quickcheck-instances, rerebase, scientific, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, transformers, unordered-containers
+     , uuid, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-binary";
+       version = "0.12.2";
+       sha256 = "1zkhwl8g141p1zgnbxjhh0r6wgvzlpwdbvyl80z31fdxd5v29bv8";
+       libraryHaskellDepends = [
+         aeson base base-prelude binary-parser bytestring
+         bytestring-strict-builder containers loch-th network-ip
+         placeholders scientific text time transformers unordered-containers
+         uuid vector
+       ];
+       testHaskellDepends = [
+         aeson conversion conversion-bytestring conversion-text json-ast
+         loch-th network-ip placeholders postgresql-libpq QuickCheck
+         quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "Encoders and decoders for the PostgreSQL's binary format";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "postgresql-common" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, postgresql-simple }:
      mkDerivation {
@@ -188385,8 +189561,8 @@ self: {
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
        pname = "postgresql-copy-escape";
-       version = "0.1";
-       sha256 = "063phxj8r3vy25awwwn47k9ac0s8z59igpgqrhb9gbfdq4ldrlpm";
+       version = "0.1.0.1";
+       sha256 = "08ld3rqjjjhlikcv1cpxjqs8wlsjhvv7qq9fjb032hx6mvcqwz0i";
        libraryHaskellDepends = [ base bytestring ];
        description = "Format data to feed to a PostgreSQL COPY FROM statement";
        license = stdenv.lib.licenses.bsd3;
@@ -189585,23 +190761,24 @@ self: {
 
   "predicate-typed" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, comonad
-     , containers, deepseq, directory, doctest, ghc-prim, lens, mtl
-     , pcre-heavy, pcre-light, pretty, pretty-terminal, QuickCheck, safe
-     , stm, tasty, tasty-hunit, tasty-quickcheck, template-haskell, text
-     , th-lift, these, time, tree-view
+     , containers, deepseq, directory, doctest, ghc-prim, hashable, lens
+     , mtl, pcre-heavy, pcre-light, pretty, pretty-terminal, QuickCheck
+     , safe, stm, tasty, tasty-hunit, tasty-quickcheck, template-haskell
+     , text, th-lift, these, time, tree-view
      }:
      mkDerivation {
        pname = "predicate-typed";
-       version = "0.4.0.0";
-       sha256 = "1inbwv7g98b8pc0z3ri4hrmang6caaam99mv6vd1pam11kpw6l8g";
+       version = "0.6.0.0";
+       sha256 = "0fk30pn759fg9v2k5gw51hk6vkp2vq4sh574zlqdk4vx6r2r5jrp";
        libraryHaskellDepends = [
          aeson base binary bytestring comonad containers deepseq directory
-         ghc-prim lens mtl pcre-heavy pcre-light pretty pretty-terminal
-         QuickCheck safe template-haskell text th-lift these time tree-view
+         ghc-prim hashable lens mtl pcre-heavy pcre-light pretty
+         pretty-terminal QuickCheck safe template-haskell text th-lift these
+         time tree-view
        ];
        testHaskellDepends = [
          aeson base binary bytestring comonad containers deepseq directory
-         doctest ghc-prim lens mtl pcre-heavy pcre-light pretty
+         doctest ghc-prim hashable lens mtl pcre-heavy pcre-light pretty
          pretty-terminal QuickCheck safe stm tasty tasty-hunit
          tasty-quickcheck template-haskell text th-lift these time tree-view
        ];
@@ -190125,6 +191302,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pretty-hex_1_1" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "pretty-hex";
+       version = "1.1";
+       sha256 = "0c8pa0rdb2q8rf4acy4gww0hj5lrzclzdh52yi2aiaaij4lqzir7";
+       libraryHaskellDepends = [ base bytestring ];
+       description = "A library for hex dumps of ByteStrings";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pretty-loc" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -190224,15 +191413,15 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
      }) {};
 
-  "pretty-simple_3_1_0_0" = callPackage
+  "pretty-simple_3_1_1_0" = callPackage
     ({ mkDerivation, ansi-terminal, base, Cabal, cabal-doctest
      , containers, criterion, doctest, Glob, mtl, QuickCheck
      , template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "pretty-simple";
-       version = "3.1.0.0";
-       sha256 = "0p3p5i2rjwv19hzgqyarv7x6g6hvam159y50irvs0dd5wwphd2pa";
+       version = "3.1.1.0";
+       sha256 = "073x8jwnar4p7615dk0x92d76in2xwsgpip3w3hgq948c4ydmv58";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -191134,21 +192323,6 @@ self: {
      }:
      mkDerivation {
        pname = "probability";
-       version = "0.2.5.2";
-       sha256 = "059l9by2zxb92dd2vshxx9f3sm1kazc2i2ll168hfsya9rrqqaqg";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base containers random transformers utility-ht
-       ];
-       description = "Probabilistic Functional Programming";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "probability_0_2_6" = callPackage
-    ({ mkDerivation, base, containers, random, transformers, utility-ht
-     }:
-     mkDerivation {
-       pname = "probability";
        version = "0.2.6";
        sha256 = "12qzgn9jb9hvbpbkb75ad55yhmhai945rvdbamx6zspbrjlsb9sz";
        enableSeparateDataOutput = true;
@@ -191157,7 +192331,6 @@ self: {
        ];
        description = "Probabilistic Functional Programming";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "probable" = callPackage
@@ -191217,16 +192390,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "process_1_6_6_0" = callPackage
+  "process_1_6_7_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.6.0";
-       sha256 = "140as37rfad7hy1lg03n19dzfbcdaahv64aydl6frv06qvdlc49w";
-       revision = "1";
-       editedCabalFile = "0y3v5ly6fg42ngv41d28ny4x06ddqkivxx16whsfss06k15x3vz5";
+       version = "1.6.7.0";
+       sha256 = "1qplrcdzdv8dhzh859f709facw7xc6kmfwhwmm26qks4arkih7j5";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -191655,8 +192826,8 @@ self: {
     ({ mkDerivation, base, comonad, profunctors }:
      mkDerivation {
        pname = "profunctor-arrows";
-       version = "0.0.0.1";
-       sha256 = "1zcka3xdg3zpy3bxafgipsxyj04jbywl2yf4x6qa13287lxwn6wm";
+       version = "0.0.0.2";
+       sha256 = "01ia949b45izrq6p8qvizz05kvy45qydwj5crdac9spad2asr1s3";
        libraryHaskellDepends = [ base comonad profunctors ];
        description = "Profunctor arrows";
        license = stdenv.lib.licenses.bsd3;
@@ -191702,22 +192873,25 @@ self: {
      }) {};
 
   "profunctor-optics" = callPackage
-    ({ mkDerivation, adjunctions, base, bifunctors, comonad
-     , connections, contravariant, distributive, foldl, mtl
-     , profunctor-misc, profunctors, recursion-schemes, rings
-     , semigroupoids, unliftio-core
+    ({ mkDerivation, base, comonad, connections, containers
+     , distributive, doctest, ilist, mtl, newtype-generics
+     , profunctor-arrows, profunctors, rings, semigroupoids, tagged
+     , transformers, unliftio-core
      }:
      mkDerivation {
        pname = "profunctor-optics";
-       version = "0.0.0.1";
-       sha256 = "043cgxgdvz073mrc9bbpk8m35fy8qch33xya7v7s73sjijk6wcg6";
+       version = "0.0.0.2";
+       sha256 = "0xf7aikcbp1vgdd5bd4rf94w6iavwbxrxbr67prddqanv3jmjqn9";
        libraryHaskellDepends = [
-         adjunctions base bifunctors comonad connections contravariant
-         distributive foldl mtl profunctor-misc profunctors
-         recursion-schemes rings semigroupoids unliftio-core
+         base comonad connections containers distributive ilist mtl
+         newtype-generics profunctor-arrows profunctors rings semigroupoids
+         tagged transformers unliftio-core
        ];
-       description = "Profunctor optics";
+       testHaskellDepends = [ base containers doctest mtl ];
+       description = "An optics library compatible with the typeclasses in 'profunctors'";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "profunctors" = callPackage
@@ -191738,14 +192912,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "profunctors_5_5" = callPackage
+  "profunctors_5_5_1" = callPackage
     ({ mkDerivation, base, base-orphans, bifunctors, comonad
      , contravariant, distributive, tagged, transformers
      }:
      mkDerivation {
        pname = "profunctors";
-       version = "5.5";
-       sha256 = "0z7kf8hkfk5wfxw80zs9jsh22mk3mjzfvqbdkihrw1wiyw4xkjfl";
+       version = "5.5.1";
+       sha256 = "0nmiv7hhmimiwj4jnh5vd5n96bihpairq2rf6hrw11rignal2dqx";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad contravariant distributive
          tagged transformers
@@ -192585,6 +193759,8 @@ self: {
        ];
        description = "JSON protobuf encoding for proto-lens";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "proto-lens-optparse" = callPackage
@@ -192945,6 +194121,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "protocol-buffers_2_4_13" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, binary
+     , bytestring, containers, directory, filepath, mtl, parsec, syb
+     , text, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "protocol-buffers";
+       version = "2.4.13";
+       sha256 = "0xwfb2bkh4nd34s24q786ph4zyrnnl3bcry2kqx3sw20yk3zfdsc";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring binary bytestring containers
+         directory filepath mtl parsec syb text utf8-string vector
+       ];
+       description = "Parse Google Protocol Buffer specifications";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protocol-buffers-descriptor" = callPackage
     ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
      mkDerivation {
@@ -192959,6 +194153,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "protocol-buffers-descriptor_2_4_13" = callPackage
+    ({ mkDerivation, base, bytestring, containers, protocol-buffers }:
+     mkDerivation {
+       pname = "protocol-buffers-descriptor";
+       version = "2.4.13";
+       sha256 = "1c3aiysjlk7r02l5902iq020iasiswk9c1mvf4f9h1yijba4x4fp";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring containers protocol-buffers
+       ];
+       description = "Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protocol-buffers-descriptor-fork" = callPackage
     ({ mkDerivation, base, bytestring, containers
      , protocol-buffers-fork
@@ -193433,29 +194642,29 @@ self: {
      }) {};
 
   "publish" = callPackage
-    ({ mkDerivation, base, bytestring, chronologique, deepseq
-     , directory, filepath, hinotify, hspec, megaparsec, pandoc
-     , pandoc-types, template-haskell, text, typed-process, unbeliever
-     , unix, unordered-containers
+    ({ mkDerivation, base, bytestring, chronologique, core-program
+     , core-text, deepseq, directory, filepath, hinotify, hspec
+     , megaparsec, pandoc, pandoc-types, template-haskell, text
+     , typed-process, unix, unordered-containers
      }:
      mkDerivation {
        pname = "publish";
-       version = "2.0.1";
-       sha256 = "12jhwihg6nlhs1q2cf4ivd7qw724qz1wk1i5rmi4akfga8ad7n4l";
+       version = "2.1.0";
+       sha256 = "03fwk0ami5xxqacqb8gikqzxdp7cavvni5bmxd5bi1lvavk49sh7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring chronologique deepseq directory filepath hinotify
-         megaparsec pandoc pandoc-types template-haskell text typed-process
-         unbeliever unix unordered-containers
+         base bytestring chronologique core-program core-text deepseq
+         directory filepath hinotify megaparsec pandoc pandoc-types
+         template-haskell text typed-process unix unordered-containers
        ];
        testHaskellDepends = [
-         base bytestring chronologique deepseq directory filepath hinotify
-         hspec megaparsec pandoc pandoc-types template-haskell text
-         typed-process unbeliever unix unordered-containers
+         base bytestring chronologique core-program core-text deepseq
+         directory filepath hinotify hspec megaparsec pandoc pandoc-types
+         template-haskell text typed-process unix unordered-containers
        ];
        description = "Publishing tools for papers, books, and presentations";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
@@ -196221,6 +197430,8 @@ self: {
        ];
        description = "Test helpers which help generate data for projects that use postgresql";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "quoridor-hs" = callPackage
@@ -196589,16 +197800,16 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "rainbow_0_34_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, lens, process, QuickCheck, text
+  "rainbow_0_34_2_2" = callPackage
+    ({ mkDerivation, base, bytestring, lens, QuickCheck, terminfo, text
      }:
      mkDerivation {
        pname = "rainbow";
-       version = "0.34.0.0";
-       sha256 = "17v87fkr2skdq1rqcfd5x6philvr5zvnw6sdy9qj0ljafcq31mdd";
-       libraryHaskellDepends = [ base bytestring lens process text ];
+       version = "0.34.2.2";
+       sha256 = "1rx5kci69m7fdi94x35a2wg88fprlix61mvzsqq3waqb7ahc2mlf";
+       libraryHaskellDepends = [ base bytestring lens terminfo text ];
        testHaskellDepends = [
-         base bytestring lens process QuickCheck text
+         base bytestring lens QuickCheck terminfo text
        ];
        description = "Print text to terminal with colors and effects";
        license = stdenv.lib.licenses.bsd3;
@@ -196641,14 +197852,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "rainbox_0_24_0_0" = callPackage
+  "rainbox_0_24_2_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, lens, QuickCheck
      , rainbow, tasty, tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "rainbox";
-       version = "0.24.0.0";
-       sha256 = "1y2zs6062y7xfhcach4s4q4nhhhb111dwggziwgzl3a60cnfhln3";
+       version = "0.24.2.0";
+       sha256 = "1b1nkw7j24fcmgzkcn92j6c8v6abrhg9580hnwna1b4sjjx6ayak";
        libraryHaskellDepends = [
          base bytestring containers lens rainbow text
        ];
@@ -197006,6 +198217,24 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "random-fu_0_2_7_3" = callPackage
+    ({ mkDerivation, base, erf, math-functions, monad-loops, mtl
+     , random-shuffle, random-source, rvar, syb, template-haskell
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "random-fu";
+       version = "0.2.7.3";
+       sha256 = "071b3gi88kmrfiy6kyz1x67mqljwqb4l45vzg1rc2zig3iwy66ih";
+       libraryHaskellDepends = [
+         base erf math-functions monad-loops mtl random-shuffle
+         random-source rvar syb template-haskell transformers vector
+       ];
+       description = "Random number generation";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "random-fu-multivariate" = callPackage
     ({ mkDerivation, base, hmatrix, mtl, random-fu }:
      mkDerivation {
@@ -199275,8 +200504,8 @@ self: {
        pname = "recursion-schemes";
        version = "5.1.3";
        sha256 = "0a0mkwy3sxg5f1mdlblpn0xl3lwgilnmzs94jqab0pqx9gjkc5xj";
-       revision = "1";
-       editedCabalFile = "0zxcmga4fy42arbyv1kzbyfnsghnll3prkpva58x654x4cg4diwk";
+       revision = "2";
+       editedCabalFile = "01q18gplv5k328qf74innnx2z2p15pg5nc6sikxq6fkkw4v3rkyb";
        libraryHaskellDepends = [
          base base-orphans comonad free template-haskell th-abstraction
          transformers
@@ -199342,8 +200571,8 @@ self: {
      }:
      mkDerivation {
        pname = "red-black-record";
-       version = "2.1.0.2";
-       sha256 = "0xfvvhdqnhialxf13xw894mpsf8xj8jig5zipqj1hh6galb0b164";
+       version = "2.1.0.3";
+       sha256 = "0g1av0w52m0admcqif5imkla43yk6id4y8jmiy843xbdqs3qzcx4";
        libraryHaskellDepends = [ base sop-core ];
        testHaskellDepends = [
          aeson base bytestring doctest profunctors sop-core tasty
@@ -200220,6 +201449,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "reflex-libtelnet" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, dependent-map
+     , dependent-sum, dependent-sum-template, lens, libtelnet, reflex
+     }:
+     mkDerivation {
+       pname = "reflex-libtelnet";
+       version = "0.1.0.0";
+       sha256 = "0abqbbbzgsq2sz1yx9cjl7cjfjaygcv4vc8hp6g4gk7744xdshz3";
+       libraryHaskellDepends = [
+         base bytestring data-default dependent-map dependent-sum
+         dependent-sum-template lens libtelnet reflex
+       ];
+       description = "Reflex bindings for libtelnet";
+       license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "reflex-orphans" = callPackage
     ({ mkDerivation, base, deepseq, dependent-map, mtl, ref-tf, reflex
      , tasty, tasty-hunit, these
@@ -200345,8 +201592,8 @@ self: {
      }:
      mkDerivation {
        pname = "reform-happstack";
-       version = "0.2.5.2";
-       sha256 = "0d6w500y47ghmiawlv116hqrknr1sx4k525c7arq340slzch03r6";
+       version = "0.2.5.3";
+       sha256 = "04fnn47rcm7n98q0qifyyg9jrh09mzchirwsgi2zzb6j9mciz6ci";
        libraryHaskellDepends = [
          base bytestring happstack-server mtl random reform text utf8-string
        ];
@@ -200460,6 +201707,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Register allocation API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "reg-alloc-types" = callPackage
@@ -200920,22 +202169,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "regex-tdfa_1_3_0" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, file-embed
-     , filepath, ghc-prim, mtl, parsec, regex-base, utf8-string
+  "regex-tdfa_1_3_1_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, mtl, parsec, regex-base, text, utf8-string
      }:
      mkDerivation {
        pname = "regex-tdfa";
-       version = "1.3.0";
-       sha256 = "1qzcix4bmz5lj0w433qrfi576rvy8y8flv5wvlp6cchb2s8mfq0v";
+       version = "1.3.1.0";
+       sha256 = "1h1fliv2zjxwmddl9wnn7ckxxpgy1049hdfg6fcknyrr7mw7dhqm";
        libraryHaskellDepends = [
-         array base bytestring containers ghc-prim mtl parsec regex-base
+         array base bytestring containers mtl parsec regex-base text
        ];
        testHaskellDepends = [
-         array base bytestring containers file-embed filepath mtl regex-base
-         utf8-string
+         array base bytestring containers directory filepath mtl regex-base
+         text utf8-string
        ];
-       description = "Replaces/Enhances Text.Regex";
+       description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -201732,8 +202981,8 @@ self: {
      }:
      mkDerivation {
        pname = "releaser";
-       version = "0.2.0.0";
-       sha256 = "1hh4z87rc11pgapbrz0sjcy21pvgnm201b85prn09kiwcqrawz8r";
+       version = "0.2.1.0";
+       sha256 = "1nmbqilik3zdcyi7b5hq7xrk1f62g6lw0i8014zxqz56lcwkaj4z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -204254,21 +205503,21 @@ self: {
      }) {};
 
   "rib" = callPackage
-    ({ mkDerivation, 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
+    ({ mkDerivation, aeson, async, base-noprelude, binary, clay
+     , cmdargs, containers, directory, exceptions, foldl, fsnotify
+     , lucid, megaparsec, mmark, mmark-ext, modern-uri, mtl, named
+     , pandoc, pandoc-include-code, pandoc-types, path, path-io, relude
+     , shake, text, wai, wai-app-static, warp
      }:
      mkDerivation {
        pname = "rib";
-       version = "0.3.0.0";
-       sha256 = "1dw86xrz310vrapgln48r46z0ss35jm85c0r95pqvnq4smbwiw18";
+       version = "0.5.0.0";
+       sha256 = "1h9faqwicvgkw5lfj14mcmk0sn8fjzv1vl9887s4y4q4jpi2wfvb";
        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
+         aeson async base-noprelude binary clay cmdargs containers directory
+         exceptions foldl fsnotify lucid megaparsec mmark mmark-ext
+         modern-uri mtl named pandoc pandoc-include-code pandoc-types path
+         path-io relude shake text wai wai-app-static warp
        ];
        description = "Static site generator using Shake";
        license = stdenv.lib.licenses.bsd3;
@@ -204280,10 +205529,12 @@ self: {
     ({ mkDerivation, base, Only, postgresql-simple, text, time }:
      mkDerivation {
        pname = "ribbit";
-       version = "0.4.0.0";
-       sha256 = "0nmpsi8b6m88za9jxawz36jjhsybn39ldi503ap7m9wd765j1dbz";
+       version = "0.4.1.0";
+       sha256 = "1pgyh7ar03k62mpn09g8qm13m1j07wq257hpva3f9sx9n5qd8z2a";
+       revision = "1";
+       editedCabalFile = "11ky88hgkys3bzsqr3sl9j685h6l97r2zccpz1ylinsrvinwnq8s";
        libraryHaskellDepends = [ base Only postgresql-simple text time ];
-       description = "Type-level Relational DB combinators";
+       description = "Type-level Relational DB language";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -204532,19 +205783,21 @@ self: {
      }) {};
 
   "rings" = callPackage
-    ({ mkDerivation, base, connections, containers, contravariant
-     , hedgehog, property, semigroupoids
+    ({ mkDerivation, base, connections, containers, hedgehog, property
+     , semigroupoids
      }:
      mkDerivation {
        pname = "rings";
-       version = "0.0.2";
-       sha256 = "1jw9wzwixzm970rgv5fbji74dajz8ii4pqngjpihp2g0x8wq1scx";
+       version = "0.0.2.1";
+       sha256 = "00aks4frrnp5wk97zgbg9f1bsj3wm7hppfwa8mwr77lfgvbsd1hn";
        libraryHaskellDepends = [
-         base connections containers contravariant property semigroupoids
+         base connections containers property semigroupoids
        ];
        testHaskellDepends = [ base connections hedgehog property ];
        description = "Rings, semirings, and dioids";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "rio" = callPackage
@@ -206715,6 +207968,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "safe_0_3_18" = callPackage
+    ({ mkDerivation, base, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "safe";
+       version = "0.3.18";
+       sha256 = "1v8gxjlq5wz5adyrd8i3dax5hcxrqq0i54m85zpfwfzqibi5nxyp";
+       revision = "1";
+       editedCabalFile = "0zr1di94nbvs6848g1ng6azl7nwm7454kjig2c7gcf9sp4q7z8ba";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base deepseq QuickCheck ];
+       description = "Library of safe (exception free) functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "safe-access" = callPackage
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
@@ -207385,6 +208653,8 @@ self: {
        pname = "salak";
        version = "0.3.5.3";
        sha256 = "0k6z2vjxg6za6rfhx1xgjdck7ainnsbhrvzav2ngwpvy8li5g02b";
+       revision = "1";
+       editedCabalFile = "138c763crbfipcb9ss1lk3wx3482nm2v4zbm3k88h6jszxhmxvav";
        libraryHaskellDepends = [
          base bytestring containers data-default directory dlist exceptions
          filepath hashable heaps megaparsec mtl scientific text time
@@ -208115,8 +209385,6 @@ self: {
        testSystemDepends = [ z3 ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) z3;};
 
   "sbv_8_5" = callPackage
@@ -208149,7 +209417,6 @@ self: {
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) z3;};
 
   "sbvPlugin" = callPackage
@@ -208628,6 +209895,8 @@ self: {
        ];
        description = "Work stealing scheduler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "schedyield" = callPackage
@@ -209696,6 +210965,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "sdl-try-drivers" = callPackage
+    ({ mkDerivation, base, pretty-simple, sdl2, text }:
+     mkDerivation {
+       pname = "sdl-try-drivers";
+       version = "0.0.0.2";
+       sha256 = "0456j3c6a76ph01cz0cdhgfqyyamrwh0y7v5f336kvh5cmsdyw57";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base pretty-simple sdl2 text ];
+       description = "small testing tool for sdl2 and accelerated drivers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "sdl2" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, exceptions, linear
      , SDL2, StateVar, text, transformers, vector, weigh
@@ -210761,6 +212043,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "semigroupoids_5_3_4" = callPackage
+    ({ mkDerivation, base, base-orphans, bifunctors, Cabal
+     , cabal-doctest, comonad, containers, contravariant, distributive
+     , doctest, hashable, tagged, template-haskell, transformers
+     , transformers-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "semigroupoids";
+       version = "5.3.4";
+       sha256 = "0r49qpbi803jk3v4i09jr1a98l6hcgnjhrv1a9fhmay3ff4y9lh0";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       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
@@ -210864,10 +212168,8 @@ self: {
      }:
      mkDerivation {
        pname = "semiring-num";
-       version = "1.6.0.1";
-       sha256 = "1l9j59r0ph34fqkjw1gdf3yzyzk8p6362cznixzx6qnhphbkqjsi";
-       revision = "1";
-       editedCabalFile = "123jk59i4ziv6ghmy8349icpvzgw90xjd6dxzlnayf0qg01adzsr";
+       version = "1.6.0.4";
+       sha256 = "1wpszhdjh2hmgnfzwdsdai1xzq0y1panay9jz5sa82hg11p4wa44";
        libraryHaskellDepends = [
          base containers deepseq hashable log-domain scientific
          template-haskell time unordered-containers vector
@@ -211753,8 +213055,8 @@ self: {
        pname = "servant-auth";
        version = "0.3.2.0";
        sha256 = "12s1m7vqp0ka8nani4cnrb6fad2y5mxji95bba2b6b07ih8xbd3v";
-       revision = "1";
-       editedCabalFile = "10ss4v45lclf5n0k6rch22zzs59v7p5ppd04dbc97pqxiygpbnd9";
+       revision = "2";
+       editedCabalFile = "06jpxqz5444k19p1n4i4yf2pvql37w9ngssp1grxl42dxk2bcg94";
        libraryHaskellDepends = [ base ];
        description = "Authentication combinators for servant";
        license = stdenv.lib.licenses.bsd3;
@@ -211771,8 +213073,8 @@ self: {
        pname = "servant-auth-client";
        version = "0.4.0.0";
        sha256 = "1kh4kq3cc9fn49vmh304zyzn7idb4k1j0803yp7a6qc733panf9g";
-       revision = "1";
-       editedCabalFile = "0cynalya2y5bfnhkc49vwf0ldxg4km6nklk77nlxjcrvwas21g7z";
+       revision = "2";
+       editedCabalFile = "0c67m1ckksnmwkya78nn9hy65xb7c4023fy7d3pp6zyq8izrp1v8";
        libraryHaskellDepends = [
          base bytestring containers servant servant-auth servant-client-core
        ];
@@ -211827,8 +213129,8 @@ self: {
        pname = "servant-auth-docs";
        version = "0.2.10.0";
        sha256 = "0j1ynnrb6plrhpb2vzs2p7a9jb41llp0j1jwgap7hjhkwhyc7wxd";
-       revision = "3";
-       editedCabalFile = "0in6rhgwn5idc2rsl4zbh6kkhxq471iczjd3i6ap60xg46ciymga";
+       revision = "4";
+       editedCabalFile = "1dvwkaihrm7dc2zdrqqvc0j7zmij487klrmsggsdiid7y68nyrqh";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base lens servant servant-auth servant-docs text
@@ -211917,8 +213219,8 @@ self: {
        pname = "servant-auth-swagger";
        version = "0.2.10.0";
        sha256 = "04ndbbhdmpgb8yshki6q2j46a5q8fzvlb4nn8x8gv0mqkriq79sh";
-       revision = "2";
-       editedCabalFile = "1vr0qss87gi6r9z876v9vnmfhr4m58n5x44fgzpmjkn7wlh1i6m7";
+       revision = "3";
+       editedCabalFile = "087faa5bg2hlxyhg7jzy2jj4fzs3dkp0znsbabrharcvdlkpqj1r";
        libraryHaskellDepends = [
          base lens servant servant-auth servant-swagger swagger2 text
        ];
@@ -212186,6 +213488,37 @@ self: {
        pname = "servant-cli";
        version = "0.1.0.1";
        sha256 = "12d18ca90b7mijaav3glx60b9c9qd1f2g4p5m4m7hzz2m22dyimn";
+       revision = "1";
+       editedCabalFile = "1h29x87kqyylwigz86bwrgjdykk1119alsy65a7jkkcrj7a3syqa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers filepath free
+         functor-combinators http-types optparse-applicative profunctors
+         recursion-schemes servant servant-client-core servant-docs text
+         transformers vinyl
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers http-client optparse-applicative
+         random servant servant-client servant-server text vinyl warp
+       ];
+       description = "Command line interface for Servant API clients";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "servant-cli_0_1_0_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, filepath, free, functor-combinators, http-client
+     , http-types, optparse-applicative, profunctors, random
+     , recursion-schemes, servant, servant-client, servant-client-core
+     , servant-docs, servant-server, text, transformers, vinyl, warp
+     }:
+     mkDerivation {
+       pname = "servant-cli";
+       version = "0.1.0.2";
+       sha256 = "11pl9z3l2f7py16drqq9zvl9z5358jv1q7pqslhkhrqg5vhp822k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -214137,8 +215470,8 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.9.3";
-       sha256 = "09mxwqzwcv7dzrb39jiqfay91jh64ajdcp2j2zsp0j1d6g3n8ywf";
+       version = "0.9.4";
+       sha256 = "11svl9km810xw4vbn3vd9jqnv9fglf5jqfyfshnjachiz38fdsih";
        libraryHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive http-types iproute
@@ -215480,8 +216813,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakespeare";
-       version = "2.0.22";
-       sha256 = "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh";
+       version = "2.0.23";
+       sha256 = "0i1k6ahpvc45z05lycxs0f70ngm8xrazp6ayyxv1bzw8q8d4bkz3";
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring containers directory
          exceptions ghc-prim parsec process scientific template-haskell text
@@ -218082,6 +219415,28 @@ self: {
        broken = true;
      }) {};
 
+  "singular-factory" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hgmp
+     , process, QuickCheck, random, singular-factory, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "singular-factory";
+       version = "0.1";
+       sha256 = "0gz9p32y37ci7i1xnq4n086p1ql5nli84z15xyq6dl1jaz0f541r";
+       libraryHaskellDepends = [
+         base containers directory filepath hgmp process text
+       ];
+       libraryPkgconfigDepends = [ singular-factory ];
+       testHaskellDepends = [
+         base QuickCheck random tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Multivariate polynomial factorization via bindings to Singular-factory";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {singular-factory = null;};
+
   "sink" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -218206,8 +219561,8 @@ self: {
      }:
      mkDerivation {
        pname = "sitepipe";
-       version = "0.4.0.0";
-       sha256 = "0y8llic3imc1zs53glig24vjm59f2dnw4sw32gzkvlzq33689s7s";
+       version = "0.4.0.1";
+       sha256 = "1iq7i2zs1bqnxqjp5bwsx8q2vvp1kngwg45mzsiwmhzq4m88x80h";
        libraryHaskellDepends = [
          aeson base bytestring containers directory exceptions filepath Glob
          lens lens-aeson megaparsec MissingH mtl mustache
@@ -218633,14 +219988,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "skylighting_0_8_2_3" = callPackage
+  "skylighting_0_8_3" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers
      , skylighting-core
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.8.2.3";
-       sha256 = "10byr42qnsrqs368li412n8zz405annwmh4vvq2yh6xskipgb32p";
+       version = "0.8.3";
+       sha256 = "1gsmbzgfxwsfvnk3mbd29llv5wkvn5v7ybs46y6kvf51sdf4v6i6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -218683,7 +220038,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "skylighting-core_0_8_2_3" = callPackage
+  "skylighting-core_0_8_3" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , base64-bytestring, binary, blaze-html, bytestring
      , case-insensitive, colour, containers, criterion, Diff, directory
@@ -218693,8 +220048,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.8.2.3";
-       sha256 = "005ancb8y846xsiagnb4gp4bn4h86r551rvpm3x4xj5zpr795pnc";
+       version = "0.8.3";
+       sha256 = "07l8n290wm533qp7h1kdn99b47f2lrq4mag2snfpllll8ss35773";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -219198,20 +220553,21 @@ self: {
   "small-bytearray-builder" = callPackage
     ({ mkDerivation, base, byteslice, bytestring, gauge
      , natural-arithmetic, primitive, primitive-offset, QuickCheck
-     , run-st, tasty, tasty-hunit, tasty-quickcheck, text, text-short
-     , vector
+     , quickcheck-classes, run-st, tasty, tasty-hunit, tasty-quickcheck
+     , text, text-short, vector, wide-word
      }:
      mkDerivation {
        pname = "small-bytearray-builder";
-       version = "0.3.0.0";
-       sha256 = "17c0mwanwj96djirh6vac9k5dh8qsl9inx237wwbln4j3br4mkz4";
+       version = "0.3.1.0";
+       sha256 = "1swv0cwsxrmffkvx16qxxxkxfhqfwxwfz7d2msp5fzzz6all6vli";
        libraryHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive
-         primitive-offset run-st text-short
+         primitive-offset run-st text-short wide-word
        ];
        testHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive QuickCheck
-         tasty tasty-hunit tasty-quickcheck text vector
+         quickcheck-classes tasty tasty-hunit tasty-quickcheck text vector
+         wide-word
        ];
        benchmarkHaskellDepends = [
          base byteslice gauge natural-arithmetic primitive text-short
@@ -220021,10 +221377,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap-core";
-       version = "1.0.4.0";
-       sha256 = "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr";
-       revision = "1";
-       editedCabalFile = "1nw74vpfag6gdh66kq82a0kdb05c2xnwcfacwlcg77j24gxcgi6s";
+       version = "1.0.4.1";
+       sha256 = "19dmfqbsfyk1rkjnnrnajpjfam2xjxgmpfmx10yr5qffgza7gcf0";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -221953,8 +223307,8 @@ self: {
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "some";
-       version = "1.0.0.3";
-       sha256 = "0c2y51gw94faafa0jvb3awnsvj89saan4ryy0d5dwivp0zp9gg64";
+       version = "1.0.1";
+       sha256 = "13dpvxswjcsmic8h2vayp77qzl820gg4g29g5n2xcja8gnzjkkii";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base ];
        description = "Existential type: Some";
@@ -222117,6 +223471,26 @@ self: {
        broken = true;
      }) {};
 
+  "souffle-haskell" = callPackage
+    ({ mkDerivation, base, hspec, mtl, template-haskell
+     , type-errors-pretty
+     }:
+     mkDerivation {
+       pname = "souffle-haskell";
+       version = "0.0.1";
+       sha256 = "1sz5xaw24fknq4y9a9cpp36h6fm46ipclp3nwmpqpnc5svsslgbz";
+       libraryHaskellDepends = [
+         base mtl template-haskell type-errors-pretty
+       ];
+       testHaskellDepends = [
+         base hspec mtl template-haskell type-errors-pretty
+       ];
+       description = "Souffle Datalog bindings for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "sound-collage" = callPackage
     ({ mkDerivation, array, base, Cabal, carray, containers, fft
      , filepath, numeric-prelude, optparse-applicative, pathtype
@@ -223931,6 +225305,8 @@ self: {
        ];
        description = "A file-packing application";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "sr-extra" = callPackage
@@ -224238,6 +225614,8 @@ self: {
        libraryHaskellDepends = [ base gdp ghc-prim primitive ];
        description = "shared heap regions between local mutable state threads";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "stable-heap" = callPackage
@@ -224714,6 +226092,24 @@ self: {
        broken = true;
      }) {};
 
+  "stack-wrapper" = callPackage
+    ({ mkDerivation, base, filepath, process }:
+     mkDerivation {
+       pname = "stack-wrapper";
+       version = "0.1.0";
+       sha256 = "002id9nd6lsg3hyy93ylj9x1jjdwrg2xhahsnp6m1igxq2yns0xr";
+       revision = "1";
+       editedCabalFile = "0biz4w2xrfj0bsb6xj0sjlrs567zvd207f1bkh7c265ip47gfhni";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base filepath process ];
+       executableHaskellDepends = [ base filepath process ];
+       description = "Call ghc within stack by calling ghc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "stack-yaml" = callPackage
     ({ mkDerivation, base, bytestring, directory, doctest, filepath
      , Glob, text, yaml
@@ -224731,18 +226127,23 @@ self: {
      }) {};
 
   "stack2cabal" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, directory, extra
-     , filepath, hpack, stackage-to-hackage, text
+    ({ mkDerivation, base, bytestring, Cabal, containers, directory
+     , extra, filepath, hpack, HsYAML, http-client, http-client-tls
+     , text
      }:
      mkDerivation {
        pname = "stack2cabal";
-       version = "1.0.3";
-       sha256 = "1bmghzb866p3225ai3w4xxy3s2qic3vr4srcx7xb113qjvmadran";
-       isLibrary = false;
+       version = "1.0.4";
+       sha256 = "1s0icdri5gqk01x7r8gnml4wx1bd2500456iif1dg858c41rgzl6";
+       isLibrary = true;
        isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers directory extra filepath hpack
+         HsYAML http-client http-client-tls text
+       ];
        executableHaskellDepends = [
-         base bytestring Cabal directory extra filepath hpack
-         stackage-to-hackage text
+         base bytestring Cabal containers directory extra filepath hpack
+         HsYAML http-client http-client-tls text
        ];
        description = "Convert stack projects to cabal.project + cabal.project.freeze";
        license = stdenv.lib.licenses.gpl3Plus;
@@ -225046,6 +226447,8 @@ self: {
        pname = "stackage-to-hackage";
        version = "1.1.1";
        sha256 = "10zd3wqla54mfnwv65gklvmglhcpzhanqfka0l0ilnbkqlgx4acm";
+       revision = "3";
+       editedCabalFile = "07iflizm4w02w8samh5bcydd3jiqxhcwx2w5zylga8g1107cpaa3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -226852,7 +228255,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "store_0_7_0" = callPackage
+  "store_0_7_1" = callPackage
     ({ mkDerivation, array, async, base, base-orphans
      , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
      , clock, containers, contravariant, criterion, cryptohash, deepseq
@@ -226866,8 +228269,8 @@ self: {
      }:
      mkDerivation {
        pname = "store";
-       version = "0.7.0";
-       sha256 = "0vm0gmdgay66wyvg3inlpdc4p7clpvd23767wldfilvvq5zcjq1q";
+       version = "0.7.1";
+       sha256 = "0mxvyy7l0vg545f3v1y5kh7q58ajhwz02fhfk0km2198bhsdfrij";
        libraryHaskellDepends = [
          array async base base-orphans base64-bytestring bifunctors
          bytestring containers contravariant cryptohash deepseq directory
@@ -226999,15 +228402,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_44_0" = callPackage
+  "stratosphere_0_46_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.44.0";
-       sha256 = "10brxs6hs8s0nb17aycbpn4xhiixxhxnv1wgmkc4jy0pbbrp942w";
+       version = "0.46.0";
+       sha256 = "07qm0bi5f3fkpnbsjbyi4qv2kp7w0wb7zd75q4cikjwkm1wxlldr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -227187,12 +228590,12 @@ self: {
      }) {};
 
   "streamdeck" = callPackage
-    ({ mkDerivation, base, bytestring, hidapi, mtl }:
+    ({ mkDerivation, base, bytestring, hidapi, mtl, split }:
      mkDerivation {
        pname = "streamdeck";
-       version = "0.0.3";
-       sha256 = "1cjvdf9ld55pv7n9cx2c4rsczqjxkrx1mkci8aziz59bs2ipqhak";
-       libraryHaskellDepends = [ base bytestring hidapi mtl ];
+       version = "0.1.0";
+       sha256 = "0dg5hmv61jnpqby4v5g4wpsb7ynsm56fmb3xj2pixswnzqz31ian";
+       libraryHaskellDepends = [ base bytestring hidapi mtl split ];
        description = "Control library for the Elgato Stream Deck";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -227625,8 +229028,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-postgresql-simple";
-       version = "0.2.0.3";
-       sha256 = "1gy6yy14q18zfbbj6rvsnhvhkra78m2jwbyd3hnpbx25jgvz230n";
+       version = "0.2.0.4";
+       sha256 = "1qdfqp1w7pszks4iqbvgqsxmr2c6bx81jgkyz9k8wfz7vajg6f67";
        libraryHaskellDepends = [
          base bytestring exceptions postgresql-libpq postgresql-simple
          resourcet safe-exceptions streaming transformers
@@ -228706,8 +230109,8 @@ self: {
        pname = "structs";
        version = "0.1.2";
        sha256 = "0myv13g48y8vn397lvg45lb942fmw4n9gs80v5nnjfvgika7qbw4";
-       revision = "1";
-       editedCabalFile = "1snsprlbv9npn06iliy937vxqpsjpcmv880bnkbzj3nz4c6c59pa";
+       revision = "2";
+       editedCabalFile = "0ma2s0by622kaq7p57g859pxha02bqrd7n86cczfb2gzcm7kqma7";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base deepseq ghc-prim primitive template-haskell
@@ -230037,8 +231440,8 @@ self: {
        pname = "svg-builder";
        version = "0.1.1";
        sha256 = "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g";
-       revision = "1";
-       editedCabalFile = "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1";
+       revision = "2";
+       editedCabalFile = "100nmkgcm1ncv4mkr1xcsa7bb3z6zx0lfayk8innd4hm62xsvhj3";
        libraryHaskellDepends = [
          base blaze-builder bytestring hashable text unordered-containers
        ];
@@ -230304,6 +231707,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "swagger2_2_5" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
+     , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
+     , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
+     , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
+     , optics-th, QuickCheck, quickcheck-instances, scientific
+     , template-haskell, text, time, transformers, transformers-compat
+     , unordered-containers, utf8-string, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "swagger2";
+       version = "2.5";
+       sha256 = "0ywj4536daz43vrxibqn271gq96bzkawx3qcwbm547315jfd4fqf";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat-batteries bytestring containers
+         cookie generics-sop hashable http-media insert-ordered-containers
+         lens mtl network optics-core optics-th QuickCheck scientific
+         template-haskell text time transformers transformers-compat
+         unordered-containers uuid-types vector
+       ];
+       testHaskellDepends = [
+         aeson base base-compat-batteries bytestring containers doctest Glob
+         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
+         quickcheck-instances template-haskell text time
+         unordered-containers utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Swagger 2.0 data model";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "swapper" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, happstack-data
      , happstack-state, parallel, tokyocabinet
@@ -232261,8 +233697,8 @@ self: {
        pname = "tagged";
        version = "0.8.6";
        sha256 = "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md";
-       revision = "1";
-       editedCabalFile = "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh";
+       revision = "2";
+       editedCabalFile = "1y8z8hmm846z7h3wqncpi0d4zhsnkwf08q0wchivkjw8di7ahz0z";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -232556,8 +233992,8 @@ self: {
      }:
      mkDerivation {
        pname = "tagsoup-navigate";
-       version = "0.1.0.3";
-       sha256 = "1vfadi0ls4wqv8kzpil5ph715mihxp70nb2nnjq70gsdgarndv2j";
+       version = "0.1.0.4";
+       sha256 = "1mds95a0xz3iklidmvczjpmm9vjhzdrdvcj3dg0n3ivwwli672m9";
        libraryHaskellDepends = [
          base deriving-compat lens mmorph mtl semigroupoids semigroups
          tagsoup tagsoup-selection transformers
@@ -233157,17 +234593,15 @@ self: {
 
   "taskwarrior" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hspec, hspec-discover
-     , process, QuickCheck, quickcheck-instances, string-interpolate
-     , text, time, unordered-containers, uuid
+     , process, QuickCheck, quickcheck-instances, random
+     , string-interpolate, text, time, unordered-containers, uuid
      }:
      mkDerivation {
        pname = "taskwarrior";
-       version = "0.1.0.0";
-       sha256 = "0af58ns601bqih7nvg614wclxvd2f9j3rqakz9djjybdk1771j2v";
-       revision = "1";
-       editedCabalFile = "0idswz48jgl48grmbbynh1447bblw99wpqifjcwr6apcl63hrn3a";
+       version = "0.1.1.0";
+       sha256 = "1vr25n4q4rb5z760dpd247h3z6r8ydqgg5z5hihmps1vhazvxa8c";
        libraryHaskellDepends = [
-         aeson base bytestring process string-interpolate text time
+         aeson base bytestring process random string-interpolate text time
          unordered-containers uuid
        ];
        testHaskellDepends = [
@@ -233705,6 +235139,8 @@ self: {
        ];
        description = "TAP (Test Anything Protocol) Version 13 formatter for tasty";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tasty-test-vector" = callPackage
@@ -233740,8 +235176,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-tmux";
-       version = "0.1.0.1";
-       sha256 = "07jx1ik8bmirc6ycimzv763kfqvhi712ivk32npw5iprpn94k6h2";
+       version = "0.1.0.2";
+       sha256 = "0lksanhb1nsk45vqg1h9jigllfg0lrqsynxkplh8lyx6g8k0naav";
        libraryHaskellDepends = [
          base bytestring mtl regex-posix tasty tasty-hunit text
          typed-process
@@ -235292,6 +236728,29 @@ self: {
        broken = true;
      }) {};
 
+  "tesla" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, casing, containers
+     , generic-deriving, HUnit, lens, lens-aeson, mtl, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, time
+     , vector, wreq
+     }:
+     mkDerivation {
+       pname = "tesla";
+       version = "0.1.0.0";
+       sha256 = "1asifxkc73n8g30qmr1nr83vpvgx8smi505322n9sknlb1hadgms";
+       libraryHaskellDepends = [
+         aeson base bytestring casing containers generic-deriving lens
+         lens-aeson mtl template-haskell text time vector wreq
+       ];
+       testHaskellDepends = [
+         aeson base bytestring casing containers generic-deriving HUnit lens
+         lens-aeson mtl tasty tasty-hunit tasty-quickcheck template-haskell
+         text time vector wreq
+       ];
+       description = "Tesla API client";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "test-fixture" = callPackage
     ({ mkDerivation, base, data-default-class, exceptions
      , haskell-src-exts, haskell-src-meta, hspec, hspec-discover, mtl
@@ -236000,8 +237459,8 @@ self: {
        pname = "texrunner";
        version = "0.0.1.2";
        sha256 = "1fxyxwgvn0rxhkl1fs2msr88jqwx5wwfnjsjlcankrwcn7gyk7jy";
-       revision = "1";
-       editedCabalFile = "137bbyxrrg9yn1060aqkamdk1mb7x12nwndradwp57057ix79fp4";
+       revision = "2";
+       editedCabalFile = "0zv8xp8z2gx9zjqn1f81hri4hn0bws7cq39g5i2g2axrkm9nwj5q";
        libraryHaskellDepends = [
          attoparsec base bytestring directory filepath io-streams mtl
          process semigroups temporary
@@ -237097,6 +238556,8 @@ self: {
        pname = "th-abstraction";
        version = "0.3.1.0";
        sha256 = "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb";
+       revision = "1";
+       editedCabalFile = "1c0sy614vfcdvshn0z09nzfiq89v5if31yvvpxzrivrdy9gf912s";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -237333,8 +238794,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-format";
-       version = "0.1.2.0";
-       sha256 = "1wc9ndqv2qxk75b47s44j0lrx5h9hc1r4h1nvl01pbdks6yyi43j";
+       version = "0.1.3.0";
+       sha256 = "0ckyf5r5sz3x8ixj5nclqsi6ifk7zz08b6wf09gbwb4gbydklw7c";
        libraryHaskellDepends = [
          base Earley haskell-src-meta template-haskell text
        ];
@@ -237450,6 +238911,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "th-lift_0_8_1" = callPackage
+    ({ mkDerivation, base, ghc-prim, template-haskell, th-abstraction
+     }:
+     mkDerivation {
+       pname = "th-lift";
+       version = "0.8.1";
+       sha256 = "1msyisgn30l2sd7jagab38r8q9mbi4phmqk4g3fddn4l6wcz989z";
+       libraryHaskellDepends = [
+         base ghc-prim template-haskell th-abstraction
+       ];
+       testHaskellDepends = [ base ghc-prim template-haskell ];
+       description = "Derive Template Haskell's Lift class for datatypes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "th-lift-instances" = callPackage
     ({ mkDerivation, base, bytestring, containers, QuickCheck
      , template-haskell, text, th-lift, transformers, vector
@@ -237490,6 +238967,8 @@ self: {
        pname = "th-orphans";
        version = "0.13.9";
        sha256 = "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z";
+       revision = "1";
+       editedCabalFile = "100gpi0np50vxlapyl6d05w8ss9l2gqacn28i228hsvhvrxxwjdy";
        libraryHaskellDepends = [
          base mtl template-haskell th-lift th-lift-instances th-reify-many
        ];
@@ -238252,8 +239731,8 @@ self: {
      }:
      mkDerivation {
        pname = "thrift";
-       version = "0.12.0";
-       sha256 = "1yzfq671apw3mjaws16a6agjw3vpm7yz0gdp3kyh8vvbp5d0czyf";
+       version = "0.13.0";
+       sha256 = "005gaw3n548l7ij8m2di2b7nmfz2sg6nhafb3xjccw9wgwzl9qs2";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring binary bytestring containers
          ghc-prim hashable hspec-core HTTP network network-uri QuickCheck
@@ -238584,8 +240063,8 @@ self: {
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.4.4";
-       sha256 = "0ibaq9gyn0iz00jsdmifw5fcj4f01l6z8ds13gxz365r1wgcn2pj";
+       version = "1.4.5";
+       sha256 = "146nhi2y8c5acqmkhgh4f1bb3wrasba0i1w4v2vwnbznpdv6cxs1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
@@ -239464,8 +240943,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "timers-tick";
-       version = "0.4.1.0";
-       sha256 = "1dbkgsvzfxgf4cgkzlmn1dcjw3rb7rrx56ix7n5r1k42n0wsyfsg";
+       version = "0.4.2.0";
+       sha256 = "079pgfgpgdmn9yqyd81rz615a035zjw24na8q332m1ld51xc0n8f";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "tick based timers";
@@ -240209,27 +241688,36 @@ self: {
        broken = true;
      }) {};
 
-  "tmp-postgres_1_13_0_0" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, async, base, bytestring
-     , containers, criterion, directory, generic-monoid, hspec, mtl
-     , port-utils, postgres-options, postgresql-simple, process, random
-     , temporary, transformers, unix
+  "tmp-postgres_1_27_0_4" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, async, base, base64-bytestring
+     , bytestring, containers, criterion, cryptohash-sha1, deepseq
+     , directory, generic-monoid, hspec, mtl, network, port-utils
+     , postgres-options, postgresql-simple, process, stm, temporary
+     , transformers, unix
      }:
      mkDerivation {
        pname = "tmp-postgres";
-       version = "1.13.0.0";
-       sha256 = "01xpa5jignp7a3fw2rczyciaz9h6m1hf0i1iwanadbacnvzh7ing";
+       version = "1.27.0.4";
+       sha256 = "0iqr0w9yhxxx9ld7bd96zal08q75ca9b9mpifhjj1wll05ml9vdq";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint async base bytestring containers directory
-         generic-monoid port-utils postgres-options postgresql-simple
-         process random temporary transformers unix
+         ansi-wl-pprint async base base64-bytestring bytestring containers
+         cryptohash-sha1 deepseq directory generic-monoid port-utils
+         postgres-options postgresql-simple process stm temporary
+         transformers unix
+       ];
+       executableHaskellDepends = [
+         async base directory postgres-options postgresql-simple process
+         temporary
        ];
        testHaskellDepends = [
-         base containers directory hspec mtl port-utils postgres-options
-         postgresql-simple process temporary unix
+         base containers directory generic-monoid hspec mtl network
+         port-utils postgres-options postgresql-simple process temporary
+         unix
        ];
        benchmarkHaskellDepends = [
-         base criterion postgres-options postgresql-simple
+         base criterion deepseq postgres-options postgresql-simple
        ];
        description = "Start and stop a temporary postgres";
        license = stdenv.lib.licenses.bsd3;
@@ -241108,10 +242596,10 @@ self: {
     ({ mkDerivation, base, containers, semiring-num }:
      mkDerivation {
        pname = "total-map";
-       version = "0.1.0";
-       sha256 = "0fqgazhs3ppv4ywdxjrhrdzp5z1szgkq4l0lqpbzqwrhi7axgl69";
+       version = "0.1.3";
+       sha256 = "015bj6g4hjp38fc8bm5z57w6akdgvyab6j2sc666x0qdxgrdwp88";
        libraryHaskellDepends = [ base containers semiring-num ];
-       description = "Finitely represented /total/ maps";
+       description = "Finitely represented total maps";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -242409,8 +243897,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.5.0.0";
-       sha256 = "0gf2mcrrib4id0374hs9mf24g09d4rz7nrrgf92ls7b8279xvjkd";
+       version = "0.6.0.0";
+       sha256 = "1kdx7axkx34h6jlmpzvmqbabyiqj3yp78bl1qn6aj5c2mql4hi12";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath fused-effects
          semantic-source split template-haskell text unordered-containers
@@ -242453,26 +243941,35 @@ self: {
      }) {};
 
   "tree-sitter-java" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, pathtype, semantic-source, tasty
+     , tasty-hunit, template-haskell, text, tree-sitter
+     , tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-java";
-       version = "0.4.0.0";
-       sha256 = "0v8mw4slp6rgyw2h3qpqkjqs13kg8dcigq7014dh77h804plk0w7";
+       version = "0.5.0.0";
+       sha256 = "0rmmsp1alyvc94f61qfha5wm0z2605n9wz3yxaac58bqghsqjx8f";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       libraryHaskellDepends = [
+         base semantic-source template-haskell tree-sitter
+       ];
+       testHaskellDepends = [
+         base bytestring pathtype tasty tasty-hunit text tree-sitter
+         tree-sitter-test-helpers
+       ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Java";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-json" = callPackage
     ({ mkDerivation, base, template-haskell, text, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-json";
-       version = "0.3.0.0";
-       sha256 = "09489gikbmddw28ckgf6mg526j43386sdilvb7gzs5x9kc86sd4q";
+       version = "0.4.0.0";
+       sha256 = "1syd5md8gwxhcfqwvfy4f3rilpn8fr83ib54wa3mmf7165jscwpz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base template-haskell text tree-sitter ];
        doHaddock = false;
@@ -242498,24 +243995,29 @@ self: {
 
   "tree-sitter-python" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
-     , hedgehog, semantic-source, template-haskell, tree-sitter
+     , hedgehog, pathtype, semantic-source, tasty, tasty-hedgehog
+     , tasty-hunit, template-haskell, text, tree-sitter
+     , tree-sitter-test-helpers
      }:
      mkDerivation {
        pname = "tree-sitter-python";
-       version = "0.6.0.0";
-       sha256 = "041qrxdkn19x9h0vcjb0jvc6d0mp6ysdak7i4yqqww683npxjkp1";
+       version = "0.7.0.0";
+       sha256 = "0s86c4jbfp8dbkkqxdq9k28xphx5vrkf2ss1xzjq88bkzz6q7hqy";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base directory filepath semantic-source template-haskell
          tree-sitter
        ];
-       testHaskellDepends = [ base bytestring hedgehog tree-sitter ];
+       testHaskellDepends = [
+         base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
+         text tree-sitter tree-sitter-test-helpers
+       ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Python";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-ruby" = callPackage
     ({ mkDerivation, base, template-haskell, tree-sitter }:
@@ -243301,6 +244803,22 @@ self: {
        broken = true;
      }) {};
 
+  "ttc" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "ttc";
+       version = "0.1.0.1";
+       sha256 = "12c781fsa1i2iw03ysdh5fpg0912w9kmzgixzq16kb4mdb0crq30";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring template-haskell text ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit text ];
+       description = "Textual Type Classes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "ttl-hashtables" = callPackage
     ({ mkDerivation, base, clock, containers, data-default, failable
      , hashable, hashtables, hspec, mtl, transformers
@@ -244220,6 +245738,8 @@ self: {
        ];
        description = "Haskell twirp foundations";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "twisty" = callPackage
@@ -244362,8 +245882,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-types";
-       version = "0.9.0";
-       sha256 = "0hfm2zdgvpkfn06x140pnnbylmgram3i5zqf62c4yg6khi78m7hg";
+       version = "0.10.0";
+       sha256 = "0a2wgidg5dk3cxszb0q07cg0sywqgyxl5scswlr91yjvmjmlnkby";
        libraryHaskellDepends = [
          aeson base text time unordered-containers
        ];
@@ -244384,8 +245904,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-types-lens";
-       version = "0.9.0";
-       sha256 = "0xp6dwzw0mba4i6vq1sginn7d6ini2c3ig2ss0pn1m0sjwj8x7yq";
+       version = "0.10.0";
+       sha256 = "1x9w68mr6r6354in9l4vmawk5symvfh2qlhjn2gd30m8b1mzbrjg";
        libraryHaskellDepends = [
          base lens template-haskell text time twitter-types
        ];
@@ -245721,8 +247241,8 @@ self: {
      }:
      mkDerivation {
        pname = "tz";
-       version = "0.1.3.2";
-       sha256 = "0k35pw27a3hwg5wqjpfqij0y7rkdlmd85n4kj4ckna4z2v86dl7h";
+       version = "0.1.3.3";
+       sha256 = "1cnin3dlk6xmvk5cz1sjj88djdv1rq87hvwmhc2dj22hgbs3p3ni";
        libraryHaskellDepends = [
          base binary bytestring containers data-default deepseq
          template-haskell time tzdata vector
@@ -246503,12 +248023,16 @@ self: {
      }) {};
 
   "unexceptionalio" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, HUnit, test-framework, test-framework-hunit
+     }:
      mkDerivation {
        pname = "unexceptionalio";
-       version = "0.4.0";
-       sha256 = "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p";
+       version = "0.5.0";
+       sha256 = "04jrmv075cas6qs58m3j0q9h4w14kd4b87bp42k3x3v6hcl62xi9";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit
+       ];
        description = "IO without any non-error, synchronous exceptions";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -246518,8 +248042,8 @@ self: {
     ({ mkDerivation, base, transformers, unexceptionalio }:
      mkDerivation {
        pname = "unexceptionalio-trans";
-       version = "0.4.0";
-       sha256 = "19jzvxx0z4w7d1mp09spiz01sd349376hf5xkg8r2zfr8fx7hj71";
+       version = "0.5.0";
+       sha256 = "1sd5q97zjk1qkffbhj4rzdrvwwz4q7b6vwrmb6mpkbg7ra4ks49p";
        libraryHaskellDepends = [ base transformers unexceptionalio ];
        description = "A wrapper around UnexceptionalIO using monad transformers";
        license = "unknown";
@@ -247506,7 +249030,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "universum_1_6_0" = callPackage
+  "universum_1_6_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, doctest
      , gauge, ghc-prim, Glob, hashable, hedgehog, microlens
      , microlens-mtl, mtl, safe-exceptions, stm, tasty, tasty-hedgehog
@@ -247514,8 +249038,8 @@ self: {
      }:
      mkDerivation {
        pname = "universum";
-       version = "1.6.0";
-       sha256 = "12gz4hpwmykb73dplbd8j628f54ipk0pygrswy0k1k7j68awnjl6";
+       version = "1.6.1";
+       sha256 = "007nh8kw5a2m681bjwvcdjdf69nb768kwdsckj2kdd7406mfgdm7";
        libraryHaskellDepends = [
          base bytestring containers deepseq ghc-prim hashable microlens
          microlens-mtl mtl safe-exceptions stm text transformers
@@ -248934,8 +250458,8 @@ self: {
      }:
      mkDerivation {
        pname = "userid";
-       version = "0.1.3.3";
-       sha256 = "1p1dfbr68bkn09zpy50i1xazvfblds46bs60vra2sqn4hv8vj0s9";
+       version = "0.1.3.4";
+       sha256 = "149c32v5fa4aqkknqwlamf1r06ki0g0q03nbsc0giaw5qsavf7x1";
        libraryHaskellDepends = [
          aeson base boomerang cereal safecopy web-routes web-routes-th
        ];
@@ -249131,6 +250655,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "util_0_1_14_1" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "util";
+       version = "0.1.14.1";
+       sha256 = "17y07674dkhgq8yxrdfqj3ycaw5232rc1dnfh7r0v4ca2fyhx5a8";
+       libraryHaskellDepends = [ base transformers ];
+       description = "Utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "util-exception" = callPackage
     ({ mkDerivation, base, basic, control, lifted-base-tf, util }:
      mkDerivation {
@@ -250681,6 +252217,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector-algorithms_0_8_0_3" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mwc-random
+     , primitive, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "vector-algorithms";
+       version = "0.8.0.3";
+       sha256 = "11vks2h9f5gk0irsx5j9xwlicbzkv3k80sx76j5k3zb38q0izi0s";
+       libraryHaskellDepends = [ base bytestring primitive vector ];
+       testHaskellDepends = [
+         base bytestring containers QuickCheck vector
+       ];
+       benchmarkHaskellDepends = [ base mwc-random vector ];
+       description = "Efficient algorithms for vector arrays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-binary" = callPackage
     ({ mkDerivation, base, binary, vector }:
      mkDerivation {
@@ -255157,8 +256711,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes";
-       version = "0.27.14.2";
-       sha256 = "0jpps7ay2hw41595hlfrx5k4lh9p2nib02n3rhd1vphpbnf392xg";
+       version = "0.27.14.3";
+       sha256 = "1a66m261ilqafbwwgjvalh3rz38qxcwxw9a99wr18lm0ah27lvx4";
        libraryHaskellDepends = [
          base blaze-builder bytestring exceptions ghc-prim http-types mtl
          parsec split text utf8-string
@@ -255198,8 +256752,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-happstack";
-       version = "0.23.11";
-       sha256 = "0jzxcwh3g6y5y4whjbw86y94hfrl73iwnwhhm728l69z5knqry9y";
+       version = "0.23.12";
+       sha256 = "0p5fa2cdpk6s9n0wa7nllhk1naa3a8a8vx63q6da8ifk6x8jn68a";
        libraryHaskellDepends = [
          base bytestring happstack-server text web-routes
        ];
@@ -255265,8 +256819,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-th";
-       version = "0.22.6.4";
-       sha256 = "0r0z39hdxm3ggqq9n71wy0k44gb27zpka4pnmp07855czc4l61ca";
+       version = "0.22.6.5";
+       sha256 = "1amzab59hhd723clg9skcn5nhwvlw1la1acc9qdbyg302a75s0l9";
        libraryHaskellDepends = [
          base parsec split template-haskell text web-routes
        ];
@@ -256151,6 +257705,8 @@ self: {
        ];
        description = "A school-timetable problem-solver";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "weigh" = callPackage
@@ -256167,6 +257723,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "weigh_0_0_16" = callPackage
+    ({ mkDerivation, base, deepseq, ghc, mtl, process, split, temporary
+     }:
+     mkDerivation {
+       pname = "weigh";
+       version = "0.0.16";
+       sha256 = "13pbjr7fzqy3s9c1nd2jhfwzbpccmpfwdn7y46z9k2bfkch1jam9";
+       libraryHaskellDepends = [
+         base deepseq ghc mtl process split temporary
+       ];
+       testHaskellDepends = [ base deepseq ];
+       description = "Measure allocations of a Haskell functions/values";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "weighted" = callPackage
     ({ mkDerivation, base, mtl, semiring-num, transformers }:
      mkDerivation {
@@ -256646,6 +258218,8 @@ self: {
        pname = "windns";
        version = "0.1.0.1";
        sha256 = "016d1cf51jqvhbzlf5kbizv4l4dymradac1420rl47q2k5faczq8";
+       revision = "1";
+       editedCabalFile = "17d44pzi4q5yvrygimdrwdrabz62s1ylw918w28sxgcvj64ir22g";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the <windns.h>/dnsapi.dll standard library";
@@ -257338,8 +258912,8 @@ self: {
      }:
      mkDerivation {
        pname = "wordchoice";
-       version = "0.1.2.7";
-       sha256 = "06xz5xk14fiy1z4j6q7lbjwj13m4hy22pzrcdwk6c078w85rp4yd";
+       version = "0.1.2.8";
+       sha256 = "0ncs3g174db6508fic7x2xibvkccmz068g6hizp8fi20bwxb9js8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -258195,10 +259769,8 @@ self: {
      }:
      mkDerivation {
        pname = "wss-client";
-       version = "0.2.1.1";
-       sha256 = "1wgqd8hh22ld72c1ccfr191ydqb5fija6c1l0vbg7n8pldhmi92w";
-       revision = "1";
-       editedCabalFile = "03q6mpdy93y8kjmjcxpjasg6q1mg64az28z99gm2w2iih3mqa702";
+       version = "0.3.0.0";
+       sha256 = "1licynhnyhfdq4gxpsya3gaypjs9inqzr2xqmjs9f99ymbvin8d8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -258935,6 +260507,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "xeno_0_3_5_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, criterion, deepseq
+     , ghc-prim, hexml, hexpat, hspec, mtl, mutable-containers, vector
+     , weigh, xml
+     }:
+     mkDerivation {
+       pname = "xeno";
+       version = "0.3.5.2";
+       sha256 = "0xfhdi5d0y3rlsmzczdg8b896l9q31nify1vsq0vfqqhfn75pw8l";
+       libraryHaskellDepends = [
+         array base bytestring deepseq mtl mutable-containers vector
+       ];
+       testHaskellDepends = [ base bytestring hexml hspec ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq ghc-prim hexml hexpat weigh xml
+       ];
+       description = "A fast event-based XML parser in pure Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xenstore" = callPackage
     ({ mkDerivation, base, bytestring, cereal, mtl, network }:
      mkDerivation {
@@ -259307,6 +260900,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "xlsx_0_8_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary-search
+     , bytestring, conduit, containers, criterion, data-default, deepseq
+     , Diff, errors, extra, filepath, groom, lens, mtl, network-uri
+     , old-locale, raw-strings-qq, safe, smallcheck, tasty, tasty-hunit
+     , tasty-smallcheck, text, time, transformers, vector, xeno
+     , xml-conduit, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "xlsx";
+       version = "0.8.0";
+       sha256 = "1wp2ybkf5z4x87a73yygi3g1nqjy6pfb1wdwyvmjqk64ibjz0p7d";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring binary-search bytestring conduit
+         containers data-default deepseq errors extra filepath lens mtl
+         network-uri old-locale safe text time transformers vector xeno
+         xml-conduit zip-archive zlib
+       ];
+       testHaskellDepends = [
+         base bytestring containers Diff groom lens mtl raw-strings-qq
+         smallcheck tasty tasty-hunit tasty-smallcheck text time vector
+         xml-conduit
+       ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       description = "Simple and incomplete Excel file parser/writer";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xlsx-tabular" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, data-default
      , lens, text, xlsx
@@ -261339,6 +262961,8 @@ self: {
        ];
        description = "YAML parsing combinators for improved validation and error reporting";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "yaml-config" = callPackage
@@ -262595,39 +264219,6 @@ self: {
      }) {};
 
   "yesod-bin" = callPackage
-    ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
-     , bytestring, Cabal, conduit, conduit-extra, containers
-     , data-default-class, directory, file-embed, filepath, fsnotify
-     , http-client, http-client-tls, http-reverse-proxy, http-types
-     , network, optparse-applicative, parsec, process, project-template
-     , resourcet, say, shakespeare, split, stm, streaming-commons, tar
-     , template-haskell, text, time, transformers, transformers-compat
-     , unix-compat, unliftio, unordered-containers, wai, wai-extra, warp
-     , warp-tls, yaml, zlib
-     }:
-     mkDerivation {
-       pname = "yesod-bin";
-       version = "1.6.0.3";
-       sha256 = "1p5f6bl4gynm47m1xg1x1xh9nz913i83iprh2xd207359idjknz4";
-       revision = "4";
-       editedCabalFile = "1iw9m3z6m4n9dlwamf1kwr7pp2wpk6awf1m63zjkgw5j4vwxlcpg";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         attoparsec base base64-bytestring blaze-builder bytestring Cabal
-         conduit conduit-extra containers data-default-class directory
-         file-embed filepath fsnotify http-client http-client-tls
-         http-reverse-proxy http-types network optparse-applicative parsec
-         process project-template resourcet say shakespeare split stm
-         streaming-commons tar template-haskell text time transformers
-         transformers-compat unix-compat unliftio unordered-containers wai
-         wai-extra warp warp-tls yaml zlib
-       ];
-       description = "The yesod helper executable";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-bin_1_6_0_4" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, conduit, conduit-extra
      , containers, data-default-class, directory, file-embed, filepath
      , fsnotify, http-client, http-client-tls, http-reverse-proxy
@@ -262652,7 +264243,6 @@ self: {
        ];
        description = "The yesod helper executable";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-bootstrap" = callPackage
@@ -262836,6 +264426,44 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_6_17" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
+     , blaze-markup, bytestring, case-insensitive, cereal, clientsession
+     , conduit, conduit-extra, containers, cookie, deepseq, fast-logger
+     , gauge, hspec, hspec-expectations, http-types, HUnit, memory
+     , monad-logger, mtl, network, parsec, path-pieces, primitive
+     , random, resourcet, shakespeare, streaming-commons
+     , template-haskell, text, time, transformers, unix-compat, unliftio
+     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
+     , word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.6.17";
+       sha256 = "1i31xx9ili9r9il0mqpb04pgnq67rfsfr61pw9xmc163akgdfi4l";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-html blaze-markup bytestring
+         case-insensitive cereal clientsession conduit conduit-extra
+         containers cookie deepseq fast-logger http-types memory
+         monad-logger mtl parsec path-pieces primitive random resourcet
+         shakespeare template-haskell text time transformers unix-compat
+         unliftio unordered-containers vector wai wai-extra wai-logger warp
+         word8
+       ];
+       testHaskellDepends = [
+         async base bytestring clientsession conduit conduit-extra
+         containers cookie hspec hspec-expectations http-types HUnit network
+         path-pieces random resourcet shakespeare streaming-commons
+         template-haskell text transformers unliftio wai wai-extra warp
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring gauge shakespeare text
+       ];
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-crud" = callPackage
     ({ mkDerivation, base, classy-prelude, containers, MissingH
      , monad-control, persistent, random, safe, stm, uuid, yesod-core
@@ -264123,8 +265751,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-test";
-       version = "1.6.7";
-       sha256 = "1x7fmp1q3zn15av6rhdddnilkb54xmkpb6pkfzfpjm3vff27i7jj";
+       version = "1.6.8";
+       sha256 = "1c8xana3lf79db17mc74q88ygdskhyhvrv325fpwdw00fcwc0fn6";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-html bytestring
          case-insensitive conduit containers cookie hspec-core html-conduit
@@ -264139,6 +265767,34 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-test_1_6_9" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
+     , bytestring, case-insensitive, conduit, containers, cookie, hspec
+     , hspec-core, html-conduit, http-types, HUnit, memory, network
+     , pretty-show, semigroups, text, time, transformers, unliftio
+     , unliftio-core, wai, wai-extra, xml-conduit, xml-types, yesod-core
+     , yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-test";
+       version = "1.6.9";
+       sha256 = "0v25lqq7hgd5lggnyfd9kamkzd4126rd7vlhc131n253n4by4yak";
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-builder blaze-html bytestring
+         case-insensitive conduit containers cookie hspec-core html-conduit
+         http-types HUnit memory network pretty-show semigroups text time
+         transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testHaskellDepends = [
+         base bytestring containers cookie hspec html-conduit http-types
+         HUnit text unliftio unliftio-core wai wai-extra xml-conduit
+         yesod-core yesod-form
+       ];
+       description = "integration testing for WAI/Yesod Applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-test-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, hspec
      , http-types, HUnit, text, transformers, wai, wai-test
@@ -265066,8 +266722,8 @@ self: {
      }:
      mkDerivation {
        pname = "yst";
-       version = "0.7.0.1";
-       sha256 = "1cmdx2bghp508qm26xydnljswgldvvv5rapmzcivmnn8pzp9g9kl";
+       version = "0.7.1";
+       sha256 = "0clvfkdrmw7lmrcyn8cilgf0k7438c384vwvjx256pyl46y3ym5m";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -265887,6 +267543,24 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "zinza" = callPackage
+    ({ mkDerivation, base, bytestring, containers, parsec, tasty
+     , tasty-golden, tasty-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "zinza";
+       version = "0.1";
+       sha256 = "0p7m15qkp7lsdhckkj2xz7ck54kkaz8pw0gz9dddll57mqjyy6zk";
+       libraryHaskellDepends = [
+         base containers parsec text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers tasty tasty-golden tasty-hunit
+       ];
+       description = "Typed templates with jinja like syntax";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "zip" = callPackage
     ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
      , cereal, conduit, conduit-extra, containers, digest, directory
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index 8b667a1e669..c292eeec128 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -13,4 +13,7 @@ self: super: {
   # https://github.com/channable/vaultenv/issues/1
   vaultenv = self.callPackage ../tools/haskell/vaultenv { };
 
+  # spago is not released to Hackage.
+  # https://github.com/spacchetti/spago/issues/512
+  spago = self.callPackage ../tools/purescript/spago { };
 }
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 3f1c21cc881..9a1594da933 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -2,7 +2,7 @@
 , libxml2, libxslt, ncurses, openssl, perl, autoconf
 , openjdk ? null # javacSupport
 , unixODBC ? null # odbcSupport
-, libGLU_combined ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
+, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
 , withSystemd ? stdenv.isLinux, systemd # systemd support in epmd
 }:
 
@@ -18,7 +18,7 @@
 , enableKernelPoll ? true
 , javacSupport ? false, javacPackages ? [ openjdk ]
 , odbcSupport ? false, odbcPackages ? [ unixODBC ]
-, wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ]
+, wxSupport ? true, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
 , preUnpack ? "", postUnpack ? ""
 , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
 , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
@@ -32,7 +32,7 @@
 
 assert wxSupport -> (if stdenv.isDarwin
   then wxmac != null
-  else libGLU_combined != null && wxGTK != null && xorg != null);
+  else libGL != null && libGLU != null && wxGTK != null && xorg != null);
 
 assert odbcSupport -> unixODBC != null;
 assert javacSupport -> openjdk != null;
diff --git a/pkgs/development/interpreters/io/default.nix b/pkgs/development/interpreters/io/default.nix
index 883d53c8269..f763274c15d 100644
--- a/pkgs/development/interpreters/io/default.nix
+++ b/pkgs/development/interpreters/io/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, zlib, sqlite, gmp, libffi, cairo,
-  ncurses, freetype, libGLU_combined, libpng, libtiff, libjpeg, readline, libsndfile,
+  ncurses, freetype, libGLU, libGL, libpng, libtiff, libjpeg, readline, libsndfile,
   libxml2, freeglut, libsamplerate, pcre, libevent, libedit, yajl,
   python3, openssl, glfw, pkgconfig, libpthreadstubs, libXdmcp, libmemcached
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     zlib sqlite gmp libffi cairo ncurses freetype
-    libGLU_combined libpng libtiff libjpeg readline libsndfile libxml2
+    libGLU libGL libpng libtiff libjpeg readline libsndfile libxml2
     freeglut libsamplerate pcre libevent libedit yajl
     pkgconfig glfw openssl libpthreadstubs libXdmcp
     libmemcached python3
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 337b83767f4..be5da812530 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "1.4.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xszmgw5nl5b6gd3344h1mic1c1a3hj7nivp4d9hqzzh131qvbn5";
+    sha256 = "13b4haaanlgi8qpwwvf59zf7qsw8p0zdqv7xdxjjyid5yww7jmm2";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
index 91b4c0b9a9e..09d7fa622fc 100644
--- a/pkgs/development/interpreters/jimtcl/default.nix
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -5,35 +5,53 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "jimtcl";
-  version = "0.78";
+  version = "0.79";
 
   src = fetchFromGitHub {
     owner = "msteveb";
     repo = "jimtcl";
     rev = version;
-    sha256 = "1nrjxjfh69i35ig8sxdlal4ydd3cl0x68c05s6svnf1y2i1bl23j";
+    sha256 = "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h";
   };
 
-  buildInputs = [
-    sqlite readline asciidoc SDL SDL_gfx
+  nativeBuildInputs = [
+    asciidoc
   ];
 
-  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_gfx ];
+  buildInputs = [
+    sqlite readline SDL SDL_gfx
+  ];
 
   configureFlags = [
+    "--shared"
     "--with-ext=oo"
     "--with-ext=tree"
     "--with-ext=binary"
     "--with-ext=sqlite3"
     "--with-ext=readline"
     "--with-ext=sdl"
+    "--with-ext=json"
     "--enable-utf8"
     "--ipv6"
   ];
 
+  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_gfx ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  preCheck = ''
+    # test exec2-3.2 fails depending on platform or sandboxing (?)
+    rm tests/exec2.test
+  '';
+
+  postInstall = ''
+    ln -sr $out/lib/libjim.so.${version} $out/lib/libjim.so
+  '';
+
   meta = {
     description = "An open source small-footprint implementation of the Tcl programming language";
-    homepage = http://jim.tcl.tk/;
+    homepage = "http://jim.tcl.tk/";
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.all;
     maintainers = with stdenv.lib.maintainers; [ dbohdan vrthra ];
diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix
index 7e90c6dfb28..6a3aa9f648f 100644
--- a/pkgs/development/interpreters/love/0.10.nix
+++ b/pkgs/development/interpreters/love/0.10.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
   libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
   libtheora, which, autoconf, automake, libtool
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
+    SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
     libvorbis libogg libtheora autoconf which libtool automake
   ];
 
diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix
index 7f39259c298..3bf8aee0d07 100644
--- a/pkgs/development/interpreters/love/0.7.nix
+++ b/pkgs/development/interpreters/love/0.7.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL, libGLU_combined, openal, lua
+, SDL, libGLU, libGL, openal, lua
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 , libmng
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL libGLU_combined openal lua
+    SDL libGLU libGL openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg libmng
   ];
 
diff --git a/pkgs/development/interpreters/love/0.8.nix b/pkgs/development/interpreters/love/0.8.nix
index 792fe299e4d..57c1a6ce564 100644
--- a/pkgs/development/interpreters/love/0.8.nix
+++ b/pkgs/development/interpreters/love/0.8.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL, libGLU_combined, openal, lua
+, SDL, libGLU, libGL, openal, lua
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL libGLU_combined openal lua
+    SDL libGLU libGL openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix
index f1571dc726c..a2182f45436 100644
--- a/pkgs/development/interpreters/love/0.9.nix
+++ b/pkgs/development/interpreters/love/0.9.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL2, libGLU_combined, openal, luajit
+, SDL2, libGLU, libGL, openal, luajit
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 }:
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit
+    SDL2 libGLU libGL openal luajit
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/love/11.1.nix b/pkgs/development/interpreters/love/11.1.nix
index 6f3f7161a0b..0a60a4cacfe 100644
--- a/pkgs/development/interpreters/love/11.1.nix
+++ b/pkgs/development/interpreters/love/11.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
   libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
   libtheora, which, autoconf, automake, libtool
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
+    SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
     libvorbis libogg libtheora autoconf which libtool automake
   ];
 
diff --git a/pkgs/development/interpreters/lush/default.nix b/pkgs/development/interpreters/lush/default.nix
index 5a241fbf83e..a8db08e87a2 100644
--- a/pkgs/development/interpreters/lush/default.nix
+++ b/pkgs/development/interpreters/lush/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU_combined, SDL
+{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU, libGL, SDL
 , blas, libbfd, intltool, gettext, zlib, libSM}:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libX11 libSM xorgproto indent readline gsl freeglut libGLU_combined SDL blas libbfd
+    libX11 libSM xorgproto indent readline gsl freeglut libGLU libGL SDL blas libbfd
     intltool gettext zlib
   ];
 
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 4503fd0bf49..89979e18bdc 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -181,11 +181,11 @@ let
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
     };
   } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "980998f7d11baf97284426ca91f84681d49a08f5"; # Jul 20, 2019
+    crossVersion = "ba90816ef2c24dc06fd6cd2c854abcfa1aae00a3"; # Nov 22, 2019
 
     perl-cross-src = fetchurl {
       url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
-      sha256 = "1hg3k2rhjs5gclrm05z87nvlh4j9pg7mkm9998h9gy6mzk8224q5";
+      sha256 = "19jq5fz6l64s0v6j64n5mkk5v2srpyfn9sc09hwbpkp9n74q82j4";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
@@ -213,15 +213,15 @@ in {
   perl530 = common {
     perl = pkgs.perl530;
     buildPerl = buildPackages.perl530;
-    version = "5.30.0";
-    sha256 = "1wkmz6xn3fswpqhz29akiklcxclnlykhp96a8bqcz36rak3i64l5";
+    version = "5.30.1";
+    sha256 = "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz";
   };
 
   # the latest Devel version
   perldevel = common {
     perl = pkgs.perldevel;
     buildPerl = buildPackages.perldevel;
-    version = "5.31.2";
-    sha256 = "00bdh9lmjb0m7dhk8mj7kab7cg2zn9zgw82y4hgkwydzg6d1jis0";
+    version = "5.31.6";
+    sha256 = "08n3c8xm1brxpckqy8i1xgjrpl4afrhcva9bhxswr938n675x71k";
   };
 }
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 4778f08560d..a91490c200c 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -4,7 +4,7 @@
 , openssl, pcre, pcre2, sqlite, config, libjpeg, libpng, freetype
 , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC
 , uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
-, libzip, valgrind
+, libzip, valgrind, oniguruma
 }:
 
 with lib;
@@ -78,6 +78,7 @@ let
       buildInputs = [ ]
         ++ optional (versionOlder version "7.3") pcre
         ++ optional (versionAtLeast version "7.3") pcre2
+        ++ optional (versionAtLeast version "7.4") oniguruma
         ++ optional withSystemd systemd
         ++ optionals imapSupport [ uwimap openssl pam ]
         ++ optionals curlSupport [ curl openssl ]
@@ -114,7 +115,8 @@ let
         "--with-config-file-scan-dir=/etc/php.d"
       ]
       ++ optional (versionOlder version "7.3") "--with-pcre-regex=${pcre.dev} PCRE_LIBDIR=${pcre}"
-      ++ optional (versionAtLeast version "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
+      ++ optional (versions.majorMinor version == "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
+      ++ optional (versionAtLeast version "7.4") "--with-external-pcre=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
       ++ optional stdenv.isDarwin "--with-iconv=${libiconv}"
       ++ optional withSystemd "--with-fpm-systemd"
       ++ optionals imapSupport [
@@ -133,10 +135,11 @@ let
       ++ optional mhashSupport "--with-mhash"
       ++ optional curlSupport "--with-curl=${curl.dev}"
       ++ optional zlibSupport "--with-zlib=${zlib.dev}"
-      ++ optional libxml2Support "--with-libxml-dir=${libxml2.dev}"
+      ++ optional (libxml2Support && (versionOlder version "7.4")) "--with-libxml-dir=${libxml2.dev}"
       ++ optional (!libxml2Support) [
         "--disable-dom"
         "--disable-libxml"
+        (if (versionOlder version "7.4") then "--disable-libxml" else "--without-libxml")
         "--disable-simplexml"
         "--disable-xml"
         "--disable-xmlreader"
@@ -156,7 +159,12 @@ let
       ++ optional ( pdo_mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock"
       ++ optional bcmathSupport "--enable-bcmath"
       # FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
-      ++ optionals gdSupport [
+      ++ optionals (gdSupport && versionAtLeast version "7.4") [
+        "--enable-gd"
+        "--with-jpeg=${libjpeg.dev}"
+        "--with-freetype=${freetype.dev}"
+        "--enable-gd-jis-conv"
+      ] ++ optionals (gdSupport && versionOlder version "7.4") [
         "--with-gd"
         "--with-freetype-dir=${freetype.dev}"
         "--with-png-dir=${libpng.dev}"
@@ -173,7 +181,7 @@ let
       ++ optional xslSupport "--with-xsl=${libxslt.dev}"
       ++ optional mcryptSupport "--with-mcrypt=${libmcrypt'}"
       ++ optional bz2Support "--with-bz2=${bzip2.dev}"
-      ++ optional zipSupport "--enable-zip"
+      ++ optional (zipSupport && (versionOlder version "7.4")) "--enable-zip"
       ++ optional ftpSupport "--enable-ftp"
       ++ optional fpmSupport "--enable-fpm"
       ++ optional ztsSupport "--enable-maintainer-zts"
@@ -181,7 +189,7 @@ let
       ++ optional sodiumSupport "--with-sodium=${libsodium.dev}"
       ++ optional tidySupport "--with-tidy=${html-tidy}"
       ++ optional argon2Support "--with-password-argon2=${libargon2}"
-      ++ optional libzipSupport "--with-libzip=${libzip.dev}"
+      ++ optional (libzipSupport && (versionOlder version "7.4")) "--with-libzip=${libzip.dev}"
       ++ optional phpdbgSupport "--enable-phpdbg"
       ++ optional (!phpdbgSupport) "--disable-phpdbg"
       ++ optional (!cgiSupport) "--disable-cgi"
@@ -254,18 +262,23 @@ let
 
 in {
   php72 = generic {
-    version = "7.2.24";
-    sha256 = "00znhjcn6k4mbxz6jqlqf6bzr4cqdf8pnbmxkg6bns1hnr6r6yd0";
+    version = "7.2.25";
+    sha256 = "17kb7b3wpdmdhnlv23qc0vax0lp2gr1v7dxwdgs8g78gxnqkdcvw";
 
     # https://bugs.php.net/bug.php?id=76826
     extraPatches = optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
   };
 
   php73 = generic {
-    version = "7.3.11";
-    sha256 = "1rxm256vhnvyabfwmyv51sqrkjlid1g8lczcy4skc2f72d5zzlcj";
+    version = "7.3.12";
+    sha256 = "0fccmnrwwyy5zvhj8wbyqqlyqr7pr5v4pfiqriw0ahciz4lv05yk";
 
     # https://bugs.php.net/bug.php?id=76826
     extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
   };
+
+  php74 = generic {
+    version = "7.4.0";
+    sha256 = "1h01bahvcm9kgm5jqhm2j9k9d4q4rpfkkpqk00c47rirdblnn85z";
+  };
 }
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 3be722cd156..ae0ecbf08e7 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -46,7 +46,7 @@ with pkgs;
         inherit hasDistutilsCxxPatch pythonForBuild;
   };
 
-in rec {
+in {
 
   python27 = callPackage ./cpython/2.7 {
     self = python27;
diff --git a/pkgs/development/interpreters/python/manylinux/default.nix b/pkgs/development/interpreters/python/manylinux/default.nix
new file mode 100644
index 00000000000..428e04f4f92
--- /dev/null
+++ b/pkgs/development/interpreters/python/manylinux/default.nix
@@ -0,0 +1,83 @@
+{ lib, pkgs }:
+
+let
+  # Create a derivation that links all desired manylinux libraries
+  createManyLinuxPackage = name: libs: let
+    drvs = lib.unique (lib.attrValues libs);
+    names = lib.attrNames libs;
+  in pkgs.runCommand name {
+    buildInputs = drvs;
+  } ''
+    mkdir -p $out/lib
+    num_found=0
+
+    IFS=:
+    export DESIRED_LIBRARIES=${lib.concatStringsSep ":" names}
+    export LIBRARY_PATH=${lib.makeLibraryPath drvs}
+    for desired in $DESIRED_LIBRARIES; do
+      for path in $LIBRARY_PATH; do
+        if [ -e $path/$desired ]; then
+          echo "FOUND $path/$desired"
+          ln -s $path/$desired $out/lib/$desired
+          num_found=$((num_found+1))
+          break
+        fi
+      done
+    done
+
+    num_desired=${toString (lib.length names)}
+    echo "Found $num_found of $num_desired libraries"
+    if [ "$num_found" -ne "$num_desired" ]; then
+      echo "Error: not all desired libraries were found"
+      exit 1
+    fi
+  '';
+
+  # https://www.python.org/dev/peps/pep-0599/
+  manylinux2014Libs = with pkgs; {
+    "libgcc_s.so.1" = glibc;
+    "libstdc++.so.6" = stdenv.cc.cc;
+    "libm.so.6" = glibc;
+    "libdl.so.2" = glibc;
+    "librt.so.1" = glibc;
+    "libc.so.6" = glibc;
+    "libnsl.so.1" = glibc;
+    "libutil.so.1" = glibc;
+    "libpthread.so.0" = glibc;
+    "libresolv.so.2" = glibc;
+    "libX11.so.6" = xorg.libX11;
+    "libXext.so.6" = xorg.libXext;
+    "libXrender.so.1" = xorg.libXrender;
+    "libICE.so.6" = xorg.libICE;
+    "libSM.so.6" = xorg.libSM;
+    "libGL.so.1" = libGL;
+    "libgobject-2.0.so.0" = glib;
+    "libgthread-2.0.so.0" = glib;
+    "libglib-2.0.so.0" = glib;
+  };
+
+  # https://www.python.org/dev/peps/pep-0571/
+  manylinux2010Libs = manylinux2014Libs;
+
+  # https://www.python.org/dev/peps/pep-0513/
+  manylinux1Libs = manylinux2010Libs // (with pkgs; {
+    "libpanelw.so.5" = ncurses5;
+    "libncursesw.so.5" = ncurses5;
+    "libcrypt.so.1" = glibc;
+  });
+in {
+  # List of libraries that are needed for manylinux compatibility.
+  # When using a wheel that is manylinux1 compatible, just extend
+  # the `buildInputs` with one of these `manylinux` lists.
+  # Additionally, add `autoPatchelfHook` to `nativeBuildInputs`.
+  manylinux1 = lib.unique (lib.attrValues manylinux1Libs);
+  manylinux2010 = lib.unique (lib.attrValues manylinux2010Libs);
+  manylinux2014 = lib.unique (lib.attrValues manylinux2014Libs);
+
+  # These are symlink trees to the relevant libs and are typically not needed
+  # These exist so as to quickly test whether all required libraries are provided
+  # by the mapped packages.
+  manylinux1Package = createManyLinuxPackage "manylinux1" manylinux1Libs;
+  manylinux2010Package = createManyLinuxPackage "manylinux2010" manylinux2010Libs;
+  manylinux2014Package = createManyLinuxPackage "manylinux2014" manylinux2014Libs;
+}
diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 82b2aac39a9..7e0580ce063 100755
--- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -229,6 +229,8 @@ def _determine_extension(text, fetcher):
                 raise ValueError("Don't know how to update a Flit package.")
             elif src_format == 'other':
                 raise ValueError("Don't know how to update a format='other' package.")
+            elif src_format == 'pyproject':
+                raise ValueError("Don't know how to update a pyproject package.")
             extension = FORMATS[src_format]
 
     elif fetcher == 'fetchurl':
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 22b4d84f050..3b3b91afd6f 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -46,7 +46,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "7.4"; # always change at once with ./minimal.nix
+  version = "7.5"; # always change at once with ./minimal.nix
 
   src = (stdenv.lib.makeOverridable ({ name, sha256 }:
     fetchurl {
@@ -54,8 +54,8 @@ stdenv.mkDerivation rec {
       inherit sha256;
     }
   )) {
-    inherit ;name = "${pname}-${version}";
-    sha256 = "07rf8sakwssl0gn9g4d3ls2cr10zlhghz0pscrh0jc6mnprrb10i";
+    name = "${pname}-${version}";
+    sha256 = "0b74v0pqkx57x2gk0m4sp94jaf6bi1mci4ix9vx4sh2442sbds1j";
   };
 
   FONTCONFIG_FILE = fontsConf;
@@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
       GUIs and charts.
     '';
     homepage = http://racket-lang.org/;
-    license = licenses.lgpl3;
+    license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ kkallio henrytill vrthra ];
     platforms = [ "x86_64-darwin" "x86_64-linux" ];
     broken = stdenv.isDarwin; # No support yet for setting FFI lookup path
diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix
index b05d449ea2f..df7c72c4a68 100644
--- a/pkgs/development/interpreters/racket/minimal.nix
+++ b/pkgs/development/interpreters/racket/minimal.nix
@@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec {
   name = "racket-minimal-${oldAttrs.version}";
   src = oldAttrs.src.override {
     inherit name;
-    sha256 = "0ixha4hcxlrsqjszjlr7xv6nn3mc5pb6szlbn4cq0880avakmml7";
+    sha256 = "0478f0phkjch10ncsl8lm8a1m8qvgchrkgzpcaxyhmg2clyjgn8r";
   };
 
   meta = oldAttrs.meta // {
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index 42c68ed7e80..759a44b5760 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python2Packages, pkgconfig, SDL2
-, libpng, ffmpeg, freetype, glew, libGLU_combined, fribidi, zlib
+, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
 , glib
 }:
 
@@ -32,13 +32,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     python cython wrapPython tkinter
-    SDL2 libpng ffmpeg freetype glew libGLU_combined fribidi zlib pygame_sdl2 glib
+    SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib
   ];
 
   pythonPath = [ pygame_sdl2 tkinter ];
 
   RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: path) [
-    SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU_combined fribidi zlib
+    SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU libGL fribidi zlib
   ]);
 
   buildPhase = ''
diff --git a/pkgs/development/interpreters/wasmtime/cargo-lock.patch b/pkgs/development/interpreters/wasmtime/cargo-lock.patch
index 95513d4437a..56c9879dd6e 100644
--- a/pkgs/development/interpreters/wasmtime/cargo-lock.patch
+++ b/pkgs/development/interpreters/wasmtime/cargo-lock.patch
@@ -1,9 +1,9 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000..9cff614a
+index 00000000..3b45d5eb
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,2181 @@
+@@ -0,0 +1,2272 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
@@ -31,6 +31,11 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "anyhow"
++version = "1.0.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "arrayref"
 +version = "0.3.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -86,6 +91,11 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "base64"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "bincode"
 +version = "1.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -109,7 +119,7 @@ index 00000000..9cff614a
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -283,48 +293,57 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "cpu-time"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "cranelift-bforest"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-bforest 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen-meta 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen-shared 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-bforest 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-meta 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen-meta"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen-shared 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen-shared"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "cranelift-entity"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -332,39 +351,38 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "cranelift-frontend"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-native"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "raw-cpuid 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-wasm"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -386,7 +404,7 @@ index 00000000..9cff614a
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -472,7 +490,7 @@ index 00000000..9cff614a
 + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -524,16 +542,16 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "faerie"
-+version = "0.11.0"
++version = "0.12.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "goblin 0.0.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "goblin 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "string-interner 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -550,7 +568,7 @@ index 00000000..9cff614a
 +version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -619,7 +637,7 @@ index 00000000..9cff614a
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -638,22 +656,17 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "glob"
-+version = "0.2.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "glob"
 +version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "goblin"
-+version = "0.0.24"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -711,7 +724,7 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -732,7 +745,7 @@ index 00000000..9cff614a
 +version = "0.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -789,21 +802,21 @@ index 00000000..9cff614a
 +version = "0.0.0"
 +dependencies = [
 + "capstone 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "dynasm 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "dynasmrt 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "multi_mut 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quickcheck 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -838,13 +851,18 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.5.1"
++version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "more-asserts"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "multi_mut"
 +version = "0.1.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -876,6 +894,27 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "num"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-complex"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "num-integer"
 +version = "0.1.41"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -885,6 +924,26 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-rational"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "num-traits"
 +version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -906,6 +965,15 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "os_pipe"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "owning_ref"
 +version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -928,7 +996,7 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -963,22 +1031,14 @@ index 00000000..9cff614a
 +version = "0.5.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "0.4.30"
-+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 = "proc-macro2"
-+version = "1.0.5"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1009,7 +1069,7 @@ index 00000000..9cff614a
 +version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1019,7 +1079,7 @@ index 00000000..9cff614a
 +version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pyo3-derive-backend 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1043,18 +1103,10 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "quote"
-+version = "0.6.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "quote"
 +version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1132,7 +1184,7 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "raw-cpuid"
-+version = "6.1.0"
++version = "7.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1264,21 +1316,20 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "scroll"
-+version = "0.9.2"
++version = "0.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll_derive 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll_derive 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "scroll_derive"
-+version = "0.9.5"
++version = "0.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1307,7 +1358,7 @@ index 00000000..9cff614a
 +version = "1.0.101"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1340,7 +1391,7 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.10"
++version = "1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1373,20 +1424,10 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "syn"
-+version = "0.15.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (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 = "syn"
 +version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1396,7 +1437,7 @@ index 00000000..9cff614a
 +version = "0.12.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1404,13 +1445,8 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "target-lexicon"
-+version = "0.8.1"
++version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "tempfile"
@@ -1442,6 +1478,24 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "thiserror"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "thiserror-impl 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (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"
@@ -1461,7 +1515,7 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "toml"
-+version = "0.5.3"
++version = "0.5.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1473,6 +1527,19 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "trybuild"
++version = "1.0.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "typemap"
 +version = "0.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1497,11 +1564,6 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "unicode-xid"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-xid"
 +version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
@@ -1539,46 +1601,25 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "wabt"
-+version = "0.9.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "wabt-sys"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
 +name = "walrus"
-+version = "0.12.0"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "walrus-macro"
-+version = "0.12.0"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1590,48 +1631,57 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "wasi-common"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common?rev=c3bf040#c3bf04042e03c706088de62acf1cd7aa79f0fa50"
++version = "0.5.0"
 +dependencies = [
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cpu-time 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "os_pipe 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common-cbindgen 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common-cbindgen 0.5.0",
++ "wasmtime 0.1.0",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
++ "wasmtime-wasi 0.2.0",
++ "wig 0.1.0",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winx 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
++ "winx 0.5.0",
 +]
 +
 +[[package]]
 +name = "wasi-common-cbindgen"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common?rev=c3bf040#c3bf04042e03c706088de62acf1cd7aa79f0fa50"
++version = "0.5.0"
 +dependencies = [
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "trybuild 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-webidl-bindings"
-+version = "0.5.0"
++version = "0.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmparser"
-+version = "0.37.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "wasmparser"
 +version = "0.39.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
@@ -1640,78 +1690,79 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "wasmtime"
-+version = "0.2.0"
++version = "0.1.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
-+ "wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-api 0.1.0",
-+ "wasmtime-debug 0.2.0",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
-+ "wasmtime-interface-types 0.2.0",
 + "wasmtime-jit 0.2.0",
-+ "wasmtime-obj 0.2.0",
 + "wasmtime-runtime 0.2.0",
 + "wasmtime-wasi 0.2.0",
-+ "wasmtime-wasi-c 0.2.0",
 + "wasmtime-wast 0.2.0",
 +]
 +
 +[[package]]
-+name = "wasmtime-api"
-+version = "0.1.0"
++name = "wasmtime-cli"
++version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
-+ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime 0.1.0",
++ "wasmtime-debug 0.2.0",
 + "wasmtime-environ 0.2.0",
++ "wasmtime-interface-types 0.2.0",
 + "wasmtime-jit 0.2.0",
++ "wasmtime-obj 0.2.0",
 + "wasmtime-runtime 0.2.0",
 + "wasmtime-wasi 0.2.0",
++ "wasmtime-wasi-c 0.2.0",
 + "wasmtime-wast 0.2.0",
++ "wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-debug"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "gimli 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 +]
@@ -1720,15 +1771,13 @@ index 00000000..9cff614a
 +name = "wasmtime-environ"
 +version = "0.2.0"
 +dependencies = [
-+ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1736,27 +1785,29 @@ index 00000000..9cff614a
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lightbeam 0.0.0",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "zstd 0.4.28+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zstd 0.5.1+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-interface-types"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-runtime 0.2.0",
@@ -1766,29 +1817,32 @@ index 00000000..9cff614a
 +name = "wasmtime-jit"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-debug 0.2.0",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-runtime 0.2.0",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-obj"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 +]
 +
@@ -1796,15 +1850,15 @@ index 00000000..9cff614a
 +name = "wasmtime-py"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pyo3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-interface-types 0.2.0",
@@ -1817,18 +1871,18 @@ index 00000000..9cff614a
 +version = "0.2.0"
 +dependencies = [
 + "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1837,19 +1891,20 @@ index 00000000..9cff614a
 +name = "wasmtime-rust"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-interface-types 0.2.0",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-rust-macro 0.2.0",
++ "wasmtime-wasi 0.2.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-rust-macro"
 +version = "0.2.0"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1858,12 +1913,12 @@ index 00000000..9cff614a
 +name = "wasmtime-wasi"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-runtime 0.2.0",
@@ -1875,12 +1930,13 @@ index 00000000..9cff614a
 +dependencies = [
 + "bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-runtime 0.2.0",
@@ -1890,16 +1946,31 @@ index 00000000..9cff614a
 +name = "wasmtime-wast"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-runtime 0.2.0",
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wast"
++version = "3.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wat"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1911,6 +1982,15 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "wig"
++version = "0.1.0"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "witx 0.4.0",
++]
++
++[[package]]
 +name = "winapi"
 +version = "0.3.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1948,8 +2028,7 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "winx"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common?rev=c3bf040#c3bf04042e03c706088de62acf1cd7aa79f0fa50"
++version = "0.5.0"
 +dependencies = [
 + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cvt 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1957,25 +2036,34 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "witx"
++version = "0.4.0"
++dependencies = [
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "zstd"
-+version = "0.4.28+zstd.1.4.3"
++version = "0.5.1+zstd.1.4.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "zstd-safe 1.4.13+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zstd-safe 2.0.3+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "zstd-safe"
-+version = "1.4.13+zstd.1.4.3"
++version = "2.0.3+zstd.1.4.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "zstd-sys 1.4.13+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zstd-sys 1.4.15+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "zstd-sys"
-+version = "1.4.13+zstd.1.4.3"
++version = "1.4.15+zstd.1.4.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1987,6 +2075,7 @@ index 00000000..9cff614a
 +"checksum ahash 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)" = "b35dfc96a657c1842b4eb73180b65e37152d4b94d0eb5cb51708aee7826950b4"
 +"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++"checksum anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)" = "57114fc2a6cc374bce195d3482057c846e706d252ff3604363449695684d7a0d"
 +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
 +"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
 +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
@@ -1994,6 +2083,7 @@ index 00000000..9cff614a
 +"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
 +"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
++"checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
 +"checksum bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ab639324e3ee8774d296864fbc0dbbb256cf1a41c490b94cba90c082915f92"
 +"checksum bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ebd71393f1ec0509b553aa012b9b58e81dadbdff7130bd3b8cba576e69b32f75"
 +"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
@@ -2016,14 +2106,15 @@ index 00000000..9cff614a
 +"checksum const-random 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7b641a8c9867e341f3295564203b1c250eb8ce6cb6126e007941f78c4d2ed7fe"
 +"checksum const-random-macro 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c750ec12b83377637110d5a57f5ae08e895b06c4b16e2bdbf1a94ef717428c59"
 +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
-+"checksum cranelift-bforest 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "18c97588946d3e5fe11f8e34ebf8cc65fd3fda50f3ffa2e80c98b2748058f00f"
-+"checksum cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3255935da50302bcb0f7109f2fef27f44b46f1c797dfa7db971379261023adcd"
-+"checksum cranelift-codegen-meta 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd57265ef5e6ff253c378b6261ed8c2e6cb1b15e91624540dbd09b1e5a40e9ca"
-+"checksum cranelift-codegen-shared 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c093398d21f9493ab29445191362592ef621f497e56a8efb15bdf80471978b7a"
-+"checksum cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e915fa58d2a75e3c4b768b7e4760282889915c3fcd9ccb2ad2b3ebec99654a78"
-+"checksum cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "46963952cda267bd0177b3f036e50038cd56e7b4c5b09a455b02df727e0f2a16"
-+"checksum cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7ba8a2d69ddd4729199a321bc2f4020e1969a088b468ed6a29dc7a69350be76e"
-+"checksum cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5a802357a6a016bf4c1dcdc6d73a650640eb3b613cc098a1a044a6c3731ca264"
++"checksum cpu-time 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e9e393a7668fe1fad3075085b86c781883000b4ede868f43627b34a87c8b7ded"
++"checksum cranelift-bforest 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba29e425110674c89fdc2f79479d767f31003dd9187c29ba2dad57fe4d321670"
++"checksum cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8cb71c7ce1438c41f3d35383fa41eee26f5adf9815c7f5c2e7029a6c9356df2c"
++"checksum cranelift-codegen-meta 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4aa634fd60290d5047d40172028a0aa86458e32a72c76fcce0a317bbbbcca4e5"
++"checksum cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6fa6cf5c2adc031be07cd5bc88145ebb93d9d2a05a28a93136782b2167eacb62"
++"checksum cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "932d5f9622b336e10e8cf843ded09a688ec49f32c32b3101d7c5a7b71cad3dc9"
++"checksum cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0d1a3c105c657cd65c20d9183bbd4f2b16bf3548db4b865c065bf7028f3021de"
++"checksum cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba5e34645453b73a9e2def05561f957a9df17253996379dd59c4afe3cf7db0f1"
++"checksum cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23410ae1f5edf7d83e95bf8537e771345ecc2b11e5c7208cbee8151ea3b88e97"
 +"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
 +"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
 +"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
@@ -2040,7 +2131,7 @@ index 00000000..9cff614a
 +"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
 +"checksum errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2a071601ed01b988f896ab14b95e67335d1eeb50190932a1320f7fe3cadc84e"
 +"checksum errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067"
-+"checksum faerie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "875d78b92b2a4d9e1e2c7eeccfa30a327d2ee6434db3beb8fd6fd92f41898bc4"
++"checksum faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01fed63609767c70e34203201032c249d60a24578a67ef0ce7cc13ff010e9cf2"
 +"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 +"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
 +"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
@@ -2053,9 +2144,8 @@ index 00000000..9cff614a
 +"checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
 +"checksum ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a36606a68532b5640dc86bb1f33c64b45c4682aad4c50f3937b317ea387f3d6"
 +"checksum gimli 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "162d18ae5f2e3b90a993d202f1ba17a5633c2484426f8bcae201f86194bacd00"
-+"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
 +"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
-+"checksum goblin 0.0.24 (registry+https://github.com/rust-lang/crates.io-index)" = "e3fa261d919c1ae9d1e4533c4a2f99e10938603c4208d56c05bec7a872b661b0"
++"checksum goblin 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5e6040506480da04a63de51a478e8021892d65d8411f29b2a422c2648bdd8bcb"
 +"checksum hashbrown 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1de41fb8dba9714efd92241565cdff73f78508c95697dd56787d3cba27e2353"
 +"checksum hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6587d09be37fb98a11cb08b9000a3f592451c1b1b613ca69d949160e313a430a"
 +"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
@@ -2077,15 +2167,21 @@ index 00000000..9cff614a
 +"checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1"
 +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
 +"checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
-+"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
++"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
++"checksum more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238"
 +"checksum multi_mut 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "816df386e5557ac1843a96f1ba8a7cbf4ab175d05ccc15c87a3cda27b4fbdece"
 +"checksum nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3b2e0b4f3320ed72aaedb9a5ac838690a8047c7b275da22711fddff4f8a14229"
 +"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
 +"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
++"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
++"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
 +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
++"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
++"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
 +"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 opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
++"checksum os_pipe 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "db4d06355a7090ce852965b2d08e11426c315438462638c6d721448d0b47aa22"
 +"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
 +"checksum paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "423a519e1c6e828f1e73b720f9d9ed2fa643dce8a7737fb43235ce0b41eeaa49"
 +"checksum paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4214c9e912ef61bf42b81ba9a47e8aad1b2ffaf739ab162bf96d1e011f54e6c5"
@@ -2094,14 +2190,12 @@ index 00000000..9cff614a
 +"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
 +"checksum pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074"
 +"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
-+"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 +"checksum pyo3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a00f96312ebe4082db7d93ad062df1818f597660002541c1bbae6752ec583244"
 +"checksum pyo3-derive-backend 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a7caa60cb986fca5b488e29d078fb25ae228e01dab080b855168ce061bbef0a"
 +"checksum pyo3cls 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a5ccfa624ed9b5d805079f1ad64b3f1de5d551a946d4cf494f1f032b5572d39f"
 +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
 +"checksum quickcheck 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5ca504a2fdaa08d3517f442fbbba91ac24d1ec4c51ea68688a038765e3b2662"
-+"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
 +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
 +"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
 +"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
@@ -2111,7 +2205,7 @@ index 00000000..9cff614a
 +"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
 +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
 +"checksum rand_pcg 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e196346cbbc5c70c77e7b4926147ee8e383a38ee4d15d58a08098b169e492b6"
-+"checksum raw-cpuid 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "30a9d219c32c9132f7be513c18be77c9881c7107d2ab5569d205a6a0f0e6dc7d"
++"checksum raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4a349ca83373cfa5d6dbb66fd76e58b2cca08da71a5f6400de0a0a6a9bceeaf"
 +"checksum rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123"
 +"checksum rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b"
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
@@ -2127,8 +2221,8 @@ index 00000000..9cff614a
 +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
 +"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
 +"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
-+"checksum scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f84d114ef17fd144153d608fba7c446b0145d038985e7a8cc5d08bb0ce20383"
-+"checksum scroll_derive 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8f1aa96c45e7f5a91cb7fabe7b279f02fea7126239fc40b732316e8b6a2d0fcb"
++"checksum scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "abb2332cb595d33f7edd5700f4cbf94892e680c7f0ae56adab58a35190b66cb1"
++"checksum scroll_derive 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8584eea9b9ff42825b46faf46a8c24d2cff13ec152fa2a50df788b87c07ee28"
 +"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 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
@@ -2136,28 +2230,29 @@ index 00000000..9cff614a
 +"checksum serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2"
 +"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d"
 +"checksum shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
-+"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
++"checksum smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
 +"checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
 +"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
 +"checksum string-interner 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd710eadff449a1531351b0e43eb81ea404336fa2f56c777427ab0e32a4cf183"
 +"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 +"checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
-+"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
 +"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
 +"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
-+"checksum target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7975cb2c6f37d77b190bc5004a2bb015971464756fde9514651a525ada2a741a"
++"checksum target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6f4c118a7a38378f305a9e111fcb2f7f838c0be324bfb31a77ea04f7f6e684b4"
 +"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
 +"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
 +"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f9fb62ff737e573b1e677459bea6fd023cd5d6e868c3242d3cdf3ef2f0554824"
++"checksum thiserror-impl 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "24069c0ba08aab54289d6a25f5036d94afc61e1538bbc42ae5501df141c9027d"
 +"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 toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7aabe75941d914b72bf3e5d3932ed92ce0664d49d8432305a8b547c37227724"
++"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
 +"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
++"checksum trybuild 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "e6851bf8351876984fbab8a2391de6378947b898410d8714edd12164d2137127"
 +"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
 +"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
 +"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
 +"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
-+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 +"checksum unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "63f18aa3b0e35fed5a0048f029558b1518095ffe2a0a31fb87c93dece93a4993"
 +"checksum unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
@@ -2165,23 +2260,19 @@ index 00000000..9cff614a
 +"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
 +"checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
 +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+"checksum wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3c5c5c1286c6e578416982609f47594265f9d489f9b836157d403ad605a46693"
-+"checksum wabt-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "af5d153dc96aad7dc13ab90835b892c69867948112d95299e522d370c4e13a08"
-+"checksum walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f3bd9559eb5b59d55cc60986e26dc9b3f64377d0b9495e41abd9ede9a6443f"
-+"checksum walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0464a6e0d86be4c95c8c838bcb1910df831e1216a9586feeb02478cd52c4e554"
++"checksum walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85ce93ab0c27412ba41d509f2410fa575ecbfdb4a6aba0e02e79e12c09745485"
++"checksum walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8757b0da38353d55a9687f4dee68a8f441f980dd36e16ab07d6e6c673f505f76"
 +"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
-+"checksum wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)" = "<none>"
-+"checksum wasi-common-cbindgen 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)" = "<none>"
-+"checksum wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e407ee3155cb0742acacd0b21060daafe2ad78ea718f2d6b10e7d9d1032aa961"
-+"checksum wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7387ba67c13dd9cd01d7d961e733375aee889f828564e190da85b5602eb5eeb"
++"checksum wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b5cae185868c6038a48f487b9af3766ee0c68d4a85fa3610c3a0522092b3cec1"
 +"checksum wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5083b449454f7de0b15f131eee17de54b5a71dcb9adcf11df2b2f78fad0cd82"
++"checksum wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "86b52202bd73a756b216bbfea019991ff317b1e5f22677da5cef2964696a3245"
++"checksum wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "80db13d155bab63db0f19c24a0e12bf60c3fe346edba8da508ba6962e08c137b"
 +"checksum which 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "240a31163872f7e8e49f35b42b58485e35355b07eb009d9f3686733541339a69"
 +"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 +"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
 +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 +"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
-+"checksum winx 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)" = "<none>"
-+"checksum zstd 0.4.28+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f4e716acaad66f2daf2526f37a1321674a8814c0b37a366ebe6c97a699f85ddc"
-+"checksum zstd-safe 1.4.13+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bfe4d3b26a0790201848865663e8ffabf091e126e548bc9710ccfa95621ece48"
-+"checksum zstd-sys 1.4.13+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fadc8ebe858f056ab82dffb9d93850b841603bdf663db7cf5e3dbd7f34cc55b2"
++"checksum zstd 0.5.1+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5c5d978b793ae64375b80baf652919b148f6a496ac8802922d9999f5a553194f"
++"checksum zstd-safe 2.0.3+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bee25eac9753cfedd48133fa1736cbd23b774e253d89badbeac7d12b23848d3f"
++"checksum zstd-sys 1.4.15+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "89719b034dc22d240d5b407fb0a3fe6d29952c181cff9a9f95c0bd40b4f8f7d8"
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index 954b7e73b94..0cdf1aae3f7 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage {
   pname = "wasmtime";
-  version = "20191018";
+  version = "20191111";
 
   src = fetchFromGitHub {
-    owner = "CraneStation";
+    owner = "bytecodealliance";
     repo = "wasmtime";
-    rev = "ebef2c6b5720fce164af9ded8b7ff3dd5d7e041c";
-    sha256 = "15wa0by7lb90qd6fg8i2v1hw7hgbkrh1rqhrf7z850c9ydah6n13";
+    rev = "0006a2af954eba74c79885cb1fe8cdeb68f531c1";
+    sha256 = "0lf3pdkjxcrjmjic7xxyjl5dka3arxi809sp9hm4hih5p2fhf2gw";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "07qz6wl32j6gzc9nxv0dr7y6ixmzbzv5j1flkrysdrfidxlldn9k";
+  cargoSha256 = "0mnwaipa2az3vpgbz4m9siz6bfyhmzwz174k678cv158m7mxx12f";
 
   cargoPatches = [ ./cargo-lock.patch ];
 
diff --git a/pkgs/development/libraries/AntTweakBar/default.nix b/pkgs/development/libraries/AntTweakBar/default.nix
index 94b36b855f2..1ae6346cbe5 100644
--- a/pkgs/development/libraries/AntTweakBar/default.nix
+++ b/pkgs/development/libraries/AntTweakBar/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, unzip, xorg, libGLU_combined }:
+{ stdenv, fetchurl, unzip, xorg, libGLU, libGL }:
 
 stdenv.mkDerivation {
   name = "AntTweakBar-1.16";
 
-  buildInputs = [ unzip xorg.libX11 libGLU_combined ];
+  buildInputs = [ unzip xorg.libX11 libGLU libGL ];
 
   src = fetchurl {
     url = "mirror://sourceforge/project/anttweakbar/AntTweakBar_116.zip";
diff --git a/pkgs/development/libraries/CGAL/4.nix b/pkgs/development/libraries/CGAL/4.nix
new file mode 100644
index 00000000000..60c244009ce
--- /dev/null
+++ b/pkgs/development/libraries/CGAL/4.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
+
+stdenv.mkDerivation rec {
+  version = "4.14.2";
+  name = "cgal-" + version;
+
+  src = fetchFromGitHub {
+    owner = "CGAL";
+    repo = "releases";
+    rev = "CGAL-${version}";
+    sha256 = "1p1xyws2s9h2c8hlkz1af4ix48qma160av24by6lcm8al1g44pca";
+  };
+
+  # note: optional component libCGAL_ImageIO would need zlib and opengl;
+  #   there are also libCGAL_Qt{3,4} omitted ATM
+  buildInputs = [ boost gmp mpfr ];
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Computational Geometry Algorithms Library";
+    homepage = http://cgal.org;
+    license = with licenses; [ gpl3Plus lgpl3Plus];
+    platforms = platforms.all;
+    maintainers = [ maintainers.raskin ];
+  };
+}
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index 95984c97001..d2d74769a1f 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.14";
+  version = "5.0";
   name = "cgal-" + version;
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "0p0s1dl5a261zwy0hxa7ylkypk45rwc6n84lx507dwdhfz4ihv12";
+    sha256 = "15r631kddphw3wsvrxrkdbq9y7m0q8kx0kwc9zq97x6ksg3v0gs3";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index 04ab1331475..ea352772b33 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ace";
-  version = "6.5.6";
+  version = "6.5.7";
 
   src = fetchurl {
     url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "15lfjc8r854hvjfvimhnqc3987b3cdngilhkii9rwpzginbyipi4";
+    sha256 = "0hvd7y3hs8r3r7qbllfaqrva3jrx5razcnwlws822k66v4r10cbx";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/agda/Agda-Sheaves/default.nix b/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
index 6ab7455915c..62856157b4b 100644
--- a/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
+++ b/pkgs/development/libraries/agda/Agda-Sheaves/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Sheaves in Agda";
     license = stdenv.lib.licenses.cc-by-40;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;  # replaced by constructive-sheaf-semantics
   };
 })
diff --git a/pkgs/development/libraries/agda/TotalParserCombinators/default.nix b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
index ac9ce9dd84f..344da00d04f 100644
--- a/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
+++ b/pkgs/development/libraries/agda/TotalParserCombinators/default.nix
@@ -20,7 +20,7 @@ agda.mkDerivation (self: rec {
     description = "A monadic parser combinator library which guarantees termination of parsing";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     broken = true;
   };
 })
diff --git a/pkgs/development/libraries/agda/agda-base/default.nix b/pkgs/development/libraries/agda/agda-base/default.nix
index 146e44182ed..1bc9d0cb882 100644
--- a/pkgs/development/libraries/agda/agda-base/default.nix
+++ b/pkgs/development/libraries/agda/agda-base/default.nix
@@ -17,7 +17,7 @@ agda.mkDerivation (self: rec {
     description = "Base library for HoTT in Agda";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;  # largely replaced by HoTT-Agda
   };
 })
diff --git a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
index e2d64841985..30a03980e44 100644
--- a/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-iowa-stdlib/default.nix
@@ -22,6 +22,6 @@ agda.mkDerivation (self: rec {
     description = "Agda standard library developed at Iowa";
     license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 })
diff --git a/pkgs/development/libraries/agda/agda-prelude/default.nix b/pkgs/development/libraries/agda/agda-prelude/default.nix
index a57ee6e08ba..bcdad18bede 100644
--- a/pkgs/development/libraries/agda/agda-prelude/default.nix
+++ b/pkgs/development/libraries/agda/agda-prelude/default.nix
@@ -18,6 +18,6 @@ agda.mkDerivation (self: rec {
     description = "Programming library for Agda";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu mudri ];
+    maintainers = with maintainers; [ mudri ];
   };
 })
diff --git a/pkgs/development/libraries/agda/agda-stdlib/default.nix b/pkgs/development/libraries/agda/agda-stdlib/default.nix
index 4d071251ee8..c39dc0f5790 100644
--- a/pkgs/development/libraries/agda/agda-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-stdlib/default.nix
@@ -24,6 +24,6 @@ agda.mkDerivation (self: rec {
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
     broken = stdenv.isDarwin;
-    maintainers = with maintainers; [ jwiegley fuuzetsu mudri ];
+    maintainers = with maintainers; [ jwiegley mudri ];
   };
 })
diff --git a/pkgs/development/libraries/agda/bitvector/default.nix b/pkgs/development/libraries/agda/bitvector/default.nix
index 6306bb89b5c..c09702c48d7 100644
--- a/pkgs/development/libraries/agda/bitvector/default.nix
+++ b/pkgs/development/libraries/agda/bitvector/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Sequences of bits and common operations on them";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true;
   };
 })
diff --git a/pkgs/development/libraries/agda/categories/default.nix b/pkgs/development/libraries/agda/categories/default.nix
index ea232f2853d..a58afd7e866 100644
--- a/pkgs/development/libraries/agda/categories/default.nix
+++ b/pkgs/development/libraries/agda/categories/default.nix
@@ -18,7 +18,7 @@ agda.mkDerivation (self: rec {
     description = "Categories parametrized by morphism equality, in Agda";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     broken = true; # doesn't work due to new agdastdlib, see #9471
   };
 })
diff --git a/pkgs/development/libraries/agda/pretty/default.nix b/pkgs/development/libraries/agda/pretty/default.nix
index 0e4f1da6e14..ffae1f6f900 100644
--- a/pkgs/development/libraries/agda/pretty/default.nix
+++ b/pkgs/development/libraries/agda/pretty/default.nix
@@ -20,7 +20,7 @@ agda.mkDerivation (self: rec {
     description = "Correct-by-Construction Pretty-Printing";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     broken = true; # 2018-04-11
   };
 })
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index b267c62d6c7..5f5368f2866 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, texinfo, libXext, xorgproto, libX11
 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
 , libXxf86dga, libXxf86misc
-, libXxf86vm, openal, libGLU_combined, libjpeg, flac
+, libXxf86vm, openal, libGLU, libGL, libjpeg, flac
 , libXi, libXfixes, freetype, libopus, libtheora
 , physfs, enet, pkgconfig, gtk2, pcre, libpulseaudio, libpthreadstubs
 , libXdmcp
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     texinfo libXext xorgproto libX11 libXpm libXt libXcursor
     alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
-    libXxf86vm openal libGLU_combined
+    libXxf86vm openal libGLU libGL
     libjpeg flac
     libXi libXfixes
     enet libtheora freetype physfs libopus pkgconfig gtk2 pcre libXdmcp
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 6b44ec1b598..64488b25b09 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, texinfo, libXext, xorgproto, libX11
 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
 , libXxf86dga, libXxf86misc
-, libXxf86vm, openal, libGLU_combined }:
+, libXxf86vm, openal, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "allegro";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     texinfo libXext xorgproto libX11 libXpm libXt libXcursor
     alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
-    libXxf86vm openal libGLU_combined
+    libXxf86vm openal libGLU libGL
   ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/libraries/arrayfire/default.nix b/pkgs/development/libraries/arrayfire/default.nix
index 6e2db870068..21e93a8cd49 100644
--- a/pkgs/development/libraries/arrayfire/default.nix
+++ b/pkgs/development/libraries/arrayfire/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig
 , cudatoolkit, opencl-clhpp, ocl-icd, fftw, fftwFloat, mkl
-, blas, openblas, boost, mesa, libGLU_combined
+, blas, openblas, boost, mesa, libGLU, libGL
 , freeimage, python, clfft, clblas
 , doxygen, buildDocs ? false
 }:
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
     opencl-clhpp fftw fftwFloat
     mkl
     openblas
-    libGLU_combined
+    libGLU libGL
     mesa freeimage
     boost.out boost.dev
   ] ++ (stdenv.lib.optional stdenv.isLinux [ cudatoolkit ocl-icd ])
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index 5c3c6272f83..ad0f910dcbf 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -15,26 +15,20 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "aspell-0.60.6.1";
+  name = "aspell-0.60.8";
 
   src = fetchurl {
     url = "mirror://gnu/aspell/${name}.tar.gz";
-    sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
+    sha256 = "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr";
   };
 
-  patches = [
-    (fetchpatch { # remove in >= 0.60.7
-      name = "gcc-7.patch";
-      url = "https://github.com/GNUAspell/aspell/commit/8089fa02122fed0a.diff";
-      sha256 = "1b3p1zy2lqr2fknddckm58hyk95hw4scf6hzjny1v9iaic2p37ix";
-    })
-  ] ++ stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
+  patches = stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
 
   postPatch = ''
     patch interfaces/cc/aspell.h < ${./clang.patch}
   '';
 
-  nativeBuildInputs = [ perl ];
+  buildInputs = [ perl ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index bda809b1a5a..84a8a6b9026 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -10,6 +10,7 @@
 
 , dbus
 , glib
+, dconf
 , libX11
 , libXtst # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
 , libXi
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     # Cannot use wrapGAppsHook'due to a dependency cycle
     wrapProgram $out/libexec/at-spi-bus-launcher \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}
   '';
 
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index f7bd189022f..2d0a5a63d6f 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -14,6 +14,7 @@
 , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
 , patches ? []
 , mpi ? null
+, extraB2Args ? []
 
 # Attributes inherit from specific versions
 , version, src
@@ -92,7 +93,8 @@ let
     ++ optional (mpi != null || stdenv.hostPlatform != stdenv.buildPlatform) "--user-config=user-config.jam"
     ++ optionals (stdenv.hostPlatform.libc == "msvcrt") [
     "threadapi=win32"
-  ]);
+  ] ++ extraB2Args
+  );
 
 in
 
diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix
index 328ac434d85..d4b4c33f35b 100644
--- a/pkgs/development/libraries/box2d/default.nix
+++ b/pkgs/development/libraries/box2d/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, cmake, libGLU_combined, freeglut, libX11, xorgproto
+{ stdenv, fetchurl, unzip, cmake, libGLU, libGL, freeglut, libX11, xorgproto
 , libXi, pkgconfig }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    unzip cmake libGLU_combined freeglut libX11 xorgproto libXi
+    unzip cmake libGLU libGL freeglut libX11 xorgproto libXi
   ];
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix
index 1b6c56f13af..5b4e37eff9f 100644
--- a/pkgs/development/libraries/bullet/default.nix
+++ b/pkgs/development/libraries/bullet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut
+{ stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut
 , Cocoa,  OpenGL
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ]
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
 
   patches = [ ./gwen-narrowing.patch ];
diff --git a/pkgs/development/libraries/bullet/roboschool-fork.nix b/pkgs/development/libraries/bullet/roboschool-fork.nix
index 8b0901832d1..34a9ee3b6ee 100644
--- a/pkgs/development/libraries/bullet/roboschool-fork.nix
+++ b/pkgs/development/libraries/bullet/roboschool-fork.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut
+{ stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut
 , Cocoa,  OpenGL
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ]
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
 
   patches = [ ./gwen-narrowing.patch ];
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 82570fbf7b4..d2e52638d07 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -5,7 +5,7 @@
 , xcbSupport ? x11Support, libxcb, xcbutil # no longer experimental since 1.12
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , glSupport ? config.cairo.gl or (libGLSupported && stdenv.isLinux && !stdenv.isAarch32 && !stdenv.isMips)
-, libGL ? null # libGLU_combined is no longer a big dependency
+, libGL ? null # libGLU libGL is no longer a big dependency
 , pdfSupport ? true
 , darwin
 }:
diff --git a/pkgs/development/libraries/chipmunk/default.nix b/pkgs/development/libraries/chipmunk/default.nix
index 76f722f31aa..5dd9917bc52 100644
--- a/pkgs/development/libraries/chipmunk/default.nix
+++ b/pkgs/development/libraries/chipmunk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, freeglut, libGLU_combined, glfw2, glew, libX11, xorgproto
+{ stdenv, fetchurl, cmake, freeglut, libGLU, libGL, glfw2, glew, libX11, xorgproto
 , libXi, libXmu
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
   buildInputs =
-    [ freeglut libGLU_combined glfw2 glew libX11 xorgproto libXi libXmu ];
+    [ freeglut libGLU libGL glfw2 glew libX11 xorgproto libXi libXmu ];
 
   postInstall = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index 7adc2a365c5..dc36414fc28 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "cln";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchurl {
     url = "${meta.homepage}${pname}-${version}.tar.bz2";
-    sha256 = "0j5p18hwbbrchsdbnc8d2bf9ncslhflri4i950gdnq7v6g2dg69d";
+    sha256 = "0bc43v4fyxwik9gjkvm8jan74bkx9bjssv61lfh9jhhblmj010bq";
   };
 
   buildInputs = [ gmp ];
 
   meta = with stdenv.lib; {
     description = "C/C++ library for numbers, a part of GiNaC";
-    homepage = http://www.ginac.de/CLN/;
+    homepage = https://www.ginac.de/CLN/;
     license = licenses.gpl2;
     platforms = platforms.unix; # Once had cygwin problems
   };
diff --git a/pkgs/development/libraries/cppzmq/default.nix b/pkgs/development/libraries/cppzmq/default.nix
index 2328bd53362..ccf38fa09fb 100644
--- a/pkgs/development/libraries/cppzmq/default.nix
+++ b/pkgs/development/libraries/cppzmq/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cppzmq";
-  version = "4.4.1";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "zeromq";
     repo = "cppzmq";
     rev = "v${version}";
-    sha256 = "15dgkv51csfkafplf0n0vqbjdr4pxqxq44dln0dcizhsn1p0a57q";
+    sha256 = "1n34sj322ay8839q6cxivckkrhz9avy31615i5jdxfal06mgya43";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix
index 8abae8b8bb3..5542a37661a 100644
--- a/pkgs/development/libraries/dav1d/default.nix
+++ b/pkgs/development/libraries/dav1d/default.nix
@@ -9,14 +9,14 @@ assert useVulkan -> withExamples;
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "08cgccp7xvwn24w9iab4fzi18x3m6xyvvnz36qf7clcz0aqbfb9w";
+    sha256 = "0acxlgyz6c8ckw8vfgn60y2zg2n00l5xsq5jlxvwbh5w5pkc3ahf";
   };
 
   nativeBuildInputs = [ meson ninja nasm pkgconfig ];
diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/development/libraries/dconf/default.nix
index 7ce498da9f3..7ce498da9f3 100644
--- a/pkgs/desktops/gnome-3/core/dconf/default.nix
+++ b/pkgs/development/libraries/dconf/default.nix
diff --git a/pkgs/development/libraries/egl-wayland/default.nix b/pkgs/development/libraries/egl-wayland/default.nix
new file mode 100644
index 00000000000..fa2c3687ba7
--- /dev/null
+++ b/pkgs/development/libraries/egl-wayland/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkgconfig
+, meson
+, ninja
+, libX11
+, mesa
+, libGL
+, wayland
+}:
+
+let
+  eglexternalplatform = stdenv.mkDerivation {
+    pname = "eglexternalplatform";
+    version = "1.1";
+
+    src = fetchFromGitHub {
+      owner = "Nvidia";
+      repo = "eglexternalplatform";
+      rev = "7c8f8e2218e46b1a4aa9538520919747f1184d86";
+      sha256 = "0lr5s2xa1zn220ghmbsiwgmx77l156wk54c7hybia0xpr9yr2nhb";
+    };
+
+    installPhase = ''
+      mkdir -p "$out/include/"
+      cp interface/eglexternalplatform.h "$out/include/"
+      cp interface/eglexternalplatformversion.h "$out/include/"
+
+      substituteInPlace eglexternalplatform.pc \
+        --replace "/usr/include/EGL" "$out/include"
+      mkdir -p "$out/share/pkgconfig"
+      cp eglexternalplatform.pc "$out/share/pkgconfig/"
+    '';
+
+    meta = with lib; {
+      license = licenses.mit;
+    };
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "egl-wayland";
+  version = "1.1.4";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "Nvidia";
+    repo = pname;
+    rev = version;
+    sha256 = "0wvamjcfycd7rgk7v14g2rin55xin9rfkxmivyay3cm08vnl7y1d";
+  };
+
+  # Add missing include
+  # https://github.com/NVIDIA/egl-wayland/pull/24
+  patches = [ ./eglmesaext.patch ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+  ];
+
+  buildInputs = [
+    eglexternalplatform
+    libX11
+    mesa
+    libGL
+    wayland
+  ];
+
+  meta = with lib; {
+    description = "The EGLStream-based Wayland external platform";
+    homepage = https://github.com/NVIDIA/egl-wayland/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ hedning ];
+  };
+}
diff --git a/pkgs/development/libraries/egl-wayland/eglmesaext.patch b/pkgs/development/libraries/egl-wayland/eglmesaext.patch
new file mode 100644
index 00000000000..9384ecff9b0
--- /dev/null
+++ b/pkgs/development/libraries/egl-wayland/eglmesaext.patch
@@ -0,0 +1,12 @@
+diff --git a/src/wayland-eglsurface.c b/src/wayland-eglsurface.c
+index 01c9cb3..45736b0 100644
+--- a/src/wayland-eglsurface.c
++++ b/src/wayland-eglsurface.c
+@@ -37,6 +37,7 @@
+ #include <sys/types.h>
+ #include <netinet/in.h>
+ #include <fcntl.h>
++#include <EGL/eglmesaext.h>
+ 
+ #define WL_EGL_WINDOW_DESTROY_CALLBACK_SINCE 3
+ 
diff --git a/pkgs/development/libraries/enet/default.nix b/pkgs/development/libraries/enet/default.nix
index c0df404e60e..bf6260ca766 100644
--- a/pkgs/development/libraries/enet/default.nix
+++ b/pkgs/development/libraries/enet/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     homepage = http://enet.bespin.org/;
     description = "Simple and robust network communication layer on top of UDP";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 9ab112dac12..afdc6c0f5e8 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -104,7 +104,7 @@
 #, opencl ? null # OpenCL code
 , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
 #, opencv ? null # Video filtering
-, openglExtlib ? false, libGLU_combined ? null # OpenGL rendering
+, openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering
 #, openh264 ? null # H.264/AVC encoder
 , openjpeg ? null # JPEG 2000 de/encoder
 , opensslExtlib ? false, openssl ? null
@@ -234,7 +234,7 @@ assert gnutls != null -> !opensslExtlib;
 assert libxcbshmExtlib -> libxcb != null;
 assert libxcbxfixesExtlib -> libxcb != null;
 assert libxcbshapeExtlib -> libxcb != null;
-assert openglExtlib -> libGLU_combined != null;
+assert openglExtlib -> libGL != null && libGLU != null;
 assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
@@ -353,6 +353,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (cdio-paranoia != null && gplLicensing) "libcdio")
     (enableFeature (if isLinux then libdc1394 != null && libraw1394 != null else false) "libdc1394")
     (enableFeature (libiconv != null) "iconv")
+    (enableFeature (libjack2 != null) "libjack")
     #(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
     (enableFeature (if isLinux && !isAarch64 then libmfx != null else false) "libmfx")
     (enableFeature (libmodplug != null) "libmodplug")
@@ -424,7 +425,7 @@ stdenv.mkDerivation rec {
     libxcb libXv libXext lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
     samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
     zeromq4 zlib
-  ] ++ optional openglExtlib libGLU_combined
+  ] ++ optionals openglExtlib [ libGL libGLU ]
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
     ++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf
@@ -466,6 +467,6 @@ stdenv.mkDerivation rec {
         licenses.lgpl21Plus
     );
     platforms = platforms.all;
-    maintainers = with maintainers; [ codyopel fuuzetsu ];
+    maintainers = with maintainers; [ codyopel ];
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index ccdf4662719..3424493c209 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -2,7 +2,7 @@
 , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
 , libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr
 , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
-, openglSupport ? false, libGLU_combined ? null
+, openglSupport ? false, libGLU ? null, libGL ? null
 , libmfxSupport ? false, intel-media-sdk ? null
 , libaomSupport ? false, libaom ? null
 # Build options
@@ -63,7 +63,7 @@ let
   vpxSupport = reqMin "0.6" && !isAarch32;
 in
 
-assert openglSupport -> libGLU_combined != null;
+assert openglSupport -> libGL != null && libGLU != null;
 assert libmfxSupport -> intel-media-sdk != null;
 assert libaomSupport -> libaom != null;
 
@@ -168,7 +168,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
     libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
-  ] ++ optional openglSupport libGLU_combined
+  ] ++ optionals openglSupport [ libGL libGLU ]
     ++ optional libmfxSupport intel-media-sdk
     ++ optional vpxSupport libaom
     ++ optional vpxSupport libvpx
@@ -218,7 +218,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl3;
     platforms = platforms.all;
-    maintainers = with maintainers; [ codyopel fuuzetsu ];
+    maintainers = with maintainers; [ codyopel ];
     inherit branch;
   };
 }
diff --git a/pkgs/development/libraries/ffms/default.nix b/pkgs/development/libraries/ffms/default.nix
index c404a12f3df..30fb94aa248 100644
--- a/pkgs/development/libraries/ffms/default.nix
+++ b/pkgs/development/libraries/ffms/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/FFMS/ffms2/;
     description = "Libav/ffmpeg based source library for easy frame accurate access";
     license = licenses.mit;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index c0cbb763d36..945f1d4931f 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2
 , gobject-introspection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc, xdg-dbus-proxy, p11-kit
 , bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, gettext, hicolor-icon-theme, fuse, nixosTests
-, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, gnome3, gsettings-desktop-schemas, librsvg }:
+, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, dconf, gsettings-desktop-schemas, librsvg }:
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    bubblewrap bzip2 dbus gnome3.dconf glib gpgme json-glib libarchive libcap libseccomp
+    bubblewrap bzip2 dbus dconf glib gpgme json-glib libarchive libcap libseccomp
     libsoup lzma ostree polkit python3 systemd xorg.libXau fuse
     gsettings-desktop-schemas glib-networking
     librsvg # for flatpak-validate-icon
diff --git a/pkgs/development/libraries/fltk/1.4.nix b/pkgs/development/libraries/fltk/1.4.nix
index 183f0c2bb70..1fe50b402cb 100644
--- a/pkgs/development/libraries/fltk/1.4.nix
+++ b/pkgs/development/libraries/fltk/1.4.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
-, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
+, freeglut, libGLU, libGL, libjpeg, zlib, libXft, libpng
 , libtiff, freetype, Cocoa, AGL, GLUT
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
+  buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
     ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
 
   propagatedBuildInputs = [ xorgproto ]
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 2dfb5e9e248..15f29ce77f5 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "folly";
-  version = "2019.10.21.00";
+  version = "2019.11.11.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "1jy0yxqzcxxs6sq8161zbdzj4ngwjs0h2aca6n9qkaj1v5jd27c7";
+    sha256 = "1sgv7sdalbs7zhz3zcc95gn2h8j2xjf7hkw2c618zc3pdn6aa58w";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/forge/default.nix b/pkgs/development/libraries/forge/default.nix
index e6e002f16c5..83630aef9aa 100644
--- a/pkgs/development/libraries/forge/default.nix
+++ b/pkgs/development/libraries/forge/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
 , arrayfire, expat, fontconfig, freeimage, freetype, boost
-, mesa, libGLU_combined, glfw3, SDL2, cudatoolkit
+, mesa, libGLU, libGL, glfw3, SDL2, cudatoolkit
 }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     boost.dev
     freeimage
     mesa
-    libGLU_combined
+    libGLU libGL
     glfw3
     SDL2
     cudatoolkit
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index af387b7232f..bb59a34b1cc 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, xlibsWrapper, libpng, libjpeg, libtiff, zlib, bzip2, libXcursor
-, libXrandr, libGLU_combined, libXft, libXfixes, xinput
+, libXrandr, libGLU, libGL, libXft, libXfixes, xinput
 , CoreServices }:
 
 let
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     xlibsWrapper libpng libjpeg libtiff zlib bzip2 libXcursor libXrandr
-    libXft libGLU_combined libXfixes xinput
+    libXft libGLU libGL libXfixes xinput
   ] ++ stdenv.lib.optional stdenv.isDarwin CoreServices;
 
   doCheck = true;
diff --git a/pkgs/development/libraries/freenect/default.nix b/pkgs/development/libraries/freenect/default.nix
index 41480789a08..9520542481c 100644
--- a/pkgs/development/libraries/freenect/default.nix
+++ b/pkgs/development/libraries/freenect/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU_combined, libXi, libXmu
+{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU, libGL, libXi, libXmu
 , GLUT, Cocoa
  }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vnc7z2avckh4mccqq6alsd2z7xvsh3kaslc5b0gnfxw0j269gl6";
   };
 
-  buildInputs = [ libusb freeglut libGLU_combined libXi libXmu ]
+  buildInputs = [ libusb freeglut libGLU libGL libXi libXmu ]
     ++ lib.optionals stdenv.isDarwin [ GLUT Cocoa ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 859258f5956..3b0b30f573b 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -20,6 +20,14 @@ stdenv.mkDerivation rec {
     sha256 = "0pckda4fcn0aw32lpycwdp25r2m7vca8zspq815ppi9gkwgg5das";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2019-18397.patch";
+      url = "https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch";
+      sha256 = "102xrbf1l5gvavkxd6csx8pj3rlgcw10c0y4h4d40yhn84b1p0y8";
+    })
+  ];
+
   postPatch = ''
     patchShebangs test
   '';
diff --git a/pkgs/development/libraries/gaia/default.nix b/pkgs/development/libraries/gaia/default.nix
index c8c0b8c6800..b154f80c1dd 100644
--- a/pkgs/development/libraries/gaia/default.nix
+++ b/pkgs/development/libraries/gaia/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , libyaml
 , swig
+, eigen
 , pkgconfig
 , wafHook
 , makeWrapper
@@ -19,13 +20,13 @@ assert pythonSupport -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "gaia";
-  version = "2.4.5";
+  version = "2.4.6";
 
   src = fetchFromGitHub {
     owner = "MTG";
     repo = "gaia";
     rev = "v${version}";
-    sha256 = "12jxb354s2dblr2ghnl3w05m23jgzvrrgywfj8jaa32j3gw48fv2";
+    sha256 = "03vmdq7ca4f7zp2f4sxyqa8sdpdma3mn9fz4z7d93qryl0bhi7z3";
   };
 
   # Fix installation error when waf tries to put files in /etc/
@@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libyaml
+    eigen
     qt4
   ];
 
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index f4c554395d4..9c2da3c5b69 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, nixosTests, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
 , docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
-, jasper, gobject-introspection, doCheck ? false, makeWrapper }:
+, gobject-introspection, doCheck ? false, makeWrapper }:
 
 let
   pname = "gdk-pixbuf";
@@ -31,11 +31,10 @@ in stdenv.mkDerivation rec {
   ]
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
+  propagatedBuildInputs = [ glib libtiff libjpeg libpng ];
 
   mesonFlags = [
     "-Ddocs=true"
-    "-Djasper=true"
     "-Dx11=true"
     "-Dgir=${if gobject-introspection != null then "true" else "false"}"
     "-Dgio_sniffing=false"
diff --git a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
index 8b6c80867a0..06958be3213 100644
--- a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
+++ b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
@@ -4,7 +4,7 @@ findGdkPixbufLoaders() {
 	local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
 	if [[ -f "$loadersCache" ]]; then
 		if [[ -f "${GDK_PIXBUF_MODULE_FILE-}" ]]; then
-			if [[ "$(cat "$loadersCache" | wc -l)" > "$(cat "$GDK_PIXBUF_MODULE_FILE" | wc -l)" ]]; then
+			if (( "$(cat "$loadersCache" | wc -l)" > "$(cat "$GDK_PIXBUF_MODULE_FILE" | wc -l)" )); then
 				export GDK_PIXBUF_MODULE_FILE="$loadersCache"
 			fi
 		else
diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix
index 2edb47cb9bb..ca7163af49b 100644
--- a/pkgs/development/libraries/gegl/4.0.nix
+++ b/pkgs/development/libraries/gegl/4.0.nix
@@ -105,6 +105,9 @@ stdenv.mkDerivation rec {
     "-Dlibv4l=disabled"
     "-Dlibv4l2=disabled"
     "-Dumfpack=disabled"
+    # Disabled due to multiple vulnerabilities, see
+    # https://github.com/NixOS/nixpkgs/pull/73586
+    "-Djasper=disabled"
   ];
 
   # TODO: Fix missing math symbols in gegl seamless clone.
diff --git a/pkgs/development/libraries/giflib/default.nix b/pkgs/development/libraries/giflib/default.nix
index e047bdbb648..5d7b95136dd 100644
--- a/pkgs/development/libraries/giflib/default.nix
+++ b/pkgs/development/libraries/giflib/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "A library for reading and writing gif images";
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     branch = "5.2";
   };
 }
diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix
index c723a54765b..7facdc1426f 100644
--- a/pkgs/development/libraries/gjs/default.nix
+++ b/pkgs/development/libraries/gjs/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.58.1";
+  version = "1.58.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1xf68rbagkflb9yi3visfw8cbxqlzd717y8jakgw0y6whzm1dpxl";
+    sha256 = "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya";
   };
 
   outputs = [ "out" "dev" "installedTests" ];
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 494d0a61f06..706e99179f5 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -48,11 +48,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.62.2";
+  version = "2.62.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1wdkvqq6fkk99smmnjg7d999v4qhbgs7halwfcwz0vgp2fj29239";
+    sha256 = "1i2mlrd351dnmpfi465qmx9rhgyff01j29a2x3lczzyky34ss024";
   };
 
   patches = optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/glm/default.nix b/pkgs/development/libraries/glm/default.nix
index e7d4c934db8..88b33601ee7 100644
--- a/pkgs/development/libraries/glm/default.nix
+++ b/pkgs/development/libraries/glm/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     homepage = http://glm.g-truc.net/;
     license = licenses.mit;
     platforms = platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
 
diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix
index 51e981a2a33..565ef85c1bf 100644
--- a/pkgs/development/libraries/gloox/default.nix
+++ b/pkgs/development/libraries/gloox/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     description = "A portable high-level Jabber/XMPP library for C++";
     homepage = http://camaya.net/gloox;
     license = licenses.gpl3;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/glui/default.nix b/pkgs/development/libraries/glui/default.nix
index 757fa9de6f3..8ac42375bf9 100644
--- a/pkgs/development/libraries/glui/default.nix
+++ b/pkgs/development/libraries/glui/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl
+{ stdenv
+, fetchurl
 , freeglut
 , libGL
 , libGLU
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index 81546e5c127..754d5aa7411 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, gpgme, libidn2, libunistring, gobject-introspection }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.3";
+  version = "3.2.5";
   pname = "gmime";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/3.2/${pname}-${version}.tar.xz";
-    sha256 = "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a";
+    sha256 = "0ndsg1z1kq4w4caascydvialpyn4rfbjdn7xclzbzhw53x85cxgv";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 26d5e9c88c7..63072273c2e 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -69,6 +69,6 @@ stdenv.mkDerivation rec {
     '';
     license = with licenses; [ lgpl21Plus gpl3Plus ];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu primeos ];
+    maintainers = with maintainers; [ primeos ];
   };
 }
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
index 38243ce5a6d..0c9e4bf3156 100644
--- a/pkgs/development/libraries/grib-api/default.nix
+++ b/pkgs/development/libraries/grib-api/default.nix
@@ -1,5 +1,5 @@
-{ fetchurl, stdenv,
-  cmake, netcdf, gfortran, jasper, libpng,
+{ fetchurl, fetchpatch, stdenv,
+  cmake, netcdf, gfortran, libpng, openjpeg,
   enablePython ? false, pythonPackages }:
 
 stdenv.mkDerivation rec{
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec{
     sha256 = "0qbj12ap7yy2rl1pq629chnss2jl73wxdj1lwzv0xp87r6z5qdfl";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://salsa.debian.org/science-team/grib-api/raw/debian/1.28.0-2/debian/patches/openjpeg2.patch";
+      sha256 = "05faxh51vlidiazxq1ssd3k4cjivk1adyn30k94mxqa1xnb2r2pc";
+    })
+  ];
+
   preConfigure = ''
     # Fix "no member named 'inmem_' in 'jas_image_t'"
     substituteInPlace "src/grib_jasper_encoding.c" --replace "image.inmem_    = 1;" ""
@@ -19,8 +26,8 @@ stdenv.mkDerivation rec{
   buildInputs = [ cmake
                   netcdf
                   gfortran
-                  jasper
                   libpng
+                  openjpeg
                 ] ++ stdenv.lib.optionals enablePython [
                   pythonPackages.python
                 ];
@@ -32,6 +39,7 @@ stdenv.mkDerivation rec{
   cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
                  "-DENABLE_PNG=ON"
                  "-DENABLE_FORTRAN=ON"
+                 "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/${openjpeg.incDir}"
                ];
 
   enableParallelBuilding = true;
@@ -52,13 +60,15 @@ stdenv.mkDerivation rec{
     homepage = https://software.ecmwf.int/wiki/display/GRIB/Home;
     license = licenses.asl20;
     platforms = with platforms; linux ++ darwin;
-    description = "ECMWF Library for the GRIB file format";
+    description = "ECMWF Library for the GRIB file format -- DEPRECATED";
     longDescription = ''
       The ECMWF GRIB API is an application program interface accessible from C,
       FORTRAN and Python programs developed for encoding and decoding WMO FM-92
       GRIB edition 1 and edition 2 messages.
+
+      Please note: GRIB-API support is being discontinued at the end of 2018.
+      After which there will be no further releases. Please upgrade to ecCodes
     '';
     maintainers = with maintainers; [ knedlsepp ];
   };
 }
-
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 273b5b1e711..2fa76b2e085 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
 
 stdenv.mkDerivation rec {
   version = "1.25.0"; # N.B: if you change this, change pythonPackages.grpcio and pythonPackages.grpcio-tools to a matching version too
@@ -10,6 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "02nbmbk1xpibjzvbhi8xpazmwry46ki24vks1sh2p0aqwy4hv6yb";
     fetchSubmodules = true;
   };
+  patches = [
+    # Fix build on armv6l (https://github.com/grpc/grpc/pull/21341)
+    (fetchpatch {
+      url = "https://github.com/grpc/grpc/commit/ffb8a278389c8e3403b23a9897b65a7390c34645.patch";
+      sha256 = "1lc12a3gccg9wxqhnwgldlj3zmlm6lxg8dssvvj1x7hf655kw3w3";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];
 
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 735ab4e6e18..22815c95647 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,16 +1,40 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, gettext
 , config
-, pkgconfig, python3, gst-plugins-base, orc
+, pkgconfig
+, python3
+, gst-plugins-base
+, orc
 , gobject-introspection
 , enableZbar ? true
-, faacSupport ? false, faac ? null
-, faad2, libass, libkate, libmms, librdf, ladspaH
-, libnice, webrtc-audio-processing, lilv, lv2, serd, sord, sratom
-, libbs2b, libmodplug, mpeg2dec
-, openjpeg, libopus, librsvg
+, faacSupport ? false
+, faac ? null
+, faad2
+, libass
+, libkate
+, libmms
+, librdf
+, ladspaH
+, libnice
+, webrtc-audio-processing
+, lilv
+, lv2
+, serd
+, sord
+, sratom
+, libbs2b
+, libmodplug
+, mpeg2dec
+, openjpeg
+, libopus
+, librsvg
 , bluez
 , chromaprint
 , curl
+, darwin
 , directfb
 , fdk_aac
 , flite
@@ -27,7 +51,7 @@
 , libusb1
 , neon
 , openal
-, opencv3
+, opencv4
 , openexr
 , openh264
 , pango
@@ -38,10 +62,21 @@
 , srtp
 , zbar
 , wayland-protocols
-, wildmidi, fluidsynth, libvdpau, wayland
-, libwebp, xvidcore, gnutls, mjpegtools
-, libGLU_combined, libintl, libgme
-, openssl, x265, libxml2
+, wildmidi
+, fluidsynth
+, libvdpau
+, wayland
+, libwebp
+, xvidcore
+, gnutls
+, mjpegtools
+, libGLU
+, libGL
+, libintl
+, libgme
+, openssl
+, x265
+, libxml2
 , srt
 }:
 
@@ -49,113 +84,128 @@ assert faacSupport -> faac != null;
 
 let
   inherit (stdenv.lib) optional optionals;
-in
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "gst-plugins-bad";
-  version = "1.16.0";
+  version = "1.16.1";
 
-  meta = with stdenv.lib; {
-    description = "Gstreamer Bad Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that aren't up to par compared to the
-      rest.  They might be close to being good quality, but they're missing
-      something - be it a good code review, some documentation, a set of tests,
-      a real live maintainer, or some actual wide use.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
-  preConfigure = ''
-    patchShebangs .
-  '';
+  src = fetchurl {
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1dddqacxgp77f3nl153x5a6139wdphc9phds2fpqb2cv6faiqj2n";
+  };
 
   patches = [
     ./fix_pkgconfig_includedir.patch
-    # Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/312 is merged and available to us
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/99790eaad9083cce5ab2b1646489e1a1c0faad1e.patch";
-      sha256 = "11bqy4sl05qq5mj4bx5s09rq106s3j0vnpjl4np058im32j69lr3";
-    })
-    # Remove when https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/312 is merged and available to us
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/1872da81c48d3a719bd39955fd97deac7d037d74.patch";
-      sha256 = "11zwrr5ggflmvr0qfssj7dmhgd3ybiadmy79b4zh24022zgw3xpz";
-    })
   ];
 
-  src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-bad/${pname}-${version}.tar.xz";
-    sha256 = "019b0yqjrcg6jmfd4cc336h1bz5p4wxl58yz1c4sdb96avirs4r2";
-  };
-
-  outputs = [ "out" "dev" ];
-
   nativeBuildInputs = [
-    meson ninja pkgconfig python3 gettext gobject-introspection
-  ]
-  ++ optionals stdenv.isLinux [
+    meson
+    ninja
+    pkgconfig
+    python3
+    gettext
+    gobject-introspection
+  ] ++ optionals stdenv.isLinux [
     wayland-protocols
   ];
 
   buildInputs = [
-    gst-plugins-base orc
-    faad2 libass libkate libmms
-    libnice webrtc-audio-processing # webrtc
+    gst-plugins-base
+    orc
+    faad2
+    libass
+    libkate
+    libmms
+    webrtc-audio-processing # webrtc
     libbs2b
-    ladspaH librdf # ladspa plug-in
-    lilv lv2 serd sord sratom # lv2 plug-in
-    libmodplug mpeg2dec
-    openjpeg libopus librsvg
-    bluez
-    chromaprint
+    libmodplug
+    mpeg2dec
+    openjpeg
+    libopus
+    librsvg
     curl.dev
-    directfb
     fdk_aac
-    flite
     gsm
     libaom
     libdc1394
     libde265
-    libdrm
     libdvdnav
     libdvdread
-    libgudev
-    libofa
     libsndfile
     libusb1
+    mjpegtools
     neon
     openal
-    opencv3
+    opencv4
     openexr
     openh264
     rtmpdump
     pango
-    sbc
     soundtouch
-    spandsp
     srtp
-    fluidsynth libvdpau
-    libwebp xvidcore gnutls libGLU_combined
-    libgme openssl x265 libxml2
+    fluidsynth
+    libvdpau
+    libwebp
+    xvidcore
+    gnutls
+    libGL
+    libGLU
+    libgme
+    openssl
+    x265
+    libxml2
     libintl
     srt
-  ]
-    ++ optional enableZbar zbar
-    ++ optional faacSupport faac
-    ++ optional stdenv.isLinux wayland
+  ] ++ optionals enableZbar [
+    zbar
+  ] ++ optionals faacSupport [
+    faac
+  ] ++ optionals stdenv.isLinux [
+    bluez
+    wayland
+  ] ++ optionals (!stdenv.isDarwin) [
     # wildmidi requires apple's OpenAL
     # TODO: package apple's OpenAL, fix wildmidi, include on Darwin
-    ++ optional (!stdenv.isDarwin) wildmidi
+    wildmidi
     # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
-    ++ optional (!stdenv.isDarwin) mjpegtools;
+    mjpegtools
 
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+    chromaprint
+    directfb
+    flite
+    libdrm
+    libgudev
+    libnice
+    libofa
+    librdf
+    sbc
+    spandsp
+
+    # ladspa plug-in
+    ladspaH
+    librdf # TODO: make build on Darwin
 
+    # lv2 plug-in
+    lilv
+    lv2
+    serd
+    sord
+    sratom
+  ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    # For unknown reasons the order is important, e.g. if
+    # VideoToolbox is last, we get:
+    #     fatal error: 'VideoToolbox/VideoToolbox.h' file not found
+    VideoToolbox
+    AudioToolbox
+    AVFoundation
+    CoreMedia
+    CoreVideo
+    Foundation
+    MediaToolbox
+  ]);
+
+  mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
 
     "-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
@@ -191,10 +241,50 @@ stdenv.mkDerivation rec {
     # see https://github.com/NixOS/nixpkgs/issues/54395
     "-Dnvdec=disabled"
     "-Dnvenc=disabled"
+  ]
+  ++ optionals stdenv.isDarwin [
+    "-Dbluez=disabled"
+    "-Dchromaprint=disabled"
+    "-Ddirectfb=disabled"
+    "-Dflite=disabled"
+    "-Dkms=disabled" # renders to libdrm output
+    "-Dofa=disabled"
+    "-Dlv2=disabled"
+    "-Dsbc=disabled"
+    "-Dspandsp=disabled"
+    "-Ddvb=disabled"
+    "-Dfbdev=disabled"
+    "-Duvch264=disabled" # requires gudev
+    "-Dladspa=disabled" # requires lrdf
+    "-Dwebrtc=disabled" # requires libnice, which as of writing doesn't work on Darwin in nixpkgs
+    "-Dwildmidi=disabled" # see dependencies above
+  ] ++ optionals (!gst-plugins-base.glEnabled) [
+    "-Dgl=disabled"]
+  ++ optionals (!gst-plugins-base.waylandEnabled) [
+    "-Dwayland=disabled"
+  ] ++ optionals (!gst-plugins-base.glEnabled) [
+    # `applemedia/videotexturecache.h` requires `gst/gl/gl.h`,
+    # but its meson build system does not declare the dependency.
+    "-Dapplemedia=disabled"
   ];
 
-  enableParallelBuilding = true;
+  # This package has some `_("string literal")` string formats
+  # that trip up clang with format security enabled.
+  hardeningDisable = [ "format" ];
 
   doCheck = false; # fails 20 out of 58 tests, expensive
 
+  meta = with stdenv.lib; {
+    description = "GStreamer Bad Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that aren't up to par compared to the
+      rest.  They might be close to being good quality, but they're missing
+      something - be it a good code review, some documentation, a set of tests,
+      a real live maintainer, or some actual wide use.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 81d91458132..d38199cf787 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -1,100 +1,153 @@
-{ stdenv, fetchurl, fetchpatch, lib
-, pkgconfig, meson, ninja, gettext, gobject-introspection
-, python3, gstreamer, orc, pango, libtheora
-, libintl, libopus
+{ stdenv
+, fetchurl
+, lib
+, pkgconfig
+, meson
+, ninja
+, gettext
+, gobject-introspection
+, python3
+, gstreamer
+, orc
+, pango
+, libtheora
+, libintl
+, libopus
 , isocodes
 , libjpeg
+, libpng
 , libvisual
 , tremor # provides 'virbisidec'
 , libGL
-, gtk-doc, docbook_xsl, docbook_xml_dtd_412
-, enableX11 ? stdenv.isLinux, libXv
-, enableWayland ? stdenv.isLinux, wayland
-, enableAlsa ? stdenv.isLinux, alsaLib
-, enableCocoa ? false, darwin
-, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, enableX11 ? stdenv.isLinux
+, libXv
+, enableWayland ? stdenv.isLinux
+, wayland
+, enableAlsa ? stdenv.isLinux
+, alsaLib
+# Enabling Cocoa seems to currently not work, giving compile
+# errors. Suspected is that a newer version than clang
+# is needed than 5.0 but it is not clear.
+, enableCocoa ? false
+, darwin
+, enableGl ? (enableX11 || enableWayland || enableCocoa)
+, enableCdparanoia ? (!stdenv.isDarwin)
+, cdparanoia
+}:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-base";
-  version = "1.16.0";
+  version = "1.16.1";
 
-  meta = with lib; {
-    description = "Base plugins and helper libraries";
-    homepage = https://gstreamer.freedesktop.org;
-    license = licenses.lgpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-base/${pname}-${version}.tar.xz";
-    sha256 = "1bmmdwbyy89ayb85xc48y217f6wdmpz96f30zm6v53z2a5xsm4s0";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0aybbwnzm15074smdk2bamj3ssck3hjvmilvgh49f19xjf4w8g2w";
   };
 
-  outputs = [ "out" "dev" ];
+  patches = [
+    ./fix_pkgconfig_includedir.patch
+  ];
 
   nativeBuildInputs = [
-    pkgconfig python3 gettext gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    gettext
+    gobject-introspection
+
+    # docs
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
-  ]
-  # Broken meson with Darwin. Should hopefully be fixed soon. Tracking
-  # in https://bugzilla.gnome.org/show_bug.cgi?id=781148.
-  ++ lib.optionals (!stdenv.isDarwin) [ meson ninja ];
+    docbook_xsl
+    docbook_xml_dtd_43
+  ];
 
-  # On Darwin, we currently use autoconf, on all other systems Meson
-  # TODO Switch to Meson on Darwin as well
+  buildInputs = [
+    orc
+    libtheora
+    libintl
+    libopus
+    isocodes
+    libpng
+    libjpeg
+    tremor
+    libGL
+  ] ++ lib.optional (!stdenv.isDarwin) [
+    libvisual
+  ] ++ lib.optionals stdenv.isDarwin [
+    pango
+    darwin.apple_sdk.frameworks.OpenGL
+  ] ++ lib.optional enableAlsa alsaLib
+    ++ lib.optionals enableX11 [ libXv pango ]
+    ++ lib.optional enableWayland wayland
+    ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
+    ++ lib.optional enableCdparanoia cdparanoia;
 
-  # TODO How to pass these to Meson?
-  configureFlags = lib.optionals stdenv.isDarwin [
-    "--enable-x11=${if enableX11 then "yes" else "no"}"
-    "--enable-wayland=${if enableWayland then "yes" else "no"}"
-    "--enable-cocoa=${if enableCocoa then "yes" else "no"}"
-  ]
-  # Introspection fails on my MacBook currently
-  ++ lib.optional stdenv.isDarwin "--disable-introspection";
+  propagatedBuildInputs = [
+    gstreamer
+  ];
 
-  mesonFlags = lib.optionals (!stdenv.isDarwin) [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing
+    "-Dgl_platform=[${lib.optionalString (enableX11 || enableWayland || enableCocoa) "auto"}]"
     # See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices
     "-Dgl_winsys=[${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}]"
     # We must currently disable gtk_doc API docs generation,
     # because it is not compatible with some features being disabled.
     # See for example
-    #     https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/38
+    #     https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/564
     # for it failing because some Wayland symbols are missing.
     # This problem appeared between 1.15.1 and 1.16.0.
+    # In 1.18 they should switch to hotdoc, which should make this issue irrelevant.
     "-Dgtk_doc=disabled"
   ]
   ++ lib.optional (!enableX11) "-Dx11=disabled"
   # TODO How to disable Wayland?
+  ++ lib.optional (!enableGl) "-Dgl=disabled"
   ++ lib.optional (!enableAlsa) "-Dalsa=disabled"
   ++ lib.optional (!enableCdparanoia) "-Dcdparanoia=disabled"
-  ;
-
-  buildInputs = [ orc libtheora libintl libopus isocodes libjpeg tremor libGL ]
-    ++ lib.optional (!stdenv.isDarwin) libvisual
-    ++ lib.optional enableAlsa alsaLib
-    ++ lib.optionals enableX11 [ libXv pango ]
-    ++ lib.optional enableWayland wayland
-    ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
-    ++ lib.optional enableCdparanoia cdparanoia;
-
-  propagatedBuildInputs = [ gstreamer ];
+  ++ lib.optionals stdenv.isDarwin [
+    "-Dlibvisual=disabled"
+  ];
 
   postPatch = ''
-    patchShebangs .
+    patchShebangs common/scangobj-merge.py
   '';
 
-  enableParallelBuilding = true;
+  # This package has some `_("string literal")` string formats
+  # that trip up clang with format security enabled.
+  hardeningDisable = [ "format" ];
 
   doCheck = false; # fails, wants DRI access for OpenGL
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
+  passthru = {
+    # Downstream `gst-*` packages depending on `gst-plugins-base`
+    # have meson build options like 'gl' etc. that depend
+    # on these features being built in `-base`.
+    # If they are not built here, then the downstream builds
+    # will fail, as they, too, use `-Dauto_features=enabled`
+    # which would enable these options unconditionally.
+    # That means we must communicate to these downstream packages
+    # if the `-base` enabled these options or not, so that
+    # the can enable/disable those features accordingly.
+    # The naming `*Enabled` vs `enable*` is intentional to
+    # distinguish inputs from outputs (what is to be built
+    # vs what was built) and to make them easier to search for.
+    glEnabled = enableGl;
+    waylandEnabled = enableWayland;
+  };
+
+  meta = with lib; {
+    description = "Base GStreamer plug-ins and helper libraries";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index f0f01a977fd..bbef0178312 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,10 +1,23 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja
-, pkgconfig, gettext, gobject-introspection
-, bison, flex, python3, glib, makeWrapper
-, libcap,libunwind, darwin
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
+, bison
+, flex
+, python3
+, glib
+, makeWrapper
+, libcap
+, libunwind
+, darwin
 , elfutils # for libdw
 , bash-completion
-, docbook_xsl, docbook_xml_dtd_412
+, docbook_xsl
+, docbook_xml_dtd_43
 , gtk-doc
 , lib
 , CoreServices
@@ -12,50 +25,66 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer";
-  version = "1.16.0";
+  version = "1.16.1";
 
-  meta = with lib ;{
-    description = "Open source multimedia framework";
-    homepage = https://gstreamer.freedesktop.org;
-    license = licenses.lgpl2Plus;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ttuegel matthewbauer ];
-  };
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer/${pname}-${version}.tar.xz";
-    sha256 = "003wy1p1in85p9sr5jsyhbnwqaiwz069flwkhyx7qhxy31qjz3hf";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0z9pyhf6zm1r0spw6zym80bvbyx6h8xg9h6535csbnn48ws1q882";
   };
 
   patches = [
     ./fix_pkgconfig_includedir.patch
   ];
 
-  outputs = [ "out" "dev" ];
-  outputBin = "dev";
-
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext bison flex python3 makeWrapper gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    gettext
+    bison
+    flex
+    python3
+    makeWrapper
+    gobject-introspection
     bash-completion
+
+    # documentation
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
+    docbook_xsl
+    docbook_xml_dtd_43
   ];
 
-  buildInputs =
-       lib.optionals stdenv.isLinux [ libcap libunwind elfutils ]
-    ++ lib.optional stdenv.isDarwin CoreServices;
+  buildInputs = lib.optionals stdenv.isLinux [
+    libcap
+    libunwind
+    elfutils
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreServices
+  ];
 
-  propagatedBuildInputs = [ glib ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
-  ]
+  ] ++ lib.optionals stdenv.isDarwin [
     # darwin.libunwind doesn't have pkgconfig definitions so meson doesn't detect it.
-    ++ stdenv.lib.optionals stdenv.isDarwin [ "-Dlibunwind=disabled" "-Dlibdw=disabled" ];
+    "-Dlibunwind=disabled"
+    "-Dlibdw=disabled"
+  ];
+
+  postPatch = ''
+    patchShebangs \
+      gst/parse/get_flex_version.py \
+      gst/parse/gen_grammar.py.in \
+      gst/parse/gen_lex.py.in \
+      libs/gst/helpers/ptp_helper_post_install.sh
+  '';
 
   postInstall = ''
     for prog in "$dev/bin/"*; do
@@ -64,21 +93,17 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preConfigure=
-    # These files are not executable upstream, so we need to
-    # make them executable for `patchShebangs` to pick them up.
-    # Can be removed when this is merged and available:
-    #     https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/141
-    ''
-      chmod +x gst/parse/get_flex_version.py
-    '' +
-    ''
-      patchShebangs .
-    '';
-
   preFixup = ''
     moveToOutput "share/bash-completion" "$dev"
   '';
 
   setupHook = ./setup-hook.sh;
+
+  meta = with lib ;{
+    description = "Open source multimedia framework";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ ttuegel matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 810cee650ca..d62af71d3ae 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -1,39 +1,66 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja
-, pkgconfig, python, gst-plugins-base, libxml2
-, flex, perl, gettext, gobject-introspection
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, python
+, gst-plugins-base
+, libxml2
+, flex
+, perl
+, gettext
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
   pname = "gstreamer-editing-services";
-  version = "1.16.0";
+  version = "1.16.1";
 
-  meta = with stdenv.lib; {
-    description = "Library for creation of audio/video non-linear editors";
-    homepage    = "https://gstreamer.freedesktop.org";
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer-editing-services/${pname}-${version}.tar.xz";
-    sha256 = "1las94jkx83sxmzi5w6b0xm89dqqwzpdsb6h9w9ixndhnbpzm8w2";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "10375z5mc3bwfs07mhmfx943sbp55z8m8ihp9xpcknkdks7qg168";
   };
 
-  outputs = [ "out" "dev" ];
+  patches = [
+    ./fix_pkgconfig_includedir.patch
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gettext
+    gobject-introspection
+    python
+    flex
+    perl
+  ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig gettext gobject-introspection python flex perl ];
+  buildInputs = [
+    libxml2
+  ];
 
-  propagatedBuildInputs = [ gst-plugins-base libxml2 ];
+  propagatedBuildInputs = [
+    gst-plugins-base
+  ];
 
   mesonFlags = [
     "-Dgtk_doc=disabled"
   ];
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   postPatch = ''
+    # for some reason, gst-plugins-bad cannot be found
+    # fortunately, they are only used by tests, which we do not run
     sed -i -r -e 's/p(bad|good) = .*/p\1 = pbase/' tests/check/meson.build
   '';
+
+  meta = with stdenv.lib; {
+    description = "Library for creation of audio/video non-linear editors";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index c801684b065..9fa94a02f88 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -1,14 +1,37 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, python
-, gst-plugins-base, orc, bzip2, gettext
-, libv4l, libdv, libavc1394, libiec61883
-, libvpx, speex, flac, taglib, libshout
-, cairo, gdk-pixbuf, aalib, libcaca
-, libsoup, libpulseaudio, libintl
-, darwin, lame, mpg123, twolame
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python
+, gst-plugins-base
+, orc
+, bzip2
+, gettext
+, libv4l
+, libdv
+, libavc1394
+, libiec61883
+, libvpx
+, speex
+, flac
+, taglib
+, libshout
+, cairo
+, gdk-pixbuf
+, aalib
+, libcaca
+, libsoup
+, libpulseaudio
+, libintl
+, darwin
+, lame
+, mpg123
+, twolame
 , gtkSupport ? false, gtk3 ? null
-# As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
-# In the fuure we should probably split `ffado`.
-, enableJack ? false
+  # As of writing, jack2 incurs a Qt dependency (big!) via `ffado`.
+  # In the future we should probably split `ffado`.
+, enableJack ? false, jack2
 , libXdamage
 , libXext
 , libXfixes
@@ -16,49 +39,53 @@
 , xorg
 , libgudev
 , wavpack
-, jack2
 }:
 
 assert gtkSupport -> gtk3 != null;
 
 let
-  inherit (stdenv.lib) optional optionals;
+  inherit (stdenv.lib) optionals;
 in
 stdenv.mkDerivation rec {
   pname = "gst-plugins-good";
-  version = "1.16.0";
+  version = "1.16.1";
 
-  meta = with stdenv.lib; {
-    description = "Gstreamer Good Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that we consider to have good quality code,
-      correct functionality, our preferred license (LGPL for the plug-in
-      code, LGPL or LGPL-compatible for the supporting library).
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-good/${pname}-${version}.tar.xz";
-    sha256 = "1zdhif1mhf0ihkjpjyrh65g2iz2cawkjjb3h5w8h9ml06grxwjk5";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "07wgz9anf4ram2snp8n1wv6l0q3pd00iaw8bvw3wgklg05lvxflz";
   };
 
-  outputs = [ "out" "dev" ];
-
   patches = [ ./fix_pkgconfig_includedir.patch ];
 
-  nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
-
-  NIX_LDFLAGS = "-lncurses";
+  nativeBuildInputs = [
+    pkgconfig
+    python
+    meson
+    ninja
+    gettext
+  ];
 
   buildInputs = [
-    gst-plugins-base orc bzip2
-    libdv libvpx speex flac taglib
-    cairo gdk-pixbuf aalib libcaca
-    libsoup libshout lame mpg123 twolame libintl
+    gst-plugins-base
+    orc
+    bzip2
+    libdv
+    libvpx
+    speex
+    flac
+    taglib
+    cairo
+    gdk-pixbuf
+    aalib
+    libcaca
+    libsoup
+    libshout
+    lame
+    mpg123
+    twolame
+    libintl
     libXdamage
     libXext
     libXfixes
@@ -66,29 +93,59 @@ stdenv.mkDerivation rec {
     xorg.libXfixes
     xorg.libXdamage
     wavpack
-  ]
-  ++ optional gtkSupport gtk3 # for gtksink
-  ++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
-  ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 libgudev ]
-  ++ optionals (stdenv.isLinux && enableJack) [
+  ] ++ optionals gtkSupport [
+    # for gtksink
+    gtk3
+  ] ++ optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Cocoa
+  ] ++ optionals stdenv.isLinux [
+    libv4l
+    libpulseaudio
+    libavc1394
+    libiec61883
+    libgudev
+  ] ++ optionals (stdenv.isLinux && enableJack) [
     jack2
   ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dqt5=disabled" # not clear as of writing how to correctly pass in the required qt5 deps
-  ]
-  ++ optional (!gtkSupport) "-Dgtk3=disabled"
-  ++ optionals (!stdenv.isLinux || !enableJack) [
+  ] ++ optionals (!gtkSupport) [
+    "-Dgtk3=disabled"
+  ] ++ optionals (!stdenv.isLinux || !enableJack) [
     "-Djack=disabled" # unclear whether Jack works on Darwin
-  ]
-  ++ optionals (!stdenv.isLinux) [
-    "-Dv4l2-gudev=disabled"
+  ] ++ optionals (!stdenv.isLinux) [
+    "-Ddv1394=disabled" # Linux only
+    "-Doss4=disabled" # Linux only
+    "-Doss=disabled" # Linux only
+    "-Dpulse=disabled" # TODO check if we can keep this enabled
+    "-Dv4l2-gudev=disabled" # Linux-only
+    "-Dv4l2=disabled" # Linux-only
+    "-Dximagesrc=disabled" # Linux-only
+    "-Dpulse=disabled" # TODO check if we can keep this enabled
+  ];
+
+
+  NIX_LDFLAGS = [
+    # linking error on Darwin
+    # https://github.com/NixOS/nixpkgs/pull/70690#issuecomment-553694896
+    "-lncurses"
   ];
 
   # fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
   doCheck = false;
 
+  meta = with stdenv.lib; {
+    description = "GStreamer Good Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that we consider to have good quality code,
+      correct functionality, our preferred license (LGPL for the plug-in
+      code, LGPL or LGPL-compatible for the supporting library).
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 1847b8d0c12..5319de255e7 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -1,43 +1,46 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig
-, python, yasm, gst-plugins-base, orc, bzip2
-, gettext, withSystemLibav ? true, libav ? null
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python3
+, gst-plugins-base
+, gettext
+, libav
 }:
 
 # Note that since gst-libav-1.6, libav is actually ffmpeg. See
 # https://gstreamer.freedesktop.org/releases/1.6/ for more info.
 
-assert withSystemLibav -> libav != null;
-
 stdenv.mkDerivation rec {
   pname = "gst-libav";
-  version = "1.16.0";
-
-  meta = {
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
+  version = "1.16.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-libav/${pname}-${version}.tar.xz";
-    sha256 = "16ixqpfrr7plaaz14n3vagr2q5xbfkv7gpmcsyndrkx98f813b6z";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1i31ra0l77cfahb6k5xpx45zwvpskzm848aijsbbx9x4x65799g8";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = with stdenv.lib;
-    [ meson ninja gettext pkgconfig python ]
-    ++ optional (!withSystemLibav) yasm
-    ;
-
-  buildInputs = with stdenv.lib;
-    [ gst-plugins-base orc bzip2 ]
-    ++ optional withSystemLibav libav
-    ;
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    pkgconfig
+    python3
+  ];
 
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  buildInputs = [
+    gst-plugins-base
+    libav
   ];
 
+  meta = with lib; {
+    description = "FFmpeg/libav plugin for GStreamer";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index 5c571fa4a1e..e602a96291e 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -1,38 +1,50 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig
-, gettext, gobject-introspection
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gettext
+, gobject-introspection
 , gst-plugins-base
 , gst-plugins-bad
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-rtsp-server";
-  version = "1.16.0";
-
-  meta = with stdenv.lib; {
-    description = "Gstreamer RTSP server";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a library on top of GStreamer for building an RTSP server.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ bkchr ];
-  };
+  version = "1.16.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-rtsp-server/${pname}-${version}.tar.xz";
-    sha256 = "069zy159izy50blci9fli1i2r8jh91qkmgrz1n0xqciy3bn9x3hr";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0i01f1nr0921z6z4nrh8icz76s2n7i228aqxg1ihvxl65ynsraxh";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja gettext gobject-introspection pkgconfig ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    gobject-introspection
+    pkgconfig
+  ];
 
-  buildInputs = [ gst-plugins-base gst-plugins-bad ];
+  buildInputs = [
+    gst-plugins-base
+    gst-plugins-bad
+  ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
+
+  meta = with stdenv.lib; {
+    description = "GStreamer RTSP server";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      A library on top of GStreamer for building an RTSP server.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bkchr ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 552ab1ec292..a117190a9e1 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -1,53 +1,76 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, python
-, gst-plugins-base, orc, gettext
-, a52dec, libcdio, libdvdread
-, libmad, libmpeg2, x264, libintl, lib
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, python
+, gst-plugins-base
+, orc
+, gettext
+, a52dec
+, libcdio
+, libdvdread
+, libmad
+, libmpeg2
+, x264
+, libintl
+, lib
 , opencore-amr
 , darwin
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-ugly";
-  version = "1.16.0";
+  version = "1.16.1";
 
-  meta = with lib; {
-    description = "Gstreamer Ugly Plugins";
-    homepage    = "https://gstreamer.freedesktop.org";
-    longDescription = ''
-      a set of plug-ins that have good quality and correct functionality,
-      but distributing them might pose problems.  The license on either
-      the plug-ins or the supporting libraries might not be how we'd
-      like. The code might be widely known to present patent problems.
-    '';
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ matthewbauer ];
-  };
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-plugins-ugly/${pname}-${version}.tar.xz";
-    sha256 = "1hm46c1fy9vl1wfwipsj41zp79cm7in1fpmjw24j5hriy32n82g3";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "07cajqjs8pqchpf2sm87hljx4ibwvkiavqxmacxsr5airar17yab";
   };
 
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ meson ninja gettext pkgconfig python ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    pkgconfig
+    python
+  ];
 
   buildInputs = [
-    gst-plugins-base orc
-    a52dec libcdio libdvdread
-    libmad libmpeg2 x264
+    gst-plugins-base
+    orc
+    a52dec
+    libcdio
+    libdvdread
+    libmad
+    libmpeg2
+    x264
     libintl
     opencore-amr
-  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks;
-    [ IOKit CoreFoundation DiskArbitration ]);
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    IOKit
+    CoreFoundation
+    DiskArbitration
+  ]);
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing
   ];
 
-  NIX_LDFLAGS = [ "-lm" ];
+  meta = with lib; {
+    description = "Gstreamer Ugly Plugins";
+    homepage = "https://gstreamer.freedesktop.org";
+    longDescription = ''
+      a set of plug-ins that have good quality and correct functionality,
+      but distributing them might pose problems.  The license on either
+      the plug-ins or the supporting libraries might not be how we'd
+      like. The code might be widely known to present patent problems.
+    '';
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+  };
 }
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index adb495689e3..0b47ef2244c 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -1,49 +1,72 @@
-{ stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
-, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
-, libvpx, python, fetchpatch
+{ stdenv
+, fetchurl
+, meson
+, ninja
+, pkgconfig
+, gst-plugins-base
+, bzip2
+, libva
+, wayland
+, libdrm
+, udev
+, xorg
+, libGLU
+, libGL
+, gstreamer
+, gst-plugins-bad
+, nasm
+, libvpx
+, python
 }:
 
 stdenv.mkDerivation rec {
-  pname = "gst-vaapi";
-  version = "1.16.0";
+  pname = "gstreamer-vaapi";
+  version = "1.16.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
-    sha256 = "07qpynamiz0lniqajcaijh3n7ixs4lfk9a5mfk50sng0dricwzsf";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0fk0nymvbfc04fv63fj2r6q9vvi431svhkrwpr7kdjvq3rphymyb";
   };
 
-  patches = [
-    # See: https://mail.gnome.org/archives/distributor-list/2019-September/msg00000.html
-    # Note that the patch has now been actually accepted upstream.
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/commit/a90daabb84f983d2fa05ff3159f7ad59aa648b55.patch";
-      sha256 = "0p2qygq6b5h6nxjdfnlzbsyih43hjq5c94ag8sbyyb8pmnids9rb";
-    })
-  ];
-
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ meson ninja pkgconfig bzip2 ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    bzip2
+  ];
 
   buildInputs = [
-    gstreamer gst-plugins-base gst-plugins-bad libva wayland libdrm udev
-    xorg.libX11 xorg.libXext xorg.libXv xorg.libXrandr xorg.libSM
-    xorg.libICE libGLU_combined nasm libvpx python
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+    libva
+    wayland
+    libdrm
+    udev
+    xorg.libX11
+    xorg.libXext
+    xorg.libXv
+    xorg.libXrandr
+    xorg.libSM
+    xorg.libICE
+    libGL
+    libGLU
+    nasm
+    libvpx
+    python
   ];
 
-  preConfigure = ''
-    export GST_PLUGIN_PATH_1_0=$out/lib/gstreamer-1.0
-    mkdir -p $GST_PLUGIN_PATH_1_0
-  '';
-
   mesonFlags = [
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
 
-  meta = {
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl21Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ tstrobel ];
+  meta = with stdenv.lib; {
+    description = "Set of VAAPI GStreamer Plug-ins";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ tstrobel ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index ad013d1570e..ad424641b81 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -1,39 +1,43 @@
-{ stdenv, fetchurl, pkgconfig, gstreamer, gst-plugins-base
-, python, gobject-introspection, json-glib
+{ stdenv
+, fetchurl
+, pkgconfig
+, gstreamer
+, gst-plugins-base
+, python
+, gobject-introspection
+, json-glib
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-validate";
-  version = "1.16.0";
-
-  meta = {
-    description = "Integration testing infrastructure for the GStreamer framework";
-    homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-  };
+  version = "1.16.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/src/gst-validate/${pname}-${version}.tar.xz";
-    sha256 = "1jfnd0g9hmdbqfxsx96yc9vpf1w6m33hqwrr6lj4i83kl54awcck";
+    url = "${meta.homepage}/src/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1698arvmpb0cvyi8ll1brvs51vs7i3f3fw19iswh8xhj5adrn1vz";
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
-    pkgconfig gobject-introspection
+    pkgconfig
+    gobject-introspection
   ];
 
   buildInputs = [
-    python json-glib
+    python
+    json-glib
   ];
 
-  propagatedBuildInputs = [ gstreamer gst-plugins-base ];
-
-  enableParallelBuilding = true;
-
-  mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
+  propagatedBuildInputs = [
+    gstreamer
+    gst-plugins-base
   ];
+
+  meta = with stdenv.lib; {
+    description = "Integration testing infrastructure for the GStreamer framework";
+    homepage = "https://gstreamer.freedesktop.org";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+  };
 }
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
index 54b4b001d81..b68c814ad54 100644
--- a/pkgs/development/libraries/gtkspell/3.nix
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
     description = "Word-processor-style highlighting GtkTextView widget";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 181d5e4c196..f8db6f573d9 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -41,11 +41,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gvfs";
-  version = "1.42.1";
+  version = "1.42.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0c3pqc8qc2pn08by43rkkmk725k3cqmw7qyhfqgng0qx98dhf1lx";
+    sha256 = "0jgrbid8a61hgh05wl8c4f4638x7dffd5vip02jmladxfdszjymm";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index a8dcea0059a..f2f8cdcab20 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -51,6 +51,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.all;
     license = with licenses; [ gpl2 lgpl21 mpl11 ];
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index 6657409a708..6c872272e37 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "19.3.2";
+  version = "19.3.4";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "04jmzyciswvfb31h9shkja9183bmm1clw0l0sn1flq76888nngma";
+    sha256 = "1vgh14vdmwr34l6rfzmbpsdwp4xi7qp8lg527p16pm7nv0bwx2zk";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix
index 731289d6f9c..49375830ccb 100644
--- a/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "19.3.0";
+  version = "19.3.1";
 
   src = fetchurl {
     url = "https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-${version}.tar.gz";
-    sha256 = "0pgg16a4gsh8yjyz64r28bmkg9xxcy8m0dkvrdz03svkll9v7v3n";
+    sha256 = "12w1f3krcrjyhax4y3hbs7galhf4rabxym2fxjyil8cszx5fh433";
   };
 
   # patchelf is needed for binaries in $out/share/samples
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     description = "Intel Media SDK.";
     license = licenses.mit;
     maintainers = with maintainers; [ midchildan ];
-    platforms = with platforms; linux;
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix
index 35ef14cbc13..788772888c6 100644
--- a/pkgs/development/libraries/irrlicht/default.nix
+++ b/pkgs/development/libraries/irrlicht/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, libGLU_combined, unzip, libXrandr, libX11, libXxf86vm }:
+{ stdenv, fetchzip, libGLU, libGL, unzip, libXrandr, libX11, libXxf86vm }:
 
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/lib
   '';
 
-  buildInputs = [ unzip libGLU_combined libXrandr libX11 libXxf86vm ];
+  buildInputs = [ unzip libGLU libGL libXrandr libX11 libXxf86vm ];
 
   meta = {
     homepage = http://irrlicht.sourceforge.net/;
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 1bad3394b6a..093fd0c5f28 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -42,5 +42,10 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.jasper;
     maintainers = with maintainers; [ pSub ];
+    knownVulnerabilities = [
+      "Numerous CVE unsolved upstream"
+      "See: https://github.com/NixOS/nixpkgs/pull/57681#issuecomment-475857499"
+      "See: https://github.com/mdadams/jasper/issues/208"
+    ];
   };
 }
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index a93d7774291..6eb5a1f5355 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, unzip, jdk, pkgconfig, gtk2
-, libXt, libXtst, libXi, libGLU_combined, webkitgtk, libsoup, xorg
+, libXt, libXtst, libXi, libGLU, libGL, webkitgtk, libsoup, xorg
 , pango, gdk-pixbuf, glib
 }:
 
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
   sourceRoot = ".";
 
   nativeBuildInputs = [ unzip pkgconfig ];
-  buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU_combined webkitgtk libsoup ];
+  buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU libGL webkitgtk libsoup ];
 
   NIX_LFLAGS = (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk-pixbuf glib ]) ++
     [ "-lX11" "-lpango-1.0" "-lgdk_pixbuf-2.0" "-lglib-2.0" ];
diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix
index c62f1e2de3f..a6eae7a79fa 100644
--- a/pkgs/development/libraries/jsoncpp/default.nix
+++ b/pkgs/development/libraries/jsoncpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jsoncpp";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "open-source-parsers";
     repo = "jsoncpp";
     rev = version;
-    sha256 = "00g356iv3kcp0gadj7gbyzf9jn9avvx9vxbxc7c2i5nnry8z72wj";
+    sha256 = "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg";
   };
 
   /* During darwin bootstrap, we have a cp that doesn't understand the
diff --git a/pkgs/development/libraries/libaal/default.nix b/pkgs/development/libraries/libaal/default.nix
index 11b31d62b5d..87eeac4b4f5 100644
--- a/pkgs/development/libraries/libaal/default.nix
+++ b/pkgs/development/libraries/libaal/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.namesys.com/;
     description = "Support library for Reiser4";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/libagar/default.nix b/pkgs/development/libraries/libagar/default.nix
index 630b1712158..c0a43efc27e 100644
--- a/pkgs/development/libraries/libagar/default.nix
+++ b/pkgs/development/libraries/libagar/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libtool, perl, bsdbuild, gettext, mandoc
-, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU_combined
+, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU, libGL
 , libsndfile, portaudio, libmysqlclient, fontconfig
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     "--enable-nls=yes"
     "--with-gettext=${gettext}"
     "--with-jpeg=${libjpeg.dev}"
-    "--with-gl=${libGLU_combined}"
+    "--with-gl=${libGL}"
     "--with-mysql=${libmysqlclient}"
     "--with-manpages=yes"
   ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig libtool gettext ];
 
   buildInputs = [
-    bsdbuild perl xlibsWrapper libXinerama SDL libGLU_combined libmysqlclient mandoc
+    bsdbuild perl xlibsWrapper libXinerama SDL libGL libmysqlclient mandoc
     freetype.dev libpng libjpeg.dev fontconfig portaudio libsndfile
   ];
 
diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix
index f67b3cee607..2d7edee4041 100644
--- a/pkgs/development/libraries/libao/default.nix
+++ b/pkgs/development/libraries/libao/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://xiph.org/ao/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 46cc30a8944..e9fccaf28ab 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -1,19 +1,18 @@
 # TODO: Resolve the issues with the Mono bindings.
 
-{ stdenv, fetchurl, lib, file
-, pkgconfig, autoconf
+{ stdenv, fetchurl, fetchpatch, lib
+, pkgconfig, autoreconfHook
 , glib, dbus-glib, gtkVersion ? "3"
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, python2Packages, gobject-introspection, vala
+, vala, gobject-introspection
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
 with lib;
 
-let
-  inherit (python2Packages) python pygobject2 pygtk;
-in stdenv.mkDerivation rec {
+
+stdenv.mkDerivation rec {
   name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
           in "libappindicator-${postfix}-${version}";
   version = "${versionMajor}.${versionMinor}";
@@ -25,7 +24,7 @@ in stdenv.mkDerivation rec {
     sha256 = "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook vala gobject-introspection ];
 
   propagatedBuildInputs =
     if gtkVersion == "2"
@@ -34,20 +33,18 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus-glib
-    python pygobject2 pygtk gobject-introspection vala
   ] ++ (if gtkVersion == "2"
     then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
     else [ libindicator-gtk3 ]);
 
-  postPatch = ''
-    substituteInPlace configure.ac \
-      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
-    autoconf
-    for f in {configure,ltmain.sh,m4/libtool.m4}; do
-      substituteInPlace $f \
-        --replace /usr/bin/file ${file}/bin/file
-    done
-  '';
+  patches = [
+    # Remove python2 from libappindicator.
+    (fetchpatch {
+      name = "no-python.patch";
+      url = "https://src.fedoraproject.org/rpms/libappindicator/raw/8508f7a52437679fd95a79b4630373f08315f189/f/nopython.patch";
+      sha256 = "18b1xzvwsbhhfpbzf5zragij4g79pa04y1dk6v5ci1wsjvii725s";
+    })
+  ];
 
   configureFlags = [
     "CFLAGS=-Wno-error"
@@ -56,15 +53,10 @@ in stdenv.mkDerivation rec {
     "--with-gtk=${gtkVersion}"
   ];
 
-  postConfigure = ''
-    substituteInPlace configure \
-      --replace /usr/bin/file ${file}/bin/file
-  '';
-
   doCheck = false; # generates shebangs in check phase, too lazy to fix
 
   installFlags = [
-    "sysconfdir=\${out}/etc"
+    "sysconfdir=${placeholder "out"}/etc"
     "localstatedir=\${TMPDIR}"
   ];
 
diff --git a/pkgs/development/libraries/libcerf/default.nix b/pkgs/development/libraries/libcerf/default.nix
index fd5ee8dcaaf..0ffb2085967 100644
--- a/pkgs/development/libraries/libcerf/default.nix
+++ b/pkgs/development/libraries/libcerf/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchurl, cmake, perl }:
 
-stdenv.mkDerivation {
-  name = "libcerf-1.5";
+stdenv.mkDerivation rec {
+  pname = "libcerf";
+  version = "1.13";
 
   src = fetchurl {
-    url = "http://apps.jcns.fz-juelich.de/src/libcerf/libcerf-1.5.tgz";
-    sha256 = "11jwr8ql4a9kmv04ycgwk4dsqnlv4l65a8aa0x1i3y7zwx3w2vg3";
+    url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${version}/libcerf-v${version}.tar.gz";
+    sha256 = "01d3fr4qa0080xdgp66mjbsa884qivn9y83p7rdyz2l3my0rysg4";
   };
 
+  nativeBuildInputs = [ cmake perl ];
+
   meta = with lib; {
     description = "Complex error (erf), Dawson, Faddeeva, and Voigt function library";
-    homepage = http://apps.jcns.fz-juelich.de/doku/sc/libcerf;
+    homepage = https://jugit.fz-juelich.de/mlz/libcerf;
     license = licenses.mit;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/libdigidocpp/default.nix b/pkgs/development/libraries/libdigidocpp/default.nix
index fc12096ef5b..c4a351739b6 100644
--- a/pkgs/development/libraries/libdigidocpp/default.nix
+++ b/pkgs/development/libraries/libdigidocpp/default.nix
@@ -2,12 +2,12 @@
 , xercesc, xml-security-c, pkgconfig, xsd, zlib, xalanc, xxd }:
 
 stdenv.mkDerivation rec {
-  version = "3.14.0";
+  version = "3.14.1";
   pname = "libdigidocpp";
 
   src = fetchurl {
      url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
-     sha256 = "0klbr881d56661d1lqlv4ivxhxcv2q16ivlz7r0rb901wilq5jyl";
+     sha256 = "0yrcfw5i1jddz7x3j9zzlcwjlzdbi10wns7kbblbp03nx7vk2vqy";
   };
 
   nativeBuildInputs = [ cmake pkgconfig xxd ];
diff --git a/pkgs/development/libraries/libfido2/default.nix b/pkgs/development/libraries/libfido2/default.nix
index 5fefdad08e7..a0f44a33220 100644
--- a/pkgs/development/libraries/libfido2/default.nix
+++ b/pkgs/development/libraries/libfido2/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "libfido2";
-  version = "1.2.0";
+  version = "1.3.0";
   src = fetchurl {
-    url = "https://developers.yubico.com/libfido2/Releases/libfido2-${version}.tar.gz";
-    sha256 = "1pbllhzcrzkgxad00bai7lna8dpkwiv8khx8p20miy661abv956v";
+    url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
+    sha256 = "1izyl3as9rn7zcxpsvgngjwr55gli5gy822ac3ajzm65qiqkcbhb";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 95954a120c8..fd17267b615 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.18.2";
+  version = "0.19.1";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1j9da9xi2k4nw97m14mpp7h39rh03br0gmjj9ff819l6nhlnkn20";
+    sha256 = "0cjscv68nnqivzba94xapx1c970j1jbdbm0h3g2ym9i0hgnyyhha";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix
index 9a6db72ae05..6819ffba21c 100644
--- a/pkgs/development/libraries/libfprint/default.nix
+++ b/pkgs/development/libraries/libfprint/default.nix
@@ -1,41 +1,27 @@
-{ thinkpad ? false
-, stdenv
-, fetchFromGitHub
+{ stdenv
 , fetchurl
 , pkgconfig
 , meson
 , ninja
-, libusb
+, gusb
 , pixman
 , glib
 , nss
-, gtk3
+, gobject-introspection
 , coreutils
 , gtk-doc
 , docbook_xsl
 , docbook_xml_dtd_43
-, openssl ? null
 }:
 
-assert thinkpad -> openssl != null;
-
 stdenv.mkDerivation rec {
-  pname = "libfprint" + stdenv.lib.optionalString thinkpad "-thinkpad";
-  version = "1.0";
+  pname = "libfprint";
+  version = "1.90";
 
-  src = {
-    libfprint-thinkpad =
-      fetchFromGitHub {
-        owner = "3v1n0";
-        repo = "libfprint";
-        rev = "2e2e3821717e9042e93a995bdbd3d00f2df0be9c";
-        sha256 = "1vps1wrp7hskf13f7jrv0dwry2fcid76x2w463wplngp63cj7b3b";
-      };
-    libfprint = fetchurl {
-      url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/aff93e9921d1cff53d7c070944952ff9/libfprint-${version}.tar.xz";
-      sha256 = "0v84pd12v016m8iimhq39fgzamlarqccsr7d98cvrrwrzrgcixrd";
-    };
-  }.${pname};
+  src = fetchurl {
+    url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/1bba17b5daa130aa548bc7ea96dc58c4/libfprint-1.90.0.tar.xz";
+    sha256 = "930f530df369ff874d7971f0b7c7bdb7c81597e91af4668694b98fe30b4b3371";
+  };
 
   nativeBuildInputs = [
     pkgconfig
@@ -44,17 +30,15 @@ stdenv.mkDerivation rec {
     gtk-doc
     docbook_xsl
     docbook_xml_dtd_43
+    gobject-introspection
   ];
 
   buildInputs = [
-    libusb
+    gusb
     pixman
     glib
     nss
-    gtk3
-  ]
-  ++ stdenv.lib.optional thinkpad openssl
-  ;
+  ];
 
   mesonFlags = [
     "-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d"
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index 1b00ff4c0fb..26002725d91 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig, libusb1, libconfuse
 , cppSupport ? true, boost ? null
-, pythonSupport ? true, python ? null, swig ? null
+, pythonSupport ? true, python3 ? null, swig ? null
 , docSupport ? true, doxygen ? null
 }:
 
 assert cppSupport -> boost != null;
-assert pythonSupport -> python != null && swig != null;
+assert pythonSupport -> python3 != null && swig != null;
 assert docSupport -> doxygen != null;
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = with stdenv.lib; [ libconfuse ]
     ++ optionals cppSupport [ boost ]
-    ++ optionals pythonSupport [ python swig ]
+    ++ optionals pythonSupport [ python3 swig ]
     ++ optionals docSupport [ doxygen ];
 
   preBuild = stdenv.lib.optionalString docSupport ''
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 75d8e6710e0..e7a9ec60a6d 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isDarwin gettext
     ++ stdenv.lib.optional enableCapabilities libcap;
 
-  configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ];
+  configureFlags = [ "--with-libgpg-error-prefix=${libgpgerror.dev}" ]
+   ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-asm";
 
   # Make sure libraries are correct for .pc and .la files
   # Also make sure includes are fixed for callers who don't use libgpgcrypt-config
diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix
index 1736e97f466..dd7b91ffb9a 100644
--- a/pkgs/development/libraries/libgnurl/default.nix
+++ b/pkgs/development/libraries/libgnurl/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgnurl";
-  version = "7.66.0";
+  version = "7.67.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/gnurl-${version}.tar.gz";
-    sha256 = "03bkzcld384z7i3zh3k9k3pr0xpyqbcr8cxjqya1zqs5lk7i55x5";
+    sha256 = "0ima9hz5d54iyvvih51s8xn6dsfxd3qyzgnj9l7w9f1smia295rb";
   };
 
   nativeBuildInputs = [ libtool groff perl pkgconfig python2 ];
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index d7fb35897dc..69c236d7220 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -78,6 +78,6 @@ in stdenv.mkDerivation (rec {
 
     license = licenses.lgpl2Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.fuuzetsu maintainers.vrthra ];
+    maintainers = [ maintainers.vrthra ];
   };
 } // genPosixLockObjOnlyAttrs)
diff --git a/pkgs/development/libraries/libicns/default.nix b/pkgs/development/libraries/libicns/default.nix
index 298d6124505..27ec8b17c0d 100644
--- a/pkgs/development/libraries/libicns/default.nix
+++ b/pkgs/development/libraries/libicns/default.nix
@@ -1,14 +1,24 @@
-{ stdenv, fetchurl, libpng, jasper }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, libpng, openjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "libicns-0.8.1";
+  pname = "libicns";
+  version = "0.8.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/icns/${name}.tar.gz";
+    url = "mirror://sourceforge/icns/${pname}-${version}.tar.gz";
     sha256 = "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk";
   };
 
-  buildInputs = [ libpng jasper ];
+  patches = [
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/libi/libicns/0.8.1-3.1/debian/patches/support-libopenjp2.patch";
+      sha256 = "0ss298lyzvydxvaxsadi6kbbjpwykd86jw3za76brcsg2dpssgas";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ libpng openjpeg ];
+  NIX_CFLAGS_COMPILE = [ "-I${openjpeg.dev}/include/${openjpeg.incDir}" ];
 
   meta = with stdenv.lib; {
     description = "Library for manipulation of the Mac OS icns resource format";
diff --git a/pkgs/development/libraries/libid3tag/default.nix b/pkgs/development/libraries/libid3tag/default.nix
index 674862d694c..c6d430e10fc 100644
--- a/pkgs/development/libraries/libid3tag/default.nix
+++ b/pkgs/development/libraries/libid3tag/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "ID3 tag manipulation library";
     homepage = http://mad.sourceforge.net/;
     license = licenses.gpl2;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index 7e7b691e3c1..c1363d7a928 100644
--- a/pkgs/development/libraries/libidn2/default.nix
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "libidn2";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnu/libidn/${pname}-${version}.tar.gz";
-    sha256 = "1zl1cc2xgxw31pdhvhr5ij36x4vvpy16jq667rspin06nlr4fwzw";
+    sha256 = "1ddqr80kmz4l8g3r3gf7bmf2v29fgivlc2bgxfiscjg2sarivjz1";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 2085d27a1ee..8d48082e1d9 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
     (mkFlag documentationSupport "documentation")
     (mkFlag eventGUISupport "debug-gui")
     (mkFlag testsSupport "tests")
+    "--sysconfdir=/etc"
     "--libexecdir=${placeholder "bin"}/libexec"
   ];
 
diff --git a/pkgs/development/libraries/libisoburn/default.nix b/pkgs/development/libraries/libisoburn/default.nix
index cefce19d465..633f19cef79 100644
--- a/pkgs/development/libraries/libisoburn/default.nix
+++ b/pkgs/development/libraries/libisoburn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libisoburn";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1r8xbhw21bmcp3jhfmvadivh0fa7f4k6larv8lvg4ka0kiigbhfs";
+    sha256 = "1v4hanapr02wf2i6rncc62z8cyc18078nb2y6q4hp3hxa74hnwnc";
   };
 
   buildInputs = [ attr zlib libburn libisofs ];
diff --git a/pkgs/development/libraries/libmaxminddb/default.nix b/pkgs/development/libraries/libmaxminddb/default.nix
index 2fa162b7e8b..5cf12ea46ba 100644
--- a/pkgs/development/libraries/libmaxminddb/default.nix
+++ b/pkgs/development/libraries/libmaxminddb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmaxminddb";
-  version = "1.3.2";
+  version = "1.4.2";
 
   src = fetchurl {
     url = meta.homepage + "/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1w60yq26x3yr3abxk7fwqqaggw8dc98595jdliaa3kyqdfm83y76";
+    sha256 = "0mnimbaxnnarlw7g1rh8lpxsyf7xnmzwcczcc3lxw8xyf6ljln6x";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 2d026452e6f..46255e276f5 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.20.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "0rm8j4zh9gnb3yi324cnxy91gdimc1vg5gv1kxc2m5lymb3wdxrc";
+    sha256 = "16q550sy84izi5ic3sbbhjnnka2fwhj8vvdrirpn9xspbsgbc3sm";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libmpeg2/default.nix b/pkgs/development/libraries/libmpeg2/default.nix
index 4c886078aa8..321204a0c4f 100644
--- a/pkgs/development/libraries/libmpeg2/default.nix
+++ b/pkgs/development/libraries/libmpeg2/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     homepage = http://libmpeg2.sourceforge.net/;
     description = "A free library for decoding mpeg-2 and mpeg-1 video streams";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libmypaint/default.nix b/pkgs/development/libraries/libmypaint/default.nix
index 91e0b5ef072..c36633edfff 100644
--- a/pkgs/development/libraries/libmypaint/default.nix
+++ b/pkgs/development/libraries/libmypaint/default.nix
@@ -7,7 +7,7 @@
 , json_c
 , libtool
 , pkgconfig
-, python2
+, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     intltool
     libtool
     pkgconfig
-    python2
+    python3
   ];
 
   buildInputs = [
@@ -43,6 +43,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  postPatch = ''
+    sed 's|python2|python|' -i autogen.sh
+  '';
+
   preConfigure = "./autogen.sh";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index f4ce1f6eea0..90bdb06bb7f 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -1,4 +1,19 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, pkgconfig, python3, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gupnp-igd, gst_all_1, gnutls }:
+{ stdenv
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, python3
+, gobject-introspection
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_412
+, glib
+, gupnp-igd
+, gst_all_1
+, gnutls
+}:
 
 stdenv.mkDerivation rec {
   name = "libnice-0.1.16";
@@ -21,27 +36,40 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    meson ninja pkgconfig python3 gobject-introspection
+    meson
+    ninja
+    pkgconfig
+    python3
+    gobject-introspection
+
+    # documentation
     gtk-doc
-    # Without these, enabling the 'gtk_doc' gives us `FAILED: meson-install`
-    docbook_xsl docbook_xml_dtd_412
+    docbook_xsl
+    docbook_xml_dtd_412
+  ];
+
+  buildInputs = [
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gnutls
+    gupnp-igd
+  ];
+
+  propagatedBuildInputs = [
+    glib
   ];
-  buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gnutls ];
-  propagatedBuildInputs = [ glib gupnp-igd ];
 
   mesonFlags = [
-    # Enables all features, so that we know when new dependencies are necessary.
-    "-Dauto_features=enabled"
     "-Dgtk_doc=enabled" # Disabled by default as of libnice-0.1.15
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
   ];
 
-  # TODO; see #53293 etc.
-  #doCheck = true;
+  # Tests are flaky
+  # see https://github.com/NixOS/nixpkgs/pull/53293#issuecomment-453739295
+  doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = https://nice.freedesktop.org/wiki/;
-    description = "The GLib ICE implementation";
+    description = "GLib ICE implementation";
     longDescription = ''
       Libnice is an implementation of the IETF's Interactice Connectivity
       Establishment (ICE) standard (RFC 5245) and the Session Traversal
@@ -49,6 +77,7 @@ stdenv.mkDerivation rec {
 
       It provides a GLib-based library, libnice and a Glib-free library,
       libstun as well as GStreamer elements.'';
+    homepage = "https://nice.freedesktop.org/wiki/";
     platforms = platforms.linux;
     license = with licenses; [ lgpl21 mpl11 ];
   };
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index 6f59c94a56b..14ae1156087 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "The official reference implementation for the PNG file format";
     homepage = http://www.libpng.org/pub/png/libpng.html;
     license = licenses.libpng;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     branch = "1.2";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 849f7d29ef6..95ef6201346 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -34,6 +34,6 @@ in stdenv.mkDerivation rec {
     homepage = http://www.libpng.org/pub/png/libpng.html;
     license = licenses.libpng2;
     platforms = platforms.all;
-    maintainers = [ maintainers.vcunat maintainers.fuuzetsu ];
+    maintainers = [ maintainers.vcunat ];
   };
 }
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index 15aa7c9e22d..d2012760dcf 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -1,5 +1,16 @@
-{ stdenv, fetchurl, autoreconfHook, docbook_xsl, docbook_xml_dtd_43, gtk-doc, lzip
-, libidn2, libunistring, libxslt, pkgconfig, python3, valgrind
+{ stdenv
+, fetchurl
+, autoreconfHook
+, docbook_xsl
+, docbook_xml_dtd_43
+, gtk-doc
+, lzip
+, libidn2
+, libunistring
+, libxslt
+, pkgconfig
+, python3
+, valgrind
 , publicsuffix-list
 }:
 
@@ -12,9 +23,26 @@ stdenv.mkDerivation rec {
     sha256 = "183hadbira0d2zvv8272lspy31dgm9x26z35c61s5axcd5wd9g9i";
   };
 
-  nativeBuildInputs = [ autoreconfHook docbook_xsl docbook_xml_dtd_43 gtk-doc lzip pkgconfig python3 valgrind ];
-  buildInputs = [ libidn2 libunistring libxslt ];
-  propagatedBuildInputs = [ publicsuffix-list ];
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook_xsl
+    docbook_xml_dtd_43
+    gtk-doc
+    lzip
+    pkgconfig
+    python3
+    valgrind
+  ];
+
+  buildInputs = [
+    libidn2
+    libunistring
+    libxslt
+  ];
+
+  propagatedBuildInputs = [
+    publicsuffix-list
+  ];
 
   postPatch = ''
     patchShebangs src/psl-make-dafsa
@@ -25,7 +53,7 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-#    "--enable-gtk-doc"
+    # "--enable-gtk-doc"
     "--enable-man"
     "--enable-valgrind-tests"
     "--with-psl-distfile=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
@@ -35,7 +63,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
 
   meta = with stdenv.lib; {
     description = "C library for the Publix Suffix List";
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index 62fa8c1a675..00288e359df 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, lcms2, jasper, pkgconfig }:
+{ stdenv, fetchurl, lcms2, pkgconfig
+, jasper ? null, withJpeg2k ? false
+# disable JPEG2000 support by default as jasper has many CVE
+}:
 
 stdenv.mkDerivation rec {
   pname = "libraw";
@@ -11,7 +14,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" "dev" "doc" ];
 
-  buildInputs = [ jasper ];
+  buildInputs = stdenv.lib.optionals withJpeg2k [ jasper ];
 
   propagatedBuildInputs = [ lcms2 ];
 
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index 468bcfb0a18..91c093c991a 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchFromGitHub, cmake, libusb, ninja, pkgconfig}:
+{ stdenv, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "librealsense";
-  version = "2.25.0";
+  version = "2.29.0";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner = "IntelRealSense";
-    repo = "librealsense";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "029qps0bbck0m2xj0mb5g3pgkk7a1zq8wcilfkvpx72sn7039xvw";
+    sha256 = "0wrg1c4fcd5ky96hmnczg9izfgd0yxls8ghxxzrdvgdlg269f443";
   };
 
   buildInputs = [
-    libusb
+    libusb1
   ];
 
   nativeBuildInputs = [
@@ -25,9 +27,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300)";
-    homepage = https://github.com/IntelRealSense/librealsense;
+    homepage = "https://github.com/IntelRealSense/librealsense";
     license = licenses.asl20;
     maintainers = with maintainers; [ brian-dawn ];
-    platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin"];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index 8c9c6ac107c..08c276c4d55 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libseccomp";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "1s06h2cgk0xxwmhwj72z33bllafc1xqnxzk2yyra2rmg959778qw";
+    sha256 = "0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm";
   };
 
   outputs = [ "out" "lib" "dev" "man" ];
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 84f6656d0b8..c3fe1ad619a 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, ninja, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  version  = "0.7.7";
+  version  = "0.7.9";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner  = "openSUSE";
     repo   = "libsolv";
     rev    = version;
-    sha256 = "0f6r5j5d4fbzx9ihbbwrqylayw90qac8kapkhmfcvsh7f8whr623";
+    sha256 = "1ijb4nywc3hx142194d85x7db0j5g2n0i750665fal30qrw2x43y";
   };
 
   cmakeFlags = [
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A free package dependency solver";
+    homepage    = "https://github.com/openSUSE/libsolv";
     license     = licenses.bsd3;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/development/libraries/libtcod/default.nix b/pkgs/development/libraries/libtcod/default.nix
index 6d95d81e5d9..5a7fb3395eb 100644
--- a/pkgs/development/libraries/libtcod/default.nix
+++ b/pkgs/development/libraries/libtcod/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, cmake, SDL, libGLU_combined, upx, zlib }:
+{ stdenv, fetchFromBitbucket, cmake, SDL, libGLU, libGL, upx, zlib }:
 
 stdenv.mkDerivation {
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   cmakeFlags="-DLIBTCOD_SAMPLES=OFF";
 
-  buildInputs = [ cmake SDL libGLU_combined upx zlib ];
+  buildInputs = [ cmake SDL libGLU libGL upx zlib ];
 
   meta = {
     description = "API for roguelike games";
diff --git a/pkgs/development/libraries/libtermkey/default.nix b/pkgs/development/libraries/libtermkey/default.nix
index a30d3235411..989d26b64e1 100644
--- a/pkgs/development/libraries/libtermkey/default.nix
+++ b/pkgs/development/libraries/libtermkey/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchzip, libtool, pkgconfig, ncurses }:
+{ stdenv, lib, fetchzip, libtool, pkgconfig, ncurses, unibilium }:
 
 stdenv.mkDerivation rec {
   pname = "libtermkey";
@@ -13,11 +13,12 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ]
     ++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libtool ncurses ];
+  nativeBuildInputs = [ libtool pkgconfig ];
+  buildInputs = [ ncurses unibilium ];
 
   meta = with lib; {
     description = "Terminal keypress reading library";
+    homepage = http://www.leonerd.org.uk/code/libtermkey;
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 9a08a7756c8..9d90304042c 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -28,13 +28,8 @@ stdenv.mkDerivation (rec {
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
-  configureFlags =
-    # We use `isLinux` here only to avoid mass rebuilds for Darwin, where
-    # disabling udev happens automatically. Remove `isLinux` at next big change!
-    stdenv.lib.optional (stdenv.isLinux && !enableSystemd) "--disable-udev";
-
-  preFixup = stdenv.lib.optionalString enableSystemd ''
-    sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la
+  preFixup = stdenv.lib.optionalString stdenv.isLinux ''
+    sed 's,-ludev,-L${stdenv.lib.getLib systemd}/lib -ludev,' -i $out/lib/libusb-1.0.la
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix
index 0a7819743e0..c9adad6f645 100644
--- a/pkgs/development/libraries/libvncserver/default.nix
+++ b/pkgs/development/libraries/libvncserver/default.nix
@@ -1,41 +1,43 @@
-{stdenv, fetchurl, fetchpatch,
- libtool, libjpeg, openssl, zlib, libgcrypt, autoreconfHook, pkgconfig, libpng,
- systemd
+{ stdenv, fetchzip, fetchpatch, cmake
+, libjpeg, openssl, zlib, libgcrypt, libpng
+, systemd
 }:
 
 let
   s = # Generated upstream information
   rec {
-    baseName="libvncserver";
-    version="0.9.11";
-    name="${baseName}-${version}";
-    url="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
-    sha256="15189n09r1pg2nqrpgxqrcvad89cdcrca9gx6qhm6akjf81n6g8r";
+    pname = "libvncserver";
+    version = "0.9.12";
+    url = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
+    sha256 = "1226hb179l914919f5nm2mlf8rhaarqbf48aa649p4rwmghyx9vm"; # unpacked archive checksum
   };
 in
 stdenv.mkDerivation {
-  inherit (s) name version;
-  src = fetchurl {
+  inherit (s) pname version;
+  src = fetchzip {
     inherit (s) url sha256;
   };
   patches = [
-    # CVE-2018-7225. Remove with the next release
     (fetchpatch {
-      url = https://salsa.debian.org/debian/libvncserver/raw/master/debian/patches/CVE-2018-7225.patch;
-      sha256 = "1hj1lzxsrdmzzl061vg0ncdpvfmvvkrpk8q12mp70qvszcqa7ja3";
+      name = "CVE-2018-20750.patch";
+      url = "https://github.com/LibVNC/libvncserver/commit/09e8fc02f59f16e2583b34fe1a270c238bd9ffec.patch";
+      sha256 = "004h50786nvjl3y3yazpsi2b767vc9gqrwm1ralj3zgy47kwfhqm";
+    })
+    (fetchpatch {
+      name = "CVE-2019-15681.patch";
+      url = "https://github.com/LibVNC/libvncserver/commit/d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a.patch";
+      sha256 = "0hf0ss7all2m50z2kan4mck51ws44yim4ymn8p0d991y465y6l9s";
     })
   ];
-  preConfigure = ''
-    sed -e 's@/usr/include/linux@${stdenv.cc.libc}/include/linux@g' -i configure
-  '';
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
-    libtool libjpeg openssl libgcrypt libpng
+    libjpeg openssl libgcrypt libpng
   ] ++ stdenv.lib.optional stdenv.isLinux systemd;
   propagatedBuildInputs = [ zlib ];
   meta = {
     inherit (s) version;
-    description =  "VNC server library";
+    description = "VNC server library";
+    homepage = "https://libvnc.github.io/";
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/libvterm-neovim/default.nix b/pkgs/development/libraries/libvterm-neovim/default.nix
index 231b426e6a7..50ee7e4d387 100644
--- a/pkgs/development/libraries/libvterm-neovim/default.nix
+++ b/pkgs/development/libraries/libvterm-neovim/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation {
   pname = "libvterm-neovim";
-  version = "2019-08-28";
+  version = "2019-10-08";
 
   src = fetchFromGitHub {
     owner = "neovim";
     repo = "libvterm";
-    rev = "1aa95e24d8f07a396aa80b7cd52f93e2b5bcca79";
-    sha256 = "0vjd397lqrfv4kc79i5izva4bynbymx3gllkg281fnk0b15vxfif";
+    rev = "7c72294d84ce20da4c27362dbd7fa4b08cfc91da";
+    sha256 = "111qyxq33x74dwdnqcnzlv9j0n8hxyribd6ppwcsxmyrniyw9qrk";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index fc9932567cf..56c3f638d52 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , threadingSupport ? true # multi-threading
-, openglSupport ? false, freeglut ? null, libGLU_combined ? null # OpenGL (required for vwebp)
+, openglSupport ? false, freeglut ? null, libGL ? null, libGLU ? null # OpenGL (required for vwebp)
 , pngSupport ? true, libpng ? null # PNG image format
 , jpegSupport ? true, libjpeg ? null # JPEG image format
 , tiffSupport ? true, libtiff ? null # TIFF image format
@@ -14,7 +14,7 @@
 , libwebpdecoderSupport ? true # Build libwebpdecoder
 }:
 
-assert openglSupport -> ((freeglut != null) && (libGLU_combined != null));
+assert openglSupport -> freeglut != null && libGL != null && libGLU != null;
 assert pngSupport -> (libpng != null);
 assert jpegSupport -> (libjpeg != null);
 assert tiffSupport -> (libtiff != null);
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ ]
-    ++ optionals openglSupport [ freeglut libGLU_combined ]
+    ++ optionals openglSupport [ freeglut libGL libGLU ]
     ++ optional pngSupport libpng
     ++ optional jpegSupport libjpeg
     ++ optional tiffSupport libtiff
diff --git a/pkgs/development/libraries/libxl/default.nix b/pkgs/development/libraries/libxl/default.nix
index 8153fb883ca..8618fc80a52 100644
--- a/pkgs/development/libraries/libxl/default.nix
+++ b/pkgs/development/libraries/libxl/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libxl";
-  version = "3.8.5";
+  version = "3.8.7";
 
   src = fetchurl {
     url = "http://www.libxl.com/download/${pname}-lin-${version}.tar.gz";
-    sha256 = "15n8gxyznk1nm2kgp86hd36rnivjsby9ccl12lyabv6q3fab6fsx";
+    sha256 = "0mfi2mlsgqjw9ki3c5bsb6nr2aqym7s1priw70f69r12azzxfqw3";
   };
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+  dontConfigure = true;
+  dontBuild = true;
 
   installPhase = ''
     mkdir $out
@@ -18,7 +19,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A lbrary for parsing excel files";
+    description = "A library for parsing Excel files";
+    homepage    = "http://www.libxl.com/";
     license     = licenses.unfree;
     platforms   = platforms.linux;
     maintainers = with maintainers; [  ];
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 7ed50f61224..f5dcb3357f7 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libxml2";
-  version = "2.9.9";
+  version = "2.9.10";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz";
-    sha256 = "0wd881jzvqayx0ihzba29jl80k06xj9ywp16kxacdqs3064p1ywl";
+    sha256 = "07xynh8hcxb2yb1fs051xrgszjvj37wnxvxgsj10rzmqzy9y3zma";
   };
   patches = [
     # Upstream bugs:
@@ -53,6 +53,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # disable test that's problematic with newer pythons: see
+  # https://mail.gnome.org/archives/xml/2017-August/msg00014.html
+  preCheck = lib.optionalString (pythonSupport && !(python?pythonOlder && python.pythonOlder "3.5")) ''
+    echo "" > python/tests/tstLastError.py
+  '';
+
   doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin &&
     stdenv.hostPlatform.libc != "musl";
 
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index ed77a1873a8..6d12329a7f5 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -10,31 +10,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "libxslt";
-  version = "1.1.33";
+  version = "1.1.34";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${pname}-${version}.tar.gz";
-    sha256 = "1j1q1swnsy8jgi9x7mclvkrqhfgn09886gdlr9wzk7a08i8n0dlf";
+    sha256 = "0zrzz6kjdyavspzik6fbkpvfpbd25r2qg6py5nnjaabrsr3bvccq";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2019-11068.patch";
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/e03553605b45c88f0b4b2980adfbbb8f6fca2fd6.patch";
-      sha256 = "0pkpb4837km15zgg6h57bncp66d5lwrlvkr73h0lanywq7zrwhj8";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/c5eb6cf3aba0af048596106ed839b4ae17ecbcb1.patch";
-      name = "CVE-2019-13117.patch";
-      sha256 = "0ynfq8y5h623cypj1426iiz7796n3mqbjqa24ndvh2am6rl5lw15";
-    })
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/libxslt/commit/6ce8de69330783977dd14f6569419489875fb71b.patch";
-      name = "CVE-2019-13118.patch";
-      sha256 = "0bglz9m9sh2vi50qxcm06iqrazw3h45ycgxnp15iankq95z283iq";
-    })
-  ];
-
   outputs = [ "bin" "dev" "out" "man" "doc" ] ++ stdenv.lib.optional pythonSupport "py";
 
   buildInputs = [ libxml2.dev ]
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
index 2df7ef94cf3..74952456e64 100644
--- a/pkgs/development/libraries/liquidfun/default.nix
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, requireFile, cmake, libGLU_combined, libX11, libXi }:
+{ stdenv, requireFile, cmake, libGLU, libGL, libX11, libXi }:
 
 let 
   sourceInfo = rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   };
 
   inherit (sourceInfo) name version;
-  buildInputs = [ cmake libGLU_combined libX11 libXi ];
+  buildInputs = [ cmake libGLU libGL libX11 libXi ];
 
   sourceRoot = "liquidfun/Box2D/";
 
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index dbebe0af80f..84907a42860 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -3,14 +3,14 @@
 # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 stdenv.mkDerivation rec {
   pname = "live555";
-  version = "2019.10.20";
+  version = "2019.11.22";
 
   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 = "085csq31s4kak0sym5y170f82wp542bg1ff3kycanvs8w4d4n9j4";
+    sha256 = "144y2wsfpaclkj7srx85f3y3parzn7vbjmzc2afc62wdsb9gn46d";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index f1ab28dfa1c..1605ec355cc 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,5 +1,5 @@
 { stdenv, pkgconfig, intltool, alsaLib, libpulseaudio, speex, gsm
-, libopus, ffmpeg, libX11, libXv, libGLU_combined, glew, libtheora, libvpx, SDL, libupnp
+, libopus, ffmpeg, libX11, libXv, libGLU, libGL, glew, libtheora, libvpx, SDL, libupnp
 , ortp, libv4l, libpcap, srtp, fetchFromGitHub, cmake, bctoolbox, doxygen
 , python, libXext, libmatroska, fetchpatch
 }:
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [
     alsaLib libpulseaudio speex gsm libopus
-    ffmpeg libX11 libXv libGLU_combined glew libtheora libvpx SDL libupnp
+    ffmpeg libX11 libXv libGLU libGL glew libtheora libvpx SDL libupnp
     ortp libv4l libpcap srtp bctoolbox libXext libmatroska
   ];
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index ca73f3bdeb6..2ebd5893e62 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -27,7 +27,7 @@
 with stdenv.lib;
 
 let
-  version = "19.2.4";
+  version = "19.2.6";
   branch  = versions.major version;
 in
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "03z393jrd1cnh68k5h3mm5yap3hi1jzz3a417ccjxn5vgl7hl009";
+    sha256 = "15vpj2v1j5j065f8syhcsyr6rkjm58250r0ri13v6bf8c3x28ywx";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/mimalloc/default.nix b/pkgs/development/libraries/mimalloc/default.nix
index 460be100b16..b3f63ec7e9b 100644
--- a/pkgs/development/libraries/mimalloc/default.nix
+++ b/pkgs/development/libraries/mimalloc/default.nix
@@ -1,37 +1,45 @@
-{ stdenv, fetchFromGitHub, cmake
-, secureBuild ? true
+{ stdenv, fetchFromGitHub, cmake, ninja
+, secureBuild ? false
 }:
 
 let
   soext = stdenv.hostPlatform.extensions.sharedLibrary;
 in
 stdenv.mkDerivation rec {
-  name    = "mimalloc-${version}";
+  pname   = "mimalloc";
   version = "1.1.0";
 
   src = fetchFromGitHub {
     owner  = "microsoft";
-    repo   = "mimalloc";
+    repo   = pname;
     rev    = "refs/tags/v${version}";
     sha256 = "1i8pwzpcmbf7dxncb984xrnczn1737xqhf1jaizlyw0k1hpiam4v";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ninja ];
   enableParallelBuilding = true;
-
   cmakeFlags = stdenv.lib.optional secureBuild [ "-DMI_SECURE=ON" ];
 
   postInstall = ''
+    # first, install headers, that's easy
     mkdir -p $dev
     mv $out/lib/*/include $dev/include
 
-    rm -f $out/lib/libmimalloc*${soext} # weird duplicate
-
-    mv $out/lib/*/libmimalloc*${soext} $out/lib/libmimalloc${soext}
-    mv $out/lib/*/libmimalloc*.a       $out/lib/libmimalloc.a
-    mv $out/lib/*/mimalloc*.o          $out/lib/mimalloc.o
-
-    rm -rf $out/lib/mimalloc-*
+    # move .a and .o files into place
+    mv $out/lib/mimalloc-1.0/libmimalloc*.a           $out/lib/libmimalloc.a
+    mv $out/lib/mimalloc-1.0/mimalloc*.o              $out/lib/mimalloc.o
+
+  '' + (if secureBuild then ''
+    mv $out/lib/mimalloc-1.0/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc-secure${soext}.1.0
+    ln -sfv $out/lib/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc-secure${soext}
+    ln -sfv $out/lib/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc${soext}
+  '' else ''
+    mv $out/lib/mimalloc-1.0/libmimalloc${soext}.1.0 $out/lib/libmimalloc${soext}.1.0
+    ln -sfv $out/lib/libmimalloc${soext}.1.0 $out/lib/libmimalloc${soext}
+  '') + ''
+    # remote duplicate dir. FIXME: try to fix the .cmake file distribution
+    # so we can re-use it for dependencies...
+    rm -rf $out/lib/mimalloc-1.0
   '';
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix
index 0907f0174c9..c277b7934b9 100644
--- a/pkgs/development/libraries/mygui/default.nix
+++ b/pkgs/development/libraries/mygui/default.nix
@@ -1,5 +1,5 @@
 {  stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid,
-   boost, pkgconfig, withOgre ? false, ogre ? null, libGLU_combined ? null } :
+   boost, pkgconfig, withOgre ? false, ogre ? null, libGL, libGLU ? null } :
 
 let
   renderSystem = if withOgre then "3" else "4";
@@ -17,7 +17,8 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 unzip cmake ois freetype libuuid boost (if withOgre then ogre else libGLU_combined) ];
+  buildInputs = [ libX11 unzip cmake ois freetype libuuid boost ]
+    ++ (if withOgre then [ ogre ] else [libGL libGLU]);
 
   # Tools are disabled due to compilation failures.
   cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ];
diff --git a/pkgs/development/libraries/nanoflann/default.nix b/pkgs/development/libraries/nanoflann/default.nix
index 5c0238fe41e..8480cc868c1 100644
--- a/pkgs/development/libraries/nanoflann/default.nix
+++ b/pkgs/development/libraries/nanoflann/default.nix
@@ -1,24 +1,28 @@
 {stdenv, fetchFromGitHub, cmake}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.0";
+  version = "1.3.1";
   pname = "nanoflann";
   
   src = fetchFromGitHub {
     owner = "jlblancoc";
     repo = "nanoflann";
     rev = "v${version}";
-    sha256 = "1bwdmrz1qygp9qy2nzrp1axa1i4nvm0ljkn6mnhlcvbfsyvhzigv";
+    sha256 = "07vi3yn5y9zk9acdbxy954ghdml15wnyqfizzqwsw8zmc9bf30ih";
   };
 
   buildInputs = [ cmake ];
 
+  cmakeFlags = [
+    "-DBUILD_EXAMPLES=OFF"
+  ];
+
   doCheck = true;
   checkTarget = "test";
 
   meta = {
-    homepage = https://github.com/jlblancoc/nanoflann;
-    license = stdenv.lib.licenses.bsd3;
+    homepage = "https://github.com/jlblancoc/nanoflann";
+    license = stdenv.lib.licenses.bsd2;
     description = "Header only C++ library for approximate nearest neighbor search";
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index 72d425e8918..43a7cf15c15 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nlohmann_json";
-  version = "3.7.0";
+  version = "3.7.3";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap";
+    sha256 = "04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index ff72d87f3c3..7499750c1f0 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -5,7 +5,7 @@ let
     url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
     sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
   };
-  version = "3.46.1";
+  version = "3.47.1";
   underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
 
 in stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "0l9ns44rlkp1bpblplspfbqmyhb8rhvc89y56kqh725rgpny1xrv";
+    sha256 = "1yx68a1ks63s8914zmiz9h1nh0261aqzcblgg1cb4ig33p5x3qqs";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -27,7 +27,8 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ nspr ];
 
   prePatch = ''
-    xz -d < ${nssPEM} | patch -p1
+    # strip the trailing whitespace from the patch line…
+    xz -d < ${nssPEM} | sed -e '/^-DIRS = builtins $/ s/ $//' | patch -p1
   '';
 
   patches =
diff --git a/pkgs/development/libraries/nss_wrapper/default.nix b/pkgs/development/libraries/nss_wrapper/default.nix
index 79eb4d1e10e..40ee4f890d4 100644
--- a/pkgs/development/libraries/nss_wrapper/default.nix
+++ b/pkgs/development/libraries/nss_wrapper/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "nss_wrapper-1.1.6";
+  name = "nss_wrapper-1.1.7";
 
   src = fetchurl {
     url = "mirror://samba/cwrap/${name}.tar.gz";
-    sha256 = "1hijnwabj4nh0m0a913pq07iqq0bw8qb2zxcv73zbnsaay7pa55h";
+    sha256 = "1pa7gakprkxblxdqbcy2242lk924gvzdgfr5648wb7cslksm7hbq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/nuspell/default.nix b/pkgs/development/libraries/nuspell/default.nix
index db542ec93a9..c1f354a1ac9 100644
--- a/pkgs/development/libraries/nuspell/default.nix
+++ b/pkgs/development/libraries/nuspell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuspell";
-  version = "2.3.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "nuspell";
     repo = "nuspell";
     rev = "v${version}";
-    sha256 = "0n5cajrp1fhk8p54ch3akkd9nl8b9c6wwf25980dhagcdys3vab3";
+    sha256 = "1cyvvf5f92a777qgh00ja43z43j5nhc9dw5l3wvw9j6j9bqc4i8p";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ronn ];
diff --git a/pkgs/development/libraries/ogre/1.10.x.nix b/pkgs/development/libraries/ogre/1.10.x.nix
index d847f447048..b66759524fa 100644
--- a/pkgs/development/libraries/ogre/1.10.x.nix
+++ b/pkgs/development/libraries/ogre/1.10.x.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/ogre/1.9.x.nix b/pkgs/development/libraries/ogre/1.9.x.nix
index 2855d1139c3..ced01580185 100644
--- a/pkgs/development/libraries/ogre/1.9.x.nix
+++ b/pkgs/development/libraries/ogre/1.9.x.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index dc3bf8cf009..235da872392 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 8a1e1d37c1d..e9041993657 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/kkos/oniguruma;
     description = "Regular expressions library";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/opencsg/default.nix b/pkgs/development/libraries/opencsg/default.nix
index 724c0d7c764..cf46077a56c 100644
--- a/pkgs/development/libraries/opencsg/default.nix
+++ b/pkgs/development/libraries/opencsg/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libGLU_combined, freeglut, glew, libXmu, libXext, libX11
+{stdenv, fetchurl, libGLU, libGL, freeglut, glew, libXmu, libXext, libX11
 , qmake, GLUT, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   buildInputs = [ glew ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut libXmu libXext libX11 ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut libXmu libXext libX11 ]
     ++ stdenv.lib.optional stdenv.isDarwin GLUT;
 
   doCheck = false;
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index 874f9535759..97df84637ef 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -9,7 +9,7 @@
 , enableTIFF      ? true, libtiff
 , enableWebP      ? true, libwebp
 , enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableJPEG2K    ? true, jasper
+, enableJPEG2K    ? false, jasper  # disable jasper by default (many CVE)
 , enableEigen     ? true, eigen
 , enableOpenblas  ? true, openblas
 , enableContrib   ? true
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index a5eb1029ad9..408368b89c4 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -9,7 +9,7 @@
 , enableTIFF      ? true, libtiff
 , enableWebP      ? true, libwebp
 , enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableJPEG2K    ? true, jasper
+, enableJPEG2K    ? false, jasper  # disable jasper by default (many CVE)
 , enableEigen     ? true, eigen
 , enableOpenblas  ? true, openblas
 , enableContrib   ? true
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index b91a1489eb6..db8a5e5a41b 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -6,7 +6,7 @@
 , enablePNG ? true, libpng
 , enableTIFF ? true, libtiff
 , enableEXR ? (!stdenv.isDarwin), openexr, ilmbase
-, enableJPEG2K ? true, jasper
+, enableJPEG2K ? false, jasper  # disable jasper by default (many CVE)
 , enableFfmpeg ? false, ffmpeg
 , enableGStreamer ? false, gst_all_1
 , enableEigen ? true, eigen
diff --git a/pkgs/development/libraries/openexrid-unstable/default.nix b/pkgs/development/libraries/openexrid-unstable/default.nix
index b8a3c4a81e0..92cd343cf6a 100644
--- a/pkgs/development/libraries/openexrid-unstable/default.nix
+++ b/pkgs/development/libraries/openexrid-unstable/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, libGLU_combined, openexr }:
+{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, libGLU, libGL, openexr }:
 
 stdenv.mkDerivation {
   pname = "openexrid-unstable";
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
                        -I${openfx.dev}/include/OpenFX
                       '';
 
-  buildInputs = [ unzip re2 openfx zlib ilmbase libGLU_combined openexr ];
+  buildInputs = [ unzip re2 openfx zlib ilmbase libGLU libGL openexr ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index 9be5018dc29..b12ca67655b 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -2,7 +2,7 @@
   libX11, libXinerama, libXrandr, libGLU, libGL,
   glib, ilmbase, libxml2, pcre, zlib,
   jpegSupport ? true, libjpeg,
-  jasperSupport ? true, jasper,
+  jasperSupport ? false, jasper,  # disable jasper by default (many CVE)
   exrSupport ? false, openexr,
   gifSupport ? true, giflib,
   pngSupport ? true, libpng,
diff --git a/pkgs/development/libraries/partio/default.nix b/pkgs/development/libraries/partio/default.nix
index b08936dd34d..ba042562320 100644
--- a/pkgs/development/libraries/partio/default.nix
+++ b/pkgs/development/libraries/partio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, libGLU_combined, zlib, swig, python, doxygen, xorg }:
+{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, libGLU, libGL, zlib, swig, python, doxygen, xorg }:
 
 stdenv.mkDerivation {
   pname = "partio";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   outputs = [ "dev" "out" "lib" ];
 
   nativeBuildInputs = [ unzip cmake doxygen ];
-  buildInputs = [ freeglut libGLU_combined zlib swig python xorg.libXi xorg.libXmu ];
+  buildInputs = [ freeglut libGLU libGL zlib swig python xorg.libXi xorg.libXmu ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index e27c71314d9..b988c4ea02c 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "pcre2";
-  version = "10.33";
+  version = "10.34";
   src = fetchurl {
     url = "https://ftp.pcre.org/pub/pcre/${pname}-${version}.tar.bz2";
-    sha256 = "1anqi7vpbfzag7imccrc6di1zl5rl63ab7rfpmajpw6d1kzlsl9m";
+    sha256 = "1jlqnzcz2yi70dm40wyfa9w8is9z2kh4dl8zjnv3vqd9mgzp7i3l";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index dbd87a822c1..86e3caaa148 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -1,6 +1,16 @@
-{ stdenv, lib, fetchurl, cmake, libGLU_combined, pkgconfig, libpulseaudio
-, extra-cmake-modules, qtbase, qttools
-, debug ? false }:
+{ stdenv
+, lib
+, fetchurl
+, cmake
+, libGLU
+, libGL
+, pkgconfig
+, libpulseaudio
+, extra-cmake-modules
+, qtbase
+, qttools
+, debug ? false
+}:
 
 with lib;
 
@@ -27,7 +37,8 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libGLU_combined
+    libGLU
+    libGL
     libpulseaudio
     qtbase
     qttools
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
index 96715882c23..007e4ad0c32 100644
--- a/pkgs/development/libraries/physics/geant4/default.nix
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -30,7 +30,7 @@
 , libXpm
 
 # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
-, libGLU_combined
+, libGLU, libGL
 , xlibsWrapper
 , libXmu
 }:
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
   nativeBuildInputs =  [ cmake ];
-  buildInputs = [ clhep expat zlib libGLU_combined xlibsWrapper libXmu ]
+  buildInputs = [ clhep expat zlib libGLU libGL xlibsWrapper libXmu ]
     ++ stdenv.lib.optionals enableGDML [ xercesc ]
     ++ stdenv.lib.optionals enableXM [ motif ]
     ++ stdenv.lib.optionals enableQT [ qtbase ]
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index 914eee5c286..95e44f2364c 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fastjet, ghostscript, gsl, hepmc2, imagemagick, less, python2, texlive, yoda, which, makeWrapper }:
+{ stdenv, fetchurl, fetchpatch, fastjet, ghostscript, gsl, hepmc2, imagemagick, less, python2, texlive, yoda, which, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "rivet";
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./darwin.patch # configure relies on impure sw_vers to -Dunix
+    (fetchpatch {
+      url = "https://phab-files.hepforge.org/file/data/j3ja4jirrdyrovrmnbuh/PHID-FILE-6vnor4aoz3s2ejruisrg/file";
+      sha256 = "0flxv08wcd0m5di75s2zvm015k2k70nqgpcgcbq7m604z26pd6ab";
+    })
   ];
 
   latex = texlive.combine { inherit (texlive)
diff --git a/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix
index c9e8c632c7f..bbc5eb21c27 100644
--- a/pkgs/development/libraries/plib/default.nix
+++ b/pkgs/development/libraries/plib/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchpatch, stdenv, libGLU_combined, freeglut, SDL
+{ fetchurl, fetchpatch, stdenv, libGLU, libGL, freeglut, SDL
 , libXi, libSM, libXmu, libXext, libX11 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   ];
 
   propagatedBuildInputs = [
-    libGLU_combined freeglut SDL
+    libGLU libGL freeglut SDL
 
     # The following libs ought to be propagated build inputs of Mesa.
     libXi libSM libXmu libXext libX11
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index d0df41c3e5f..17163c2206c 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -2,7 +2,7 @@
 , intltool, spidermonkey_60 , gobject-introspection, libxslt, docbook_xsl, dbus
 , docbook_xml_dtd_412, gtk-doc, coreutils
 , useSystemd ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl), systemd, elogind
-, withGnome ? true
+, withIntrospection ? true
 # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
 # Not yet investigated; it may be due to the "Make netgroup support optional"
 # patch not updating the tests correctly yet, or doing something wrong,
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     [ expat pam spidermonkey_60 ]
     # On Linux, fall back to elogind when systemd support is off.
     ++ stdenv.lib.optional stdenv.isLinux (if useSystemd then systemd else elogind)
-    ++ stdenv.lib.optional withGnome gobject-introspection;
+    ++ stdenv.lib.optional withIntrospection gobject-introspection;
 
   propagatedBuildInputs = [
     glib # in .pc Requires
@@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--with-polkitd-user=polkituser" #TODO? <nixos> config.ids.uids.polkituser
     "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS
-    (if withGnome then "--enable-introspection" else "--disable-introspection")
+    (if withIntrospection then "--enable-introspection" else "--disable-introspection")
   ] ++ stdenv.lib.optional (!doCheck) "--disable-test";
 
   makeFlags = [
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index b8c88541edd..eb1e9ec732f 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
-  version = "0.81.0"; # beware: updates often break cups-filters build
+  version = "0.83.0"; # beware: updates often break cups-filters build
 
   src = fetchurl {
     url = "${meta.homepage}/poppler-${version}.tar.xz";
-    sha256 = "00pykc7nym3xg0wc60awv0i35zwdfyn0igb6jrnb6rsv0c5h4b91";
+    sha256 = "16vr1g5qsqwyxfnyikqw37i04x9zpp45far2x90c7qbijw6nap38";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/prometheus-cpp/default.nix b/pkgs/development/libraries/prometheus-cpp/default.nix
index 6f49db4d206..b047322c35e 100644
--- a/pkgs/development/libraries/prometheus-cpp/default.nix
+++ b/pkgs/development/libraries/prometheus-cpp/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "prometheus-cpp";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "jupp0r";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15bda1q1jbvixbx1qf41ykcdmsywhhwmi4xgsha12r5m9fh8jzxj";
+    sha256 = "0j12ir8skw3y2q8n743zql4ddp7v1j4h030pjcsqn0xqrqw7m5hg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/protobuf/3.11.nix b/pkgs/development/libraries/protobuf/3.11.nix
index 26f8ca13341..7e89463aad6 100644
--- a/pkgs/development/libraries/protobuf/3.11.nix
+++ b/pkgs/development/libraries/protobuf/3.11.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.11.0";
-  sha256 = "1b0kf02aw1yvpwdax3865057dzrlrdc7dgam05znwq8id5q76ckr";
+  version = "3.11.1";
+  sha256 = "1mq8dp94mlp72ri27bgvc2i370r8kfig87wfai7vxjdnh3vng0y1";
 }
diff --git a/pkgs/development/libraries/protolock/default.nix b/pkgs/development/libraries/protolock/default.nix
index a36e9e0fd0d..f1eb3ae51f3 100644
--- a/pkgs/development/libraries/protolock/default.nix
+++ b/pkgs/development/libraries/protolock/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protolock";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "nilslice";
     repo = "protolock";
     rev = "v${version}";
-    sha256 = "0assk7hp9s3m7zm5i1v0pggz00a54yf2w3y0b8mlq5v51y2h8h2z";
+    sha256 = "0qg26vcqdhgy91p6wiv16dq73ay0fymran3d8ylca9264zwi2vxw";
   };
 
-  modSha256 = "079hbv0f8k5lljrb1cr9568wq8sb9yry9smgbrji19yavd9fzcmh";
+  modSha256 = "1q755ipqsfpr41s5fxzmx50lwcdqc5a7akwx6mzn789w2z07x8lg";
 
   postInstall = ''
     rm $out/bin/plugin*
diff --git a/pkgs/development/libraries/pybind11/default.nix b/pkgs/development/libraries/pybind11/default.nix
deleted file mode 100644
index 7dfbdc4d64a..00000000000
--- a/pkgs/development/libraries/pybind11/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, fetchFromGitHub, cmake, catch, python, eigen }:
-
-stdenv.mkDerivation rec {
-  pname = "pybind";
-  version = "2.2.4";
-
-  src = fetchFromGitHub {
-    owner = "pybind";
-    repo = "pybind11";
-    rev = "v${version}";
-    sha256 = "0pa79ymcasv8br5ifbx7878id5py2jpjac3i20cqxr6gs9l6ivlv";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  checkInputs = with python.pkgs; [ catch eigen pytest numpy scipy ];
-
-  # Disable test_cmake_build test, as it fails in sandbox
-  # https://github.com/pybind/pybind11/issues/1355
-  patches = [
-    ./no_test_cmake_build.patch
-    (fetchurl { # Remove on bump to v2.2.5
-      name = "pytest_namespace_to_configure.patch";
-      url = "https://github.com/pybind/pybind11/commit/e7ef34f23f194cfa40bdbf967c6d34712261a4ee.patch";
-      sha256 = "1dhv6p0b5fxzxc8j3sfy8kvfmdshczk22xfxh6bk0cfnfdy9iqrq";
-    })
-  ];
-
-  doCheck = true;
-
-  cmakeFlags = [ 
-    "-DPYTHON_EXECUTABLE=${python.interpreter}" 
-    "-DPYBIND11_TEST=${if doCheck then "ON" else "OFF"}"
-  ];
-
-  meta = {
-    homepage = https://github.com/pybind/pybind11;
-    description = "Seamless operability between C++11 and Python";
-    longDescription = ''
-      Pybind11 is a lightweight header-only library that exposes
-      C++ types in Python and vice versa, mainly to create Python
-      bindings of existing C++ code.
-    '';
-    platforms = with stdenv.lib.platforms; unix;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
-  };
-}
diff --git a/pkgs/development/libraries/pybind11/no_test_cmake_build.patch b/pkgs/development/libraries/pybind11/no_test_cmake_build.patch
deleted file mode 100644
index c5d6ecc4481..00000000000
--- a/pkgs/development/libraries/pybind11/no_test_cmake_build.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- a/tests/CMakeLists.txt	2019-01-28 14:13:55.822119328 +0100
-+++ b/tests/CMakeLists.txt	2019-01-28 14:14:06.741161928 +0100
-@@ -233,4 +233,3 @@
- add_subdirectory(test_embed)
- 
- # Test CMake build using functions and targets from subdirectory or installed location
--add_subdirectory(test_cmake_build)
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index a46dcec0312..98519ae294a 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -8,7 +8,7 @@
 , mysqlSupport ? false, libmysqlclient ? null
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , openglSupport ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
-, libGLU_combined ? null, libXmu ? null
+, libGL ? null, libGLU ? null, libXmu ? null
 , xlibsWrapper, xorgproto, zlib, libjpeg, libpng, which
 }:
 
@@ -17,7 +17,7 @@ assert xrenderSupport -> xftSupport && libXrender != null;
 assert xrandrSupport -> libXrandr != null;
 assert cursorSupport -> libXcursor != null;
 assert mysqlSupport -> libmysqlclient != null;
-assert openglSupport -> libGLU_combined != null && libXmu != null;
+assert openglSupport -> libGL != null && libGLU != null && libXmu != null;
 
 stdenv.mkDerivation {
   name = "qt-3.3.8";
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     (mk xftSupport "xft")
   ] ++ stdenv.lib.optionals openglSupport [
     "-dlopen-opengl"
-    "-L${libGLU_combined}/lib" "-I${libGLU_combined}/include"
+    "-L${libGL}/lib" "-I${libGLU}/include"
     "-L${libXmu.out}/lib" "-I${libXmu.dev}/include"
   ] ++ stdenv.lib.optionals xrenderSupport [
     "-L${libXrender.out}/lib" "-I${libXrender.dev}/include"
diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix
deleted file mode 100644
index e22dc4dbae3..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/default.nix
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-
-# Updates
-
-Before a major version update, make a copy of this directory. (We like to
-keep the old version around for a short time after major updates.) Add a
-top-level attribute to `top-level/all-packages.nix`.
-
-1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`.
-2. From the top of the Nixpkgs tree, run
-   `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
-3. Check that the new packages build correctly.
-4. Commit the changes and open a pull request.
-
-*/
-
-{
-  newScope,
-  stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, libGL, perl,
-  gstreamer, gst-plugins-base, gtk3, dconf,
-  llvmPackages_5,
-
-  # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-  debug ? false,
-}:
-
-with stdenv.lib;
-
-let
-
-  qtCompatVersion = srcs.qtbase.version;
-
-  stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
-
-  mirror = "https://download.qt.io";
-  srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // {
-    # Community port of the now unmaintained upstream qtwebkit.
-    qtwebkit = {
-      src = fetchFromGitHub {
-        owner = "annulen";
-        repo = "webkit";
-        rev = "4ce8ebc4094512b9916bfa5984065e95ac97c9d8";
-        sha256 = "05h1xnxzbf7sp3plw5dndsvpf6iigh0bi4vlj4svx0hkf1giakjf";
-      };
-      version = "5.212-alpha-01-26-2018";
-    };
-  };
-
-  patches = {
-    qtbase = [
-      ./qtbase.patch
-      ./qtbase-fixguicmake.patch
-    ];
-    qtdeclarative = [ ./qtdeclarative.patch ];
-    qtscript = [
-      ./qtscript.patch
-      # needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196
-      # fixed in qtscript 5.12.2
-      (fetchpatch {
-        url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff";
-        sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi";
-      })
-    ];
-    qtserialport = [ ./qtserialport.patch ];
-    qttools = [ ./qttools.patch ];
-    qtwebengine = [
-      ./qtwebengine-no-build-skip.patch
-      ./qtwebengine-darwin-no-platform-check.patch
-      # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707
-      # https://bugreports.qt.io/browse/QTBUG-77037
-      (fetchpatch {
-        name = "fix-build-with-pulseaudio-13.0.patch";
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951";
-        sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
-      })
-    ];
-    qtwebkit = [ ./qtwebkit.patch ];
-  };
-
-  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; }
-        stdenvActual.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 stdenvActual.mkDerivation;
-
-      qtbase = callPackage ../modules/qtbase.nix {
-        inherit (srcs.qtbase) src version;
-        patches = patches.qtbase;
-        inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
-        inherit developerBuild decryptSslTraffic;
-      };
-
-      qtcharts = callPackage ../modules/qtcharts.nix {};
-      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 = callPackage ../modules/qtmacextras.nix {};
-      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
-        inherit gstreamer gst-plugins-base;
-      };
-      qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
-      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 {};
-      qtspeech = callPackage ../modules/qtspeech.nix {};
-      qtsvg = callPackage ../modules/qtsvg.nix {};
-      qttools = callPackage ../modules/qttools.nix {};
-      qttranslations = callPackage ../modules/qttranslations.nix {};
-      qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
-      qtwayland = callPackage ../modules/qtwayland.nix {};
-      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
-      qtwebengine = callPackage ../modules/qtwebengine.nix {};
-      qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
-      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
-      qtwebview = callPackage ../modules/qtwebview.nix {};
-      qtx11extras = callPackage ../modules/qtx11extras.nix {};
-      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
-
-      env = callPackage ../qt-env.nix {};
-      full = env "qt-full-${qtbase.version}" ([
-        qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
-        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
-        qtscript qtsensors qtserialport qtsvg qttools qttranslations
-        qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
-        qtwebview qtx11extras qtxmlpatterns
-      ] ++ optional (!stdenv.isDarwin) qtwayland
-        ++ optional (stdenv.isDarwin) qtmacextras);
-
-      qmake = makeSetupHook {
-        deps = [ self.qtbase.dev ];
-        substitutions = {
-          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
-        };
-      } ../hooks/qmake-hook.sh;
-
-      wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
-      } ../hooks/wrap-qt-apps-hook.sh;
-    };
-
-   self = makeScope newScope addPackages;
-
-in self
diff --git a/pkgs/development/libraries/qt-5/5.11/fetch.sh b/pkgs/development/libraries/qt-5/5.11/fetch.sh
deleted file mode 100644
index 2ab3dd71c24..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/fetch.sh
+++ /dev/null
@@ -1 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 0bbc871..3673634 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index 5baf0fd..3583745 100644
---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase.patch b/pkgs/development/libraries/qt-5/5.11/qtbase.patch
deleted file mode 100644
index 7d8407f6daf..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtbase.patch
+++ /dev/null
@@ -1,1106 +0,0 @@
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/common/mac.conf qtbase-everywhere-src-5.11.3/mkspecs/common/mac.conf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/common/mac.conf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/common/mac.conf	2019-01-31 00:42:55.843577249 +0100
-@@ -23,7 +23,7 @@
- 
- QMAKE_FIX_RPATH         = install_name_tool -id
- 
--QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
-+QMAKE_LFLAGS_RPATH      =
- QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
- 
- QMAKE_LFLAGS_REL_RPATH  =
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/create_cmake.prf qtbase-everywhere-src-5.11.3/mkspecs/features/create_cmake.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/create_cmake.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/create_cmake.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -21,7 +21,7 @@
- # 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
-@@ -51,45 +51,20 @@
-         $$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
- 
--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_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
-+CMAKE_BIN_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_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_LIB_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
--}
--
--win32:!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_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
-+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
-+ 
-+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_DLL_DIR_IS_ABSOLUTE = True
- 
- static|staticlib:CMAKE_STATIC_TYPE = true
- 
-@@ -169,7 +144,7 @@
-       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()
-@@ -316,7 +291,7 @@
-     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 -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in qtbase-everywhere-src-5.11.3/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in	2019-01-31 00:42:55.843577249 +0100
-@@ -3,30 +3,6 @@
-     message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
- 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}.VERSION)")
-@@ -52,11 +28,7 @@
- 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}\"
-@@ -69,11 +41,7 @@
-     )
- 
- !!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
-@@ -89,24 +57,13 @@
- !!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 \"\")
-@@ -122,7 +79,6 @@
-     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
-@@ -269,25 +225,13 @@
- !!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()
-@@ -306,25 +250,13 @@
- !!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()
-@@ -343,11 +275,7 @@
-     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 -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_post.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_post.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_post.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_post.prf	2019-01-31 00:45:14.585621324 +0100
-@@ -62,199 +62,3 @@
-         }
-     }
- }
--
--# Add the same default rpaths as Xcode does for new projects.
--# This is especially important for iOS/tvOS/watchOS where no other option is possible.
--!no_default_rpath {
--    QMAKE_RPATHDIR += @executable_path/Frameworks
--    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
--}
--
--# Don't pass -headerpad_max_install_names when using Bitcode.
--# In that case the linker emits a warning stating that the flag is ignored when
--# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
--# Using this flag is also unnecessary in practice on UIKit platforms since they
--# are sandboxed, and only UIKit platforms support bitcode to begin with.
--!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
--
--app_extension_api_only {
--    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--}
--
--macx-xcode {
--    qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
--    !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
--        qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO
--    else: \
--        qmake_pkginfo_typeinfo.value = "????"
--    QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
--
--    !isEmpty(VERSION) {
--        l = $$split(VERSION, '.') 0 0  # make sure there are at least three
--        VER_MAJ = $$member(l, 0, 0)
--        VER_MIN = $$member(l, 1, 1)
--        VER_PAT = $$member(l, 2, 2)
--        unset(l)
--
--        qmake_full_version.name = QMAKE_FULL_VERSION
--        qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
--
--        qmake_short_version.name = QMAKE_SHORT_VERSION
--        qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
--    }
--
--    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
--        debug_information_format.name = DEBUG_INFORMATION_FORMAT
--        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
--        debug_information_format.build = debug
--        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
--    }
--
--    QMAKE_XCODE_ARCHS =
--
--    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
--    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_MAC_XCODE_SETTINGS += arch_device
--
--    simulator {
--        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
--        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
--    }
--
--    only_active_arch.name = ONLY_ACTIVE_ARCH
--    only_active_arch.value = YES
--    only_active_arch.build = debug
--    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
--} else {
--    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
--    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
--    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
--
--    isEmpty(VALID_ARCHS): \
--        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
--
--    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
--
--    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
--    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
--
--    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
--
--    arch_flags = $(EXPORT_ARCH_ARGS)
--
--    QMAKE_CFLAGS += $$arch_flags
--    QMAKE_CXXFLAGS += $$arch_flags
--    QMAKE_LFLAGS += $$arch_flags
--
--    QMAKE_PCH_ARCHS = $$VALID_ARCHS
--
--    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
--    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
--    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
--    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
--
--    # If we're doing a simulator and device build, device and simulator
--    # architectures use different paths and flags for the sysroot and
--    # deployment target switch, so we must multiplex them across multiple
--    # architectures using -Xarch. Otherwise we fall back to the simple path.
--    # This is not strictly necessary, but results in cleaner command lines
--    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
--    # individual rules to a different set of architecture(s) from the overall
--    # build (such as machtest in QtCore).
--    simulator:device {
--        QMAKE_XARCH_CFLAGS =
--        QMAKE_XARCH_LFLAGS =
--        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
--
--        for (arch, VALID_ARCHS) {
--            contains(VALID_SIMULATOR_ARCHS, $$arch) {
--                sdk = $$simulator.sdk
--                version_identifier = $$simulator.deployment_identifier
--            } else {
--                sdk = $$device.sdk
--                version_identifier = $$device.deployment_identifier
--            }
--
--            version_min_flags = \
--                -Xarch_$${arch} \
--                -m$${version_identifier}-version-min=$$deployment_target
--            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -isysroot$$xcodeSDKInfo(Path, $$sdk)
--            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
--
--            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
--            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
--
--            QMAKE_EXTRA_VARIABLES += \
--                QMAKE_XARCH_CFLAGS_$${arch} \
--                QMAKE_XARCH_LFLAGS_$${arch}
--        }
--
--        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
--    } else {
--        simulator: \
--            version_identifier = $$simulator.deployment_identifier
--        else: \
--            version_identifier = $$device.deployment_identifier
--        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
--        QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
--    }
--
--    # Enable precompiled headers for multiple architectures
--    QMAKE_CFLAGS_USE_PRECOMPILE =
--    for (arch, VALID_ARCHS) {
--        icc_pch_style: \
--            use_flag = "-pch-use "
--        else: \
--            use_flag = -include
--
--        # Only use Xarch with multi-arch, as the option confuses ccache
--        count(VALID_ARCHS, 1, greaterThan): \
--            QMAKE_CFLAGS_USE_PRECOMPILE += \
--                -Xarch_$${arch}
--
--        QMAKE_CFLAGS_USE_PRECOMPILE += \
--            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
--    }
--    icc_pch_style {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
--        QMAKE_CFLAGS_USE_PRECOMPILE =
--    } else {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--    }
--
--    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
--}
--
--cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
--!isEmpty(QMAKE_XCODE_VERSION): \
--    cache(QMAKE_XCODE_VERSION, stash)
--
--QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
--
--xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER
--xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX
--isEmpty(xcode_product_bundle_identifier_setting.value): \
--    xcode_product_bundle_identifier_setting.value = "com.yourcompany"
--xcode_product_bundle_target = $$QMAKE_BUNDLE
--isEmpty(xcode_product_bundle_target): \
--    xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier}
--xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}"
--QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
-Only in qtbase-everywhere-src-5.11.3/mkspecs/features/mac: default_post.prf.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_pre.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_pre.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_pre.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_pre.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -1,60 +1,2 @@
- CONFIG = asset_catalogs rez $$CONFIG
- load(default_pre)
--
--isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
--    # Get path of Xcode's Developer directory
--    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
--    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
--
--    # Make sure Xcode path is valid
--    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
--}
--
--isEmpty(QMAKE_XCODEBUILD_PATH): \
--    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
--
--!isEmpty(QMAKE_XCODEBUILD_PATH) {
--    # Make sure Xcode is set up properly
--    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
--        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
--
--    isEmpty(QMAKE_XCODE_VERSION) {
--        # Extract Xcode version using xcodebuild
--        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
--        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
--        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
--        unset(xcode_version)
--    }
--}
--
--isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
--    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
--    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
--        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
--
--    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
--        cache(QMAKE_TARGET_BUNDLE_PREFIX)
--}
--
--QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
--
--# Make the default debug info format for static debug builds
--# DWARF instead of DWARF with dSYM. This cuts down build times
--# for application debug builds significantly, as Xcode doesn't
--# have to pull out all the DWARF info from the Qt static libs
--# and put it into a dSYM file. We don't need that dSYM file in
--# the first place, since the information is available in the
--# object files inside the archives (static libraries).
--macx-xcode:qtConfig(static): \
--    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
--
--# This variable is used by the xcode_dynamic_library_suffix
--# feature, which allows Xcode to choose the Qt libraries to link to
--# at build time, depending on the current Xcode SDK and configuration.
--QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
--
--xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP
--xcode_copy_phase_strip_setting.value = NO
--QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/sdk.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/sdk.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/sdk.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/sdk.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -1,58 +1 @@
- 
--isEmpty(QMAKE_MAC_SDK): \
--    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
--
--contains(QMAKE_MAC_SDK, .*/.*): \
--    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
--
--defineReplace(xcodeSDKInfo) {
--    info = $$1
--    equals(info, "Path"): \
--        infoarg = --show-sdk-path
--    equals(info, "PlatformPath"): \
--        infoarg = --show-sdk-platform-path
--    equals(info, "SDKVersion"): \
--        infoarg = --show-sdk-version
--    sdk = $$2
--    isEmpty(sdk): \
--        sdk = $$QMAKE_MAC_SDK
--
--    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
--        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null")
--        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
--        # only used by the XCTest backend to testlib
--        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \
--            error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg")
--        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
--    }
--
--    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
--}
--
--QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
--QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
--QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
--
--sysrootified =
--for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
--QMAKE_INCDIR_OPENGL = $$sysrootified
--
--QMAKESPEC_NAME = $$basename(QMAKESPEC)
--
--# Resolve SDK version of various tools
--for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) {
--    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
--    !isEmpty($$tool_variable) {
--        $$tool = $$eval($$tool_variable)
--        next()
--    }
--
--    value = $$eval($$tool)
--    isEmpty(value): next()
--
--    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
--    isEmpty(sysrooted): next()
--
--    $$tool = $$sysrooted $$member(value, 1, -1)
--    cache($$tool_variable, set stash, $$tool)
--}
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_module.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qml_module.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_module.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qml_module.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -23,13 +23,8 @@
- 
- 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
- 
- !qml1_target:static: CONFIG += builtin_resources
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_plugin.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qml_plugin.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_plugin.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qml_plugin.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -48,13 +48,8 @@
- 
- 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 -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_app.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_app.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_app.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_app.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -33,7 +33,7 @@
-     target.path = $$[QT_HOST_BINS]
- } else {
-     !build_pass:qtConfig(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 -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_build_paths.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_build_paths.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_build_paths.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_build_paths.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -24,6 +24,6 @@
- !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
- }
-Only in qtbase-everywhere-src-5.11.3/mkspecs/features: qt_build_paths.prf.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_common.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_common.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_common.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_common.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -32,8 +32,8 @@
-         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 -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_docs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_docs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_docs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_docs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -45,7 +45,7 @@
- 
- 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) {
-@@ -64,8 +64,8 @@
-         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)
- }
- 
- qtattributionsscanner.target = qtattributionsscanner
-@@ -88,12 +88,12 @@
-     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 -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_example_installs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_example_installs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_example_installs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_example_installs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -88,7 +88,7 @@
-     $$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 -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_functions.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_functions.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_functions.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_functions.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -69,7 +69,7 @@
- defineTest(qtPrepareTool) {
-     cmd = $$eval(QT_TOOL.$${2}.binary)
-     isEmpty(cmd) {
--        cmd = $$[QT_HOST_BINS]/$$2
-+        cmd = $$system("command -v $$2")
-         exists($${cmd}.pl) {
-             $${1}_EXE = $${cmd}.pl
-             cmd = perl -w $$system_path($${cmd}.pl)
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_installs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_installs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_installs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_installs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -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 {
-     gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES
--    gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += gen_headers
- 
-     targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_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 $$SYNCQT.INJECTED_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 -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_plugin.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_plugin.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_plugin.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_plugin.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -88,7 +88,7 @@
-     }
- }
- 
--target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
-+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
- INSTALLS += target
- 
- TARGET = $$qt5LibraryTarget($$TARGET)
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/kernel/qcoreapplication.cpp qtbase-everywhere-src-5.11.3/src/corelib/kernel/qcoreapplication.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/kernel/qcoreapplication.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/kernel/qcoreapplication.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -2612,6 +2612,15 @@
-         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);
-Only in qtbase-everywhere-src-5.11.3/src/corelib/kernel: qcoreapplication.cpp.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtras.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -3,7 +3,7 @@
-     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 @@
-     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 @@
-     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
-@@ -116,7 +116,7 @@
- !!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
-@@ -130,7 +130,7 @@
-     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 -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -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 -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -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 -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/tools/qtimezoneprivate_tz.cpp qtbase-everywhere-src-5.11.3/src/corelib/tools/qtimezoneprivate_tz.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/tools/qtimezoneprivate_tz.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/tools/qtimezoneprivate_tz.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -70,7 +70,11 @@
- // 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");
- 
-@@ -644,12 +648,16 @@
-         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 -ur qtbase-everywhere-src-5.11.3-orig/src/dbus/Qt5DBusConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/dbus/Qt5DBusConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/dbus/Qt5DBusConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/dbus/Qt5DBusConfigExtras.cmake.in	2019-01-31 00:42:55.845577279 +0100
-@@ -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 @@
- 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 -ur qtbase-everywhere-src-5.11.3-orig/src/gui/Qt5GuiConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/gui/Qt5GuiConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/gui/Qt5GuiConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/gui/Qt5GuiConfigExtras.cmake.in	2019-01-31 00:42:55.845577279 +0100
-@@ -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 @@
-     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 -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -265,12 +265,9 @@
-     m_possibleLocations.reserve(7);
-     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 -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -650,9 +650,14 @@
- #if QT_CONFIG(library)
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
--                if (!lib.load())
--                    lib.setFileNameAndVersion(QLatin1String("GL"), 1);
-+#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
-             }
-Only in qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx: qglxintegration.cpp.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/qxcbcursor.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/qxcbcursor.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/qxcbcursor.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/qxcbcursor.cpp	2019-01-31 00:42:55.846577295 +0100
-@@ -316,10 +316,10 @@
- #if QT_CONFIG(xcb_xlib) && QT_CONFIG(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 -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platformthemes/gtk3/main.cpp qtbase-everywhere-src-5.11.3/src/plugins/platformthemes/gtk3/main.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platformthemes/gtk3/main.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platformthemes/gtk3/main.cpp	2019-01-31 00:42:55.846577295 +0100
-@@ -39,6 +39,7 @@
- 
- #include <qpa/qplatformthemeplugin.h>
- #include "qgtk3theme.h"
-+#include <QFile>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -54,8 +55,22 @@
- QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
- {
-     Q_UNUSED(params);
--    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
-+    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
-+
-+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
-+        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
-+        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
-+        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
-+#endif
-+
-+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
-+        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
-+        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
-+        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
-+#endif
-+
-         return new QGtk3Theme;
-+    }
- 
-     return 0;
- }
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/testlib/qtestassert.h qtbase-everywhere-src-5.11.3/src/testlib/qtestassert.h
---- qtbase-everywhere-src-5.11.3-orig/src/testlib/qtestassert.h	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/testlib/qtestassert.h	2019-01-31 00:42:55.846577295 +0100
-@@ -44,10 +44,13 @@
- 
- QT_BEGIN_NAMESPACE
- 
--
-+#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 -ur qtbase-everywhere-src-5.11.3-orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/widgets/Qt5WidgetsConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/widgets/Qt5WidgetsConfigExtras.cmake.in	2019-01-31 00:42:55.846577295 +0100
-@@ -3,7 +3,7 @@
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
deleted file mode 100644
index cfa68eb8102..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
-index 005db4248..685c5b1b2 100644
---- a/src/qml/qml/qqmlimport.cpp
-+++ b/src/qml/qml/qqmlimport.cpp
-@@ -1760,6 +1760,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 QString envImportPath = qEnvironmentVariable("QML2_IMPORT_PATH");
-diff --git a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-index 56cb3fb55..74509d601 100644
---- a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-+++ b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-@@ -17,7 +17,7 @@ function(QTQUICK_COMPILER_ADD_RESOURCES outfiles)
- 
-     find_package(Qt5 COMPONENTS Qml Core)
- 
--    set(compiler_path "${_qt5Core_install_prefix}/bin/qmlcachegen")
-+    set(compiler_path "qmlcachegen")
- 
-     get_target_property(rcc_path ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION)
- 
-diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
-index 537eaf62e..e21de58f6 100644
---- a/tools/qmlcachegen/qmlcache.prf
-+++ b/tools/qmlcachegen/qmlcache.prf
-@@ -26,7 +26,7 @@ defineReplace(qmlCacheOutputFileName) {
- }
- 
- qmlcacheinst.base = $$QMLCACHE_DESTDIR
--qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
- qmlcacheinst.CONFIG = no_check_exist
- 
- qmlcachegen.input = CACHEGEN_FILES
diff --git a/pkgs/development/libraries/qt-5/5.11/qtscript.patch b/pkgs/development/libraries/qt-5/5.11/qtscript.patch
deleted file mode 100644
index 5508dec1280..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-5/5.11/qtserialport.patch b/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
deleted file mode 100644
index f25524e80bc..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index af2dab2..8e17f64 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
-+#ifdef NIXPKGS_LIBUDEV
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-+#else
-         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+#endif
-         if (!udevLibrary->load()) {
-+#ifdef NIXPKGS_LIBUDEV
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-+#else
-             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+#endif
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
diff --git a/pkgs/development/libraries/qt-5/5.11/qttools.patch b/pkgs/development/libraries/qt-5/5.11/qttools.patch
deleted file mode 100644
index 622efc35b6b..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qttools.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-index 3b97923a..63336bd5 100644
---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- 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
-@@ -17,11 +16,7 @@ endif()
- if (NOT TARGET Qt5::qhelpgenerator)
-     add_executable(Qt5::qhelpgenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qhelpgenerator PROPERTIES
-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
---- a/src/macdeployqt/shared/shared.cpp
-+++ b/src/macdeployqt/shared/shared.cpp
-@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
-     if (!QFile(qmlImportScannerPath).exists())
-         qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
- 
-+#ifdef NIXPKGS_QMLIMPORTSCANNER
-+    // Fallback: Nixpkgs hardcoded path
-+    if (!QFile(qmlImportScannerPath).exists())
-+        qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
-+#endif
-+
-     // Verify that we found a qmlimportscanner binary
-     if (!QFile(qmlImportScannerPath).exists()) {
-         LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch
deleted file mode 100644
index 3e1a8762b36..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
---- a/mkspecs/features/platform.prf
-+++ b/mkspecs/features/platform.prf
-@@ -38,10 +38,6 @@ defineTest(isPlatformSupported) {
-          return(false)
-     }
-   } else:osx {
--    !isMinXcodeVersion(7, 3) {
--      skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 7.3 is required to build Qt WebEngine.")
--      return(false)
--    }
-     !clang|intel_icc {
-         skipBuild("Qt WebEngine on macOS requires Clang.")
-         return(false)
-@@ -52,10 +48,6 @@ defineTest(isPlatformSupported) {
-       skipBuild("Building Qt WebEngine requires macOS version 10.11 or newer.")
-       return(false)
-     }
--    !isMinOSXSDKVersion(10, 10): {
--      skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.11 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
--      return(false)
--    }
-   } else {
-     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
-     return(false)
-diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
---- a/src/core/config/mac_osx.pri
-+++ b/src/core/config/mac_osx.pri
-@@ -5,8 +5,6 @@ load(functions)
- # otherwise query for it.
- QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
- isEmpty(QMAKE_MAC_SDK_VERSION) {
--     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
--     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
- }
- 
- QMAKE_CLANG_DIR = "/usr"
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch
deleted file mode 100644
index f332d5e1bb2..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/qtwebengine.pro b/qtwebengine.pro
---- a/qtwebengine.pro
-+++ b/qtwebengine.pro
-@@ -5,7 +5,7 @@ runConfigure()
- 
- !isEmpty(skipBuildReason) {
-     SUBDIRS =
--    log($${skipBuildReason}$${EOL})
-+    error($${skipBuildReason}$${EOL})
-     log(QtWebEngine will not be built.$${EOL})
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
deleted file mode 100644
index b94a4b76cba..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
---- a/Source/WebKit2/PlatformQt.cmake
-+++ b/Source/WebKit2/PlatformQt.cmake
-@@ -261,6 +261,7 @@
- list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
-     ${GLIB_INCLUDE_DIRS}
-     ${GSTREAMER_INCLUDE_DIRS}
-+    ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
-     ${Qt5Quick_INCLUDE_DIRS}
-     ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
-     ${SQLITE_INCLUDE_DIR}
-
diff --git a/pkgs/development/libraries/qt-5/5.11/srcs.nix b/pkgs/development/libraries/qt-5/5.11/srcs.nix
deleted file mode 100644
index cff49b18033..00000000000
--- a/pkgs/development/libraries/qt-5/5.11/srcs.nix
+++ /dev/null
@@ -1,325 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qt3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1awyv40jgbb30yp5zxf6j9wq96nmk8zyhbh4fpn9gn35ychmr984";
-      name = "qt3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtactiveqt-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0g35yhp01c34m91fp5vzzq0d2kzz0yswpjjk5cg36j0ddnfcsh4d";
-      name = "qtactiveqt-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtandroidextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0clqz10ry70f0v8hbw37fhlwrsr5jddg99yjsk9db250dwbqzq27";
-      name = "qtandroidextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtbase-everywhere-src-5.11.3.tar.xz";
-      sha256 = "071yc9iz14qs4s8yvrwllyfdzp5yjxsdpvbjxdrf0g5q69vqigy6";
-      name = "qtbase-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtcanvas3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0f110z7cmkzns9k00aa5zhzq2fpybfxkd7gdlwzcbhc8hn20986m";
-      name = "qtcanvas3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtcharts-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1p4m1nkbbxlkwmbmasx5r83skzssmlcgfzyvj30x2dyrqkmz7627";
-      name = "qtcharts-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtconnectivity-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0amks3qad31i7cha85kvcaxvlmmgkc3gm4jdkw2p02ixxfygr30l";
-      name = "qtconnectivity-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdatavis3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1kqwr3avcvcyy4i28vjgxk1bsjj9011zr668hsk1zrjxnnwjwdl3";
-      name = "qtdatavis3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdeclarative-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1rhsf9bma2zwwpixk2fsg31x7c1pmsk144npypgc9w86swhkc9lf";
-      name = "qtdeclarative-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdoc-everywhere-src-5.11.3.tar.xz";
-      sha256 = "06nl8lzrilj8yify5qy4fm9la6dh71aamg19jhvvi657cshiclsq";
-      name = "qtdoc-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtgamepad = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtgamepad-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1k222cx18zq48sfna91hmy427qzk2n2xz3dlyz59iyz72k6915g9";
-      name = "qtgamepad-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtgraphicaleffects-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1qjpdzkamf27cg5n1wsf0zk939lcgppgydfjzap9s4fxzj1nkn0l";
-      name = "qtgraphicaleffects-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtimageformats-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0zq8igsjyyhxsjr43vpaasrqjw3x0g6rwqf8kaz7y9vs7ny63ch4";
-      name = "qtimageformats-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtlocation-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1sq0f41jwmsimv9a1wl2nk5nifjppm5j92rr4n4s7qwnnjjrir2q";
-      name = "qtlocation-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtmacextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1j9sqmcwswr8v9z8mcbm10bj7nz8nv9mir0xsc5123ik1gw2c3lk";
-      name = "qtmacextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtmultimedia-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0h9wx86zj20n4xc3qnml0i360x2dc1yd2z2af1flj8fwyzppi03j";
-      name = "qtmultimedia-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtnetworkauth = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtnetworkauth-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0dd35698wzg89975vi2ijl2lym495fjizsl03mjixsjnvb1x0q50";
-      name = "qtnetworkauth-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtpurchasing-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1fd0gxdj5mrh81iwimq1243i3n47sqv9ik8nslahfh0q3dsx7k8n";
-      name = "qtpurchasing-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0dvmy31qbl76yy0j5y8m7mvnmqyg2c01fmlkn0snvc5h5ah5skjf";
-      name = "qtquickcontrols-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols2-everywhere-src-5.11.3.tar.xz";
-      sha256 = "11nhpb0xckv5jjkqj5szr94c2rvyjwr89ch58hh64nsqaav30mpl";
-      name = "qtquickcontrols2-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtremoteobjects = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtremoteobjects-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1d3jzsxfyjhgb6wj9iv1388bv7j6pi08346nmkm1c1a4iykhc0zp";
-      name = "qtremoteobjects-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtscript-everywhere-src-5.11.3.tar.xz";
-      sha256 = "027cvggbcvwyz76cn1bl1zvqg0nq7iica1b7yx7xyy0hb36g715v";
-      name = "qtscript-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtscxml = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtscxml-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1mv8mz36v34dckrzy5r41mq3sqznbalrhndk3avz2154xmkjf5qk";
-      name = "qtscxml-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtsensors-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0n88c8xi9pbyh7q1pcqv4yjv6nx62abflj8qgfr4qzb0sp8m6mx7";
-      name = "qtsensors-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtserialbus-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0vf12jk1ma0v0dlpliw1x9i04iaik1kjkiaby7gaxm2abprxwr2n";
-      name = "qtserialbus-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtserialport-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1nkbfsxzgicwns3k11hhzjxy2hgrigj8xcw2by0jc1j71mnmxi4n";
-      name = "qtserialport-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtspeech = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtspeech-everywhere-src-5.11.3.tar.xz";
-      sha256 = "158p7zqd0vg55gf88jzc3d4f7649ihh80k0m1q46m2yp6fpdjbxr";
-      name = "qtspeech-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtsvg-everywhere-src-5.11.3.tar.xz";
-      sha256 = "14a4rprbj9f9rhixbk7143xdz34d7d39xh9v2sc1w43q9sf2rsi1";
-      name = "qtsvg-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qttools-everywhere-src-5.11.3.tar.xz";
-      sha256 = "13lzdxxi02yhvx4mflhisl6aqv2fiss5m804cqccd1wvp8dyh1f2";
-      name = "qttools-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qttranslations-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0j8i2kabz22vqb0qj41pkjv848zblqxs71sydc3xcd5av22b517s";
-      name = "qttranslations-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz";
-      sha256 = "17jb7cbfy5c19fr9frql6q22in3ra3a4fbff0kjykllxb8j40p4c";
-      name = "qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwayland-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1chz4wchgkzd45h143i5hkqg0whcgdbj37gkg7j4kj31whllzjb2";
-      name = "qtwayland-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebchannel-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1wrdawlqvcw84h8q52mvbjhp1vkd6fhz6c8ijlg9rw0s3fj4y99w";
-      name = "qtwebchannel-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebengine-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1zmqsdais85cdfh2jh8h4a5jcamp1mzdk3vgqm6xnldqf6nrxd2v";
-      name = "qtwebengine-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebglplugin = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebglplugin-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0wqz8lycmi7pffzy0pz5960w109lbk4mkbw0l1lh64avl6clq7b9";
-      name = "qtwebglplugin-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebsockets-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1ffmapfy68xwwbxbg19ng6b5h8v42cf78s21j7rgq49gm70r0402";
-      name = "qtwebsockets-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebview-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1njmn1n03dp4md8cz58cq2z6bsxd8nwlw0238zmavh7px3jzc9kh";
-      name = "qtwebview-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwinextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1xf9gc0wqk9jz2ayx29vx0vmm72x9h4qxp2fvgpclns621wyhw72";
-      name = "qtwinextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtx11extras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "11fd2mc20qmnyv1vqhaqad2q6m0i4lmkr432rmqvpkgphpkfp7pr";
-      name = "qtx11extras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtxmlpatterns-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1vhfvgi39miqsx3iq7c9sii2sykq0yfng69b70i0smr20zihpl4b";
-      name = "qtxmlpatterns-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index 0a37b1ce39a..8d27f3a0d4b 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -80,15 +80,6 @@ let
         url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951";
         sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
       })
-      # patch for CVE-2019-13720, can be removed when it is included in the next upstream release
-      # https://bugreports.qt.io/browse/QTBUG-1019226
-      (fetchpatch {
-        name = "qtwebengine-CVE-2019-13720.patch";
-        url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=d6e5fc10";
-        sha256 = "0ywc12m196pr6xn7l5xbascihygkjj4pbcgcn9wxvi5ssdr6z46z";
-        extraPrefix = "src/3rdparty/";
-        stripLen = 1;
-      })
     ]
       ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
     qtwebkit = [ ./qtwebkit.patch ]
diff --git a/pkgs/development/libraries/qt-5/5.12/fetch.sh b/pkgs/development/libraries/qt-5/5.12/fetch.sh
index 575115c9bdf..9f99879511e 100644
--- a/pkgs/development/libraries/qt-5/5.12/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.12/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.5/submodules/ )
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.6/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
index ae5d016c99f..bb535b8a0c0 100644
--- a/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
+++ b/pkgs/development/libraries/qt-5/5.12/qtbase.patch.d/0001-qtbase-mkspecs-mac.patch
@@ -5,11 +5,11 @@ Subject: [PATCH 01/12] qtbase-mkspecs-mac
 
 ---
  mkspecs/common/mac.conf               |   2 +-
- mkspecs/features/mac/default_post.prf | 201 --------------------------
- mkspecs/features/mac/default_pre.prf  |  58 --------
- mkspecs/features/mac/sdk.mk           |  25 ----
- mkspecs/features/mac/sdk.prf          |  61 --------
- 5 files changed, 1 insertion(+), 346 deletions(-)
+ mkspecs/features/mac/default_post.prf | 202 ----------------------------------
+ mkspecs/features/mac/default_pre.prf  |  58 ----------
+ mkspecs/features/mac/sdk.mk           |  25 -----
+ mkspecs/features/mac/sdk.prf          |  61 ----------
+ 5 files changed, 1 insertion(+), 347 deletions(-)
 
 diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
 index b77494ec9b..470c38e772 100644
@@ -25,10 +25,10 @@ index b77494ec9b..470c38e772 100644
  
  QMAKE_LFLAGS_REL_RPATH  =
 diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index 26bd3e2e98..b80ec1e801 100644
+index 993f4d56a9..b80ec1e801 100644
 --- a/mkspecs/features/mac/default_post.prf
 +++ b/mkspecs/features/mac/default_post.prf
-@@ -68,207 +68,6 @@ qt {
+@@ -68,208 +68,6 @@ qt {
      }
  }
  
@@ -61,21 +61,22 @@ index 26bd3e2e98..b80ec1e801 100644
 -        qmake_pkginfo_typeinfo.value = "????"
 -    QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
 -
--    !isEmpty(VERSION) {
--        l = $$split(VERSION, '.') 0 0  # make sure there are at least three
--        VER_MAJ = $$member(l, 0, 0)
--        VER_MIN = $$member(l, 1, 1)
--        VER_PAT = $$member(l, 2, 2)
--        unset(l)
+-    bundle_version = $$VERSION
+-    isEmpty(bundle_version): bundle_version = 1.0.0
 -
--        qmake_full_version.name = QMAKE_FULL_VERSION
--        qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
+-    l = $$split(bundle_version, '.') 0 0  # make sure there are at least three
+-    VER_MAJ = $$member(l, 0, 0)
+-    VER_MIN = $$member(l, 1, 1)
+-    VER_PAT = $$member(l, 2, 2)
+-    unset(l)
 -
--        qmake_short_version.name = QMAKE_SHORT_VERSION
--        qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
--    }
+-    qmake_full_version.name = QMAKE_FULL_VERSION
+-    qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
+-
+-    qmake_short_version.name = QMAKE_SHORT_VERSION
+-    qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
+-    QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
 -
 -    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
 -        debug_information_format.name = DEBUG_INFORMATION_FORMAT
diff --git a/pkgs/development/libraries/qt-5/5.12/srcs.nix b/pkgs/development/libraries/qt-5/5.12/srcs.nix
index 3b4d761c16c..b4494593fd0 100644
--- a/pkgs/development/libraries/qt-5/5.12/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.12/srcs.nix
@@ -3,323 +3,323 @@
 
 {
   qt3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qt3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "2a35b144768c7ad8a9265d16a04f038d9bc51016bd2c4b2b516e374f81ff29c4";
-      name = "qt3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qt3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "cf34ce99a2592270abbf32a13fa824d99c76412fc493a3f1c37e37892b198baf";
+      name = "qt3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtactiveqt-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d673a1269dd900c78dbfe88eb16e086e36d236571722712a64401cdec7b73a40";
-      name = "qtactiveqt-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtactiveqt-everywhere-src-5.12.6.tar.xz";
+      sha256 = "c50f082588bf7dad2091a5b67c426791bf36d7d1503c56dc79b9e26444931f09";
+      name = "qtactiveqt-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtandroidextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f115ccef1e808da7c5d0348f3e245952a2973966f34d18b935f9e3eb16062eab";
-      name = "qtandroidextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtandroidextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "a0f15a4ba29abe90de2b2c221efd22ecfb6793590ff9610f85e6e6b6562784fe";
+      name = "qtandroidextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtbase = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtbase-everywhere-src-5.12.5.tar.xz";
-      sha256 = "fc8abffbbda9da3e593d8d62b56bc17dbaab13ff71b72915ddda11dabde4d625";
-      name = "qtbase-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtbase-everywhere-src-5.12.6.tar.xz";
+      sha256 = "6ab52649d74d7c1728cf4a6cf335d1142b3bf617d476e2857eb7961ef43f9f27";
+      name = "qtbase-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtcanvas3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "1553e06ce3cc5afb36aed3698b85c00e734eac07f7f41895426bebd84216d80c";
-      name = "qtcanvas3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtcanvas3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "2d33e6c944e5a2eed7528fdfe9deadfb1b7a0fcf17bab1f8b83988b1327d9d08";
+      name = "qtcanvas3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtcharts = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtcharts-everywhere-src-5.12.5.tar.xz";
-      sha256 = "4c7c30a916ba0100a1635b89f48bc5a8af4cdedac79c3fc18456af54dc0a6608";
-      name = "qtcharts-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtcharts-everywhere-src-5.12.6.tar.xz";
+      sha256 = "14dbdb5bb18d774e3b7ac3042a3f349080ab42c2588527ff04123df1c9ccaa3d";
+      name = "qtcharts-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtconnectivity-everywhere-src-5.12.5.tar.xz";
-      sha256 = "bdf62c72d689f47c4d17ecdde934d9f85a1164091e58fce02873de259e8de88b";
-      name = "qtconnectivity-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtconnectivity-everywhere-src-5.12.6.tar.xz";
+      sha256 = "10f1c6727aedc375a1bfab4bb33fd2111bf2c1dfc19049e361c0f58608ea22da";
+      name = "qtconnectivity-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdatavis3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdatavis3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "1de165bf5330c7fb18c6fbb8c0e5cda47fa19c2eaba657b3792fd75e653444f3";
-      name = "qtdatavis3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdatavis3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "414d91aae5e7d3404a0b526f944961871b1abf1fda51f0861d19cb28a2eba4fe";
+      name = "qtdatavis3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdeclarative-everywhere-src-5.12.5.tar.xz";
-      sha256 = "22c5323d4b01259e6e352eef1b54129d6dfee00a406f0312905fa7db322b9190";
-      name = "qtdeclarative-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdeclarative-everywhere-src-5.12.6.tar.xz";
+      sha256 = "34b1d1ae5562f1d433e22c255ac1a37a2fb030ef05bf6123d4b9496644b686d3";
+      name = "qtdeclarative-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdoc-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f1de30227b8854c284e9c23e9c0c44d9fe768880aef826b0f880a44dd7c7538d";
-      name = "qtdoc-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdoc-everywhere-src-5.12.6.tar.xz";
+      sha256 = "82549278120236ece0e02f9bab351319e4469c242ce97b05f269964aee924aac";
+      name = "qtdoc-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtgamepad = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtgamepad-everywhere-src-5.12.5.tar.xz";
-      sha256 = "de88f01d47f7cc5d54a1af783c5fae9f2b0101948ff33b8290f71b2657aded33";
-      name = "qtgamepad-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtgamepad-everywhere-src-5.12.6.tar.xz";
+      sha256 = "e1ebc5f3593c5234724663106790fbf1831d4ac8ea50a9d9805d2dd0a1c5b3b3";
+      name = "qtgamepad-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtgraphicaleffects-everywhere-src-5.12.5.tar.xz";
-      sha256 = "bdbddba7e0e0d041809a98d97c07da8be8936ec48537335cbaea9b0049c646ad";
-      name = "qtgraphicaleffects-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtgraphicaleffects-everywhere-src-5.12.6.tar.xz";
+      sha256 = "ded0327624a13bf7fab07e5fe762473194ed898b0442ef9325498e41c8c077ef";
+      name = "qtgraphicaleffects-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtimageformats-everywhere-src-5.12.5.tar.xz";
-      sha256 = "9f19394830542fb9e6bde6806b6216b7207f96bff674b91e8e8a8f89699e1f0a";
-      name = "qtimageformats-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtimageformats-everywhere-src-5.12.6.tar.xz";
+      sha256 = "330d1c29a135c44bb36b5ffc2ba4f8915dbc446d5d75563523ebcfd373617858";
+      name = "qtimageformats-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtlocation-everywhere-src-5.12.5.tar.xz";
-      sha256 = "12c8b59755abc4ca56e135e8ae3db7c6ba1bd95c779060f10a01393ae1040122";
-      name = "qtlocation-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtlocation-everywhere-src-5.12.6.tar.xz";
+      sha256 = "7ae231ca4de3c0915e92bb95440b0ddc7113790b1acb536c9394472e8dde2278";
+      name = "qtlocation-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtmacextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "984c3c95834aaa6fd85234ab1987a79662911c510e419611ce88fb4756313194";
-      name = "qtmacextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtmacextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "eae25b8858fef348667b938f5c88a014ee78945c419e4e6d856d4a6adc5e43a3";
+      name = "qtmacextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtmultimedia-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d5a0a4fddc5ef14d641160a1fc0011b190ff8d9f19009498d586516b8ee3479c";
-      name = "qtmultimedia-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtmultimedia-everywhere-src-5.12.6.tar.xz";
+      sha256 = "9f580e8962ca6a09608570e77b38d7c3f71d344ff6de1c39bc6905226b679570";
+      name = "qtmultimedia-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtnetworkauth = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtnetworkauth-everywhere-src-5.12.5.tar.xz";
-      sha256 = "0933475a2d30550c70ce4026c72678cbfdac73211593c78d442e038ef531a9f1";
-      name = "qtnetworkauth-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtnetworkauth-everywhere-src-5.12.6.tar.xz";
+      sha256 = "ea122d86a960863bbe0e0f4b5a12f0a376455beed3c26f1b61926e065b366abd";
+      name = "qtnetworkauth-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtpurchasing = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtpurchasing-everywhere-src-5.12.5.tar.xz";
-      sha256 = "7bcebc4985d387f3fa4ffcc19eada1f4f0f000ed0fd3e1d1dc37eb1db0be615b";
-      name = "qtpurchasing-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtpurchasing-everywhere-src-5.12.6.tar.xz";
+      sha256 = "1fa0b7e3da4755b64559177f507718320c1aa9e66ec49e17595e04c3f3af70cd";
+      name = "qtpurchasing-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtquickcontrols = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtquickcontrols-everywhere-src-5.12.5.tar.xz";
-      sha256 = "46deaefbdac3daa576c748e807956f5f82b2318923b1a36e434a3ff32d1d2559";
-      name = "qtquickcontrols-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtquickcontrols-everywhere-src-5.12.6.tar.xz";
+      sha256 = "c48d96a187ff924f1ae4b4abe9cc073adeb06a6c2b07c4191aa595ad22df2c99";
+      name = "qtquickcontrols-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtquickcontrols2 = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtquickcontrols2-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d744bdc492486db6cb521b1d4891e2358719399825ca1cf2a50968a80f6acb8f";
-      name = "qtquickcontrols2-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtquickcontrols2-everywhere-src-5.12.6.tar.xz";
+      sha256 = "5cab0712f946405db269851b96cca02ef8ba98f3ee2c4fa9c0877dba3808a970";
+      name = "qtquickcontrols2-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtremoteobjects = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtremoteobjects-everywhere-src-5.12.5.tar.xz";
-      sha256 = "acf131af93dd1fefbf30c7e03e29b8a1da3180e00c49f95c14a1cb6158cfeacd";
-      name = "qtremoteobjects-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtremoteobjects-everywhere-src-5.12.6.tar.xz";
+      sha256 = "49b5353d020fb6ab9bdf90c941a4b3acc6b036266f6c68a42fc44a7ac151d699";
+      name = "qtremoteobjects-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtscript = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtscript-everywhere-src-5.12.5.tar.xz";
-      sha256 = "0083734ae827840334b774decb15de37f1b4ea5c88e442e2f485c530f24f1df4";
-      name = "qtscript-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtscript-everywhere-src-5.12.6.tar.xz";
+      sha256 = "a18082ad338e2378cccab932045804ad3077ec924fed2efc59d4b726d622777c";
+      name = "qtscript-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtscxml = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtscxml-everywhere-src-5.12.5.tar.xz";
-      sha256 = "6f1ec74100cdb2e7dfc3535e09d356fc53ba42e61b32fc3b93d5a7efed49960c";
-      name = "qtscxml-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtscxml-everywhere-src-5.12.6.tar.xz";
+      sha256 = "53d7837c8b5b1f9beb26cb64ea4334211218533e0126167e4e7e75238f7ac68b";
+      name = "qtscxml-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtsensors-everywhere-src-5.12.5.tar.xz";
-      sha256 = "e3a86a706f475bb23fc874de56026482de223ebd24f8cb4e94a28d1985ca0b85";
-      name = "qtsensors-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtsensors-everywhere-src-5.12.6.tar.xz";
+      sha256 = "59dba4c0bc72846d938e0862f14d8064fb664d893f270a41d3abf4e871290ef5";
+      name = "qtsensors-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtserialbus-everywhere-src-5.12.5.tar.xz";
-      sha256 = "8474ae61a703c56e327ae0755c27643f2eafe0d915e8c6afb21728548dc02c22";
-      name = "qtserialbus-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtserialbus-everywhere-src-5.12.6.tar.xz";
+      sha256 = "071b421282118c507a996e3cee4070f2c545335dfd891a44bf54100935cff5de";
+      name = "qtserialbus-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtserialport-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f8ef0321a59ecfe2c72adc2ee220e0047403439a3c7b9efb719b1476af1fb862";
-      name = "qtserialport-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtserialport-everywhere-src-5.12.6.tar.xz";
+      sha256 = "77d0def93078fb5d9de6faa9ccff05cce5b934899e856b04bcf7f721a4e190be";
+      name = "qtserialport-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtspeech = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtspeech-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f94c0cd7236d1a20d97d314d2c17c45c967cd7f24b869c43f5f46253f436f25b";
-      name = "qtspeech-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtspeech-everywhere-src-5.12.6.tar.xz";
+      sha256 = "27ae7b2c7073377a617f32b0f4adfc1807774f02d13469ed4bcd282799cf878a";
+      name = "qtspeech-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtsvg-everywhere-src-5.12.5.tar.xz";
-      sha256 = "75a791cf749f671d7ea9090b403ca513f745795018db512e7eecbf418b679840";
-      name = "qtsvg-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtsvg-everywhere-src-5.12.6.tar.xz";
+      sha256 = "46243e6c425827ab4e91fbe31567f683ff14cb01d12f9f7543a83a571228ef8f";
+      name = "qtsvg-everywhere-src-5.12.6.tar.xz";
     };
   };
   qttools = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qttools-everywhere-src-5.12.5.tar.xz";
-      sha256 = "28e095047b4985437dd66120cbcb49ac091bf4f12576ecad7ebc781b7dd44025";
-      name = "qttools-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qttools-everywhere-src-5.12.6.tar.xz";
+      sha256 = "e94991c7885c2650cefd71189873e45b1d64d6042e439a0a0d9652c191d3c777";
+      name = "qttools-everywhere-src-5.12.6.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qttranslations-everywhere-src-5.12.5.tar.xz";
-      sha256 = "72eb6317190fdcc3f8de37996adc646ab8772988766bacaab60a5bcc7d6a3f2a";
-      name = "qttranslations-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qttranslations-everywhere-src-5.12.6.tar.xz";
+      sha256 = "798ac44414206898d0192653118de3f115c59016e2bf82ad0c659f9f8c864768";
+      name = "qttranslations-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtvirtualkeyboard = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtvirtualkeyboard-everywhere-src-5.12.5.tar.xz";
-      sha256 = "786d745b34b1f145073488d492325e98bcde81b07ab984032ea5eb2fb52e6e5e";
-      name = "qtvirtualkeyboard-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtvirtualkeyboard-everywhere-src-5.12.6.tar.xz";
+      sha256 = "04699888d6e1e8e04db8043a37212fa3b1fcb1b23aef41c2f3ae7a4278e34d2c";
+      name = "qtvirtualkeyboard-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwayland-everywhere-src-5.12.5.tar.xz";
-      sha256 = "29fd31267149451f93faa15f031e0a14506e704086033f70d51479522c6f3846";
-      name = "qtwayland-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwayland-everywhere-src-5.12.6.tar.xz";
+      sha256 = "fa9c6aa84ddc0334b44f0f47d69569e496e5d9f3a1ed67aab42214854d2351c4";
+      name = "qtwayland-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebchannel-everywhere-src-5.12.5.tar.xz";
-      sha256 = "9f1d1ac20722ee053ecf071d4ec0070a45a765cb67b6e31add61004fb4b3c5e8";
-      name = "qtwebchannel-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebchannel-everywhere-src-5.12.6.tar.xz";
+      sha256 = "2745d1703de1a749405727a74786184c950ba7465dc5d02e2f39f51635dbc8d7";
+      name = "qtwebchannel-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebengine-everywhere-src-5.12.5.tar.xz";
-      sha256 = "31881130e69eb8336e9480f9f33cd5a93e86de8d7323c0ae1893e1a72ce70743";
-      name = "qtwebengine-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebengine-everywhere-src-5.12.6.tar.xz";
+      sha256 = "caa5f257c3bc33c1d2fcb9b7cd414fd5c46e8eee8a103231ab28d592a0058621";
+      name = "qtwebengine-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebglplugin = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebglplugin-everywhere-src-5.12.5.tar.xz";
-      sha256 = "aac3b2b2e5b6f26dd7abba6eab616777fecbb4d06de05ddab68c1296652bc4f7";
-      name = "qtwebglplugin-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebglplugin-everywhere-src-5.12.6.tar.xz";
+      sha256 = "21d88852f69f0f06c5899e61fe76b2cefc2b65be4ed3c334ec01431ba16f50dd";
+      name = "qtwebglplugin-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebsockets-everywhere-src-5.12.5.tar.xz";
-      sha256 = "5d58e697c49c0ea19a8299deba84b5360dca8c336a1636d38de0351757293262";
-      name = "qtwebsockets-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebsockets-everywhere-src-5.12.6.tar.xz";
+      sha256 = "f00bfbaa73e60a4c3371e729167d7acb465cbb2db32535d745982cab21fed61e";
+      name = "qtwebsockets-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebview-everywhere-src-5.12.5.tar.xz";
-      sha256 = "a6d4d8c335cd6838f4638874fcd67655e80db569ed567a774a84f6bf7d332f26";
-      name = "qtwebview-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebview-everywhere-src-5.12.6.tar.xz";
+      sha256 = "42c0623c1c066620ab1afc3736a4a5f42115f9c190dafdf643e16ccec6e7727a";
+      name = "qtwebview-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwinextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "7ee2fc73bc95c5e36e8ed2d02fc89822d56c406c540fbfa52bb0e3929ff2f93d";
-      name = "qtwinextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwinextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "02c2b2393073a22498a5645faed34040428ace9cf09f18e2f12e75e31be54bea";
+      name = "qtwinextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtx11extras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "89425af3e48b040878c6a64ace58c17a83b87c9330e6366b09a41d6797062a68";
-      name = "qtx11extras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtx11extras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "5f3991f557116034731ed059895e73b5d34e1b22e85536a8eb6e92350b3a1d6b";
+      name = "qtx11extras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtxmlpatterns-everywhere-src-5.12.5.tar.xz";
-      sha256 = "b905d9107f87798ef0f142942fc45c0f63fc113522ab041e791d3cb744a8babd";
-      name = "qtxmlpatterns-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtxmlpatterns-everywhere-src-5.12.6.tar.xz";
+      sha256 = "76977bc834e6c6118ae2bab31e68ae54843358936b03e432d919ad15cd2184d0";
+      name = "qtxmlpatterns-everywhere-src-5.12.6.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix
deleted file mode 100644
index 8854ed54700..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/default.nix
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
-
-# Updates
-
-Before a major version update, make a copy of this directory. (We like to
-keep the old version around for a short time after major updates.) Add a
-top-level attribute to `top-level/all-packages.nix`.
-
-1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`.
-2. From the top of the Nixpkgs tree, run
-   `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
-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, gtk3, dconf,
-
-  # 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
-      ./qtbase-openssl_1_1.patch
-    ];
-    qtdeclarative = [ ./qtdeclarative.patch ];
-    qtscript = [
-      ./qtscript.patch
-      # needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196
-      # fixed in qtscript 5.12.2
-      (fetchpatch {
-        url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff";
-        sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi";
-      })
-    ];
-    qtserialport = [ ./qtserialport.patch ];
-    qttools = [ ./qttools.patch ];
-    qtwebengine = [
-      ./qtwebengine-no-build-skip.patch
-      # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707
-      # https://bugreports.qt.io/browse/QTBUG-77037
-      (fetchpatch {
-        name = "fix-build-with-pulseaudio-13.0.patch";
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951";
-        sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
-      })
-    ] ++ optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch
-      ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.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=61780a113f02b3c62fb14516fe8ea47d91f9ed9a";
-        sha256 = "0jd4nzaz9ndm9ryvrkav7kjs437l661288diklhbmgh249f8gki0";
-      })
-      (fetchpatch {
-        name = "CVE-2018-19865-B.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=c0ac7a4c684e2fed60a72ceee53da89eea3f95a7";
-        sha256 = "0yvxrx5vx6845vgnq8ml3q93y61py5j0bvhqj7nqvpbmyj1wy1p3";
-
-      })
-      (fetchpatch {
-        name = "CVE-2018-19865-C.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=a2e7b8412f56841e12ed20a39f4a38e32d3c1e30";
-        sha256 = "1yijysa9gy5xbxndx5ri0dkfrjqja0d1bsx52qz4mhzi4pkbib02";
-      })
-    ];
-
-  };
-
-  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 (srcs.qtbase) src version;
-        patches = patches.qtbase;
-        inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
-        inherit developerBuild decryptSslTraffic;
-      };
-
-      qtcharts = callPackage ../modules/qtcharts.nix {};
-      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 = callPackage ../modules/qtmacextras.nix {};
-      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
-        inherit gstreamer gst-plugins-base;
-      };
-      qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
-      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 {};
-      qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.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 {};
-      qtx11extras = callPackage ../modules/qtx11extras.nix {};
-      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
-
-      env = callPackage ../qt-env.nix {};
-      full = env "qt-full-${qtbase.version}" ([
-        qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
-        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
-        qtscript qtsensors qtserialport qtsvg qttools qttranslations
-        qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
-        qtx11extras qtxmlpatterns
-      ] ++ optional (!stdenv.isDarwin) qtwayland
-        ++ optional (stdenv.isDarwin) qtmacextras);
-
-      qmake = makeSetupHook {
-        deps = [ self.qtbase.dev ];
-        substitutions = {
-          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
-        };
-      } ../hooks/qmake-hook.sh;
-
-      wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
-      } ../hooks/wrap-qt-apps-hook.sh;
-    };
-
-   self = makeScope newScope addPackages;
-
-in self
diff --git a/pkgs/development/libraries/qt-5/5.9/fetch.sh b/pkgs/development/libraries/qt-5/5.9/fetch.sh
deleted file mode 100644
index 17ebe1e532d..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/fetch.sh
+++ /dev/null
@@ -1 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.9/5.9.7/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 0bbc871..3673634 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index 5baf0fd..3583745 100644
---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
deleted file mode 100644
index d5f4d7527cb..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
+++ /dev/null
@@ -1,3985 +0,0 @@
-commit 2d88fc0ce4ac76924a65ffd797183de9422ba672
-Author: Andreas Rammhold <andreas@rammhold.de>
-Date:   Wed Mar 6 00:18:51 2019 +0100
-
-    openssl1.1 compat
-
-diff --git a/config.tests/openssl/openssl.cpp b/config.tests/openssl/openssl.cpp
-index 6c8a9e8f19..d33b62389c 100644
---- a/config.tests/openssl/openssl.cpp
-+++ b/config.tests/openssl/openssl.cpp
-@@ -39,8 +39,8 @@
- 
- #include <openssl/opensslv.h>
- 
--#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL || OPENSSL_VERSION_NUMBER-0 >= 0x10100000L
--#  error "OpenSSL >= 0.9.7, and < 1.1.0 is required"
-+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL
-+#  error "OpenSSL >= 0.9.7 is required"
- #endif
- 
- #include <openssl/ssl.h>
-diff --git a/config.tests/openssl11/openssl.cpp b/config.tests/openssl11/openssl.cpp
-new file mode 100644
-index 0000000000..c20cc59deb
---- /dev/null
-+++ b/config.tests/openssl11/openssl.cpp
-@@ -0,0 +1,48 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <openssl/opensslv.h>
-+
-+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
-+#  error "OpenSSL >= 1.1 is required"
-+#endif
-+
-+int main()
-+{
-+}
-diff --git a/config.tests/openssl11/openssl11.pro b/config.tests/openssl11/openssl11.pro
-new file mode 100644
-index 0000000000..a023aee4aa
---- /dev/null
-+++ b/config.tests/openssl11/openssl11.pro
-@@ -0,0 +1,2 @@
-+SOURCES = openssl.cpp
-+CONFIG -= x11 qt
-diff --git a/src/network/configure.json b/src/network/configure.json
-index 2cf90ed94b..a021c0734b 100644
---- a/src/network/configure.json
-+++ b/src/network/configure.json
-@@ -77,6 +77,17 @@
-                 },
-                 { "libs": "-lssl -lcrypto", "condition": "!config.win32" }
-             ]
-+        },
-+        "openssl11": {
-+            "label": "OpenSSL v. 1.1 support",
-+            "type": "compile",
-+            "test": "openssl11",
-+	    "sources": [
-+		{
-+                    "comment": "placeholder for OPENSSL_PATH",
-+                    "libs": ""
-+                }
-+	    ]
-         }
-     },
- 
-@@ -182,7 +193,7 @@
-             "enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
-             "disable": "input.openssl == 'no' || input.ssl == 'no'",
-             "autoDetect": "!config.winrt",
--            "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers)",
-+            "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers || feature.opensslv11)",
-             "output": [
-                 "privateFeature",
-                 { "type": "publicQtConfig", "condition": "!features.openssl-linked" },
-@@ -193,7 +204,7 @@
-             "label": "  Qt directly linked to OpenSSL",
-             "enable": "input.openssl == 'linked'",
-             "disable": "input.openssl != 'linked'",
--            "condition": "!features.securetransport && libs.openssl",
-+            "condition": "!features.securetransport && (libs.openssl || feature.opensslv11)",
-             "output": [
-                 "privateFeature",
-                 { "type": "define", "name": "QT_LINKED_OPENSSL" }
-@@ -213,6 +224,11 @@
-             "condition": "config.winrt || features.securetransport || features.openssl",
-             "output": [ "publicFeature", "feature" ]
-         },
-+        "opensslv11": {
-+            "label": "OpenSSL v. 1.1",
-+            "condition": "libs.openssl11",
-+            "output": ["publicFeature", "feature"]
-+        },
-         "sctp": {
-             "label": "SCTP",
-             "autoDetect": false,
-diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp
-index 28b7eda54a..71e514a025 100644
---- a/src/network/ssl/qsslcertificate_openssl.cpp
-+++ b/src/network/ssl/qsslcertificate_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -64,12 +65,14 @@ bool QSslCertificate::operator==(const QSslCertificate &other) const
- uint qHash(const QSslCertificate &key, uint seed) Q_DECL_NOTHROW
- {
-     if (X509 * const x509 = key.d->x509) {
--        (void)q_X509_cmp(x509, x509); // populate x509->sha1_hash
--                                      // (if someone knows a better way...)
--        return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
--    } else {
--        return seed;
-+        const EVP_MD *sha1 = q_EVP_sha1();
-+        unsigned int len = 0;
-+        unsigned char md[EVP_MAX_MD_SIZE];
-+        q_X509_digest(x509, sha1, md, &len);
-+        return qHashBits(md, len, seed);
-     }
-+
-+    return seed;
- }
- 
- bool QSslCertificate::isNull() const
-@@ -89,8 +92,7 @@ QByteArray QSslCertificate::version() const
- {
-     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-     if (d->versionString.isEmpty() && d->x509)
--        d->versionString =
--            QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
-+        d->versionString = QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
- 
-     return d->versionString;
- }
-@@ -99,7 +101,7 @@ QByteArray QSslCertificate::serialNumber() const
- {
-     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-     if (d->serialNumberString.isEmpty() && d->x509) {
--        ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
-+        ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
-         QByteArray hexString;
-         hexString.reserve(serialNumber->length * 3);
-         for (int a = 0; a < serialNumber->length; ++a) {
-@@ -199,14 +201,15 @@ QMultiMap<QSsl::AlternativeNameEntryType, QString> QSslCertificate::subjectAlter
-                 continue;
-             }
- 
--            const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(genName->d.ia5));
-+            const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(genName->d.ia5));
-             const QString altName = QString::fromLatin1(altNameStr, len);
-             if (genName->type == GEN_DNS)
-                 result.insert(QSsl::DnsEntry, altName);
-             else if (genName->type == GEN_EMAIL)
-                 result.insert(QSsl::EmailEntry, altName);
-         }
--        q_sk_pop_free((STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_sk_free));
-+
-+        q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_OPENSSL_sk_free));
-     }
- 
-     return result;
-@@ -235,25 +238,26 @@ QSslKey QSslCertificate::publicKey() const
-     QSslKey key;
- 
-     key.d->type = QSsl::PublicKey;
--    X509_PUBKEY *xkey = d->x509->cert_info->key;
--    EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
-+
-+    EVP_PKEY *pkey = q_X509_get_pubkey(d->x509);
-     Q_ASSERT(pkey);
-+    const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
- 
--    if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
-+    if (keyType == EVP_PKEY_RSA) {
-         key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
-         key.d->algorithm = QSsl::Rsa;
-         key.d->isNull = false;
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
-+    } else if (keyType == EVP_PKEY_DSA) {
-         key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
-         key.d->algorithm = QSsl::Dsa;
-         key.d->isNull = false;
- #ifndef OPENSSL_NO_EC
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) {
-+    } else if (keyType == EVP_PKEY_EC) {
-         key.d->ec = q_EVP_PKEY_get1_EC_KEY(pkey);
-         key.d->algorithm = QSsl::Ec;
-         key.d->isNull = false;
- #endif
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
-+    } else if (keyType == EVP_PKEY_DH) {
-         // DH unsupported
-     } else {
-         // error?
-@@ -275,7 +279,7 @@ static QVariant x509UnknownExtensionToValue(X509_EXTENSION *ext)
-     X509V3_EXT_METHOD *meth = const_cast<X509V3_EXT_METHOD *>(q_X509V3_EXT_get(ext));
-     if (!meth) {
-         ASN1_OCTET_STRING *value = q_X509_EXTENSION_get_data(ext);
--        QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_data(value)),
-+        QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(value)),
-                            q_ASN1_STRING_length(value));
-         return result;
-     }
-@@ -371,7 +375,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext)
-                         continue;
-                     }
- 
--                    const char *uriStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(name->d.uniformResourceIdentifier));
-+                    const char *uriStr = reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(name->d.uniformResourceIdentifier));
-                     const QString uri = QString::fromUtf8(uriStr, len);
- 
-                     result[QString::fromUtf8(QSslCertificatePrivate::asn1ObjectName(ad->method))] = uri;
-@@ -380,11 +384,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext)
-                 }
-             }
- 
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--            q_sk_pop_free((_STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
--#else
--            q_sk_pop_free((STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
--#endif
-+            q_OPENSSL_sk_pop_free((OPENSSL_STACK*)info, reinterpret_cast<void(*)(void *)>(q_OPENSSL_sk_free));
-             return result;
-         }
-         break;
-@@ -607,7 +607,11 @@ static QMap<QByteArray, QString> _q_mapFromX509Name(X509_NAME *name)
-         unsigned char *data = 0;
-         int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
-         info.insertMulti(name, QString::fromUtf8((char*)data, size));
-+#if QT_CONFIG(opensslv11)
-+        q_CRYPTO_free(data, 0, 0);
-+#else
-         q_CRYPTO_free(data);
-+#endif
-     }
- 
-     return info;
-@@ -619,8 +623,9 @@ QSslCertificate QSslCertificatePrivate::QSslCertificate_from_X509(X509 *x509)
-     if (!x509 || !QSslSocket::supportsSsl())
-         return certificate;
- 
--    ASN1_TIME *nbef = q_X509_get_notBefore(x509);
--    ASN1_TIME *naft = q_X509_get_notAfter(x509);
-+    ASN1_TIME *nbef = q_X509_getm_notBefore(x509);
-+    ASN1_TIME *naft = q_X509_getm_notAfter(x509);
-+
-     certificate.d->notValidBefore = q_getTimeFromASN1(nbef);
-     certificate.d->notValidAfter = q_getTimeFromASN1(naft);
-     certificate.d->null = false;
-diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
-index c92d8fc3f8..cef503710c 100644
---- a/src/network/ssl/qsslcontext_openssl.cpp
-+++ b/src/network/ssl/qsslcontext_openssl.cpp
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
- ** Copyright (C) 2014 Governikus GmbH & Co. KG.
- ** Contact: https://www.qt.io/licensing/
-@@ -41,22 +41,14 @@
- 
- 
- #include <QtNetwork/qsslsocket.h>
--#include <QtNetwork/qssldiffiehellmanparameters.h>
--#include <QtCore/qmutex.h>
- 
- #include "private/qssl_p.h"
- #include "private/qsslcontext_openssl_p.h"
--#include "private/qsslsocket_p.h"
- #include "private/qsslsocket_openssl_p.h"
- #include "private/qsslsocket_openssl_symbols_p.h"
--#include "private/qssldiffiehellmanparameters_p.h"
- 
- QT_BEGIN_NAMESPACE
- 
--// defined in qsslsocket_openssl.cpp:
--extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
--extern QString getErrorsFromOpenSsl();
--
- QSslContext::QSslContext()
-     : ctx(0),
-     pkey(0),
-@@ -78,301 +70,6 @@ QSslContext::~QSslContext()
-         q_SSL_SESSION_free(session);
- }
- 
--static inline QString msgErrorSettingEllipticCurves(const QString &why)
--{
--    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
--}
--
--// static
--void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
--{
--    sslContext->sslConfiguration = configuration;
--    sslContext->errorCode = QSslError::NoError;
--
--    bool client = (mode == QSslSocket::SslClientMode);
--
--    bool reinitialized = false;
--    bool unsupportedProtocol = false;
--init_context:
--    switch (sslContext->sslConfiguration.protocol()) {
--    case QSsl::SslV2:
--#ifndef OPENSSL_NO_SSL2
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
--#else
--        // SSL 2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::SslV3:
--#ifndef OPENSSL_NO_SSL3_METHOD
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
--#else
--        // SSL 3 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::SecureProtocols:
--        // SSLv2 and SSLv3 will be disabled by SSL options
--        // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32.
--    case QSsl::TlsV1SslV3:
--        // SSLv2 will will be disabled by SSL options
--    case QSsl::AnyProtocol:
--    default:
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--        break;
--    case QSsl::TlsV1_0:
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
--        break;
--    case QSsl::TlsV1_1:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method());
--#else
--        // TLS 1.1 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::TlsV1_2:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method());
--#else
--        // TLS 1.2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::TlsV1_0OrLater:
--        // Specific protocols will be specified via SSL options.
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--        break;
--    case QSsl::TlsV1_1OrLater:
--    case QSsl::TlsV1_2OrLater:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        // Specific protocols will be specified via SSL options.
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--#else
--        // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    }
--
--    if (!sslContext->ctx) {
--        // After stopping Flash 10 the SSL library looses its ciphers. Try re-adding them
--        // by re-initializing the library.
--        if (!reinitialized) {
--            reinitialized = true;
--            if (q_SSL_library_init() == 1)
--                goto init_context;
--        }
--
--        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
--            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
--        );
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    // Enable bug workarounds.
--    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
--    q_SSL_CTX_set_options(sslContext->ctx, options);
--
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    // Tell OpenSSL to release memory early
--    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
--    if (q_SSLeay() >= 0x10000000L)
--        q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
--#endif
--
--    // Initialize ciphers
--    QByteArray cipherString;
--    bool first = true;
--    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
--    if (ciphers.isEmpty())
--        ciphers = QSslSocketPrivate::defaultCiphers();
--    for (const QSslCipher &cipher : qAsConst(ciphers)) {
--        if (first)
--            first = false;
--        else
--            cipherString.append(':');
--        cipherString.append(cipher.name().toLatin1());
--    }
--
--    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
--        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    const QDateTime now = QDateTime::currentDateTimeUtc();
--
--    // Add all our CAs to this store.
--    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
--    for (const QSslCertificate &caCertificate : caCertificates) {
--        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
--        //
--        // If several CA certificates matching the name, key identifier, and
--        // serial number condition are available, only the first one will be
--        // examined. This may lead to unexpected results if the same CA
--        // certificate is available with different expiration dates. If a
--        // ``certificate expired'' verification error occurs, no other
--        // certificate will be searched. Make sure to not have expired
--        // certificates mixed with valid ones.
--        //
--        // See also: QSslSocketBackendPrivate::verify()
--        if (caCertificate.expiryDate() >= now) {
--            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
--        }
--    }
--
--    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
--        // tell OpenSSL the directories where to look up the root certs on demand
--        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
--        for (const QByteArray &unixDir : unixDirs)
--            q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData());
--    }
--
--    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
--        // Require a private key as well.
--        if (sslContext->sslConfiguration.privateKey().isNull()) {
--            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        // Load certificate
--        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
--            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
--            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
--        } else {
--            // Load private key
--            sslContext->pkey = q_EVP_PKEY_new();
--            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
--            // this lead to a memory leak. Now we use the *_set1_* functions which do not
--            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
--            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
--                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
--            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
--                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
--#ifndef OPENSSL_NO_EC
--            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
--                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
--#endif
--        }
--
--        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
--            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
--            sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey
--
--        // Check if the certificate matches the private key.
--        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
--            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        // If we have any intermediate certificates then we need to add them to our chain
--        bool first = true;
--        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
--            if (first) {
--                first = false;
--                continue;
--            }
--            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
--                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
--        }
--    }
--
--    // Initialize peer verification.
--    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
--        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0);
--    } else {
--        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
--    }
--
--    // Set verification depth.
--    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
--        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
--
--    // set persisted session if the user set it
--    if (!configuration.sessionTicket().isEmpty())
--        sslContext->setSessionASN1(configuration.sessionTicket());
--
--    // Set temp DH params
--    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
--
--    if (!dhparams.isValid()) {
--        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    if (!dhparams.isEmpty()) {
--        const QByteArray &params = dhparams.d->derData;
--        const char *ptr = params.constData();
--        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
--        if (dh == NULL)
--            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
--        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
--        q_DH_free(dh);
--    }
--
--#ifndef OPENSSL_NO_EC
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L) {
--        q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL);
--    } else
--#endif
--    {
--        // Set temp ECDH params
--        EC_KEY *ecdh = 0;
--        ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
--        q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh);
--        q_EC_KEY_free(ecdh);
--    }
--#endif // OPENSSL_NO_EC
--
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--    if (!client)
--        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
--#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--
--    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
--    if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
--        // Set the curves to be used
--        if (q_SSLeay() >= 0x10002000L) {
--            // SSL_CTX_ctrl wants a non-const pointer as last argument,
--            // but let's avoid a copy into a temporary array
--            if (!q_SSL_CTX_ctrl(sslContext->ctx,
--                                SSL_CTRL_SET_CURVES,
--                                qcurves.size(),
--                                const_cast<int *>(reinterpret_cast<const int *>(qcurves.data())))) {
--                sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--                sslContext->errorCode = QSslError::UnspecifiedError;
--            }
--        } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
--        {
--            // specific curves requested, but not possible to set -> error
--            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
--            sslContext->errorCode = QSslError::UnspecifiedError;
--        }
--    }
--}
--
- QSslContext* QSslContext::fromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
- {
-     QSslContext *sslContext = new QSslContext();
-@@ -463,7 +160,7 @@ SSL* QSslContext::createSsl()
-         m_npnContext.len = m_supportedNPNVersions.count();
-         m_npnContext.status = QSslConfiguration::NextProtocolNegotiationNone;
- #if OPENSSL_VERSION_NUMBER >= 0x10002000L
--        if (q_SSLeay() >= 0x10002000L) {
-+        if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) {
-             // Callback's type has a parameter 'const unsigned char ** out'
-             // since it was introduced in 1.0.2. Internally, OpenSSL's own code
-             // (tests/examples) cast it to unsigned char * (since it's 'out').
-@@ -508,7 +205,7 @@ bool QSslContext::cacheSession(SSL* ssl)
-             unsigned char *data = reinterpret_cast<unsigned char *>(m_sessionASN1.data());
-             if (!q_i2d_SSL_SESSION(session, &data))
-                 qCWarning(lcSsl, "could not store persistent version of SSL session");
--            m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint;
-+            m_sessionTicketLifeTimeHint = q_SSL_SESSION_get_ticket_lifetime_hint(session);
-         }
-     }
- 
-diff --git a/src/network/ssl/qsslcontext_openssl11.cpp b/src/network/ssl/qsslcontext_openssl11.cpp
-new file mode 100644
-index 0000000000..787b6ae3f5
---- /dev/null
-+++ b/src/network/ssl/qsslcontext_openssl11.cpp
-@@ -0,0 +1,277 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+
-+#include <QtNetwork/qsslsocket.h>
-+#include <QtNetwork/qssldiffiehellmanparameters.h>
-+
-+#include "private/qssl_p.h"
-+#include "private/qsslcontext_openssl_p.h"
-+#include "private/qsslsocket_p.h"
-+#include "private/qsslsocket_openssl_p.h"
-+#include "private/qsslsocket_openssl_symbols_p.h"
-+#include "private/qssldiffiehellmanparameters_p.h"
-+
-+#include <vector>
-+
-+QT_BEGIN_NAMESPACE
-+
-+// defined in qsslsocket_openssl.cpp:
-+extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
-+extern QString getErrorsFromOpenSsl();
-+
-+static inline QString msgErrorSettingEllipticCurves(const QString &why)
-+{
-+    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
-+}
-+
-+// static
-+void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
-+{
-+    sslContext->sslConfiguration = configuration;
-+    sslContext->errorCode = QSslError::NoError;
-+
-+    bool client = (mode == QSslSocket::SslClientMode);
-+
-+    bool reinitialized = false;
-+    bool unsupportedProtocol = false;
-+init_context:
-+    if (sslContext->sslConfiguration.protocol() == QSsl::SslV2) {
-+        // SSL 2 is no longer supported, but chosen deliberately -> error
-+        sslContext->ctx = nullptr;
-+        unsupportedProtocol = true;
-+    } else {
-+        // The ssl options will actually control the supported methods
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLS_client_method() : q_TLS_server_method());
-+    }
-+
-+    if (!sslContext->ctx) {
-+        // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them
-+        // by re-initializing the library.
-+        if (!reinitialized) {
-+            reinitialized = true;
-+            if (q_OPENSSL_init_ssl(0, nullptr) == 1)
-+                goto init_context;
-+        }
-+
-+        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
-+            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
-+        );
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    // Enable bug workarounds.
-+    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
-+    q_SSL_CTX_set_options(sslContext->ctx, options);
-+
-+    // Tell OpenSSL to release memory early
-+    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
-+    q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
-+
-+    // Initialize ciphers
-+    QByteArray cipherString;
-+    bool first = true;
-+    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
-+    if (ciphers.isEmpty())
-+        ciphers = QSslSocketPrivate::defaultCiphers();
-+    for (const QSslCipher &cipher : qAsConst(ciphers)) {
-+        if (first)
-+            first = false;
-+        else
-+            cipherString.append(':');
-+        cipherString.append(cipher.name().toLatin1());
-+    }
-+
-+    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
-+        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    const QDateTime now = QDateTime::currentDateTimeUtc();
-+
-+    // Add all our CAs to this store.
-+    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
-+    for (const QSslCertificate &caCertificate : caCertificates) {
-+        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
-+        //
-+        // If several CA certificates matching the name, key identifier, and
-+        // serial number condition are available, only the first one will be
-+        // examined. This may lead to unexpected results if the same CA
-+        // certificate is available with different expiration dates. If a
-+        // ``certificate expired'' verification error occurs, no other
-+        // certificate will be searched. Make sure to not have expired
-+        // certificates mixed with valid ones.
-+        //
-+        // See also: QSslSocketBackendPrivate::verify()
-+        if (caCertificate.expiryDate() >= now) {
-+            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
-+        }
-+    }
-+
-+    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
-+        // tell OpenSSL the directories where to look up the root certs on demand
-+        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
-+        for (const QByteArray &unixDir : unixDirs)
-+            q_SSL_CTX_load_verify_locations(sslContext->ctx, nullptr, unixDir.constData());
-+    }
-+
-+    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
-+        // Require a private key as well.
-+        if (sslContext->sslConfiguration.privateKey().isNull()) {
-+            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // Load certificate
-+        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
-+            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
-+        } else {
-+            // Load private key
-+            sslContext->pkey = q_EVP_PKEY_new();
-+            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
-+            // this lead to a memory leak. Now we use the *_set1_* functions which do not
-+            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
-+            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
-+                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
-+                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
-+#ifndef OPENSSL_NO_EC
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
-+                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
-+#endif
-+        }
-+
-+        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
-+            sslContext->pkey = nullptr; // Don't free the private key, it belongs to QSslKey
-+
-+        // Check if the certificate matches the private key.
-+        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
-+            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // If we have any intermediate certificates then we need to add them to our chain
-+        bool first = true;
-+        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
-+            if (first) {
-+                first = false;
-+                continue;
-+            }
-+            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
-+                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
-+        }
-+    }
-+
-+    // Initialize peer verification.
-+    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, nullptr);
-+    } else {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
-+    }
-+
-+    // Set verification depth.
-+    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
-+        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
-+
-+    // set persisted session if the user set it
-+    if (!configuration.sessionTicket().isEmpty())
-+        sslContext->setSessionASN1(configuration.sessionTicket());
-+
-+    // Set temp DH params
-+    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
-+
-+    if (!dhparams.isValid()) {
-+        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    if (!dhparams.isEmpty()) {
-+        const QByteArray &params = dhparams.d->derData;
-+        const char *ptr = params.constData();
-+        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
-+        if (dh == NULL)
-+            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
-+        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
-+        q_DH_free(dh);
-+    }
-+
-+#ifndef OPENSSL_NO_PSK
-+    if (!client)
-+        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
-+#endif // !OPENSSL_NO_PSK
-+
-+    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-+    if (!qcurves.isEmpty()) {
-+#ifdef OPENSSL_NO_EC
-+        sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version with disabled elliptic curves"));
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+#else
-+        // Set the curves to be used.
-+        std::vector<int> curves;
-+        curves.reserve(qcurves.size());
-+        for (const auto &sslCurve : qcurves)
-+            curves.push_back(sslCurve.id);
-+        if (!q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_CURVES, long(curves.size()), &curves[0])) {
-+            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+        }
-+#endif
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qsslcontext_opensslpre11.cpp b/src/network/ssl/qsslcontext_opensslpre11.cpp
-new file mode 100644
-index 0000000000..9c01c2f2dc
---- /dev/null
-+++ b/src/network/ssl/qsslcontext_opensslpre11.cpp
-@@ -0,0 +1,354 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+
-+#include <QtNetwork/qsslsocket.h>
-+#include <QtNetwork/qssldiffiehellmanparameters.h>
-+
-+#include "private/qssl_p.h"
-+#include "private/qsslcontext_openssl_p.h"
-+#include "private/qsslsocket_p.h"
-+#include "private/qsslsocket_openssl_p.h"
-+#include "private/qsslsocket_openssl_symbols_p.h"
-+#include "private/qssldiffiehellmanparameters_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+// defined in qsslsocket_openssl.cpp:
-+extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
-+extern QString getErrorsFromOpenSsl();
-+
-+static inline QString msgErrorSettingEllipticCurves(const QString &why)
-+{
-+    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
-+}
-+
-+// static
-+void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
-+{
-+    sslContext->sslConfiguration = configuration;
-+    sslContext->errorCode = QSslError::NoError;
-+
-+    bool client = (mode == QSslSocket::SslClientMode);
-+
-+    bool reinitialized = false;
-+    bool unsupportedProtocol = false;
-+init_context:
-+    switch (sslContext->sslConfiguration.protocol()) {
-+    case QSsl::SslV2:
-+#ifndef OPENSSL_NO_SSL2
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
-+#else
-+        // SSL 2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::SslV3:
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
-+#else
-+        // SSL 3 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::SecureProtocols:
-+        // SSLv2 and SSLv3 will be disabled by SSL options
-+        // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32.
-+    case QSsl::TlsV1SslV3:
-+        // SSLv2 will will be disabled by SSL options
-+    case QSsl::AnyProtocol:
-+    default:
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+        break;
-+    case QSsl::TlsV1_0:
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
-+        break;
-+    case QSsl::TlsV1_1:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method());
-+#else
-+        // TLS 1.1 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::TlsV1_2:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method());
-+#else
-+        // TLS 1.2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::TlsV1_0OrLater:
-+        // Specific protocols will be specified via SSL options.
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+        break;
-+    case QSsl::TlsV1_1OrLater:
-+    case QSsl::TlsV1_2OrLater:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        // Specific protocols will be specified via SSL options.
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+#else
-+        // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    }
-+
-+    if (!sslContext->ctx) {
-+        // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them
-+        // by re-initializing the library.
-+        if (!reinitialized) {
-+            reinitialized = true;
-+            if (q_SSL_library_init() == 1)
-+                goto init_context;
-+        }
-+
-+        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
-+            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
-+        );
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    // Enable bug workarounds.
-+    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
-+    q_SSL_CTX_set_options(sslContext->ctx, options);
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+    // Tell OpenSSL to release memory early
-+    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
-+    if (q_SSLeay() >= 0x10000000L)
-+        q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
-+#endif
-+
-+    // Initialize ciphers
-+    QByteArray cipherString;
-+    bool first = true;
-+    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
-+    if (ciphers.isEmpty())
-+        ciphers = QSslSocketPrivate::defaultCiphers();
-+    for (const QSslCipher &cipher : qAsConst(ciphers)) {
-+        if (first)
-+            first = false;
-+        else
-+            cipherString.append(':');
-+        cipherString.append(cipher.name().toLatin1());
-+    }
-+
-+    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
-+        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    const QDateTime now = QDateTime::currentDateTimeUtc();
-+
-+    // Add all our CAs to this store.
-+    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
-+    for (const QSslCertificate &caCertificate : caCertificates) {
-+        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
-+        //
-+        // If several CA certificates matching the name, key identifier, and
-+        // serial number condition are available, only the first one will be
-+        // examined. This may lead to unexpected results if the same CA
-+        // certificate is available with different expiration dates. If a
-+        // ``certificate expired'' verification error occurs, no other
-+        // certificate will be searched. Make sure to not have expired
-+        // certificates mixed with valid ones.
-+        //
-+        // See also: QSslSocketBackendPrivate::verify()
-+        if (caCertificate.expiryDate() >= now) {
-+            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
-+        }
-+    }
-+
-+    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
-+        // tell OpenSSL the directories where to look up the root certs on demand
-+        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
-+        for (const QByteArray &unixDir : unixDirs)
-+            q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData());
-+    }
-+
-+    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
-+        // Require a private key as well.
-+        if (sslContext->sslConfiguration.privateKey().isNull()) {
-+            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // Load certificate
-+        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
-+            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
-+        } else {
-+            // Load private key
-+            sslContext->pkey = q_EVP_PKEY_new();
-+            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
-+            // this lead to a memory leak. Now we use the *_set1_* functions which do not
-+            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
-+            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
-+                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
-+                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
-+#ifndef OPENSSL_NO_EC
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
-+                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
-+#endif
-+        }
-+
-+        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
-+            sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey
-+
-+        // Check if the certificate matches the private key.
-+        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
-+            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // If we have any intermediate certificates then we need to add them to our chain
-+        bool first = true;
-+        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
-+            if (first) {
-+                first = false;
-+                continue;
-+            }
-+            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
-+                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
-+        }
-+    }
-+
-+    // Initialize peer verification.
-+    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0);
-+    } else {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
-+    }
-+
-+    // Set verification depth.
-+    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
-+        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
-+
-+    // set persisted session if the user set it
-+    if (!configuration.sessionTicket().isEmpty())
-+        sslContext->setSessionASN1(configuration.sessionTicket());
-+
-+    // Set temp DH params
-+    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
-+
-+    if (!dhparams.isValid()) {
-+        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    if (!dhparams.isEmpty()) {
-+        const QByteArray &params = dhparams.d->derData;
-+        const char *ptr = params.constData();
-+        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
-+        if (dh == NULL)
-+            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
-+        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
-+        q_DH_free(dh);
-+    }
-+
-+#ifndef OPENSSL_NO_EC
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L) {
-+        q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL);
-+    } else
-+#endif
-+    {
-+        // Set temp ECDH params
-+        EC_KEY *ecdh = 0;
-+        ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
-+        q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh);
-+        q_EC_KEY_free(ecdh);
-+    }
-+#endif // OPENSSL_NO_EC
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-+    if (!client)
-+        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-+
-+    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-+    if (!qcurves.isEmpty()) {
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+        // Set the curves to be used
-+        if (q_SSLeay() >= 0x10002000L) {
-+            // SSL_CTX_ctrl wants a non-const pointer as last argument,
-+            // but let's avoid a copy into a temporary array
-+            if (!q_SSL_CTX_ctrl(sslContext->ctx,
-+                                SSL_CTRL_SET_CURVES,
-+                                qcurves.size(),
-+                                const_cast<int *>(reinterpret_cast<const int *>(qcurves.data())))) {
-+                sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+                sslContext->errorCode = QSslError::UnspecifiedError;
-+            }
-+        } else
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+        {
-+            // specific curves requested, but not possible to set -> error
-+            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+        }
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-index 90687b05c5..5ebad822f1 100644
---- a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-+++ b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
- ** Copyright (C) 2015 Mikkel Krautz <mikkel@krautz.dk>
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -50,8 +51,8 @@
- #include <QtCore/qdebug.h>
- #endif
- 
--// For q_BN_is_word.
- #include <openssl/bn.h>
-+#include <openssl/dh.h>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -62,13 +63,6 @@ static bool isSafeDH(DH *dh)
- 
-     QSslSocketPrivate::ensureInitialized();
- 
--    // Mark p < 1024 bits as unsafe.
--    if (q_BN_num_bits(dh->p) < 1024) {
--        return false;
--    }
--
--    if (q_DH_check(dh, &status) != 1)
--        return false;
- 
-     // From https://wiki.openssl.org/index.php/Diffie-Hellman_parameters:
-     //
-@@ -81,11 +75,39 @@ static bool isSafeDH(DH *dh)
-     //     Without the test, the IETF parameters would
-     //     fail validation. For details, see Diffie-Hellman
-     //     Parameter Check (when g = 2, must p mod 24 == 11?).
-+#if QT_CONFIG(opensslv11)
-+    // Mark p < 1024 bits as unsafe.
-+    if (q_DH_bits(dh) < 1024)
-+        return false;
-+
-+    if (q_DH_check(dh, &status) != 1)
-+        return false;
-+
-+    const BIGNUM *p = nullptr;
-+    const BIGNUM *q = nullptr;
-+    const BIGNUM *g = nullptr;
-+    q_DH_get0_pqg(dh, &p, &q, &g);
-+
-+    if (q_BN_is_word(const_cast<BIGNUM *>(g), DH_GENERATOR_2)) {
-+        long residue = q_BN_mod_word(p, 24);
-+        if (residue == 11 || residue == 23)
-+            status &= ~DH_NOT_SUITABLE_GENERATOR;
-+    }
-+
-+#else
-+    // Mark p < 1024 bits as unsafe.
-+    if (q_BN_num_bits(dh->p) < 1024)
-+        return false;
-+
-+    if (q_DH_check(dh, &status) != 1)
-+        return false;
-+
-     if (q_BN_is_word(dh->g, DH_GENERATOR_2)) {
-         long residue = q_BN_mod_word(dh->p, 24);
-         if (residue == 11 || residue == 23)
-             status &= ~DH_NOT_SUITABLE_GENERATOR;
-     }
-+#endif
- 
-     bad |= DH_CHECK_P_NOT_PRIME;
-     bad |= DH_CHECK_P_NOT_SAFE_PRIME;
-diff --git a/src/network/ssl/qsslellipticcurve.h b/src/network/ssl/qsslellipticcurve.h
-index 231566063e..57dda19bad 100644
---- a/src/network/ssl/qsslellipticcurve.h
-+++ b/src/network/ssl/qsslellipticcurve.h
-@@ -80,6 +80,7 @@ private:
-     friend Q_DECL_CONSTEXPR bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs) Q_DECL_NOTHROW;
-     friend Q_DECL_CONSTEXPR uint qHash(QSslEllipticCurve curve, uint seed) Q_DECL_NOTHROW;
- 
-+    friend class QSslContext;
-     friend class QSslSocketPrivate;
-     friend class QSslSocketBackendPrivate;
- };
-diff --git a/src/network/ssl/qsslellipticcurve_openssl.cpp b/src/network/ssl/qsslellipticcurve_openssl.cpp
-index e18197b703..8cd14837f0 100644
---- a/src/network/ssl/qsslellipticcurve_openssl.cpp
-+++ b/src/network/ssl/qsslellipticcurve_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
- ** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -78,17 +79,18 @@ QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name)
-     QSslEllipticCurve result;
- 
- #ifndef OPENSSL_NO_EC
--    const QByteArray curveNameLatin1 = name.toLatin1();
- 
-+    const QByteArray curveNameLatin1 = name.toLatin1();
-     int nid = q_OBJ_sn2nid(curveNameLatin1.data());
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (nid == 0 && q_SSLeay() >= 0x10002000L)
-+    if (nid == 0 && QSslSocket::sslLibraryVersionNumber() >= 0x10002000L)
-         nid = q_EC_curve_nist2nid(curveNameLatin1.data());
- #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
- 
-     result.id = nid;
--#endif
-+
-+#endif // !OPENSSL_NO_EC
- 
-     return result;
- }
-diff --git a/src/network/ssl/qsslkey_openssl.cpp b/src/network/ssl/qsslkey_openssl.cpp
-index 26119023d1..2b03af9441 100644
---- a/src/network/ssl/qsslkey_openssl.cpp
-+++ b/src/network/ssl/qsslkey_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -87,33 +88,32 @@ bool QSslKeyPrivate::fromEVP_PKEY(EVP_PKEY *pkey)
-     if (pkey == nullptr)
-         return false;
- 
--    if (pkey->type == EVP_PKEY_RSA) {
-+#if QT_CONFIG(opensslv11)
-+    const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
-+#else
-+    const int keyType = pkey->type;
-+#endif
-+    if (keyType == EVP_PKEY_RSA) {
-         isNull = false;
-         algorithm = QSsl::Rsa;
-         type = QSsl::PrivateKey;
- 
--        rsa = q_RSA_new();
--        memcpy(rsa, q_EVP_PKEY_get1_RSA(pkey), sizeof(RSA));
--
-+        rsa = q_EVP_PKEY_get1_RSA(pkey);
-         return true;
--    }
--    else if (pkey->type == EVP_PKEY_DSA) {
-+    } else if (keyType == EVP_PKEY_DSA) {
-         isNull = false;
-         algorithm = QSsl::Dsa;
-         type = QSsl::PrivateKey;
- 
--        dsa = q_DSA_new();
--        memcpy(dsa, q_EVP_PKEY_get1_DSA(pkey), sizeof(DSA));
--
-+        dsa = q_EVP_PKEY_get1_DSA(pkey);
-         return true;
-     }
- #ifndef OPENSSL_NO_EC
--    else if (pkey->type == EVP_PKEY_EC) {
-+    else if (keyType == EVP_PKEY_EC) {
-         isNull = false;
-         algorithm = QSsl::Ec;
-         type = QSsl::PrivateKey;
--        ec = q_EC_KEY_dup(q_EVP_PKEY_get1_EC_KEY(pkey));
--
-+        ec = q_EVP_PKEY_get1_EC_KEY(pkey);
-         return true;
-     }
- #endif
-@@ -181,8 +181,8 @@ int QSslKeyPrivate::length() const
-         return -1;
- 
-     switch (algorithm) {
--        case QSsl::Rsa: return q_BN_num_bits(rsa->n);
--        case QSsl::Dsa: return q_BN_num_bits(dsa->p);
-+        case QSsl::Rsa: return q_RSA_bits(rsa);
-+        case QSsl::Dsa: return q_DSA_bits(dsa);
- #ifndef OPENSSL_NO_EC
-         case QSsl::Ec: return q_EC_GROUP_get_degree(q_EC_KEY_get0_group(ec));
- #endif
-@@ -276,7 +276,13 @@ Qt::HANDLE QSslKeyPrivate::handle() const
- 
- static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv, int enc)
- {
--    EVP_CIPHER_CTX ctx;
-+#if QT_CONFIG(opensslv11)
-+    EVP_CIPHER_CTX *ctx = q_EVP_CIPHER_CTX_new();
-+#else
-+    EVP_CIPHER_CTX evpCipherContext;
-+    EVP_CIPHER_CTX *ctx = &evpCipherContext;
-+#endif
-+
-     const EVP_CIPHER* type = 0;
-     int i = 0, len = 0;
- 
-@@ -294,21 +300,44 @@ static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data,
- 
-     QByteArray output;
-     output.resize(data.size() + EVP_MAX_BLOCK_LENGTH);
--    q_EVP_CIPHER_CTX_init(&ctx);
--    q_EVP_CipherInit(&ctx, type, NULL, NULL, enc);
--    q_EVP_CIPHER_CTX_set_key_length(&ctx, key.size());
-+
-+#if QT_CONFIG(opensslv11)
-+    q_EVP_CIPHER_CTX_reset(ctx);
-+#else
-+    q_EVP_CIPHER_CTX_init(ctx);
-+#endif
-+
-+    q_EVP_CipherInit(ctx, type, NULL, NULL, enc);
-+    q_EVP_CIPHER_CTX_set_key_length(ctx, key.size());
-     if (cipher == QSslKeyPrivate::Rc2Cbc)
--        q_EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL);
--    q_EVP_CipherInit(&ctx, NULL,
-+        q_EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL);
-+
-+#if QT_CONFIG(opensslv11)
-+    // EVP_CipherInit in 1.1 resets the context thus making the calls above useless.
-+    // We call EVP_CipherInit_ex instead.
-+    q_EVP_CipherInit_ex(ctx, nullptr, nullptr,
-+                        reinterpret_cast<const unsigned char *>(key.constData()),
-+                        reinterpret_cast<const unsigned char *>(iv.constData()),
-+                        enc);
-+#else
-+    q_EVP_CipherInit(ctx, NULL,
-         reinterpret_cast<const unsigned char *>(key.constData()),
-         reinterpret_cast<const unsigned char *>(iv.constData()), enc);
--    q_EVP_CipherUpdate(&ctx,
-+#endif // opensslv11
-+
-+    q_EVP_CipherUpdate(ctx,
-         reinterpret_cast<unsigned char *>(output.data()), &len,
-         reinterpret_cast<const unsigned char *>(data.constData()), data.size());
--    q_EVP_CipherFinal(&ctx,
-+    q_EVP_CipherFinal(ctx,
-         reinterpret_cast<unsigned char *>(output.data()) + len, &i);
-     len += i;
--    q_EVP_CIPHER_CTX_cleanup(&ctx);
-+
-+#if QT_CONFIG(opensslv11)
-+    q_EVP_CIPHER_CTX_reset(ctx);
-+    q_EVP_CIPHER_CTX_free(ctx);
-+#else
-+    q_EVP_CIPHER_CTX_cleanup(ctx);
-+#endif
- 
-     return output.left(len);
- }
-diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
-index f5b493897e..45cea490fc 100644
---- a/src/network/ssl/qsslsocket_openssl.cpp
-+++ b/src/network/ssl/qsslsocket_openssl.cpp
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 Governikus GmbH & Co. KG
- ** Contact: https://www.qt.io/licensing/
- **
-@@ -97,70 +97,6 @@ bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
- int QSslSocketBackendPrivate::s_indexForSSLExtraData = -1;
- #endif
- 
--/* \internal
--
--    From OpenSSL's thread(3) manual page:
--
--    OpenSSL can safely be used in multi-threaded applications provided that at
--    least two callback functions are set.
--
--    locking_function(int mode, int n, const char *file, int line) is needed to
--    perform locking on shared data structures.  (Note that OpenSSL uses a
--    number of global data structures that will be implicitly shared
--    whenever multiple threads use OpenSSL.)  Multi-threaded
--    applications will crash at random if it is not set.  ...
--    ...
--    id_function(void) is a function that returns a thread ID. It is not
--    needed on Windows nor on platforms where getpid() returns a different
--    ID for each thread (most notably Linux)
--*/
--class QOpenSslLocks
--{
--public:
--    inline QOpenSslLocks()
--        : initLocker(QMutex::Recursive),
--          locksLocker(QMutex::Recursive)
--    {
--        QMutexLocker locker(&locksLocker);
--        int numLocks = q_CRYPTO_num_locks();
--        locks = new QMutex *[numLocks];
--        memset(locks, 0, numLocks * sizeof(QMutex *));
--    }
--    inline ~QOpenSslLocks()
--    {
--        QMutexLocker locker(&locksLocker);
--        for (int i = 0; i < q_CRYPTO_num_locks(); ++i)
--            delete locks[i];
--        delete [] locks;
--
--        QSslSocketPrivate::deinitialize();
--    }
--    inline QMutex *lock(int num)
--    {
--        QMutexLocker locker(&locksLocker);
--        QMutex *tmp = locks[num];
--        if (!tmp)
--            tmp = locks[num] = new QMutex(QMutex::Recursive);
--        return tmp;
--    }
--
--    QMutex *globalLock()
--    {
--        return &locksLocker;
--    }
--
--    QMutex *initLock()
--    {
--        return &initLocker;
--    }
--
--private:
--    QMutex initLocker;
--    QMutex locksLocker;
--    QMutex **locks;
--};
--Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks)
--
- QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
- {
-     QString errorString;
-@@ -175,20 +111,6 @@ QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
- }
- 
- extern "C" {
--static void locking_function(int mode, int lockNumber, const char *, int)
--{
--    QMutex *mutex = openssl_locks()->lock(lockNumber);
--
--    // Lock or unlock it
--    if (mode & CRYPTO_LOCK)
--        mutex->lock();
--    else
--        mutex->unlock();
--}
--static unsigned long id_function()
--{
--    return (quintptr)QThread::currentThreadId();
--}
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
- static unsigned int q_ssl_psk_client_callback(SSL *ssl,
-@@ -227,7 +149,7 @@ QSslSocketBackendPrivate::~QSslSocketBackendPrivate()
-     destroySslContext();
- }
- 
--QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher)
-+QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher)
- {
-     QSslCipher ciph;
- 
-@@ -283,6 +205,7 @@ struct QSslErrorList
-     QMutex mutex;
-     QVector<QSslErrorEntry> errors;
- };
-+
- Q_GLOBAL_STATIC(QSslErrorList, _q_sslErrorList)
- 
- int q_X509Callback(int ok, X509_STORE_CTX *ctx)
-@@ -312,7 +235,7 @@ int q_X509Callback(int ok, X509_STORE_CTX *ctx)
-         }
- #endif
-     }
--    // Always return OK to allow verification to continue. We're handle the
-+    // Always return OK to allow verification to continue. We handle the
-     // errors gracefully after collecting all errors, after verification has
-     // completed.
-     return 1;
-@@ -397,7 +320,7 @@ bool QSslSocketBackendPrivate::initSslContext()
-     if (configuration.protocol != QSsl::SslV2 &&
-         configuration.protocol != QSsl::SslV3 &&
-         configuration.protocol != QSsl::UnknownProtocol &&
--        mode == QSslSocket::SslClientMode && q_SSLeay() >= 0x00090806fL) {
-+        mode == QSslSocket::SslClientMode && QSslSocket::sslLibraryVersionNumber() >= 0x00090806fL) {
-         // Set server hostname on TLS extension. RFC4366 section 3.1 requires it in ACE format.
-         QString tlsHostName = verificationPeerName.isEmpty() ? q->peerName() : verificationPeerName;
-         if (tlsHostName.isEmpty())
-@@ -438,13 +361,13 @@ bool QSslSocketBackendPrivate::initSslContext()
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
-     // Save a pointer to this object into the SSL structure.
--    if (q_SSLeay() >= 0x10001000L)
-+    if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L)
-         q_SSL_set_ex_data(ssl, s_indexForSSLExtraData, this);
- #endif
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-     // Set the client callback for PSK
--    if (q_SSLeay() >= 0x10001000L) {
-+    if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L) {
-         if (mode == QSslSocket::SslClientMode)
-             q_SSL_set_psk_client_callback(ssl, &q_ssl_psk_client_callback);
-         else if (mode == QSslSocket::SslServerMode)
-@@ -464,16 +387,6 @@ void QSslSocketBackendPrivate::destroySslContext()
-     sslContextPointer.clear();
- }
- 
--/*!
--    \internal
--*/
--void QSslSocketPrivate::deinitialize()
--{
--    q_CRYPTO_set_id_callback(0);
--    q_CRYPTO_set_locking_callback(0);
--    q_ERR_free_strings();
--}
--
- /*!
-     \internal
- 
-@@ -486,91 +399,6 @@ bool QSslSocketPrivate::supportsSsl()
-     return ensureLibraryLoaded();
- }
- 
--bool QSslSocketPrivate::ensureLibraryLoaded()
--{
--    if (!q_resolveOpenSslSymbols())
--        return false;
--
--    // Check if the library itself needs to be initialized.
--    QMutexLocker locker(openssl_locks()->initLock());
--
--    if (!s_libraryLoaded) {
--        s_libraryLoaded = true;
--
--        // Initialize OpenSSL.
--        q_CRYPTO_set_id_callback(id_function);
--        q_CRYPTO_set_locking_callback(locking_function);
--        if (q_SSL_library_init() != 1)
--            return false;
--        q_SSL_load_error_strings();
--        q_OpenSSL_add_all_algorithms();
--
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        if (q_SSLeay() >= 0x10001000L)
--            QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL);
--#endif
--
--        // Initialize OpenSSL's random seed.
--        if (!q_RAND_status()) {
--            qWarning("Random number generator not seeded, disabling SSL support");
--            return false;
--        }
--    }
--    return true;
--}
--
--void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
--{
--    QMutexLocker locker(openssl_locks()->initLock());
--    if (s_loadedCiphersAndCerts)
--        return;
--    s_loadedCiphersAndCerts = true;
--
--    resetDefaultCiphers();
--    resetDefaultEllipticCurves();
--
--#if QT_CONFIG(library)
--    //load symbols needed to receive certificates from system store
--#if defined(Q_OS_WIN)
--    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
--    if (hLib) {
--        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
--        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
--        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
--        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
--            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
--    } else {
--        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
--    }
--#elif defined(Q_OS_QNX)
--    s_loadRootCertsOnDemand = true;
--#elif defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
--    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
--    QList<QByteArray> dirs = unixRootCertDirectories();
--    QStringList symLinkFilter;
--    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
--    for (int a = 0; a < dirs.count(); ++a) {
--        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
--        if (iterator.hasNext()) {
--            s_loadRootCertsOnDemand = true;
--            break;
--        }
--    }
--#endif
--#endif // QT_CONFIG(library)
--    // if on-demand loading was not enabled, load the certs now
--    if (!s_loadRootCertsOnDemand)
--        setDefaultCaCertificates(systemCaCertificates());
--#ifdef Q_OS_WIN
--    //Enabled for fetching additional root certs from windows update on windows 6+
--    //This flag is set false by setDefaultCaCertificates() indicating the app uses
--    //its own cert bundle rather than the system one.
--    //Same logic that disables the unix on demand cert loading.
--    //Unlike unix, we do preload the certificates from the cert store.
--    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
--        s_loadRootCertsOnDemand = true;
--#endif
--}
- 
- /*!
-     \internal
-@@ -587,26 +415,6 @@ void QSslSocketPrivate::ensureInitialized()
-     ensureCiphersAndCertsLoaded();
- }
- 
--long QSslSocketPrivate::sslLibraryVersionNumber()
--{
--    if (!supportsSsl())
--        return 0;
--
--    return q_SSLeay();
--}
--
--QString QSslSocketPrivate::sslLibraryVersionString()
--{
--    if (!supportsSsl())
--        return QString();
--
--    const char *versionString = q_SSLeay_version(SSLEAY_VERSION);
--    if (!versionString)
--        return QString();
--
--    return QString::fromLatin1(versionString);
--}
--
- long QSslSocketPrivate::sslLibraryBuildVersionNumber()
- {
-     return OPENSSL_VERSION_NUMBER;
-@@ -628,7 +436,11 @@ QString QSslSocketPrivate::sslLibraryBuildVersionString()
- */
- void QSslSocketPrivate::resetDefaultCiphers()
- {
-+#if QT_CONFIG(opensslv11)
-+    SSL_CTX *myCtx = q_SSL_CTX_new(q_TLS_client_method());
-+#else
-     SSL_CTX *myCtx = q_SSL_CTX_new(q_SSLv23_client_method());
-+#endif
-     SSL *mySsl = q_SSL_new(myCtx);
- 
-     QList<QSslCipher> ciphers;
-@@ -664,7 +476,7 @@ void QSslSocketPrivate::resetDefaultEllipticCurves()
-     QVector<QSslEllipticCurve> curves;
- 
- #ifndef OPENSSL_NO_EC
--    const size_t curveCount = q_EC_get_builtin_curves(NULL, 0);
-+    const size_t curveCount = q_EC_get_builtin_curves(nullptr, 0);
- 
-     QVarLengthArray<EC_builtin_curve> builtinCurves(static_cast<int>(curveCount));
- 
-@@ -698,13 +510,14 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
-     if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) {
-         HCERTSTORE hSystemStore;
-         hSystemStore = ptrCertOpenSystemStoreW(0, L"ROOT");
--        if(hSystemStore) {
--            PCCERT_CONTEXT pc = NULL;
--            while(1) {
--                pc = ptrCertFindCertificateInStore( hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, NULL, pc);
--                if(!pc)
-+        if (hSystemStore) {
-+            PCCERT_CONTEXT pc = nullptr;
-+            while (1) {
-+                pc = ptrCertFindCertificateInStore(hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, nullptr, pc);
-+                if (!pc)
-                     break;
--                QByteArray der((const char *)(pc->pbCertEncoded), static_cast<int>(pc->cbCertEncoded));
-+                QByteArray der(reinterpret_cast<const char *>(pc->pbCertEncoded),
-+                               static_cast<int>(pc->cbCertEncoded));
-                 QSslCertificate cert(der, QSsl::Der);
-                 systemCerts.append(cert);
-             }
-@@ -1504,14 +1317,8 @@ QSslCipher QSslSocketBackendPrivate::sessionCipher() const
- {
-     if (!ssl)
-         return QSslCipher();
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    // FIXME This is fairly evil, but needed to keep source level compatibility
--    // with the OpenSSL 0.9.x implementation at maximum -- some other functions
--    // don't take a const SSL_CIPHER* when they should
--    SSL_CIPHER *sessionCipher = const_cast<SSL_CIPHER *>(q_SSL_get_current_cipher(ssl));
--#else
--    SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
--#endif
-+
-+    const SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
-     return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher();
- }
- 
-@@ -1537,112 +1344,6 @@ QSsl::SslProtocol QSslSocketBackendPrivate::sessionProtocol() const
-     return QSsl::UnknownProtocol;
- }
- 
--void QSslSocketBackendPrivate::continueHandshake()
--{
--    Q_Q(QSslSocket);
--    // if we have a max read buffer size, reset the plain socket's to match
--    if (readBufferMaxSize)
--        plainSocket->setReadBufferSize(readBufferMaxSize);
--
--    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
--        configuration.peerSessionShared = true;
--
--#ifdef QT_DECRYPT_SSL_TRAFFIC
--    if (ssl->session && ssl->s3) {
--        const char *mk = reinterpret_cast<const char *>(ssl->session->master_key);
--        QByteArray masterKey(mk, ssl->session->master_key_length);
--        const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
--        QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
--
--        // different format, needed for e.g. older Wireshark versions:
--//        const char *sid = reinterpret_cast<const char *>(ssl->session->session_id);
--//        QByteArray sessionID(sid, ssl->session->session_id_length);
--//        QByteArray debugLineRSA("RSA Session-ID:");
--//        debugLineRSA.append(sessionID.toHex().toUpper());
--//        debugLineRSA.append(" Master-Key:");
--//        debugLineRSA.append(masterKey.toHex().toUpper());
--//        debugLineRSA.append("\n");
--
--        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
--        debugLineClientRandom.append(clientRandom.toHex().toUpper());
--        debugLineClientRandom.append(" ");
--        debugLineClientRandom.append(masterKey.toHex().toUpper());
--        debugLineClientRandom.append("\n");
--
--        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
--        QFile file(sslKeyFile);
--        if (!file.open(QIODevice::Append))
--            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
--        if (!file.write(debugLineClientRandom))
--            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
--        file.close();
--    } else {
--        qCWarning(lcSsl, "could not decrypt SSL traffic");
--    }
--#endif
--
--    // Cache this SSL session inside the QSslContext
--    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
--        if (!sslContextPointer->cacheSession(ssl)) {
--            sslContextPointer.clear(); // we could not cache the session
--        } else {
--            // Cache the session for permanent usage as well
--            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
--                if (!sslContextPointer->sessionASN1().isEmpty())
--                    configuration.sslSession = sslContextPointer->sessionASN1();
--                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
--            }
--        }
--    }
--
--#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
--
--    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
--    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
--        // we could not agree -> be conservative and use HTTP/1.1
--        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
--    } else {
--        const unsigned char *proto = 0;
--        unsigned int proto_len = 0;
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--        if (q_SSLeay() >= 0x10002000L) {
--            q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
--            if (proto_len && mode == QSslSocket::SslClientMode) {
--                // Client does not have a callback that sets it ...
--                configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
--            }
--        }
--
--        if (!proto_len) { // Test if NPN was more lucky ...
--#else
--        {
--#endif
--            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
--        }
--
--        if (proto_len)
--            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
--        else
--            configuration.nextNegotiatedProtocol.clear();
--    }
--#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ...
--
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) {
--        EVP_PKEY *key;
--        if (q_SSL_get_server_tmp_key(ssl, &key))
--            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
--    }
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ...
--
--    connectionEncrypted = true;
--    emit q->encrypted();
--    if (autoStartHandshake && pendingClose) {
--        pendingClose = false;
--        q->disconnectFromHost();
--    }
--}
--
- QList<QSslCertificate> QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509)
- {
-     ensureInitialized();
-@@ -1696,12 +1397,12 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-     QMutexLocker sslErrorListMutexLocker(&_q_sslErrorList()->mutex);
- 
-     // Register a custom callback to get all verification errors.
--    X509_STORE_set_verify_cb_func(certStore, q_X509Callback);
-+    q_X509_STORE_set_verify_cb(certStore, q_X509Callback);
- 
-     // Build the chain of intermediate certificates
-     STACK_OF(X509) *intermediates = 0;
-     if (certificateChain.length() > 1) {
--        intermediates = (STACK_OF(X509) *) q_sk_new_null();
-+        intermediates = (STACK_OF(X509) *) q_OPENSSL_sk_new_null();
- 
-         if (!intermediates) {
-             q_X509_STORE_free(certStore);
-@@ -1715,11 +1416,8 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-                 first = false;
-                 continue;
-             }
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--            q_sk_push( (_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
--#else
--            q_sk_push( (STACK *)intermediates, reinterpret_cast<char *>(cert.handle()));
--#endif
-+
-+            q_OPENSSL_sk_push((OPENSSL_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
-         }
-     }
- 
-@@ -1743,11 +1441,7 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-     (void) q_X509_verify_cert(storeContext);
- 
-     q_X509_STORE_CTX_free(storeContext);
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    q_sk_free( (_STACK *) intermediates);
--#else
--    q_sk_free( (STACK *) intermediates);
--#endif
-+    q_OPENSSL_sk_free((OPENSSL_STACK *)intermediates);
- 
-     // Now process the errors
-     const auto errorList = std::move(_q_sslErrorList()->errors);
-@@ -1821,7 +1515,8 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device,
-     // Convert to Qt types
-     if (!key->d->fromEVP_PKEY(pkey)) {
-         qCWarning(lcSsl, "Unable to convert private key");
--        q_sk_pop_free(reinterpret_cast<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
-+        q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
-+                              reinterpret_cast<void (*)(void *)>(q_OPENSSL_sk_free));
-         q_X509_free(x509);
-         q_EVP_PKEY_free(pkey);
-         q_PKCS12_free(p12);
-@@ -1836,7 +1531,11 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device,
-         *caCertificates = QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(ca);
- 
-     // Clean up
--    q_sk_pop_free(reinterpret_cast<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
-+    // TODO: verify ASAP, in the past we had sk_pop_free with q_OPENSSL_sk_free
-+    // which seems to be blatantly wrong and even crashes with 1.1.
-+    q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
-+                          reinterpret_cast<void (*)(void *)>(q_X509_free));
-+
-     q_X509_free(x509);
-     q_EVP_PKEY_free(pkey);
-     q_PKCS12_free(p12);
-diff --git a/src/network/ssl/qsslsocket_openssl11.cpp b/src/network/ssl/qsslsocket_openssl11.cpp
-new file mode 100644
-index 0000000000..b6d18943a5
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_openssl11.cpp
-@@ -0,0 +1,285 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+//#define QT_DECRYPT_SSL_TRAFFIC
-+
-+#include "qssl_p.h"
-+#include "qsslsocket_openssl_p.h"
-+#include "qsslsocket_openssl_symbols_p.h"
-+#include "qsslsocket.h"
-+#include "qsslkey.h"
-+
-+#include <QtCore/qdebug.h>
-+#include <QtCore/qdir.h>
-+#include <QtCore/qdiriterator.h>
-+#include <QtCore/qfile.h>
-+#include <QtCore/qmutex.h>
-+#include <QtCore/qlibrary.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+Q_GLOBAL_STATIC_WITH_ARGS(QMutex, qt_opensslInitMutex, (QMutex::Recursive))
-+
-+/*!
-+    \internal
-+*/
-+void QSslSocketPrivate::deinitialize()
-+{
-+    // This function exists only for compatibility with the pre-11 code,
-+    // where deinitialize() actually does some cleanup. To be discarded
-+    // once we retire < 1.1.
-+}
-+
-+bool QSslSocketPrivate::ensureLibraryLoaded()
-+{
-+    if (!q_resolveOpenSslSymbols())
-+        return false;
-+
-+    const QMutexLocker locker(qt_opensslInitMutex);
-+
-+    if (!s_libraryLoaded) {
-+        s_libraryLoaded = true;
-+
-+        // Initialize OpenSSL.
-+        if (q_OPENSSL_init_ssl(0, nullptr) != 1)
-+            return false;
-+        q_SSL_load_error_strings();
-+        q_OpenSSL_add_all_algorithms();
-+
-+        QSslSocketBackendPrivate::s_indexForSSLExtraData
-+            = q_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, 0L, nullptr, nullptr,
-+                                        nullptr, nullptr);
-+
-+        // Initialize OpenSSL's random seed.
-+        if (!q_RAND_status()) {
-+            qWarning("Random number generator not seeded, disabling SSL support");
-+            return false;
-+        }
-+    }
-+    return true;
-+}
-+
-+void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
-+{
-+    const QMutexLocker locker(qt_opensslInitMutex);
-+
-+    if (s_loadedCiphersAndCerts)
-+        return;
-+    s_loadedCiphersAndCerts = true;
-+
-+    resetDefaultCiphers();
-+    resetDefaultEllipticCurves();
-+
-+#if QT_CONFIG(library)
-+    //load symbols needed to receive certificates from system store
-+#if defined(Q_OS_WIN)
-+    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
-+    if (hLib) {
-+        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
-+        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
-+        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
-+        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
-+            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
-+    } else {
-+        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
-+    }
-+#elif defined(Q_OS_QNX)
-+    s_loadRootCertsOnDemand = true;
-+#elif defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN)
-+    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
-+    QList<QByteArray> dirs = unixRootCertDirectories();
-+    QStringList symLinkFilter;
-+    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
-+    for (int a = 0; a < dirs.count(); ++a) {
-+        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
-+        if (iterator.hasNext()) {
-+            s_loadRootCertsOnDemand = true;
-+            break;
-+        }
-+    }
-+#endif
-+#endif // QT_CONFIG(library)
-+    // if on-demand loading was not enabled, load the certs now
-+    if (!s_loadRootCertsOnDemand)
-+        setDefaultCaCertificates(systemCaCertificates());
-+#ifdef Q_OS_WIN
-+    //Enabled for fetching additional root certs from windows update on windows 6+
-+    //This flag is set false by setDefaultCaCertificates() indicating the app uses
-+    //its own cert bundle rather than the system one.
-+    //Same logic that disables the unix on demand cert loading.
-+    //Unlike unix, we do preload the certificates from the cert store.
-+    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
-+        s_loadRootCertsOnDemand = true;
-+#endif
-+}
-+
-+long QSslSocketPrivate::sslLibraryVersionNumber()
-+{
-+    if (!supportsSsl())
-+        return 0;
-+
-+    return q_OpenSSL_version_num();
-+}
-+
-+QString QSslSocketPrivate::sslLibraryVersionString()
-+{
-+    if (!supportsSsl())
-+        return QString();
-+
-+    const char *versionString = q_OpenSSL_version(OPENSSL_VERSION);
-+    if (!versionString)
-+        return QString();
-+
-+    return QString::fromLatin1(versionString);
-+}
-+
-+void QSslSocketBackendPrivate::continueHandshake()
-+{
-+    Q_Q(QSslSocket);
-+    // if we have a max read buffer size, reset the plain socket's to match
-+    if (readBufferMaxSize)
-+        plainSocket->setReadBufferSize(readBufferMaxSize);
-+
-+    if (q_SSL_session_reused(ssl))
-+        configuration.peerSessionShared = true;
-+
-+#ifdef QT_DECRYPT_SSL_TRAFFIC
-+    if (q_SSL_get_session(ssl)) {
-+        size_t master_key_len = q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl), 0, 0);
-+        size_t client_random_len = q_SSL_get_client_random(ssl, 0, 0);
-+        QByteArray masterKey(int(master_key_len), 0); // Will not overflow
-+        QByteArray clientRandom(int(client_random_len), 0); // Will not overflow
-+
-+        q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl),
-+                                     reinterpret_cast<unsigned char*>(masterKey.data()),
-+                                     masterKey.size());
-+        q_SSL_get_client_random(ssl, reinterpret_cast<unsigned char *>(clientRandom.data()),
-+                                clientRandom.size());
-+
-+        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
-+        debugLineClientRandom.append(clientRandom.toHex().toUpper());
-+        debugLineClientRandom.append(" ");
-+        debugLineClientRandom.append(masterKey.toHex().toUpper());
-+        debugLineClientRandom.append("\n");
-+
-+        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
-+        QFile file(sslKeyFile);
-+        if (!file.open(QIODevice::Append))
-+            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
-+        if (!file.write(debugLineClientRandom))
-+            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
-+        file.close();
-+    } else {
-+        qCWarning(lcSsl, "could not decrypt SSL traffic");
-+    }
-+#endif
-+
-+    // Cache this SSL session inside the QSslContext
-+    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
-+        if (!sslContextPointer->cacheSession(ssl)) {
-+            sslContextPointer.clear(); // we could not cache the session
-+        } else {
-+            // Cache the session for permanent usage as well
-+            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
-+                if (!sslContextPointer->sessionASN1().isEmpty())
-+                    configuration.sslSession = sslContextPointer->sessionASN1();
-+                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
-+            }
-+        }
-+    }
-+
-+#if !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
-+    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
-+        // we could not agree -> be conservative and use HTTP/1.1
-+        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
-+    } else {
-+        const unsigned char *proto = 0;
-+        unsigned int proto_len = 0;
-+
-+        q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
-+        if (proto_len && mode == QSslSocket::SslClientMode) {
-+            // Client does not have a callback that sets it ...
-+            configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
-+        }
-+
-+        if (!proto_len) { // Test if NPN was more lucky ...
-+            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
-+        }
-+
-+        if (proto_len)
-+            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
-+        else
-+            configuration.nextNegotiatedProtocol.clear();
-+    }
-+#endif // !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    if (mode == QSslSocket::SslClientMode) {
-+        EVP_PKEY *key;
-+        if (q_SSL_get_server_tmp_key(ssl, &key))
-+            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
-+    }
-+
-+    connectionEncrypted = true;
-+    emit q->encrypted();
-+    if (autoStartHandshake && pendingClose) {
-+        pendingClose = false;
-+        q->disconnectFromHost();
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qsslsocket_openssl11_symbols_p.h b/src/network/ssl/qsslsocket_openssl11_symbols_p.h
-new file mode 100644
-index 0000000000..2980b3d23e
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_openssl11_symbols_p.h
-@@ -0,0 +1,132 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+#ifndef QSSLSOCKET_OPENSSL11_SYMBOLS_P_H
-+#define QSSLSOCKET_OPENSSL11_SYMBOLS_P_H
-+
-+//
-+//  W A R N I N G
-+//  -------------
-+//
-+// This file is not part of the Qt API. It exists purely as an
-+// implementation detail. This header file may change from version to
-+// version without notice, or even be removed.
-+//
-+// We mean it.
-+//
-+
-+// Note: this file does not have QT_BEGIN_NAMESPACE/QT_END_NAMESPACE, it's done
-+// in qsslsocket_openssl_symbols_p.h.
-+
-+#ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H
-+#error "You are not supposed to use this header file, include qsslsocket_openssl_symbols_p.h instead"
-+#endif
-+
-+const unsigned char * q_ASN1_STRING_get0_data(const ASN1_STRING *x);
-+
-+Q_AUTOTEST_EXPORT BIO *q_BIO_new(const BIO_METHOD *a);
-+Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem();
-+
-+int q_DSA_bits(DSA *a);
-+int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
-+int q_EVP_PKEY_base_id(EVP_PKEY *a);
-+int q_RSA_bits(RSA *a);
-+int q_OPENSSL_sk_num(OPENSSL_STACK *a);
-+void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
-+OPENSSL_STACK *q_OPENSSL_sk_new_null();
-+void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
-+void q_OPENSSL_sk_free(OPENSSL_STACK *a);
-+void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
-+int q_SSL_session_reused(SSL *a);
-+unsigned long q_SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op);
-+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+size_t q_SSL_get_client_random(SSL *a, unsigned char *out, size_t outlen);
-+size_t q_SSL_SESSION_get_master_key(const SSL_SESSION *session, unsigned char *out, size_t outlen);
-+int q_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
-+const SSL_METHOD *q_TLS_method();
-+const SSL_METHOD *q_TLS_client_method();
-+const SSL_METHOD *q_TLS_server_method();
-+ASN1_TIME *q_X509_getm_notBefore(X509 *a);
-+ASN1_TIME *q_X509_getm_notAfter(X509 *a);
-+
-+long q_X509_get_version(X509 *a);
-+EVP_PKEY *q_X509_get_pubkey(X509 *a);
-+void q_X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb);
-+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
-+void q_DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
-+int q_DH_bits(DH *dh);
-+
-+# define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \
-+                                                       | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL)
-+
-+#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_OPENSSL_sk_num)(st)
-+#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_OPENSSL_sk_value)(st, i)
-+
-+#define q_OPENSSL_add_all_algorithms_conf()  q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
-+                                                                   | OPENSSL_INIT_ADD_ALL_DIGESTS \
-+                                                                   | OPENSSL_INIT_LOAD_CONFIG, NULL)
-+#define  q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
-+                                                                    | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
-+
-+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+void q_CRYPTO_free(void *str, const char *file, int line);
-+
-+long q_OpenSSL_version_num();
-+const char *q_OpenSSL_version(int type);
-+
-+unsigned long q_SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *session);
-+
-+#endif
-diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h
-index b2adb3e547..7f9e884045 100644
---- a/src/network/ssl/qsslsocket_openssl_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_p.h
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -98,8 +98,8 @@
- #include <openssl/crypto.h>
- #include <openssl/tls1.h>
- 
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--typedef _STACK STACK;
-+#if QT_CONFIG(opensslv11)
-+#include <openssl/dh.h>
- #endif
- 
- QT_BEGIN_NAMESPACE
-@@ -151,7 +151,7 @@ public:
- #endif
- 
-     Q_AUTOTEST_EXPORT static long setupOpenSslOptions(QSsl::SslProtocol protocol, QSsl::SslOptions sslOptions);
--    static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher);
-+    static QSslCipher QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher);
-     static QList<QSslCertificate> STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509);
-     static QList<QSslError> verify(const QList<QSslCertificate> &certificateChain, const QString &hostName);
-     static QString getErrorsFromOpenSsl();
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-index c344a94427..0ef8bf6b5e 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -1,7 +1,8 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -136,49 +137,195 @@ void qsslSocketCannotResolveSymbolWarning(const char *functionName)
- 
- #endif // QT_LINKED_OPENSSL
- 
-+#if QT_CONFIG(opensslv11)
-+
-+// Below are the functions first introduced in version 1.1:
-+
-+DEFINEFUNC(const unsigned char *, ASN1_STRING_get0_data, const ASN1_STRING *a, a, return 0, return)
-+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return)
-+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return)
-+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
-+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
-+DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return)
-+DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return)
-+DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return)
-+DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return)
-+DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return)
-+DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
-+DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return 0, return)
-+DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return)
-+DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return)
-+DEFINEFUNC3(size_t, SSL_get_client_random, SSL *a, a, unsigned char *out, out, size_t outlen, outlen, return 0, return)
-+DEFINEFUNC3(size_t, SSL_SESSION_get_master_key, const SSL_SESSION *ses, ses, unsigned char *out, out, size_t outlen, outlen, return 0, return)
-+DEFINEFUNC6(int, CRYPTO_get_ex_new_index, int class_index, class_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
-+
-+DEFINEFUNC(const SSL_METHOD *, TLS_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *a, a, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *a, a, return 0, return)
-+DEFINEFUNC(long, X509_get_version, X509 *a, a, return -1, return)
-+DEFINEFUNC(EVP_PKEY *, X509_get_pubkey, X509 *a, a, return 0, return)
-+DEFINEFUNC2(void, X509_STORE_set_verify_cb, X509_STORE *a, a, X509_STORE_CTX_verify_cb verify_cb, verify_cb, return, DUMMYARG)
-+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return)
-+DEFINEFUNC3(void, CRYPTO_free, void *str, str, const char *file, file, int line, line, return, DUMMYARG)
-+DEFINEFUNC(long, OpenSSL_version_num, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(const char *, OpenSSL_version, int a, a, return 0, return)
-+DEFINEFUNC(unsigned long, SSL_SESSION_get_ticket_lifetime_hint, const SSL_SESSION *session, session, return 0, return)
-+DEFINEFUNC4(void, DH_get0_pqg, const DH *dh, dh, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, DUMMYARG)
-+DEFINEFUNC(int, DH_bits, DH *dh, dh, return 0, return)
-+
-+#else // QT_CONFIG(opensslv11)
-+
-+// Functions below are either deprecated or removed in OpenSSL >= 1.1:
-+
-+DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return)
-+
- #ifdef SSLEAY_MACROS
- DEFINEFUNC3(void *, ASN1_dup, i2d_of_void *a, a, d2i_of_void *b, b, char *c, c, return 0, return)
- #endif
-+DEFINEFUNC2(BIO *, BIO_new_file, const char *filename, filename, const char *mode, mode, return 0, return)
-+DEFINEFUNC(void, ERR_clear_error, DUMMYARG, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
-+DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
-+DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
-+DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
-+DEFINEFUNC(unsigned long, ERR_peek_last_error, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+
-+#ifdef SSLEAY_MACROS
-+DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
-+DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
-+#endif // SSLEAY_MACROS
-+
-+DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
-+DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return)
-+#else
-+DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
-+
-+DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
-+DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#else
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+
-+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
-+
-+#ifdef SSLEAY_MACROS
-+DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
-+DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return)
-+#ifndef OPENSSL_NO_EC
-+DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return)
-+#endif
-+DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
-+DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
-+#ifndef OPENSSL_NO_EC
-+DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return)
-+#endif
-+#endif
-+DEFINEFUNC(char *, CONF_get1_default_config_file, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return)
-+
-+#endif // QT_CONFIG(opensslv11)
-+
- DEFINEFUNC(long, ASN1_INTEGER_get, ASN1_INTEGER *a, a, return 0, return)
--DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return)
- DEFINEFUNC(int, ASN1_STRING_length, ASN1_STRING *a, a, return 0, return)
--DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
-+DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return)
- DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
- DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
--DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
- DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
- DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
--DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+
- DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
--DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
--#endif
- DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return static_cast<BN_ULONG>(-1), return)
- #ifndef OPENSSL_NO_EC
- DEFINEFUNC(const EC_GROUP*, EC_KEY_get0_group, const EC_KEY* k, k, return 0, return)
- DEFINEFUNC(int, EC_GROUP_get_degree, const EC_GROUP* g, g, return 0, return)
- #endif
--DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
--DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
--DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
- DEFINEFUNC(DSA *, DSA_new, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
- DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, const unsigned char **b, b, long c, c, return 0, return)
- DEFINEFUNC2(char *, ERR_error_string, unsigned long a, a, char *b, b, return 0, return)
- DEFINEFUNC(unsigned long, ERR_get_error, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG)
--DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
--DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
--DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return);
-+DEFINEFUNC(EVP_CIPHER_CTX *, EVP_CIPHER_CTX_new, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_free, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return)
- DEFINEFUNC2(int, EVP_CIPHER_CTX_set_key_length, EVP_CIPHER_CTX *ctx, ctx, int keylen, keylen, return 0, return)
--DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return);
--DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return);
--DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return);
-+DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return)
-+DEFINEFUNC6(int, EVP_CipherInit_ex, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *cipher, cipher, ENGINE *impl, impl, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return)
-+DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return)
-+DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_des_cbc, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_des_ede3_cbc, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_rc2_cbc, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const EVP_MD *, EVP_sha1, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC3(int, EVP_PKEY_assign, EVP_PKEY *a, a, int b, b, char *c, c, return -1, return)
- DEFINEFUNC2(int, EVP_PKEY_set1_RSA, EVP_PKEY *a, a, RSA *b, b, return -1, return)
- DEFINEFUNC2(int, EVP_PKEY_set1_DSA, EVP_PKEY *a, a, DSA *b, b, return -1, return)
-@@ -202,10 +349,8 @@ DEFINEFUNC3(int, i2t_ASN1_OBJECT, char *a, a, int b, b, ASN1_OBJECT *c, c, retur
- DEFINEFUNC4(int, OBJ_obj2txt, char *a, a, int b, b, ASN1_OBJECT *c, c, int d, d, return -1, return)
- 
- DEFINEFUNC(int, OBJ_obj2nid, const ASN1_OBJECT *a, a, return NID_undef, return)
--#ifdef SSLEAY_MACROS
--DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
--DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
--#else
-+
-+#ifndef SSLEAY_MACROS
- DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PrivateKey, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(DSA *, PEM_read_bio_DSAPrivateKey, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(RSA *, PEM_read_bio_RSAPrivateKey, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
-@@ -218,7 +363,7 @@ DEFINEFUNC7(int, PEM_write_bio_RSAPrivateKey, BIO *a, a, RSA *b, b, const EVP_CI
- #ifndef OPENSSL_NO_EC
- DEFINEFUNC7(int, PEM_write_bio_ECPrivateKey, BIO *a, a, EC_KEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return)
- #endif
--#endif
-+#endif // !SSLEAY_MACROS
- DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PUBKEY, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(DSA *, PEM_read_bio_DSA_PUBKEY, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(RSA *, PEM_read_bio_RSA_PUBKEY, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
-@@ -234,23 +379,10 @@ DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
- DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
- DEFINEFUNC(RSA *, RSA_new, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
--DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
--DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
--DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
--DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return)
--#else
--DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG)
--DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
--DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
--#endif
- DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
--DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
--DEFINEFUNC2(int, SSL_CIPHER_get_bits, SSL_CIPHER *a, a, int *b, b, return 0, return)
-+DEFINEFUNC3(char *, SSL_CIPHER_description, const SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
-+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *a, a, int *b, b, return 0, return)
- DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_CTX_check_private_key, const SSL_CTX *a, a, return -1, return)
- DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return)
-@@ -287,8 +419,6 @@ DEFINEFUNC(long, SSL_get_verify_result, const SSL *a, a, return -1, return)
- #else
- DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
- #endif
--DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
--DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
- DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return)
- DEFINEFUNC3(int, SSL_read, SSL *a, a, void *b, b, int c, c, return -1, return)
-@@ -301,7 +431,6 @@ DEFINEFUNC(void, SSL_SESSION_free, SSL_SESSION *ses, ses, return, DUMMYARG)
- DEFINEFUNC(SSL_SESSION*, SSL_get1_session, SSL *ssl, ssl, return 0, return)
- DEFINEFUNC(SSL_SESSION*, SSL_get_session, const SSL *ssl, ssl, return 0, return)
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
- DEFINEFUNC3(int, SSL_set_ex_data, SSL *ssl, ssl, int idx, idx, void *arg, arg, return 0, return)
- DEFINEFUNC2(void *, SSL_get_ex_data, const SSL *ssl, ssl, int idx, idx, return NULL, return)
- #endif
-@@ -310,51 +439,9 @@ DEFINEFUNC2(void, SSL_set_psk_client_callback, SSL* ssl, ssl, q_psk_client_callb
- DEFINEFUNC2(void, SSL_set_psk_server_callback, SSL* ssl, ssl, q_psk_server_callback_t callback, callback, return, DUMMYARG)
- DEFINEFUNC2(int, SSL_CTX_use_psk_identity_hint, SSL_CTX* ctx, ctx, const char *hint, hint, return 0, return)
- #endif
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#else
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
- DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return)
-+DEFINEFUNC4(int, X509_digest, const X509 *x509, x509, const EVP_MD *type, type, unsigned char *md, md, unsigned int *len, len, return -1, return)
- #ifndef SSLEAY_MACROS
- DEFINEFUNC(X509 *, X509_dup, X509 *a, a, return 0, return)
- #endif
-@@ -378,6 +465,7 @@ DEFINEFUNC2(int, ASN1_STRING_print, BIO *a, a, ASN1_STRING *b, b, return 0, retu
- DEFINEFUNC2(int, X509_check_issued, X509 *a, a, X509 *b, b, return -1, return)
- DEFINEFUNC(X509_NAME *, X509_get_issuer_name, X509 *a, a, return 0, return)
- DEFINEFUNC(X509_NAME *, X509_get_subject_name, X509 *a, a, return 0, return)
-+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *a, a, return 0, return)
- DEFINEFUNC(int, X509_verify_cert, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(int, X509_NAME_entry_count, X509_NAME *a, a, return 0, return)
- DEFINEFUNC2(X509_NAME_ENTRY *, X509_NAME_get_entry, X509_NAME *a, a, int b, b, return 0, return)
-@@ -393,25 +481,8 @@ DEFINEFUNC2(int, X509_STORE_CTX_set_purpose, X509_STORE_CTX *a, a, int b, b, ret
- DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return)
--DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
- DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return)
--#ifdef SSLEAY_MACROS
--DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
--DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return)
--#ifndef OPENSSL_NO_EC
--DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return)
--#endif
--DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
--DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
--#ifndef OPENSSL_NO_EC
--DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return)
--#endif
--#endif
--DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
--DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
--DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
--DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return)
- DEFINEFUNC2(int, i2d_SSL_SESSION, SSL_SESSION *in, in, unsigned char **pp, pp, return 0, return)
- DEFINEFUNC3(SSL_SESSION *, d2i_SSL_SESSION, SSL_SESSION **a, a, const unsigned char **pp, pp, long length, length, return 0, return)
- #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-@@ -694,8 +765,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
- #ifndef Q_OS_DARWIN
-     // second attempt: find the development files libssl.so and libcrypto.so
-     //
--    // disabled on OS X/iOS:
--    //  OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-+    // disabled on macOS/iOS:
-+    //  macOS's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-     //    attempt, _after_ <bundle>/Contents/Frameworks has been searched.
-     //  iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.
-     libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
-@@ -754,7 +825,11 @@ bool q_resolveOpenSslSymbols()
-     static bool symbolsResolved = false;
-     static bool triedToResolveSymbols = false;
- #ifndef QT_NO_THREAD
-+#if QT_CONFIG(opensslv11)
-+    QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl));
-+#else
-     QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init));
-+#endif
- #endif
-     if (symbolsResolved)
-         return true;
-@@ -771,11 +846,145 @@ bool q_resolveOpenSslSymbols()
-         // failed to load them
-         return false;
- 
-+#if QT_CONFIG(opensslv11)
-+
-+    RESOLVEFUNC(OPENSSL_init_ssl)
-+    RESOLVEFUNC(OPENSSL_init_crypto)
-+    RESOLVEFUNC(ASN1_STRING_get0_data)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_reset)
-+    RESOLVEFUNC(EVP_PKEY_base_id)
-+    RESOLVEFUNC(RSA_bits)
-+    RESOLVEFUNC(OPENSSL_sk_new_null)
-+    RESOLVEFUNC(OPENSSL_sk_push)
-+    RESOLVEFUNC(OPENSSL_sk_free)
-+    RESOLVEFUNC(OPENSSL_sk_num)
-+    RESOLVEFUNC(OPENSSL_sk_pop_free)
-+    RESOLVEFUNC(OPENSSL_sk_value)
-+    RESOLVEFUNC(DH_get0_pqg)
-+    RESOLVEFUNC(SSL_CTX_set_options)
-+    RESOLVEFUNC(SSL_get_client_random)
-+    RESOLVEFUNC(SSL_SESSION_get_master_key)
-+    RESOLVEFUNC(SSL_session_reused)
-+    RESOLVEFUNC(SSL_get_session)
-+    RESOLVEFUNC(CRYPTO_get_ex_new_index)
-+    RESOLVEFUNC(TLS_method)
-+    RESOLVEFUNC(TLS_client_method)
-+    RESOLVEFUNC(TLS_server_method)
-+    RESOLVEFUNC(X509_STORE_CTX_get0_chain)
-+    RESOLVEFUNC(X509_getm_notBefore)
-+    RESOLVEFUNC(X509_getm_notAfter)
-+    RESOLVEFUNC(X509_get_version)
-+    RESOLVEFUNC(X509_get_pubkey)
-+    RESOLVEFUNC(X509_STORE_set_verify_cb)
-+    RESOLVEFUNC(CRYPTO_free)
-+    RESOLVEFUNC(OpenSSL_version_num)
-+    RESOLVEFUNC(OpenSSL_version)
-+    if (!_q_OpenSSL_version) {
-+        // Apparently, we were built with OpenSSL 1.1 enabled but are now using
-+        // a wrong library.
-+        delete libs.first;
-+        delete libs.second;
-+        qCWarning(lcSsl, "Incompatible version of OpenSSL");
-+        return false;
-+    }
-+
-+    RESOLVEFUNC(SSL_SESSION_get_ticket_lifetime_hint)
-+    RESOLVEFUNC(DH_bits)
-+    RESOLVEFUNC(DSA_bits)
-+
-+#else // !opensslv11
-+
-+    RESOLVEFUNC(ASN1_STRING_data)
-+
- #ifdef SSLEAY_MACROS
-     RESOLVEFUNC(ASN1_dup)
-+#endif // SSLEAY_MACROS
-+    RESOLVEFUNC(BIO_new_file)
-+    RESOLVEFUNC(ERR_clear_error)
-+    RESOLVEFUNC(CRYPTO_free)
-+    RESOLVEFUNC(CRYPTO_num_locks)
-+    RESOLVEFUNC(CRYPTO_set_id_callback)
-+    RESOLVEFUNC(CRYPTO_set_locking_callback)
-+    RESOLVEFUNC(ERR_peek_last_error)
-+    RESOLVEFUNC(ERR_free_strings)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_cleanup)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_init)
-+
-+#ifdef SSLEAY_MACROS // ### verify
-+    RESOLVEFUNC(PEM_ASN1_read_bio)
-+#endif // SSLEAY_MACROS
-+
-+    RESOLVEFUNC(sk_new_null)
-+    RESOLVEFUNC(sk_push)
-+    RESOLVEFUNC(sk_free)
-+    RESOLVEFUNC(sk_num)
-+    RESOLVEFUNC(sk_pop_free)
-+    RESOLVEFUNC(sk_value)
-+    RESOLVEFUNC(SSL_library_init)
-+    RESOLVEFUNC(SSL_load_error_strings)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(SSL_get_ex_new_index)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+    RESOLVEFUNC(SSLv2_client_method)
- #endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+    RESOLVEFUNC(SSLv3_client_method)
-+#endif
-+    RESOLVEFUNC(SSLv23_client_method)
-+    RESOLVEFUNC(TLSv1_client_method)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(TLSv1_1_client_method)
-+    RESOLVEFUNC(TLSv1_2_client_method)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+    RESOLVEFUNC(SSLv2_server_method)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+    RESOLVEFUNC(SSLv3_server_method)
-+#endif
-+    RESOLVEFUNC(SSLv23_server_method)
-+    RESOLVEFUNC(TLSv1_server_method)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(TLSv1_1_server_method)
-+    RESOLVEFUNC(TLSv1_2_server_method)
-+#endif
-+    RESOLVEFUNC(X509_STORE_CTX_get_chain)
-+#ifdef SSLEAY_MACROS
-+    RESOLVEFUNC(i2d_DSAPrivateKey)
-+    RESOLVEFUNC(i2d_RSAPrivateKey)
-+    RESOLVEFUNC(d2i_DSAPrivateKey)
-+    RESOLVEFUNC(d2i_RSAPrivateKey)
-+#endif
-+    RESOLVEFUNC(CONF_get1_default_config_file)
-+    RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
-+    RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
-+    RESOLVEFUNC(SSLeay)
-+
-+    if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) {
-+        // OpenSSL 1.1 has deprecated and removed SSLeay. We consider a failure to
-+        // resolve this symbol as a failure to resolve symbols.
-+        // The right operand of '||' above is ... a bit of paranoia.
-+        delete libs.first;
-+        delete libs.second;
-+        qCWarning(lcSsl, "Incompatible version of OpenSSL");
-+        return false;
-+    }
-+
-+
-+    RESOLVEFUNC(SSLeay_version)
-+
-+#ifndef OPENSSL_NO_EC
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L)
-+        RESOLVEFUNC(EC_curve_nist2nid)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
-+#endif // OPENSSL_NO_EC
-+
-+
-+#endif // !opensslv11
-+
-     RESOLVEFUNC(ASN1_INTEGER_get)
--    RESOLVEFUNC(ASN1_STRING_data)
-     RESOLVEFUNC(ASN1_STRING_length)
-     RESOLVEFUNC(ASN1_STRING_to_UTF8)
-     RESOLVEFUNC(BIO_ctrl)
-@@ -794,25 +1003,22 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(BN_is_word)
- #endif
-     RESOLVEFUNC(BN_mod_word)
--    RESOLVEFUNC(CRYPTO_free)
--    RESOLVEFUNC(CRYPTO_num_locks)
--    RESOLVEFUNC(CRYPTO_set_id_callback)
--    RESOLVEFUNC(CRYPTO_set_locking_callback)
-     RESOLVEFUNC(DSA_new)
-     RESOLVEFUNC(DSA_free)
-     RESOLVEFUNC(ERR_error_string)
-     RESOLVEFUNC(ERR_get_error)
--    RESOLVEFUNC(ERR_free_strings)
--    RESOLVEFUNC(EVP_CIPHER_CTX_cleanup)
--    RESOLVEFUNC(EVP_CIPHER_CTX_init)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_new)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_free)
-     RESOLVEFUNC(EVP_CIPHER_CTX_ctrl)
-     RESOLVEFUNC(EVP_CIPHER_CTX_set_key_length)
-     RESOLVEFUNC(EVP_CipherInit)
-+    RESOLVEFUNC(EVP_CipherInit_ex)
-     RESOLVEFUNC(EVP_CipherUpdate)
-     RESOLVEFUNC(EVP_CipherFinal)
-     RESOLVEFUNC(EVP_des_cbc)
-     RESOLVEFUNC(EVP_des_ede3_cbc)
-     RESOLVEFUNC(EVP_rc2_cbc)
-+    RESOLVEFUNC(EVP_sha1)
-     RESOLVEFUNC(EVP_PKEY_assign)
-     RESOLVEFUNC(EVP_PKEY_set1_RSA)
-     RESOLVEFUNC(EVP_PKEY_set1_DSA)
-@@ -834,9 +1040,8 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(i2t_ASN1_OBJECT)
-     RESOLVEFUNC(OBJ_obj2txt)
-     RESOLVEFUNC(OBJ_obj2nid)
--#ifdef SSLEAY_MACROS // ### verify
--    RESOLVEFUNC(PEM_ASN1_read_bio)
--#else
-+
-+#ifndef SSLEAY_MACROS
-     RESOLVEFUNC(PEM_read_bio_PrivateKey)
-     RESOLVEFUNC(PEM_read_bio_DSAPrivateKey)
-     RESOLVEFUNC(PEM_read_bio_RSAPrivateKey)
-@@ -849,7 +1054,8 @@ bool q_resolveOpenSslSymbols()
- #ifndef OPENSSL_NO_EC
-     RESOLVEFUNC(PEM_write_bio_ECPrivateKey)
- #endif
--#endif
-+#endif // !SSLEAY_MACROS
-+
-     RESOLVEFUNC(PEM_read_bio_PUBKEY)
-     RESOLVEFUNC(PEM_read_bio_DSA_PUBKEY)
-     RESOLVEFUNC(PEM_read_bio_RSA_PUBKEY)
-@@ -865,12 +1071,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(RAND_status)
-     RESOLVEFUNC(RSA_new)
-     RESOLVEFUNC(RSA_free)
--    RESOLVEFUNC(sk_new_null)
--    RESOLVEFUNC(sk_push)
--    RESOLVEFUNC(sk_free)
--    RESOLVEFUNC(sk_num)
--    RESOLVEFUNC(sk_pop_free)
--    RESOLVEFUNC(sk_value)
-     RESOLVEFUNC(SSL_CIPHER_description)
-     RESOLVEFUNC(SSL_CIPHER_get_bits)
-     RESOLVEFUNC(SSL_CTX_check_private_key)
-@@ -898,8 +1098,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_get_peer_cert_chain)
-     RESOLVEFUNC(SSL_get_peer_certificate)
-     RESOLVEFUNC(SSL_get_verify_result)
--    RESOLVEFUNC(SSL_library_init)
--    RESOLVEFUNC(SSL_load_error_strings)
-     RESOLVEFUNC(SSL_new)
-     RESOLVEFUNC(SSL_ctrl)
-     RESOLVEFUNC(SSL_read)
-@@ -912,7 +1110,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_get1_session)
-     RESOLVEFUNC(SSL_get_session)
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(SSL_get_ex_new_index)
-     RESOLVEFUNC(SSL_set_ex_data)
-     RESOLVEFUNC(SSL_get_ex_data)
- #endif
-@@ -922,30 +1119,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_CTX_use_psk_identity_hint)
- #endif
-     RESOLVEFUNC(SSL_write)
--#ifndef OPENSSL_NO_SSL2
--    RESOLVEFUNC(SSLv2_client_method)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--    RESOLVEFUNC(SSLv3_client_method)
--#endif
--    RESOLVEFUNC(SSLv23_client_method)
--    RESOLVEFUNC(TLSv1_client_method)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(TLSv1_1_client_method)
--    RESOLVEFUNC(TLSv1_2_client_method)
--#endif
--#ifndef OPENSSL_NO_SSL2
--    RESOLVEFUNC(SSLv2_server_method)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--    RESOLVEFUNC(SSLv3_server_method)
--#endif
--    RESOLVEFUNC(SSLv23_server_method)
--    RESOLVEFUNC(TLSv1_server_method)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(TLSv1_1_server_method)
--    RESOLVEFUNC(TLSv1_2_server_method)
--#endif
-     RESOLVEFUNC(X509_NAME_entry_count)
-     RESOLVEFUNC(X509_NAME_get_entry)
-     RESOLVEFUNC(X509_NAME_ENTRY_get_data)
-@@ -961,12 +1134,12 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(X509_STORE_CTX_get_error)
-     RESOLVEFUNC(X509_STORE_CTX_get_error_depth)
-     RESOLVEFUNC(X509_STORE_CTX_get_current_cert)
--    RESOLVEFUNC(X509_STORE_CTX_get_chain)
-     RESOLVEFUNC(X509_cmp)
- #ifndef SSLEAY_MACROS
-     RESOLVEFUNC(X509_dup)
- #endif
-     RESOLVEFUNC(X509_print)
-+    RESOLVEFUNC(X509_digest)
-     RESOLVEFUNC(X509_EXTENSION_get_object)
-     RESOLVEFUNC(X509_free)
-     RESOLVEFUNC(X509_get_ext)
-@@ -982,20 +1155,11 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(X509_check_issued)
-     RESOLVEFUNC(X509_get_issuer_name)
-     RESOLVEFUNC(X509_get_subject_name)
-+    RESOLVEFUNC(X509_get_serialNumber)
-     RESOLVEFUNC(X509_verify_cert)
-     RESOLVEFUNC(d2i_X509)
-     RESOLVEFUNC(i2d_X509)
--#ifdef SSLEAY_MACROS
--    RESOLVEFUNC(i2d_DSAPrivateKey)
--    RESOLVEFUNC(i2d_RSAPrivateKey)
--    RESOLVEFUNC(d2i_DSAPrivateKey)
--    RESOLVEFUNC(d2i_RSAPrivateKey)
--#endif
--    RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
--    RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
-     RESOLVEFUNC(SSL_CTX_load_verify_locations)
--    RESOLVEFUNC(SSLeay)
--    RESOLVEFUNC(SSLeay_version)
-     RESOLVEFUNC(i2d_SSL_SESSION)
-     RESOLVEFUNC(d2i_SSL_SESSION)
- #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-@@ -1019,27 +1183,14 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(EC_KEY_new_by_curve_name)
-     RESOLVEFUNC(EC_KEY_free)
-     RESOLVEFUNC(EC_get_builtin_curves)
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L)
--        RESOLVEFUNC(EC_curve_nist2nid)
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
- #endif // OPENSSL_NO_EC
-     RESOLVEFUNC(PKCS12_parse)
-     RESOLVEFUNC(d2i_PKCS12_bio)
-     RESOLVEFUNC(PKCS12_free)
- 
-+    symbolsResolved = true;
-     delete libs.first;
-     delete libs.second;
--    if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) {
--        // OpenSSL 1.1 deprecated and removed SSLeay. We consider a failure to
--        // resolve this symbol as a failure to resolve symbols.
--        // The right operand of '||' above ... a bit of paranoia.
--        qCWarning(lcSsl, "Incompatible version of OpenSSL");
--        return false;
--    }
--
--    symbolsResolved = true;
--
-     return true;
- }
- #endif // QT_CONFIG(library)
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-index b35a895d38..796bf2d4f5 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
- ** Contact: https://www.qt.io/licensing/
- **
-@@ -56,6 +56,7 @@
- #ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H
- #define QSSLSOCKET_OPENSSL_SYMBOLS_P_H
- 
-+
- //
- //  W A R N I N G
- //  -------------
-@@ -215,17 +216,20 @@ QT_BEGIN_NAMESPACE
- 
- #endif // !defined QT_LINKED_OPENSSL
- 
-+#if QT_CONFIG(opensslv11)
-+#include "qsslsocket_openssl11_symbols_p.h"
-+#else
-+#include "qsslsocket_opensslpre11_symbols_p.h"
-+#endif // QT_CONFIG
-+
- bool q_resolveOpenSslSymbols();
- long q_ASN1_INTEGER_get(ASN1_INTEGER *a);
--unsigned char * q_ASN1_STRING_data(ASN1_STRING *a);
- int q_ASN1_STRING_length(ASN1_STRING *a);
- int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
- long q_BIO_ctrl(BIO *a, int b, long c, void *d);
- Q_AUTOTEST_EXPORT int q_BIO_free(BIO *a);
--Q_AUTOTEST_EXPORT BIO *q_BIO_new(BIO_METHOD *a);
- BIO *q_BIO_new_mem_buf(void *a, int b);
- int q_BIO_read(BIO *a, void *b, int c);
--Q_AUTOTEST_EXPORT BIO_METHOD *q_BIO_s_mem();
- Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c);
- int q_BN_num_bits(const BIGNUM *a);
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L
-@@ -247,26 +251,23 @@ BN_ULONG q_BN_mod_word(const BIGNUM *a, BN_ULONG w);
- const EC_GROUP* q_EC_KEY_get0_group(const EC_KEY* k);
- int q_EC_GROUP_get_degree(const EC_GROUP* g);
- #endif
--int q_CRYPTO_num_locks();
--void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
--void q_CRYPTO_set_id_callback(unsigned long (*a)());
--void q_CRYPTO_free(void *a);
- DSA *q_DSA_new();
- void q_DSA_free(DSA *a);
- X509 *q_d2i_X509(X509 **a, const unsigned char **b, long c);
- char *q_ERR_error_string(unsigned long a, char *b);
- unsigned long q_ERR_get_error();
--void q_ERR_free_strings();
--void q_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a);
--void q_EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a);
-+EVP_CIPHER_CTX *q_EVP_CIPHER_CTX_new();
-+void q_EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a);
- int q_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
- int q_EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
- int q_EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *key, const unsigned char *iv, int enc);
-+int q_EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc);
- int q_EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl);
- int q_EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
- const EVP_CIPHER *q_EVP_des_cbc();
- const EVP_CIPHER *q_EVP_des_ede3_cbc();
- const EVP_CIPHER *q_EVP_rc2_cbc();
-+const EVP_MD *q_EVP_sha1();
- int q_EVP_PKEY_assign(EVP_PKEY *a, int b, char *c);
- Q_AUTOTEST_EXPORT int q_EVP_PKEY_set1_RSA(EVP_PKEY *a, RSA *b);
- int q_EVP_PKEY_set1_DSA(EVP_PKEY *a, DSA *b);
-@@ -310,7 +311,7 @@ int q_PEM_write_bio_RSAPrivateKey(BIO *a, RSA *b, const EVP_CIPHER *c, unsigned
- int q_PEM_write_bio_ECPrivateKey(BIO *a, EC_KEY *b, const EVP_CIPHER *c, unsigned char *d,
-                                   int e, pem_password_cb *f, void *g);
- #endif
--#endif
-+#endif // SSLEAY_MACROS
- Q_AUTOTEST_EXPORT EVP_PKEY *q_PEM_read_bio_PUBKEY(BIO *a, EVP_PKEY **b, pem_password_cb *c, void *d);
- DSA *q_PEM_read_bio_DSA_PUBKEY(BIO *a, DSA **b, pem_password_cb *c, void *d);
- RSA *q_PEM_read_bio_RSA_PUBKEY(BIO *a, RSA **b, pem_password_cb *c, void *d);
-@@ -326,23 +327,10 @@ void q_RAND_seed(const void *a, int b);
- int q_RAND_status();
- RSA *q_RSA_new();
- void q_RSA_free(RSA *a);
--int q_sk_num(STACK *a);
--void q_sk_pop_free(STACK *a, void (*b)(void *));
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--_STACK *q_sk_new_null();
--void q_sk_push(_STACK *st, void *data);
--void q_sk_free(_STACK *a);
--void * q_sk_value(STACK *a, int b);
--#else
--STACK *q_sk_new_null();
--void q_sk_push(STACK *st, char *data);
--void q_sk_free(STACK *a);
--char * q_sk_value(STACK *a, int b);
--#endif
- int q_SSL_accept(SSL *a);
- int q_SSL_clear(SSL *a);
--char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
--int q_SSL_CIPHER_get_bits(SSL_CIPHER *a, int *b);
-+char *q_SSL_CIPHER_description(const SSL_CIPHER *a, char *b, int c);
-+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *a, int *b);
- int q_SSL_connect(SSL *a);
- int q_SSL_CTX_check_private_key(const SSL_CTX *a);
- long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d);
-@@ -374,8 +362,6 @@ int q_SSL_get_error(SSL *a, int b);
- STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a);
- X509 *q_SSL_get_peer_certificate(SSL *a);
- long q_SSL_get_verify_result(const SSL *a);
--int q_SSL_library_init();
--void q_SSL_load_error_strings();
- SSL *q_SSL_new(SSL_CTX *a);
- long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
- int q_SSL_read(SSL *a, void *b, int c);
-@@ -388,7 +374,6 @@ void q_SSL_SESSION_free(SSL_SESSION *ses);
- SSL_SESSION *q_SSL_get1_session(SSL *ssl);
- SSL_SESSION *q_SSL_get_session(const SSL *ssl);
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--int q_SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
- int q_SSL_set_ex_data(SSL *ssl, int idx, void *arg);
- void *q_SSL_get_ex_data(const SSL *ssl, int idx);
- #endif
-@@ -399,49 +384,6 @@ typedef unsigned int (*q_psk_server_callback_t)(SSL *ssl, const char *identity,
- void q_SSL_set_psk_server_callback(SSL *ssl, q_psk_server_callback_t callback);
- int q_SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint);
- #endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--#ifndef OPENSSL_NO_SSL2
--const SSL_METHOD *q_SSLv2_client_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--const SSL_METHOD *q_SSLv3_client_method();
--#endif
--const SSL_METHOD *q_SSLv23_client_method();
--const SSL_METHOD *q_TLSv1_client_method();
--const SSL_METHOD *q_TLSv1_1_client_method();
--const SSL_METHOD *q_TLSv1_2_client_method();
--#ifndef OPENSSL_NO_SSL2
--const SSL_METHOD *q_SSLv2_server_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--const SSL_METHOD *q_SSLv3_server_method();
--#endif
--const SSL_METHOD *q_SSLv23_server_method();
--const SSL_METHOD *q_TLSv1_server_method();
--const SSL_METHOD *q_TLSv1_1_server_method();
--const SSL_METHOD *q_TLSv1_2_server_method();
--#else
--#ifndef OPENSSL_NO_SSL2
--SSL_METHOD *q_SSLv2_client_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--SSL_METHOD *q_SSLv3_client_method();
--#endif
--SSL_METHOD *q_SSLv23_client_method();
--SSL_METHOD *q_TLSv1_client_method();
--SSL_METHOD *q_TLSv1_1_client_method();
--SSL_METHOD *q_TLSv1_2_client_method();
--#ifndef OPENSSL_NO_SSL2
--SSL_METHOD *q_SSLv2_server_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--SSL_METHOD *q_SSLv3_server_method();
--#endif
--SSL_METHOD *q_SSLv23_server_method();
--SSL_METHOD *q_TLSv1_server_method();
--SSL_METHOD *q_TLSv1_1_server_method();
--SSL_METHOD *q_TLSv1_2_server_method();
--#endif
- int q_SSL_write(SSL *a, const void *b, int c);
- int q_X509_cmp(X509 *a, X509 *b);
- #ifdef SSLEAY_MACROS
-@@ -452,6 +394,7 @@ void *q_ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x);
- X509 *q_X509_dup(X509 *a);
- #endif
- void q_X509_print(BIO *a, X509*b);
-+int q_X509_digest(const X509 *x509, const EVP_MD *type, unsigned char *md, unsigned int *len);
- ASN1_OBJECT *q_X509_EXTENSION_get_object(X509_EXTENSION *a);
- void q_X509_free(X509 *a);
- X509_EXTENSION *q_X509_get_ext(X509 *a, int b);
-@@ -471,6 +414,7 @@ int q_ASN1_STRING_print(BIO *a, ASN1_STRING *b);
- int q_X509_check_issued(X509 *a, X509 *b);
- X509_NAME *q_X509_get_issuer_name(X509 *a);
- X509_NAME *q_X509_get_subject_name(X509 *a);
-+ASN1_INTEGER *q_X509_get_serialNumber(X509 *a);
- int q_X509_verify_cert(X509_STORE_CTX *ctx);
- int q_X509_NAME_entry_count(X509_NAME *a);
- X509_NAME_ENTRY *q_X509_NAME_get_entry(X509_NAME *a,int b);
-@@ -488,7 +432,6 @@ int q_X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
- int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
- int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
- X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
--STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
- 
- // Diffie-Hellman support
- DH *q_DH_new();
-@@ -522,34 +465,9 @@ int q_PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
- PKCS12 *q_d2i_PKCS12_bio(BIO *bio, PKCS12 **pkcs12);
- void q_PKCS12_free(PKCS12 *pkcs12);
- 
--
- #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
- #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
--#ifdef SSLEAY_MACROS
--int     q_i2d_DSAPrivateKey(const DSA *a, unsigned char **pp);
--int     q_i2d_RSAPrivateKey(const RSA *a, unsigned char **pp);
--RSA *q_d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length);
--DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length);
--#define q_PEM_read_bio_RSAPrivateKey(bp, x, cb, u) \
--        (RSA *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_RSAPrivateKey, PEM_STRING_RSA, bp, (void **)x, cb, u)
--#define q_PEM_read_bio_DSAPrivateKey(bp, x, cb, u) \
--        (DSA *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_DSAPrivateKey, PEM_STRING_DSA, bp, (void **)x, cb, u)
--#define q_PEM_write_bio_RSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \
--        PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_RSAPrivateKey,PEM_STRING_RSA,\
--                           bp,(char *)x,enc,kstr,klen,cb,u)
--#define q_PEM_write_bio_DSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \
--        PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
--                           bp,(char *)x,enc,kstr,klen,cb,u)
--#define q_PEM_read_bio_DHparams(bp, dh, cb, u) \
--        (DH *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_DHparams, PEM_STRING_DHPARAMS, bp, (void **)x, cb, u)
--#endif
--#define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
- #define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
--#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
--#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
- #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
- #define q_sk_GENERAL_NAME_value(st, i) q_SKM_sk_value(GENERAL_NAME, (st), (i))
- #define q_sk_X509_num(st) q_SKM_sk_num(X509, (st))
-@@ -558,18 +476,12 @@ DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length);
- #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
- #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
-         q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
--#define q_X509_get_notAfter(x) X509_get_notAfter(x)
--#define q_X509_get_notBefore(x) X509_get_notBefore(x)
- #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
-                                         (char *)(rsa))
- #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
-                                         (char *)(dsa))
- #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_conf()
--void q_OPENSSL_add_all_algorithms_noconf();
--void q_OPENSSL_add_all_algorithms_conf();
- int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
--long q_SSLeay();
--const char *q_SSLeay_version(int type);
- int q_i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);
- SSL_SESSION *q_d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length);
- 
-diff --git a/src/network/ssl/qsslsocket_opensslpre11.cpp b/src/network/ssl/qsslsocket_opensslpre11.cpp
-new file mode 100644
-index 0000000000..e51888c5f2
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_opensslpre11.cpp
-@@ -0,0 +1,424 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+//#define QT_DECRYPT_SSL_TRAFFIC
-+
-+#include "qssl_p.h"
-+#include "qsslsocket_openssl_p.h"
-+#include "qsslsocket_openssl_symbols_p.h"
-+#include "qsslsocket.h"
-+#include "qsslkey.h"
-+
-+#include <QtCore/qdebug.h>
-+#include <QtCore/qdir.h>
-+#include <QtCore/qdiriterator.h>
-+#include <QtCore/qthread.h>
-+#include <QtCore/qfile.h>
-+#include <QtCore/qmutex.h>
-+#include <QtCore/qlibrary.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+/* \internal
-+
-+    From OpenSSL's thread(3) manual page:
-+
-+    OpenSSL can safely be used in multi-threaded applications provided that at
-+    least two callback functions are set.
-+
-+    locking_function(int mode, int n, const char *file, int line) is needed to
-+    perform locking on shared data structures.  (Note that OpenSSL uses a
-+    number of global data structures that will be implicitly shared
-+    whenever multiple threads use OpenSSL.)  Multi-threaded
-+    applications will crash at random if it is not set.  ...
-+    ...
-+    id_function(void) is a function that returns a thread ID. It is not
-+    needed on Windows nor on platforms where getpid() returns a different
-+    ID for each thread (most notably Linux)
-+*/
-+
-+class QOpenSslLocks
-+{
-+public:
-+    QOpenSslLocks()
-+        : initLocker(QMutex::Recursive),
-+          locksLocker(QMutex::Recursive)
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        int numLocks = q_CRYPTO_num_locks();
-+        locks = new QMutex *[numLocks];
-+        memset(locks, 0, numLocks * sizeof(QMutex *));
-+    }
-+    ~QOpenSslLocks()
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        for (int i = 0; i < q_CRYPTO_num_locks(); ++i)
-+            delete locks[i];
-+        delete [] locks;
-+
-+        QSslSocketPrivate::deinitialize();
-+    }
-+    QMutex *lock(int num)
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        QMutex *tmp = locks[num];
-+        if (!tmp)
-+            tmp = locks[num] = new QMutex(QMutex::Recursive);
-+        return tmp;
-+    }
-+
-+    QMutex *globalLock()
-+    {
-+        return &locksLocker;
-+    }
-+
-+    QMutex *initLock()
-+    {
-+        return &initLocker;
-+    }
-+
-+private:
-+    QMutex initLocker;
-+    QMutex locksLocker;
-+    QMutex **locks;
-+};
-+
-+Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks)
-+
-+extern "C" {
-+static void locking_function(int mode, int lockNumber, const char *, int)
-+{
-+    QMutex *mutex = openssl_locks()->lock(lockNumber);
-+
-+    // Lock or unlock it
-+    if (mode & CRYPTO_LOCK)
-+        mutex->lock();
-+    else
-+        mutex->unlock();
-+}
-+static unsigned long id_function()
-+{
-+    return (quintptr)QThread::currentThreadId();
-+}
-+
-+} // extern "C"
-+
-+static void q_OpenSSL_add_all_algorithms_safe()
-+{
-+#ifdef Q_OS_WIN
-+    // Prior to version 1.0.1m an attempt to call OpenSSL_add_all_algorithms on
-+    // Windows could result in 'exit' call from OPENSSL_config (QTBUG-43843).
-+    // We can predict this and avoid OPENSSL_add_all_algorithms call.
-+    // From OpenSSL docs:
-+    // "An application does not need to add algorithms to use them explicitly,
-+    // for example by EVP_sha1(). It just needs to add them if it (or any of
-+    // the functions it calls) needs to lookup algorithms.
-+    // The cipher and digest lookup functions are used in many parts of the
-+    // library. If the table is not initialized several functions will
-+    // misbehave and complain they cannot find algorithms. This includes the
-+    // PEM, PKCS#12, SSL and S/MIME libraries. This is a common query in
-+    // the OpenSSL mailing lists."
-+    //
-+    // Anyway, as a result, we chose not to call this function if it would exit.
-+
-+    if (q_SSLeay() < 0x100010DFL)
-+    {
-+        // Now, before we try to call it, check if an attempt to open config file
-+        // will result in exit:
-+        if (char *confFileName = q_CONF_get1_default_config_file()) {
-+            BIO *confFile = q_BIO_new_file(confFileName, "r");
-+            const auto lastError = q_ERR_peek_last_error();
-+            q_CRYPTO_free(confFileName);
-+            if (confFile) {
-+                q_BIO_free(confFile);
-+            } else {
-+                q_ERR_clear_error();
-+                if (ERR_GET_REASON(lastError) == ERR_R_SYS_LIB) {
-+                    qCWarning(lcSsl, "failed to open openssl.conf file");
-+                    return;
-+                }
-+            }
-+        }
-+    }
-+#endif // Q_OS_WIN
-+
-+    q_OpenSSL_add_all_algorithms();
-+}
-+
-+
-+/*!
-+    \internal
-+*/
-+void QSslSocketPrivate::deinitialize()
-+{
-+    q_CRYPTO_set_id_callback(0);
-+    q_CRYPTO_set_locking_callback(0);
-+    q_ERR_free_strings();
-+}
-+
-+
-+bool QSslSocketPrivate::ensureLibraryLoaded()
-+{
-+    if (!q_resolveOpenSslSymbols())
-+        return false;
-+
-+    // Check if the library itself needs to be initialized.
-+    QMutexLocker locker(openssl_locks()->initLock());
-+
-+    if (!s_libraryLoaded) {
-+        s_libraryLoaded = true;
-+
-+        // Initialize OpenSSL.
-+        q_CRYPTO_set_id_callback(id_function);
-+        q_CRYPTO_set_locking_callback(locking_function);
-+        if (q_SSL_library_init() != 1)
-+            return false;
-+        q_SSL_load_error_strings();
-+        q_OpenSSL_add_all_algorithms_safe();
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        if (q_SSLeay() >= 0x10001000L)
-+            QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL);
-+#endif
-+
-+        // Initialize OpenSSL's random seed.
-+        if (!q_RAND_status()) {
-+            qWarning("Random number generator not seeded, disabling SSL support");
-+            return false;
-+        }
-+    }
-+    return true;
-+}
-+
-+void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
-+{
-+    QMutexLocker locker(openssl_locks()->initLock());
-+    if (s_loadedCiphersAndCerts)
-+        return;
-+    s_loadedCiphersAndCerts = true;
-+
-+    resetDefaultCiphers();
-+    resetDefaultEllipticCurves();
-+
-+#if QT_CONFIG(library)
-+    //load symbols needed to receive certificates from system store
-+#if defined(Q_OS_WIN)
-+    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
-+    if (hLib) {
-+        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
-+        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
-+        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
-+        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
-+            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
-+    } else {
-+        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
-+    }
-+#elif defined(Q_OS_QNX)
-+    s_loadRootCertsOnDemand = true;
-+#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
-+    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
-+    QList<QByteArray> dirs = unixRootCertDirectories();
-+    QStringList symLinkFilter;
-+    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
-+    for (int a = 0; a < dirs.count(); ++a) {
-+        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
-+        if (iterator.hasNext()) {
-+            s_loadRootCertsOnDemand = true;
-+            break;
-+        }
-+    }
-+#endif
-+#endif // QT_CONFIG(library)
-+    // if on-demand loading was not enabled, load the certs now
-+    if (!s_loadRootCertsOnDemand)
-+        setDefaultCaCertificates(systemCaCertificates());
-+#ifdef Q_OS_WIN
-+    //Enabled for fetching additional root certs from windows update on windows 6+
-+    //This flag is set false by setDefaultCaCertificates() indicating the app uses
-+    //its own cert bundle rather than the system one.
-+    //Same logic that disables the unix on demand cert loading.
-+    //Unlike unix, we do preload the certificates from the cert store.
-+    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
-+        s_loadRootCertsOnDemand = true;
-+#endif
-+}
-+
-+long QSslSocketPrivate::sslLibraryVersionNumber()
-+{
-+    if (!supportsSsl())
-+        return 0;
-+
-+    return q_SSLeay();
-+}
-+
-+QString QSslSocketPrivate::sslLibraryVersionString()
-+{
-+    if (!supportsSsl())
-+        return QString();
-+
-+    const char *versionString = q_SSLeay_version(SSLEAY_VERSION);
-+    if (!versionString)
-+        return QString();
-+
-+    return QString::fromLatin1(versionString);
-+}
-+
-+void QSslSocketBackendPrivate::continueHandshake()
-+{
-+    Q_Q(QSslSocket);
-+    // if we have a max read buffer size, reset the plain socket's to match
-+    if (readBufferMaxSize)
-+        plainSocket->setReadBufferSize(readBufferMaxSize);
-+
-+    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
-+        configuration.peerSessionShared = true;
-+
-+#ifdef QT_DECRYPT_SSL_TRAFFIC
-+    if (ssl->session && ssl->s3) {
-+        const char *mk = reinterpret_cast<const char *>(ssl->session->master_key);
-+        QByteArray masterKey(mk, ssl->session->master_key_length);
-+        const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
-+        QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
-+
-+        // different format, needed for e.g. older Wireshark versions:
-+//        const char *sid = reinterpret_cast<const char *>(ssl->session->session_id);
-+//        QByteArray sessionID(sid, ssl->session->session_id_length);
-+//        QByteArray debugLineRSA("RSA Session-ID:");
-+//        debugLineRSA.append(sessionID.toHex().toUpper());
-+//        debugLineRSA.append(" Master-Key:");
-+//        debugLineRSA.append(masterKey.toHex().toUpper());
-+//        debugLineRSA.append("\n");
-+
-+        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
-+        debugLineClientRandom.append(clientRandom.toHex().toUpper());
-+        debugLineClientRandom.append(" ");
-+        debugLineClientRandom.append(masterKey.toHex().toUpper());
-+        debugLineClientRandom.append("\n");
-+
-+        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
-+        QFile file(sslKeyFile);
-+        if (!file.open(QIODevice::Append))
-+            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
-+        if (!file.write(debugLineClientRandom))
-+            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
-+        file.close();
-+    } else {
-+        qCWarning(lcSsl, "could not decrypt SSL traffic");
-+    }
-+#endif
-+
-+    // Cache this SSL session inside the QSslContext
-+    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
-+        if (!sslContextPointer->cacheSession(ssl)) {
-+            sslContextPointer.clear(); // we could not cache the session
-+        } else {
-+            // Cache the session for permanent usage as well
-+            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
-+                if (!sslContextPointer->sessionASN1().isEmpty())
-+                    configuration.sslSession = sslContextPointer->sessionASN1();
-+                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
-+            }
-+        }
-+    }
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
-+    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
-+        // we could not agree -> be conservative and use HTTP/1.1
-+        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
-+    } else {
-+        const unsigned char *proto = 0;
-+        unsigned int proto_len = 0;
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+        if (q_SSLeay() >= 0x10002000L) {
-+            q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
-+            if (proto_len && mode == QSslSocket::SslClientMode) {
-+                // Client does not have a callback that sets it ...
-+                configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
-+            }
-+        }
-+
-+        if (!proto_len) { // Test if NPN was more lucky ...
-+#else
-+        {
-+#endif
-+            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
-+        }
-+
-+        if (proto_len)
-+            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
-+        else
-+            configuration.nextNegotiatedProtocol.clear();
-+    }
-+#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ...
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) {
-+        EVP_PKEY *key;
-+        if (q_SSL_get_server_tmp_key(ssl, &key))
-+            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
-+    }
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ...
-+
-+    connectionEncrypted = true;
-+    emit q->encrypted();
-+    if (autoStartHandshake && pendingClose) {
-+        pendingClose = false;
-+        q->disconnectFromHost();
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
-index d2b0c2d60d..2783effaf1 100644
---- a/src/network/ssl/ssl.pri
-+++ b/src/network/ssl/ssl.pri
-@@ -60,13 +60,25 @@ qtConfig(ssl) {
-         HEADERS += ssl/qsslcontext_openssl_p.h \
-                    ssl/qsslsocket_openssl_p.h \
-                    ssl/qsslsocket_openssl_symbols_p.h
--        SOURCES += ssl/qsslcertificate_openssl.cpp \
--                   ssl/qsslcontext_openssl.cpp \
-+        SOURCES += ssl/qsslsocket_openssl_symbols.cpp \
-                    ssl/qssldiffiehellmanparameters_openssl.cpp \
-+                   ssl/qsslcertificate_openssl.cpp \
-                    ssl/qsslellipticcurve_openssl.cpp \
-                    ssl/qsslkey_openssl.cpp \
-                    ssl/qsslsocket_openssl.cpp \
--                   ssl/qsslsocket_openssl_symbols.cpp
-+                   ssl/qsslcontext_openssl.cpp
-+
-+        qtConfig(opensslv11) {
-+            HEADERS += ssl/qsslsocket_openssl11_symbols_p.h
-+            SOURCES += ssl/qsslsocket_openssl11.cpp \
-+                       ssl/qsslcontext_openssl11.cpp
-+
-+            QMAKE_CXXFLAGS += -DOPENSSL_API_COMPAT=0x10100000L
-+        } else {
-+            HEADERS += ssl/qsslsocket_opensslpre11_symbols_p.h
-+            SOURCES += ssl/qsslsocket_opensslpre11.cpp \
-+                       ssl/qsslcontext_opensslpre11.cpp
-+        }
- 
-         darwin:SOURCES += ssl/qsslsocket_mac_shared.cpp
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase.patch b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
deleted file mode 100644
index f87c508a380..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase.patch
+++ /dev/null
@@ -1,1119 +0,0 @@
-diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
-index 5208379f9a..92fe29a0ac 100644
---- a/mkspecs/common/mac.conf
-+++ b/mkspecs/common/mac.conf
-@@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL     = \
- 
- QMAKE_FIX_RPATH         = install_name_tool -id
- 
--QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
-+QMAKE_LFLAGS_RPATH      =
- QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
- 
- QMAKE_LFLAGS_REL_RPATH  =
-diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index bb5083c925..77034f9bb6 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:!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 55c74aad66..0bbc8718eb 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}.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
-@@ -280,25 +236,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()
-@@ -317,25 +261,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()
-@@ -354,11 +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})
- 
--!!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/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index e645ba5803..a0e5c68b7e 100644
---- a/mkspecs/features/mac/default_post.prf
-+++ b/mkspecs/features/mac/default_post.prf
-@@ -24,166 +24,3 @@ qt {
-         }
-     }
- }
--
--# Add the same default rpaths as Xcode does for new projects.
--# This is especially important for iOS/tvOS/watchOS where no other option is possible.
--!no_default_rpath {
--    QMAKE_RPATHDIR += @executable_path/Frameworks
--    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
--}
--
--# Don't pass -headerpad_max_install_names when using Bitcode.
--# In that case the linker emits a warning stating that the flag is ignored when
--# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
--# Using this flag is also unnecessary in practice on UIKit platforms since they
--# are sandboxed, and only UIKit platforms support bitcode to begin with.
--!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
--
--app_extension_api_only {
--    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--}
--
--macx-xcode {
--    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
--        debug_information_format.name = DEBUG_INFORMATION_FORMAT
--        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
--        debug_information_format.build = debug
--        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
--    }
--
--    QMAKE_XCODE_ARCHS =
--
--    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
--    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_MAC_XCODE_SETTINGS += arch_device
--
--    simulator {
--        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
--        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
--    }
--
--    only_active_arch.name = ONLY_ACTIVE_ARCH
--    only_active_arch.value = YES
--    only_active_arch.build = debug
--    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
--} else {
--    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
--    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
--    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
--
--    isEmpty(VALID_ARCHS): \
--        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
--
--    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
--
--    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
--    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
--
--    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
--
--    arch_flags = $(EXPORT_ARCH_ARGS)
--
--    QMAKE_CFLAGS += $$arch_flags
--    QMAKE_CXXFLAGS += $$arch_flags
--    QMAKE_LFLAGS += $$arch_flags
--
--    QMAKE_PCH_ARCHS = $$VALID_ARCHS
--
--    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
--    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
--    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
--    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
--
--    # If we're doing a simulator and device build, device and simulator
--    # architectures use different paths and flags for the sysroot and
--    # deployment target switch, so we must multiplex them across multiple
--    # architectures using -Xarch. Otherwise we fall back to the simple path.
--    # This is not strictly necessary, but results in cleaner command lines
--    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
--    # individual rules to a different set of architecture(s) from the overall
--    # build (such as machtest in QtCore).
--    simulator:device {
--        QMAKE_XARCH_CFLAGS =
--        QMAKE_XARCH_LFLAGS =
--        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
--
--        for (arch, VALID_ARCHS) {
--            contains(VALID_SIMULATOR_ARCHS, $$arch) {
--                sdk = $$simulator.sdk
--                version_identifier = $$simulator.deployment_identifier
--            } else {
--                sdk = $$device.sdk
--                version_identifier = $$device.deployment_identifier
--            }
--
--            version_min_flags = \
--                -Xarch_$${arch} \
--                -m$${version_identifier}-version-min=$$deployment_target
--            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -isysroot$$xcodeSDKInfo(Path, $$sdk)
--            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
--
--            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
--            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
--
--            QMAKE_EXTRA_VARIABLES += \
--                QMAKE_XARCH_CFLAGS_$${arch} \
--                QMAKE_XARCH_LFLAGS_$${arch}
--        }
--
--        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
--    } else {
--        simulator: \
--            version_identifier = $$simulator.deployment_identifier
--        else: \
--            version_identifier = $$device.deployment_identifier
--        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
--        QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
--    }
--
--    # Enable precompiled headers for multiple architectures
--    QMAKE_CFLAGS_USE_PRECOMPILE =
--    for (arch, VALID_ARCHS) {
--        icc_pch_style: \
--            use_flag = "-pch-use "
--        else: \
--            use_flag = -include
--
--        # Only use Xarch with multi-arch, as the option confuses ccache
--        count(VALID_ARCHS, 1, greaterThan): \
--            QMAKE_CFLAGS_USE_PRECOMPILE += \
--                -Xarch_$${arch}
--
--        QMAKE_CFLAGS_USE_PRECOMPILE += \
--            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
--    }
--    icc_pch_style {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
--        QMAKE_CFLAGS_USE_PRECOMPILE =
--    } else {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--    }
--
--    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
--}
--
--cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
--!isEmpty(QMAKE_XCODE_VERSION): \
--    cache(QMAKE_XCODE_VERSION, stash)
--
--QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
-diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
-index 44636f2288..3b01424e67 100644
---- a/mkspecs/features/mac/default_pre.prf
-+++ b/mkspecs/features/mac/default_pre.prf
-@@ -1,56 +1,2 @@
- CONFIG = asset_catalogs rez $$CONFIG
- load(default_pre)
--
--isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
--    # Get path of Xcode's Developer directory
--    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
--    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
--
--    # Make sure Xcode path is valid
--    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
--}
--
--isEmpty(QMAKE_XCODEBUILD_PATH): \
--    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
--
--!isEmpty(QMAKE_XCODEBUILD_PATH) {
--    # Make sure Xcode is set up properly
--    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
--        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
--
--    isEmpty(QMAKE_XCODE_VERSION) {
--        # Extract Xcode version using xcodebuild
--        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
--        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
--        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
--        unset(xcode_version)
--    }
--}
--
--isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
--    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
--    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
--        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
--
--    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
--        cache(QMAKE_TARGET_BUNDLE_PREFIX)
--}
--
--QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
--
--# Make the default debug info format for static debug builds
--# DWARF instead of DWARF with dSYM. This cuts down build times
--# for application debug builds significantly, as Xcode doesn't
--# have to pull out all the DWARF info from the Qt static libs
--# and put it into a dSYM file. We don't need that dSYM file in
--# the first place, since the information is available in the
--# object files inside the archives (static libraries).
--macx-xcode:qtConfig(static): \
--    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
--
--# This variable is used by the xcode_dynamic_library_suffix
--# feature, which allows Xcode to choose the Qt libraries to link to
--# at build time, depending on the current Xcode SDK and configuration.
--QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
-diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
-index 3f6dc076ca..e69de29bb2 100644
---- a/mkspecs/features/mac/sdk.prf
-+++ b/mkspecs/features/mac/sdk.prf
-@@ -1,58 +0,0 @@
--
--isEmpty(QMAKE_MAC_SDK): \
--    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
--
--contains(QMAKE_MAC_SDK, .*/.*): \
--    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
--
--defineReplace(xcodeSDKInfo) {
--    info = $$1
--    equals(info, "Path"): \
--        info = --show-sdk-path
--    equals(info, "PlatformPath"): \
--        info = --show-sdk-platform-path
--    equals(info, "SDKVersion"): \
--        info = --show-sdk-version
--    sdk = $$2
--    isEmpty(sdk): \
--        sdk = $$QMAKE_MAC_SDK
--
--    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
--        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$info 2>/dev/null")
--        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
--        # only used by the XCTest backend to testlib
--        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(info, "--show-sdk-platform-path")): \
--            error("Could not resolve SDK $$info for \'$$sdk\'")
--        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
--    }
--
--    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
--}
--
--QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
--QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
--QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
--
--sysrootified =
--for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
--QMAKE_INCDIR_OPENGL = $$sysrootified
--
--QMAKESPEC_NAME = $$basename(QMAKESPEC)
--
--# Resolve SDK version of various tools
--for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) {
--    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
--    !isEmpty($$tool_variable) {
--        $$tool = $$eval($$tool_variable)
--        next()
--    }
--
--    value = $$eval($$tool)
--    isEmpty(value): next()
--
--    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
--    isEmpty(sysrooted): next()
--
--    $$tool = $$sysrooted $$member(value, 1, -1)
--    cache($$tool_variable, set stash, $$tool)
--}
-diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
-index 4db0040dc5..65d6da1f4d 100644
---- a/mkspecs/features/qml_module.prf
-+++ b/mkspecs/features/qml_module.prf
-@@ -23,13 +23,8 @@ for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FIL
- 
- 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
- 
- !qml1_target:static: CONFIG += builtin_resources
- 
-diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
-index d49f4c49c1..097dcd7d39 100644
---- a/mkspecs/features/qml_plugin.prf
-+++ b/mkspecs/features/qml_plugin.prf
-@@ -48,13 +48,8 @@ exists($$QMLTYPEFILE): AUX_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 883f8ca215..81db8eb2d4 100644
---- a/mkspecs/features/qt_app.prf
-+++ b/mkspecs/features/qt_app.prf
-@@ -33,7 +33,7 @@ host_build:force_bootstrap {
-     target.path = $$[QT_HOST_BINS]
- } else {
-     !build_pass:qtConfig(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 fb96d1b6a0..508ed17d30 100644
---- a/mkspecs/features/qt_common.prf
-+++ b/mkspecs/features/qt_common.prf
-@@ -32,8 +32,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 72dde61a40..f891a2baed 100644
---- a/mkspecs/features/qt_docs.prf
-+++ b/mkspecs/features/qt_docs.prf
-@@ -45,7 +45,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) {
-@@ -64,8 +64,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)
- }
- 
- qtattributionsscanner.target = qtattributionsscanner
-@@ -88,12 +88,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 668669e4cd..eb4840a0aa 100644
---- a/mkspecs/features/qt_example_installs.prf
-+++ b/mkspecs/features/qt_example_installs.prf
-@@ -82,7 +82,7 @@ sourcefiles += \
-     $$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 1903e509c8..ae7b585989 100644
---- a/mkspecs/features/qt_functions.prf
-+++ b/mkspecs/features/qt_functions.prf
-@@ -69,7 +69,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) {
-             $${1}_EXE = $${cmd}.pl
-             cmd = perl -w $$system_path($${cmd}.pl)
-diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
-index 0d3dfb6b93..5f935b4424 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 $$SYNCQT.INJECTED_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 62e1b69fde..abd63123f9 100644
---- a/mkspecs/features/qt_plugin.prf
-+++ b/mkspecs/features/qt_plugin.prf
-@@ -88,7 +88,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 545b9a3d1e..6ac0cdefe4 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
-@@ -133,7 +133,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
-@@ -147,7 +147,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 cba279c184..5ae3fd62e5 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 4fdc2e36ac..d3ec222543 100644
---- a/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
-@@ -70,7 +70,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");
- 
-@@ -645,12 +649,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 1da00813ce..0bf877afcb 100644
---- a/src/network/kernel/qdnslookup_unix.cpp
-+++ b/src/network/kernel/qdnslookup_unix.cpp
-@@ -92,7 +92,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 9a24938284..74962b4ae2 100644
---- a/src/network/kernel/qhostinfo_unix.cpp
-+++ b/src/network/kernel/qhostinfo_unix.cpp
-@@ -102,7 +102,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/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
-+++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-@@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocations()
-     m_possibleLocations.reserve(7);
-     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 e2e573f0e1..1c8289f81e 100644
---- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -580,7 +580,14 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName)
- #if QT_CONFIG(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 7c62c2e2b3..fefa40e0f6 100644
---- a/src/plugins/platforms/xcb/qxcbcursor.cpp
-+++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
- #if QT_CONFIG(xcb_xlib) && QT_CONFIG(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/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
-index c4cd66c33b..b6f2691587 100644
---- a/src/plugins/platformthemes/gtk3/main.cpp
-+++ b/src/plugins/platformthemes/gtk3/main.cpp
-@@ -39,6 +39,7 @@
- 
- #include <qpa/qplatformthemeplugin.h>
- #include "qgtk3theme.h"
-+#include <QFile>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -54,8 +55,22 @@ public:
- QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
- {
-     Q_UNUSED(params);
--    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
-+    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
-+
-+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
-+        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
-+        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
-+        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
-+#endif
-+
-+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
-+        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
-+        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
-+        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
-+#endif
-+
-         return new QGtk3Theme;
-+    }
- 
-     return 0;
- }
-diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h
-index 6498ea84ef..d821ced7fc 100644
---- a/src/testlib/qtestassert.h
-+++ b/src/testlib/qtestassert.h
-@@ -44,10 +44,13 @@
- 
- QT_BEGIN_NAMESPACE
- 
--
-+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
-+#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
-+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
-+#else
- #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
--
- #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
-+#endif
- 
- QT_END_NAMESPACE
- 
-diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-index 99d87e2e46..a4eab2aa72 100644
---- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
deleted file mode 100644
index bb1bbbeb05e..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
-index ee5b38717..bbccef8c4 100644
---- a/src/qml/qml/qqmlimport.cpp
-+++ b/src/qml/qml/qqmlimport.cpp
-@@ -1678,6 +1678,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/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
-index 330da358b..cdf570205 100644
---- a/tools/qmlcachegen/qmlcache.prf
-+++ b/tools/qmlcachegen/qmlcache.prf
-@@ -44,7 +44,7 @@ defineReplace(qmlCacheOutputFileName) {
- }
- 
- qmlcacheinst.base = $$QMLCACHE_DESTDIR
--qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
- qmlcacheinst.CONFIG = no_check_exist
- 
- qmlcachegen.input = CACHEGEN_FILES
diff --git a/pkgs/development/libraries/qt-5/5.9/qtscript.patch b/pkgs/development/libraries/qt-5/5.9/qtscript.patch
deleted file mode 100644
index 5508dec1280..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtserialport.patch b/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
deleted file mode 100644
index f25524e80bc..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index af2dab2..8e17f64 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
-+#ifdef NIXPKGS_LIBUDEV
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-+#else
-         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+#endif
-         if (!udevLibrary->load()) {
-+#ifdef NIXPKGS_LIBUDEV
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-+#else
-             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+#endif
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
diff --git a/pkgs/development/libraries/qt-5/5.9/qttools.patch b/pkgs/development/libraries/qt-5/5.9/qttools.patch
deleted file mode 100644
index fbba439ef7a..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qttools.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-index 3b97923a..63336bd5 100644
---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- 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
-@@ -17,11 +16,7 @@ endif()
- if (NOT TARGET Qt5::qhelpgenerator)
-     add_executable(Qt5::qhelpgenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qhelpgenerator PROPERTIES
-diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-index 4318b16f..d60db4ff 100644
---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,7 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +55,7 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +66,7 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch
deleted file mode 100644
index cf082cddd11..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Fix a following build error:
-
-In file included from ../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:7:
-In file included from ../../3rdparty/chromium/base/bind.h:8:
-../../3rdparty/chromium/base/bind_internal.h:214:31: error: cannot initialize a parameter of type 'NSError *' with an lvalue of type 'const long'
-    return (receiver.*method)(std::forward<RunArgs>(args)...);
-                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../3rdparty/chromium/base/bind_internal.h:285:20: note: in instantiation of function template specialization 'base::internal::FunctorTraits<void (device::BluetoothRemoteGat
-tCharacteristicMac::*)(NSError *), void>::Invoke<device::BluetoothRemoteGattCharacteristicMac *, const long &>' requested here
-    return Traits::Invoke(std::forward<Functor>(functor),
-                   ^
-../../3rdparty/chromium/base/bind_internal.h:361:43: note: in instantiation of function template specialization 'base::internal::InvokeHelper<false, void>::MakeItSo<void (devi
-ce::BluetoothRemoteGattCharacteristicMac::*const &)(NSError *), device::BluetoothRemoteGattCharacteristicMac *, const long &>' requested here
-    return InvokeHelper<is_weak_call, R>::MakeItSo(
-                                          ^
-../../3rdparty/chromium/base/bind_internal.h:339:12: note: in instantiation of function template specialization 'base::internal::Invoker<base::internal::BindState<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>, void ()>::RunImpl<void (device::BluetoothRemoteGattCharacteristicMac::*const &)(NSError *), const std::__1::tuple<base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long> &, 0, 1>' requested here
-    return RunImpl(storage->functor_,
-           ^
-../../3rdparty/chromium/base/bind.h:62:45: note: in instantiation of member function 'base::internal::Invoker<base::internal::BindState<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>, void ()>::Run' requested here
-  PolymorphicInvoke invoke_func = &Invoker::Run;
-                                            ^
-../../3rdparty/chromium/base/bind.h:77:10: note: in instantiation of function template specialization 'base::BindRepeating<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here
-  return BindRepeating(std::forward<Functor>(functor),
-         ^
-../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:241:15: note: in instantiation of function template specialization 'base::Bind<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here
-        base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue,
-
---- a/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm
-+++ b/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm
-@@ -239,7 +239,7 @@ void BluetoothRemoteGattCharacteristicMac::WriteRemoteCharacteristic(
-     base::ThreadTaskRunnerHandle::Get()->PostTask(
-         FROM_HERE,
-         base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue,
--                   base::Unretained(this), nil));
-+                   base::Unretained(this), nullptr));
-   }
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch
deleted file mode 100644
index 7156c41c5ec..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
---- a/mkspecs/features/configure.prf
-+++ b/mkspecs/features/configure.prf
-@@ -194,9 +194,6 @@ defineTest(runConfigure) {
-         } else {
-             log("Native Spellchecker .............. Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_native_spellchecker)$${EOL}")
-         }
--        !isMinOSXSDKVersion(10, 10, 3) {
--            log("  Force Touch API usage .............. Not enabled         (Because the OS X SDK version to be used \"$${WEBENGINE_OSX_SDK_PRODUCT_VERSION}\" is lower than the required \"10.10.3\")$${EOL}")
--        }
-     }
- }
- 
-diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
---- a/mkspecs/features/functions.prf
-+++ b/mkspecs/features/functions.prf
-@@ -38,10 +38,6 @@ defineTest(isPlatformSupported) {
-       return(false)
-     }
-   } else:osx {
--    !isMinXcodeVersion(5, 1) {
--      skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.")
--      return(false)
--    }
-     !clang|intel_icc {
-         skipBuild("Qt WebEngine on macOS requires Clang.")
-         return(false)
-@@ -52,10 +48,6 @@ defineTest(isPlatformSupported) {
-       skipBuild("Qt WebEngine requires OS X version 10.10 or newer.")
-       return(false)
-     }
--    !isMinOSXSDKVersion(10, 10): {
--      skipBuild("Qt WebEngine requires an OS X SDK version of 10.10 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
--      return(false)
--    }
-   } else {
-     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and OS X.")
-     return(false)
-diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
---- a/src/core/config/mac_osx.pri
-+++ b/src/core/config/mac_osx.pri
-@@ -5,8 +5,6 @@ load(functions)
- # otherwise query for it.
- QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
- isEmpty(QMAKE_MAC_SDK_VERSION) {
--     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
--     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
- }
- 
- QMAKE_CLANG_DIR = "/usr"
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch
deleted file mode 100644
index f332d5e1bb2..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/qtwebengine.pro b/qtwebengine.pro
---- a/qtwebengine.pro
-+++ b/qtwebengine.pro
-@@ -5,7 +5,7 @@ runConfigure()
- 
- !isEmpty(skipBuildReason) {
-     SUBDIRS =
--    log($${skipBuildReason}$${EOL})
-+    error($${skipBuildReason}$${EOL})
-     log(QtWebEngine will not be built.$${EOL})
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
deleted file mode 100644
index 718bda36194..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-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/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index d734ff684..0f6ff63d1 100644
---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/srcs.nix b/pkgs/development/libraries/qt-5/5.9/srcs.nix
deleted file mode 100644
index 09b6293daeb..00000000000
--- a/pkgs/development/libraries/qt-5/5.9/srcs.nix
+++ /dev/null
@@ -1,333 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qt3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "0skdp72jlfy97cw9lpa3l2ivs6f5x9w53978sf2xbkl9k1ai268l";
-      name = "qt3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtactiveqt-opensource-src-5.9.7.tar.xz";
-      sha256 = "01yp0railyc80ldvpiy36lpsdk26rs8vfp78xca9jy1glm4cmaik";
-      name = "qtactiveqt-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtandroidextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "1bl05hr0zm23z7qig3kxhzyvm440wfrjfgsxvpmlvk9pbb8h2q63";
-      name = "qtandroidextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtbase-opensource-src-5.9.7.tar.xz";
-      sha256 = "004gs95ig51jv2wz64kwzl4rvqqzs4rln3kqmzjs3sh6y1s9bp9n";
-      name = "qtbase-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtcanvas3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "131zwqddjns7cpkdbr33jahqgvnw6f8gdcr1b2hmadi0p2shrcwq";
-      name = "qtcanvas3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtcharts-opensource-src-5.9.7.tar.xz";
-      sha256 = "1rkj4lkpgdqk4ygxivkj7gc8mlccb5sgi9mfr0xwvq5j85r3dk8n";
-      name = "qtcharts-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtconnectivity-opensource-src-5.9.7.tar.xz";
-      sha256 = "0f7g2lfnfgsjka7y5hdf0lbzpfxlxh8bfhdxix44cwlmwzjizy3l";
-      name = "qtconnectivity-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdatavis3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "08anm8byxcym7h1n49j3cbxkh3kh3xjlxd3b8vi8fxyqqhvll4lv";
-      name = "qtdatavis3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdeclarative-opensource-src-5.9.7.tar.xz";
-      sha256 = "0p26c96fb33khbf7ws91ha73n72lwmn714v8spg0bla9m1jkfhk8";
-      name = "qtdeclarative-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdoc-opensource-src-5.9.7.tar.xz";
-      sha256 = "1vs6dy0mdcn65fhpl8nib0pjw9bliqkjnaahqm833ayvxr15vzyj";
-      name = "qtdoc-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtgamepad = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtgamepad-opensource-src-5.9.7.tar.xz";
-      sha256 = "0242683h9jz6b0n11s4m4ii2691dbws0gkj45n6sx6z513blfx9f";
-      name = "qtgamepad-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtgraphicaleffects-opensource-src-5.9.7.tar.xz";
-      sha256 = "1yhxa3i3jvfnc9l6a3q3pyk7y702a3pp87ypshb63607xvrxrv2d";
-      name = "qtgraphicaleffects-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtimageformats-opensource-src-5.9.7.tar.xz";
-      sha256 = "1an0k3rzxjc4x4rscnibdk36zff6g1n41lh5dasys4jc05k3w1b2";
-      name = "qtimageformats-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtlocation-opensource-src-5.9.7.tar.xz";
-      sha256 = "0lp6zn630px1lj7623shq47dlv02nr0aj7iqscrk0yzhygbv7dc2";
-      name = "qtlocation-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtmacextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "0b0znccbach41la226cmps9aaigpz8mj940xj890arjf8hn4jd97";
-      name = "qtmacextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtmultimedia-opensource-src-5.9.7.tar.xz";
-      sha256 = "060gic3gl27r7k4vw4n550384b4wadqfn3biajbq6lbyj3zhgxxx";
-      name = "qtmultimedia-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtnetworkauth = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtnetworkauth-opensource-src-5.9.7.tar.xz";
-      sha256 = "14n8wzsyq7bw67r1k442widfvszawgi5sh0b10h2jcrp5aikqr0p";
-      name = "qtnetworkauth-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtpurchasing-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qvxsi0ar04qy0zajbhvwj5blldhfq2mn3laq15g0xxy1xh4m46i";
-      name = "qtpurchasing-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtquickcontrols-opensource-src-5.9.7.tar.xz";
-      sha256 = "1jkz2b2wzxzmskvwwb4afqxz0yp0siaf3yhj2i01y865sp6q1wz0";
-      name = "qtquickcontrols-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtquickcontrols2-opensource-src-5.9.7.tar.xz";
-      sha256 = "0w9rq77a8vc9avhbwbx7swg7zw7jn21wd7si59822rw9ln1p6zb0";
-      name = "qtquickcontrols2-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtremoteobjects = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtremoteobjects-opensource-src-5.9.7.tar.xz";
-      sha256 = "1ninscf4jkframv585zzi76fml1lyz0mhb091r2r54lrf66wl3lw";
-      name = "qtremoteobjects-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtscript-opensource-src-5.9.7.tar.xz";
-      sha256 = "0mv33a1mjaahq7ixfasvjasc881bprfbkjhx8pn3z5f0l8213m67";
-      name = "qtscript-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtscxml = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtscxml-opensource-src-5.9.7.tar.xz";
-      sha256 = "0xz2q2bl1n43gxx00nrzyc0bsnq4wch0k2rkj3prc9gsgmpq0bih";
-      name = "qtscxml-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtsensors-opensource-src-5.9.7.tar.xz";
-      sha256 = "0pfh4lr9zxsh9winzx1lmcgl2hgp9lr45smcvslr4an93z6mbf8r";
-      name = "qtsensors-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtserialbus-opensource-src-5.9.7.tar.xz";
-      sha256 = "0n6z56axm0gbrxmnwbz8fv40ar9mw1rlfvmpqvpg5xb9031qil1b";
-      name = "qtserialbus-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtserialport-opensource-src-5.9.7.tar.xz";
-      sha256 = "05qy4m1p5j5bh6af7d97iblsmgy9kppm5wif3bl63p6yghn319sh";
-      name = "qtserialport-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtspeech = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtspeech-opensource-src-5.9.7.tar.xz";
-      sha256 = "0nnbqnh18vw26vphancs38vjr816xha8m6wl389kjqi01kjrcz70";
-      name = "qtspeech-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtsvg-opensource-src-5.9.7.tar.xz";
-      sha256 = "0r2mqy6lb2ypmilf83zyp73v5d9ars314jfm6f0fv5if8yw253v2";
-      name = "qtsvg-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qttools-opensource-src-5.9.7.tar.xz";
-      sha256 = "18b7jg25434p80yr929nfihk0i124bxpd2dv9mqdcicnv5q0ybnn";
-      name = "qttools-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qttranslations-opensource-src-5.9.7.tar.xz";
-      sha256 = "051a3igp1qnd7d7bg2dvjaqwh6f67fvkn19jdfjzrdis7kcsfvdk";
-      name = "qttranslations-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtvirtualkeyboard-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qcj6ncg53rv4pg4ijdq7vbkzgzfr9bn40aif7g4dndykj0zwla7";
-      name = "qtvirtualkeyboard-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwayland-opensource-src-5.9.7.tar.xz";
-      sha256 = "0y6ky1ipg42gq390ibgr4nns9i4j648yb7bkmx6b7lhsi7mvnp2n";
-      name = "qtwayland-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebchannel-opensource-src-5.9.7.tar.xz";
-      sha256 = "189qkfxixddfblwkaf46yrqjp91vhmw90gpafjryqfmd2141r8qj";
-      name = "qtwebchannel-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebengine-opensource-src-5.9.7.tar.xz";
-      sha256 = "0kzpgks5h19rm7gbhr688lr5f5d9ykf062kj91q7wf6fk7qd72v2";
-      name = "qtwebengine-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebkit = {
-    version = "5.9.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz";
-      sha256 = "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998";
-      name = "qtwebkit-opensource-src-5.9.1.tar.xz";
-    };
-  };
-  qtwebkit-examples = {
-    version = "5.9.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz";
-      sha256 = "1l2l7ycgqql6rf4gx6sjhsqjapdhvy6vxaxssax3l938nkk4vkp4";
-      name = "qtwebkit-examples-opensource-src-5.9.1.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebsockets-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qqvd6qf7m2xq71mdaidwabj5c03cbbi1hwc7p95fvbnz9crz79x";
-      name = "qtwebsockets-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebview-opensource-src-5.9.7.tar.xz";
-      sha256 = "1zwqkmzik4f83hdffmw0hz90mzga34hkyz7d0skfbdp25y278r12";
-      name = "qtwebview-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwinextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "1a57v7krglfdi4gizm402jn9pg7fqpcma7xk6sm68zg1siv11a6x";
-      name = "qtwinextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtx11extras-opensource-src-5.9.7.tar.xz";
-      sha256 = "02jdiw94dasnkszi5w1pysfgz8xrr71pzah37nbnqg0knn4dzich";
-      name = "qtx11extras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtxmlpatterns-opensource-src-5.9.7.tar.xz";
-      sha256 = "0j0rxkpyww5cgcjhy0332jsyka1d811wf6zmr16d5fdkbryp7d65";
-      name = "qtxmlpatterns-opensource-src-5.9.7.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/quesoglc/default.nix b/pkgs/development/libraries/quesoglc/default.nix
index 2e47a213565..fe24d0fcddf 100644
--- a/pkgs/development/libraries/quesoglc/default.nix
+++ b/pkgs/development/libraries/quesoglc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, glew, freetype, fontconfig, fribidi, libX11 }:
+{ stdenv, fetchurl, libGLU, libGL, glew, freetype, fontconfig, fribidi, libX11 }:
 stdenv.mkDerivation rec {
   pname = "quesoglc";
   version = "0.7.2";
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "0cf9ljdzii5d4i2m23gdmf3kn521ljcldzq69lsdywjid3pg5zjl";
   };
-  buildInputs = [ libGLU_combined glew freetype fontconfig fribidi libX11 ];
+  buildInputs = [ libGLU libGL glew freetype fontconfig fribidi libX11 ];
   # FIXME: Configure fails to use system glew.
   meta = with stdenv.lib; {
     description = "A free implementation of the OpenGL Character Renderer";
diff --git a/pkgs/development/libraries/science/math/QuadProgpp/default.nix b/pkgs/development/libraries/science/math/QuadProgpp/default.nix
index d4333146406..69ccbfc26b4 100644
--- a/pkgs/development/libraries/science/math/QuadProgpp/default.nix
+++ b/pkgs/development/libraries/science/math/QuadProgpp/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       A C++ library for Quadratic Programming which implements the
       Goldfarb-Idnani active-set dual method.
     '';
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/science/math/or-tools/default.nix b/pkgs/development/libraries/science/math/or-tools/default.nix
index 224f4239a22..15aea5803bf 100644
--- a/pkgs/development/libraries/science/math/or-tools/default.nix
+++ b/pkgs/development/libraries/science/math/or-tools/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
     description = ''
       Google's software suite for combinatorial optimization.
     '';
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index 14af55c2afc..6b1c4ca97ba 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, freetype, cmake, python }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.6";
+  version = "1.3.13";
   pname = "graphite2";
 
   src = fetchurl {
     url = "https://github.com/silnrsi/graphite/releases/download/"
-      + "${version}/graphite-${version}.tgz";
-    sha256 = "0xdg6bc02bl8yz39l5i2skczfg17q4lif0qqan0dhvk0mibpcpj7";
+      + "${version}/graphite2-${version}.tgz";
+    sha256 = "01jzhwnj1c3d68dmw15jdxly0hwkmd8ja4kw755rbkykn1ly2qyx";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index 471bcb22234..bdd8dd9d999 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, plib, freeglut, xorgproto, libX11, libXext, libXi
-, libICE, libSM, libXt, libXmu, libGLU_combined, boost, zlib, libjpeg, freealut
+, libICE, libSM, libXt, libXmu, libGLU, libGL, boost, zlib, libjpeg, freealut
 , openscenegraph, openal, expat, cmake, apr
 , curl
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ plib freeglut xorgproto libX11 libXext libXi
-                  libICE libSM libXt libXmu libGLU_combined boost zlib libjpeg freealut
+                  libICE libSM libXt libXmu libGLU libGL boost zlib libjpeg freealut
                   openscenegraph openal expat apr curl ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index 2afd7650618..cbb6a4b64f1 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simpleitk";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "SimpleITK";
     repo = "SimpleITK";
     rev = "v${version}";
-    sha256 = "0nmsq0qx4jmrrhrc6bfm11wwvyszvfgl45xizw69yra3cv9pgmm6";
+    sha256 = "0dvf2407z9n6lczm0l5vzcvpw6r6z1wzrs2gk3dqjrgynq6952qr";
   };
 
   nativeBuildInputs = [ cmake git swig ];
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index f868f6bd494..d1cafbce117 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     description = "A multi-platform programmer's library designed to allow a developer to create robust software";
     homepage = http://www.jedsoft.org/slang/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/smarty3/default.nix b/pkgs/development/libraries/smarty3/default.nix
index 4876c39ce83..b3214cc01df 100644
--- a/pkgs/development/libraries/smarty3/default.nix
+++ b/pkgs/development/libraries/smarty3/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec {
   pname = "smarty3";
-  version = "3.1.33";
+  version = "3.1.34";
 
   src = fetchFromGitHub {
     owner = "smarty-php";
     repo = "smarty";
     rev = "v${version}";
-    sha256 = "12kll8nv4b90nlx3y0213lsncqw2ydshjx4g6dv7jah6j1pv29ix";
+    sha256 = "0a44p71aqyifm7qkp892aczb0bn6a9fv4657dsscxszvdm25a92x";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index e2866788302..a7ffc146f41 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU_combined, makeWrapper }:
+{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU, libGL, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "smpeg-svn${version}";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ SDL gtk2 libGLU_combined ];
+  buildInputs = [ SDL gtk2 libGLU libGL ];
 
   nativeBuildInputs = [ autoconf automake libtool m4 pkgconfig makeWrapper ];
 
diff --git a/pkgs/development/libraries/soxt/default.nix b/pkgs/development/libraries/soxt/default.nix
index 11ba48c5971..4afb310d49a 100644
--- a/pkgs/development/libraries/soxt/default.nix
+++ b/pkgs/development/libraries/soxt/default.nix
@@ -1,4 +1,4 @@
-{ fetchhg, stdenv, cmake, coin3d, motif, xlibsWrapper, libXmu, libGLU_combined }:
+{ fetchhg, stdenv, cmake, coin3d, motif, xlibsWrapper, libXmu, libGLU, libGL }:
 
 stdenv.mkDerivation {
   pname = "soxt";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ coin3d motif xlibsWrapper libGLU_combined libXmu ];
+  buildInputs = [ coin3d motif xlibsWrapper libGLU libGL libXmu ];
 
   meta = with stdenv.lib; {
     homepage = https://bitbucket.org/Coin3D/coin/wiki/Home;
diff --git a/pkgs/development/libraries/sphinxbase/default.nix b/pkgs/development/libraries/sphinxbase/default.nix
index 57c3ae40fd9..3e4d64c47ad 100644
--- a/pkgs/development/libraries/sphinxbase/default.nix
+++ b/pkgs/development/libraries/sphinxbase/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation (rec {
     homepage = http://cmusphinx.sourceforge.net;
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 
 } // (stdenv.lib.optionalAttrs multipleOutputs {
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index 4bc066df32e..77a7764acb8 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -12,14 +12,14 @@ let liblapackShared = liblapack.override {
 
 in stdenv.mkDerivation rec {
   pname = "sundials";
-  version = "4.1.0";
+  version = "5.0.0";
 
   buildInputs = [ python ] ++ stdenv.lib.optionals (lapackSupport) [ gfortran ];
   nativeBuildInputs = [ cmake ];
 
   src = fetchurl {
     url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-    sha256 = "19ca4nmlf6i9ijqcibyvpprxzsdfnackgjs6dw51fq13gg1f2398";
+    sha256 = "1lvx5pddjxgyr8kqlira36kxckz7nxwc8xilzfyx0hf607n42l9l";
   };
 
   patches = [
@@ -33,8 +33,6 @@ in stdenv.mkDerivation rec {
       url = "https://github.com/LLNL/sundials/pull/20/commits/2d951bbe1ff7842fcd0dafa28c61b0aa94015f66.patch";
       sha256 = "0lcr6m4lk14yqrxah4rdscpczny5l7m1zpfsjh8bgspadfsgk512";
     })
-    # https://github.com/LLNL/sundials/pull/21
-    ./tests-parallel.patch
   ];
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/sundials/tests-parallel.patch b/pkgs/development/libraries/sundials/tests-parallel.patch
deleted file mode 100644
index a785a1dade9..00000000000
--- a/pkgs/development/libraries/sundials/tests-parallel.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git a/config/SundialsAddTest.cmake b/config/SundialsAddTest.cmake
-index e965fed..a7fb1d2 100644
---- a/config/SundialsAddTest.cmake
-+++ b/config/SundialsAddTest.cmake
-@@ -70,7 +70,7 @@ MACRO(SUNDIALS_ADD_TEST NAME EXECUTABLE)
-         "--verbose"
-         "--testname=${NAME}"
-         "--executablename=$<TARGET_FILE:${EXECUTABLE}>"
--        "--outputdir=${CMAKE_BINARY_DIR}/Testing/output"
-+        "--outputdir=${TEST_OUTPUT_DIR}"
-         )
- 
-       # do not diff the output and answer files
-diff --git a/config/SundialsTesting.cmake b/config/SundialsTesting.cmake
-index 815576a..d91801a 100644
---- a/config/SundialsTesting.cmake
-+++ b/config/SundialsTesting.cmake
-@@ -29,6 +29,13 @@ IF(SUNDIALS_DEVTESTS)
-     ENDIF()
-   ENDIF()
- 
-+  # Directory for test output
-+  SET(TEST_OUTPUT_DIR ${PROJECT_BINARY_DIR}/Testing/output)
-+
-+  IF(NOT EXISTS ${TEST_OUTPUT_DIR})
-+    FILE(MAKE_DIRECTORY ${TEST_OUTPUT_DIR})
-+  ENDIF()
-+
-   # look for the testRunner script in the test directory
-   FIND_PROGRAM(TESTRUNNER testRunner PATHS test)
-   HIDE_VARIABLE(TESTRUNNER)
-diff --git a/test/testRunner b/test/testRunner
-index f450ec2..f1c8deb 100755
---- a/test/testRunner
-+++ b/test/testRunner
-@@ -106,7 +106,8 @@ def main():
- 
-     # create output directory if necessary
-     if not os.path.exists(outDir):
--        os.makedirs(outDir)
-+        error("Output directory does not exist, it must be created.", outDir)
-+        sys.exit(1)
-     elif not os.path.isdir(outDir):
-         error("Output directory exists but is not a directory, it must be deleted.", outDir)
-         sys.exit(1)
diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/development/libraries/tepl/default.nix
index 0ca382baeca..6c480db9d60 100644
--- a/pkgs/development/libraries/tepl/default.nix
+++ b/pkgs/development/libraries/tepl/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl
 , amtk, gnome3, gtk3, gtksourceview4, libuchardet, libxml2, pkgconfig }:
 let
-  version = "4.2.0";
+  version = "4.2.1";
   pname = "tepl";
 in stdenv.mkDerivation {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1kcwcr72dv3xwi2ni579c9raa0cnbazfnmy6mgapzn6dir1d8fc8";
+    sha256 = "0vib1ljgqwy2fhiwq8z3pcd68qy7v72l4f35p1d1w1k9z8sy677k";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix
index e3fd7ad57e0..94f96b867d5 100644
--- a/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/pkgs/development/libraries/vaapi-vdpau/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, libvdpau, libGLU_combined, libva, pkgconfig }:
+{ stdenv, fetchurl, fetchpatch, libvdpau, libGLU, libGL, libva, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "libva-vdpau-driver";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libvdpau libGLU_combined libva ];
+  buildInputs = [ libvdpau libGLU libGL libva ];
 
   postPatch = ''
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
diff --git a/pkgs/development/libraries/vrpn/default.nix b/pkgs/development/libraries/vrpn/default.nix
index 0ae5ba147cb..688dc8d451e 100644
--- a/pkgs/development/libraries/vrpn/default.nix
+++ b/pkgs/development/libraries/vrpn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, cmake, libGLU_combined }:
+{ stdenv, fetchFromGitHub, unzip, cmake, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   name    = "${pname}-${date}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "032q295d68w34rk5q8nfqdd29s55n00bfik84y7xzkjrpspaprlh";
   };
 
-  buildInputs = [ unzip cmake libGLU_combined ];
+  buildInputs = [ unzip cmake libGLU libGL ];
 
   doCheck = false; # FIXME: test failure
   checkTarget = "test";
diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix
deleted file mode 100644
index 060109072b4..00000000000
--- a/pkgs/development/libraries/webkitgtk/2.4.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, perl, python, ruby, bison, gperf, flex
-, pkgconfig, which, gettext, gobject-introspection
-, gtk2, gtk3, wayland, libwebp, enchant, sqlite
-, libxml2, libsoup, libsecret, libxslt, harfbuzz, xorg
-, gst-plugins-base, libobjc
-, withGtk2 ? false
-, enableIntrospection ? !stdenv.isDarwin
-, enableCredentialStorage ? !stdenv.isDarwin
-, readline, libedit
-}:
-
-assert stdenv.isDarwin -> !enableIntrospection;
-assert stdenv.isDarwin -> !enableCredentialStorage;
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  pname = "webkitgtk";
-  version = "2.4.11";
-
-  meta = with stdenv.lib; {
-    description = "Web content rendering engine, GTK port";
-    homepage = http://webkitgtk.org/;
-    license = licenses.bsd2;
-    platforms = with platforms; linux ++ darwin;
-    maintainers = [];
-    knownVulnerabilities = [
-      "WSA-2016-0004"
-      "WSA-2016-0005"
-      "WSA-2016-0006"
-      "WSA-2017-0001"
-      "WSA-2017-0002"
-    ];
-  };
-
-  src = fetchurl {
-    url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1xsvnvyvlywwyf6m9ainpsg87jkxjmd37q6zgz9cxb7v3c2ym2jq";
-  };
-
-  CC = "cc";
-
-  prePatch = ''
-    patchShebangs Tools/gtk
-  '';
-  patches = [
-    ./webcore-svg-libxml-cflags.patch
-    (fetchpatch {
-      url = https://raw.githubusercontent.com/gentoo/gentoo/7c5457e265bd40c156a8fe6b2ff94a4e34bcea8e/net-libs/webkit-gtk/files/webkit-gtk-2.4.9-gcc-6.patch;
-      sha256 = "0ll93dr5vxd40wvly1jaw41lvw86krac0jc6k6cacrps4i5ql5j0";
-    })
-  ] ++ optionals stdenv.isDarwin [
-    ./configure.patch
-    ./quartz-webcore.patch
-    ./libc++.patch
-    ./plugin-none.patch
-  ] ++ optionals stdenv.hostPlatform.isMusl [
-    ./fix-execinfo.patch
-  ];
-
-  configureFlags = with stdenv.lib; [
-    "--disable-geolocation"
-    "--disable-jit"
-    # needed for parallel building
-    "--enable-dependency-tracking"
-    (optionalString enableIntrospection "--enable-introspection")
-  ] ++ optional withGtk2 [
-    "--with-gtk=2.0"
-  ] ++ optionals (withGtk2 || stdenv.isDarwin) [
-    "--disable-webkit2"
-  ] ++ optionals stdenv.isDarwin [
-    "--disable-x11-target"
-    "--enable-quartz-target"
-    "--disable-web-audio"
-    "CFLAGS=-DJSC_OBJC_API_ENABLED=0"
-    "CXXFLAGS=-DJSC_OBJC_API_ENABLED=0"
-  ] ++ optionals (!enableCredentialStorage) [
-    "--disable-credential-storage"
-  ];
-
-  NIX_CFLAGS_COMPILE = [
-    "-DU_NOEXCEPT="
-    "-Wno-expansion-to-defined"
-  ];
-
-  dontAddDisableDepTrack = true;
-
-  nativeBuildInputs = [
-    perl python ruby bison gperf flex
-    pkgconfig which gettext gobject-introspection
-  ];
-
-  buildInputs = [
-    gtk2 libwebp enchant
-    libxml2 libxslt
-    gst-plugins-base sqlite xorg.libXt xorg.libXdamage
-  ] ++ optionals enableCredentialStorage [
-    libsecret
-  ] ++ (if stdenv.isDarwin then [
-    readline libedit libobjc
-  ] else [
-    wayland
-  ]);
-
-  propagatedBuildInputs = [
-    libsoup harfbuzz/*icu in *.la*/
-    (if withGtk2 then gtk2 else gtk3)
-  ];
-
-  enableParallelBuilding = true;
-
-}
diff --git a/pkgs/development/libraries/webkitgtk/configure.patch b/pkgs/development/libraries/webkitgtk/configure.patch
deleted file mode 100644
index 2f4c1e7ad31..00000000000
--- a/pkgs/development/libraries/webkitgtk/configure.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.4.11-orig/configure	2016-04-10 17:00:06.000000000 +0800
-+++ webkitgtk-2.4.11/configure	2016-07-21 23:04:10.000000000 +0800
-@@ -17738,7 +17738,7 @@
-   cat >>confdefs.h <<_ACEOF
- #define HAVE_WEBP_DECODE_H 1
- _ACEOF
-- WEBP_LIBS='-lwebp'
-+ WEBP_LIBS=`$PKG_CONFIG --libs libwebp`
- else
-   as_fn_error $? "WebP library (libwebp) not found" "$LINENO" 5
- fi
-@@ -18388,7 +18388,7 @@
- case "$host" in
-     *-*-darwin*)
-         UNICODE_CFLAGS="-I$srcdir/Source/JavaScriptCore/icu -I$srcdir/Source/WebCore/icu"
--        UNICODE_LIBS="-licucore"
-+        UNICODE_LIBS="/usr/lib/libicucore.dylib"
-         ;;
-     *-*-mingw*)
- 
diff --git a/pkgs/development/libraries/webkitgtk/fix-execinfo.patch b/pkgs/development/libraries/webkitgtk/fix-execinfo.patch
deleted file mode 100644
index eb825312f3b..00000000000
--- a/pkgs/development/libraries/webkitgtk/fix-execinfo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.2.0.orig/Source/WTF/wtf/Assertions.cpp
-+++ webkitgtk-2.2.0/Source/WTF/wtf/Assertions.cpp
-@@ -64,7 +64,7 @@
- #include <windows.h>
- #endif
- 
--#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
- #include <cxxabi.h>
- #include <dlfcn.h>
- #include <execinfo.h>
-@@ -242,7 +242,7 @@
- 
- void WTFGetBacktrace(void** stack, int* size)
- {
--#if OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))
-+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))
-     *size = backtrace(stack, *size);
- #elif OS(WINDOWS) && !OS(WINCE)
-     // The CaptureStackBackTrace function is available in XP, but it is not defined
diff --git a/pkgs/development/libraries/webkitgtk/libc++.patch b/pkgs/development/libraries/webkitgtk/libc++.patch
deleted file mode 100644
index 5a9df0ddae9..00000000000
--- a/pkgs/development/libraries/webkitgtk/libc++.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- webkitgtk-2.4.9-orig/GNUmakefile.in	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/GNUmakefile.in	2016-02-02 22:10:23.000000000 -0500
-@@ -23321,7 +23321,7 @@
- 	$(WINMM_LIBS) \
- 	-lm \
- 	-lpthread \
--	-lstdc++
-+	-lc++
- 
- Programs_minidom_LDFLAGS = \
- 	-no-install
-@@ -23344,7 +23344,7 @@
- 	$(WINMM_LIBS) \
- 	-lm \
- 	-lpthread \
--	-lstdc++
-+	-lc++
- 
- Programs_LLIntOffsetsExtractor_LDFLAGS = \
- 	-no-install
diff --git a/pkgs/development/libraries/webkitgtk/plugin-none.patch b/pkgs/development/libraries/webkitgtk/plugin-none.patch
deleted file mode 100644
index 5e2b36bf62d..00000000000
--- a/pkgs/development/libraries/webkitgtk/plugin-none.patch
+++ /dev/null
@@ -1,38 +0,0 @@
---- webkitgtk-2.4.9-orig/GNUmakefile.in	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/GNUmakefile.in	2016-02-08 00:27:10.000000000 -0500
-@@ -4799,6 +4799,8 @@
- 	Source/WebCore/plugins/PluginViewBase.h \
- 	Source/WebCore/plugins/PluginView.cpp \
- 	Source/WebCore/plugins/PluginView.h \
-+	Source/WebCore/plugins/PluginViewNone.cpp \
-+	Source/WebCore/plugins/PluginPackageNone.cpp \
- 	Source/WebCore/plugins/npapi.h \
- 	Source/WebCore/plugins/npfunctions.h \
- 	Source/WebCore/plugins/npruntime.h \
-@@ -6375,6 +6377,8 @@
- 	Source/WebCore/plugins/libWebCore_la-PluginPackage.lo \
- 	Source/WebCore/plugins/libWebCore_la-PluginStream.lo \
- 	Source/WebCore/plugins/libWebCore_la-PluginView.lo \
-+	Source/WebCore/plugins/libWebCore_la-PluginViewNone.lo \
-+	Source/WebCore/plugins/libWebCore_la-PluginPackageNone.lo \
- 	Source/WebCore/rendering/libWebCore_la-AutoTableLayout.lo \
- 	Source/WebCore/rendering/libWebCore_la-BidiRun.lo \
- 	Source/WebCore/rendering/libWebCore_la-break_lines.lo \
-@@ -10796,6 +10800,8 @@
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginProcessConnectionManager.lo \
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginProxy.lo \
- 	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginView.lo \
-+	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginViewNone.lo \
-+	Source/WebKit2/WebProcess/Plugins/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-PluginPackageNone.lo \
- 	Source/WebKit2/WebProcess/ResourceCache/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-WebResourceCacheManager.lo \
- 	Source/WebKit2/WebProcess/Storage/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-StorageAreaImpl.lo \
- 	Source/WebKit2/WebProcess/Storage/libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la-StorageAreaMap.lo \
-@@ -19503,6 +19509,8 @@
- 	Source/WebCore/plugins/PluginViewBase.h \
- 	Source/WebCore/plugins/PluginView.cpp \
- 	Source/WebCore/plugins/PluginView.h \
-+	Source/WebCore/plugins/PluginViewNone.cpp \
-+	Source/WebCore/plugins/PluginPackageNone.cpp \
- 	Source/WebCore/plugins/npapi.h \
- 	Source/WebCore/plugins/npfunctions.h \
- 	Source/WebCore/plugins/npruntime.h \
diff --git a/pkgs/development/libraries/webkitgtk/quartz-webcore.patch b/pkgs/development/libraries/webkitgtk/quartz-webcore.patch
deleted file mode 100644
index a7bf859d6c6..00000000000
--- a/pkgs/development/libraries/webkitgtk/quartz-webcore.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- webkitgtk-2.4.9-orig/Source/WebCore/plugins/PluginView.cpp	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/Source/WebCore/plugins/PluginView.cpp	2016-02-02 18:28:07.000000000 -0500
-@@ -839,7 +839,7 @@
- #if defined(XP_MACOSX)
-     , m_contextRef(0)
- #endif
--#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
-+#if defined(X11) && ENABLE(NETSCAPE_PLUGIN_API)
-     , m_hasPendingGeometryChange(true)
-     , m_drawable(0)
-     , m_visual(0)
---- webkitgtk-2.4.9-orig/Source/WebCore/plugins/PluginView.h	2016-02-02 13:23:23.000000000 -0500
-+++ webkitgtk-2.4.9/Source/WebCore/plugins/PluginView.h	2016-02-02 18:26:37.000000000 -0500
-@@ -378,7 +378,7 @@
-         void setNPWindowIfNeeded();
- #endif
- 
--#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
-+#if PLATFORM(X11) && ENABLE(NETSCAPE_PLUGIN_API)
-         bool m_hasPendingGeometryChange;
-         Pixmap m_drawable;
-         Visual* m_visual;
diff --git a/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch b/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch
deleted file mode 100644
index 03fc3f3f97d..00000000000
--- a/pkgs/development/libraries/webkitgtk/webcore-svg-libxml-cflags.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- webkitgtk-2.2.3-orig/GNUmakefile.in	2013-12-04 17:56:28.000000000 +0800
-+++ webkitgtk-2.2.3/GNUmakefile.in	2013-12-05 17:32:37.976689248 +0800
-@@ -21911,6 +21911,7 @@
- @ENABLE_SVG_TRUE@	$(CAIRO_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(FREETYPE_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(LIBSOUP_CFLAGS) \
-+@ENABLE_SVG_TRUE@	$(LIBXML_CFLAGS) \
- @ENABLE_SVG_TRUE@	$(UNICODE_CFLAGS)
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix
index a12447562b8..3bbfb139279 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -6,15 +6,16 @@
 , libGLU ? null, libGL ? null
 , compat24 ? false, compat26 ? true, unicode ? true
 , withGtk2 ? true
-, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null
+, withWebKit ? false, webkitgtk ? null
 , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
+with stdenv.lib;
 
 assert withMesa -> libGLU != null && libGL != null;
-assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null;
+assert withWebKit -> webkitgtk != null;
 
-with stdenv.lib;
+assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK30: You cannot enable withWebKit when using withGtk2.";
 
 stdenv.mkDerivation rec {
   version = "3.0.4";
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
     [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
       gst-plugins-base GConf ]
     ++ optional withMesa libGLU
-    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk)
+    ++ optional withWebKit webkitgtk
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/wxwidgets/3.1/default.nix b/pkgs/development/libraries/wxwidgets/3.1/default.nix
index 8fe75153de6..0984472e860 100644
--- a/pkgs/development/libraries/wxwidgets/3.1/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.1/default.nix
@@ -5,15 +5,16 @@
 , withMesa ? libGLSupported, libGLU ? null, libGL ? null
 , compat28 ? false, compat30 ? true, unicode ? true
 , withGtk2 ? true
-, withWebKit ? false, webkitgtk24x-gtk2 ? null, webkitgtk ? null
+, withWebKit ? false, webkitgtk ? null
 , AGL ? null, Carbon ? null, Cocoa ? null, Kernel ? null, QTKit ? null
 }:
 
+with stdenv.lib;
 
 assert withMesa -> libGLU != null && libGL != null;
-assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null;
+assert withWebKit -> webkitgtk != null;
 
-with stdenv.lib;
+assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK31: You cannot enable withWebKit when using withGtk2.";
 
 stdenv.mkDerivation rec {
   version = "3.1.2";
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
     [ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
       gst-plugins-base GConf ]
     ++ optional withMesa libGLU
-    ++ optional withWebKit (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk)
+    ++ optional withWebKit webkitgtk
     ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index dfec2197385..971ab485221 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -37,5 +37,5 @@ let
     };
   };
 in {
-  xapian_1_4 = generic "1.4.13" "0z0k8902bz2ckdggikj5yz11ik2n8krmdwzvpqv60phcm3zzzy4k";
+  xapian_1_4 = generic "1.4.14" "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp";
 }
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index fd772a1ff9d..adcb2e74b0b 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU_combined, aalib
+{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU, libGL, aalib
 , libvorbis, libtheora, speex, zlib, perl, ffmpeg
 , flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager
 , libmpcdec
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     xorg.libX11 xorg.libXv xorg.libXinerama xorg.libxcb xorg.libXext
-    alsaLib libGLU_combined aalib libvorbis libtheora speex perl ffmpeg flac
+    alsaLib libGLU libGL aalib libvorbis libtheora speex perl ffmpeg flac
     libcaca libpulseaudio libmng libcdio libv4l vcdimager libmpcdec
   ];
 
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index b0f8ae503ea..71da686ce48 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -5,7 +5,7 @@
 , shared ? true
 , static ? true
 # If true, a separate .static ouput is created and the .a is moved there.
-# In this case `pkg-config` will auto detection will currently not work if the
+# In this case `pkg-config` auto detection does not currently work if the
 # .static output is given as `buildInputs` to another package (#66461), because
 # the `.pc` file lists only the main output's lib dir.
 # If false, and if `{ static = true; }`, the .a stays in the main output.
diff --git a/pkgs/development/misc/amdapp-sdk/default.nix b/pkgs/development/misc/amdapp-sdk/default.nix
index 4169b9e4d35..c3bf3217b6a 100644
--- a/pkgs/development/misc/amdapp-sdk/default.nix
+++ b/pkgs/development/misc/amdapp-sdk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, perl, libGLU_combined, xorg,
+{ stdenv, fetchurl, makeWrapper, perl, libGLU, libGL, xorg,
   version? "2.8", # What version
   samples? false # Should samples be installed
 }:
@@ -47,7 +47,7 @@ in stdenv.mkDerivation {
   patches = stdenv.lib.attrByPath [version "patches"] [] src_info;
 
   patchFlags = "-p0";
-  buildInputs = [ makeWrapper perl libGLU_combined xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
+  buildInputs = [ makeWrapper perl libGLU libGL xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
   propagatedBuildInputs = [ stdenv.cc ];
   NIX_LDFLAGS = "-lX11 -lXext -lXmu -lXi -lXxf86vm";
   doCheck = false;
diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix
index c43ad10d7d8..8415dc751d5 100644
--- a/pkgs/development/ocaml-modules/alcotest/default.nix
+++ b/pkgs/development/ocaml-modules/alcotest/default.nix
@@ -6,14 +6,15 @@ let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then {
     version = "0.8.5";
     sha256 = "1mhckvdcxkikbzgvy24kjz4265l15b86a6swz7m3ynbgvqdcfzqn";
-    buildInputs = [ dune ];
+    nativeBuildInputs = [ dune ];
     propagatedBuildInputs = [ uuidm ];
     buildPhase = "dune build -p alcotest";
     inherit (dune) installPhase;
   } else {
     version = "0.7.2";
     sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md";
-    buildInputs = [ ocamlbuild topkg ];
+    buildInputs = [ topkg ];
+    nativeBuildInputs = [ ocamlbuild ];
     inherit (topkg) buildPhase installPhase;
   };
 in
@@ -27,7 +28,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ] ++ param.buildInputs;
+  nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []);
+  buildInputs = [ findlib ] ++ (param.buildInputs or []);
 
   propagatedBuildInputs = [ cmdliner astring fmt result ]
   ++ (param.propagatedBuildInputs or []);
diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
index c6d99fa33e7..49fcdbd261a 100644
--- a/pkgs/development/ocaml-modules/asn1-combinators/default.nix
+++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ounit topkg ];
+  buildInputs = [ findlib ounit topkg ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ result cstruct zarith ] ++ param.propagatedBuildInputs;
 
   buildPhase = "${topkg.run} build --tests true";
diff --git a/pkgs/development/ocaml-modules/biocaml/default.nix b/pkgs/development/ocaml-modules/biocaml/default.nix
new file mode 100644
index 00000000000..4f97594fb7c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/biocaml/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildDunePackage, fetchFromGitHub
+, ounit, async, base64, camlzip, cfstream
+, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm }:
+
+buildDunePackage rec {
+  pname = "biocaml";
+  version = "0.10.0";
+
+  owner = "biocaml";
+
+  minimumOCamlVersion = "4.07";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "0dghqx6jbzihmga8jjwwavs0wqksgcns4z1nmwj0ds9ik3mcra30";
+  };
+
+  buildInputs = [ ppx_jane ppx_sexp_conv ];
+  checkInputs = [ ounit ];
+  propagatedBuildInputs = [ async base64 camlzip cfstream core rresult uri xmlm ];
+
+  meta = with stdenv.lib; {
+    description = "Bioinformatics library for Ocaml";
+    homepage = "http://${owner}.github.io/${pname}";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix
index 0f168daac8c..6b37cf1aed3 100644
--- a/pkgs/development/ocaml-modules/bos/default.nix
+++ b/pkgs/development/ocaml-modules/bos/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
 		sha256 = "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc";
 	};
 
-	buildInputs = [ ocaml findlib ocamlbuild topkg ];
+	nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+	buildInputs = [ findlib topkg ];
 	propagatedBuildInputs = [ astring fmt fpath logs rresult ];
 
 	inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/cfstream/default.nix b/pkgs/development/ocaml-modules/cfstream/default.nix
new file mode 100644
index 00000000000..db6d2b1d440
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cfstream/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, m4, core_kernel, ounit }:
+
+buildDunePackage rec {
+  pname = "cfstream";
+  version = "1.3.0";
+
+  minimumOCamlVersion = "4.04.1";
+
+  src = fetchFromGitHub {
+    owner = "biocaml";
+    repo   = pname;
+    rev    = version;
+    sha256 = "1bpzpci0cx6r3sdk183mm603wgzvvj46nlx0lpx44108anxcxbak";
+  };
+
+  patches = [ ./git_commit.patch ];
+
+  buildInputs = [ m4 ];
+  checkInputs = [ ounit ];
+  propagatedBuildInputs = [ core_kernel ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Simple Core-inspired wrapper for standard library Stream module";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/cfstream/git_commit.patch b/pkgs/development/ocaml-modules/cfstream/git_commit.patch
new file mode 100644
index 00000000000..5f8d8f5ce31
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cfstream/git_commit.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/jbuild b/lib/jbuild
+index fcc5a39..d72d50c 100644
+--- a/lib/jbuild
++++ b/lib/jbuild
+@@ -10,7 +10,7 @@
+ (rule (
+   (targets (GIT_COMMIT))
+   (deps (../bin/git_commit.sh))
+-  (action (with-stdout-to ${@} (run ${<})))
++  (action (with-stdout-to ${@} (run echo "None")))
+ ))
+ 
+ (rule (
diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix
index 271ec1f2af9..34d57b403b0 100644
--- a/pkgs/development/ocaml-modules/cmdliner/default.nix
+++ b/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -25,8 +25,8 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  nativeBuildInputs = [ ocamlbuild topkg ];
-  buildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ topkg ];
   propagatedBuildInputs = [ result ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index 1b465c2984e..5fd9e9c947a 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -4,14 +4,14 @@
 }:
 
 buildDunePackage rec {
-  version = "2.6.1";
+  version = "2.7";
   pname = "containers";
 
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = "ocaml-containers";
-    rev = version;
-    sha256 = "02iq01pq6047hab5s8zpprwr21cygvzfcfj2lpsyj823f28crhmv";
+    rev = "v${version}";
+    sha256 = "1nsxfgn1g1vpqihb9gd6gsab0bcm70nf9z84cp441c8wsc57hi6a";
   };
 
   buildInputs = [ iter ];
@@ -20,7 +20,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ result uchar ];
 
-  doCheck = !lib.versionAtLeast ocaml.version "4.08";
+  doCheck = true;
 
   meta = {
     homepage = https://github.com/c-cube/ocaml-containers;
diff --git a/pkgs/development/ocaml-modules/cpuid/default.nix b/pkgs/development/ocaml-modules/cpuid/default.nix
index 10938cf81c2..6c7ecaa4b7a 100644
--- a/pkgs/development/ocaml-modules/cpuid/default.nix
+++ b/pkgs/development/ocaml-modules/cpuid/default.nix
@@ -1,22 +1,20 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, ocb-stubblr }:
+{ lib, fetchurl, buildDunePackage }:
 
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-cpuid-0.1.0";
+buildDunePackage rec {
+  pname = "cpuid";
+  version = "0.1.2";
+
+  minimumOCamlVersion = "4.03";
 
   src = fetchurl {
-    url = https://github.com/pqwy/cpuid/releases/download/v0.1.0/cpuid-0.1.0.tbz;
-    sha256 = "08k2558a3dnxn8msgpz8c93sfn0y027ganfdi2yvql0fp1ixv97p";
+    url = "https://github.com/pqwy/cpuid/releases/download/v${version}/cpuid-v${version}.tbz";
+    sha256 = "08ng4mva6qblb5ipkrxbr0my7ndkc4qwcbswkqgbgir864s74m93";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ocb-stubblr ];
-
-  inherit (topkg) buildPhase installPhase;
-
   meta = {
     homepage = https://github.com/pqwy/cpuid;
     description = "Detect CPU features from OCaml";
-    license = stdenv.lib.licenses.isc;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
-    inherit (ocaml.meta) platforms;
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/eigen/default.nix b/pkgs/development/ocaml-modules/eigen/default.nix
new file mode 100644
index 00000000000..7c1ec79f7da
--- /dev/null
+++ b/pkgs/development/ocaml-modules/eigen/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, ctypes }:
+
+buildDunePackage rec {
+  pname = "eigen";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "owlbarn";
+    repo   = pname;
+    rev    = version;
+    sha256 = "0pbqd87i9h7qpx84hr8k4iw0rhmjgma4s3wihxh992jjvsrgdyfi";
+  };
+
+  minimumOCamlVersion = "4.04";
+
+  propagatedBuildInputs = [ ctypes ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Minimal/incomplete Ocaml interface to Eigen3, mostly for Owl";
+    platforms = platforms.x86_64;
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix
index c7fff722399..d136ec092c2 100644
--- a/pkgs/development/ocaml-modules/fmt/default.nix
+++ b/pkgs/development/ocaml-modules/fmt/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg cmdliner ];
   propagatedBuildInputs = [ result uchar ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/git/default.nix b/pkgs/development/ocaml-modules/git/default.nix
index 929382abe76..741e004979c 100644
--- a/pkgs/development/ocaml-modules/git/default.nix
+++ b/pkgs/development/ocaml-modules/git/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, buildDunePackage
+{ lib, fetchurl, buildDunePackage
 , alcotest, git, mtime, nocrypto
 , angstrom, astring, cstruct, decompress, digestif, encore, duff, fmt
 , fpath, hex, ke, logs, lru, ocaml_lwt, ocamlgraph, ocplib-endian, uri, rresult
@@ -6,13 +6,11 @@
 
 buildDunePackage rec {
   pname = "git";
-	version = "2.1.0";
+	version = "2.1.2";
 
-	src = fetchFromGitHub {
-		owner = "mirage";
-		repo = "ocaml-git";
-		rev = version;
-		sha256 = "0v55zkwgml6i5hp0kzynbi58z6j15k3qgzg06b3h8pdbv5fwd1jp";
+	src = fetchurl {
+		url = "https://github.com/mirage/ocaml-git/releases/download/${version}/git-${version}.tbz";
+		sha256 = "0yyclsh255k7pvc2fcsdi8k2fcrr0by2nz6g3sqnwlimjyp7mz5j";
 	};
 
 	propagatedBuildInputs = [ angstrom astring cstruct decompress digestif encore duff fmt fpath hex ke logs lru ocaml_lwt ocamlgraph ocplib-endian uri rresult ];
@@ -23,6 +21,6 @@ buildDunePackage rec {
 		description = "Git format and protocol in pure OCaml";
 		license = lib.licenses.isc;
 		maintainers = [ lib.maintainers.vbgl ];
-		inherit (src.meta) homepage;
+		homepage = "https://github.com/mirage/ocaml-git";
 	};
 }
diff --git a/pkgs/development/ocaml-modules/gnuplot/default.nix b/pkgs/development/ocaml-modules/gnuplot/default.nix
new file mode 100644
index 00000000000..e473273b8da
--- /dev/null
+++ b/pkgs/development/ocaml-modules/gnuplot/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildDunePackage, fetchFromBitbucket, gnuplot, core }:
+
+buildDunePackage rec {
+  pname = "gnuplot";
+  version = "0.5.3";
+
+  src = fetchFromBitbucket {
+    owner  = "ogu";
+    repo   = "${pname}-ocaml";
+    rev    = "release-${version}";
+    sha256 = "00sn9g46pj8pfh7faiyxg3pfhq7w9knafyabjr464bh6qz5kiin3";
+  };
+
+  propagatedBuildInputs = [ core gnuplot ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Ocaml bindings to Gnuplot";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/jsonm/default.nix b/pkgs/development/ocaml-modules/jsonm/default.nix
index c4a7fa0f7a7..d1f5cabb32d 100644
--- a/pkgs/development/ocaml-modules/jsonm/default.nix
+++ b/pkgs/development/ocaml-modules/jsonm/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation {
     sha256 = "1176dcmxb11fnw49b7yysvkjh0kpzx4s48lmdn5psq9vshp5c29w";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ];
+  buildInputs = [ findlib topkg ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ uutf ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/kafka/default.nix b/pkgs/development/ocaml-modules/kafka/default.nix
new file mode 100644
index 00000000000..4eeb8d975fd
--- /dev/null
+++ b/pkgs/development/ocaml-modules/kafka/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, buildDunePackage, base, cmdliner, ocaml_lwt,
+  rdkafka, zlib }:
+
+buildDunePackage rec {
+  pname = "kafka";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "didier-wenzek";
+    repo = "ocaml-kafka";
+    rev = version;
+    sha256 = "0lb8x0wh7sf8v9mjwhq32azjz54kw49fsjfb7m76z4nhxfkjw5hy";
+  };
+
+  buildInputs = [ base cmdliner ocaml_lwt zlib ];
+
+  propagatedBuildInputs = [ rdkafka zlib ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/didier-wenzek/ocaml-kafka;
+    description = "OCaml bindings for Kafka";
+    license     = licenses.mit;
+    maintainers = [ maintainers.rixed ];
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index 427d0d5a0e1..ae85847b58b 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, lablgtk, findlib, libGLU_combined, freeglut, camlp4 } :
+{stdenv, fetchurl, ocaml, lablgtk, findlib, libGLU, libGL, freeglut, camlp4 } :
 
 let
   pname = "lablgl";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ocaml findlib lablgtk freeglut camlp4];
-  propagatedBuildInputs = [ libGLU_combined ];
+  propagatedBuildInputs = [ libGLU libGL ];
 
   patches = [ ./Makefile.config.patch ./META.patch ];
 
diff --git a/pkgs/development/ocaml-modules/logs/default.nix b/pkgs/development/ocaml-modules/logs/default.nix
index 15d2bde0ec6..50d68520fab 100644
--- a/pkgs/development/ocaml-modules/logs/default.nix
+++ b/pkgs/development/ocaml-modules/logs/default.nix
@@ -10,15 +10,16 @@ then throw "logs is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml-${pname}-${version}";
-  version = "0.6.3";
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "1lkhr7i44xw4kpfbhgj3rbqy3dv5bfm4kyrbl8a9rfafddcxlwss";
+    sha256 = "1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg fmt cmdliner lwt ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg fmt cmdliner lwt ];
   propagatedBuildInputs = [ result ];
 
   buildPhase = "${topkg.run} build --with-js_of_ocaml false";
diff --git a/pkgs/development/ocaml-modules/magic-mime/default.nix b/pkgs/development/ocaml-modules/magic-mime/default.nix
index 65acbd6cc42..16e37addd45 100644
--- a/pkgs/development/ocaml-modules/magic-mime/default.nix
+++ b/pkgs/development/ocaml-modules/magic-mime/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation {
     sha256 = "058d83hmxd5mjccxdm3ydchmhk2lca5jdg82jg0klsigmf4ida6v";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib ];
+  configurePlatforms = [];
 
   createFindlibDestdir = true;
 
diff --git a/pkgs/development/ocaml-modules/metrics/default.nix b/pkgs/development/ocaml-modules/metrics/default.nix
new file mode 100644
index 00000000000..893b667f836
--- /dev/null
+++ b/pkgs/development/ocaml-modules/metrics/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchurl, buildDunePackage, alcotest, fmt }:
+
+buildDunePackage rec {
+  pname = "metrics";
+  version = "0.1.0";
+
+  minimumOCamlVersion = "4.04";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/metrics/releases/download/${version}/metrics-${version}.tbz";
+    sha256 = "0jy88anrx3rh19046rrbrjmx922zvz3wlqkk8asilqv9pbvpnp1a";
+  };
+
+  propagatedBuildInputs = [ fmt ];
+
+  checkInputs = lib.optional doCheck alcotest;
+
+  doCheck = true;
+
+  meta = {
+    description = "Metrics infrastructure for OCaml";
+    homepage = "https://github.com/mirage/metrics";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/metrics/lwt.nix b/pkgs/development/ocaml-modules/metrics/lwt.nix
new file mode 100644
index 00000000000..47b91e430c6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/metrics/lwt.nix
@@ -0,0 +1,14 @@
+{ buildDunePackage, ocaml_lwt, metrics }:
+
+buildDunePackage {
+  pname = "metrics-lwt";
+
+  inherit (metrics) version src;
+
+  propagatedBuildInputs = [ ocaml_lwt metrics ];
+
+  meta = metrics.meta // {
+    description = "Lwt backend for the Metrics library";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/metrics/unix.nix b/pkgs/development/ocaml-modules/metrics/unix.nix
new file mode 100644
index 00000000000..45a92f10803
--- /dev/null
+++ b/pkgs/development/ocaml-modules/metrics/unix.nix
@@ -0,0 +1,19 @@
+{ lib, buildDunePackage, gnuplot, ocaml_lwt, metrics, metrics-lwt, mtime, uuidm }:
+
+buildDunePackage rec {
+
+  pname = "metrics-unix";
+
+  inherit (metrics) version src;
+
+  propagatedBuildInputs = [ gnuplot ocaml_lwt metrics mtime uuidm ];
+
+  checkInputs = lib.optional doCheck metrics-lwt;
+
+  doCheck = true;
+
+  meta = metrics.meta // {
+    description = "Unix backend for the Metrics library";
+  };
+
+}
diff --git a/pkgs/development/ocaml-modules/mtime/default.nix b/pkgs/development/ocaml-modules/mtime/default.nix
index f86909cc10b..02d6380715b 100644
--- a/pkgs/development/ocaml-modules/mtime/default.nix
+++ b/pkgs/development/ocaml-modules/mtime/default.nix
@@ -23,7 +23,8 @@ stdenv.mkDerivation {
     inherit (param) sha256;
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg ]
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg ]
   ++ stdenv.lib.optional jsooSupport js_of_ocaml;
 
   buildPhase = "${topkg.buildPhase} --with-js_of_ocaml ${boolToString jsooSupport}";
diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix
index 06a87c072b4..833da3bb67c 100644
--- a/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -1,11 +1,19 @@
 { stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, topkg
 , cpuid, ocb-stubblr, sexplib
-, cstruct, zarith, ppx_sexp_conv, ppx_deriving
+, cstruct, zarith, ppx_sexp_conv, ppx_deriving, writeScriptBin
 , cstruct-lwt ? null
 }:
 
 with stdenv.lib;
-let withLwt = cstruct-lwt != null; in
+let
+  withLwt = cstruct-lwt != null;
+  # the build system will call 'cc' with no way to override
+  # this is wrong when we're cross-compiling, so insert a wrapper
+  cc-wrapper = writeScriptBin "cc" ''
+    set -e
+    $CC "$@"
+  '';
+in
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-nocrypto-${version}";
@@ -43,7 +51,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cpuid ocb-stubblr ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild cc-wrapper ];
+  buildInputs = [ ocamlbuild findlib topkg cpuid ocb-stubblr ];
   propagatedBuildInputs = [ cstruct ppx_deriving ppx_sexp_conv sexplib zarith ] ++ optional withLwt cstruct-lwt;
 
   buildPhase = "${topkg.buildPhase} --with-lwt ${boolToString withLwt}";
diff --git a/pkgs/development/ocaml-modules/num/default.nix b/pkgs/development/ocaml-modules/num/default.nix
index d46bff5b3d5..022b7af9629 100644
--- a/pkgs/development/ocaml-modules/num/default.nix
+++ b/pkgs/development/ocaml-modules/num/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, withStatic ? false }:
 
 stdenv.mkDerivation rec {
 	version = "1.1";
@@ -14,12 +14,14 @@ stdenv.mkDerivation rec {
 			url = "https://github.com/ocaml/num/commit/6d4c6d476c061298e6385e8a0864f083194b9307.patch";
 			sha256 = "18zlvb5n327q8y3c52js5dvyy29ssld1l53jqng8m9w1k24ypi0b";
 		})
-	];
+	] ++ lib.optional withStatic ./enable-static.patch;
 
-	buildInputs = [ ocaml findlib ];
+	nativeBuildInputs = [ ocaml findlib ];
+  buildInputs = [ ocaml findlib ];
 
 	createFindlibDestdir = true;
 
+
 	meta = {
 		description = "Legacy Num library for arbitrary-precision integer and rational arithmetic";
 		license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/ocaml-modules/num/enable-static.patch b/pkgs/development/ocaml-modules/num/enable-static.patch
new file mode 100644
index 00000000000..be3ca197f4e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/num/enable-static.patch
@@ -0,0 +1,12 @@
+diff -u a/src/Makefile b/src/Makefile
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -45,7 +45,7 @@
+ endif
+ 
+ libnums.$(A): $(COBJS)
+-	$(OCAMLMKLIB) -oc nums $(COBJS)
++	$(OCAMLMKLIB) -custom -oc nums $(COBJS)
+ 
+ nums.cma: $(CMOS)
+	 $(OCAMLMKLIB) -o nums -oc nums -linkall $(CMOS)
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
index 887dce58689..a39e72d3880 100644
--- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, findlib, lablgtk}:
+{stdenv, fetchurl, ocaml, findlib, lablgtk ? null}:
 
 stdenv.mkDerivation rec {
   pname = "ocamlgraph";
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml.version}/site-lib/ocamlgraph@' Makefile.in
     sed -i 's@OCAMLFINDDEST := -destdir $(DESTDIR)@@' Makefile.in
-    sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile
+    ${stdenv.lib.optionalString (lablgtk != null)
+      "sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile"}
   '';
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/opam-file-format/default.nix b/pkgs/development/ocaml-modules/opam-file-format/default.nix
index 4d308dc78b5..0ca332a2a06 100644
--- a/pkgs/development/ocaml-modules/opam-file-format/default.nix
+++ b/pkgs/development/ocaml-modules/opam-file-format/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
 
+  patches = [ ./optional-static.patch ];
+
   meta = {
     description = "Parser and printer for the opam file syntax";
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch b/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch
new file mode 100644
index 00000000000..5501fdd0c6c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/opam-file-format/optional-static.patch
@@ -0,0 +1,13 @@
+diff -u a/Makefile b/Makefile
+--- a/Makefile
++++ b/Makefile
+@@ -1,1 +1,5 @@
+-TARGETS = opam-file-format.cma opam-file-format.cmxa opam-file-format.cmxs
++TARGETS = opam-file-format.cma opam-file-format.cmxa
++
++ifeq "$(NATDYNLINK)" "true"
++TARGETS = $(TARGETS) opam-file-format.cmxs
++endif
+
+all: $(TARGETS)
+
diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix
index 758bb072090..6f4536f2e8b 100644
--- a/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/pkgs/development/ocaml-modules/ounit/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation {
     sha256 = "0hbd2sqdz75lv5ax82yhsfdk1dlcvq12xpys6n85ysmrl0c3d3lk";
   });
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib ];
+  configurePlatforms = [];
 
   dontAddPrefix = true;
 
diff --git a/pkgs/development/ocaml-modules/owl-base/default.nix b/pkgs/development/ocaml-modules/owl-base/default.nix
new file mode 100644
index 00000000000..efdd2a28412
--- /dev/null
+++ b/pkgs/development/ocaml-modules/owl-base/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, stdlib-shims }:
+
+buildDunePackage rec {
+  pname = "owl-base";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner  = "owlbarn";
+    repo   = "owl";
+    rev    = version;
+    sha256 = "1v4jfn3w18zq188f9gskx9ffja3xx59j2mgrw6azp8lsbqixg5xk";
+  };
+
+  propagatedBuildInputs = [ stdlib-shims ];
+
+  minimumOCamlVersion = "4.06";
+
+  meta = with stdenv.lib; {
+    description = "Numerical computing library for Ocaml";
+    homepage = "https://ocaml.xyz";
+    platforms = platforms.x86_64;
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/owl/default.nix b/pkgs/development/ocaml-modules/owl/default.nix
new file mode 100644
index 00000000000..eedfdba34ed
--- /dev/null
+++ b/pkgs/development/ocaml-modules/owl/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, alcotest
+, eigen, stdio, stdlib-shims, openblasCompat, owl-base
+}:
+
+buildDunePackage rec {
+  pname = "owl";
+
+  inherit (owl-base) version src meta;
+
+  checkInputs = [ alcotest ];
+  propagatedBuildInputs = [ eigen stdio stdlib-shims openblasCompat owl-base ];
+
+  # tests not enabled for now due to owlbarn/owl/issues/460
+}
diff --git a/pkgs/development/ocaml-modules/phylogenetics/default.nix b/pkgs/development/ocaml-modules/phylogenetics/default.nix
new file mode 100644
index 00000000000..e665a323578
--- /dev/null
+++ b/pkgs/development/ocaml-modules/phylogenetics/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, ppx_deriving
+, alcotest, biocaml, gnuplot, lacaml, menhir, owl }:
+
+buildDunePackage rec {
+  pname = "phylogenetics";
+  version = "unstable-2019-11-15";
+
+  src = fetchFromGitHub {
+    owner  = "biocaml";
+    repo   = pname;
+    rev    = "91c03834db065cf4a86f33affbb9cfd216defc9f";
+    sha256 = "0i9m0633a6a724as35ix8z3p1gj267cl0hmqrpw4qfq39zxmgnxb";
+  };
+
+  minimumOCamlVersion = "4.08";  # e.g., uses Float.min
+
+  checkInputs = [ alcotest ];
+  propagatedBuildInputs = [ biocaml gnuplot lacaml menhir owl ppx_deriving ];
+
+  doCheck = false;  # many tests require bppsuite
+
+  meta = with stdenv.lib; {
+    inherit (std.meta) homepage;
+    description = "Bioinformatics library for Ocaml";
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.cecill-b;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ppx_tools/default.nix b/pkgs/development/ocaml-modules/ppx_tools/default.nix
index fd2b67225e6..984906342bc 100644
--- a/pkgs/development/ocaml-modules/ppx_tools/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_tools/default.nix
@@ -37,6 +37,7 @@ in
       inherit (param) sha256;
     };
 
+    nativeBuildInputs = [ ocaml findlib ];
     buildInputs = [ ocaml findlib ];
 
     createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix
index f21f05eeae5..de3d940b3bb 100644
--- a/pkgs/development/ocaml-modules/ptime/default.nix
+++ b/pkgs/development/ocaml-modules/ptime/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1fxq57xy1ajzfdnvv5zfm7ap2nf49znw5f9gbi4kb9vds942ij27";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg js_of_ocaml ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  buildInputs = [ findlib topkg js_of_ocaml ];
 
   propagatedBuildInputs = [ result ];
 
diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix
index b1a178128ad..80d9933f8b6 100644
--- a/pkgs/development/ocaml-modules/tls/default.nix
+++ b/pkgs/development/ocaml-modules/tls/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
     sha256 = "02wv4lia583imn3sfci4nqv6ac5nzig5j3yfdnlqa0q8bp9rfc6g";
   };
 
-  buildInputs = [ ocaml ocamlbuild findlib topkg ppx_sexp_conv ppx_cstruct ]
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ findlib topkg ppx_sexp_conv ppx_cstruct ]
   ++ optionals doCheck [ ounit cstruct-unix ];
   propagatedBuildInputs = [ cstruct-sexp nocrypto result x509 ] ++
                           optional withLwt lwt;
diff --git a/pkgs/development/ocaml-modules/topkg/default.nix b/pkgs/development/ocaml-modules/topkg/default.nix
index a3e718d5329..edbbec3dcb3 100644
--- a/pkgs/development/ocaml-modules/topkg/default.nix
+++ b/pkgs/development/ocaml-modules/topkg/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     sha256 = "1df61vw6v5bg2mys045682ggv058yqkqb67w7r2gz85crs04d5fw";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ result ];
 
   buildPhase = "${run} build";
diff --git a/pkgs/development/ocaml-modules/uchar/default.nix b/pkgs/development/ocaml-modules/uchar/default.nix
index c943d3ce35a..2140871021d 100644
--- a/pkgs/development/ocaml-modules/uchar/default.nix
+++ b/pkgs/development/ocaml-modules/uchar/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline, withShared ? true }:
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-uchar-0.0.2";
@@ -8,9 +8,11 @@ stdenv.mkDerivation {
     sha256 = "1w2saw7zanf9m9ffvz2lvcxvlm118pws2x1wym526xmydhqpyfa7";
   };
 
-  buildInputs = [ ocaml ocamlbuild findlib opaline ];
-  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+  nativeBuildInputs = [ ocaml ocamlbuild findlib opaline ];
+  buildInputs = [ findlib ocaml ocamlbuild opaline ];
+  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=${if withShared then "true" else "false"}";
   installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
+  configurePlatforms = [];
 
   meta = {
     description = "Compatibility library for OCaml’s Uchar module";
diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix
index 079e810bfdc..497b2df88b1 100644
--- a/pkgs/development/ocaml-modules/uuidm/default.nix
+++ b/pkgs/development/ocaml-modules/uuidm/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "1ivxb3hxn9bk62rmixx6px4fvn52s4yr1bpla7rgkcn8981v45r8";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
+  configurePlatforms = [];
+  buildInputs = [ topkg cmdliner ];
 
   inherit (topkg) buildPhase installPhase;
 
diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix
index 863a4cbb840..f289781b422 100644
--- a/pkgs/development/ocaml-modules/uutf/default.nix
+++ b/pkgs/development/ocaml-modules/uutf/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1nx1rly3qj23jzn9yk3x6fwqimcxjd84kv5859vvhdg56psq26p6";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild topkg cmdliner ];
+  nativeBuildInputs = [ ocaml ocamlbuild findlib ];
+  buildInputs = [ findlib topkg cmdliner ];
   propagatedBuildInputs = [ uchar ];
 
   inherit (topkg) buildPhase installPhase;
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 84d5e488b25..24942da0072 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -6,7 +6,7 @@ let
     version = "1.7.0";
     url = "https://github.com/ocaml-community/yojson/releases/download/${version}/yojson-${version}.tbz";
     sha256 = "08llz96if8bcgnaishf18si76cv11zbkni0aldb54k3cn7ipiqvd";
-    buildInputs = [ dune ];
+    nativeBuildInputs = [ dune ];
     extra = { inherit (dune) installPhase; };
   } else rec {
     version = "1.2.3";
@@ -29,9 +29,10 @@ stdenv.mkDerivation ({
     inherit (param) url sha256;
   };
 
-  buildInputs = [ ocaml findlib ] ++ (param.buildInputs or []);
-
-  propagatedBuildInputs = [ cppo easy-format biniou ];
+  nativeBuildInputs = [ ocaml findlib ] ++ (param.nativeBuildInputs or []);
+  propagatedNativeBuildInputs = [ cppo ];
+  propagatedBuildInputs = [ easy-format biniou ];
+  configurePlatforms = [];
 
   meta = with stdenv.lib; {
     description = "An optimized parsing and printing library for the JSON format";
diff --git a/pkgs/development/ocaml-modules/zarith/default.nix b/pkgs/development/ocaml-modules/zarith/default.nix
index c97078c62ed..f0cb5a59485 100644
--- a/pkgs/development/ocaml-modules/zarith/default.nix
+++ b/pkgs/development/ocaml-modules/zarith/default.nix
@@ -6,9 +6,9 @@
 let source =
   if stdenv.lib.versionAtLeast ocaml.version "4.02"
   then {
-    version = "1.9.1";
-    url = https://github.com/ocaml/Zarith/archive/release-1.9.1.tar.gz;
-    sha256 = "0pfa271476dic5pvn6kxz3dfswxs6kqm2cxmhdx5xq2ayca05gj9";
+    version = "1.9";
+    url = https://github.com/ocaml/Zarith/archive/release-1.9.tar.gz;
+    sha256 = "1xrqcaj5gp52xp4ybpnblw8ciwlgrr0zi7rg7hnk8x83isjkpmwx";
   } else {
     version = "1.3";
     url = http://forge.ocamlcore.org/frs/download.php/1471/zarith-1.3.tgz;
@@ -26,9 +26,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ gmp ];
 
   patchPhase = "patchShebangs ./z_pp.pl";
-  configurePhase = ''
-    ./configure -installdir $out/lib/ocaml/${ocaml.version}/site-lib
-  '';
+  dontAddPrefix = true;
+  configureFlags = [ "-installdir ${placeholder "out"}/lib/ocaml/${ocaml.version}/site-lib" ];
 
   preInstall = "mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs";
 
diff --git a/pkgs/development/pharo/vm/build-vm-legacy.nix b/pkgs/development/pharo/vm/build-vm-legacy.nix
index bd84dd06e7f..e76b1802c23 100644
--- a/pkgs/development/pharo/vm/build-vm-legacy.nix
+++ b/pkgs/development/pharo/vm/build-vm-legacy.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, libGLU_combined, freetype, xorg, alsaLib, cairo, libuuid, makeWrapper, ... }:
+{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, libGLU, libGL, freetype, xorg, alsaLib, cairo, libuuid, makeWrapper, ... }:
 
 { name, src, ... }:
 
@@ -46,9 +46,9 @@ stdenv.mkDerivation rec {
     ln -s "${pharo-share}/lib/"*.sources $prefix/lib/$name
   '';
 
-  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ cairo libGLU_combined freetype openssl libuuid alsaLib xorg.libICE xorg.libSM ];
+  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ cairo libGLU libGL freetype openssl libuuid alsaLib xorg.libICE xorg.libSM ];
   nativeBuildInputs = [ unzip cmake gcc makeWrapper ];
-  buildInputs = [ bash glibc openssl libGLU_combined freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ];
+  buildInputs = [ bash glibc openssl libGLU libGL freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ];
 
   meta = {
     description = "Clean and innovative Smalltalk-inspired environment";
diff --git a/pkgs/development/pharo/vm/build-vm.nix b/pkgs/development/pharo/vm/build-vm.nix
index 47773c20954..5fc747cbc8c 100644
--- a/pkgs/development/pharo/vm/build-vm.nix
+++ b/pkgs/development/pharo/vm/build-vm.nix
@@ -5,7 +5,7 @@
 , glibc
 , openssl
 , libgit2
-, libGLU_combined
+, libGLU, libGL
 , freetype
 , xorg
 , alsaLib
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
     libs = [
       cairo
       libgit2
-      libGLU_combined
+      libGLU libGL
       freetype
       openssl
       libuuid
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
     glibc
     openssl
     gcc48
-    libGLU_combined
+    libGLU libGL
     freetype
     xorg.libX11
     xorg.libICE
diff --git a/pkgs/development/pharo/vm/vms.nix b/pkgs/development/pharo/vm/vms.nix
index 91cf0184709..080da830af6 100644
--- a/pkgs/development/pharo/vm/vms.nix
+++ b/pkgs/development/pharo/vm/vms.nix
@@ -7,7 +7,7 @@
 , openssl
 , gcc
 , libgit2
-, libGLU_combined
+, libGLU, libGL
 , freetype
 , xorg
 , alsaLib
diff --git a/pkgs/development/pure-modules/gl/default.nix b/pkgs/development/pure-modules/gl/default.nix
index 51c57bb5c51..b67a972b00b 100644
--- a/pkgs/development/pure-modules/gl/default.nix
+++ b/pkgs/development/pure-modules/gl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU_combined, xlibsWrapper }:
+{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU, libGL, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
   baseName = "gl";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ pure freeglut libGLU_combined xlibsWrapper ];
+  propagatedBuildInputs = [ pure freeglut libGLU libGL xlibsWrapper ];
   makeFlags = "libdir=$(out)/lib prefix=$(out)/";
   setupHook = ../generic-setup-hook.sh;
 
diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix
index 4032b527e88..1f2a89c5e0c 100644
--- a/pkgs/development/python-modules/APScheduler/default.nix
+++ b/pkgs/development/python-modules/APScheduler/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonPackage rec {
   pname = "APScheduler";
-  version = "3.6.1";
+  version = "3.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c56066rx09xk1zbd156whsynlakxazqq64i509id17015wzp6jj";
+    sha256 = "3bb5229eed6fbbdafc13ce962712ae66e175aa214c69bed35a06bffcf0c5e244";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index b88c3c69b5d..aff4e0b62b3 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , python
 , glibcLocales
 , pkgconfig
@@ -25,11 +26,11 @@ let
 
 in buildPythonPackage rec {
   pname = "Cython";
-  version = "0.29.13";
+  version = "0.29.14";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c29d069a4a30f472482343c866f7486731ad638ef9af92bfe5fca9c7323d638e";
+    sha256 = "e4d6bb8703d0319eb04b7319b12ea41580df44fd84d83ccda13ea463c6801414";
   };
 
   nativeBuildInputs = [
@@ -41,6 +42,15 @@ in buildPythonPackage rec {
   buildInputs = [ glibcLocales gdb ];
   LC_ALL = "en_US.UTF-8";
 
+  patches = [
+    # https://github.com/cython/cython/issues/2752, needed by sage (https://trac.sagemath.org/ticket/26855) and up to be included in 0.30
+    (fetchpatch {
+      name = "non-int-conversion-to-pyhash.patch";
+      url = "https://github.com/cython/cython/commit/28251032f86c266065e4976080230481b1a1bb29.patch";
+      sha256 = "19rg7xs8gr90k3ya5c634bs8gww1sxyhdavv07cyd2k71afr83gy";
+    })
+  ];
+
   checkPhase = ''
     export HOME="$NIX_BUILD_TOP"
     ${python.interpreter} runtests.py -j$NIX_BUILD_CORES \
diff --git a/pkgs/development/python-modules/GitPython/default.nix b/pkgs/development/python-modules/GitPython/default.nix
index d92100cc141..be2526ffcd4 100644
--- a/pkgs/development/python-modules/GitPython/default.nix
+++ b/pkgs/development/python-modules/GitPython/default.nix
@@ -1,13 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, isPy27, substituteAll, git, gitdb2, mock, nose, ddt }:
 
 buildPythonPackage rec {
-  version = "3.0.4";
+  version = "3.0.5";
   pname = "GitPython";
   disabled = isPy27; # no longer supported
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3237caca1139d0a7aa072f6735f5fd2520de52195e0fa1d8b83a9b212a2498b2";
+    sha256 = "9c2398ffc3dcb3c40b27324b316f08a4f93ad646d5a6328cafbb871aa79f5e42";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index 52cf7598da8..d36a47c331c 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -35,7 +35,7 @@
 
 buildPythonPackage rec {
   pname = "Nikola";
-  version = "8.0.2";
+  version = "8.0.3";
 
   # Nix contains only Python 3 supported version of doit, which is a dependency
   # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
@@ -54,7 +54,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a5y1qriy76hl4yxvbf365b1ggsxybm06mi1pwb5jkgbkwk2gkrf";
+    sha256 = "a53470be082fce1843fb73002be2504828f9abc49a84eab5d1effc06ae2a5ddc";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/XlsxWriter/default.nix b/pkgs/development/python-modules/XlsxWriter/default.nix
index 679725db307..f9730eb61ae 100644
--- a/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/pkgs/development/python-modules/XlsxWriter/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
 
   pname = "XlsxWriter";
-  version = "1.2.1";
+  version = "1.2.6";
 
   # PyPI release tarball doesn't contain tests so let's use GitHub. See:
   # https://github.com/jmcnamara/XlsxWriter/issues/327
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "jmcnamara";
     repo = pname;
     rev = "RELEASE_${version}";
-    sha256 = "0br8ib9n17dfprfly93mjkhdhpndb7i4g57lwscvp2s69ssql32s";
+    sha256 = "05y1py5mn1m65bbwhinzv84jd3xj8snvf2795flw0xbxnkn8nd8p";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/acoustics/default.nix b/pkgs/development/python-modules/acoustics/default.nix
index 94ec1557a26..85ce02be1c3 100644
--- a/pkgs/development/python-modules/acoustics/default.nix
+++ b/pkgs/development/python-modules/acoustics/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "acoustics";
-  version = "0.2.2";
+  version = "0.2.3";
 
   checkInputs = [ pytest ];
   propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00981908c7cf54be58c0bfe902d7743225554ecf3432b30723e9300d9f3a0b0e";
+    sha256 = "ca663059d61fbd2899aed4e3cedbc3f983aa67afd3ae1617db3c59b724206fb3";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix
index 051ae50e3a5..d64bd672ca0 100644
--- a/pkgs/development/python-modules/aenum/default.nix
+++ b/pkgs/development/python-modules/aenum/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "2.2.1";
+  version = "2.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b12a7be3d89b270f266f8643aaa126404e5cdc0929bd6f09548b8eaed85e2aa1";
+    sha256 = "a4334cabf47c167d44ab5a6198837b80deec5d5bad1b5cf70c966c3a330260e8";
   };
 
   # For Python 3, locale has to be set to en_US.UTF-8 for
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index ff88d86fa29..5be6f9d86fd 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "2.4.0";
+  version = "2.4.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bef494dd39a12e2e76cf4ea772a2746f1669ee243f03ad3579085ca9605beccb";
+    sha256 = "e43e0fd628506f95752e90ab1579e5495183cc3c46915d0b0a062975cb5d181b";
   };
 
   propagatedBuildInputs = [ attrs protobuf zeroconf ];
diff --git a/pkgs/development/python-modules/aiorpcx/default.nix b/pkgs/development/python-modules/aiorpcx/default.nix
index 6350e3f0441..eba64f46559 100644
--- a/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/pkgs/development/python-modules/aiorpcx/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aiorpcx";
-  version = "0.18.3";
+  version = "0.18.4";
 
   src = fetchPypi {
     inherit version;
     pname = "aiorpcX";
-    sha256 = "0k545hc7wl6sh1svydzbv6x7sx5pig2pqkl3yxs9riwmvzawx9xp";
+    sha256 = "0jpvrkan6w8bpq017m8si7r9hb1pyw3ip4vr1fl2pmi8ngzc1jdy";
   };
 
   propagatedBuildInputs = [ attrs ];
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index fee714ed218..62f95c3cefc 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "1.4.2";
+  version = "1.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9db56a69ad5d43fe7656ad8efb4083cb1800ea400f7828af6b20f44c0882404f";
+    sha256 = "e6ccb7ccf9bab9c49a391db37e0d399ba0e73f969801ae35ff74020bfd4fc346";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/ansiwrap/default.nix b/pkgs/development/python-modules/ansiwrap/default.nix
new file mode 100644
index 00000000000..517083a0621
--- /dev/null
+++ b/pkgs/development/python-modules/ansiwrap/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tox
+, pytest
+, ansicolors
+, coverage
+, pytestcov
+, textwrap3
+}:
+
+buildPythonPackage rec {
+  pname = "ansiwrap";
+  version = "0.8.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "ca0c740734cde59bf919f8ff2c386f74f9a369818cdc60efe94893d01ea8d9b7";
+  };
+
+  checkInputs = [
+    tox
+    pytest
+    ansicolors
+    coverage
+    pytestcov
+  ];
+
+  propagatedBuildInputs = [
+    textwrap3
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Textwrap, but savvy to ANSI colors and styles";
+    homepage = https://github.com/jonathaneunice/ansiwrap;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index 9169b0d9ec3..48e3b20c7c1 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.29.0-r1";
+  version = "3.30.1-r1";
 
   disabled = isPyPy;
 
@@ -11,19 +11,11 @@ buildPythonPackage rec {
     owner = "rogerbinns";
     repo = "apsw";
     rev = version;
-    sha256 = "1p3sgmk9qwd0a634lirva44qgpyq0a74r9d70wxb6hsa52yjj9xb";
+    sha256 = "1zp38gj44bmzfxxpvgd7nixkp8vs2fpl839ag8vrh9z70dax22f0";
   };
 
   buildInputs = [ sqlite ];
 
-  patches = [
-    # Fixes a test failure with sqlite 3.30, see https://github.com/rogerbinns/apsw/issues/275
-    (fetchpatch {
-      url = "https://github.com/rogerbinns/apsw/commit/13df0b57bff59542978abf7c0a440c9274e3aac3.diff";
-      sha256 = "1wi1mfis2mr21389wdnvq44phg0bpm5vpwmxhvrj211vwfm0q7dv";
-    })
-  ];
-
   meta = with stdenv.lib; {
     description = "A Python wrapper for the SQLite embedded relational database engine";
     homepage = https://github.com/rogerbinns/apsw;
diff --git a/pkgs/development/python-modules/argcomplete/default.nix b/pkgs/development/python-modules/argcomplete/default.nix
index efc4c824a39..1c0efb4da3b 100644
--- a/pkgs/development/python-modules/argcomplete/default.nix
+++ b/pkgs/development/python-modules/argcomplete/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "argcomplete";
-  version = "1.10.0";
+  version = "1.10.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hdysr9z28sgwv47mivf4iyr1sg19hgfz349dghgdlk3rkl6v0s5";
+    sha256 = "ec88b5ccefe2d47d8f14916a006431d0afb756751ee5c46f28654a7d8a69be53";
   };
 
   doCheck = false; # bash-completion test fails with "compgen: command not found".
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index bf3dcb869f9..af3e4547628 100644
--- a/pkgs/development/python-modules/arrow/default.nix
+++ b/pkgs/development/python-modules/arrow/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "arrow";
-  version = "0.15.2";
+  version = "0.15.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10257c5daba1a88db34afa284823382f4963feca7733b9107956bed041aff24f";
+    sha256 = "e1a318a4c0b787833ae46302c02488b6eeef413c6a13324b3261ad320f21ec1e";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index 1899559b2a9..5d24a05aa54 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.3.2";
+  version = "2.3.3";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09a3fba616519311f1af8a461f804b68f0370e100c9264a035aa7846d7852e33";
+    sha256 = "71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a";
   };
 
   # From astroid/__pkginfo__.py
diff --git a/pkgs/development/python-modules/astropy-helpers/default.nix b/pkgs/development/python-modules/astropy-helpers/default.nix
index b5a7f014eec..fac97d2d368 100644
--- a/pkgs/development/python-modules/astropy-helpers/default.nix
+++ b/pkgs/development/python-modules/astropy-helpers/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "astropy-helpers";
-  version = "3.2.1";
+  version = "3.2.2";
 
   disabled = !isPy3k;
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1klxyfvl9hbhy37n1z3mb0vm5pmd7hbsnzhjkvigz3647hmfzva6";
+    sha256 = "cf32cb008b19597a1fe1a4d97f59734f30cd513aa3369a321e7b5b86cdb623fb";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index dea22cccb06..fce2ecd392a 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "astropy";
-  version = "3.2.2";
+  version = "3.2.3";
 
   disabled = !isPy3k; # according to setup.py
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8553f4a95e9938a0c7ae520633f7172356824b8eb324dd967fca6baf00ac19bf";
+    sha256 = "47f00816c2978fdd10f448c8f0337d6dca7b8cbeaab4bf272b5fd37cb4b890d3";
   };
 
   nativeBuildInputs = [ astropy-helpers ];
diff --git a/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch b/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch
deleted file mode 100644
index 0b1c7973b59..00000000000
--- a/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ruN astroquery-0.3.9.orig/astroquery/conftest.py astroquery-0.3.9/astroquery/conftest.py
---- astroquery-0.3.9.orig/astroquery/conftest.py	2018-11-27 14:51:16.000000000 +0100
-+++ astroquery-0.3.9/astroquery/conftest.py	2019-07-23 18:19:17.000000000 +0200
-@@ -5,15 +5,20 @@
- # by importing them here in conftest.py they are discoverable by py.test
- # no matter how it is invoked within the source tree.
- 
--from astropy.tests.pytest_plugins import (PYTEST_HEADER_MODULES,
--                                          enable_deprecations_as_exceptions,
--                                          TESTED_VERSIONS)
-+from astropy.version import version as astropy_version
- 
--try:
--    packagename = os.path.basename(os.path.dirname(__file__))
--    TESTED_VERSIONS[packagename] = version.version
--except NameError:
--    pass
-+if astropy_version < '3.0':
-+    # With older versions of Astropy, we actually need to import the pytest
-+    # plugins themselves in order to make them discoverable by pytest.
-+    from astropy.tests.pytest_plugins import *
-+else:
-+    # As of Astropy 3.0, the pytest plugins provided by Astropy are
-+    # automatically made available when Astropy is installed. This means it's
-+    # not necessary to import them here, but we still need to import global
-+    # variables that are used for configuration.
-+    from astropy.tests.plugins.display import PYTEST_HEADER_MODULES, TESTED_VERSIONS
-+
-+from astropy.tests.helper import enable_deprecations_as_exceptions
- 
- # Add astropy to test header information and remove unused packages.
- # Pytest header customisation was introduced in astropy 1.0.
-@@ -36,12 +41,17 @@
-     # The warnings_to_ignore_by_pyver parameter was added in astropy 2.0
-     enable_deprecations_as_exceptions(modules_to_ignore_on_import=['requests'])
- 
-+# add '_testrun' to the version name so that the user-agent indicates that
-+# it's being run in a test
-+from . import version
-+version.version += '_testrun'
-+
-+
- # This is to figure out the affiliated package version, rather than
- # using Astropy's
--try:
--    from .version import version
--except ImportError:
--    version = 'dev'
-+from .version import version, astropy_helpers_version
-+
- 
- packagename = os.path.basename(os.path.dirname(__file__))
- TESTED_VERSIONS[packagename] = version
-+TESTED_VERSIONS['astropy_helpers'] = astropy_helpers_version
diff --git a/pkgs/development/python-modules/astroquery/default.nix b/pkgs/development/python-modules/astroquery/default.nix
index e1f36ffa8cf..461d8801e60 100644
--- a/pkgs/development/python-modules/astroquery/default.nix
+++ b/pkgs/development/python-modules/astroquery/default.nix
@@ -20,10 +20,6 @@ buildPythonPackage rec {
     sha256 = "1ce57a8792c7d5d74206d797d379de6da35d56be433ea5840c41a49f202e2fab";
   };
 
-  # Fix tests using conftest.py from HEAD in the upstream GitHub
-  # repository.
-  patches = [ ./conftest-astropy-3-fix.patch ];
-
   propagatedBuildInputs = [ astropy requests keyring beautifulsoup4 html5lib ];
 
   nativeBuildInputs = [ astropy-helpers ];
diff --git a/pkgs/development/python-modules/asyncpg/default.nix b/pkgs/development/python-modules/asyncpg/default.nix
index 8bcfb2d84a2..2a47f13fe4b 100644
--- a/pkgs/development/python-modules/asyncpg/default.nix
+++ b/pkgs/development/python-modules/asyncpg/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "asyncpg";
-  version = "0.19.0";
+  version = "0.20.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0sp3m6sgw83rhvg87y78lhk4xxx58ffzyf9rsq5f1a7b8azbnlxj";
+    sha256 = "0yjszgg1zbbsfxj1gv17ymc2hcfvymkvg69dvpvwy0dqspjxq0ma";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/atomman/default.nix b/pkgs/development/python-modules/atomman/default.nix
index ef69ee91d38..d873700f32a 100644
--- a/pkgs/development/python-modules/atomman/default.nix
+++ b/pkgs/development/python-modules/atomman/default.nix
@@ -1,34 +1,33 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, xmltodict
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy27
+, cython
 , datamodeldict
-, numpy
 , matplotlib
-, scipy
-, pandas
-, cython
 , numericalunits
+, numpy
+, pandas
 , pytest
+, scipy
+, toolz
+, xmltodict
 }:
 
 buildPythonPackage rec {
-  version = "1.2.8";
+  version = "1.3.0";
   pname = "atomman";
+  disabled = isPy27;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ed099fdceca2d733e81afb08d777e8e852a6e53660d6d268f3739b8d323ced9";
+  src = fetchFromGitHub {
+    owner = "usnistgov";
+    repo  = "atomman";
+    rev = "v${version}";
+    sha256 = "09pfykd96wmw00s3kgabghykjn8b4yjml4ybpi7kwy7ygdmzcx51";
   };
 
   checkInputs = [ pytest ];
-  propagatedBuildInputs = [ xmltodict datamodeldict numpy matplotlib scipy pandas cython numericalunits ];
-
-  # tests not included with Pypi release
-  doCheck = false;
+  propagatedBuildInputs = [ xmltodict datamodeldict numpy matplotlib scipy pandas cython numericalunits toolz ];
 
   checkPhase = ''
-    py.test tests
+    py.test tests -k 'not test_atomic'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index 16ebf496158..5757b7fb15c 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "0.12.14";
+  version = "0.12.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a76b0b76e4e843bfffc26771f6e1848be6f1c225e79f541c12215ae90503e489";
+    sha256 = "df5380b96dc9c1b129e68057578e4a2d42d9b73a0ae97ff263a9072baf8f7a5e";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index 5124077b118..428ac495941 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da20c682993d87d41534ffc2be0819d924aaf230b27abbc5d1fa8ad62410bf39";
+    sha256 = "20b2ad44d19aa494fa11cb2d1290359b3a7a0c6c8908179b4af0c9367d83e370";
   };
 
   # Relax version constraint
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 1e49edab25f..d9c90cfa049 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "0.4.0";
+  version = "0.6.0";
 
   # No tests available in PyPI tarball
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "v${version}";
-    sha256 = "1z2l9qm6mxp90zl64i9j2cmlzn8n7sc8yfpqh14fi9ay887ayjs1";
+    sha256 = "0bvph58wrw9in5irdbv103knvw2dhqs3kapqv5lpaac9dn7lsk6q";
   };
 
   # Package is not compatible with Python 3.5
diff --git a/pkgs/development/python-modules/aws-sam-translator/default.nix b/pkgs/development/python-modules/aws-sam-translator/default.nix
index b43ec658f5e..298ce22daa6 100644
--- a/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.15.1";
+  version = "1.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11c62c00f37b57c39a55d7a29d93f4704a88549c29a6448ebc953147173fbe85";
+    sha256 = "0xvfbhiqdqy4qs4z8v2p7z3l01w5af948bmf400s5jsq2hnxl6nv";
   };
 
   # Tests are not included in the PyPI package
diff --git a/pkgs/development/python-modules/azure-cosmosdb-table/default.nix b/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
index 31a7d81dcab..c11ffae1e3d 100644
--- a/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
+++ b/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "azure-cosmosdb-table";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a34c2c792036afc2a3811f4440ab967351e9ceee6542cc96453b63c678c0145";
+    sha256 = "5f061d2ab8dcf2f0b4e965d5976e7b7aeb1247ea896911f0e1d29092aaaa29c7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-datalake-store/default.nix b/pkgs/development/python-modules/azure-datalake-store/default.nix
index 0b7d0c9c775..5c45b843c76 100644
--- a/pkgs/development/python-modules/azure-datalake-store/default.nix
+++ b/pkgs/development/python-modules/azure-datalake-store/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "azure-datalake-store";
-  version = "0.0.47";
+  version = "0.0.48";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19fkkabr76r851r95kh5dpk4bdn3jkysv3aij6i2x99mkb4vxg2m";
+    sha256 = "d27c335783d4add00b3a5f709341e4a8009857440209e15a739a9a96b52386f7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-loganalytics/default.nix b/pkgs/development/python-modules/azure-loganalytics/default.nix
index ab512480f0c..4bfda9a9342 100644
--- a/pkgs/development/python-modules/azure-loganalytics/default.nix
+++ b/pkgs/development/python-modules/azure-loganalytics/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , azure-common
 }:
@@ -20,6 +22,10 @@ buildPythonPackage rec {
     azure-common
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm -rf $out/${python.sitePackages}/azure/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -27,6 +33,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure Log Analytics Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ mwilsoninsight jonringer ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
index 271fb2e6aef..1cacd988157 100644
--- a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.1.0";
+  version = "0.3.0";
   pname = "azure-mgmt-appconfiguration";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0z2f0rbv7drdxihny479bv80bnhgvx8gb2pr0jvbaslll6d6rxig";
+    sha256 = "1igl3ikdwcz7d2zcja5nm2qjysjh53vgwzcc96lylypmq6z4aq1s";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index c13676dc672..afe57ee6204 100644
--- a/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "9.0.0";
+  version = "10.0.0";
   pname = "azure-mgmt-compute";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "06795ccb7377eaa3864819a1c63b9bfe9957a58814c65025aef89e9cd81190fc";
+    sha256 = "1s3bx6knxw5dxycp43yimvgrh0i19drzd09asglcwz2x5mr3bpyg";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
index 33617383a1d..aef56be79c0 100644
--- a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cosmosdb";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0iakxb2rr1w9171802m9syjzqas02vjah711mpagbgcj549mjysb";
+    sha256 = "0y28z30g7y2pj7rfxyxmqpr19z24d01g9qhafvjxry748im1961h";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
index bb6e06aa68b..f5b04c36b0d 100644
--- a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.2.1";
+  version = "0.3.0";
   pname = "azure-mgmt-imagebuilder";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0mwlvy4x5nr3hsz7wdpdhpzwarzzwz4225bfpd68hr0pcjgzspky";
+    sha256 = "0r4sxr3pbcci5qif1ip1lrix3cryj0b3asqch3zds4q705jiakc4";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
index fe84fc01dec..53aeff46c58 100644
--- a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.4.0";
+  version = "0.5.0";
   pname = "azure-mgmt-kusto";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1sx8f98206wccj0mbmb75c4wyhf57g3pnkhl9wn70lqzi9n4mk0b";
+    sha256 = "0r6j3yp7ys0zgszqdjm6y90nigsapni4xhfpfgyk5c5qbgdpl93w";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
index 23e6bcf8cb4..252760950e5 100644
--- a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
@@ -28,8 +28,8 @@ buildPythonPackage rec {
   ];
 
   postInstall = lib.optionalString isPy3k ''
-    rm $out/${python.sitePackages}/azure/__init__.py
-    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+    rm -rf $out/${python.sitePackages}/azure/__init__.py
+    rm -rf $out/${python.sitePackages}/azure/mgmt/__init__.py
   '';
 
   # has no tests
diff --git a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
index 79a3a19778d..8e18986bfcb 100644
--- a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.6.0";
+  version = "0.7.0";
   pname = "azure-mgmt-netapp";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10ymvyj386z9bjdm2g1b5a4vfnn87ig2zm6xn2xddvbpy0jxnyfv";
+    sha256 = "0cf4pknb5y2yz4jqwg7xm626zkfx8i8hqcr3dkvq21lrx7fz96r3";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix
index 236eb0cd8ce..4663b9fa035 100644
--- a/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "7.0.0";
+  version = "8.0.0";
   pname = "azure-mgmt-network";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "32ce90691b96ecdaa974ecb4d35063377c8fd21fd05984164507b63113f3456b";
+    sha256 = "1prg4b1agda9bsn6zmvffkj22rr6jy784rdfp6154yifjr6z5jiv";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
index cc19e904863..5d13acb6ec8 100644
--- a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-reservations";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "06l362xiqhk8vvb1pch6ngfyv8m00ahr6ysdznd6qvxz8awazy10";
+    sha256 = "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 4c02be90a09..4f2481097e1 100644
--- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,13 +8,13 @@
 
 
 buildPythonPackage rec {
-  version = "5.1.0";
+  version = "6.0.0";
   pname = "azure-mgmt-resource";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "88db03ea5b9db1dfbf3de8c7be111ed41b121a374645e3ddf3fbba47584c32b1";
+    sha256 = "08n6r6ja7p20qlhb9pp51nwwxz2mal19an98zry276i8z5x8ckp0";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-sql/default.nix b/pkgs/development/python-modules/azure-mgmt-sql/default.nix
index 5ad1e620ede..5a5a708a5dd 100644
--- a/pkgs/development/python-modules/azure-mgmt-sql/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-sql/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-sql";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "109w1kj45fvwc94bkhdkj3bdysrskfz8i6ph4qlpjk340zy81vvl";
+    sha256 = "0qv58xraznv2ldhd34cvznhz045x3ncfgam9c12gxyj4q0k3pyc9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
index 6704df2d21a..a34ebae2b81 100644
--- a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.4.0";
+  version = "0.5.0";
   pname = "azure-mgmt-sqlvirtualmachine";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jxmikjvyxkwr8c9kn6xw8gvj9pajlk7y8111rq8fgkivwjq8wcm";
+    sha256 = "1b9am8raa17hxnz7d5pk2ix0309wsnhnchq1mi22icd728sl5adm";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-web/default.nix b/pkgs/development/python-modules/azure-mgmt-web/default.nix
index 4a372139fdb..ea6c1502123 100644
--- a/pkgs/development/python-modules/azure-mgmt-web/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-web/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-web";
-  version = "0.43.1";
+  version = "0.44.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "e3ab5acc9f13746e1f4ce19ccbacc4522527dd1f75eff2826cd882b7ba54806a";
+    sha256 = "05dqakhfi301k2jnvccxdkigqvwnf9xz858pqg9vsri3dq69f1rw";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/babelgladeextractor/default.nix b/pkgs/development/python-modules/babelgladeextractor/default.nix
index 40c2493c151..997682ca865 100644
--- a/pkgs/development/python-modules/babelgladeextractor/default.nix
+++ b/pkgs/development/python-modules/babelgladeextractor/default.nix
@@ -3,23 +3,21 @@
 , buildPythonPackage
 , fetchPypi
 , Babel
-, lxml
 }:
 
 buildPythonPackage rec {
   pname = "babelgladeextractor";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchPypi {
     pname = "BabelGladeExtractor";
     inherit version;
     extension = "tar.bz2";
-    sha256 = "18m5vi3sj2h26ibmb6fzfjs2lscg757ivk1bjgkn1haf9gdwyjj6";
+    sha256 = "1jhs12pliz54dbnigib1h8ywfzsj1g32c1vhspvg46f5983nvf93";
   };
 
   propagatedBuildInputs = [
     Babel
-    lxml # TODO: remove in 0.7.0
   ];
 
   # Tests missing
diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix
index 7ad3489553c..6d0364676f9 100644
--- a/pkgs/development/python-modules/behave/default.nix
+++ b/pkgs/development/python-modules/behave/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchPypi, fetchpatch
 , buildPythonApplication, python, pythonOlder
-, mock, nose, pathpy, pyhamcrest, pytest
+, mock, nose, pathpy, pyhamcrest, pytest_4
 , glibcLocales, parse, parse-type, six
 , traceback2
 }:
+
 buildPythonApplication rec {
   pname = "behave";
   version = "1.2.6";
@@ -21,7 +22,7 @@ buildPythonApplication rec {
     })
   ];
 
-  checkInputs = [ mock nose pathpy pyhamcrest pytest ];
+  checkInputs = [ mock nose pathpy pyhamcrest pytest_4 ];
   buildInputs = [ glibcLocales ];
   propagatedBuildInputs = [ parse parse-type six ] ++ stdenv.lib.optional (pythonOlder "3.0") traceback2;
 
diff --git a/pkgs/development/python-modules/biopython/default.nix b/pkgs/development/python-modules/biopython/default.nix
index e60d4c60aea..a35c2d07394 100644
--- a/pkgs/development/python-modules/biopython/default.nix
+++ b/pkgs/development/python-modules/biopython/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "biopython";
-  version = "1.74";
+  version = "1.75";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h4hcpx1vqrcddpcznyxy14zzvy2yanlkz0117w5n869w8djq595";
+    sha256 = "01lrm353si63anhhynf6hqbd3f753c2k8dkk953j3g6257py8q2h";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index 78372598096..3c84366c9d1 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi }:
 
 buildPythonPackage rec {
-  version = "1.0.1";
+  version = "1.1.0";
   pname = "bitarray";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3eb500f8b9cde19e14472fcbee0195dbf0fbac006f8406a03f0cfb495dff20a0";
+    sha256 = "0nv1283qcfilhnb4q6znlijply6lfxwpvp10cr0v33l0qwa86mwz";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/blist/default.nix b/pkgs/development/python-modules/blist/default.nix
index d6d55accaca..90a4b99cda3 100644
--- a/pkgs/development/python-modules/blist/default.nix
+++ b/pkgs/development/python-modules/blist/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , isPyPy
 }:
@@ -14,6 +15,15 @@ buildPythonPackage rec {
     sha256 = "1hqz9pqbwx0czvq9bjdqjqh5bwfksva1is0anfazig81n18c84is";
   };
 
+
+  patches = [
+    # Fix compatibility for Python 3.7 https://github.com/DanielStutzbach/blist/pull/78
+    (fetchpatch {
+      url = "https://github.com/DanielStutzbach/blist/commit/2dc1ec28ed68611fcec9ac1c68070c782d6b4b4e.patch";
+      sha256 = "0ma0z6ga80w3wzh3sidwd8ckfbgx4j1y7cc29q6j9ddrvxpf276y";
+    })
+  ];
+
   meta = with stdenv.lib; {
     homepage = http://stutzbachenterprises.com/blist/;
     description = "A list-like type with better asymptotic performance and similar performance on small lists";
diff --git a/pkgs/development/python-modules/boltons/default.nix b/pkgs/development/python-modules/boltons/default.nix
index b5aa9e6cf03..8b7139f5a62 100644
--- a/pkgs/development/python-modules/boltons/default.nix
+++ b/pkgs/development/python-modules/boltons/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "boltons";
-  version = "19.1.0";
+  version = "19.3.0";
 
   # No tests in PyPi Tarball
   src = fetchFromGitHub {
     owner = "mahmoud";
     repo = "boltons";
     rev = version;
-    sha256 = "0b55wly0ksviyl3a4dmih9vzd7bj3p10gr6la4722cs9cx4128q5";
+    sha256 = "0pgqr2hf7lxag8nc8wnh8hpp8fd2lxccq9h0bb8lb9x8npnzhnbn";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/btrees/default.nix b/pkgs/development/python-modules/btrees/default.nix
index 828e243af9c..4b17b5046aa 100644
--- a/pkgs/development/python-modules/btrees/default.nix
+++ b/pkgs/development/python-modules/btrees/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "BTrees";
-  version = "4.6.0";
+  version = "4.6.1";
 
   buildInputs = [ transaction ];
   propagatedBuildInputs = [ persistent zope_interface ];
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bmkpg6z5z47p21340nyrfbdv2jkfp80yv085ndgbwaas1zi7ac9";
+    sha256 = "b3a0e1d073800bf7bcca6cbb97a6b3c9ec485a4ba3ee0b354da1ed076cfb9f30";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 8fc7b62a63c..7385a329551 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -25,11 +25,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "2.5.0";
+    version = "2.5.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "06dza7kggybz8nf3i1skkadwrq9s0nkpqjfahifysaag3j3b5rp4";
+      sha256 = "13ddpcbndb22zlg9gjsf2pbgad45g1w5cg4a3z83085fkgnib7sr";
     };
 
     propagatedBuildInputs = [
@@ -74,13 +74,6 @@ let
       # This patch disables the test that tries to read /etc/os-release which
       # is not accessible in sandboxed builds.
       ./skip_test_linux_distro.patch
-      # Work around https://github.com/glyph/automat/issues/117
-      (fetchpatch {
-        url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/buildbot-automat-117.diff?h=packages/buildbot&id=7904292340f98578adfe783a09e9eb4c5b1d4632";
-        name = "buildbot-automat-117.diff";
-        stripLen = 1;
-        sha256 = "0rng6f8nvghkihajz9m925rdp9q3c395bj4wc7r2s1minv613hba";
-      })
     ];
 
     postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index 1a75d6a634f..ff2be45bf32 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "buildbot-pkg";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1my9a791y6hsazzqs3f3svl6zw28x3qwj0a0vxffybqdij650nvw";
+    sha256 = "1g87pddsyas1r0f6z29047cwnz7ds4925f6n9g7b0pkj3k73ci06";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index 7ee8ddfb61a..8722a6629e4 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -7,7 +7,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0awy96pb9s9g0nrmlrvqf5zi878z6mvj653inf9sm89x601a6lp1";
+      sha256 = "00k5dbcwzqlyk4lcp5qh1q8xbrxmg9gzqs7vl2r6f3wxi4ydb5nw";
     };
 
     # Remove unneccessary circular dependency on buildbot
@@ -36,7 +36,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0bp7bbq6rq1kdg3pf8plcpc4amam0pks5dlmyqj6bn29skfa5h1j";
+      sha256 = "0ai334y779jwqabrn2yjma41pw0a9k1qy7v68qbjd22n4my227ma";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -58,7 +58,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1mxxkqzh4a6574n2lk2ndi77d9g93hjpkwsqizj911n6ibsn4qw3";
+      sha256 = "1j450hwvg729mivzijbrx8ngalx56qvrx8mwwgy8arfwpnyfkr9l";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -80,7 +80,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1fkrd5crbgqgp8mr8qgfy559f59ys6hrspddzk3fwg5hrsckkjwr";
+      sha256 = "19w8is5s7d7l60mlchh1zd9nidpkswi8fivfa36b97plibn0jgw1";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -102,7 +102,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0cvbizcc92df08xcs8w6ah51yfilxz7sx9g8bbdrvw6m586ziczb";
+      sha256 = "1zl7y08rkw7bya6cli44msvcdgirsyfg3kxpf2z82vwgc6bwi785";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 19ce3bf0ad6..048fb44a93b 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage (rec {
   pname = "buildbot-worker";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05c8q6ykharry4lv47imh6agq55fxar8a9ldwx46clb480qwyc43";
+    sha256 = "1kpj85x8xflrccvy840v9bl3q1j63rk9kahj1qirbai1fxwvzbik";
   };
 
   propagatedBuildInputs = [ twisted future ];
diff --git a/pkgs/development/python-modules/cadquery/default.nix b/pkgs/development/python-modules/cadquery/default.nix
new file mode 100644
index 00000000000..6f3632f743b
--- /dev/null
+++ b/pkgs/development/python-modules/cadquery/default.nix
@@ -0,0 +1,93 @@
+{ lib
+  , buildPythonPackage
+  , isPy3k
+  , pythonOlder
+  , fetchFromGitHub
+  , pyparsing
+  , opencascade
+  , stdenv
+  , python
+  , cmake
+  , swig
+  , ninja
+  , smesh
+  , freetype
+  , libGL
+  , libGLU
+  , libX11
+  , six
+}:
+
+let 
+  pythonocc-core-cadquery = stdenv.mkDerivation {
+    pname = "pythonocc-core-cadquery";
+    version = "0.18.2";
+
+    src = fetchFromGitHub {
+      owner = "CadQuery";
+      repo = "pythonocc-core";
+      # no proper release to to use, this commit copied from the Anaconda receipe
+      rev = "701e924ae40701cbe6f9992bcbdc2ef22aa9b5ab";
+      sha256 = "07zmiiw74dyj4v0ar5vqkvk30wzcpjjzbi04nsdk5mnlzslmyi6c";
+    };
+
+    nativeBuildInputs = [ 
+      cmake
+      swig
+      ninja
+    ];
+
+    buildInputs = [
+      python
+      opencascade
+      smesh
+      freetype
+      libGL
+      libGLU
+      libX11
+    ];
+
+    propagatedBuildInputs = [
+      six
+    ];
+
+    cmakeFlags = [
+      "-Wno-dev"
+      "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC"
+      "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh"
+      "-DSMESH_LIB_PATH=${smesh}/lib"
+      "-DPYTHONOCC_WRAP_SMESH=TRUE"
+    ];
+  };
+
+in
+  buildPythonPackage rec {
+    pname = "cadquery";
+    version = "2.0RC0";
+  
+    src = fetchFromGitHub {
+      owner = "CadQuery";
+      repo = pname;
+      rev = version;
+      sha256 = "1xgd00rih0gjcnlrf9s6r5a7ypjkzgf2xij2b6436i76h89wmir3";
+    };
+  
+    buildInputs = [
+      opencascade
+    ];
+  
+    propagatedBuildInputs = [
+      pyparsing
+      pythonocc-core-cadquery
+    ];
+  
+    # Build errors on 2.7 and >=3.8 (officially only supports 3.6 and 3.7).
+    disabled = !(isPy3k && (pythonOlder "3.8"));
+  
+    meta = with lib; {
+      description = "Parametric scripting language for creating and traversing CAD models";
+      homepage = "https://github.com/CadQuery/cadquery";
+      license = licenses.asl20;
+      maintainers = with maintainers; [ costrouc marcus7070 ];
+    };
+  }
diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix
index 3b49289c2e4..c471240c87a 100644
--- a/pkgs/development/python-modules/carbon/default.nix
+++ b/pkgs/development/python-modules/carbon/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "carbon";
-  version = "1.1.5";
+  version = "1.1.6";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a88390553a9ea628fdb74b5b358ed83a657e058bcc811e5819d9db856b4fcf5b";
+    sha256 = "9ecda1469e497e3fed346b23ac94fd576e1bd9962677ab88975f4f598186e851";
   };
 
   propagatedBuildInputs = [ twisted whisper txamqp cachetools urllib3 ];
diff --git a/pkgs/development/python-modules/cchardet/default.nix b/pkgs/development/python-modules/cchardet/default.nix
index 5596b3e37e5..1fb506682ba 100644
--- a/pkgs/development/python-modules/cchardet/default.nix
+++ b/pkgs/development/python-modules/cchardet/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "cchardet";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h3wajwwgqpyb1q44lzr8djbcwr4y8cphph7kyscz90d83h4b5yc";
+    sha256 = "240efe3f255f916769458343840b9c6403cf3192720bc5129792cbcb88bf72fb";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index 6d805161641..15d15c23a8d 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -2,11 +2,11 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.13.1";
+  version = "1.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "558b3afef987cf4b17abd849e7bedf64ee12b28175d564d05b628a0f9355599b";
+    sha256 = "599a1e8ff057ac530c9ad1778293c665cb81a791421f46922d80a86473c13346";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/cfn-lint/default.nix b/pkgs/development/python-modules/cfn-lint/default.nix
index 5dc84e07eb0..eeccaedf5f6 100644
--- a/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/pkgs/development/python-modules/cfn-lint/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.24.5";
+  version = "0.24.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1268c9730ba869f0f630eaf5bac34795553a97385d38eb91b9f7f5c3f73c8982";
+    sha256 = "5aa1540ee9a7efc23ebe54a22f1a505766a4bb44f64a0f4fe79574a156a9b43e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/chainer/default.nix b/pkgs/development/python-modules/chainer/default.nix
index 52ba0346159..9585004a89a 100644
--- a/pkgs/development/python-modules/chainer/default.nix
+++ b/pkgs/development/python-modules/chainer/default.nix
@@ -1,18 +1,26 @@
-{ stdenv, lib
-, buildPythonPackage, fetchPypi, isPy3k
-, filelock, protobuf, numpy, pytest, mock
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, filelock, protobuf, numpy, pytest, mock, typing-extensions
 , cupy, cudaSupport ? false
 }:
 
 buildPythonPackage rec {
   pname = "chainer";
-  version = "6.4.0";
+  version = "6.5.0";
+  disabled = !isPy3k; # python2.7 abandoned upstream
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "dacbcaa361cebdfbf6f212d138570333611b8f5de553093b1752c578b022a774";
+  # no tests in Pypi tarball
+  src = fetchFromGitHub {
+    owner = "chainer";
+    repo = "chainer";
+    rev = "v${version}";
+    sha256 = "0ha9fbl6sa3fbnsz3y1pg335iiskdbxw838m5j06zgzy156zna1x";
   };
 
+  # remove on 7.0 or 6.6 release
+  postPatch = ''
+    sed -i '/typing/d' setup.py
+  '';
+
   checkInputs = [
     pytest
     mock
@@ -22,12 +30,15 @@ buildPythonPackage rec {
     filelock
     protobuf
     numpy
+    typing-extensions
   ] ++ lib.optionals cudaSupport [ cupy ];
 
-  # In python3, test was failed...
-  doCheck = !isPy3k;
+  # avoid gpu tests
+  checkPhase = ''
+    pytest tests/chainer_tests/utils_tests -k 'not gpu and not cupy'
+  '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A flexible framework of neural networks for deep learning";
     homepage = https://chainer.org/;
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index 2f86abd728f..971d8848b37 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchPypi, buildPythonPackage, pythonAtLeast
+{ stdenv, fetchPypi, buildPythonPackage, pythonAtLeast, isPy3k
 , more-itertools, six, setuptools_scm, setuptools-scm-git-archive
 , pytest, pytestcov, portend, pytest-testmon, pytest-mock
 , backports_unittest-mock, pyopenssl, requests, trustme, requests-unixsocket
@@ -10,6 +10,8 @@ buildPythonPackage rec {
   pname = "cheroot";
   version = "8.2.1";
 
+  disabled = !isPy3k;
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "5b525b3e4a755adf78070ab54c1821fb860d4255a9317dba2b88eb2df2441cff";
diff --git a/pkgs/development/python-modules/cleo/default.nix b/pkgs/development/python-modules/cleo/default.nix
index 146779082e4..13a91837a6c 100644
--- a/pkgs/development/python-modules/cleo/default.nix
+++ b/pkgs/development/python-modules/cleo/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "cleo";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0d0sxca308ilp73jdny4frn93asr4ih87xxl1d9rxf8m12xssa3c";
+    sha256 = "99cf342406f3499cec43270fcfaf93c126c5164092eca201dfef0f623360b409";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/click-default-group/default.nix b/pkgs/development/python-modules/click-default-group/default.nix
index eeee7370b7e..6bc092dcd4e 100644
--- a/pkgs/development/python-modules/click-default-group/default.nix
+++ b/pkgs/development/python-modules/click-default-group/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "click-default-group";
-  version = "1.2.1";
+  version = "1.2.2";
 
   # No tests in Pypi tarball
   src = fetchFromGitHub {
     owner = "click-contrib";
     repo = "click-default-group";
     rev = "v${version}";
-    sha256 = "1wdmabfpmzxpiww0slinvxm9xjyxql250dn1pvjijq675pxafiz4";
+    sha256 = "0nk39lmkn208w8kvq6f4h3a6qzxrrvxixahpips6ik3zflbkss86";
   };
 
   propagatedBuildInputs = [ click ];
diff --git a/pkgs/development/python-modules/consonance/default.nix b/pkgs/development/python-modules/consonance/default.nix
new file mode 100644
index 00000000000..3940686f18c
--- /dev/null
+++ b/pkgs/development/python-modules/consonance/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage, lib, fetchFromGitHub, pytest, dissononce, python-axolotl-curve25519
+, transitions, protobuf, nose
+}:
+
+buildPythonPackage rec {
+  pname = "consonance";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "tgalal";
+    repo = "consonance";
+    rev = version;
+    sha256 = "1ifs0fq6i41rdna1kszv5sf87qbqx1mn98ffyx4xhw4i9r2grrjv";
+  };
+
+  checkInputs = [ nose ];
+  checkPhase = ''
+    # skipping online test as it requires network with uplink
+    nosetests tests/test_handshakes_offline.py
+  '';
+
+  propagatedBuildInputs = [ dissononce python-axolotl-curve25519 transitions protobuf ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/consonance/";
+    license = licenses.gpl3;
+    description = "WhatsApp's handshake implementation using Noise Protocol";
+  };
+}
diff --git a/pkgs/development/python-modules/cornice/default.nix b/pkgs/development/python-modules/cornice/default.nix
index d4210ade06e..4ac38986245 100644
--- a/pkgs/development/python-modules/cornice/default.nix
+++ b/pkgs/development/python-modules/cornice/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cornice";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4dab97fe52d7075ecc87b8cadf549ca2c2c628512741193fb81a0c0433b46715";
+    sha256 = "d3d608b9ff405e7ba5e9629ef0c09b7605997e1aea0dafb2aaa66761ff7cab08";
   };
 
   propagatedBuildInputs = [ pyramid simplejson six venusian ];
diff --git a/pkgs/development/python-modules/curio/default.nix b/pkgs/development/python-modules/curio/default.nix
index b60025a91b0..31dc8327fc4 100644
--- a/pkgs/development/python-modules/curio/default.nix
+++ b/pkgs/development/python-modules/curio/default.nix
@@ -19,6 +19,8 @@ buildPythonPackage rec {
 
   checkInputs = [ pytest sphinx ];
 
+  __darwinAllowLocalNetworking = true;
+
   # test_aside_basic times out,
   # test_aside_cancel fails because modifies PYTHONPATH and cant find pytest
   checkPhase = ''
diff --git a/pkgs/development/python-modules/dateutil/default.nix b/pkgs/development/python-modules/dateutil/default.nix
index 63366d93056..9c5f6145d8f 100644
--- a/pkgs/development/python-modules/dateutil/default.nix
+++ b/pkgs/development/python-modules/dateutil/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, six, setuptools_scm, pytest }:
 buildPythonPackage rec {
   pname = "python-dateutil";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e";
+    sha256 = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix
index b8c784023c2..f23d5929192 100644
--- a/pkgs/development/python-modules/decorator/default.nix
+++ b/pkgs/development/python-modules/decorator/default.nix
@@ -5,13 +5,17 @@
 
 buildPythonPackage rec {
   pname = "decorator";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1pi54wqj2p6ka13x7q8d5zgqg9bcf7m5d00l7x5bi204qmhn65c6";
+    sha256 = "54c38050039232e1db4ad7375cfce6748d7b41c29e95a081c8a6d2c30364a2ce";
   };
 
+  postPatch = ''
+    substituteInPlace src/tests/test.py --replace "DocumentationTestCase" "NoDocumentation"
+  '';
+
   meta = with lib; {
     homepage = https://pypi.python.org/pypi/decorator;
     description = "Better living through Python with decorators";
diff --git a/pkgs/development/python-modules/deprecated/default.nix b/pkgs/development/python-modules/deprecated/default.nix
index ee7c89d8167..2af9d020c95 100644
--- a/pkgs/development/python-modules/deprecated/default.nix
+++ b/pkgs/development/python-modules/deprecated/default.nix
@@ -3,18 +3,13 @@
 
 buildPythonPackage rec {
   pname = "Deprecated";
-  version = "1.2.6";
+  version = "1.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hcw9y7dvhwg5flk6wy8aa4kkgpvcqq3q4jd53h54586fp7w85d5";
+    sha256 = "408038ab5fdeca67554e8f6742d1521cd3cd0ee0ff9d47f29318a4f4da31c308";
   };
 
-  postPatch = ''
-    # odd broken tests, don't appear in GitHub repo
-    rm tests/demo_classic_usage*.py
-  '';
-
   propagatedBuildInputs = [ wrapt ];
   checkInputs = [ pytest ];
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/diff_cover/default.nix b/pkgs/development/python-modules/diff_cover/default.nix
index 86a124d2355..0d49f627821 100644
--- a/pkgs/development/python-modules/diff_cover/default.nix
+++ b/pkgs/development/python-modules/diff_cover/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "diff_cover";
-  version = "2.4.0";
+  version = "2.4.1";
 
   preCheck = ''
     export LC_ALL=en_US.UTF-8;
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a78babbec1c3088a6c3a5b62cddccaeac4717236ea4f5d28b6af00f2d9b2e341";
+    sha256 = "12h91rvbrf9qmdmj5nfqhcd3bpwq1pvk990bag4hyxcf86qlzds4";
   };
 
   propagatedBuildInputs = [ jinja2 jinja2_pluralize pygments six inflect ];
diff --git a/pkgs/development/python-modules/dissononce/default.nix b/pkgs/development/python-modules/dissononce/default.nix
new file mode 100644
index 00000000000..80655e6aa08
--- /dev/null
+++ b/pkgs/development/python-modules/dissononce/default.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage, fetchFromGitHub, lib, pytest, cryptography, transitions }:
+
+buildPythonPackage rec {
+  pname = "dissononce";
+  version = "0.34.3";
+
+  src = fetchFromGitHub {
+    owner = "tgalal";
+    repo = "dissononce";
+    rev = version;
+    sha256 = "0hn64qfr0d5npmza6rjyxwwp12k2z2y1ma40zpl104ghac6g3mbs";
+  };
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    HOME=$(mktemp -d) py.test tests/
+  '';
+
+  propagatedBuildInputs = [ cryptography transitions ];
+
+  meta = with lib; {
+    homepage = "https://pypi.org/project/dissononce/";
+    license = licenses.mit;
+    description = "A python implementation for Noise Protocol Framework";
+  };
+}
diff --git a/pkgs/development/python-modules/distlib/default.nix b/pkgs/development/python-modules/distlib/default.nix
index aea6bcd9504..81575058b15 100644
--- a/pkgs/development/python-modules/distlib/default.nix
+++ b/pkgs/development/python-modules/distlib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "distlib";
-  version = "0.2.9.post0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ecb3d0e4f71d0fa7f38db6bcc276c7c9a1c6638a516d726495934a553eb3fbe0";
+    sha256 = "08fyi2r246733vharl2yckw20rilci28r91mzrnnvcr638inw5if";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/django-dynamic-preferences/default.nix b/pkgs/development/python-modules/django-dynamic-preferences/default.nix
index 28ec9aae24f..cea5a7976bb 100644
--- a/pkgs/development/python-modules/django-dynamic-preferences/default.nix
+++ b/pkgs/development/python-modules/django-dynamic-preferences/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "django-dynamic-preferences";
-  version = "1.7.1";
+  version = "1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1z2dndkpypk4pvb0byh5a771vgp50vn8g1rbk5r3sml6dm4wcn7s";
+    sha256 = "1v7mf48gb2qmmks3ifnhkh0vfd7hpvx5v81ypc9cqy35n3ir0q4a";
   };
 
   propagatedBuildInputs = [ six django persisting-theory ]; 
diff --git a/pkgs/development/python-modules/django-multiselectfield/default.nix b/pkgs/development/python-modules/django-multiselectfield/default.nix
index b10424de396..acf49d74167 100644
--- a/pkgs/development/python-modules/django-multiselectfield/default.nix
+++ b/pkgs/development/python-modules/django-multiselectfield/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-multiselectfield";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54fa3886884cbc5d9c2f523e0e4af2cc3b976bd077718b2b443a5be44eb481ec";
+    sha256 = "ec305ca79b6e16fb6d699d3159258f9f680ead8ea5ef9b419e7faf13f31355df";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django-storages/default.nix b/pkgs/development/python-modules/django-storages/default.nix
index a82f9d3fb9b..5756d0ab5e6 100644
--- a/pkgs/development/python-modules/django-storages/default.nix
+++ b/pkgs/development/python-modules/django-storages/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "django-storages";
-  version = "1.7.2";
+  version = "1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01xq232h321716r08rari9payas7fsiwwr5q6zgcrlwkckwxxczk";
+    sha256 = "000abaayhymh4rxmk19hwhlyibc62rs0qdfczkhf4wb3p9san8lk";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django/2_1.nix b/pkgs/development/python-modules/django/2_1.nix
index f8598c1e819..d1ebc686bbd 100644
--- a/pkgs/development/python-modules/django/2_1.nix
+++ b/pkgs/development/python-modules/django/2_1.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.1.13";
+  version = "2.1.14";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a28a4eb0167eba491ccfafd7006843b5cdd26d8c93b955a74c2ea74f94efc2c";
+    sha256 = "d9159141fc354c4c28cc2b2586d55ba6d5e1531f5470218bb56a75be03d67398";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/pkgs/development/python-modules/django/2_2.nix b/pkgs/development/python-modules/django/2_2.nix
index eccf694425e..22204bf5ff0 100644
--- a/pkgs/development/python-modules/django/2_2.nix
+++ b/pkgs/development/python-modules/django/2_2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.6";
+  version = "2.2.8";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a8ca1033acac9f33995eb2209a6bf18a4681c3e5269a878e9a7e0b7384ed1ca3";
+    sha256 = "183wmqgkspb9vk1dc42h5s2h31gjpw68vv6ywbvpljvakiplzbd4";
   };
 
   patches = stdenv.lib.optional withGdal
diff --git a/pkgs/development/python-modules/dotnetcore2/default.nix b/pkgs/development/python-modules/dotnetcore2/default.nix
index c885466f5af..4d3edf0906a 100644
--- a/pkgs/development/python-modules/dotnetcore2/default.nix
+++ b/pkgs/development/python-modules/dotnetcore2/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "dotnetcore2";
-  version = "2.1.9";
+  version = "2.1.11";
   format = "wheel";
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     inherit pname version format;
     python = "py3";
     platform = "manylinux1_x86_64";
-    sha256 = "0h1igixk84md68z7gwj1vd6ki4d5drxh0ih5zww8xcr3qh5r0drb";
+    sha256 = "0qhp94bjz4icz2f0fnhgck875chiqzy4lvsp6lwhj5jd0zsv2bb3";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/python-modules/emcee/default.nix b/pkgs/development/python-modules/emcee/default.nix
index 8c720dec325..dd3d8d39425 100644
--- a/pkgs/development/python-modules/emcee/default.nix
+++ b/pkgs/development/python-modules/emcee/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "emcee";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01mx1w4a7j5p29a3r7ilh9la9n6gnlgwb46m439vrnfgvbvjjy9c";
+    sha256 = "035a44d7594fdd03efd10a522558cdfaa080e046ad75594d0bf2aec80ec35388";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix
index 5af13c488ba..8ac7b597a4c 100644
--- a/pkgs/development/python-modules/eyed3/default.nix
+++ b/pkgs/development/python-modules/eyed3/default.nix
@@ -13,13 +13,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.10";
+  version = "0.8.11";
   pname    = "eyeD3";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jb22n1jczxgbpcnfiw12r8dcs74556g1d09mzms44f52kgs7lgc";
+    sha256 = "0e4c9b9b42257deb9c38c112dbe44e1203dea686d454dc76adb72ded25ac878c";
   };
 
   # https://github.com/nicfit/eyeD3/pull/284
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 6de5c25c733..f9155187ca3 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -17,11 +17,11 @@ assert pythonOlder "3.3" -> ipaddress != null;
 
 buildPythonPackage rec {
   pname = "Faker";
-  version = "2.0.3";
+  version = "2.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19zdcdmc11syjbmnbq98yny3dwb5jqw8cxcbq9g2scwzc5f7b32y";
+    sha256 = "6327c665c0d8721280b3036d9c9e851c60092bc1f30c8394cc433f8723e2bda5";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix
index 08aa2fe7eb2..96019f61cac 100644
--- a/pkgs/development/python-modules/fido2/default.nix
+++ b/pkgs/development/python-modules/fido2/default.nix
@@ -1,15 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi
-, six, cryptography
-, mock, pyfakefs
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, cryptography
+, mock
+, pyfakefs
 }:
 
 buildPythonPackage rec {
   pname = "fido2";
-  version = "0.7.1";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10i61g8srx1dk0wfjj11s7ka5pv0661ivwg2r0y3y2nsnf5b90s4";
+    sha256 = "1hzprnd407g2xh9kyv8j8pq949hwr1snmg3fp65pqfbghzv6i424";
   };
 
   propagatedBuildInputs = [ six cryptography ];
@@ -18,7 +22,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Provides library functionality for FIDO 2.0, including communication with a device over USB.";
-    homepage = https://github.com/Yubico/python-fido2;
-    license = licenses.mpl20;
+    homepage = "https://github.com/Yubico/python-fido2";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ prusnak ];
   };
 }
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index 0a3e17abaca..2cd7ad4cf41 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Fiona";
-  version = "1.8.9.post2";
+  version = "1.8.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "210fb038b579fab38f35ddbdd31b9725f4d5099b3edfd4b87c983e5d47b79983";
+    sha256 = "1e7ca9e051f5bffa1c43c70d573da9ca223fc076b84fa73380614fc02b9eb7f6";
   };
 
   CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
diff --git a/pkgs/development/python-modules/flake8-debugger/default.nix b/pkgs/development/python-modules/flake8-debugger/default.nix
index 3a9647348ef..e6ac743396a 100644
--- a/pkgs/development/python-modules/flake8-debugger/default.nix
+++ b/pkgs/development/python-modules/flake8-debugger/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "flake8-debugger";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e662f7e75a3ed729d3be7c92e72bde385ab08ec26e7808bf3dfc63445c87857";
+    sha256 = "712d7c1ff69ddf3f0130e94cc88c2519e720760bce45e8c330bfdcb61ab4090d";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/flake8/default.nix b/pkgs/development/python-modules/flake8/default.nix
index a10fccfc911..e76b7cdf269 100644
--- a/pkgs/development/python-modules/flake8/default.nix
+++ b/pkgs/development/python-modules/flake8/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "flake8";
-  version = "3.7.8";
+  version = "3.7.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19241c1cbc971b9962473e4438a2ca19749a7dd002dd1a946eaba171b4114548";
+    sha256 = "45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb";
   };
 
   checkInputs = [ pytest mock pytestrunner ];
diff --git a/pkgs/development/python-modules/flask-httpauth/default.nix b/pkgs/development/python-modules/flask-httpauth/default.nix
new file mode 100644
index 00000000000..051b83d1c3d
--- /dev/null
+++ b/pkgs/development/python-modules/flask-httpauth/default.nix
@@ -0,0 +1,20 @@
+{ lib, buildPythonPackage, fetchPypi, flask }:
+
+buildPythonPackage rec {
+  pname = "Flask-HTTPAuth";
+  version = "3.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1fb1kr1iw6inkwfv160rpjx54vv1q9b90psdyyghyy1f6dhvgy3f";
+  };
+
+  propagatedBuildInputs = [ flask ];
+
+  meta = with lib; {
+    description = "Extension that provides HTTP authentication for Flask routes";
+    homepage = "https://github.com/miguelgrinberg/Flask-HTTPAuth";
+    license = licenses.mit;
+    maintainers = with maintainers; [ geistesk ];
+  };
+}
diff --git a/pkgs/development/python-modules/future/default.nix b/pkgs/development/python-modules/future/default.nix
index b74d4cddf6d..dad0372a8c1 100644
--- a/pkgs/development/python-modules/future/default.nix
+++ b/pkgs/development/python-modules/future/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "future";
-  version = "0.18.1";
+  version = "0.18.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "858e38522e8fd0d3ce8f0c1feaf0603358e366d5403209674c7b617fa0c24093";
+    sha256 = "b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/gcovr/default.nix b/pkgs/development/python-modules/gcovr/default.nix
index e6f45a2b4c6..278bd381ca6 100644
--- a/pkgs/development/python-modules/gcovr/default.nix
+++ b/pkgs/development/python-modules/gcovr/default.nix
@@ -2,19 +2,21 @@
 , buildPythonPackage
 , fetchPypi
 , jinja2
+, lxml
 }:
 
 buildPythonPackage rec {
   pname = "gcovr";
-  version = "4.1";
+  version = "4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ca94c337f2d9a70db177ec4330534fad7b2b772beda625c1ec071fbcf1361e22";
+    sha256 = "0gyady7x3v3l9fm1zan0idaggqqcm31y7g5vxk7h05p5h7f39bjs";
   };
 
   propagatedBuildInputs = [
     jinja2
+    lxml
   ];
 
   # There are no unit tests in the pypi tarball. Most of the unit tests on the
@@ -22,6 +24,12 @@ buildPythonPackage rec {
   # See also: https://github.com/gcovr/gcovr/issues/206
   doCheck = false;
 
+  pythonImportsCheck = [
+    "gcovr"
+    "gcovr.workers"
+    "gcovr.configuration"
+  ];
+
   meta = with stdenv.lib; {
     description = "A Python script for summarizing gcov data";
     license = licenses.bsd0;
diff --git a/pkgs/development/python-modules/google-pasta/default.nix b/pkgs/development/python-modules/google-pasta/default.nix
index e469de924f6..fc4fb5a46d8 100644
--- a/pkgs/development/python-modules/google-pasta/default.nix
+++ b/pkgs/development/python-modules/google-pasta/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "google-pasta";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zmqfvy28i2509277s6sz098kddd16cx21vpxyc8xml1nclcxlbr";
+    sha256 = "713813a9f7d6589e5defdaf21e80e4392eb124662f8bd829acd51a4f8735c0cb";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google_cloud_automl/default.nix b/pkgs/development/python-modules/google_cloud_automl/default.nix
index b317d0cd154..52248605c75 100644
--- a/pkgs/development/python-modules/google_cloud_automl/default.nix
+++ b/pkgs/development/python-modules/google_cloud_automl/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "532cee03a976eedf308c178484b61f80bc4c68991b3bd8eb8f6abd000a217ef7";
+    sha256 = "fa92a77fcc79032dba756b82196a29f63a7b374379bacdb78be128e09b8abc03";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/gpapi/default.nix b/pkgs/development/python-modules/gpapi/default.nix
index 13ba4f934e8..f5a9341e2cc 100644
--- a/pkgs/development/python-modules/gpapi/default.nix
+++ b/pkgs/development/python-modules/gpapi/default.nix
@@ -1,12 +1,17 @@
-{ stdenv, buildPythonPackage, fetchPypi, requests, protobuf, pycryptodome }:
+{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
+, requests
+, protobuf
+, pycryptodome
+}:
 
 buildPythonPackage rec {
-  version = "0.4.3";
+  version = "0.4.4";
   pname = "gpapi";
+  disabled = pythonOlder "3.3"; # uses shutil.which(), added in 3.3
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "9fd1351eb29c4da92d3a0ed2cd4e3c1634ea16afddbca133f6acc54766d61b02";
+    sha256 = "0ampvsv97r3hy1cakif4kmyk1ynf3scbvh4fbk02x7xrxn4kl38w";
   };
 
   propagatedBuildInputs = [ requests protobuf pycryptodome ];
diff --git a/pkgs/development/python-modules/gplaycli/default.nix b/pkgs/development/python-modules/gplaycli/default.nix
index 0c7fa8db01c..2edb41571d9 100644
--- a/pkgs/development/python-modules/gplaycli/default.nix
+++ b/pkgs/development/python-modules/gplaycli/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "gplaycli";
-  version = "3.25";
+  version = "3.26";
 
   src = fetchFromGitHub {
     owner = "matlink";
     repo = "gplaycli";
     rev = version;
-    sha256 = "1rygx5cg4b1vwpkiaq6jcpbc1ly7cspslv3sy7x8n8ba61ryq6h4";
+    sha256 = "188237d40q35dp5xs7hg4ybhvsyxi0bsqx5dk4ws9007n596in5f";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/graph_nets/default.nix b/pkgs/development/python-modules/graph_nets/default.nix
index c262331a6e1..6b2536d37b3 100644
--- a/pkgs/development/python-modules/graph_nets/default.nix
+++ b/pkgs/development/python-modules/graph_nets/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "graph_nets";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6f27f0358a477d4ec3ab300bf09944b4dfdd5c10b0a5f7ac06bcb32d1327ebe1";
+    sha256 = "73e98a5930c6c7b609257ada2cf4523db70810343e0593bf0fa710b77e991933";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/graphite-web/default.nix b/pkgs/development/python-modules/graphite-web/default.nix
index ecdb76173fa..88e3118d456 100644
--- a/pkgs/development/python-modules/graphite-web/default.nix
+++ b/pkgs/development/python-modules/graphite-web/default.nix
@@ -6,13 +6,13 @@ if django.version != "1.8.19"
 then throw "graphite-web should be build with django_1_8 and django_tagging_0_4_3"
 else buildPythonPackage rec {
   pname = "graphite-web";
-  version = "1.1.5";
+  version = "1.1.6";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d43945d190f2b3a6d18daa6ace9a1bd3695e93dc593f50cd72c2af420883b99d";
+    sha256 = "f4c293008ad588456397cd125cdad7f47f4bab5b6dd82b5fb69f5467e7346a2a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gunicorn/default.nix b/pkgs/development/python-modules/gunicorn/default.nix
index 58d5c414cf0..16c6921cdd6 100644
--- a/pkgs/development/python-modules/gunicorn/default.nix
+++ b/pkgs/development/python-modules/gunicorn/default.nix
@@ -1,5 +1,10 @@
 { stdenv, buildPythonPackage, fetchPypi
-, pytest, mock, pytestcov, coverage }:
+, coverage
+, mock
+, pytest
+, pytestcov
+, setuptools
+}:
 
 buildPythonPackage rec {
   pname = "gunicorn";
@@ -10,6 +15,8 @@ buildPythonPackage rec {
     sha256 = "fa2662097c66f920f53f70621c6c58ca4a3c4d3434205e608e121b5b3b71f4f3";
   };
 
+  propagatedBuildInputs = [ setuptools ];
+
   checkInputs = [ pytest mock pytestcov coverage ];
 
   prePatch = ''
@@ -17,9 +24,12 @@ buildPythonPackage rec {
       --replace "coverage>=4.0,<4.4" "coverage"
   '';
 
-  # Test failures but patch does not apply cleanly
-  # https://github.com/benoitc/gunicorn/commit/f38f717539b1b7296720805b8ae3969c3509b9c1
-  doCheck = false;
+  # better than no tests
+  checkPhase = ''
+    $out/bin/gunicorn --help > /dev/null
+  '';
+
+  pythonImportsCheck = [ "gunicorn" ];
 
   meta = with stdenv.lib; {
     homepage = https://pypi.python.org/pypi/gunicorn;
diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix
index 52171470c27..d90ded1fb5f 100644
--- a/pkgs/development/python-modules/gym/default.nix
+++ b/pkgs/development/python-modules/gym/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "gym";
-  version = "0.15.3";
+  version = "0.15.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18381e13bbd1e2f206a1b88a2af4fb87affd7d06ee7955a6e5e6a79478a9adfc";
+    sha256 = "3b930cbe1c76bbd30455b5e82ba723dea94159a5f988e927f443324bf7cc7ddd";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/handout/default.nix b/pkgs/development/python-modules/handout/default.nix
index eb6cca3e6ec..c5c111845d1 100644
--- a/pkgs/development/python-modules/handout/default.nix
+++ b/pkgs/development/python-modules/handout/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "handout";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dbe5da9b422fa937b94a1a5221ce99387ebd75fe97ab4255e49b26d846b8614b";
+    sha256 = "52daaf1f9a4cb2ceb88c1dedf85d22ef449b9422b424a2534d21f941e57bc915";
   };
 
   propagatedBuildInputs = [ imageio imageio-ffmpeg ];
diff --git a/pkgs/development/python-modules/hiredis/default.nix b/pkgs/development/python-modules/hiredis/default.nix
index 4403071cb8f..c22de6d8a66 100644
--- a/pkgs/development/python-modules/hiredis/default.nix
+++ b/pkgs/development/python-modules/hiredis/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "hiredis";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "158pymdlnv4d218w66i8kzdn4ka30l1pdwa0wyjh16bj10zraz79";
+    sha256 = "aa59dd63bb3f736de4fc2d080114429d5d369dfb3265f771778e8349d67a97a4";
   };
   propagatedBuildInputs = [ redis ];
 
diff --git a/pkgs/development/python-modules/html5-parser/default.nix b/pkgs/development/python-modules/html5-parser/default.nix
index f3b24b3d371..db59bb49cf2 100644
--- a/pkgs/development/python-modules/html5-parser/default.nix
+++ b/pkgs/development/python-modules/html5-parser/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "html5-parser";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00d1zfk72xzyibh7l4ib57y0isn5gic7avgbh7afbkk99iwd5smi";
+    sha256 = "25fe8f6848cbc15187f6748c0695df32bcf1b37df6420b6a01b4ebe1ec1ed48f";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/hupper/default.nix b/pkgs/development/python-modules/hupper/default.nix
index 3d8f07793f9..33f76f0a248 100644
--- a/pkgs/development/python-modules/hupper/default.nix
+++ b/pkgs/development/python-modules/hupper/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "hupper";
-  version = "1.9";
+  version = "1.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afd4e7beedc7417fed12cb2e15a21610c73cb08821c7f09aa926be24d4038dae";
+    sha256 = "3b1c2222ec7b8159e7ad059e4493c6cc634c86184af0bf2ce5aba6edd241cf5f";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/hvplot/default.nix b/pkgs/development/python-modules/hvplot/default.nix
index 176258a10e0..2079f849769 100644
--- a/pkgs/development/python-modules/hvplot/default.nix
+++ b/pkgs/development/python-modules/hvplot/default.nix
@@ -12,6 +12,7 @@
 , xarray
 , networkx
 , streamz
+, colorcet
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,7 @@ buildPythonPackage rec {
   checkInputs = [ pytest parameterized nbsmoke flake8 coveralls xarray networkx streamz ];
   propagatedBuildInputs = [
     bokeh
+    colorcet
     holoviews
     pandas
   ];
diff --git a/pkgs/development/python-modules/imbalanced-learn/0.4.nix b/pkgs/development/python-modules/imbalanced-learn/0.4.nix
index c1ff24711e8..e7d2c2f3714 100644
--- a/pkgs/development/python-modules/imbalanced-learn/0.4.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/0.4.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "imbalanced-learn";
-  version = "0.5.0";
+  version = "0.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5df760537886678ef9e25f5bad96d194c5fc66f62de84488069acf5d4b0119d5";
+    sha256 = "5bd9e86e40ce4001a57426541d7c79b18143cbd181e3330c1a3e5c5c43287083";
   };
 
   propagatedBuildInputs = [ scikitlearn ];
diff --git a/pkgs/development/python-modules/imbalanced-learn/default.nix b/pkgs/development/python-modules/imbalanced-learn/default.nix
index 6de97aff7d3..d8e35d3fcea 100644
--- a/pkgs/development/python-modules/imbalanced-learn/default.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -24,7 +24,8 @@ buildPythonPackage rec {
     # or very large dependencies (keras + tensorflow)
     py.test imblearn -k 'not estimator \
                          and not classification \
-                         and not _generator'
+                         and not _generator \
+                         and not show_versions'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/inotify-simple/default.nix b/pkgs/development/python-modules/inotify-simple/default.nix
index 2d5e9d78094..10c64fa6b3f 100644
--- a/pkgs/development/python-modules/inotify-simple/default.nix
+++ b/pkgs/development/python-modules/inotify-simple/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "inotify-simple";
-  version = "1.1.8";
+  version = "1.2.1";
 
   src = fetchPypi {
     pname = "inotify_simple";
     inherit version;
-    sha256 = "1pfqvnynwh318cakldhg7535kbs02asjsgv6s0ki12i7fgfi0b7w";
+    sha256 = "132craajflksgxxwjawj73nn1ssv8jn58j3k5vvyiq03avbz4sfv";
   };
 
   # The package has no tests
diff --git a/pkgs/development/python-modules/jdatetime/default.nix b/pkgs/development/python-modules/jdatetime/default.nix
index 0155cf665bd..1fbdd510e71 100644
--- a/pkgs/development/python-modules/jdatetime/default.nix
+++ b/pkgs/development/python-modules/jdatetime/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jdatetime";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "72f8c72873f9d3f536a696014e4ebffe431a644d7aa95db18c52e086d23b2939";
+    sha256 = "a589e35f0dab89283c1a3de9d70ed6cf657932aaed8e8ce1b0e5801aaab1da67";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 184c86e9268..4cdef182ca7 100644
--- a/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "3.0.2";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02ggscsyrrqk06w9lb43km77qgcj8cixrrm5mkigr4gz2pzdjhmf";
+    sha256 = "1wcmn01md6hykblk5zz8wd5zizyisspspakz446jg2kqfv4y3q03";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jenkinsapi/default.nix b/pkgs/development/python-modules/jenkinsapi/default.nix
index 8d8f6b53ceb..bf5877c9f08 100644
--- a/pkgs/development/python-modules/jenkinsapi/default.nix
+++ b/pkgs/development/python-modules/jenkinsapi/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "jenkinsapi";
-  version = "0.3.10";
+  version = "0.3.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc2fcdf95d954d9bbbdb1303a2c3c32997935655c99aff300f1759dba3cebc6d";
+    sha256 = "a212a244b0a6022a61657746c8120ac9b6db83432371b345154075eb8faceb61";
   };
 
   propagatedBuildInputs = [ pytz requests ];
diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix
index d4bc1dd523d..e18f3bc9b3d 100644
--- a/pkgs/development/python-modules/jsonrpc-async/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-async/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpc-async";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "488ab3b63a96c246f7ded14b3458eb13a36e3e16eb4319aa56806476517c7433";
+    sha256 = "383f331e28cd8f6e3fa86f3e7052efa541b7ae8bf328a4e692aa045cfc0ecf25";
   };
 
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
diff --git a/pkgs/development/python-modules/jsonrpc-base/default.nix b/pkgs/development/python-modules/jsonrpc-base/default.nix
index 35244e092da..a26a040eedd 100644
--- a/pkgs/development/python-modules/jsonrpc-base/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-base/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpc-base";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f9baac32aa51c3052d03b86ff30a9856900b8b4a4eb175f7bf2c8722520b8637";
+    sha256 = "7bda99589b4566f5027c2aeae122f409d8ccf4c811b278b8cfb616903871efb2";
   };
 
   propagatedBuildInputs = [ ];
diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
index eff4f41979a..c0c2fe2a8ee 100644
--- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
@@ -1,15 +1,17 @@
 { stdenv, buildPythonPackage, fetchPypi
-, aiohttp, jsonrpc-base }:
+, aiohttp, jsonrpc-base, pep8 }:
 
 buildPythonPackage rec {
   pname = "jsonrpc-websocket";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e74e490fefa3b8f33620fca98f7cd9a53fb765b9ed6f78360482a3f364230885";
+    sha256 = "f1aaca95db795d6a9f7bba52ff83c7fd4139050d0df93ee3a5a448adcfa0c0ac";
   };
 
+  nativeBuildInputs = [ pep8 ];
+
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index 1b16ff9b47c..520f342cc1d 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "1.2.2";
+  version = "1.2.3";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "96d3146eb09ffa0a198f31b36706859dadd4a59ed184aa9329a9c12733e6af0b";
+    sha256 = "2188a9bcaaf0b6a68ff9098a481f37ece8231634b862fd3c9adedc466aac79f2";
   };
 
   propagatedBuildInputs = [ jupyterlab_server notebook ];
diff --git a/pkgs/development/python-modules/kconfiglib/default.nix b/pkgs/development/python-modules/kconfiglib/default.nix
index c6007bc0b42..ace5b862825 100644
--- a/pkgs/development/python-modules/kconfiglib/default.nix
+++ b/pkgs/development/python-modules/kconfiglib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "kconfiglib";
-  version = "13.1.1";
+  version = "13.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b44af5a6dc0c716926c926ba4c1f301ce286b3a3f292ae359a866eb01dc5260e";
+    sha256 = "045yjmn6xqbyb68l1jqlgi3c8cwlw1krsrlfwrrgjijkmbx6yqmd";
   };
 
   # doesnt work out of the box but might be possible
diff --git a/pkgs/development/python-modules/klaus/default.nix b/pkgs/development/python-modules/klaus/default.nix
index 687798735d3..c9c98cc9701 100644
--- a/pkgs/development/python-modules/klaus/default.nix
+++ b/pkgs/development/python-modules/klaus/default.nix
@@ -2,13 +2,13 @@
 
 python.pkgs.buildPythonPackage rec {
   pname = "klaus";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "jonashaag";
     repo = pname;
     rev = version;
-    sha256 = "041l5dpymi9h0yyr55r6m0skp0m2ags3miay0s1bgfcp469k0l20";
+    sha256 = "0pagyqfcj47ghd9m7b32hvi17hbl19f0wallkz6ncvmvvy919lfz";
   };
 
   prePatch = ''
diff --git a/pkgs/development/python-modules/kombu/default.nix b/pkgs/development/python-modules/kombu/default.nix
index a159b6c7e08..323ab341ec6 100644
--- a/pkgs/development/python-modules/kombu/default.nix
+++ b/pkgs/development/python-modules/kombu/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "kombu";
-  version = "4.6.5";
+  version = "4.6.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c9078124ce2616b29cf6607f0ac3db894c59154252dee6392cdbbe15e5c4b566";
+    sha256 = "1760b54b1d15a547c9a26d3598a1c8cdaf2436386ac1f5561934bc8a3cbbbd86";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/lark-parser/default.nix b/pkgs/development/python-modules/lark-parser/default.nix
index abd3a491b20..38e51ac0ac6 100644
--- a/pkgs/development/python-modules/lark-parser/default.nix
+++ b/pkgs/development/python-modules/lark-parser/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "lark-parser";
-  version = "0.7.7";
+  version = "0.7.8";
 
   src = fetchFromGitHub {
     owner = "lark-parser";
     repo = "lark";
     rev = version;
-    sha256 = "1b0dvvqqasir8dfpqj4jch7wxxk43csbv0wa80fiqsdlymxxj2dj";
+    sha256 = "0gd5c3scpyir3h8clhwb5jsf8dkmh1vh7rx8135lkx9fxx01q0az";
   };
 
   # tests of Nearley support require js2py
diff --git a/pkgs/development/python-modules/lazr/config.nix b/pkgs/development/python-modules/lazr/config.nix
index 759c9689bc9..d8a895c8357 100644
--- a/pkgs/development/python-modules/lazr/config.nix
+++ b/pkgs/development/python-modules/lazr/config.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "lazr.config";
-  version = "2.2.1";
+  version = "2.2.2";
 
   propagatedBuildInputs = [ lazr_delegates ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1s7pyvlq06qjrkaw9r6nc290lb095n25ybzgavvy51ygpxkgqxwn";
+    sha256 = "cdb9a70dac4a76ca1ff3528d9eafe5414c6c69c1b92e7e84d3477ae85f6bb787";
   };
 }
diff --git a/pkgs/development/python-modules/lazy-object-proxy/default.nix b/pkgs/development/python-modules/lazy-object-proxy/default.nix
index e0381642715..f174aa1066c 100644
--- a/pkgs/development/python-modules/lazy-object-proxy/default.nix
+++ b/pkgs/development/python-modules/lazy-object-proxy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "lazy-object-proxy";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd135b8d35dfdcdb984828c84d695937e58cc5f49e1c854eb311c4d6aa03f4f1";
+    sha256 = "f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/ledgerblue/default.nix b/pkgs/development/python-modules/ledgerblue/default.nix
index 51c5b80a6ac..8d50f9846cc 100644
--- a/pkgs/development/python-modules/ledgerblue/default.nix
+++ b/pkgs/development/python-modules/ledgerblue/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "ledgerblue";
-  version = "0.1.29";
+  version = "0.1.31";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14zv8bp62r1fwrrpbwyg9a3s5dl76lbhd8lv16xim0w55p9vvixn";
+    sha256 = "f1fc7ab685780309a7220c6ee517d88072cc594a9615bcc18e68ed5f149fa432";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/libarcus/default.nix b/pkgs/development/python-modules/libarcus/default.nix
index 495fb42c302..97fd448f183 100644
--- a/pkgs/development/python-modules/libarcus/default.nix
+++ b/pkgs/development/python-modules/libarcus/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "libarcus";
-  version = "4.3.0";
+  version = "4.4.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "libArcus";
     rev = version;
-    sha256 = "1x06daijxbrqj0dlxmi2zn7ap74zf6hih3krmkwhvarm2nr052g4";
+    sha256 = "16m7m6ak5fqw3djn4azwiamkizcc1dv7brv11kv99n3b43zzgn6d";
   };
 
   disabled = pythonOlder "3.4.0";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   buildInputs = [ protobuf ];
 
   postPatch = ''
-    sed -i 's#''${Python3_SITELIB}#${placeholder "out"}/${python.sitePackages}#' cmake/SIPMacros.cmake
+    sed -i 's#''${Python3_SITEARCH}#${placeholder "out"}/${python.sitePackages}#' cmake/SIPMacros.cmake
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index 734a51c7be6..381c3a2731a 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1spjkw5nxhbawblj5db8izff05kjw425iyydipajb7qh73vm25r0";
+    sha256 = "fcc165f2cc2db9a379c6d3a17b3beb9081bb64ba5c0bf7bbb58da864810092f0";
   };
 
   checkInputs = [ mock pytest pytestrunner requests-mock ];
diff --git a/pkgs/development/python-modules/libsavitar/default.nix b/pkgs/development/python-modules/libsavitar/default.nix
index 7ec89c569dd..b43468bdf9c 100644
--- a/pkgs/development/python-modules/libsavitar/default.nix
+++ b/pkgs/development/python-modules/libsavitar/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "libsavitar";
-  version = "4.3.0";
+  version = "4.4.0";
   format = "other";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/python-modules/license-expression/default.nix b/pkgs/development/python-modules/license-expression/default.nix
index 177949fbd51..e934c519428 100644
--- a/pkgs/development/python-modules/license-expression/default.nix
+++ b/pkgs/development/python-modules/license-expression/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "license-expression";
-  version = "1.0";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "license-expression";
     rev = "v${version}";
-    sha256 = "15dk3j5sr8iypzqqa8wa12b2a84f6ssbfvam1c1vzz00y2y5v3ic";
+    sha256 = "0bbd7d90z58p9sd01b00g0vfd9bmwzksjb7pc8833s2jpja9mxz1";
   };
   postPatch = "patchShebangs ./configure";
 
diff --git a/pkgs/development/python-modules/livestreamer/default.nix b/pkgs/development/python-modules/livestreamer/default.nix
index a316edaf80a..fb8f74d7219 100644
--- a/pkgs/development/python-modules/livestreamer/default.nix
+++ b/pkgs/development/python-modules/livestreamer/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
       services and pipes them into a video player of choice.
     '';
     license = licenses.bsd2;
-    maintainers = with maintainers; [ fuuzetsu ];
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/development/python-modules/logilab/common.nix b/pkgs/development/python-modules/logilab/common.nix
index 2dd997765cf..99ff8d45e6a 100644
--- a/pkgs/development/python-modules/logilab/common.nix
+++ b/pkgs/development/python-modules/logilab/common.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "logilab-common";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zw8bijlcmqrigsqvzj7gwh3qbd33dmpi9ij6h56b41x0dpm957d";
+    sha256 = "8c1bf26431a3b487940cd4a7c0eefde328f5ff7098222ee695805752dae94aa6";
   };
 
   propagatedBuildInputs = [ unittest2 six ];
diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix
index 0ab947ec254..5b07fe24441 100644
--- a/pkgs/development/python-modules/marshmallow/default.nix
+++ b/pkgs/development/python-modules/marshmallow/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "marshmallow";
-  version = "3.2.1";
+  version = "3.2.2";
 
   meta = {
     homepage = "https://github.com/marshmallow-code/marshmallow";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9a2f3e8ea5f530a9664e882d7d04b58650f46190178b2264c72b7d20399d28f0";
+    sha256 = "1a358beb89c2b4d5555272065a9533591a3eb02f1b854f3c4002d88d8f2a1ddb";
   };
 
   propagatedBuildInputs = [ dateutil simplejson ];
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index 8658130d9f6..9f5a086f2ee 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchFromGitHub, git,
   attrs, future, peewee, h11, h2, atomicwrites, pycryptodome, sphinx, Logbook, jsonschema,
-  python-olm, unpaddedbase64, aiohttp }:
+  python-olm, unpaddedbase64, aiohttp, cachetools }:
 
 buildPythonPackage rec {
   pname = "nio";
@@ -36,6 +36,7 @@ buildPythonPackage rec {
     python-olm
     unpaddedbase64
     aiohttp
+    cachetools
   ];
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/mechanize/default.nix b/pkgs/development/python-modules/mechanize/default.nix
index 882872d47e1..9669bcc30e7 100644
--- a/pkgs/development/python-modules/mechanize/default.nix
+++ b/pkgs/development/python-modules/mechanize/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "mechanize";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gyxkwjnabqf8xxnkj787xh2dpcnm858g369fnahdcz1wn5hdmyp";
+    sha256 = "9fff89e973bdf1aee75a351bd4dde53ca51a7e76944ddeae3ea3b6ad6c46045c";
   };
 
   propagatedBuildInputs = [ html5lib ];
diff --git a/pkgs/development/python-modules/minio/default.nix b/pkgs/development/python-modules/minio/default.nix
index 623a191bbb8..61567d851e9 100644
--- a/pkgs/development/python-modules/minio/default.nix
+++ b/pkgs/development/python-modules/minio/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "5.0.1";
+  version = "5.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f7ba1ca0750dfca3302cb03b14a92bf5f1c755ff84f9ba268079bf582e0f735";
+    sha256 = "a5886b3ccb9b46cb4a322a486e06674d1f287b773f20b24cdc3de8450ff935a7";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/mock/default.nix b/pkgs/development/python-modules/mock/default.nix
index 87b6fbeabdc..6978bee000a 100644
--- a/pkgs/development/python-modules/mock/default.nix
+++ b/pkgs/development/python-modules/mock/default.nix
@@ -1,7 +1,7 @@
-{ stdenv
+{ lib
 , buildPythonPackage
 , fetchPypi
-, unittest2
+, isPy27
 , funcsigs
 , six
 , pbr
@@ -17,8 +17,7 @@ buildPythonPackage rec {
     sha256 = "83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3";
   };
 
-  buildInputs = [ unittest2 ];
-  propagatedBuildInputs = [ funcsigs six pbr ];
+  propagatedBuildInputs = [ six pbr ] ++ lib.optionals isPy27 [ funcsigs ];
 
   # On PyPy for Python 2.7 in particular, Mock's tests have a known failure.
   # Mock upstream has a decoration to disable the failing test and make
@@ -30,10 +29,10 @@ buildPythonPackage rec {
     ${python.interpreter} -m unittest discover
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Mock objects for Python";
     homepage = http://python-mock.sourceforge.net/;
-    license = stdenv.lib.licenses.bsd2;
+    license = licenses.bsd2;
   };
 
 }
diff --git a/pkgs/development/python-modules/moderngl/default.nix b/pkgs/development/python-modules/moderngl/default.nix
index a45a24b7a2a..5802b33041f 100644
--- a/pkgs/development/python-modules/moderngl/default.nix
+++ b/pkgs/development/python-modules/moderngl/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "moderngl";
-  version = "5.5.3";
+  version = "5.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1k2yf2yglzx65gcv2bqql6w6lmgyp3f1jz4ddq9vylf09a8j7fga";
+    sha256 = "08badabb6a1bbc9aa9e65fae8ecd3275d8342cb45d9c457b19e32b3312a8b663";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/mpv/default.nix b/pkgs/development/python-modules/mpv/default.nix
index f5ae020c71c..5a6fa42f286 100644
--- a/pkgs/development/python-modules/mpv/default.nix
+++ b/pkgs/development/python-modules/mpv/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "mpv";
-  version = "0.3.9";
+  version = "0.3.10";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "jaseg";
     repo = "python-mpv";
     rev = "v${version}";
-    sha256 = "112kr9wppcyy3shsb7v7kq0s1pdw6vw3v2fvqicm7qb2f49y2p4q";
+    sha256 = "1w67rrxsvxl7glh5lri7c5hn1011jij1yh1dn50dxlz79n4h51b5";
   };
 
   buildInputs = [ mpv ];
diff --git a/pkgs/development/python-modules/nbsphinx/default.nix b/pkgs/development/python-modules/nbsphinx/default.nix
index 07038cb26e1..788a8f73ab8 100644
--- a/pkgs/development/python-modules/nbsphinx/default.nix
+++ b/pkgs/development/python-modules/nbsphinx/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "nbsphinx";
-  version = "0.4.3";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09j47hmzgvf7rnz7n4n7295pp6qscq9hp50qva70vglzqck9yyjp";
+    sha256 = "03g0mqbgk143cq3l3r42js2iy5l6iyvpckpqip4p468rlzrddyhn";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nose-exclude/default.nix b/pkgs/development/python-modules/nose-exclude/default.nix
index 7eb6b6cc047..7f679e545e7 100644
--- a/pkgs/development/python-modules/nose-exclude/default.nix
+++ b/pkgs/development/python-modules/nose-exclude/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchPypi
 , nose
@@ -15,10 +16,13 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ nose ];
 
+  # "OSError: AF_UNIX path too long" for darwin
+  doCheck = !stdenv.isDarwin;
+
   meta = {
     license = lib.licenses.lgpl21;
     description = "Exclude specific directories from nosetests runs";
     homepage = https://github.com/kgrandis/nose-exclude;
     maintainers = with lib.maintainers; [ fridh ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index fdc5e9b8f13..61f85773949 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -66,7 +66,7 @@ in buildPythonPackage rec {
 
   meta = {
     description = "Scientific tools for Python";
-    homepage = http://numpy.scipy.org/;
+    homepage = https://numpy.org/;
     maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/oauth/default.nix b/pkgs/development/python-modules/oauth/default.nix
index a8e5c8bf53d..f4a8e3a62c2 100644
--- a/pkgs/development/python-modules/oauth/default.nix
+++ b/pkgs/development/python-modules/oauth/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/oauth;
+    homepage = https://code.google.com/archive/p/oauth/;
     description = "Library for OAuth version 1.0a";
     license = licenses.mit;
   };
diff --git a/pkgs/development/python-modules/openpyxl/default.nix b/pkgs/development/python-modules/openpyxl/default.nix
index c2075fe4f8e..bd0a7a5b2be 100644
--- a/pkgs/development/python-modules/openpyxl/default.nix
+++ b/pkgs/development/python-modules/openpyxl/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "openpyxl";
-  version = "3.0.0";
+  version = "3.0.1";
   disabled = isPy27; # 2.6.4 was final python2 release
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "340a1ab2069764559b9d58027a43a24db18db0e25deb80f81ecb8ca7ee5253db";
+    sha256 = "a3ee361d3ff04af6048d594775b3a54ffdf215d40fa5c6c78b2a41c0d0b020d3";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/opentimestamps/default.nix b/pkgs/development/python-modules/opentimestamps/default.nix
index 01f5595fea1..f9394efe398 100644
--- a/pkgs/development/python-modules/opentimestamps/default.nix
+++ b/pkgs/development/python-modules/opentimestamps/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "opentimestamps";
-  version = "0.4.0";
+  version = "0.4.1";
   disabled = (!isPy3k);
 
   # We can't use the pypi source because it doesn't include README.md which is
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "opentimestamps";
     repo = "python-opentimestamps";
     rev = "python-opentimestamps-v${version}";
-    sha256 = "165rj08hwmbn44ra9n0cj5vfn6p49dqfn5lz2mks962mx19c7l0m";
+    sha256 = "0c45ij8absfgwizq6dfgg81siq3y8605sgg184vazp292w8nqmqr";
   };
 
   # Remove a failing test which expects the test source file to reside in the
diff --git a/pkgs/development/python-modules/opt-einsum/default.nix b/pkgs/development/python-modules/opt-einsum/default.nix
index 064c0adb134..1d8c9d9531a 100644
--- a/pkgs/development/python-modules/opt-einsum/default.nix
+++ b/pkgs/development/python-modules/opt-einsum/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Optimizing NumPy's einsum function with order optimization and GPU support.";
-    homepage = http://optimized-einsum.readthedocs.io;
+    homepage = https://github.com/dgasmith/opt_einsum;
     license = licenses.mit;
     maintainers = with maintainers; [ teh ];
   };
diff --git a/pkgs/development/python-modules/ovh/default.nix b/pkgs/development/python-modules/ovh/default.nix
index 017f75d991c..22e82141cdc 100644
--- a/pkgs/development/python-modules/ovh/default.nix
+++ b/pkgs/development/python-modules/ovh/default.nix
@@ -17,8 +17,8 @@ buildPythonPackage rec {
 
   meta = {
     description = "Thin wrapper around OVH's APIs";
-    homepage = http://api.ovh.com/;
+    homepage = https://github.com/ovh/python-ovh;
     license = lib.licenses.bsd2;
     maintainers = [ lib.maintainers.makefu ];
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/owslib/default.nix b/pkgs/development/python-modules/owslib/default.nix
index 7921b0a7a14..1e79a764147 100644
--- a/pkgs/development/python-modules/owslib/default.nix
+++ b/pkgs/development/python-modules/owslib/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi, dateutil, requests, pytz, pyproj , pytest } :
 buildPythonPackage rec {
   pname = "OWSLib";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "018p2ypmpbbcgl0hp92s0vig1wirh41lj0wy62aafn5050pmqr7m";
+    sha256 = "0rdhymayyc6w1izlv1bf2wgx2dfxbp4k1vll5s1364isw60rjj8x";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pafy/default.nix b/pkgs/development/python-modules/pafy/default.nix
index 75a16f5c53b..efb4e0685ab 100644
--- a/pkgs/development/python-modules/pafy/default.nix
+++ b/pkgs/development/python-modules/pafy/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A library to download YouTube content and retrieve metadata";
-    homepage = http://np1.github.io/pafy/;
+    homepage = https://github.com/mps-youtube/pafy;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ odi ];
   };
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 218194812b8..65ab5881df9 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -111,7 +111,7 @@ in buildPythonPackage rec {
     # https://github.com/pandas-dev/pandas/issues/14866
     # pandas devs are no longer testing i686 so safer to assume it's broken
     broken = stdenv.isi686;
-    homepage = http://pandas.pydata.org/;
+    homepage = https://pandas.pydata.org/;
     description = "Python Data Analysis Library";
     license = stdenv.lib.licenses.bsd3;
     maintainers = with stdenv.lib.maintainers; [ raskin fridh knedlsepp ];
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index 99575715d94..aefab404668 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A high level dashboarding library for python visualization libraries";
-    homepage = http://pyviz.org;
+    homepage = https://pyviz.org;
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix
new file mode 100644
index 00000000000..ffe0fbc5da5
--- /dev/null
+++ b/pkgs/development/python-modules/papermill/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ansiwrap
+, click
+, future
+, pyyaml
+, nbformat
+, nbconvert
+, six
+, tqdm
+, jupyter_client
+, requests
+, entrypoints
+, tenacity
+, futures
+, backports_tempfile
+, isPy27
+, pytest
+, pytestcov
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "papermill";
+  version = "1.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04dadaabdeb129c7414079f77b9f9a4a08f1322549aa99e20e4a12700ee23509";
+  };
+
+  propagatedBuildInputs = [
+    ansiwrap
+    click
+    future
+    pyyaml
+    nbformat
+    nbconvert
+    six
+    tqdm
+    jupyter_client
+    requests
+    entrypoints
+    tenacity
+  ] ++ lib.optionals isPy27 [
+    futures
+    backports_tempfile
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    pytest-mock
+  ];
+
+  checkPhase = ''
+    HOME=$(mktemp -d) pytest
+  '';
+
+  # the test suite depends on cloud resources azure/aws
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Parametrize and run Jupyter and nteract Notebooks";
+    homepage = https://github.com/nteract/papermill;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix
index a2fd5118b3e..f770fecd5e5 100644
--- a/pkgs/development/python-modules/papis/default.nix
+++ b/pkgs/development/python-modules/papis/default.nix
@@ -3,7 +3,7 @@
 , pyyaml, chardet, beautifulsoup4, colorama, bibtexparser
 , pylibgen, click, python-slugify, habanero, isbnlib
 , prompt_toolkit, pygments, stevedore, tqdm, lxml
-, python-doi, isPy3k
+, python-doi, isPy3k, pythonOlder
 #, optional, dependencies
 , whoosh, pytest
 , stdenv
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "papis";
   version = "0.9";
+  disabled = !isPy3k;
 
   # Missing tests on Pypi
   src = fetchFromGitHub {
@@ -32,9 +33,14 @@ buildPythonPackage rec {
     whoosh
   ];
 
-  disabled = !isPy3k;
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "lxml<=4.3.5" "lxml~=4.3" \
+      --replace "python-slugify>=1.2.6,<4" "python-slugify"
+  '';
 
-  doCheck = !stdenv.isDarwin;
+  # pytest seems to hang with python3.8
+  doCheck = !stdenv.isDarwin && pythonOlder "3.8";
 
   checkInputs = ([
     pytest
diff --git a/pkgs/development/python-modules/pdf2image/default.nix b/pkgs/development/python-modules/pdf2image/default.nix
index 1fbddca8cc4..41009a4b7a2 100644
--- a/pkgs/development/python-modules/pdf2image/default.nix
+++ b/pkgs/development/python-modules/pdf2image/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pdf2image";
-  version = "1.9.0";
+  version = "1.10.0";
 
   propagatedBuildInputs = [ pillow poppler_utils ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "186g36dcfv83iranyd8gqw2zinhpcvmq86zd7sbsn237gcqk43rn";
+    sha256 = "0bpprn5wcz414pqpvwjpd5cc0838shkw2cfvrwfiilhr09bhxbhb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pgspecial/default.nix b/pkgs/development/python-modules/pgspecial/default.nix
index 5c5f342651b..cc10789f610 100644
--- a/pkgs/development/python-modules/pgspecial/default.nix
+++ b/pkgs/development/python-modules/pgspecial/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pgspecial";
-  version = "1.11.7";
+  version = "1.11.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0wy1zmd44y0vl0kxx2y53g6lpipmixbwwrg6c2r7rc3nwa0icl7p";
+    sha256 = "8c53fa2b2490fa9ec34ede4eafff8ddbe8bce5cba3dcae96509be36ec8c75575";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index d37be90099c..cb81c2b40fc 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.10.22";
+  version = "8.10.23";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "705dc7bbaa0d5932e9c010437c718bb3c0d7c93ab25b9710b4d9ae7370cc0121";
+    sha256 = "b31916281b0819c1e24ee3c21561ecd8be5af9381088557a986af85051a243bf";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index 2b00da73bf7..0a8d679ae5f 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchPypi, buildPythonPackage, pip, pytest, click, six, first
+{ stdenv, fetchPypi, buildPythonPackage, pip, pytest, click, six
 , setuptools_scm, git, glibcLocales, mock }:
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5427ea4dcc175649723985fbcace9b2d8f46f9adbcc63bc2d7b247d9bcc74917";
+    sha256 = "0x36mp3a3f3wandfc0g8d53gg2jkc14nhisbryzspcl9f05sbvq6";
   };
 
   LC_ALL = "en_US.UTF-8";
   checkInputs = [ pytest git glibcLocales mock ];
-  propagatedBuildInputs = [ pip click six first setuptools_scm ];
+  propagatedBuildInputs = [ pip click six setuptools_scm ];
 
   disabledTests = stdenv.lib.concatMapStringsSep " and " (s: "not " + s) [
     # Depend on network tests:
@@ -32,12 +32,8 @@ buildPythonPackage rec {
     "test_stdin"
     "test_upgrade_packages_option"
     "test_url_package"
-    # Expect specific version of "six":
     "test_editable_package"
-    "test_input_file_without_extension"
     "test_locally_available_editable_package_is_not_archived_in_cache_dir"
-    "test_no_candidates"
-    "test_no_candidates_pre"
   ];
 
   checkPhase = ''
@@ -50,6 +46,5 @@ buildPythonPackage rec {
     homepage = https://github.com/jazzband/pip-tools/;
     license = licenses.bsd3;
     maintainers = with maintainers; [ zimbatm ];
-    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/pivy/default.nix b/pkgs/development/python-modules/pivy/default.nix
index 6c8fc211ae6..93aa5ad144c 100644
--- a/pkgs/development/python-modules/pivy/default.nix
+++ b/pkgs/development/python-modules/pivy/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   buildInputs = with pkgs; with xorg; [
     coin3d soqt qt5.qtbase
-    libGLU_combined
+    libGLU libGL
     libXi libXext libSM libICE libX11
   ];
 
diff --git a/pkgs/development/python-modules/polyline/default.nix b/pkgs/development/python-modules/polyline/default.nix
new file mode 100644
index 00000000000..6a5df880fd6
--- /dev/null
+++ b/pkgs/development/python-modules/polyline/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, flake8
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "polyline";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0x60lm3ccq9zrcqlzyk041xgr1mi0k9lzyyv3cbbdiq9kb88jzvw";
+  };
+
+  propagatedBuildInputs = [ six ];
+  checkInputs = [ flake8 nose ];
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/hicsail/polyline;
+    license = licenses.mit;
+    description = "Python implementation of Google's Encoded Polyline Algorithm Format.";
+    longDescription = "polyline is a Python implementation of Google's Encoded Polyline Algorithm Format (http://goo.gl/PvXf8Y). It is essentially a port of https://github.com/mapbox/polyline built with Python 2 and 3 support in mind.";
+    maintainers = with maintainers; [ ersin ];
+  };
+}
diff --git a/pkgs/development/python-modules/pony/default.nix b/pkgs/development/python-modules/pony/default.nix
index bd3c58c7dcc..ebda1976e2a 100644
--- a/pkgs/development/python-modules/pony/default.nix
+++ b/pkgs/development/python-modules/pony/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Pony is a Python ORM with beautiful query syntax";
     homepage = "https://ponyorm.org/";
-    maintainers = with maintainers; [ d-goldin ];
+    maintainers = with maintainers; [ d-goldin xvapx ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/python-modules/progressbar2/default.nix b/pkgs/development/python-modules/progressbar2/default.nix
index b9e16f6e457..aa6c9b70926 100644
--- a/pkgs/development/python-modules/progressbar2/default.nix
+++ b/pkgs/development/python-modules/progressbar2/default.nix
@@ -23,11 +23,6 @@ buildPythonPackage rec {
     sha256 = "7538d02045a1fd3aa2b2834bfda463da8755bd3ff050edc6c5ddff3bc616215f";
   };
 
-  postPatch = ''
-    rm -r tests/__pycache__
-    rm tests/*.pyc
-  '';
-
   propagatedBuildInputs = [ python-utils ];
   nativeBuildInputs = [ pytestrunner ];
   checkInputs = [
diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix
index bcba04fdfd2..789a9484d73 100644
--- a/pkgs/development/python-modules/pudb/default.nix
+++ b/pkgs/development/python-modules/pudb/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pudb";
-  version = "2019.1";
+  version = "2019.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19imrr17jnkd6fd2w1zzh63z0hcipg5b9v2x4svqm5c08p3cyc5c";
+    sha256 = "1p2qizb35f9lfhklldzrn8g9mwiar3zmpc44463h5n1ln40ymw78";
   };
 
   propagatedBuildInputs = [ pygments urwid ];
diff --git a/pkgs/development/python-modules/pyGithub/default.nix b/pkgs/development/python-modules/pyGithub/default.nix
index 895a06ce558..d09862184c0 100644
--- a/pkgs/development/python-modules/pyGithub/default.nix
+++ b/pkgs/development/python-modules/pyGithub/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "PyGithub";
-  version = "1.44";
+  version = "1.44.1";
 
   src = fetchFromGitHub {
     owner = "PyGithub";
     repo = "PyGithub";
     rev = "v${version}";
-    sha256 = "067iyarllgdp40bzjxskzrixvmz350yj1qf8wvbddka504bcbh9r";
+    sha256 = "16ngnnm7xj9bd97pvyddag17dx28c5wi0gjx4ws8c8nrmf5w3iqk";
   };
 
   propagatedBuildInputs = [ python-jose pyjwt requests deprecated httpretty ];
diff --git a/pkgs/development/python-modules/pyasn1/default.nix b/pkgs/development/python-modules/pyasn1/default.nix
index f8925cd3b52..e1d61866f90 100644
--- a/pkgs/development/python-modules/pyasn1/default.nix
+++ b/pkgs/development/python-modules/pyasn1/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyasn1";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a9495356ca1d66ed197a0f72b41eb1823cf7ea8b5bd07191673e8147aecf8604";
+    sha256 = "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
index c6c1afdcc95..85140d3db49 100644
--- a/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -1,7 +1,7 @@
 { buildPythonPackage, stdenv, lxml, click, fetchFromGitHub, pytest, isPy3k }:
 
 buildPythonPackage rec {
-  version = "0.3.21";
+  version = "0.3.24";
   pname = "pyaxmlparser";
 
   # the PyPI tarball doesn't ship tests.
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "appknox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bphd2vl9akk78yqvvxcz36wmr47hp3nh6xyrdc8w1avy1aby1ij";
+    sha256 = "0fys26p7xhbnbdzp80zm6n3mragp38p08nyrsnilfgnlpi6rjpg0";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index 2df360dfaab..0f386a7c42f 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -5,9 +5,10 @@
 , python
 , pytest
 , cmake
-, numpy ? null
-, eigen ? null
-, scipy ? null
+, catch
+, numpy
+, eigen
+, scipy
 }:
 
 buildPythonPackage rec {
@@ -21,23 +22,42 @@ buildPythonPackage rec {
     sha256 = "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd";
   };
 
-  dontUseCmakeConfigure = true;
-
   nativeBuildInputs = [ cmake ];
-  checkInputs = [ pytest ]
-    ++ (lib.optional (numpy != null) numpy)
-    ++ (lib.optional (eigen != null) eigen)
-    ++ (lib.optional (scipy != null) scipy);
-  checkPhase = ''
-    cmake ${if eigen != null then "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3" else ""}
-    make -j $NIX_BUILD_CORES pytest
-  '';
 
-  # re-expose the headers to other packages
-  postInstall = ''
-    ln -s $out/include/python${python.pythonVersion}m/pybind11/ $out/include/pybind11
+  buildInputs = [ catch ];
+
+  cmakeFlags = [
+    "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3"
+  ] ++ lib.optionals (!python.isPy2) [
+  # Enable some tests only on Python 3. The "test_string_view" test
+  # 'testTypeError: string_view16_chars(): incompatible function arguments'
+  # fails on Python 2.
+    "-DPYBIND11_CPP_STANDARD=-std=c++17"
+  ];
+
+  dontUseSetuptoolsBuild = true;
+  dontUsePipInstall = true;
+  dontUseSetuptoolsCheck = true;
+
+  preFixup = ''
+    pushd ..
+    export PYBIND11_USE_CMAKE=1
+    setuptoolsBuildPhase
+    pipInstallPhase
+    # Symlink the CMake-installed headers to the location expected by setuptools
+    mkdir -p $out/include/${python.libPrefix}
+    ln -sf $out/include/pybind11 $out/include/${python.libPrefix}/pybind11
+    popd
   '';
 
+  installCheckTarget = "pytest";
+  doInstallCheck = true;
+  checkInputs = [
+    pytest
+    numpy
+    scipy
+  ];
+
   meta = {
     homepage = https://github.com/pybind/pybind11;
     description = "Seamless operability between C++11 and Python";
diff --git a/pkgs/development/python-modules/pybullet/default.nix b/pkgs/development/python-modules/pybullet/default.nix
index f72f09a3328..f4c12f48542 100644
--- a/pkgs/development/python-modules/pybullet/default.nix
+++ b/pkgs/development/python-modules/pybullet/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, libGLU_combined
+, libGLU, libGL
 , xorg
 }:
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [
-    libGLU_combined
+    libGLU libGL
     xorg.libX11
   ];
 
diff --git a/pkgs/development/python-modules/pycairo/default.nix b/pkgs/development/python-modules/pycairo/default.nix
index ca6f7284715..c38366894dc 100644
--- a/pkgs/development/python-modules/pycairo/default.nix
+++ b/pkgs/development/python-modules/pycairo/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycairo";
-  version = "1.18.1";
+  version = "1.18.2";
 
   format = "other";
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "pygobject";
     repo = "pycairo";
     rev = "v${version}";
-    sha256 = "0f4l7d1ibkk8xdspyv5zx8fah9z3x775bd91zirnp37vlgqds7xj";
+    sha256 = "142145a2whvlk92jijrbf3i2bqrzmspwpysj0bfypw0krzi0aa6j";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pycollada/default.nix b/pkgs/development/python-modules/pycollada/default.nix
index 23ed4917cc5..fd3eb1b4c18 100644
--- a/pkgs/development/python-modules/pycollada/default.nix
+++ b/pkgs/development/python-modules/pycollada/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pycollada";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fcd6f38fd981e350f9ec754d9671834017accd600e967d6d299a6cfdae5ba4f4";
+    sha256 = "0b2vz9fp9asw57m3p9zjlz9gddanrhpxbdfimg98ik654kp2vj7r";
   };
 
   propagatedBuildInputs = [ numpy dateutil ];
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix
index c3b807ce43c..17bb7c9dcd0 100644
--- a/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchPypi, buildPythonPackage }:
 
 buildPythonPackage rec {
-  version = "3.9.2";
+  version = "3.9.4";
   pname = "pycryptodome";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e1e007d072d50844188c067c325af8b3ad31e4b87792381469b821e95bf14cd8";
+    sha256 = "a168e73879619b467072509a223282a02c8047d932a48b74fbd498f27224aa04";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix
index 7d3204e021a..bf6ac65fc7f 100644
--- a/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycryptodomex";
-  version = "3.9.2";
+  version = "3.9.4";
 
   meta = {
     description = "A self-contained cryptographic library for Python";
@@ -12,6 +12,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "137e8e2c7438184dae0b940cdf5d0d4f639b1df564a95dadbb7c4ec188850921";
+    sha256 = "22d970cee5c096b9123415e183ae03702b2cd4d3ba3f0ced25c4e1aba3967167";
   };
 }
diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix
index bf92f7360dd..90fd7903808 100644
--- a/pkgs/development/python-modules/pyftgl/default.nix
+++ b/pkgs/development/python-modules/pyftgl/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub
-, boost, freetype, ftgl, libGLU_combined
+, boost, freetype, ftgl, libGLU, libGL
 , python
 }:
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     sed -i "s,'boost_python','boost_python${pythonVersion}',g" setup.py
   '';
 
-  buildInputs = [ boost freetype ftgl libGLU_combined ];
+  buildInputs = [ boost freetype ftgl libGLU libGL ];
 
   meta = with lib; {
     description = "Python bindings for FTGL (FreeType for OpenGL)";
diff --git a/pkgs/development/python-modules/pyfxa/default.nix b/pkgs/development/python-modules/pyfxa/default.nix
index be6502893a3..4bde8e9997a 100644
--- a/pkgs/development/python-modules/pyfxa/default.nix
+++ b/pkgs/development/python-modules/pyfxa/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , requests, cryptography, pybrowserid, hawkauthlib, six
-, grequests, mock, responses, unittest2 }:
+, grequests, mock, responses, pytest }:
 
 buildPythonPackage rec {
   pname = "PyFxA";
@@ -21,9 +21,13 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    grequests mock responses unittest2
+    grequests mock responses pytest
   ];
 
+  checkPhase = ''
+    pytest
+  '';
+
   meta = with lib; {
     description = "Firefox Accounts client library for Python";
     homepage = https://github.com/mozilla/PyFxA;
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index 16484cb1211..e6be92c0efb 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -1,7 +1,8 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, libGLU_combined
+, libGL
+, libGLU
 , xorg
 , future
 , pytest
@@ -34,9 +35,9 @@ buildPythonPackage rec {
         for name in names:
             path = None
             if name == 'GL':
-                path = '${libGLU_combined}/lib/libGL${ext}'
+                path = '${libGL}/lib/libGL${ext}'
             elif name == 'GLU':
-                path = '${libGLU_combined}/lib/libGLU${ext}'
+                path = '${libGLU}/lib/libGLU${ext}'
             elif name == 'c':
                 path = '${glibc}/lib/libc${ext}.6'
             elif name == 'X11':
diff --git a/pkgs/development/python-modules/pykde4/default.nix b/pkgs/development/python-modules/pykde4/default.nix
deleted file mode 100644
index 5be43a412e5..00000000000
--- a/pkgs/development/python-modules/pykde4/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ pyqt4, openssl_1_0_2
-, stdenv, callPackage, fetchurl, cmake, automoc4, sip }:
-
-let
-  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";
-      sha256 = "0x2bghbprwl3az1ni3p87i0bq8r99694la93kg65vi0cz12gh3bl";
-    };
-  });
-  pyqt4_fixed = pyqt4.overrideAttrs (oldAttrs: {
-    propagatedBuildInputs = [ sip4_19_3 ];
-  });
-in stdenv.mkDerivation rec {
-  version = "4.14.3";
-  pname = "pykde4";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1z40gnkyjlv6ds3cmpzvv99394rhmydr6rxx7qj33m83xnsxgfbz";
-  };
-
-  patches = [ ./dlfcn.patch ];
-
-  buildInputs = [
-    kdelibs
-  ];
-
-  nativeBuildInputs = [ cmake automoc4 ];
-
-  propagatedBuildInputs = [ pyqt4_fixed ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    hydraPlatforms = platforms.none;
-    description = "Python bindings for KDE";
-    license = with licenses; [ gpl2 lgpl2 ];
-    homepage = https://api.kde.org/pykde-4.3-api/;
-    maintainers = with maintainers; [ gnidorah ];
-  };
-}
diff --git a/pkgs/development/python-modules/pykde4/dlfcn.patch b/pkgs/development/python-modules/pykde4/dlfcn.patch
deleted file mode 100644
index 63aff46eeab..00000000000
--- a/pkgs/development/python-modules/pykde4/dlfcn.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- __init__.py.orig	2017-11-02 09:06:48.998054459 +0300
-+++ ./__init__.py	2017-11-02 09:24:28.089072752 +0300
-@@ -1,4 +1,8 @@
--import sys,DLFCN
-+import sys
-+try:
-+    import DLFCN
-+except ImportError:
-+    import os as DLFCN
- # This is needed to ensure that dynamic_cast and RTTI works inside kdelibs.
- sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL)
-      
-\ No newline at end of file
diff --git a/pkgs/development/python-modules/pykde4/kdelibs.nix b/pkgs/development/python-modules/pykde4/kdelibs.nix
deleted file mode 100644
index e6f20b8248b..00000000000
--- a/pkgs/development/python-modules/pykde4/kdelibs.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-  stdenv, fetchurl, fetchpatch,
-  automoc4, cmake_2_8, libxslt, perl, pkgconfig, shared-mime-info,
-  attica, docbook_xml_dtd_42, docbook_xsl, giflib,
-  libdbusmenu_qt, libjpeg, phonon, qt4, openssl
-}:
-
-stdenv.mkDerivation rec {
-  version = "4.14.38";
-  pname = "kdelibs";
-  src = fetchurl {
-    url = "mirror://kde/stable/applications/17.08.3/src/${pname}-${version}.tar.xz";
-    sha256 = "1zn3yb09sd22bm54is0rn98amj0398zybl550dp406419sil7z9p";
-  };
-  patches = [
-    # https://phabricator.kde.org/D22989
-    (fetchpatch {
-      url = "https://cgit.kde.org/kdelibs.git/patch/?id=2c3762feddf7e66cf6b64d9058f625a715694a00";
-      sha256 = "1wbzywh8lcc66n6y3pxs18h7cwkq6g216faz27san33jpl8ra1i9";
-      name = "CVE-2019-14744.patch";
-    })
-  ];
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [
-    automoc4 cmake_2_8 libxslt perl pkgconfig shared-mime-info
-  ];
-  buildInputs = [
-    attica giflib libdbusmenu_qt libjpeg openssl
-  ];
-  propagatedBuildInputs = [ qt4 phonon ];
-
-  cmakeFlags = [
-    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
-    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
-    "-DKJS_FORCE_DISABLE_PCRE=true"
-    "-DWITH_SOLID_UDISKS2=OFF"
-  ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    hydraPlatforms = platforms.none;
-    homepage = http://www.kde.org;
-    license = with licenses; [ gpl2 fdl12 lgpl21 ];
-    maintainers = with maintainers; [ gnidorah ];
-  };
-}
diff --git a/pkgs/development/python-modules/pylibacl/default.nix b/pkgs/development/python-modules/pylibacl/default.nix
index f366f6e57f6..08d598c72db 100644
--- a/pkgs/development/python-modules/pylibacl/default.nix
+++ b/pkgs/development/python-modules/pylibacl/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pylibacl";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c3xw1s5bh6jnsc0wwyxnn6kn6x6rpbmmi05ap1f81fyqlgrzgj0";
+    sha256 = "060f375aeff90a16fbc3a827b7e234694ad636485d8ecd6654e01e1fc4ea3b37";
   };
 
   # ERROR: testExtended (tests.test_acls.AclExtensions)
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 8861a364b0f..95f86e31c04 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.4.3";
+  version = "2.4.4";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "856476331f3e26598017290fd65bebe81c960e806776f324093a46b76fb2d1c0";
+    sha256 = "3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/pympler/default.nix b/pkgs/development/python-modules/pympler/default.nix
index a9350f20eb3..85be0b4309c 100644
--- a/pkgs/development/python-modules/pympler/default.nix
+++ b/pkgs/development/python-modules/pympler/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "Pympler";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs";
+    sha256 = "08mrpnb6cv2nvfncvr8a9a8bpwhnasa924anapnjvnaw5jcd4k7p";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix
index dc9b38eec9b..98071962d4f 100644
--- a/pkgs/development/python-modules/pymupdf/default.nix
+++ b/pkgs/development/python-modules/pymupdf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, mupdf, swig }:
 buildPythonPackage rec {
   pname = "PyMuPDF";
-  version = "1.16.7";
+  version = "1.16.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b16c85b2f89cc89e36b59fe734f14e5c939c8b24697bf33ff7a19584e8334976";
+    sha256 = "3099b48a796885c0760d8ac5439131dee1bc6adadf7ae008417e0ca8d8fcdf15";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/pynamodb/default.nix b/pkgs/development/python-modules/pynamodb/default.nix
index 74840d72a94..5016cfb741c 100644
--- a/pkgs/development/python-modules/pynamodb/default.nix
+++ b/pkgs/development/python-modules/pynamodb/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d05d5e2b0f663679ad11421c6fc2cf2f89a2a5843e6ebc372706bf5a78d93762";
+    sha256 = "0njbh3h6696nq5palqa0b8s0fbsvhbawpzl923dnfsa9kgq5m294";
   };
 
   propagatedBuildInputs = [ python-dateutil botocore ];
diff --git a/pkgs/development/python-modules/pyopengl/default.nix b/pkgs/development/python-modules/pyopengl/default.nix
index 11a51f354d9..b00502700e8 100644
--- a/pkgs/development/python-modules/pyopengl/default.nix
+++ b/pkgs/development/python-modules/pyopengl/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     sha256 = "9b47c5c3a094fa518ca88aeed35ae75834d53e4285512c61879f67a48c94ddaf";
   };
 
-  propagatedBuildInputs = [ pkgs.libGLU_combined pkgs.freeglut pillow ];
+  propagatedBuildInputs = [ pkgs.libGLU pkgs.libGL pkgs.freeglut pillow ];
 
   patchPhase = let
     ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
diff --git a/pkgs/development/python-modules/pysaml2/default.nix b/pkgs/development/python-modules/pysaml2/default.nix
index 1528623aa0e..8c0513b0b51 100644
--- a/pkgs/development/python-modules/pysaml2/default.nix
+++ b/pkgs/development/python-modules/pysaml2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pysaml2";
-  version = "4.8.0";
+  version = "4.9.0";
 
   # No tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "IdentityPython";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1nnmk7apg169bawqi06jbx3p0x4sq12kszzl7k6j39273hqq5ii4";
+    sha256 = "1ww1l34zn25vxifs8nr0bg7gkhbpy5g45mj0jj4d8hzimahb1brx";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyscreenshot/default.nix b/pkgs/development/python-modules/pyscreenshot/default.nix
new file mode 100644
index 00000000000..9e9d15e5295
--- /dev/null
+++ b/pkgs/development/python-modules/pyscreenshot/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, EasyProcess
+}:
+
+buildPythonPackage rec {
+  pname = "pyscreenshot";
+  version = "0.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19ec6d17a61c0cd4e7fcf3ab2685598a54b53dc781755393cc5f76dcb7bf359c";
+  };
+
+  propagatedBuildInputs = [
+    EasyProcess
+  ];
+
+  # recursive dependency on pyvirtualdisplay
+  doCheck = false;
+
+  meta = with lib; {
+    description = "python screenshot";
+    homepage = "https://github.com/ponty/pyscreenshot";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyspf/default.nix b/pkgs/development/python-modules/pyspf/default.nix
index 61beac17ab3..0ba230075f9 100644
--- a/pkgs/development/python-modules/pyspf/default.nix
+++ b/pkgs/development/python-modules/pyspf/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyspf";
-  version = "2.0.12"; # version 2.0.13 should not be used, see #72791
+  version = "2.0.13"; # version 2.0.13 should not be used, see #72791
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18j1rmbmhih7q6y12grcj169q7sx1986qn4gmpla9y5gwfh1p8la";
+    sha256 = "62dc1be39519e343202d480da7ef93d834b5a50cd4f217bef9335ed15292929b";
   };
 
   propagatedBuildInputs = [ pydns ];
diff --git a/pkgs/development/python-modules/pytest-bdd/default.nix b/pkgs/development/python-modules/pytest-bdd/default.nix
new file mode 100644
index 00000000000..e215feac44f
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-bdd/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, execnet
+, glob2
+, Mako
+, mock
+, parse
+, parse-type
+, py
+, pytest
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-bdd";
+  version = "3.2.1";
+
+  # tests are not included in pypi tarball
+  src = fetchFromGitHub {
+    owner = "pytest-dev";
+    repo = pname;
+    rev = version;
+    sha256 = "02y28l5h1m9grj54p681qvv7nrhd7ly9jkqdchyw4p0lnmcmnsrd";
+  };
+
+  propagatedBuildInputs = [ glob2 Mako parse parse-type py pytest six ];
+
+  # Tests require extra dependencies
+  checkInputs = [ execnet mock pytest ];
+  checkPhase = ''
+    pytest
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "BDD library for the py.test runner";
+    homepage = https://github.com/pytest-dev/pytest-bdd;
+    license = licenses.mit;
+    maintainers = with maintainers; [ jm2dev ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-qt/default.nix b/pkgs/development/python-modules/pytest-qt/default.nix
new file mode 100644
index 00000000000..4ce0241f415
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-qt/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools_scm
+, pytest
+, pyqt5
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-qt";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f6ecf4b38088ae1092cbd5beeaf714516d1f81f8938626a2eac546206cdfe7fa";
+  };
+
+  nativeBuildInputs = [
+    setuptools_scm
+  ];
+
+  propagatedBuildInputs = [
+    pytest
+  ];
+
+  checkInputs = [
+    pyqt5
+  ];
+
+  # tests require X server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "pytest support for PyQt and PySide applications";
+    homepage = "https://github.com/pytest-dev/pytest-qt";
+    license = licenses.mit;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-repeat/default.nix b/pkgs/development/python-modules/pytest-repeat/default.nix
index afd36155cf7..768ad596734 100644
--- a/pkgs/development/python-modules/pytest-repeat/default.nix
+++ b/pkgs/development/python-modules/pytest-repeat/default.nix
@@ -8,33 +8,29 @@
 
 buildPythonPackage rec {
   pname = "pytest-repeat";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0axbrpqal3cqw9zq6dakdbg49pnf5gvyvq6yn93hp1ayc7fnhzk3";
+    sha256 = "1nbdmklpi0ra1jnfm032wz96y9nxdlcr4m9sjlnffwm7n4x43g2j";
   };
 
-  # fixes support for pytest >3.6. Should be droppable during the
-  # next bump.
-  patches = [
-    (fetchpatch {
-      url = https://github.com/pytest-dev/pytest-repeat/commit/f94b6940e3651b7593aca5a7a987eb56abe04cb1.patch;
-      sha256 = "00da1gmpq9pslcmm8pw93jcbp8j2zymzqdsm6jq3xinkvjpsbmny";
-    })
+  nativeBuildInputs = [
+    setuptools_scm
   ];
 
-  buildInputs = [ setuptools_scm ];
-  checkInputs = [ pytest ];
+  checkInputs = [
+    pytest
+  ];
 
   checkPhase = ''
-    py.test
+    pytest
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Pytest plugin for repeating tests";
-    homepage = https://github.com/pytest-dev/pytest-repeat;
-    maintainers = with lib.maintainers; [ costrouc ];
-    license = lib.licenses.mpl20;
+    homepage = "https://github.com/pytest-dev/pytest-repeat";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/pkgs/development/python-modules/pytest-rerunfailures/default.nix
index 79ce9fa63a9..f5c35905cf6 100644
--- a/pkgs/development/python-modules/pytest-rerunfailures/default.nix
+++ b/pkgs/development/python-modules/pytest-rerunfailures/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-rerunfailures";
-  version = "7.0";
+  version = "8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zfm9v80bqfdapygy9wmi6j6y5c179ixpnh9ih27py4v6cqwzjgk";
+    sha256 = "04p8rfvv7yi3gsdm1dw1mfhjwg6507rhgj7nbm5gfqw4kxmj7h8p";
   };
 
   checkInputs = [ mock pytest ];
diff --git a/pkgs/development/python-modules/pytest-xvfb/default.nix b/pkgs/development/python-modules/pytest-xvfb/default.nix
new file mode 100644
index 00000000000..b9ae9be428d
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-xvfb/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, virtual-display
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-xvfb";
+  version = "1.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a7544ca8d0c7c40db4b40d7a417a7b071c68d6ef6bdf9700872d7a167302f979";
+  };
+
+  propagatedBuildInputs = [
+    pytest
+    virtual-display
+  ];
+
+  meta = with lib; {
+    description = "A pytest plugin to run Xvfb for tests";
+    homepage = "https://github.com/The-Compiler/pytest-xvfb";
+    license = licenses.mit;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 39eed4f13c6..a0e26b44201 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -3,7 +3,7 @@
 , atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy, python
 }:
 buildPythonPackage rec {
-  version = "5.2.2";
+  version = "5.2.4";
   pname = "pytest";
 
   disabled = !isPy3k;
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "27abc3fef618a01bebb1f0d6d303d2816a99aa87a5968ebc32fe971be91eb1e6";
+    sha256 = "ff0090819f669aaa0284d0f4aad1a6d9d67a6efdc6dd4eb4ac56b704f890a0d6";
   };
 
   checkInputs = [ hypothesis mock ];
diff --git a/pkgs/development/python-modules/python-daemon/default.nix b/pkgs/development/python-modules/python-daemon/default.nix
index 41b7aa78bab..e33aee6c1c9 100644
--- a/pkgs/development/python-modules/python-daemon/default.nix
+++ b/pkgs/development/python-modules/python-daemon/default.nix
@@ -1,4 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi, mock, testscenarios, docutils, lockfile }:
+{ lib, buildPythonPackage, fetchPypi
+, docutils
+, lockfile
+, mock
+, pytest
+, testscenarios
+, twine
+}:
 
 buildPythonPackage rec {
   pname = "python-daemon";
@@ -9,12 +16,22 @@ buildPythonPackage rec {
     sha256 = "57c84f50a04d7825515e4dbf3a31c70cc44414394a71608dee6cfde469e81766";
   };
 
-  # A test fail within chroot builds.
-  doCheck = false;
-
-  buildInputs = [ mock testscenarios ];
+  nativeBuildInputs = [ twine ];
   propagatedBuildInputs = [ docutils lockfile ];
 
+  checkInputs = [ pytest mock testscenarios ];
+  checkPhase = ''
+    pytest -k 'not detaches_process_context \
+                and not standard_stream_file_descriptors'
+  '';
+
+  pythonImportsCheck = [
+    "daemon"
+    "daemon.daemon"
+    "daemon.pidfile"
+    "daemon.runner"
+  ];
+
   meta = with lib; {
     description = "Library to implement a well-behaved Unix daemon process";
     homepage = "https://pagure.io/python-daemon/";
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
index bf6d4cd2381..e1c380b64c3 100644
--- a/pkgs/development/python-modules/python-engineio/default.nix
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "3.9.3";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "v${version}";
-    sha256 = "0rwlj12d37dpw6y3bdn6rxv68xnd9ykj4fr3ly0fa143xci35d9y";
+    sha256 = "1495r55177c38wq88pb28l50dfd4213iyxwq1k5rmsgp66vww09s";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix
index def0a2c0adb..4858ef8f8a6 100644
--- a/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/pkgs/development/python-modules/python-gitlab/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname   = "python-gitlab";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "984e110c1f76fd939652c30ce3101267a7064e34417cbfc4687e6106d4db54ec";
+    sha256 = "125zimbdprfx2j90dp19hyh60lzj11264bm494awc585pr6v9d3k";
   };
 
   propagatedBuildInputs = [ requests six ];
diff --git a/pkgs/development/python-modules/python-periphery/default.nix b/pkgs/development/python-modules/python-periphery/default.nix
index 38642f066d7..4d10c985092 100644
--- a/pkgs/development/python-modules/python-periphery/default.nix
+++ b/pkgs/development/python-modules/python-periphery/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "python-periphery";
-  version = "1.1.2";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bhzkzjvz6zb6rc5zmvgqfszrcyh64v1hay7m1m5dn083gaznyk9";
+    sha256 = "1arsibmc19iyzr70lqfrkq0fk6gd6imm3zxa7zxv93b6lwl5bw1d";
   };
 
   # Some tests require physical probing and additional physical setup
diff --git a/pkgs/development/python-modules/python-stdnum/default.nix b/pkgs/development/python-modules/python-stdnum/default.nix
index 06577249a02..556be12872b 100644
--- a/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/pkgs/development/python-modules/python-stdnum/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchPypi, buildPythonPackage, nose }:
 
 buildPythonPackage rec {
-  version = "1.11";
+  version = "1.12";
   pname = "python-stdnum";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d5f0af1bee9ddd9a20b398b46ce062dbd4d41fcc9646940f2667256a44df3854";
+    sha256 = "19fb5asv0ngnbpiz1bqzq2jhgn845kv9hjcjajsgzgfp2k24f4sc";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/pywebkitgtk/default.nix b/pkgs/development/python-modules/pywebkitgtk/default.nix
deleted file mode 100644
index c76f1f47077..00000000000
--- a/pkgs/development/python-modules/pywebkitgtk/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchurl
-, pkgs
-, pygtk
-}:
-
-buildPythonPackage rec {
-  pname = "pywebkitgtk";
-  version = "1.1.8";
-  format = "other";
-
-  src = fetchurl {
-    url = "http://pywebkitgtk.googlecode.com/files/${pname}-${version}.tar.bz2";
-    sha256 = "1svlwyl61rvbqbcbalkg6pbf38yjyv7qkq9sx4x35yk69lscaac2";
-  };
-
-  nativeBuildInputs = [ pkgs.pkgconfig ];
-  buildInputs = [ pygtk pkgs.gtk2 pkgs.libxml2 pkgs.libxslt pkgs.libsoup pkgs.webkitgtk24x-gtk2 pkgs.icu ];
-
-  meta = with stdenv.lib; {
-    homepage = "https://code.google.com/p/pywebkitgtk/";
-    description = "Python bindings for the WebKit GTK port";
-    license = licenses.lgpl2Plus;
-  };
-
-}
diff --git a/pkgs/development/python-modules/pyzmq/default.nix b/pkgs/development/python-modules/pyzmq/default.nix
index bb9aeaf3201..f1ecdf7c4f4 100644
--- a/pkgs/development/python-modules/pyzmq/default.nix
+++ b/pkgs/development/python-modules/pyzmq/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pyzmq";
-  version = "18.1.0";
+  version = "18.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93f44739db69234c013a16990e43db1aa0af3cf5a4b8b377d028ff24515fbeb3";
+    sha256 = "8c69a6cbfa94da29a34f6b16193e7c15f5d3220cb772d6d17425ff3faa063a6d";
   };
 
   checkInputs = [  pytest tornado ];
diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix
index 42b03849283..5da97c964c1 100644
--- a/pkgs/development/python-modules/rasterio/default.nix
+++ b/pkgs/development/python-modules/rasterio/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.1.0";
+  version = "1.1.1";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "rasterio";
     rev = version;
-    sha256 = "0xa9jazsgsf7is4dbf2bbnfga8q8nmqy0qq4i7jj3riiccwlm6xw";
+    sha256 = "1d0y16c5da252nj3pbdjwbzmd5kmh533s8jwlvg3aappa7h7qc1s";
   };
 
   checkInputs = [ boto3 pytest pytestcov packaging hypothesis ] ++ lib.optional (!isPy3k) mock;
diff --git a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
index 8b3487a98c6..948e523cb7e 100644
--- a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
+++ b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "readthedocs-sphinx-ext";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cc94753be6b2db997e3291046b39e49d578f6441fd75159db22a51a29d2cf1fc";
+    sha256 = "c920d8129752ee3f339c8cf3dfeba800a25730249d6ab43dc9b3c384312d1d32";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/reproject/default.nix b/pkgs/development/python-modules/reproject/default.nix
index d16f9fd2929..18fdd682f71 100644
--- a/pkgs/development/python-modules/reproject/default.nix
+++ b/pkgs/development/python-modules/reproject/default.nix
@@ -6,26 +6,37 @@
 , astropy-healpix
 , astropy-helpers
 , scipy
+, pytest
+, pytest-astropy
+, cython
 }:
 
 buildPythonPackage rec {
   pname = "reproject";
-  version = "0.5.1";
-
-  doCheck = false; # tests require pytest-astropy
+  version = "0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "069rha55cbm8vsi1qf8zydds42lgkcc97sd57hmjw1mgiz025xrp";
+    sha256 = "484fde86d70d972d703038f138d7c2966ddf51171a6e79bd84e82ea270e27af3";
   };
 
   propagatedBuildInputs = [ numpy astropy astropy-healpix astropy-helpers scipy ];
 
+  nativeBuildInputs = [ astropy-helpers cython ];
+
   # Disable automatic update of the astropy-helper module
   postPatch = ''
     substituteInPlace setup.cfg --replace "auto_use = True" "auto_use = False"
   '';
 
+  checkInputs = [ pytest pytest-astropy ];
+
+  # Tests must be run in the build directory
+  checkPhase = ''
+    cd build/lib*
+    pytest
+  '';
+
   meta = with lib; {
     description = "Reproject astronomical images";
     homepage = https://reproject.readthedocs.io;
diff --git a/pkgs/development/python-modules/rpy2/2.nix b/pkgs/development/python-modules/rpy2/2.nix
new file mode 100644
index 00000000000..aef184d4afc
--- /dev/null
+++ b/pkgs/development/python-modules/rpy2/2.nix
@@ -0,0 +1,108 @@
+{ lib
+, python
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, isPy27
+, readline
+, R
+, rWrapper
+, rPackages
+, pcre
+, lzma
+, bzip2
+, zlib
+, icu
+, singledispatch
+, six
+, jinja2
+, pytz
+, numpy
+, pytest
+, mock
+, extraRPackages ? []
+}:
+
+buildPythonPackage rec {
+    version = "2.8.6"; # python2 support dropped in 2.9.x
+    pname = "rpy2";
+    disabled = isPyPy;
+    src = fetchPypi {
+      inherit version pname;
+      sha256 = "162zki5c1apgv6qbafi7n66y4hgpgp43xag7q75qb6kv99ri6k80";
+    };
+    buildInputs = [
+      readline
+      R
+      pcre
+      lzma
+      bzip2
+      zlib
+      icu
+    ] ++ (with rPackages; [
+      # packages expected by the test framework
+      ggplot2
+      dplyr
+      RSQLite
+      broom
+      DBI
+      dbplyr
+      hexbin
+      lme4
+      tidyr
+
+      # is in upstream's `requires` although it shouldn't be -- this is easier than patching it away
+      pytest
+    ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
+
+    nativeBuildInputs = [
+      R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly)
+    ];
+
+    patches = [
+      # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
+      # This patch sets R_LIBS_SITE when rpy2 is imported.
+      ./r-libs-site.patch
+    ];
+    postPatch = ''
+      substituteInPlace ${ if isPy27 then "rpy/rinterface/__init__.py" else "rpy2/rinterface_lib/embedded.py" } --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+    '';
+
+    doPatchelf = false; # fails because of "missing filename"
+    patchelfPhase = "";
+
+    propagatedBuildInputs = [
+      singledispatch
+      six
+      jinja2
+      pytz
+      numpy
+    ];
+
+    checkInputs = [
+      pytest
+      mock
+    ];
+    # One remaining test failure caused by different unicode encoding.
+    # https://bitbucket.org/rpy2/rpy2/issues/488
+    doCheck = false;
+    checkPhase = ''
+      ${python.interpreter} -m 'rpy2'
+    '';
+
+    # For some reason libreadline.so is not found. Curiously `ldd _rinterface.so | grep readline` shows two readline entries:
+    # libreadline.so.6 => not found
+    # libreadline.so.6 => /nix/store/z2zhmrg6jcrn5iq2779mav0nnq4vm2q6-readline-6.3p08/lib/libreadline.so.6 (0x00007f333ac43000)
+    # There must be a better way to fix this, but I don't know it.
+    postFixup = ''
+      patchelf --add-needed ${readline}/lib/libreadline.so "$out/${python.sitePackages}/rpy2/rinterface/"_rinterface*.so
+    '';
+
+    meta = {
+      homepage = http://rpy.sourceforge.net/rpy2;
+      description = "Python interface to R";
+      license = lib.licenses.gpl2Plus;
+      platforms = lib.platforms.unix;
+      maintainers = with lib.maintainers; [ joelmo ];
+    };
+  }
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index 1b4ab4d40db..bc4bc0bcb5b 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -3,8 +3,6 @@
 , buildPythonPackage
 , fetchPypi
 , isPyPy
-, isPy27
-, readline
 , R
 , rWrapper
 , rPackages
@@ -13,38 +11,38 @@
 , bzip2
 , zlib
 , icu
-, singledispatch
-, six
+, ipython
 , jinja2
 , pytz
+, pandas
 , numpy
+, cffi
+, tzlocal
+, simplegeneric
 , pytest
-, mock
 , extraRPackages ? []
 }:
 
 buildPythonPackage rec {
-    version = if isPy27 then
-      "2.8.6" # python2 support dropped in 2.9.x
-    else
-      "2.9.5";
+    version = "3.2.2";
     pname = "rpy2";
+
     disabled = isPyPy;
     src = fetchPypi {
       inherit version pname;
-      sha256 = if isPy27 then
-        "162zki5c1apgv6qbafi7n66y4hgpgp43xag7q75qb6kv99ri6k80" # 2.8.x
-      else
-        "1nrj8pgyxrwrfdrxzb4j3z1adjwjx1mr8d1n5cmrz4nhlzy8w7xr"; # 2.9.x
+      sha256 = "0b3jpn9x7m2pccriyzgfsdb68qp6nq4ffhvjy1q2ar8wdxvmf5xp";
     };
+
     buildInputs = [
-      readline
       R
       pcre
       lzma
       bzip2
       zlib
       icu
+
+      # is in the upstream `requires` although it shouldn't be -- this is easier than patching it away
+      pytest
     ] ++ (with rPackages; [
       # packages expected by the test framework
       ggplot2
@@ -58,6 +56,10 @@ buildPythonPackage rec {
       tidyr
     ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
 
+    checkPhase = ''
+      pytest
+    '';
+
     nativeBuildInputs = [
       R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly)
     ];
@@ -65,38 +67,26 @@ buildPythonPackage rec {
     patches = [
       # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
       # This patch sets R_LIBS_SITE when rpy2 is imported.
-      ./r-libs-site.patch
+      ./rpy2-3.x-r-libs-site.patch
     ];
     postPatch = ''
-      substituteInPlace rpy/rinterface/__init__.py --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+      substituteInPlace 'rpy2/rinterface_lib/embedded.py' --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
     '';
 
     propagatedBuildInputs = [
-      singledispatch
-      six
+      ipython
       jinja2
       pytz
+      pandas
       numpy
+      cffi
+      tzlocal
+      simplegeneric
     ];
 
     checkInputs = [
       pytest
-      mock
     ];
-    # One remaining test failure caused by different unicode encoding.
-    # https://bitbucket.org/rpy2/rpy2/issues/488
-    doCheck = false;
-    checkPhase = ''
-      ${python.interpreter} -m 'rpy2.tests'
-    '';
-
-    # For some reason libreadline.so is not found. Curiously `ldd _rinterface.so | grep readline` shows two readline entries:
-    # libreadline.so.6 => not found
-    # libreadline.so.6 => /nix/store/z2zhmrg6jcrn5iq2779mav0nnq4vm2q6-readline-6.3p08/lib/libreadline.so.6 (0x00007f333ac43000)
-    # There must be a better way to fix this, but I don't know it.
-    postFixup = ''
-      patchelf --add-needed ${readline}/lib/libreadline.so "$out/${python.sitePackages}/rpy2/rinterface/"_rinterface*.so
-    '';
 
     meta = {
       homepage = http://rpy.sourceforge.net/rpy2;
diff --git a/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch b/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch
new file mode 100644
index 00000000000..177e4f9a83d
--- /dev/null
+++ b/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch
@@ -0,0 +1,21 @@
+diff --git a/rpy2/rinterface_lib/embedded.py b/rpy2/rinterface_lib/embedded.py
+index cc32b6d..3969ad0 100644
+--- a/rpy2/rinterface_lib/embedded.py
++++ b/rpy2/rinterface_lib/embedded.py
+@@ -113,6 +113,16 @@ def _initr(interactive: bool = True,
+         if isinitialized():
+             return None
+         os.environ['R_HOME'] = openrlib.R_HOME
++
++        # path to libraries
++        existing = os.environ.get('R_LIBS_SITE')
++        if existing is not None:
++            prefix = existing + ':'
++        else:
++            prefix = ''
++        additional = '@NIX_R_LIBS_SITE@'
++        os.environ['R_LIBS_SITE'] = prefix + additional
++
+         options_c = [ffi.new('char[]', o.encode('ASCII')) for o in _options]
+         n_options = len(options_c)
+         n_options_c = ffi.cast('int', n_options)
diff --git a/pkgs/development/python-modules/runway-python/default.nix b/pkgs/development/python-modules/runway-python/default.nix
index 62e0d2f0beb..3c893a9a227 100644
--- a/pkgs/development/python-modules/runway-python/default.nix
+++ b/pkgs/development/python-modules/runway-python/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "runway-python";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00cf6fa9ea3b6a195e9eca96216a9d206b6884624d0214bd776f8654cd5e8fea";
+    sha256 = "30046ced74b5502eca604b1ae766fd3daa1b5ed6379fbe1210730710c752d4f6";
   };
 
   propagatedBuildInputs = [ flask flask-cors numpy pillow gevent wget six colorcet ];
diff --git a/pkgs/development/python-modules/send2trash/default.nix b/pkgs/development/python-modules/send2trash/default.nix
index 35115a45716..3809c0418e4 100644
--- a/pkgs/development/python-modules/send2trash/default.nix
+++ b/pkgs/development/python-modules/send2trash/default.nix
@@ -1,15 +1,12 @@
 { stdenv
-, lib
 , buildPythonPackage
 , fetchFromGitHub
 , pytest
-, configparser
-, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "Send2Trash";
-  version = "1.4.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "hsoft";
@@ -19,10 +16,10 @@ buildPythonPackage rec {
   };
 
   doCheck = !stdenv.isDarwin;
-  checkPhase = "HOME=. py.test";
-  checkInputs = [ pytest ] ++ lib.optional (!isPy3k) configparser;
+  checkPhase = "HOME=$TMPDIR pytest";
+  checkInputs = [ pytest ];
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "Send file to trash natively under macOS, Windows and Linux";
     homepage = https://github.com/hsoft/send2trash;
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index da729f5ab0b..daba816cfdb 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -1,4 +1,22 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, urllib3, certifi, django, flask, tornado, bottle, rq, falcon, celery, pyramid, sanic, aiohttp }:
+{ aiohttp
+, bottle
+, buildPythonPackage
+, celery
+, certifi
+, django
+, falcon
+, fetchPypi
+, flask
+, iana-etc
+, isPy3k
+, libredirect
+, pyramid
+, rq
+, sanic
+, stdenv
+, tornado
+, urllib3
+}:
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
@@ -20,4 +38,14 @@ buildPythonPackage rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ gebner ];
   };
+
+  # The Sentry tests need access to `/etc/protocols` (the tests call
+  # `socket.getprotobyname('tcp')`, which reads from this file). Normally
+  # this path isn't available in the sandbox. Therefore, use libredirect
+  # to make on eavailable from `iana-etc`. This is a test-only operation.
+  preCheck = ''
+    export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols
+    export LD_PRELOAD=${libredirect}/lib/libredirect.so
+  '';
+  postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
 }
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 9254e53d142..ae39271a4b0 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -13,7 +13,7 @@
 
 let
   pname = "setuptools";
-  version = "41.4.0";
+  version = "41.6.0";
 
   # Create an sdist of setuptools
   sdist = stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ let
       owner = "pypa";
       repo = pname;
       rev = "v${version}";
-      sha256 = "0asxfnsi56r81lm48ynqbfkmm3kvw2jwrlf2l9azn5w6xm30jvp5";
+      sha256 = "0j7bfxq9fwa55ijzw8zn9aa2z2zx4lw2n4jbn1662pjg7v62knv1";
       name = "${pname}-${version}-source";
     };
 
diff --git a/pkgs/development/python-modules/shodan/default.nix b/pkgs/development/python-modules/shodan/default.nix
index 7202b3cf70e..2e0af01fef0 100644
--- a/pkgs/development/python-modules/shodan/default.nix
+++ b/pkgs/development/python-modules/shodan/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1i4zrzamvgy3g117a2x66gyi7pzh27slc2w9pqysc0ldfcibi2wx";
+    sha256 = "76b8a3ba577a62799e3ea86410aea54e1f403ef6efbf681a3f38baa2bf4e1c58";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slicedimage/default.nix b/pkgs/development/python-modules/slicedimage/default.nix
index e121013c150..edc21e3292d 100644
--- a/pkgs/development/python-modules/slicedimage/default.nix
+++ b/pkgs/development/python-modules/slicedimage/default.nix
@@ -12,6 +12,7 @@
 , six
 , pytest
 , isPy27
+, tifffile
 }:
 
 buildPythonPackage rec {
@@ -31,14 +32,16 @@ buildPythonPackage rec {
     requests
     scikitimage
     six
+    tifffile
   ] ++ lib.optionals isPy27 [ pathlib enum34 ];
 
   checkInputs = [
     pytest
   ];
 
+  # ignore tests which require setup
   checkPhase = ''
-    pytest
+    pytest --ignore tests/io_
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart_open/default.nix
index 325f59b1df2..48cfcb132f0 100644
--- a/pkgs/development/python-modules/smart_open/default.nix
+++ b/pkgs/development/python-modules/smart_open/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "smart_open";
-  version = "1.8.4";
+  version = "1.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1y845mfsswyvczknwh359xprgc3hk8r17qy1wdibpz6y6pq0g3kq";
+    sha256 = "0xmnp8ywakwg3y21gqdvjw8a4v42vaxfq6njqizzllm4c9g2nk76";
   };
 
   # nixpkgs version of moto is >=1.2.0, remove version pin to fix build
diff --git a/pkgs/development/python-modules/spectral-cube/default.nix b/pkgs/development/python-modules/spectral-cube/default.nix
index e12f00cf7a7..39edcf9b8f5 100644
--- a/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/pkgs/development/python-modules/spectral-cube/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchPypi
+, fetchFromGitHub
 , buildPythonPackage
 , astropy
 , radio_beam
@@ -10,11 +10,14 @@
 
 buildPythonPackage rec {
   pname = "spectral-cube";
-  version = "0.4.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9051ede204b1e25b6358b5e0e573b624ec0e208c24eb03a7ed4925b745c93b5e";
+  version = "0.4.5";
+
+  # Fetch from GitHub instead of PyPi, as 0.4.5 isn't available in PyPi
+  src = fetchFromGitHub {
+    owner = "radio-astro-tools";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xc1m6vpl0bm600fx9vypa7zcvwg7yvhgn0w89y6v9d1vl0qcs7z";
   };
 
   propagatedBuildInputs = [ astropy radio_beam ];
@@ -40,8 +43,6 @@ buildPythonPackage rec {
     license = lib.licenses.bsd3;
     platforms = lib.platforms.all;
     maintainers = with lib.maintainers; [ smaret ];
-    broken = true;
   };
 }
 
-
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index e9e14b7da4d..e77f2e0e7b2 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, isPy35
+{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k, isPy35
 , mock
 , pysqlite
 , fetchpatch
@@ -25,7 +25,9 @@ buildPythonPackage rec {
 
   dontUseSetuptoolsCheck = true;
 
-  disabledTests = lib.optionals isPy35 [ "exception_persistent_flush_py3k "];
+  # disable mem-usage tests on mac, has trouble serializing pickle files
+  disabledTests = lib.optionals isPy35 [ "exception_persistent_flush_py3k "]
+    ++ lib.optionals stdenv.isDarwin [ "MemUsageWBackendTest" "MemUsageTest" ];
 
   patches = [
     # Two patches for sqlite 3.30 compatibility.
diff --git a/pkgs/development/python-modules/starfish/default.nix b/pkgs/development/python-modules/starfish/default.nix
index 7cad8346a6f..25ce5a0f651 100644
--- a/pkgs/development/python-modules/starfish/default.nix
+++ b/pkgs/development/python-modules/starfish/default.nix
@@ -26,11 +26,11 @@
 
 buildPythonPackage rec {
   pname = "starfish";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6924404b9ce7c55b427bebc5712656b87d17b5114e9fb610f2821865bd8d70f4";
+    sha256 = "02002b908572fcd2c7471475936a6c375f143d15df871399ce86ced6d7aef865";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix
index 252eafec465..09732252437 100644
--- a/pkgs/development/python-modules/sunpy/default.nix
+++ b/pkgs/development/python-modules/sunpy/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchFromGitHub
 , numpy
@@ -26,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "1.0.2";
+  version = "1.0.6";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "sunpy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dmfzxxsjjax9wf2ljyl4z07pxbshrj828zi5qnsa9rgk4148q9x";
+    sha256 = "0j2yfhfxgi95rig8cfp9lvszb7694gq90jvs0xrb472hwnzgh2sk";
   };
 
   propagatedBuildInputs = [
@@ -67,8 +68,11 @@ buildPythonPackage rec {
     export HOME=$(mktemp -d)
   '';
 
+  # darwin has write permission issues
+  doCheck = stdenv.isLinux;
+  # ignore documentation tests
   checkPhase = ''
-    pytest sunpy -k "not test_rotation"
+    pytest sunpy -k 'not rst'
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tabulate/default.nix b/pkgs/development/python-modules/tabulate/default.nix
index 956a10b6b04..cda898d2725 100644
--- a/pkgs/development/python-modules/tabulate/default.nix
+++ b/pkgs/development/python-modules/tabulate/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.5";
+  version = "0.8.6";
   pname = "tabulate";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d0097023658d4dea848d6ae73af84532d1e86617ac0925d1adf1dd903985dac3";
+    sha256 = "5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/tasklib/default.nix b/pkgs/development/python-modules/tasklib/default.nix
index 73b92ea6d4b..197c98def3a 100644
--- a/pkgs/development/python-modules/tasklib/default.nix
+++ b/pkgs/development/python-modules/tasklib/default.nix
@@ -8,11 +8,11 @@ wsl_stub = writeShellScriptBin "wsl" "true";
 
 in buildPythonPackage rec {
   pname = "tasklib";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3964fb7e87f86dc5e2708addb67e69d0932534991991b6bae2e37a0c2059273f";
+    sha256 = "19yra86g3wz2xgk22dnrjjh3gla969vb8jrps5rf0cdmsm9qqisv";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/terminado/default.nix b/pkgs/development/python-modules/terminado/default.nix
index dbcc5935e5e..af1c4d53e13 100644
--- a/pkgs/development/python-modules/terminado/default.nix
+++ b/pkgs/development/python-modules/terminado/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "terminado";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de08e141f83c3a0798b050ecb097ab6259c3f0331b2f7b7750c9075ced2c20c2";
+    sha256 = "4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2";
   };
 
   propagatedBuildInputs = [ ptyprocess tornado ];
diff --git a/pkgs/development/python-modules/tesserocr/default.nix b/pkgs/development/python-modules/tesserocr/default.nix
new file mode 100644
index 00000000000..2d4f9d10a8c
--- /dev/null
+++ b/pkgs/development/python-modules/tesserocr/default.nix
@@ -0,0 +1,34 @@
+{
+  buildPythonPackage,
+  fetchPypi,
+  lib,
+  # build dependencies
+  cython,
+  leptonica,
+  pkg-config,
+  tesseract,
+  # extra python packages
+  pillow
+}:
+
+buildPythonPackage rec {
+  pname = "tesserocr";
+  version = "2.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0nj33mwvppacy6p5mqk9a4x26hx9ailshgad84ks60wyms6rgjiv";
+  };
+
+  nativeBuildInputs = [ cython pkg-config ];
+  buildInputs = [ leptonica tesseract ];
+  propagatedBuildInputs = [ pillow ];
+
+  meta = with lib; {
+    description = "A simple, Pillow-friendly, wrapper around the tesseract-ocr API for Optical Character Recognition (OCR)";
+    homepage = "https://github.com/sirfz/tesserocr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mtrsk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix
index f429f72cc01..caad4940904 100644
--- a/pkgs/development/python-modules/testfixtures/default.nix
+++ b/pkgs/development/python-modules/testfixtures/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "testfixtures";
-  version = "6.10.1";
+  version = "6.10.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "abbca7ed381d34a77699c6cb68be67919a1e7f5cf8728b57396145417fa34110";
+    sha256 = "c0eb9d20ce3b53e0cf543da7c46c263cc9792f13223def8b26edb6180ecdc895";
   };
 
   checkInputs = [ pytest mock sybil zope_component twisted ];
diff --git a/pkgs/development/python-modules/textwrap3/default.nix b/pkgs/development/python-modules/textwrap3/default.nix
new file mode 100644
index 00000000000..5b8e10db83e
--- /dev/null
+++ b/pkgs/development/python-modules/textwrap3/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tox
+, pytest
+, coverage
+, pytestcov
+}:
+
+buildPythonPackage rec {
+  pname = "textwrap3";
+  version = "0.9.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "5008eeebdb236f6303dcd68f18b856d355f6197511d952ba74bc75e40e0c3414";
+  };
+
+  checkInputs = [
+    tox
+    pytest
+    coverage
+    pytestcov
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Textwrap from Python 3.6 backport plus a few tweaks";
+    homepage = https://github.com/jonathaneunice/textwrap3;
+    license = licenses.psfl;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/tinydb/default.nix b/pkgs/development/python-modules/tinydb/default.nix
new file mode 100644
index 00000000000..f4de29b5e6c
--- /dev/null
+++ b/pkgs/development/python-modules/tinydb/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, pytestcov
+, pytestrunner
+, pycodestyle
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "tinydb";
+  version = "v3.14.1";
+
+  src = fetchFromGitHub {
+    owner = "msiemens";
+    repo = pname;
+    rev = version;
+    sha256 = "02idbvrm8j4mwsjfkzy11f4png19k307p53s4qa2ifzssysxpb96";
+  };
+
+  nativeBuildInputs = [
+    pytestrunner
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    pycodestyle
+    pyyaml
+  ];
+
+  meta = with lib; {
+    description = "A lightweight document oriented database written in pure Python with no external dependencies";
+    homepage = "https://github.com/msiemens/tinydb";
+    license = licenses.asl20;                                                                                                                                                                      
+    maintainers = with maintainers; [ marcus7070 ];
+  };
+}
diff --git a/pkgs/development/python-modules/tld/default.nix b/pkgs/development/python-modules/tld/default.nix
index 95c3756dade..719ea78b732 100644
--- a/pkgs/development/python-modules/tld/default.nix
+++ b/pkgs/development/python-modules/tld/default.nix
@@ -2,11 +2,11 @@
 
 python.pkgs.buildPythonPackage rec {
   pname   = "tld";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cef15360ec42547a583d49ef5246936b3ace424a95c00b59c09dcbe44b289961";
+    sha256 = "5963b22029e632a17bde87e35a19dc8c5b17266fb8c58e4d550d5593307e3a72";
   };
 
   propagatedBuildInputs = with python.pkgs; [ six ];
diff --git a/pkgs/development/python-modules/tox/default.nix b/pkgs/development/python-modules/tox/default.nix
index fdc2c9167a3..c24343b4695 100644
--- a/pkgs/development/python-modules/tox/default.nix
+++ b/pkgs/development/python-modules/tox/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "3.14.0";
+  version = "3.14.1";
 
   buildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ packaging pluggy py six virtualenv toml filelock ];
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c4f6b319c20ba4913dbfe71ebfd14ff95d1853c4231493608182f66e566ecfe1";
+    sha256 = "bcfa3e40abc1e9b70607b56adfd976fe7dc8286ad56aab44e3151daca7d2d0d0";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/traits/default.nix b/pkgs/development/python-modules/traits/default.nix
index bcf205aa1d2..84aa1c5784e 100644
--- a/pkgs/development/python-modules/traits/default.nix
+++ b/pkgs/development/python-modules/traits/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "traits";
-  version = "5.1.2";
+  version = "5.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a17qmpw0z9h7ybh5yxrghvkcf2q90vgxzbnv1n4i0fxhi7mjy3s";
+    sha256 = "1b71vp0l4523428aw098xw6rmkl8vlcy2aag40akijbyz1nnk541";
   };
 
   # Use pytest because its easier to discover tests
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 95c58e20d91..9098d41bd69 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "6.32.0";
+  version = "6.33.1";
   # tests not included in PyPi, so fetch from github instead
   src = fetchFromGitHub {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "0by2qjzxv13k4lvy4mas0hf468xf98qbc2arc8fcy6aj7h8jaam8";
+    sha256 = "1k8hf4azgjzb4fifclzi8gj6v22368jk3y9f7f9qhq9ina7ilycj";
   };
 
   buildInputs = [ nose mock ];
diff --git a/pkgs/development/python-modules/uncompyle6/default.nix b/pkgs/development/python-modules/uncompyle6/default.nix
index abc072b19b7..d4e8d1505d6 100644
--- a/pkgs/development/python-modules/uncompyle6/default.nix
+++ b/pkgs/development/python-modules/uncompyle6/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "uncompyle6";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e6e86c05de588cbf5a2c35ddd080f23cd1770a1ad15c84dc1b2c78d65113af7";
+    sha256 = "af6aea84ca42c889986f8baf86ccb9e3faae5ac1eaef470d2317dfe4131708b3";
   };
 
   checkInputs = [ nose pytest hypothesis six ];
diff --git a/pkgs/development/python-modules/uproot/default.nix b/pkgs/development/python-modules/uproot/default.nix
index 6fd90fc3a18..f98b3411242 100644
--- a/pkgs/development/python-modules/uproot/default.nix
+++ b/pkgs/development/python-modules/uproot/default.nix
@@ -3,6 +3,7 @@
 , backports_lzma
 , cachetools
 , lz4
+, pandas
 , pytestrunner
 , pytest
 , pkgconfig
@@ -15,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "uproot";
-  version = "3.10.10";
+  version = "3.10.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c780472c5c328d2e34508db1da399038653142572fc3d0b5777b2311edabd83";
+    sha256 = "34953903abe09bbab3ec1a9a4843b05c75b218daa6132c8275d871e88b6e3447";
   };
 
   nativeBuildInputs = [ pytestrunner ];
@@ -27,6 +28,7 @@ buildPythonPackage rec {
   checkInputs = [
     lz4
     mock
+    pandas
     pkgconfig
     pytest
     requests
diff --git a/pkgs/development/python-modules/uranium/default.nix b/pkgs/development/python-modules/uranium/default.nix
index 1777a5d1455..a8259451bb0 100644
--- a/pkgs/development/python-modules/uranium/default.nix
+++ b/pkgs/development/python-modules/uranium/default.nix
@@ -2,7 +2,7 @@
 , pyqt5, numpy, scipy, shapely, libarcus, doxygen, gettext, pythonOlder }:
 
 buildPythonPackage rec {
-  version = "4.3.0";
+  version = "4.4.0";
   pname = "uranium";
   format = "other";
 
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "Ultimaker";
     repo = "Uranium";
     rev = version;
-    sha256 = "13dk6hkwrzljp1dyb40cyfnfbnl7dvlqsm0ncnmxhwizxr31jb8c";
+    sha256 = "1hy7lhn48mfrmfx6mbqxzc6bfh9ndnvcwjlsb6a71mw62xg6w7c2";
   };
 
   disabled = pythonOlder "3.5.0";
diff --git a/pkgs/development/python-modules/urllib3/default.nix b/pkgs/development/python-modules/urllib3/default.nix
index 57d5c160ef0..0c8c97925a7 100644
--- a/pkgs/development/python-modules/urllib3/default.nix
+++ b/pkgs/development/python-modules/urllib3/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "urllib3";
-  version = "1.25.6";
+  version = "1.25.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86";
+    sha256 = "f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix
index bac478561f7..689a1336ef7 100644
--- a/pkgs/development/python-modules/wxPython/4.0.nix
+++ b/pkgs/development/python-modules/wxPython/4.0.nix
@@ -28,11 +28,11 @@
 
 buildPythonPackage rec {
   pname = "wxPython";
-  version = "4.0.7.post1";
+  version = "4.0.7.post2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da43eaa2eea32c34a52531331b0a69bd791c237803a7c5df451509624766f7ca";
+    sha256 = "5a229e695b64f9864d30a5315e0c1e4ff5e02effede0a07f16e8d856737a0c4e";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix
index d120f17780b..533e8d8b577 100644
--- a/pkgs/development/python-modules/xdis/default.nix
+++ b/pkgs/development/python-modules/xdis/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "4.1.2";
+  version = "4.1.3";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "python-xdis";
     rev = version;
-    sha256 = "0icqhafsnmcs6628cg3jjgq0d3x835nqmhljcz93yi457hfqd2lp";
+    sha256 = "0ixx9svyi0kw3z2i51cv1cyg4l5z8hy432kxgsvz20mr9a8z5c91";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index ccb4d879be9..1a54b8b4049 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "2.34.0";
+  version = "2.35.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b9543edacc2f4fa12cea8b64ae8144afb493d7b2a0135494642f29592b5d272";
+    sha256 = "0jpg9rxxw28n66wzznlhzdgv7b7gd1crcffjhlw7lam93ils4ah5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix
index a1d6eaea600..66f31441ec5 100644
--- a/pkgs/development/python-modules/xxhash/default.nix
+++ b/pkgs/development/python-modules/xxhash/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.4.2";
+  version = "1.4.3";
   pname = "xxhash";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82cdc67b41da904aa2921107e9877814079d9b067a99f19852b5d85e8a40555d";
+    sha256 = "8b6b1afe7731d7d9cbb0398b4a811ebb5e6be5c174f72c68abf81f919a435de9";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/yamllint/default.nix b/pkgs/development/python-modules/yamllint/default.nix
index 0406f6fe5a0..1b83c8987a1 100644
--- a/pkgs/development/python-modules/yamllint/default.nix
+++ b/pkgs/development/python-modules/yamllint/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "yamllint";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "076hqf189ww95n9vcbkkn8an42nx79cy8pf2qnl251yjncsvnbfl";
+    sha256 = "05fg2i27bq40z83avmz3h91i206dx5k6nyyvpa5vja54sqg14q02";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/yowsup/argparse-dependency.patch b/pkgs/development/python-modules/yowsup/argparse-dependency.patch
deleted file mode 100644
index e2b9f0c9a74..00000000000
--- a/pkgs/development/python-modules/yowsup/argparse-dependency.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 991e89c..7a96ccf 100755
---- a/setup.py
-+++ b/setup.py
-@@ -5,7 +5,7 @@ import yowsup
- import platform
- import sys
- 
--deps = ['python-dateutil', 'argparse', 'python-axolotl>=0.1.39', 'six==1.10']
-+deps = ['python-dateutil', 'python-axolotl>=0.1.39', 'six']
- 
- if sys.version_info < (2,7):
-     deps += ['importlib', "protobuf==3.4.0"]
diff --git a/pkgs/development/python-modules/yowsup/default.nix b/pkgs/development/python-modules/yowsup/default.nix
index 5fa4af18c08..0436fe8a0f0 100644
--- a/pkgs/development/python-modules/yowsup/default.nix
+++ b/pkgs/development/python-modules/yowsup/default.nix
@@ -1,10 +1,10 @@
 { buildPythonPackage, stdenv, fetchFromGitHub, six, python-axolotl, pytest
-, isPy3k
+, isPy3k, consonance, appdirs
 }:
 
 buildPythonPackage rec {
   pname = "yowsup";
-  version = "2.5.7";
+  version = "3.2.3";
 
   # The Python 2.x support of this package is incompatible with `six==1.11`:
   # https://github.com/tgalal/yowsup/issues/2416#issuecomment-365113486
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     owner = "tgalal";
     repo = "yowsup";
     rev = "v${version}";
-    sha256 = "1p0hdj5x38v2cxjnhdnqcnp5g7la57mbi365m0z83wa01x2n73w6";
+    sha256 = "0wb8yl685nr1i3vx89hwan5m6a482x8g48f5ksvdlph538p720pm";
   };
 
   checkInputs = [ pytest ];
@@ -22,9 +22,9 @@ buildPythonPackage rec {
     HOME=$(mktemp -d) py.test yowsup
   '';
 
-  patches = [ ./argparse-dependency.patch ];
+  patches = [ ./dependency-fixes.patch ];
 
-  propagatedBuildInputs = [ six python-axolotl ];
+  propagatedBuildInputs = [ six python-axolotl consonance appdirs ];
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/tgalal/yowsup";
diff --git a/pkgs/development/python-modules/yowsup/dependency-fixes.patch b/pkgs/development/python-modules/yowsup/dependency-fixes.patch
new file mode 100644
index 00000000000..eab56332d49
--- /dev/null
+++ b/pkgs/development/python-modules/yowsup/dependency-fixes.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index e3871a7..930bd6a 100755
+--- a/setup.py
++++ b/setup.py
+@@ -5,7 +5,7 @@ import yowsup
+ import platform
+ import sys
+ 
+-deps = ['consonance==0.1.2', 'argparse', 'python-axolotl==0.2.2', 'six==1.10', 'appdirs', 'protobuf>=3.6.0']
++deps = ['consonance>=0.1', 'python-axolotl>=0.2', 'six>=1.10', 'appdirs', 'protobuf>=3.6.0']
+ 
+ if sys.version_info < (2, 7):
+     deps.append('importlib')
diff --git a/pkgs/development/python-modules/zodbpickle/default.nix b/pkgs/development/python-modules/zodbpickle/default.nix
index 1e577fc487c..b24b5853876 100644
--- a/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/pkgs/development/python-modules/zodbpickle/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "zodbpickle";
-  version = "1.0.4";
+  version = "2.0.0";
   disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0n4hng2zil1j8sbz0b83pxx8ndlh34h2mnmli3bqjmnrbry5zlr5";
+    sha256 = "0fb7c7pnz86pcs6qqwlyw72vnijc04ns2h1zfrm0h7yl8q7r7ng0";
   };
 
   # fails..
diff --git a/pkgs/development/python-modules/zope_proxy/default.nix b/pkgs/development/python-modules/zope_proxy/default.nix
index e08973ecdea..537fc1465f2 100644
--- a/pkgs/development/python-modules/zope_proxy/default.nix
+++ b/pkgs/development/python-modules/zope_proxy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "zope.proxy";
-  version = "4.3.2";
+  version = "4.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab6d6975d9c51c13cac828ff03168de21fb562b0664c59bcdc4a4b10f39a5b17";
+    sha256 = "dac4279aa05055d3897ab5e5ee5a7b39db121f91df65a530f8b1ac7f9bd93119";
   };
 
   propagatedBuildInputs = [ zope_interface ];
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index cd78084d60b..f1a9a9e0e41 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -311,7 +311,7 @@ let
     rgdal = [ pkgs.proj.dev pkgs.gdal ];
     rgeos = [ pkgs.geos ];
     rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ];
-    rgl = [ pkgs.libGLU_combined pkgs.xlibsWrapper ];
+    rgl = [ pkgs.libGLU pkgs.libGL pkgs.xlibsWrapper ];
     Rglpk = [ pkgs.glpk ];
     RGtk2 = [ pkgs.gtk2.dev ];
     rhdf5 = [ pkgs.zlib ];
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index d8c3d484f43..18e24d5a31e 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -21,7 +21,7 @@
 , libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian, gpgme, utillinux, tzdata, icu, libffi
 , cmake, libssh2, openssl, libmysqlclient, darwin, git, perl, pcre, gecode_3, curl
-, msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
+, msgpack, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
 , cairo, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx
 , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz
 , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk
@@ -70,11 +70,6 @@ in
     buildInputs = [ cairo pcre xorg.libpthreadstubs xorg.libXdmcp ];
   };
 
-  capybara-webkit = attrs: {
-    buildInputs = [ qt59.qtbase qt59.qtwebkit ] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ];
-    NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
-  };
-
   charlock_holmes = attrs: {
     buildInputs = [ which icu zlib ];
   };
diff --git a/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
index edd946d9285..c2e4840eab0 100644
--- a/pkgs/development/ruby-modules/solargraph/Gemfile.lock
+++ b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
@@ -3,18 +3,18 @@ GEM
   specs:
     ast (2.4.0)
     backport (1.1.2)
-    htmlentities (4.3.4)
-    jaro_winkler (1.5.3)
+    jaro_winkler (1.5.4)
+    maruku (0.7.3)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
-    parallel (1.18.0)
+    parallel (1.19.1)
     parser (2.6.5.0)
       ast (~> 2.4.0)
     rainbow (3.0.0)
     reverse_markdown (1.3.0)
       nokogiri
-    rubocop (0.75.1)
+    rubocop (0.77.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.6)
@@ -22,11 +22,11 @@ GEM
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 1.7)
     ruby-progressbar (1.10.1)
-    solargraph (0.37.2)
+    solargraph (0.38.0)
       backport (~> 1.1)
       bundler (>= 1.17.2)
-      htmlentities (~> 4.3, >= 4.3.4)
       jaro_winkler (~> 1.5)
+      maruku (~> 0.7, >= 0.7.3)
       nokogiri (~> 1.9, >= 1.9.1)
       parser (~> 2.3)
       reverse_markdown (~> 1.0, >= 1.0.5)
@@ -46,4 +46,4 @@ DEPENDENCIES
   solargraph!
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/development/ruby-modules/solargraph/gemset.nix b/pkgs/development/ruby-modules/solargraph/gemset.nix
index aa28f666e5a..e1ea15fb4e1 100644
--- a/pkgs/development/ruby-modules/solargraph/gemset.nix
+++ b/pkgs/development/ruby-modules/solargraph/gemset.nix
@@ -19,25 +19,25 @@
     };
     version = "1.1.2";
   };
-  htmlentities = {
+  jaro_winkler = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "4.3.4";
+    version = "1.5.4";
   };
-  jaro_winkler = {
+  maruku = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
+      sha256 = "1r7bxpgnx2hp3g12bjrmdrpv663dfqxsdp0af69kjhxmaxpia56x";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "0.7.3";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -55,20 +55,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "091p5zrzzyg3fg48jhdz9lzjf2r9r3akra2cd46yd4nza3xgxshz";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.19.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -108,10 +108,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s5q1i7776yklkcwwx6ibm2mwnjky6wv7rpa3xhn8448854is31n";
+      sha256 = "0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9";
       type = "gem";
     };
-    version = "0.75.1";
+    version = "0.77.0";
   };
   ruby-progressbar = {
     groups = ["default"];
@@ -124,15 +124,15 @@
     version = "1.10.1";
   };
   solargraph = {
-    dependencies = ["backport" "htmlentities" "jaro_winkler" "nokogiri" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
+    dependencies = ["backport" "jaro_winkler" "maruku" "nokogiri" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w20g68i6djc2vyx3awzvn15brdfpcwbna27r0903h5djcmnr8a0";
+      sha256 = "1pdqpxvjj6r6gzrz9rmxfg85cmfjs4y2lyq8p5qfg3kfpqx4rhpw";
       type = "gem";
     };
-    version = "0.37.2";
+    version = "0.38.0";
   };
   thor = {
     groups = ["default"];
@@ -174,4 +174,4 @@
     };
     version = "0.9.20";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/alloy/default.nix b/pkgs/development/tools/alloy/default.nix
index 056bbd85916..0b34055274d 100644
--- a/pkgs/development/tools/alloy/default.nix
+++ b/pkgs/development/tools/alloy/default.nix
@@ -59,14 +59,14 @@ in rec {
     };
   };
 
-  alloy5 = let version = "5.0.0.1"; in generic {
+  alloy5 = let version = "5.1.0"; in generic {
     major = "5";
     inherit version;
     src = fetchurl {
-      sha256 = "0kz6i9av9ksjk62lx0dxx8xr542iqvbqd14m1f9h8xpf72c25xw4";
-      url = "https://github.com/AlloyTools/org.alloytools.alloy/releases/download/v${version}/Alloy-${version}.jar";
+      sha256 = "02k9khs4k5nc86x9pp5k3vcb0kiwdgcin46mlap4fycnr673xd53";
+      url = "https://github.com/AlloyTools/org.alloytools.alloy/releases/download/v${version}/org.alloytools.alloy.dist.jar";
     };
   };
 
-  alloy = alloy4;
+  alloy = alloy5;
 }
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index ad33edf004f..69e81596574 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     sed -i '0,/java/{s|java|${jre}/bin/java|}' $out/bin/amm
   '' + optionalString (disableRemoteLogging) ''
     sed -i '0,/ammonite.Main/{s|ammonite.Main|ammonite.Main --no-remote-logging|}' $out/bin/amm
+    sed -i '1i #!/bin/sh' $out/bin/amm
   '';
 
   meta = {
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 3fa2dabdcb0..2150ca004c2 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.112.0";
+  version = "0.113.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "1l8aahvlj9hk93snvrqm7r0mxj5iw244q72s6wallsqm7j4g967h";
+    sha256 = "1z7zy2ma1rmx2jjrsrnlrv2j5ff4zlzzlqvlmv7fc7dds3wlz6ia";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/nix-linter/default.nix b/pkgs/development/tools/analysis/nix-linter/default.nix
new file mode 100644
index 00000000000..5895be0208b
--- /dev/null
+++ b/pkgs/development/tools/analysis/nix-linter/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, parallel-io
+, fixplate
+, pandoc
+, tasty
+, tasty-hunit
+, tasty-th
+, streamly
+, mtl
+, path-io
+, path
+, pretty-terminal
+, text
+, base
+, aeson
+, cmdargs
+, containers
+, hnix
+, bytestring
+}:
+
+mkDerivation rec {
+  pname = "nix-linter-unstable";
+  version = "2019-04-26";
+
+  src = fetchFromGitHub {
+    owner = "Synthetica9";
+    repo = "nix-linter";
+    rev = "4aaf60195cd2d9f9e2345fbdf4aac48e1451292c";
+    sha256 = "0c7rcjaxd8z0grwambsw46snv7cg66h3pszw3549z4xz0i60yq87";
+  };
+
+  isLibrary = false;
+  isExecutable = true;
+  libraryHaskellDepends = [ parallel-io fixplate pandoc ];
+  executableHaskellDepends = [ streamly mtl path-io path pretty-terminal text base aeson cmdargs containers hnix bytestring ];
+  testHaskellDepends = [ tasty tasty-hunit tasty-th ];
+
+  description = "Linter for Nix(pkgs), based on hnix";
+  homepage = "https://github.com/Synthetica9/nix-linter";
+  license = lib.licenses.bsd3;
+  maintainers = [ lib.maintainers.marsam ];
+}
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index 844fd38d9be..a8d95eb05de 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cmake libpfm zlib python2Packages.python python2Packages.pexpect which procps gdb capnproto
   ];
+  propagatedBuildInputs = [ gdb ]; # needs GDB to replay programs at runtime
   cmakeFlags = [
     "-DCMAKE_C_FLAGS_RELEASE:STRING="
     "-DCMAKE_CXX_FLAGS_RELEASE:STRING="
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 67abd284952..12cce3e8d46 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -5,12 +5,11 @@
 let
   py = python.override {
     packageOverrides = self: super: {
-
-      aws-sam-translator = super.aws-sam-translator.overridePythonAttrs (oldAttrs: rec {
-        version = "1.14.0";
+      flask = super.flask.overridePythonAttrs (oldAttrs: rec {
+        version = "1.0.2";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "1cghn1m7ana9s8kyg61dwp9mrism5l04vy5rj1wnmksz8vzmnq9w";
+          sha256 = "0j6f4a9rpfh25k1gp7azqhnni4mb4fgy50jammgjgddw1l3w0w92";
         };
       });
 
@@ -34,11 +33,11 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "0.22.0";
+  version = "0.34.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1flbvqlj5llz7nrszmcf00v2a1pa36alv90r1l8lwn8zid5aabkn";
+    sha256 = "1ndgcbd6zr23lvmqn4wikgvnlwl0gj0wgyawaspwm3b0jlvxadik";
   };
 
   # Tests are not included in the PyPI package
@@ -58,6 +57,7 @@ buildPythonApplication rec {
     requests
     serverlessrepo
     six
+    tomlkit
   ];
 
   # fix over-restrictive version bounds
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_rc.patch b/pkgs/development/tools/build-managers/bazel/bazel_rc.patch
new file mode 100644
index 00000000000..a599ac3ec72
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/bazel_rc.patch
@@ -0,0 +1,13 @@
+diff --git a/src/main/cpp/option_processor.cc b/src/main/cpp/option_processor.cc
+index 8f8f15685f..a7ae52d1e4 100644
+--- a/src/main/cpp/option_processor.cc
++++ b/src/main/cpp/option_processor.cc
+@@ -56,7 +56,7 @@ OptionProcessor::OptionProcessor(
+     : workspace_layout_(workspace_layout),
+       startup_options_(std::move(default_startup_options)),
+       parse_options_called_(false),
+-      system_bazelrc_path_(BAZEL_SYSTEM_BAZELRC_PATH) {}
++      system_bazelrc_path_("@bazelSystemBazelRCPath@") {}
+ 
+ OptionProcessor::OptionProcessor(
+     const WorkspaceLayout* workspace_layout,
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 4a5a1d4d44c..e82bbb4aba1 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -19,14 +19,17 @@
 , enableNixHacks ? false
 , gcc-unwrapped
 , autoPatchelfHook
+, file
+, substituteAll
+, writeTextFile
 }:
 
 let
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1awm5wa4y4c37zy7d1ass83amwq5992wydkj5v9jx0zp7b4shrjb";
+    sha256 = "1qfk14mgx1m454b4w4ldggljzqkqwpdwrlynq7rc8aq11yfs8p95";
   };
 
   # Update with `eval $(nix-build -A bazel.updater)`,
@@ -50,7 +53,7 @@ let
        else srcs."java_tools_javac11_linux-v6.1.zip")
       srcs."coverage_output_generator-v2.0.zip"
       srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.11.tar.gz"
+      srcs."android_tools_pkg-0.12.tar.gz"
       srcs."0.28.3.tar.gz"
       srcs.rules_pkg
       srcs.rules_cc
@@ -91,7 +94,7 @@ let
     #        ],
     #     )
     #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip ];
+    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip ];
 
   # Java toolchain used for the build and tests
   javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
@@ -124,6 +127,18 @@ let
     '';
   };
 
+  bazelRC = writeTextFile {
+    name = "bazel-rc";
+    text = ''
+      build --override_repository=${remote_java_tools.name}=${remote_java_tools}
+      build --distdir=${distDir}
+      startup --server_javabase=${runJdk}
+
+      # load default location for the system wide configuration
+      try-import /etc/bazel.bazelrc
+    '';
+  };
+
 in
 stdenv.mkDerivation rec {
   pname = "bazel";
@@ -145,6 +160,24 @@ stdenv.mkDerivation rec {
     # This is breaking the build of any C target. This patch removes the last
     # argument if it's found to be an empty string.
     ./trim-last-argument-to-gcc-if-empty.patch
+
+    # --experimental_strict_action_env (which may one day become the default
+    # see bazelbuild/bazel#2574) hardcodes the default
+    # action environment to a non hermetic value (e.g. "/usr/local/bin").
+    # This is non hermetic on non-nixos systems. On NixOS, bazel cannot find the required binaries.
+    # So we are replacing this bazel paths by defaultShellPath,
+    # improving hermeticity and making it work in nixos.
+    (substituteAll {
+      src = ./strict_action_env.patch;
+      strictActionEnvPatch = defaultShellPath;
+    })
+
+    # bazel reads its system bazelrc in /etc
+    # override this path to a builtin one
+    (substituteAll {
+      src = ./bazel_rc.patch;
+      bazelSystemBazelRCPath = bazelRC;
+    })
   ] ++ lib.optional enableNixHacks ./nix-hacks.patch;
 
 
@@ -390,14 +423,6 @@ stdenv.mkDerivation rec {
           -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
           -i scripts/bootstrap/compile.sh
 
-      # --experimental_strict_action_env (which will soon become the
-      # default, see bazelbuild/bazel#2574) hardcodes the default
-      # action environment to a value that on NixOS at least is bogus.
-      # So we hardcode it to something useful.
-      substituteInPlace \
-        src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java \
-        --replace /bin:/usr/bin ${defaultShellPath}
-
       # This is necessary to avoid:
       # "error: no visible @interface for 'NSDictionary' declares the selector
       # 'initWithContentsOfURL:error:'"
@@ -413,12 +438,6 @@ stdenv.mkDerivation rec {
       mv runfiles.bash.tmp tools/bash/runfiles/runfiles.bash
 
       patchShebangs .
-
-      # bazel reads its system bazelrc in /etc
-      # override this path to a builtin one
-      substituteInPlace \
-        src/main/cpp/option_processor.cc \
-        --replace BAZEL_SYSTEM_BAZELRC_PATH "\"$out/etc/bazelrc\""
     '';
     in lib.optionalString stdenv.hostPlatform.isDarwin darwinPatches
      + genericPatches;
@@ -470,15 +489,6 @@ stdenv.mkDerivation rec {
     cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
     mv ./bazel_src/output/bazel $out/bin/bazel-real
 
-    wrapProgram "$out/bin/bazel" --add-flags --server_javabase="${runJdk}"
-
-    # generates the system bazelrc
-    # warning: the name of the repository depends on the system, hence
-    # the reference to .name
-    mkdir $out/etc
-    echo "build --override_repository=${remote_java_tools.name}=${remote_java_tools}" > $out/etc/bazelrc
-    echo "build --distdir=${distDir}" >> $out/etc/bazelrc
-
     # shell completion files
     mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
     mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
diff --git a/pkgs/development/tools/build-managers/bazel/src-deps.json b/pkgs/development/tools/build-managers/bazel/src-deps.json
index 152cce5093e..e86e6a1c945 100644
--- a/pkgs/development/tools/build-managers/bazel/src-deps.json
+++ b/pkgs/development/tools/build-managers/bazel/src-deps.json
@@ -55,11 +55,11 @@
             "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
         ]
     },
-    "android_tools_pkg-0.11.tar.gz": {
-        "name": "android_tools_pkg-0.11.tar.gz",
-        "sha256": "6fc50151063bffdda700038ea7df99c89d54dc066e9377a5baff60d55d482ad2",
+    "android_tools_pkg-0.12.tar.gz": {
+        "name": "android_tools_pkg-0.12.tar.gz",
+        "sha256": "96c4eef4d195dd95e43a4259cf5b82a1e34f67333439e91955bbdc0e1c8e7a31",
         "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.11.tar.gz"
+            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.12.tar.gz"
         ]
     },
     "bazel_j2objc": {
@@ -108,11 +108,11 @@
     },
     "com_google_googletest": {
         "name": "com_google_googletest",
-        "sha256": "0fb00ff413f6b9b80ccee44a374ca7a18af7315aea72a43c62f2acd1ca74e9b5",
-        "strip_prefix": "googletest-f13bbe2992d188e834339abe6f715b2b2f840a77",
+        "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb",
+        "strip_prefix": "googletest-release-1.10.0",
         "urls": [
-            "https://mirror.bazel.build/github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz",
-            "https://github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz"
+            "https://mirror.bazel.build/github.com/google/googletest/archive/release-1.10.0.tar.gz",
+            "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
         ]
     },
     "coverage_output_generator-v2.0.zip": {
diff --git a/pkgs/development/tools/build-managers/bazel/strict_action_env.patch b/pkgs/development/tools/build-managers/bazel/strict_action_env.patch
new file mode 100644
index 00000000000..1402c20f6bd
--- /dev/null
+++ b/pkgs/development/tools/build-managers/bazel/strict_action_env.patch
@@ -0,0 +1,13 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+index a70b5559bc..10bdffe961 100644
+--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
++++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+@@ -466,7 +466,7 @@ public class BazelRuleClassProvider {
+       // Note that --action_env does not propagate to the host config, so it is not a viable
+       // workaround when a genrule is itself built in the host config (e.g. nested genrules). See
+       // #8536.
+-      return "/bin:/usr/bin:/usr/local/bin";
++      return "@strictActionEnvPatch@";
+     }
+
+     String newPath = "";
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 6dd7f5a884c..3cd724b1a31 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
           + lib.optionalString useNcurses "-cursesUI"
           + lib.optionalString withQt5 "-qt5UI"
           + lib.optionalString useQt4 "-qt4UI";
-  version = "3.15.4";
+  version = "3.15.5";
 
   src = fetchurl {
     url = "${meta.homepage}files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
     # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt
-    sha256 = "0ypd051rh3nxhjfb5wcmnxi78p1d1qbzrhazn94lwdr1xa4ia8ca";
+    sha256 = "1d5y8d92axcc6rfqlsxamayfs3fc1vdby91hn5mx1kn02ppprpgv";
   };
 
   patches = [
diff --git a/pkgs/development/tools/build-managers/kati/default.nix b/pkgs/development/tools/build-managers/kati/default.nix
index 03cc0518ab5..05834565f93 100644
--- a/pkgs/development/tools/build-managers/kati/default.nix
+++ b/pkgs/development/tools/build-managers/kati/default.nix
@@ -1,14 +1,14 @@
-{ fetchgit, stdenv }:
+{ stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "kati-unstable";
-  version = "2017-05-23";
-  rev = "2dde61e46ab789f18956ff3b7c257dd8eb97993f";
+  version = "2019-09-23";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/google/kati.git";
-    sha256 = "1das1fvycra546lmh72cr5qpgblhbzqqy7gfywiijjgx160l75vq";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "kati";
+    rev = "9da3296746a0cd55b38ebebf91e7f57105a4c36f";
+    sha256 = "0s5dfhgpcbx12b1fqmm8p0jpvrhgrnl9qywv1ksbwhw3pfp7j866";
   };
 
   patches = [ ./version.patch ];
@@ -17,10 +17,11 @@ stdenv.mkDerivation rec {
     install -D ckati $out/bin/ckati
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An experimental GNU make clone";
     homepage = https://github.com/google/kati;
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.asl20;
+    platforms = platforms.all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danielfullmer ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 75658dcbb3e..6633d101ce4 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -77,6 +77,15 @@ python3Packages.buildPythonApplication rec {
     # https://github.com/mesonbuild/meson/issues/4784
     # Should be fixed in 0.52
     ./fix-objc-linking.patch
+
+    # Fixes error finding some frameworks
+    # https://github.com/NixOS/nixpkgs/pull/70690#issuecomment-553704175
+    # https://github.com/mesonbuild/meson/pull/5980
+    # Should be fixed in 0.52
+    (fetchpatch {
+      url = "https://github.com/mesonbuild/meson/commit/8d3fcb3dc4d7204a4646807f8b5191d79fb291e5.patch";
+      sha256 = "0g95gl662mribnnz5jcyn1jaaw8w7r1vgbg2jbm91dcrr5zji5ng";
+    })
   ];
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index 08baa53b1dc..cd08ae973eb 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "qbs";
 
-  version = "1.14.0";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
     owner = "qbs";
     repo = "qbs";
     rev = "v${version}";
-    sha256 = "19adxjyp5bf5hrjisv3ff9ndcmh1glrxfrzifs46xjn3r69kyv1k";
+    sha256 = "0rqfnclhzln6v4gm68fn4vn6ncf5qpi90295fwm4fx6dq4l94b3v";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index bb2f000f606..7440b25c6e4 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchurl {
     urls = [
       "https://piccolo.link/sbt-${version}.tgz"
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
     ];
-    sha256 = "0v27i8pd9ss53ipi1cs40426mnyppdjgcdjk8nn05bi6rm7a4r7y";
+    sha256 = "0bz6jj7jiwxd35xw9l1jbd846r0129pwgdi8m6dxwb8zybj73k2m";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index bc723152178..6810a053a80 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "buildah";
-  version = "1.11.5";
+  version = "1.11.6";
 
   src = fetchFromGitHub {
     owner  = "containers";
     repo   = "buildah";
     rev    = "v${version}";
-    sha256 = "09bfv2pypd66dnqvrhgcg35fsahi2k0kn5dnnbfqc39g0vfz29r7";
+    sha256 = "0slhq11nmqsp2rjfwldvcwlpj823ckfpipggkaxhcb66dv8ymm7n";
   };
 
   outputs = [ "bin" "man" "out" ];
@@ -18,9 +18,15 @@ buildGoPackage rec {
   goPackagePath = "github.com/containers/buildah";
   excludedPackages = [ "tests" ];
 
+  # Disable module-mode, because Go 1.13 automatically enables it if there is
+  # go.mod file. Remove after https://github.com/NixOS/nixpkgs/pull/73380
+  GO111MODULE = "off";
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gpgme libgpgerror lvm2 btrfs-progs ostree libselinux libseccomp ];
 
+  patches = [ ./disable-go-module-mode.patch ];
+
   buildPhase = ''
     pushd go/src/${goPackagePath}
     make GIT_COMMIT="unknown"
diff --git a/pkgs/development/tools/buildah/disable-go-module-mode.patch b/pkgs/development/tools/buildah/disable-go-module-mode.patch
new file mode 100644
index 00000000000..a6f211412ea
--- /dev/null
+++ b/pkgs/development/tools/buildah/disable-go-module-mode.patch
@@ -0,0 +1,33 @@
+From e2d12e52b3638a320a8d69ea4b392b60f44ea57f Mon Sep 17 00:00:00 2001
+From: Mario Rodas <marsam@users.noreply.github.com>
+Date: Wed, 4 Dec 2019 21:07:33 -0500
+Subject: [PATCH] Do not check Go module-mode availability
+
+Since buildah vendorizes its dependencies we use buildGoPackage which
+does not uses Go module-mode.  The module-mode check will be true
+because nixpkgs uses Go 1.13 by default, and building go modules with
+buildGoPackage may lead to inconsistencies.
+---
+ Makefile | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9d04177d..4cf9b6a2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -15,12 +15,7 @@ BUILDAH := buildah
+ GO := go
+ GO110 := 1.10
+ GOVERSION := $(findstring $(GO110),$(shell go version))
+-# test for go module support
+-ifeq ($(shell go help mod >/dev/null 2>&1 && echo true), true)
+-export GO_BUILD=GO111MODULE=on $(GO) build -mod=vendor
+-else
+ export GO_BUILD=$(GO) build
+-endif
+ 
+ GIT_COMMIT ?= $(if $(shell git rev-parse --short HEAD),$(shell git rev-parse --short HEAD),$(error "git failed"))
+ SOURCE_DATE_EPOCH ?= $(if $(shell date +%s),$(shell date +%s),$(error "date failed"))
+-- 
+2.24.0
+
diff --git a/pkgs/development/tools/ccloud-cli/default.nix b/pkgs/development/tools/ccloud-cli/default.nix
new file mode 100644
index 00000000000..7fa53029772
--- /dev/null
+++ b/pkgs/development/tools/ccloud-cli/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, autoPatchelfHook, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "ccloud-cli";
+  version = "0.202.0";
+
+  # To get the latest version:
+  # curl -L 'https://s3-us-west-2.amazonaws.com/confluent.cloud?prefix=ccloud-cli/archives/&delimiter=/' | nix run nixpkgs.libxml2 -c xmllint --format -
+  src = fetchurl (if stdenv.hostPlatform.isDarwin then {
+      url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/ccloud-cli/archives/${version}/ccloud_v${version}_darwin_amd64.tar.gz";
+      sha256 = "1w7c7fwpjj6f26nmcgm6rkrl4v9zhdpygkh02la77n23lg8wxah5";
+    } else {
+      url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/ccloud-cli/archives/${version}/ccloud_v${version}_linux_amd64.tar.gz";
+      sha256 = "1xbhv2viw8cbwv03rfq99jddnw5lwy812a8xby348290l323xi89";
+    });
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/doc/ccloud-cli}
+    cp ccloud $out/bin/
+    cp LICENSE $out/share/doc/ccloud-cli/
+    cp -r legal $out/share/doc/ccloud-cli/
+  '';
+
+  meta = with lib; {
+    description = "Confluent Cloud CLI";
+    homepage = https://docs.confluent.io/current/cloud/cli/index.html;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ kalbasit ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
index d5c74201418..d30c0aaeb49 100644
--- a/pkgs/development/tools/chefdk/default.nix
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -1,7 +1,7 @@
 { lib, bundlerEnv, bundlerUpdateScript, ruby_2_4, perl, autoconf }:
 
 bundlerEnv {
-  pname = "chef-dk";
+  name = "chef-dk-2.4.17";
 
   ruby = ruby_2_4;
   gemdir = ./.;
diff --git a/pkgs/development/tools/clang-tools/wrapper b/pkgs/development/tools/clang-tools/wrapper
index fe17880b07d..53c99a67f2d 100644
--- a/pkgs/development/tools/clang-tools/wrapper
+++ b/pkgs/development/tools/clang-tools/wrapper
@@ -6,7 +6,7 @@ buildcpath() {
     case $1 in
         -isystem)
             shift
-            path=$path${path':'}$1
+            path=$path${path:+':'}$1
     esac
     shift
   done
diff --git a/pkgs/development/tools/cmake-format/default.nix b/pkgs/development/tools/cmake-format/default.nix
index 5726b067e67..33c04c25173 100644
--- a/pkgs/development/tools/cmake-format/default.nix
+++ b/pkgs/development/tools/cmake-format/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonApplication rec {
   pname = "cmake-format";
-  version = "0.6.0";
+  version = "0.6.2";
 
   src = fetchPypi {
     inherit version;
     pname = "cmake_format";
-    sha256 = "0sip832bxsvnm7fhqhx49d53g2s7swdk3fhyhlglm2shgj89b5zw";
+    sha256 = "0nqwr7rvqkniqa53vddikncqsvm1r90p768rsginflw5rv33hi2j";
   };
 
   propagatedBuildInputs = [ autopep8 flake8 jinja2 pylint pyyaml ];
diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix
index 17dbcc7ff1f..ae35170cd19 100644
--- a/pkgs/development/tools/conftest/default.nix
+++ b/pkgs/development/tools/conftest/default.nix
@@ -2,24 +2,22 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "instrumenta";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "0fjz6ad8rnznlp1kiyb3c6anhjs6v6acgziw4hmyz0xva4jnspsh";
+    sha256 = "0lb644fj80r4igxbslbd5pksirnyf6slz4yn0mznyx8i2bd1g4ic";
   };
 
-  modSha256 = "1xwqlqx5794hsi14h5gqg69gjcqcma24ha0fxn0vffqgqs2cz1d1";
+  modSha256 = "1p7fjg1vcrcxb4f5hd00qxx4fqcl051klcjs6ljn4v46qcpn6dcn";
 
   buildFlagsArray = ''
     -ldflags=
         -X main.version=${version}
   '';
 
-  subPackages = [ "cmd" ];
-
   meta = with lib; {
     description = "Write tests against structured configuration data";
     homepage = https://github.com/instrumenta/conftest;
diff --git a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
index cdc4e6db2c2..adee52d967e 100644
--- a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "gocd-agent-${version}-${rev}";
-  version = "16.9.0";
-  rev = "4001";
+  version = "19.3.0";
+  rev = "8959";
 
   src = fetchurl {
     url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-agent-${version}-${rev}.zip";
-    sha256 = "1xcwwjf2khhng6v1y7dvi579y2j643al9n0x80m0c46qb9mzd04x";
+    sha256 = "1nirdv82i8x4s1dyb0rmxldh8avappd4g3mbbl6xp7r7s0drcprp";
   };
   meta = with stdenv.lib; {
     description = "A continuous delivery server specializing in advanced workflow modeling and visualization";
diff --git a/pkgs/development/tools/continuous-integration/gocd-server/default.nix b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
index 8982ca5f77a..c0fabdeb5a1 100644
--- a/pkgs/development/tools/continuous-integration/gocd-server/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "gocd-server-${version}-${rev}";
-  version = "16.9.0";
-  rev = "4001";
+  version = "19.3.0";
+  rev = "8959";
 
   src = fetchurl {
     url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-server-${version}-${rev}.zip";
-    sha256 = "0x5pmjbhrka6p27drkrca7872vgsjxaa5j0cbxsa2ds02wrn57a7";
+    sha256 = "0c30qzd6awlw0zx91rk6na0mmgykqkgrw9ychx18ivjwma0hr0sc";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/database/pgcli/default.nix b/pkgs/development/tools/database/pgcli/default.nix
index 147988b22b3..03f0ae3c444 100644
--- a/pkgs/development/tools/database/pgcli/default.nix
+++ b/pkgs/development/tools/database/pgcli/default.nix
@@ -1,17 +1,17 @@
-{ buildPythonApplication, lib, fetchPypi, isPy3k, fetchpatch
+{ buildPythonApplication, lib, fetchPypi, isPy3k
 , cli-helpers, click, configobj, humanize, prompt_toolkit, psycopg2
 , pygments, sqlparse, pgspecial, setproctitle, keyring, pytest, mock
 }:
 
 buildPythonApplication rec {
   pname = "pgcli";
-  version = "2.1.1";
+  version = "2.2.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jmnb8izsdjmq9cgajhfapr31wlhvcml4lakz2mcmjn355x83q44";
+    sha256 = "54138a31e6736a34c63b84a6d134c9292c9a73543cc0f66e80a0aaf79259d39b";
   };
 
   propagatedBuildInputs = [
@@ -21,9 +21,10 @@ buildPythonApplication rec {
 
   checkInputs = [ pytest mock ];
 
-  # One test fails: https://github.com/dbcli/pgcli/issues/1104
-  doCheck = false;
-  checkPhase = "pytest";
+  # `test_application_name_db_uri` fails: https://github.com/dbcli/pgcli/issues/1104
+  checkPhase = ''
+    pytest --deselect=tests/test_main.py::test_application_name_db_uri
+  '';
 
   meta = with lib; {
     description = "Command-line interface for PostgreSQL";
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index edad5d6276b..2aead3940ad 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -4,8 +4,8 @@ buildGoPackage rec {
   pname = "doctl";
   version = "${major}.${minor}.${patch}";
   major = "1";
-  minor = "31";
-  patch = "2";
+  minor = "35";
+  patch = "0";
   goPackagePath = "github.com/digitalocean/doctl";
 
   excludedPackages = ''\(doctl-gen-doc\|install-doctl\|release-doctl\)'';
@@ -21,7 +21,7 @@ buildGoPackage rec {
     owner  = "digitalocean";
     repo   = "doctl";
     rev    = "v${version}";
-    sha256 = "1q71kfjiav8xfw1bb3dziik1d0jr84hl83d3sx3cak0nd9nmakgs";
+    sha256 = "1blg4xd01vvr8smpii60jlk7rg1cg64115azixw9q022f7cnfiyw";
   };
 
   meta = {
diff --git a/pkgs/development/tools/erlang/hex2nix/default.nix b/pkgs/development/tools/erlang/hex2nix/default.nix
deleted file mode 100644
index 5155632169f..00000000000
--- a/pkgs/development/tools/erlang/hex2nix/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ fetchFromGitHub, fetchRebar3Deps, rebar3Relx }:
-
-rebar3Relx rec {
-    name = "hex2nix";
-    version = "0.0.6-42d7b2ec";
-
-    releaseType = "escript";
-
-    checkouts = fetchRebar3Deps {
-      inherit name version;
-      src = "${src}/rebar.config";
-      sha256 = "0z6v1f6hagl3qyj97frqr2ww3adrwgfwdyb2zshaai0d3xchg3ly";
-    };
-
-    src = fetchFromGitHub {
-      owner  = "erlang-nix";
-      repo   = "hex2nix";
-      rev    = "42d7b2ec64f61f21061066b192003cf7f460bf43";
-      sha256 = "0ac1fmckvid5077djg3ajycxn7gwbf7pdk1knhfp8yva3c5qq58r";
-    };
-}
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index b57c9841978..8ab0ad21170 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, jre_headless, makeWrapper }:
   let
-    version = "5.2.4";
+    version = "6.1.0";
   in
     stdenv.mkDerivation {
       pname = "flyway";
       inherit version;
       src = fetchurl {
         url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
-        sha256 = "16ia6nlvj4cgmdkn66bjg73h5vah82hpzk9mf0n5kmqnwcaa8hmc";
+        sha256 = "14f8vviki89dqhd429zlj0frma52xhyxpdln5c81z1dgs7819rpg";
       };
       nativeBuildInputs = [ makeWrapper ];
       dontBuild = true;
@@ -15,7 +15,7 @@
       installPhase = ''
         mkdir -p $out/bin $out/share/flyway
         cp -r sql jars drivers conf $out/share/flyway
-        cp -r lib/community $out/share/flyway/lib
+        install -Dt $out/share/flyway/lib lib/community/*.jar lib/*.jar
         makeWrapper "${jre_headless}/bin/java" $out/bin/flyway \
           --add-flags "-Djava.security.egd=file:/dev/../dev/urandom" \
           --add-flags "-classpath '$out/share/flyway/lib/*:$out/share/flyway/drivers/*'" \
@@ -23,6 +23,13 @@
       '';
       meta = with stdenv.lib; {
         description = "Evolve your Database Schema easily and reliably across all your instances";
+        longDescription = ''
+          The Flyway command-line tool is a standalone Flyway distribution.
+          It is primarily meant for users who wish to migrate their database from the command-line
+          without having to integrate Flyway into their applications nor having to install a build tool.
+
+          This package is only the Community Edition of the Flyway command-line tool.
+        '';
         homepage = "https://flywaydb.org/";
         license = licenses.asl20;
         platforms = platforms.unix;
diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix
index 20c031ead4a..e31d27f710b 100644
--- a/pkgs/development/tools/godot/default.nix
+++ b/pkgs/development/tools/godot/default.nix
@@ -10,13 +10,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "godot";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner  = "godotengine";
     repo   = "godot";
     rev    = "${version}-stable";
-    sha256 = "0lplkwgshh0x7r1daai9gflzwjnp3yfx4724h1myvidaz234v2wh";
+    sha256 = "12305wj2i4067jc50l8r0wmb7zjcna24fli8vb8kiaild0jrlip6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index 9b64dc8a3b1..480456ff21d 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "hcloud";
-  version = "1.13.0";
+  version = "1.14.0";
 
   goPackagePath = "github.com/hetznercloud/cli";
 
@@ -10,24 +10,24 @@ buildGoPackage rec {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "1bin9gcmmj3i6a11rv7czvnryl8bv7cjz3pi2cqx8baycg3hia5j";
+    sha256 = "167x64ni4xm0d9b02gy8zvc8knhsvb1c9jhysw7svi7iaw5f2ds5";
   };
 
-  goDeps = ./deps.nix;
+  modSha256 = "1g81szkrkxmv51l78v0d39i8dvrrdhf8wh38rwxvnay3iajgrnqk";
 
   buildFlagsArray = [ "-ldflags=" "-w -X github.com/hetznercloud/cli/cli.Version=${version}" ];
 
   postInstall = ''
     mkdir -p \
-      $bin/etc/bash_completion.d \
-      $bin/share/zsh/vendor-completions
+      $out/etc/bash_completion.d \
+      $out/share/zsh/vendor-completions
 
     # Add bash completions
-    $bin/bin/hcloud completion bash > "$bin/etc/bash_completion.d/hcloud"
+    $out/bin/hcloud completion bash > "$out/etc/bash_completion.d/hcloud"
 
     # Add zsh completions
-    echo "#compdef hcloud" > "$bin/share/zsh/vendor-completions/_hcloud"
-    $bin/bin/hcloud completion zsh >> "$bin/share/zsh/vendor-completions/_hcloud"
+    echo "#compdef hcloud" > "$out/share/zsh/vendor-completions/_hcloud"
+    $out/bin/hcloud completion zsh >> "$out/share/zsh/vendor-completions/_hcloud"
   '';
 
   meta = {
diff --git a/pkgs/development/tools/hcloud/deps.nix b/pkgs/development/tools/hcloud/deps.nix
deleted file mode 100644
index 01bde6f302a..00000000000
--- a/pkgs/development/tools/hcloud/deps.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/dustin/go-humanize";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dustin/go-humanize";
-      rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
-      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/structs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/structs";
-      rev = "878a968ab22548362a09bdb3322f98b00f470d46";
-      sha256 = "15nkffa8ylr5kkv52gyry675l8bzv3c0xx39j0fzz0vp2kcjyy8x";
-    };
-  }
-  {
-    goPackagePath = "github.com/gosuri/uilive";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosuri/uilive";
-      rev = "4512d98b127f3f3a1b7c3cf1104969fdd17b31d9";
-      sha256 = "12n3kjgdzrb50jhkcb2ac3437mdhxh33zrcz7mi4gpji20jz4ai7";
-    };
-  }
-  {
-    goPackagePath = "github.com/gosuri/uiprogress";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gosuri/uiprogress";
-      rev = "4442fea128d2bc91caf276b08518bdf4582561c8";
-      sha256 = "1g6xjknm0981h3b1drbvm6vd66hiah1cylpdck9cqd18kyxd6bpd";
-    };
-  }
-  {
-    goPackagePath = "github.com/hetznercloud/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hetznercloud/cli";
-      rev = "d6ec656f964aac4382d9c724edd27a8608e7b354";
-      sha256 = "0ng7hihzplwyz4sdipms4m9qq2bcj92qczzd5adhm6da851jxpbc";
-    };
-  }
-  {
-    goPackagePath = "github.com/hetznercloud/hcloud-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hetznercloud/hcloud-go";
-      rev = "70b166c92266125ee6a621dcc6089023a5f8d055";
-      sha256 = "02hh214qk8qrhl9rpaywv2z5jpkzx3y2j8gv5xmdprdamrjwwlbc";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-toml";
-      rev = "84da2c4a25c585816f2c4211b699228d111d18ab";
-      sha256 = "1zh5kswqckz7aaz4kpd1kxbxnlhlmprba1ghkl742x6mbv3w08bm";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/cobra";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/cobra";
-      rev = "1c9c46d5c1cc2aaebdd1898c0680e85e8a44b36d";
-      sha256 = "0mxliq4gfvdazga8mapc2sazi915rz1h6prnark9hwbbsz0xn0r3";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "24fa6976df40757dce6aea913e7b81ade90530e1";
-      sha256 = "0rf6prz6gl0l1b3wijzdgq887cdwigvzxvz6gqbm5l8pkq3fx1m9";
-    };
-  }
-  {
-    goPackagePath = "github.com/thcyron/uiprogress";
-    fetch = {
-      type = "git";
-      url = "https://github.com/thcyron/uiprogress";
-      rev = "25e98ffb0e98b5192b475d8f2fd78083bfe9a67e";
-      sha256 = "1avb0jykn3qbjrvhc8i50ahisf9rsfy74ysrwfqbqqkpvhdxv12i";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "4def268fd1a49955bfb3dda92fe3db4f924f2285";
-      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "fc99dfbffb4e5ed5758a37e31dd861afe285406b";
-      sha256 = "186x8bg926qb9sprs5zpd97xzvvhc2si7q1nhvyg12r5cd6v7zjd";
-    };
-  }
-]
diff --git a/pkgs/development/tools/kubectx/default.nix b/pkgs/development/tools/kubectx/default.nix
index fe72f6dcf16..b3116a9b2f9 100644
--- a/pkgs/development/tools/kubectx/default.nix
+++ b/pkgs/development/tools/kubectx/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kubectx";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "ahmetb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11snp3li2w4ds2r7fc6mldlgj24mga40v0knlralaiz296bd6zcs";
+    sha256 = "0mv40jh94by99i5wkf3p52wk4l68hvly1k5gnn7zsy9avc8fjd0p";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/kubeprompt/default.nix b/pkgs/development/tools/kubeprompt/default.nix
new file mode 100644
index 00000000000..7c6f3f3396c
--- /dev/null
+++ b/pkgs/development/tools/kubeprompt/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubeprompt";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "jlesquembre";
+    repo = pname;
+    rev = version;
+    sha256 = "1a0xi31bd7n2zrx2z4srhvixlbj028h63dlrjzqxgmgn2w6akbz2";
+  };
+
+  preBuild = ''
+    export buildFlagsArray+=(
+      "-ldflags=
+        -w -s
+        -X ${goPackagePath}/pkg/version.Version=${version}")
+  '';
+
+  goPackagePath = "github.com/jlesquembre/kubeprompt";
+  modSha256 = "0rbpdk2dixywn3wcdgz48f3xw3b7fk8xh7mrlx27wz7fq5wj9v8f";
+
+  meta = with stdenv.lib; {
+    description = "Kubernetes prompt";
+    homepage = "https://github.com/jlesquembre/kubeprompt";
+    license = licenses.epl20;
+    maintainers = with maintainers; [ jlesquembre ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index f91938fb62e..c98a0a79705 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "lazygit";
-  version = "0.8";
+  version = "0.11.3";
 
   goPackagePath = "github.com/jesseduffield/lazygit";
 
@@ -12,13 +12,13 @@ buildGoPackage rec {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0zynw5gr96a59x1qshzhhvld883ndf1plnw6l9dbhmff0wcfv6l1";
+    sha256 = "0v765f93hkq94bmzfwkkb9ndbfka415sxyi01679fg860746rl6l";
   };
 
   meta = with stdenv.lib; {
     description = "Simple terminal UI for git commands";
     homepage = "https://github.com/jesseduffield/lazygit";
     license = licenses.mit;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz equirosa ];
   };
 }
diff --git a/pkgs/development/tools/micronaut/default.nix b/pkgs/development/tools/micronaut/default.nix
index 9b24fc7573c..fd9fa5f02da 100644
--- a/pkgs/development/tools/micronaut/default.nix
+++ b/pkgs/development/tools/micronaut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "micronaut";
-  version = "1.2.5";
+  version = "1.2.6";
 
   src = fetchzip {
     url = "https://github.com/micronaut-projects/micronaut-core/releases/download/v${version}/${pname}-${version}.zip";
-    sha256 = "1ka70cr6kznl68ilc42blzqk59gy20spkyqfn26n6zbk0jm5ssxv";
+    sha256 = "0y7qshg6v8s5rwi0fz9xpyhd1yhv8jrw2jhp276a30dfkglx19qn";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 4b3e2cc3bed..82365d986b8 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -17,7 +17,7 @@ let
   # is now upstream.
   # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
   version = "2.31.1";
-  basename = "binutils-${version}";
+  basename = "binutils";
   # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
   targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
@@ -30,13 +30,14 @@ let
   };
   # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
   normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
-    url = "mirror://gnu/binutils/${basename}.tar.bz2";
+    url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2";
     sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
   });
 in
 
 stdenv.mkDerivation {
-  name = targetPrefix + basename;
+  pname = targetPrefix + basename;
+  inherit version;
 
   src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src else normal-src;
 
@@ -143,7 +144,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   passthru = {
-    inherit targetPrefix version;
+    inherit targetPrefix;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/elfkickers/default.nix b/pkgs/development/tools/misc/elfkickers/default.nix
index c7eaafd9c7a..288e8bf9699 100644
--- a/pkgs/development/tools/misc/elfkickers/default.nix
+++ b/pkgs/development/tools/misc/elfkickers/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "elfkickers";
-  version = "3.1";
+  version = "3.1a";
 
   src = fetchurl {
     url = "http://www.muppetlabs.com/~breadbox/pub/software/ELFkickers-${version}.tar.gz";
-    sha256 = "0n0sypjrdm3ramv0sby4sdh3i3j9d0ihadr951wa08ypdnq3yrkd";
+    sha256 = "02354yn1lh1dxny35ky2d0b44iq302krsqpwk5grr4glma00hhq6";
   };
 
   makeFlags = [ "CC=cc prefix=$(out)" ];
diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix
index e990cb683e7..e125b7418f6 100644
--- a/pkgs/development/tools/misc/gdb/default.nix
+++ b/pkgs/development/tools/misc/gdb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv
+{ stdenv, targetPackages
 
 # Build time
 , fetchurl, pkgconfig, perl, texinfo, setupDebugInfoDirs, buildPackages
@@ -8,7 +8,12 @@
 
 , pythonSupport ? stdenv.hostPlatform == stdenv.buildPlatform && !stdenv.hostPlatform.isCygwin, python3 ? null
 , guile ? null
-
+, safePaths ? [
+   # $debugdir:$datadir/auto-load are whitelisted by default by GDB
+   "$debugdir" "$datadir/auto-load"
+   # targetPackages so we get the right libc when cross-compiling and using buildPackages.gdb
+   targetPackages.stdenv.cc.cc.lib
+  ]
 }:
 
 let
@@ -70,6 +75,7 @@ stdenv.mkDerivation rec {
     "--with-gmp=${gmp.dev}"
     "--with-mpfr=${mpfr.dev}"
     "--with-expat" "--with-libexpat-prefix=${expat.dev}"
+    "--with-auto-load-safe-path=${builtins.concatStringsSep ":" safePaths}"
   ] ++ stdenv.lib.optional (!pythonSupport) "--without-python";
 
   postInstall =
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index d85cd1a8216..01ed6603018 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, python }:
 
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "uncrustify";
-  version = "0.67";
+  version = "0.70.1";
 
   src = fetchFromGitHub {
     owner = product;
     repo = product;
     rev = name;
-    sha256 = "0hf8c93aj1hjg6cc77x6p7nf7ddp8mn4b6a9gpcrvmx8w81afpd3";
+    sha256 = "0zr3vxhd947zdvwccw3cj0vsriaawcpfjq3x94v9887hsi8fk87b";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake python ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/tools/ocaml/crunch/default.nix b/pkgs/development/tools/ocaml/crunch/default.nix
new file mode 100644
index 00000000000..e48707dcb9a
--- /dev/null
+++ b/pkgs/development/tools/ocaml/crunch/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildDunePackage, fetchurl, ocaml, cmdliner, opaline, ptime }:
+
+buildDunePackage rec {
+
+  pname = "crunch";
+  version = "3.1.0";
+
+  src = fetchurl {
+    url = "https://github.com/mirage/ocaml-crunch/releases/download/v${version}/crunch-v${version}.tbz";
+    sha256 = "0d26715a4h9r1wibnc12xy690m1kan7hrcgbb5qk8x78zsr67lnf";
+  };
+
+  propagatedBuildInputs = [ cmdliner ptime ];
+
+  outputs = [ "lib" "bin" "out" ];
+
+  installPhase = ''
+    ${opaline}/bin/opaline -prefix $bin -libdir $lib/lib/ocaml/${ocaml.version}/site-lib/
+  '';
+
+  meta = {
+    homepage = "https://github.com/mirage/ocaml-crunch";
+    description = "Convert a filesystem into a static OCaml module";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+
+}
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix b/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
index d1ff9eee817..9ca6ca67421 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/3.0.nix
@@ -3,11 +3,12 @@
 }:
 
 stdenv.mkDerivation {
-	pname = "js_of_ocaml"; 
+  pname = "js_of_ocaml"; 
 
-	inherit (js_of_ocaml-compiler) version src installPhase meta;
+  inherit (js_of_ocaml-compiler) version src installPhase meta;
 
-	buildInputs = [ ocaml findlib dune ocaml-migrate-parsetree ppx_tools_versioned ];
+  buildInputs = [ findlib ocaml-migrate-parsetree ppx_tools_versioned ];
+  nativeBuildInputs = [ ocaml findlib dune ];
 
   postPatch = "patchShebangs lib/generate_stubs.sh";
 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index c449c0f9002..801e4142780 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -1,5 +1,5 @@
 { lib, fetchFromGitHub, buildDunePackage
-, cmdliner, cppo, yojson
+, ocaml, findlib, cmdliner, dune, cppo, yojson
 }:
 
 buildDunePackage rec {
@@ -13,8 +13,10 @@ buildDunePackage rec {
 		sha256 = "0c537say0f3197zn8d83nrihabrxyn28xc6d7c9c3l0vvrv6qvfj";
 	};
 
-	buildInputs = [ cmdliner cppo ];
+	nativeBuildInputs = [ ocaml findlib dune cppo ];
+  buildInputs = [ cmdliner ];
 
+  configurePlatforms = [];
 	propagatedBuildInputs = [ yojson ];
 
 	meta = {
diff --git a/pkgs/development/tools/overcommit/Gemfile b/pkgs/development/tools/overcommit/Gemfile
new file mode 100644
index 00000000000..39325c7561b
--- /dev/null
+++ b/pkgs/development/tools/overcommit/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'overcommit'
diff --git a/pkgs/development/tools/overcommit/Gemfile.lock b/pkgs/development/tools/overcommit/Gemfile.lock
new file mode 100644
index 00000000000..bf88c1bb148
--- /dev/null
+++ b/pkgs/development/tools/overcommit/Gemfile.lock
@@ -0,0 +1,17 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    childprocess (3.0.0)
+    iniparse (1.4.4)
+    overcommit (0.51.0)
+      childprocess (>= 0.6.3, < 4)
+      iniparse (~> 1.4)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  overcommit
+
+BUNDLED WITH
+   1.17.3
diff --git a/pkgs/development/tools/overcommit/default.nix b/pkgs/development/tools/overcommit/default.nix
new file mode 100644
index 00000000000..84529ca4b6f
--- /dev/null
+++ b/pkgs/development/tools/overcommit/default.nix
@@ -0,0 +1,15 @@
+{ lib, bundlerApp }:
+
+bundlerApp {
+  pname = "overcommit";
+  gemdir = ./.;
+  exes = [ "overcommit" ];
+
+  meta = with lib; {
+    description = "Tool to manage and configure Git hooks";
+    homepage    = https://github.com/sds/overcommit;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/overcommit/gemset.nix b/pkgs/development/tools/overcommit/gemset.nix
new file mode 100644
index 00000000000..b7d58c0ea70
--- /dev/null
+++ b/pkgs/development/tools/overcommit/gemset.nix
@@ -0,0 +1,33 @@
+{
+  childprocess = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  iniparse = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xbik6838gfh5yq9ahh1m7dzszxlk0g7x5lvhb8amk60mafkrgws";
+      type = "gem";
+    };
+    version = "1.4.4";
+  };
+  overcommit = {
+    dependencies = ["childprocess" "iniparse"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fjrrm9dy9mry5ss96sizn6xcphia5l54ydz9c31phipm61nwmfk";
+      type = "gem";
+    };
+    version = "0.51.0";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index 29b8d4d5ae1..f50e7670b46 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -69,6 +69,10 @@ in stdenv.mkDerivation rec {
       --replace "QT_MINOR_VERSION, 5" "QT_MINOR_VERSION, 9"
   '';
 
+  # Avoids error in webpage.cpp:80:89:
+  # invalid suffix on literal; C++11 requires a space between litend identifier
+  NIX_CFLAGS_COMPILE = "-Wno-reserved-user-defined-literal";
+
   __impureHostDeps = stdenv.lib.optional stdenv.isDarwin "/usr/lib/libicucore.dylib";
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/profiling/EZTrace/default.nix b/pkgs/development/tools/profiling/EZTrace/default.nix
index b02ae3c544f..e856c1f718a 100644
--- a/pkgs/development/tools/profiling/EZTrace/default.nix
+++ b/pkgs/development/tools/profiling/EZTrace/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Tool that aims at generating automatically execution trace from HPC programs";
     license = stdenv.lib.licenses.cecill-b;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix
new file mode 100644
index 00000000000..6879d6875cc
--- /dev/null
+++ b/pkgs/development/tools/purescript/spago/default.nix
@@ -0,0 +1,47 @@
+{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
+, base, bower-json, bytestring, Cabal, containers, dhall, directory
+, either, exceptions, extra, fetchgit, file-embed, filepath, foldl
+, fsnotify, github, Glob, hpack, hspec, hspec-discover
+, hspec-megaparsec, http-client, http-conduit, lens-family-core
+, megaparsec, mtl, network-uri, open-browser, optparse-applicative
+, prettyprinter, process, QuickCheck, retry, rio, rio-orphans, safe
+, semver-range, stdenv, stm, tar, template-haskell, temporary, text
+, time, transformers, turtle, unliftio, unordered-containers
+, vector, versions, zlib
+}:
+mkDerivation {
+  pname = "spago";
+  version = "0.12.1.0";
+  src = fetchgit {
+    url = "https://github.com/spacchetti/spago";
+    sha256 = "17xgp75yxangmb65sv3raysad31kmc109c4q4aj9dgcdqz23fcn2";
+    rev = "a4679880402ead320f8be2f091b25d30e27b62df";
+    fetchSubmodules = true;
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson aeson-pretty ansi-terminal async-pool base bower-json
+    bytestring Cabal containers dhall directory either exceptions
+    file-embed filepath foldl fsnotify github Glob http-client
+    http-conduit lens-family-core megaparsec mtl network-uri
+    open-browser prettyprinter process retry rio rio-orphans safe
+    semver-range stm tar template-haskell temporary text time
+    transformers turtle unliftio unordered-containers vector versions
+    zlib
+  ];
+  libraryToolDepends = [ hpack ];
+  executableHaskellDepends = [
+    aeson-pretty async-pool base bytestring containers dhall filepath
+    github lens-family-core megaparsec optparse-applicative process
+    retry stm temporary text time turtle vector
+  ];
+  testHaskellDepends = [
+    base containers directory extra hspec hspec-megaparsec megaparsec
+    process QuickCheck temporary text turtle versions
+  ];
+  testToolDepends = [ hspec-discover ];
+  prePatch = "hpack";
+  homepage = "https://github.com/spacchetti/spago#readme";
+  license = stdenv.lib.licenses.bsd3;
+}
diff --git a/pkgs/development/tools/rubocop/Gemfile.lock b/pkgs/development/tools/rubocop/Gemfile.lock
index 7c523c3ea15..9d166f0fad5 100644
--- a/pkgs/development/tools/rubocop/Gemfile.lock
+++ b/pkgs/development/tools/rubocop/Gemfile.lock
@@ -2,12 +2,12 @@ GEM
   remote: https://rubygems.org/
   specs:
     ast (2.4.0)
-    jaro_winkler (1.5.3)
-    parallel (1.18.0)
+    jaro_winkler (1.5.4)
+    parallel (1.19.1)
     parser (2.6.5.0)
       ast (~> 2.4.0)
     rainbow (3.0.0)
-    rubocop (0.76.0)
+    rubocop (0.77.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.6)
diff --git a/pkgs/development/tools/rubocop/gemset.nix b/pkgs/development/tools/rubocop/gemset.nix
index 5defb56109f..d7e1b9328dc 100644
--- a/pkgs/development/tools/rubocop/gemset.nix
+++ b/pkgs/development/tools/rubocop/gemset.nix
@@ -14,20 +14,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.5.4";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "091p5zrzzyg3fg48jhdz9lzjf2r9r3akra2cd46yd4nza3xgxshz";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.19.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -56,10 +56,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07x51ixlx76y194xsszh5lbkaqakz44ykbrjxg3qaggbs18790q0";
+      sha256 = "0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9";
       type = "gem";
     };
-    version = "0.76.0";
+    version = "0.77.0";
   };
   ruby-progressbar = {
     groups = ["default"];
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 43b3a88f6ee..41fc993c62f 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "0.4.15";
+  version = "0.4.16";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "155b4azkrr0qfg52mk7934zavwsbl28i28hi1inb23d509hrr5ky";
+    sha256 = "0cf539y20hlwxbk0zfs1and99hkb0fqg7m3a6dfd80hwx0dm0xmx";
   };
 
-  cargoSha256 = "050q4rk1x3jghinxg6gszi993a6zbg41vg535dlvvsqi36l278qc";
+  cargoSha256 = "1bspciy7sfx887hwxmckrnjy7b6kpy6g51yraw25yl302mzzng21";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index 54d32639f88..8d2260374d1 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -17,55 +17,47 @@ dependencies = [
 ]
 
 [[package]]
-name = "approx"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
 name = "arrayref"
 version = "0.3.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "arrayvec"
-version = "0.4.12"
+version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-]
 
 [[package]]
 name = "atty"
 version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "autocfg"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "backtrace"
-version = "0.3.38"
+version = "0.3.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
+ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
  "cfg-if 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)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "backtrace-sys"
-version = "0.1.31"
+version = "0.1.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -83,11 +75,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "blake2b_simd"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -98,39 +90,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "c2-chacha"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "cargo-make"
-version = "0.24.0"
+version = "0.24.1"
 dependencies = [
  "ci_info 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "colored 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "git_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "run_script 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
  "shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "cc"
-version = "1.0.45"
+version = "1.0.48"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -139,13 +132,13 @@ version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
-name = "cgmath"
-version = "0.16.1"
+name = "chrono"
+version = "0.4.10"
 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)",
+ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
+ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -166,7 +159,7 @@ dependencies = [
  "bitflags 1.2.1 (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)",
- "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
  "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -180,11 +173,12 @@ dependencies = [
 
 [[package]]
 name = "colored"
-version = "1.8.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
+ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
  "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "winconsole 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -216,7 +210,7 @@ version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cfg-if 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)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -226,7 +220,7 @@ name = "envmnt"
 version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -234,7 +228,7 @@ name = "failure"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)",
+ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
  "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -243,17 +237,18 @@ name = "failure_derive"
 version = "0.1.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
+ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "fern"
-version = "0.5.8"
+version = "0.5.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
+ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
  "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -264,25 +259,40 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "getrandom"
-version = "0.1.12"
+version = "0.1.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "cfg-if 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)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
+name = "git_info"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
 name = "glob"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "home"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "indexmap"
-version = "1.2.0"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -292,7 +302,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "libc"
-version = "0.2.62"
+version = "0.2.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -309,34 +319,30 @@ version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
-name = "nodrop"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
-name = "num-traits"
-version = "0.1.43"
+name = "num-integer"
+version = "0.1.41"
 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)",
+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "num-traits"
-version = "0.2.8"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.5"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -347,19 +353,7 @@ name = "quote"
 version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (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.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.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -367,8 +361,8 @@ name = "rand"
 version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (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.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -379,7 +373,7 @@ name = "rand_chacha"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -401,7 +395,7 @@ name = "rand_core"
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -419,7 +413,7 @@ 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.62 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
  "rand_core 0.4.2 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -466,11 +460,6 @@ version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
-name = "rgb"
-version = "0.8.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
 name = "run_script"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -485,7 +474,7 @@ version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
+ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
  "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -500,6 +489,11 @@ version = "0.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
+name = "scopeguard"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+
+[[package]]
 name = "semver"
 version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -514,17 +508,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "serde"
-version = "1.0.101"
+version = "1.0.103"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "serde_derive"
-version = "1.0.101"
+version = "1.0.103"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -542,22 +536,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "syn"
-version = "1.0.5"
+version = "1.0.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "synstructure"
-version = "0.12.1"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
  "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
+ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
@@ -566,7 +560,7 @@ name = "textwrap"
 version = "0.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -578,16 +572,26 @@ dependencies = [
 ]
 
 [[package]]
+name = "time"
+version = "0.1.42"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+dependencies = [
+ "libc 0.2.66 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
+]
+
+[[package]]
 name = "toml"
-version = "0.5.3"
+version = "0.5.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "unicode-width"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
@@ -600,7 +604,7 @@ name = "users"
 version = "0.9.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)",
+ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -632,39 +636,27 @@ 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.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "rgb 0.8.14 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
 [metadata]
 "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 "checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
-"checksum approx 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "08abcc3b4e9339e33a3d0a5ed15d84a687350c05689d825e0f6655eef9e76a94"
 "checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
+"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 "checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
-"checksum backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)" = "690a62be8920ccf773ee00ef0968649b0e724cda8bd5b12286302b4ae955fdf5"
-"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b"
+"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
+"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
+"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 "checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 "checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
+"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
 "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
-"checksum cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be"
+"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
+"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
 "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-"checksum cgmath 0.16.1 (registry+https://github.com/rust-lang/crates.io-index)" = "64a4b57c8f4e3a2e9ac07e0f6abc9c24b6fc9e1b54c3478cfb598f3d0023e51c"
+"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
 "checksum ci_info 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "93b085342b4579e6bd92189bb6b832b2fff5564382e2472be42748b630e8063d"
 "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-"checksum colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6cdb90b60f2927f8d76139c72dbde7e10c3a2bc47c8594c9c7a66529f2687c03"
+"checksum colored 1.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "433e7ac7d511768127ed85b0c4947f47a254131e37864b2dc13f52aa32cd37e5"
 "checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
 "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
 "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
@@ -672,22 +664,22 @@ dependencies = [
 "checksum envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "24c6fdfb01bf7386076c5f655278306bbbed4ecc8abe30981217a11079fe3f2b"
 "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
-"checksum fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "29d26fa0f4d433d1956746e66ec10d6bf4d6c8b93cd39965cceea7f7cc78c7dd"
+"checksum fern 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e69ab0d5aca163e388c3a49d284fed6c3d0810700e77c5ae2756a50ec1a4daaa"
 "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-"checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
+"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
+"checksum git_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4862dc2fabbfe087ec247e8dda2a4c5b70e8506e7f6d5db6234627d6e81f2309"
 "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
-"checksum indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a61202fbe46c4a951e9404a720a0180bcf3212c750d735cb5c4ba4dc551299f3"
+"checksum home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a3753954f7bd71f0e671afb8b5a992d1724cf43b7f95a563cd4a0bde94659ca8"
+"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
 "checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
+"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
 "checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 "checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
-"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 ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
-"checksum proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0"
+"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
+"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
+"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
+"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
-"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
 "checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
 "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"
@@ -700,23 +692,24 @@ dependencies = [
 "checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
 "checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
 "checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
-"checksum rgb 0.8.14 (registry+https://github.com/rust-lang/crates.io-index)" = "2089e4031214d129e201f8c3c8c2fe97cd7322478a0d1cdf78e7029b0042efdb"
 "checksum run_script 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "61b3a5ed82e15afc3e238178e2d22113af69ac88bd64a04499f025478853937f"
 "checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 "checksum rust_info 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e4e04a5022c08c95c2285b0beb4cdd24c9b20bc018a263d6fdb0372f7a597db"
 "checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
+"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
 "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 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
-"checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e"
+"checksum serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
+"checksum serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
 "checksum shell2batch 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "185a52ee351c1001753c9e3b2eb48c525ff7f51803a4f2cef4365b5c3b743f65"
 "checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
+"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
+"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 "checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
 "checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
-"checksum toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7aabe75941d914b72bf3e5d3932ed92ce0664d49d8432305a8b547c37227724"
-"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
+"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
+"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
 "checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 "checksum users 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
 "checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
@@ -724,4 +717,3 @@ dependencies = [
 "checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 "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/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 795329e3fe9..6989d005da3 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.24.0";
+  version = "0.24.1";
 
   src =
     let
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "1sdc9qkclvv99j7ag038g8h1kjvfjxxj16xy0cqn8wvyljrqn3mc";
+        sha256 = "0fnp3vv2vncrvc8cp24ijldb8bfb0i8m8cxiqa4vqnix9yi182yd";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1hyc275drl5n0kcvkxd3blp77r8nck946bmlnnzym8cj50i5zbq1";
+  cargoSha256 = "1skias0jyridd0dv864m5ls1ifvj1zqnnymrgs6q0169aidwrbdc";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix
index 71f488c760a..c7bc96871f8 100644
--- a/pkgs/development/tools/simavr/default.nix
+++ b/pkgs/development/tools/simavr/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, libelf, which, pkgconfig, freeglut
 , avrgcc, avrlibc
-, libGLU_combined
+, libGLU, libGL
 , GLUT }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ which pkgconfig avrgcc ];
-  buildInputs = [ libelf freeglut libGLU_combined ]
+  buildInputs = [ libelf freeglut libGLU libGL ]
     ++ stdenv.lib.optional stdenv.isDarwin GLUT;
 
   # Hack to avoid TMPDIR in RPATHs.
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index 58dde838692..498de0edecf 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -2,9 +2,9 @@
 
 buildGoPackage rec {
   pname = "skaffold";
-  version = "0.36.0";
-  # rev is the 0.36.0 commit, mainly for skaffold version command output
-  rev = "1c054d4ffc7e14b4d81efcbea8b2022403ee4b89";
+  version = "1.0.1";
+  # rev is the 1.0.1 commit, mainly for skaffold version command output
+  rev = "934dd5ad304bef89cb3619b5b2ef53eb8cf04715";
 
   goPackagePath = "github.com/GoogleContainerTools/skaffold";
   subPackages = ["cmd/skaffold"];
@@ -20,7 +20,7 @@ buildGoPackage rec {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "1d7z36r33lmxm5cv1kby6g9zbsr88prgsp32x4jcs9l1ifwblhng";
+    sha256 = "0pvidf8m6v56qa3dlqls55jcmjqb54spkx7xxynvhj3590pjw4qx";
   };
 
   meta = {
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index e5b23f14517..a7d9057d9f0 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -4,9 +4,9 @@
 let
   # NOTE: bumping the version and updating the hash is insufficient;
   # you must use bundix to generate a new gemset.nix in the Vagrant source.
-  version = "2.2.5";
+  version = "2.2.6";
   url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  sha256 = "0a228f5185b24b72efcc5a3924f86fa9fabab6f7562c3c63c1d9d239aa72a7b1";
+  sha256 = "0nssq2i4riif0q72h5qp7dlxd4shqcyvm1bx9adppcacb77gpnhv";
 
   deps = bundlerEnv rec {
     name = "${pname}-${version}";
diff --git a/pkgs/development/tools/vagrant/gemset.nix b/pkgs/development/tools/vagrant/gemset.nix
index ad3422d8b59..f9aebbe6996 100644
--- a/pkgs/development/tools/vagrant/gemset.nix
+++ b/pkgs/development/tools/vagrant/gemset.nix
@@ -10,6 +10,8 @@
     version = "1.0.1";
   };
   builder = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
@@ -19,6 +21,8 @@
   };
   childprocess = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p3f43scdzx9zxmy2kw5zsc3az6v46nq4brwcxmnscjy4w4racbv";
@@ -36,14 +40,6 @@
     };
     version = "1.1.5";
   };
-  diff-lcs = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
-      type = "gem";
-    };
-    version = "1.3";
-  };
   domain_name = {
     dependencies = ["unf"];
     groups = ["default"];
@@ -56,6 +52,8 @@
     version = "0.5.20190701";
   };
   ed25519 = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
@@ -63,7 +61,19 @@
     };
     version = "1.2.4";
   };
+  erubi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nwzxnqhr31fn7nbqmffcysvxjdfl3bhxi0bld5qqhcnfc1xd13x";
+      type = "gem";
+    };
+    version = "1.9.0";
+  };
   erubis = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
@@ -94,6 +104,8 @@
   };
   gyoku = {
     dependencies = ["builder"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh";
@@ -102,6 +114,8 @@
     version = "1.3.1";
   };
   hashicorp-checkpoint = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1z6mwzvd7p2wqhmk07dwrhvm0ncgqm7pxn0pr2k025rwsspp9bsd";
@@ -111,6 +125,8 @@
   };
   http-cookie = {
     dependencies = ["domain_name"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
@@ -119,6 +135,8 @@
     version = "1.0.3";
   };
   httpclient = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
@@ -128,6 +146,8 @@
   };
   i18n = {
     dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7";
@@ -137,6 +157,8 @@
   };
   listen = {
     dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
@@ -145,6 +167,8 @@
     version = "3.1.5";
   };
   little-plugger = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
@@ -153,6 +177,8 @@
     version = "1.1.4";
   };
   log4r = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ri90q0frfmigkirqv5ihyrj59xm8pq5zcmf156cbdv4r4l2jicv";
@@ -162,6 +188,8 @@
   };
   logging = {
     dependencies = ["little-plugger" "multi_json"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
@@ -171,33 +199,39 @@
   };
   mime-types = {
     dependencies = ["mime-types-data"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "3.2019.1009";
   };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.14.1";
   };
   net-scp = {
     dependencies = ["net-ssh"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
@@ -207,6 +241,8 @@
   };
   net-sftp = {
     dependencies = ["net-ssh"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "04674g4n6mryjajlcd82af8g8k95la4b1bj712dh71hw1c9vhw1y";
@@ -215,6 +251,8 @@
     version = "2.1.2";
   };
   net-ssh = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0jglf8rxvlw6is5019r6kwsdhw38zm3z39jbghdbj449r6h7h77n";
@@ -223,6 +261,8 @@
     version = "5.1.0";
   };
   netrc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0gzfmcywp1da8nzfqsql2zqi648mfnx6qwkig3cv36n9m0yy676y";
@@ -231,6 +271,8 @@
     version = "0.11.0";
   };
   nori = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn";
@@ -239,6 +281,8 @@
     version = "2.6.0";
   };
   rb-fsevent = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
@@ -248,6 +292,8 @@
   };
   rb-inotify = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4";
@@ -257,6 +303,8 @@
   };
   rb-kqueue = {
     dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "14mhzrhs2j43vj36i1qq4z29nd860shrslfik015f4kf1jiaqcrw";
@@ -266,6 +314,8 @@
   };
   rest-client = {
     dependencies = ["http-cookie" "mime-types" "netrc"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1hzcs2r7b5bjkf2x2z3n8z6082maz0j8vqjiciwgg3hzb63f958j";
@@ -273,51 +323,9 @@
     };
     version = "2.0.2";
   };
-  rspec = {
-    dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "16g3mmih999f0b6vcz2c3qsc7ks5zy4lj1rzjh8hf6wk531nvc6s";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-core = {
-    dependencies = ["rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nacs062qbr98fx6czf1vwppn1js956nv2c8vfwj6i65axdfs46i";
-      type = "gem";
-    };
-    version = "3.5.4";
-  };
-  rspec-expectations = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bbqfrb1x8gmwf8x2xhhwvvlhwbbafq4isbvlibxi6jk602f09gs";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-mocks = {
-    dependencies = ["diff-lcs" "rspec-support"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nl3ksivh9wwrjjd47z5dggrwx40v6gpb3a0gzbp1gs06a5dmk24";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  rspec-support = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "10vf3k3d472y573mag2kzfsfrf6rv355s13kadnpryk8d36yq5r0";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
   ruby_dep = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0v0qznxz999lx4vs76mr590r90i0cm5m76wwvgis7sq4y21l308l";
@@ -326,6 +334,8 @@
     version = "1.3.1";
   };
   rubyntlm = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
@@ -338,21 +348,15 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9gw28ly3zyqydnm8phxchf4ymyjl2r7zf7c12z8kla10cpmhlc";
-      type = "gem";
-    };
-    version = "1.2.3";
-  };
-  thor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d1g37j6sc7fkidf8rqlm3wh9zgyg3g7y8h2x1y34hmil5ywa8c3";
+      sha256 = "0i5dhyiavmk2yc7xyfwzp3m476f7d9mhigibsw37jqpdq4vmi4cv";
       type = "gem";
     };
-    version = "0.18.1";
+    version = "1.2.4";
   };
   unf = {
     dependencies = ["unf_ext"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bh2cf73i2ffh4fcpdn9ir4mhq8zi50ik0zqa1braahzadx536a9";
@@ -370,27 +374,20 @@
     };
     version = "0.0.7.6";
   };
-  vagrant-spec = {
-    dependencies = ["childprocess" "log4r" "rspec" "thor"];
-    source = {
-      fetchSubmodules = false;
-      rev = "abfc34474d122235d56e4c6b6fb5d3e35bedfa90";
-      sha256 = "08xy2c82lrxkwjlvrbx1v32968a6psni3952y3knriqgygv2kzbn";
-      type = "git";
-      url = "https://github.com/hashicorp/vagrant-spec.git";
-    };
-    version = "0.0.1";
-  };
   vagrant_cloud = {
     dependencies = ["rest-client"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0451x3ab869hbycffcq656dm7mmjwmnxcyhv6g7dpdv3acg64783";
+      sha256 = "16jpnq4xa7gavm024wk1rgmkfb850g89rv56f26dkh0rdhbqiqvs";
       type = "gem";
     };
-    version = "2.0.2";
+    version = "2.0.3";
   };
   wdm = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0x5l2pn4x92734k6i2wcjbn2klmwgkiqaajvxadh35k74dgnyh18";
@@ -399,32 +396,36 @@
     version = "0.1.1";
   };
   winrm = {
-    dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
+    dependencies = ["builder" "erubi" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19vxrclxc5l8n2agwvv291740s6gna2phg3lkybjb0ldkmpi3sj2";
+      sha256 = "1sl14qdshkmficdsy9z57xmdp5z9riv7jc5lv005n0h04mg7d47b";
       type = "gem";
     };
-    version = "2.3.2";
+    version = "2.3.3";
   };
   winrm-elevated = {
-    dependencies = ["winrm" "winrm-fs"];
+    dependencies = ["erubi" "winrm" "winrm-fs"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1saqc3ffh075y6fdkc7iqmn0v3pnidvfw0sh09w9cn6jvpsdxizk";
+      sha256 = "13d0pjzffbqicg08fsx4dsl6ibsqda5vx5d9f6hsds2z6mdilrab";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   winrm-fs = {
-    dependencies = ["erubis" "logging" "rubyzip" "winrm"];
+    dependencies = ["erubi" "logging" "rubyzip" "winrm"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fy4yj52kssrm5hchq7l2mbry6w6yvi736p1wjpyv8m19rx7k0c3";
+      sha256 = "0phhzliw47hmpi3ddygs500kfxa7il5yzmp7dw4ix2dvhrxrj7s6";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.3.3";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/vim-vint/default.nix b/pkgs/development/tools/vim-vint/default.nix
index 8eccdb6c285..382871ff6af 100644
--- a/pkgs/development/tools/vim-vint/default.nix
+++ b/pkgs/development/tools/vim-vint/default.nix
@@ -1,31 +1,26 @@
-{ fetchFromGitHub, lib, python3Packages }:
+{ lib, python3Packages }:
 
 with python3Packages;
 
 buildPythonApplication rec {
   pname = "vim-vint";
-  version = "0.3.20";
+  version = "0.3.21";
 
-  src = fetchFromGitHub {
-    owner = "kuniwak";
-    repo = "vint";
-    rev = "v${version}";
-    sha256 = "0ij9br4z9h8qay6l41sicr4lbjc38hxsn3lgjrj9zpn2b3585syx";
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "15qdh8fby9xgfjxidcfv1xmrqqrxxapky7zmyn46qx1abhp9piax";
   };
 
   # For python 3.5 > version > 2.7 , a nested dependency (pythonPackages.hypothesis) fails.
   disabled = ! pythonAtLeast "3.5";
 
-  # Prevent setup.py from adding dependencies in run-time and insisting on specific package versions
-  postPatch = ''
-    substituteInPlace setup.py --replace "return requires" "return []"
-  '';
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ ansicolor chardet pyyaml  setuptools] ;
+  checkInputs = [ pytest pytestcov ];
+  propagatedBuildInputs = [ ansicolor chardet pyyaml setuptools ];
 
-  # The acceptance tests check for stdout and location of binary files, which fails in nix-build.
-  checkPhase = ''
-    py.test -k "not acceptance"
+  # Unpin test dependency versions. This is fixed in master but not yet released.
+  preCheck = ''
+    sed -i 's/==.*//g' test-requirements.txt
+    sed -i 's/mock == 1.0.1/mock/g' setup.py
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch b/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-0.2.55.patch
index e564717a56f..3866483f9ed 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch
+++ b/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-0.2.55.patch
@@ -1,26 +1,26 @@
-From 3d3c33a610856b861204ccb111777e9edd8799b8 Mon Sep 17 00:00:00 2001
+From 26c538a9da9047597f9fd437d8b83502aca3f932 Mon Sep 17 00:00:00 2001
 From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Thu, 3 Oct 2019 22:26:12 +0200
-Subject: [PATCH] Add cargo.lock for `rustPlatform.buildRustPackage` in nixpkgs
+Date: Tue, 26 Nov 2019 22:40:30 +0100
+Subject: [PATCH] Add cargo.lock for 0.2.55
 
 ---
- Cargo.lock | 2221 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 2221 insertions(+)
+ Cargo.lock | 2237 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 2237 insertions(+)
  create mode 100644 Cargo.lock
 
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000..d7d32a06
+index 00000000..f256688d
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,2221 @@
+@@ -0,0 +1,2237 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
 +name = "add"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -37,17 +37,19 @@ index 00000000..d7d32a06
 +]
 +
 +[[package]]
++name = "anyhow"
++version = "1.0.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "arrayref"
 +version = "0.3.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "arrayvec"
-+version = "0.4.11"
++version = "0.5.1"
 +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 = "ascii"
@@ -80,9 +82,9 @@ index 00000000..d7d32a06
 +version = "0.7.2"
 +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)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 + "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -92,7 +94,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -102,33 +104,33 @@ index 00000000..d7d32a06
 +version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "autocfg"
-+version = "0.1.6"
++version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "backtrace"
-+version = "0.3.38"
++version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 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)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "backtrace-sys"
-+version = "0.1.31"
++version = "0.1.32"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -137,7 +139,7 @@ index 00000000..d7d32a06
 +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.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -155,16 +157,16 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "bitflags"
-+version = "1.2.0"
++version = "1.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "blake2b_simd"
-+version = "0.5.8"
++version = "0.5.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -174,7 +176,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -189,25 +191,24 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "c2-chacha"
-+version = "0.2.2"
++version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "canvas"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.45"
++version = "1.0.47"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -219,17 +220,16 @@ index 00000000..d7d32a06
 +name = "char"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "chrono"
-+version = "0.4.9"
++version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -242,9 +242,9 @@ index 00000000..d7d32a06
 +name = "closures"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -252,7 +252,7 @@ index 00000000..d7d32a06
 +version = "0.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -266,15 +266,15 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "console_log"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -284,32 +284,32 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "crossbeam-deque"
-+version = "0.7.1"
++version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-epoch"
-+version = "0.7.2"
++version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-queue"
-+version = "0.1.2"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -322,14 +322,24 @@ index 00000000..d7d32a06
 +]
 +
 +[[package]]
++name = "crossbeam-utils"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "curl"
-+version = "0.4.24"
++version = "0.4.25"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "curl-sys 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl-sys 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (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.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
 + "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 + "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -337,14 +347,14 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "curl-sys"
-+version = "0.4.22"
++version = "0.4.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -368,7 +378,7 @@ index 00000000..d7d32a06
 +version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -380,7 +390,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 + "strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -388,8 +398,8 @@ index 00000000..d7d32a06
 +name = "dom"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -407,7 +417,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "env_logger"
-+version = "0.7.0"
++version = "0.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -424,59 +434,59 @@ index 00000000..d7d32a06
 +dependencies = [
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure_derive"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "fetch"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "filetime"
-+version = "0.2.7"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 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)",
++ "libc 0.2.65 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "float-cmp"
-+version = "0.4.0"
++version = "0.5.3"
 +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.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -512,11 +522,11 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "getrandom"
-+version = "0.1.12"
++version = "0.1.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 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)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -538,7 +548,7 @@ index 00000000..d7d32a06
 +name = "guide-supported-types-examples"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -546,14 +556,22 @@ index 00000000..d7d32a06
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "hello_world"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -574,7 +592,7 @@ index 00000000..d7d32a06
 +version = "2.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -584,7 +602,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -607,7 +625,7 @@ index 00000000..d7d32a06
 +name = "import_js"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -626,24 +644,24 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "js-sys"
-+version = "0.3.28"
++version = "0.3.32"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-test 0.3.5",
 +]
 +
 +[[package]]
 +name = "julia_set"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -658,7 +676,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.62"
++version = "0.2.65"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -666,9 +684,9 @@ index 00000000..d7d32a06
 +version = "1.0.25"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (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.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -705,7 +723,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.5.1"
++version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -742,7 +760,7 @@ index 00000000..d7d32a06
 + "mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "twoway 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -751,15 +769,10 @@ index 00000000..d7d32a06
 +name = "no-std"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
-+name = "nodrop"
-+version = "0.1.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
 +name = "nom"
 +version = "4.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -778,8 +791,8 @@ index 00000000..d7d32a06
 +version = "0.1.41"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -787,9 +800,9 @@ index 00000000..d7d32a06
 +version = "0.1.39"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -798,7 +811,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -806,36 +819,37 @@ index 00000000..d7d32a06
 +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.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-traits"
-+version = "0.2.8"
++version = "0.2.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num_cpus"
-+version = "1.10.1"
++version = "1.11.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)",
++ "hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "openssl"
-+version = "0.10.25"
++version = "0.10.26"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (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.4.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.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -848,19 +862,19 @@ index 00000000..d7d32a06
 +version = "111.6.0+1.1.1d"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "openssl-sys"
-+version = "0.9.50"
++version = "0.9.53"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-src 111.6.0+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -874,8 +888,8 @@ index 00000000..d7d32a06
 +version = "0.1.0"
 +dependencies = [
 + "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -915,7 +929,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "pkg-config"
-+version = "0.3.16"
++version = "0.3.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -931,16 +945,16 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "ppv-lite86"
-+version = "0.2.5"
++version = "0.2.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "predicates"
-+version = "1.0.1"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "float-cmp 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "normalize-line-endings 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -970,7 +984,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "1.0.4"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -994,7 +1008,7 @@ index 00000000..d7d32a06
 +version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1003,7 +1017,7 @@ index 00000000..d7d32a06
 +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.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1016,7 +1030,7 @@ index 00000000..d7d32a06
 +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.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1026,8 +1040,8 @@ index 00000000..d7d32a06
 +version = "0.6.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 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)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (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_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1044,8 +1058,8 @@ index 00000000..d7d32a06
 +version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (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.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1056,7 +1070,7 @@ index 00000000..d7d32a06
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1065,7 +1079,7 @@ index 00000000..d7d32a06
 +version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1087,7 +1101,7 @@ index 00000000..d7d32a06
 +version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1119,7 +1133,7 @@ index 00000000..d7d32a06
 +version = "0.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1131,7 +1145,7 @@ index 00000000..d7d32a06
 +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.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1142,7 +1156,7 @@ index 00000000..d7d32a06
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1156,24 +1170,24 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "rayon"
-+version = "1.2.0"
++version = "1.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rayon-core"
-+version = "1.6.0"
++version = "1.6.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.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.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1182,13 +1196,13 @@ index 00000000..d7d32a06
 +dependencies = [
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.32",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "raytracer 0.1.0 (git+https://github.com/alexcrichton/raytracer?branch=update-deps)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -1197,8 +1211,8 @@ index 00000000..d7d32a06
 +source = "git+https://github.com/alexcrichton/raytracer?branch=update-deps#42faa13859f7d8d47fd18be785c108003a207786"
 +dependencies = [
 + "image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1219,7 +1233,7 @@ index 00000000..d7d32a06
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (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.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1253,8 +1267,8 @@ index 00000000..d7d32a06
 +name = "request-animation-frame"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -1263,14 +1277,14 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "multipart 0.15.4 (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.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1285,7 +1299,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1293,7 +1307,7 @@ index 00000000..d7d32a06
 +name = "rust-duck-typed-interfaces"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -1311,22 +1325,22 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "ryu"
-+version = "1.0.0"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "safemem"
-+version = "0.3.2"
++version = "0.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "sample"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-test 0.3.5",
 +]
 +
 +[[package]]
@@ -1368,30 +1382,30 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.101"
++version = "1.0.103"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.101"
++version = "1.0.103"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_json"
-+version = "1.0.40"
++version = "1.0.42"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1406,7 +1420,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.10"
++version = "1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1415,7 +1429,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 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)",
++ "libc 0.2.65 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1442,23 +1456,23 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.5"
++version = "1.0.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "synstructure"
-+version = "0.10.2"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1476,7 +1490,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 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)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.2 (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)",
@@ -1514,7 +1528,7 @@ index 00000000..d7d32a06
 +version = "1.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1522,7 +1536,7 @@ index 00000000..d7d32a06
 +version = "0.1.42"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1533,7 +1547,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "ascii 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "chunked_transfer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1545,9 +1559,9 @@ index 00000000..d7d32a06
 +dependencies = [
 + "askama 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -1555,15 +1569,15 @@ index 00000000..d7d32a06
 +version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "toml"
-+version = "0.5.3"
++version = "0.5.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1573,15 +1587,15 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "trybuild"
-+version = "1.0.16"
++version = "1.0.18"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1596,7 +1610,7 @@ index 00000000..d7d32a06
 +name = "typescript-tests"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -1617,15 +1631,15 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "unicode-normalization"
-+version = "0.1.8"
++version = "0.1.11"
 +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 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "unicode-segmentation"
-+version = "1.3.0"
++version = "1.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1660,27 +1674,27 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "walrus"
-+version = "0.12.0"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "walrus-macro"
-+version = "0.12.0"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1690,217 +1704,217 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "wasm-bindgen"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-macro 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
++ "js-sys 0.3.32",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-macro 0.2.55",
++ "wasm-bindgen-test 0.3.5",
 + "wasm-bindgen-test-crate-a 0.1.0",
 + "wasm-bindgen-test-crate-b 0.1.0",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-anyref-xform"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-backend"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
 + "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-shared 0.2.51",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-shared 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-benchmark"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-cli"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl 0.10.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rouille 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-cli-support 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-cli-support 0.2.55",
++ "wasm-bindgen-shared 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-cli-support"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-anyref-xform 0.2.51",
-+ "wasm-bindgen-multi-value-xform 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
-+ "wasm-bindgen-threads-xform 0.2.51",
-+ "wasm-bindgen-wasm-conventions 0.2.51",
-+ "wasm-bindgen-wasm-interpreter 0.2.51",
-+ "wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-anyref-xform 0.2.55",
++ "wasm-bindgen-multi-value-xform 0.2.55",
++ "wasm-bindgen-shared 0.2.55",
++ "wasm-bindgen-threads-xform 0.2.55",
++ "wasm-bindgen-wasm-conventions 0.2.55",
++ "wasm-bindgen-wasm-interpreter 0.2.55",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-futures"
-+version = "0.4.1"
++version = "0.4.5"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-test 0.3.5",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-macro"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "trybuild 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-macro-support 0.2.51",
++ "trybuild 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-macro-support 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-macro-support"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-backend 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-backend 0.2.55",
++ "wasm-bindgen-shared 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-multi-value-xform"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-paint"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-shared"
-+version = "0.2.51"
++version = "0.2.55"
 +
 +[[package]]
 +name = "wasm-bindgen-test"
-+version = "0.3.1"
++version = "0.3.5"
 +dependencies = [
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
++ "js-sys 0.3.32",
 + "scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test-macro 0.3.1",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-test-macro 0.3.5",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-crate-a"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-crate-b"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-macro"
-+version = "0.3.1"
++version = "0.3.5"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-threads-xform"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-wasm-conventions 0.2.51",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-wasm-conventions 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-wasm-conventions"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-wasm-interpreter"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-webidl"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-backend 0.2.51",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-backend 0.2.55",
 + "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1908,81 +1922,81 @@ index 00000000..d7d32a06
 +name = "wasm-in-wasm"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-webidl-bindings"
-+version = "0.5.0"
++version = "0.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm2js"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasmparser"
-+version = "0.37.2"
++version = "0.39.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "web-sys"
-+version = "0.3.28"
++version = "0.3.32"
 +dependencies = [
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.32",
 + "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
-+ "wasm-bindgen-webidl 0.2.51",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-test 0.3.5",
++ "wasm-bindgen-webidl 0.2.55",
 +]
 +
 +[[package]]
 +name = "webaudio"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "webgl"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "webidl-tests"
 +version = "0.1.0"
 +dependencies = [
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
-+ "wasm-bindgen-webidl 0.2.51",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-test 0.3.5",
++ "wasm-bindgen-webidl 0.2.55",
 +]
 +
 +[[package]]
 +name = "websockets"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -2033,76 +2047,79 @@ index 00000000..d7d32a06
 +name = "without-a-bundler"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "without-a-bundler-no-modules"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[metadata]
 +"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
 +"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++"checksum anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)" = "6f1072d8f55592084072d2d3cb23a4b680a8543c00f10d446118e85ad3718142"
 +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-+"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
++"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 +"checksum ascii 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "97be891acc47ca214468e09425d02cef3af2c94d0d82081cd02061f996802f14"
 +"checksum askama 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eed81479263c8753e06f4981f5a313b3fe6cbff30c3ff8d9ae15ef0c72d93fb5"
 +"checksum askama_derive 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "46580c08e5520afadc6e9064759e15fc743489a4db78f9c751113e3d32a1e083"
 +"checksum askama_shared 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "64509fd5c2fa767fa7ea973b732c61f0b8d30d1adf084e5164523e51a5e35d71"
 +"checksum assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc477793bd82ec39799b6f6b3df64938532fdf2ab0d49ef817eac65856a5a1e"
 +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-+"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
-+"checksum backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)" = "690a62be8920ccf773ee00ef0968649b0e724cda8bd5b12286302b4ae955fdf5"
-+"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b"
++"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
++"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
++"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 +"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 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
-+"checksum bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a606a02debe2813760609f57a64a2ffd27d9fdf5b2f133eaca0b248dd92cdd2"
-+"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
++"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
 +"checksum buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f"
 +"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708"
 +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-+"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
-+"checksum cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be"
++"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++"checksum cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)" = "aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"
 +"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+"checksum chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68"
++"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
 +"checksum chunked_transfer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "498d20a7aaf62625b9bf26e637cf7736417cde1d0c99f1d04d1170229a85cf87"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
 +"checksum color_quant 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0dbbb57365263e881e805dc77d94697c9118fd94d8da011240555aa7b23445bd"
 +"checksum console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
 +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
-+"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
-+"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
-+"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
++"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
++"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
++"checksum crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dfd6515864a82d2f877b42813d4553292c6659498c9a2aa31bab5a15243c2700"
 +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
-+"checksum curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "d08ad3cb89d076a36b0ce5749eec2c9964f70c0c58480ab6b75a91ec4fc206d8"
-+"checksum curl-sys 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9a9a4e417722876332136a00cacf92c2ceb331fab4b52b6a1ad16c6cd79255"
++"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
++"checksum curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)" = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
++"checksum curl-sys 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "f659f3ffac9582d6177bb86d1d2aa649f4eb9d0d4de9d03ccc08b402832ea340"
 +"checksum deflate 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)" = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4"
 +"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
 +"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
 +"checksum docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
 +"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
 +"checksum enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180"
-+"checksum env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "39ecdb7dd54465526f0a56d666e3b2dd5f3a218665a030b6e4ad9e70fa95d8fa"
++"checksum env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
 +"checksum escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ceb9adbf9874d5d028b5e4c5739d22b71988252b25c9c98fe7cf9738bee84597"
-+"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 filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd7380b54ced79dda72ecc35cc4fbbd1da6bba54afaa37e96fd1c2a308cd469"
-+"checksum float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "134a8fa843d80a51a5b77d36d42bc2def9edcb0262c914861d08129fd1926600"
++"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++"checksum filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
++"checksum float-cmp 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75224bec9bfe1a65e2d34132933f2de7fe79900c96a0174307554244ece8150e"
 +"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 futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "d5e5f4df964fa9c1c2f8bddeb5c3611631cacd93baf810fc8bb2fb4b495c263a"
 +"checksum futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"
-+"checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
++"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
 +"checksum gif 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2e41945ba23db3bf51b24756d73d81acb4f28d85c3dccc32c6fae904438c25f"
 +"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 +"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
++"checksum hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
 +"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
 +"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
 +"checksum id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
@@ -2113,43 +2130,42 @@ index 00000000..d7d32a06
 +"checksum jpeg-decoder 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "c1aae18ffeeae409c6622c3b6a7ee49792a7e5a062eea1b135fbb74e301792ba"
 +"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 +"checksum leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a"
-+"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
++"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
 +"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
 +"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 lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084"
 +"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
 +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-+"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
++"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
 +"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 multipart 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)" = "adba94490a79baf2d6a23eac897157047008272fa3eecb3373ae6377b91eca28"
-+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
 +"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
 +"checksum normalize-line-endings 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2e0a1a39eab95caf4f5556da9289b9e68f0aafac901b2ce80daaf020d3b733a8"
 +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
 +"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
 +"checksum num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e"
 +"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 openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2f372b2b53ce10fb823a337aaa674e3a7d072b957c6264d0f4ff0bd86e657449"
++"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
++"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
++"checksum openssl 0.10.26 (registry+https://github.com/rust-lang/crates.io-index)" = "3a3cc5799d98e1088141b8e01ff760112bbd9f19d850c124500566ca6901a585"
 +"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
 +"checksum openssl-src 111.6.0+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)" = "b9c2da1de8a7a3f860919c01540b03a6db16de042405a8a07a5e9d0b4b825d9c"
-+"checksum openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)" = "2c42dcccb832556b5926bc9ae61e8775f2a61e725ab07ab3d1e7fcf8ae62c3b6"
++"checksum openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)" = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
 +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
 +"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
 +"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.16 (registry+https://github.com/rust-lang/crates.io-index)" = "72d5370d90f49f70bd033c3d75e87fc529fbfff9d6f7cccef07d6170079d91ea"
++"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
 +"checksum png 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3cb773e9a557edb568ce9935cf783e3cdcabe06a9449d41b3e5506d88e582c82"
-+"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
-+"checksum predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "53e09015b0d3f5a0ec2d4428f7559bb7b3fff341b4e159fedd1d57fac8b939ff"
++"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
++"checksum predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a9bfe52247e5cc9b2f943682a85a5549fb9662245caf094504e69a2f03fe64d4"
 +"checksum predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "06075c3a3e92559ff8929e7a280684489ea27fe44805174c3ebd9328dcb37178"
 +"checksum predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e63c4859013b38a76eca2414c64911fba30def9e3202ac461a2d22831220124"
 +"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afdc77cc74ec70ed262262942ebb7dac3d479e9e5cfa2da1841c0806f6cdabcc"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
 +"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
 +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
@@ -2169,8 +2185,8 @@ index 00000000..d7d32a06
 +"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 rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123"
-+"checksum rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b"
++"checksum rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "43739f8831493b276363637423d3622d4bd6394ab6f0a9c4a552e208aeb7fddd"
++"checksum rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8bf17de6f23b05473c437eb958b9c850bfc8af0961fe17b4cc92d5a627b4791"
 +"checksum raytracer 0.1.0 (git+https://github.com/alexcrichton/raytracer?branch=update-deps)" = "<none>"
 +"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"
@@ -2182,26 +2198,26 @@ index 00000000..d7d32a06
 +"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 +"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997"
-+"checksum safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b08423011dae9a5ca23f07cf57dac3857f5c885d352b76f6d95f4aea9434d0"
++"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++"checksum safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
 +"checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
 +"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
 +"checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
 +"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
 +"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 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
-+"checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e"
-+"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704"
++"checksum serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
++"checksum serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
++"checksum serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)" = "1a3351dcbc1f067e2c92ab7c3c1f288ad1a4cffc470b5aaddb4c2e0a3ae80043"
 +"checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
 +"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 smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
 +"checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
 +"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
 +"checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
 +"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
-+"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-+"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
++"checksum syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "661641ea2aa15845cddeb97dad000d22070bb5c1fb456b96c1cba883ec691e92"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 +"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 term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
@@ -2211,24 +2227,24 @@ index 00000000..d7d32a06
 +"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
 +"checksum tiny_http 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1661fa0a44c95d01604bd05c66732a446c657efb62b5164a7a083a3b552b4951"
 +"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
-+"checksum toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7aabe75941d914b72bf3e5d3932ed92ce0664d49d8432305a8b547c37227724"
++"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
 +"checksum treeline 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
-+"checksum trybuild 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)" = "10d8f366221c5a5ff8a62faa005e186fdce758949d34a9140b64a062951bae68"
++"checksum trybuild 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "b75e31d624df08744532e935f1d4bfedd319a277d5a162c5b15f6ced59307575"
 +"checksum twoway 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1"
 +"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
 +"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-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
++"checksum unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
 +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 +"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 version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-+"checksum walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f3bd9559eb5b59d55cc60986e26dc9b3f64377d0b9495e41abd9ede9a6443f"
-+"checksum walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0464a6e0d86be4c95c8c838bcb1910df831e1216a9586feeb02478cd52c4e554"
++"checksum walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85ce93ab0c27412ba41d509f2410fa575ecbfdb4a6aba0e02e79e12c09745485"
++"checksum walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8757b0da38353d55a9687f4dee68a8f441f980dd36e16ab07d6e6c673f505f76"
 +"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
-+"checksum wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e407ee3155cb0742acacd0b21060daafe2ad78ea718f2d6b10e7d9d1032aa961"
-+"checksum wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7387ba67c13dd9cd01d7d961e733375aee889f828564e190da85b5602eb5eeb"
++"checksum wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b5cae185868c6038a48f487b9af3766ee0c68d4a85fa3610c3a0522092b3cec1"
++"checksum wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c702914acda5feeeffbc29e4d953e5b9ce79d8b98da4dbf18a77086e116c5470"
 +"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
 +"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
diff --git a/pkgs/development/tools/wasm-bindgen-cli/default.nix b/pkgs/development/tools/wasm-bindgen-cli/default.nix
index 2fd30ecc6b1..26f37c5dc74 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-bindgen-cli";
-  version = "0.2.51";
+  version = "0.2.55";
 
   src = fetchFromGitHub {
     owner = "rustwasm";
     repo = "wasm-bindgen";
     rev = version;
-    sha256 = "1pfkwak11k3ghvv985c20vhg4cyvf131a1f7k3sv5snw2klww7vm";
+    sha256 = "13pcfrdf3nk4mrc7lqpz9qjdh7gfpqf849iywcyjk3f9y8sm46ii";
   };
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
   nativeBuildInputs = [ pkgconfig ];
 
-  cargoSha256 = "06zk2yzwpl569q5mgn56gprsfxxvyz4a2i949lls13daq1kal5pa";
-  cargoPatches = [ ./0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch ];
+  cargoSha256 = "0mpq40llddqj7syi07pfhr48kndx35f1hyf5pvx5zdnfz29a924v";
+  cargoPatches = [ ./0001-Add-cargo.lock-for-0.2.55.patch ];
   cargoBuildFlags = [ "-p" pname ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 43d3e20d3df..3384dac5410 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yarn";
-  version = "1.19.1";
+  version = "1.19.2";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "0qlrwmvpv0ifvywqqzg28ywmhk4prkk1dflnnpk6grpgkq3bfv77";
+    sha256 = "05sjf7pgdj3hh92j2xxl683frrkiw1rqxs72z3an4gb83nllvi0n";
   };
 
   buildInputs = [ nodejs ];
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index f88a6ceaeb3..796060de0b0 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec{
   pname = "cypress";
-  version = "3.5.0";
+  version = "3.6.1";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "1w1nqa0j3bzjr000d4jlr34d1asdc1fv81pq831s3wl55hyqbij6";
+    sha256 = "0vlfmhsz7zkp3bjsgqmp9n716d5znicl42hm0m9hl7ndvgm9z9z0";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/development/web/nodejs/v13.nix b/pkgs/development/web/nodejs/v13.nix
index ee5d384f200..f5e9952233b 100644
--- a/pkgs/development/web/nodejs/v13.nix
+++ b/pkgs/development/web/nodejs/v13.nix
@@ -5,8 +5,8 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "13.2.0";
-    sha256 = "0r0bbwnp77njhdmby7cs2g6yxfprri684s8h3gqq95ks7vgwgvhx";
+    version = "13.3.0";
+    sha256 = "0j36jf0ybq470w91kzg28bcmxlml7ccl4swwklb6x1ibkz697np7";
 
     patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ];
   }
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index 440012461b9..7c56cd827ca 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "postman";
-  version = "7.10.0";
+  version = "7.12.0";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "0k8np71p414407hvcw149gspvdgyadnmpvfdxwwkr3pydj70vn6f";
+    sha256 = "0sz7cidajrsj43vq5g8jrkxlrp97r7n8dfr9gp8l0wxnidiqm401";
     name = "${pname}.tar.gz";
   };
 
diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix
index ef285f8cb93..8102235d88e 100644
--- a/pkgs/games/0ad/game.nix
+++ b/pkgs/games/0ad/game.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, perl, fetchurl, python2
 , pkgconfig, spidermonkey_38, boost, icu, libxml2, libpng, libsodium
 , libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc
-, openal, libGLU_combined, xorgproto, libX11, libXcursor, nspr, SDL2
+, openal, libGLU, libGL, xorgproto, libX11, libXcursor, nspr, SDL2
 , gloox, nvidia-texture-tools
 , withEditor ? true, wxGTK ? null
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     spidermonkey_38 boost icu libxml2 libpng libjpeg
     zlib curl libogg libvorbis enet miniupnpc openal
-    libGLU_combined xorgproto libX11 libXcursor nspr SDL2 gloox
+    libGLU libGL xorgproto libX11 libXcursor nspr SDL2 gloox
     nvidia-texture-tools libsodium
   ] ++ lib.optional withEditor wxGTK;
 
diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix
index 9766e58c15a..2d3be1880de 100644
--- a/pkgs/games/adom/default.nix
+++ b/pkgs/games/adom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU_combined, alsaLib, libpulseaudio
+{ stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU, libGL, alsaLib, libpulseaudio
 , xorg }:
 
 let
@@ -6,7 +6,7 @@ let
   inherit (xorg) libXext libX11;
 
   lpath = "${stdenv.cc.cc.lib}/lib64:" + stdenv.lib.makeLibraryPath [
-      zlib libmad libpng12 libcaca libXext libX11 libGLU_combined alsaLib libpulseaudio];
+      zlib libmad libpng12 libcaca libXext libX11 libGLU libGL alsaLib libpulseaudio];
 
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/games/alienarena/default.nix b/pkgs/games/alienarena/default.nix
index 89c74d83b49..5c27e3426fd 100644
--- a/pkgs/games/alienarena/default.nix
+++ b/pkgs/games/alienarena/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libjpeg, libX11, libXxf86vm, curl, libogg
-, libvorbis, freetype, openal, libGLU_combined }:
+, libvorbis, freetype, openal, libGL }:
 
 stdenv.mkDerivation {
   name = "alienarena-7.65";
@@ -11,12 +11,12 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libjpeg libX11 curl libogg libvorbis
-                  freetype openal libGLU_combined libXxf86vm ];
+                  freetype openal libGL libXxf86vm ];
 
   patchPhase = ''
     substituteInPlace ./configure \
       --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 \
-      --replace libGL.so.1 ${libGLU_combined}/lib/libGL.so.1
+      --replace libGL.so.1 ${libGL}/lib/libGL.so.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix
index 70c23664dc0..edb739125c0 100644
--- a/pkgs/games/armagetronad/default.nix
+++ b/pkgs/games/armagetronad/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU_combined, zlib }:
+{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU, libGL, zlib }:
 
 let
   versionMajor = "0.2.8";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   configureFlags = [ "--disable-etc" ];
-  buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU_combined zlib ];
+  buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU libGL zlib ];
 
   meta = with stdenv.lib; {
     homepage = http://armagetronad.org;
diff --git a/pkgs/games/astromenace/default.nix b/pkgs/games/astromenace/default.nix
index 37593d3bd72..191428f66db 100644
--- a/pkgs/games/astromenace/default.nix
+++ b/pkgs/games/astromenace/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, cmake, xlibsWrapper, libGLU_combined, SDL, openal, freealut, libogg, libvorbis, runtimeShell }:
+{ fetchurl, stdenv, cmake, xlibsWrapper, libGLU, libGL, SDL, openal, freealut, libogg, libvorbis, runtimeShell }:
 
 stdenv.mkDerivation rec {
   version = "1.3.2";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1rkz6lwjcd5mwv72kf07ghvx6z46kf3xs250mjbmnmjpn7r5sxwv";
   };
 
-  buildInputs = [ cmake xlibsWrapper libGLU_combined SDL openal freealut libogg libvorbis ];
+  buildInputs = [ cmake xlibsWrapper libGLU libGL SDL openal freealut libogg libvorbis ];
 
   buildPhase = ''
     cmake ./
diff --git a/pkgs/games/bitsnbots/default.nix b/pkgs/games/bitsnbots/default.nix
index 94a1e6ee91a..c6c5176ecdf 100644
--- a/pkgs/games/bitsnbots/default.nix
+++ b/pkgs/games/bitsnbots/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, lua, libGLU_combined }:
+{ stdenv, fetchurl, SDL, lua, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   name = "bitsnbots-20111230";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     ln -s $out/share/${name}/bitsnbots $out/bin
   '';
 
-  buildInputs = [ SDL lua libGLU_combined ];
+  buildInputs = [ SDL lua libGLU libGL ];
 
   meta = {
     description = "Simple puzzle game with moving robots";
diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix
index a35b449f92f..608b32764bb 100644
--- a/pkgs/games/blackshades/default.nix
+++ b/pkgs/games/blackshades/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchsvn, SDL, libGLU_combined, openal, libvorbis, freealut, SDL_image}:
+{stdenv, fetchsvn, SDL, libGLU, libGL, openal, libvorbis, freealut, SDL_image}:
 
 stdenv.mkDerivation {
   name = "blackshades-svn-110";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   NIX_LDFLAGS = "-lSDL_image";
 
-  buildInputs = [ SDL SDL_image libGLU_combined openal libvorbis freealut ];
+  buildInputs = [ SDL SDL_image libGLU libGL openal libvorbis freealut ];
 
   patchPhase = ''
     sed -i -e s,Data/,$out/opt/$name/Data/,g \
diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix
index d3eb2348a0d..938d767c3d8 100644
--- a/pkgs/games/blobby/default.nix
+++ b/pkgs/games/blobby/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL2, SDL2_image, libGLU_combined, cmake, physfs, boost, zip, zlib
+{stdenv, fetchurl, SDL2, SDL2_image, libGLU, libGL, cmake, physfs, boost, zip, zlib
 , pkgconfig, unzip}:
 stdenv.mkDerivation rec {
   version = "1.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [SDL2 SDL2_image libGLU_combined cmake physfs boost zip zlib
+  buildInputs = [SDL2 SDL2_image libGLU libGL cmake physfs boost zip zlib
     unzip];
 
   preConfigure=''
diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix
index 56d2866a235..d07088a30a3 100644
--- a/pkgs/games/bzflag/default.nix
+++ b/pkgs/games/bzflag/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pkgconfig
-, curl, SDL2, libGLU_combined, glew, ncurses, c-ares
+, curl, SDL2, libGLU, libGL, glew, ncurses, c-ares
 , Carbon, CoreServices }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ curl SDL2 libGLU_combined glew ncurses c-ares ]
+  buildInputs = [ curl SDL2 libGLU libGL glew ncurses c-ares ]
     ++ lib.optionals stdenv.isDarwin [ Carbon CoreServices ];
 
   meta = with lib; {
diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix
index bbdc2a60313..5c74b596279 100644
--- a/pkgs/games/construo/default.nix
+++ b/pkgs/games/construo/default.nix
@@ -1,4 +1,12 @@
-{ stdenv, fetchurl, libX11, zlib, xorgproto, libGL ? null, libGLU ? null, freeglut ? null }:
+{ stdenv
+, fetchurl
+, libX11
+, zlib
+, xorgproto
+, libGL ? null
+, libGLU ? null
+, freeglut ? null
+}:
 
 stdenv.mkDerivation rec {
   pname = "construo";
diff --git a/pkgs/games/crack-attack/default.nix b/pkgs/games/crack-attack/default.nix
index bb06bec411b..4741ac7bb68 100644
--- a/pkgs/games/crack-attack/default.nix
+++ b/pkgs/games/crack-attack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU_combined, libXi, libXmu }:
+{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU, libGL, libXi, libXmu }:
 
 stdenv.mkDerivation {
   name = "crack-attack-1.1.14";
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--enable-sound=yes" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU_combined libXi libXmu ];
+  buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU libGL libXi libXmu ];
 
   hardeningDisable = [ "format" ];
   enableParallelBuilding = true;
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index 47632408e79..e4cccdd6221 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
-, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU_combined, freetype, pngcrush, advancecomp
+, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU, libGL, freetype, pngcrush, advancecomp
 , tileMode ? false, enableSound ? tileMode
 
 # MacOS / Darwin builds
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   # Still unstable with luajit
   buildInputs = [ lua5_1 zlib sqlite ncurses ]
                 ++ (with python3.pkgs; [ pyyaml ])
-                ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU_combined ]
+                ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU libGL ]
                 ++ lib.optional enableSound SDL2_mixer
                 ++ (lib.optionals stdenv.isDarwin (
                   assert (lib.assertMsg (darwin != null) "Must have darwin frameworks available for darwin builds");
diff --git a/pkgs/games/crrcsim/default.nix b/pkgs/games/crrcsim/default.nix
index b9d3a69d87b..75ff970a16a 100644
--- a/pkgs/games/crrcsim/default.nix
+++ b/pkgs/games/crrcsim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, SDL_mixer, plib, libjpeg }:
+{ stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, plib, libjpeg }:
 let
   version = "0.9.13";
 in
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libGLU_combined SDL SDL_mixer plib libjpeg
+    libGLU libGL SDL SDL_mixer plib libjpeg
   ];
 
   patches = [
diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix
index 441e9f66981..fd972937640 100644
--- a/pkgs/games/dhewm3/default.nix
+++ b/pkgs/games/dhewm3/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU_combined, zlib, libjpeg, libogg, libvorbis
+{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU, libGL, zlib, libjpeg, libogg, libvorbis
 , openal, curl }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0wsabvh1x4g12xmhzs2m2pgri2q9sir1w3m2r7fpy6kzxp32hqdk";
   };
 
-  # Add libGLU_combined linking
+  # Add libGLU libGL linking
   patchPhase = ''
     sed -i 's/\<idlib\()\?\)$/idlib GL\1/' neo/CMakeLists.txt
   '';
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ SDL2 libGLU_combined zlib libjpeg libogg libvorbis openal curl ];
+  buildInputs = [ SDL2 libGLU libGL zlib libjpeg libogg libvorbis openal curl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index 71024f3d5c9..544fa26b21c 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildEnv, lib, fetchFromGitHub, cmake, writeScriptBin
 , perl, XMLLibXML, XMLLibXSLT, zlib
-, enableStoneSense ? false,  allegro5, libGLU_combined
+, enableStoneSense ? false,  allegro5, libGLU, libGL
 , enableTWBT ? true, twbt
 , SDL
 , dfVersion
@@ -100,7 +100,7 @@ let
     nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
     # We don't use system libraries because dfhack needs old C++ ABI.
     buildInputs = [ zlib SDL ]
-               ++ lib.optionals enableStoneSense [ allegro5 libGLU_combined ];
+               ++ lib.optionals enableStoneSense [ allegro5 libGLU libGL ];
 
     preConfigure = ''
       # Trick build system into believing we have .git
diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/games/dxx-rebirth/default.nix
index 82806c7521c..b7eb2f02568 100644
--- a/pkgs/games/dxx-rebirth/default.nix
+++ b/pkgs/games/dxx-rebirth/default.nix
@@ -1,5 +1,5 @@
 { gcc6Stdenv, fetchurl, fetchpatch, scons, pkgconfig
-, SDL, SDL_mixer, libGLU_combined, physfs
+, SDL, SDL_mixer, libGLU, libGL, physfs
 }:
 
 let
@@ -33,7 +33,7 @@ in gcc6Stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig scons ];
 
-  buildInputs = [ libGLU_combined physfs SDL SDL_mixer ];
+  buildInputs = [ libGLU libGL physfs SDL SDL_mixer ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 2999da8fcaa..e305505d62c 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, nasm, makeDesktopItem
-, flac, gtk2, libvorbis, libvpx, libGLU_combined
+, flac, gtk2, libvorbis, libvpx, libGLU, libGL
 , SDL2, SDL2_mixer }:
 
 let
@@ -26,18 +26,18 @@ in stdenv.mkDerivation {
     sha256 = "09a7l23i6sygicc82w1in9hjw0jvivlf7q0vw8kcx9j98lm23mkn";
   };
 
-  buildInputs = [ flac gtk2 libvorbis libvpx libGLU_combined SDL2 SDL2_mixer ];
+  buildInputs = [ flac gtk2 libvorbis libvpx libGL libGLU SDL2 SDL2_mixer ];
 
   nativeBuildInputs = [ makeWrapper pkgconfig ]
     ++ stdenv.lib.optional (stdenv.hostPlatform.system == "i686-linux") nasm;
 
   postPatch = ''
     substituteInPlace source/build/src/glbuild.cpp \
-      --replace libGLU.so ${libGLU_combined}/lib/libGLU.so
+      --replace libGLU.so ${libGLU}/lib/libGLU.so
 
     for f in glad.c glad_wgl.c ; do
       substituteInPlace source/glad/src/$f \
-        --replace libGL.so ${libGLU_combined}/lib/libGL.so
+        --replace libGL.so ${libGL}/lib/libGL.so
     done
   '';
 
diff --git a/pkgs/games/egoboo/default.nix b/pkgs/games/egoboo/default.nix
index 98ab4d27d5f..3cd2dc5827b 100644
--- a/pkgs/games/egoboo/default.nix
+++ b/pkgs/games/egoboo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, SDL_mixer, SDL_image, SDL_ttf }:
+{ stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_ttf }:
 
 stdenv.mkDerivation rec {
   # pf5234 (a developer?) at freenode #egoboo told me that I better use 2.7.3 until
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     cp -v -Rd controls.txt setup.txt players modules basicdat $out/share/${name}
   '';
 
-  buildInputs = [ libGLU_combined SDL SDL_mixer SDL_image SDL_ttf ];
+  buildInputs = [ libGLU libGL SDL SDL_mixer SDL_image SDL_ttf ];
 
   /*
     This big commented thing may be needed for versions 2.8.0 or beyond
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index 63a527005f7..c7c618c0c18 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     '';
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = https://sourceforge.net/projects/extremetuxracer/;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/games/ezquake/default.nix b/pkgs/games/ezquake/default.nix
index e06975e8db4..1c007cc6bb5 100644
--- a/pkgs/games/ezquake/default.nix
+++ b/pkgs/games/ezquake/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, curl, expat
-, jansson, libpng, libjpeg, libGLU_combined, libXxf86vm, pcre
+, jansson, libpng, libjpeg, libGLU, libGL, libXxf86vm, pcre
 , pkgconfig, SDL2, vim }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    expat curl jansson libpng libjpeg libGLU_combined libXxf86vm pcre SDL2 vim
+    expat curl jansson libpng libjpeg libGLU libGL libXxf86vm pcre SDL2 vim
   ];
 
   installPhase = with stdenv.lib; let
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 9266428b5e7..d3c3271710a 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, wrapQtAppsHook
-, freeglut, freealut, libGLU_combined, libICE, libjpeg, openal, openscenegraph, plib
+, freeglut, freealut, libGLU, libGL, libICE, libjpeg, openal, openscenegraph, plib
 , libSM, libunwind, libX11, xorgproto, libXext, libXi
 , libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr
 , makeDesktopItem, qtbase, qtdeclarative, glew
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
   buildInputs = [
-    freeglut freealut libGLU_combined libICE libjpeg openal openscenegraph plib
+    freeglut freealut libGLU libGL libICE libjpeg openal openscenegraph plib
     libSM libunwind libX11 xorgproto libXext libXi
     libXmu libXt simgear zlib boost libpng udev fltk13 apr qtbase
     glew qtdeclarative
diff --git a/pkgs/games/freeorion/default.nix b/pkgs/games/freeorion/default.nix
index d0f514f239d..dfad954f0f0 100644
--- a/pkgs/games/freeorion/default.nix
+++ b/pkgs/games/freeorion/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, doxygen, graphviz, makeWrapper
 , boost, SDL2, python2, freetype, openal, libogg, libvorbis, zlib, libpng, libtiff
-, libjpeg, libGLU_combined, glew, libxslt
+, libjpeg, libGLU, libGL, glew, libxslt
 }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
 	(boost.override { enablePython = true; })
-    SDL2 python2 freetype openal libogg libvorbis zlib libpng libtiff libjpeg libGLU_combined glew ];
+    SDL2 python2 freetype openal libogg libvorbis zlib libpng libtiff libjpeg libGLU libGL glew ];
 
   nativeBuildInputs = [ cmake doxygen graphviz makeWrapper ];
 
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix
index d334439cafb..b8a0d5ff3c7 100644
--- a/pkgs/games/fsg/default.nix
+++ b/pkgs/games/fsg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk2, glib, pkgconfig, libGLU_combined, wxGTK, libX11, xorgproto
+{ stdenv, fetchurl, gtk2, glib, pkgconfig, libGLU, libGL, wxGTK, libX11, xorgproto
 , runtimeShell }:
 
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 glib libGLU_combined wxGTK libX11 xorgproto ];
+  buildInputs = [ gtk2 glib libGLU libGL wxGTK libX11 xorgproto ];
 
   preBuild = ''
     sed -e '
diff --git a/pkgs/games/gl-117/default.nix b/pkgs/games/gl-117/default.nix
index fb60808bab7..09a472f4dac 100644
--- a/pkgs/games/gl-117/default.nix
+++ b/pkgs/games/gl-117/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, libGLU_combined, SDL, freeglut, SDL_mixer, autoconf, automake, libtool
+, libGLU, libGL, SDL, freeglut, SDL_mixer, autoconf, automake, libtool
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yvg1rp1yijv0b45cz085b29x5x0g5fkm654xdv5qwh2l6803gb4";
   };
 
-  buildInputs = [ libGLU_combined SDL freeglut SDL_mixer autoconf automake libtool ];
+  buildInputs = [ libGLU libGL SDL freeglut SDL_mixer autoconf automake libtool ];
 
   meta = with stdenv.lib; {
     description = "An air combat simulator";
diff --git a/pkgs/games/globulation/default.nix b/pkgs/games/globulation/default.nix
index edfb05d237c..b953aad606d 100644
--- a/pkgs/games/globulation/default.nix
+++ b/pkgs/games/globulation/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, sconsPackages, SDL_ttf, SDL_image, zlib, SDL_net
+{ stdenv, fetchurl, libGLU, libGL, SDL, sconsPackages, SDL_ttf, SDL_image, zlib, SDL_net
 , speex, libvorbis, libogg, boost, fribidi, bsdiff
 , fetchpatch
 }:
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ sconsPackages.scons_3_0_1 ];
-  buildInputs = [ libGLU_combined SDL SDL_ttf SDL_image zlib SDL_net speex libvorbis libogg boost fribidi bsdiff ];
+  buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image zlib SDL_net speex libvorbis libogg boost fribidi bsdiff ];
 
   postConfigure = ''
     sconsFlags+=" BINDIR=$out/bin"
diff --git a/pkgs/games/gltron/default.nix b/pkgs/games/gltron/default.nix
index bd3ae0b2e12..0e70096ab53 100644
--- a/pkgs/games/gltron/default.nix
+++ b/pkgs/games/gltron/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, libGLU_combined, zlib, libpng, libvorbis, libmikmod, SDL_sound } :
+{stdenv, fetchurl, SDL, libGLU, libGL, zlib, libpng, libvorbis, libmikmod, SDL_sound } :
 
 stdenv.mkDerivation rec {
   name = "gltron-0.70";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   # The build fails, unless we disable the default -Wall -Werror
   configureFlags = [ "--disable-warn" ];
 
-  buildInputs = [ SDL libGLU_combined zlib libpng libvorbis libmikmod SDL_sound ];
+  buildInputs = [ SDL libGLU libGL zlib libpng libvorbis libmikmod SDL_sound ];
 
   meta = {
     homepage = http://www.gltron.org/;
diff --git a/pkgs/games/kobodeluxe/default.nix b/pkgs/games/kobodeluxe/default.nix
index b6d14085351..38eff4f2fce 100644
--- a/pkgs/games/kobodeluxe/default.nix
+++ b/pkgs/games/kobodeluxe/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, SDL_image, libGLU_combined} :
+{stdenv, fetchurl, SDL, SDL_image, libGLU, libGL} :
 
 stdenv.mkDerivation {
   name = "kobodeluxe-0.5.1";
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
     sha256 = "0f7b910a399d985437564af8c5d81d6dcf22b96b26b01488d72baa6a6fdb5c2c";
   };
 
-  buildInputs = [ SDL SDL_image libGLU_combined ];
+  buildInputs = [ SDL SDL_image libGLU libGL ];
 
   prePatch = ''
     sed -e 's/char \*tok/const char \*tok/' -i graphics/window.cpp
diff --git a/pkgs/games/lincity/ng.nix b/pkgs/games/lincity/ng.nix
index 3ec508040e7..67f15be1ed3 100644
--- a/pkgs/games/lincity/ng.nix
+++ b/pkgs/games/lincity/ng.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, jam, pkgconfig
-, zlib, libxml2, libxslt, xorgproto, libX11, libGLU_combined, SDL
+, zlib, libxml2, libxslt, xorgproto, libX11, libGLU, libGL, SDL
 , SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, physfs
 }:
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    zlib libxml2 libxslt xorgproto libX11 libGLU_combined SDL SDL_mixer SDL_image
+    zlib libxml2 libxslt xorgproto libX11 libGLU libGL SDL SDL_mixer SDL_image
     SDL_ttf SDL_gfx physfs
   ];
 
diff --git a/pkgs/games/mars/default.nix b/pkgs/games/mars/default.nix
index 668605a9ae1..ed926461db2 100644
--- a/pkgs/games/mars/default.nix
+++ b/pkgs/games/mars/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, libGLU_combined, sfml, fribidi, taglib }:
+{ stdenv, fetchgit, cmake, libGLU, libGL, sfml, fribidi, taglib }:
 stdenv.mkDerivation rec {
   name = "mars-${version}-${rev}";
   version = "0.7.5";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     inherit rev;
     sha256 = "1r4c5gap1z2zsv4yjd34qriqkxaq4lb4rykapyzkkdf4g36lc3nh";
   };
-  buildInputs = [ cmake libGLU_combined sfml fribidi taglib ];
+  buildInputs = [ cmake libGLU libGL sfml fribidi taglib ];
   patches = [
     ./unbind_fix.patch
     ./fix-gluortho2d.patch
diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index 0de2268c1af..f71a0e4fd20 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -84,11 +84,11 @@ in
  stdenv.mkDerivation rec {
   pname = "minecraft-launcher";
 
-  version = "2.1.7658";
+  version = "2.1.9618";
 
   src = fetchurl {
     url = "https://launcher.mojang.com/download/linux/x86_64/minecraft-launcher_${version}.tar.gz";
-    sha256 = "10sng7l0q9r98zwifjmy50nyh65ny4djmacz8158hffcsfcx93px";
+    sha256 = "1wk7414i9n6yvhhc0g3cpqjs4ryklmdp2pxgvfdg9zibjdx0avvy";
   };
 
   icon = fetchurl {
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index 0f457cc688b..4654456bd6c 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
-, libjpeg, libXxf86vm, libGLU_combined, openal, libvorbis, sqlite, luajit
+, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit
 , freetype, gettext, doxygen, ncurses, graphviz, xorg
 , leveldb, postgresql, hiredis
 }:
@@ -47,7 +47,7 @@ let
     buildInputs = [
       irrlicht luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
     ] ++ optionals buildClient [
-      libpng libjpeg libGLU_combined openal libogg libvorbis xorg.libX11 libXxf86vm
+      libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm
     ] ++ optional buildServer [
       leveldb postgresql hiredis
     ];
diff --git a/pkgs/games/mnemosyne/default.nix b/pkgs/games/mnemosyne/default.nix
index 99c369fdce8..675ce1a402f 100644
--- a/pkgs/games/mnemosyne/default.nix
+++ b/pkgs/games/mnemosyne/default.nix
@@ -1,5 +1,6 @@
 { fetchurl
 , python
+, anki
 }:
 
 python.pkgs.buildPythonApplication rec {
@@ -11,23 +12,32 @@ python.pkgs.buildPythonApplication rec {
     sha256 = "0xcwikq51abrlqfn5bv7kcw1ccd3ip0w6cjd5vnnzwnaqwdj8cb3";
   };
 
+  nativeBuildInputs = with python.pkgs; [ wrapPython pyqtwebengine.wrapQtAppsHook ];
+
+  buildInputs = [ anki ];
+
   propagatedBuildInputs = with python.pkgs; [
+    pyqtwebengine
     pyqt5
     matplotlib
     cherrypy
     cheroot
     webob
-    pillow
   ];
 
-  # No tests/ directrory in tarball
-  doCheck = false;
-
   prePatch = ''
     substituteInPlace setup.py --replace /usr $out
     find . -type f -exec grep -H sys.exec_prefix {} ';' | cut -d: -f1 | xargs sed -i s,sys.exec_prefix,\"$out\",
   '';
 
+  # No tests/ directrory in tarball
+  doCheck = false;
+
+  dontWrapQtApps = true;
+  makeWrapperArgs = [
+    "\${qtWrapperArgs[@]}"
+  ];
+
   postInstall = ''
     mkdir -p $out/share
     mv $out/${python.sitePackages}/$out/share/locale $out/share
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
index d2646bf8d67..a402587ed8b 100644
--- a/pkgs/games/mudlet/default.nix
+++ b/pkgs/games/mudlet/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, fetchpatch, stdenv, wrapQtAppsHook, pcre, pugixml, qtbase, qtmultimedia, qttools, yajl, libzip, hunspell
+{ fetchFromGitHub, fetchpatch, stdenv, wrapQtAppsHook, git, pcre, pugixml, qtbase, libsForQt5, qtmultimedia, qttools, yajl, libzip, hunspell
 , boost, libGLU, lua, cmake,  which, }:
 
 let
@@ -6,19 +6,19 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mudlet";
-  version = "4.1.2";
+  version = "4.3";
 
   src = fetchFromGitHub {
     owner = "Mudlet";
     repo = "Mudlet";
     rev = "Mudlet-${version}";
     fetchSubmodules = true;
-    sha256 = "1d6r51cj8a71hmhzsayd2far4hliwz5pnrsaj3dn39m7c0iikgdn";
+    sha256 = "0qqdmivfwf9jmv5yx90z1fj99nlhnq762lfw6bcxgv74y4l4b4c0";
   };
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook qttools which ];
+  nativeBuildInputs = [ cmake wrapQtAppsHook git qttools which ];
   buildInputs = [
-    pcre pugixml qtbase qtmultimedia luaEnv libzip libGLU yajl boost hunspell
+    pcre pugixml qtbase libsForQt5.qtkeychain qtmultimedia luaEnv libzip libGLU yajl boost hunspell
   ];
 
   WITH_FONTS = "NO";
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     makeQtWrapper $out/mudlet $out/bin/mudlet \
       --set LUA_CPATH "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
       --prefix LUA_PATH : "$NIX_LUA_PATH" \
+      --prefix LD_LIBRARY_PATH : "${libsForQt5.qtkeychain}/lib/" \
       --run "cd $out";
   '';
 
diff --git a/pkgs/games/naev/default.nix b/pkgs/games/naev/default.nix
index d8a4e32faaa..a1b525ff093 100644
--- a/pkgs/games/naev/default.nix
+++ b/pkgs/games/naev/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, SDL, openal, SDL_mixer, libxml2, pkgconfig, libvorbis
-, libpng, libGLU_combined, makeWrapper, zlib, freetype }:
+, libpng, libGLU, libGL, makeWrapper, zlib, freetype }:
 
 let
   pname = "naev";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     sha256 = "0gahi91lmpra0wvxsz49zwwb28q9w2v1s3y7r70252hq6v80kanb";
   };
 
-  buildInputs = [ SDL SDL_mixer openal libxml2 libvorbis libpng libGLU_combined zlib freetype ];
+  buildInputs = [ SDL SDL_mixer openal libxml2 libvorbis libpng libGLU libGL zlib freetype ];
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
 
diff --git a/pkgs/games/newtonwars/default.nix b/pkgs/games/newtonwars/default.nix
index a0ae03cefb7..093f071c723 100644
--- a/pkgs/games/newtonwars/default.nix
+++ b/pkgs/games/newtonwars/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, freeglut, libGLU_combined }:
+{ stdenv, fetchFromGitHub, makeWrapper, freeglut, libGLU, libGL }:
 
 stdenv.mkDerivation {
   pname = "newtonwars";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0g63fwfcdxxlnqlagj1fb8ngm385gmv8f7p8b4r1z5cny2znxdvs";
   };
 
-  buildInputs = [ makeWrapper freeglut libGLU_combined ];
+  buildInputs = [ makeWrapper freeglut libGL libGLU ];
 
   patchPhase = ''
     sed -i "s;font24.raw;$out/share/font24.raw;g" display.c
@@ -26,7 +26,8 @@ stdenv.mkDerivation {
 
     wrapProgram $out/bin/nw \
       --prefix LD_LIBRARY_PATH ":" ${freeglut}/lib \
-      --prefix LD_LIBRARY_PATH ":" ${libGLU_combined}/lib
+      --prefix LD_LIBRARY_PATH ":" ${libGLU}/lib \
+      --prefix LD_LIBRARY_PATH ":" ${libGL}/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/nexuiz/default.nix b/pkgs/games/nexuiz/default.nix
index 72235d9131b..9f8d228e716 100644
--- a/pkgs/games/nexuiz/default.nix
+++ b/pkgs/games/nexuiz/default.nix
@@ -3,7 +3,7 @@
   unzip, zlib, curl, libjpeg, libpng, libvorbis, libtheora
 , libogg, libmodplug
 , # glx
-  libX11, libGLU_combined, libXpm, libXext, libXxf86vm, libXxf86dga, alsaLib
+  libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, libXxf86dga, alsaLib
 , # sdl
   SDL
 }:
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
     # required for both
     unzip
     # glx
-    libX11 libGLU_combined libXpm libXext libXxf86vm libXxf86dga alsaLib
+    libX11 libGLU libGL libXpm libXext libXxf86vm libXxf86dga alsaLib
     # sdl
     SDL
   ];
diff --git a/pkgs/games/openrw/default.nix b/pkgs/games/openrw/default.nix
index 368fba1499f..04d8afd2786 100644
--- a/pkgs/games/openrw/default.nix
+++ b/pkgs/games/openrw/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, sfml, libGLU_combined, bullet, glm, libmad, xlibsWrapper, openal
+{ stdenv, fetchgit, cmake, sfml, libGLU, libGL, bullet, glm, libmad, xlibsWrapper, openal
 , SDL2, boost, ffmpeg, Cocoa, OpenAL }:
 
 stdenv.mkDerivation {
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    sfml libGLU_combined bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg
+    sfml libGLU libGL bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg
   ] ++ stdenv.lib.optionals stdenv.isDarwin [ OpenAL Cocoa ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
index 2958a162bbc..a77b8f2ba4c 100644
--- a/pkgs/games/openxcom/default.nix
+++ b/pkgs/games/openxcom/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib, openssl, libyamlcpp, boost
+{stdenv, fetchFromGitHub, cmake, libGLU, libGL, zlib, openssl, libyamlcpp, boost
 , SDL, SDL_image, SDL_mixer, SDL_gfx }:
 
 let version = "1.0.0.2019.10.18"; in
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ SDL SDL_gfx SDL_image SDL_mixer boost libyamlcpp libGLU_combined openssl zlib ];
+  buildInputs = [ SDL SDL_gfx SDL_image SDL_mixer boost libyamlcpp libGLU libGL openssl zlib ];
 
   meta = {
     description = "Open source clone of UFO: Enemy Unknown";
diff --git a/pkgs/games/pingus/default.nix b/pkgs/games/pingus/default.nix
index dc47e5aa58e..640a4d761f4 100644
--- a/pkgs/games/pingus/default.nix
+++ b/pkgs/games/pingus/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, fetchpatch, scons, SDL, SDL_image, boost, libpng, SDL_mixer
-, pkgconfig, libGLU_combined}:
+, pkgconfig, libGLU, libGL}:
 let
   s = # Generated upstream information
   {
@@ -14,7 +14,7 @@ in
 stdenv.mkDerivation {
   inherit (s) name version;
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [scons SDL SDL_image boost libpng SDL_mixer libGLU_combined];
+  buildInputs = [scons SDL SDL_image boost libpng SDL_mixer libGLU libGL];
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/games/pioneer/default.nix b/pkgs/games/pioneer/default.nix
index 02c91b1523d..cb9fe730f19 100644
--- a/pkgs/games/pioneer/default.nix
+++ b/pkgs/games/pioneer/default.nix
@@ -1,24 +1,24 @@
 { fetchFromGitHub, stdenv, cmake, pkgconfig, curl, libsigcxx, SDL2
-, SDL2_image, freetype, libvorbis, libpng, assimp, libGLU_combined
+, SDL2_image, freetype, libvorbis, libpng, assimp, libGLU, libGL
 , glew
 }:
 
 stdenv.mkDerivation rec {
   pname = "pioneer";
-  version = "20191009";
+  version = "20191117";
 
   src = fetchFromGitHub{
     owner = "pioneerspacesim";
     repo = "pioneer";
     rev = version;
-    sha256 = "1ll6pv1931z29kz1zvhnc6mgvjxz30q25lvb00qrsvh236nvll7n";
+    sha256 = "0ka5w1sfp56bs3njiwyr6ffy34qvqbzcvmra9cqwyvi7famn8b49";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
     curl libsigcxx SDL2 SDL2_image freetype libvorbis libpng
-    assimp libGLU_combined glew
+    assimp libGLU libGL glew
   ];
 
   preConfigure = ''
diff --git a/pkgs/games/prboom/default.nix b/pkgs/games/prboom/default.nix
index 520f6503edf..ea6f8b01c71 100644
--- a/pkgs/games/prboom/default.nix
+++ b/pkgs/games/prboom/default.nix
@@ -1,8 +1,11 @@
 { stdenv, fetchurl, SDL, SDL_mixer, SDL_net
-, libGLU_combined ? assert false; null
+, libGLU ? null
+, libGL ? null
 , useOpenGL ? stdenv.hostPlatform == stdenv.buildPlatform
 }:
 
+assert useOpenGL -> libGL != null && libGLU != null;
+
 stdenv.mkDerivation rec {
   name = "prboom-2.5.0";
   src = fetchurl {
@@ -11,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ SDL SDL_mixer SDL_net ]
-    ++ stdenv.lib.optional useOpenGL libGLU_combined;
+    ++ stdenv.lib.optionals useOpenGL [ libGL libGLU ];
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
diff --git a/pkgs/games/privateer/default.nix b/pkgs/games/privateer/default.nix
index d4945d43c7d..607458f3798 100644
--- a/pkgs/games/privateer/default.nix
+++ b/pkgs/games/privateer/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchsvn, boost, cmake, ffmpeg, freeglut, glib,
   gtk2, libjpeg, libpng, libpthreadstubs, libvorbis, libXau, libXdmcp,
-  libXmu, libGLU_combined, openal, pixman, pkgconfig, python27, SDL }:
+  libXmu, libGLU, libGL, openal, pixman, pkgconfig, python27, SDL }:
 
 stdenv.mkDerivation {
   name = "privateer-1.03";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   buildInputs =
     [ boost cmake ffmpeg freeglut glib gtk2 libjpeg libpng
-      libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU_combined openal
+      libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU libGL openal
       pixman pkgconfig python27 SDL ];
 
   patches = [ ./0001-fix-VSFile-constructor.patch ];
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index e8678253b40..e30065666b0 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.02.1";
+  version = "1.03.0";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "0fk9jqql0crnf0s12cxnris392ajciyw1zbz17qgs5hdyivp9vdx";
+    sha256 = "1x2lx1fvr2p91clbx2jcc29j5yyh0xwq9fh0lyxhyadf5a710fn0";
   };
 
   sourceRoot = "source/Quake";
diff --git a/pkgs/games/residualvm/default.nix b/pkgs/games/residualvm/default.nix
index 79d657e668d..9b0cfaa3b50 100644
--- a/pkgs/games/residualvm/default.nix
+++ b/pkgs/games/residualvm/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, alsaLib
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
-, openglSupport ? libGLSupported, libGLU_combined ? null
+, openglSupport ? libGLSupported, libGLU, libGL ? null
 }:
 
-assert openglSupport -> libGLU_combined != null;
+assert openglSupport -> libGL != null && libGLU != null;
 
 with stdenv.lib;
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ stdenv SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ]
-    ++ optional openglSupport libGLU_combined;
+    ++ optionals openglSupport [ libGL libGLU ];
 
   configureFlags = [ "--enable-all-engines" ];
 
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
index 09550339f83..00faee7b928 100644
--- a/pkgs/games/rigsofrods/default.nix
+++ b/pkgs/games/rigsofrods/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU_combined, boost,
+{ fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU, libGL, boost,
   pkgconfig, libuuid, openal, ogre, ois, curl, gtk2, mygui, unzip,
   angelscript, ogrepaged, mysocketw, libxcb
   }:
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ wxGTK30 freeimage cmake zziplib libGLU_combined boost
+  buildInputs = [ wxGTK30 freeimage cmake zziplib libGLU libGL boost
     libuuid openal ogre ois curl gtk2 mygui unzip angelscript
     ogrepaged mysocketw libxcb ];
 
diff --git a/pkgs/games/scorched3d/default.nix b/pkgs/games/scorched3d/default.nix
index 1527f61c4d0..a2859c11712 100644
--- a/pkgs/games/scorched3d/default.nix
+++ b/pkgs/games/scorched3d/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, glew, pkgconfig, openalSoft, freealut, wxGTK, libogg
+{ stdenv, fetchurl, libGLU, libGL, glew, pkgconfig, openalSoft, freealut, wxGTK, libogg
 , freetype, libvorbis, fftwSinglePrec, SDL, SDL_net, expat, libjpeg, libpng }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ libGLU_combined glew openalSoft freealut wxGTK libogg freetype libvorbis
+    [ libGLU libGL glew openalSoft freealut wxGTK libogg freetype libvorbis
       SDL SDL_net expat libjpeg libpng fftwSinglePrec
     ];
 
diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix
index 8c4ce46f6f5..8ef6e0c8be5 100644
--- a/pkgs/games/scummvm/default.nix
+++ b/pkgs/games/scummvm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, nasm
-, alsaLib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libvorbis, libGLU_combined, SDL2, zlib
+, alsaLib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libvorbis, libGLU, libGL, SDL2, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ nasm ];
 
   buildInputs = [
-    alsaLib curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libvorbis libGLU_combined SDL2 zlib
+    alsaLib curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libvorbis libGLU libGL SDL2 zlib
   ];
 
   dontDisableStatic = true;
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index 2ffd3f3d053..7179c4f48b5 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake
-, boost, eigen2, lua, luabind, libGLU_combined, SDL }:
+, boost, eigen2, lua, luabind, libGLU, libGL, SDL }:
 
 stdenv.mkDerivation rec {
   pname = "soi";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost lua luabind libGLU_combined SDL ];
+  buildInputs = [ boost lua luabind libGLU libGL SDL ];
 
   cmakeFlags = [
     "-DEIGEN_INCLUDE_DIR=${eigen2}/include/eigen2"
diff --git a/pkgs/games/space-orbit/default.nix b/pkgs/games/space-orbit/default.nix
index 2b69dfccad1..e9fe6257fb6 100644
--- a/pkgs/games/space-orbit/default.nix
+++ b/pkgs/games/space-orbit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, libGLU_combined, libXi, libXt, libXext, libX11, libXmu, freeglut
+, libGLU, libGL, libXi, libXt, libXext, libX11, libXmu, freeglut
 }:
 
 stdenv.mkDerivation rec {
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "1.01";
   patchversion = "9";
 
-  buildInputs = [ libGLU_combined libXi libXt libXext libX11 libXmu freeglut ];
+  buildInputs = [ libGLU libGL libXi libXt libXext libX11 libXmu freeglut ];
 
   src = fetchurl {
     url = "mirror://debian/pool/main/s/space-orbit/space-orbit_${version}.orig.tar.gz";
diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix
index 17cb57d3fdb..473409ffae9 100644
--- a/pkgs/games/speed-dreams/default.nix
+++ b/pkgs/games/speed-dreams/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libGLU_combined, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto,
+{ fetchurl, stdenv, libGLU, libGL, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto,
 libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, openscenegraph, expat,
 libpng, zlib, bash, SDL2, enet, libjpeg, cmake, pkgconfig, libvorbis, runtimeShell, curl }:
 
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ libpng libGLU_combined freeglut libX11 plib openal freealut libXrandr xorgproto
+  buildInputs = [ libpng libGLU libGL freeglut libX11 plib openal freealut libXrandr xorgproto
     libXext libSM libICE libXi libXt libXrender libXxf86vm zlib bash expat
     SDL2 enet libjpeg openscenegraph libvorbis curl ];
 
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index e98148cbc83..8f43a6d84b1 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, lzma, boost, libdevil, zlib, p7zip
-, openal, libvorbis, glew, freetype, xorg, SDL2, libGLU_combined
+, openal, libvorbis, glew, freetype, xorg, SDL2, libGLU, libGL
 , asciidoc, libxslt, docbook_xsl, docbook_xsl_ns, curl, makeWrapper
 , jdk ? null, python ? null, systemd, libunwind, which, minizip
 , withAI ? true # support for AI Interfaces and Skirmish AIs
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
                 "-DPREFER_STATIC_LIBS:BOOL=OFF"];
 
   buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL2
-    xorg.libX11 xorg.libXcursor libGLU_combined glew asciidoc libxslt docbook_xsl curl makeWrapper
+    xorg.libX11 xorg.libXcursor libGLU libGL glew asciidoc libxslt docbook_xsl curl makeWrapper
     docbook_xsl_ns systemd libunwind which minizip ]
     ++ stdenv.lib.optional withAI jdk
     ++ stdenv.lib.optional withAI python;
diff --git a/pkgs/games/stardust/default.nix b/pkgs/games/stardust/default.nix
index 9de9bd37e8d..1e2089b9c50 100644
--- a/pkgs/games/stardust/default.nix
+++ b/pkgs/games/stardust/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, zlib, libtiff, libxml2, SDL, xorgproto, libX11
-, libXi, libXmu, libXext, libGLU_combined }:
+, libXi, libXmu, libXext, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "stardust";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     zlib libtiff libxml2 SDL xorgproto libX11 libXi
-    libXmu libXext libGLU_combined
+    libXmu libXext libGLU libGL
   ];
 
   installFlags = [ "bindir=\${out}/bin" ];
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 0bdd1f9f62d..2db49165c5f 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchsvn, cmake, pkgconfig
-, openal, freealut, libGLU_combined, libvorbis, libogg, gettext, curl, freetype
+, openal, freealut, libGLU, libGL, libvorbis, libogg, gettext, curl, freetype
 , fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr, enet }:
 
 let
@@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     libX11 libXrandr
-    openal freealut libGLU_combined libvorbis libogg zlib freetype
+    openal freealut libGLU libGL libvorbis libogg zlib freetype
     curl fribidi bluez libjpeg libpng enet
   ];
 
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage = https://supertuxkart.net/;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ pyrolagus fuuzetsu peterhoeg ];
+    maintainers = with maintainers; [ pyrolagus peterhoeg ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/games/supertux/default.nix b/pkgs/games/supertux/default.nix
index 6cfabc4ee6a..df6901585bb 100644
--- a/pkgs/games/supertux/default.nix
+++ b/pkgs/games/supertux/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image , curl
-, libogg, libvorbis, libGLU_combined, openal, boost, glew
+, libogg, libvorbis, libGLU, libGL, openal, boost, glew
 , libpng, freetype
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU_combined openal boost glew
+  buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU libGL openal boost glew
     libpng freetype
   ];
 
diff --git a/pkgs/games/tdm/default.nix b/pkgs/games/tdm/default.nix
index f0a89adab57..fef3350a061 100644
--- a/pkgs/games/tdm/default.nix
+++ b/pkgs/games/tdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, binutils-unwrapped, scons, gnum4, p7zip, glibc_multi, mesa
-, xorg, libGLU_combined, openal
+, xorg, libGLU, libGL, openal
 , lib, makeWrapper, makeDesktopItem }:
 
 let
@@ -29,7 +29,7 @@ in stdenv.mkDerivation {
   buildInputs = [
     glibc_multi mesa.dev xorg.libX11.dev openal
     xorg.libXext.dev xorg.libXxf86vm.dev
-    libGLU_combined
+    libGL libGLU
   ];
   unpackPhase = ''
     7z x $src
@@ -86,7 +86,7 @@ EOF
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGLU_combined ]}
+    wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libGLU ]}
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index 02c55d7d06c..1482b58a7b0 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU_combined }:
+{ stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU, libGL }:
 
 with stdenv.lib;
 stdenv.mkDerivation {
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     cp -r * $out/res
 
     patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \
-             --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU_combined ]} \
+             --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU libGL ]} \
              "$out/res/Tibia"
 
     # We've patchelf'd the files. The main ‘Tibia’ binary is a bit
@@ -52,6 +52,6 @@ stdenv.mkDerivation {
     homepage = http://tibia.com;
     license = stdenv.lib.licenses.unfree;
     platforms = ["i686-linux"];
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/games/tintin/default.nix b/pkgs/games/tintin/default.nix
index 2e1837bdef6..dc696d05558 100644
--- a/pkgs/games/tintin/default.nix
+++ b/pkgs/games/tintin/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "tintin-2.01.91";
+  name = "tintin-2.01.92";
 
   src = fetchurl {
     url    = "mirror://sourceforge/tintin/${name}.tar.gz";
-    sha256 = "0nb3przw84r5zaibhpcb8gxm5vllrchca663c3f650fm83asd5im";
+    sha256 = "0id8rd2yhh6ccjnlwyixflsay1rq3sw6pwlhz1ic3nzj22cd91ik";
   };
 
   buildInputs = [ zlib pcre ];
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index af13ae2e7e1..9971aa0d166 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -18,11 +18,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "https://te4.org/dl/t-engine/t-engine4-src-${version}.tar.bz2";
-    sha256 = "1z1w4ycgl5wbm0sv7577vcdfwwf4k7vaf2njzyb21rvqjizpbkwr";
+    sha256 = "0c5a2bdyfccwkqnb6yqvzggyi2nk032v01kfc00zlgpdfzljcb9i";
   };
 
   prePatch = ''
diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix
index b5ff38b93a1..b778579c9d7 100644
--- a/pkgs/games/trackballs/default.nix
+++ b/pkgs/games/trackballs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU_combined }:
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU, libGL }:
 
 with stdenv.lib;
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yjzz50r57aahy7wcbsmhrd40abzyriq40j49225ya7m9g28vmgl";
   };
 
-  buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU_combined ];
+  buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU libGL ];
 
   meta = {
     homepage = https://trackballs.github.io/;
diff --git a/pkgs/games/tremulous/default.nix b/pkgs/games/tremulous/default.nix
index 802bdb08a87..fc9bc985c00 100644
--- a/pkgs/games/tremulous/default.nix
+++ b/pkgs/games/tremulous/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, libGLU_combined, libX11, SDL, openal, runtimeShell }:
+{ stdenv, fetchurl, unzip, libGLU, libGL, libX11, SDL, openal, runtimeShell }:
 stdenv.mkDerivation rec {
   pname = "tremulous";
   version = "1.1.0";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     url = "http://releases.mercenariesguild.net/tremded/mg_tremded_source_1.01.tar.gz";
     sha256 = "1njrqlhzjvy9myddzkagszwdcf3m4h08wip888w2rmbshs6kz6ql";
   };
-  buildInputs = [ unzip libGLU_combined libX11 SDL openal ];
+  buildInputs = [ unzip libGLU libGL libX11 SDL openal ];
   unpackPhase = ''
     unzip $src1
     cd tremulous
diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix
index 0050ef19cea..34ae0762bea 100644
--- a/pkgs/games/trigger/default.nix
+++ b/pkgs/games/trigger/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, runtimeShell
-, SDL2, freealut, SDL2_image, openal, physfs, zlib, libGLU_combined, glew }:
+, SDL2, freealut, SDL2_image, openal, physfs, zlib, libGLU, libGL, glew }:
 
 stdenv.mkDerivation rec {
   name = "trigger-rally-0.6.6";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "08qa2f2s8zyn42ff6jb1gsi64d916020ixkzvl16kbb88rabqra8";
   };
 
-  buildInputs = [ SDL2 freealut SDL2_image openal physfs zlib libGLU_combined glew ];
+  buildInputs = [ SDL2 freealut SDL2_image openal physfs zlib libGLU libGL glew ];
 
   preConfigure = ''
     sed s,/usr/local,$out, -i bin/*defs
diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix
index f699a6a05c6..beff8ada96b 100644
--- a/pkgs/games/ufoai/default.nix
+++ b/pkgs/games/ufoai/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libtheora, xvidcore, libGLU_combined, SDL, SDL_ttf, SDL_mixer
+{ stdenv, fetchurl, libtheora, xvidcore, libGLU, libGL, SDL, SDL_ttf, SDL_mixer
 , curl, libjpeg, libpng, gettext, cunit, enableEditor?false }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional enableEditor "--enable-uforadiant";
 
   buildInputs = [
-    libtheora xvidcore libGLU_combined SDL SDL_ttf SDL_mixer
+    libtheora xvidcore libGLU libGL SDL SDL_ttf SDL_mixer
     curl libjpeg libpng gettext cunit
   ];
 
diff --git a/pkgs/games/ultimatestunts/default.nix b/pkgs/games/ultimatestunts/default.nix
index a7ad366aa19..df80b3a555f 100644
--- a/pkgs/games/ultimatestunts/default.nix
+++ b/pkgs/games/ultimatestunts/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, libGLU_combined, SDL_image, freealut, openal, libvorbis,
+{stdenv, fetchurl, SDL, libGLU, libGL, SDL_image, freealut, openal, libvorbis,
 pkgconfig}:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL libGLU_combined SDL_image freealut openal libvorbis ];
+  buildInputs = [ SDL libGLU libGL SDL_image freealut openal libvorbis ];
 
   postPatch = ''
     sed -e '1i#include <unistd.h>' -i $(find . -name '*.c' -o -name '*.cpp')
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 8dd8222e55e..1c40d8f5800 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -1,13 +1,13 @@
 { stdenv, autoreconfHook, fetchFromGitHub, pkgconfig
 , lua, fpc, pcre, portaudio, freetype, libpng
 , SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_net, SDL2_ttf
-, ffmpeg, sqlite, zlib, libX11, libGLU_combined }:
+, ffmpeg, sqlite, zlib, libX11, libGLU, libGL }:
 
 let
   sharedLibs = [
     pcre portaudio freetype
     SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf
-    sqlite lua zlib libX11 libGLU_combined ffmpeg
+    sqlite lua zlib libX11 libGLU libGL ffmpeg
   ];
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index 638900c9e89..3944050e983 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, pkgconfig, libGLU_combined
+{ stdenv, lib, fetchurl, pkgconfig, libGLU, libGL
 , SDL, SDL_image, libpng, libvorbis, libogg, libmikmod
 
 , use3DOVideos ? false, requireFile ? null, writeText ? null
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU_combined ];
+  buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU libGL ];
 
   postUnpack = ''
     mkdir -p uqm-${version}/content/packages
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index 999799de58d..98ef32b0472 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, SDL, libGLU_combined, openal, curl, libXxf86vm }:
+{ stdenv, fetchurl, unzip, SDL, libGLU, libGL, openal, curl, libXxf86vm }:
 
 stdenv.mkDerivation rec {
   pname = "urbanterror";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
        })
     ];
 
-  buildInputs = [ unzip SDL libGLU_combined openal curl libXxf86vm ];
+  buildInputs = [ unzip SDL libGL libGLU openal curl libXxf86vm ];
   sourceRoot = "ioq3-for-UrbanTerror-4-release-${version}";
 
   configurePhase = ''
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     p=$out/opt/urbanterror/Quake3-UrT
     cur_rpath=$(patchelf --print-rpath $p)
-    patchelf --set-rpath $cur_rpath:${libGLU_combined}/lib $p
+    patchelf --set-rpath $cur_rpath:${libGL}/lib:${libGLU}/lib $p
   '';
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index e018dfd664d..3002216b9d4 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU_combined, SDL2, SDL2_image
+{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU, libGL, SDL2, SDL2_image
 , libvorbis, bullet, curl, gettext, writeTextFile
 
 , data ? fetchsvn {
@@ -21,7 +21,7 @@ let
     };
 
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ scons libGLU_combined SDL2 SDL2_image libvorbis bullet curl gettext ];
+    buildInputs = [ scons libGLU libGL SDL2 SDL2_image libvorbis bullet curl gettext ];
 
     patches = [ ./0001-Ignore-missing-data-for-installation.patch ];
 
diff --git a/pkgs/games/voxelands/default.nix b/pkgs/games/voxelands/default.nix
index 9ea9ec7bd12..d8c16c9b7ce 100644
--- a/pkgs/games/voxelands/default.nix
+++ b/pkgs/games/voxelands/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, irrlicht, libpng, bzip2, sqlite
-, libjpeg, libXxf86vm, libGLU_combined, openal, libvorbis, xlibsWrapper, pkgconfig }:
+, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, xlibsWrapper, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "voxelands";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     cmake irrlicht libpng bzip2 libjpeg sqlite
-    libXxf86vm libGLU_combined openal libvorbis xlibsWrapper pkgconfig
+    libXxf86vm libGLU libGL openal libvorbis xlibsWrapper pkgconfig
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index 7d8380e9f7c..0889e52d8f8 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -1,5 +1,5 @@
 { stdenv, requireFile
-, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, libGLU_combined
+, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, libGLU, libGL
 , runtimeShell
 , demo ? false }:
 
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
   # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64
   libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc ]
-    + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis libGLU_combined ]
+    + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis libGLU libGL ]
     + ":" + stdenv.cc.cc + "/lib64";
 
   installPhase = ''
diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix
index d9bba3fdbdc..34c9bf1f06d 100644
--- a/pkgs/games/xmoto/default.nix
+++ b/pkgs/games/xmoto/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, chipmunk, sqlite, curl, zlib, bzip2, libjpeg
-, libpng, freeglut, libGLU_combined, SDL, SDL_mixer, SDL_image, SDL_net
+, libpng, freeglut, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_net
 , SDL_ttf, lua5, ode, libxdg_basedir, libxml2 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     chipmunk sqlite curl zlib bzip2 libjpeg libpng
-    freeglut libGLU_combined SDL SDL_mixer SDL_image SDL_net SDL_ttf
+    freeglut libGLU libGL SDL SDL_mixer SDL_image SDL_net SDL_ttf
     lua5 ode libxdg_basedir libxml2
   ];
 
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index ac7bf7973d7..f4ce3c86a64 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -2,7 +2,7 @@
 , # required for both
   unzip, libjpeg, zlib, libvorbis, curl
 , # glx
-  libX11, libGLU_combined, libXpm, libXext, libXxf86vm, alsaLib
+  libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, alsaLib
 , # sdl
   SDL2
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     # required for both
     unzip libjpeg
     # glx
-    libX11 libGLU_combined libXpm libXext libXxf86vm alsaLib
+    libX11 libGLU libGL libXpm libXext libXxf86vm alsaLib
     # sdl
     SDL2
     zlib libvorbis curl
diff --git a/pkgs/games/xpilot/bloodspilot-client.nix b/pkgs/games/xpilot/bloodspilot-client.nix
index aefc8ad9876..257b0010245 100644
--- a/pkgs/games/xpilot/bloodspilot-client.nix
+++ b/pkgs/games/xpilot/bloodspilot-client.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libX11, SDL, libGLU_combined, expat, zlib, SDL_ttf, SDL_image }:
+{ stdenv, fetchurl, libX11, SDL, libGLU, libGL, expat, zlib, SDL_ttf, SDL_image }:
 
 stdenv.mkDerivation rec {
   version = "1.5.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libX11 SDL SDL_ttf SDL_image libGLU_combined expat zlib
+    libX11 SDL SDL_ttf SDL_image libGLU libGL expat zlib
   ];
 
   NIX_LDFLAGS = [ "-lX11" ];
diff --git a/pkgs/games/xpilot/default.nix b/pkgs/games/xpilot/default.nix
index d0fe9f61896..7d83dece333 100644
--- a/pkgs/games/xpilot/default.nix
+++ b/pkgs/games/xpilot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libX11, libSM, SDL, libGLU_combined, expat, SDL_ttf
+{ stdenv, fetchurl, libX11, libSM, SDL, libGLU, libGL, expat, SDL_ttf
 , SDL_image, zlib, libXxf86misc }:
 stdenv.mkDerivation rec {
   pname = "xpilot-ng";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "02a7pnp88kh88fzda5q8mzlckk6y9r5fw47j00h26wbsfly0k1zj";
   };
   buildInputs = [
-    libX11 libSM SDL SDL_ttf SDL_image libGLU_combined expat zlib libXxf86misc
+    libX11 libSM SDL SDL_ttf SDL_image libGLU libGL expat zlib libXxf86misc
   ];
   meta = with stdenv.lib; {
     description = "A multiplayer X11 space combat game";
diff --git a/pkgs/games/zandronum/default.nix b/pkgs/games/zandronum/default.nix
index ce32e435608..754c4814945 100644
--- a/pkgs/games/zandronum/default.nix
+++ b/pkgs/games/zandronum/default.nix
@@ -9,13 +9,14 @@ let
   sqlite = callPackage ./sqlite.nix { };
   clientLibPath = lib.makeLibraryPath [ fluidsynth ];
 
-in stdenv.mkDerivation {
-  name = "zandronum${suffix}-3.0";
+in stdenv.mkDerivation rec {
+  pname = "zandronum${suffix}";
+  version = "3.0.1";
 
   src = fetchhg {
     url = "https://bitbucket.org/Torr_Samaho/zandronum-stable";
-    rev = "dd3c3b57023f";
-    sha256 = "1f8pd8d2zjwdp6v9anp9yrkdbfhd2mp7svmnna0jiqgxjw6wkyls";
+    rev = "ZA_${version}";
+    sha256 = "16v5b6wfrmabs3ky6isbfhlrqdjrr1pvfxlxwk0im02kcpxxw9qw";
   };
 
   # zandronum tries to download sqlite now when running cmake, don't let it
diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix
index 1ed279d2998..8ca83c2c93d 100644
--- a/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/pkgs/misc/drivers/xboxdrv/default.nix
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
     homepage = https://pingus.seul.org/~grumbel/xboxdrv/;
     description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index 228da687094..38dc54ea9d7 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, unzip, zlib, SDL, readline, libGLU_combined, libX11 }:
+, unzip, zlib, SDL, readline, libGLU, libGL, libX11 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec{
     sha256 = "1dcynsf8i52y7zyg62bkbhl3rdd22ss95zs2s9jm4y5jvn4vks88";
   };
 
-  buildInputs = [ unzip zlib SDL readline libGLU_combined libX11 ];
+  buildInputs = [ unzip zlib SDL readline libGLU libGL libX11 ];
 
   configureFlags = [
     "--target=default"
diff --git a/pkgs/misc/emulators/attract-mode/default.nix b/pkgs/misc/emulators/attract-mode/default.nix
index a725d9c9b08..7e6694b28d9 100644
--- a/pkgs/misc/emulators/attract-mode/default.nix
+++ b/pkgs/misc/emulators/attract-mode/default.nix
@@ -1,5 +1,5 @@
 { expat, fetchFromGitHub, ffmpeg, fontconfig, freetype, libarchive, libjpeg
-, libGLU_combined, openal, pkgconfig, sfml, stdenv, zlib
+, libGLU, libGL, openal, pkgconfig, sfml, stdenv, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    expat ffmpeg fontconfig freetype libarchive libjpeg libGLU_combined openal sfml zlib
+    expat ffmpeg fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
index 303c2f82d9e..cc49ef2aa1d 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchpatch, pkgconfig, cmake, bluez, ffmpeg, libao, gtk2, glib
-, libGLU_combined , gettext, libpthreadstubs, libXrandr, libXext, readline
+, libGLU, libGL , gettext, libpthreadstubs, libXrandr, libXext, readline
 , openal , libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
 , wxGTK30, soundtouch, miniupnpc, mbedtls, curl, lzo, sfml
 , libpulseaudio ? null }:
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake bluez ffmpeg libao libGLU_combined gtk2 glib
+  buildInputs = [ cmake bluez ffmpeg libao libGLU libGL gtk2 glib
                   gettext libpthreadstubs libXrandr libXext readline openal
                   libevdev libXdmcp portaudio libusb libpulseaudio
                   libevdev libXdmcp portaudio libusb libpulseaudio
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 9e03780daa3..cec88918282 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, pkgconfig, cmake
-, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU_combined, pcre, gettext
+, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext
 , libXrandr, libusb, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
 , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsaLib
 , miniupnpc, enet, mbedtls, soundtouch, sfml
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
   ++ lib.optional stdenv.isLinux wrapQtAppsHook;
 
   buildInputs = [
-    curl ffmpeg libao libGLU_combined pcre gettext libpthreadstubs libpulseaudio
+    curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio
     libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo
     portaudio libusb libpng hidapi miniupnpc enet mbedtls soundtouch sfml
     qtbase
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix
index e7250491608..5b770a6471a 100644
--- a/pkgs/misc/emulators/dosbox/default.nix
+++ b/pkgs/misc/emulators/dosbox/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU_combined, libpng, graphicsmagick }:
+{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU, libGL, libpng, graphicsmagick }:
 
 stdenv.mkDerivation rec {
   name = "dosbox-0.74-3";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  buildInputs = [ SDL SDL_net SDL_sound libGLU_combined libpng ];
+  buildInputs = [ SDL SDL_net SDL_sound libGLU libGL libpng ];
 
   nativeBuildInputs = [ graphicsmagick ];
 
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix
index d8f5f1cbdb0..668d1804544 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/misc/emulators/emulationstation/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen
-, freeimage, freetype, libGLU_combined, SDL2, alsaLib, libarchive }:
+, freeimage, freetype, libGLU, libGL, SDL2, alsaLib, libarchive }:
 
 stdenv.mkDerivation {
   pname = "emulationstation";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU_combined SDL2 ];
+  buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU libGL SDL2 ];
 
   buildPhase = "cmake . && make";
   installPhase = ''
diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/misc/emulators/epsxe/default.nix
index 1cfa0db790f..81202008db1 100644
--- a/pkgs/misc/emulators/epsxe/default.nix
+++ b/pkgs/misc/emulators/epsxe/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU_combined,
+{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU, libGL,
   libX11, openssl_1_0_2, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook, autoPatchelfHook }:
 
 with stdenv.lib;
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     glib
     gtk3
     libX11
-    libGLU_combined
+    libGLU libGL
     openssl_1_0_2
     ncurses5
     SDL
diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/misc/emulators/fakenes/default.nix
index eb7964cc017..704cef52e5e 100644
--- a/pkgs/misc/emulators/fakenes/default.nix
+++ b/pkgs/misc/emulators/fakenes/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, allegro, openal, libGLU_combined, zlib, hawknl, freeglut, libX11,
+{stdenv, fetchurl, allegro, openal, libGLU, libGL, zlib, hawknl, freeglut, libX11,
   libXxf86vm, libXcursor, libXpm }:
 
 stdenv.mkDerivation {
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "026h67s4pzc1vma59pmzk02iy379255qbai2q74wln9bxqcpniy4";
   };
 
-  buildInputs = [ allegro openal libGLU_combined zlib hawknl freeglut libX11
+  buildInputs = [ allegro openal libGLU libGL zlib hawknl freeglut libX11
     libXxf86vm libXcursor libXpm ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/misc/emulators/fs-uae/default.nix
index 0a43d8f2104..9f092f91e2e 100644
--- a/pkgs/misc/emulators/fs-uae/default.nix
+++ b/pkgs/misc/emulators/fs-uae/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, gettext, gtk2, SDL2, zlib, glib, openal, libGLU_combined, lua, freetype, libmpeg2, zip }:
+, gettext, gtk2, SDL2, zlib, glib, openal, libGLU, libGL, lua, freetype, libmpeg2, zip }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU_combined lua freetype libmpeg2 zip ];
+  buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU libGL lua freetype libmpeg2 zip ];
 
   meta = {
     description = "An accurate, customizable Amiga Emulator";
diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/misc/emulators/gens-gs/default.nix
index da53b4f8c55..4120ec7ba6a 100644
--- a/pkgs/misc/emulators/gens-gs/default.nix
+++ b/pkgs/misc/emulators/gens-gs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU_combined }:
+{ stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU, libGL }:
 
 stdenv.mkDerivation {
   name = "gens-gs-7";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 SDL nasm zlib libpng libGLU_combined ];
+  buildInputs = [ gtk2 SDL nasm zlib libpng libGLU libGL ];
 
   # Work around build failures on recent GTK.
   # See http://ubuntuforums.org/showthread.php?p=10535837
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/misc/emulators/hatari/default.nix
index 3cb0f787ce7..74e35379137 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/misc/emulators/hatari/default.nix
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "Atari ST/STE/TT/Falcon emulator";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index ad96ca36bc1..c1e64d26b47 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -2,7 +2,7 @@
 , p7zip, pkgconfig
 , libX11, libXv
 , udev
-, libGLU_combined, SDL
+, libGLU, libGL, SDL
 , libao, openal, libpulseaudio
 , gtk2, gtksourceview
 , runtimeShell }:
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   postPatch = "sed '1i#include <cmath>' -i higan/fc/ppu/ppu.cpp";
 
   buildInputs =
-  [ p7zip pkgconfig libX11 libXv udev libGLU_combined
+  [ p7zip pkgconfig libX11 libXv udev libGLU libGL
     SDL libao openal libpulseaudio gtk2 gtksourceview ];
 
   unpackPhase = ''
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index 74c456cfb10..337d19804fc 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, freeglut, libGLU_combined, libcdio, libjack2
+{ stdenv, fetchurl, pkgconfig, freeglut, libGLU, libGL, libcdio, libjack2
 , libsamplerate, libsndfile, libX11, SDL, SDL_net, zlib }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     freeglut
-    libGLU_combined
+    libGLU libGL
     libcdio
     libjack2
     libsamplerate
diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/misc/emulators/nestopia/default.nix
index 4f02d0f147d..20c7c39312a 100644
--- a/pkgs/misc/emulators/nestopia/default.nix
+++ b/pkgs/misc/emulators/nestopia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, SDL2, alsaLib, gtk3
-, makeWrapper, libGLU_combined, libarchive, libao, unzip, xdg_utils
+, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg_utils
 , epoxy, gdk-pixbuf, gnome3, wrapGAppsHook
 }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     epoxy
     gtk3
     gdk-pixbuf
-    libGLU_combined
+    libGLU libGL
     libarchive
     libao
     unzip
diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix
index 1e75230a139..98ea02cd897 100644
--- a/pkgs/misc/emulators/ppsspp/default.nix
+++ b/pkgs/misc/emulators/ppsspp/default.nix
@@ -39,7 +39,7 @@ mkDerivation rec {
     homepage = https://www.ppsspp.org/;
     description = "A PSP emulator for Android, Windows, Mac and Linux, written in C++";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ fuuzetsu AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.linux ++ platforms.darwin ++ platforms.cygwin;
   };
 }
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index 8787cd9d39e..34e3961250c 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, which, pkgconfig, makeWrapper
-, ffmpeg, libGLU_combined, freetype, libxml2, python3
+, ffmpeg, libGLU, libGL, freetype, libxml2, python3
 , libobjc, AppKit, Foundation
 , alsaLib ? null
 , libdrm ? null
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ]
                       ++ optional withVulkan [ makeWrapper ];
 
-  buildInputs = [ ffmpeg freetype libxml2 libGLU_combined python3 SDL2 which ]
+  buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ]
                 ++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
                 ++ optional withVulkan [ vulkan-loader ]
                 ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ]
diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/misc/emulators/vbam/default.nix
index daa6814a411..e44b45dbb4b 100644
--- a/pkgs/misc/emulators/vbam/default.nix
+++ b/pkgs/misc/emulators/vbam/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , ffmpeg
 , gettext
-, libGLU_combined
+, libGLU, libGL
 , openal
 , pkgconfig
 , SDL2
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     cairo
     ffmpeg
     gettext
-    libGLU_combined
+    libGLU libGL
     openal
     SDL2
     sfml
diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/misc/emulators/vice/default.nix
index 7cf4faf55cd..cb083c0aa0d 100644
--- a/pkgs/misc/emulators/vice/default.nix
+++ b/pkgs/misc/emulators/vice/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bison, flex, perl, libpng, giflib, libjpeg, alsaLib, readline, libGLU_combined, libXaw
+{ stdenv, fetchurl, bison, flex, perl, libpng, giflib, libjpeg, alsaLib, readline, libGLU, libGL, libXaw
 , pkgconfig, gtk2, SDL, autoreconfHook, makeDesktopItem
 }:
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0h0jbml02s2a36hr78dxv1zshmfhxp1wadpcdl09aq416fb1bf1y";
   };
 
-  buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU_combined
+  buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU libGL
     pkgconfig gtk2 SDL autoreconfHook libXaw ];
   dontDisableStatic = true;
   configureFlags = [ "--enable-fullscreen --enable-gnomeui" ];
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index 8252c96282d..057615a79a1 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
   ++ lib.optionals xmlSupport    [ pkgs.libxml2 pkgs.libxslt ]
   ++ lib.optionals tlsSupport    [ pkgs.openssl pkgs.gnutls ]
-  ++ lib.optionals openglSupport [ pkgs.libGLU_combined pkgs.mesa.osmesa pkgs.libdrm ]
+  ++ lib.optionals openglSupport [ pkgs.libGLU pkgs.libGL pkgs.mesa.osmesa pkgs.libdrm ]
   ++ lib.optionals stdenv.isDarwin (with pkgs.buildPackages.darwin.apple_sdk.frameworks; [
      CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration Security
      ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenAL OpenCL Cocoa Carbon
diff --git a/pkgs/misc/emulators/wxmupen64plus/default.nix b/pkgs/misc/emulators/wxmupen64plus/default.nix
index 1199f987bb6..2416ddd65b7 100644
--- a/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ b/pkgs/misc/emulators/wxmupen64plus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU_combined
+{ stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU, libGL
 , wafHook }:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ wafHook ];
-  buildInputs = [ python wxGTK29 SDL libX11 libGLU_combined ];
+  buildInputs = [ python wxGTK29 SDL libX11 libGLU libGL ];
 
   preConfigure = ''
     tar xf ${mupen64plus.src}
diff --git a/pkgs/misc/emulators/yabause/default.nix b/pkgs/misc/emulators/yabause/default.nix
index ed8652d08f1..abceb752b2f 100644
--- a/pkgs/misc/emulators/yabause/default.nix
+++ b/pkgs/misc/emulators/yabause/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qt5, libGLU_combined
+{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qt5, libGLU, libGL
 , freeglut ? null, openal ? null, SDL2 ? null }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qtbase qt5.qtmultimedia libGLU_combined freeglut openal SDL2 ];
+  buildInputs = [ qtbase qt5.qtmultimedia libGLU libGL freeglut openal SDL2 ];
 
   patches = [
     ./linkage-rwx-linux-elf.patch
diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix
index 1ea8d7e68d3..55fe49895c9 100644
--- a/pkgs/misc/emulators/zsnes/default.nix
+++ b/pkgs/misc/emulators/zsnes/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU_combined
+{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU, libGL
 , makeDesktopItem }:
 
 let
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
     sha256 = "1gy79d5wdaacph0cc1amw7mqm7i0716n6mvav16p1svi26iz193v";
   };
 
-  buildInputs = [ nasm SDL zlib libpng ncurses libGLU_combined ];
+  buildInputs = [ nasm SDL zlib libpng ncurses libGLU libGL ];
 
   prePatch = ''
     for i in $(cat debian/patches/series); do
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index 89583bb15d3..541fbea1dd4 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -47,6 +47,11 @@ stdenv.mkDerivation rec {
   patches = [
     ./urw-font-files.patch
     ./doc-no-ref.diff
+    (fetchpatch {
+      name = "CVE-2019-14869.patch";
+      url = "https://git.ghostscript.com/?p=ghostpdl.git;a=patch;h=485904772c5f0aa1140032746e5a0abfc40f4cef";
+      sha256 = "0z5gnvgpp0dlzgvpw9a1yan7qyycv3mf88l93fvb1kyay893rshp";
+    })
   ];
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/misc/gnash/default.nix b/pkgs/misc/gnash/default.nix
index 2efaa98d67b..cfc0c3f7301 100644
--- a/pkgs/misc/gnash/default.nix
+++ b/pkgs/misc/gnash/default.nix
@@ -6,7 +6,9 @@
 # renderers
 , enableAGG    ? true,  agg   ? null
 , enableCairo  ? false, cairo ? null
-, enableOpenGL ? false, libGLU_combined  ? null
+, enableOpenGL ? false
+, libGLU ? null
+, libGL  ? null
 
 # GUI toolkits
 , enableGTK ? true,  gtk2 ? null, gnome2 ? null
@@ -45,7 +47,7 @@ in
 # renderers
 assert enableAGG    -> available agg;
 assert enableCairo  -> available cairo;
-assert enableOpenGL -> available libGLU_combined;
+assert enableOpenGL -> all available [ libGLU libGL ];
 
 # GUI toolkits
 assert enableGTK -> all available [ gtk2 gnome2.gtkglext gnome2.GConf ];
@@ -57,7 +59,7 @@ assert enableFFmpeg    -> available ffmpeg_2 ;
 
 # misc
 assert enableJemalloc -> available jemalloc;
-assert enableHwAccel  -> available libGLU_combined;
+assert enableHwAccel  -> all available [ libGLU libGL ];
 assert enablePlugins  -> all available [ xulrunner npapi_sdk ];
 
 assert length toolkits  == 0 -> throw "at least one GUI toolkit must be enabled";
@@ -85,11 +87,11 @@ stdenv.mkDerivation {
     libpng libjpeg giflib pango atk
   ] ++ optional  enableAGG       agg
     ++ optional  enableCairo     cairo
-    ++ optional  enableOpenGL    libGLU_combined
     ++ optional  enableQt        qt4
     ++ optional  enableFFmpeg    ffmpeg_2
     ++ optional  enableJemalloc  jemalloc
-    ++ optional  enableHwAccel   libGLU_combined
+    ++ optional  enableHwAccel   [ libGL libGLU ]
+    ++ optionals enableOpenGL    [ libGL libGLU ]
     ++ optionals enablePlugins   [ xulrunner npapi_sdk ]
     ++ optionals enableGTK       [ gtk2 gnome2.gtkglext gnome2.GConf ];
 
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 4bd0a96fb3a..f6eaa553bb2 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
-, fetchpatch
+{ stdenv, fetchFromGitHub, pkgconfig, python3Packages, makeWrapper
 , bash, libsamplerate, libsndfile, readline, eigen, celt
 , wafHook
 # Darwin Dependencies
@@ -15,7 +14,7 @@
 
 with stdenv.lib;
 let
-  inherit (python2Packages) python dbus-python;
+  inherit (python3Packages) python dbus-python;
   shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) pkg.meta.platforms then pkg else null;
 
   libOnly = prefix == "lib";
@@ -28,13 +27,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "${prefix}jack2-${version}";
-  version = "1.9.13";
+  version = "1.9.14";
 
   src = fetchFromGitHub {
     owner = "jackaudio";
     repo = "jack2";
     rev = "v${version}";
-    sha256 = "1dnq75ylcv3npsyvzzkj0g8mdnzwis1whc2pk6s5hkcc1bgvv2xy";
+    sha256 = "1prxg1l8wrxfp2mh7l4mvjvmml6816fciq1la88ylhwm1qnfvnax";
   };
 
   nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix
index b1c2ec5c3bd..b36f8bf98de 100644
--- a/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/pkgs/misc/screensavers/electricsheep/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, libav, lua5_1, curl
-, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, libGLU_combined
+, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, libGLU, libGL
 , glee }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     wxGTK30 libav lua5_1 curl libpng xorg.libXrender
-    flam3 libgtop boost tinyxml freeglut libGLU_combined glee
+    flam3 libgtop boost tinyxml freeglut libGLU libGL glee
   ];
 
   preAutoreconf = ''
diff --git a/pkgs/misc/screensavers/rss-glx/default.nix b/pkgs/misc/screensavers/rss-glx/default.nix
index 7f6d99297ab..467f762de86 100644
--- a/pkgs/misc/screensavers/rss-glx/default.nix
+++ b/pkgs/misc/screensavers/rss-glx/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, xlibsWrapper, libXext, libGLU_combined, imagemagick, libtiff, bzip2}:
+{stdenv, fetchurl, pkgconfig, xlibsWrapper, libXext, libGLU, libGL, imagemagick, libtiff, bzip2}:
 
 stdenv.mkDerivation rec {
   version = "0.9.1";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libGLU_combined xlibsWrapper imagemagick libtiff bzip2 ];
+  buildInputs = [ libGLU libGL xlibsWrapper imagemagick libtiff bzip2 ];
 
   NIX_CFLAGS_COMPILE = "-I${imagemagick.dev}/include/ImageMagick";
   NIX_LDFLAGS= "-rpath ${libXext}/lib";
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 39706bb96ed..1937874a49c 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, bc, perl, perlPackages, pam, libXext, libXScrnSaver, libX11
-, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU_combined, gtk2
+, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU, libGL, gtk2
 , libxml2, libglade, intltool, xorg, makeWrapper, gle
 , forceInstallAllHacks ? false
 }:
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ pkgconfig bc perl libjpeg libGLU_combined gtk2 libxml2 libglade pam
+    [ pkgconfig bc perl libjpeg libGLU libGL gtk2 libxml2 libglade pam
       libXext libXScrnSaver libX11 libXrandr libXmu libXxf86vm libXrender
       libXxf86misc intltool xorg.appres makeWrapper gle
     ];
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index f7663c8e447..8a07461bb2f 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -1,37 +1,49 @@
-{ stdenv, lib, fetchurl, fetchpatch, bc, bison, dtc, flex, openssl, swig
-, armTrustedFirmwareAllwinner
+{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bc, bison, dtc, flex
+, openssl, swig, armTrustedFirmwareAllwinner, armTrustedFirmwareRK3328
+, armTrustedFirmwareRK3399
 , buildPackages
 }:
 
 let
-  buildUBoot = { version ? "2019.10"
-            , filesToInstall
-            , installDir ? "$out"
-            , defconfig
-            , extraConfig ? ""
-            , extraPatches ? []
-            , extraMakeFlags ? []
-            , extraMeta ? {}
-            , ... } @ args:
-           stdenv.mkDerivation ({
-
+  defaultVersion = "2019.10";
+  defaultSrc = fetchurl {
+    url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
+    sha256 = "053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd";
+  };
+  buildUBoot = {
+    version ? null
+  , src ? null
+  , filesToInstall
+  , installDir ? "$out"
+  , defconfig
+  , extraConfig ? ""
+  , extraPatches ? []
+  , extraMakeFlags ? []
+  , extraMeta ? {}
+  , ... } @ args: stdenv.mkDerivation ({
     pname = "uboot-${defconfig}";
-    inherit version;
 
-    src = fetchurl {
-      url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
-      sha256 = "053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd";
-    };
+    version = if src == null then defaultVersion else version;
+
+    src = if src == null then defaultSrc else src;
 
     patches = [
+      # Submitted upstream: https://patchwork.ozlabs.org/patch/1203693/
       (fetchpatch {
         url = https://github.com/dezgeg/u-boot/commit/extlinux-path-length-2018-03.patch;
         sha256 = "07jafdnxvqv8lz256qy29agjc2k1zj5ad4k28r1w5qkhwj4ixmf8";
       })
+      # Submitted upstream: https://patchwork.ozlabs.org/patch/1203678/
+      (fetchpatch {
+        name = "rockchip-allow-loading-larger-kernels.patch";
+        url = "https://marc.info/?l=u-boot&m=157537843004298&q=raw";
+        sha256 = "0l3l88cc9xkxkraql82pfgpx6nqn4dj7cvfaagh5pzfwkxyw0n3p";
+      })
     ] ++ extraPatches;
 
     postPatch = ''
       patchShebangs tools
+      patchShebangs arch/arm/mach-rockchip
     '';
 
     nativeBuildInputs = [
@@ -248,6 +260,43 @@ in {
     filesToInstall = ["u-boot.bin"];
   };
 
+  ubootRock64 = let
+    rkbin = fetchFromGitHub {
+      owner = "ayufan-rock64";
+      repo = "rkbin";
+      rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
+      sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
+    };
+  in buildUBoot {
+    extraMakeFlags = [ "all" "u-boot.itb" ];
+    defconfig = "rock64-rk3328_defconfig";
+    extraMeta = {
+      platforms = [ "aarch64-linux" ];
+      license = lib.licenses.unfreeRedistributableFirmware;
+    };
+    BL31="${armTrustedFirmwareRK3328}/bl31.elf";
+    filesToInstall = [ "u-boot.itb" "idbloader.img"];
+    # Derive MAC address from cpuid
+    # Submitted upstream: https://patchwork.ozlabs.org/patch/1203686/
+    extraConfig = ''
+      CONFIG_MISC_INIT_R=y
+    '';
+    # Close to being blob free, but the U-Boot TPL causes random memory
+    # corruption
+    postBuild = ''
+      ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.13.bin idbloader.img
+      cat spl/u-boot-spl.bin >> idbloader.img
+    '';
+  };
+
+  ubootRockPro64 = buildUBoot {
+    extraMakeFlags = [ "all" "u-boot.itb" ];
+    defconfig = "rockpro64-rk3399_defconfig";
+    extraMeta.platforms = ["aarch64-linux"];
+    BL31="${armTrustedFirmwareRK3399}/bl31.elf";
+    filesToInstall = [ "u-boot.itb" "idbloader.img"];
+  };
+
   ubootSheevaplug = buildUBoot {
     defconfig = "sheevaplug_defconfig";
     extraMeta.platforms = ["armv5tel-linux"];
diff --git a/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch b/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch
deleted file mode 100644
index 92725cac5b4..00000000000
--- a/pkgs/misc/uboot/rock64-fdt-dtc-compatibility.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From fbee2adffd39b03e10262b09779faef94c4d5a9d Mon Sep 17 00:00:00 2001
-From: Ben Wolsieffer <benwolsieffer@gmail.com>
-Date: Thu, 18 Apr 2019 15:50:24 -0400
-Subject: [PATCH] fdt: make compatible with dtc >=1.4.6
-
-Signed-off-by: Ben Wolsieffer <benwolsieffer@gmail.com>
----
- include/libfdt_env.h         | 6 +++---
- lib/libfdt/fdt.h             | 6 +++---
- lib/libfdt/libfdt.h          | 6 +++---
- lib/libfdt/libfdt_internal.h | 6 +++---
- tools/dtoc/fdt.py            | 2 +-
- 5 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/include/libfdt_env.h b/include/libfdt_env.h
-index 6c6845f76c..1fbcd0ef83 100644
---- a/include/libfdt_env.h
-+++ b/include/libfdt_env.h
-@@ -6,8 +6,8 @@
-  * SPDX-License-Identifier:	LGPL-2.1+
-  */
- 
--#ifndef _LIBFDT_ENV_H
--#define _LIBFDT_ENV_H
-+#ifndef LIBFDT_ENV_H
-+#define LIBFDT_ENV_H
- 
- #include "compiler.h"
- #include "linux/types.h"
-@@ -32,4 +32,4 @@ typedef __be64 fdt64_t;
- /* adding a ramdisk needs 0x44 bytes in version 2008.10 */
- #define FDT_RAMDISK_OVERHEAD	0x80
- 
--#endif /* _LIBFDT_ENV_H */
-+#endif /* LIBFDT_ENV_H */
-diff --git a/lib/libfdt/fdt.h b/lib/libfdt/fdt.h
-index 3134d78332..38cc182739 100644
---- a/lib/libfdt/fdt.h
-+++ b/lib/libfdt/fdt.h
-@@ -1,5 +1,5 @@
--#ifndef _FDT_H
--#define _FDT_H
-+#ifndef FDT_H
-+#define FDT_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -64,4 +64,4 @@ struct fdt_property {
- #define FDT_V16_SIZE	FDT_V3_SIZE
- #define FDT_V17_SIZE	(FDT_V16_SIZE + sizeof(fdt32_t))
- 
--#endif /* _FDT_H */
-+#endif /* FDT_H */
-diff --git a/lib/libfdt/libfdt.h b/lib/libfdt/libfdt.h
-index cb533f4275..9345a59f05 100644
---- a/lib/libfdt/libfdt.h
-+++ b/lib/libfdt/libfdt.h
-@@ -1,5 +1,5 @@
--#ifndef _LIBFDT_H
--#define _LIBFDT_H
-+#ifndef LIBFDT_H
-+#define LIBFDT_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -2189,4 +2189,4 @@ int fdt_device_is_available(const void *blob, int node);
- int fdt_node_offset_by_phandle_node(const void *fdt, int node, uint32_t phandle);
- #endif /* SWIG */
- 
--#endif /* _LIBFDT_H */
-+#endif /* LIBFDT_H */
-diff --git a/lib/libfdt/libfdt_internal.h b/lib/libfdt/libfdt_internal.h
-index 9a79fe85dd..8fdda7ee79 100644
---- a/lib/libfdt/libfdt_internal.h
-+++ b/lib/libfdt/libfdt_internal.h
-@@ -1,5 +1,5 @@
--#ifndef _LIBFDT_INTERNAL_H
--#define _LIBFDT_INTERNAL_H
-+#ifndef LIBFDT_INTERNAL_H
-+#define LIBFDT_INTERNAL_H
- /*
-  * libfdt - Flat Device Tree manipulation
-  * Copyright (C) 2006 David Gibson, IBM Corporation.
-@@ -47,4 +47,4 @@ static inline struct fdt_reserve_entry *_fdt_mem_rsv_w(void *fdt, int n)
- 
- #define FDT_SW_MAGIC		(~FDT_MAGIC)
- 
--#endif /* _LIBFDT_INTERNAL_H */
-+#endif /* LIBFDT_INTERNAL_H */
-diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py
-index dbc338653b..ac2191fb37 100644
---- a/tools/dtoc/fdt.py
-+++ b/tools/dtoc/fdt.py
-@@ -360,7 +360,7 @@ class Fdt:
-         poffset = libfdt.fdt_first_property_offset(self._fdt, node._offset)
-         while poffset >= 0:
-             p = self._fdt_obj.get_property_by_offset(poffset)
--            prop = Prop(node, poffset, p.name, p.value)
-+            prop = Prop(node, poffset, p.name, p)
-             props_dict[prop.name] = prop
- 
-             poffset = libfdt.fdt_next_property_offset(self._fdt, poffset)
--- 
-2.21.0
-
diff --git a/pkgs/misc/uboot/rock64.nix b/pkgs/misc/uboot/rock64.nix
deleted file mode 100644
index 9dd43f5fe7e..00000000000
--- a/pkgs/misc/uboot/rock64.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildUBoot, fetchFromGitHub, armTrustedFirmwareRK3328 }: let
-  rkbin = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "rkbin";
-    rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
-    sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
-  };
-in buildUBoot {
-  version = "2017.09";
-
-  src = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "linux-u-boot";
-    rev = "56bd9582537a70c30387de3ce9038a56d2c77bfe";
-    sha256 = "1m0k8ivzhmg9y4x0k7fz7y71pgblzxy81m6x32iivz5kjnxdnv4i";
-  };
-
-  extraPatches = [ ./rock64-fdt-dtc-compatibility.patch ];
-
-  extraMakeFlags = [ "BL31=${armTrustedFirmwareRK3328}/bl31.elf" "u-boot.itb" "all" ];
-
-  # Close to being blob free, but the U-Boot TPL causes the kernel to hang after a few minutes
-  postBuild = ''
-    ./tools/mkimage -n rk3328 -T rksd -d ${rkbin}/rk33/rk3328_ddr_786MHz_v1.13.bin idbloader.img
-    cat spl/u-boot-spl.bin >> idbloader.img
-    dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc
-  '';
-
-  defconfig = "rock64-rk3328_defconfig";
-  filesToInstall = [ "spl/u-boot-spl.bin" "tpl/u-boot-tpl.bin" "u-boot.itb" "idbloader.img"];
-
-  extraMeta = with lib; {
-    maintainers = [ maintainers.lopsided98 ];
-    platforms = ["aarch64-linux"];
-    # Because of the TPL blob
-    license = licenses.unfreeRedistributableFirmware;
-  };
-}
diff --git a/pkgs/misc/uboot/rockpro64.nix b/pkgs/misc/uboot/rockpro64.nix
deleted file mode 100644
index 436e1bcdf87..00000000000
--- a/pkgs/misc/uboot/rockpro64.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildUBoot, fetchFromGitHub }: let
-  rkbin = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "rkbin";
-    rev = "f79a708978232a2b6b06c2e4173c5314559e0d3a";
-    sha256 = "0h7xm4ck3p3380c6bqm5ixrkxwcx6z5vysqdwvfa7gcqx5d6x5zz";
-  };
-in buildUBoot {
-  version = "2017.09";
-
-  src = fetchFromGitHub {
-    owner = "ayufan-rock64";
-    repo = "linux-u-boot";
-    rev = "56bd9582537a70c30387de3ce9038a56d2c77bfe";
-    sha256 = "1m0k8ivzhmg9y4x0k7fz7y71pgblzxy81m6x32iivz5kjnxdnv4i";
-  };
-
-  extraPatches = [ ./rock64-fdt-dtc-compatibility.patch ];
-
-  # Upstream ATF hangs in SPL
-  extraMakeFlags = [ "BL31=${rkbin}/rk33/rk3399_bl31_v1.25.elf" "u-boot.itb" "all" ];
-
-  postBuild = ''
-    ./tools/mkimage -n rk3399 -T rksd -d ${rkbin}/rk33/rk3399_ddr_933MHz_v1.19.bin idbloader.img
-    cat spl/u-boot-spl.bin >> idbloader.img
-    dd if=u-boot.itb of=idbloader.img seek=448 conv=notrunc
-  '';
-
-  defconfig = "rockpro64-rk3399_defconfig";
-  filesToInstall = [ "spl/u-boot-spl.bin" "u-boot.itb" "idbloader.img"];
-
-  extraMeta = with lib; {
-    maintainers = [ maintainers.lopsided98 ];
-    platforms = ["aarch64-linux"];
-    # Because of the TPL and ATF (BL31) blobs
-    license = licenses.unfreeRedistributableFirmware;
-  };
-}
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 12bdf40d326..d7933ba3b69 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -50,23 +50,23 @@ let
 
   alchemist-vim = buildVimPluginFrom2Nix {
     pname = "alchemist-vim";
-    version = "2019-11-06";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "slashmili";
       repo = "alchemist.vim";
-      rev = "8b6ea7b1314bb3b47b115c04484b7af3c483f5b8";
-      sha256 = "0jfwcd426hd9pb2dyq1949g8k8g1hhkc55k1kbp30r42m116p1qh";
+      rev = "911eda990ef259d1f035061c5dfb2f44adb2697e";
+      sha256 = "04lm3k6svq4y2a7kqq5phzyny93ynnjdmsv2s98pw6c4z5fq5y1m";
     };
   };
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2019-11-15";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "b91d82bfaa395bb86b3ea51f63cc8cef05e90f98";
-      sha256 = "0hgzi91213x0r5mvp1hw8dk1fcjmqjf706cnjcilgv7ljnd6sa5z";
+      rev = "5f84325cd811ec179b7f3642652438c6a45b174d";
+      sha256 = "0fdy4kvd7bg3xcls5g2xxml8hlwb80qvs9225dh2hqif0isbf4l2";
     };
   };
 
@@ -83,12 +83,12 @@ let
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2019-09-27";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "ac2e4f55aedddd7f473aaaa4035062c3c489e8c3";
-      sha256 = "0kgdm06g67y3pfzcd4wqdrc59klxchrim755ml1038hbnk39lilj";
+      rev = "19e6ae0f2258953591d7c674abd7aca3ceb51374";
+      sha256 = "0283nm92666idvwp0pzy6yzcfvrqy12nwn9zys1jbs34kk6srwa8";
     };
   };
 
@@ -149,12 +149,12 @@ let
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2019-11-05";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "c6962f051a0dff9c8d1390efea807a7440c9c0d4";
-      sha256 = "1f5qq4l6mx7na008d5w6hji93w57vk26w78l4mp66wl790jcw4ky";
+      rev = "b5037cbf87ee4b0beed91adb33c339122e58326f";
+      sha256 = "1yxjdb2cmha6vqhmsv8vy80whs201wwwx0xmyp76mz9zkcsyljak";
     };
   };
 
@@ -204,23 +204,23 @@ let
 
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
-    version = "2019-11-04";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "calendar.vim";
-      rev = "644f88b9ddb17ef04c4558e945d1995aab400a96";
-      sha256 = "0wbj61q3qyk432wzci8q8pjw2qrl7kv4cxjlxrdcv15w45b8wskk";
+      rev = "335e67e32865259c8a1f27a08fd1260a8cb1897b";
+      sha256 = "1n35sf4v1piww31kqzg88s4xb5gdsxqgjvfmlif16na1kdvyjwd5";
     };
   };
 
   camelcasemotion = buildVimPluginFrom2Nix {
     pname = "camelcasemotion";
-    version = "2019-06-28";
+    version = "2019-12-02";
     src = fetchFromGitHub {
       owner = "bkad";
       repo = "camelcasemotion";
-      rev = "406368dea50303884aa321d2cdff714e010f951e";
-      sha256 = "0a1grafg05cb9mpk69j2y433ifm27ksy29wzlxlm5798dmb473mw";
+      rev = "de439d7c06cffd0839a29045a103fe4b44b15cdc";
+      sha256 = "0yfsb0d9ly8abmc95nqcmr8r8ylif80zdjppib7g1qj1wapdhc69";
     };
   };
 
@@ -303,12 +303,12 @@ let
 
   coc-emmet = buildVimPluginFrom2Nix {
     pname = "coc-emmet";
-    version = "2019-08-22";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-emmet";
-      rev = "0fd6e93dcab3507240962a480b42e08e818d1fa9";
-      sha256 = "196cvnynkm34sa90gznp81l2l3wl2sxfishqzwr8xxlk2cdcshxn";
+      rev = "1e65237f65b94bd5f9376023f557a26c14c9d35a";
+      sha256 = "16f3gdnprxw939zwdy7lzksj1qwlwfs174vk0nzf1d8yb04a7y2g";
     };
   };
 
@@ -336,12 +336,12 @@ let
 
   coc-go = buildVimPluginFrom2Nix {
     pname = "coc-go";
-    version = "2019-10-29";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-go";
-      rev = "0f395b22aee6f99ba3cfc07d3faaf13edcb1ca96";
-      sha256 = "118nqx3k7frxvx0cz8w6k6sx905200aym2lqh0qajkg5m288vl75";
+      rev = "82b66de274b0405fad8affcc21fcfec62655c266";
+      sha256 = "0mfh1xscs1jn2fmzsq4cz57slicyvri83h1f7i3fwlmm1jw6l2nd";
     };
   };
 
@@ -413,12 +413,12 @@ let
 
   coc-lists = buildVimPluginFrom2Nix {
     pname = "coc-lists";
-    version = "2019-11-07";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-lists";
-      rev = "f1cb662a5d23f792c6920f122d200731a77150b9";
-      sha256 = "1j5n859fyi7wvyqhqvcd81y2h7qiddwqfz3kqx3ri0br0j4hvwc4";
+      rev = "c3d8bca71ba4cbf6eefdd24e77e62b595dcff856";
+      sha256 = "0djmzw782m8vy3sfff3gnnib4iz3wilvjv4hagv7mhzcf2lzswsb";
     };
   };
 
@@ -435,56 +435,56 @@ let
 
   coc-pairs = buildVimPluginFrom2Nix {
     pname = "coc-pairs";
-    version = "2019-09-10";
+    version = "2019-12-02";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-pairs";
-      rev = "26b1be159c2f24d74c6f175e91b6a8fbd3868e9a";
-      sha256 = "16g2wz87l1pskn6ri71sdm1j5r4h8z1vjdg3ksqs6mz9x2vzy2zz";
+      rev = "97a757cadecabd5a1bf0ed0eb831535d7011ecbd";
+      sha256 = "0ygsiplb4slw7vf72njiy3cxslflnihr3qfi9i802dc9p02w4sl8";
     };
   };
 
   coc-prettier = buildVimPluginFrom2Nix {
     pname = "coc-prettier";
-    version = "2019-10-06";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-prettier";
-      rev = "198fff4227cbc2742ed6167c1f097826e867d66d";
-      sha256 = "1ylwcr8l3bhgxb2zkqskkq97757di6vq7acxw6dd1hb5hk5a17kc";
+      rev = "f2c5959b0e8a5658017c9dcb57f03d86c3a7c484";
+      sha256 = "1c2vvjvji5wkmxlm5mi5q4px2x9fslkqsw4vii3kjc7cz2w4fnhk";
     };
   };
 
   coc-python = buildVimPluginFrom2Nix {
     pname = "coc-python";
-    version = "2019-11-21";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-python";
-      rev = "756c9f623f6a82ad902e2bdfe3f0c77fba96c18e";
-      sha256 = "1fab8bzj386zkgn7551l58q4ykqakjbx92afx30i1861y8m1a4p1";
+      rev = "714ae8de45ab756d5b65f0be0b616153220b9257";
+      sha256 = "17gb0xbvczkqxzs2abknr460v0rcvgsi0m7pc4v0waggr690z53l";
     };
   };
 
   coc-r-lsp = buildVimPluginFrom2Nix {
     pname = "coc-r-lsp";
-    version = "2019-07-27";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-r-lsp";
-      rev = "261e14c4d80c3302dda0d7b51c45637e3390fe76";
-      sha256 = "1r4z8aiw8s66crrg9n26s93wpync7p6p3jwm32m8anvp1swkqp6b";
+      rev = "a1b97e36c601975a8d730b6965f25592b1ecd1e7";
+      sha256 = "04g1kbgm8p0asrsibmg4w6wj8i2xzwc70g7rkcs2bj3pakbkvws6";
     };
   };
 
   coc-rls = buildVimPluginFrom2Nix {
     pname = "coc-rls";
-    version = "2019-10-28";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-rls";
-      rev = "1e8610b2642232185b7e020651423d11001b7546";
-      sha256 = "18d2pxmifyacg7gki99bja7gjs7ycprsm3p6p7snf3dx3g5r4pqq";
+      rev = "1c7df237f76a50f25e8bbe3d8bec897991ca86b2";
+      sha256 = "0q9i1lz4id9c3d4lch3fxkh8qg9v59vh3kin9h2qdnp3xwgfcvjr";
     };
   };
 
@@ -567,12 +567,12 @@ let
 
   coc-tsserver = buildVimPluginFrom2Nix {
     pname = "coc-tsserver";
-    version = "2019-11-20";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tsserver";
-      rev = "d48cc4a31217af3e0d2fa91159972ea7a9575b21";
-      sha256 = "0zmzyqp8nw99ajzxr8469yfm9zgi53zggxsp6k6b9m6x8c9rqly9";
+      rev = "4f493d6c35bfef71ec21e8db648bcabda5f9ad21";
+      sha256 = "1n1b9ss5cjmn5vazfmy97x88s4nqw6f2mwvnqbnvx3cjrpwvyjy6";
     };
   };
 
@@ -622,12 +622,12 @@ let
 
   coc-yank = buildVimPluginFrom2Nix {
     pname = "coc-yank";
-    version = "2019-10-28";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-yank";
-      rev = "636c8a3ff0fb4a950b72c626bf2075c20f7c0086";
-      sha256 = "1wz8vp558v3l1c4d3igz55iv673ypapjapyy9q3fcxya8b3qs09y";
+      rev = "1d145660c81cf4f160965feb12ea69129d1cce3e";
+      sha256 = "1sdpkr1rkvqaiixiddd5a0095di071nxr2gvnikb4pnzrknacngk";
     };
   };
 
@@ -655,12 +655,12 @@ let
 
   command-t = buildVimPluginFrom2Nix {
     pname = "command-t";
-    version = "2019-08-02";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "wincent";
       repo = "command-t";
-      rev = "02a22d27e1c4671db32b0ded1fa2bb861c16d14c";
-      sha256 = "0aj9lnrd0v4296c8rwy4bp73dah0lx298yi6ybz3rma2gx9xss6c";
+      rev = "9bdc2e1585419640129a48c646bbf8459f96951b";
+      sha256 = "0iim0lhib6fiainyb48ibl2qzgv8cmn9yinmd1k6i2y5y26wlhfy";
       fetchSubmodules = true;
     };
   };
@@ -788,23 +788,23 @@ let
 
   dart-vim-plugin = buildVimPluginFrom2Nix {
     pname = "dart-vim-plugin";
-    version = "2019-09-24";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "dart-lang";
       repo = "dart-vim-plugin";
-      rev = "f8486e58fb02351689ae247cebf28b5fee326c33";
-      sha256 = "038zx5zn4da73ps5klixcwh64z6rivfp78l2lvaj5d1vjqh1ac83";
+      rev = "ff468225ce2c8834b944ba6e040fe18a28a67cff";
+      sha256 = "1h4yw71dj67q57d7iiw22silcmji5ibp4bj18kgm0gvwa53hy7hh";
     };
   };
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2019-11-18";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "1c59c0bbeea3d9162b1f8405c0cdcf23f29860f6";
-      sha256 = "0pn3szp6kpk6za1q7f5wimwxsfrz5csgx8sxkzsch133q0f24p7f";
+      rev = "4dc152ac826a825b69741cc79681a257e24497dc";
+      sha256 = "1j9hgz76x554wzdz9ss14c94pwp2fk7yplznhyxamndn9wcy8yiv";
     };
   };
 
@@ -843,23 +843,23 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-11-19";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "7712a251e172b2dc6a41d36504c0392797484ab1";
-      sha256 = "0n696hjri23s9janar3k9la85apzl5kn51jgrjjf3p9xbx8h3ljk";
+      rev = "f9567a0e9a8af56a33961192bbbbe93ada60155d";
+      sha256 = "1q20r409cxhywj5yzimirrj2aa1p6s4d1y4y429g8zl2qn9nr2fw";
     };
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2019-11-22";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "6457c49bb90ea955755c6a47a561f04312a28ed8";
-      sha256 = "0bmw6xw0qa25dix4lp82447w3ffl49vf431wz90j6xa0swaxifkj";
+      rev = "856041638e98fc3bf4d4de5d90dee525f3dfa9a5";
+      sha256 = "1y6kp56n26kabmp60nnyaw46yxv9nqv5bp15hzvfpwvzq7gvpm10";
     };
   };
 
@@ -899,24 +899,24 @@ let
 
   deoplete-go = buildVimPluginFrom2Nix {
     pname = "deoplete-go";
-    version = "2019-11-10";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-go";
-      rev = "b82273104b3383ce8fc239243007865f308034ca";
-      sha256 = "1mnx20paalb4aa1h79fp3q99djcj4qkswkdl1qvzkpj1wxdqwxix";
+      rev = "45ab448ad0bdd19a6f13ce691a5ce3c0c381ee9e";
+      sha256 = "132wkvh62zhpiv37576k0a8akm90x40dq0sr7rc9q24cq5lym7rx";
       fetchSubmodules = true;
     };
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix {
     pname = "deoplete-jedi";
-    version = "2019-11-10";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "deoplete-plugins";
       repo = "deoplete-jedi";
-      rev = "f442e98c6c81649985f1cfc735fb4d25f3e27010";
-      sha256 = "04g5vfzxyjddr6dhpm48jki0llxvb9smj1qxvk9d7j8n005bdlcx";
+      rev = "331237df98f67a821715aec06cd3ff5784b10220";
+      sha256 = "0q0400il4lh39lvnfbshzs7mc4n3fkwgs1m47pglm31305g1mx1b";
       fetchSubmodules = true;
     };
   };
@@ -934,12 +934,12 @@ let
 
   deoplete-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-lsp";
-    version = "2019-11-21";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete-lsp";
-      rev = "44185b8c477b1ba5a299f157569f842a5f2ed1ec";
-      sha256 = "0y7ibagw5hj10qjrkqa8vq1a0h50xdnrirz2lnpyy8wyk9l5l2lc";
+      rev = "dbac6111ae250e845070075f63a3d81fd6320815";
+      sha256 = "1p55jk21l6qd16vh0yh0zilxqz8dpksis1w7ildjwhd5f8b8ach0";
     };
   };
 
@@ -967,34 +967,34 @@ let
 
   deoplete-ternjs = buildVimPluginFrom2Nix {
     pname = "deoplete-ternjs";
-    version = "2019-11-22";
+    version = "2019-12-06";
     src = fetchFromGitHub {
       owner = "carlitux";
       repo = "deoplete-ternjs";
-      rev = "ca0ee77276bc688f847b566d64b32e4bb62691d8";
-      sha256 = "0980fwr931dqyp032gcg4mwk2iv3inywa8w3m73zcr082xc0crp7";
+      rev = "b94b24677daa095f980f31017caabd4fe051635f";
+      sha256 = "1vi9y5kkiq3cmainqkdqn4hibnws0bs0zzg1nsx7pary9jfcmmra";
     };
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2019-11-20";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "57cf7710a8dd51797bbbe5a45e67aef44caa126f";
-      sha256 = "1wmlx2nx3bciv9mhws04ryix0sp33j945mn09cm8vvipbq0bk2q2";
+      rev = "e3c1f55b6c9fda704b963558729c716e13d41244";
+      sha256 = "061vkq62rn83qwj6v01ahqawv4crscjad2hzmgzkffggjqfy5kzv";
     };
   };
 
   dhall-vim = buildVimPluginFrom2Nix {
     pname = "dhall-vim";
-    version = "2019-05-01";
+    version = "2019-12-06";
     src = fetchFromGitHub {
       owner = "vmchale";
       repo = "dhall-vim";
-      rev = "20d2fa23dddc11d694d62c957e4aa7287dba63d3";
-      sha256 = "0718acz3qwrnjy1d76bar825dhbjj7mm5vrkgwxhyvdljx5w0hxs";
+      rev = "13f70cf593193be45486dc502bcff473b8afc11d";
+      sha256 = "0qcb6wkdj7yvlq5drral4ik6s3ay5h512yh19789jcjgyv7mw9ak";
     };
   };
 
@@ -1022,23 +1022,23 @@ let
 
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc-vim";
-    version = "2019-10-13";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "dcbeba8ce075e3b6afc0422bbb339ef953582347";
-      sha256 = "1y07a42a976z5cvkkjg6sir0vi7xdmk97bzyc2qvpx16gvqby6a2";
+      rev = "7fb542ca1eedc2a214279523aba4b0f095fa5f19";
+      sha256 = "1pn18a9jip9qfp1j4kqpy7kkj5xggbiw24nqn5b5gfrha5vw6s3h";
     };
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2019-11-03";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "5df91ecb9008666912c7ee15f95ebe5ff4265c23";
-      sha256 = "020ll1517z8hmmqcnif4kd579hwvxjf8m0m2x1lg2b9kzaid09d1";
+      rev = "2ad3d7882d2e9622a7fdc1a5ba1c5d0064d89472";
+      sha256 = "00cyvjzn2sr49fvjfsxv0rj7kmdr2m2xlcpqvnfamh6l19nagb35";
       fetchSubmodules = true;
     };
   };
@@ -1090,12 +1090,12 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2019-11-04";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "4f7c122c55aa8a4cfaedc6b12d3d2f26ce579250";
-      sha256 = "0qvdp5y4bhb5nim0va1a25xahc7698lxj63q7cx2w2papbia69pi";
+      rev = "0c50419eb0babd6ad80c75e56b444a397f6c2bd3";
+      sha256 = "1x1vd83m9l6sfgz224q53h0x0kv8myp4j5j7a24z4jsj7rv3gm0q";
     };
   };
 
@@ -1201,34 +1201,34 @@ let
 
   fzf-vim = buildVimPluginFrom2Nix {
     pname = "fzf-vim";
-    version = "2019-11-17";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "98cf39949b617b9f3a47d2e092af573060022301";
-      sha256 = "1h3nz1rqkggf2gs9hywl3x67hprpspm3qc0lmjc3msc5p221f2n4";
+      rev = "65edb6ad99b51514aaf29afc25e35ce5f05281ba";
+      sha256 = "1d40whzc21c4zbzssjwvhzddyb0a106ib8r4zzzdd61s1935z4xr";
     };
   };
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2019-09-30";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "d09e3a3cf3b9c37b1cf0cd7e4952e24c46bfb9fe";
-      sha256 = "0d0brqssq4qrx0l0yr668jvq5zk5pxqfkr8d8acbds8a48afz6zf";
+      rev = "c7ab3c0f6efbe68e864273ad460ab06905930bd0";
+      sha256 = "1h46s31miyd3j8shmrs61phkljj7qp9bkclcx1l0yd4cppm3vi06";
     };
   };
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2019-11-14";
+    version = "2019-12-04";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "25faf559b6f5e8fdef8e1ca2aaf557644a57a165";
-      sha256 = "08653iwhz29xskrj36sih0z2bb247p137g8ls8ydvjgfy60jzrkm";
+      rev = "f572318f32b1617f6054248e5888af68222f8e50";
+      sha256 = "1icg3r70lg2kmd9gdc024ih1n9nrja98yav74z9nvykqygvv5w0n";
     };
   };
 
@@ -1311,12 +1311,12 @@ let
 
   gv-vim = buildVimPluginFrom2Nix {
     pname = "gv-vim";
-    version = "2019-10-13";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "gv.vim";
-      rev = "7a84f6342cc79444e3fa873bf1d08fb6c53b097e";
-      sha256 = "0q5xz8iw3jg42kbaspmgd8mlcgl3xglcqh3fyd2jmmwhnfzp3f7r";
+      rev = "f12b8b80897c1214327e6075abc007ec6e55a691";
+      sha256 = "0fb0zsmpx1vbdfh3d04dpgy2gkd4wkdn05jflcpr5cyf50zr1z9y";
     };
   };
 
@@ -1465,12 +1465,12 @@ let
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2019-10-20";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "08f13af066fad3a60cf241b37ac1878b8cfafa46";
-      sha256 = "0ghdbxmmw1s67vb4l4ap6n6dy69lpp8k1sln27abxhympi2fs2dg";
+      rev = "ac6b2f1e3ec091c53d519fce04751fe96fdc2d3f";
+      sha256 = "0a7pl1y82yq8gls7yp034gpxchfz3pllkw16kczhgih49w87m00k";
       fetchSubmodules = true;
     };
   };
@@ -1598,23 +1598,23 @@ let
 
   lh-brackets = buildVimPluginFrom2Nix {
     pname = "lh-brackets";
-    version = "2019-11-22";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-brackets";
-      rev = "88548effe90b6b980e1320656231eaff57952d83";
-      sha256 = "1xmsmvkbxqh0ib30qzkk5km5mjdr4f64mxll79x2x0wn8ldwjz9g";
+      rev = "441b2d3827158c1c1781e797dd5953fa2b7ba63f";
+      sha256 = "134lb5nnbkwlcgryd39n9dbqyqzadnfibk76m67pjk60sy4s64wk";
     };
   };
 
   lh-vim-lib = buildVimPluginFrom2Nix {
     pname = "lh-vim-lib";
-    version = "2019-11-22";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "ae9d7cf976143a43af11d350ca3406733549b883";
-      sha256 = "1jziwz9mp6jsfd0jkvj4s6n4fw1kg0zgbd5j5rjz2jgp1akqnz2l";
+      rev = "97437f8cf030762b8dcd929575f70cac362a253a";
+      sha256 = "13qn9qrc1d9vmndqyi1f8c3fx60p1xzf1m2c9lq9wk5p4hb8pqqw";
     };
   };
 
@@ -1675,12 +1675,12 @@ let
 
   mattn-calendar-vim = buildVimPluginFrom2Nix {
     pname = "mattn-calendar-vim";
-    version = "2019-11-13";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "calendar-vim";
-      rev = "17a0395f19739964b85672fb5538ea3f2e28ca7a";
-      sha256 = "01g9ig5h7cqvlv2xakr8cml7l4rlgnypglqzag8zyr2lb2c1dmm3";
+      rev = "de499b9525490b10edbd28fb8f0c4e81c6a6f20c";
+      sha256 = "0xvvkq9zckmv9pnzvxg71fblly8lksfi736brbcwcvnszqif4b69";
     };
   };
 
@@ -1708,12 +1708,12 @@ let
 
   ncm2 = buildVimPluginFrom2Nix {
     pname = "ncm2";
-    version = "2019-07-29";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2";
-      rev = "160e2e33d515f67154840844d8304722b679df90";
-      sha256 = "1jyssh84n3rv8lmmjligf5f6jjzmgjv1gc78fv5x2z79j9cg98jc";
+      rev = "a6ab1a4d17a295dae5446382a45c9ea3b2936f1e";
+      sha256 = "1abxy7p0b6y2zvi7lmdhgkyl1ws281n3dsfk15lkg9j0sk51j06l";
     };
   };
 
@@ -1829,23 +1829,23 @@ let
 
   neodark-vim = buildVimPluginFrom2Nix {
     pname = "neodark-vim";
-    version = "2019-11-15";
+    version = "2019-12-04";
     src = fetchFromGitHub {
       owner = "KeitaNakamura";
       repo = "neodark.vim";
-      rev = "ab86163fed0a2c2b776aff463745e792fbed01d6";
-      sha256 = "0mv3vrqly1zgjy8knb87nhlhw4z2xyxzwfisqw6npi738xc612pz";
+      rev = "44919aa0bebfa60e93e653fdd2a81d1c75c2e721";
+      sha256 = "1wz9ygfdg59jwi19l9njcxknf77azlx5nkf5q0ghk6zyv1mqwvc1";
     };
   };
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2019-11-17";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "33f7dfb231382998df77cf9fc8cef39778ec9449";
-      sha256 = "1784p1lbhndpa7nr9771jx6kbmfnfx9bvrrmin9hxskffs8vr1k5";
+      rev = "b4f7ad5ebb759f56c598527ab671aecace114ed5";
+      sha256 = "0xq0vxq86am6xj4sxsnj131d54fds532pikabzsz2l8gnikb4b2r";
     };
   };
 
@@ -1862,12 +1862,12 @@ let
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2019-11-08";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "neomake";
       repo = "neomake";
-      rev = "4e5ee03c61fbabf3eb90b6b30d9acd4f3d4b3fdb";
-      sha256 = "13z45hsk99lcdfbinvbbwr1036fsakhp4dhlqd6dmq6fn3fw5y9w";
+      rev = "fb9765ec9d8e14e01ed3f55364b56c608271fb45";
+      sha256 = "02pqn7fjm4749qfbc13kz0bhf8azr7vhkzca8cq9imiwdpssvmjs";
     };
   };
 
@@ -1884,12 +1884,12 @@ let
 
   neosnippet-snippets = buildVimPluginFrom2Nix {
     pname = "neosnippet-snippets";
-    version = "2019-08-11";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet-snippets";
-      rev = "f38f1732e4bb0643b3019b5b733a87f5f03ea348";
-      sha256 = "1brzryd2sc44xpkz4w4s78a8vmwddvzkqgiyiaygp45k87q2yp24";
+      rev = "7e300f1b986f46b217c26906ca4ee88629f18610";
+      sha256 = "121zqdmpz2dmgsc6zzvrbjhbc3ik5hbj069wh33laxvj74gsar6k";
     };
   };
 
@@ -1961,12 +1961,12 @@ let
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2019-10-05";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdcommenter";
-      rev = "92082862364cf5ec3eec79a025bbc7bc5165e05f";
-      sha256 = "0aqjc26l1m62jgj34difkkbbd0kam1sa6ldfwf2fbkxs3f5y63q8";
+      rev = "023cc20324c41059b5ce79edaef0ffeef8bf5923";
+      sha256 = "02459d88v2g8slrhajmaywwwanqifyrbrxg90vp7rrzx42f6p56r";
     };
   };
 
@@ -2060,12 +2060,12 @@ let
 
   nvim-yarp = buildVimPluginFrom2Nix {
     pname = "nvim-yarp";
-    version = "2019-10-13";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "roxma";
       repo = "nvim-yarp";
-      rev = "81caad80107abb9c2f5159e02e2cd95876370bec";
-      sha256 = "01x1jx7wxpjkv09l9wx1ygsjqrdvfy47pxqgjzmnx4x126ji9gw2";
+      rev = "83c6f4e61aa73e2a53796ea6690fb7e5e64db50a";
+      sha256 = "0yswx77gwxsac4aw2hkx0krjz4jh7pj5bgpvshynj5dlp34ip0m0";
     };
   };
 
@@ -2379,12 +2379,12 @@ let
 
   rust-vim = buildVimPluginFrom2Nix {
     pname = "rust-vim";
-    version = "2019-10-20";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "97fdc4e4975515d8e8a5a82380dd85628d59a005";
-      sha256 = "1ggnl9h0jqb3zf8n8vpvlizxb3fikmghwpj8d3xq3ny54wfjgx78";
+      rev = "b7176e7a1607bb17f2f57cb8b365042f5676b21b";
+      sha256 = "12i213ci5db4xiyqzwkd4i6mmxgq2j1ipjsn42mif3yp0cr1rvvv";
     };
   };
 
@@ -2401,12 +2401,12 @@ let
 
   semshi = buildVimPluginFrom2Nix {
     pname = "semshi";
-    version = "2019-10-01";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "numirias";
       repo = "semshi";
-      rev = "b50f1bcc48bb944704c586b462a5e9d5cdf0d532";
-      sha256 = "1f2wqqhnfyicx8dgna6lcsa3pl5bxbjqf261rz9phxw649rsa9a4";
+      rev = "801d0c971d3d7291cf2fc22d74ac69155a71a279";
+      sha256 = "0adq1qxlxd53ps5byjvqmzk266f3wbvqmw74dkx6vd41zqw38wfx";
     };
   };
 
@@ -2555,12 +2555,12 @@ let
 
   swift-vim = buildVimPluginFrom2Nix {
     pname = "swift-vim";
-    version = "2019-07-09";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "keith";
       repo = "swift.vim";
-      rev = "d3d66151598b5d6dda159524baa9c66b3d1bf5ad";
-      sha256 = "0pq4nwdhnw3qzz3xaz9fpbf3p0l6vrmjkqj4lrfymafbmxc94j6w";
+      rev = "245e5f7aae6f1bc96849a0a01a58cb81cf56e721";
+      sha256 = "0hj7ln0qvfpb0pmvkzj21zd8a2zribdahwwl4rn1yn8skclcq149";
     };
   };
 
@@ -2674,6 +2674,17 @@ let
     };
   };
 
+  thesaurus_query-vim = buildVimPluginFrom2Nix {
+    pname = "thesaurus_query-vim";
+    version = "2019-11-09";
+    src = fetchFromGitHub {
+      owner = "ron89";
+      repo = "thesaurus_query.vim";
+      rev = "830a20ec77780ebfe8d2a7e8c740ca4abb079f89";
+      sha256 = "0kfqpjwashwf084cbz6dmhirk42a4n8d1zj17i086by17nx7qn1g";
+    };
+  };
+
   thumbnail-vim = buildVimPluginFrom2Nix {
     pname = "thumbnail-vim";
     version = "2017-04-24";
@@ -2853,12 +2864,12 @@ let
 
   vim = buildVimPluginFrom2Nix {
     pname = "vim";
-    version = "2019-10-21";
+    version = "2019-12-06";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "c8c0a9325407c487fd702eca39d987d67123c98b";
-      sha256 = "054q6lk91x7dghvvzb51j7923bdy317iya5msv9as76nwzdrk5dp";
+      rev = "2a1f03757eff82d07f64d45dad4af1a805492a67";
+      sha256 = "1ahlpwqf61rr6y23fk9pvnh8drkhv7v82a3r3w07p65mv0mfk958";
     };
   };
 
@@ -3084,23 +3095,23 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-11-21";
+    version = "2019-12-02";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "b9eb94120133a3be4cee77e9bedf68c4200f4b04";
-      sha256 = "0x9z67i8g4p6iik110nfcnsdpny74gi6arx2yvwssa6vzdv2rh9f";
+      rev = "2daef1bcb8b240c303ef34c3348ee1af071963b4";
+      sha256 = "1q806acihhv4yshd8pna7gs383yxs7mw2rnqm4c016sqhb20ba1i";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2019-11-21";
+    version = "2019-12-02";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "935dffc6ff96f7282db93e40e024c942056aedaa";
-      sha256 = "0mx3w41sxvrvk4n4sv1zswlnxmkk93wy9wmc1gmc70yrd9q9jfbx";
+      rev = "fe89bb50a15492c76a9fc55e0cff410f3d5f8b0f";
+      sha256 = "01qplr1md3vzwrd7as2dkm8f4qvx4qcpgaw3q9i7s2i4yv80qnn8";
     };
   };
 
@@ -3150,12 +3161,12 @@ let
 
   vim-autoformat = buildVimPluginFrom2Nix {
     pname = "vim-autoformat";
-    version = "2019-11-11";
+    version = "2019-12-04";
     src = fetchFromGitHub {
       owner = "Chiel92";
       repo = "vim-autoformat";
-      rev = "4fb3ecc473093720f35d8d26ae8a8e46a445f116";
-      sha256 = "199fpvfqbd1d4brxyy506j4nrp64wj6av2xh51a5q10dm84pddp9";
+      rev = "354abcd3d533ba07eebc510102870d85d4e2c466";
+      sha256 = "1hngbjj12q5v73smyhsay4irp3q71cxyc60n97ybfik5mmm455nj";
     };
   };
 
@@ -3689,12 +3700,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2019-11-18";
+    version = "2019-12-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "13fdeb5fa7f464266163f405f42322e6fb0d3067";
-      sha256 = "1605vznbf66z7f2g2lzx4yzxm0dnzddwzfa9mgbxa4wv1836ng0x";
+      rev = "5d37b17e3447edafa418550f2b19e0226b4c7824";
+      sha256 = "1nk113y3ilrim94wd33c1jpvysbyxn6w0z8nd420jnsfrk4jfcc4";
     };
   };
 
@@ -3733,12 +3744,12 @@ let
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2019-11-22";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "fa8d0feb4103f15b97e2abb4e76cbaaf03495d1d";
-      sha256 = "0ki46g0xl6gn75hh9p13any17x5v703bc86ya2nfqwyp2w0gapyg";
+      rev = "1c53af9a0d3b622af5a62d69ddfc141c841a28c1";
+      sha256 = "0269cjkcx4arq7phyqv80ziafg5p1in5ci7207svixbfdg5hlmfs";
     };
   };
 
@@ -3766,12 +3777,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-11-20";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "d4a9cc72469927202fadf14600253a35240c993e";
-      sha256 = "061qzzldh796lagnk1blpkvx5f55rc8h7vgzgffxg9dhc73my5a3";
+      rev = "106edc862b923f9fbf046aee74b5fc805cd7d13f";
+      sha256 = "1b2iqvilr7j0sx3q6jfpnl37h1h2dqwd8n2d5zcswl1m0fnyi1kr";
     };
   };
 
@@ -4041,12 +4052,12 @@ let
 
   vim-javacomplete2 = buildVimPluginFrom2Nix {
     pname = "vim-javacomplete2";
-    version = "2019-11-16";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "artur-shaik";
       repo = "vim-javacomplete2";
-      rev = "676fecd601e844bcd580aa806296dfe4de91a558";
-      sha256 = "0ff3d1wsx47i9mim22j81r43z3n2c30ljw0fjicy43vb74wss873";
+      rev = "f2c7ab94d29604128a38cb6626dac03e7cad5418";
+      sha256 = "1bgg9jy61ygyrx16n20xvyp1wnqfgk857dc5jw2mwv9iq1hg0lvn";
     };
   };
 
@@ -4337,14 +4348,25 @@ let
     };
   };
 
+  vim-move = buildVimPluginFrom2Nix {
+    pname = "vim-move";
+    version = "2019-11-23";
+    src = fetchFromGitHub {
+      owner = "matze";
+      repo = "vim-move";
+      rev = "58049562efb0e6e077416d897b760c4dc9bb25c4";
+      sha256 = "18pnk6ri73a6dq86zh510wy1s0z1dwnsyay7lxrgirjgh3s9nhhq";
+    };
+  };
+
   vim-mucomplete = buildVimPluginFrom2Nix {
     pname = "vim-mucomplete";
-    version = "2019-11-17";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-mucomplete";
-      rev = "8964f852a5990c79c55571aef8d137a5e90c9e7c";
-      sha256 = "08mixa8frla5djcmka9sard4bzwjcrs3pb68si75mmrv9i9n0pd8";
+      rev = "92f0206dae54439bec6503c649263e38167011a9";
+      sha256 = "1ygsb16ha7kxns1f1km7j3br9c0ylf8pan5z46bnmixcbvia53gb";
     };
   };
 
@@ -4493,12 +4515,12 @@ let
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2019-11-22";
+    version = "2019-12-03";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "524d05885d0fdd176d3da06fd2befff9a22353e2";
-      sha256 = "1ngsqyjcsav3k2dcr4anhdm5ycnlfiwykqx3v15ds3j2prsn9hkd";
+      rev = "10d5ac88f4f6e98268b0fe999fd93bbf4cf6d778";
+      sha256 = "13i2lhzsvwr7qbq53xjxg1khklsbbisizgvjllap1cmbxbmnxq49";
     };
   };
 
@@ -4581,12 +4603,12 @@ let
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2019-11-04";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "68fef9c2fd9d4a21b500cc2249b6711a71c6fb9f";
-      sha256 = "0azmnxq82frs375k5b9yjdvsjfmzjv92ifqnmniar19d96yh6swa";
+      rev = "897ce5e2fad66bdb39dc94894f16dde89eee87f7";
+      sha256 = "1ydfdi6svq91aws9g5frcy5j7cjyxk8sphjzn739z7y5fc6lnbwx";
     };
   };
 
@@ -4603,11 +4625,11 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2019-11-15";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "d15651463ab5c3dd6609e548527a8ea18ab80c98";
+      rev = "15aeea662e0b08088ac7b6e3ee661c834e69106a";
       sha256 = "1x7xx12hdydn37hb2k0awzv4s00sb7zk09jixr9mjfrh2x7ywf1c";
     };
   };
@@ -4647,12 +4669,12 @@ let
 
   vim-ps1 = buildVimPluginFrom2Nix {
     pname = "vim-ps1";
-    version = "2017-10-20";
+    version = "2019-12-06";
     src = fetchFromGitHub {
       owner = "PProvost";
       repo = "vim-ps1";
-      rev = "0b2509f210f5dc73001fdcfe8fd7ac354b363388";
-      sha256 = "0fkqd9xnr0310pmi5hjxfwh9x6b75z6q1w8qp1alm4qcv425q9rm";
+      rev = "d11593b4a65551cc3391d36b088cc87a59c62da6";
+      sha256 = "08d9mp6ig3vkvmynm6qfvb18hc128wwssffkwdd9xnqkr7c3dmlv";
     };
   };
 
@@ -4669,12 +4691,12 @@ let
 
   vim-qml = buildVimPluginFrom2Nix {
     pname = "vim-qml";
-    version = "2018-07-22";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "peterhoeg";
       repo = "vim-qml";
-      rev = "8af43da6950ce5483704bb97f5b24471d8ffda1a";
-      sha256 = "1y1xvbfr1ffxyyk3zzf50xn87a85i1zszj4fqlq5ka8zhgdrnhvc";
+      rev = "1af106ef8fcbd096fdadf6f4f3a2b422594836f5";
+      sha256 = "1703zqpaadjji34mmyfzmnwr9jvms63w12lwsrdnqv9h9ag03n7y";
     };
   };
 
@@ -4812,12 +4834,12 @@ let
 
   vim-sensible = buildVimPluginFrom2Nix {
     pname = "vim-sensible";
-    version = "2019-11-13";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sensible";
-      rev = "bb75c2ec73f6b43346e0b159d46de3e304ac7dd6";
-      sha256 = "0zxqm00c0aj5a55m35f42px4d19xbijfiqp6qs2xlqwzjw5na12m";
+      rev = "2d9f34c09f548ed4df213389caa2882bfe56db58";
+      sha256 = "153i3kh44ri046va3qdrbvvsv7gy25fsd9pc2yhrg23lvj169zfp";
     };
   };
 
@@ -4856,12 +4878,12 @@ let
 
   vim-signify = buildVimPluginFrom2Nix {
     pname = "vim-signify";
-    version = "2019-11-12";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-signify";
-      rev = "25f3d4b6faba8febfe67660194a966f3f27a2e9a";
-      sha256 = "0szrwa2cbrvwnawgb5bwkpxms2djgz71b8ib5l2xaw7ds116wvi2";
+      rev = "56db16f8d3825c4d066c2faf05315c2b208cd5f5";
+      sha256 = "0alargsa6sxdxha6jshax7ff6jy8svzc9yxvsh83f8301zx9vmra";
     };
   };
 
@@ -4922,12 +4944,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2019-11-07";
+    version = "2019-12-01";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "5d259617f5198e511a759ccf4fb3000921abae21";
-      sha256 = "1hxk0ab1r25m1mc09lvw6rsg9wrjrl0bgxql8slqpa7mqrkp47rn";
+      rev = "a7a7d4d2dd252b71b904d362ba74572c660da67f";
+      sha256 = "0ys0sczmjpc219hv2wwgcrkyiys21vk66i174axm147h33m3cm4f";
     };
   };
 
@@ -4977,23 +4999,23 @@ let
 
   vim-startify = buildVimPluginFrom2Nix {
     pname = "vim-startify";
-    version = "2019-11-15";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-startify";
-      rev = "a521559d7036c66a8d43287c5c17a48db771ac47";
-      sha256 = "1gnjrixlkrrcxf291cwxiasl3yrnvc6bd56p8pa611z070253xlr";
+      rev = "05122f08c6a553992f7b0a9ad88016a89f51548a";
+      sha256 = "09kg1zf5lmwlksqz11scnjazg5d862fjip48qakjbabf66f23svs";
     };
   };
 
   vim-stylish-haskell = buildVimPluginFrom2Nix {
     pname = "vim-stylish-haskell";
-    version = "2018-08-31";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "nbouscal";
       repo = "vim-stylish-haskell";
-      rev = "0df8a2dd397f232a9ee0e56bc57071ccf29e21bf";
-      sha256 = "05f2ms2c914ycxjjd7csga89mpsk3wzyhi56vikg3nd7a8z54gzw";
+      rev = "ef12ab024cb3928ae57ce7c4fa519c4751afef99";
+      sha256 = "0ysz68v4c2i4kxchsvxgkpj5kb0jbm5x06ri1ns9cmk5gj01pmd6";
     };
   };
 
@@ -5008,14 +5030,25 @@ let
     };
   };
 
+  vim-subversive = buildVimPluginFrom2Nix {
+    pname = "vim-subversive";
+    version = "2019-07-28";
+    src = fetchFromGitHub {
+      owner = "svermeulen";
+      repo = "vim-subversive";
+      rev = "5837cb38f656f120e7a04ae73f749303d78b9191";
+      sha256 = "0n04mxdq80xkjgi75n1c2gg2s6am5kns8rj7pz6dvvlqr4vxyrjf";
+    };
+  };
+
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2019-11-12";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "e4c4cc0f816515fbb7e87076a988604b2d163daa";
-      sha256 = "080wwicibkzll8v6a9mkr6wkibp5cv9wqfwpgy8i8djgbafcvnbz";
+      rev = "f51a26d3710629d031806305b6c8727189cd1935";
+      sha256 = "0aqrqn35xdiy80y7skxfsh3m33n6cdxw6lzz6aspfgzwllx2f0kr";
     };
   };
 
@@ -5076,23 +5109,23 @@ let
 
   vim-terraform = buildVimPluginFrom2Nix {
     pname = "vim-terraform";
-    version = "2019-11-13";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "fd3374f1957d5611f0bc7dc2856a439c03d06ac0";
-      sha256 = "12j95yj1sc61j66mrcbrm0q052rbs0rmsksfyvaxc8q5kxc4dvyz";
+      rev = "bc49ed8a0295cb07fc4ba78b23d6dfcbea548158";
+      sha256 = "0pmmnn1c0pibglmmsm6ljs1s5b03py96pyf6w9nh0ivmr4js8j6c";
     };
   };
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2019-11-06";
+    version = "2019-12-07";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "dcd7995802c7b90555ef6d920289c5d7f063bcb6";
-      sha256 = "1a7k7i75n3qb14fvngkdpwvcyjl7cri2f2v1vi89waf7blmn22ib";
+      rev = "e9e824cf3f22fa1cddabb7ef739f2481436c3924";
+      sha256 = "0nl1b3zzw3w413lmdl4fhm8ia079hr1rz1kpx7sf0i86lx1c0dcv";
     };
   };
 
@@ -5197,12 +5230,12 @@ let
 
   vim-tmux-navigator = buildVimPluginFrom2Nix {
     pname = "vim-tmux-navigator";
-    version = "2019-01-29";
+    version = "2019-12-02";
     src = fetchFromGitHub {
       owner = "christoomey";
       repo = "vim-tmux-navigator";
-      rev = "4e1a877f51a17a961b8c2a285ee80aebf05ccf42";
-      sha256 = "1b8sgbzl4pcpaabqk254n97mjz767ganrmqbsr6rqzz3j9a3s1fv";
+      rev = "b5ae5805db294a72380f77ee82592cd99246272b";
+      sha256 = "0w8fn92k1p99wmhq4dv5w2fb97l0p8ay00qyzydm9lq87w06a939";
     };
   };
 
@@ -5296,12 +5329,12 @@ let
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2019-11-16";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "99d367c4974a9e398943a0f457a8f3994732b050";
-      sha256 = "1cgphcm2fkhvks6bx8f0i54i91pcprisb079sddildnq4lsj895r";
+      rev = "7c1934f91b33f64836d0e0d27e08481849831266";
+      sha256 = "1ga0skivc5p09d29k4gx2gdisalcl9514062ckddphynqn69ghi9";
     };
   };
 
@@ -5329,12 +5362,12 @@ let
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2019-07-27";
+    version = "2019-12-05";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "29d14cca6593a4809a31cfc3565a366d87426daf";
-      sha256 = "1b47fv3jm37yhbg2mwc7kmlsl54dapb4sw9isf1h3mbmgxnvi5p9";
+      rev = "dfc57db34d641315ddf1880b27573dfa07a41872";
+      sha256 = "05fhnw4jdi6wbf14zrmq6gvb7pqxhvmy65kij2zzf0nwyb8l1c09";
     };
   };
 
@@ -5483,12 +5516,12 @@ let
 
   vimproc-vim = buildVimPluginFrom2Nix {
     pname = "vimproc-vim";
-    version = "2019-11-10";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "vimproc.vim";
-      rev = "47b54dd23eeb0a7fa81529d3768b27b979821b30";
-      sha256 = "14nhnbds463iys8ndvyajbskwsi6hjljmmlvic3rbvym2h9mn442";
+      rev = "89065f62883edb10a99aa1b1640d6d411907316b";
+      sha256 = "0699kf269rsyabl49m4n7vsi5bbxk129wq6ml3ykhy9g9m2b8a3k";
     };
   };
 
@@ -5505,12 +5538,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-11-19";
+    version = "2019-12-02";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "ed45b8b8ff5a61f05dea081d3eae98dcaee28857";
-      sha256 = "1sd1315lg6sxydvwhk58kyp5hhdbrzqvkfgy0hvpy7c5h1rlfcjm";
+      rev = "02829dee17a3d70889b5a0151a2f747754a0e2c4";
+      sha256 = "0kkm18mi1am1ww3lb3xqr9v11s057drkv8wpq0l5vqr550iviail";
     };
   };
 
@@ -5648,24 +5681,24 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2019-11-15";
+    version = "2019-11-30";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "c134c9e7595597684609fe2344076a66bbe82a17";
-      sha256 = "1g77j1pbnndyyi9s4yiia5bzd20n7x2fj3m9p7k173hv2n9kf93f";
+      rev = "e9d8813c02b8bdb81b63aeb576b9eaadf0dd4445";
+      sha256 = "1x5950ca4nmsf1129sjd12kcncpv8jf4x80s0y3gwwgr3p7x1m22";
       fetchSubmodules = true;
     };
   };
 
   youcompleteme = buildVimPluginFrom2Nix {
     pname = "youcompleteme";
-    version = "2019-11-19";
+    version = "2019-11-30";
     src = fetchFromGitHub {
       owner = "valloric";
       repo = "youcompleteme";
-      rev = "a7fd70cf7213c75088a47967c3e28aa4f6c47872";
-      sha256 = "0knn6j85k6rpis3riv6j9nvxw7114ddz1fr1p6ayv4mhnyj669rc";
+      rev = "1386c6b3fba94d93576cd344a1cd296c53ad7926";
+      sha256 = "0y4ics5msz1lq3pzqspgf5zgzpqkimngvpzk0zpybs6idgxi05jz";
       fetchSubmodules = true;
     };
   };
@@ -5705,12 +5738,12 @@ let
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig-vim";
-    version = "2019-11-11";
+    version = "2019-12-06";
     src = fetchFromGitHub {
       owner = "zig-lang";
       repo = "zig.vim";
-      rev = "8c9c72cefdb2ad4e8c5d76ab3c9332d045426f9c";
-      sha256 = "1lv0qc0r8f1vnq184gif753x024blnv33f9dkqvbi7mf22b3gz3f";
+      rev = "17d4772e984450b7c54e878d466dd2b3e6419831";
+      sha256 = "1gbpzcwig0g2045a42l1xi1bzm9apgl95l5ixwh8h7jahmkcdzig";
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index b9c599da66c..f3f9b8825e6 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -115,12 +115,12 @@ self: super: {
   # NB: Make sure you pick a rev from the release branch!
   coc-nvim = buildVimPluginFrom2Nix rec {
     pname = "coc-nvim";
-    version = "2019-11-18";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "a12d6833b4611f996528615186af86c3e041ffb6";
-      sha256 = "0rkfhzyf42rbsv8p2337pvkbs3crz1z3vv6ar26sadjg3802118z";
+      rev = "d566fa03807d8d86ce9302680d135198a36c7d4d";
+      sha256 = "0m355w837f61jfpjrhi3h47z7vq16g8yai8kd82v1h71ns5fw9gz";
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/update.py b/pkgs/misc/vim-plugins/update.py
index 92a47bc5d13..0ef93ac569a 100755
--- a/pkgs/misc/vim-plugins/update.py
+++ b/pkgs/misc/vim-plugins/update.py
@@ -21,18 +21,54 @@ import xml.etree.ElementTree as ET
 from datetime import datetime
 from multiprocessing.dummy import Pool
 from pathlib import Path
-from typing import Dict, List, Optional, Tuple, Union, Any
+from typing import Dict, List, Optional, Tuple, Union, Any, Callable
 from urllib.parse import urljoin, urlparse
 from tempfile import NamedTemporaryFile
 
-ATOM_ENTRY = "{http://www.w3.org/2005/Atom}entry"
-ATOM_LINK = "{http://www.w3.org/2005/Atom}link"
-ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated"
+ATOM_ENTRY = "{http://www.w3.org/2005/Atom}entry"  # " vim gets confused here
+ATOM_LINK = "{http://www.w3.org/2005/Atom}link"  # "
+ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated"  # "
 
 ROOT = Path(__file__).parent
 DEFAULT_IN = ROOT.joinpath("vim-plugin-names")
 DEFAULT_OUT = ROOT.joinpath("generated.nix")
 
+import time
+from functools import wraps
+
+
+def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: float = 2):
+    """Retry calling the decorated function using an exponential backoff.
+
+    http://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/
+    original from: http://wiki.python.org/moin/PythonDecoratorLibrary#Retry
+    (BSD licensed)
+
+    :param ExceptionToCheck: the exception on which to retry
+    :param tries: number of times to try (not retry) before giving up
+    :param delay: initial delay between retries in seconds
+    :param backoff: backoff multiplier e.g. value of 2 will double the delay
+        each retry
+    """
+
+    def deco_retry(f: Callable) -> Callable:
+        @wraps(f)
+        def f_retry(*args: Any, **kwargs: Any) -> Any:
+            mtries, mdelay = tries, delay
+            while mtries > 1:
+                try:
+                    return f(*args, **kwargs)
+                except ExceptionToCheck as e:
+                    print(f"{str(e)}, Retrying in {mdelay} seconds...")
+                    time.sleep(mdelay)
+                    mtries -= 1
+                    mdelay *= backoff
+            return f(*args, **kwargs)
+
+        return f_retry  # true decorator
+
+    return deco_retry
+
 
 class Repo:
     def __init__(self, owner: str, name: str) -> None:
@@ -45,9 +81,12 @@ class Repo:
     def __repr__(self) -> str:
         return f"Repo({self.owner}, {self.name})"
 
+    @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def has_submodules(self) -> bool:
         try:
-            urllib.request.urlopen(self.url("blob/master/.gitmodules")).close()
+            urllib.request.urlopen(
+                self.url("blob/master/.gitmodules"), timeout=10
+            ).close()
         except urllib.error.HTTPError as e:
             if e.code == 404:
                 return False
@@ -55,8 +94,9 @@ class Repo:
                 raise
         return True
 
+    @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def latest_commit(self) -> Tuple[str, datetime]:
-        with urllib.request.urlopen(self.url("commits/master.atom")) as req:
+        with urllib.request.urlopen(self.url("commits/master.atom"), timeout=10) as req:
             xml = req.read()
             root = ET.fromstring(xml)
             latest_entry = root.find(ATOM_ENTRY)
@@ -69,7 +109,7 @@ class Repo:
                 updated_tag is not None and updated_tag.text is not None
             ), f"No updated tag found feed entry {xml}"
             updated = datetime.strptime(updated_tag.text, "%Y-%m-%dT%H:%M:%SZ")
-            return Path(url.path).name, updated
+            return Path(str(url.path)).name, updated
 
     def prefetch_git(self, ref: str) -> str:
         data = subprocess.check_output(
@@ -210,20 +250,17 @@ def check_results(
         sys.exit(1)
 
 
-def parse_plugin_line(line: str) -> Tuple[str, str, str]:
+def parse_plugin_line(line: str) -> Tuple[str, str, Optional[str]]:
+    name, repo = line.split("/")
     try:
-        name, repo = line.split("/")
-        try:
-            repo, alias = repo.split(" as ")
-            return (name, repo, alias.strip())
-        except ValueError:
-            # no alias defined
-            return (name, repo.strip(), None)
+        repo, alias = repo.split(" as ")
+        return (name, repo, alias.strip())
     except ValueError:
-        return (None, None, None)
+        # no alias defined
+        return (name, repo.strip(), None)
 
 
-def load_plugin_spec(plugin_file: str) -> List[Tuple[str, str]]:
+def load_plugin_spec(plugin_file: str) -> List[Tuple[str, str, Optional[str]]]:
     plugins = []
     with open(plugin_file) as f:
         for line in f:
@@ -385,7 +422,7 @@ def main() -> None:
 
     try:
         # synchronous variant for debugging
-        # results = map(prefetch_with_cache, plugins)
+        # results = list(map(prefetch_with_cache, plugin_names))
         pool = Pool(processes=30)
         results = pool.map(prefetch_with_cache, plugin_names)
     finally:
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 263f2d2b5dd..17245014844 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -240,6 +240,7 @@ mattn/calendar-vim as mattn-calendar-vim
 mattn/emmet-vim
 mattn/gist-vim
 mattn/webapi-vim
+matze/vim-move
 maximbaz/lightline-ale
 MaxMEllon/vim-jsx-pretty
 mbbill/undotree
@@ -355,6 +356,7 @@ rhysd/vim-grammarous
 rhysd/vim-operator-surround
 Rip-Rip/clang_complete
 rodjek/vim-puppet
+ron89/thesaurus_query.vim
 roxma/nvim-cm-racer
 roxma/nvim-completion-manager
 roxma/nvim-yarp
@@ -400,6 +402,7 @@ slashmili/alchemist.vim
 sonph/onehalf
 stefandtw/quickfix-reflector.vim
 stephpy/vim-yaml
+svermeulen/vim-subversive
 t9md/vim-choosewin
 t9md/vim-smalls
 takac/vim-hardtime
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index ba5002c8c48..8456d64a451 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -12,8 +12,8 @@ let
     #  3. ???
     #  4. Profit
     src = fetchurl {
-      url    = "http://swcdn.apple.com/content/downloads/28/09/091-29862/pafhn2u002b9slnrxzy9p86rpedycnjhb5/DevSDK_OSX1012.pkg";
-      sha256 = "1sggc70rypqwcjwr7ciavw8sczwll16cwqxdxrbw7r2qvy3b0nhx";
+      url    = "http://swcdn.apple.com/content/downloads/33/36/041-90419-A_7JJ4H9ZHO2/xs88ob5wjz6riz7g6764twblnvksusg4ps/DevSDK_OSX1012.pkg";
+      sha256 = "13xq34sb7383b37hwy076gnhf96prpk1b4087p87xnwswxbrisih";
     };
 
     buildInputs = [ xar cpio python pbzx ];
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index 9f9a0c74724..e31f9b91f97 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -14,7 +14,8 @@ in
 
 # TODO: loop over targetPrefixed binaries too
 stdenv.mkDerivation {
-  name = "${targetPrefix}cctools-binutils-darwin";
+  pname = "${targetPrefix}cctools-binutils-darwin";
+  inherit (cctools) version;
   outputs = [ "out" "info" "man" ];
   buildCommand = ''
     mkdir -p $out/bin $out/include
diff --git a/pkgs/os-specific/darwin/cctools/apfs.patch b/pkgs/os-specific/darwin/cctools/apfs.patch
deleted file mode 100644
index 8c6b3c0d273..00000000000
--- a/pkgs/os-specific/darwin/cctools/apfs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/cctools/ld64/src/ld/OutputFile.cpp b/cctools/ld64/src/ld/OutputFile.cpp
-index 8859882..158c7d2 100644
---- a/cctools/ld64/src/ld/OutputFile.cpp
-+++ b/cctools/ld64/src/ld/OutputFile.cpp
-@@ -2786,7 +2786,7 @@ void OutputFile::writeOutputFile(ld::Internal& state)
- #ifdef __APPLE__ // ld64-port
- 			struct statfs fsInfo;
- 			if ( statfs(_options.outputFilePath(), &fsInfo) != -1 ) {
--				if ( strcmp(fsInfo.f_fstypename, "hfs") == 0) {
-+				if ( (strcmp(fsInfo.f_fstypename, "hfs") == 0) || (strcmp(fsInfo.f_fstypename, "apfs") == 0) ) {
- 					(void)unlink(_options.outputFilePath());
- 					outputIsMappableFile = true;
- 				}
-@@ -2814,7 +2814,7 @@ void OutputFile::writeOutputFile(ld::Internal& state)
- #ifdef __APPLE__ // ld64-port
- 			struct statfs fsInfo;
- 			if ( statfs(dirPath, &fsInfo) != -1 ) {
--				if ( strcmp(fsInfo.f_fstypename, "hfs") == 0) {
-+				if ( (strcmp(fsInfo.f_fstypename, "hfs") == 0) || (strcmp(fsInfo.f_fstypename, "apfs") == 0) ) {
- 					outputIsMappableFile = true;
- 				}
- 			}
diff --git a/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
index 265d0d30477..17ad9053f3b 100644
--- a/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
+++ b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
@@ -1,13 +1,14 @@
 diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp
-index 9250016..91d54ec 100644
+index e4b37ec..4189ebc 100644
 --- a/cctools/ld64/src/ld/Options.cpp
 +++ b/cctools/ld64/src/ld/Options.cpp
-@@ -4175,23 +4175,9 @@ void Options::checkIllegalOptionCombinations()
+@@ -5800,24 +5800,6 @@ void Options::checkIllegalOptionCombinations()
+ 	if ( fDeadStrip && (fOutputKind == Options::kObjectFile) )
  		throw "-r and -dead_strip cannot be used together";
  
- 	// can't use -rpath unless targeting 10.5 or later
+-	// can't use -rpath unless targeting 10.5 or later
 -	if ( fRPaths.size() > 0 ) {
--		if ( !minOS(ld::mac10_5, ld::iOS_2_0) )
+-		if ( !platforms().minOS(ld::version2008) )
 -			throw "-rpath can only be used when targeting Mac OS X 10.5 or later";
 -		switch ( fOutputKind ) {
 -			case Options::kDynamicExecutable:
@@ -23,9 +24,6 @@ index 9250016..91d54ec 100644
 -		}
 -	}
 -	
-+	if ( fRPaths.size() > 0 && !minOS(ld::mac10_5, ld::iOS_2_0) )
-+		throw "-rpath can only be used when targeting Mac OS X 10.5 or later";
-+
  	if ( fPositionIndependentExecutable ) {
  		switch ( fOutputKind ) {
  			case Options::kDynamicExecutable:
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index ff8f3eb5e26..1aee5c8c35e 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -18,14 +18,14 @@ assert (!stdenv.hostPlatform.isDarwin) -> maloader != null;
 
 let
   baseParams = rec {
-    name = "${targetPrefix}cctools-port-${version}";
-    version = "895";
+    name = "${targetPrefix}cctools-port";
+    version = "927.0.2";
 
     src = fetchFromGitHub {
       owner  = "tpoechtrager";
       repo   = "cctools-port";
-      rev    = "07619027f8311fa61b4a549c75994b88739a82d8";
-      sha256 = "12g94hhz5v5bmy2w0zb6fb4bjlmn992gygc60h9nai15kshj2spi";
+      rev    = "8239a5211bcf07d6b9d359782e1a889ec1d7cce5";
+      sha256 = "0h8b1my0wf1jyjq63wbiqkl2clgxsf87f6i4fjhqs431fzlq8sac";
     };
 
     outputs = [ "out" "dev" ];
@@ -35,7 +35,7 @@ let
       ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]
       ++ stdenv.lib.optional enableTapiSupport libtapi;
 
-    patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ./apfs.patch ];
+    patches = [ ./ld-ignore-rpath-link.patch ./ld-rpath-nonfinal.patch ];
 
     __propagatedImpureHostDeps = [
       # As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them
@@ -84,12 +84,6 @@ let
       cd cctools
     '';
 
-    # TODO: this builds an ld without support for LLVM's LTO. We need to teach it, but that's rather
-    # hairy to handle during bootstrap. Perhaps it could be optional?
-    preConfigure = ''
-      sh autogen.sh
-    '';
-
     preInstall = ''
       pushd include
       make DSTROOT=$out/include RC_OS=common install
diff --git a/pkgs/os-specific/darwin/libtapi/default.nix b/pkgs/os-specific/darwin/libtapi/default.nix
index e68e77f55af..cac2d97482a 100644
--- a/pkgs/os-specific/darwin/libtapi/default.nix
+++ b/pkgs/os-specific/darwin/libtapi/default.nix
@@ -1,18 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python }:
+{ lib, stdenv, fetchFromGitHub, cmake, python, clang_6 }:
 
 stdenv.mkDerivation {
-  name = "libtapi";
+  name = "libtapi-1000.10.8";
   src = fetchFromGitHub {
     owner = "tpoechtrager";
     repo = "apple-libtapi";
-    rev = "e56673694db395e25b31808b4fbb9a7005e6875f";
-    sha256 = "1lnl1af9sszp9wxfk0wljrpdmwcx83j0w5c0y4qw4pqrdkdgwks7";
+    rev = "cd9885b97fdff92cc41e886bba4a404c42fdf71b";
+    sha256 = "1a19h39a48agvnmal99n9j1fjadiqwib7hfzmn342wmgh9z3vk0g";
   };
 
   nativeBuildInputs = [ cmake python ];
+  buildInputs = [ clang_6.cc ];
 
   preConfigure = ''
-    cd src/apple-llvm/src
+    cd src/llvm
   '';
 
   cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=OFF" ];
diff --git a/pkgs/os-specific/linux/alsa-firmware/default.nix b/pkgs/os-specific/linux/alsa-firmware/default.nix
index 53fcf7d6843..7f0ba5498df 100644
--- a/pkgs/os-specific/linux/alsa-firmware/default.nix
+++ b/pkgs/os-specific/linux/alsa-firmware/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-firmware-1.0.29";
+  name = "alsa-firmware-1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/firmware/${name}.tar.bz2";
-    sha256 = "0gfcyj5anckjn030wcxx5v2xk2s219nyf99s9m833275b5wz2piw";
+    sha256 = "1aq8z8ajpjvcx7bwhwp36bh5idzximyn77ygk3ifs0my3mbpr8mf";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index 2956b107aa7..a5262d6ae9e 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-plugins";
-  version = "1.1.9";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/plugins/${pname}-${version}.tar.bz2";
-    sha256 = "01zrg0h2jw9dlj9233vjsn916yf4f2s667yry6xsn8d57lq745qn";
+    sha256 = "1nj8cpbi05rb62yzs01c1k7lymdn1ch229b599hbhd0psixdx52d";
   };
 
   # ToDo: a52, etc.?
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index 6f23d190318..8b1faf788e5 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-utils";
-  version = "1.1.9";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/utils/${pname}-${version}.tar.bz2";
-    sha256 = "0fi11b7r8hg1bdjw74s8sqx8rc4qb310jaj9lsia9labvfyjrpsx";
+    sha256 = "039c19b7091is0czl9jlrfczp7pp1jpdri0vvc4k07gl3skhn48b";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index f6ad8e2c03b..09d218e8745 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -246,9 +246,9 @@ if test -z "$libsOnly"; then
   ( # build and install fgl_glxgears
     cd fgl_glxgears;
     gcc -DGL_ARB_texture_multisample=1 -g \
-    -I$libGLU_combined/include \
+    -I$libGL/include -I$libGLU/include \
     -I$out/include \
-    -L$libGLU_combined/lib -lGL -lGLU -lX11 -lm \
+    -L$libGL/lib -L$libGLU/lib -lGL -lGLU -lX11 -lm \
     -o $out/bin/fgl_glxgears -Wall fgl_glxgears.c
   )
 
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index b79054d4406..a391f73391f 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, kernel ? null, which
 , xorg, makeWrapper, glibc, patchelf, unzip
-, fontconfig, freetype, libGLU_combined # for fgl_glxgears
+, fontconfig, freetype, libGLU, libGL # for fgl_glxgears
 , # Whether to build the libraries only (i.e. not the kernel module or
   # driver utils). Used to support 32-bit binaries on 64-bit
   # Linux.
@@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
       xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE
       patchelf
       unzip
-      libGLU_combined
+      libGLU libGL
       fontconfig
       freetype
       makeWrapper
@@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
   LD_LIBRARY_PATH = makeLibraryPath
     [ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM
       xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE
-      libGLU_combined
+      libGLU libGL
       fontconfig
       freetype
       stdenv.cc.cc
@@ -122,7 +122,7 @@ stdenv.mkDerivation rec {
                    xorg.libX11.out xorg.libXinerama.out xorg.libSM.out
                    xorg.libICE.out ];
 
-  inherit libGLU_combined; # only required to build the examples
+  inherit libGLU libGL; # only required to build the examples
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 4a569e1e1c3..dab95049643 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -61,6 +61,6 @@ stdenv.mkDerivation rec {
     homepage = https://people.redhat.com/sgrubb/audit/;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/bpftrace/default.nix b/pkgs/os-specific/linux/bpftrace/default.nix
index 02a46e5a776..9eb9c53b8dd 100644
--- a/pkgs/os-specific/linux/bpftrace/default.nix
+++ b/pkgs/os-specific/linux/bpftrace/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bpftrace";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner  = "iovisor";
     repo   = "bpftrace";
     rev    = "refs/tags/v${version}";
-    sha256 = "19lblnhx3p0qk8s3qgxrx9wl0d6dgz5dfp4gw6a6cvhhyn78cldm";
+    sha256 = "1qkfbmksdssmm1qxcvcwdql1pz8cqy233195n9i9q5dhk876f75v";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/cpupower/default.nix b/pkgs/os-specific/linux/cpupower/default.nix
index 1b307da8cb8..601810f2600 100644
--- a/pkgs/os-specific/linux/cpupower/default.nix
+++ b/pkgs/os-specific/linux/cpupower/default.nix
@@ -14,7 +14,11 @@ stdenv.mkDerivation {
     sed -i 's,/usr/bin/install,${buildPackages.coreutils}/bin/install,' Makefile
   '';
 
-  makeFlags = [ "CROSS=${stdenv.cc.targetPrefix}" ];
+  makeFlags = [
+    "CROSS=${stdenv.cc.targetPrefix}"
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "LD=${stdenv.cc.targetPrefix}cc"
+  ];
 
   installFlags = stdenv.lib.mapAttrsToList
     (n: v: "${n}dir=${placeholder "out"}/${v}") {
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index 542d99eeabe..2aa928e8119 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/hdparm/;
     platforms = platforms.linux;
     license = licenses.bsd2;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
   };
 
 }
diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix
index 41d7f236682..b1251a4396f 100644
--- a/pkgs/os-specific/linux/hostapd/default.nix
+++ b/pkgs/os-specific/linux/hostapd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hostapd";
-  version = "2.8";
+  version = "2.9";
 
   src = fetchurl {
     url = "https://w1.fi/releases/${pname}-${version}.tar.gz";
-    sha256 = "1c74rrazkhy4lr7pwgwa2igzca7h9l4brrs7672kiv7fwqmm57wj";
+    sha256 = "1mrbvg4v7vm7mknf0n29mf88k3s4a4qj6r4d51wq8hmjj1m7s7c8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
     CONFIG_INTERNETWORKING=y
     CONFIG_HS20=y
     CONFIG_ACS=y
+    CONFIG_GETRANDOM=y
   '' + stdenv.lib.optionalString (sqlite != null) ''
     CONFIG_SQLITE=y
   '';
diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
index 5021d12acec..d8aefd02e7f 100644
--- a/pkgs/os-specific/linux/intel-compute-runtime/default.nix
+++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-compute-runtime";
-  version = "19.34.13959";
+  version = "19.44.14658";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "compute-runtime";
     rev = version;
-    sha256 = "1m54w5p5pilrkmlmqgvgrsm3d5dqfdr4jai5siq5ccsqj4gnv1wz";
+    sha256 = "1pl7yhmgzf7r2b8jyxzmwdc7772gd24izy2z2g4n5s205s125k7x";
   };
 
   # Build script tries to write the ICD to /etc
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index d30ac5e62bb..b8b46b33e96 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iproute2";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0gvv269wjn4279hxr5zzwsk2c5qgswr47za3hm1x4frsk52iw76b";
+    sha256 = "1bl6c3af7wbgi6nqjfm32fkhqh63iphkg2g11f1srifll1ham5zy";
   };
 
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index 57255b4a382..4463e689851 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "ipset-7.3";
+  name = "ipset-7.4";
 
   src = fetchurl {
     url = "http://ipset.netfilter.org/${name}.tar.bz2";
-    sha256 = "0nm3vagr1pb5hr1028qrwx6v6s8bxf1m4qjx72vak42y032wfi26";
+    sha256 = "110q996yrf74ckpkc5f4pn8j5bqq98f27fsak3ibgr3zwmv435sa";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/iw/default.nix b/pkgs/os-specific/linux/iw/default.nix
index ad965f95c94..930f77437ac 100644
--- a/pkgs/os-specific/linux/iw/default.nix
+++ b/pkgs/os-specific/linux/iw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iw";
-  version = "5.3";
+  version = "5.4";
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1m85ap8hwzfs7xf9r0v5d55ra4mhw45f6vclc7j6gsldpibyibq4";
+    sha256 = "0prrgb11pjrr6dw71v7nx2bic127qzrjifvz183v3mw8f1kryim2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index 2ee5629451e..2d9554a4894 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -13,12 +13,12 @@
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchgit {
     url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
     rev = version;
-    sha256 = "1rvsr5i79wpdicghplrxamb4qbkdm5cpgw3mk0rsqzwwj6d6l0vs";
+    sha256 = "10fwi31ym6hvn0vvh9fy0swzs3mfnpcwg95np4i5ksmw8k0kj0hf";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 1699324546d..fb2b9068921 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -58,7 +58,7 @@ let
     + '' mkdir -p $out/include/config
       echo "${version}-default" > $out/include/config/kernel.release
     ''
-    # These oddly named file records teh `SHELL` passed, which causes bootstrap
+    # These oddly named file records the `SHELL` passed, which causes bootstrap
     # tools run-time dependency.
     + ''
       find "$out" -name '..install.cmd' -print0 | xargs -0 rm
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 736e872f1ba..8158865ab29 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -363,6 +363,7 @@ let
       SECURITY_APPARMOR                = yes;
       DEFAULT_SECURITY_APPARMOR        = yes;
 
+      SECURITY_LOCKDOWN_LSM            = whenAtLeast "5.4" yes;
     } // optionalAttrs (!stdenv.hostPlatform.isAarch32) {
 
       # Detect buffer overflows on the stack
@@ -739,6 +740,9 @@ let
     } // optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") {
       # Enables support for the Allwinner Display Engine 2.0
       SUN8I_DE2_CCU = whenAtLeast "4.13" yes;
+
+      # See comments on https://github.com/NixOS/nixpkgs/commit/9b67ea9106102d882f53d62890468071900b9647
+      CRYPTO_AEGIS128_SIMD = no;
     };
   };
 in
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 34654643c33..d57953bbb72 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.156";
+  version = "4.14.158";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1h47fxfbq0d5ry7j3jxz45v5c4103qncgm2vydpz6zdx1kmrz27q";
+    sha256 = "1cqvr8pgqx005a9qyphqykakzwc54adq8mmdc9sgrxkkw9rfqj8d";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index f71ef185199..a81f24ae934 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.86";
+  version = "4.19.88";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1xmzcxsiydym574y7k313qd8s4c3mdahpb3nx3cingfl36ivnb5z";
+    sha256 = "1gizkdmq46ykw7ya3hibd6lalww2kvsia346pq3xvrk6s5mkp4n1";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 19a393cbc7c..199a85f7f4b 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/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.203";
+  version = "4.4.206";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "02krniihix9mb9bc0ffs03q4i9grjhwymnfp10h1r6gmxa554qlj";
+    sha256 = "14ylg9cm7z12mvkzg8z92gsw0libw9xz392ayzw0d9cgw1py39ax";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 94ba9ae6abd..885063c570a 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/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.203";
+  version = "4.9.206";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0jd8n8y3yf59sgfjhgjxsznxng7s4b30x5vdb48wrpgqmz7m1n8w";
+    sha256 = "1mnabj0d5ra40hijwynnzxnh5w1qnvkvj2l3ydsdhkdwm6cpiwhx";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix
index 25cdab9c7be..e5c3b29ed42 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.3.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.3.13";
+  version = "5.3.15";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0by9lmgmllf19yflzm9f24cy9glcq6m73ywm25bddsnh0czya14z";
+    sha256 = "15qidl06lyfylx1b43b4wz2zfkr4000bkr7ialslmb7yi7mamj6f";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 7745fc8099f..cfeeabc4697 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.4";
+  version = "5.4.2";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "14glqppn90z79b36k4c76mv90q933i2bg54rgwlcl2v7n608jcxz";
+    sha256 = "0mx50cp61kajya3lfcksw7wksq7ihkqzrzszf4bb19kwhxb85y9j";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 1e5c987d508..37b728bde88 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto, makeWrapper
+{ lib, stdenv, kernel, elfutils, python2, python3, perl, newt, slang, asciidoc, xmlto, makeWrapper
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils
 , libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl
 , zlib, withGtk ? false, gtk2 ? null
@@ -36,12 +36,13 @@ stdenv.mkDerivation {
   # perf refers both to newt and slang
   nativeBuildInputs = [
     asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt
-    flex bison libiberty audit makeWrapper pkgconfig python perl
+    flex bison libiberty audit makeWrapper pkgconfig
   ];
   buildInputs = [
     elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl
-    libopcodes
-  ] ++ stdenv.lib.optional withGtk gtk2;
+    libopcodes python3 perl
+  ] ++ stdenv.lib.optional withGtk gtk2
+    ++ (if (versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ]);
 
   # Note: we don't add elfutils to buildInputs, since it provides a
   # bad `ld' and other stuff.
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 7d6ee61030c..792cd32d654 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "keyutils";
-  version = "1.6";
+  version = "1.6.1";
 
   src = fetchurl {
-    url = "https://people.redhat.com/dhowells/keyutils/${pname}-${version}.tar.bz2";
-    sha256 = "05bi5ja6f3h3kdi7p9dihlqlfrsmi1wh1r2bdgxc0180xh6g5bnk";
+    url = "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/${pname}-${version}.tar.gz";
+    sha256 = "0mzmw8c7gqmqaxm3sa0xki8ycjla47xxhqg0yh17pl00d7ydqw9w";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index 433506e5c39..052ab3061c1 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, autoreconfHook, pkgconfig
-, libxslt, xz, elf-header }:
+, libxslt, xz, elf-header
+, withStatic ? false }:
 
 let
   systems = [ "/run/current-system/kernel-modules" "/run/booted-system/kernel-modules" "" ];
@@ -21,10 +22,11 @@ in stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
     "--with-xz"
     "--with-modulesdirs=${modulesDirs}"
-  ];
+  ] ++ lib.optional withStatic "--enable-static";
 
   patches = [ ./module-dir.patch ]
-    ++ lib.optional stdenv.isDarwin ./darwin.patch;
+    ++ lib.optional stdenv.isDarwin ./darwin.patch
+    ++ lib.optional withStatic ./enable-static.patch;
 
   postInstall = ''
     for prog in rmmod insmod lsmod modinfo modprobe depmod; do
diff --git a/pkgs/os-specific/linux/kmod/enable-static.patch b/pkgs/os-specific/linux/kmod/enable-static.patch
new file mode 100644
index 00000000000..8308c655792
--- /dev/null
+++ b/pkgs/os-specific/linux/kmod/enable-static.patch
@@ -0,0 +1,12 @@
+diff --git a/configure.ac b/configure.ac
+index ee72283..b42c42a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,6 @@ AM_SILENT_RULES([yes])
+ LT_INIT([disable-static pic-only])
+ DOLT
+ 
+-AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])])
+ AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])])
+ 
+ #####################################################################
diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix
index 0fff816eac7..fd16acaa3a9 100644
--- a/pkgs/os-specific/linux/kmscon/default.nix
+++ b/pkgs/os-specific/linux/kmscon/default.nix
@@ -4,7 +4,7 @@
 , systemd
 , libxkbcommon
 , libdrm
-, libGLU_combined
+, libGLU, libGL
 , pango
 , pixman
 , pkgconfig
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     systemd
     libxkbcommon
     libdrm
-    libGLU_combined
+    libGLU libGL
     pango
     pixman
     pkgconfig
diff --git a/pkgs/os-specific/linux/libaio/default.nix b/pkgs/os-specific/linux/libaio/default.nix
index fef7a3236b3..090bf6a566a 100644
--- a/pkgs/os-specific/linux/libaio/default.nix
+++ b/pkgs/os-specific/linux/libaio/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = http://lse.sourceforge.net/io/aio.html;
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.lgpl21;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/os-specific/linux/libratbag/default.nix b/pkgs/os-specific/linux/libratbag/default.nix
index f2bf5c94970..2f92b316003 100644
--- a/pkgs/os-specific/linux/libratbag/default.nix
+++ b/pkgs/os-specific/linux/libratbag/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libratbag";
-  version = "0.10";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner  = "libratbag";
     repo   = "libratbag";
     rev    = "v${version}";
-    sha256 = "10hahpv2n48b5z35d2draka7cz1a9vw53rvwfmpp5dibwnmi81jb";
+    sha256 = "1fcdcs4i83yic4rp3dsr7rq040f78lh8fb1ni1nnvp3y78fmibmi";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index 2f073631804..13bdbcc19f6 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mcelog";
-  version = "165";
+  version = "166";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "1g242qz3jj7amgar497bbd8krljspwy89g1r32wz3fdpkn9m1w8s";
+    sha256 = "0q76lf5yrjq7b96ynj5dbf9ll94ymiab1b9106xpb4vbiwz0ia7w";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index 4ada201263f..70b2580b664 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20191113";
+  version = "20191115";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    sha256 = "04138j9n14197ybkh2vxfjy21wcgvbd183ya4b6k262y9nzjmvsa";
+    sha256 = "0pzi5qmrcrdf6nsds4bvyq1hnvv9d1dlrvqrbzcrpxk84rcjwq1x";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     description = "Microcode for Intel processors";
     license = licenses.unfreeRedistributableFirmware;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ andir ];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index e3affca1220..f1053cd994f 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -20,25 +20,25 @@ if ((!lib.versionOlder args.version "391")
 in
 rec {
   # Policy: use the highest stable version as the default (on our master).
-  stable = if stdenv.hostPlatform.system == "x86_64-linux" then stable_43x else legacy_390;
+  stable = if stdenv.hostPlatform.system == "x86_64-linux"
+    then generic {
+      version = "440.36";
+      sha256_64bit = "0nbdldwizb802w4x0rqnyb1p7iqz5nqiahqr534n5ihz21a6422h";
+      settingsSha256 = "07hnl3bq76vsl655ipfx9v4zxjq0nc5hp43dk49nny4pi6ly06p1";
+      persistencedSha256 = "08zm1i5sax16xfhkivkmady0yy5argmxv846x21q98ry1ic6cp6w";
+    }
+    else legacy_390;
 
   # No active beta right now
   beta = stable;
 
-  stable_43x = generic {
-    version = "435.21";
-    sha256_64bit = "0v3pq677ab01qdmwl5dawk8hn39qlwj05p8s9qzh9irmrlnc1izs";
-    settingsSha256 = "1p13cz79kncwx5067a3d7dbz6a1ibp611zynp1qdxpa65hwp2pxa";
-    persistencedSha256 = "0br8znxhz2ryzdj0j4jhqzvdgw9h899q8yz0p9429xz4wxkavgdr";
-  };
-
   # Last one supporting x86
   legacy_390 = generic {
-    version = "390.129";
-    sha256_32bit = "0dkgkp0zx40hf1fsq5xnvbschp7r3c1x1pnpdxna24pi4s62cm2q";
-    sha256_64bit = "0h0jcckqpd63vaj95lvdgj2sbbn9y1ri1xx7r2snxfx0plhwz46n";
-    settingsSha256 = "1w5nkxs7a40mq0qf97nhfazdqhfn1bvr54v50s8p0ggixb6vdm3l";
-    persistencedSha256 = "02v76202qcnh8hvg4y9wmk9swdlv7z39ppfd1c850nlv158vn5nf";
+    version = "390.132";
+    sha256_32bit = "0xgjywzkmmm6a5gby67l2kx0gn7bcxksv4wam0sqym6l1s7v5bai";
+    sha256_64bit = "0qgzsajrc3xkf2jjkwip3la0f2ixp45f76nmz5cphvzrb7k2slxn";
+    settingsSha256 = "07nylqzhldq1gr40q7x5424p2aml3qqnvl2zvnpzc65x2way34v6";
+    persistencedSha256 = "0vab5rj9b1n9yl9674q7i88w1i5p8nhvrwsayn7i1vh4wp3m840r";
   };
 
   legacy_340 = generic {
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix
index 090b9d7183d..34e2591d44a 100644
--- a/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "open-iscsi";
-  version = "2.0.878";
+  version = "2.1.0";
 
   nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ];
   buildInputs = [ kmod openisns.lib openssl systemd utillinux ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "open-iscsi";
     repo = "open-iscsi";
     rev = version;
-    sha256 = "0hkprlni0z1zdkrmhd897knyfws0l95bz67fgp0vvf63ag08b5ly";
+    sha256 = "0z7rnbfa48j3r4ij7335xgjfb835gnnp10v7q6lvwg7bq6v5xvih";
   };
 
   DESTDIR = "$(out)";
@@ -30,6 +30,10 @@ stdenv.mkDerivation rec {
     $out/sbin/iscsistart -v
   '';
 
+  postFixup = ''
+    sed -i "s|/sbin/iscsiadm|$out/bin/iscsiadm|" $out/bin/iscsi_fw_login
+  '';
+
   meta = with stdenv.lib; {
     description = "A high performance, transport independent, multi-platform implementation of RFC3720";
     license = licenses.gpl2;
diff --git a/pkgs/os-specific/linux/pktgen/default.nix b/pkgs/os-specific/linux/pktgen/default.nix
index 157bd02a06c..fd57fa6e37c 100644
--- a/pkgs/os-specific/linux/pktgen/default.nix
+++ b/pkgs/os-specific/linux/pktgen/default.nix
@@ -3,9 +3,7 @@
 , gtk2, which, withGtk ? false
 }:
 
-let
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "pktgen";
   version = "3.7.2";
 
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index 413b7d5dcbd..999df37706d 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "psmisc";
-  version = "23.2";
+  version = "23.3";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d90wmibxpkl0d7sdibvvkwpyxyg6m6ksh5gwrjh15vf1swvd5i1";
+    sha256 = "1132xvrldv0dar2mf221mv5kvajq0v6yrq8k3nl0wslnh5baa0r0";
   };
 
   nativeBuildInputs = [ autoconf automake gettext ];
diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix
index c078fb18c4e..1635dc064be 100644
--- a/pkgs/os-specific/linux/reptyr/default.nix
+++ b/pkgs/os-specific/linux/reptyr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, python2 }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, python2 }:
 
 stdenv.mkDerivation rec {
   version = "0.7.0";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "1hnijfz1ab34j2h2cxc3f43rmbclyihgn9x9wxa7jqqgb2xm71hj";
   };
 
+  patches = [
+    # Fix tests hanging
+    (fetchpatch {
+      url = "https://github.com/nelhage/reptyr/commit/bca3070ac0f3888b5d37ee162505be81b3b496ff.patch";
+      sha256 = "0w6rpv9k4a80q0ijzdq5hlpr37ncr284piqjv5agy8diniwlilab";
+    })
+  ];
+
   makeFlags = [ "PREFIX=" "DESTDIR=$(out)" ];
 
   checkInputs = [ (python2.withPackages (p: [ p.pexpect ])) ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index d14985d07ed..3cc976a909d 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -30,7 +30,7 @@ let gnupg-minimal = gnupg.override {
   bzip2 = null;
 };
 in stdenv.mkDerivation {
-  version = "243";
+  version = "243.3";
   pname = "systemd";
 
   # When updating, use https://github.com/systemd/systemd-stable tree, not the development one!
@@ -38,8 +38,8 @@ in stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "systemd";
-    rev = "d25cf413c6bff1b5a9d216a8830e3a90c9cad1de";
-    sha256 = "0ilvrnh3m7g0yflxl16fk52gkb1z0fwwk9ba5gs4005nzpl0c7i0";
+    rev = "491a247eff9b7ce1e5877f5f3431517c95f3222f";
+    sha256 = "1xqiahapg480m165glrwqbfmc1fxw5sacdlm933cwyi1q8x4537g";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/pkgs/os-specific/linux/tomb/default.nix b/pkgs/os-specific/linux/tomb/default.nix
index 9fde8406024..4a47ed8868d 100644
--- a/pkgs/os-specific/linux/tomb/default.nix
+++ b/pkgs/os-specific/linux/tomb/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tomb";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner  = "dyne";
     repo   = "Tomb";
     rev    = "v${version}";
-    sha256 = "0pr0lw1byxwkgv857zfmd8yqa03a7mckhzklrf9rkv1l6nisz0z0";
+    sha256 = "1vzkpzci6cp1r1q2n34pcgcns78i726k8d89dd6pibyj0vfnkl57";
   };
 
   buildInputs = [ sudo zsh pinentry ];
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index d787acae61b..ab7f65925ee 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -52,12 +52,14 @@ stdenv.mkDerivation {
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--with-systemdutildir=${placeholder "out"}/lib/systemd"
     "--with-udevrulesdir=${placeholder "out"}/lib/udev/rules.d"
+    "--sysconfdir=/etc"
   ];
 
   doCheck = false; # fails with "env: './linux/integration-test': No such file or directory"
 
   installFlags = [
     "historydir=$(TMPDIR)/foo"
+    "sysconfdir=${placeholder "out"}/etc"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/usbguard/default.nix b/pkgs/os-specific/linux/usbguard/default.nix
index a9983561345..3b4c1c4b665 100644
--- a/pkgs/os-specific/linux/usbguard/default.nix
+++ b/pkgs/os-specific/linux/usbguard/default.nix
@@ -12,14 +12,14 @@ with stdenv.lib;
 assert libgcrypt != null -> libsodium == null;
 
 stdenv.mkDerivation rec {
-  version = "0.7.5";
+  version = "0.7.6";
   pname = "usbguard";
 
   repo = "https://github.com/USBGuard/usbguard";
 
   src = fetchurl {
     url = "${repo}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0jj56sls13ryfgz6vajq8p4dm3grgb6rf2cmga6sckmzd4chk65b";
+    sha256 = "0gzhs8s4aka86mkcjib36z54si939ki4bmk46p6v8kln1fixad3j";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index c63b234031b..6d2bf10cd91 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -2,11 +2,11 @@
 
 let
   name = "qpid-cpp-${version}";
-  version = "1.37.0";
+  version = "1.38.0";
 
   src = fetchurl {
     url = "mirror://apache/qpid/cpp/${version}/${name}.tar.gz";
-    sha256 = "1s4hyi867i0lqn81c1crrk6fga1gmsv61675vjv5v41skz56lrsb";
+    sha256 = "1q7nsl9g8xv81ymhpkdp9mlw3gkzba62gggp3b72f0ywpc3kc3cz";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index d7fb5b55468..4d403e7d938 100644
--- a/pkgs/servers/atlassian/confluence.nix
+++ b/pkgs/servers/atlassian/confluence.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-confluence";
-  version = "7.0.2";
+  version = "7.0.3";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz";
-    sha256 = "00ma2l6gknlpaf2k26md9fskgzcllky3vv89sb1izsrxl8la1dhq";
+    sha256 = "1anmhfdy4q74wchzha8fd2bd5hx0a2v3bgp9p5yvb8cal31zqcpd";
   };
 
   buildPhase = ''
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index bb1f4ac8538..2eca465bfd2 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "caddy";
-  version = "1.0.3";
+  version = "1.0.4";
 
   goPackagePath = "github.com/caddyserver/caddy";
 
@@ -12,9 +12,9 @@ buildGoModule rec {
     owner = "caddyserver";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1n7i9w4vva5x5wry7gzkyfylk39x40ykv7ypf1ca3zbbk7w5x6mw";
+    sha256 = "0mqbaa9cshrqm5fggm5l5nzcnv8c9dvylcc4z7qj3322vl5cpfdc";
   };
-  modSha256 = "0np0mbs0mrn8scqa0dgvi7ya1707b3883prdaf1whsqrcr71ig8q";
+  modSha256 = "0f08smcnzmrj3v43v0qgyd11qwdbymbl86c9prais6sykgh1ld97";
 
   preBuild = ''
     cat << EOF > caddy/main.go
@@ -28,9 +28,9 @@ buildGoModule rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://caddyserver.com;
+    homepage = "https://caddyserver.com";
     description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
     license = licenses.asl20;
-    maintainers = with maintainers; [ rushmorem fpletz zimbatm ];
+    maintainers = with maintainers; [ rushmorem fpletz zimbatm filalex77 ];
   };
 }
diff --git a/pkgs/servers/caddy/v2.nix b/pkgs/servers/caddy/v2.nix
new file mode 100644
index 00000000000..c0b2134abde
--- /dev/null
+++ b/pkgs/servers/caddy/v2.nix
@@ -0,0 +1,25 @@
+{ stdenv, callPackage, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "caddy";
+  version = "2.0.0-beta10";
+
+  goPackagePath = "github.com/caddyserver/caddy";
+
+  subPackages = [ "cmd/caddy" ];
+
+  src = fetchFromGitHub {
+    owner = "caddyserver";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1vagcw6ibri4nbx1n60xp7rffcfr64a2202hjaijyjzc8wcl80na";
+  };
+  modSha256 = "1sb8w6n84cpya2rjm0zm798kzf5vjpkr5440j1gfnnnr07jl2aqn";
+
+  meta = with stdenv.lib; {
+    homepage = "https://caddyserver.com";
+    description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 40a116f5665..e13967d7af1 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -10,11 +10,11 @@ assert enablePython -> python3 != null;
 
 stdenv.mkDerivation rec {
   pname = "bind";
-  version = "9.14.7";
+  version = "9.14.8";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/bind9/${version}/${pname}-${version}.tar.gz";
-    sha256 = "07998nx0yv3xy8c62b1ira9qygsgvpljwcgb47ypzxq8b57gb86f";
+    sha256 = "0xm0xrpgxq6gk6r6aa2w0lygnq02y1p614dmyjdmlsfnrrsslig5";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 3fe8499a58c..d996d646d22 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -23,11 +23,11 @@ exportLuaPathsFor = luaPkgs: ''
 
 unwrapped = stdenv.mkDerivation rec {
   pname = "knot-resolver";
-  version = "4.2.2";
+  version = "4.3.0";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-resolver/${pname}-${version}.tar.xz";
-    sha256 = "03b68dff16429aed7a5b0cea7189276c8056e8ecd567b678c2595d48d9a51458";
+    sha256 = "0ca0f171ae2b2d76830967a5150eb0fa496b48b2a48f41b2be65d3743aaece25";
   };
 
   # https://gitlab.labs.nic.cz/knot/knot-resolver/issues/496
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 531e00e578f..b6a405f6d2d 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1ys608jyp5scc957q4brm094c97sxlwymina7d2nvzi51aa37cw3";
+    sha256 = "1664wpglrwqk627xma10f9qa652vzmf90gsjd8pribyj74xrczc1";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/documize-community/default.nix b/pkgs/servers/documize-community/default.nix
index 2cc6b2a9f74..40dc4162161 100644
--- a/pkgs/servers/documize-community/default.nix
+++ b/pkgs/servers/documize-community/default.nix
@@ -1,37 +1,26 @@
-{ lib, buildGoPackage, fetchFromGitHub, go-bindata, go-bindata-assetfs }:
+{ lib, buildGoModule, fetchFromGitHub, go-bindata, go-bindata-assetfs }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "documize-community";
-  version = "3.5.0";
+  version = "3.5.2";
 
   src = fetchFromGitHub {
     owner = "documize";
     repo = "community";
     rev = "v${version}";
-    sha256 = "1y38lgkxhyrga44wj216vl08fzyv8wbk02a85flnihrb4b1092x0";
+    sha256 = "0wi85ag5n49zqs68gznifza8qv8zkg9l8z1q6ckkvbkl2f3zpdl5";
   };
 
-  goPackagePath = "github.com/documize/community";
+  modSha256 = "1z0v7n8klaxcqv7mvzf3jzgrp78zb4yiibx899ppk6i5qnj4xiv0";
 
   buildInputs = [ go-bindata-assetfs go-bindata ];
 
-  buildPhase = ''
-    runHook preBuild
+  subPackages = [ "edition/community.go" ];
 
-    pushd go/src/github.com/documize/community
-    GO111MODULE=off go build -gcflags="all=-trimpath=$GOPATH" -o bin/documize ./edition/community.go
-    popd
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $bin/bin
-    cp go/src/github.com/documize/community/bin/documize $bin/bin
-
-    runHook postInstall
+  postInstall = ''
+    # `buildGoModule` calls `go install` (without `go build` first), so
+    # `-o bin/documize` doesn't work.
+    mv $out/bin/community $out/bin/documize
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index eeea3298ecd..cbd71085340 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -43,11 +43,11 @@ assert withRest -> curl != null && withJson;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "freeradius";
-  version = "3.0.19";
+  version = "3.0.20";
 
   src = fetchurl {
     url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz";
-    sha256 = "0v5b46rq878093ff549ijccy98md1l7l4rvshjxs672il0zvq5i4";
+    sha256 = "0zrnlpril8lcnyd6zz0wy45wj5i2k2krcf42dwa0rldjsjh6nazp";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/servers/gotify/default.nix b/pkgs/servers/gotify/default.nix
index 06663a87bcd..cce37fd8e6b 100644
--- a/pkgs/servers/gotify/default.nix
+++ b/pkgs/servers/gotify/default.nix
@@ -10,13 +10,15 @@
 
 buildGoModule rec {
   pname = "gotify-server";
-  version = "2.0.10";
+  # Note that when this is updated, along with the hash, the `ui.nix` file
+  # should include the same changes to the version and the sha256.
+  version = "2.0.11";
 
   src = fetchFromGitHub {
     owner = "gotify";
     repo = "server";
     rev = "v${version}";
-    sha256 = "0f7y6gkxikdfjhdxplkv494ss2b0fqmibd2kl9nifabggfz5gjal";
+    sha256 = "0zrylyaxy1cks1wlzyf0di8in2braj4pfriyqa24vipwrlnhvgs6";
   };
 
   modSha256 = "19mghbs1jasb7vxdw13mmwsbk5sfg3y2vvddr73c82lq0f8g2iha";
diff --git a/pkgs/servers/gotify/ui.nix b/pkgs/servers/gotify/ui.nix
index e1277a2db21..a47e5279585 100644
--- a/pkgs/servers/gotify/ui.nix
+++ b/pkgs/servers/gotify/ui.nix
@@ -8,13 +8,13 @@ yarn2nix-moretea.mkYarnPackage rec {
   packageJSON = ./package.json;
   yarnNix = ./yarndeps.nix;
 
-  version = "2.0.8";
+  version = "2.0.11";
 
   src_all = fetchFromGitHub {
     owner = "gotify";
     repo = "server";
     rev = "v${version}";
-    sha256 = "17bxs3wcazrxippf3i9w7d2mq8lf0v5m4bn3nl2zb8v8dl3lsc9a";
+    sha256 = "0zrylyaxy1cks1wlzyf0di8in2braj4pfriyqa24vipwrlnhvgs6";
   };
   src = "${src_all}/ui";
 
diff --git a/pkgs/servers/gotify/yarndeps.nix b/pkgs/servers/gotify/yarndeps.nix
index 02886c27f04..0e81e890a9f 100644
--- a/pkgs/servers/gotify/yarndeps.nix
+++ b/pkgs/servers/gotify/yarndeps.nix
@@ -706,6 +706,14 @@
       };
     }
     {
+      name = "_babel_runtime___runtime_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz";
+        sha1 = "935122c74c73d2240cafd32ddb5fc2a6cd35cf1f";
+      };
+    }
+    {
       name = "_babel_template___template_7.4.4.tgz";
       path = fetchurl {
         name = "_babel_template___template_7.4.4.tgz";
@@ -890,11 +898,11 @@
       };
     }
     {
-      name = "_material_ui_icons___icons_4.4.3.tgz";
+      name = "_material_ui_icons___icons_4.5.1.tgz";
       path = fetchurl {
-        name = "_material_ui_icons___icons_4.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.4.3.tgz";
-        sha1 = "5d4346ddbb2673a1b57ebc78fd6d50bcd88711db";
+        name = "_material_ui_icons___icons_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.5.1.tgz";
+        sha1 = "6963bad139e938702ece85ca43067688018f04f8";
       };
     }
     {
diff --git a/pkgs/servers/gotty/default.nix b/pkgs/servers/gotty/default.nix
index da24b0a0e26..a9cf6c1da47 100644
--- a/pkgs/servers/gotty/default.nix
+++ b/pkgs/servers/gotty/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "gotty";
-  version = "0.0.13";
+  version = "2.0.0-alpha.3";
   rev = "v${version}";
 
   goPackagePath = "github.com/yudai/gotty";
@@ -11,11 +11,9 @@ buildGoPackage rec {
     inherit rev;
     owner = "yudai";
     repo = "gotty";
-    sha256 = "1hsfjyjjzr1zc9m8bnhid1ag6ipcbx59111y9p7k8az8jiyr112g";
+    sha256 = "1vhhs7d4k1vpkf2k69ai2r3bp3zwnwa8l9q7vza0rck69g4nmz7a";
   };
 
-  goDeps = ./deps.nix;
-
   meta = with stdenv.lib; {
     description = "Share your terminal as a web application";
     homepage = https://github.com/yudai/gotty;
diff --git a/pkgs/servers/gotty/deps.nix b/pkgs/servers/gotty/deps.nix
deleted file mode 100644
index 4f59dc414c4..00000000000
--- a/pkgs/servers/gotty/deps.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "a622679ebd7a3b813862379232f645f8e690e43f";
-      sha256 = "1nc9jbcmgya1i6dmf6sbcqsnxi9hbjg6dz1z0k7zmc6xdwlq0y4q";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pty";
-      rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
-      sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
-    };
-  }
-  {
-    goPackagePath = "github.com/braintree/manners";
-    fetch = {
-      type = "git";
-      url = "https://github.com/braintree/manners";
-      rev = "cab36f97339b1925cd89e158632728025557e550";
-      sha256 = "1q508c62iiklghkhwqz9c0zsn9hrij7kqb93gdywzj7ms7x6hlfh";
-    };
-  }
-  {
-    goPackagePath = "github.com/codegangsta/cli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/codegangsta/cli";
-      rev = "71f57d300dd6a780ac1856c005c4b518cfd498ec";
-      sha256 = "1fxznirkvank5461789dm5aw5z8aqi0jvwligvz44659rfl376p3";
-    };
-  }
-  {
-    goPackagePath = "github.com/elazarl/go-bindata-assetfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/elazarl/go-bindata-assetfs";
-      rev = "d5cac425555ca5cf00694df246e04f05e6a55150";
-      sha256 = "636ce247ff6f85c14f38a421f46662fa77bdc29762692e1f72b3cd1f9d7a1d17";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/structs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/structs";
-      rev = "a9f7daa9c2729e97450c2da2feda19130a367d8f";
-      sha256 = "0pyrc7svc826g37al3db19n5l4r2m9h1mlhjh3hz2r41xfaqia50";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/hcl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/hcl";
-      rev = "54864211433d45cb780682431585b3e573b49e4a";
-      sha256 = "07l2dydzjpdgm2d4a72hkmincn455j3nrafg6hs3c23bkvizj950";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/go-multierror";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/go-multierror";
-      rev = "56912fb08d85084aa318edcf2bba735b97cf35c5";
-      sha256 = "0s01cqdab2f7fxkkjjk2wqx05a1shnwlvfn45h2pi3i4gapvcn0r";
-    };
-  }
-]
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 845fd41c12c..8d2340647cb 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jetty";
-  version = "9.4.22.v20191022";
+  version = "9.4.24.v20191120";
   src = fetchurl {
     url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
     name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "1a5av6ygsmjwbnlax7f7l58d7hlw3xm0cpk5ml7mb54vrlrcb7hv";
+    sha256 = "072vr8gfly2xdwxx1c771yymf145l8nv0j31liwqrih8zqvvhsd4";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A Web server and javax.servlet container";
-    homepage = http://www.eclipse.org/jetty/;
+    homepage = "https://www.eclipse.org/jetty/";
     platforms = stdenv.lib.platforms.all;
     license = [ stdenv.lib.licenses.asl20 stdenv.lib.licenses.epl10 ];
   };
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index 3edbed22b6b..2c0dbc7d665 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, fetchpatch, openssl, zlib, pcre, libxml2, libxslt
-, substituteAll, gd, geoip
+, nixosTests
+, substituteAll, gd, geoip, perl
 , withDebug ? false
 , withStream ? true
 , withMail ? false
@@ -29,7 +30,7 @@ stdenv.mkDerivation {
     inherit sha256;
   };
 
-  buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip ]
+  buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ]
     ++ mapModules "inputs";
 
   configureFlags = [
@@ -52,8 +53,6 @@ stdenv.mkDerivation {
     "--with-http_stub_status_module"
     "--with-threads"
     "--with-pcre-jit"
-    # Install destination problems
-    # "--with-http_perl_module"
   ] ++ optional withDebug [
     "--with-debug"
   ] ++ optional withStream [
@@ -65,6 +64,10 @@ stdenv.mkDerivation {
   ] ++ optional withMail [
     "--with-mail"
     "--with-mail_ssl_module"
+  ] ++ optional (perl != null) [
+    "--with-http_perl_module"
+    "--with-perl=${perl}/bin/perl"
+    "--with-perl_modules_path=lib/perl5"
   ]
     ++ optional (gd != null) "--with-http_image_filter_module"
     ++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio"
@@ -107,7 +110,10 @@ stdenv.mkDerivation {
     mv $out/sbin $out/bin
   '';
 
-  passthru.modules = modules;
+  passthru = {
+    modules = modules;
+    tests.nginx = nixosTests.nginx;
+  };
 
   meta = {
     description = "A reverse proxy and lightweight webserver";
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index 1f91e318c7f..b1116dc4a95 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -18,12 +18,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.4.1";
+  version = "10.4.3";
 
   # Impossible to build anything offline with dotnet
   src = fetchurl {
     url = "https://github.com/jellyfin/jellyfin/releases/download/v${version}/jellyfin_${version}_portable.tar.gz";
-    sha256 = "0lv1xd3bfbf9khiqlahry2im1mvgl3cj5m3zfd7mf61il5rz70f9";
+    sha256 = "11scxcwf02h6gvll0jwwac1wcpwz8d2y16yc3da0hrhy34yhysbl";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 8b6a46b9657..b3345f9420c 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -26,11 +26,11 @@ in stdenv.mkDerivation rec {
 
   pname = "postfix";
 
-  version = "3.4.7";
+  version = "3.4.8";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz";
-    sha256 = "0rzr0n1gljhmxidsslbr9505xcv0hm8jahkp4dm87a1v3l956cpy";
+    sha256 = "0hw9kbr05qdzvfqhxi4dp4n3s9xvdh0gr0la08a4bip06ybl4pcd";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index b9f4cb38742..07087315dc2 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -23,11 +23,11 @@ let
 
 in buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.5.1";
+  version = "1.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14c9wjp3w9m8hnm91r2a33lvd3avq5xx759dy23wmmh0z8xf0k4a";
+    sha256 = "184d7qd76bb2714pfkx9p4zzn4akb6xkx2iw86cpn7aqmccxysld";
   };
 
   patches = [
diff --git a/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch b/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch
new file mode 100644
index 00000000000..e1fd5f4725b
--- /dev/null
+++ b/pkgs/servers/mautrix-whatsapp/0001-Add-missing-go-dependencies-to-go.sum.patch
@@ -0,0 +1,46 @@
+From e9b9d97074ab811747792ef86f3d195709b65751 Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 29 Nov 2019 16:27:15 +0100
+Subject: [PATCH] Add missing go dependencies to go.sum
+
+Generated by running `go build` locally. Otherwise some dependencies are
+missing when building with `buildGoModule` in Nix as it tries to fetch
+the packages during compilation and fails with the following error:
+
+```
+verifying maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: Get https://sum.golang.org/lookup/maunium.net/go/mautrix-appservice@v0.1.0-alpha.3.0.20191110192030-cd699619a163: dial tcp: lookup sum.golang.org on [::1]:53: read udp [::1]:44681->[::1]:53: read: connection refused
+builder for '/nix/store/qxpy80j6y4gl1h6hplsznml1ffrca6az-mautrix-whatsapp-unstable-2019-11-17.drv' failed with exit code 1
+```
+---
+ go.sum | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/go.sum b/go.sum
+index f638f9a..ab7e907 100644
+--- a/go.sum
++++ b/go.sum
+@@ -45,6 +45,7 @@ github.com/tulir/go-whatsapp v0.0.2-0.20190830212741-33ca6ee47cf5 h1:0pUczFGOo4s
+ github.com/tulir/go-whatsapp v0.0.2-0.20190830212741-33ca6ee47cf5/go.mod h1:u3Hdptbz3iB5y/NEoSKgsp9hBzUlm0A5OrLMVdENAX8=
+ github.com/tulir/go-whatsapp v0.0.2-0.20190903182221-4e1a838ff3ba h1:exEcedSHn0qEZ1iwNwFF5brEuflhMScjFyyzmxUA+og=
+ github.com/tulir/go-whatsapp v0.0.2-0.20190903182221-4e1a838ff3ba/go.mod h1:u3Hdptbz3iB5y/NEoSKgsp9hBzUlm0A5OrLMVdENAX8=
++github.com/tulir/go-whatsapp v0.0.2-0.20191109203156-c477dae1c7e9 h1:WyLOadcpkAvoyaGfUvBgj/mTHetzliBGFioEEtM+Ac8=
+ github.com/tulir/go-whatsapp v0.0.2-0.20191109203156-c477dae1c7e9/go.mod h1:ustkccVUt0hOuKikjFb6b4Eray6At5djkcKYYu4+Lco=
+ golang.org/x/crypto v0.0.0-20190131182504-b8fe1690c613/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
+@@ -73,6 +74,7 @@ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190622085722-6406f15cb8e3 h1:oVabjOi2r
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190622085722-6406f15cb8e3/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190825132810-9d870654e9d2 h1:0iVxLLAOSBqtJqhIjW9EbblMsaSYoCJRo5mHPZnytUk=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20190825132810-9d870654e9d2/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
++maunium.net/go/mautrix v0.1.0-alpha.3.0.20191110191816-178ce1f1561d h1:lfEHd6diaoKLdZvVNcmBF9kD667xWw+x7iXlvfpEd00=
+ maunium.net/go/mautrix v0.1.0-alpha.3.0.20191110191816-178ce1f1561d/go.mod h1:O+QWJP3H7BZEzIBSrECKpnpRnEKBwaoWVEu/yZwVwxg=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190618052224-6e6c9bb47548 h1:ni1nqs+2AOO+g1ND6f2W0pMcb6sIDVqzerXosO+pI2g=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190618052224-6e6c9bb47548/go.mod h1:yVWU0gvIHIXClgyVnShiufiDksFbFrBqHG9lDAYcmGI=
+@@ -86,4 +88,5 @@ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190830063827-e7dcd7e42e7c h
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190830063827-e7dcd7e42e7c/go.mod h1:FJRRpH5+p3wCfEt6u/3kMeu9aGX/pk2PqtvjRDRW74w=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190901152202-40639f5932be h1:sSBx9AGR4iYHRFwljqNwxXFtbY2bKLJHgI9B4whAU8I=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20190901152202-40639f5932be/go.mod h1:FJRRpH5+p3wCfEt6u/3kMeu9aGX/pk2PqtvjRDRW74w=
++maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20191110192030-cd699619a163 h1:+tWThOHlyIW2VITR4A05wuhixu0AH8iZZ/Ha7AwkAys=
+ maunium.net/go/mautrix-appservice v0.1.0-alpha.3.0.20191110192030-cd699619a163/go.mod h1:ST7YYCoHtFC4c7/Iga8W5wwKXyxjwVh4DlsnyIU6rYw=
+-- 
+2.23.0
+
diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix
index cdce369bbf9..892f797a00e 100644
--- a/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/pkgs/servers/mautrix-whatsapp/default.nix
@@ -1,17 +1,19 @@
 { stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule {
-  pname = "mautrix-unstable";
-  version = "2019-09-03";
+  pname = "mautrix-whatsapp-unstable";
+  version = "2019-11-17";
 
   src = fetchFromGitHub {
     owner = "tulir";
     repo = "mautrix-whatsapp";
-    rev = "22fb5c125db1a0a3a8be8e8e09e92bb38718e6bf";
-    sha256 = "03wd6mn9jr1hr3qxg1r707ibi1s9511y97bfrmzka4mrsymgamxa";
+    rev = "0fba1db6aa88a95ff567f44aa9be7ce6ef24787f";
+    sha256 = "07cgpvicr6n897myx86mlnx7bydsxnf51lnjbv9dl5yyii73f957";
   };
 
-  modSha256 = "14bqxx2hcr8yhcd5hi087pyc1hzqmr13p2fqb3nnsx12j7n07gww";
+  patches = [ ./0001-Add-missing-go-dependencies-to-go.sum.patch ];
+
+  modSha256 = "0y0im3dz5z3rcsmnxkk0l6xqwcyxb0bi9h4arw7zblfy16iw6vrr";
 
   meta = with stdenv.lib; {
     homepage = https://github.com/tulir/mautrix-whatsapp;
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 9e7550a7171..dfb3ac2cfa2 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  version = "1.5.19";
+  version = "1.5.20";
   pname = "memcached";
 
   src = fetchurl {
     url = "https://memcached.org/files/${pname}-${version}.tar.gz";
-    sha256 = "1q2bb858iwc1jncav5vfl8c7dic9r1wqni5724qmy8ads6idmp1x";
+    sha256 = "1r511qr95q0ywdaql3pdjiwzkfqxhhfzb13ilvl7mznfm4iv1myg";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 5babc638e26..5c0fa2886dc 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metabase";
-  version = "0.33.2";
+  version = "0.33.6";
 
   src = fetchurl {
     url = "http://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "0sbh3xc4scp3qflnd0v7bd224w43rby20nzxb7xn2c80jwninnnl";
+    sha256 = "1q5d323fzfvlc12v1g0mahlcz2sjii3k7cc6qg8q4q8yl0vg5c9k";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/meteor/default.nix b/pkgs/servers/meteor/default.nix
index 6f9c22ebecf..c2f0ffa59b9 100644
--- a/pkgs/servers/meteor/default.nix
+++ b/pkgs/servers/meteor/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, zlib, patchelf, runtimeShell }:
 
 let
-  version = "1.8.1";
+  version = "1.8.2";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   pname = "meteor";
   src = fetchurl {
     url = "https://static-meteor.netdna-ssl.com/packages-bootstrap/${version}/meteor-bootstrap-os.linux.x86_64.tar.gz";
-    sha256 = "1ql58j2d1pqhzpj7c9a6zrpmxxfmlgx743q7lw7g35vz2mpq34c6";
+    sha256 = "1pydmwx1yjbw54qfq7ndw2l3i3v302bvasvf71x4y9572r2p99mp";
   };
 
   #dontStrip = true;
diff --git a/pkgs/servers/misc/airsonic/default.nix b/pkgs/servers/misc/airsonic/default.nix
index e9ca958a95b..d8501878435 100644
--- a/pkgs/servers/misc/airsonic/default.nix
+++ b/pkgs/servers/misc/airsonic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "airsonic";
-  version = "10.4.2";
+  version = "10.5.0";
 
   src = fetchurl {
     url = "https://github.com/airsonic/airsonic/releases/download/v${version}/airsonic.war";
-    sha256 = "15dxrz1vi5h26g4z9p3x9p96hm1swajsfc2i725xbllpkhnykzcx";
+    sha256 = "0nja33x3qh8zylqc7dn6x8j1wyxf7pzf9vdg9rzaq1hl6mi573jq";
   };
 
   buildCommand = ''
diff --git a/pkgs/servers/misc/subsonic/default.nix b/pkgs/servers/misc/subsonic/default.nix
index be5188f177a..a7041fc57d0 100644
--- a/pkgs/servers/misc/subsonic/default.nix
+++ b/pkgs/servers/misc/subsonic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "subsonic";
-  version = "6.1.5";
+  version = "6.1.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/subsonic/subsonic-${version}-standalone.tar.gz";
-    sha256 = "1xz3flxd5hxcvvg1izzxpv5rxwb5zprk92vsgvmcniy7j7r66936";
+    sha256 = "180qdk8mnc147az8v9rmc1kgf8b13mmq88l195gjdwiqpflqzdyz";
   };
 
   inherit jre;
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 2a708a6d8c7..7e2aaa66257 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "grafana";
-  version = "6.4.5";
+  version = "6.5.1";
 
   goPackagePath = "github.com/grafana/grafana";
 
@@ -12,12 +12,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "0chfskz3j0jc25fj7zpbs46lp6a426gz6nigiana04sqylmxm851";
+    sha256 = "1hcfn9dgx8vabadagm69dgk5sdyc1kxkbma2ryfdb0v6vpm01784";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "0sfs8kv4sxacly39ddy05i3gv14i7d14fc1fb952kdx0zzm8zray";
+    sha256 = "1m2rxxgs8sf8qrg0bk3i2gy17q6n4nk4cwlp9bbffwmwcmf78gnw";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix
index 9bc4223b5d6..c7b75fdbe2b 100644
--- a/pkgs/servers/monitoring/loki/default.nix
+++ b/pkgs/servers/monitoring/loki/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, systemd }:
 
 buildGoPackage rec {
-  version = "1.0.0";
+  version = "1.1.0";
   pname = "grafana-loki";
   goPackagePath = "github.com/grafana/loki";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "0qqmxrbiph268i5c8i6wpcihspdcglfxd4hy6ag03bl66rciq8nb";
+    sha256 = "1c9bw5bib577pgjd71skncxf3cdcyj1ab36j6ag7szl2kym62j6x";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 9559c9b5c37..d772d9935bc 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -1,11 +1,8 @@
-{ lib, go, buildGoPackage, fetchFromGitHub }:
+{ lib, go, buildGoPackage, fetchFromGitHub, mkYarnPackage }:
 
-buildGoPackage rec {
-  pname = "prometheus";
+let
   version = "2.14.0";
 
-  goPackagePath = "github.com/prometheus/prometheus";
-
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus";
@@ -13,16 +10,47 @@ buildGoPackage rec {
     sha256 = "0zmxj78h3cnqbhsqab940hyzpim5i9r81b15a57f3dnrrd10p287";
   };
 
+  webui = mkYarnPackage {
+    src = "${src}/web/ui/react-app";
+    packageJSON = ./webui-package.json;
+    yarnNix = ./webui-yarndeps.nix;
+
+    # The standard yarn2nix directory management causes build failures with
+    # Prometheus's webui due to using relative imports into node_modules. Use
+    # an extremely simplified version of it instead.
+    configurePhase = "ln -s $node_modules node_modules";
+    buildPhase = "PUBLIC_URL=. yarn build";
+    installPhase = "mv build $out";
+    distPhase = "true";
+  };
+in buildGoPackage rec {
+  pname = "prometheus";
+  inherit src version;
+
+  goPackagePath = "github.com/prometheus/prometheus";
+
+  postPatch = ''
+    ln -s ${webui.node_modules} web/ui/react-app/node_modules
+    ln -s ${webui} web/ui/static/react
+  '';
+
   buildFlagsArray = let
     t = "${goPackagePath}/vendor/github.com/prometheus/common/version";
-  in ''
-    -ldflags=
-       -X ${t}.Version=${version}
-       -X ${t}.Revision=unknown
-       -X ${t}.Branch=unknown
-       -X ${t}.BuildUser=nix@nixpkgs
-       -X ${t}.BuildDate=unknown
-       -X ${t}.GoVersion=${lib.getVersion go}
+  in [
+    "-tags=builtinassets"
+    ''
+      -ldflags=
+         -X ${t}.Version=${version}
+         -X ${t}.Revision=unknown
+         -X ${t}.Branch=unknown
+         -X ${t}.BuildUser=nix@nixpkgs
+         -X ${t}.BuildDate=unknown
+         -X ${t}.GoVersion=${lib.getVersion go}
+    ''
+  ];
+
+  preBuild = ''
+    make -C go/src/${goPackagePath} assets
   '';
 
   preInstall = ''
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index cc527c29ac2..ce3ed9ab9d6 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nginx_exporter";
-  version = "0.4.2";
+  version = "0.5.0";
 
   goPackagePath = "github.com/nginxinc/nginx-prometheus-exporter";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "nginxinc";
     repo = "nginx-prometheus-exporter";
-    sha256 = "023nl83w0fic7sj0yxxgj7jchyafqnmv6dq35amzz37ikx92mdcj";
+    sha256 = "1fyn2bjq80dx4jv1rakrm0vg6i657a5rs7kkg0f9mbv1alir8kkx";
   };
 
   doCheck = true;
diff --git a/pkgs/servers/monitoring/prometheus/update-webui-deps.sh b/pkgs/servers/monitoring/prometheus/update-webui-deps.sh
new file mode 100755
index 00000000000..812f6d5d9cf
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/update-webui-deps.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -I nixpkgs=../../../.. -i bash -p wget yarn2nix-moretea.yarn2nix
+
+# This script is based upon:
+# pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
+
+set -euo pipefail
+
+if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
+        echo "Regenerates the Yarn dependency lock files for the prometheus package."
+        echo "Usage: $0 <git release tag>"
+        exit 1
+fi
+
+PROM_WEB_SRC="https://raw.githubusercontent.com/prometheus/prometheus/$1"
+
+wget "$PROM_WEB_SRC/web/ui/react-app/package.json" -O webui-package.json
+wget "$PROM_WEB_SRC/web/ui/react-app/yarn.lock" -O yarn.lock
+yarn2nix --lockfile=yarn.lock > webui-yarndeps.nix
+rm yarn.lock
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
index a629a2a27e2..d7767567195 100644
--- a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "prometheus_varnish_exporter";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "jonnenauha";
     repo = "prometheus_varnish_exporter";
     rev = version;
-    sha256 = "1lvs44936n3s9z6c5169jbvx390n5g0qk4pcrmnkndg796ixjshd";
+    sha256 = "0rpabw6a6paavv62f0gzhax9brzcgkly27rhkf0ihw8736gkw8ar";
   };
 
   modSha256 = "0w1zg9jc2466srx9pdckw7rzn7ma4pbd0617b1h98v364wjzgj72";
diff --git a/pkgs/servers/monitoring/prometheus/webui-package.json b/pkgs/servers/monitoring/prometheus/webui-package.json
new file mode 100644
index 00000000000..1a96845d15e
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/webui-package.json
@@ -0,0 +1,96 @@
+{
+  "name": "graph",
+  "version": "0.1.0",
+  "private": true,
+  "dependencies": {
+    "@fortawesome/fontawesome-svg-core": "^1.2.14",
+    "@fortawesome/free-solid-svg-icons": "^5.7.1",
+    "@fortawesome/react-fontawesome": "^0.1.4",
+    "@reach/router": "^1.2.1",
+    "@testing-library/react-hooks": "^3.1.1",
+    "@types/jest": "^24.0.20",
+    "@types/jquery": "^3.3.29",
+    "@types/node": "^12.11.1",
+    "@types/reach__router": "^1.2.6",
+    "@types/react": "^16.8.2",
+    "@types/react-copy-to-clipboard": "^4.3.0",
+    "@types/react-dom": "^16.8.0",
+    "@types/react-resize-detector": "^4.0.2",
+    "@types/sanitize-html": "^1.20.2",
+    "bootstrap": "^4.2.1",
+    "downshift": "^3.2.2",
+    "enzyme-to-json": "^3.4.3",
+    "flot": "^3.2.13",
+    "fuzzy": "^0.1.3",
+    "i": "^0.3.6",
+    "jest-fetch-mock": "^2.1.2",
+    "jquery": "^3.3.1",
+    "jquery.flot.tooltip": "^0.9.0",
+    "jsdom": "^15.2.0",
+    "moment": "^2.24.0",
+    "moment-timezone": "^0.5.23",
+    "popper.js": "^1.14.3",
+    "react": "^16.7.0",
+    "react-copy-to-clipboard": "^5.0.1",
+    "react-dom": "^16.7.0",
+    "react-resize-detector": "^4.2.1",
+    "react-scripts": "^3.2.0",
+    "react-test-renderer": "^16.9.0",
+    "reactstrap": "^8.0.1",
+    "sanitize-html": "^1.20.1",
+    "tempusdominus-bootstrap-4": "^5.1.2",
+    "tempusdominus-core": "^5.0.3",
+    "typescript": "^3.3.3"
+  },
+  "scripts": {
+    "start": "react-scripts start",
+    "build": "react-scripts build",
+    "test": "react-scripts test",
+    "test:debug": "react-scripts --inspect-brk test --runInBand --no-cache",
+    "eject": "react-scripts eject",
+    "lint:ci": "eslint --quiet \"src/**/*.{ts,tsx}\"",
+    "lint": "eslint --fix \"src/**/*.{ts,tsx}\""
+  },
+  "prettier": {
+    "singleQuote": true,
+    "trailingComma": "es5",
+    "printWidth": 125
+  },
+  "browserslist": [
+    ">0.2%",
+    "not dead",
+    "not ie <= 11",
+    "not op_mini all"
+  ],
+  "devDependencies": {
+    "@types/enzyme": "^3.10.3",
+    "@types/enzyme-adapter-react-16": "^1.0.5",
+    "@types/flot": "0.0.31",
+    "@types/moment-timezone": "^0.5.10",
+    "@types/reactstrap": "^8.0.5",
+    "@types/sinon": "^7.5.0",
+    "@typescript-eslint/eslint-plugin": "2.x",
+    "@typescript-eslint/parser": "2.x",
+    "babel-eslint": "10.x",
+    "enzyme": "^3.10.0",
+    "enzyme-adapter-react-16": "^1.15.1",
+    "eslint": "6.x",
+    "eslint-config-prettier": "^6.4.0",
+    "eslint-config-react-app": "^5.0.2",
+    "eslint-plugin-flowtype": "3.x",
+    "eslint-plugin-import": "2.x",
+    "eslint-plugin-jsx-a11y": "6.x",
+    "eslint-plugin-prettier": "^3.1.1",
+    "eslint-plugin-react": "7.x",
+    "eslint-plugin-react-hooks": "1.x",
+    "jest-fetch-mock": "^2.1.2",
+    "prettier": "^1.18.2",
+    "sinon": "^7.5.0"
+  },
+  "proxy": "http://localhost:9090",
+  "jest": {
+    "snapshotSerializers": [
+      "enzyme-to-json/serializer"
+    ]
+  }
+}
diff --git a/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix b/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
new file mode 100644
index 00000000000..3cc45a2f691
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
@@ -0,0 +1,11885 @@
+{ fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec {
+  offline_cache = linkFarm "offline" packages;
+  packages = [
+    {
+      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.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.6.0.tgz";
+        sha1 = "9b00f73554edd67bebc86df8303ef678be3d7b48";
+      };
+    }
+    {
+      name = "_babel_core___core_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.6.4.tgz";
+        sha1 = "6ebd9fe00925f6c3e177bb726a188b5f578088ff";
+      };
+    }
+    {
+      name = "_babel_generator___generator_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.6.4.tgz";
+        sha1 = "a4f8437287bf9671b07f483b76e3bb731bc97671";
+      };
+    }
+    {
+      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.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.6.0.tgz";
+        sha1 = "769711acca889be371e9bc2eb68641d55218021f";
+      };
+    }
+    {
+      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.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.6.2.tgz";
+        sha1 = "681ffe489ea4dcc55f23ce469e58e59c1c045153";
+      };
+    }
+    {
+      name = "_babel_highlight___highlight_7.5.0.tgz";
+      path = fetchurl {
+        name = "_babel_highlight___highlight_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz";
+        sha1 = "56d11312bd9248fa619591d02472be6e8cb32540";
+      };
+    }
+    {
+      name = "_babel_parser___parser_7.6.4.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.6.4.tgz";
+        sha1 = "cb9b36a7482110282d5cb6dd424ec9262b473d81";
+      };
+    }
+    {
+      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.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.6.0.tgz";
+        sha1 = "6659d2572a17d70abd68123e89a12a43d90aa30c";
+      };
+    }
+    {
+      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_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_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_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz";
+        sha1 = "8ffccc8f3a6545e9f78988b6bf4fe881b88e8096";
+      };
+    }
+    {
+      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_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz";
+        sha1 = "05413762894f41bfe42b9a5e80919bd575dcc802";
+      };
+    }
+    {
+      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_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_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_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_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_typescript___plugin_syntax_typescript_7.3.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz";
+        sha1 = "a7cc3f66119a9f7ebe2de5383cce193473d65991";
+      };
+    }
+    {
+      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.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz";
+        sha1 = "6e854e51fbbaa84351b15d4ddafe342f3a5d542a";
+      };
+    }
+    {
+      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.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz";
+        sha1 = "44bbe08b57f4480094d57d9ffbcd96d309075ba6";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz";
+        sha1 = "44abb948b88f0199a627024e1508acaf8dc9b2f9";
+      };
+    }
+    {
+      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.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz";
+        sha1 = "39dfe957de4420445f1fcf88b68a2e4aa4515486";
+      };
+    }
+    {
+      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.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz";
+        sha1 = "aaa6e409dd4fb2e50b6e2a91f7e3a3149dbce0cf";
+      };
+    }
+    {
+      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_constant_elements___plugin_transform_react_constant_elements_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.6.3.tgz";
+        sha1 = "9fc9ea060b983c7c035acbe481cbe1fb1245bfff";
+      };
+    }
+    {
+      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_runtime___plugin_transform_runtime_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.0.tgz";
+        sha1 = "85a3cce402b28586138e368fce20ab3019b9713e";
+      };
+    }
+    {
+      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.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz";
+        sha1 = "fc77cf798b24b10c46e1b51b1b88c2bf661bb8dd";
+      };
+    }
+    {
+      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_typescript___plugin_transform_typescript_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.6.3.tgz";
+        sha1 = "dddb50cf3b8b2ef70b22e5326e9a91f05a1db13b";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.6.2.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz";
+        sha1 = "b692aad888a7e8d8b1b214be6b9dc03d5031f698";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.0.tgz";
+        sha1 = "aae4141c506100bb2bfaa4ac2a5c12b395619e50";
+      };
+    }
+    {
+      name = "_babel_preset_env___preset_env_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.6.3.tgz";
+        sha1 = "9e1bf05a2e2d687036d24c40e4639dc46cef2271";
+      };
+    }
+    {
+      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_react___preset_react_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_preset_react___preset_react_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.6.3.tgz";
+        sha1 = "d5242c828322520205ae4eda5d4f4f618964e2f6";
+      };
+    }
+    {
+      name = "_babel_preset_typescript___preset_typescript_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_preset_typescript___preset_typescript_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.6.0.tgz";
+        sha1 = "25768cb8830280baf47c45ab1a519a9977498c98";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.0.tgz";
+        sha1 = "4fc1d642a9fd0299754e8b5de62c631cf5568205";
+      };
+    }
+    {
+      name = "_babel_runtime___runtime_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz";
+        sha1 = "935122c74c73d2240cafd32ddb5fc2a6cd35cf1f";
+      };
+    }
+    {
+      name = "_babel_template___template_7.6.0.tgz";
+      path = fetchurl {
+        name = "_babel_template___template_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz";
+        sha1 = "7f0159c7f5012230dad64cca42ec9bdb5c9536e6";
+      };
+    }
+    {
+      name = "_babel_traverse___traverse_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.6.3.tgz";
+        sha1 = "66d7dba146b086703c0fb10dd588b7364cec47f9";
+      };
+    }
+    {
+      name = "_babel_types___types_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.6.3.tgz";
+        sha1 = "3f07d96f854f98e2fbd45c64b0cb942d11e8ba09";
+      };
+    }
+    {
+      name = "_cnakazawa_watch___watch_1.0.3.tgz";
+      path = fetchurl {
+        name = "_cnakazawa_watch___watch_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz";
+        sha1 = "099139eaec7ebf07a27c1786a3ff64f39464d2ef";
+      };
+    }
+    {
+      name = "_csstools_convert_colors___convert_colors_1.4.0.tgz";
+      path = fetchurl {
+        name = "_csstools_convert_colors___convert_colors_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz";
+        sha1 = "ad495dc41b12e75d588c6db8b9834f08fa131eb7";
+      };
+    }
+    {
+      name = "_csstools_normalize.css___normalize.css_9.0.1.tgz";
+      path = fetchurl {
+        name = "_csstools_normalize.css___normalize.css_9.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz";
+        sha1 = "c27b391d8457d1e893f1eddeaf5e5412d12ffbb5";
+      };
+    }
+    {
+      name = "_fortawesome_fontawesome_common_types___fontawesome_common_types_0.2.25.tgz";
+      path = fetchurl {
+        name = "_fortawesome_fontawesome_common_types___fontawesome_common_types_0.2.25.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.25.tgz";
+        sha1 = "6df015905081f2762e5cfddeb7a20d2e9b16c786";
+      };
+    }
+    {
+      name = "_fortawesome_fontawesome_svg_core___fontawesome_svg_core_1.2.25.tgz";
+      path = fetchurl {
+        name = "_fortawesome_fontawesome_svg_core___fontawesome_svg_core_1.2.25.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.25.tgz";
+        sha1 = "24b03391d14f0c6171e8cad7057c687b74049790";
+      };
+    }
+    {
+      name = "_fortawesome_free_solid_svg_icons___free_solid_svg_icons_5.11.2.tgz";
+      path = fetchurl {
+        name = "_fortawesome_free_solid_svg_icons___free_solid_svg_icons_5.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.11.2.tgz";
+        sha1 = "2f2f1459743a27902b76655a0d0bc5ec4d945631";
+      };
+    }
+    {
+      name = "_fortawesome_react_fontawesome___react_fontawesome_0.1.6.tgz";
+      path = fetchurl {
+        name = "_fortawesome_react_fontawesome___react_fontawesome_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.6.tgz";
+        sha1 = "b798b96401e25d07c30bbe1b9ec0e6d8a33760a5";
+      };
+    }
+    {
+      name = "_hapi_address___address_2.1.2.tgz";
+      path = fetchurl {
+        name = "_hapi_address___address_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz";
+        sha1 = "1c794cd6dbf2354d1eb1ef10e0303f573e1c7222";
+      };
+    }
+    {
+      name = "_hapi_bourne___bourne_1.3.2.tgz";
+      path = fetchurl {
+        name = "_hapi_bourne___bourne_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz";
+        sha1 = "0a7095adea067243ce3283e1b56b8a8f453b242a";
+      };
+    }
+    {
+      name = "_hapi_hoek___hoek_8.3.1.tgz";
+      path = fetchurl {
+        name = "_hapi_hoek___hoek_8.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.3.1.tgz";
+        sha1 = "227d29efdb158e4a64590224add90c820f94d20e";
+      };
+    }
+    {
+      name = "_hapi_joi___joi_15.1.1.tgz";
+      path = fetchurl {
+        name = "_hapi_joi___joi_15.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz";
+        sha1 = "c675b8a71296f02833f8d6d243b34c57b8ce19d7";
+      };
+    }
+    {
+      name = "_hapi_topo___topo_3.1.6.tgz";
+      path = fetchurl {
+        name = "_hapi_topo___topo_3.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz";
+        sha1 = "68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29";
+      };
+    }
+    {
+      name = "_jest_console___console_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_console___console_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz";
+        sha1 = "79b1bc06fb74a8cfb01cbdedf945584b1b9707f0";
+      };
+    }
+    {
+      name = "_jest_core___core_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_core___core_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz";
+        sha1 = "2ceccd0b93181f9c4850e74f2a9ad43d351369c4";
+      };
+    }
+    {
+      name = "_jest_environment___environment_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_environment___environment_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz";
+        sha1 = "21e3afa2d65c0586cbd6cbefe208bafade44ab18";
+      };
+    }
+    {
+      name = "_jest_fake_timers___fake_timers_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_fake_timers___fake_timers_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz";
+        sha1 = "ba3e6bf0eecd09a636049896434d306636540c93";
+      };
+    }
+    {
+      name = "_jest_reporters___reporters_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_reporters___reporters_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz";
+        sha1 = "86660eff8e2b9661d042a8e98a028b8d631a5b43";
+      };
+    }
+    {
+      name = "_jest_source_map___source_map_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_source_map___source_map_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz";
+        sha1 = "0e263a94430be4b41da683ccc1e6bffe2a191714";
+      };
+    }
+    {
+      name = "_jest_test_result___test_result_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_result___test_result_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz";
+        sha1 = "11796e8aa9dbf88ea025757b3152595ad06ba0ca";
+      };
+    }
+    {
+      name = "_jest_test_sequencer___test_sequencer_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_test_sequencer___test_sequencer_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz";
+        sha1 = "f8f334f35b625a4f2f355f2fe7e6036dad2e6b31";
+      };
+    }
+    {
+      name = "_jest_transform___transform_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_transform___transform_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz";
+        sha1 = "4ae2768b296553fadab09e9ec119543c90b16c56";
+      };
+    }
+    {
+      name = "_jest_types___types_24.9.0.tgz";
+      path = fetchurl {
+        name = "_jest_types___types_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz";
+        sha1 = "63cb26cb7500d069e5a389441a7c6ab5e909fc59";
+      };
+    }
+    {
+      name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+      path = fetchurl {
+        name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz";
+        sha1 = "524af240d1a360527b730475ecfa1344aa540dde";
+      };
+    }
+    {
+      name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+      path = fetchurl {
+        name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz";
+        sha1 = "2b5a3ab3f918cca48a8c754c08168e3f03eba61b";
+      };
+    }
+    {
+      name = "_reach_auto_id___auto_id_0.2.0.tgz";
+      path = fetchurl {
+        name = "_reach_auto_id___auto_id_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@reach/auto-id/-/auto-id-0.2.0.tgz";
+        sha1 = "97f9e48fe736aa5c6f4f32cf73c1f19d005f8550";
+      };
+    }
+    {
+      name = "_reach_router___router_1.2.1.tgz";
+      path = fetchurl {
+        name = "_reach_router___router_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz";
+        sha1 = "34ae3541a5ac44fa7796e5506a5d7274a162be4e";
+      };
+    }
+    {
+      name = "_sinonjs_commons___commons_1.6.0.tgz";
+      path = fetchurl {
+        name = "_sinonjs_commons___commons_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.6.0.tgz";
+        sha1 = "ec7670432ae9c8eb710400d112c201a362d83393";
+      };
+    }
+    {
+      name = "_sinonjs_formatio___formatio_3.2.2.tgz";
+      path = fetchurl {
+        name = "_sinonjs_formatio___formatio_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz";
+        sha1 = "771c60dfa75ea7f2d68e3b94c7e888a78781372c";
+      };
+    }
+    {
+      name = "_sinonjs_samsam___samsam_3.3.3.tgz";
+      path = fetchurl {
+        name = "_sinonjs_samsam___samsam_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz";
+        sha1 = "46682efd9967b259b81136b9f120fd54585feb4a";
+      };
+    }
+    {
+      name = "_sinonjs_text_encoding___text_encoding_0.7.1.tgz";
+      path = fetchurl {
+        name = "_sinonjs_text_encoding___text_encoding_0.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz";
+        sha1 = "8da5c6530915653f3a1f38fd5f101d8c3f8079c5";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz";
+        sha1 = "dadcb6218503532d6884b210e7f3c502caaa44b1";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz";
+        sha1 = "297550b9a8c0c7337bea12bdfc8a80bb66f85abc";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz";
+        sha1 = "c196302f3e68eab6a05e98af9ca8570bc13131c7";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz";
+        sha1 = "310ec0775de808a6a2e4fd4268c245fd734c1165";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz";
+        sha1 = "2cdedd747e5b1b29ed4c241e46256aac8110dd93";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz";
+        sha1 = "9a94791c9a288108d20a9d2cc64cac820f141391";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz";
+        sha1 = "151487322843359a1ca86b21a3815fd21a88b717";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_4.2.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz";
+        sha1 = "5f1e2f886b2c85c67e76da42f0f6be1b1767b697";
+      };
+    }
+    {
+      name = "_svgr_babel_preset___babel_preset_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_preset___babel_preset_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz";
+        sha1 = "a75d8c2f202ac0e5774e6bfc165d028b39a1316c";
+      };
+    }
+    {
+      name = "_svgr_core___core_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_core___core_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz";
+        sha1 = "b37b89d5b757dc66e8c74156d00c368338d24293";
+      };
+    }
+    {
+      name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz";
+        sha1 = "1d5a082f7b929ef8f1f578950238f630e14532b8";
+      };
+    }
+    {
+      name = "_svgr_plugin_jsx___plugin_jsx_4.3.3.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_jsx___plugin_jsx_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz";
+        sha1 = "e2ba913dbdfbe85252a34db101abc7ebd50992fa";
+      };
+    }
+    {
+      name = "_svgr_plugin_svgo___plugin_svgo_4.3.1.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_svgo___plugin_svgo_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz";
+        sha1 = "daac0a3d872e3f55935c6588dd370336865e9e32";
+      };
+    }
+    {
+      name = "_svgr_webpack___webpack_4.3.2.tgz";
+      path = fetchurl {
+        name = "_svgr_webpack___webpack_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.2.tgz";
+        sha1 = "319d4471c8f3d5c3af35059274834d9b5b8fb956";
+      };
+    }
+    {
+      name = "_testing_library_react_hooks___react_hooks_3.1.1.tgz";
+      path = fetchurl {
+        name = "_testing_library_react_hooks___react_hooks_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-3.1.1.tgz";
+        sha1 = "5c93e463c0252bea6ac237ec8d9c982c27d67208";
+      };
+    }
+    {
+      name = "_types_babel__core___babel__core_7.1.3.tgz";
+      path = fetchurl {
+        name = "_types_babel__core___babel__core_7.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz";
+        sha1 = "e441ea7df63cd080dfcd02ab199e6d16a735fc30";
+      };
+    }
+    {
+      name = "_types_babel__generator___babel__generator_7.6.0.tgz";
+      path = fetchurl {
+        name = "_types_babel__generator___babel__generator_7.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.0.tgz";
+        sha1 = "f1ec1c104d1bb463556ecb724018ab788d0c172a";
+      };
+    }
+    {
+      name = "_types_babel__template___babel__template_7.0.2.tgz";
+      path = fetchurl {
+        name = "_types_babel__template___babel__template_7.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz";
+        sha1 = "4ff63d6b52eddac1de7b975a5223ed32ecea9307";
+      };
+    }
+    {
+      name = "_types_babel__traverse___babel__traverse_7.0.7.tgz";
+      path = fetchurl {
+        name = "_types_babel__traverse___babel__traverse_7.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz";
+        sha1 = "2496e9ff56196cc1429c72034e07eab6121b6f3f";
+      };
+    }
+    {
+      name = "_types_cheerio___cheerio_0.22.13.tgz";
+      path = fetchurl {
+        name = "_types_cheerio___cheerio_0.22.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.13.tgz";
+        sha1 = "5eecda091a24514185dcba99eda77e62bf6523e6";
+      };
+    }
+    {
+      name = "_types_domhandler___domhandler_2.4.1.tgz";
+      path = fetchurl {
+        name = "_types_domhandler___domhandler_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/domhandler/-/domhandler-2.4.1.tgz";
+        sha1 = "7b3b347f7762180fbcb1ece1ce3dd0ebbb8c64cf";
+      };
+    }
+    {
+      name = "_types_domutils___domutils_1.7.2.tgz";
+      path = fetchurl {
+        name = "_types_domutils___domutils_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/domutils/-/domutils-1.7.2.tgz";
+        sha1 = "89422e579c165994ad5c09ce90325da596cc105d";
+      };
+    }
+    {
+      name = "_types_enzyme_adapter_react_16___enzyme_adapter_react_16_1.0.5.tgz";
+      path = fetchurl {
+        name = "_types_enzyme_adapter_react_16___enzyme_adapter_react_16_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.5.tgz";
+        sha1 = "1bf30a166f49be69eeda4b81e3f24113c8b4e9d5";
+      };
+    }
+    {
+      name = "_types_enzyme___enzyme_3.10.3.tgz";
+      path = fetchurl {
+        name = "_types_enzyme___enzyme_3.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.10.3.tgz";
+        sha1 = "02b6c5ac7d0472005944a652e79045e2f6c66804";
+      };
+    }
+    {
+      name = "_types_eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+      path = fetchurl {
+        name = "_types_eslint_visitor_keys___eslint_visitor_keys_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
+        sha1 = "1ee30d79544ca84d68d4b3cdb0af4f205663dd2d";
+      };
+    }
+    {
+      name = "_types_flot___flot_0.0.31.tgz";
+      path = fetchurl {
+        name = "_types_flot___flot_0.0.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/flot/-/flot-0.0.31.tgz";
+        sha1 = "0daca37c6c855b69a0a7e2e37dd0f84b3db8c8c1";
+      };
+    }
+    {
+      name = "_types_history___history_4.7.3.tgz";
+      path = fetchurl {
+        name = "_types_history___history_4.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz";
+        sha1 = "856c99cdc1551d22c22b18b5402719affec9839a";
+      };
+    }
+    {
+      name = "_types_htmlparser2___htmlparser2_3.10.1.tgz";
+      path = fetchurl {
+        name = "_types_htmlparser2___htmlparser2_3.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/htmlparser2/-/htmlparser2-3.10.1.tgz";
+        sha1 = "1e65ba81401d53f425c1e2ba5a3d05c90ab742c7";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz";
+        sha1 = "42995b446db9a48a11a07ec083499a860e9138ff";
+      };
+    }
+    {
+      name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_lib_report___istanbul_lib_report_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz";
+        sha1 = "e5471e7fa33c61358dd38426189c037a58433b8c";
+      };
+    }
+    {
+      name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+      path = fetchurl {
+        name = "_types_istanbul_reports___istanbul_reports_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz";
+        sha1 = "7a8cbf6a406f36c8add871625b278eaf0b0d255a";
+      };
+    }
+    {
+      name = "_types_jest_diff___jest_diff_20.0.1.tgz";
+      path = fetchurl {
+        name = "_types_jest_diff___jest_diff_20.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz";
+        sha1 = "35cc15b9c4f30a18ef21852e255fdb02f6d59b89";
+      };
+    }
+    {
+      name = "_types_jest___jest_24.0.20.tgz";
+      path = fetchurl {
+        name = "_types_jest___jest_24.0.20.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.20.tgz";
+        sha1 = "729d5fe8684e7fb06368d3bd557ac6d91289d861";
+      };
+    }
+    {
+      name = "_types_jquery___jquery_3.3.31.tgz";
+      path = fetchurl {
+        name = "_types_jquery___jquery_3.3.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.31.tgz";
+        sha1 = "27c706e4bf488474e1cb54a71d8303f37c93451b";
+      };
+    }
+    {
+      name = "_types_json_schema___json_schema_7.0.3.tgz";
+      path = fetchurl {
+        name = "_types_json_schema___json_schema_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz";
+        sha1 = "bdfd69d61e464dcc81b25159c270d75a73c1a636";
+      };
+    }
+    {
+      name = "_types_moment_timezone___moment_timezone_0.5.12.tgz";
+      path = fetchurl {
+        name = "_types_moment_timezone___moment_timezone_0.5.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/moment-timezone/-/moment-timezone-0.5.12.tgz";
+        sha1 = "0fb680c03db194fe8ff4551eaeb1eec8d3d80e9f";
+      };
+    }
+    {
+      name = "_types_node___node_12.11.1.tgz";
+      path = fetchurl {
+        name = "_types_node___node_12.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-12.11.1.tgz";
+        sha1 = "1fd7b821f798b7fa29f667a1be8f3442bb8922a3";
+      };
+    }
+    {
+      name = "_types_prop_types___prop_types_15.7.3.tgz";
+      path = fetchurl {
+        name = "_types_prop_types___prop_types_15.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz";
+        sha1 = "2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7";
+      };
+    }
+    {
+      name = "_types_q___q_1.5.2.tgz";
+      path = fetchurl {
+        name = "_types_q___q_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz";
+        sha1 = "690a1475b84f2a884fd07cd797c00f5f31356ea8";
+      };
+    }
+    {
+      name = "_types_reach__router___reach__router_1.2.6.tgz";
+      path = fetchurl {
+        name = "_types_reach__router___reach__router_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.2.6.tgz";
+        sha1 = "b14cf1adbd1a365d204bbf6605cd9dd7b8816c87";
+      };
+    }
+    {
+      name = "_types_react_copy_to_clipboard___react_copy_to_clipboard_4.3.0.tgz";
+      path = fetchurl {
+        name = "_types_react_copy_to_clipboard___react_copy_to_clipboard_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-copy-to-clipboard/-/react-copy-to-clipboard-4.3.0.tgz";
+        sha1 = "8e07becb4f11cfced4bd36038cb5bdf5c2658be5";
+      };
+    }
+    {
+      name = "_types_react_dom___react_dom_16.9.2.tgz";
+      path = fetchurl {
+        name = "_types_react_dom___react_dom_16.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.2.tgz";
+        sha1 = "90f9e6c161850be1feb31d2f448121be2a4f3b47";
+      };
+    }
+    {
+      name = "_types_react_resize_detector___react_resize_detector_4.0.2.tgz";
+      path = fetchurl {
+        name = "_types_react_resize_detector___react_resize_detector_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-resize-detector/-/react-resize-detector-4.0.2.tgz";
+        sha1 = "5c046301a881fe9af741536e0dd4c34dfb155c6e";
+      };
+    }
+    {
+      name = "_types_react_test_renderer___react_test_renderer_16.9.1.tgz";
+      path = fetchurl {
+        name = "_types_react_test_renderer___react_test_renderer_16.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-16.9.1.tgz";
+        sha1 = "9d432c46c515ebe50c45fa92c6fb5acdc22e39c4";
+      };
+    }
+    {
+      name = "_types_react___react_16.9.9.tgz";
+      path = fetchurl {
+        name = "_types_react___react_16.9.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react/-/react-16.9.9.tgz";
+        sha1 = "a62c6f40f04bc7681be5e20975503a64fe783c3a";
+      };
+    }
+    {
+      name = "_types_reactstrap___reactstrap_8.0.5.tgz";
+      path = fetchurl {
+        name = "_types_reactstrap___reactstrap_8.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/reactstrap/-/reactstrap-8.0.5.tgz";
+        sha1 = "6c6429bcfcc1d97d9a89bcb73a07bbb698bfe945";
+      };
+    }
+    {
+      name = "_types_sanitize_html___sanitize_html_1.20.2.tgz";
+      path = fetchurl {
+        name = "_types_sanitize_html___sanitize_html_1.20.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-1.20.2.tgz";
+        sha1 = "59777f79f015321334e3a9f28882f58c0a0d42b8";
+      };
+    }
+    {
+      name = "_types_sinon___sinon_7.5.0.tgz";
+      path = fetchurl {
+        name = "_types_sinon___sinon_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.5.0.tgz";
+        sha1 = "f5a10c27175465a0b001b68d8b9f761582967cc6";
+      };
+    }
+    {
+      name = "_types_sizzle___sizzle_2.3.2.tgz";
+      path = fetchurl {
+        name = "_types_sizzle___sizzle_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz";
+        sha1 = "a811b8c18e2babab7d542b3365887ae2e4d9de47";
+      };
+    }
+    {
+      name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "_types_stack_utils___stack_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz";
+        sha1 = "0a851d3bd96498fa25c33ab7278ed3bd65f06c3e";
+      };
+    }
+    {
+      name = "_types_testing_library__react_hooks___testing_library__react_hooks_2.0.0.tgz";
+      path = fetchurl {
+        name = "_types_testing_library__react_hooks___testing_library__react_hooks_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/testing-library__react-hooks/-/testing-library__react-hooks-2.0.0.tgz";
+        sha1 = "7b289d64945517ae8ba9cbcb0c5b282432aaeffa";
+      };
+    }
+    {
+      name = "_types_yargs_parser___yargs_parser_13.1.0.tgz";
+      path = fetchurl {
+        name = "_types_yargs_parser___yargs_parser_13.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.1.0.tgz";
+        sha1 = "c563aa192f39350a1d18da36c5a8da382bbd8228";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_13.0.3.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_13.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.3.tgz";
+        sha1 = "76482af3981d4412d65371a318f992d33464a380";
+      };
+    }
+    {
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.5.0.tgz";
+        sha1 = "101d96743ce3365b3223df73d641078c9b775903";
+      };
+    }
+    {
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.4.0.tgz";
+        sha1 = "aaf6b542ff75b78f4191a8bf1c519184817caa24";
+      };
+    }
+    {
+      name = "_typescript_eslint_experimental_utils___experimental_utils_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_experimental_utils___experimental_utils_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.4.0.tgz";
+        sha1 = "dd8f3f466be25c3610a06fed22cfb6e6aa17f6d9";
+      };
+    }
+    {
+      name = "_typescript_eslint_experimental_utils___experimental_utils_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_experimental_utils___experimental_utils_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.5.0.tgz";
+        sha1 = "383a97ded9a7940e5053449f6d73995e782b8fb1";
+      };
+    }
+    {
+      name = "_typescript_eslint_parser___parser_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_parser___parser_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.5.0.tgz";
+        sha1 = "858030ddd808fbbe88e03f42e5971efaccb8218a";
+      };
+    }
+    {
+      name = "_typescript_eslint_parser___parser_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_parser___parser_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.4.0.tgz";
+        sha1 = "fe43ed5fec14af03d3594fce2c3b7ec4c8df0243";
+      };
+    }
+    {
+      name = "_typescript_eslint_typescript_estree___typescript_estree_2.4.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_typescript_estree___typescript_estree_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.4.0.tgz";
+        sha1 = "722c95493e1b7682893edaaaec0e69f36917feef";
+      };
+    }
+    {
+      name = "_typescript_eslint_typescript_estree___typescript_estree_2.5.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_typescript_estree___typescript_estree_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.5.0.tgz";
+        sha1 = "40ada624d6217ef092a3a79ed30d947ad4f212ce";
+      };
+    }
+    {
+      name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ast___ast_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz";
+        sha1 = "51b1c5fe6576a34953bf4b253df9f0d490d9e359";
+      };
+    }
+    {
+      name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz";
+        sha1 = "1ba926a2923613edce496fd5b02e8ce8a5f49721";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_api_error___helper_api_error_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz";
+        sha1 = "c49dad22f645227c5edb610bdb9697f1aab721f7";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_buffer___helper_buffer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz";
+        sha1 = "fea93e429863dd5e4338555f42292385a653f204";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz";
+        sha1 = "9a740ff48e3faa3022b1dff54423df9aa293c25e";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_fsm___helper_fsm_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz";
+        sha1 = "ba0b7d3b3f7e4733da6059c9332275d860702452";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_module_context___helper_module_context_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz";
+        sha1 = "def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz";
+        sha1 = "537a750eddf5c1e932f3744206551c91c1b93e61";
+      };
+    }
+    {
+      name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz";
+        sha1 = "74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf";
+      };
+    }
+    {
+      name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_ieee754___ieee754_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz";
+        sha1 = "712329dbef240f36bf57bd2f7b8fb9bf4154421e";
+      };
+    }
+    {
+      name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_leb128___leb128_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz";
+        sha1 = "044edeb34ea679f3e04cd4fd9824d5e35767ae10";
+      };
+    }
+    {
+      name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_utf8___utf8_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz";
+        sha1 = "a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_edit___wasm_edit_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz";
+        sha1 = "962da12aa5acc1c131c81c4232991c82ce56e01a";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_gen___wasm_gen_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz";
+        sha1 = "54840766c2c1002eb64ed1abe720aded714f98bc";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_opt___wasm_opt_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz";
+        sha1 = "b24d9f6ba50394af1349f510afa8ffcb8a63d264";
+      };
+    }
+    {
+      name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wasm_parser___wasm_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz";
+        sha1 = "21576f0ec88b91427357b8536383668ef7c66b8d";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_parser___wast_parser_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz";
+        sha1 = "e10eecd542d0e7bd394f6827c49f3df6d4eefb8c";
+      };
+    }
+    {
+      name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+      path = fetchurl {
+        name = "_webassemblyjs_wast_printer___wast_printer_1.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz";
+        sha1 = "114bbc481fd10ca0e23b3560fa812748b0bae5bc";
+      };
+    }
+    {
+      name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+      path = fetchurl {
+        name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz";
+        sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790";
+      };
+    }
+    {
+      name = "_xtuc_long___long_4.2.2.tgz";
+      path = fetchurl {
+        name = "_xtuc_long___long_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz";
+        sha1 = "d291c6a4e97989b5c61d9acf396ae4fe133a718d";
+      };
+    }
+    {
+      name = "abab___abab_2.0.2.tgz";
+      path = fetchurl {
+        name = "abab___abab_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.2.tgz";
+        sha1 = "a2fba1b122c69a85caa02d10f9270c7219709a9d";
+      };
+    }
+    {
+      name = "abbrev___abbrev_1.1.1.tgz";
+      path = fetchurl {
+        name = "abbrev___abbrev_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz";
+        sha1 = "f8f2c887ad10bf67f634f005b6987fed3179aac8";
+      };
+    }
+    {
+      name = "accepts___accepts_1.3.7.tgz";
+      path = fetchurl {
+        name = "accepts___accepts_1.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz";
+        sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd";
+      };
+    }
+    {
+      name = "acorn_globals___acorn_globals_4.3.4.tgz";
+      path = fetchurl {
+        name = "acorn_globals___acorn_globals_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz";
+        sha1 = "9fa1926addc11c97308c4e66d7add0d40c3272e7";
+      };
+    }
+    {
+      name = "acorn_jsx___acorn_jsx_5.1.0.tgz";
+      path = fetchurl {
+        name = "acorn_jsx___acorn_jsx_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz";
+        sha1 = "294adb71b57398b0680015f0a38c563ee1db5384";
+      };
+    }
+    {
+      name = "acorn_walk___acorn_walk_6.2.0.tgz";
+      path = fetchurl {
+        name = "acorn_walk___acorn_walk_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz";
+        sha1 = "123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c";
+      };
+    }
+    {
+      name = "acorn___acorn_5.7.3.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_5.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz";
+        sha1 = "67aa231bf8812974b85235a96771eb6bd07ea279";
+      };
+    }
+    {
+      name = "acorn___acorn_6.3.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz";
+        sha1 = "0087509119ffa4fc0a0041d1e93a417e68cb856e";
+      };
+    }
+    {
+      name = "acorn___acorn_7.1.0.tgz";
+      path = fetchurl {
+        name = "acorn___acorn_7.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz";
+        sha1 = "949d36f2c292535da602283586c2477c57eb2d6c";
+      };
+    }
+    {
+      name = "address___address_1.1.2.tgz";
+      path = fetchurl {
+        name = "address___address_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz";
+        sha1 = "bf1116c9c758c51b7a933d296b72c221ed9428b6";
+      };
+    }
+    {
+      name = "adjust_sourcemap_loader___adjust_sourcemap_loader_2.0.0.tgz";
+      path = fetchurl {
+        name = "adjust_sourcemap_loader___adjust_sourcemap_loader_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz";
+        sha1 = "6471143af75ec02334b219f54bc7970c52fb29a4";
+      };
+    }
+    {
+      name = "airbnb_prop_types___airbnb_prop_types_2.15.0.tgz";
+      path = fetchurl {
+        name = "airbnb_prop_types___airbnb_prop_types_2.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/airbnb-prop-types/-/airbnb-prop-types-2.15.0.tgz";
+        sha1 = "5287820043af1eb469f5b0af0d6f70da6c52aaef";
+      };
+    }
+    {
+      name = "ajv_errors___ajv_errors_1.0.1.tgz";
+      path = fetchurl {
+        name = "ajv_errors___ajv_errors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz";
+        sha1 = "f35986aceb91afadec4102fbd85014950cefa64d";
+      };
+    }
+    {
+      name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+      path = fetchurl {
+        name = "ajv_keywords___ajv_keywords_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz";
+        sha1 = "ef916e271c64ac12171fd8384eaae6b2345854da";
+      };
+    }
+    {
+      name = "ajv___ajv_6.10.2.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_6.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz";
+        sha1 = "d3cea04d6b017b2894ad69040fec8b623eb4bd52";
+      };
+    }
+    {
+      name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+      path = fetchurl {
+        name = "alphanum_sort___alphanum_sort_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
+        sha1 = "8780b98ff9dbf5638152d1f1fe5c1d7b4442976b";
+      };
+    }
+    {
+      name = "ansi_escapes___ansi_escapes_4.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_escapes___ansi_escapes_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz";
+        sha1 = "4dccdb846c3eee10f6d64dea66273eab90c37228";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    }
+    {
+      name = "ansi_regex___ansi_regex_4.1.0.tgz";
+      path = fetchurl {
+        name = "ansi_regex___ansi_regex_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
+        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_2.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    }
+    {
+      name = "ansi_styles___ansi_styles_3.2.1.tgz";
+      path = fetchurl {
+        name = "ansi_styles___ansi_styles_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d";
+      };
+    }
+    {
+      name = "anymatch___anymatch_2.0.0.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz";
+        sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb";
+      };
+    }
+    {
+      name = "anymatch___anymatch_3.1.1.tgz";
+      path = fetchurl {
+        name = "anymatch___anymatch_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz";
+        sha1 = "c55ecf02185e2469259399310c173ce31233b142";
+      };
+    }
+    {
+      name = "aproba___aproba_1.2.0.tgz";
+      path = fetchurl {
+        name = "aproba___aproba_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
+        sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha1 = "4b35c2944f062a8bfcda66410760350fe9ddfc21";
+      };
+    }
+    {
+      name = "argparse___argparse_1.0.10.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
+        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+      };
+    }
+    {
+      name = "aria_query___aria_query_3.0.0.tgz";
+      path = fetchurl {
+        name = "aria_query___aria_query_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz";
+        sha1 = "65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc";
+      };
+    }
+    {
+      name = "arity_n___arity_n_1.0.4.tgz";
+      path = fetchurl {
+        name = "arity_n___arity_n_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz";
+        sha1 = "d9e76b11733e08569c0847ae7b39b2860b30b745";
+      };
+    }
+    {
+      name = "arr_diff___arr_diff_4.0.0.tgz";
+      path = fetchurl {
+        name = "arr_diff___arr_diff_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    }
+    {
+      name = "arr_flatten___arr_flatten_1.1.0.tgz";
+      path = fetchurl {
+        name = "arr_flatten___arr_flatten_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1";
+      };
+    }
+    {
+      name = "arr_union___arr_union_3.1.0.tgz";
+      path = fetchurl {
+        name = "arr_union___arr_union_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    }
+    {
+      name = "array_equal___array_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_equal___array_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz";
+        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
+      };
+    }
+    {
+      name = "array_filter___array_filter_1.0.0.tgz";
+      path = fetchurl {
+        name = "array_filter___array_filter_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz";
+        sha1 = "baf79e62e6ef4c2a4c0b831232daffec251f9d83";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_1.1.1.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    }
+    {
+      name = "array_flatten___array_flatten_2.1.2.tgz";
+      path = fetchurl {
+        name = "array_flatten___array_flatten_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz";
+        sha1 = "24ef80a28c1a893617e2149b0c6d0d788293b099";
+      };
+    }
+    {
+      name = "array_from___array_from_2.1.1.tgz";
+      path = fetchurl {
+        name = "array_from___array_from_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz";
+        sha1 = "cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195";
+      };
+    }
+    {
+      name = "array_includes___array_includes_3.0.3.tgz";
+      path = fetchurl {
+        name = "array_includes___array_includes_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz";
+        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
+      };
+    }
+    {
+      name = "array_union___array_union_1.0.2.tgz";
+      path = fetchurl {
+        name = "array_union___array_union_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    }
+    {
+      name = "array_uniq___array_uniq_1.0.3.tgz";
+      path = fetchurl {
+        name = "array_uniq___array_uniq_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    }
+    {
+      name = "array_unique___array_unique_0.3.2.tgz";
+      path = fetchurl {
+        name = "array_unique___array_unique_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    }
+    {
+      name = "array.prototype.find___array.prototype.find_2.1.0.tgz";
+      path = fetchurl {
+        name = "array.prototype.find___array.prototype.find_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.0.tgz";
+        sha1 = "630f2eaf70a39e608ac3573e45cf8ccd0ede9ad7";
+      };
+    }
+    {
+      name = "array.prototype.flat___array.prototype.flat_1.2.2.tgz";
+      path = fetchurl {
+        name = "array.prototype.flat___array.prototype.flat_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.2.tgz";
+        sha1 = "8f3c71d245ba349b6b64b4078f76f5576f1fd723";
+      };
+    }
+    {
+      name = "arrify___arrify_1.0.1.tgz";
+      path = fetchurl {
+        name = "arrify___arrify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    }
+    {
+      name = "asap___asap_2.0.6.tgz";
+      path = fetchurl {
+        name = "asap___asap_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+      };
+    }
+    {
+      name = "asn1.js___asn1.js_4.10.1.tgz";
+      path = fetchurl {
+        name = "asn1.js___asn1.js_4.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz";
+        sha1 = "b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0";
+      };
+    }
+    {
+      name = "asn1___asn1_0.2.4.tgz";
+      path = fetchurl {
+        name = "asn1___asn1_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
+        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
+      };
+    }
+    {
+      name = "assert_plus___assert_plus_1.0.0.tgz";
+      path = fetchurl {
+        name = "assert_plus___assert_plus_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    }
+    {
+      name = "assert___assert_1.4.1.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    }
+    {
+      name = "assert___assert_1.5.0.tgz";
+      path = fetchurl {
+        name = "assert___assert_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz";
+        sha1 = "55c109aaf6e0aefdb3dc4b71240c70bf574b18eb";
+      };
+    }
+    {
+      name = "assign_symbols___assign_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "assign_symbols___assign_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    }
+    {
+      name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+      path = fetchurl {
+        name = "ast_types_flow___ast_types_flow_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz";
+        sha1 = "f70b735c6bca1a5c9c22d982c3e39e7feba3bdad";
+      };
+    }
+    {
+      name = "astral_regex___astral_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "astral_regex___astral_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz";
+        sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9";
+      };
+    }
+    {
+      name = "async_each___async_each_1.0.3.tgz";
+      path = fetchurl {
+        name = "async_each___async_each_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz";
+        sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf";
+      };
+    }
+    {
+      name = "async_limiter___async_limiter_1.0.1.tgz";
+      path = fetchurl {
+        name = "async_limiter___async_limiter_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz";
+        sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd";
+      };
+    }
+    {
+      name = "async___async_2.6.3.tgz";
+      path = fetchurl {
+        name = "async___async_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
+        sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff";
+      };
+    }
+    {
+      name = "asynckit___asynckit_0.4.0.tgz";
+      path = fetchurl {
+        name = "asynckit___asynckit_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    }
+    {
+      name = "atob___atob_2.1.2.tgz";
+      path = fetchurl {
+        name = "atob___atob_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz";
+        sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9";
+      };
+    }
+    {
+      name = "autoprefixer___autoprefixer_9.6.5.tgz";
+      path = fetchurl {
+        name = "autoprefixer___autoprefixer_9.6.5.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.5.tgz";
+        sha1 = "98f4afe7e93cccf323287515d426019619775e5e";
+      };
+    }
+    {
+      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      path = fetchurl {
+        name = "aws_sign2___aws_sign2_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    }
+    {
+      name = "aws4___aws4_1.8.0.tgz";
+      path = fetchurl {
+        name = "aws4___aws4_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz";
+        sha1 = "f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f";
+      };
+    }
+    {
+      name = "axobject_query___axobject_query_2.0.2.tgz";
+      path = fetchurl {
+        name = "axobject_query___axobject_query_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz";
+        sha1 = "ea187abe5b9002b377f925d8bf7d1c561adf38f9";
+      };
+    }
+    {
+      name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_code_frame___babel_code_frame_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    }
+    {
+      name = "babel_eslint___babel_eslint_10.0.3.tgz";
+      path = fetchurl {
+        name = "babel_eslint___babel_eslint_10.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz";
+        sha1 = "81a2c669be0f205e19462fed2482d33e4687a88a";
+      };
+    }
+    {
+      name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz";
+      path = fetchurl {
+        name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz";
+        sha1 = "0a2aedf81417ed391b85e18b4614e693a0351a21";
+      };
+    }
+    {
+      name = "babel_jest___babel_jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_jest___babel_jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz";
+        sha1 = "3fc327cb8467b89d14d7bc70e315104a783ccd54";
+      };
+    }
+    {
+      name = "babel_loader___babel_loader_8.0.6.tgz";
+      path = fetchurl {
+        name = "babel_loader___babel_loader_8.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz";
+        sha1 = "e33bdb6f362b03f4bb141a0c21ab87c501b70dfb";
+      };
+    }
+    {
+      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_istanbul___babel_plugin_istanbul_5.2.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz";
+        sha1 = "df4ade83d897a92df069c4d9a25cf2671293c854";
+      };
+    }
+    {
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz";
+        sha1 = "4f837091eb407e01447c8843cbec546d0002d756";
+      };
+    }
+    {
+      name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_macros___babel_plugin_macros_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz";
+        sha1 = "41f7ead616fc36f6a93180e89697f69f51671181";
+      };
+    }
+    {
+      name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.4.tgz";
+      path = fetchurl {
+        name = "babel_plugin_named_asset_import___babel_plugin_named_asset_import_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz";
+        sha1 = "4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd";
+      };
+    }
+    {
+      name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz";
+        sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5";
+      };
+    }
+    {
+      name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz";
+        sha1 = "0f36692d50fef6b7e2d4b3ac1478137a963b7b06";
+      };
+    }
+    {
+      name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+      path = fetchurl {
+        name = "babel_plugin_transform_react_remove_prop_types___babel_plugin_transform_react_remove_prop_types_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz";
+        sha1 = "f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a";
+      };
+    }
+    {
+      name = "babel_preset_jest___babel_preset_jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "babel_preset_jest___babel_preset_jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz";
+        sha1 = "192b521e2217fb1d1f67cf73f70c336650ad3cdc";
+      };
+    }
+    {
+      name = "babel_preset_react_app___babel_preset_react_app_9.0.2.tgz";
+      path = fetchurl {
+        name = "babel_preset_react_app___babel_preset_react_app_9.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.0.2.tgz";
+        sha1 = "247d37e883d6d6f4b4691e5f23711bb2dd80567d";
+      };
+    }
+    {
+      name = "babel_runtime___babel_runtime_6.26.0.tgz";
+      path = fetchurl {
+        name = "babel_runtime___babel_runtime_6.26.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    }
+    {
+      name = "babylon___babylon_6.18.0.tgz";
+      path = fetchurl {
+        name = "babylon___babylon_6.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz";
+        sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3";
+      };
+    }
+    {
+      name = "balanced_match___balanced_match_1.0.0.tgz";
+      path = fetchurl {
+        name = "balanced_match___balanced_match_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    }
+    {
+      name = "base64_js___base64_js_1.3.1.tgz";
+      path = fetchurl {
+        name = "base64_js___base64_js_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz";
+        sha1 = "58ece8cb75dd07e71ed08c736abc5fac4dbf8df1";
+      };
+    }
+    {
+      name = "base___base_0.11.2.tgz";
+      path = fetchurl {
+        name = "base___base_0.11.2.tgz";
+        url  = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz";
+        sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f";
+      };
+    }
+    {
+      name = "batch___batch_0.6.1.tgz";
+      path = fetchurl {
+        name = "batch___batch_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz";
+        sha1 = "dc34314f4e679318093fc760272525f94bf25c16";
+      };
+    }
+    {
+      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+      path = fetchurl {
+        name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    }
+    {
+      name = "big.js___big.js_5.2.2.tgz";
+      path = fetchurl {
+        name = "big.js___big.js_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz";
+        sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_1.13.1.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_1.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz";
+        sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65";
+      };
+    }
+    {
+      name = "binary_extensions___binary_extensions_2.0.0.tgz";
+      path = fetchurl {
+        name = "binary_extensions___binary_extensions_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz";
+        sha1 = "23c0df14f6a88077f5f986c0d167ec03c3d5537c";
+      };
+    }
+    {
+      name = "bluebird___bluebird_3.7.1.tgz";
+      path = fetchurl {
+        name = "bluebird___bluebird_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.1.tgz";
+        sha1 = "df70e302b471d7473489acf26a93d63b53f874de";
+      };
+    }
+    {
+      name = "bn.js___bn.js_4.11.8.tgz";
+      path = fetchurl {
+        name = "bn.js___bn.js_4.11.8.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz";
+        sha1 = "2cde09eb5ee341f484746bb0309b3253b1b1442f";
+      };
+    }
+    {
+      name = "body_parser___body_parser_1.19.0.tgz";
+      path = fetchurl {
+        name = "body_parser___body_parser_1.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
+        sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a";
+      };
+    }
+    {
+      name = "bonjour___bonjour_3.5.0.tgz";
+      path = fetchurl {
+        name = "bonjour___bonjour_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz";
+        sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
+      };
+    }
+    {
+      name = "boolbase___boolbase_1.0.0.tgz";
+      path = fetchurl {
+        name = "boolbase___boolbase_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    }
+    {
+      name = "bootstrap___bootstrap_4.3.1.tgz";
+      path = fetchurl {
+        name = "bootstrap___bootstrap_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.3.1.tgz";
+        sha1 = "280ca8f610504d99d7b6b4bfc4b68cec601704ac";
+      };
+    }
+    {
+      name = "brace_expansion___brace_expansion_1.1.11.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_1.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd";
+      };
+    }
+    {
+      name = "braces___braces_2.3.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz";
+        sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729";
+      };
+    }
+    {
+      name = "braces___braces_3.0.2.tgz";
+      path = fetchurl {
+        name = "braces___braces_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
+        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+      };
+    }
+    {
+      name = "brorand___brorand_1.1.0.tgz";
+      path = fetchurl {
+        name = "brorand___brorand_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz";
+        sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f";
+      };
+    }
+    {
+      name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+      path = fetchurl {
+        name = "browser_process_hrtime___browser_process_hrtime_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz";
+        sha1 = "616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4";
+      };
+    }
+    {
+      name = "browser_resolve___browser_resolve_1.11.3.tgz";
+      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 = "browserify_aes___browserify_aes_1.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_aes___browserify_aes_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz";
+        sha1 = "326734642f403dabc3003209853bb70ad428ef48";
+      };
+    }
+    {
+      name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_cipher___browserify_cipher_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz";
+        sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0";
+      };
+    }
+    {
+      name = "browserify_des___browserify_des_1.0.2.tgz";
+      path = fetchurl {
+        name = "browserify_des___browserify_des_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz";
+        sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c";
+      };
+    }
+    {
+      name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+      path = fetchurl {
+        name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
+        sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
+      };
+    }
+    {
+      name = "browserify_sign___browserify_sign_4.0.4.tgz";
+      path = fetchurl {
+        name = "browserify_sign___browserify_sign_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz";
+        sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298";
+      };
+    }
+    {
+      name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+      path = fetchurl {
+        name = "browserify_zlib___browserify_zlib_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz";
+        sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.7.0.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz";
+        sha1 = "9ee89225ffc07db03409f2fee524dc8227458a17";
+      };
+    }
+    {
+      name = "browserslist___browserslist_4.7.1.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.1.tgz";
+        sha1 = "bd400d1aea56538580e8c4d5f1c54ac11b5ab468";
+      };
+    }
+    {
+      name = "bser___bser_2.1.0.tgz";
+      path = fetchurl {
+        name = "bser___bser_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz";
+        sha1 = "65fc784bf7f87c009b973c12db6546902fa9c7b5";
+      };
+    }
+    {
+      name = "buffer_from___buffer_from_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_from___buffer_from_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef";
+      };
+    }
+    {
+      name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+      path = fetchurl {
+        name = "buffer_indexof___buffer_indexof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz";
+        sha1 = "52fabcc6a606d1a00302802648ef68f639da268c";
+      };
+    }
+    {
+      name = "buffer_xor___buffer_xor_1.0.3.tgz";
+      path = fetchurl {
+        name = "buffer_xor___buffer_xor_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz";
+        sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
+      };
+    }
+    {
+      name = "buffer___buffer_4.9.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_4.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    }
+    {
+      name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+      path = fetchurl {
+        name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    }
+    {
+      name = "bytes___bytes_3.0.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    }
+    {
+      name = "bytes___bytes_3.1.0.tgz";
+      path = fetchurl {
+        name = "bytes___bytes_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
+        sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
+      };
+    }
+    {
+      name = "cacache___cacache_12.0.3.tgz";
+      path = fetchurl {
+        name = "cacache___cacache_12.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz";
+        sha1 = "be99abba4e1bf5df461cd5a2c1071fc432573390";
+      };
+    }
+    {
+      name = "cache_base___cache_base_1.0.1.tgz";
+      path = fetchurl {
+        name = "cache_base___cache_base_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz";
+        sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2";
+      };
+    }
+    {
+      name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+      path = fetchurl {
+        name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
+        sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b";
+      };
+    }
+    {
+      name = "caller_callsite___caller_callsite_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_callsite___caller_callsite_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz";
+        sha1 = "847e0fce0a223750a9a027c54b33731ad3154134";
+      };
+    }
+    {
+      name = "caller_path___caller_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "caller_path___caller_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz";
+        sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4";
+      };
+    }
+    {
+      name = "callsites___callsites_2.0.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz";
+        sha1 = "06eb84f00eea413da86affefacbffb36093b3c50";
+      };
+    }
+    {
+      name = "callsites___callsites_3.1.0.tgz";
+      path = fetchurl {
+        name = "callsites___callsites_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz";
+        sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73";
+      };
+    }
+    {
+      name = "camel_case___camel_case_3.0.0.tgz";
+      path = fetchurl {
+        name = "camel_case___camel_case_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz";
+        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+      };
+    }
+    {
+      name = "camelcase___camelcase_5.0.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz";
+        sha1 = "03295527d58bd3cd4aa75363f35b2e8d97be2f42";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
+        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+      };
+    }
+    {
+      name = "caniuse_api___caniuse_api_3.0.0.tgz";
+      path = fetchurl {
+        name = "caniuse_api___caniuse_api_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz";
+        sha1 = "5e4d90e2274961d46291997df599e3ed008ee4c0";
+      };
+    }
+    {
+      name = "caniuse_lite___caniuse_lite_1.0.30000999.tgz";
+      path = fetchurl {
+        name = "caniuse_lite___caniuse_lite_1.0.30000999.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz";
+        sha1 = "427253a69ad7bea4aa8d8345687b8eec51ca0e43";
+      };
+    }
+    {
+      name = "capture_exit___capture_exit_2.0.0.tgz";
+      path = fetchurl {
+        name = "capture_exit___capture_exit_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz";
+        sha1 = "fb953bfaebeb781f62898239dabb426d08a509a4";
+      };
+    }
+    {
+      name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz";
+      path = fetchurl {
+        name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz";
+        sha1 = "3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e";
+      };
+    }
+    {
+      name = "caseless___caseless_0.12.0.tgz";
+      path = fetchurl {
+        name = "caseless___caseless_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    }
+    {
+      name = "chalk___chalk_2.4.2.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
+        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+      };
+    }
+    {
+      name = "chalk___chalk_1.1.3.tgz";
+      path = fetchurl {
+        name = "chalk___chalk_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    }
+    {
+      name = "chardet___chardet_0.7.0.tgz";
+      path = fetchurl {
+        name = "chardet___chardet_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz";
+        sha1 = "90094849f0937f2eedc2425d0d28a9e5f0cbad9e";
+      };
+    }
+    {
+      name = "cheerio___cheerio_1.0.0_rc.3.tgz";
+      path = fetchurl {
+        name = "cheerio___cheerio_1.0.0_rc.3.tgz";
+        url  = "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz";
+        sha1 = "094636d425b2e9c0f4eb91a46c05630c9a1a8bf6";
+      };
+    }
+    {
+      name = "chokidar___chokidar_2.1.8.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_2.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz";
+        sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917";
+      };
+    }
+    {
+      name = "chokidar___chokidar_3.2.2.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.2.2.tgz";
+        sha1 = "a433973350021e09f2b853a2287781022c0dc935";
+      };
+    }
+    {
+      name = "chownr___chownr_1.1.3.tgz";
+      path = fetchurl {
+        name = "chownr___chownr_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz";
+        sha1 = "42d837d5239688d55f303003a508230fa6727142";
+      };
+    }
+    {
+      name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+      path = fetchurl {
+        name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz";
+        sha1 = "234090ee97c7d4ad1a2c4beae27505deffc608a4";
+      };
+    }
+    {
+      name = "ci_info___ci_info_2.0.0.tgz";
+      path = fetchurl {
+        name = "ci_info___ci_info_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
+        sha1 = "67a9e964be31a51e15e5010d58e6f12834002f46";
+      };
+    }
+    {
+      name = "cipher_base___cipher_base_1.0.4.tgz";
+      path = fetchurl {
+        name = "cipher_base___cipher_base_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz";
+        sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de";
+      };
+    }
+    {
+      name = "class_utils___class_utils_0.3.6.tgz";
+      path = fetchurl {
+        name = "class_utils___class_utils_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz";
+        sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463";
+      };
+    }
+    {
+      name = "classnames___classnames_2.2.6.tgz";
+      path = fetchurl {
+        name = "classnames___classnames_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz";
+        sha1 = "43935bffdd291f326dad0a205309b38d00f650ce";
+      };
+    }
+    {
+      name = "clean_css___clean_css_4.2.1.tgz";
+      path = fetchurl {
+        name = "clean_css___clean_css_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz";
+        sha1 = "2d411ef76b8569b6d0c84068dabe85b0aa5e5c17";
+      };
+    }
+    {
+      name = "cli_cursor___cli_cursor_2.1.0.tgz";
+      path = fetchurl {
+        name = "cli_cursor___cli_cursor_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz";
+        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
+      };
+    }
+    {
+      name = "cli_width___cli_width_2.2.0.tgz";
+      path = fetchurl {
+        name = "cli_width___cli_width_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz";
+        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+      };
+    }
+    {
+      name = "cliui___cliui_4.1.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz";
+        sha1 = "348422dbe82d800b3022eef4f6ac10bf2e4d1b49";
+      };
+    }
+    {
+      name = "cliui___cliui_5.0.0.tgz";
+      path = fetchurl {
+        name = "cliui___cliui_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz";
+        sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_0.2.4.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_0.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz";
+        sha1 = "4e73dd09e9fb971cc38670c5dced9c1896481cc6";
+      };
+    }
+    {
+      name = "clone_deep___clone_deep_4.0.1.tgz";
+      path = fetchurl {
+        name = "clone_deep___clone_deep_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz";
+        sha1 = "c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387";
+      };
+    }
+    {
+      name = "co___co_4.6.0.tgz";
+      path = fetchurl {
+        name = "co___co_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    }
+    {
+      name = "coa___coa_2.0.2.tgz";
+      path = fetchurl {
+        name = "coa___coa_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz";
+        sha1 = "43f6c21151b4ef2bf57187db0d73de229e3e7ec3";
+      };
+    }
+    {
+      name = "code_point_at___code_point_at_1.1.0.tgz";
+      path = fetchurl {
+        name = "code_point_at___code_point_at_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    }
+    {
+      name = "collection_visit___collection_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "collection_visit___collection_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    }
+    {
+      name = "color_convert___color_convert_1.9.3.tgz";
+      path = fetchurl {
+        name = "color_convert___color_convert_1.9.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
+        sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.3.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    }
+    {
+      name = "color_name___color_name_1.1.4.tgz";
+      path = fetchurl {
+        name = "color_name___color_name_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
+        sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
+      };
+    }
+    {
+      name = "color_string___color_string_1.5.3.tgz";
+      path = fetchurl {
+        name = "color_string___color_string_1.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz";
+        sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc";
+      };
+    }
+    {
+      name = "color___color_3.1.2.tgz";
+      path = fetchurl {
+        name = "color___color_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz";
+        sha1 = "68148e7f85d41ad7649c5fa8c8106f098d229e10";
+      };
+    }
+    {
+      name = "combined_stream___combined_stream_1.0.8.tgz";
+      path = fetchurl {
+        name = "combined_stream___combined_stream_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
+      };
+    }
+    {
+      name = "commander___commander_2.17.1.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz";
+        sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf";
+      };
+    }
+    {
+      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.20.3.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.20.3.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz";
+        sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33";
+      };
+    }
+    {
+      name = "commander___commander_2.19.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz";
+        sha1 = "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a";
+      };
+    }
+    {
+      name = "common_tags___common_tags_1.8.0.tgz";
+      path = fetchurl {
+        name = "common_tags___common_tags_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz";
+        sha1 = "8e3153e542d4a39e9b10554434afaaf98956a937";
+      };
+    }
+    {
+      name = "commondir___commondir_1.0.1.tgz";
+      path = fetchurl {
+        name = "commondir___commondir_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    }
+    {
+      name = "component_emitter___component_emitter_1.3.0.tgz";
+      path = fetchurl {
+        name = "component_emitter___component_emitter_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz";
+        sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0";
+      };
+    }
+    {
+      name = "compose_function___compose_function_3.0.3.tgz";
+      path = fetchurl {
+        name = "compose_function___compose_function_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz";
+        sha1 = "9ed675f13cc54501d30950a486ff6a7ba3ab185f";
+      };
+    }
+    {
+      name = "compressible___compressible_2.0.17.tgz";
+      path = fetchurl {
+        name = "compressible___compressible_2.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.17.tgz";
+        sha1 = "6e8c108a16ad58384a977f3a482ca20bff2f38c1";
+      };
+    }
+    {
+      name = "compression___compression_1.7.4.tgz";
+      path = fetchurl {
+        name = "compression___compression_1.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz";
+        sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f";
+      };
+    }
+    {
+      name = "compute_scroll_into_view___compute_scroll_into_view_1.0.11.tgz";
+      path = fetchurl {
+        name = "compute_scroll_into_view___compute_scroll_into_view_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.11.tgz";
+        sha1 = "7ff0a57f9aeda6314132d8994cce7aeca794fecf";
+      };
+    }
+    {
+      name = "concat_map___concat_map_0.0.1.tgz";
+      path = fetchurl {
+        name = "concat_map___concat_map_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    }
+    {
+      name = "concat_stream___concat_stream_1.6.2.tgz";
+      path = fetchurl {
+        name = "concat_stream___concat_stream_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+      };
+    }
+    {
+      name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz";
+      path = fetchurl {
+        name = "confusing_browser_globals___confusing_browser_globals_1.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz";
+        sha1 = "72bc13b483c0276801681871d4898516f8f54fdd";
+      };
+    }
+    {
+      name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+      path = fetchurl {
+        name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz";
+        sha1 = "8b32089359308d111115d81cad3fceab888f97bc";
+      };
+    }
+    {
+      name = "console_browserify___console_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_browserify___console_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    }
+    {
+      name = "console_control_strings___console_control_strings_1.1.0.tgz";
+      path = fetchurl {
+        name = "console_control_strings___console_control_strings_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    }
+    {
+      name = "constants_browserify___constants_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "constants_browserify___constants_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    }
+    {
+      name = "contains_path___contains_path_0.1.0.tgz";
+      path = fetchurl {
+        name = "contains_path___contains_path_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz";
+        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
+      };
+    }
+    {
+      name = "content_disposition___content_disposition_0.5.3.tgz";
+      path = fetchurl {
+        name = "content_disposition___content_disposition_0.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz";
+        sha1 = "e130caf7e7279087c5616c2007d0485698984fbd";
+      };
+    }
+    {
+      name = "content_type___content_type_1.0.4.tgz";
+      path = fetchurl {
+        name = "content_type___content_type_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz";
+        sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_1.6.0.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz";
+        sha1 = "51b537a8c43e0f04dec1993bffcdd504e758ac20";
+      };
+    }
+    {
+      name = "convert_source_map___convert_source_map_0.3.5.tgz";
+      path = fetchurl {
+        name = "convert_source_map___convert_source_map_0.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz";
+        sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
+      };
+    }
+    {
+      name = "cookie_signature___cookie_signature_1.0.6.tgz";
+      path = fetchurl {
+        name = "cookie_signature___cookie_signature_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    }
+    {
+      name = "cookie___cookie_0.4.0.tgz";
+      path = fetchurl {
+        name = "cookie___cookie_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
+        sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba";
+      };
+    }
+    {
+      name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+      path = fetchurl {
+        name = "copy_concurrently___copy_concurrently_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0";
+      };
+    }
+    {
+      name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+      path = fetchurl {
+        name = "copy_descriptor___copy_descriptor_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    }
+    {
+      name = "copy_to_clipboard___copy_to_clipboard_3.2.0.tgz";
+      path = fetchurl {
+        name = "copy_to_clipboard___copy_to_clipboard_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.2.0.tgz";
+        sha1 = "d2724a3ccbfed89706fac8a894872c979ac74467";
+      };
+    }
+    {
+      name = "core_js_compat___core_js_compat_3.3.2.tgz";
+      path = fetchurl {
+        name = "core_js_compat___core_js_compat_3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.3.2.tgz";
+        sha1 = "1096c989c1b929ede06b5b6b4768dc4439078c03";
+      };
+    }
+    {
+      name = "core_js___core_js_3.2.1.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.2.1.tgz";
+        sha1 = "cd41f38534da6cc59f7db050fe67307de9868b09";
+      };
+    }
+    {
+      name = "core_js___core_js_1.2.7.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz";
+        sha1 = "652294c14651db28fa93bd2d5ff2983a4f08c636";
+      };
+    }
+    {
+      name = "core_js___core_js_2.6.10.tgz";
+      path = fetchurl {
+        name = "core_js___core_js_2.6.10.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.10.tgz";
+        sha1 = "8a5b8391f8cc7013da703411ce5b585706300d7f";
+      };
+    }
+    {
+      name = "core_util_is___core_util_is_1.0.2.tgz";
+      path = fetchurl {
+        name = "core_util_is___core_util_is_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    }
+    {
+      name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+      path = fetchurl {
+        name = "cosmiconfig___cosmiconfig_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz";
+        sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a";
+      };
+    }
+    {
+      name = "create_ecdh___create_ecdh_4.0.3.tgz";
+      path = fetchurl {
+        name = "create_ecdh___create_ecdh_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz";
+        sha1 = "c9111b6f33045c4697f144787f9254cdc77c45ff";
+      };
+    }
+    {
+      name = "create_hash___create_hash_1.2.0.tgz";
+      path = fetchurl {
+        name = "create_hash___create_hash_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz";
+        sha1 = "889078af11a63756bcfb59bd221996be3a9ef196";
+      };
+    }
+    {
+      name = "create_hmac___create_hmac_1.1.7.tgz";
+      path = fetchurl {
+        name = "create_hmac___create_hmac_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz";
+        sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff";
+      };
+    }
+    {
+      name = "create_react_context___create_react_context_0.2.3.tgz";
+      path = fetchurl {
+        name = "create_react_context___create_react_context_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz";
+        sha1 = "9ec140a6914a22ef04b8b09b7771de89567cb6f3";
+      };
+    }
+    {
+      name = "create_react_context___create_react_context_0.3.0.tgz";
+      path = fetchurl {
+        name = "create_react_context___create_react_context_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz";
+        sha1 = "546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c";
+      };
+    }
+    {
+      name = "cross_fetch___cross_fetch_2.2.3.tgz";
+      path = fetchurl {
+        name = "cross_fetch___cross_fetch_2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz";
+        sha1 = "e8a0b3c54598136e037f8650f8e823ccdfac198e";
+      };
+    }
+    {
+      name = "cross_spawn___cross_spawn_6.0.5.tgz";
+      path = fetchurl {
+        name = "cross_spawn___cross_spawn_6.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz";
+        sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4";
+      };
+    }
+    {
+      name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+      path = fetchurl {
+        name = "crypto_browserify___crypto_browserify_3.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec";
+      };
+    }
+    {
+      name = "css_blank_pseudo___css_blank_pseudo_0.1.4.tgz";
+      path = fetchurl {
+        name = "css_blank_pseudo___css_blank_pseudo_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz";
+        sha1 = "dfdefd3254bf8a82027993674ccf35483bfcb3c5";
+      };
+    }
+    {
+      name = "css_color_names___css_color_names_0.0.4.tgz";
+      path = fetchurl {
+        name = "css_color_names___css_color_names_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz";
+        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+      };
+    }
+    {
+      name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+      path = fetchurl {
+        name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz";
+        sha1 = "c198940f63a76d7e36c1e71018b001721054cb22";
+      };
+    }
+    {
+      name = "css_has_pseudo___css_has_pseudo_0.10.0.tgz";
+      path = fetchurl {
+        name = "css_has_pseudo___css_has_pseudo_0.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz";
+        sha1 = "3c642ab34ca242c59c41a125df9105841f6966ee";
+      };
+    }
+    {
+      name = "css_loader___css_loader_2.1.1.tgz";
+      path = fetchurl {
+        name = "css_loader___css_loader_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz";
+        sha1 = "d8254f72e412bb2238bb44dd674ffbef497333ea";
+      };
+    }
+    {
+      name = "css_prefers_color_scheme___css_prefers_color_scheme_3.1.1.tgz";
+      path = fetchurl {
+        name = "css_prefers_color_scheme___css_prefers_color_scheme_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz";
+        sha1 = "6f830a2714199d4f0d0d0bb8a27916ed65cff1f4";
+      };
+    }
+    {
+      name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+      path = fetchurl {
+        name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz";
+        sha1 = "3b2ff4972cc362ab88561507a95408a1432135d7";
+      };
+    }
+    {
+      name = "css_select___css_select_1.2.0.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz";
+        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
+      };
+    }
+    {
+      name = "css_select___css_select_2.0.2.tgz";
+      path = fetchurl {
+        name = "css_select___css_select_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/css-select/-/css-select-2.0.2.tgz";
+        sha1 = "ab4386cec9e1f668855564b17c3733b43b2a5ede";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.29.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.29.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz";
+        sha1 = "3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39";
+      };
+    }
+    {
+      name = "css_tree___css_tree_1.0.0_alpha.33.tgz";
+      path = fetchurl {
+        name = "css_tree___css_tree_1.0.0_alpha.33.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.33.tgz";
+        sha1 = "970e20e5a91f7a378ddd0fc58d0b6c8d4f3be93e";
+      };
+    }
+    {
+      name = "css_unit_converter___css_unit_converter_1.1.1.tgz";
+      path = fetchurl {
+        name = "css_unit_converter___css_unit_converter_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz";
+        sha1 = "d9b9281adcfd8ced935bdbaba83786897f64e996";
+      };
+    }
+    {
+      name = "css_what___css_what_2.1.3.tgz";
+      path = fetchurl {
+        name = "css_what___css_what_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz";
+        sha1 = "a6d7604573365fe74686c3f311c56513d88285f2";
+      };
+    }
+    {
+      name = "css___css_2.2.4.tgz";
+      path = fetchurl {
+        name = "css___css_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz";
+        sha1 = "c646755c73971f2bba6a601e2cf2fd71b1298929";
+      };
+    }
+    {
+      name = "cssdb___cssdb_4.4.0.tgz";
+      path = fetchurl {
+        name = "cssdb___cssdb_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz";
+        sha1 = "3bf2f2a68c10f5c6a08abd92378331ee803cddb0";
+      };
+    }
+    {
+      name = "cssesc___cssesc_2.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz";
+        sha1 = "3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703";
+      };
+    }
+    {
+      name = "cssesc___cssesc_3.0.0.tgz";
+      path = fetchurl {
+        name = "cssesc___cssesc_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz";
+        sha1 = "37741919903b868565e1c09ea747445cd18983ee";
+      };
+    }
+    {
+      name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+      path = fetchurl {
+        name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz";
+        sha1 = "51ec662ccfca0f88b396dcd9679cdb931be17f76";
+      };
+    }
+    {
+      name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz";
+        sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f";
+      };
+    }
+    {
+      name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+      path = fetchurl {
+        name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz";
+        sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d";
+      };
+    }
+    {
+      name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz";
+        sha1 = "b26d5fd5f72a11dfe7a7846fb4c67260f96bf282";
+      };
+    }
+    {
+      name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+      path = fetchurl {
+        name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz";
+        sha1 = "574082fb2859d2db433855835d9a8456ea18bbf3";
+      };
+    }
+    {
+      name = "cssnano___cssnano_4.1.10.tgz";
+      path = fetchurl {
+        name = "cssnano___cssnano_4.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz";
+        sha1 = "0ac41f0b13d13d465487e111b778d42da631b8b2";
+      };
+    }
+    {
+      name = "csso___csso_3.5.1.tgz";
+      path = fetchurl {
+        name = "csso___csso_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz";
+        sha1 = "7b9eb8be61628973c1b261e169d2f024008e758b";
+      };
+    }
+    {
+      name = "cssom___cssom_0.3.8.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
+        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+      };
+    }
+    {
+      name = "cssom___cssom_0.4.1.tgz";
+      path = fetchurl {
+        name = "cssom___cssom_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.4.1.tgz";
+        sha1 = "b24111d236b6dbd00cdfacb5ab67a20473381fe3";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_1.4.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz";
+        sha1 = "9d31328229d3c565c61e586b02041a28fccdccf1";
+      };
+    }
+    {
+      name = "cssstyle___cssstyle_2.0.0.tgz";
+      path = fetchurl {
+        name = "cssstyle___cssstyle_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.0.0.tgz";
+        sha1 = "911f0fe25532db4f5d44afc83f89cc4b82c97fe3";
+      };
+    }
+    {
+      name = "csstype___csstype_2.6.7.tgz";
+      path = fetchurl {
+        name = "csstype___csstype_2.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz";
+        sha1 = "20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5";
+      };
+    }
+    {
+      name = "cyclist___cyclist_1.0.1.tgz";
+      path = fetchurl {
+        name = "cyclist___cyclist_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz";
+        sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
+      };
+    }
+    {
+      name = "d___d_1.0.1.tgz";
+      path = fetchurl {
+        name = "d___d_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz";
+        sha1 = "8698095372d58dbee346ffd0c7093f99f8f9eb5a";
+      };
+    }
+    {
+      name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz";
+      path = fetchurl {
+        name = "damerau_levenshtein___damerau_levenshtein_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz";
+        sha1 = "780cf7144eb2e8dbd1c3bb83ae31100ccc31a414";
+      };
+    }
+    {
+      name = "dashdash___dashdash_1.14.1.tgz";
+      path = fetchurl {
+        name = "dashdash___dashdash_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    }
+    {
+      name = "data_urls___data_urls_1.1.0.tgz";
+      path = fetchurl {
+        name = "data_urls___data_urls_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz";
+        sha1 = "15ee0582baa5e22bb59c77140da8f9c76963bbfe";
+      };
+    }
+    {
+      name = "date_now___date_now_0.1.4.tgz";
+      path = fetchurl {
+        name = "date_now___date_now_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    }
+    {
+      name = "debug___debug_2.6.9.tgz";
+      path = fetchurl {
+        name = "debug___debug_2.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
+        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
+      };
+    }
+    {
+      name = "debug___debug_3.2.6.tgz";
+      path = fetchurl {
+        name = "debug___debug_3.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz";
+        sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b";
+      };
+    }
+    {
+      name = "debug___debug_4.1.1.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz";
+        sha1 = "3b72260255109c6b589cee050f1d516139664791";
+      };
+    }
+    {
+      name = "decamelize___decamelize_1.2.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    }
+    {
+      name = "decamelize___decamelize_2.0.0.tgz";
+      path = fetchurl {
+        name = "decamelize___decamelize_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz";
+        sha1 = "656d7bbc8094c4c788ea53c5840908c9c7d063c7";
+      };
+    }
+    {
+      name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+      path = fetchurl {
+        name = "decode_uri_component___decode_uri_component_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    }
+    {
+      name = "deep_equal___deep_equal_1.1.0.tgz";
+      path = fetchurl {
+        name = "deep_equal___deep_equal_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.0.tgz";
+        sha1 = "3103cdf8ab6d32cf4a8df7865458f2b8d33f3745";
+      };
+    }
+    {
+      name = "deep_extend___deep_extend_0.6.0.tgz";
+      path = fetchurl {
+        name = "deep_extend___deep_extend_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac";
+      };
+    }
+    {
+      name = "deep_is___deep_is_0.1.3.tgz";
+      path = fetchurl {
+        name = "deep_is___deep_is_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    }
+    {
+      name = "default_gateway___default_gateway_4.2.0.tgz";
+      path = fetchurl {
+        name = "default_gateway___default_gateway_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz";
+        sha1 = "167104c7500c2115f6dd69b0a536bb8ed720552b";
+      };
+    }
+    {
+      name = "define_properties___define_properties_1.1.3.tgz";
+      path = fetchurl {
+        name = "define_properties___define_properties_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
+        sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
+      };
+    }
+    {
+      name = "define_property___define_property_0.2.5.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    }
+    {
+      name = "define_property___define_property_1.0.0.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    }
+    {
+      name = "define_property___define_property_2.0.2.tgz";
+      path = fetchurl {
+        name = "define_property___define_property_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz";
+        sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d";
+      };
+    }
+    {
+      name = "del___del_3.0.0.tgz";
+      path = fetchurl {
+        name = "del___del_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/del/-/del-3.0.0.tgz";
+        sha1 = "53ecf699ffcbcb39637691ab13baf160819766e5";
+      };
+    }
+    {
+      name = "delayed_stream___delayed_stream_1.0.0.tgz";
+      path = fetchurl {
+        name = "delayed_stream___delayed_stream_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    }
+    {
+      name = "delegates___delegates_1.0.0.tgz";
+      path = fetchurl {
+        name = "delegates___delegates_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    }
+    {
+      name = "depd___depd_1.1.2.tgz";
+      path = fetchurl {
+        name = "depd___depd_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    }
+    {
+      name = "des.js___des.js_1.0.0.tgz";
+      path = fetchurl {
+        name = "des.js___des.js_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz";
+        sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
+      };
+    }
+    {
+      name = "destroy___destroy_1.0.4.tgz";
+      path = fetchurl {
+        name = "destroy___destroy_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    }
+    {
+      name = "detect_libc___detect_libc_1.0.3.tgz";
+      path = fetchurl {
+        name = "detect_libc___detect_libc_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    }
+    {
+      name = "detect_newline___detect_newline_2.1.0.tgz";
+      path = fetchurl {
+        name = "detect_newline___detect_newline_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz";
+        sha1 = "f41f1c10be4b00e87b5f13da680759f2c5bfd3e2";
+      };
+    }
+    {
+      name = "detect_node___detect_node_2.0.4.tgz";
+      path = fetchurl {
+        name = "detect_node___detect_node_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz";
+        sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c";
+      };
+    }
+    {
+      name = "detect_port_alt___detect_port_alt_1.1.6.tgz";
+      path = fetchurl {
+        name = "detect_port_alt___detect_port_alt_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz";
+        sha1 = "24707deabe932d4a3cf621302027c2b266568275";
+      };
+    }
+    {
+      name = "diff_sequences___diff_sequences_24.9.0.tgz";
+      path = fetchurl {
+        name = "diff_sequences___diff_sequences_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz";
+        sha1 = "5715d6244e2aa65f48bba0bc972db0b0b11e95b5";
+      };
+    }
+    {
+      name = "diff___diff_3.5.0.tgz";
+      path = fetchurl {
+        name = "diff___diff_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz";
+        sha1 = "800c0dd1e0a8bfbc95835c202ad220fe317e5a12";
+      };
+    }
+    {
+      name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+      path = fetchurl {
+        name = "diffie_hellman___diffie_hellman_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz";
+        sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875";
+      };
+    }
+    {
+      name = "dir_glob___dir_glob_2.0.0.tgz";
+      path = fetchurl {
+        name = "dir_glob___dir_glob_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz";
+        sha1 = "0b205d2b6aef98238ca286598a8204d29d0a0034";
+      };
+    }
+    {
+      name = "discontinuous_range___discontinuous_range_1.0.0.tgz";
+      path = fetchurl {
+        name = "discontinuous_range___discontinuous_range_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz";
+        sha1 = "e38331f0844bba49b9a9cb71c771585aab1bc65a";
+      };
+    }
+    {
+      name = "dns_equal___dns_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "dns_equal___dns_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz";
+        sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
+      };
+    }
+    {
+      name = "dns_packet___dns_packet_1.3.1.tgz";
+      path = fetchurl {
+        name = "dns_packet___dns_packet_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz";
+        sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a";
+      };
+    }
+    {
+      name = "dns_txt___dns_txt_2.0.2.tgz";
+      path = fetchurl {
+        name = "dns_txt___dns_txt_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz";
+        sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
+      };
+    }
+    {
+      name = "doctrine___doctrine_1.5.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
+        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+      };
+    }
+    {
+      name = "doctrine___doctrine_2.1.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz";
+        sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d";
+      };
+    }
+    {
+      name = "doctrine___doctrine_3.0.0.tgz";
+      path = fetchurl {
+        name = "doctrine___doctrine_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz";
+        sha1 = "addebead72a6574db783639dc87a121773973961";
+      };
+    }
+    {
+      name = "dom_converter___dom_converter_0.2.0.tgz";
+      path = fetchurl {
+        name = "dom_converter___dom_converter_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz";
+        sha1 = "6721a9daee2e293682955b6afe416771627bb768";
+      };
+    }
+    {
+      name = "dom_helpers___dom_helpers_3.4.0.tgz";
+      path = fetchurl {
+        name = "dom_helpers___dom_helpers_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-3.4.0.tgz";
+        sha1 = "e9b369700f959f62ecde5a6babde4bccd9169af8";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.2.1.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz";
+        sha1 = "13650c850daffea35d8b626a4cfc4d3a17643fdb";
+      };
+    }
+    {
+      name = "dom_serializer___dom_serializer_0.1.1.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz";
+        sha1 = "1ec4059e284babed36eec2941d4a970a189ce7c0";
+      };
+    }
+    {
+      name = "domain_browser___domain_browser_1.2.0.tgz";
+      path = fetchurl {
+        name = "domain_browser___domain_browser_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_1.3.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz";
+        sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f";
+      };
+    }
+    {
+      name = "domelementtype___domelementtype_2.0.1.tgz";
+      path = fetchurl {
+        name = "domelementtype___domelementtype_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz";
+        sha1 = "1f8bdfe91f5a78063274e803b4bdcedf6e94f94d";
+      };
+    }
+    {
+      name = "domexception___domexception_1.0.1.tgz";
+      path = fetchurl {
+        name = "domexception___domexception_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz";
+        sha1 = "937442644ca6a31261ef36e3ec677fe805582c90";
+      };
+    }
+    {
+      name = "domhandler___domhandler_2.4.2.tgz";
+      path = fetchurl {
+        name = "domhandler___domhandler_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz";
+        sha1 = "8805097e933d65e85546f726d60f5eb88b44f803";
+      };
+    }
+    {
+      name = "domutils___domutils_1.5.1.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+      };
+    }
+    {
+      name = "domutils___domutils_1.7.0.tgz";
+      path = fetchurl {
+        name = "domutils___domutils_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz";
+        sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a";
+      };
+    }
+    {
+      name = "dot_prop___dot_prop_4.2.0.tgz";
+      path = fetchurl {
+        name = "dot_prop___dot_prop_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz";
+        sha1 = "1f19e0c2e1aa0e32797c49799f2837ac6af69c57";
+      };
+    }
+    {
+      name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
+      path = fetchurl {
+        name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
+        sha1 = "3fbaf020bfd794884072ea26b1e9791d45a629f0";
+      };
+    }
+    {
+      name = "dotenv___dotenv_6.2.0.tgz";
+      path = fetchurl {
+        name = "dotenv___dotenv_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-6.2.0.tgz";
+        sha1 = "941c0410535d942c8becf28d3f357dbd9d476064";
+      };
+    }
+    {
+      name = "downshift___downshift_3.3.5.tgz";
+      path = fetchurl {
+        name = "downshift___downshift_3.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/downshift/-/downshift-3.3.5.tgz";
+        sha1 = "635f465ab45f577814a98901024873637649ce6f";
+      };
+    }
+    {
+      name = "duplexer___duplexer_0.1.1.tgz";
+      path = fetchurl {
+        name = "duplexer___duplexer_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    }
+    {
+      name = "duplexify___duplexify_3.7.1.tgz";
+      path = fetchurl {
+        name = "duplexify___duplexify_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz";
+        sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309";
+      };
+    }
+    {
+      name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+      path = fetchurl {
+        name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    }
+    {
+      name = "ee_first___ee_first_1.1.1.tgz";
+      path = fetchurl {
+        name = "ee_first___ee_first_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    }
+    {
+      name = "electron_to_chromium___electron_to_chromium_1.3.284.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.3.284.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.284.tgz";
+        sha1 = "b24359fa4f49b3a7c52afc005d59ec3aa9f6796e";
+      };
+    }
+    {
+      name = "elliptic___elliptic_6.5.1.tgz";
+      path = fetchurl {
+        name = "elliptic___elliptic_6.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.1.tgz";
+        sha1 = "c380f5f909bf1b9b4428d028cd18d3b0efd6b52b";
+      };
+    }
+    {
+      name = "emoji_regex___emoji_regex_7.0.3.tgz";
+      path = fetchurl {
+        name = "emoji_regex___emoji_regex_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
+        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+      };
+    }
+    {
+      name = "emojis_list___emojis_list_2.1.0.tgz";
+      path = fetchurl {
+        name = "emojis_list___emojis_list_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    }
+    {
+      name = "encodeurl___encodeurl_1.0.2.tgz";
+      path = fetchurl {
+        name = "encodeurl___encodeurl_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    }
+    {
+      name = "encoding___encoding_0.1.12.tgz";
+      path = fetchurl {
+        name = "encoding___encoding_0.1.12.tgz";
+        url  = "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    }
+    {
+      name = "end_of_stream___end_of_stream_1.4.4.tgz";
+      path = fetchurl {
+        name = "end_of_stream___end_of_stream_1.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0";
+      };
+    }
+    {
+      name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz";
+      path = fetchurl {
+        name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz";
+        sha1 = "2937e2b8066cd0fe7ce0990a98f0d71a35189f66";
+      };
+    }
+    {
+      name = "entities___entities_1.1.2.tgz";
+      path = fetchurl {
+        name = "entities___entities_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz";
+        sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56";
+      };
+    }
+    {
+      name = "entities___entities_2.0.0.tgz";
+      path = fetchurl {
+        name = "entities___entities_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz";
+        sha1 = "68d6084cab1b079767540d80e56a39b423e4abf4";
+      };
+    }
+    {
+      name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.15.1.tgz";
+      path = fetchurl {
+        name = "enzyme_adapter_react_16___enzyme_adapter_react_16_1.15.1.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.15.1.tgz";
+        sha1 = "8ad55332be7091dc53a25d7d38b3485fc2ba50d5";
+      };
+    }
+    {
+      name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.1.tgz";
+      path = fetchurl {
+        name = "enzyme_adapter_utils___enzyme_adapter_utils_1.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.12.1.tgz";
+        sha1 = "e828e0d038e2b1efa4b9619ce896226f85c9dd88";
+      };
+    }
+    {
+      name = "enzyme_shallow_equal___enzyme_shallow_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "enzyme_shallow_equal___enzyme_shallow_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.0.tgz";
+        sha1 = "d8e4603495e6ea279038eef05a4bf4887b55dc69";
+      };
+    }
+    {
+      name = "enzyme_to_json___enzyme_to_json_3.4.3.tgz";
+      path = fetchurl {
+        name = "enzyme_to_json___enzyme_to_json_3.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.4.3.tgz";
+        sha1 = "ed4386f48768ed29e2d1a2910893542c34e7e0af";
+      };
+    }
+    {
+      name = "enzyme___enzyme_3.10.0.tgz";
+      path = fetchurl {
+        name = "enzyme___enzyme_3.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme/-/enzyme-3.10.0.tgz";
+        sha1 = "7218e347c4a7746e133f8e964aada4a3523452f6";
+      };
+    }
+    {
+      name = "errno___errno_0.1.7.tgz";
+      path = fetchurl {
+        name = "errno___errno_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
+        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+      };
+    }
+    {
+      name = "error_ex___error_ex_1.3.2.tgz";
+      path = fetchurl {
+        name = "error_ex___error_ex_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
+        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.15.0.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.15.0.tgz";
+        sha1 = "8884928ec7e40a79e3c9bc812d37d10c8b24cc57";
+      };
+    }
+    {
+      name = "es_abstract___es_abstract_1.16.0.tgz";
+      path = fetchurl {
+        name = "es_abstract___es_abstract_1.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz";
+        sha1 = "d3a26dc9c3283ac9750dca569586e976d9dcc06d";
+      };
+    }
+    {
+      name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
+      path = fetchurl {
+        name = "es_to_primitive___es_to_primitive_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz";
+        sha1 = "edf72478033456e8dda8ef09e00ad9650707f377";
+      };
+    }
+    {
+      name = "es5_ext___es5_ext_0.10.51.tgz";
+      path = fetchurl {
+        name = "es5_ext___es5_ext_0.10.51.tgz";
+        url  = "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.51.tgz";
+        sha1 = "ed2d7d9d48a12df86e0299287e93a09ff478842f";
+      };
+    }
+    {
+      name = "es6_iterator___es6_iterator_2.0.3.tgz";
+      path = fetchurl {
+        name = "es6_iterator___es6_iterator_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    }
+    {
+      name = "es6_symbol___es6_symbol_3.1.2.tgz";
+      path = fetchurl {
+        name = "es6_symbol___es6_symbol_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.2.tgz";
+        sha1 = "859fdd34f32e905ff06d752e7171ddd4444a7ed1";
+      };
+    }
+    {
+      name = "escape_html___escape_html_1.0.3.tgz";
+      path = fetchurl {
+        name = "escape_html___escape_html_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    }
+    {
+      name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+      path = fetchurl {
+        name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    }
+    {
+      name = "escodegen___escodegen_1.12.0.tgz";
+      path = fetchurl {
+        name = "escodegen___escodegen_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz";
+        sha1 = "f763daf840af172bb3a2b6dd7219c0e17f7ff541";
+      };
+    }
+    {
+      name = "eslint_config_prettier___eslint_config_prettier_6.4.0.tgz";
+      path = fetchurl {
+        name = "eslint_config_prettier___eslint_config_prettier_6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.4.0.tgz";
+        sha1 = "0a04f147e31d33c6c161b2dd0971418ac52d0477";
+      };
+    }
+    {
+      name = "eslint_config_react_app___eslint_config_react_app_5.0.2.tgz";
+      path = fetchurl {
+        name = "eslint_config_react_app___eslint_config_react_app_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.0.2.tgz";
+        sha1 = "df40d73a1402986030680c040bbee520db5a32a4";
+      };
+    }
+    {
+      name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+      path = fetchurl {
+        name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz";
+        sha1 = "58f15fb839b8d0576ca980413476aab2472db66a";
+      };
+    }
+    {
+      name = "eslint_loader___eslint_loader_3.0.2.tgz";
+      path = fetchurl {
+        name = "eslint_loader___eslint_loader_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.2.tgz";
+        sha1 = "5a627316a51d6f41d357b9f6f0554e91506cdd6e";
+      };
+    }
+    {
+      name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+      path = fetchurl {
+        name = "eslint_module_utils___eslint_module_utils_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz";
+        sha1 = "7b4675875bf96b0dbf1b21977456e5bb1f5e018c";
+      };
+    }
+    {
+      name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_flowtype___eslint_plugin_flowtype_3.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz";
+        sha1 = "e241ebd39c0ce519345a3f074ec1ebde4cf80f2c";
+      };
+    }
+    {
+      name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_import___eslint_plugin_import_2.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz";
+        sha1 = "02f1180b90b077b33d447a17a2326ceb400aceb6";
+      };
+    }
+    {
+      name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_jsx_a11y___eslint_plugin_jsx_a11y_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz";
+        sha1 = "b872a09d5de51af70a97db1eea7dc933043708aa";
+      };
+    }
+    {
+      name = "eslint_plugin_prettier___eslint_plugin_prettier_3.1.1.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_prettier___eslint_plugin_prettier_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz";
+        sha1 = "507b8562410d02a03f0ddc949c616f877852f2ba";
+      };
+    }
+    {
+      name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_1.7.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz";
+        sha1 = "6210b6d5a37205f0b92858f895a4e827020a7d04";
+      };
+    }
+    {
+      name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react___eslint_plugin_react_7.14.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz";
+        sha1 = "911030dd7e98ba49e1b2208599571846a66bdf13";
+      };
+    }
+    {
+      name = "eslint_plugin_react___eslint_plugin_react_7.16.0.tgz";
+      path = fetchurl {
+        name = "eslint_plugin_react___eslint_plugin_react_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz";
+        sha1 = "9928e4f3e2122ed3ba6a5b56d0303ba3e41d8c09";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_4.0.3.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz";
+        sha1 = "ca03833310f6889a3264781aa82e63eb9cfe7848";
+      };
+    }
+    {
+      name = "eslint_scope___eslint_scope_5.0.0.tgz";
+      path = fetchurl {
+        name = "eslint_scope___eslint_scope_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz";
+        sha1 = "e87c8887c73e8d1ec84f1ca591645c358bfc8fb9";
+      };
+    }
+    {
+      name = "eslint_utils___eslint_utils_1.4.2.tgz";
+      path = fetchurl {
+        name = "eslint_utils___eslint_utils_1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz";
+        sha1 = "166a5180ef6ab7eb462f162fd0e6f2463d7309ab";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz";
+      path = fetchurl {
+        name = "eslint_visitor_keys___eslint_visitor_keys_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz";
+        sha1 = "e2a82cea84ff246ad6fb57f9bde5b46621459ec2";
+      };
+    }
+    {
+      name = "eslint___eslint_6.5.1.tgz";
+      path = fetchurl {
+        name = "eslint___eslint_6.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz";
+        sha1 = "828e4c469697d43bb586144be152198b91e96ed6";
+      };
+    }
+    {
+      name = "espree___espree_6.1.1.tgz";
+      path = fetchurl {
+        name = "espree___espree_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz";
+        sha1 = "7f80e5f7257fc47db450022d723e356daeb1e5de";
+      };
+    }
+    {
+      name = "esprima___esprima_3.1.3.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    }
+    {
+      name = "esprima___esprima_4.0.1.tgz";
+      path = fetchurl {
+        name = "esprima___esprima_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
+        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+      };
+    }
+    {
+      name = "esquery___esquery_1.0.1.tgz";
+      path = fetchurl {
+        name = "esquery___esquery_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz";
+        sha1 = "406c51658b1f5991a5f9b62b1dc25b00e3e5c708";
+      };
+    }
+    {
+      name = "esrecurse___esrecurse_4.2.1.tgz";
+      path = fetchurl {
+        name = "esrecurse___esrecurse_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz";
+        sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf";
+      };
+    }
+    {
+      name = "estraverse___estraverse_4.3.0.tgz";
+      path = fetchurl {
+        name = "estraverse___estraverse_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz";
+        sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d";
+      };
+    }
+    {
+      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 = "etag___etag_1.8.1.tgz";
+      path = fetchurl {
+        name = "etag___etag_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    }
+    {
+      name = "eventemitter3___eventemitter3_4.0.0.tgz";
+      path = fetchurl {
+        name = "eventemitter3___eventemitter3_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz";
+        sha1 = "d65176163887ee59f386d64c82610b696a4a74eb";
+      };
+    }
+    {
+      name = "events___events_3.0.0.tgz";
+      path = fetchurl {
+        name = "events___events_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz";
+        sha1 = "9a0a0dfaf62893d92b875b8f2698ca4114973e88";
+      };
+    }
+    {
+      name = "eventsource___eventsource_1.0.7.tgz";
+      path = fetchurl {
+        name = "eventsource___eventsource_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz";
+        sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0";
+      };
+    }
+    {
+      name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+      path = fetchurl {
+        name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";
+        sha1 = "7fcbdb198dc71959432efe13842684e0525acb02";
+      };
+    }
+    {
+      name = "exec_sh___exec_sh_0.3.2.tgz";
+      path = fetchurl {
+        name = "exec_sh___exec_sh_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz";
+        sha1 = "6738de2eb7c8e671d0366aea0b0db8c6f7d7391b";
+      };
+    }
+    {
+      name = "execa___execa_1.0.0.tgz";
+      path = fetchurl {
+        name = "execa___execa_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz";
+        sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8";
+      };
+    }
+    {
+      name = "exit___exit_0.1.2.tgz";
+      path = fetchurl {
+        name = "exit___exit_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    }
+    {
+      name = "expand_brackets___expand_brackets_2.1.4.tgz";
+      path = fetchurl {
+        name = "expand_brackets___expand_brackets_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    }
+    {
+      name = "expect___expect_24.9.0.tgz";
+      path = fetchurl {
+        name = "expect___expect_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz";
+        sha1 = "b75165b4817074fa4a157794f46fe9f1ba15b6ca";
+      };
+    }
+    {
+      name = "express___express_4.17.1.tgz";
+      path = fetchurl {
+        name = "express___express_4.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
+        sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_2.0.1.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    }
+    {
+      name = "extend_shallow___extend_shallow_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend_shallow___extend_shallow_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    }
+    {
+      name = "extend___extend_3.0.2.tgz";
+      path = fetchurl {
+        name = "extend___extend_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz";
+        sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
+      };
+    }
+    {
+      name = "external_editor___external_editor_3.1.0.tgz";
+      path = fetchurl {
+        name = "external_editor___external_editor_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz";
+        sha1 = "cb03f740befae03ea4d283caed2741a83f335495";
+      };
+    }
+    {
+      name = "extglob___extglob_2.0.4.tgz";
+      path = fetchurl {
+        name = "extglob___extglob_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz";
+        sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.3.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    }
+    {
+      name = "extsprintf___extsprintf_1.4.0.tgz";
+      path = fetchurl {
+        name = "extsprintf___extsprintf_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
+        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+      };
+    }
+    {
+      name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
+      path = fetchurl {
+        name = "fast_deep_equal___fast_deep_equal_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    }
+    {
+      name = "fast_diff___fast_diff_1.2.0.tgz";
+      path = fetchurl {
+        name = "fast_diff___fast_diff_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz";
+        sha1 = "73ee11982d86caaf7959828d519cfe927fac5f03";
+      };
+    }
+    {
+      name = "fast_glob___fast_glob_2.2.7.tgz";
+      path = fetchurl {
+        name = "fast_glob___fast_glob_2.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz";
+        sha1 = "6953857c3afa475fff92ee6015d52da70a4cd39d";
+      };
+    }
+    {
+      name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+      path = fetchurl {
+        name = "fast_json_stable_stringify___fast_json_stable_stringify_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    }
+    {
+      name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+      path = fetchurl {
+        name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    }
+    {
+      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 = "faye_websocket___faye_websocket_0.11.3.tgz";
+      path = fetchurl {
+        name = "faye_websocket___faye_websocket_0.11.3.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz";
+        sha1 = "5c0e9a8968e8912c286639fde977a8b209f2508e";
+      };
+    }
+    {
+      name = "fb_watchman___fb_watchman_2.0.0.tgz";
+      path = fetchurl {
+        name = "fb_watchman___fb_watchman_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz";
+        sha1 = "54e9abf7dfa2f26cd9b1636c588c1afc05de5d58";
+      };
+    }
+    {
+      name = "fbjs___fbjs_0.8.17.tgz";
+      path = fetchurl {
+        name = "fbjs___fbjs_0.8.17.tgz";
+        url  = "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz";
+        sha1 = "c4d598ead6949112653d6588b01a5cdcd9f90fdd";
+      };
+    }
+    {
+      name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+      path = fetchurl {
+        name = "figgy_pudding___figgy_pudding_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz";
+        sha1 = "862470112901c727a0e495a80744bd5baa1d6790";
+      };
+    }
+    {
+      name = "figures___figures_2.0.0.tgz";
+      path = fetchurl {
+        name = "figures___figures_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz";
+        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
+      };
+    }
+    {
+      name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+      path = fetchurl {
+        name = "file_entry_cache___file_entry_cache_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz";
+        sha1 = "ca0f6efa6dd3d561333fb14515065c2fafdf439c";
+      };
+    }
+    {
+      name = "file_loader___file_loader_3.0.1.tgz";
+      path = fetchurl {
+        name = "file_loader___file_loader_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz";
+        sha1 = "f8e0ba0b599918b51adfe45d66d1e771ad560faa";
+      };
+    }
+    {
+      name = "filesize___filesize_3.6.1.tgz";
+      path = fetchurl {
+        name = "filesize___filesize_3.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz";
+        sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317";
+      };
+    }
+    {
+      name = "fill_range___fill_range_4.0.0.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    }
+    {
+      name = "fill_range___fill_range_7.0.1.tgz";
+      path = fetchurl {
+        name = "fill_range___fill_range_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz";
+        sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40";
+      };
+    }
+    {
+      name = "finalhandler___finalhandler_1.1.2.tgz";
+      path = fetchurl {
+        name = "finalhandler___finalhandler_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
+        sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_0.1.1.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz";
+        sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9";
+      };
+    }
+    {
+      name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_cache_dir___find_cache_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
+        sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7";
+      };
+    }
+    {
+      name = "find_up___find_up_3.0.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz";
+        sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73";
+      };
+    }
+    {
+      name = "find_up___find_up_1.1.2.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    }
+    {
+      name = "find_up___find_up_2.1.0.tgz";
+      path = fetchurl {
+        name = "find_up___find_up_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    }
+    {
+      name = "flat_cache___flat_cache_2.0.1.tgz";
+      path = fetchurl {
+        name = "flat_cache___flat_cache_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz";
+        sha1 = "5d296d6f04bda44a4630a301413bdbc2ec085ec0";
+      };
+    }
+    {
+      name = "flatted___flatted_2.0.1.tgz";
+      path = fetchurl {
+        name = "flatted___flatted_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz";
+        sha1 = "69e57caa8f0eacbc281d2e2cb458d46fdb449e08";
+      };
+    }
+    {
+      name = "flatten___flatten_1.0.2.tgz";
+      path = fetchurl {
+        name = "flatten___flatten_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz";
+        sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
+      };
+    }
+    {
+      name = "flot___flot_3.2.13.tgz";
+      path = fetchurl {
+        name = "flot___flot_3.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/flot/-/flot-3.2.13.tgz";
+        sha1 = "f4457fd6042fe4ac4e4e124e7a7c7256e69f5362";
+      };
+    }
+    {
+      name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+      path = fetchurl {
+        name = "flush_write_stream___flush_write_stream_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz";
+        sha1 = "8dd7d873a1babc207d94ead0c2e0e44276ebf2e8";
+      };
+    }
+    {
+      name = "follow_redirects___follow_redirects_1.9.0.tgz";
+      path = fetchurl {
+        name = "follow_redirects___follow_redirects_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz";
+        sha1 = "8d5bcdc65b7108fe1508649c79c12d732dcedb4f";
+      };
+    }
+    {
+      name = "for_in___for_in_0.1.8.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz";
+        sha1 = "d8773908e31256109952b1fdb9b3fa867d2775e1";
+      };
+    }
+    {
+      name = "for_in___for_in_1.0.2.tgz";
+      path = fetchurl {
+        name = "for_in___for_in_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    }
+    {
+      name = "for_own___for_own_0.1.5.tgz";
+      path = fetchurl {
+        name = "for_own___for_own_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz";
+        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
+      };
+    }
+    {
+      name = "forever_agent___forever_agent_0.6.1.tgz";
+      path = fetchurl {
+        name = "forever_agent___forever_agent_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    }
+    {
+      name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz";
+      path = fetchurl {
+        name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz";
+        sha1 = "ce1d77190b44d81a761b10b6284a373795e41f0c";
+      };
+    }
+    {
+      name = "form_data___form_data_2.3.3.tgz";
+      path = fetchurl {
+        name = "form_data___form_data_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz";
+        sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6";
+      };
+    }
+    {
+      name = "forwarded___forwarded_0.1.2.tgz";
+      path = fetchurl {
+        name = "forwarded___forwarded_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    }
+    {
+      name = "fragment_cache___fragment_cache_0.2.1.tgz";
+      path = fetchurl {
+        name = "fragment_cache___fragment_cache_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    }
+    {
+      name = "fresh___fresh_0.5.2.tgz";
+      path = fetchurl {
+        name = "fresh___fresh_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    }
+    {
+      name = "from2___from2_2.3.0.tgz";
+      path = fetchurl {
+        name = "from2___from2_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_7.0.1.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz";
+        sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9";
+      };
+    }
+    {
+      name = "fs_extra___fs_extra_4.0.3.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_8.1.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
+        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
+      };
+    }
+    {
+      name = "fs_minipass___fs_minipass_1.2.7.tgz";
+      path = fetchurl {
+        name = "fs_minipass___fs_minipass_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz";
+        sha1 = "ccff8570841e7fe4265693da88936c55aed7f7c7";
+      };
+    }
+    {
+      name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
+      path = fetchurl {
+        name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    }
+    {
+      name = "fs.realpath___fs.realpath_1.0.0.tgz";
+      path = fetchurl {
+        name = "fs.realpath___fs.realpath_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.0.7.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.0.7.tgz";
+        sha1 = "382c9b443c6cbac4c57187cdda23aa3bf1ccfc2a";
+      };
+    }
+    {
+      name = "fsevents___fsevents_1.2.9.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_1.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz";
+        sha1 = "3f5ed66583ccd6f400b5a00db6f7e861363e388f";
+      };
+    }
+    {
+      name = "fsevents___fsevents_2.1.1.tgz";
+      path = fetchurl {
+        name = "fsevents___fsevents_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.1.tgz";
+        sha1 = "74c64e21df71721845d0c44fe54b7f56b82995a9";
+      };
+    }
+    {
+      name = "function_bind___function_bind_1.1.1.tgz";
+      path = fetchurl {
+        name = "function_bind___function_bind_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz";
+        sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
+      };
+    }
+    {
+      name = "function.prototype.name___function.prototype.name_1.1.1.tgz";
+      path = fetchurl {
+        name = "function.prototype.name___function.prototype.name_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.1.tgz";
+        sha1 = "6d252350803085abc2ad423d4fe3be2f9cbda392";
+      };
+    }
+    {
+      name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+      path = fetchurl {
+        name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
+        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+      };
+    }
+    {
+      name = "functions_have_names___functions_have_names_1.2.0.tgz";
+      path = fetchurl {
+        name = "functions_have_names___functions_have_names_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.0.tgz";
+        sha1 = "83da7583e4ea0c9ac5ff530f73394b033e0bf77d";
+      };
+    }
+    {
+      name = "fuzzy___fuzzy_0.1.3.tgz";
+      path = fetchurl {
+        name = "fuzzy___fuzzy_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz";
+        sha1 = "4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8";
+      };
+    }
+    {
+      name = "gauge___gauge_2.7.4.tgz";
+      path = fetchurl {
+        name = "gauge___gauge_2.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_1.0.3.tgz";
+      path = fetchurl {
+        name = "get_caller_file___get_caller_file_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz";
+        sha1 = "f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a";
+      };
+    }
+    {
+      name = "get_caller_file___get_caller_file_2.0.5.tgz";
+      path = fetchurl {
+        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_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.1.tgz";
+      path = fetchurl {
+        name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz";
+        sha1 = "6f7764f88ea11e0b514bd9bd860a132259992ca4";
+      };
+    }
+    {
+      name = "get_stdin___get_stdin_6.0.0.tgz";
+      path = fetchurl {
+        name = "get_stdin___get_stdin_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz";
+        sha1 = "9e09bf712b360ab9225e812048f71fde9c89657b";
+      };
+    }
+    {
+      name = "get_stream___get_stream_4.1.0.tgz";
+      path = fetchurl {
+        name = "get_stream___get_stream_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
+        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+      };
+    }
+    {
+      name = "get_value___get_value_2.0.6.tgz";
+      path = fetchurl {
+        name = "get_value___get_value_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    }
+    {
+      name = "getpass___getpass_0.1.7.tgz";
+      path = fetchurl {
+        name = "getpass___getpass_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_3.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz";
+        sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae";
+      };
+    }
+    {
+      name = "glob_parent___glob_parent_5.1.0.tgz";
+      path = fetchurl {
+        name = "glob_parent___glob_parent_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz";
+        sha1 = "5f4c1d1e748d30cd73ad2944b3577a81b081e8c2";
+      };
+    }
+    {
+      name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+      path = fetchurl {
+        name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz";
+        sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab";
+      };
+    }
+    {
+      name = "glob___glob_7.1.4.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz";
+        sha1 = "aa608a2f6c577ad357e1ae5a5c26d9a8d1969255";
+      };
+    }
+    {
+      name = "global_modules___global_modules_2.0.0.tgz";
+      path = fetchurl {
+        name = "global_modules___global_modules_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz";
+        sha1 = "997605ad2345f27f51539bea26574421215c7780";
+      };
+    }
+    {
+      name = "global_prefix___global_prefix_3.0.0.tgz";
+      path = fetchurl {
+        name = "global_prefix___global_prefix_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz";
+        sha1 = "fc85f73064df69f50421f47f883fe5b913ba9b97";
+      };
+    }
+    {
+      name = "globals___globals_11.12.0.tgz";
+      path = fetchurl {
+        name = "globals___globals_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
+        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+      };
+    }
+    {
+      name = "globby___globby_8.0.2.tgz";
+      path = fetchurl {
+        name = "globby___globby_8.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz";
+        sha1 = "5697619ccd95c5275dbb2d6faa42087c1a941d8d";
+      };
+    }
+    {
+      name = "globby___globby_6.1.0.tgz";
+      path = fetchurl {
+        name = "globby___globby_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+      };
+    }
+    {
+      name = "graceful_fs___graceful_fs_4.2.2.tgz";
+      path = fetchurl {
+        name = "graceful_fs___graceful_fs_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz";
+        sha1 = "6f0952605d0140c1cfdb138ed005775b92d67b02";
+      };
+    }
+    {
+      name = "growly___growly_1.3.0.tgz";
+      path = fetchurl {
+        name = "growly___growly_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz";
+        sha1 = "f10748cbe76af964b7c96c93c6bcc28af120c081";
+      };
+    }
+    {
+      name = "gud___gud_1.0.0.tgz";
+      path = fetchurl {
+        name = "gud___gud_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz";
+        sha1 = "a489581b17e6a70beca9abe3ae57de7a499852c0";
+      };
+    }
+    {
+      name = "gzip_size___gzip_size_5.1.1.tgz";
+      path = fetchurl {
+        name = "gzip_size___gzip_size_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz";
+        sha1 = "cb9bee692f87c0612b232840a873904e4c135274";
+      };
+    }
+    {
+      name = "handle_thing___handle_thing_2.0.0.tgz";
+      path = fetchurl {
+        name = "handle_thing___handle_thing_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz";
+        sha1 = "0e039695ff50c93fc288557d696f3c1dc6776754";
+      };
+    }
+    {
+      name = "handlebars___handlebars_4.4.3.tgz";
+      path = fetchurl {
+        name = "handlebars___handlebars_4.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/handlebars/-/handlebars-4.4.3.tgz";
+        sha1 = "180bae52c1d0e9ec0c15d7e82a4362d662762f6e";
+      };
+    }
+    {
+      name = "har_schema___har_schema_2.0.0.tgz";
+      path = fetchurl {
+        name = "har_schema___har_schema_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    }
+    {
+      name = "har_validator___har_validator_5.1.3.tgz";
+      path = fetchurl {
+        name = "har_validator___har_validator_5.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz";
+        sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080";
+      };
+    }
+    {
+      name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
+      path = fetchurl {
+        name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz";
+        sha1 = "c108d4f2bb451efef7a37861fdbdae72c9bdefa9";
+      };
+    }
+    {
+      name = "has_ansi___has_ansi_2.0.0.tgz";
+      path = fetchurl {
+        name = "has_ansi___has_ansi_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    }
+    {
+      name = "has_flag___has_flag_3.0.0.tgz";
+      path = fetchurl {
+        name = "has_flag___has_flag_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    }
+    {
+      name = "has_symbols___has_symbols_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_symbols___has_symbols_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz";
+        sha1 = "ba1a8f1af2a0fc39650f5c850367704122063b44";
+      };
+    }
+    {
+      name = "has_unicode___has_unicode_2.0.1.tgz";
+      path = fetchurl {
+        name = "has_unicode___has_unicode_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    }
+    {
+      name = "has_value___has_value_0.3.1.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    }
+    {
+      name = "has_value___has_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_value___has_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    }
+    {
+      name = "has_values___has_values_0.1.4.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    }
+    {
+      name = "has_values___has_values_1.0.0.tgz";
+      path = fetchurl {
+        name = "has_values___has_values_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    }
+    {
+      name = "has___has_1.0.3.tgz";
+      path = fetchurl {
+        name = "has___has_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
+        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+      };
+    }
+    {
+      name = "hash_base___hash_base_3.0.4.tgz";
+      path = fetchurl {
+        name = "hash_base___hash_base_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+      };
+    }
+    {
+      name = "hash.js___hash.js_1.1.7.tgz";
+      path = fetchurl {
+        name = "hash.js___hash.js_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz";
+        sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42";
+      };
+    }
+    {
+      name = "he___he_1.2.0.tgz";
+      path = fetchurl {
+        name = "he___he_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz";
+        sha1 = "84ae65fa7eafb165fddb61566ae14baf05664f0f";
+      };
+    }
+    {
+      name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "hex_color_regex___hex_color_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz";
+        sha1 = "4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e";
+      };
+    }
+    {
+      name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+      path = fetchurl {
+        name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz";
+        sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_2.8.5.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_2.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz";
+        sha1 = "759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c";
+      };
+    }
+    {
+      name = "hpack.js___hpack.js_2.1.6.tgz";
+      path = fetchurl {
+        name = "hpack.js___hpack.js_2.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz";
+        sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2";
+      };
+    }
+    {
+      name = "hsl_regex___hsl_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsl_regex___hsl_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz";
+        sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e";
+      };
+    }
+    {
+      name = "hsla_regex___hsla_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "hsla_regex___hsla_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz";
+        sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38";
+      };
+    }
+    {
+      name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+      path = fetchurl {
+        name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz";
+        sha1 = "97d4688aeb5c81886a364faa0cad1dda14d433a7";
+      };
+    }
+    {
+      name = "html_element_map___html_element_map_1.1.0.tgz";
+      path = fetchurl {
+        name = "html_element_map___html_element_map_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/html-element-map/-/html-element-map-1.1.0.tgz";
+        sha1 = "e5aab9a834caf883b421f8bd9eaedcaac887d63c";
+      };
+    }
+    {
+      name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+      path = fetchurl {
+        name = "html_encoding_sniffer___html_encoding_sniffer_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
+        sha1 = "e70d84b94da53aa375e11fe3a351be6642ca46f8";
+      };
+    }
+    {
+      name = "html_entities___html_entities_1.2.1.tgz";
+      path = fetchurl {
+        name = "html_entities___html_entities_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz";
+        sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
+      };
+    }
+    {
+      name = "html_minifier___html_minifier_3.5.21.tgz";
+      path = fetchurl {
+        name = "html_minifier___html_minifier_3.5.21.tgz";
+        url  = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz";
+        sha1 = "d0040e054730e354db008463593194015212d20c";
+      };
+    }
+    {
+      name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz";
+      path = fetchurl {
+        name = "html_webpack_plugin___html_webpack_plugin_4.0.0_beta.5.tgz";
+        url  = "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.5.tgz";
+        sha1 = "2c53083c1151bfec20479b1f8aaf0039e77b5513";
+      };
+    }
+    {
+      name = "htmlparser2___htmlparser2_3.10.1.tgz";
+      path = fetchurl {
+        name = "htmlparser2___htmlparser2_3.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz";
+        sha1 = "bd679dc3f59897b6a34bb10749c855bb53a9392f";
+      };
+    }
+    {
+      name = "http_deceiver___http_deceiver_1.2.7.tgz";
+      path = fetchurl {
+        name = "http_deceiver___http_deceiver_1.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz";
+        sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.2.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
+        sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.6.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    }
+    {
+      name = "http_errors___http_errors_1.7.3.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz";
+        sha1 = "6c619e4f9c60308c38519498c14fbb10aacebb06";
+      };
+    }
+    {
+      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_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+      path = fetchurl {
+        name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz";
+        sha1 = "183c7dc4aa1479150306498c210cdaf96080a43a";
+      };
+    }
+    {
+      name = "http_proxy___http_proxy_1.18.0.tgz";
+      path = fetchurl {
+        name = "http_proxy___http_proxy_1.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz";
+        sha1 = "dbe55f63e75a347db7f3d99974f2692a314a6a3a";
+      };
+    }
+    {
+      name = "http_signature___http_signature_1.2.0.tgz";
+      path = fetchurl {
+        name = "http_signature___http_signature_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    }
+    {
+      name = "https_browserify___https_browserify_1.0.0.tgz";
+      path = fetchurl {
+        name = "https_browserify___https_browserify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz";
+        sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73";
+      };
+    }
+    {
+      name = "i___i_0.3.6.tgz";
+      path = fetchurl {
+        name = "i___i_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz";
+        sha1 = "d96c92732076f072711b6b10fd7d4f65ad8ee23d";
+      };
+    }
+    {
+      name = "iconv_lite___iconv_lite_0.4.24.tgz";
+      path = fetchurl {
+        name = "iconv_lite___iconv_lite_0.4.24.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b";
+      };
+    }
+    {
+      name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+      path = fetchurl {
+        name = "icss_replace_symbols___icss_replace_symbols_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz";
+        sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded";
+      };
+    }
+    {
+      name = "icss_utils___icss_utils_4.1.1.tgz";
+      path = fetchurl {
+        name = "icss_utils___icss_utils_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz";
+        sha1 = "21170b53789ee27447c2f47dd683081403f9a467";
+      };
+    }
+    {
+      name = "identity_obj_proxy___identity_obj_proxy_3.0.0.tgz";
+      path = fetchurl {
+        name = "identity_obj_proxy___identity_obj_proxy_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz";
+        sha1 = "94d2bda96084453ef36fbc5aaec37e0f79f1fc14";
+      };
+    }
+    {
+      name = "ieee754___ieee754_1.1.13.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz";
+        sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84";
+      };
+    }
+    {
+      name = "iferr___iferr_0.1.5.tgz";
+      path = fetchurl {
+        name = "iferr___iferr_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    }
+    {
+      name = "ignore_walk___ignore_walk_3.0.3.tgz";
+      path = fetchurl {
+        name = "ignore_walk___ignore_walk_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz";
+        sha1 = "017e2447184bfeade7c238e4aefdd1e8f95b1e37";
+      };
+    }
+    {
+      name = "ignore___ignore_3.3.10.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_3.3.10.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz";
+        sha1 = "0a97fb876986e8081c631160f8f9f389157f0043";
+      };
+    }
+    {
+      name = "ignore___ignore_4.0.6.tgz";
+      path = fetchurl {
+        name = "ignore___ignore_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
+        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+      };
+    }
+    {
+      name = "immer___immer_1.10.0.tgz";
+      path = fetchurl {
+        name = "immer___immer_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz";
+        sha1 = "bad67605ba9c810275d91e1c2a47d4582e98286d";
+      };
+    }
+    {
+      name = "import_cwd___import_cwd_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_cwd___import_cwd_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz";
+        sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz";
+        sha1 = "d81355c15612d386c61f9ddd3922d4304822a546";
+      };
+    }
+    {
+      name = "import_fresh___import_fresh_3.1.0.tgz";
+      path = fetchurl {
+        name = "import_fresh___import_fresh_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz";
+        sha1 = "6d33fa1dcef6df930fae003446f33415af905118";
+      };
+    }
+    {
+      name = "import_from___import_from_2.1.0.tgz";
+      path = fetchurl {
+        name = "import_from___import_from_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz";
+        sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1";
+      };
+    }
+    {
+      name = "import_local___import_local_2.0.0.tgz";
+      path = fetchurl {
+        name = "import_local___import_local_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz";
+        sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d";
+      };
+    }
+    {
+      name = "imurmurhash___imurmurhash_0.1.4.tgz";
+      path = fetchurl {
+        name = "imurmurhash___imurmurhash_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    }
+    {
+      name = "indexes_of___indexes_of_1.0.1.tgz";
+      path = fetchurl {
+        name = "indexes_of___indexes_of_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    }
+    {
+      name = "infer_owner___infer_owner_1.0.4.tgz";
+      path = fetchurl {
+        name = "infer_owner___infer_owner_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz";
+        sha1 = "c4cefcaa8e51051c2a40ba2ce8a3d27295af9467";
+      };
+    }
+    {
+      name = "inflight___inflight_1.0.6.tgz";
+      path = fetchurl {
+        name = "inflight___inflight_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.4.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
+        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.1.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    }
+    {
+      name = "inherits___inherits_2.0.3.tgz";
+      path = fetchurl {
+        name = "inherits___inherits_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    }
+    {
+      name = "ini___ini_1.3.5.tgz";
+      path = fetchurl {
+        name = "ini___ini_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz";
+        sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.5.0.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz";
+        sha1 = "2303317efc9a4ea7ec2e2df6f86569b734accf42";
+      };
+    }
+    {
+      name = "inquirer___inquirer_6.5.2.tgz";
+      path = fetchurl {
+        name = "inquirer___inquirer_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz";
+        sha1 = "ad50942375d036d327ff528c08bd5fab089928ca";
+      };
+    }
+    {
+      name = "internal_ip___internal_ip_4.3.0.tgz";
+      path = fetchurl {
+        name = "internal_ip___internal_ip_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz";
+        sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907";
+      };
+    }
+    {
+      name = "invariant___invariant_2.2.4.tgz";
+      path = fetchurl {
+        name = "invariant___invariant_2.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz";
+        sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6";
+      };
+    }
+    {
+      name = "invert_kv___invert_kv_2.0.0.tgz";
+      path = fetchurl {
+        name = "invert_kv___invert_kv_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz";
+        sha1 = "7393f5afa59ec9ff5f67a27620d11c226e3eec02";
+      };
+    }
+    {
+      name = "ip_regex___ip_regex_2.1.0.tgz";
+      path = fetchurl {
+        name = "ip_regex___ip_regex_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz";
+        sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
+      };
+    }
+    {
+      name = "ip___ip_1.1.5.tgz";
+      path = fetchurl {
+        name = "ip___ip_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz";
+        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.0.tgz";
+        sha1 = "37df74e430a0e47550fe54a2defe30d8acd95f65";
+      };
+    }
+    {
+      name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+      path = fetchurl {
+        name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
+        sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3";
+      };
+    }
+    {
+      name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_absolute_url___is_absolute_url_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    }
+    {
+      name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656";
+      };
+    }
+    {
+      name = "is_arguments___is_arguments_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_arguments___is_arguments_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz";
+        sha1 = "3faf966c7cba0ff437fb31f6250082fcf0448cf3";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.2.1.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.3.2.tgz";
+      path = fetchurl {
+        name = "is_arrayish___is_arrayish_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz";
+        sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    }
+    {
+      name = "is_binary_path___is_binary_path_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_binary_path___is_binary_path_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz";
+        sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09";
+      };
+    }
+    {
+      name = "is_boolean_object___is_boolean_object_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_boolean_object___is_boolean_object_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.0.0.tgz";
+        sha1 = "98f8b28030684219a95f375cfbd88ce3405dff93";
+      };
+    }
+    {
+      name = "is_buffer___is_buffer_1.1.6.tgz";
+      path = fetchurl {
+        name = "is_buffer___is_buffer_1.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be";
+      };
+    }
+    {
+      name = "is_callable___is_callable_1.1.4.tgz";
+      path = fetchurl {
+        name = "is_callable___is_callable_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz";
+        sha1 = "1e1adf219e1eeb684d691f9d6a05ff0d30a24d75";
+      };
+    }
+    {
+      name = "is_ci___is_ci_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_ci___is_ci_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
+        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+      };
+    }
+    {
+      name = "is_color_stop___is_color_stop_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_color_stop___is_color_stop_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz";
+        sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    }
+    {
+      name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7";
+      };
+    }
+    {
+      name = "is_date_object___is_date_object_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_date_object___is_date_object_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_0.1.6.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_0.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca";
+      };
+    }
+    {
+      name = "is_descriptor___is_descriptor_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_descriptor___is_descriptor_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec";
+      };
+    }
+    {
+      name = "is_directory___is_directory_0.3.1.tgz";
+      path = fetchurl {
+        name = "is_directory___is_directory_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz";
+        sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    }
+    {
+      name = "is_extendable___is_extendable_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_extendable___is_extendable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4";
+      };
+    }
+    {
+      name = "is_extglob___is_extglob_2.1.1.tgz";
+      path = fetchurl {
+        name = "is_extglob___is_extglob_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    }
+    {
+      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+      path = fetchurl {
+        name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    }
+    {
+      name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
+        sha1 = "7d140adc389aaf3011a8f2a2a4cfa6faadffb118";
+      };
+    }
+    {
+      name = "is_glob___is_glob_3.1.0.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    }
+    {
+      name = "is_glob___is_glob_4.0.1.tgz";
+      path = fetchurl {
+        name = "is_glob___is_glob_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz";
+        sha1 = "7567dbe9f2f5e2467bc77ab83c4a29482407a5dc";
+      };
+    }
+    {
+      name = "is_number_object___is_number_object_1.0.3.tgz";
+      path = fetchurl {
+        name = "is_number_object___is_number_object_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz";
+        sha1 = "f265ab89a9f445034ef6aff15a8f00b00f551799";
+      };
+    }
+    {
+      name = "is_number___is_number_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    }
+    {
+      name = "is_number___is_number_7.0.0.tgz";
+      path = fetchurl {
+        name = "is_number___is_number_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz";
+        sha1 = "7535345b896734d5f80c4d06c50955527a14f12b";
+      };
+    }
+    {
+      name = "is_obj___is_obj_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_obj___is_obj_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz";
+        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+      };
+    }
+    {
+      name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_path_cwd___is_path_cwd_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
+        sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
+      };
+    }
+    {
+      name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_path_in_cwd___is_path_in_cwd_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz";
+        sha1 = "5ac48b345ef675339bd6c7a48a912110b241cf52";
+      };
+    }
+    {
+      name = "is_path_inside___is_path_inside_1.0.1.tgz";
+      path = fetchurl {
+        name = "is_path_inside___is_path_inside_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz";
+        sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677";
+      };
+    }
+    {
+      name = "is_promise___is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_promise___is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    }
+    {
+      name = "is_regex___is_regex_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_regex___is_regex_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    }
+    {
+      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_resolvable___is_resolvable_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_resolvable___is_resolvable_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88";
+      };
+    }
+    {
+      name = "is_root___is_root_2.1.0.tgz";
+      path = fetchurl {
+        name = "is_root___is_root_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz";
+        sha1 = "809e18129cf1129644302a4f8544035d51984a9c";
+      };
+    }
+    {
+      name = "is_stream___is_stream_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    }
+    {
+      name = "is_string___is_string_1.0.4.tgz";
+      path = fetchurl {
+        name = "is_string___is_string_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.4.tgz";
+        sha1 = "cc3a9b69857d621e963725a24caeec873b826e64";
+      };
+    }
+    {
+      name = "is_subset___is_subset_0.1.1.tgz";
+      path = fetchurl {
+        name = "is_subset___is_subset_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz";
+        sha1 = "8a59117d932de1de00f245fcdd39ce43f1e939a6";
+      };
+    }
+    {
+      name = "is_svg___is_svg_3.0.0.tgz";
+      path = fetchurl {
+        name = "is_svg___is_svg_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz";
+        sha1 = "9321dbd29c212e5ca99c4fa9794c714bcafa2f75";
+      };
+    }
+    {
+      name = "is_symbol___is_symbol_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_symbol___is_symbol_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz";
+        sha1 = "a055f6ae57192caee329e7a860118b497a950f38";
+      };
+    }
+    {
+      name = "is_typedarray___is_typedarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "is_typedarray___is_typedarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    }
+    {
+      name = "is_windows___is_windows_1.0.2.tgz";
+      path = fetchurl {
+        name = "is_windows___is_windows_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz";
+        sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d";
+      };
+    }
+    {
+      name = "is_wsl___is_wsl_1.1.0.tgz";
+      path = fetchurl {
+        name = "is_wsl___is_wsl_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz";
+        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
+      };
+    }
+    {
+      name = "isarray___isarray_0.0.1.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    }
+    {
+      name = "isarray___isarray_1.0.0.tgz";
+      path = fetchurl {
+        name = "isarray___isarray_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    }
+    {
+      name = "isexe___isexe_2.0.0.tgz";
+      path = fetchurl {
+        name = "isexe___isexe_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    }
+    {
+      name = "isobject___isobject_2.1.0.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    }
+    {
+      name = "isobject___isobject_3.0.1.tgz";
+      path = fetchurl {
+        name = "isobject___isobject_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    }
+    {
+      name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz";
+      path = fetchurl {
+        name = "isomorphic_fetch___isomorphic_fetch_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz";
+        sha1 = "611ae1acf14f5e81f729507472819fe9733558a9";
+      };
+    }
+    {
+      name = "isstream___isstream_0.1.2.tgz";
+      path = fetchurl {
+        name = "isstream___isstream_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    }
+    {
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
+        sha1 = "675f0ab69503fad4b1d849f736baaca803344f49";
+      };
+    }
+    {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
+        sha1 = "a5f63d91f0bbc0c3e479ef4c5de027335ec6d630";
+      };
+    }
+    {
+      name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_report___istanbul_lib_report_2.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
+        sha1 = "5a8113cd746d43c4889eba36ab10e7d50c9b4f33";
+      };
+    }
+    {
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
+        sha1 = "284997c48211752ec486253da97e3879defba8c8";
+      };
+    }
+    {
+      name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+      path = fetchurl {
+        name = "istanbul_reports___istanbul_reports_2.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz";
+        sha1 = "7b4f2660d82b29303a8fe6091f8ca4bf058da1af";
+      };
+    }
+    {
+      name = "jest_changed_files___jest_changed_files_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_changed_files___jest_changed_files_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz";
+        sha1 = "08d8c15eb79a7fa3fc98269bc14b451ee82f8039";
+      };
+    }
+    {
+      name = "jest_cli___jest_cli_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_cli___jest_cli_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz";
+        sha1 = "ad2de62d07472d419c6abc301fc432b98b10d2af";
+      };
+    }
+    {
+      name = "jest_config___jest_config_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_config___jest_config_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz";
+        sha1 = "fb1bbc60c73a46af03590719efa4825e6e4dd1b5";
+      };
+    }
+    {
+      name = "jest_diff___jest_diff_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_diff___jest_diff_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz";
+        sha1 = "931b7d0d5778a1baf7452cb816e325e3724055da";
+      };
+    }
+    {
+      name = "jest_docblock___jest_docblock_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_docblock___jest_docblock_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz";
+        sha1 = "7970201802ba560e1c4092cc25cbedf5af5a8ce2";
+      };
+    }
+    {
+      name = "jest_each___jest_each_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_each___jest_each_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz";
+        sha1 = "eb2da602e2a610898dbc5f1f6df3ba86b55f8b05";
+      };
+    }
+    {
+      name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom_fourteen___jest_environment_jsdom_fourteen_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz";
+        sha1 = "aad6393a9d4b565b69a609109bf469f62bf18ccc";
+      };
+    }
+    {
+      name = "jest_environment_jsdom___jest_environment_jsdom_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_jsdom___jest_environment_jsdom_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz";
+        sha1 = "4b0806c7fc94f95edb369a69cc2778eec2b7375b";
+      };
+    }
+    {
+      name = "jest_environment_node___jest_environment_node_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_environment_node___jest_environment_node_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz";
+        sha1 = "333d2d2796f9687f2aeebf0742b519f33c1cbfd3";
+      };
+    }
+    {
+      name = "jest_fetch_mock___jest_fetch_mock_2.1.2.tgz";
+      path = fetchurl {
+        name = "jest_fetch_mock___jest_fetch_mock_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-2.1.2.tgz";
+        sha1 = "1260b347918e3931c4ec743ceaf60433da661bd0";
+      };
+    }
+    {
+      name = "jest_get_type___jest_get_type_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_get_type___jest_get_type_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz";
+        sha1 = "1684a0c8a50f2e4901b6644ae861f579eed2ef0e";
+      };
+    }
+    {
+      name = "jest_haste_map___jest_haste_map_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_haste_map___jest_haste_map_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz";
+        sha1 = "b38a5d64274934e21fa417ae9a9fbeb77ceaac7d";
+      };
+    }
+    {
+      name = "jest_jasmine2___jest_jasmine2_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_jasmine2___jest_jasmine2_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz";
+        sha1 = "1f7b1bd3242c1774e62acabb3646d96afc3be6a0";
+      };
+    }
+    {
+      name = "jest_leak_detector___jest_leak_detector_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_leak_detector___jest_leak_detector_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz";
+        sha1 = "b665dea7c77100c5c4f7dfcb153b65cf07dcf96a";
+      };
+    }
+    {
+      name = "jest_matcher_utils___jest_matcher_utils_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_matcher_utils___jest_matcher_utils_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz";
+        sha1 = "f5b3661d5e628dffe6dd65251dfdae0e87c3a073";
+      };
+    }
+    {
+      name = "jest_message_util___jest_message_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_message_util___jest_message_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz";
+        sha1 = "527f54a1e380f5e202a8d1149b0ec872f43119e3";
+      };
+    }
+    {
+      name = "jest_mock___jest_mock_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_mock___jest_mock_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz";
+        sha1 = "c22835541ee379b908673ad51087a2185c13f1c6";
+      };
+    }
+    {
+      name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+      path = fetchurl {
+        name = "jest_pnp_resolver___jest_pnp_resolver_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz";
+        sha1 = "ecdae604c077a7fbc70defb6d517c3c1c898923a";
+      };
+    }
+    {
+      name = "jest_regex_util___jest_regex_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_regex_util___jest_regex_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz";
+        sha1 = "c13fb3380bde22bf6575432c493ea8fe37965636";
+      };
+    }
+    {
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz";
+        sha1 = "ad055198959c4cfba8a4f066c673a3f0786507ab";
+      };
+    }
+    {
+      name = "jest_resolve___jest_resolve_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_resolve___jest_resolve_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz";
+        sha1 = "dff04c7687af34c4dd7e524892d9cf77e5d17321";
+      };
+    }
+    {
+      name = "jest_runner___jest_runner_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_runner___jest_runner_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz";
+        sha1 = "574fafdbd54455c2b34b4bdf4365a23857fcdf42";
+      };
+    }
+    {
+      name = "jest_runtime___jest_runtime_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_runtime___jest_runtime_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz";
+        sha1 = "9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac";
+      };
+    }
+    {
+      name = "jest_serializer___jest_serializer_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_serializer___jest_serializer_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz";
+        sha1 = "e6d7d7ef96d31e8b9079a714754c5d5c58288e73";
+      };
+    }
+    {
+      name = "jest_snapshot___jest_snapshot_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_snapshot___jest_snapshot_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz";
+        sha1 = "ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba";
+      };
+    }
+    {
+      name = "jest_util___jest_util_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_util___jest_util_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz";
+        sha1 = "7396814e48536d2e85a37de3e4c431d7cb140162";
+      };
+    }
+    {
+      name = "jest_validate___jest_validate_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_validate___jest_validate_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz";
+        sha1 = "0775c55360d173cd854e40180756d4ff52def8ab";
+      };
+    }
+    {
+      name = "jest_watch_typeahead___jest_watch_typeahead_0.4.0.tgz";
+      path = fetchurl {
+        name = "jest_watch_typeahead___jest_watch_typeahead_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.0.tgz";
+        sha1 = "4d5356839a85421588ce452d2440bf0d25308397";
+      };
+    }
+    {
+      name = "jest_watcher___jest_watcher_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_watcher___jest_watcher_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz";
+        sha1 = "4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b";
+      };
+    }
+    {
+      name = "jest_worker___jest_worker_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest_worker___jest_worker_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz";
+        sha1 = "5dbfdb5b2d322e98567898238a9697bcce67b3e5";
+      };
+    }
+    {
+      name = "jest___jest_24.9.0.tgz";
+      path = fetchurl {
+        name = "jest___jest_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz";
+        sha1 = "987d290c05a08b52c56188c1002e368edb007171";
+      };
+    }
+    {
+      name = "jquery.flot.tooltip___jquery.flot.tooltip_0.9.0.tgz";
+      path = fetchurl {
+        name = "jquery.flot.tooltip___jquery.flot.tooltip_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/jquery.flot.tooltip/-/jquery.flot.tooltip-0.9.0.tgz";
+        sha1 = "ae16bf94b26c2ed9ab4db167bba52dfdb615c1df";
+      };
+    }
+    {
+      name = "jquery___jquery_3.4.1.tgz";
+      path = fetchurl {
+        name = "jquery___jquery_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz";
+        sha1 = "714f1f8d9dde4bdfa55764ba37ef214630d80ef2";
+      };
+    }
+    {
+      name = "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_tokens___js_tokens_4.0.0.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz";
+        sha1 = "19203fb59991df98e3a287050d4647cdeaf32499";
+      };
+    }
+    {
+      name = "js_tokens___js_tokens_3.0.2.tgz";
+      path = fetchurl {
+        name = "js_tokens___js_tokens_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    }
+    {
+      name = "js_yaml___js_yaml_3.13.1.tgz";
+      path = fetchurl {
+        name = "js_yaml___js_yaml_3.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz";
+        sha1 = "aff151b30bfdfa8e49e05da22e7415e9dfa37847";
+      };
+    }
+    {
+      name = "jsbn___jsbn_0.1.1.tgz";
+      path = fetchurl {
+        name = "jsbn___jsbn_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    }
+    {
+      name = "jsdom___jsdom_11.12.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_11.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz";
+        sha1 = "1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8";
+      };
+    }
+    {
+      name = "jsdom___jsdom_14.1.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_14.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz";
+        sha1 = "916463b6094956b0a6c1782c94e380cd30e1981b";
+      };
+    }
+    {
+      name = "jsdom___jsdom_15.2.0.tgz";
+      path = fetchurl {
+        name = "jsdom___jsdom_15.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.0.tgz";
+        sha1 = "4baead4f464e733533ed6ac607ce440918cf5cbb";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    }
+    {
+      name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+      path = fetchurl {
+        name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9";
+      };
+    }
+    {
+      name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+      path = fetchurl {
+        name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
+      };
+    }
+    {
+      name = "json_schema___json_schema_0.2.3.tgz";
+      path = fetchurl {
+        name = "json_schema___json_schema_0.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    }
+    {
+      name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+      };
+    }
+    {
+      name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+      path = fetchurl {
+        name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    }
+    {
+      name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+      path = fetchurl {
+        name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    }
+    {
+      name = "json3___json3_3.3.3.tgz";
+      path = fetchurl {
+        name = "json3___json3_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz";
+        sha1 = "7fc10e375fc5ae42c4705a5cc0aa6f62be305b81";
+      };
+    }
+    {
+      name = "json5___json5_1.0.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz";
+        sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe";
+      };
+    }
+    {
+      name = "json5___json5_2.1.1.tgz";
+      path = fetchurl {
+        name = "json5___json5_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz";
+        sha1 = "81b6cb04e9ba496f1c7005d07b4368a2638f90b6";
+      };
+    }
+    {
+      name = "jsonfile___jsonfile_4.0.0.tgz";
+      path = fetchurl {
+        name = "jsonfile___jsonfile_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    }
+    {
+      name = "jsonify___jsonify_0.0.0.tgz";
+      path = fetchurl {
+        name = "jsonify___jsonify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+      };
+    }
+    {
+      name = "jsprim___jsprim_1.4.1.tgz";
+      path = fetchurl {
+        name = "jsprim___jsprim_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    }
+    {
+      name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz";
+      path = fetchurl {
+        name = "jsx_ast_utils___jsx_ast_utils_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz";
+        sha1 = "4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb";
+      };
+    }
+    {
+      name = "just_extend___just_extend_4.0.2.tgz";
+      path = fetchurl {
+        name = "just_extend___just_extend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz";
+        sha1 = "f3f47f7dfca0f989c55410a7ebc8854b07108afc";
+      };
+    }
+    {
+      name = "killable___killable_1.0.1.tgz";
+      path = fetchurl {
+        name = "killable___killable_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz";
+        sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892";
+      };
+    }
+    {
+      name = "kind_of___kind_of_2.0.1.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz";
+        sha1 = "018ec7a4ce7e3a86cb9141be519d24c8faa981b5";
+      };
+    }
+    {
+      name = "kind_of___kind_of_3.2.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_3.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    }
+    {
+      name = "kind_of___kind_of_4.0.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    }
+    {
+      name = "kind_of___kind_of_5.1.0.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz";
+        sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d";
+      };
+    }
+    {
+      name = "kind_of___kind_of_6.0.2.tgz";
+      path = fetchurl {
+        name = "kind_of___kind_of_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz";
+        sha1 = "01146b36a6218e64e58f3a8d66de5d7fc6f6d051";
+      };
+    }
+    {
+      name = "kleur___kleur_3.0.3.tgz";
+      path = fetchurl {
+        name = "kleur___kleur_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz";
+        sha1 = "a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
+      };
+    }
+    {
+      name = "last_call_webpack_plugin___last_call_webpack_plugin_3.0.0.tgz";
+      path = fetchurl {
+        name = "last_call_webpack_plugin___last_call_webpack_plugin_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz";
+        sha1 = "9742df0e10e3cf46e5c0381c2de90d3a7a2d7555";
+      };
+    }
+    {
+      name = "lazy_cache___lazy_cache_0.2.7.tgz";
+      path = fetchurl {
+        name = "lazy_cache___lazy_cache_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz";
+        sha1 = "7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65";
+      };
+    }
+    {
+      name = "lazy_cache___lazy_cache_1.0.4.tgz";
+      path = fetchurl {
+        name = "lazy_cache___lazy_cache_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    }
+    {
+      name = "lcid___lcid_2.0.0.tgz";
+      path = fetchurl {
+        name = "lcid___lcid_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz";
+        sha1 = "6ef5d2df60e52f82eb228a4c373e8d1f397253cf";
+      };
+    }
+    {
+      name = "left_pad___left_pad_1.3.0.tgz";
+      path = fetchurl {
+        name = "left_pad___left_pad_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz";
+        sha1 = "5b8a3a7765dfe001261dde915589e782f8c94d1e";
+      };
+    }
+    {
+      name = "leven___leven_3.1.0.tgz";
+      path = fetchurl {
+        name = "leven___leven_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz";
+        sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2";
+      };
+    }
+    {
+      name = "levn___levn_0.3.0.tgz";
+      path = fetchurl {
+        name = "levn___levn_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    }
+    {
+      name = "load_json_file___load_json_file_2.0.0.tgz";
+      path = fetchurl {
+        name = "load_json_file___load_json_file_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz";
+        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+      };
+    }
+    {
+      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_fs_cache___loader_fs_cache_1.0.2.tgz";
+      path = fetchurl {
+        name = "loader_fs_cache___loader_fs_cache_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz";
+        sha1 = "54cedf6b727e1779fd8f01205f05f6e88706f086";
+      };
+    }
+    {
+      name = "loader_runner___loader_runner_2.4.0.tgz";
+      path = fetchurl {
+        name = "loader_runner___loader_runner_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz";
+        sha1 = "ed47066bfe534d7e84c4c7b9998c2a75607d9357";
+      };
+    }
+    {
+      name = "loader_utils___loader_utils_1.2.3.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz";
+        sha1 = "1ff5dc6911c9f0a062531a4c04b609406108c2c7";
+      };
+    }
+    {
+      name = "locate_path___locate_path_2.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    }
+    {
+      name = "locate_path___locate_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "locate_path___locate_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz";
+        sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e";
+      };
+    }
+    {
+      name = "lodash_es___lodash_es_4.17.15.tgz";
+      path = fetchurl {
+        name = "lodash_es___lodash_es_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.15.tgz";
+        sha1 = "21bd96839354412f23d7a10340e5eac6ee455d78";
+      };
+    }
+    {
+      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.clonedeep___lodash.clonedeep_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
+        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+      };
+    }
+    {
+      name = "lodash.escape___lodash.escape_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.escape___lodash.escape_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz";
+        sha1 = "c9044690c21e04294beaa517712fded1fa88de98";
+      };
+    }
+    {
+      name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.escaperegexp___lodash.escaperegexp_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz";
+        sha1 = "64762c48618082518ac3df4ccf5d5886dae20347";
+      };
+    }
+    {
+      name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz";
+      path = fetchurl {
+        name = "lodash.flattendeep___lodash.flattendeep_4.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz";
+        sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
+      };
+    }
+    {
+      name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.isequal___lodash.isequal_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz";
+        sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
+      };
+    }
+    {
+      name = "lodash.isfunction___lodash.isfunction_3.0.9.tgz";
+      path = fetchurl {
+        name = "lodash.isfunction___lodash.isfunction_3.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz";
+        sha1 = "06de25df4db327ac931981d1bdb067e5af68d051";
+      };
+    }
+    {
+      name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
+      path = fetchurl {
+        name = "lodash.isobject___lodash.isobject_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz";
+        sha1 = "3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d";
+      };
+    }
+    {
+      name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+      path = fetchurl {
+        name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz";
+        sha1 = "7c526a52d89b45c45cc690b88163be0497f550cb";
+      };
+    }
+    {
+      name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz";
+        sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
+      };
+    }
+    {
+      name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+      path = fetchurl {
+        name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    }
+    {
+      name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+      path = fetchurl {
+        name = "lodash.mergewith___lodash.mergewith_4.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz";
+        sha1 = "617121f89ac55f59047c7aec1ccd6654c6590f55";
+      };
+    }
+    {
+      name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+      path = fetchurl {
+        name = "lodash.sortby___lodash.sortby_4.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz";
+        sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438";
+      };
+    }
+    {
+      name = "lodash.template___lodash.template_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.template___lodash.template_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz";
+        sha1 = "f976195cf3f347d0d5f52483569fe8031ccce8ab";
+      };
+    }
+    {
+      name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
+      path = fetchurl {
+        name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz";
+        sha1 = "e481310f049d3cf6d47e912ad09313b154f0fb33";
+      };
+    }
+    {
+      name = "lodash.tonumber___lodash.tonumber_4.0.3.tgz";
+      path = fetchurl {
+        name = "lodash.tonumber___lodash.tonumber_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.tonumber/-/lodash.tonumber-4.0.3.tgz";
+        sha1 = "0b96b31b35672793eb7f5a63ee791f1b9e9025d9";
+      };
+    }
+    {
+      name = "lodash.unescape___lodash.unescape_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.unescape___lodash.unescape_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz";
+        sha1 = "bf2249886ce514cda112fae9218cdc065211fc9c";
+      };
+    }
+    {
+      name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+      path = fetchurl {
+        name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    }
+    {
+      name = "lodash___lodash_4.17.15.tgz";
+      path = fetchurl {
+        name = "lodash___lodash_4.17.15.tgz";
+        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz";
+        sha1 = "b447f6670a0455bbfeedd11392eff330ea097548";
+      };
+    }
+    {
+      name = "loglevel___loglevel_1.6.4.tgz";
+      path = fetchurl {
+        name = "loglevel___loglevel_1.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.4.tgz";
+        sha1 = "f408f4f006db8354d0577dcf6d33485b3cb90d56";
+      };
+    }
+    {
+      name = "lolex___lolex_4.2.0.tgz";
+      path = fetchurl {
+        name = "lolex___lolex_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz";
+        sha1 = "ddbd7f6213ca1ea5826901ab1222b65d714b3cd7";
+      };
+    }
+    {
+      name = "loose_envify___loose_envify_1.4.0.tgz";
+      path = fetchurl {
+        name = "loose_envify___loose_envify_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf";
+      };
+    }
+    {
+      name = "lower_case___lower_case_1.1.4.tgz";
+      path = fetchurl {
+        name = "lower_case___lower_case_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz";
+        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+      };
+    }
+    {
+      name = "lru_cache___lru_cache_5.1.1.tgz";
+      path = fetchurl {
+        name = "lru_cache___lru_cache_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz";
+        sha1 = "1da27e6710271947695daf6848e847f01d84b920";
+      };
+    }
+    {
+      name = "make_dir___make_dir_2.1.0.tgz";
+      path = fetchurl {
+        name = "make_dir___make_dir_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz";
+        sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5";
+      };
+    }
+    {
+      name = "makeerror___makeerror_1.0.11.tgz";
+      path = fetchurl {
+        name = "makeerror___makeerror_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
+        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+      };
+    }
+    {
+      name = "mamacro___mamacro_0.0.3.tgz";
+      path = fetchurl {
+        name = "mamacro___mamacro_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz";
+        sha1 = "ad2c9576197c9f1abf308d0787865bd975a3f3e4";
+      };
+    }
+    {
+      name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+      path = fetchurl {
+        name = "map_age_cleaner___map_age_cleaner_0.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz";
+        sha1 = "7d583a7306434c055fe474b0f45078e6e1b4b92a";
+      };
+    }
+    {
+      name = "map_cache___map_cache_0.2.2.tgz";
+      path = fetchurl {
+        name = "map_cache___map_cache_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    }
+    {
+      name = "map_visit___map_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "map_visit___map_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    }
+    {
+      name = "md5.js___md5.js_1.3.5.tgz";
+      path = fetchurl {
+        name = "md5.js___md5.js_1.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz";
+        sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_2.0.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz";
+        sha1 = "699b3c38ac6f1d728091a64650b65d388502fd5b";
+      };
+    }
+    {
+      name = "mdn_data___mdn_data_1.1.4.tgz";
+      path = fetchurl {
+        name = "mdn_data___mdn_data_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz";
+        sha1 = "50b5d4ffc4575276573c4eedb8780812a8419f01";
+      };
+    }
+    {
+      name = "media_typer___media_typer_0.3.0.tgz";
+      path = fetchurl {
+        name = "media_typer___media_typer_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    }
+    {
+      name = "mem___mem_4.3.0.tgz";
+      path = fetchurl {
+        name = "mem___mem_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz";
+        sha1 = "461af497bc4ae09608cdb2e60eefb69bff744178";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.4.1.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz";
+        sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552";
+      };
+    }
+    {
+      name = "memory_fs___memory_fs_0.5.0.tgz";
+      path = fetchurl {
+        name = "memory_fs___memory_fs_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz";
+        sha1 = "324c01288b88652966d161db77838720845a8e3c";
+      };
+    }
+    {
+      name = "merge_deep___merge_deep_3.0.2.tgz";
+      path = fetchurl {
+        name = "merge_deep___merge_deep_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz";
+        sha1 = "f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2";
+      };
+    }
+    {
+      name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+      path = fetchurl {
+        name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    }
+    {
+      name = "merge_stream___merge_stream_2.0.0.tgz";
+      path = fetchurl {
+        name = "merge_stream___merge_stream_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz";
+        sha1 = "52823629a14dd00c9770fb6ad47dc6310f2c1f60";
+      };
+    }
+    {
+      name = "merge2___merge2_1.3.0.tgz";
+      path = fetchurl {
+        name = "merge2___merge2_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz";
+        sha1 = "5b366ee83b2f1582c48f87e47cf1a9352103ca81";
+      };
+    }
+    {
+      name = "methods___methods_1.1.2.tgz";
+      path = fetchurl {
+        name = "methods___methods_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    }
+    {
+      name = "microevent.ts___microevent.ts_0.1.1.tgz";
+      path = fetchurl {
+        name = "microevent.ts___microevent.ts_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz";
+        sha1 = "70b09b83f43df5172d0205a63025bce0f7357fa0";
+      };
+    }
+    {
+      name = "micromatch___micromatch_3.1.10.tgz";
+      path = fetchurl {
+        name = "micromatch___micromatch_3.1.10.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz";
+        sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23";
+      };
+    }
+    {
+      name = "miller_rabin___miller_rabin_4.0.1.tgz";
+      path = fetchurl {
+        name = "miller_rabin___miller_rabin_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz";
+        sha1 = "f080351c865b0dc562a8462966daa53543c78a4d";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.40.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.40.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz";
+        sha1 = "a65057e998db090f732a68f6c276d387d4126c32";
+      };
+    }
+    {
+      name = "mime_db___mime_db_1.42.0.tgz";
+      path = fetchurl {
+        name = "mime_db___mime_db_1.42.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.42.0.tgz";
+        sha1 = "3e252907b4c7adb906597b4b65636272cf9e7bac";
+      };
+    }
+    {
+      name = "mime_types___mime_types_2.1.24.tgz";
+      path = fetchurl {
+        name = "mime_types___mime_types_2.1.24.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz";
+        sha1 = "b6f8d0b3e951efb77dedeca194cff6d16f676f81";
+      };
+    }
+    {
+      name = "mime___mime_1.6.0.tgz";
+      path = fetchurl {
+        name = "mime___mime_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz";
+        sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz";
+        sha1 = "820c86a39334640e99516928bd03fca88057d022";
+      };
+    }
+    {
+      name = "mimic_fn___mimic_fn_2.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_fn___mimic_fn_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz";
+        sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b";
+      };
+    }
+    {
+      name = "mini_css_extract_plugin___mini_css_extract_plugin_0.8.0.tgz";
+      path = fetchurl {
+        name = "mini_css_extract_plugin___mini_css_extract_plugin_0.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz";
+        sha1 = "81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1";
+      };
+    }
+    {
+      name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7";
+      };
+    }
+    {
+      name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+      path = fetchurl {
+        name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";
+        sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+      };
+    }
+    {
+      name = "minimist___minimist_0.0.8.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_0.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    }
+    {
+      name = "minimist___minimist_1.2.0.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    }
+    {
+      name = "minimist___minimist_0.0.10.tgz";
+      path = fetchurl {
+        name = "minimist___minimist_0.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz";
+        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+      };
+    }
+    {
+      name = "minipass___minipass_2.9.0.tgz";
+      path = fetchurl {
+        name = "minipass___minipass_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz";
+        sha1 = "e713762e7d3e32fed803115cf93e04bca9fcc9a6";
+      };
+    }
+    {
+      name = "minizlib___minizlib_1.3.3.tgz";
+      path = fetchurl {
+        name = "minizlib___minizlib_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz";
+        sha1 = "2290de96818a34c29551c8a8d301216bd65a861d";
+      };
+    }
+    {
+      name = "mississippi___mississippi_3.0.0.tgz";
+      path = fetchurl {
+        name = "mississippi___mississippi_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz";
+        sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022";
+      };
+    }
+    {
+      name = "mixin_deep___mixin_deep_1.3.2.tgz";
+      path = fetchurl {
+        name = "mixin_deep___mixin_deep_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz";
+        sha1 = "1120b43dc359a785dce65b55b82e257ccf479566";
+      };
+    }
+    {
+      name = "mixin_object___mixin_object_2.0.1.tgz";
+      path = fetchurl {
+        name = "mixin_object___mixin_object_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz";
+        sha1 = "4fb949441dab182540f1fe035ba60e1947a5e57e";
+      };
+    }
+    {
+      name = "mkdirp___mkdirp_0.5.1.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_0.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    }
+    {
+      name = "moment_timezone___moment_timezone_0.4.1.tgz";
+      path = fetchurl {
+        name = "moment_timezone___moment_timezone_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.4.1.tgz";
+        sha1 = "81f598c3ad5e22cdad796b67ecd8d88d0f5baa06";
+      };
+    }
+    {
+      name = "moment_timezone___moment_timezone_0.5.27.tgz";
+      path = fetchurl {
+        name = "moment_timezone___moment_timezone_0.5.27.tgz";
+        url  = "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.5.27.tgz";
+        sha1 = "73adec8139b6fe30452e78f210f27b1f346b8877";
+      };
+    }
+    {
+      name = "moment___moment_2.24.0.tgz";
+      path = fetchurl {
+        name = "moment___moment_2.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz";
+        sha1 = "0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b";
+      };
+    }
+    {
+      name = "moo___moo_0.4.3.tgz";
+      path = fetchurl {
+        name = "moo___moo_0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz";
+        sha1 = "3f847a26f31cf625a956a87f2b10fbc013bfd10e";
+      };
+    }
+    {
+      name = "move_concurrently___move_concurrently_1.0.1.tgz";
+      path = fetchurl {
+        name = "move_concurrently___move_concurrently_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    }
+    {
+      name = "ms___ms_2.0.0.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    }
+    {
+      name = "ms___ms_2.1.1.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
+        sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a";
+      };
+    }
+    {
+      name = "ms___ms_2.1.2.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
+        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+      };
+    }
+    {
+      name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+      path = fetchurl {
+        name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
+        sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
+      };
+    }
+    {
+      name = "multicast_dns___multicast_dns_6.2.3.tgz";
+      path = fetchurl {
+        name = "multicast_dns___multicast_dns_6.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz";
+        sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229";
+      };
+    }
+    {
+      name = "mute_stream___mute_stream_0.0.7.tgz";
+      path = fetchurl {
+        name = "mute_stream___mute_stream_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz";
+        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
+      };
+    }
+    {
+      name = "nan___nan_2.14.0.tgz";
+      path = fetchurl {
+        name = "nan___nan_2.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz";
+        sha1 = "7818f722027b2459a86f0295d434d1fc2336c52c";
+      };
+    }
+    {
+      name = "nanomatch___nanomatch_1.2.13.tgz";
+      path = fetchurl {
+        name = "nanomatch___nanomatch_1.2.13.tgz";
+        url  = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119";
+      };
+    }
+    {
+      name = "natural_compare___natural_compare_1.4.0.tgz";
+      path = fetchurl {
+        name = "natural_compare___natural_compare_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    }
+    {
+      name = "nearley___nearley_2.19.0.tgz";
+      path = fetchurl {
+        name = "nearley___nearley_2.19.0.tgz";
+        url  = "https://registry.yarnpkg.com/nearley/-/nearley-2.19.0.tgz";
+        sha1 = "37717781d0fd0f2bfc95e233ebd75678ca4bda46";
+      };
+    }
+    {
+      name = "needle___needle_2.4.0.tgz";
+      path = fetchurl {
+        name = "needle___needle_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz";
+        sha1 = "6833e74975c444642590e15a750288c5f939b57c";
+      };
+    }
+    {
+      name = "negotiator___negotiator_0.6.2.tgz";
+      path = fetchurl {
+        name = "negotiator___negotiator_0.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
+        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
+      };
+    }
+    {
+      name = "neo_async___neo_async_2.6.1.tgz";
+      path = fetchurl {
+        name = "neo_async___neo_async_2.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz";
+        sha1 = "ac27ada66167fa8849a6addd837f6b189ad2081c";
+      };
+    }
+    {
+      name = "next_tick___next_tick_1.0.0.tgz";
+      path = fetchurl {
+        name = "next_tick___next_tick_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    }
+    {
+      name = "nice_try___nice_try_1.0.5.tgz";
+      path = fetchurl {
+        name = "nice_try___nice_try_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz";
+        sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366";
+      };
+    }
+    {
+      name = "nise___nise_1.5.2.tgz";
+      path = fetchurl {
+        name = "nise___nise_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/nise/-/nise-1.5.2.tgz";
+        sha1 = "b6d29af10e48b321b307e10e065199338eeb2652";
+      };
+    }
+    {
+      name = "no_case___no_case_2.3.2.tgz";
+      path = fetchurl {
+        name = "no_case___no_case_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz";
+        sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_2.1.2.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz";
+        sha1 = "ab884e8e7e57e38a944753cec706f788d1768bb5";
+      };
+    }
+    {
+      name = "node_fetch___node_fetch_1.7.3.tgz";
+      path = fetchurl {
+        name = "node_fetch___node_fetch_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz";
+        sha1 = "980f6f72d85211a5347c6b2bc18c5b84c3eb47ef";
+      };
+    }
+    {
+      name = "node_forge___node_forge_0.9.0.tgz";
+      path = fetchurl {
+        name = "node_forge___node_forge_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz";
+        sha1 = "d624050edbb44874adca12bb9a52ec63cb782579";
+      };
+    }
+    {
+      name = "node_int64___node_int64_0.4.0.tgz";
+      path = fetchurl {
+        name = "node_int64___node_int64_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz";
+        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+      };
+    }
+    {
+      name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+      path = fetchurl {
+        name = "node_libs_browser___node_libs_browser_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz";
+        sha1 = "b64f513d18338625f90346d27b0d235e631f6425";
+      };
+    }
+    {
+      name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+      path = fetchurl {
+        name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
+        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
+      };
+    }
+    {
+      name = "node_notifier___node_notifier_5.4.3.tgz";
+      path = fetchurl {
+        name = "node_notifier___node_notifier_5.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz";
+        sha1 = "cb72daf94c93904098e28b9c590fd866e464bd50";
+      };
+    }
+    {
+      name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+      path = fetchurl {
+        name = "node_pre_gyp___node_pre_gyp_0.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz";
+        sha1 = "39ba4bb1439da030295f899e3b520b7785766149";
+      };
+    }
+    {
+      name = "node_releases___node_releases_1.1.36.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_1.1.36.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.36.tgz";
+        sha1 = "44b7cb8254138e87bdbfa47761d0f825e20900b4";
+      };
+    }
+    {
+      name = "nopt___nopt_4.0.1.tgz";
+      path = fetchurl {
+        name = "nopt___nopt_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    }
+    {
+      name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
+        sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_2.1.1.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    }
+    {
+      name = "normalize_path___normalize_path_3.0.0.tgz";
+      path = fetchurl {
+        name = "normalize_path___normalize_path_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz";
+        sha1 = "0dcd69ff23a1c9b11fd0978316644a0388216a65";
+      };
+    }
+    {
+      name = "normalize_range___normalize_range_0.1.2.tgz";
+      path = fetchurl {
+        name = "normalize_range___normalize_range_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz";
+        sha1 = "b2e1c4dc4f7c6d57743df733a4f5978d18650559";
+      };
+    }
+    {
+      name = "npm_bundled___npm_bundled_1.0.6.tgz";
+      path = fetchurl {
+        name = "npm_bundled___npm_bundled_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz";
+        sha1 = "e7ba9aadcef962bb61248f91721cd932b3fe6bdd";
+      };
+    }
+    {
+      name = "npm_packlist___npm_packlist_1.4.6.tgz";
+      path = fetchurl {
+        name = "npm_packlist___npm_packlist_1.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.6.tgz";
+        sha1 = "53ba3ed11f8523079f1457376dd379ee4ea42ff4";
+      };
+    }
+    {
+      name = "npm_run_path___npm_run_path_2.0.2.tgz";
+      path = fetchurl {
+        name = "npm_run_path___npm_run_path_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    }
+    {
+      name = "npmlog___npmlog_4.1.2.tgz";
+      path = fetchurl {
+        name = "npmlog___npmlog_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
+        sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b";
+      };
+    }
+    {
+      name = "nth_check___nth_check_1.0.2.tgz";
+      path = fetchurl {
+        name = "nth_check___nth_check_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz";
+        sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c";
+      };
+    }
+    {
+      name = "num2fraction___num2fraction_1.2.2.tgz";
+      path = fetchurl {
+        name = "num2fraction___num2fraction_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    }
+    {
+      name = "number_is_nan___number_is_nan_1.0.1.tgz";
+      path = fetchurl {
+        name = "number_is_nan___number_is_nan_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    }
+    {
+      name = "nwsapi___nwsapi_2.1.4.tgz";
+      path = fetchurl {
+        name = "nwsapi___nwsapi_2.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz";
+        sha1 = "e006a878db23636f8e8a67d33ca0e4edf61a842f";
+      };
+    }
+    {
+      name = "oauth_sign___oauth_sign_0.9.0.tgz";
+      path = fetchurl {
+        name = "oauth_sign___oauth_sign_0.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455";
+      };
+    }
+    {
+      name = "object_assign___object_assign_4.1.1.tgz";
+      path = fetchurl {
+        name = "object_assign___object_assign_4.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    }
+    {
+      name = "object_copy___object_copy_0.1.0.tgz";
+      path = fetchurl {
+        name = "object_copy___object_copy_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    }
+    {
+      name = "object_hash___object_hash_1.3.1.tgz";
+      path = fetchurl {
+        name = "object_hash___object_hash_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz";
+        sha1 = "fde452098a951cb145f039bb7d455449ddc126df";
+      };
+    }
+    {
+      name = "object_inspect___object_inspect_1.6.0.tgz";
+      path = fetchurl {
+        name = "object_inspect___object_inspect_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz";
+        sha1 = "c70b6cbf72f274aab4c34c0c82f5167bf82cf15b";
+      };
+    }
+    {
+      name = "object_is___object_is_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_is___object_is_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz";
+        sha1 = "0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6";
+      };
+    }
+    {
+      name = "object_keys___object_keys_1.1.1.tgz";
+      path = fetchurl {
+        name = "object_keys___object_keys_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
+        sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e";
+      };
+    }
+    {
+      name = "object_path___object_path_0.11.4.tgz";
+      path = fetchurl {
+        name = "object_path___object_path_0.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz";
+        sha1 = "370ae752fbf37de3ea70a861c23bba8915691949";
+      };
+    }
+    {
+      name = "object_visit___object_visit_1.0.1.tgz";
+      path = fetchurl {
+        name = "object_visit___object_visit_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    }
+    {
+      name = "object.assign___object.assign_4.1.0.tgz";
+      path = fetchurl {
+        name = "object.assign___object.assign_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz";
+        sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da";
+      };
+    }
+    {
+      name = "object.entries___object.entries_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.entries___object.entries_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz";
+        sha1 = "2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519";
+      };
+    }
+    {
+      name = "object.fromentries___object.fromentries_2.0.1.tgz";
+      path = fetchurl {
+        name = "object.fromentries___object.fromentries_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz";
+        sha1 = "050f077855c7af8ae6649f45c80b16ee2d31e704";
+      };
+    }
+    {
+      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
+      path = fetchurl {
+        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz";
+        sha1 = "8758c846f5b407adab0f236e0986f14b051caa16";
+      };
+    }
+    {
+      name = "object.pick___object.pick_1.3.0.tgz";
+      path = fetchurl {
+        name = "object.pick___object.pick_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    }
+    {
+      name = "object.values___object.values_1.1.0.tgz";
+      path = fetchurl {
+        name = "object.values___object.values_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz";
+        sha1 = "bf6810ef5da3e5325790eaaa2be213ea84624da9";
+      };
+    }
+    {
+      name = "obuf___obuf_1.1.2.tgz";
+      path = fetchurl {
+        name = "obuf___obuf_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz";
+        sha1 = "09bea3343d41859ebd446292d11c9d4db619084e";
+      };
+    }
+    {
+      name = "on_finished___on_finished_2.3.0.tgz";
+      path = fetchurl {
+        name = "on_finished___on_finished_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    }
+    {
+      name = "on_headers___on_headers_1.0.2.tgz";
+      path = fetchurl {
+        name = "on_headers___on_headers_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz";
+        sha1 = "772b0ae6aaa525c399e489adfad90c403eb3c28f";
+      };
+    }
+    {
+      name = "once___once_1.4.0.tgz";
+      path = fetchurl {
+        name = "once___once_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    }
+    {
+      name = "onetime___onetime_2.0.1.tgz";
+      path = fetchurl {
+        name = "onetime___onetime_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz";
+        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
+      };
+    }
+    {
+      name = "open___open_6.4.0.tgz";
+      path = fetchurl {
+        name = "open___open_6.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz";
+        sha1 = "5c13e96d0dc894686164f18965ecfe889ecfc8a9";
+      };
+    }
+    {
+      name = "opn___opn_5.5.0.tgz";
+      path = fetchurl {
+        name = "opn___opn_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz";
+        sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc";
+      };
+    }
+    {
+      name = "optimist___optimist_0.6.1.tgz";
+      path = fetchurl {
+        name = "optimist___optimist_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    }
+    {
+      name = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz";
+      path = fetchurl {
+        name = "optimize_css_assets_webpack_plugin___optimize_css_assets_webpack_plugin_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz";
+        sha1 = "e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572";
+      };
+    }
+    {
+      name = "optionator___optionator_0.8.2.tgz";
+      path = fetchurl {
+        name = "optionator___optionator_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    }
+    {
+      name = "original___original_1.0.2.tgz";
+      path = fetchurl {
+        name = "original___original_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz";
+        sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f";
+      };
+    }
+    {
+      name = "os_browserify___os_browserify_0.3.0.tgz";
+      path = fetchurl {
+        name = "os_browserify___os_browserify_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz";
+        sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27";
+      };
+    }
+    {
+      name = "os_homedir___os_homedir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_homedir___os_homedir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    }
+    {
+      name = "os_locale___os_locale_3.1.0.tgz";
+      path = fetchurl {
+        name = "os_locale___os_locale_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz";
+        sha1 = "a802a6ee17f24c10483ab9935719cef4ed16bf1a";
+      };
+    }
+    {
+      name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+      path = fetchurl {
+        name = "os_tmpdir___os_tmpdir_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    }
+    {
+      name = "osenv___osenv_0.1.5.tgz";
+      path = fetchurl {
+        name = "osenv___osenv_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz";
+        sha1 = "85cdfafaeb28e8677f416e287592b5f3f49ea410";
+      };
+    }
+    {
+      name = "p_defer___p_defer_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_defer___p_defer_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz";
+        sha1 = "9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c";
+      };
+    }
+    {
+      name = "p_each_series___p_each_series_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_each_series___p_each_series_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz";
+        sha1 = "930f3d12dd1f50e7434457a22cd6f04ac6ad7f71";
+      };
+    }
+    {
+      name = "p_finally___p_finally_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_finally___p_finally_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    }
+    {
+      name = "p_is_promise___p_is_promise_2.1.0.tgz";
+      path = fetchurl {
+        name = "p_is_promise___p_is_promise_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz";
+        sha1 = "918cebaea248a62cf7ffab8e3bca8c5f882fc42e";
+      };
+    }
+    {
+      name = "p_limit___p_limit_1.3.0.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz";
+        sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8";
+      };
+    }
+    {
+      name = "p_limit___p_limit_2.2.1.tgz";
+      path = fetchurl {
+        name = "p_limit___p_limit_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz";
+        sha1 = "aa07a788cc3151c939b5131f63570f0dd2009537";
+      };
+    }
+    {
+      name = "p_locate___p_locate_2.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    }
+    {
+      name = "p_locate___p_locate_3.0.0.tgz";
+      path = fetchurl {
+        name = "p_locate___p_locate_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz";
+        sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4";
+      };
+    }
+    {
+      name = "p_map___p_map_1.2.0.tgz";
+      path = fetchurl {
+        name = "p_map___p_map_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz";
+        sha1 = "e4e94f311eabbc8633a1e79908165fca26241b6b";
+      };
+    }
+    {
+      name = "p_reduce___p_reduce_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_reduce___p_reduce_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz";
+        sha1 = "18c2b0dd936a4690a529f8231f58a0fdb6a47dfa";
+      };
+    }
+    {
+      name = "p_try___p_try_1.0.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    }
+    {
+      name = "p_try___p_try_2.2.0.tgz";
+      path = fetchurl {
+        name = "p_try___p_try_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz";
+        sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6";
+      };
+    }
+    {
+      name = "pako___pako_1.0.10.tgz";
+      path = fetchurl {
+        name = "pako___pako_1.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz";
+        sha1 = "4328badb5086a426aa90f541977d4955da5c9732";
+      };
+    }
+    {
+      name = "parallel_transform___parallel_transform_1.2.0.tgz";
+      path = fetchurl {
+        name = "parallel_transform___parallel_transform_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz";
+        sha1 = "9049ca37d6cb2182c3b1d2c720be94d14a5814fc";
+      };
+    }
+    {
+      name = "param_case___param_case_2.1.1.tgz";
+      path = fetchurl {
+        name = "param_case___param_case_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz";
+        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+      };
+    }
+    {
+      name = "parent_module___parent_module_1.0.1.tgz";
+      path = fetchurl {
+        name = "parent_module___parent_module_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz";
+        sha1 = "691d2709e78c79fae3a156622452d00762caaaa2";
+      };
+    }
+    {
+      name = "parse_asn1___parse_asn1_5.1.5.tgz";
+      path = fetchurl {
+        name = "parse_asn1___parse_asn1_5.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz";
+        sha1 = "003271343da58dc94cace494faef3d2147ecea0e";
+      };
+    }
+    {
+      name = "parse_json___parse_json_2.2.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    }
+    {
+      name = "parse_json___parse_json_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    }
+    {
+      name = "parse5___parse5_4.0.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz";
+        sha1 = "6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608";
+      };
+    }
+    {
+      name = "parse5___parse5_5.1.0.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz";
+        sha1 = "c59341c9723f414c452975564c7c00a68d58acd2";
+      };
+    }
+    {
+      name = "parse5___parse5_3.0.3.tgz";
+      path = fetchurl {
+        name = "parse5___parse5_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz";
+        sha1 = "042f792ffdd36851551cf4e9e066b3874ab45b5c";
+      };
+    }
+    {
+      name = "parseurl___parseurl_1.3.3.tgz";
+      path = fetchurl {
+        name = "parseurl___parseurl_1.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
+        sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
+      };
+    }
+    {
+      name = "pascalcase___pascalcase_0.1.1.tgz";
+      path = fetchurl {
+        name = "pascalcase___pascalcase_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    }
+    {
+      name = "path_browserify___path_browserify_0.0.1.tgz";
+      path = fetchurl {
+        name = "path_browserify___path_browserify_0.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz";
+        sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a";
+      };
+    }
+    {
+      name = "path_dirname___path_dirname_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_dirname___path_dirname_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz";
+        sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0";
+      };
+    }
+    {
+      name = "path_exists___path_exists_2.1.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    }
+    {
+      name = "path_exists___path_exists_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_exists___path_exists_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    }
+    {
+      name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+      path = fetchurl {
+        name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    }
+    {
+      name = "path_is_inside___path_is_inside_1.0.2.tgz";
+      path = fetchurl {
+        name = "path_is_inside___path_is_inside_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    }
+    {
+      name = "path_key___path_key_2.0.1.tgz";
+      path = fetchurl {
+        name = "path_key___path_key_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    }
+    {
+      name = "path_parse___path_parse_1.0.6.tgz";
+      path = fetchurl {
+        name = "path_parse___path_parse_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz";
+        sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    }
+    {
+      name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+      path = fetchurl {
+        name = "path_to_regexp___path_to_regexp_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz";
+        sha1 = "59fde0f435badacba103a84e9d3bc64e96b9937d";
+      };
+    }
+    {
+      name = "path_type___path_type_2.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz";
+        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+      };
+    }
+    {
+      name = "path_type___path_type_3.0.0.tgz";
+      path = fetchurl {
+        name = "path_type___path_type_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz";
+        sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f";
+      };
+    }
+    {
+      name = "pbkdf2___pbkdf2_3.0.17.tgz";
+      path = fetchurl {
+        name = "pbkdf2___pbkdf2_3.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz";
+        sha1 = "976c206530617b14ebb32114239f7b09336e93a6";
+      };
+    }
+    {
+      name = "performance_now___performance_now_2.1.0.tgz";
+      path = fetchurl {
+        name = "performance_now___performance_now_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    }
+    {
+      name = "picomatch___picomatch_2.0.7.tgz";
+      path = fetchurl {
+        name = "picomatch___picomatch_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz";
+        sha1 = "514169d8c7cd0bdbeecc8a2609e34a7163de69f6";
+      };
+    }
+    {
+      name = "pify___pify_2.3.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    }
+    {
+      name = "pify___pify_3.0.0.tgz";
+      path = fetchurl {
+        name = "pify___pify_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    }
+    {
+      name = "pify___pify_4.0.1.tgz";
+      path = fetchurl {
+        name = "pify___pify_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz";
+        sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231";
+      };
+    }
+    {
+      name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+      path = fetchurl {
+        name = "pinkie_promise___pinkie_promise_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    }
+    {
+      name = "pinkie___pinkie_2.0.4.tgz";
+      path = fetchurl {
+        name = "pinkie___pinkie_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    }
+    {
+      name = "pirates___pirates_4.0.1.tgz";
+      path = fetchurl {
+        name = "pirates___pirates_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz";
+        sha1 = "643a92caf894566f91b2b986d2c66950a8e2fb87";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_1.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz";
+        sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    }
+    {
+      name = "pkg_dir___pkg_dir_3.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_dir___pkg_dir_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz";
+        sha1 = "2749020f239ed990881b1f71210d51eb6523bea3";
+      };
+    }
+    {
+      name = "pkg_up___pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "pkg_up___pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz";
+        sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f";
+      };
+    }
+    {
+      name = "pn___pn_1.1.0.tgz";
+      path = fetchurl {
+        name = "pn___pn_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz";
+        sha1 = "e2f4cef0e219f463c179ab37463e4e1ecdccbafb";
+      };
+    }
+    {
+      name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz";
+      path = fetchurl {
+        name = "pnp_webpack_plugin___pnp_webpack_plugin_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz";
+        sha1 = "62a1cd3068f46d564bb33c56eb250e4d586676eb";
+      };
+    }
+    {
+      name = "popper.js___popper.js_1.16.0.tgz";
+      path = fetchurl {
+        name = "popper.js___popper.js_1.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.0.tgz";
+        sha1 = "2e1816bcbbaa518ea6c2e15a466f4cb9c6e2fbb3";
+      };
+    }
+    {
+      name = "portfinder___portfinder_1.0.25.tgz";
+      path = fetchurl {
+        name = "portfinder___portfinder_1.0.25.tgz";
+        url  = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz";
+        sha1 = "254fd337ffba869f4b9d37edc298059cb4d35eca";
+      };
+    }
+    {
+      name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+      path = fetchurl {
+        name = "posix_character_classes___posix_character_classes_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    }
+    {
+      name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_attribute_case_insensitive___postcss_attribute_case_insensitive_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.1.tgz";
+        sha1 = "b2a721a0d279c2f9103a36331c88981526428cc7";
+      };
+    }
+    {
+      name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_browser_comments___postcss_browser_comments_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-2.0.0.tgz";
+        sha1 = "dc48d6a8ddbff188a80a000b7393436cb18aed88";
+      };
+    }
+    {
+      name = "postcss_calc___postcss_calc_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_calc___postcss_calc_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.1.tgz";
+        sha1 = "36d77bab023b0ecbb9789d84dcb23c4941145436";
+      };
+    }
+    {
+      name = "postcss_color_functional_notation___postcss_color_functional_notation_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_color_functional_notation___postcss_color_functional_notation_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz";
+        sha1 = "5efd37a88fbabeb00a2966d1e53d98ced93f74e0";
+      };
+    }
+    {
+      name = "postcss_color_gray___postcss_color_gray_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_color_gray___postcss_color_gray_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz";
+        sha1 = "532a31eb909f8da898ceffe296fdc1f864be8547";
+      };
+    }
+    {
+      name = "postcss_color_hex_alpha___postcss_color_hex_alpha_5.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_color_hex_alpha___postcss_color_hex_alpha_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz";
+        sha1 = "a8d9ca4c39d497c9661e374b9c51899ef0f87388";
+      };
+    }
+    {
+      name = "postcss_color_mod_function___postcss_color_mod_function_3.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_color_mod_function___postcss_color_mod_function_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz";
+        sha1 = "816ba145ac11cc3cb6baa905a75a49f903e4d31d";
+      };
+    }
+    {
+      name = "postcss_color_rebeccapurple___postcss_color_rebeccapurple_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_color_rebeccapurple___postcss_color_rebeccapurple_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz";
+        sha1 = "c7a89be872bb74e45b1e3022bfe5748823e6de77";
+      };
+    }
+    {
+      name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_colormin___postcss_colormin_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz";
+        sha1 = "ae060bce93ed794ac71264f08132d550956bd381";
+      };
+    }
+    {
+      name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz";
+        sha1 = "ca3813ed4da0f812f9d43703584e449ebe189a7f";
+      };
+    }
+    {
+      name = "postcss_custom_media___postcss_custom_media_7.0.8.tgz";
+      path = fetchurl {
+        name = "postcss_custom_media___postcss_custom_media_7.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz";
+        sha1 = "fffd13ffeffad73621be5f387076a28b00294e0c";
+      };
+    }
+    {
+      name = "postcss_custom_properties___postcss_custom_properties_8.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_custom_properties___postcss_custom_properties_8.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz";
+        sha1 = "2d61772d6e92f22f5e0d52602df8fae46fa30d97";
+      };
+    }
+    {
+      name = "postcss_custom_selectors___postcss_custom_selectors_5.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_custom_selectors___postcss_custom_selectors_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz";
+        sha1 = "64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba";
+      };
+    }
+    {
+      name = "postcss_dir_pseudo_class___postcss_dir_pseudo_class_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_dir_pseudo_class___postcss_dir_pseudo_class_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz";
+        sha1 = "6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2";
+      };
+    }
+    {
+      name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz";
+        sha1 = "1fbabd2c246bff6aaad7997b2b0918f4d7af4033";
+      };
+    }
+    {
+      name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz";
+        sha1 = "3fe133cd3c82282e550fc9b239176a9207b784eb";
+      };
+    }
+    {
+      name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz";
+        sha1 = "c8c951e9f73ed9428019458444a02ad90bb9f765";
+      };
+    }
+    {
+      name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz";
+        sha1 = "652aef8a96726f029f5e3e00146ee7a4e755ff57";
+      };
+    }
+    {
+      name = "postcss_double_position_gradients___postcss_double_position_gradients_1.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_double_position_gradients___postcss_double_position_gradients_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz";
+        sha1 = "fc927d52fddc896cb3a2812ebc5df147e110522e";
+      };
+    }
+    {
+      name = "postcss_env_function___postcss_env_function_2.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_env_function___postcss_env_function_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz";
+        sha1 = "0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7";
+      };
+    }
+    {
+      name = "postcss_flexbugs_fixes___postcss_flexbugs_fixes_4.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_flexbugs_fixes___postcss_flexbugs_fixes_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz";
+        sha1 = "e094a9df1783e2200b7b19f875dcad3b3aff8b20";
+      };
+    }
+    {
+      name = "postcss_focus_visible___postcss_focus_visible_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_focus_visible___postcss_focus_visible_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz";
+        sha1 = "477d107113ade6024b14128317ade2bd1e17046e";
+      };
+    }
+    {
+      name = "postcss_focus_within___postcss_focus_within_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_focus_within___postcss_focus_within_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz";
+        sha1 = "763b8788596cee9b874c999201cdde80659ef680";
+      };
+    }
+    {
+      name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz";
+        sha1 = "71dd3c6c10a0d846c5eda07803439617bbbabacc";
+      };
+    }
+    {
+      name = "postcss_gap_properties___postcss_gap_properties_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_gap_properties___postcss_gap_properties_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz";
+        sha1 = "431c192ab3ed96a3c3d09f2ff615960f902c1715";
+      };
+    }
+    {
+      name = "postcss_image_set_function___postcss_image_set_function_3.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_image_set_function___postcss_image_set_function_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz";
+        sha1 = "28920a2f29945bed4c3198d7df6496d410d3f288";
+      };
+    }
+    {
+      name = "postcss_initial___postcss_initial_3.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_initial___postcss_initial_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.1.tgz";
+        sha1 = "99d319669a13d6c06ef8e70d852f68cb1b399b61";
+      };
+    }
+    {
+      name = "postcss_lab_function___postcss_lab_function_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_lab_function___postcss_lab_function_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz";
+        sha1 = "bb51a6856cd12289ab4ae20db1e3821ef13d7d2e";
+      };
+    }
+    {
+      name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz";
+        sha1 = "c84d692b7bb7b41ddced94ee62e8ab31b417b003";
+      };
+    }
+    {
+      name = "postcss_loader___postcss_loader_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_loader___postcss_loader_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz";
+        sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d";
+      };
+    }
+    {
+      name = "postcss_logical___postcss_logical_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_logical___postcss_logical_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz";
+        sha1 = "2495d0f8b82e9f262725f75f9401b34e7b45d5b5";
+      };
+    }
+    {
+      name = "postcss_media_minmax___postcss_media_minmax_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_media_minmax___postcss_media_minmax_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz";
+        sha1 = "b75bb6cbc217c8ac49433e12f22048814a4f5ed5";
+      };
+    }
+    {
+      name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+      path = fetchurl {
+        name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz";
+        sha1 = "62f49a13e4a0ee04e7b98f42bb16062ca2549e24";
+      };
+    }
+    {
+      name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz";
+        sha1 = "362bea4ff5a1f98e4075a713c6cb25aefef9a650";
+      };
+    }
+    {
+      name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz";
+        sha1 = "cd4c344cce474343fac5d82206ab2cbcb8afd5a6";
+      };
+    }
+    {
+      name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz";
+        sha1 = "93b29c2ff5099c535eecda56c4aa6e665a663471";
+      };
+    }
+    {
+      name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz";
+        sha1 = "6b9cef030c11e35261f95f618c90036d680db874";
+      };
+    }
+    {
+      name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz";
+        sha1 = "e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8";
+      };
+    }
+    {
+      name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz";
+        sha1 = "818719a1ae1da325f9832446b01136eeb493cd7e";
+      };
+    }
+    {
+      name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz";
+      path = fetchurl {
+        name = "postcss_modules_local_by_default___postcss_modules_local_by_default_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz";
+        sha1 = "dd9953f6dd476b5fd1ef2d8830c8929760b56e63";
+      };
+    }
+    {
+      name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_scope___postcss_modules_scope_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz";
+        sha1 = "ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb";
+      };
+    }
+    {
+      name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_modules_values___postcss_modules_values_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz";
+        sha1 = "479b46dc0c5ca3dc7fa5270851836b9ec7152f64";
+      };
+    }
+    {
+      name = "postcss_nesting___postcss_nesting_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_nesting___postcss_nesting_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz";
+        sha1 = "b50ad7b7f0173e5b5e3880c3501344703e04c052";
+      };
+    }
+    {
+      name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz";
+        sha1 = "8b35add3aee83a136b0471e0d59be58a50285dd4";
+      };
+    }
+    {
+      name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz";
+        sha1 = "0dbe04a4ce9063d4667ed2be476bb830c825935a";
+      };
+    }
+    {
+      name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz";
+        sha1 = "05f757f84f260437378368a91f8932d4b102917f";
+      };
+    }
+    {
+      name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz";
+        sha1 = "c4ebbc289f3991a028d44751cbdd11918b17910c";
+      };
+    }
+    {
+      name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz";
+        sha1 = "cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c";
+      };
+    }
+    {
+      name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz";
+        sha1 = "8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9";
+      };
+    }
+    {
+      name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz";
+        sha1 = "841bd48fdcf3019ad4baa7493a3d363b52ae1cfb";
+      };
+    }
+    {
+      name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz";
+        sha1 = "10e437f86bc7c7e58f7b9652ed878daaa95faae1";
+      };
+    }
+    {
+      name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz";
+        sha1 = "bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82";
+      };
+    }
+    {
+      name = "postcss_normalize___postcss_normalize_7.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_normalize___postcss_normalize_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-7.0.1.tgz";
+        sha1 = "eb51568d962b8aa61a8318383c8bb7e54332282e";
+      };
+    }
+    {
+      name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+      path = fetchurl {
+        name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz";
+        sha1 = "0cf75c820ec7d5c4d280189559e0b571ebac0eee";
+      };
+    }
+    {
+      name = "postcss_overflow_shorthand___postcss_overflow_shorthand_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_overflow_shorthand___postcss_overflow_shorthand_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz";
+        sha1 = "31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30";
+      };
+    }
+    {
+      name = "postcss_page_break___postcss_page_break_2.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_page_break___postcss_page_break_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz";
+        sha1 = "add52d0e0a528cabe6afee8b46e2abb277df46bf";
+      };
+    }
+    {
+      name = "postcss_place___postcss_place_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_place___postcss_place_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz";
+        sha1 = "e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62";
+      };
+    }
+    {
+      name = "postcss_preset_env___postcss_preset_env_6.7.0.tgz";
+      path = fetchurl {
+        name = "postcss_preset_env___postcss_preset_env_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz";
+        sha1 = "c34ddacf8f902383b35ad1e030f178f4cdf118a5";
+      };
+    }
+    {
+      name = "postcss_pseudo_class_any_link___postcss_pseudo_class_any_link_6.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_pseudo_class_any_link___postcss_pseudo_class_any_link_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz";
+        sha1 = "2ed3eed393b3702879dec4a87032b210daeb04d1";
+      };
+    }
+    {
+      name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz";
+        sha1 = "7fd42ebea5e9c814609639e2c2e84ae270ba48df";
+      };
+    }
+    {
+      name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz";
+        sha1 = "17efa405eacc6e07be3414a5ca2d1074681d4e29";
+      };
+    }
+    {
+      name = "postcss_replace_overflow_wrap___postcss_replace_overflow_wrap_3.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_replace_overflow_wrap___postcss_replace_overflow_wrap_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz";
+        sha1 = "61b360ffdaedca84c7c918d2b0f0d0ea559ab01c";
+      };
+    }
+    {
+      name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_safe_parser___postcss_safe_parser_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz";
+        sha1 = "8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea";
+      };
+    }
+    {
+      name = "postcss_selector_matches___postcss_selector_matches_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_matches___postcss_selector_matches_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz";
+        sha1 = "71c8248f917ba2cc93037c9637ee09c64436fcff";
+      };
+    }
+    {
+      name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz";
+        sha1 = "c68ff7ba96527499e832724a2674d65603b645c0";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz";
+        sha1 = "4f875f4afb0c96573d5cf4d74011aee250a7e865";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz";
+        sha1 = "249044356697b33b64f1a8f7c80922dddee7195c";
+      };
+    }
+    {
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz";
+        sha1 = "934cf799d016c83411859e09dcecade01286ec5c";
+      };
+    }
+    {
+      name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz";
+        sha1 = "17b997bc711b333bab143aaed3b8d3d6e3d38258";
+      };
+    }
+    {
+      name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz";
+        sha1 = "9446911f3289bfd64c6d680f073c03b1f9ee4bac";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz";
+        sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281";
+      };
+    }
+    {
+      name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz";
+      path = fetchurl {
+        name = "postcss_value_parser___postcss_value_parser_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz";
+        sha1 = "482282c09a42706d1fc9a069b73f44ec08391dc9";
+      };
+    }
+    {
+      name = "postcss_values_parser___postcss_values_parser_2.0.1.tgz";
+      path = fetchurl {
+        name = "postcss_values_parser___postcss_values_parser_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz";
+        sha1 = "da8b472d901da1e205b47bdc98637b9e9e550e5f";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.14.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz";
+        sha1 = "4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5";
+      };
+    }
+    {
+      name = "postcss___postcss_7.0.18.tgz";
+      path = fetchurl {
+        name = "postcss___postcss_7.0.18.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz";
+        sha1 = "4b9cda95ae6c069c67a4d933029eddd4838ac233";
+      };
+    }
+    {
+      name = "prelude_ls___prelude_ls_1.1.2.tgz";
+      path = fetchurl {
+        name = "prelude_ls___prelude_ls_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    }
+    {
+      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 = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz";
+      path = fetchurl {
+        name = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz";
+        sha1 = "d23d41fe1375646de2d0104d3454a3008802cf7b";
+      };
+    }
+    {
+      name = "prettier___prettier_1.18.2.tgz";
+      path = fetchurl {
+        name = "prettier___prettier_1.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz";
+        sha1 = "6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea";
+      };
+    }
+    {
+      name = "pretty_bytes___pretty_bytes_5.3.0.tgz";
+      path = fetchurl {
+        name = "pretty_bytes___pretty_bytes_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz";
+        sha1 = "f2849e27db79fb4d6cfe24764fc4134f165989f2";
+      };
+    }
+    {
+      name = "pretty_error___pretty_error_2.1.1.tgz";
+      path = fetchurl {
+        name = "pretty_error___pretty_error_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz";
+        sha1 = "5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3";
+      };
+    }
+    {
+      name = "pretty_format___pretty_format_24.9.0.tgz";
+      path = fetchurl {
+        name = "pretty_format___pretty_format_24.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz";
+        sha1 = "12fac31b37019a4eea3c11aa9a959eb7628aa7c9";
+      };
+    }
+    {
+      name = "private___private_0.1.8.tgz";
+      path = fetchurl {
+        name = "private___private_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz";
+        sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff";
+      };
+    }
+    {
+      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___process_0.11.10.tgz";
+      path = fetchurl {
+        name = "process___process_0.11.10.tgz";
+        url  = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    }
+    {
+      name = "progress___progress_2.0.3.tgz";
+      path = fetchurl {
+        name = "progress___progress_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
+        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+      };
+    }
+    {
+      name = "promise_inflight___promise_inflight_1.0.1.tgz";
+      path = fetchurl {
+        name = "promise_inflight___promise_inflight_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    }
+    {
+      name = "promise_polyfill___promise_polyfill_7.1.2.tgz";
+      path = fetchurl {
+        name = "promise_polyfill___promise_polyfill_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-7.1.2.tgz";
+        sha1 = "ab05301d8c28536301622d69227632269a70ca3b";
+      };
+    }
+    {
+      name = "promise___promise_8.0.3.tgz";
+      path = fetchurl {
+        name = "promise___promise_8.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-8.0.3.tgz";
+        sha1 = "f592e099c6cddc000d538ee7283bb190452b0bf6";
+      };
+    }
+    {
+      name = "promise___promise_7.3.1.tgz";
+      path = fetchurl {
+        name = "promise___promise_7.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz";
+        sha1 = "064b72602b18f90f29192b8b1bc418ffd1ebd3bf";
+      };
+    }
+    {
+      name = "prompts___prompts_2.2.1.tgz";
+      path = fetchurl {
+        name = "prompts___prompts_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz";
+        sha1 = "f901dd2a2dfee080359c0e20059b24188d75ad35";
+      };
+    }
+    {
+      name = "prop_types_exact___prop_types_exact_1.2.0.tgz";
+      path = fetchurl {
+        name = "prop_types_exact___prop_types_exact_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types-exact/-/prop-types-exact-1.2.0.tgz";
+        sha1 = "825d6be46094663848237e3925a98c6e944e9869";
+      };
+    }
+    {
+      name = "prop_types___prop_types_15.7.2.tgz";
+      path = fetchurl {
+        name = "prop_types___prop_types_15.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz";
+        sha1 = "52c41e75b8c87e72b9d9360e0206b99dcbffa6c5";
+      };
+    }
+    {
+      name = "proxy_addr___proxy_addr_2.0.5.tgz";
+      path = fetchurl {
+        name = "proxy_addr___proxy_addr_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.5.tgz";
+        sha1 = "34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34";
+      };
+    }
+    {
+      name = "prr___prr_1.0.1.tgz";
+      path = fetchurl {
+        name = "prr___prr_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+      };
+    }
+    {
+      name = "psl___psl_1.4.0.tgz";
+      path = fetchurl {
+        name = "psl___psl_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz";
+        sha1 = "5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2";
+      };
+    }
+    {
+      name = "public_encrypt___public_encrypt_4.0.3.tgz";
+      path = fetchurl {
+        name = "public_encrypt___public_encrypt_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz";
+        sha1 = "4fcc9d77a07e48ba7527e7cbe0de33d0701331e0";
+      };
+    }
+    {
+      name = "pump___pump_2.0.1.tgz";
+      path = fetchurl {
+        name = "pump___pump_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz";
+        sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909";
+      };
+    }
+    {
+      name = "pump___pump_3.0.0.tgz";
+      path = fetchurl {
+        name = "pump___pump_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
+        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+      };
+    }
+    {
+      name = "pumpify___pumpify_1.5.1.tgz";
+      path = fetchurl {
+        name = "pumpify___pumpify_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz";
+        sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce";
+      };
+    }
+    {
+      name = "punycode___punycode_1.3.2.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    }
+    {
+      name = "punycode___punycode_1.4.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    }
+    {
+      name = "punycode___punycode_2.1.1.tgz";
+      path = fetchurl {
+        name = "punycode___punycode_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
+        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+      };
+    }
+    {
+      name = "q___q_1.5.1.tgz";
+      path = fetchurl {
+        name = "q___q_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    }
+    {
+      name = "qs___qs_6.7.0.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
+        sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
+      };
+    }
+    {
+      name = "qs___qs_6.5.2.tgz";
+      path = fetchurl {
+        name = "qs___qs_6.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
+        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    }
+    {
+      name = "querystring___querystring_0.2.0.tgz";
+      path = fetchurl {
+        name = "querystring___querystring_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    }
+    {
+      name = "querystringify___querystringify_2.1.1.tgz";
+      path = fetchurl {
+        name = "querystringify___querystringify_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz";
+        sha1 = "60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e";
+      };
+    }
+    {
+      name = "raf_schd___raf_schd_4.0.2.tgz";
+      path = fetchurl {
+        name = "raf_schd___raf_schd_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/raf-schd/-/raf-schd-4.0.2.tgz";
+        sha1 = "bd44c708188f2e84c810bf55fcea9231bcaed8a0";
+      };
+    }
+    {
+      name = "raf___raf_3.4.1.tgz";
+      path = fetchurl {
+        name = "raf___raf_3.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz";
+        sha1 = "0742e99a4a6552f445d73e3ee0328af0ff1ede39";
+      };
+    }
+    {
+      name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz";
+      path = fetchurl {
+        name = "railroad_diagrams___railroad_diagrams_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz";
+        sha1 = "eb7e6267548ddedfb899c1b90e57374559cddb7e";
+      };
+    }
+    {
+      name = "randexp___randexp_0.4.6.tgz";
+      path = fetchurl {
+        name = "randexp___randexp_0.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz";
+        sha1 = "e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3";
+      };
+    }
+    {
+      name = "randombytes___randombytes_2.1.0.tgz";
+      path = fetchurl {
+        name = "randombytes___randombytes_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz";
+        sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a";
+      };
+    }
+    {
+      name = "randomfill___randomfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "randomfill___randomfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz";
+        sha1 = "c92196fc86ab42be983f1bf31778224931d61458";
+      };
+    }
+    {
+      name = "range_parser___range_parser_1.2.1.tgz";
+      path = fetchurl {
+        name = "range_parser___range_parser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz";
+        sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031";
+      };
+    }
+    {
+      name = "raw_body___raw_body_2.4.0.tgz";
+      path = fetchurl {
+        name = "raw_body___raw_body_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
+        sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332";
+      };
+    }
+    {
+      name = "rc___rc_1.2.8.tgz";
+      path = fetchurl {
+        name = "rc___rc_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
+        sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed";
+      };
+    }
+    {
+      name = "react_app_polyfill___react_app_polyfill_1.0.4.tgz";
+      path = fetchurl {
+        name = "react_app_polyfill___react_app_polyfill_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.4.tgz";
+        sha1 = "4dd2636846b585c2d842b1e44e1bc29044345874";
+      };
+    }
+    {
+      name = "react_copy_to_clipboard___react_copy_to_clipboard_5.0.1.tgz";
+      path = fetchurl {
+        name = "react_copy_to_clipboard___react_copy_to_clipboard_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.0.1.tgz";
+        sha1 = "8eae107bb400be73132ed3b6a7b4fb156090208e";
+      };
+    }
+    {
+      name = "react_dev_utils___react_dev_utils_9.1.0.tgz";
+      path = fetchurl {
+        name = "react_dev_utils___react_dev_utils_9.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz";
+        sha1 = "3ad2bb8848a32319d760d0a84c56c14bdaae5e81";
+      };
+    }
+    {
+      name = "react_dom___react_dom_16.10.2.tgz";
+      path = fetchurl {
+        name = "react_dom___react_dom_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-dom/-/react-dom-16.10.2.tgz";
+        sha1 = "4840bce5409176bc3a1f2bd8cb10b92db452fda6";
+      };
+    }
+    {
+      name = "react_error_overlay___react_error_overlay_6.0.3.tgz";
+      path = fetchurl {
+        name = "react_error_overlay___react_error_overlay_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.3.tgz";
+        sha1 = "c378c4b0a21e88b2e159a3e62b2f531fd63bf60d";
+      };
+    }
+    {
+      name = "react_is___react_is_16.11.0.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.11.0.tgz";
+        sha1 = "b85dfecd48ad1ce469ff558a882ca8e8313928fa";
+      };
+    }
+    {
+      name = "react_is___react_is_16.10.2.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.10.2.tgz";
+        sha1 = "984120fd4d16800e9a738208ab1fba422d23b5ab";
+      };
+    }
+    {
+      name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+      path = fetchurl {
+        name = "react_lifecycles_compat___react_lifecycles_compat_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz";
+        sha1 = "4f1a273afdfc8f3488a8c516bfda78f872352362";
+      };
+    }
+    {
+      name = "react_popper___react_popper_1.3.4.tgz";
+      path = fetchurl {
+        name = "react_popper___react_popper_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.4.tgz";
+        sha1 = "f0cd3b0d30378e1f663b0d79bcc8614221652ced";
+      };
+    }
+    {
+      name = "react_resize_detector___react_resize_detector_4.2.1.tgz";
+      path = fetchurl {
+        name = "react_resize_detector___react_resize_detector_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-4.2.1.tgz";
+        sha1 = "8982b74c3e1cf949afaa3c41050458c87b033982";
+      };
+    }
+    {
+      name = "react_scripts___react_scripts_3.2.0.tgz";
+      path = fetchurl {
+        name = "react_scripts___react_scripts_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.2.0.tgz";
+        sha1 = "58ccd6b4ffa27f1b4d2986cbdcaa916660e9e33c";
+      };
+    }
+    {
+      name = "react_test_renderer___react_test_renderer_16.11.0.tgz";
+      path = fetchurl {
+        name = "react_test_renderer___react_test_renderer_16.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.11.0.tgz";
+        sha1 = "72574566496462c808ac449b0287a4c0a1a7d8f8";
+      };
+    }
+    {
+      name = "react_transition_group___react_transition_group_2.9.0.tgz";
+      path = fetchurl {
+        name = "react_transition_group___react_transition_group_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.9.0.tgz";
+        sha1 = "df9cdb025796211151a436c69a8f3b97b5b07c8d";
+      };
+    }
+    {
+      name = "react___react_16.10.2.tgz";
+      path = fetchurl {
+        name = "react___react_16.10.2.tgz";
+        url  = "https://registry.yarnpkg.com/react/-/react-16.10.2.tgz";
+        sha1 = "a5ede5cdd5c536f745173c8da47bda64797a4cf0";
+      };
+    }
+    {
+      name = "reactstrap___reactstrap_8.0.1.tgz";
+      path = fetchurl {
+        name = "reactstrap___reactstrap_8.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/reactstrap/-/reactstrap-8.0.1.tgz";
+        sha1 = "0b663c8195f540bc1d6d5dbcbcf73cab56fe7c79";
+      };
+    }
+    {
+      name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+      path = fetchurl {
+        name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
+        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz";
+        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha1 = "b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf";
+      };
+    }
+    {
+      name = "readable_stream___readable_stream_3.4.0.tgz";
+      path = fetchurl {
+        name = "readable_stream___readable_stream_3.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz";
+        sha1 = "a51c26754658e0a3c21dbf59163bd45ba6f447fc";
+      };
+    }
+    {
+      name = "readdirp___readdirp_2.2.1.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz";
+        sha1 = "0e87622a3325aa33e892285caf8b4e846529a525";
+      };
+    }
+    {
+      name = "readdirp___readdirp_3.2.0.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.2.0.tgz";
+        sha1 = "c30c33352b12c96dfb4b895421a49fd5a9593839";
+      };
+    }
+    {
+      name = "realpath_native___realpath_native_1.1.0.tgz";
+      path = fetchurl {
+        name = "realpath_native___realpath_native_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz";
+        sha1 = "2003294fea23fb0672f2476ebe22fcf498a2d65c";
+      };
+    }
+    {
+      name = "recursive_readdir___recursive_readdir_2.2.2.tgz";
+      path = fetchurl {
+        name = "recursive_readdir___recursive_readdir_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
+        sha1 = "9946fb3274e1628de6e36b2f6714953b4845094f";
+      };
+    }
+    {
+      name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
+      path = fetchurl {
+        name = "reflect.ownkeys___reflect.ownkeys_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz";
+        sha1 = "749aceec7f3fdf8b63f927a04809e90c5c0b3460";
+      };
+    }
+    {
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+      path = fetchurl {
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz";
+        sha1 = "ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e";
+      };
+    }
+    {
+      name = "regenerate___regenerate_1.4.0.tgz";
+      path = fetchurl {
+        name = "regenerate___regenerate_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz";
+        sha1 = "4a856ec4b56e4077c557589cae85e7a4c8869a11";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.13.3.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz";
+        sha1 = "7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5";
+      };
+    }
+    {
+      name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+      path = fetchurl {
+        name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9";
+      };
+    }
+    {
+      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_not___regex_not_1.0.2.tgz";
+      path = fetchurl {
+        name = "regex_not___regex_not_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz";
+        sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c";
+      };
+    }
+    {
+      name = "regex_parser___regex_parser_2.2.10.tgz";
+      path = fetchurl {
+        name = "regex_parser___regex_parser_2.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz";
+        sha1 = "9e66a8f73d89a107616e63b39d4deddfee912b37";
+      };
+    }
+    {
+      name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
+      path = fetchurl {
+        name = "regexp.prototype.flags___regexp.prototype.flags_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz";
+        sha1 = "6b30724e306a27833eeb171b66ac8890ba37e41c";
+      };
+    }
+    {
+      name = "regexpp___regexpp_2.0.1.tgz";
+      path = fetchurl {
+        name = "regexpp___regexpp_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz";
+        sha1 = "8d19d31cf632482b589049f8281f93dbcba4d07f";
+      };
+    }
+    {
+      name = "regexpu_core___regexpu_core_4.6.0.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz";
+        sha1 = "2037c18b327cfce8a6fea2a4ec441f2432afb8b6";
+      };
+    }
+    {
+      name = "regjsgen___regjsgen_0.5.0.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz";
+        sha1 = "a7634dc08f89209c2049adda3525711fb97265dd";
+      };
+    }
+    {
+      name = "regjsparser___regjsparser_0.6.0.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz";
+        sha1 = "f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c";
+      };
+    }
+    {
+      name = "relateurl___relateurl_0.2.7.tgz";
+      path = fetchurl {
+        name = "relateurl___relateurl_0.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    }
+    {
+      name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+      path = fetchurl {
+        name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    }
+    {
+      name = "renderkid___renderkid_2.0.3.tgz";
+      path = fetchurl {
+        name = "renderkid___renderkid_2.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz";
+        sha1 = "380179c2ff5ae1365c522bf2fcfcff01c5b74149";
+      };
+    }
+    {
+      name = "repeat_element___repeat_element_1.1.3.tgz";
+      path = fetchurl {
+        name = "repeat_element___repeat_element_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz";
+        sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce";
+      };
+    }
+    {
+      name = "repeat_string___repeat_string_1.6.1.tgz";
+      path = fetchurl {
+        name = "repeat_string___repeat_string_1.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    }
+    {
+      name = "request_promise_core___request_promise_core_1.1.2.tgz";
+      path = fetchurl {
+        name = "request_promise_core___request_promise_core_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz";
+        sha1 = "339f6aababcafdb31c799ff158700336301d3346";
+      };
+    }
+    {
+      name = "request_promise_native___request_promise_native_1.0.7.tgz";
+      path = fetchurl {
+        name = "request_promise_native___request_promise_native_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz";
+        sha1 = "a49868a624bdea5069f1251d0a836e0d89aa2c59";
+      };
+    }
+    {
+      name = "request___request_2.88.0.tgz";
+      path = fetchurl {
+        name = "request___request_2.88.0.tgz";
+        url  = "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz";
+        sha1 = "9c2fca4f7d35b592efe57c7f0a55e81052124fef";
+      };
+    }
+    {
+      name = "require_directory___require_directory_2.1.1.tgz";
+      path = fetchurl {
+        name = "require_directory___require_directory_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    }
+    {
+      name = "require_main_filename___require_main_filename_1.0.1.tgz";
+      path = fetchurl {
+        name = "require_main_filename___require_main_filename_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    }
+    {
+      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 = "requires_port___requires_port_1.0.0.tgz";
+      path = fetchurl {
+        name = "requires_port___requires_port_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz";
+        sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
+      };
+    }
+    {
+      name = "resize_observer_polyfill___resize_observer_polyfill_1.5.1.tgz";
+      path = fetchurl {
+        name = "resize_observer_polyfill___resize_observer_polyfill_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz";
+        sha1 = "0e9020dd3d21024458d4ebd27e23e40269810464";
+      };
+    }
+    {
+      name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_cwd___resolve_cwd_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz";
+        sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_3.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz";
+        sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748";
+      };
+    }
+    {
+      name = "resolve_from___resolve_from_4.0.0.tgz";
+      path = fetchurl {
+        name = "resolve_from___resolve_from_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz";
+        sha1 = "4abcd852ad32dd7baabfe9b40e00a36db5f392e6";
+      };
+    }
+    {
+      name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz";
+      path = fetchurl {
+        name = "resolve_url_loader___resolve_url_loader_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.0.tgz";
+        sha1 = "54d8181d33cd1b66a59544d05cadf8e4aa7d37cc";
+      };
+    }
+    {
+      name = "resolve_url___resolve_url_0.2.1.tgz";
+      path = fetchurl {
+        name = "resolve_url___resolve_url_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    }
+    {
+      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 = "restore_cursor___restore_cursor_2.0.0.tgz";
+      path = fetchurl {
+        name = "restore_cursor___restore_cursor_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz";
+        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
+      };
+    }
+    {
+      name = "ret___ret_0.1.15.tgz";
+      path = fetchurl {
+        name = "ret___ret_0.1.15.tgz";
+        url  = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz";
+        sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc";
+      };
+    }
+    {
+      name = "rework_visit___rework_visit_1.0.0.tgz";
+      path = fetchurl {
+        name = "rework_visit___rework_visit_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz";
+        sha1 = "9945b2803f219e2f7aca00adb8bc9f640f842c9a";
+      };
+    }
+    {
+      name = "rework___rework_1.0.1.tgz";
+      path = fetchurl {
+        name = "rework___rework_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz";
+        sha1 = "30806a841342b54510aa4110850cd48534144aa7";
+      };
+    }
+    {
+      name = "rgb_regex___rgb_regex_1.0.1.tgz";
+      path = fetchurl {
+        name = "rgb_regex___rgb_regex_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz";
+        sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1";
+      };
+    }
+    {
+      name = "rgba_regex___rgba_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "rgba_regex___rgba_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz";
+        sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.6.3.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz";
+        sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab";
+      };
+    }
+    {
+      name = "rimraf___rimraf_2.7.1.tgz";
+      path = fetchurl {
+        name = "rimraf___rimraf_2.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz";
+        sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec";
+      };
+    }
+    {
+      name = "ripemd160___ripemd160_2.0.2.tgz";
+      path = fetchurl {
+        name = "ripemd160___ripemd160_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz";
+        sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c";
+      };
+    }
+    {
+      name = "rst_selector_parser___rst_selector_parser_2.2.3.tgz";
+      path = fetchurl {
+        name = "rst_selector_parser___rst_selector_parser_2.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz";
+        sha1 = "81b230ea2fcc6066c89e3472de794285d9b03d91";
+      };
+    }
+    {
+      name = "rsvp___rsvp_4.8.5.tgz";
+      path = fetchurl {
+        name = "rsvp___rsvp_4.8.5.tgz";
+        url  = "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz";
+        sha1 = "c8f155311d167f68f21e168df71ec5b083113734";
+      };
+    }
+    {
+      name = "run_async___run_async_2.3.0.tgz";
+      path = fetchurl {
+        name = "run_async___run_async_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz";
+        sha1 = "0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0";
+      };
+    }
+    {
+      name = "run_queue___run_queue_1.0.3.tgz";
+      path = fetchurl {
+        name = "run_queue___run_queue_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    }
+    {
+      name = "rxjs___rxjs_6.5.3.tgz";
+      path = fetchurl {
+        name = "rxjs___rxjs_6.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz";
+        sha1 = "510e26317f4db91a7eb1de77d9dd9ba0a4899a3a";
+      };
+    }
+    {
+      name = "safe_buffer___safe_buffer_5.1.2.tgz";
+      path = fetchurl {
+        name = "safe_buffer___safe_buffer_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
+      };
+    }
+    {
+      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_regex___safe_regex_1.1.0.tgz";
+      path = fetchurl {
+        name = "safe_regex___safe_regex_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    }
+    {
+      name = "safer_buffer___safer_buffer_2.1.2.tgz";
+      path = fetchurl {
+        name = "safer_buffer___safer_buffer_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
+      };
+    }
+    {
+      name = "sane___sane_4.1.0.tgz";
+      path = fetchurl {
+        name = "sane___sane_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz";
+        sha1 = "ed881fd922733a6c461bc189dc2b6c006f3ffded";
+      };
+    }
+    {
+      name = "sanitize_html___sanitize_html_1.20.1.tgz";
+      path = fetchurl {
+        name = "sanitize_html___sanitize_html_1.20.1.tgz";
+        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.1.tgz";
+        sha1 = "f6effdf55dd398807171215a62bfc21811bacf85";
+      };
+    }
+    {
+      name = "sass_loader___sass_loader_7.2.0.tgz";
+      path = fetchurl {
+        name = "sass_loader___sass_loader_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.2.0.tgz";
+        sha1 = "e34115239309d15b2527cb62b5dfefb62a96ff7f";
+      };
+    }
+    {
+      name = "sax___sax_1.2.4.tgz";
+      path = fetchurl {
+        name = "sax___sax_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
+        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+      };
+    }
+    {
+      name = "saxes___saxes_3.1.11.tgz";
+      path = fetchurl {
+        name = "saxes___saxes_3.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz";
+        sha1 = "d59d1fd332ec92ad98a2e0b2ee644702384b1c5b";
+      };
+    }
+    {
+      name = "scheduler___scheduler_0.16.2.tgz";
+      path = fetchurl {
+        name = "scheduler___scheduler_0.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.16.2.tgz";
+        sha1 = "f74cd9d33eff6fc554edfb79864868e4819132c1";
+      };
+    }
+    {
+      name = "scheduler___scheduler_0.17.0.tgz";
+      path = fetchurl {
+        name = "scheduler___scheduler_0.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/scheduler/-/scheduler-0.17.0.tgz";
+        sha1 = "7c9c673e4ec781fac853927916d1c426b6f3ddfe";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_1.0.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz";
+        sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770";
+      };
+    }
+    {
+      name = "schema_utils___schema_utils_2.5.0.tgz";
+      path = fetchurl {
+        name = "schema_utils___schema_utils_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.5.0.tgz";
+        sha1 = "8f254f618d402cc80257486213c8970edfd7c22f";
+      };
+    }
+    {
+      name = "select_hose___select_hose_2.0.0.tgz";
+      path = fetchurl {
+        name = "select_hose___select_hose_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz";
+        sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
+      };
+    }
+    {
+      name = "selfsigned___selfsigned_1.10.7.tgz";
+      path = fetchurl {
+        name = "selfsigned___selfsigned_1.10.7.tgz";
+        url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz";
+        sha1 = "da5819fd049d5574f28e88a9bcc6dbc6e6f3906b";
+      };
+    }
+    {
+      name = "semver___semver_5.7.1.tgz";
+      path = fetchurl {
+        name = "semver___semver_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
+        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+      };
+    }
+    {
+      name = "semver___semver_6.3.0.tgz";
+      path = fetchurl {
+        name = "semver___semver_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
+        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+      };
+    }
+    {
+      name = "send___send_0.17.1.tgz";
+      path = fetchurl {
+        name = "send___send_0.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
+        sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8";
+      };
+    }
+    {
+      name = "serialize_javascript___serialize_javascript_1.9.1.tgz";
+      path = fetchurl {
+        name = "serialize_javascript___serialize_javascript_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz";
+        sha1 = "cfc200aef77b600c47da9bb8149c943e798c2fdb";
+      };
+    }
+    {
+      name = "serve_index___serve_index_1.9.1.tgz";
+      path = fetchurl {
+        name = "serve_index___serve_index_1.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz";
+        sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239";
+      };
+    }
+    {
+      name = "serve_static___serve_static_1.14.1.tgz";
+      path = fetchurl {
+        name = "serve_static___serve_static_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz";
+        sha1 = "666e636dc4f010f7ef29970a88a674320898b2f9";
+      };
+    }
+    {
+      name = "set_blocking___set_blocking_2.0.0.tgz";
+      path = fetchurl {
+        name = "set_blocking___set_blocking_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    }
+    {
+      name = "set_value___set_value_2.0.1.tgz";
+      path = fetchurl {
+        name = "set_value___set_value_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz";
+        sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b";
+      };
+    }
+    {
+      name = "setimmediate___setimmediate_1.0.5.tgz";
+      path = fetchurl {
+        name = "setimmediate___setimmediate_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.0.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656";
+      };
+    }
+    {
+      name = "setprototypeof___setprototypeof_1.1.1.tgz";
+      path = fetchurl {
+        name = "setprototypeof___setprototypeof_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
+        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+      };
+    }
+    {
+      name = "sha.js___sha.js_2.4.11.tgz";
+      path = fetchurl {
+        name = "sha.js___sha.js_2.4.11.tgz";
+        url  = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz";
+        sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_0.1.2.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz";
+        sha1 = "5909e874ba77106d73ac414cfec1ffca87d97060";
+      };
+    }
+    {
+      name = "shallow_clone___shallow_clone_3.0.1.tgz";
+      path = fetchurl {
+        name = "shallow_clone___shallow_clone_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz";
+        sha1 = "8f2981ad92531f55035b01fb230769a40e02efa3";
+      };
+    }
+    {
+      name = "shebang_command___shebang_command_1.2.0.tgz";
+      path = fetchurl {
+        name = "shebang_command___shebang_command_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    }
+    {
+      name = "shebang_regex___shebang_regex_1.0.0.tgz";
+      path = fetchurl {
+        name = "shebang_regex___shebang_regex_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    }
+    {
+      name = "shell_quote___shell_quote_1.7.2.tgz";
+      path = fetchurl {
+        name = "shell_quote___shell_quote_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz";
+        sha1 = "67a7d02c76c9da24f99d20808fcaded0e0e04be2";
+      };
+    }
+    {
+      name = "shellwords___shellwords_0.1.1.tgz";
+      path = fetchurl {
+        name = "shellwords___shellwords_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz";
+        sha1 = "d6b9181c1a48d397324c84871efbcfc73fc0654b";
+      };
+    }
+    {
+      name = "signal_exit___signal_exit_3.0.2.tgz";
+      path = fetchurl {
+        name = "signal_exit___signal_exit_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    }
+    {
+      name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+      path = fetchurl {
+        name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
+        sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+      };
+    }
+    {
+      name = "sinon___sinon_7.5.0.tgz";
+      path = fetchurl {
+        name = "sinon___sinon_7.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/sinon/-/sinon-7.5.0.tgz";
+        sha1 = "e9488ea466070ea908fd44a3d6478fd4923c67ec";
+      };
+    }
+    {
+      name = "sisteransi___sisteransi_1.0.3.tgz";
+      path = fetchurl {
+        name = "sisteransi___sisteransi_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz";
+        sha1 = "98168d62b79e3a5e758e27ae63c4a053d748f4eb";
+      };
+    }
+    {
+      name = "slash___slash_1.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    }
+    {
+      name = "slash___slash_2.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz";
+        sha1 = "de552851a1759df3a8f206535442f5ec4ddeab44";
+      };
+    }
+    {
+      name = "slash___slash_3.0.0.tgz";
+      path = fetchurl {
+        name = "slash___slash_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz";
+        sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634";
+      };
+    }
+    {
+      name = "slice_ansi___slice_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz";
+        sha1 = "cacd7693461a637a5788d92a7dd4fba068e81636";
+      };
+    }
+    {
+      name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_node___snapdragon_node_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b";
+      };
+    }
+    {
+      name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+      path = fetchurl {
+        name = "snapdragon_util___snapdragon_util_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2";
+      };
+    }
+    {
+      name = "snapdragon___snapdragon_0.8.2.tgz";
+      path = fetchurl {
+        name = "snapdragon___snapdragon_0.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d";
+      };
+    }
+    {
+      name = "sockjs_client___sockjs_client_1.3.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz";
+        sha1 = "12fc9d6cb663da5739d3dc5fb6e8687da95cb177";
+      };
+    }
+    {
+      name = "sockjs_client___sockjs_client_1.4.0.tgz";
+      path = fetchurl {
+        name = "sockjs_client___sockjs_client_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz";
+        sha1 = "c9f2568e19c8fd8173b4997ea3420e0bb306c7d5";
+      };
+    }
+    {
+      name = "sockjs___sockjs_0.3.19.tgz";
+      path = fetchurl {
+        name = "sockjs___sockjs_0.3.19.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz";
+        sha1 = "d976bbe800af7bd20ae08598d582393508993c0d";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz";
+        sha1 = "3993bd873bfc48479cca9ea3a547835c7c154b34";
+      };
+    }
+    {
+      name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+      path = fetchurl {
+        name = "source_map_resolve___source_map_resolve_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha1 = "72e2cc34095543e43b2c62b2c4c10d4a9054f259";
+      };
+    }
+    {
+      name = "source_map_support___source_map_support_0.5.13.tgz";
+      path = fetchurl {
+        name = "source_map_support___source_map_support_0.5.13.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz";
+        sha1 = "31b24a9c2e73c2de85066c0feb7d44767ed52932";
+      };
+    }
+    {
+      name = "source_map_url___source_map_url_0.4.0.tgz";
+      path = fetchurl {
+        name = "source_map_url___source_map_url_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    }
+    {
+      name = "source_map___source_map_0.6.1.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz";
+        sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263";
+      };
+    }
+    {
+      name = "source_map___source_map_0.5.7.tgz";
+      path = fetchurl {
+        name = "source_map___source_map_0.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    }
+    {
+      name = "spdx_correct___spdx_correct_3.1.0.tgz";
+      path = fetchurl {
+        name = "spdx_correct___spdx_correct_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz";
+        sha1 = "fb83e504445268f154b074e218c87c003cd31df4";
+      };
+    }
+    {
+      name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz";
+      path = fetchurl {
+        name = "spdx_exceptions___spdx_exceptions_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz";
+        sha1 = "2ea450aee74f2a89bfb94519c07fcd6f41322977";
+      };
+    }
+    {
+      name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdx_expression_parse___spdx_expression_parse_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+        sha1 = "99e119b7a5da00e05491c9fa338b7904823b41d0";
+      };
+    }
+    {
+      name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
+      path = fetchurl {
+        name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
+        sha1 = "3694b5804567a458d3c8045842a6358632f62654";
+      };
+    }
+    {
+      name = "spdy_transport___spdy_transport_3.0.0.tgz";
+      path = fetchurl {
+        name = "spdy_transport___spdy_transport_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz";
+        sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31";
+      };
+    }
+    {
+      name = "spdy___spdy_4.0.1.tgz";
+      path = fetchurl {
+        name = "spdy___spdy_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.1.tgz";
+        sha1 = "6f12ed1c5db7ea4f24ebb8b89ba58c87c08257f2";
+      };
+    }
+    {
+      name = "split_string___split_string_3.1.0.tgz";
+      path = fetchurl {
+        name = "split_string___split_string_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz";
+        sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2";
+      };
+    }
+    {
+      name = "sprintf_js___sprintf_js_1.0.3.tgz";
+      path = fetchurl {
+        name = "sprintf_js___sprintf_js_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    }
+    {
+      name = "srcset___srcset_1.0.0.tgz";
+      path = fetchurl {
+        name = "srcset___srcset_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/srcset/-/srcset-1.0.0.tgz";
+        sha1 = "a5669de12b42f3b1d5e83ed03c71046fc48f41ef";
+      };
+    }
+    {
+      name = "sshpk___sshpk_1.16.1.tgz";
+      path = fetchurl {
+        name = "sshpk___sshpk_1.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
+        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
+      };
+    }
+    {
+      name = "ssri___ssri_6.0.1.tgz";
+      path = fetchurl {
+        name = "ssri___ssri_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz";
+        sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8";
+      };
+    }
+    {
+      name = "stable___stable_0.1.8.tgz";
+      path = fetchurl {
+        name = "stable___stable_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz";
+        sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf";
+      };
+    }
+    {
+      name = "stack_utils___stack_utils_1.0.2.tgz";
+      path = fetchurl {
+        name = "stack_utils___stack_utils_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz";
+        sha1 = "33eba3897788558bebfc2db059dc158ec36cebb8";
+      };
+    }
+    {
+      name = "static_extend___static_extend_0.1.2.tgz";
+      path = fetchurl {
+        name = "static_extend___static_extend_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    }
+    {
+      name = "statuses___statuses_1.5.0.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    }
+    {
+      name = "stealthy_require___stealthy_require_1.1.1.tgz";
+      path = fetchurl {
+        name = "stealthy_require___stealthy_require_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    }
+    {
+      name = "stream_browserify___stream_browserify_2.0.2.tgz";
+      path = fetchurl {
+        name = "stream_browserify___stream_browserify_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz";
+        sha1 = "87521d38a44aa7ee91ce1cd2a47df0cb49dd660b";
+      };
+    }
+    {
+      name = "stream_each___stream_each_1.2.3.tgz";
+      path = fetchurl {
+        name = "stream_each___stream_each_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz";
+        sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae";
+      };
+    }
+    {
+      name = "stream_http___stream_http_2.8.3.tgz";
+      path = fetchurl {
+        name = "stream_http___stream_http_2.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz";
+        sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc";
+      };
+    }
+    {
+      name = "stream_shift___stream_shift_1.0.0.tgz";
+      path = fetchurl {
+        name = "stream_shift___stream_shift_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    }
+    {
+      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_length___string_length_2.0.0.tgz";
+      path = fetchurl {
+        name = "string_length___string_length_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz";
+        sha1 = "d40dbb686a3ace960c1cffca562bf2c45f8363ed";
+      };
+    }
+    {
+      name = "string_length___string_length_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_length___string_length_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz";
+        sha1 = "107ef8c23456e187a8abd4a61162ff4ac6e25837";
+      };
+    }
+    {
+      name = "string_width___string_width_1.0.2.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    }
+    {
+      name = "string_width___string_width_2.1.1.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
+        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+      };
+    }
+    {
+      name = "string_width___string_width_3.1.0.tgz";
+      path = fetchurl {
+        name = "string_width___string_width_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
+        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+      };
+    }
+    {
+      name = "string.prototype.trim___string.prototype.trim_1.2.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trim___string.prototype.trim_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz";
+        sha1 = "75a729b10cfc1be439543dae442129459ce61e3d";
+      };
+    }
+    {
+      name = "string.prototype.trimleft___string.prototype.trimleft_2.1.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimleft___string.prototype.trimleft_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz";
+        sha1 = "6cc47f0d7eb8d62b0f3701611715a3954591d634";
+      };
+    }
+    {
+      name = "string.prototype.trimright___string.prototype.trimright_2.1.0.tgz";
+      path = fetchurl {
+        name = "string.prototype.trimright___string.prototype.trimright_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz";
+        sha1 = "669d164be9df9b6f7559fa8e89945b168a5a6c58";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.3.0.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz";
+        sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e";
+      };
+    }
+    {
+      name = "string_decoder___string_decoder_1.1.1.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8";
+      };
+    }
+    {
+      name = "stringify_object___stringify_object_3.3.0.tgz";
+      path = fetchurl {
+        name = "stringify_object___stringify_object_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz";
+        sha1 = "703065aefca19300d3ce88af4f5b3956d7556629";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_5.2.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
+        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    }
+    {
+      name = "strip_ansi___strip_ansi_4.0.0.tgz";
+      path = fetchurl {
+        name = "strip_ansi___strip_ansi_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    }
+    {
+      name = "strip_bom___strip_bom_3.0.0.tgz";
+      path = fetchurl {
+        name = "strip_bom___strip_bom_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    }
+    {
+      name = "strip_comments___strip_comments_1.0.2.tgz";
+      path = fetchurl {
+        name = "strip_comments___strip_comments_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz";
+        sha1 = "82b9c45e7f05873bee53f37168af930aa368679d";
+      };
+    }
+    {
+      name = "strip_eof___strip_eof_1.0.0.tgz";
+      path = fetchurl {
+        name = "strip_eof___strip_eof_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_3.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz";
+        sha1 = "85713975a91fb87bf1b305cca77395e40d2a64a7";
+      };
+    }
+    {
+      name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+      path = fetchurl {
+        name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    }
+    {
+      name = "style_loader___style_loader_1.0.0.tgz";
+      path = fetchurl {
+        name = "style_loader___style_loader_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz";
+        sha1 = "1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82";
+      };
+    }
+    {
+      name = "stylehacks___stylehacks_4.0.3.tgz";
+      path = fetchurl {
+        name = "stylehacks___stylehacks_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz";
+        sha1 = "6718fcaf4d1e07d8a1318690881e8d96726a71d5";
+      };
+    }
+    {
+      name = "supports_color___supports_color_2.0.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    }
+    {
+      name = "supports_color___supports_color_5.5.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
+        sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f";
+      };
+    }
+    {
+      name = "supports_color___supports_color_6.1.0.tgz";
+      path = fetchurl {
+        name = "supports_color___supports_color_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz";
+        sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3";
+      };
+    }
+    {
+      name = "svg_parser___svg_parser_2.0.2.tgz";
+      path = fetchurl {
+        name = "svg_parser___svg_parser_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz";
+        sha1 = "d134cc396fa2681dc64f518330784e98bd801ec8";
+      };
+    }
+    {
+      name = "svgo___svgo_1.3.0.tgz";
+      path = fetchurl {
+        name = "svgo___svgo_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz";
+        sha1 = "bae51ba95ded9a33a36b7c46ce9c359ae9154313";
+      };
+    }
+    {
+      name = "symbol_tree___symbol_tree_3.2.4.tgz";
+      path = fetchurl {
+        name = "symbol_tree___symbol_tree_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
+        sha1 = "430637d248ba77e078883951fb9aa0eed7c63fa2";
+      };
+    }
+    {
+      name = "table___table_5.4.6.tgz";
+      path = fetchurl {
+        name = "table___table_5.4.6.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz";
+        sha1 = "1292d19500ce3f86053b05f0e8e7e4a3bb21079e";
+      };
+    }
+    {
+      name = "tapable___tapable_1.1.3.tgz";
+      path = fetchurl {
+        name = "tapable___tapable_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz";
+        sha1 = "a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2";
+      };
+    }
+    {
+      name = "tar___tar_4.4.13.tgz";
+      path = fetchurl {
+        name = "tar___tar_4.4.13.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz";
+        sha1 = "43b364bc52888d555298637b10d60790254ab525";
+      };
+    }
+    {
+      name = "tempusdominus_bootstrap_4___tempusdominus_bootstrap_4_5.1.2.tgz";
+      path = fetchurl {
+        name = "tempusdominus_bootstrap_4___tempusdominus_bootstrap_4_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/tempusdominus-bootstrap-4/-/tempusdominus-bootstrap-4-5.1.2.tgz";
+        sha1 = "3c9906ca6e5d563faa0b81b2fdc6aa79cad9c0be";
+      };
+    }
+    {
+      name = "tempusdominus_core___tempusdominus_core_5.0.3.tgz";
+      path = fetchurl {
+        name = "tempusdominus_core___tempusdominus_core_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/tempusdominus-core/-/tempusdominus-core-5.0.3.tgz";
+        sha1 = "808642e47a83f45d7ef18c1597fd7b1d413d69e5";
+      };
+    }
+    {
+      name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+      path = fetchurl {
+        name = "terser_webpack_plugin___terser_webpack_plugin_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz";
+        sha1 = "61b18e40eaee5be97e771cdbb10ed1280888c2b4";
+      };
+    }
+    {
+      name = "terser___terser_4.3.9.tgz";
+      path = fetchurl {
+        name = "terser___terser_4.3.9.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz";
+        sha1 = "e4be37f80553d02645668727777687dad26bbca8";
+      };
+    }
+    {
+      name = "test_exclude___test_exclude_5.2.3.tgz";
+      path = fetchurl {
+        name = "test_exclude___test_exclude_5.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz";
+        sha1 = "c3d3e1e311eb7ee405e092dac10aefd09091eac0";
+      };
+    }
+    {
+      name = "text_table___text_table_0.2.0.tgz";
+      path = fetchurl {
+        name = "text_table___text_table_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    }
+    {
+      name = "throat___throat_4.1.0.tgz";
+      path = fetchurl {
+        name = "throat___throat_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz";
+        sha1 = "89037cbc92c56ab18926e6ba4cbb200e15672a6a";
+      };
+    }
+    {
+      name = "through2___through2_2.0.5.tgz";
+      path = fetchurl {
+        name = "through2___through2_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz";
+        sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd";
+      };
+    }
+    {
+      name = "through___through_2.3.8.tgz";
+      path = fetchurl {
+        name = "through___through_2.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    }
+    {
+      name = "thunky___thunky_1.1.0.tgz";
+      path = fetchurl {
+        name = "thunky___thunky_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz";
+        sha1 = "5abaf714a9405db0504732bbccd2cedd9ef9537d";
+      };
+    }
+    {
+      name = "timers_browserify___timers_browserify_2.0.11.tgz";
+      path = fetchurl {
+        name = "timers_browserify___timers_browserify_2.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz";
+        sha1 = "800b1f3eee272e5bc53ee465a04d0e804c31211f";
+      };
+    }
+    {
+      name = "timsort___timsort_0.3.0.tgz";
+      path = fetchurl {
+        name = "timsort___timsort_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz";
+        sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4";
+      };
+    }
+    {
+      name = "tmp___tmp_0.0.33.tgz";
+      path = fetchurl {
+        name = "tmp___tmp_0.0.33.tgz";
+        url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz";
+        sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9";
+      };
+    }
+    {
+      name = "tmpl___tmpl_1.0.4.tgz";
+      path = fetchurl {
+        name = "tmpl___tmpl_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
+        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+      };
+    }
+    {
+      name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+      path = fetchurl {
+        name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_2.1.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    }
+    {
+      name = "to_regex_range___to_regex_range_5.0.1.tgz";
+      path = fetchurl {
+        name = "to_regex_range___to_regex_range_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz";
+        sha1 = "1648c44aae7c8d988a326018ed72f5b4dd0392e4";
+      };
+    }
+    {
+      name = "to_regex___to_regex_3.0.2.tgz";
+      path = fetchurl {
+        name = "to_regex___to_regex_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz";
+        sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce";
+      };
+    }
+    {
+      name = "toggle_selection___toggle_selection_1.0.6.tgz";
+      path = fetchurl {
+        name = "toggle_selection___toggle_selection_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz";
+        sha1 = "6e45b1263f2017fa0acc7d89d78b15b8bf77da32";
+      };
+    }
+    {
+      name = "toidentifier___toidentifier_1.0.0.tgz";
+      path = fetchurl {
+        name = "toidentifier___toidentifier_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
+        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.5.0.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz";
+        sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_3.0.1.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz";
+        sha1 = "9df4f57e739c26930a018184887f4adb7dca73b2";
+      };
+    }
+    {
+      name = "tough_cookie___tough_cookie_2.4.3.tgz";
+      path = fetchurl {
+        name = "tough_cookie___tough_cookie_2.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha1 = "53f36da3f47783b0925afa06ff9f3b165280f781";
+      };
+    }
+    {
+      name = "tr46___tr46_1.0.1.tgz";
+      path = fetchurl {
+        name = "tr46___tr46_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz";
+        sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09";
+      };
+    }
+    {
+      name = "ts_pnp___ts_pnp_1.1.4.tgz";
+      path = fetchurl {
+        name = "ts_pnp___ts_pnp_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz";
+        sha1 = "ae27126960ebaefb874c6d7fa4729729ab200d90";
+      };
+    }
+    {
+      name = "tslib___tslib_1.10.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz";
+        sha1 = "c3c19f95973fb0a62973fb09d90d961ee43e5c8a";
+      };
+    }
+    {
+      name = "tsutils___tsutils_3.17.1.tgz";
+      path = fetchurl {
+        name = "tsutils___tsutils_3.17.1.tgz";
+        url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz";
+        sha1 = "ed719917f11ca0dee586272b2ac49e015a2dd759";
+      };
+    }
+    {
+      name = "tty_browserify___tty_browserify_0.0.0.tgz";
+      path = fetchurl {
+        name = "tty_browserify___tty_browserify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    }
+    {
+      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      path = fetchurl {
+        name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    }
+    {
+      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      path = fetchurl {
+        name = "tweetnacl___tweetnacl_0.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    }
+    {
+      name = "type_check___type_check_0.3.2.tgz";
+      path = fetchurl {
+        name = "type_check___type_check_0.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    }
+    {
+      name = "type_detect___type_detect_4.0.8.tgz";
+      path = fetchurl {
+        name = "type_detect___type_detect_4.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz";
+        sha1 = "7646fb5f18871cfbb7749e69bd39a6388eb7450c";
+      };
+    }
+    {
+      name = "type_fest___type_fest_0.5.2.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz";
+        sha1 = "d6ef42a0356c6cd45f49485c3b6281fc148e48a2";
+      };
+    }
+    {
+      name = "type_is___type_is_1.6.18.tgz";
+      path = fetchurl {
+        name = "type_is___type_is_1.6.18.tgz";
+        url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
+        sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
+      };
+    }
+    {
+      name = "type___type_1.2.0.tgz";
+      path = fetchurl {
+        name = "type___type_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz";
+        sha1 = "848dd7698dafa3e54a6c479e759c4bc3f18847a0";
+      };
+    }
+    {
+      name = "typed_styles___typed_styles_0.0.7.tgz";
+      path = fetchurl {
+        name = "typed_styles___typed_styles_0.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz";
+        sha1 = "93392a008794c4595119ff62dde6809dbc40a3d9";
+      };
+    }
+    {
+      name = "typedarray___typedarray_0.0.6.tgz";
+      path = fetchurl {
+        name = "typedarray___typedarray_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    }
+    {
+      name = "typescript___typescript_3.6.4.tgz";
+      path = fetchurl {
+        name = "typescript___typescript_3.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-3.6.4.tgz";
+        sha1 = "b18752bb3792bc1a0281335f7f6ebf1bbfc5b91d";
+      };
+    }
+    {
+      name = "ua_parser_js___ua_parser_js_0.7.20.tgz";
+      path = fetchurl {
+        name = "ua_parser_js___ua_parser_js_0.7.20.tgz";
+        url  = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.20.tgz";
+        sha1 = "7527178b82f6a62a0f243d1f94fd30e3e3c21098";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.4.10.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.4.10.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz";
+        sha1 = "9ad9563d8eb3acdfb8d38597d2af1d815f6a755f";
+      };
+    }
+    {
+      name = "uglify_js___uglify_js_3.6.2.tgz";
+      path = fetchurl {
+        name = "uglify_js___uglify_js_3.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.2.tgz";
+        sha1 = "fd8048c86d990ddd29fe99d3300e0cb329103f4d";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz";
+        sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818";
+      };
+    }
+    {
+      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz";
+        sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c";
+      };
+    }
+    {
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz";
+        sha1 = "5b4b426e08d13a80365e0d657ac7a6c1ec46a277";
+      };
+    }
+    {
+      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz";
+      path = fetchurl {
+        name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz";
+        sha1 = "a9cc6cc7ce63a0a3023fc99e341b94431d405a57";
+      };
+    }
+    {
+      name = "union_value___union_value_1.0.1.tgz";
+      path = fetchurl {
+        name = "union_value___union_value_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz";
+        sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847";
+      };
+    }
+    {
+      name = "uniq___uniq_1.0.1.tgz";
+      path = fetchurl {
+        name = "uniq___uniq_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    }
+    {
+      name = "uniqs___uniqs_2.0.0.tgz";
+      path = fetchurl {
+        name = "uniqs___uniqs_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz";
+        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+      };
+    }
+    {
+      name = "unique_filename___unique_filename_1.1.1.tgz";
+      path = fetchurl {
+        name = "unique_filename___unique_filename_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz";
+        sha1 = "1d69769369ada0583103a1e6ae87681b56573230";
+      };
+    }
+    {
+      name = "unique_slug___unique_slug_2.0.2.tgz";
+      path = fetchurl {
+        name = "unique_slug___unique_slug_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz";
+        sha1 = "baabce91083fc64e945b0f3ad613e264f7cd4e6c";
+      };
+    }
+    {
+      name = "universalify___universalify_0.1.2.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
+        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+      };
+    }
+    {
+      name = "unpipe___unpipe_1.0.0.tgz";
+      path = fetchurl {
+        name = "unpipe___unpipe_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    }
+    {
+      name = "unquote___unquote_1.1.1.tgz";
+      path = fetchurl {
+        name = "unquote___unquote_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz";
+        sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544";
+      };
+    }
+    {
+      name = "unset_value___unset_value_1.0.0.tgz";
+      path = fetchurl {
+        name = "unset_value___unset_value_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    }
+    {
+      name = "upath___upath_1.2.0.tgz";
+      path = fetchurl {
+        name = "upath___upath_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz";
+        sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894";
+      };
+    }
+    {
+      name = "upper_case___upper_case_1.1.3.tgz";
+      path = fetchurl {
+        name = "upper_case___upper_case_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz";
+        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+      };
+    }
+    {
+      name = "uri_js___uri_js_4.2.2.tgz";
+      path = fetchurl {
+        name = "uri_js___uri_js_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz";
+        sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0";
+      };
+    }
+    {
+      name = "urix___urix_0.1.0.tgz";
+      path = fetchurl {
+        name = "urix___urix_0.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    }
+    {
+      name = "url_loader___url_loader_2.1.0.tgz";
+      path = fetchurl {
+        name = "url_loader___url_loader_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-loader/-/url-loader-2.1.0.tgz";
+        sha1 = "bcc1ecabbd197e913eca23f5e0378e24b4412961";
+      };
+    }
+    {
+      name = "url_parse___url_parse_1.4.7.tgz";
+      path = fetchurl {
+        name = "url_parse___url_parse_1.4.7.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz";
+        sha1 = "a8a83535e8c00a316e403a5db4ac1b9b853ae278";
+      };
+    }
+    {
+      name = "url___url_0.11.0.tgz";
+      path = fetchurl {
+        name = "url___url_0.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    }
+    {
+      name = "use___use_3.1.1.tgz";
+      path = fetchurl {
+        name = "use___use_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz";
+        sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f";
+      };
+    }
+    {
+      name = "util_deprecate___util_deprecate_1.0.2.tgz";
+      path = fetchurl {
+        name = "util_deprecate___util_deprecate_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    }
+    {
+      name = "util.promisify___util.promisify_1.0.0.tgz";
+      path = fetchurl {
+        name = "util.promisify___util.promisify_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz";
+        sha1 = "440f7165a459c9a16dc145eb8e72f35687097030";
+      };
+    }
+    {
+      name = "util___util_0.10.3.tgz";
+      path = fetchurl {
+        name = "util___util_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    }
+    {
+      name = "util___util_0.11.1.tgz";
+      path = fetchurl {
+        name = "util___util_0.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz";
+        sha1 = "3236733720ec64bb27f6e26f421aaa2e1b588d61";
+      };
+    }
+    {
+      name = "utila___utila_0.4.0.tgz";
+      path = fetchurl {
+        name = "utila___utila_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz";
+        sha1 = "8a16a05d445657a3aea5eecc5b12a4fa5379772c";
+      };
+    }
+    {
+      name = "utils_merge___utils_merge_1.0.1.tgz";
+      path = fetchurl {
+        name = "utils_merge___utils_merge_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    }
+    {
+      name = "uuid___uuid_3.3.3.tgz";
+      path = fetchurl {
+        name = "uuid___uuid_3.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz";
+        sha1 = "4568f0216e78760ee1dbf3a4d2cf53e224112866";
+      };
+    }
+    {
+      name = "v8_compile_cache___v8_compile_cache_2.1.0.tgz";
+      path = fetchurl {
+        name = "v8_compile_cache___v8_compile_cache_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz";
+        sha1 = "e14de37b31a6d194f5690d67efc4e7f6fc6ab30e";
+      };
+    }
+    {
+      name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+      path = fetchurl {
+        name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
+        sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a";
+      };
+    }
+    {
+      name = "vary___vary_1.1.2.tgz";
+      path = fetchurl {
+        name = "vary___vary_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    }
+    {
+      name = "vendors___vendors_1.0.3.tgz";
+      path = fetchurl {
+        name = "vendors___vendors_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.3.tgz";
+        sha1 = "a6467781abd366217c050f8202e7e50cc9eef8c0";
+      };
+    }
+    {
+      name = "verror___verror_1.10.0.tgz";
+      path = fetchurl {
+        name = "verror___verror_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    }
+    {
+      name = "vm_browserify___vm_browserify_1.1.0.tgz";
+      path = fetchurl {
+        name = "vm_browserify___vm_browserify_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz";
+        sha1 = "bd76d6a23323e2ca8ffa12028dc04559c75f9019";
+      };
+    }
+    {
+      name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+      path = fetchurl {
+        name = "w3c_hr_time___w3c_hr_time_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz";
+        sha1 = "82ac2bff63d950ea9e3189a58a65625fedf19045";
+      };
+    }
+    {
+      name = "w3c_xmlserializer___w3c_xmlserializer_1.1.2.tgz";
+      path = fetchurl {
+        name = "w3c_xmlserializer___w3c_xmlserializer_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz";
+        sha1 = "30485ca7d70a6fd052420a3d12fd90e6339ce794";
+      };
+    }
+    {
+      name = "walker___walker_1.0.7.tgz";
+      path = fetchurl {
+        name = "walker___walker_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
+        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+      };
+    }
+    {
+      name = "warning___warning_3.0.0.tgz";
+      path = fetchurl {
+        name = "warning___warning_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz";
+        sha1 = "32e5377cb572de4ab04753bdf8821c01ed605b7c";
+      };
+    }
+    {
+      name = "warning___warning_4.0.3.tgz";
+      path = fetchurl {
+        name = "warning___warning_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz";
+        sha1 = "16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3";
+      };
+    }
+    {
+      name = "watchpack___watchpack_1.6.0.tgz";
+      path = fetchurl {
+        name = "watchpack___watchpack_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz";
+        sha1 = "4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00";
+      };
+    }
+    {
+      name = "wbuf___wbuf_1.7.3.tgz";
+      path = fetchurl {
+        name = "wbuf___wbuf_1.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz";
+        sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df";
+      };
+    }
+    {
+      name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+      path = fetchurl {
+        name = "webidl_conversions___webidl_conversions_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
+        sha1 = "a855980b1f0b6b359ba1d5d9fb39ae941faa63ad";
+      };
+    }
+    {
+      name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+      path = fetchurl {
+        name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz";
+        sha1 = "0019c3db716e3fa5cecbf64f2ab88a74bab331f3";
+      };
+    }
+    {
+      name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz";
+      path = fetchurl {
+        name = "webpack_dev_server___webpack_dev_server_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz";
+        sha1 = "1b45ce3ecfc55b6ebe5e36dab2777c02bc508c4e";
+      };
+    }
+    {
+      name = "webpack_log___webpack_log_2.0.0.tgz";
+      path = fetchurl {
+        name = "webpack_log___webpack_log_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz";
+        sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f";
+      };
+    }
+    {
+      name = "webpack_manifest_plugin___webpack_manifest_plugin_2.1.1.tgz";
+      path = fetchurl {
+        name = "webpack_manifest_plugin___webpack_manifest_plugin_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.1.1.tgz";
+        sha1 = "6b3e280327815b83152c79f42d0ca13b665773c4";
+      };
+    }
+    {
+      name = "webpack_sources___webpack_sources_1.4.3.tgz";
+      path = fetchurl {
+        name = "webpack_sources___webpack_sources_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz";
+        sha1 = "eedd8ec0b928fbf1cbfe994e22d2d890f330a933";
+      };
+    }
+    {
+      name = "webpack___webpack_4.41.0.tgz";
+      path = fetchurl {
+        name = "webpack___webpack_4.41.0.tgz";
+        url  = "https://registry.yarnpkg.com/webpack/-/webpack-4.41.0.tgz";
+        sha1 = "db6a254bde671769f7c14e90a1a55e73602fc70b";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
+        sha1 = "5abacf777c32166a51d085d6b4f3e7d27113ddb0";
+      };
+    }
+    {
+      name = "whatwg_fetch___whatwg_fetch_2.0.4.tgz";
+      path = fetchurl {
+        name = "whatwg_fetch___whatwg_fetch_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz";
+        sha1 = "dde6a5df315f9d39991aa17621853d720b85566f";
+      };
+    }
+    {
+      name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_fetch___whatwg_fetch_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz";
+        sha1 = "fc804e458cc460009b1a2b966bc8817d2578aefb";
+      };
+    }
+    {
+      name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+      path = fetchurl {
+        name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
+        sha1 = "3d4b1e0312d2079879f826aff18dbeeca5960fbf";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_6.5.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_6.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz";
+        sha1 = "f2df02bff176fd65070df74ad5ccbb5a199965a8";
+      };
+    }
+    {
+      name = "whatwg_url___whatwg_url_7.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_7.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz";
+        sha1 = "fde926fa54a599f3adf82dff25a9f7be02dc6edd";
+      };
+    }
+    {
+      name = "which_module___which_module_2.0.0.tgz";
+      path = fetchurl {
+        name = "which_module___which_module_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    }
+    {
+      name = "which___which_1.3.1.tgz";
+      path = fetchurl {
+        name = "which___which_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz";
+        sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a";
+      };
+    }
+    {
+      name = "wide_align___wide_align_1.1.3.tgz";
+      path = fetchurl {
+        name = "wide_align___wide_align_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz";
+        sha1 = "ae074e6bdc0c14a431e804e624549c633b000457";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_0.0.3.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    }
+    {
+      name = "wordwrap___wordwrap_1.0.0.tgz";
+      path = fetchurl {
+        name = "wordwrap___wordwrap_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    }
+    {
+      name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz";
+        sha1 = "26821b9bf16e9e37fd1d640289edddc08afd1950";
+      };
+    }
+    {
+      name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz";
+        sha1 = "e2c0280b149e3a504983b757606ad041f332c35b";
+      };
+    }
+    {
+      name = "workbox_build___workbox_build_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_build___workbox_build_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz";
+        sha1 = "414f70fb4d6de47f6538608b80ec52412d233e64";
+      };
+    }
+    {
+      name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz";
+        sha1 = "f53e079179c095a3f19e5313b284975c91428c91";
+      };
+    }
+    {
+      name = "workbox_core___workbox_core_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_core___workbox_core_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz";
+        sha1 = "005d2c6a06a171437afd6ca2904a5727ecd73be6";
+      };
+    }
+    {
+      name = "workbox_expiration___workbox_expiration_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_expiration___workbox_expiration_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz";
+        sha1 = "d790433562029e56837f341d7f553c4a78ebe921";
+      };
+    }
+    {
+      name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz";
+        sha1 = "9eda0183b103890b5c256e6f4ea15a1f1548519a";
+      };
+    }
+    {
+      name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz";
+        sha1 = "29c8e4db5843803b34cd96dc155f9ebd9afa453d";
+      };
+    }
+    {
+      name = "workbox_precaching___workbox_precaching_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_precaching___workbox_precaching_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz";
+        sha1 = "9fc45ed122d94bbe1f0ea9584ff5940960771cba";
+      };
+    }
+    {
+      name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz";
+        sha1 = "f8a470188922145cbf0c09a9a2d5e35645244e74";
+      };
+    }
+    {
+      name = "workbox_routing___workbox_routing_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_routing___workbox_routing_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz";
+        sha1 = "a675841af623e0bb0c67ce4ed8e724ac0bed0cda";
+      };
+    }
+    {
+      name = "workbox_strategies___workbox_strategies_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_strategies___workbox_strategies_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz";
+        sha1 = "d2be03c4ef214c115e1ab29c9c759c9fe3e9e646";
+      };
+    }
+    {
+      name = "workbox_streams___workbox_streams_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_streams___workbox_streams_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz";
+        sha1 = "0b57da70e982572de09c8742dd0cb40a6b7c2cc3";
+      };
+    }
+    {
+      name = "workbox_sw___workbox_sw_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_sw___workbox_sw_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz";
+        sha1 = "df69e395c479ef4d14499372bcd84c0f5e246164";
+      };
+    }
+    {
+      name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz";
+        sha1 = "47ff5ea1cc074b6c40fb5a86108863a24120d4bd";
+      };
+    }
+    {
+      name = "workbox_window___workbox_window_4.3.1.tgz";
+      path = fetchurl {
+        name = "workbox_window___workbox_window_4.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz";
+        sha1 = "ee6051bf10f06afa5483c9b8dfa0531994ede0f3";
+      };
+    }
+    {
+      name = "worker_farm___worker_farm_1.7.0.tgz";
+      path = fetchurl {
+        name = "worker_farm___worker_farm_1.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz";
+        sha1 = "26a94c5391bbca926152002f69b84a4bf772e5a8";
+      };
+    }
+    {
+      name = "worker_rpc___worker_rpc_0.1.1.tgz";
+      path = fetchurl {
+        name = "worker_rpc___worker_rpc_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz";
+        sha1 = "cb565bd6d7071a8f16660686051e969ad32f54d5";
+      };
+    }
+    {
+      name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+      path = fetchurl {
+        name = "wrap_ansi___wrap_ansi_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    }
+    {
+      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";
+        url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    }
+    {
+      name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+      path = fetchurl {
+        name = "write_file_atomic___write_file_atomic_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz";
+        sha1 = "d0b05463c188ae804396fd5ab2a370062af87529";
+      };
+    }
+    {
+      name = "write___write_1.0.3.tgz";
+      path = fetchurl {
+        name = "write___write_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz";
+        sha1 = "0800e14523b923a387e415123c865616aae0f5c3";
+      };
+    }
+    {
+      name = "ws___ws_5.2.2.tgz";
+      path = fetchurl {
+        name = "ws___ws_5.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz";
+        sha1 = "dffef14866b8e8dc9133582514d1befaf96e980f";
+      };
+    }
+    {
+      name = "ws___ws_6.2.1.tgz";
+      path = fetchurl {
+        name = "ws___ws_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz";
+        sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb";
+      };
+    }
+    {
+      name = "ws___ws_7.1.2.tgz";
+      path = fetchurl {
+        name = "ws___ws_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.1.2.tgz";
+        sha1 = "c672d1629de8bb27a9699eb599be47aeeedd8f73";
+      };
+    }
+    {
+      name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+      path = fetchurl {
+        name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
+        sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a";
+      };
+    }
+    {
+      name = "xmlchars___xmlchars_2.2.0.tgz";
+      path = fetchurl {
+        name = "xmlchars___xmlchars_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz";
+        sha1 = "060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb";
+      };
+    }
+    {
+      name = "xregexp___xregexp_4.0.0.tgz";
+      path = fetchurl {
+        name = "xregexp___xregexp_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz";
+        sha1 = "e698189de49dd2a18cc5687b05e17c8e43943020";
+      };
+    }
+    {
+      name = "xtend___xtend_4.0.2.tgz";
+      path = fetchurl {
+        name = "xtend___xtend_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz";
+        sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54";
+      };
+    }
+    {
+      name = "y18n___y18n_4.0.0.tgz";
+      path = fetchurl {
+        name = "y18n___y18n_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz";
+        sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b";
+      };
+    }
+    {
+      name = "yallist___yallist_3.1.1.tgz";
+      path = fetchurl {
+        name = "yallist___yallist_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz";
+        sha1 = "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_10.1.0.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_10.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz";
+        sha1 = "7202265b89f7e9e9f2e5765e0fe735a905edbaa8";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_13.1.1.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_13.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz";
+        sha1 = "d26058532aa06d365fe091f6a1fc06b2f7e5eca0";
+      };
+    }
+    {
+      name = "yargs___yargs_12.0.2.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_12.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz";
+        sha1 = "fe58234369392af33ecbef53819171eff0f5aadc";
+      };
+    }
+    {
+      name = "yargs___yargs_13.3.0.tgz";
+      path = fetchurl {
+        name = "yargs___yargs_13.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz";
+        sha1 = "4c657a55e07e5f2cf947f8a366567c04a0dedc83";
+      };
+    }
+  ];
+}
diff --git a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
index 0fc87556542..7b92fc98e28 100644
--- a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
@@ -2,19 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wireguard-exporter";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = "MindFlavor";
     repo = "prometheus_wireguard_exporter";
     rev = version;
-    sha256 = "1hyqvk3sxirm91lasf1z1wkzaql1g52my9a9q42z1h0hq66bc6nk";
+    sha256 = "18khym7ygj29w98zf6i1l5c2pz84zla2z34l5jnh595xvwfl94pc";
   };
 
-  cargoSha256 = "0wdyvl58h66xjcnl2kf3f7gnn4nc4vzpl870jc5x0qrkz28jppxz";
+  cargoSha256 = "1bi9nr1dhyv322pq6fjrhs12h3wdak53mvwkbyim1hmrp62vky4m";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
+  # Commonly used hack in nixpkgs to allow unstable features on a stable rustc. This is needed
+  # since `prometheus_exporter_base` uses `#!feature[]` to enable async which
+  # is actually not needed as `async` is part of rustc 1.39.0-stable. This can be removed
+  # as soon as https://github.com/MindFlavor/prometheus_exporter_base/pull/15 is merged.
+  RUSTC_BOOTSTRAP = 1;
+
   meta = with lib; {
     description = "A Prometheus exporter for WireGuard, written in Rust.";
     license = licenses.mit;
diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix
index 74c927f752e..affd73f9b41 100644
--- a/pkgs/servers/monitoring/zabbix/versions.nix
+++ b/pkgs/servers/monitoring/zabbix/versions.nix
@@ -1,17 +1,12 @@
 generic: {
   v44 = generic {
-    version = "4.4.1";
-    sha256 = "0jjn2przn9s25slrcxmq8iqdgqkgxnqs45zy0n1ma6nlgmclxxqb";
-  };
-
-  v42 = generic {
-    version = "4.2.7";
-    sha256 = "09znh8x1sass5mw6wjrfmizjbfls8ad2c16y24ldfj40hlfxz6wx";
+    version = "4.4.3";
+    sha256 = "1rpkgimi9kv9zrcis1zwbrny7yzralick206n71i8071hf95jvwx";
   };
 
   v40 = generic {
-    version = "4.0.14";
-    sha256 = "0igdxxfc61rqx6r7r81jsmv2d7nxw4whai211gk3y88dfm7l4xkb";
+    version = "4.0.15";
+    sha256 = "19q8h79h7lnsq6gbd0awrlw59scg92x0a1375kd2av6bjpx8r0y9";
   };
 
   v30 = generic {
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index c16a1f6659e..2364043c868 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -132,7 +132,7 @@ let
         description = "A flexible, powerful daemon for playing music";
         homepage    = http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki;
         license     = licenses.gpl2;
-        maintainers = with maintainers; [ astsmtl fuuzetsu ehmry fpletz tobim ];
+        maintainers = with maintainers; [ astsmtl ehmry fpletz tobim ];
         platforms   = platforms.unix;
 
         longDescription = ''
diff --git a/pkgs/servers/mtprotoproxy/default.nix b/pkgs/servers/mtprotoproxy/default.nix
index 523713e9d4d..550ee4c160f 100644
--- a/pkgs/servers/mtprotoproxy/default.nix
+++ b/pkgs/servers/mtprotoproxy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mtprotoproxy";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "alexbers";
     repo = "mtprotoproxy";
     rev = "v${version}";
-    sha256 = "1j8bxwcq968h5sd58g03yc4zjqkhkjdn0f04vr826hhsdxy853r4";
+    sha256 = "1bpgbqbgy7c637bzm6g5msm2i10dfl4qb7psy3k3cbaysw696kjc";
   };
 
   nativeBuildInputs = [ wrapPython ];
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
index bc1aee8a687..21658a273b4 100644
--- a/pkgs/servers/nosql/eventstore/default.nix
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -16,13 +16,13 @@ in
 stdenv.mkDerivation rec {
 
   pname = "EventStore";
-  version = "5.0.2";
+  version = "5.0.5";
 
   src = fetchFromGitHub {
     owner = "EventStore";
     repo = "EventStore";
     rev = "oss-v${version}";
-    sha256 = "0hjc64lmi9x1sq8zk24iag14k424l72g1n4z7wf7gaygd07kx9k8";
+    sha256 = "0cnpw24fvnj0q644p9jlijcqz6bxi61g0b59g52d3qxfydr0lgs0";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index f7a67ce398d..4b1003db284 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, lua, jemalloc }:
+{ stdenv, fetchurl, lua, jemalloc, nixosTests }:
 
 stdenv.mkDerivation rec {
-  version = "5.0.6";
+  version = "5.0.7";
   pname = "redis";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${pname}-${version}.tar.gz";
-    sha256 = "1cr2dn9ilhj52snmlz38fw30gdlgbxq2sadyspawahp1cw988936";
+    sha256 = "0ax8sf3vw0yadr41kzc04917scrg5wir1d94zmbz00b8pzm79nv1";
   };
 
   # Cross-compiling fixes
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # needs tcl
 
+  passthru.tests.redis = nixosTests.redis;
+
   meta = with stdenv.lib; {
     homepage = https://redis.io;
     description = "An open source, advanced key-value store";
diff --git a/pkgs/servers/openafs/1.8/cross-build.patch b/pkgs/servers/openafs/1.8/cross-build.patch
index 2b4fd58b23a..62254164a1b 100644
--- a/pkgs/servers/openafs/1.8/cross-build.patch
+++ b/pkgs/servers/openafs/1.8/cross-build.patch
@@ -2,9 +2,9 @@ diff -Nur --unidirectional-new-file openafs-1.8.2/configure.ac openafs-1.8.2.new
 --- openafs-1.8.2/configure.ac	2018-09-11 17:52:48.000000000 +0200
 +++ openafs-1.8.2.new/configure.ac	2018-10-16 15:56:36.512277860 +0200
 @@ -23,6 +23,7 @@
+ AFS_LT_INIT
  
  AC_PROG_CC
- AC_PROG_LIBTOOL
 +AX_PROG_CC_FOR_BUILD
  
  AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix
index 541962c542c..5fe4cad021f 100644
--- a/pkgs/servers/openafs/1.8/default.nix
+++ b/pkgs/servers/openafs/1.8/default.nix
@@ -28,9 +28,6 @@ stdenv.mkDerivation {
   # Makefiles don't include install targets for all new shared libs, yet.
   dontDisableStatic = true;
 
-  # Fixes broken format string in 1.8.2
-  hardeningDisable=[ "format" ];
-
   preConfigure = ''
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index 9ae66175acf..dab97f10bee 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -11,20 +11,6 @@ in stdenv.mkDerivation {
   name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
-  patches = [
-    # Linux 5.3
-    (fetchpatch {
-      name = "openafs_1_8-recurse-keyring_search.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=02d82275c17284d04629282aa374bb39f511c989";
-      sha256 = "03pkldwf6i67yf6i1705qp18rx5b0b342ryda8vfjw9lnvpinygs";
-    })
-    (fetchpatch {
-      name = "openafs_1_8-send-sig.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=2b7af1243f46496c0b5973b3fa2a6396243f7613";
-      sha256 = "13gyh5ncpp15dl7056gdzl5xhp2bmafc557bd2a4bwx9nyj53bag";
-    })
-  ];
-
   nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ]
     ++ kernel.moduleBuildDependencies;
 
diff --git a/pkgs/servers/openafs/1.8/srcs.nix b/pkgs/servers/openafs/1.8/srcs.nix
index d1b23d8bcae..4a5591ef464 100644
--- a/pkgs/servers/openafs/1.8/srcs.nix
+++ b/pkgs/servers/openafs/1.8/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.8.3";
+  version = "1.8.5";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "19ffchxwgqg4wl98l456jdpgq2w8b5izn8hxdsq9hjs0a1nc3nga";
+    sha256 = "08w5n803xm75j7daa3mr2ncfmcg0wpm7yasj6zyddqlb4f7xdppf";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "14smdhn1f6f3cbvvwxgjjld0m4b17vqh3rzkxf5apmjsdda21njq";
+      sha256 = "08mg3n0q2igfas1khj18r9apyrkpbp1jick0ix5nfaal90jbifis";
     })];
 }
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 2ce78a048c4..da201765e55 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, pkgconfig, autoreconfHook
 , libsndfile, libtool, makeWrapper, perlPackages
-, xorg, libcap, alsaLib, glib, gnome3
+, xorg, libcap, alsaLib, glib, dconf
 , avahi, libjack2, libasyncns, lirc, dbus
 , sbc, bluez5, udev, openssl, fftwFloat
 , speexdsp, systemd, webrtc-audio-processing
@@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
   preFixup = lib.optionalString stdenv.isLinux ''
     wrapProgram $out/libexec/pulse/gsettings-helper \
      --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
-     --prefix GIO_EXTRA_MODULES : "${lib.getLib gnome3.dconf}/lib/gio/modules"
+     --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix
index 360cc4d27d8..7d91dc91a93 100644
--- a/pkgs/servers/routinator/default.nix
+++ b/pkgs/servers/routinator/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "routinator";
-  version = "0.6.2";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0v0j8lv1l7mxxwv7ycissya0rrvjqidb37dylqqy4zvirmk1b2av";
+    sha256 = "1hbqvjv9h1aghpyrl03w5f4j8gjy6n9lx83rmpsh5p7yd9ahwmf9";
   };
 
-  cargoSha256 = "19333br2r27s0rsv7imsv2y1j9gmljy4v8bqybvblrw1vc5961kq";
+  cargoSha256 = "08lizhag7aqz3a59gaapsymn7sf9c6im1aw64n0r9a5advhwdh18";
 
   meta = with stdenv.lib; {
     description = "An RPKI Validator written in Rust";
diff --git a/pkgs/servers/samba/3.x.nix b/pkgs/servers/samba/3.x.nix
deleted file mode 100644
index 1f432c18988..00000000000
--- a/pkgs/servers/samba/3.x.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ stdenv, fetchurl, readline, pam ? null, openldap ? null
-, popt, iniparser, libunwind
-, fam ? null , acl ? null, cups ? null
-, useKerberos ? false, kerberos ? null, winbind ? true
-
-# Eg. smbclient and smbspool require a smb.conf file.
-# If you set configDir to "" an empty configuration file
-# $out/lib/smb.conf is is created for you.
-#
-# configDir defaults to "/etc/samba" so that smbpassword picks up
-# the location of its passwd db files from the system configuration file
-# /etc/samba/smb.conf. That's why nixos touches /etc/samba/smb.conf even if you
-# don't enable the samba upstart service.
-, configDir ? "/etc/samba"
-
-}:
-
-assert useKerberos -> kerberos != null;
-
-stdenv.mkDerivation rec {
-  name = "samba-3.6.25";
-
-  src = fetchurl {
-    url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g";
-  };
-
-  patches = [(fetchurl {
-    url = "https://download.samba.org/pub/samba/patches/security/"
-        + "samba-3.6.25-security-2015-12-16.patch";
-    sha256 = "00dcjcn577825mfdwdp76jfy5kcrqw3s4d5c41gqdq5gfcdbmqdb";
-  })];
-
-  buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
-    ++ stdenv.lib.optional useKerberos kerberos;
-
-  enableParallelBuilding = true;
-
-  postPatch =
-    # XXX: Awful hack to allow cross-compilation.
-    '' sed -i source3/configure \
-           -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g'
-    ''; # "
-
-  preConfigure =
-    '' cd source3
-       export samba_cv_CC_NEGATIVE_ENUM_VALUES=yes
-       export libreplace_cv_HAVE_GETADDRINFO=yes
-       export ac_cv_file__proc_sys_kernel_core_pattern=no # XXX: true on Linux, false elsewhere
-    '';
-
-  configureFlags =
-    stdenv.lib.optionals (pam != null) [ "--with-pam" "--with-pam_smbpass" ]
-    ++ [ "--with-aio-support"
-         "--disable-swat"
-         "--with-configdir=${configDir}"
-         "--with-fhs"
-         "--localstatedir=/var"
-       ]
-    ++ (stdenv.lib.optional winbind "--with-winbind")
-    ++ (stdenv.lib.optional (stdenv.cc.libc != null) "--with-libiconv=${stdenv.cc.libc}");
-
-  # Need to use a DESTDIR because `make install' tries to write in /var and /etc.
-  installFlags = "DESTDIR=$(TMPDIR)/inst";
-
-  stripAllList = [ "bin" "sbin" ];
-
-  postInstall =
-    ''
-      mkdir -p $out
-      mv $TMPDIR/inst/$out/* $out/
-
-      mkdir -p "$out/lib/pkgconfig"
-      cp pkgconfig/*.pc "$out/lib/pkgconfig"
-
-      mkdir -pv $out/lib/cups/backend
-      ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb
-      mkdir -pv $out/etc/openldap/schema
-      cp ../examples/LDAP/samba.schema $out/etc/openldap/schema
-
-      # For nsswitch. Glibc >= 2.1 looks for libnss_<name>.so.2 (see man
-      # nsswitch.conf), so provide that too.
-      cp -v ../nsswitch/libnss_wins.so "$out/lib"
-      cp -v ../nsswitch/libnss_winbind.so "$out/lib"
-      (cd "$out/lib" && ln -s libnss_winbind.so libnss_winbind.so.2)
-      (cd "$out/lib" && ln -s libnss_wins.so libnss_wins.so.2)
-    '' # */
-    + stdenv.lib.optionalString (configDir == "") "touch $out/lib/smb.conf";
-
-  meta = with stdenv.lib; {
-    homepage = https://www.samba.org/;
-    description = "The standard Windows interoperability suite of programs for Linux and Unix";
-    platforms = platforms.linux;
-    license = licenses.gpl3;
-    knownVulnerabilities = [
-      "Numerous CVEs and no patches from upstream for 3.x since 2014."
-    ];
-  };
-}
diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix
index 34ebebbbcc1..08d2f8e504b 100644
--- a/pkgs/servers/sql/monetdb/default.nix
+++ b/pkgs/servers/sql/monetdb/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "11.33.11";
+  version = "11.35.3";
 in stdenv.mkDerivation {
 
   pname = "monetdb";
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
-    sha256 = "1fzgf1hplwlki6l6yvrk8an9y4jj40xzl4m5x1d8vi3xr526bzc9";
+    sha256 = "185v8ph8jq8im77dmm20d64nwgjzzc01kz71rh09nb6x6rgcna2x";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix
index 8785e052224..fcb64550d6f 100644
--- a/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/pkgs/servers/sql/mysql/8.0.x.nix
@@ -5,10 +5,11 @@
 
 let
 self = stdenv.mkDerivation rec {
-  name = "mysql-8.0.17";
+  pname = "mysql";
+  version = "8.0.17";
 
   src = fetchurl {
-    url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${name}.tar.gz";
+    url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz";
     sha256 = "1mjrlxn8vigi69r0r674j2dibdnkaar01ji5965gsyx7k60z7qy6";
   };
 
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 135844b5e68..440375db841 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -180,41 +180,41 @@ let
 in self: {
 
   postgresql_9_5 = self.callPackage generic {
-    version = "9.5.19";
+    version = "9.5.20";
     psqlSchema = "9.5";
-    sha256 = "1cqvbsyfs9048wbvdv0vhhaksjyjqv2vvh6ij4vqmjibc4kal34n";
+    sha256 = "03fygn3nn6l6ar66sldy5akdg1gynny3yxbrpvmmp5ygfnrm2mwj";
     this = self.postgresql_9_5;
     inherit self;
   };
 
   postgresql_9_6 = self.callPackage generic {
-    version = "9.6.15";
+    version = "9.6.16";
     psqlSchema = "9.6";
-    sha256 = "02hp69h2p02asfblkaahblzdz2zmawd2r11h6237y5j7yadgxn9w";
+    sha256 = "1rr2dgv4ams8r2lp13w85c77rkmzpb88fjlc28mvlw6zq2fblv2w";
     this = self.postgresql_9_6;
     inherit self;
   };
 
   postgresql_10 = self.callPackage generic {
-    version = "10.10";
+    version = "10.11";
     psqlSchema = "10.0"; # should be 10, but changing it is invasive
-    sha256 = "0lzj46dwd9cw94gnqm36bxd7jlhfdyqjrfzr3c4xd3prfn2rnkxd";
+    sha256 = "02fcmvbh0mhplj3s2jd24s642ysx7bggnf0h8bs5amh7dgzi8p8d";
     this = self.postgresql_10;
     inherit self;
   };
 
   postgresql_11 = self.callPackage generic {
-    version = "11.5";
+    version = "11.6";
     psqlSchema = "11.1"; # should be 11, but changing it is invasive
-    sha256 = "106ikalvrilihlvhq7xj7snq98hgbgq6qsgjrd252wgw1c327pvz";
+    sha256 = "0w1iq488kpzfgfnlw4k32lz5by695mpnkq461jrgsr99z5zlz4j9";
     this = self.postgresql_11;
     inherit self;
   };
 
   postgresql_12 = self.callPackage generic {
-    version = "12.0";
+    version = "12.1";
     psqlSchema = "12";
-    sha256 = "1ijm13gx1d9ai09n26nbdc77n9b8akh6pj21yy9vfn7p2mr3k8nd";
+    sha256 = "1vc3hjcbgkdfczc1ipkk02rahabn7fabpb7qs203jxpnpamz76x0";
     this = self.postgresql_12;
     inherit self;
   };
diff --git a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
index 590d46b430e..ddefaea1549 100644
--- a/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
+++ b/pkgs/servers/sql/postgresql/ext/tds_fdw.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tds_fdw";
-  version = "1.0.8";
+  version = "2.0.1";
 
   buildInputs = [ postgresql freetds ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "tds-fdw";
     repo   =  pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "0dlv1imiy773yplqqpl26xka65bc566k2x81wkrbvwqagnwvcai2";
+    sha256 = "1zpcrx30bvaf72782hgz2s19i5ndwvi7z87fanl1lnymznrk9lzg";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index 72a7fff7c47..5a6cbd7e2d6 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "squid-4.8";
+  name = "squid-4.9";
 
   src = fetchurl {
     url = "http://www.squid-cache.org/Versions/v4/${name}.tar.xz";
-    sha256 = "0432m0ix046rkja7r7qpydgsm2kf1w393xym15nx6h9kv4jb7kbq";
+    sha256 = "188znkbpr315yxbpvpvbpb5sbsn15zmg8l207a55dc43cs687c8w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix
index 68e8f46e319..cbcd3c354cb 100644
--- a/pkgs/servers/tautulli/default.nix
+++ b/pkgs/servers/tautulli/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchFromGitHub, python }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.37";
+  version = "2.1.38";
   pname = "Tautulli";
 
   pythonPath = [ python.pkgs.setuptools ];
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0imq81njw6hsd0m091hmbaaq0znfan6lmnbg6m7g2vfgwvqh9fbq";
+    sha256 = "00kxz4i97lk3cb11vcpj894xdi7q9f1jcy29yglya8rcvsqmddwd";
   };
 
   buildPhase = ":";
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index e990a16c038..5c88b8efb4a 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -3,8 +3,8 @@
 let
   versions = {
     matomo = {
-      version = "3.11.0";
-      sha256 = "1fbnmmzzsi3dfm9qm30wypxjcazl37mryaik9mlrb19hnp2md40q";
+      version = "3.13.0";
+      sha256 = "0h4jqibb86zw5l26r927qrbjhba8c79pc4xp3hgpi25p3fjncax8";
     };
 
     matomo-beta = {
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    # copy evertything to share/, used as webroot folder, and then remove what's known to be not needed
+    # copy everything to share/, used as webroot folder, and then remove what's known to be not needed
     mkdir -p $out/share
     cp -ra * $out/share/
     # tmp/ is created by matomo in PIWIK_USER_PATH
@@ -66,6 +66,34 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  filesToFix = [
+    "misc/composer/build-xhprof.sh"
+    "misc/composer/clean-xhprof.sh"
+    "misc/cron/archive.sh"
+    "plugins/Installation/FormDatabaseSetup.php"
+    "vendor/leafo/lessphp/package.sh"
+    "vendor/pear/archive_tar/sync-php4"
+    "vendor/szymach/c-pchart/coverage.sh"
+    # drupal_test.sh does not exist in 3.12.0-b3; added for 3.13.0
+    "vendor/twig/twig/drupal_test.sh"
+  ];
+
+  # This fixes the consistency check in the admin interface
+  #
+  # The filesToFix list may contain files that are exclusive to only one of the versions we build
+  # make sure to test for existence to avoid erroring on an incompatible version and failing
+  postFixup = ''
+    pushd $out/share > /dev/null
+    for f in $filesToFix; do
+      if [ -f "$f" ]; then
+        length="$(wc -c "$f" | cut -d' ' -f1)"
+        hash="$(md5sum "$f" | cut -d' ' -f1)"
+        sed -i "s:\\(\"$f\"[^(]*(\\).*:\\1\"$length\", \"$hash\"),:g" config/manifest.inc.php
+      fi
+    done
+    popd > /dev/null
+  '';
+
   meta = with stdenv.lib; {
     description = "A real-time web analytics application";
     license = licenses.gpl3Plus;
diff --git a/pkgs/servers/web-apps/moodle/default.nix b/pkgs/servers/web-apps/moodle/default.nix
index 60dcbd8b7ef..2957d296dc4 100644
--- a/pkgs/servers/web-apps/moodle/default.nix
+++ b/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, writeText }:
 
 let
-  version = "3.7.3";
+  version = "3.8";
   stableVersion = builtins.substring 0 2 (builtins.replaceStrings ["."] [""] version);
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz";
-    sha256 = "1n82n77lw83a5wjfjbvc74h2ny2z0zkdprxk7sai88rg6rix33ak";
+    sha256 = "00ssx0drgp1fy062x6alp0x8di7hjn4xc87v8skpy3aznchfxyk9";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index ec7246c4eb0..f83d76a3c2b 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -2691,12 +2691,12 @@ lib.makeScope newScope (self: with self; {
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xorgserver = callPackage ({ stdenv, fetchpatch, pkgconfig, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
-    name = "xorg-server-1.20.5";
+  xorgserver = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
+    name = "xorg-server-1.20.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.20.5.tar.bz2;
-      sha256 = "17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8";
+      url = mirror://xorg/individual/xserver/xorg-server-1.20.6.tar.bz2;
+      sha256 = "1laib9z17jksgzb67z69blcmnpbvj7i7m604b5ns7s760iii85k3";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 60bda89835f..c334365d8b5 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -592,16 +592,6 @@ self: super:
         propagatedBuildInputs = [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
           udev
         ];
-        # patchPhase is not working, this is a hack but we can remove it in the next xorg-server release
-        preConfigure = let
-          headerFix = fetchpatch {
-            url = "https://gitlab.freedesktop.org/xorg/xserver/commit/741bd73429e337071f49509ddcc5fb392e20b0f6.patch";
-            sha256 = "0qjiin9pkggl3c33lfkpn9a9z8ldjpb3y47cflsjkfn868gsk8ri";
-            excludes = [ "hw/xwayland/xwayland-glx.c" ];  # File not in release yet
-          };
-        in ''
-          patch -p1 < ${headerFix}
-        '';
         prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
           export CFLAGS+=" -D__uid_t=uid_t -D__gid_t=gid_t"
         '';
diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list
index 9f4621316fc..2fcf09cd9fb 100644
--- a/pkgs/servers/x11/xorg/tarballs.list
+++ b/pkgs/servers/x11/xorg/tarballs.list
@@ -218,4 +218,4 @@ mirror://xorg/individual/util/lndir-1.0.3.tar.bz2
 mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2
 mirror://xorg/individual/util/util-macros-1.19.2.tar.bz2
 mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.20.5.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.20.6.tar.bz2
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index 06f54fd5207..d033f211c3a 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -1,16 +1,18 @@
-{ stdenv, wayland, wayland-protocols, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper }:
+{ stdenv, wayland, wayland-protocols, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper, egl-wayland }:
 
 with stdenv.lib;
 
 xorgserver.overrideAttrs (oldAttrs: {
 
   name = "xwayland-${xorgserver.version}";
+  buildInputs = oldAttrs.buildInputs ++ [ egl-wayland ];
   propagatedBuildInputs = oldAttrs.propagatedBuildInputs
     ++ [wayland wayland-protocols epoxy libxslt makeWrapper libunwind];
   configureFlags = [
     "--disable-docs"
     "--disable-devel-docs"
     "--enable-xwayland"
+    "--enable-xwayland-eglstream"
     "--disable-xorg"
     "--disable-xvfb"
     "--disable-xnest"
diff --git a/pkgs/servers/xmpp/ejabberd/default.nix b/pkgs/servers/xmpp/ejabberd/default.nix
index 335de9ea153..821515caa09 100644
--- a/pkgs/servers/xmpp/ejabberd/default.nix
+++ b/pkgs/servers/xmpp/ejabberd/default.nix
@@ -24,12 +24,12 @@ let
   ctlpath = lib.makeBinPath [ bash gnused gnugrep coreutils utillinux procps ];
 
 in stdenv.mkDerivation rec {
-  version = "19.08";
+  version = "19.09.1";
   pname = "ejabberd";
 
   src = fetchurl {
     url = "https://www.process-one.net/downloads/ejabberd/${version}/${pname}-${version}.tgz";
-    sha256 = "0ivkw31civcznv9k645hvrzn1yc6a4qsrsywjrakniwaaxlsnj8w";
+    sha256 = "1lj0zahsdg6naq007h8wp5p8ksdfwam3as7wiagvbj9gy8dgdp8q";
   };
 
   nativeBuildInputs = [ fakegit ];
@@ -76,7 +76,7 @@ in stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = "0h1amqp2x6ir29bdh9x8bm0abj67k81nmkqi8gidwccsa5z94s2c";
+    outputHash = "097c84qp00dq8x7ngfqcrv9fa0wm0k94grashmi1fxlasgbvxh18";
   };
 
   configureFlags =
@@ -115,7 +115,7 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl2;
     homepage = https://www.ejabberd.im;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ sander abbradar ];
+    maintainers = with maintainers; [ sander abbradar ajs124 ];
     broken = withElixir;
   };
 }
diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix
index fbc07c86494..a741633340d 100644
--- a/pkgs/shells/bash/bash-completion/default.nix
+++ b/pkgs/shells/bash/bash-completion/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , python3Packages
 , bashInteractive
@@ -6,6 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bash-completion";
+  # TODO: Remove musl patch below upon next release!
   version = "2.9";
 
   src = fetchFromGitHub {
@@ -26,6 +28,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./0001-Revert-build-Do-cmake-pc-and-profile-variable-replac.patch
+    # TODO: Remove when https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393
+    #       is availabe in a release in nixpkgs. see https://github.com/scop/bash-completion/issues/312.
+    # Fixes a test failure with musl.
+    (fetchpatch {
+     url = "https://github.com/scop/bash-completion/commit/2cdac1b9f24df62a1fa80c1824ee8524c9b02393.patch";
+     name = "bash-completion-musl-test_iconv-skip-option-completion-if-help-fails";
+     sha256 = "1l53d62zf01k625nzw3vcrxky93h7bzdpchgk4argxalrn17ckvb";
+    })
   ];
 
   # ignore ip_addresses because it tries to touch network
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index 91684504774..981853bdaf8 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.5.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "0_5_0";
-    sha256 = "1s60w29c8sv0a4nmpggls9pkqyfrwwxjzd65p68d1xxxsdb36rzj";
+    rev = version;
+    sha256 = "0fdi5c9l8ij2vqcxwi9203mh1qj3lcqsl4kl2rkshqj45hn4ab2a";
   };
 
-  cargoSha256 = "0b8alc3si6y4xmn812izknbkfkz64kz7kcnq4xaqws6iqn7pqidp";
+  cargoSha256 = "11cr88jmy34lzjka7agzfvm13hvg66ksa735rzcdx7lcxha538f3";
 
   nativeBuildInputs = [ pkg-config ]
     ++ stdenv.lib.optionals (withAllFeatures && stdenv.isLinux) [ python3 ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     ++ stdenv.lib.optionals (withAllFeatures && stdenv.isLinux) [ xorg.libX11 ]
     ++ stdenv.lib.optionals (withAllFeatures && stdenv.isDarwin) [ AppKit ];
 
-  cargoBuildFlags = stdenv.lib.optionals withAllFeatures [ "--features" "all" ];
+  cargoBuildFlags = stdenv.lib.optional withAllFeatures "--all-features";
 
   preCheck = ''
     export HOME=$TMPDIR
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage rec {
     description = "A modern shell written in Rust";
     homepage = "https://www.nushell.sh/";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ filalex77 marsam ];
   };
 
   passthru = {
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index b999070a49e..6ec2319a49d 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/powershell
     cp -r * $out/share/powershell
     makeWrapper $out/share/powershell/pwsh $out/bin/pwsh --prefix ${platformLdLibraryPath} : "${stdenv.lib.makeLibraryPath libraries}" \
-                                           --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1
+                                           --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1 --set DOTNET_CLI_TELEMETRY_OPTOUT 1
   '';
 
   dontStrip = true;
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index 58569dcd59c..b5350ebecf7 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
     homepage = https://www.gnu.org/software/xnee/;
 
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 02a27b0fe48..1f327e7ed55 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -2,7 +2,6 @@
 , python3
 , groff
 , less
-, fetchpatch
 }:
 
 let
@@ -15,7 +14,6 @@ let
           sha256 = "25df4e10c263fb88b5ace923dd84bf9aa7f5019687b5e55382ffcdb8bede9db5";
         };
       });
-      prompt_toolkit = self.callPackage ../../../development/python-modules/prompt_toolkit/1.nix { };
     };
   };
 
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index 3a80b4752c2..b28ef88ad99 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -1,16 +1,16 @@
-{ lib, python, fetchFromGitHub, installShellFiles }:
+{ stdenv, lib, python, fetchFromGitHub, installShellFiles }:
 
 let
-  version = "2.0.76";
+  version = "2.0.77";
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    sha256 = "0zfy8nhw4nx0idh94qidr06vsfxgdk2ky0ih76s27121pdwr05aa";
+    sha256 = "1qd6di8cqwhpcsqcx6g3scmwj90m15r695y5977q6a3qy13knisv";
   };
 
   # put packages that needs to be overriden in the py package scope
-  py = import ./python-packages.nix { inherit python lib src version; };
+  py = import ./python-packages.nix { inherit stdenv python lib src version; };
 in
 py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
   pname = "azure-cli";
@@ -45,6 +45,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     azure-functions-devops-build
     azure-graphrbac
     azure-keyvault
+    azure-loganalytics
     azure-mgmt-advisor
     azure-mgmt-apimanagement
     azure-mgmt-applicationinsights
@@ -173,6 +174,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     "azure_functions_devops_build"
     "azure.graphrbac"
     "azure.keyvault"
+    "azure.loganalytics"
     "azure.mgmt.advisor"
     "azure.mgmt.apimanagement"
     "azure.mgmt.applicationinsights"
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index e925a239afb..958bf31673c 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -1,4 +1,4 @@
-{ python, lib, src, version }:
+{ stdenv, python, lib, src, version }:
 
 let
   buildAzureCliPackage = with py.pkgs; attrs: buildPythonPackage (attrs // {
@@ -53,31 +53,37 @@ let
         propagatedBuildInputs = with self; [
           adal
           argcomplete
+          azure-common
           azure-cli-telemetry
+          azure-mgmt-resource
           colorama
-          jmespath
           humanfriendly
+          jmespath
           knack
           msrest
           msrestazure
           paramiko
+          psutil
           pygments
           pyjwt
           pyopenssl
+          pyperclip
           pyyaml
           requests
           six
-          azure-mgmt-resource
           tabulate
-          pyperclip
-          psutil
         ]
         ++ lib.optionals isPy3k [ antlr4-python3-runtime ]
         ++ lib.optionals (!isPy3k) [ enum34 futures antlr4-python2-runtime ndg-httpsclient ];
 
+        doCheck = stdenv.isLinux;
         # ignore test that does network call
         checkPhase = ''
-          HOME=$TMPDIR pytest --ignore=azure/cli/core/tests/test_profile.py
+          rm azure/{,cli/}__init__.py
+          python -c 'import azure.common; print(azure.common)'
+          PYTHONPATH=$PWD:$PYTHONPATH HOME=$TMPDIR pytest \
+            --ignore=azure/cli/core/tests/test_profile.py \
+            --ignore=azure/cli/core/tests/test_generic_update.py
         '';
 
         pythonImportsCheck = [
@@ -108,14 +114,20 @@ let
       azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "4.0.0" "zip"
         "0gy89bi89ikg5hps8rvnq28r33lixci3sk2m86jvziv9fh9rz41b";
 
-      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "8.0.0" "zip"
-        "06hmf9iq2yqpmmvw7pr9zm4v427q03i436lnin3aczizfndrk76i";
+      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "10.0.0" "zip"
+        "1s3bx6knxw5dxycp43yimvgrh0i19drzd09asglcwz2x5mr3bpyg";
 
       azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
         "12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
 
-      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "7.0.0" "zip"
-        "104w7rxv7hy84yzddbbpkjqha04ghr0zz9qy788n3wl69cj4cv1a";
+      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "8.0.0" "zip"
+        "0akpm12xj453dp84dfdpi06phr4q0hknr5l7bz96zbc8iand78wg";
+
+      azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "0.8.0" "zip"
+        "0iakxb2rr1w9171802m9syjzqas02vjah711mpagbgcj549mjysb";
+
+      azure-mgmt-imagebuilder = overrideAzureMgmtPackage super.azure-mgmt-imagebuilder "0.2.1" "zip"
+        "0mwlvy4x5nr3hsz7wdpdhpzwarzzwz4225bfpd68hr0pcjgzspky";
 
       azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "0.8.2" "zip"
         "0w3w1d156rnkwjdarv3qvycklxr3z2j7lry7a3jfgj3ykzny12rq";
@@ -126,8 +138,8 @@ let
       azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "2.2.0" "zip"
         "15lpyv9z8ss47rjmg1wx5akh22p9br2vckaj7jk3639vi38ac5nl";
 
-      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "0.6.0" "zip"
-        "10ymvyj386z9bjdm2g1b5a4vfnn87ig2zm6xn2xddvbpy0jxnyfv";
+      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "0.7.0" "zip"
+        "0cf4pknb5y2yz4jqwg7xm626zkfx8i8hqcr3dkvq21lrx7fz96r3";
 
       azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "2.1.0" "zip"
         "1l55py4fzzwhxlmnwa41gpmqk9v2ncc79w7zq11sm9a5ynrv2c1p";
@@ -141,12 +153,15 @@ let
       azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "0.42.0" "zip"
         "0vp40i9aaw5ycz7s7qqir6jq7327f7zg9j9i8g31qkfl1h1c7pdn";
 
-      azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.3.2" "zip"
-        "0nksxjh5kh09dr0zw667fg8mzik4ymvfq3dipwag6pynbqr9ls4l";
+      azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.6.0" "zip"
+        "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
 
       azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "0.1.0" "zip"
         "1cb466722bs0ribrirb32kc299716pl0pwivz3jyn40dd78cwhhx";
 
+      azure-mgmt-sqlvirtualmachine = overrideAzureMgmtPackage super.azure-mgmt-sqlvirtualmachine "0.4.0" "zip"
+        "1jxmikjvyxkwr8c9kn6xw8gvj9pajlk7y8111rq8fgkivwjq8wcm";
+
       azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "0.1.0" "zip"
         "1pq5rn32yvrf5kqjafnj0kc92gpfg435w2l0k7cm8gvlja4r4m77";
 
@@ -162,8 +177,8 @@ let
       azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "3.0.0rc7" "zip"
         "1bzfpbz186dhnxn0blgr20xxnk67gkr8ysn2b3f1r41bq9hz97xp";
 
-      azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "0.5.2" "zip"
-        "1r01aq5rbynbc1my4qljdifjdj9h65bh8cdzgd7vm4ij7r48v9gi";
+      azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "0.7.0" "zip"
+        "1pprvk5255b6brbw73g0g13zygwa7a2px5x08wy3153rqlzan5l2";
 
       azure-mgmt-advisor =  overrideAzureMgmtPackage super.azure-mgmt-advisor "2.0.1" "zip"
         "1wsfkprdrn22mwm24y2zlcms8ppp7jwq3s86r3ymbl29pbaxca8r";
@@ -230,17 +245,6 @@ let
         '';
       });
 
-
-
-
-
-
-
-
-
-
-
-
     };
   };
 in
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index b7208d7b867..e5fcf3933eb 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.10.2";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "0j1kzll23rj87nabzjjhxydg95cnxlwbkqp3qivf96bv1xlby75k";
+    sha256 = "197lf6cb1maam1yxy29wgp4dkakaavmwqvq2d9i4qxhscalrdra5";
   };
 
-  modSha256 = "18n4aimf9diy9w7f2k08cd7xr8jay6pid5mwrc24y2pqkjhgpyp7";
+  modSha256 = "04ba3dyfwlf0m6kn7yp7qyp3h2qdwp17y1f9pa79y3c6sd2nadk2";
 
   subPackages = [ "cmd/eksctl" ];
 
diff --git a/pkgs/tools/admin/lego/default.nix b/pkgs/tools/admin/lego/default.nix
index bf4261682cf..fa7c3876a28 100644
--- a/pkgs/tools/admin/lego/default.nix
+++ b/pkgs/tools/admin/lego/default.nix
@@ -2,16 +2,17 @@
 
 buildGoModule rec {
   pname = "lego";
-  version = "3.0.2";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "go-acme";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0q73522yblcjsyscsppwnxfw6m249zr9whb93bhv5i5z012gy6mx";
+    sha256 = "1djvwyjg30f9bj61pf3y2k2w055pj39v0sif4rjqg8cz0j382a2z";
   };
 
-  modSha256 = "00pl8l8h01rfxyd0l4487x55kfqhpm0ls84kxmgz3vph7irm6hcq";
+  modSha256 = "0k3p11cji3p4nzr8aia8hp01wyx1qfx84259dwbfwg1b32ln8rkc";
+  subPackages = [ "cmd/lego" ];
 
   meta = with lib; {
     description = "Let's Encrypt client and ACME library written in Go";
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 5a964a7fe70..3536e39418e 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -11,14 +11,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
+  version = "1.10.0";
   pname = "tigervnc";
 
   src = fetchFromGitHub {
     owner = "TigerVNC";
     repo = "tigervnc";
-    rev = "v1.9.0";
-    sha256 = "0b47fg3741qs3zdpl2zr0s6jz46dypp2j6gqrappbzm3ywnnmm1x";
+    rev = "v1.10.0";
+    sha256 = "0l0x7cq65wv9n93r952qsikwzcls1sq3r32mx0c4wg19dha0x1m4";
   };
 
   inherit fontDirectories;
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.tigervnc.org/;
+    homepage = "https://tigervnc.org/";
     license = stdenv.lib.licenses.gpl2Plus;
     description = "Fork of tightVNC, made in cooperation with VirtualGL";
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index b1d440e51ce..4b3a2f60c4f 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unrar";
-  version = "5.8.3";
+  version = "5.8.4";
 
   src = fetchurl {
     url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "19lizlsbblkcdyc81jycp5k8kf5d8h2hlgfy16zb1g2vixf6i49m";
+    sha256 = "15igz4xkzxlf81kl9p1n447rp2zrzpi6qdwn2iimzrppgqqb4z0b";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index 39ad4626f3e..575517829ff 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abcm2ps";
-  version = "8.14.5";
+  version = "8.14.6";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "1i6db49khqy8bqg21cn90b1fvyw8mh1asdswzssr6dr2g8bhdwmq";
+    sha256 = "1gqjqbd8wj0655vi8gcg2r5jqzafdlnfjzwa9z331ywhrskpm53w";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 8d990f3a3a8..804f9f3ed24 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2019.10.13";
+  version = "2019.11.11";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    sha256 = "1i2gpfrzi12smrlni25fcah6a8rb5l7p358r60jbysc2bpzxwd9l";
+    sha256 = "0xid13jqhbknrs31j74iwgjm0h0c64w3kqk9g9am1pkjwxh8d460";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/audio/mpdris2/default.nix b/pkgs/tools/audio/mpdris2/default.nix
index d13dfbe8f43..0dbdcd7d25a 100644
--- a/pkgs/tools/audio/mpdris2/default.nix
+++ b/pkgs/tools/audio/mpdris2/default.nix
@@ -1,31 +1,55 @@
-{ stdenv, fetchurl, autoreconfHook, intltool
-, pythonPackages
+{ stdenv
+, autoreconfHook
+, fetchFromGitHub
+, glib
+, gobject-introspection
+, intltool
+, libnotify
+, python3
+, wrapGAppsHook
 }:
 
-stdenv.mkDerivation rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "mpDris2";
   version = "0.8";
+  format = "other";
+  strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
-  src = fetchurl {
-    url = "https://github.com/eonpatapon/${pname}/archive/${version}.tar.gz";
-    sha256 = "14a3va3929qaq1sp9hs9w4bs6lykdvshkbc58kbsc5nzvlgmrcdn";
+  src = fetchFromGitHub {
+    owner = "eonpatapon";
+    repo = pname;
+    rev = version;
+    sha256 = "048b8acsd1b8kcxzd9fsh5p9g2an9c4rznicfcpyrsjz5syv894h";
   };
 
   preConfigure = ''
     intltoolize -f
   '';
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ intltool pythonPackages.wrapPython ];
-  propagatedBuildInputs = with pythonPackages; [ python pygtk dbus-python  ];
-  pythonPath = with pythonPackages; [ mpd pygtk dbus-python notify mutagen ];
-  postInstall = "wrapPythonPrograms";
+  nativeBuildInputs = [
+    autoreconfHook
+    gobject-introspection
+    intltool
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    libnotify
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    dbus-python
+    mpd2
+    mutagen
+    pygobject3
+  ];
 
   meta = with stdenv.lib; {
     description = "MPRIS 2 support for mpd";
     homepage = https://github.com/eonpatapon/mpDris2/;
     license = licenses.gpl3;
+    maintainers = with maintainers; [];
     platforms = platforms.unix;
-    maintainers = with maintainers; [ pjones ];
   };
 }
diff --git a/pkgs/tools/backup/hpe-ltfs/default.nix b/pkgs/tools/backup/hpe-ltfs/default.nix
new file mode 100644
index 00000000000..d289febe1f0
--- /dev/null
+++ b/pkgs/tools/backup/hpe-ltfs/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, fuse, icu, pkgconfig, libxml2, libuuid }:
+
+stdenv.mkDerivation rec {
+  version = "3.4.2_Z7550-02501";
+  pname = "hpe-ltfs";
+
+  src = fetchFromGitHub {
+    rev = version;
+    owner = "nix-community";
+    repo = "hpe-ltfs";
+    sha256 = "193593hsc8nf5dn1fkxhzs1z4fpjh64hdkc8q6n9fgplrpxdlr4s";
+  };
+
+  sourceRoot = "source/ltfs";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ 
+    fuse icu libxml2 libuuid
+  ];
+
+  meta = with stdenv.lib; {
+    description = "HPE's implementation of the open-source tape filesystem standard ltfs";
+    homepage = https://support.hpe.com/hpesc/public/km/product/1009214665/Product;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.redvers ];
+    platforms = platforms.linux;
+    downloadPage = https://github.com/nix-community/hpe-ltfs;
+  };
+}
diff --git a/pkgs/tools/filesystems/cryfs/default.nix b/pkgs/tools/filesystems/cryfs/default.nix
index 7eee02e220a..93a70f1f088 100644
--- a/pkgs/tools/filesystems/cryfs/default.nix
+++ b/pkgs/tools/filesystems/cryfs/default.nix
@@ -1,78 +1,78 @@
-{ stdenv, fetchFromGitHub
-, cmake, pkgconfig, coreutils
-, boost, cryptopp, curl, fuse, openssl, python, spdlog
+{ stdenv, fetchFromGitHub, fetchpatch
+, cmake, pkgconfig, python, gtest
+, boost, cryptopp, curl, fuse, openssl
 }:
 
 stdenv.mkDerivation rec {
   pname = "cryfs";
-  version = "0.9.10";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner  = "cryfs";
     repo   = "cryfs";
     rev    = version;
-    sha256 = "04yqpad8x0hiiwpykcn3swi0py6sg9xid6g15ny2qs4j3llin5ry";
+    sha256 = "1m6rcc82hbaiwcwcvf5xmxma8n0jal9zhcykv9xgwiax4ny0l8kz";
   };
 
-  prePatch = ''
+  patches = [
+    (fetchpatch {
+      name = "cryfs-0.10.2-install-targets.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch?id=192ac7421ddd4093125f4997898fb62e8a140a44";
+      sha256 = "1jz6gpi1i7dnfm88a6n3mccwfmsmvg0d0bmp3fmqqrkbcg7in00l";
+    })
+    (fetchpatch {
+      name = "cryfs-0.10.2-unbundle-libs.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryfs/files/cryfs-0.10.2-unbundle-libs.patch?id=192ac7421ddd4093125f4997898fb62e8a140a44";
+      sha256 = "0hzss5rawcjrh8iqzc40w5yjhxdqya4gbg6dzap70180s50mahzs";
+    })
+  ];
+
+  postPatch = ''
     patchShebangs src
 
-    substituteInPlace vendor/scrypt/CMakeLists.txt \
-      --replace /usr/bin/ ""
+    # remove tests that require network access:
+    substituteInPlace test/cpp-utils/CMakeLists.txt \
+      --replace "network/CurlHttpClientTest.cpp" "" \
+      --replace "network/FakeHttpClientTest.cpp" ""
 
-    # scrypt in nixpkgs only produces a binary so we lift the patching from that so allow
-    # building the vendored version. This is very much NOT DRY.
-    # The proper solution is to have scrypt generate a dev output with the required files and just symlink
-    # into vendor/scrypt
-    for f in Makefile.in autocrap/Makefile.am libcperciva/cpusupport/Build/cpusupport.sh ; do
-      substituteInPlace vendor/scrypt/scrypt-*/scrypt/$f --replace "command -p " ""
-    done
+    # remove CLI test trying to access /dev/fuse
+    substituteInPlace test/cryfs-cli/CMakeLists.txt \
+      --replace "CliTest_IntegrityCheck.cpp" ""
 
-    # cryfs is vendoring an old version of spdlog
-    rm -rf vendor/spdlog/spdlog
-    ln -s ${spdlog} vendor/spdlog/spdlog
+    # downsize large file test as 4.5G is too big for Hydra:
+    substituteInPlace test/cpp-utils/data/DataTest.cpp \
+      --replace "(4.5L*1024*1024*1024)" "(0.5L*1024*1024*1024)"
   '';
 
-  buildInputs = [ boost cryptopp curl fuse openssl python spdlog ];
+  nativeBuildInputs = [ cmake gtest pkgconfig python ];
 
-  patches = [
-    ./test-no-network.patch  # Disable tests using external networking
-    ./skip-failing-test-large-malloc.patch
-  ];
-
-  # coreutils is needed for the vendored scrypt
-  nativeBuildInputs = [ cmake coreutils pkgconfig ];
+  buildInputs = [ boost cryptopp curl fuse openssl ];
 
   enableParallelBuilding = true;
 
   cmakeFlags = [
-    "-DCRYFS_UPDATE_CHECKS=OFF"
-    "-DBoost_USE_STATIC_LIBS=OFF" # this option is case sensitive
+    "-DCRYFS_UPDATE_CHECKS:BOOL=FALSE"
+    "-DBoost_USE_STATIC_LIBS:BOOL=FALSE" # this option is case sensitive
+    "-DUSE_SYSTEM_LIBS:BOOL=TRUE"
+    "-DBUILD_TESTING:BOOL=TRUE"
   ];
 
-  doCheck = true;
+  doCheck = (!stdenv.isDarwin); # Cryfs tests are broken on darwin
 
-  # Cryfs tests are broken on darwin
-  checkPhase = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+  checkPhase = ''
     # Skip CMakeFiles directory and tests depending on fuse (does not work well with sandboxing)
-    SKIP_IMPURE_TESTS="CMakeFiles|fspp|cryfs-cli"
+    SKIP_IMPURE_TESTS="CMakeFiles|fspp|my-gtest-main"
 
-    for test in `ls -d test/*/ | egrep -v "$SKIP_IMPURE_TESTS"`; do
-      "./$test`basename $test`-test"
+    for t in $(ls -d test/*/ | egrep -v "$SKIP_IMPURE_TESTS"); do
+      "./$t$(basename $t)-test"
     done
   '';
 
-  installPhase = ''
-    # Building with BUILD_TESTING=ON is missing the install target
-    mkdir -p $out/bin
-    install -m 755 ./src/cryfs-cli/cryfs $out/bin/cryfs
-  '';
-
   meta = with stdenv.lib; {
     description = "Cryptographic filesystem for the cloud";
     homepage    = https://www.cryfs.org;
     license     = licenses.lgpl3;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg c0bw3b ];
     platforms   = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch b/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch
deleted file mode 100644
index feb0ed9cfbb..00000000000
--- a/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ad3f7e9fa2dececfaab43963887a2f03de52d659 Mon Sep 17 00:00:00 2001
-From: adisbladis <adis@blad.is>
-Date: Thu, 12 Oct 2017 21:45:26 +0800
-Subject: [PATCH] Skip failing test: large malloc
-
----
- test/cpp-utils/data/DataTest.cpp | 11 -----------
- 1 file changed, 11 deletions(-)
-
-diff --git a/test/cpp-utils/data/DataTest.cpp b/test/cpp-utils/data/DataTest.cpp
-index 6f9df070..bd426e62 100644
---- a/test/cpp-utils/data/DataTest.cpp
-+++ b/test/cpp-utils/data/DataTest.cpp
-@@ -191,17 +191,6 @@ TEST_F(DataTest, Inequality_DifferentLastByte) {
-   EXPECT_TRUE(data1 != data2);
- }
- 
--#ifdef __x86_64__
--TEST_F(DataTest, LargesizeSize) {
--  //Needs 64bit for representation. This value isn't in the size param list, because the list is also used for read/write checks.
--  uint64_t size = 4.5L*1024*1024*1024;
--  Data data(size);
--  EXPECT_EQ(size, data.size());
--}
--#else
--#warning This is not a 64bit architecture. Large size data tests are disabled.
--#endif
--
- TEST_F(DataTest, LoadingNonexistingFile) {
-   TempFile file(false); // Pass false to constructor, so the tempfile is not created
-   EXPECT_FALSE(Data::LoadFromFile(file.path()));
--- 
-2.14.2
-
diff --git a/pkgs/tools/filesystems/cryfs/test-no-network.patch b/pkgs/tools/filesystems/cryfs/test-no-network.patch
deleted file mode 100644
index 3392d3f855e..00000000000
--- a/pkgs/tools/filesystems/cryfs/test-no-network.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8b1808e1278d2cb0dc56a4e98781eceeadfb9718 Mon Sep 17 00:00:00 2001
-From: adisbladis <adis@blad.is>
-Date: Thu, 12 Oct 2017 18:13:28 +0800
-Subject: [PATCH] Disable tests using external networking
-
----
- test/cpp-utils/CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/test/cpp-utils/CMakeLists.txt b/test/cpp-utils/CMakeLists.txt
-index 5a2bc9f8..d838edba 100644
---- a/test/cpp-utils/CMakeLists.txt
-+++ b/test/cpp-utils/CMakeLists.txt
-@@ -20,7 +20,6 @@ set(SOURCES
-     tempfile/TempFileIncludeTest.cpp
-     tempfile/TempDirIncludeTest.cpp
-     tempfile/TempDirTest.cpp
--    network/CurlHttpClientTest.cpp
-     network/FakeHttpClientTest.cpp
-     io/ConsoleIncludeTest.cpp
-     io/ConsoleTest_AskYesNo.cpp
--- 
-2.14.2
-
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index eb17e9fc60c..0fd7062ac6c 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPackages, fetchurl, fetchpatch, pkgconfig, libuuid, gettext, texinfo }:
+{ stdenv, buildPackages, fetchurl, fetchpatch, pkgconfig, libuuid, gettext, texinfo, shared ? true }:
 
 stdenv.mkDerivation rec {
   pname = "e2fsprogs";
@@ -36,7 +36,9 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     if stdenv.isLinux then [
-      "--enable-elf-shlibs"
+      # It seems that the e2fsprogs is one of the few packages that cannot be
+      # build with shared and static libs.
+      (if shared then "--enable-elf-shlibs" else "--disable-elf-shlibs")
       "--enable-symlink-install"
       "--enable-relative-symlinks"
       "--with-crond-dir=no"
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 2c9336802ea..c65b2a63f2d 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.6.2";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03gad89jg0dif5wqdl1kh0rpmfc80pnkx8hk0v4hrlirr130dgl2";
+    sha256 = "1nhqy1fdzhkjhqs54nq66zj5bf85n3gr4k6zl0hswdvhg6flkg75";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/filesystems/fusesmb/default.nix b/pkgs/tools/filesystems/fusesmb/default.nix
deleted file mode 100644
index ada9445218b..00000000000
--- a/pkgs/tools/filesystems/fusesmb/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, samba, fuse }:
-
-stdenv.mkDerivation rec {
-  name = "fusesmb-0.8.7";
-
-  src = fetchurl {
-    url = "http://www.ricardis.tudelft.nl/~vincent/fusesmb/download/${name}.tar.gz";
-    sha256 = "12gz2gn9iqjg27a233dn2wij7snm7q56h97k6gks0yijf6xcnpz1";
-  };
-
-  buildInputs = [ samba fuse ];
-
-  postInstall =
-    ''
-      mkdir -p $out/lib
-      ln -fs ${samba}/lib/libsmbclient.so $out/lib/libsmbclient.so.0
-    '';
-
-  hardeningDisable = [ "format" ];
-
-  meta = with stdenv.lib; {
-    description = "Samba mounted via FUSE";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    broken = true; # Needs vulnerable Samba, missing source link
-                   # 2018-08-21
-  };
-}
diff --git a/pkgs/tools/filesystems/grive2/default.nix b/pkgs/tools/filesystems/grive2/default.nix
index 59ee358e028..f325fc97e32 100644
--- a/pkgs/tools/filesystems/grive2/default.nix
+++ b/pkgs/tools/filesystems/grive2/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, pkgconfig, yajl, cmake, libgcrypt, curl, expat, boost, libiberty }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.0";
+  version = "0.5.1";
   pname = "grive2";
 
   src = fetchFromGitHub {
     owner = "vitalif";
     repo = "grive2";
     rev =  "v${version}";
-    sha256 = "0gyic9228j25l5x8qj9xxxp2cgbw6y4skxqx0xrq6qilhv4lj23c";
+    sha256 = "1kv34ys8qarjsxpb1kd8dp7b3b4ycyiwjzd6mg97d3jk7405g6nm";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/tools/filesystems/moosefs/default.nix b/pkgs/tools/filesystems/moosefs/default.nix
index 1e89b5729c7..e9dc2c1f37c 100644
--- a/pkgs/tools/filesystems/moosefs/default.nix
+++ b/pkgs/tools/filesystems/moosefs/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moosefs";
-  version = "3.0.105";
+  version = "3.0.107";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wphpdll0j4i6d4yxykaz2bamv83y0sj7j3cfv4br1zamdyprfwx";
+    sha256 = "18mw7a1by8l09fb2pan6zak29bcrgbf5zgfzrlw3c203yawqbx3k";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index e4ceff36f92..11ff4b743dd 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "dcraw-9.28.0";
 
   src = fetchurl {
-    url = "https://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
+    url = "https://www.dechifro.org/dcraw/archive/${name}.tar.gz";
     sha256 = "1fdl3xa1fbm71xzc3760rsjkvf0x5jdjrvdzyg2l9ka24vdc7418";
   };
 
@@ -23,10 +23,17 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://www.cybercom.net/~dcoffin/dcraw/;
+    homepage = https://www.dechifro.org/dcraw/;
     description = "Decoder for many camera raw picture formats";
     license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
     maintainers = [ ];
+    knownVulnerabilities = [
+      "CVE-2018-19655"
+      "CVE-2018-19565"
+      "CVE-2018-19566"
+      "CVE-2018-19567"
+      "CVE-2018-19568"
+    ];
   };
 }
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 79c90575653..8c46e8154c1 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU_combined, vigra
+, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU, libGL, vigra
 , help2man, pkgconfig, perl, texlive }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7";
   };
 
-  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU_combined vigra ];
+  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU libGL vigra ];
 
   nativeBuildInputs = [ help2man perl pkgconfig texlive.combined.scheme-small ];
 
diff --git a/pkgs/tools/graphics/facedetect/default.nix b/pkgs/tools/graphics/facedetect/default.nix
index aab2e111e85..cb697148d04 100644
--- a/pkgs/tools/graphics/facedetect/default.nix
+++ b/pkgs/tools/graphics/facedetect/default.nix
@@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ python2Packages.python python2Packages.wrapPython ];
-  pythonPath = [ python2Packages.numpy python2Packages.opencv ];
+  pythonPath = [ python2Packages.numpy python2Packages.opencv4 ];
 
   phases = [ "unpackPhase" "patchPhase" "installPhase" ];
 
   patchPhase = ''
     substituteInPlace facedetect \
-      --replace /usr/share/opencv "${python2Packages.opencv}/share/OpenCV"
+      --replace /usr/share/opencv "${python2Packages.opencv4}/share/opencv4"
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/graphics/gifsicle/default.nix b/pkgs/tools/graphics/gifsicle/default.nix
index 7d2323c6d48..79b2708cb2b 100644
--- a/pkgs/tools/graphics/gifsicle/default.nix
+++ b/pkgs/tools/graphics/gifsicle/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.lcdf.org/gifsicle/;
     license = stdenv.lib.licenses.gpl2;
     platforms = platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu zimbatm ];
+    maintainers = with stdenv.lib.maintainers; [ zimbatm ];
   };
 }
diff --git a/pkgs/tools/graphics/glee/default.nix b/pkgs/tools/graphics/glee/default.nix
index ae6291811a4..a68e64c0894 100644
--- a/pkgs/tools/graphics/glee/default.nix
+++ b/pkgs/tools/graphics/glee/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchgit, cmake, libGLU_combined, xorg }:
+{stdenv, fetchgit, cmake, libGLU, libGL, xorg }:
 
 stdenv.mkDerivation rec {
   pname = "glee";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ libGLU_combined xorg.libX11 ];
+  buildInputs = [ libGLU libGL xorg.libX11 ];
 
   configureScript = ''
     cmake
diff --git a/pkgs/tools/graphics/gmic-qt/default.nix b/pkgs/tools/graphics/gmic-qt/default.nix
index cb0862c6373..a8dd35ce7b0 100644
--- a/pkgs/tools/graphics/gmic-qt/default.nix
+++ b/pkgs/tools/graphics/gmic-qt/default.nix
@@ -7,7 +7,7 @@
 , fetchFromGitLab
 , cmake
 , pkgconfig
-, opencv
+, opencv3
 , openexr
 , graphicsmagick
 , fftw
@@ -120,7 +120,7 @@ mkDerivation rec {
     libjpeg
     libtiff
     libpng
-    opencv
+    opencv3
     openexr
     graphicsmagick
     curl
diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix
index 54b140cdb3e..3f181d12ba0 100644
--- a/pkgs/tools/graphics/gmic/default.nix
+++ b/pkgs/tools/graphics/gmic/default.nix
@@ -3,7 +3,7 @@
 , cmake
 , ninja
 , pkgconfig
-, opencv
+, opencv3
 , openexr
 , graphicsmagick
 , fftw
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     libjpeg
     libtiff
     libpng
-    opencv
+    opencv3
     openexr
     graphicsmagick
   ];
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index 7e823711e33..9f6393b6372 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -11,14 +11,14 @@
 , fontconfig ? null
 , gnused ? null
 , coreutils ? null
-, withQt ? false, qttools, qtbase, qtsvg
+, withQt ? false, mkDerivation, qttools, qtbase, qtsvg
 }:
 
 assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null);
 let
   withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
-stdenv.mkDerivation rec {
+(if withQt then mkDerivation else stdenv.mkDerivation) rec {
   name = "gnuplot-5.2.7";
 
   src = fetchurl {
diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index 1f1da8df3f2..aed8b0573ba 100644
--- a/pkgs/tools/graphics/logstalgia/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, SDL2, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL2_image, glew
-, libGLU_combined, boost, glm, freetype }:
+, libGLU, libGL, boost, glm, freetype }:
 
 stdenv.mkDerivation rec {
   pname = "logstalgia";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU_combined boost
+  buildInputs = [ glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU libGL boost
                   glm freetype ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/luxcorerender/default.nix b/pkgs/tools/graphics/luxcorerender/default.nix
index 4826bd64984..6a0db954da6 100644
--- a/pkgs/tools/graphics/luxcorerender/default.nix
+++ b/pkgs/tools/graphics/luxcorerender/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, boost165, pkgconfig, python35
 , tbb, openimageio, libjpeg, libpng, zlib, libtiff, ilmbase
 , freetype, openexr, libXdmcp, libxkbcommon, epoxy, at-spi2-core
-, dbus, doxygen, qt5, c-blosc, libGLU, gnome3, gtk3, pcre
+, dbus, doxygen, qt5, c-blosc, libGLU, gnome3, dconf, gtk3, pcre
 , bison, flex, libpthreadstubs, libX11
 , embree2, makeWrapper, gsettings-desktop-schemas, glib
 , withOpenCL ? true , opencl-headers, ocl-icd, opencl-clhpp
@@ -35,7 +35,7 @@ in stdenv.mkDerivation {
      # needed for XDG_ICON_DIRS
      gnome3.adwaita-icon-theme
      makeWrapper
-     (stdenv.lib.getLib gnome3.dconf)
+     (stdenv.lib.getLib dconf)
    ] ++ stdenv.lib.optionals withOpenCL [opencl-headers ocl-icd opencl-clhpp];
 
   cmakeFlags = [
@@ -66,7 +66,7 @@ in stdenv.mkDerivation {
     wrapProgram "$out/bin/luxcoreui" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
       --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix
index 0e545fbfab9..90716d04a75 100644
--- a/pkgs/tools/graphics/nifskope/default.nix
+++ b/pkgs/tools/graphics/nifskope/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook }:
+{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook, fetchpatch }:
 
 stdenv.mkDerivation {
   pname = "nifskope";
@@ -18,6 +18,11 @@ stdenv.mkDerivation {
       src = ./qttools-bins.patch;
       qttools = "${qttools.dev}/bin";
     })
+    (fetchpatch {
+      name = "qt512-build-fix.patch";
+      url = "https://github.com/niftools/nifskope/commit/30954e7f01f3d779a2a1fd37d363e8a6ad560bd3.patch";
+      sha256 = "0d6xjj2mjjhdd7w1aig5f75jksjni16jyj0lxsz51pys6xqb6fpj";
+    })
   ];
 
   buildInputs = [ qtbase qttools libGLU.dev ];
diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix
index 068aea54595..6dafbfe2f9f 100644
--- a/pkgs/tools/graphics/pfstools/default.nix
+++ b/pkgs/tools/graphics/pfstools/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pkgconfig, darwin
-, openexr, zlib, imagemagick, libGLU_combined, freeglut, fftwFloat
+, openexr, zlib, imagemagick, libGLU, libGL, freeglut, fftwFloat
 , fftw, gsl, libexif, perl, opencv, qt5, netpbm
 }:
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
     OpenGL GLUT
   ]) else [
-    libGLU_combined freeglut
+    libGLU libGL freeglut
   ]);
 
   patches = [ ./threads.patch ./pfstools.patch ./pfsalign.patch ];
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
index 4c0a7f0b410..230b2926561 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx-cloudpinyin";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-cloudpinyin/${pname}-${version}.tar.xz";
-    sha256 = "1f3ryx817bxb8g942l50ng4xg0gp50rb7pv2p6zf98r2z804dcvf";
+    sha256 = "0ai347wv3qdjzcbh0j9hdjpzwvh2kk57324xbxq37nzagrdgg5x0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
index d2f68fd5269..cfdfa85ad9f 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-anthy/default.nix
@@ -1,35 +1,57 @@
-{ stdenv, fetchurl, intltool, pkgconfig
-, anthy, ibus, glib, gobject-introspection, gtk3, python3
+{ stdenv
+, fetchurl
+, gettext
+, pkgconfig
+, wrapGAppsHook
+, anthy
+, ibus
+, glib
+, gobject-introspection
+, gtk3
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "ibus-anthy";
   version = "1.5.11";
 
-  meta = with stdenv.lib; {
-    isIbusEngine = true;
-    description  = "IBus interface to the anthy input method";
-    homepage     = https://github.com/fujiwarat/ibus-anthy;
-    license      = licenses.gpl2Plus;
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ gebner ericsagnes ];
+  src = fetchurl {
+    url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${pname}-${version}.tar.gz";
+    sha256 = "1zwgswpibh67sgbza8kvg03v06maxc08ihkgm5hmh333sjq9d5c0";
   };
 
-  configureFlags = [ "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t" ];
-
   buildInputs = [
-    anthy glib gobject-introspection gtk3 ibus (python3.withPackages (ps: [ps.pygobject3]))
+    anthy
+    glib
+    gtk3
+    ibus
+    (python3.withPackages (ps: [
+      ps.pygobject3
+      (ps.toPythonModule ibus)
+    ]))
+  ];
+
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    pkgconfig
+    wrapGAppsHook
   ];
 
-  nativeBuildInputs = [ intltool pkgconfig python3.pkgs.wrapPython ];
+  configureFlags = [
+    "--with-anthy-zipcode=${anthy}/share/anthy/zipcode.t"
+  ];
 
   postFixup = ''
-    wrapPythonPrograms
     substituteInPlace $out/share/ibus/component/anthy.xml --replace \$\{exec_prefix\} $out
   '';
 
-  src = fetchurl {
-    url = "https://github.com/ibus/ibus-anthy/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1zwgswpibh67sgbza8kvg03v06maxc08ihkgm5hmh333sjq9d5c0";
+  meta = with stdenv.lib; {
+    isIbusEngine = true;
+    description = "IBus interface to the anthy input method";
+    homepage = https://github.com/fujiwarat/ibus-anthy;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ gebner ericsagnes ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
index 0a38ccfa3bd..d5e2f50299e 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-hangul/default.nix
@@ -1,7 +1,8 @@
 { stdenv
 , fetchurl
 , substituteAll
-, intltool
+, appstream-glib
+, gettext
 , pkgconfig
 , wrapGAppsHook
 , gtk3
@@ -12,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-hangul";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchurl {
     url = "https://github.com/choehwanjin/ibus-hangul/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0gha8dfdf54rx8fv3yfikbgdg6lqq6l883lhg7q68ybvkjx9bwbs";
+    sha256 = "1400ba2p34vr9q285lqvjm73f6m677cgfdymmjpiwyrjgbbiqrjy";
   };
 
   patches = [
@@ -27,9 +28,9 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    intltool
+    appstream-glib
+    gettext
     pkgconfig
-    python3.pkgs.wrapPython
     wrapGAppsHook
   ];
 
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
index fc4677e06b0..2c1d558f04d 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-libpinyin/default.nix
@@ -1,33 +1,54 @@
-{ stdenv, fetchFromGitHub, autoreconfHook
-, intltool, pkgconfig, sqlite, libpinyin, db
-, ibus, glib, gtk3, python3
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gettext
+, pkgconfig
+, wrapGAppsHook
+, sqlite
+, libpinyin
+, db
+, ibus
+, glib
+, gtk3
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "ibus-libpinyin";
-  version = "1.10.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
-    owner  = "libpinyin";
-    repo   = "ibus-libpinyin";
-    rev    = version;
-    sha256 = "0zkzz6ig74nws8phqxbsggnpf5g5f2hxi0mdyn2m3s4nm14q3ma6";
+    owner = "libpinyin";
+    repo = "ibus-libpinyin";
+    rev = version;
+    sha256 = "0b8rilk9zil9gvfhlk3rphcby6ph11dw66j175wp0na6h6hjlaf2";
   };
 
-  buildInputs = [ ibus glib sqlite libpinyin python3 gtk3 db ];
-  nativeBuildInputs = [ autoreconfHook intltool pkgconfig python3.pkgs.wrapPython ];
+  nativeBuildInputs = [
+    autoreconfHook
+    gettext
+    pkgconfig
+    wrapGAppsHook
+  ];
 
-  postAutoreconf = ''
-    intltoolize
-  '';
-
-  postFixup = "wrapPythonPrograms";
+  buildInputs = [
+    ibus
+    glib
+    sqlite
+    libpinyin
+    (python3.withPackages (pypkgs: with pypkgs; [
+      pygobject3
+      (toPythonModule ibus)
+    ]))
+    gtk3
+    db
+  ];
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "IBus interface to the libpinyin input method";
-    license      = licenses.gpl2;
-    maintainers  = with maintainers; [ ericsagnes ];
-    platforms    = platforms.linux;
+    description = "IBus interface to the libpinyin input method";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ ericsagnes ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
index 01b227f6f1b..c026a9d1a81 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -1,6 +1,14 @@
-{ stdenv, fetchFromGitHub
-, autoreconfHook, pkgconfig
-, ibus, m17n_lib, m17n_db, gettext, python3
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, ibus
+, gtk3
+, m17n_lib
+, m17n_db
+, gettext
+, python3
+, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -8,27 +16,40 @@ stdenv.mkDerivation rec {
   version = "1.4.1";
 
   src = fetchFromGitHub {
-    owner  = "ibus";
-    repo   = "ibus-m17n";
-    rev    = version;
+    owner = "ibus";
+    repo = "ibus-m17n";
+    rev = version;
     sha256 = "1xl7swqn46nhi43rka0zx666mpk667ykag3sz07x0zqrwi41frps";
   };
 
-  buildInputs = [
-    ibus m17n_lib m17n_db gettext
-    python3
+  nativeBuildInputs = [
+    autoreconfHook
+    gettext
+    pkgconfig
+    wrapGAppsHook
   ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig python3.pkgs.wrapPython ];
+  buildInputs = [
+    ibus
+    gtk3
+    m17n_lib
+    m17n_db
+    (python3.withPackages (ps: [
+      ps.pygobject3
+      (ps.toPythonModule ibus)
+    ]))
+  ];
 
-  postFixup = "wrapPythonPrograms";
+  configureFlags = [
+    "--with-gtk=3.0"
+  ];
 
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "m17n engine for ibus";
-    homepage     = https://github.com/ibus/ibus-m17n;
-    license      = licenses.gpl2;
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ ericsagnes ];
+    description = "m17n engine for ibus";
+    homepage = https://github.com/ibus/ibus-m17n;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ericsagnes ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 8e34cb860a6..c95a9c1651c 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     dconf
     gtk3
-    gobject-introspection
     ibus
     (python3.withPackages (pypkgs: with pypkgs; [
       pygobject3
@@ -44,7 +43,7 @@ stdenv.mkDerivation rec {
     autoreconfHook
     docbook2x
     pkgconfig
-    python3.pkgs.wrapPython
+    gobject-introspection
     wrapGAppsHook
   ];
 
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch
new file mode 100644
index 00000000000..434c85d3dbe
--- /dev/null
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/allow-wrapping.patch
@@ -0,0 +1,13 @@
+diff --git a/uniemoji.xml.in b/uniemoji.xml.in
+index 5fbfd0f..6fb8ad3 100644
+--- a/uniemoji.xml.in
++++ b/uniemoji.xml.in
+@@ -7,7 +7,7 @@
+     <license>GPL</license>
+     <author>Lalo Martins &lt;lalo.martins@gmail.com&gt;</author>
+     <homepage>https://github.com/salty-horse/ibus-uniemoji</homepage>
+-    <exec>@PYTHON@ @DATADIR@/ibus-uniemoji/uniemoji.py --ibus</exec>
++    <exec>@DATADIR@/ibus-uniemoji/uniemoji.py --ibus</exec>
+     <textdomain>uniemoji</textdomain>
+     <engines>
+         <engine>
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
index 107c8c60271..435d1154d4a 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-uniemoji/default.nix
@@ -1,8 +1,19 @@
-{ stdenv, fetchFromGitHub
-, python3Packages
+{ stdenv
+, fetchFromGitHub
+, gobject-introspection
+, wrapGAppsHook
+, python3
+, ibus
 }:
 
-stdenv.mkDerivation rec {
+let
+  python = python3.withPackages (ps: with ps; [
+    pygobject3
+    (toPythonModule ibus)
+    pyxdg
+    python-Levenshtein
+  ]);
+in stdenv.mkDerivation rec {
   pname = "ibus-uniemoji";
   version = "0.6.0";
 
@@ -13,25 +24,39 @@ stdenv.mkDerivation rec {
     sha256 = "121zh3q0li1k537fcvbd4ns4jgl9bbb9gm9ihy8cfxgirv38lcfa";
   };
 
-  propagatedBuildInputs = with python3Packages; [ pyxdg python-Levenshtein pygobject3 ];
+  patches = [
+    # Do not run wrapper script with Python,
+    # the wrapped script will have Python in shebang anyway.
+    ./allow-wrapping.patch
+  ];
 
-  nativeBuildInputs = [ python3Packages.wrapPython ];
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    python
+    ibus
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+    "SYSCONFDIR=${placeholder ''out''}/etc"
+    "PYTHON=${python.interpreter}"
+  ];
 
   postFixup = ''
-    buildPythonPath $out
-    patchPythonScript $out/share/ibus-uniemoji/uniemoji.py
+    wrapGApp $out/share/ibus-uniemoji/uniemoji.py
   '';
 
-  makeFlags = [ "PREFIX=$(out)" "SYSCONFDIR=$(out)/etc"
-                "PYTHON=${python3Packages.python.interpreter}"
-              ];
-
   meta = with stdenv.lib; {
     isIbusEngine = true;
-    description  = "Input method (ibus) for entering unicode symbols and emoji by name";
-    homepage     = "https://github.com/salty-horse/ibus-uniemoji";
-    license      = with licenses; [ gpl3 mit ];
-    platforms    = platforms.linux;
-    maintainers  = with maintainers; [ aske ];
+    description = "Input method (ibus) for entering unicode symbols and emoji by name";
+    homepage = "https://github.com/salty-horse/ibus-uniemoji";
+    license = with licenses; [ gpl3 mit ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ aske ];
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 0dc339e51c6..4951074bc43 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -1,74 +1,43 @@
-{ stdenv, substituteAll, fetchurl, fetchFromGitHub, autoreconfHook, gettext, makeWrapper, pkgconfig
-, vala, wrapGAppsHook, dbus, dconf ? null, glib, gdk-pixbuf, gobject-introspection, gtk2
-, gtk3, gtk-doc, isocodes, python3, json-glib, libnotify ? null, enablePython2Library ? false
-, enableUI ? true, withWayland ? false, libxkbcommon ? null, wayland ? null
-, buildPackages, runtimeShell }:
+{ stdenv
+, substituteAll
+, fetchurl
+, fetchFromGitHub
+, autoreconfHook
+, gettext
+, makeWrapper
+, pkgconfig
+, vala
+, wrapGAppsHook
+, dbus
+, dconf ? null
+, glib
+, gdk-pixbuf
+, gobject-introspection
+, gtk2
+, gtk3
+, gtk-doc
+, isocodes
+, cldr-emoji-annotation
+, unicode-character-database
+, unicode-emoji
+, python3
+, json-glib
+, libnotify ? null
+, enablePython2Library ? false
+, enableUI ? true
+, withWayland ? false
+, libxkbcommon ? null
+, wayland ? null
+, buildPackages
+, runtimeShell
+, nixosTests
+}:
 
 assert withWayland -> wayland != null && libxkbcommon != null;
 
 with stdenv.lib;
 
 let
-  emojiSrcs = {
-    data = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-data.txt";
-      sha256 = "11jfz5rrvyc2ixliqfcjgmch4cn9mfy0x96qnpfcyz5fy1jvfyxf";
-    };
-    sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-sequences.txt";
-      sha256 = "09bii7f5mmladg0kl3n80fa9qaix6bv5ylm92x52j7wygzv0szb1";
-    };
-    variation-sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-variation-sequences.txt";
-      sha256 = "1wlg4gbq7spmpppjfy5zdl82sj0hc836p8gljgfrjmwsjgybq286";
-    };
-    zwj-sequences = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-zwj-sequences.txt";
-      sha256 = "16gvzv76mjv9g81lm1m6cr3rpfqyn2k4hb9a62xd329252dhl25q";
-    };
-    test = fetchurl {
-      url = "http://unicode.org/Public/emoji/5.0/emoji-test.txt";
-      sha256 = "031qk2v8xdnba7hfinmgrmpglc9l8ll2hds6mw885p0hngdb3dgw";
-    };
-  };
-  emojiData = stdenv.mkDerivation {
-    name = "emoji-data-5.0";
-    dontUnpack = true;
-    installPhase = ''
-      mkdir $out
-      ${builtins.toString (flip mapAttrsToList emojiSrcs (k: v: "cp ${v} $out/emoji-${k}.txt;"))}
-    '';
-  };
-  cldrEmojiAnnotation = stdenv.mkDerivation rec {
-    pname = "cldr-emoji-annotation";
-    version = "31.90.0_1";
-    src = fetchFromGitHub {
-      owner = "fujiwarat";
-      repo = "cldr-emoji-annotation";
-      rev = version;
-      sha256 = "1vsj32bg8ab4d80rz0fxy6sj2lv31inzyjnddjm079bnvlaf2kih";
-    };
-    nativeBuildInputs = [ autoreconfHook ];
-  };
-  ucdVersion = "12.0.0";
-  ucdSrcs = {
-    NamesList = fetchurl {
-      url = "https://www.unicode.org/Public/${ucdVersion}/ucd/NamesList.txt";
-      sha256 = "c17c7726f562bd9ef869096807f0297e1edef9a58fdae1fbae487378fa43586f";
-    };
-    Blocks = fetchurl {
-      url = "https://www.unicode.org/Public/${ucdVersion}/ucd/Blocks.txt";
-      sha256 = "a1a3ca4381eb91f7b65afe7cb7df615cdcf67993fef4b486585f66b349993a10";
-    };
-  };
-  ucd = stdenv.mkDerivation {
-    name = "ucd-${ucdVersion}";
-    dontUnpack = true;
-    installPhase = ''
-      mkdir $out
-      ${builtins.toString (flip mapAttrsToList ucdSrcs (k: v: "cp ${v} $out/${k}.txt;"))}
-    '';
-  };
   python3Runtime = python3.withPackages (ps: with ps; [ pygobject3 ]);
   python3BuildEnv = python3.buildEnv.override {
     # ImportError: No module named site
@@ -82,13 +51,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "ibus";
-  version = "1.5.20";
+  version = "1.5.21";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus";
     rev = version;
-    sha256 = "1npavb896qrp6qbqayb0va4mpsi68wybcnlbjknzgssqyw2ylh9r";
+    sha256 = "0fjbqj7d2g5c8i1wdggzhz269xisxv4xb1pa9swalm5p2b2vrjlx";
   };
 
   patches = [
@@ -99,7 +68,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "installedTests" ];
 
   postPatch = ''
     echo \#!${runtimeShell} > data/dconf/make-dconf-override-db.sh
@@ -116,9 +85,15 @@ stdenv.mkDerivation rec {
     (enableFeature enablePython2Library "python-library")
     (enableFeature enablePython2Library "python2") # XXX: python2 library does not work anyway
     (enableFeature enableUI "ui")
-    "--with-unicode-emoji-dir=${emojiData}"
-    "--with-emoji-annotation-dir=${cldrEmojiAnnotation}/share/unicode/cldr/common/annotations"
-    "--with-ucd-dir=${ucd}"
+    "--enable-install-tests"
+    "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji"
+    "--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations"
+    "--with-ucd-dir=${unicode-character-database}/share/unicode"
+  ];
+
+  makeFlags = [
+    "test_execsdir=${placeholder ''installedTests''}/libexec/installed-tests/ibus"
+    "test_sourcesdir=${placeholder ''installedTests''}/share/installed-tests/ibus"
   ];
 
   nativeBuildInputs = [
@@ -132,7 +107,9 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
   ];
 
-  propagatedBuildInputs = [ glib ];
+  propagatedBuildInputs = [
+    glib
+  ];
 
   buildInputs = [
     dbus
@@ -154,10 +131,31 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # requires X11 daemon
   doInstallCheck = true;
-  installCheckPhase = "$out/bin/ibus version";
+  installCheckPhase = ''
+    $out/bin/ibus version
+  '';
+
+  postInstall = ''
+    # It has some hardcoded FHS paths and also we do not use it
+    # since we set up the environment in NixOS tests anyway.
+    moveToOutput "bin/ibus-desktop-testing-runner" "$installedTests"
+  '';
+
+  postFixup = ''
+    # set necessary environment also for tests
+    for f in $installedTests/libexec/installed-tests/ibus/*; do
+        wrapGApp $f
+    done
+  '';
+
+  passthru = {
+    tests = {
+      installed-tests = nixosTests.installed-tests.ibus;
+    };
+  };
 
   meta = {
-    homepage = https://github.com/ibus/ibus;
+    homepage = "https://github.com/ibus/ibus";
     description = "Intelligent Input Bus, input method framework";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
diff --git a/pkgs/tools/inputmethods/ibus/fix-paths.patch b/pkgs/tools/inputmethods/ibus/fix-paths.patch
index 192aa7d6395..60269c6c241 100644
--- a/pkgs/tools/inputmethods/ibus/fix-paths.patch
+++ b/pkgs/tools/inputmethods/ibus/fix-paths.patch
@@ -40,6 +40,6 @@
  export IBUS_DATAROOTDIR=@datarootdir@
  export IBUS_LOCALEDIR=@localedir@
  export IBUS_LIBEXECDIR=${libexecdir}
--exec @PYTHON@ @prefix@/share/ibus/setup/main.py $@
+-exec ${PYTHON:-@PYTHON@} @prefix@/share/ibus/setup/main.py $@
 +exec @pythonInterpreter@ @prefix@/share/ibus/setup/main.py $@
  
diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix
index ff14a13da04..c915e812891 100644
--- a/pkgs/tools/inputmethods/touchegg/default.nix
+++ b/pkgs/tools/inputmethods/touchegg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xorg, xorgserver, qt4, libGLU_combined, geis, qmake4Hook }:
+{ stdenv, fetchurl, xorg, xorgserver, qt4, libGLU, libGL, geis, qmake4Hook }:
 
 stdenv.mkDerivation rec {
   pname = "touchegg";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038";
   };
 
-  buildInputs = [ xorgserver libGLU_combined xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ];
+  buildInputs = [ xorgserver libGLU libGL xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ];
 
   nativeBuildInputs = [ qmake4Hook ];
 
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index 6309587fd52..defdd9494e5 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.193";
+  version = "1.194";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "1mykng02fyxshm02kywrk16f27b1jhgn9zcaxcvxd255sn58w68k";
+    sha256 = "10c0rbhqscizfa063m6mms31i0knh25bxr35s008b6mp5pxr33mc";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 587bc2b9278..660dcf34459 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "1.7.2";
+  version = "1.7.5";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "06wgfnlzcs6yfrjpy6zhcg5y844zd22manbm2sfq5vyng02bg229";
+    sha256 = "1s64468q7hhp42lzgcixhh3jq7i7bgmiakahyfj0mzc49mn6rr0a";
   };
 
-  modSha256 = "1y1q1lps3a8piikh8ds28yrw5r82af9pyl6vy87207z1y5v2hams";
+  modSha256 = "0c2jslcigq9ajchfr7inb7b6cpla7xjibcmjsvwspfzknrlrsbfn";
 
   buildFlagsArray = [
     "-ldflags=-s -w -X github.com/twpayne/chezmoi/cmd.VersionStr=${version}"
diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix
index 39370e6754e..6d567f6119a 100644
--- a/pkgs/tools/misc/cloc/default.nix
+++ b/pkgs/tools/misc/cloc/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/AlDanial/cloc;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu rycee ];
+    maintainers = with stdenv.lib.maintainers; [ rycee ];
   };
 }
diff --git a/pkgs/tools/misc/eva/Cargo.lock.patch b/pkgs/tools/misc/eva/Cargo.lock.patch
index c9fea04c75d..67553f0d6d8 100644
--- a/pkgs/tools/misc/eva/Cargo.lock.patch
+++ b/pkgs/tools/misc/eva/Cargo.lock.patch
@@ -1,12 +1,20 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000000..630f81eae76
+index 0000000..ac198e7
 --- /dev/null
-+++ b/pkgs/tools/misc/eva/Cargo.lock
-@@ -0,0 +1,448 @@
++++ b/Cargo.lock
+@@ -0,0 +1,583 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
++name = "aho-corasick"
++version = "0.7.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "ansi_term"
 +version = "0.11.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -21,29 +29,31 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "arrayvec"
-+version = "0.4.12"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "atty"
 +version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "autocfg"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "backtrace"
 +version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -52,8 +62,8 @@ index 00000000000..630f81eae76
 +version = "0.1.32"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -71,11 +81,11 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "blake2b_simd"
-+version = "0.5.8"
++version = "0.5.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -86,7 +96,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.46"
++version = "1.0.48"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -131,22 +141,45 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "directories"
++version = "2.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dirs-sys 0.3.4 (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.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dirs-sys"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "eva"
-+version = "0.2.4"
++version = "0.2.7"
 +dependencies = [
 + "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -166,8 +199,8 @@ index 00000000000..630f81eae76
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -182,7 +215,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.65"
++version = "0.2.66"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -204,16 +237,81 @@ index 00000000000..630f81eae76
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (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.14"
++name = "num"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-bigint"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-complex"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-integer"
++version = "0.1.41"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-rational"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
 +
 +[[package]]
 +name = "proc-macro2"
@@ -256,7 +354,7 @@ index 00000000000..630f81eae76
 +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.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -287,12 +385,28 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "regex"
++version = "1.3.1"
++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.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "rust-argon2"
 +version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -307,11 +421,11 @@ index 00000000000..630f81eae76
 +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.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-width 0.1.6 (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.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -324,7 +438,7 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.5"
++version = "1.0.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -334,12 +448,12 @@ index 00000000000..630f81eae76
 +
 +[[package]]
 +name = "synstructure"
-+version = "0.12.1"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -352,8 +466,16 @@ index 00000000000..630f81eae76
 +]
 +
 +[[package]]
++name = "thread_local"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "unicode-segmentation"
-+version = "1.3.0"
++version = "1.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -401,32 +523,42 @@ index 00000000000..630f81eae76
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[metadata]
++"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
 +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-+"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
++"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
++"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
 +"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
 +"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 +"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
-+"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
++"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
 +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-+"checksum cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)" = "0213d356d3c4ea2c18c40b037c3be23cd639825c18f25ee670ac7813beeef99c"
++"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
 +"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
 +"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
 +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
 +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
++"checksum directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "551a778172a450d7fc12e629ca3b0428d00f6afa9a43da1b630d54604e97371c"
 +"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
++"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
 +"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 +"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
 +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
 +"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-+"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
++"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
 +"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
 +"checksum nix 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4dbdc256eaac2e3bd236d93ad999d3479ef775c863dbda3068c4006a92eec51b"
-+"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
++"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
++"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a"
++"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
++"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
++"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
++"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
++"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
 +"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
 +"checksum radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
@@ -436,14 +568,17 @@ index 00000000000..630f81eae76
 +"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 redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
++"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
++"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
 +"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 +"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 +"checksum rustyline 4.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0f47ea1ceb347d2deae482d655dc8eef4bd82363d3329baffa3818bd76fea48b"
 +"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
-+"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-+"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
++"checksum syn 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)" = "dff0acdb207ae2fe6d5976617f887eb1e35a2ba52c13c7234c790960cdad9238"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 +"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
-+"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
++"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
 +"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
 +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 +"checksum utf8parse 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8772a4ccbb4e89959023bc5b7cb8623a795caa7092d99f3aa9501b9484d4557d"
diff --git a/pkgs/tools/misc/eva/default.nix b/pkgs/tools/misc/eva/default.nix
index 0efaf008d48..bf43d11e566 100644
--- a/pkgs/tools/misc/eva/default.nix
+++ b/pkgs/tools/misc/eva/default.nix
@@ -1,24 +1,32 @@
-{ stdenv, fetchFromGitHub, rustPlatform }:
+{ stdenv, fetchFromGitHub, rustPlatform, fetchpatch }:
 
 rustPlatform.buildRustPackage rec {
   pname = "eva";
-  version = "0.2.5";
+  version = "0.2.7";
 
-  cargoSha256 = "1zns4xspw9w1f84sf8cz30mp2fl1jyjc2ca09gkqhzhgaj055y7k";
+  cargoSha256 = "0n3xvlmp4l925nbz8lx6dr9yrrfh6z7b9z8wd6sli3a1dq26d6bg";
 
   src = fetchFromGitHub {
     owner = "NerdyPepper";
     repo = "${pname}";
-    rev = "v${version}";
-    sha256 = "1vqr6z4vicqx1lm5ll09za4jh8rki2qbav1pawz15hqqzps3y8h1";
+    rev = "6ce0fc0212a34ffb647b24d9d903029ac4518165";
+    sha256 = "10242vnq2ph0g3p2hdacs4lmx3f474xm04nadplxbpv9xh4nbag3";
   };
 
   cargoPatches = [ ./Cargo.lock.patch ];
 
+  patches = [
+    # to fix the test suite (can be removed as soon as #33 is merged).
+    (fetchpatch {
+      url = https://github.com/NerdyPepper/eva/commit/cacf51dbb9748b1dbe97b35f3c593a0a272bd4db.patch;
+      sha256 = "11q7dkz2x1888f3awnlr1nbbxzzfjrr46kd0kk6sgjdkyfh50cvv";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "A calculator REPL, similar to bc";
     homepage = https://github.com/NerdyPepper/eva;
     license = licenses.mit;
-    maintainers = with maintainers; [ nrdxp ];
+    maintainers = with maintainers; [ nrdxp ma27 ];
   };
 }
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index aa0af61c61c..d0c389f31f9 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -16,16 +16,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.55";
+  version = "0.2.57";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "0z0wa12vnzj07q54nr1zr81vjr1kac60nys26bbi8s6nh46n93wv";
+    sha256 = "04y3mnh77g8mvcikp3m0a20vz180fzv847z8xjnz97ynhrbp3q94";
   };
 
-  cargoSha256 = "14brb11nb17dykh37y099bhmk85a7z8fld2pivmywfgvz1x3i141";
+  cargoSha256 = "19w1lwvp54fjl1ll5pay5grfgj4zs2idqiqppxhksf61az6knql9";
 
   nativeBuildInputs = [ cmake pkgconfig installShellFiles ];
   buildInputs = [ openssl ]
@@ -55,7 +55,7 @@ buildRustPackage rec {
     '';
     homepage = https://gitlab.com/timvisee/ffsend;
     license = licenses.gpl3;
-    maintainers = [ maintainers.lilyball ];
+    maintainers = with maintainers; [ lilyball equirosa ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index a189e8c1dba..87702586a38 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fwup";
-  version = "1.3.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "058llxr8hbdjl721g76icm0gr50bglcgazwrbp3dxyd9jaa0bzc7";
+    sha256 = "11jh6pqzgcvzg5i0zhhlc3v4yc2x9bnmd9g8sqzb666jwz3yn7x3";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 66da4f53099..7207d8dbfed 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl";
+    sha256 = "192ci09yi2hps02skcnbfwyjbf7pl0wb6q2zshb58cid5zgla8bx";
   };
 
-  modSha256 = "0xc4166d74ix5nzjphrq4rgw7qpskz05ymzl77i2qh2nhbdb53p0";
+  modSha256 = "12lnv8b96adpcg9qfizcyd9nxz590nxd82xch6ij719zlqyps143";
 
   outputs = [ "out" "man" ];
 
@@ -60,6 +60,7 @@ buildGoModule rec {
     homepage = "https://github.com/junegunn/fzf";
     description = "A command-line fuzzy finder written in Go";
     license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/hyperfine/default.nix b/pkgs/tools/misc/hyperfine/default.nix
index 8f3d245280c..9a27c4df772 100644
--- a/pkgs/tools/misc/hyperfine/default.nix
+++ b/pkgs/tools/misc/hyperfine/default.nix
@@ -4,22 +4,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyperfine";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "12bj5xifnpj5yni563b6b33lzmkgm7j1wk0c9859zw59b33ifd1l";
+    sha256 = "0jx2lqhayp14c51dfvgmqrmmadyvxf0p4dsn770ndqpzv66rh6zb";
   };
 
-  cargoSha256 = "1ias944wg55njjnap7w02b87bvb502vzkpjvsb704q5i9sr8hjry";
+  cargoSha256 = "0sqmqfig40ragjx3jvwrng6hqz8l1zbmxzq470lk66x0gy4gziag";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Command-line benchmarking tool";
-    homepage    = https://github.com/sharkdp/hyperfine;
+    homepage    = "https://github.com/sharkdp/hyperfine";
     license     = with licenses; [ asl20 /* or */ mit ];
     maintainers = [ maintainers.thoughtpolice ];
     platforms   = platforms.all;
diff --git a/pkgs/tools/misc/kisslicer/default.nix b/pkgs/tools/misc/kisslicer/default.nix
index 3667b483383..5e5a7174a14 100644
--- a/pkgs/tools/misc/kisslicer/default.nix
+++ b/pkgs/tools/misc/kisslicer/default.nix
@@ -1,6 +1,6 @@
 { fetchzip
 , libX11
-, libGLU_combined
+, libGLU, libGL
 , makeWrapper
 , stdenv
 }:
@@ -8,7 +8,7 @@
 let
 
   libPath = stdenv.lib.makeLibraryPath [
-    libGLU_combined
+    libGLU libGL
     stdenv.cc.cc
     libX11
   ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     makeWrapper
-    libGLU_combined
+    libGLU libGL
     libX11
   ];
 
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index 3d9111b6a61..96c13010fac 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "lazydocker";
-  version = "0.7.4";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "03l6gs4p9p8g0ai6wqg9024rp0pd13m0b9y3sy1ww5afwxb82br6";
+    sha256 = "1sp5f9lkysqkyhd6gvrlpszrih78bj67yidkkd6azv9ianrndx0b";
   };
 
   goPackagePath = "github.com/jesseduffield/lazydocker";
@@ -17,8 +17,8 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     description = "A simple terminal UI for both docker and docker-compose";
-    homepage = https://github.com/jesseduffield/lazydocker;
+    homepage = "https://github.com/jesseduffield/lazydocker";
     license = licenses.mit;
-    maintainers = with maintainers; [ das-g ];
+    maintainers = with maintainers; [ das-g filalex77 ];
   };
 }
diff --git a/pkgs/tools/misc/licensor/default.nix b/pkgs/tools/misc/licensor/default.nix
index 99d9fc72681..0913b9afbf5 100644
--- a/pkgs/tools/misc/licensor/default.nix
+++ b/pkgs/tools/misc/licensor/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "licensor";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "raftario";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bb6q3jpzdygjcs3apl38zzmgkn22ya5wxlqgmlp0cybqbhpi20s";
+    sha256 = "0zr8hcq7crmhrdhwcclc0nap68wvg5kqn5l93ha0vn9xgjy8z11p";
   };
 
-  cargoSha256 = "1cvwyj2043vi5905n5126ikwbs3flfgzqkzjnzha0h8in8p3skv1";
+  cargoSha256 = "042dplm0cdxkv73m5qlkc61h0x9fpzxn2b0c8gjx2hwvigcia139";
 
   meta = with lib; {
     description = "Write licenses to stdout";
diff --git a/pkgs/tools/misc/memtest86-efi/default.nix b/pkgs/tools/misc/memtest86-efi/default.nix
index 8d28dbcf40e..71409b1c3a8 100644
--- a/pkgs/tools/misc/memtest86-efi/default.nix
+++ b/pkgs/tools/misc/memtest86-efi/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "memtest86-efi";
-  version = "8.1";
+  version = "8.2";
 
   src = fetchzip {
     # TODO: The latest version of memtest86 is actually 8.2, but the
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     # binaries that we make sure to version, then we could probably keep up
     # with the latest versions released by the company.
     url = "https://www.memtest86.com/downloads/memtest86-${version}-usb.zip";
-    sha256 = "0qiyd8ymn307shmvwmqd80q3svxf49133d2pf84qpdlcmjjfnhgg";
+    sha256 = "1x1wjssr4nnbnfan0pi7ni2dfwnm3288kq584hkfqcyza8xdx03i";
     stripRoot = false;
   };
 
diff --git a/pkgs/tools/misc/multitail/default.nix b/pkgs/tools/misc/multitail/default.nix
index 3037b672498..92945004cb0 100644
--- a/pkgs/tools/misc/multitail/default.nix
+++ b/pkgs/tools/misc/multitail/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "6.4.2";
+  version = "6.5.0";
   pname = "multitail";
 
   src = fetchurl {
     url = "https://www.vanheusden.com/multitail/${pname}-${version}.tgz";
-    sha256 = "1zd1r89xkxngl1pdrvsc877838nwkfqkbcgfqm3vglwalxc587dg";
+    sha256 = "1vd9vdxyxsccl64ilx542ya5vlw2bpg6gnkq1x8cfqy6vxvmx7dj";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/multitime/default.nix b/pkgs/tools/misc/multitime/default.nix
new file mode 100644
index 00000000000..a46ee2b7c9c
--- /dev/null
+++ b/pkgs/tools/misc/multitime/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "multitime";
+  version = "1.4";
+
+  src = fetchFromGitHub {
+    owner = "ltratt";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "1p6m4gyy6dw7nxnpsk32qiijagmiq9vwch0fbc25qvmybwqp8qc0";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = {
+    description = "Time command execution over multiple executions";
+
+    longDescription = ''
+      Unix's `time` utility is a simple and often effective way of measuring
+      how long a command takes to run. Unfortunately, running a command once
+      can give misleading timings: the process may create a cache on its first
+      execution, running faster subsequently; other processes may cause the
+      command to be starved of CPU or IO time; etc. It is common to see people
+      run `time` several times and take whichever values they feel most
+      comfortable with. Inevitably, this causes problems.
+
+      `multitime` is, in essence, a simple extension to time which runs a
+      command multiple times and prints the timing means (with confidence
+      intervals), standard deviations, minimums, medians, and maximums having
+      done so. This can give a much better understanding of the command's
+      performance.
+    '';
+
+    license = stdenv.lib.licenses.mit;
+    homepage = "https://tratt.net/laurie/src/multitime/";
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/ocz-ssd-guru/default.nix b/pkgs/tools/misc/ocz-ssd-guru/default.nix
index 4317c46190d..d54302b31d1 100644
--- a/pkgs/tools/misc/ocz-ssd-guru/default.nix
+++ b/pkgs/tools/misc/ocz-ssd-guru/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU_combined, glibc, makeWrapper }:
+{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU, libGL, glibc, makeWrapper }:
 
 let
   system = if stdenv.hostPlatform.system == "x86_64-linux" then "linux64" else "linux32";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       xorg.libXrender
       stdenv.cc.cc
       glibc
-      libGLU_combined
+      libGLU libGL
   ];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
new file mode 100644
index 00000000000..be8c4fb9c06
--- /dev/null
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -0,0 +1,26 @@
+{ fetchFromGitHub, rustPlatform, stdenv
+, CoreFoundation, libiconv, libresolv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "onefetch";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "o2sh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "02mdzpzfcxp9na86b4jcqqjd3id5jslgmnq1jc0vykg58xha51jg";
+  };
+
+  cargoSha256 = "1phv06zf47bv5cmhypivljfiynrblha0kj13c5al9l0hd1xx749h";
+
+  buildInputs = with stdenv;
+    lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
+
+  meta = with stdenv.lib; {
+    description = "Git repository summary on your terminal";
+    homepage = "https://github.com/o2sh/onefetch";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/paps/default.nix b/pkgs/tools/misc/paps/default.nix
index 521bebf47a3..8084f49f1b3 100644
--- a/pkgs/tools/misc/paps/default.nix
+++ b/pkgs/tools/misc/paps/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub
-, autoconf, automake, pkgconfig, pango }:
+, autoconf, automake, pkgconfig, intltool, pango }:
 
 stdenv.mkDerivation rec {
   pname = "paps";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "dov";
     repo = pname;
-    rev = version;
-    sha256 = "1f0qcawak76zk2xypipb6sy4bd8mixlrjby851x216a7f6z8fd4y";
+    rev = "v${version}";
+    sha256 = "129wpm2ayxs6qfh2761d4x9c034ivb2bcmmcnl56qs4448qb9495";
   };
 
-  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  nativeBuildInputs = [ autoconf automake pkgconfig intltool ];
   buildInputs = [ pango ];
 
   preConfigure = ''
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Pango to PostScript converter";
-    homepage = https://github.com/dov/paps;
+    homepage = "https://github.com/dov/paps";
     license = licenses.lgpl2;
     maintainers = with maintainers; [ etu ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 27fd51ed447..e606b38775e 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20191022";
+  name = "parallel-20191122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "1a89x5ix9kls1abj8zkgxdf3g3s5phzb83xcd4cwpz4szfjfw6v4";
+    sha256 = "01wmk3sf34d2lmhl37j4ga7aims2hcnzv1bydg1xs4pablar6ahq";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
index 5bd1e347082..20b45360f01 100644
--- a/pkgs/tools/misc/pipelight/default.nix
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU_combined, wine-staging }:
+{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU, libGL, wine-staging }:
 
 let
   wine_custom = wine-staging;
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
     sha256 = "1kyy6knkr42k34rs661r0f5sf6l1s2jdbphdg89n73ynijqmzjhk";
   };
 
-  buildInputs = [ wine_custom libX11 libGLU_combined curl ];
+  buildInputs = [ wine_custom libX11 libGLU libGL curl ];
 
   propagatedbuildInputs = [ curl cabextract ];
 
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 2ff042d8cbb..c4868dd6183 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2019.11";
+  version = "1.2019.12";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "0k9l4d3rf5g5vwx6kd170ija872j3fafkn50fkd3ddzjqdd0v9lm";
+    sha256 = "1682lcfk63grzhzzxv34jxw3jacznvz1pd5cb266p9akk560a3z0";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
index ca769be02d8..c42ea76ca85 100644
--- a/pkgs/tools/misc/pspg/default.nix
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "2.1.8";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "0nfc1cv2l2v1rav5jj7jz5wyb2df5l3iwrvvpkvxxpv3qll8kcfv";
+    sha256 = "0cs0hsrrknl2cv39zzq4wydx5p7095hz18yly572fnniyi4ljbdg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
index af5bfedf203..96df0707153 100644
--- a/pkgs/tools/misc/rlwrap/default.nix
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/hanslub42/rlwrap;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
+    maintainers = with stdenv.lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 71b6dd90530..d01a3a877f2 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -20,13 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "screenFetch";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchFromGitHub {
     owner  = "KittyKatt";
     repo   = "screenFetch";
     rev    = "v${version}";
-    sha256 = "11mqld9pppbappqbaj49mw2v5kysx06sy1xbs81i0hhgh35hlziv";
+    sha256 = "04l8aqr474pb115nagn9f6y48jw92n1qfszgw7dbhgl4mpn95lcr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix
index 65031c2a1fe..335a687dbc2 100644
--- a/pkgs/tools/misc/slop/default.nix
+++ b/pkgs/tools/misc/slop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, glew, glm, libGLU_combined, libX11, libXext, libXrender, icu
+, glew, glm, libGLU, libGL, libX11, libXext, libXrender, icu
 , cppcheck
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ glew glm libGLU_combined libX11 libXext libXrender icu ]
+  buildInputs = [ glew glm libGLU libGL libX11 libXext libXrender icu ]
                 ++ stdenv.lib.optional doCheck cppcheck;
 
   doCheck = false;
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 93275093086..9b749cbc875 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -2,25 +2,30 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.26.4";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "starship";
-    repo = "starship";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0r3ggy28zx94cjgf486s9qm9c8c0514k5a8fki466yghkxyjamj8";
+    sha256 = "1fwhaz76awgva0j10y5snykc8xb06x9apvpxgyxn53lh87x08q7k";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
-  cargoSha256 = "16pdvzvn4na0yksham0kwfkk7jlk4iwrzb4qych3libbswgkaklj";
+  postPatch = ''
+    substituteInPlace src/utils.rs \
+      --replace "/bin/echo" "echo"
+  '';
+
+  cargoSha256 = "19j7z0223f1yqhdgxgmzrl3ypx6d79lgccdacsmgnd8wgwxx05zg";
   checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
 
   meta = with stdenv.lib; {
     description = "A minimal, blazing fast, and extremely customizable prompt for any shell";
     homepage = "https://starship.rs";
     license = licenses.isc;
-    maintainers = with maintainers; [ bbigras davidtwco ];
+    maintainers = with maintainers; [ bbigras davidtwco filalex77 ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/termtosvg/default.nix b/pkgs/tools/misc/termtosvg/default.nix
index f3a482baa48..7dc2bc618ea 100644
--- a/pkgs/tools/misc/termtosvg/default.nix
+++ b/pkgs/tools/misc/termtosvg/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "termtosvg";
-  version = "0.9.0";
+  version = "1.0.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1mf2vlq083mzhja449il78zpvjq6fv36pzakwrqmgxdjbsdyvxbd";
+    sha256 = "1d0lmvprraspdqpn0rsqzvkkmpj8zk0crid5l39kxpjpxrv2irfg";
   };
 
   propagatedBuildInputs = with python3Packages; [ lxml pyte wcwidth ];
diff --git a/pkgs/tools/misc/tmate/default.nix b/pkgs/tools/misc/tmate/default.nix
index 9cc083e225f..86ab2492877 100644
--- a/pkgs/tools/misc/tmate/default.nix
+++ b/pkgs/tools/misc/tmate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmate";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner  = "tmate-io";
     repo   = "tmate";
     rev    = version;
-    sha256 = "183rvga8nvh9r7p8104vwcmzp3vrfdhnx73vh06m2fgdq9i5rz3l";
+    sha256 = "0x5c31yq7ansmiy20a0qf59wagba9v3pq97mlkxrqxn4n1gcc6vi";
   };
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 36127dd57e6..c628ae30e95 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -1,4 +1,12 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, ncurses, libevent, pkgconfig, makeWrapper }:
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, makeWrapper
+, bison
+, ncurses
+, libevent
+}:
 
 let
 
@@ -13,20 +21,28 @@ in
 
 stdenv.mkDerivation rec {
   pname = "tmux";
-  version = "2.9a";
+  version = "3.0";
 
   outputs = [ "out" "man" ];
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "tmux";
+    repo = "tmux";
     rev = version;
-    sha256 = "040plbgxlz14q5p0p3wapr576jbirwripmsjyq3g1nxh76jh1ipg";
+    sha256 = "0772hajzgpl4cvb9l2bma9hmnh4jg1phvqr2gg4292w34n5dsl3k";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [
+    pkgconfig
+    autoreconfHook
+    bison
+  ];
 
-  buildInputs = [ ncurses libevent makeWrapper ];
+  buildInputs = [
+    ncurses
+    libevent
+    makeWrapper
+  ];
 
   configureFlags = [
     "--sysconfdir=/etc"
@@ -39,7 +55,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://tmux.github.io/;
+    homepage = "http://tmux.github.io/";
     description = "Terminal multiplexer";
 
     longDescription =
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index b794e46b258..9ffa89f5919 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -4,11 +4,11 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vxnq5r3h32dvznh4lal29q5ny70rd861r7435gn7sa6v5ajs2f1";
+    sha256 = "13qnacqlcih731wfrsalbff1g81inkh6sypvabg5gi7gd7mha49p";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index 8514b4b9b59..3adf37c2218 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "14p7lpdp85ay5p2r9npm2adp9njcssi47mb1fh2iyn8lp51d22bi";
+    sha256 = "15w1qi38dsx573nadqpvarxx63xla53w775fwkdds2iyspaljsg6";
   };
 
-  cargoSha256 = "07h8d8fm20dp9xcz9vic63xnx2rbvanf2ivks1jiv32iy0kgz74p";
+  cargoSha256 = "0xhrgs2rpkgjzgsipq5rb3fmqwvxrl2wi0fly1xaa6p304k1710m";
 
   meta = with stdenv.lib; {
     description = "Upgrade all the things";
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 7ac9542c6b5..1cb3920a9c2 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -37,6 +37,13 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ];
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/pimutils/vdirsyncer/commit/7b636e8e40d69c495901f965b9c0686513659e44.patch";
+      sha256 = "0vl942ii5iad47y63v0ngmhfp37n30nxyk4j7h64b95fk38vfwx9";
+    })
+  ];
+
   postPatch = ''
     # see https://github.com/pimutils/vdirsyncer/pull/805
     substituteInPlace setup.cfg --replace --duration --durations
diff --git a/pkgs/tools/misc/vivid/default.nix b/pkgs/tools/misc/vivid/default.nix
index 4ffa250bdf5..a3df78abd25 100644
--- a/pkgs/tools/misc/vivid/default.nix
+++ b/pkgs/tools/misc/vivid/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "vivid";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13x0295v5blvv8dxhimbdjh81l7xl0vm6zni3qjd85psfn61371q";
+    sha256 = "00xxk1ipr3hndd717q52j7s2wfxis1p4glaa9lvp72gwwzmv5k9w";
   };
 
   postPatch = ''
     substituteInPlace src/main.rs --replace /usr/share $out/share
   '';
 
-  cargoSha256 = "125392a7x0h9jgcqc4wcaky0494xmr82iacxwl883kf0g227rv2y";
+  cargoSha256 = "04xx26ngz7hx7bv5g01q9h6dqa96xkx0xm3jb0qk6c3hp6500zpn";
 
   postInstall = ''
     mkdir -p $out/share/${pname}
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index 9016dfdf712..a685dc7cbde 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -3,13 +3,13 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "wakatime";
-  version = "13.0.1";
+  version = "13.0.2";
 
   src = fetchFromGitHub {
     owner = "wakatime";
     repo = "wakatime";
     rev = version;
-    sha256 = "1a188n763hg39s8wa20mb1bj6f3vs8h7knvm4ys7q8bhsib0pyrd";
+    sha256 = "0ng7hb83gj6vb569qh58vqp4ana162r20dif086kgc3sch2z63j9";
   };
 
   # needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt
diff --git a/pkgs/tools/misc/websocat/default.nix b/pkgs/tools/misc/websocat/default.nix
index b994aecfc0e..f682bb3d2eb 100644
--- a/pkgs/tools/misc/websocat/default.nix
+++ b/pkgs/tools/misc/websocat/default.nix
@@ -1,28 +1,27 @@
-{ stdenv, fetchFromGitHub, pkgconfig, openssl, rustPlatform, Security
-}:
+{ stdenv, fetchFromGitHub, pkgconfig, openssl, rustPlatform, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "websocat";
-  version = "1.3.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
-    owner  = "vi";
-    repo   = "websocat";
-    rev    = "v${version}";
-    sha256 = "1gf2snr12vnx2mhsrwkb5274r1pvdrf8m3bybrqbh8s9wd83nrh6";
+    owner = "vi";
+    repo = "websocat";
+    rev = "v${version}";
+    sha256 = "1lmra91ahpk4gamhnbdr066hl4vzwfh5i09fbabzdnxcvylbx8zf";
   };
 
   cargoBuildFlags = [ "--features=ssl" ];
-  cargoSha256 = "1zqfvbihf8xwgh092n9wzm3mdgbv0n99gjsfk9przqj2vh7wfvh2";
+  cargoSha256 = "163kwpahrbb9v88kjkrc0jx2np3c068pspr8rqrm9cb8jyl2njrr";
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Command-line client for WebSockets (like netcat/socat)";
-    homepage    = https://github.com/vi/websocat;
-    license     = with licenses; [ mit ];
-    maintainers = [ maintainers.thoughtpolice ];
-    platforms   = platforms.all;
+    homepage = "https://github.com/vi/websocat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thoughtpolice filalex77 ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index da54b885bfc..7ca9f18d30a 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2019.11.22";
+  version = "2019.11.28";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0avdlp0dc9p3lm68mfnic21x6blxmr0zvlxa4br5vj4y4sckq2m8";
+    sha256 = "19xiwdn3l0kizyj7cik9vyhgrlwg7ss4wl4hy2pbbbqwh5vwppwk";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -65,6 +65,6 @@ buildPythonPackage rec {
     '';
     license = licenses.publicDomain;
     platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fuuzetsu fpletz enzime ];
+    maintainers = with maintainers; [ bluescreen303 phreedom AndersonTorres fpletz enzime ];
   };
 }
diff --git a/pkgs/tools/networking/6tunnel/default.nix b/pkgs/tools/networking/6tunnel/default.nix
new file mode 100644
index 00000000000..bf0e8ba3316
--- /dev/null
+++ b/pkgs/tools/networking/6tunnel/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "6tunnel";
+  version = "0.13";
+
+  src = fetchFromGitHub {
+    owner = "wojtekka";
+    repo = pname;
+    rev = version;
+    sha256 = "0zsx9d6xz5w8zvrqsm8r625gpbqqhjzvjdzc3z8yix668yg8ff8h";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with lib; {
+    description = "Tunnelling for application that don't speak IPv6";
+    homepage = "https://github.com/wojtekka/6tunnel";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 2ff127f3e68..5fccd9c0ebc 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.pps.univ-paris-diderot.fr/~jch/software/babel/;
     description = "Loop-avoiding distance-vector routing protocol";
     license = stdenv.lib.licenses.mit;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu fpletz ];
+    maintainers = with stdenv.lib.maintainers; [ fpletz ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/tools/networking/chrony/allow-clock_adjtime.patch b/pkgs/tools/networking/chrony/allow-clock_adjtime.patch
new file mode 100644
index 00000000000..2fa3baca722
--- /dev/null
+++ b/pkgs/tools/networking/chrony/allow-clock_adjtime.patch
@@ -0,0 +1,26 @@
+From 0cf506c92967c84f9ed83ba9e1be946a7fda6425 Mon Sep 17 00:00:00 2001
+From: Miroslav Lichvar <mlichvar@redhat.com>
+Date: Mon, 2 Dec 2019 12:47:13 +0100
+Subject: sys_linux: allow clock_adjtime in seccomp filter
+
+The adjtimex() function in glibc was switched to the clock_adjtime
+system call.
+
+diff --git a/sys_linux.c b/sys_linux.c
+index 63eb8f1..fcf89c2 100644
+--- a/sys_linux.c
++++ b/sys_linux.c
+@@ -478,8 +478,8 @@ SYS_Linux_EnableSystemCallFilter(int level)
+ {
+   const int syscalls[] = {
+     /* Clock */
+-    SCMP_SYS(adjtimex), SCMP_SYS(clock_gettime), SCMP_SYS(gettimeofday),
+-    SCMP_SYS(settimeofday), SCMP_SYS(time),
++    SCMP_SYS(adjtimex), SCMP_SYS(clock_adjtime), SCMP_SYS(clock_gettime),
++    SCMP_SYS(gettimeofday), SCMP_SYS(settimeofday), SCMP_SYS(time),
+     /* Process */
+     SCMP_SYS(clone), SCMP_SYS(exit), SCMP_SYS(exit_group), SCMP_SYS(getpid),
+     SCMP_SYS(getrlimit), SCMP_SYS(rt_sigaction), SCMP_SYS(rt_sigreturn),
+-- 
+cgit v0.10.2
+
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index 69c4f897c93..c0c3281431f 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
     sha256 = "1d9r2dhslll4kzdmxrj0qfgwq1b30d4l3s5cwr8yr93029dpj0jf";
   };
 
+  patches = [
+    ./allow-clock_adjtime.patch
+    ./fix-seccomp-build.patch
+  ];
+
   postPatch = ''
     patchShebangs test
   '';
diff --git a/pkgs/tools/networking/chrony/fix-seccomp-build.patch b/pkgs/tools/networking/chrony/fix-seccomp-build.patch
new file mode 100644
index 00000000000..6888e7efeb7
--- /dev/null
+++ b/pkgs/tools/networking/chrony/fix-seccomp-build.patch
@@ -0,0 +1,13 @@
+diff --git a/sys_linux.c b/sys_linux.c
+index 898dc7a7f75..fcd334ecf03 100644
+--- a/sys_linux.c
++++ b/sys_linux.c
+@@ -503,7 +503,7 @@ SYS_Linux_EnableSystemCallFilter(int level)
+     SCMP_SYS(socketcall),
+     /* General I/O */
+     SCMP_SYS(_newselect), SCMP_SYS(close), SCMP_SYS(open), SCMP_SYS(openat), SCMP_SYS(pipe),
+-    SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(ppoll), SCMP_SYS(pselect6), SCMP_SYS(read),
++    SCMP_SYS(pipe2), SCMP_SYS(poll), SCMP_SYS(pselect6), SCMP_SYS(read),
+     SCMP_SYS(futex), SCMP_SYS(select), SCMP_SYS(set_robust_list), SCMP_SYS(write),
+     /* Miscellaneous */
+     SCMP_SYS(getrandom), SCMP_SYS(sysinfo), SCMP_SYS(uname),
diff --git a/pkgs/tools/networking/connman/connman-notify/default.nix b/pkgs/tools/networking/connman/connman-notify/default.nix
index 0cb32ca415f..d17729c691d 100644
--- a/pkgs/tools/networking/connman/connman-notify/default.nix
+++ b/pkgs/tools/networking/connman/connman-notify/default.nix
@@ -1,38 +1,34 @@
-{ stdenv, fetchFromGitHub, pythonPackages, makeWrapper }:
+{ stdenv, fetchFromGitLab, python3Packages, glib, gobject-introspection, wrapGAppsHook }:
 
-stdenv.mkDerivation {
+python3Packages.buildPythonApplication {
   pname = "connman-notify";
-  version = "2014-06-23";
+  version = "2019-10-05";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitLab {
     owner = "wavexx";
     repo = "connman-notify";
-    rev = "0ed9b5e4a0e1f03c83c4589cabf410cac66cd11d";
-    sha256 = "0lhk417fdg3qxs1marpqp277bdxhwnbyrld9xj224bfk5v7xi4bg";
+    rev = "24b10a51721b54d932f4cd61ef2756423768c015";
+    sha256 = "1k5b5y6114yna2cm0cq82xilicran63hrhlklgv7k3p89057xh8j";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  format = "other";
 
-  buildInputs = [
-    pythonPackages.python
-    pythonPackages.dbus-python
-    pythonPackages.pygobject2
-    pythonPackages.pygtk
-    pythonPackages.notify
-  ];
+  nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
+
+  buildInputs = [ glib ];
+
+  pythonPath = with python3Packages; [ dbus-python pygobject3 ];
+
+  strictDeps = false;
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp -vai connman-notify $out/bin/
+    install -D -t $out/bin connman-notify
+    install -D -t $out/share/doc README.rst
   '';
 
-  preFixup = ''
-    wrapProgram $out/bin/connman-notify --prefix PYTHONPATH : "$PYTHONPATH"
-  '';  
-
   meta = with stdenv.lib; {
     description = "Desktop notification integration for connman";
-    homepage = https://github.com/wavexx/connman-notify;
+    homepage = https://gitlab.com/wavexx/connman-notify;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index de664fe0b7d..828d61ca43c 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "6.4.1";
+  version = "6.4.6";
 
   goPackagePath = "github.com/schollz/croc";
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0sil1gxml4p4yysm8x6bpv5m0hvw4ss27b4c9wdag06lav0g4am0";
+    sha256 = "13sgjyrabr34a6sz8lzc21zvv5wc5lkgwbx0ar8afmikkrpdypln";
   };
 
   modSha256 = "1w84xqnn9fnkakak6j069app4ybbxpwq79g8qypwvmqg5bhvzywg";
@@ -20,7 +20,7 @@ buildGoModule rec {
     description = "Easily and securely send things from one computer to another";
     homepage = https://github.com/schollz/croc;
     license = licenses.mit;
-    maintainers = with maintainers; [ hugoreeves ];
+    maintainers = with maintainers; [ hugoreeves equirosa ];
 
     longDescription = ''
       Croc is a command line tool written in Go that allows any two computers to
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 0827f2eac7b..d63c63ab1d2 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
   # when updating this to >=7, check, see previous reverts:
   # nix-build -A nixos.tests.networking.scripted.macvlan.x86_64-linux nixos/release-combined.nix
   pname = "dhcpcd";
-  version = "8.0.6";
+  version = "8.1.2";
 
   src = fetchurl {
     url = "mirror://roy/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0kxxpb79j564m6bjvjb9gsn0yzs13c0arfgsycm51gw3xnch3db6";
+    sha256 = "1b9mihp1mf2vng92fgks764a6pwf2gx7ccw6knja79c42nmyglyb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/ferm/default.nix b/pkgs/tools/networking/ferm/default.nix
index 2cf111e8ccf..6f1660484e7 100644
--- a/pkgs/tools/networking/ferm/default.nix
+++ b/pkgs/tools/networking/ferm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables }:
+{ stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables, nixosTests }:
 
 stdenv.mkDerivation rec {
   version = "2.4.1";
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru.tests.ferm = nixosTests.ferm;
+
   meta = {
     homepage = http://ferm.foo-projects.org/;
     description = "Tool to maintain complex firewalls";
diff --git a/pkgs/tools/networking/gnirehtet/default.nix b/pkgs/tools/networking/gnirehtet/default.nix
index 37d2eea825f..06faa064025 100644
--- a/pkgs/tools/networking/gnirehtet/default.nix
+++ b/pkgs/tools/networking/gnirehtet/default.nix
@@ -1,12 +1,12 @@
 {stdenv, rustPlatform, fetchFromGitHub, fetchzip, androidenv, substituteAll}:
 let
-version = "2.3";
+version = "2.4";
 apk = stdenv.mkDerivation {
   pname = "gnirehtet.apk";
   inherit version;
   src = fetchzip {
     url = "https://github.com/Genymobile/gnirehtet/releases/download/v${version}/gnirehtet-rust-linux64-v${version}.zip";
-    sha256 = "08pgmpbz82cd8ndr2syiv25l5xk1gvh9gzji4pgva5gw269bjmpz";
+    sha256 = "13gsh5982v961j86j5y71pgas94g2d1v1fgnbslbqw4h69fbf48g";
   };
   installPhase = ''
     mkdir $out
@@ -22,10 +22,10 @@ rustPlatform.buildRustPackage {
       owner = "Genymobile";
       repo = "gnirehtet";
       rev = "v${version}";
-      sha256 = "118ig42qzr2xyra7r8zfxq38xidaxfc98ja9836jwnn9fgbigczr";
+      sha256 = "1c99d6zpjxa8xlrg0n1825am20d2pjiicfcjwv8iay9ylfdnvygl";
   };
   sourceRoot = "source/relay-rust";
-  cargoSha256 = "1500lfwbfnc0k2hn7r1n629fq11zfqm3fg13dddmhchq4i3sqkfb";
+  cargoSha256 = "1l1cirhmfkpa466vksynlhwggsfiahws7cpsxydrc414l415l283";
 
   patchFlags = [ "-p2" ];
   patches = [
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 2b5f52b51aa..95457b01205 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.0.8";
+  version = "2.0.10";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "02i87hr1dfhrk6nvvcig4m9bpww7hyl6qcxcl20rfvxd2n2iwzn3";
+    sha256 = "1sm42q9l159pdmjs5dg544z10dn6x073caljkqh0p4syshysnf0x";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix
index bd035e8f03c..6c2a42e3a24 100644
--- a/pkgs/tools/networking/mu/default.nix
+++ b/pkgs/tools/networking/mu/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, sqlite, pkgconfig, autoreconfHook, pmccabe
 , xapian, glib, gmime3, texinfo , emacs, guile
-, gtk3, webkitgtk24x-gtk3, libsoup, icu
+, gtk3, webkitgtk, libsoup, icu
 , withMug ? false }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     sqlite xapian glib gmime3 texinfo emacs guile libsoup icu
-  ] ++ stdenv.lib.optionals withMug [ gtk3 webkitgtk24x-gtk3 ];
+  ] ++ stdenv.lib.optionals withMug [ gtk3 webkitgtk ];
 
   nativeBuildInputs = [ pkgconfig autoreconfHook pmccabe ];
 
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
new file mode 100644
index 00000000000..7f9d194e44a
--- /dev/null
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -0,0 +1,43 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "nebula";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "slackhq";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j7fna352z8kzx6n0hck7rp122c0v44j9syz0v30vq47xq2pwj5c";
+  };
+
+  modSha256 = "130h0gc5z0w5inpc99y6mismwg3nyzk3bqdq5v9yclkxlhkbcp6d";
+
+  subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
+
+  buildFlagsArray = [ "-ldflags='-X main.Build=${version}'" ];
+
+  meta = with lib; {
+    description = "A scalable overlay networking tool with a focus on performance, simplicity and security";
+    longDescription = ''
+      Nebula is a scalable overlay networking tool with a focus on performance,
+      simplicity and security. It lets you seamlessly connect computers
+      anywhere in the world. Nebula is portable, and runs on Linux, OSX, and
+      Windows. (Also: keep this quiet, but we have an early prototype running
+      on iOS). It can be used to connect a small number of computers, but is
+      also able to connect tens of thousands of computers.
+
+      Nebula incorporates a number of existing concepts like encryption,
+      security groups, certificates, and tunneling, and each of those
+      individual pieces existed before Nebula in various forms. What makes
+      Nebula different to existing offerings is that it brings all of these
+      ideas together, resulting in a sum that is greater than its individual
+      parts.
+    '';
+    homepage = "https://github.com/slackhq/nebula";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 4805d01dead..4e015254658 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -10,11 +10,11 @@ let
   pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
 in stdenv.mkDerivation rec {
   pname = "network-manager";
-  version = "1.20.4";
+  version = "1.20.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${stdenv.lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "0k4i6m8acp48vl6l13267wv6kfkmzfjq2mraaa5m9n82wyvkimx3";
+    sha256 = "0fa5my2czxxlr0lcrzm4zcbcfmvzflnzg1n0yrf6wssa07qaklp8";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
@@ -61,13 +61,6 @@ in stdenv.mkDerivation rec {
     # Meson does not support using different directories during build and
     # for installation like Autotools did with flags passed to make install.
     ./fix-install-paths.patch
-
-    # Fixes https://github.com/NixOS/nixpkgs/issues/72330
-    # Upstream MR: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/323
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/4c11364201c094ad19ab9980ea6051a82bd2a550.patch";
-      sha256 = "14dgb6ijxyzcglrk67is2fn49iwrhljf2sld8w557i6zkypilmsv";
-    })
   ];
 
   buildInputs = [
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index d9cde0123aa..9429dee64bd 100644
--- a/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "4.2.0";
+  version = "4.2.1";
   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 = "00c5y06b8lm6lhnnvl42yndwdgn42bwwfc7p1q7zcsga275b6jpb";
+    sha256 = "1inkiqbr183ksmkvpawagv1gqgc323wa1d6sdrd33pb9lk6wahdl";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/tools/networking/pmacct/default.nix b/pkgs/tools/networking/pmacct/default.nix
new file mode 100644
index 00000000000..5d0c5cccded
--- /dev/null
+++ b/pkgs/tools/networking/pmacct/default.nix
@@ -0,0 +1,62 @@
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, autoreconfHook
+, libtool
+, libpcap
+
+# Optional Dependencies
+, zlib ? null
+, withJansson ? true, jansson ? null
+, withNflog ? true, libnetfilter_log ? null
+, withSQLite ? true, sqlite ? null
+, withPgSQL ? true, postgresql ? null
+, withMysql ? true, libmysqlclient ? null }:
+
+assert withJansson -> jansson != null;
+assert withNflog -> libnetfilter_log != null;
+assert withSQLite -> sqlite != null;
+assert withPgSQL -> postgresql != null;
+assert withMysql -> libmysqlclient != null;
+
+let inherit (stdenv.lib) optional; in
+
+stdenv.mkDerivation rec {
+  version = "1.7.3";
+  pname = "pmacct";
+
+  src = fetchFromGitHub {
+    owner = "pmacct";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j5qmkya67q7jvaddcj00blmaac37bkir1zb3m1xmm95gm5lf2p5";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig libtool ];
+  buildInputs = [ libpcap ]
+    ++ optional withJansson jansson
+    ++ optional withNflog libnetfilter_log
+    ++ optional withSQLite sqlite
+    ++ optional withPgSQL postgresql
+    ++ optional withMysql [ libmysqlclient zlib ];
+
+  configureFlags = [
+    "--with-pcap-includes=${libpcap}/include"
+  ] ++ optional withJansson "--enable-jansson"
+    ++ optional withNflog "--enable-nflog"
+    ++ optional withSQLite "--enable-sqlite3"
+    ++ optional withPgSQL "--enable-pgsql"
+    ++ optional withMysql "--enable-mysql";
+
+  meta = with stdenv.lib; {
+    description = "pmacct is a small set of multi-purpose passive network monitoring tools";
+    longDescription = ''
+      pmacct is a small set of multi-purpose passive network monitoring tools
+      [NetFlow IPFIX sFlow libpcap BGP BMP RPKI IGP Streaming Telemetry]
+    '';
+    homepage = "http://www.pmacct.net/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ "0x4A6F" ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/shadowsocks-libev/default.nix b/pkgs/tools/networking/shadowsocks-libev/default.nix
index 254e5d3e5d3..b6051ef26b0 100644
--- a/pkgs/tools/networking/shadowsocks-libev/default.nix
+++ b/pkgs/tools/networking/shadowsocks-libev/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "shadowsocks-libev";
-  version = "3.3.1";
+  version = "3.3.3";
 
   # Git tag includes CMake build files which are much more convenient.
   src = fetchFromGitHub {
     owner = "shadowsocks";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "0l15mbwlzx446rn5cix9f1726by62807bhnxkzknd41j7r937vyv";
+    sha256 = "1i2431imbn4bhwmwyz63g5mh1g5ikhsiwv6mzcdc2kx34zjpibrj";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/networking/sslsplit/default.nix b/pkgs/tools/networking/sslsplit/default.nix
new file mode 100644
index 00000000000..bf23d06551d
--- /dev/null
+++ b/pkgs/tools/networking/sslsplit/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, openssl, libevent, libpcap, libnet, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "sslsplit";
+  version = "0.5.5";
+
+  src = fetchFromGitHub {
+    owner = "droe";
+    repo = pname;
+    rev = version;
+    sha256 = "1p43z9ln5rbc76v0j1k3r4nhvfw71hq8jzsallb54z9hvwfvqp3l";
+  };
+
+  buildInputs = [ openssl libevent libpcap libnet zlib ];
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "OPENSSL_BASE=${openssl.dev}"
+    "LIBEVENT_BASE=${libevent.dev}"
+    "LIBPCAP_BASE=${libpcap}"
+    "LIBNET_BASE=${libnet}"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Transparent SSL/TLS interception";
+    homepage = "https://www.roe.ch/SSLsplit";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ contrun ];
+    license = with licenses; [ bsd2 mit unlicense free ];
+  };
+}
diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix
index 792e6f68294..b9278dd7c0d 100644
--- a/pkgs/tools/networking/stunnel/default.nix
+++ b/pkgs/tools/networking/stunnel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stunnel";
-  version = "5.55";
+  version = "5.56";
 
   src = fetchurl {
     url    = "https://www.stunnel.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0qjc0wkjf6bqz29fvwwsn9hnjhm6alsm10jcwx4jad2q3ks6kplh";
+    sha256 = "08kb4gi9fzqngrczykvba6xhaxhq9m4wmdbhxvgrva5rasrvz13k";
     # please use the contents of "https://www.stunnel.org/downloads/${name}.tar.gz.sha256",
     # not the output of `nix-prefetch-url`
   };
diff --git a/pkgs/tools/networking/uget/default.nix b/pkgs/tools/networking/uget/default.nix
index 78dcb00eb78..b2da1384557 100644
--- a/pkgs/tools/networking/uget/default.nix
+++ b/pkgs/tools/networking/uget/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, openssl, curl, libnotify,
-  libappindicator-gtk3, gst_all_1, gtk3, gnome3, wrapGAppsHook, aria2 ? null
+  libappindicator-gtk3, gst_all_1, gtk3, dconf, wrapGAppsHook, aria2 ? null
 }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     libnotify
     libappindicator-gtk3
     gtk3
-    (stdenv.lib.getLib gnome3.dconf)
+    (stdenv.lib.getLib dconf)
   ]
   ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ])
   ++ (stdenv.lib.optional (aria2 != null) aria2);
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index e83e5268629..08e2e07581b 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unbound";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1c2bjm13x8bkw0ds1mhn9ivd2gzmfrb0x5y76bkz09a04bxjagix";
+    sha256 = "0myv8l886gmlh9nh4j3q5549idxnl51hf9cw20yxfqbwd47l13ca";
   };
 
   # https://github.com/NLnetLabs/unbound/pull/90
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
new file mode 100644
index 00000000000..78f17934a78
--- /dev/null
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -0,0 +1,36 @@
+{ callPackage, fetchFromGitHub, fetchurl
+, assetOverrides ? {}
+, ... } @ args:
+
+callPackage ./generic.nix (rec {
+  version = "4.21.3";
+
+  src = fetchFromGitHub {
+    owner = "v2ray";
+    repo = "v2ray-core";
+    rev = "v${version}";
+    sha256 = "0z45nrjnalrvpprq7g4zrjbrdkc3d3lhs4ci8hb8m69f92asiwbs";
+  };
+
+  assets = {
+    # MIT licensed
+    "geoip.dat" = let
+      geoipRev = "20190516.1";
+      geoipSha256 = "14h4rq7rlcl1397pwpylfgwpk3fiscpzqb04c4wd5lxkfvk5f02r";
+    in fetchurl {
+      url = "https://github.com/v2ray/geoip/releases/download/${geoipRev}/geoip.dat";
+      sha256 = geoipSha256;
+    };
+
+    # MIT licensed
+    "geosite.dat" = let
+      geositeRev = "20191121.1";
+      geositeSha256 = "0ijmvy43pvm69w38djf114j8swni7wfq5ry9wdpv9dj0rzb59m74";
+    in fetchurl {
+      url = "https://github.com/v2ray/domain-list-community/releases/download/${geositeRev}/dlc.dat";
+      sha256 = geositeSha256;
+    };
+
+  } // assetOverrides;
+
+} // args)
diff --git a/pkgs/tools/networking/v2ray/generic.nix b/pkgs/tools/networking/v2ray/generic.nix
new file mode 100644
index 00000000000..bf6e6cd55ae
--- /dev/null
+++ b/pkgs/tools/networking/v2ray/generic.nix
@@ -0,0 +1,50 @@
+{ lib, linkFarm, buildGoModule, runCommand, makeWrapper
+
+# Version specific args
+, version, src, assets
+, ... }:
+
+let
+  assetsDrv = linkFarm "v2ray-assets" (lib.mapAttrsToList (name: path: {
+    inherit name path;
+  }) assets);
+
+  core = buildGoModule rec {
+    pname = "v2ray-core";
+    inherit version src;
+
+    modSha256 = "11gsncy3449a7y6w6pr7acqabyj2q2a1q52f8fcl5cdz1vjbmmxi";
+
+    buildPhase = ''
+      runHook preBuild
+
+      go build -o v2ray v2ray.com/core/main
+      go build -o v2ctl v2ray.com/core/infra/control/main
+
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      install -Dm755 v2ray v2ctl -t $out/bin
+    '';
+  };
+
+in runCommand "v2ray-${version}" {
+  inherit version;
+
+  buildInputs = [ assetsDrv core ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  meta = {
+    homepage = "https://www.v2ray.com/en/index.html";
+    description = "A platform for building proxies to bypass network restrictions";
+    license = with lib.licenses; [ mit ];
+    maintainers = with lib.maintainers; [ servalcatty ];
+  };
+
+} ''
+  for file in ${core}/bin/*; do
+    makeWrapper "$file" "$out/bin/$(basename "$file")" \
+      --set-default V2RAY_LOCATION_ASSET ${assetsDrv}
+  done
+''
diff --git a/pkgs/tools/networking/v2ray/update.sh b/pkgs/tools/networking/v2ray/update.sh
new file mode 100755
index 00000000000..38ad77e98f8
--- /dev/null
+++ b/pkgs/tools/networking/v2ray/update.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq
+set -eo pipefail
+
+version_nix=$(dirname "$0")/default.nix
+deps_nix=$(dirname "$0")/deps.nix
+
+old_core_rev="v$(sed -En 's/.*\bversion = "(.*?)".*/\1/p' "$version_nix")"
+old_geoip_rev=$(sed -En 's/.*\bgeoipRev = "(.*?)".*/\1/p' "$version_nix")
+old_geosite_rev=$(sed -En 's/.*\bgeositeRev = "(.*?)".*/\1/p' "$version_nix")
+echo "Current version:" >&2
+echo "core: $old_core_rev, geoip: $old_geoip_rev, geosite: $old_geosite_rev" >&2
+
+function fetch_latest_rev {
+    curl "https://api.github.com/repos/v2ray/$1/releases" |
+        jq '.[0].tag_name' --raw-output
+}
+
+core_rev=$(fetch_latest_rev 'v2ray-core')
+geoip_rev=$(fetch_latest_rev 'geoip')
+geosite_rev=$(fetch_latest_rev 'domain-list-community')
+echo "Latest version:" >&2
+echo "core: $core_rev, geoip: $geoip_rev, geosite: $geosite_rev" >&2
+
+if [[ $core_rev != $old_core_rev ]]; then
+    echo "Prefetching core..." >&2
+    { read hash; read store_path; } < <(
+        nix-prefetch-url --unpack --print-path "https://github.com/v2ray/v2ray-core/archive/$core_rev.zip"
+    )
+
+    sed --in-place \
+        -e "s/\bversion = \".*\"/version = \"$(echo "$core_rev" | tail -c+2)\"/" \
+        -e "s/\bsha256 = \".*\"/sha256 = \"$hash\"/" \
+        "$version_nix"
+fi
+
+if [[ $geoip_rev != $old_geoip_rev ]]; then
+    echo "Prefetching geoip..." >&2
+    hash=$(nix-prefetch-url "https://github.com/v2ray/geoip/releases/download/$geoip_rev/geoip.dat")
+    sed --in-place \
+        -e "s/\bgeoipRev = \".*\"/geoipRev = \"$geoip_rev\"/" \
+        -e "s/\bgeoipSha256 = \".*\"/geoipSha256 = \"$hash\"/" \
+        "$version_nix"
+fi
+
+if [[ $geosite_rev != $old_geosite_rev ]]; then
+    echo "Prefetching geosite..." >&2
+    hash=$(nix-prefetch-url "https://github.com/v2ray/domain-list-community/releases/download/$geosite_rev/dlc.dat")
+    sed --in-place \
+        -e "s/\bgeositeRev = \".*\"/geositeRev = \"$geosite_rev\"/" \
+        -e "s/\bgeositeSha256 = \".*\"/geositeSha256 = \"$hash\"/" \
+        "$version_nix"
+fi
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index b0564ad7c74..e079f9a881e 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.2";
+  version = "5.5.3";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "0587xvw0ifjrwxgisw0nfx7qykmkly1knfdghrpph9vicpzwsidw";
+    sha256 = "099yvqng085f69k815961jnwk50nzmiknvhl1wwmji2hl36r160g";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index ad449429f99..d5edb128cd5 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -1,6 +1,7 @@
 {
   stdenv, fetchzip,
 
+  iptables ? null,
   iproute ? null,
   libmnl ? null,
   makeWrapper ? null,
@@ -13,11 +14,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "0.0.20191012";
+  version = "0.0.20191127";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "0nwcx7m5cpp4h1bclswiqq1jzj08xzpxmq5s4rcfqmrp59cmwgrs";
+    sha256 = "1n1x5858c32p0a13rrhn9a491174k5z4wd0gsy8qn546k1a8qj99";
   };
 
   sourceRoot = "source/src/tools";
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
       --replace /usr/bin $out/bin
   '' + optionalString stdenv.isLinux ''
     for f in $out/bin/*; do
-      wrapProgram $f --prefix PATH : ${makeBinPath [procps iproute openresolv]}
+      wrapProgram $f --prefix PATH : ${makeBinPath [procps iproute iptables openresolv]}
     done
   '' + optionalString stdenv.isDarwin ''
     for f in $out/bin/*; do
diff --git a/pkgs/tools/networking/yggdrasil/default.nix b/pkgs/tools/networking/yggdrasil/default.nix
index f6fff42efdf..ca10adae0e4 100644
--- a/pkgs/tools/networking/yggdrasil/default.nix
+++ b/pkgs/tools/networking/yggdrasil/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.3.11";
+  version = "0.3.12";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "0cz9axphqvpqwy591ws9by7khpdw96iwf9vmhif3i52ghp8hpfd1";
+    sha256 = "03ywxamjcnhcr20vm9pn3rq3hqq49i6rfdvx44czzr30h8xp8dhw";
   };
 
   modSha256 = "1vqk0jyqc1qcryi247r5pbvfjw3m48l028fb2mrq1xqqfkjqrr85";
diff --git a/pkgs/tools/networking/ytcc/default.nix b/pkgs/tools/networking/ytcc/default.nix
index d489d84d1cc..4675dac5f47 100644
--- a/pkgs/tools/networking/ytcc/default.nix
+++ b/pkgs/tools/networking/ytcc/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ytcc";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "woefe";
     repo = "ytcc";
     rev = "v${version}";
-    sha256 = "080p145j5pg8db88kb0y3x1pfc3v4aj3w68pdihlmi68dhjdr7i7";
+    sha256 = "0a4gxdan3aivbpkxw9cv1bgl7rfrwdii12d096dx06zlymb27gqs";
   };
 
   nativeBuildInputs = [ gettext ];
diff --git a/pkgs/tools/package-management/cargo-deb/default.nix b/pkgs/tools/package-management/cargo-deb/default.nix
index 4630ed66bd2..d9e0630e6ff 100644
--- a/pkgs/tools/package-management/cargo-deb/default.nix
+++ b/pkgs/tools/package-management/cargo-deb/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deb";
-  version = "1.21.1";
+  version = "1.23.0";
 
   src = fetchFromGitHub {
     owner = "mmstick";
     repo = "cargo-deb";
     rev = "v${version}";
-    sha256 = "10b25a0cnrd2bhf38yqc32l06vp6sdlfcpa6n9718yipp7b60cq2";
+    sha256 = "0jjhbs48f0rprzxnfgav6mjbyvcqnr7xq1qgyjxwd61z8g3m8hx8";
   };
 
   buildInputs = with stdenv; lib.optionals isDarwin [ Security ];
 
-  cargoSha256 = "182ayprs2awmz7lzqkhawrmpfjla3jcj58q8g8c908gchkh05kns";
+  cargoSha256 = "03z9hq873jfsbssnd3kr5vz9lx9mvhb1navb2glm6kkw1k2zm4d2";
 
   meta = with stdenv.lib; {
     description = "Generate Debian packages from information in Cargo.toml";
diff --git a/pkgs/tools/package-management/cargo-edit/default.nix b/pkgs/tools/package-management/cargo-edit/default.nix
index 8ddb8eb231b..0adc2add96d 100644
--- a/pkgs/tools/package-management/cargo-edit/default.nix
+++ b/pkgs/tools/package-management/cargo-edit/default.nix
@@ -1,29 +1,28 @@
 { stdenv, lib, darwin
 , rustPlatform, fetchFromGitHub
-, openssl, pkgconfig }:
+, openssl, pkg-config, libiconv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-edit";
-  version = "0.3.3";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "killercup";
     repo = pname;
     rev = "v${version}";
-    sha256 = "05b64bm9441crw74xlywjg2y3psljk2kf9xsrixaqwbnnahi0mm5";
+    sha256 = "0y0sq0kll6bg0qrfdyas8rcx5dj50j9f05qx244kv7vqxp2q25jq";
   };
 
-  cargoSha256 = "1hjjw3i35vqr6nxsv2m3izq4x8c2a6wvl5c2kjlpg6shy9j2mjaa";
+  cargoSha256 = "0prd53p20cha2y2qp8dmq0ywd32f6jm8mszdkbi4x606dj9bcgbl";
 
-  nativeBuildInputs = lib.optional (!stdenv.isDarwin) pkgconfig;
-  buildInputs = lib.optional (!stdenv.isDarwin) openssl;
-  propagatedBuildInputs = lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
     description = "A utility for managing cargo dependencies from the command line";
     homepage = https://github.com/killercup/cargo-edit;
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ gerschtli jb55 ];
+    maintainers = with maintainers; [ gerschtli jb55 filalex77 ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/package-management/emplace/default.nix b/pkgs/tools/package-management/emplace/default.nix
new file mode 100644
index 00000000000..614959b651c
--- /dev/null
+++ b/pkgs/tools/package-management/emplace/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "emplace";
+  version = "0.2.7";
+
+  src = fetchFromGitHub {
+    owner = "tversteeg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0dkdgb0hbaixc69yh75lq4lamvgd421lk1v7qn802h83fibcmh81";
+  };
+
+  cargoSha256 = "10y7lpgj9mxrh3rmc15km4rfzspwdjr8dcdh0747rjn6dcpfhcdq";
+
+  meta = with lib; {
+    description = "Mirror installed software on multiple machines";
+    homepage = "https://github.com/tversteeg/emplace";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/package-management/pacman/default.nix b/pkgs/tools/package-management/pacman/default.nix
index 9fd0ea05510..3353704cb36 100644
--- a/pkgs/tools/package-management/pacman/default.nix
+++ b/pkgs/tools/package-management/pacman/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig, perl, libarchive, openssl,
-zlib, bzip2, lzma, curl, runtimeShell }:
+{ stdenv, lib, fetchurl, pkgconfig, perl, libarchive, openssl, zlib, bzip2,
+lzma, curl, runtimeShell }:
 
 stdenv.mkDerivation rec {
   pname = "pacman";
-  version = "5.1.3";
+  version = "5.2.1";
 
   src = fetchurl {
-    url = "https://git.archlinux.org/pacman.git/snapshot/pacman-${version}.tar.gz";
-    sha256 = "108xp6dhvp02jnzskhgzjmp9jvrxhhkffvmpvs3rrif7vj47xd76";
+    url = "https://sources.archlinux.org/other/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "04pkb8qvkldrayfns8cx4fljl4lyys1dqvlf7b5kkl2z4q3w8c0r";
   };
 
   enableParallelBuilding = true;
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "sysconfdir=${placeholder "out"}/etc" ];
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ curl perl libarchive openssl zlib bzip2 lzma ];
 
   postFixup = ''
diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix
index f5cecaa8e04..c8413c56854 100644
--- a/pkgs/tools/package-management/protontricks/default.nix
+++ b/pkgs/tools/package-management/protontricks/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.3";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    sha256 = "1x3ln9sxczkh9rpznw8q5jqfk17kzsjiz125xd15rqj5zqkrwkkd";
+    sha256 = "0snhm9r5igik030iqxm3zd9zvhlnsxi20zac71bbc29qflsi2dhk";
   };
 
   propagatedBuildInputs = [ vdf ];
diff --git a/pkgs/tools/package-management/reuse/default.nix b/pkgs/tools/package-management/reuse/default.nix
index 0f8a6f19127..4aadc4b7af0 100644
--- a/pkgs/tools/package-management/reuse/default.nix
+++ b/pkgs/tools/package-management/reuse/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "reuse";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "fsfe";
     repo = "reuse-tool";
     rev = "v${version}";
-    sha256 = "17qvsa2qnm767yv7x0v626np0kiyqpb0al7sjqmccarq2wnw8w90";
+    sha256 = "17bslyvjndhqryrisba9y7y0ijyzi3gmyl9rddkcvdqi3lg9668y";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index de275b6c09a..43f56352ceb 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.102.0";
+  version = "0.102.1";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "1qdyj4r39266bmbsd2nwyspm20k9wh3c30awrg8c54y78s61izj8";
+    sha256 = "1mpdgn3isz26hd1j6p8lcb76v8hjs54k1wb655rnil4hv78aig8d";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix
index 3cb5c1163e5..6e61f054122 100644
--- a/pkgs/tools/security/enpass/default.nix
+++ b/pkgs/tools/security/enpass/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dpkg, xorg
-, glib, libGLU_combined, libpulseaudio, zlib, dbus, fontconfig, freetype
+, glib, libGLU, libGL, libpulseaudio, zlib, dbus, fontconfig, freetype
 , gtk3, pango
 , makeWrapper , python2Packages, lib
 , lsof, curl, libuuid, cups, mesa
@@ -19,7 +19,7 @@ let
   # used of both wrappers and libpath
   libPath = lib.makeLibraryPath (with xorg; [
     mesa.drivers
-    libGLU_combined
+    libGLU libGL
     fontconfig
     freetype
     libpulseaudio
diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix
index 41a00306f69..13e6c0be391 100644
--- a/pkgs/tools/security/fprintd/default.nix
+++ b/pkgs/tools/security/fprintd/default.nix
@@ -1,11 +1,9 @@
-{ thinkpad ? false
-, stdenv
+{ stdenv
 , fetchurl
 , fetchpatch
 , pkgconfig
 , intltool
-, libfprint-thinkpad ? null
-, libfprint ? null
+, libfprint
 , glib
 , dbus-glib
 , polkit
@@ -17,7 +15,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "fprintd" + stdenv.lib.optionalString thinkpad "-thinkpad";
+  pname = "fprintd";
   version = "0.9.0";
 
   src = fetchurl {
@@ -46,10 +44,8 @@ stdenv.mkDerivation rec {
     nss
     pam
     systemd
-  ]
-  ++ stdenv.lib.optional thinkpad libfprint-thinkpad
-  ++ stdenv.lib.optional (!thinkpad) libfprint
-  ;
+    libfprint
+  ];
 
   configureFlags = [
     # is hardcoded to /var/lib/fprint, this is for the StateDirectory install target
diff --git a/pkgs/tools/security/ghidra/default.nix b/pkgs/tools/security/ghidra/default.nix
index d68fd5e7e92..b3773725e6e 100644
--- a/pkgs/tools/security/ghidra/default.nix
+++ b/pkgs/tools/security/ghidra/default.nix
@@ -1,16 +1,26 @@
 { stdenv, fetchurl, unzip, lib, makeWrapper, autoPatchelfHook
-, openjdk11, pam
+, openjdk11, pam, makeDesktopItem, icoutils
 }: let
 
   pkg_path = "$out/lib/ghidra";
 
+  desktopItem = makeDesktopItem {
+    name = "ghidra";
+    exec = "ghidra";
+    icon = "ghidra";
+    desktopName = "Ghidra";
+    genericName = "Ghidra Software Reverse Engineering Suite";
+    categories = "Development;";
+  };
+
+
 in stdenv.mkDerivation {
 
-  name = "ghidra-9.0.4";
+  name = "ghidra-9.1";
 
   src = fetchurl {
-    url = https://ghidra-sre.org/ghidra_9.0.4_PUBLIC_20190516.zip;
-    sha256 = "1gqqxk57hswwgr97qisqivcfgjdxjipfdshyh4r76dyrfpa0q3d5";
+    url = https://ghidra-sre.org/ghidra_9.1_PUBLIC_20191023.zip;
+    sha256 = "0pl7s59008gvgwz4mxp7rz3xr3vaa12a6s5zvx2yr9jxx3gk1l99";
   };
 
   nativeBuildInputs = [
@@ -22,13 +32,24 @@ in stdenv.mkDerivation {
   buildInputs = [
     stdenv.cc.cc.lib
     pam
+    icoutils
   ];
 
   dontStrip = true;
 
   installPhase = ''
     mkdir -p "${pkg_path}"
+    mkdir -p "${pkg_path}" "$out/share/applications"
     cp -a * "${pkg_path}"
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+    
+    icotool -x "${pkg_path}/support/ghidra.ico"
+    rm ghidra_4_40x40x32.png
+    for f in ghidra_*.png; do
+      res=$(basename "$f" ".png" | cut -d"_" -f3 | cut -d"x" -f1-2)
+      mkdir -pv "$out/share/icons/hicolor/$res/apps"
+      mv "$f" "$out/share/icons/hicolor/$res/apps/ghidra.png"
+    done;
   '';
 
   postFixup = ''
diff --git a/pkgs/tools/security/gnome-keysign/default.nix b/pkgs/tools/security/gnome-keysign/default.nix
index 2c216c0a404..a559039d95a 100644
--- a/pkgs/tools/security/gnome-keysign/default.nix
+++ b/pkgs/tools/security/gnome-keysign/default.nix
@@ -28,6 +28,14 @@ python3.pkgs.buildPythonApplication rec {
       url = "https://gitlab.gnome.org/GNOME/gnome-keysign/commit/216c3677e68960afc517edc00529323e85909323.patch";
       sha256 = "1w410gvcridbq26sry7fxn49v59ss2lc0w5ab7csva8rzs1nc990";
     })
+
+    # stop requiring lxml (no longer used)
+    # https://gitlab.gnome.org/GNOME/gnome-keysign/merge_requests/23
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-keysign/commit/ffc6f40584d7564951e1c8b6d18d4f8a6a3fa09d.patch";
+      sha256 = "1hs6mmhi2f21kvy26llzvp37yf0i0dr69d18r641139nr6qg6kwy";
+      includes = [ "setup.py" ];
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index e54a1e1c5db..0be7b936bb7 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -16,11 +16,11 @@ assert guiSupport -> pinentry != null && enableMinimal == false;
 stdenv.mkDerivation rec {
   pname = "gnupg";
 
-  version = "2.2.17";
+  version = "2.2.18";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2";
-    sha256 = "056mgy09lvsi03531a437qj58la1j2x1y1scvfi53diris3658mg";
+    sha256 = "02pcdmb9p4a8hil88gyd86mnc85jldss3cl02jvbkcjmrbi7rlrh";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index fd5659e7f9d..17e02e736dc 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -31,7 +31,10 @@ stdenv.mkDerivation rec {
     export AS=$CC
     export LD=$CC
   '';
-  configureFlags = [ "--disable-native-macro" ];
+  configureFlags = [
+    "--disable-native-tests"
+    "--with-systemwide"
+  ];
 
   buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 ];
   nativeBuildInputs = [ gcc python3Packages.wrapPython perl makeWrapper ];
@@ -44,8 +47,6 @@ stdenv.mkDerivation rec {
   # gcc: error: memdbg.o: No such file or directory
   enableParallelBuilding = false;
 
-  NIX_CFLAGS_COMPILE = [ "-DJOHN_SYSTEMWIDE=1" ];
-
   postInstall = ''
     mkdir -p "$out/bin" "$out/etc/john" "$out/share/john" "$out/share/doc/john" "$out/share/john/rules"
     find -L ../run -mindepth 1 -maxdepth 1 -type f -executable \
@@ -68,7 +69,7 @@ stdenv.mkDerivation rec {
     description = "John the Ripper password cracker";
     license = licenses.gpl2;
     homepage = https://github.com/magnumripper/JohnTheRipper/;
-    maintainers = with maintainers; [ offline ];
-    platforms = [ "x86_64-linux" "x86_64-darwin"];
+    maintainers = with maintainers; [ offline matthewbauer ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/pbis/default.nix b/pkgs/tools/security/pbis/default.nix
new file mode 100644
index 00000000000..ee1282e9a13
--- /dev/null
+++ b/pkgs/tools/security/pbis/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, perl, flex, bison, curl,
+  pam, popt, libiconv, libuuid, openssl_1_0_2, cyrus_sasl, sqlite, tdb, libxml2 }:
+
+stdenv.mkDerivation rec {
+  pname = "pbis-open";
+  version = "9.1.0";
+
+  src = fetchFromGitHub {
+    owner = "BeyondTrust";
+    repo = pname;
+    rev = version;
+    sha256 = "081jm34sf488nwz5wzs55d6rxx3sv566x6p4h1yqcjaw36174m8v";
+  };
+
+  nativeBuildInputs = [
+    autoconf automake libtool perl flex bison
+  ];
+
+  # curl must be placed after openssl_1_0_2, because it pulls openssl 1.1 dependency.
+  buildInputs = [
+    pam popt libiconv libuuid openssl_1_0_2 cyrus_sasl
+    curl sqlite popt tdb libxml2 /*libglade2 for gtk*/
+  ];
+
+  postPatch = ''
+    patchShebangs .
+    sed -i -e 's/legacy//g' lwupgrade/MakeKitBuild # disable /opt/ symlinks
+    sed -i -e 's/tdb.h//g' samba-interop/MakeKitBuild #include <tdb.h> fails but it won't affect the build
+  '';
+  preConfigure = ''
+    mkdir release
+    cd release
+    if [ $CC = gcc ]; then
+            NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=format-overflow"
+    fi
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${stdenv.lib.getDev libxml2}/include/libxml2 -Wno-error=array-bounds -Wno-error=pointer-sign -Wno-error=deprecated-declarations -Wno-error=unused-variable"
+  '';
+  configureScript = ''../configure'';
+  configureFlags = [
+    "CFLAGS=-O"
+    "--docdir=${placeholder "prefix"}/share/doc"
+    "--mandir=${placeholder "prefix"}/share/doc/man"
+    "--datadir=${placeholder "prefix"}/share"
+    "--lw-initdir=${placeholder "prefix"}/etc/init.d"
+    "--selinux=no" # NixOS does not support SELinux
+    "--build-isas=x86_64" # [lwbase] endianness (host/x86_32): [lwbase] ERROR: could not determine endianness
+    "--fail-on-warn=no"
+    # "--debug=yes"
+  ]; # ^ See https://github.com/BeyondTrust/pbis-open/issues/124
+  configureFlagsArray = [ "--lw-bundled-libs=linenoise-mob tomlc99 opensoap krb5 cyrus-sasl curl openldap ${ if libuuid == null then "libuuid" else "" }" ];
+  # ^ it depends on old krb5 version 1.9 (issue #228)
+  # linenoise-mod, tomlc99, opensoap is not in nixpkgs.
+  # krb5 must be old one, and cyrus-sasl and openldap have dependency to newer libkrb5 that cause runtime error
+  enableParallelBuilding = true;
+  makeFlags = "SHELL=";
+  hardeningDisable = [ "format" ]; # -Werror=format-security
+  installPhase = ''
+    mkdir $sys
+    mv stage/{lib,var} $sys
+    mv stage$out $out
+  '';
+  outputs = [ "out" "sys" ];
+
+  meta = with stdenv.lib; {
+    description = "BeyondTrust AD Bridge Open simplifies the process of joining non-Microsoft hosts to Active Directory domains";
+    homepage = "https://github.com/BeyondTrust/pbis-open";
+    license = with licenses; [ gpl2 lgpl21 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index eed462ef0d0..263c308fc3d 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, dbus, perl, python2
+{ stdenv, fetchurl, pkgconfig, udev, dbus, perl, python3
 , IOKit ? null }:
 
 stdenv.mkDerivation rec {
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
     moveToOutput bin/pcsc-spy "$dev"
   '';
 
-  nativeBuildInputs = [ pkgconfig perl python2 ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ udev dbus ]
+  nativeBuildInputs = [ pkgconfig perl ];
+  buildInputs = [ python3 ] ++ stdenv.lib.optionals stdenv.isLinux [ udev dbus ]
              ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/pius/default.nix b/pkgs/tools/security/pius/default.nix
index 5aa4ad47d42..6d2b5569a0d 100644
--- a/pkgs/tools/security/pius/default.nix
+++ b/pkgs/tools/security/pius/default.nix
@@ -36,6 +36,6 @@ python3Packages.buildPythonApplication {
     license = stdenv.lib.licenses.gpl2;
 
     platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu kierdavis ];
+    maintainers = with stdenv.lib.maintainers; [ kierdavis ];
   };
 }
diff --git a/pkgs/tools/security/ripasso/cursive.nix b/pkgs/tools/security/ripasso/cursive.nix
index 9eac6b6e5ca..b273b882daf 100644
--- a/pkgs/tools/security/ripasso/cursive.nix
+++ b/pkgs/tools/security/ripasso/cursive.nix
@@ -1,30 +1,37 @@
-{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, ncurses, python3, openssl, libgpgerror, gpgme, xorg }:
+{ stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, ncurses, python3, openssl, libgpgerror, gpgme, xorg, AppKit, Security }:
 
 with rustPlatform;
 buildRustPackage rec {
-  version = "unstable-2019-08-27";
+  version = "0.3.0";
   pname = "ripasso-cursive";
 
   src = fetchFromGitHub {
     owner = "cortex";
     repo = "ripasso";
-    rev  = "1b5ef4ae19f95f1422ba5cb09e9e689880599c40";
-    sha256 = "1lh1in8knpqz4vbsmdyd4hh8y4bfhxjciysfbq3qzdpdpihgj0nn";
+    rev  = "release-${version}";
+    sha256 = "1rkb23i9gcfmifcl31s8w86k7aza6nxrh3w33fvhv1ins1gxxk7w";
   };
 
-  cargoSha256 = "0dwaa106vj7jbgshhqpjabsr0zmkg1a5syzky7jcaasvc7r7njwl";
-  cargoBuildFlags = [ "-p ripasso-cursive" ];
+  cargoSha256 = "1p0bsl4h2w257vfjbpqiga693gaslfq34g30dghpqb5n4kl416zp";
+
+  cargoBuildFlags = [ "-p ripasso-cursive -p ripasso-man" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     ncurses python3 openssl libgpgerror gpgme xorg.libxcb
-  ];
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ];
+
+  preFixup = ''
+    mkdir -p "$out/man/man1"
+    $out/bin/ripasso-man > $out/man/man1/ripasso-cursive.1
+    rm $out/bin/ripasso-man
+  '';
 
   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;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/stoken/default.nix b/pkgs/tools/security/stoken/default.nix
index 38fc884de48..d6375bee649 100644
--- a/pkgs/tools/security/stoken/default.nix
+++ b/pkgs/tools/security/stoken/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "Software Token for Linux/UNIX";
     homepage = https://github.com/cernekee/stoken;
     license = licenses.lgpl21Plus;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/system/inxi/default.nix b/pkgs/tools/system/inxi/default.nix
index a896a57b080..7866bece066 100644
--- a/pkgs/tools/system/inxi/default.nix
+++ b/pkgs/tools/system/inxi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "inxi";
-  version = "3.0.36-1";
+  version = "3.0.37-1";
 
   src = fetchFromGitHub {
     owner = "smxi";
     repo = "inxi";
     rev = version;
-    sha256 = "04134l323vwd0g2bffj11rnpw2jgs9la6aqrmv8vh7w9mq5nd57y";
+    sha256 = "15wvj9w601ci3bavd1hk5qlm8dfm7a7cjglczk29yir5yw2jww3f";
   };
 
   buildInputs = [ perl makeWrapper ];
diff --git a/pkgs/tools/system/java-service-wrapper/default.nix b/pkgs/tools/system/java-service-wrapper/default.nix
new file mode 100644
index 00000000000..19502e5a352
--- /dev/null
+++ b/pkgs/tools/system/java-service-wrapper/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl
+, jdk
+, ant, cunit, ncurses
+}:
+
+stdenv.mkDerivation rec {
+  pname = "java-service-wrapper";
+  version = "3.5.41";
+
+  src = fetchurl {
+    url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
+    sha256 = "0wvazc4y134brn99aa4rc9jdh1h2q3l7qhhvbcs6lhf4ym47sskm";
+  };
+
+  buildInputs = [ jdk ];
+  nativeBuildInputs = [ ant cunit ncurses ];
+
+  buildPhase = ''
+    export ANT_HOME=${ant}
+    export JAVA_HOME=${jdk}/lib/openjdk/jre/
+    export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
+    export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
+
+    ${if stdenv.isi686 then "./build32.sh" else "./build64.sh"}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,lib}
+    cp bin/wrapper $out/bin/wrapper
+    cp lib/wrapper.jar $out/lib/wrapper.jar
+    cp lib/libwrapper.so $out/lib/libwrapper.so
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Enables a Java Application to be run as a Windows Service or Unix Daemon";
+    homepage = "https://wrapper.tanukisoftware.com/";
+    license = licenses.gpl2;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ maintainers.suhr ];
+  };
+}
diff --git a/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch b/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch
deleted file mode 100644
index b90752f8dc5..00000000000
--- a/pkgs/tools/system/osquery/0001-Fix-CMake-configuration-for-Nix.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 511400b8ec0794588df88e2bb1c45cc6a4a51b1e Mon Sep 17 00:00:00 2001
-From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Sun, 26 May 2019 23:10:02 +0200
-Subject: [PATCH] Fix CMake configuration for Nix
-
-* -fno-limit-debug-info: CLang specific, patch away to support both
-  CLang and GCC.
-* Dropped unnecessary `lvm-internal` and `daemonclient` references.
----
- CMakeLists.txt                | 1 -
- osquery/tables/CMakeLists.txt | 2 +-
- 2 files changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f545d6c9..cfe68ddb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -328,7 +328,6 @@ if (POSIX)
-   # To be safe, only include them when building 'release' outputs.
-   add_compile_options(
-     "$<$<CONFIG:RELEASE>:-g>"
--    "$<$<CONFIG:RELEASE>:-fno-limit-debug-info>"
-     "$<$<CONFIG:RELEASE>:-fPIE>"
-     "$<$<CONFIG:RELEASE>:-fpie>"
-     "$<$<CONFIG:RELEASE>:-fPIC>"
-diff --git a/osquery/tables/CMakeLists.txt b/osquery/tables/CMakeLists.txt
-index 470bdf1d..caa6ab6f 100644
---- a/osquery/tables/CMakeLists.txt
-+++ b/osquery/tables/CMakeLists.txt
-@@ -68,7 +68,7 @@ if(LINUX)
-   set(TABLE_PLATFORM "linux")
- 
-   ADD_OSQUERY_LINK_ADDITIONAL("libresolv.so")
--  ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app lvm-internal daemonclient")
-+  ADD_OSQUERY_LINK_ADDITIONAL("cryptsetup devmapper lvm2app")
-   ADD_OSQUERY_LINK_ADDITIONAL("gcrypt gpg-error")
-   ADD_OSQUERY_LINK_ADDITIONAL("blkid")
-   ADD_OSQUERY_LINK_ADDITIONAL("ip4tc")
--- 
-2.19.2
-
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 5617ed9dc93..96f0a754f61 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.1910.0";
+  version = "8.1911.0";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    sha256 = "14qczsj12spx0m3dz1pkxnacwi5njr0syamnmi1rg8ri5xlyw682";
+    sha256 = "01713vwz3w5fx9b97286h1rx9hxhjsdah96nyhh75bb23impgx71";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index b15c8623fa5..c98634e1199 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.10.08";
+  version = "0.10.11";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1kkmznn0y5wxi7x9nlhzyfy933bv66113in4rf0raw6brymympaa";
+    sha256 = "16z45fmvncpa0bv91dpwarqfm9p7aiqkmlcpmv2y23rh6sikhkdq";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/text/amber/default.nix b/pkgs/tools/text/amber/default.nix
index c8f380739a6..935b6a60729 100644
--- a/pkgs/tools/text/amber/default.nix
+++ b/pkgs/tools/text/amber/default.nix
@@ -4,16 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "amber";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jwrkd6qhxj2mqsfmhk687k15f7gf36gjyxnynj0yh8db2db6mjc";
+    sha256 = "0k70rk19hwdlhhqm91x12xcb8r09kzpijs0xwhplrwdh86qfxymx";
   };
 
-  cargoSha256 = "0iv8zvglwaihcc89dk9kkhchbj1g3v8wq8jcbrgcbclcsyymmplc";
+  cargoSha256 = "0hh3sgcdcp0llgf3i3dysrr3vry3fv3fzzf44ad1953d5mnyhvap";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/text/boxes/default.nix b/pkgs/tools/text/boxes/default.nix
new file mode 100644
index 00000000000..8325c6c08f3
--- /dev/null
+++ b/pkgs/tools/text/boxes/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, bison, flex }:
+
+stdenv.mkDerivation rec {
+  pname = "boxes";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "ascii-boxes";
+    repo = "boxes";
+    rev = "v${version}";
+    sha256 = "0b12rsynrmkldlwcb62drk33kk0aqwbj10mq5y5x3hjf626gjwsi";
+  };
+
+  # Building instructions:
+  # https://boxes.thomasjensen.com/build.html#building-on-linux--unix
+  nativeBuildInputs = [ bison flex ];
+
+  dontConfigure = true;
+
+  # Makefile references a system wide config file in '/usr/share'. Instead, we
+  # move it within the store by default.
+  preBuild = ''
+    substituteInPlace Makefile \
+      --replace "GLOBALCONF = /usr/share/boxes" \
+                "GLOBALCONF=${placeholder "out"}/share/boxes/boxes-config"
+  '';
+
+  makeFlags = stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ];
+
+  installPhase = ''
+    install -Dm755 -t $out/bin src/boxes
+    install -Dm644 -t $out/share/boxes boxes-config
+    install -Dm644 -t $out/share/man/man1 doc/boxes.1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line ASCII boxes unlimited!";
+    longDescription = ''
+      Boxes is a command line filter program that draws ASCII art boxes around
+      your input text.
+    '';
+    homepage = https://boxes.thomasjensen.com;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ waiting-for-dev ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index eb86bc79d5c..13e8e48a921 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "highlight";
-  version = "3.53";
+  version = "3.54";
 
   src = fetchFromGitLab {
     owner = "saalen";
     repo = "highlight";
     rev = "v${version}";
-    sha256 = "11szws4q6qyffq2fsvh1vksh1d0kcwg6smyyba9yr61hzx6zmzgr";
+    sha256 = "1144qv3c02hd3qrnms9cxfprdmkvz06vy4zjq500wg4iz7r8654m";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index 5b1412f3792..1090ad300f7 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, djvulibre, poppler, fontconfig, libjpeg }:
 
 stdenv.mkDerivation rec {
   version = "0.9.14";
@@ -9,6 +9,18 @@ stdenv.mkDerivation rec {
     sha256 = "05z2bbg54pfsi668fwcjrcr5iz9llf9gprzdsrn6fw5wjv4876zi";
   };
 
+  patches = [
+    # fix build with Poppler 0.83
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/0aa17bb79dbcdfc249e4841f5b5398e27cfdfd41.patch";
+      sha256 = "0mr14nz5w7z4ri2556bxkf3cnn2f7dhwsld7csrh6z5qqb7d5805";
+    })
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/27b9e028091a2f370367e9eaf37b4bb1cde87b62.patch";
+      sha256 = "03apsg1487jl800q8j70hicvg6xsndd593bg7babm4vgivkxb0da";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ djvulibre poppler fontconfig libjpeg ];
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index 2513d48796e..787f19d91f4 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, emacs, texlive, ghostscript }:
  
 let auctex = stdenv.mkDerivation ( rec {
-  version = "12.1";
+  version = "12.2";
 
   # Make this a valid tex(live-new) package;
   # the pkgs attribute is provided with a hack below.
@@ -13,7 +13,7 @@ let auctex = stdenv.mkDerivation ( rec {
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1d2x59jw42hr81fma195bniqyhvp5ig5q0xmywbkcy59f16wlp69";
+    sha256 = "14vqs08mkfzc91jg7kabs9sdn74vywj8a29gyrfa3ivnm9c7jrsr";
   };
 
   buildInputs = [ emacs texlive.combined.scheme-basic ghostscript ];
diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix
index 5bb02f06f23..8fb155da755 100644
--- a/pkgs/tools/typesetting/tex/texlive/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive/bin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch
+{ stdenv, fetchurl, fetchpatch, patchutils
 , texlive
 , zlib, libiconv, libpng, libX11
 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext
@@ -27,27 +27,47 @@ let
     };
 
     patches = [
-    ] ++ stdenv.lib.optionals (stdenv.lib.versionAtLeast (stdenv.lib.getVersion poppler) "0.76") [
-      (fetchpatch {
-        name = "pdftex-poppler0.76.patch";
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/texlive-bin/trunk/pdftex-poppler0.76.patch?id=8cb784073cfd2299a6c301ce7bb0d89126a47f4e";
-        sha256 = "04x7myzysranddzjifxhahl7gjy407zkiyzfs5l9cbwzp6pqh7gh";
-
-        includes = [
-          "texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc"
-          "texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc"
-        ];
-      })
     ];
 
     postPatch = let
-      popplerSuffix = if (stdenv.lib.versionAtLeast (stdenv.lib.getVersion poppler) "0.76") then "-poppler0.76.0" else "-poppler0.72.0";
+      # The source compatible with Poppler ${popplerVersion} not yet available in TeXLive ${year}
+      # so we need to use files introduced in https://www.tug.org/svn/texlive?view=revision&revision=52959
+      popplerVersion = "0.83.0";
+      pdftoepdf = let
+        revert-pdfmajorversion = fetchpatch {
+          name = "pdftoepdf-revert-pdfmajorversion.patch";
+          url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf.cc?view=patch&r1=52953&r2=52952&pathrev=52953";
+          sha256 = "19jiv5xbvnfdk8lj6yd6mdxgs8f313a4dwg8svjj90dd35kjcfh8";
+          revert = true;
+          postFetch = ''
+            # The default file, changed by this patch, contains a branch for vendored Poppler
+            # The version-specific file replaces the section with an error, so we need to drop that part from the patch.
+            # Fortunately, there is not anything else in the patch after #else.
+            sed '/ #else/q' $out > "$tmpfile"
+            ${patchutils}/bin/recountdiff "$tmpfile" > "$out"
+          '';
+        };
+      in fetchurl {
+        name = "pdftoepdf-poppler${popplerVersion}.cc";
+        url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftoepdf-poppler${popplerVersion}.cc?revision=52959&view=co";
+        sha256 = "0pngvw1jgnm4cqskrzf5a3z8rj4ssl10007n3wbblj50hvvzjph3";
+        postFetch = ''
+          # The trunk added some extra arguments to certain functions so we need to revert that
+          # https://www.tug.org/svn/texlive?view=revision&revision=52953
+          patch $out < ${revert-pdfmajorversion}
+        '';
+      };
+      pdftosrc = fetchurl {
+        name = "pdftosrc-poppler${popplerVersion}.cc";
+        url = "https://www.tug.org/svn/texlive/trunk/Build/source/texk/web2c/pdftexdir/pdftosrc-poppler${popplerVersion}.cc?revision=52959&view=co";
+        sha256 = "0iq2cmwvf2lxy32sygrafwqgcwvvbdnvxm5l3mrg9cb2a1g06380";
+      };
     in ''
       for i in texk/kpathsea/mktex*; do
         sed -i '/^mydir=/d' "$i"
       done
-      cp -pv texk/web2c/pdftexdir/pdftoepdf{${popplerSuffix},}.cc
-      cp -pv texk/web2c/pdftexdir/pdftosrc{${popplerSuffix},}.cc
+      cp -pv ${pdftoepdf} texk/web2c/pdftexdir/pdftoepdf.cc
+      cp -pv ${pdftosrc} texk/web2c/pdftexdir/pdftosrc.cc
     '';
 
     # remove when removing synctex-missing-header.patch
@@ -158,7 +178,7 @@ core = stdenv.mkDerivation rec {
   '' + cleanBrokenLinks;
 
   # needed for poppler and xpdf
-  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
+  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++14";
 
   setupHook = ./setup-hook.sh; # TODO: maybe texmf-nix -> texmf (and all references)
   passthru = { inherit version buildInputs; };
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index 0c05b3be18d..44dc45fdfb2 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -100,11 +100,15 @@ let
               map (up: "${up}/${urlName}.tar.xz") urlPrefixes
             );
 
-      # Upstream refuses to distribute stable tarballs,
-      # so we host snapshots on IPFS or on our own servers.
-      # Common packages should get served from the binary cache anyway.
-      # See discussions, e.g. https://github.com/NixOS/nixpkgs/issues/24683
+      # The tarballs on CTAN mirrors for the current release are constantly
+      # receiving updates, so we can't use those directly. Stable snapshots
+      # need to be used instead. Ideally, for the release branches of NixOS we
+      # should be switching to the tlnet-final versions
+      # (https://tug.org/historic/).
       urlPrefixes = args.urlPrefixes or [
+        # Snapshots hosted by one of the texlive release managers
+        https://texlive.info/tlnet-archive/2019/10/19/tlnet/archive
+
         # Mirror hosted by @veprbl
         http://146.185.144.154/texlive-2019
 
diff --git a/pkgs/tools/virtualization/amazon-ecs-cli/default.nix b/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
index 07fcf0eca8b..7745a3e7cb5 100644
--- a/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
+++ b/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "amazon-ecs-cli";
-  version = "1.17.0";
+  version = "1.18.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-v${version}";
-    sha256 = "0dqnxzfdic3v10rr8k83zfbv7qc3yanajd81a0amzs778sqp7x9f";
+    sha256 = "1w4n7rkcxpdzg7450s22a80a27g845n61k2bdfhq4c1md7604nyz";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/virtualization/ec2-utils/default.nix b/pkgs/tools/virtualization/ec2-utils/default.nix
index ea088b486fc..1605bcfa43b 100644
--- a/pkgs/tools/virtualization/ec2-utils/default.nix
+++ b/pkgs/tools/virtualization/ec2-utils/default.nix
@@ -40,8 +40,8 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A set of tools for running in EC2";
-    homepage = https://aws.amazon.com/amazon-linux-ami/;
-    license = lib.licenses.apsl20;
+    homepage = "https://aws.amazon.com/amazon-linux-ami/";
+    license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ thefloweringash ];
   };
 }
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index e8a02b18b0f..3cfbb68c9cf 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -115,8 +115,10 @@ mapAliases ({
   '';
   font-droid = throw "font-droid has been deprecated by noto-fonts"; # 2019-04-12
   foomatic_filters = foomatic-filters;  # 2016-08
+  fprintd-thinkpad = throw "removed from repository 2019-12-01: Install it manually with an override.";
   fuse_exfat = exfat;                   # 2015-09-11
   fuseki = apache-jena-fuseki; # added 2018-04-25
+  fusesmb = throw "fusesmb is abandoned by upstream"; # added 2019-10-15
   gccApple = throw "gccApple is no longer supported"; # added 2018-04-25
   gdb-multitarget = gdb; # added 2017-11-13
   gdk_pixbuf = gdk-pixbuf; # added 2019-05-22
@@ -192,6 +194,7 @@ mapAliases ({
   liberation_ttf_v1_from_source = liberation_ttf_v1; # added 2018-12-12
   liberation_ttf_v2_from_source = liberation_ttf_v2; # added 2018-12-12
   liberationsansnarrow = liberation-sans-narrow; # added 2018-12-12
+  libfprint-thinkpad = throw "removed from repository 2019-12-01: Install it manually with an override.";
   libgnome_keyring = libgnome-keyring; # added 2018-02-25
   libgnome_keyring3 = libgnome-keyring3; # added 2018-02-25
   libgumbo = gumbo; # added 2018-01-21
@@ -339,6 +342,8 @@ mapAliases ({
   s6PortableUtils = s6-portable-utils; # added 2018-07-23
   sagemath = sage; # added 2018-10-27
   sam = deadpixi-sam; # added 2018-04-25
+  samba3 = throw "Samba 3 is discontinued, please switch to samba4"; # added 2019-10-15
+  samba3_light = throw "Samba 3 is discontinued, please switch to samba4"; # added 2019-10-15
   sambaMaster = throw "removed 2019-09-13: outdated and no longer needed";
   samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
   saneBackends = sane-backends; # added 2016-01-02
@@ -408,16 +413,20 @@ mapAliases ({
   ultrastardx-beta = ultrastardx; # added 2017-08-12
   usb_modeswitch = usb-modeswitch; # added 2016-05-10
   usbguard-nox = usbguard; # added 2019-09-04
+  uzbl = throw "uzbl has been removed from nixpkgs, as it's unmaintained and uses insecure libraries";
   v4l_utils = v4l-utils; # added 2019-08-07
   v8_3_16_14 = throw "removed 2019-11-01: no longer referenced by other packages";
   valadoc = throw "deprecated 2019-10-10: valadoc was merged into vala 0.38";
   vimbWrapper = vimb; # added 2015-01
-  vimprobable2Wrapper = vimprobable2; # added 2015-01
+  vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed."; # added 2019-12-05
+  vimprobable2-unwrapped = vimprobable2; # added 2019-12-05
   virtviewer = virt-viewer; # added 2015-12-24
   virtmanager = virt-manager; # added 2019-10-29
   virtmanager-qt = virt-manager-qt; # added 2019-10-29
   vorbisTools = vorbis-tools; # added 2016-01-26
   webkit = webkitgtk; # added 2019-03-05
+  webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk."; # added 2019-12-05
+  webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk."; # added 2019-12-05
   weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
   wineStaging = wine-staging; # added 2018-01-08
   winusb = woeusb; # added 2017-12-22
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 6a5802837f2..ac3a53758e5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -456,7 +456,7 @@ in
   findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh;
 
   wrapGAppsHook = makeSetupHook {
-    deps = lib.optional (!stdenv.isDarwin) gnome3.dconf.lib ++ [ gtk3 librsvg makeWrapper ];
+    deps = lib.optional (!stdenv.isDarwin) dconf.lib ++ [ gtk3 librsvg makeWrapper ];
   } ../build-support/setup-hooks/wrap-gapps-hook.sh;
 
   separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh;
@@ -480,6 +480,8 @@ in
 
   _1password = callPackage ../applications/misc/1password { };
 
+  _6tunnel = callPackage ../tools/networking/6tunnel { };
+
   _9pfs = callPackage ../tools/filesystems/9pfs { };
 
   a2ps = callPackage ../tools/text/a2ps { };
@@ -724,6 +726,8 @@ in
 
   brewtarget = libsForQt5.callPackage ../applications/misc/brewtarget { } ;
 
+  boxes = callPackage ../tools/text/boxes { };
+
   ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { };
 
   ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { };
@@ -851,6 +855,8 @@ in
 
   elvish = callPackage ../shells/elvish { };
 
+  emplace = callPackage ../tools/package-management/emplace { };
+
   encryptr = callPackage ../tools/security/encryptr {
     gconf = gnome2.GConf;
   };
@@ -911,6 +917,8 @@ in
 
   glyr = callPackage ../tools/audio/glyr { };
 
+  hpe-ltfs = callPackage ../tools/backup/hpe-ltfs { };
+
   httperf = callPackage ../tools/networking/httperf { };
 
   ili2c = callPackage ../tools/misc/ili2c { };
@@ -1308,6 +1316,7 @@ in
   });
 
   caddy = callPackage ../servers/caddy { };
+  caddy2 = callPackage ../servers/caddy/v2.nix { };
   traefik = callPackage ../servers/traefik { };
 
   calamares = libsForQt5.callPackage ../tools/misc/calamares {
@@ -1510,6 +1519,8 @@ in
 
   datovka = libsForQt5.callPackage ../applications/networking/datovka { };
 
+  dconf = callPackage ../development/libraries/dconf { };
+
   ddar = callPackage ../tools/backup/ddar { };
 
   ddate = callPackage ../tools/misc/ddate { };
@@ -2032,7 +2043,9 @@ in
     conf = config.riot-web.conf or null;
   };
 
-  ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {};
+  ripasso-cursive = callPackage ../tools/security/ripasso/cursive.nix {
+    inherit (darwin.apple_sdk.frameworks) AppKit Security;
+  };
 
   roundcube = callPackage ../servers/roundcube { };
 
@@ -2436,9 +2449,7 @@ in
 
   libkkc = callPackage ../tools/inputmethods/libkkc { };
 
-  ibus = callPackage ../tools/inputmethods/ibus {
-    inherit (gnome3) dconf;
-  };
+  ibus = callPackage ../tools/inputmethods/ibus { };
 
   ibus-qt = callPackage ../tools/inputmethods/ibus/ibus-qt.nix { };
 
@@ -2459,9 +2470,7 @@ in
       protobuf = pkgs.protobuf.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
     };
 
-    table = callPackage ../tools/inputmethods/ibus-engines/ibus-table {
-      inherit (gnome3) dconf;
-    };
+    table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { };
 
     table-chinese = callPackage ../tools/inputmethods/ibus-engines/ibus-table-chinese {
       ibus-table = ibus-engines.table;
@@ -2480,9 +2489,7 @@ in
     };
   };
 
-  ibus-with-plugins = callPackage ../tools/inputmethods/ibus/wrapper.nix {
-    inherit (gnome3) dconf;
-  };
+  ibus-with-plugins = callPackage ../tools/inputmethods/ibus/wrapper.nix { };
 
   interception-tools = callPackage ../tools/inputmethods/interception-tools { };
   interception-tools-plugins = {
@@ -3022,9 +3029,7 @@ in
 
   endlessh = callPackage ../servers/endlessh { };
 
-  cryfs = callPackage ../tools/filesystems/cryfs {
-    spdlog = spdlog_0;
-  };
+  cryfs = callPackage ../tools/filesystems/cryfs { };
 
   encfs = callPackage ../tools/filesystems/encfs {
     tinyxml2 = tinyxml-2;
@@ -3307,9 +3312,6 @@ in
   fprot = callPackage ../tools/security/fprot { };
 
   fprintd = callPackage ../tools/security/fprintd { };
-  fprintd-thinkpad = fprintd.override {
-    thinkpad = true;
-  };
 
   franz = callPackage ../applications/networking/instant-messengers/franz { };
 
@@ -4454,7 +4456,7 @@ in
 
   makebootfat = callPackage ../tools/misc/makebootfat { };
 
-  matrix-synapse = callPackage ../servers/matrix-synapse { };
+  matrix-synapse = callPackage ../servers/matrix-synapse { python3 = python38; };
 
   matrix-appservice-slack = callPackage ../servers/matrix-synapse/matrix-appservice-slack {};
 
@@ -4563,8 +4565,6 @@ in
 
   next = callPackage ../applications/networking/browsers/next { };
 
-  next-gtk-webkit = callPackage ../applications/networking/browsers/next-gtk-webkit { };
-
   nfpm = callPackage ../tools/package-management/nfpm { };
 
   nginx-config-formatter = callPackage ../tools/misc/nginx-config-formatter { };
@@ -5029,6 +5029,8 @@ in
 
   mt-st = callPackage ../tools/backup/mt-st {};
 
+  multitime = callPackage ../tools/misc/multitime { };
+
   multitran = recurseIntoAttrs (let callPackage = newScope pkgs.multitran; in {
     multitrandata = callPackage ../tools/text/multitran/data { };
 
@@ -5081,6 +5083,8 @@ in
 
   ndppd = callPackage ../applications/networking/ndppd { };
 
+  nebula = callPackage ../tools/networking/nebula { };
+
   nemiver = callPackage ../development/tools/nemiver { };
 
   neofetch = callPackage ../tools/misc/neofetch { };
@@ -5214,7 +5218,7 @@ in
 
   niff = callPackage ../tools/package-management/niff { };
 
-  nifskope = libsForQt59.callPackage ../tools/graphics/nifskope { };
+  nifskope = libsForQt5.callPackage ../tools/graphics/nifskope { };
 
   nilfs-utils = callPackage ../tools/filesystems/nilfs-utils {};
 
@@ -5244,6 +5248,9 @@ in
 
   nnn = callPackage ../applications/misc/nnn { };
 
+
+  noise-repellent = callPackage ../applications/audio/noise-repellent { };
+
   notary = callPackage ../tools/security/notary { };
 
   notify-osd = callPackage ../applications/misc/notify-osd { };
@@ -5333,6 +5340,11 @@ in
 
   omping = callPackage ../applications/networking/omping { };
 
+  onefetch = callPackage ../tools/misc/onefetch {
+    inherit (darwin) libresolv;
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+  };
+
   onioncircuits = callPackage ../tools/security/onioncircuits { };
 
   openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { };
@@ -5456,6 +5468,8 @@ in
 
   otpw = callPackage ../os-specific/linux/otpw { };
 
+  overcommit = callPackage ../development/tools/overcommit { };
+
   overmind = callPackage ../applications/misc/overmind { };
 
   owncloud-client = libsForQt5.callPackage ../applications/networking/owncloud-client { };
@@ -5711,6 +5725,8 @@ in
 
   podman = callPackage ../applications/virtualization/podman { };
 
+  podman-compose = python3Packages.callPackage ../applications/virtualization/podman-compose {};
+
   pod2mdoc = callPackage ../tools/misc/pod2mdoc { };
 
   poedit = callPackage ../tools/text/poedit { };
@@ -5775,6 +5791,8 @@ in
 
   pastebinit = callPackage ../tools/misc/pastebinit { };
 
+  pmacct = callPackage ../tools/networking/pmacct { };
+
   polygraph = callPackage ../tools/networking/polygraph { };
 
   progress = callPackage ../tools/misc/progress { };
@@ -6398,8 +6416,6 @@ in
 
   syntex = callPackage ../tools/graphics/syntex {};
 
-  fusesmb = callPackage ../tools/filesystems/fusesmb { samba = samba3; };
-
   sl = callPackage ../tools/misc/sl { stdenv = gccStdenv; };
 
   socat = callPackage ../tools/networking/socat { };
@@ -6435,6 +6451,8 @@ in
 
   ssldump = callPackage ../tools/networking/ssldump { };
 
+  sslsplit = callPackage ../tools/networking/sslsplit { };
+
   sstp = callPackage ../tools/networking/sstp {};
 
   strip-nondeterminism = perlPackages.strip-nondeterminism;
@@ -6642,7 +6660,7 @@ in
   thin-provisioning-tools = callPackage ../tools/misc/thin-provisioning-tools {  };
 
   tiled = libsForQt5.callPackage ../applications/editors/tiled { };
-  
+
   tiledb = callPackage ../development/libraries/tiledb { };
 
   timemachine = callPackage ../applications/audio/timemachine { };
@@ -6890,6 +6908,8 @@ in
 
   uwsgi = callPackage ../servers/uwsgi { };
 
+  v2ray = callPackage ../tools/networking/v2ray { };
+
   vacuum = callPackage ../applications/networking/instant-messengers/vacuum {};
 
   vampire = callPackage ../applications/science/logic/vampire {};
@@ -6928,6 +6948,11 @@ in
 
   vifm = callPackage ../applications/misc/vifm { };
 
+  vifm-full = callPackage ../applications/misc/vifm {
+    mediaSupport = true;
+    inherit lib udisks2 python3;
+  };
+
   viking = callPackage ../applications/misc/viking {
     inherit (gnome2) scrollkeeper;
   };
@@ -8103,6 +8128,8 @@ in
   psc-package = haskell.lib.justStaticExecutables
     (haskellPackages.callPackage ../development/compilers/purescript/psc-package { });
 
+  spago = haskell.lib.justStaticExecutables haskellPackages.spago;
+
   tacacsplus = callPackage ../servers/tacacsplus { };
 
   tamarin-prover =
@@ -8329,6 +8356,8 @@ in
 
   jasmin = callPackage ../development/compilers/jasmin { };
 
+  java-service-wrapper = callPackage ../tools/system/java-service-wrapper { };
+
   javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { };
 
   julia_07 = callPackage ../development/compilers/julia/0.7.nix {
@@ -8546,6 +8575,8 @@ in
 
   ocamlPackages = recurseIntoAttrs ocaml-ng.ocamlPackages;
 
+  ocaml-crunch = ocamlPackages.crunch.bin;
+
   ocamlformat = callPackage ../development/tools/ocaml/ocamlformat { };
 
   orc = callPackage ../development/compilers/orc { };
@@ -8716,9 +8747,7 @@ in
   shmig = callPackage ../development/tools/database/shmig { };
 
   smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
-  smlnj = if stdenv.isDarwin
-            then callPackage ../development/compilers/smlnj { }
-            else pkgsi686Linux.callPackage ../development/compilers/smlnj { };
+  smlnj = callPackage ../development/compilers/smlnj { };
 
   solc = callPackage ../development/compilers/solc { };
 
@@ -9077,6 +9106,10 @@ in
     php = php73;
   });
 
+  php74Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
+    php = php74;
+  });
+
   phpPackages-unit = php72Packages-unit;
 
   php72Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix {
@@ -9087,11 +9120,16 @@ in
     php = php73-unit;
   });
 
+  php74Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix {
+    php = php74-unit;
+  });
+
   inherit (callPackages ../development/interpreters/php {
     stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   })
-    php72
-    php73;
+    php74
+    php73
+    php72;
 
   php-embed = php73-embed;
 
@@ -9105,6 +9143,11 @@ in
     config.php.apxs2 = false;
   };
 
+  php74-embed = php74.override {
+    config.php.embed = true;
+    config.php.apxs2 = false;
+  };
+
   php-unit = php73-unit;
 
   php72-unit = php72.override {
@@ -9125,6 +9168,15 @@ in
     config.php.fpm = false;
   };
 
+  php74-unit = php74.override {
+    config.php.embed = true;
+    config.php.apxs2 = false;
+    config.php.systemd = false;
+    config.php.phpdbg = false;
+    config.php.cgi = false;
+    config.php.fpm = false;
+  };
+
   picoc = callPackage ../development/interpreters/picoc {};
 
   picolisp = callPackage ../development/interpreters/picolisp {};
@@ -9180,6 +9232,8 @@ in
   pypy27Packages = pypy27.pkgs;
   pypy3Packages = pypy3.pkgs;
 
+  pythonManylinuxPackages = callPackage ./../development/interpreters/python/manylinux { };
+
   update-python-libraries = callPackage ../development/interpreters/python/update-python-libraries { };
 
   # Should eventually be moved inside Python interpreters.
@@ -9517,7 +9571,7 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
     buildJdk = jdk8;
     buildJdkName = "jdk8";
-    runJdk = jdk11;
+    runJdk = jdk11_headless;
     stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   };
 
@@ -9886,7 +9940,7 @@ in
 
   funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
 
-  gede = libsForQt59.callPackage ../development/tools/misc/gede { };
+  gede = libsForQt5.callPackage ../development/tools/misc/gede { };
 
   gdbgui = python3Packages.callPackage ../development/tools/misc/gdbgui { };
 
@@ -9998,6 +10052,8 @@ in
     nodejs = nodejs-10_x;
   };
 
+  ccloud-cli = callPackage ../development/tools/ccloud-cli { };
+
   htmlunit-driver = callPackage ../development/tools/selenium/htmlunit-driver { };
 
   hyenae = callPackage ../tools/networking/hyenae { };
@@ -10070,6 +10126,8 @@ in
 
   kube-prompt = callPackage ../development/tools/kube-prompt { };
 
+  kubeprompt = callPackage ../development/tools/kubeprompt { };
+
   kubicorn = callPackage ../development/tools/kubicorn {  };
 
   kustomize = callPackage ../development/tools/kustomize { };
@@ -10816,7 +10874,10 @@ in
 
   caf = callPackage ../development/libraries/caf {};
 
-  cgal = callPackage ../development/libraries/CGAL {};
+  # CGAL 5 has API changes
+  cgal_4 = callPackage ../development/libraries/CGAL/4.nix {};
+  cgal_5 = callPackage ../development/libraries/CGAL {};
+  cgal = cgal_4;
 
   cgui = callPackage ../development/libraries/cgui {};
 
@@ -11029,6 +11090,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo;
   };
 
+  egl-wayland = callPackage ../development/libraries/egl-wayland {};
+
   elastix = callPackage ../development/libraries/science/biology/elastix { };
 
   enchant1 = callPackage ../development/libraries/enchant/1.x.nix { };
@@ -12210,9 +12273,6 @@ in
   };
 
   libfprint = callPackage ../development/libraries/libfprint { };
-  libfprint-thinkpad = libfprint.override {
-    thinkpad = true;
-  };
 
   libfpx = callPackage ../development/libraries/libfpx { };
 
@@ -13076,16 +13136,6 @@ in
   # Default libGLU
   libGLU = mesa_glu;
 
-  # Combined derivation, contains both libGL and libGLU
-  # Please, avoid using this attribute.  It was meant as transitional hack
-  # for packages that assume that libGLU and libGL live in the same prefix.
-  # libGLU_combined propagates both libGL and libGLU
-  libGLU_combined = buildEnv {
-    name = "libGLU-combined";
-    paths = [ libGL libGLU ];
-    extraOutputsToInstall = [ "dev" ];
-  };
-
   mesa = callPackage ../development/libraries/mesa {
     llvmPackages = llvmPackages_9;
     inherit (darwin.apple_sdk.frameworks) OpenGL;
@@ -13521,14 +13571,11 @@ in
 
   pugixml = callPackage ../development/libraries/pugixml { };
 
-  pybind11 = callPackage ../development/libraries/pybind11 { };
+  pybind11 = pythonPackages.pybind11;
 
   python-qt = callPackage ../development/libraries/python-qt {
     python = python27;
-    qmake = qt59.qmake;
-    qttools = qt59.qttools;
-    qtwebengine = qt59.qtwebengine;
-    qtxmlpatterns = qt59.qtxmlpatterns;
+    inherit (qt5) qmake qttools qtwebengine qtxmlpatterns;
   };
 
   pyotherside = libsForQt5.callPackage ../development/libraries/pyotherside {};
@@ -13579,50 +13626,17 @@ in
     developerBuild = true;
   });
 
-  qt59 = recurseIntoAttrs (makeOverridable
-    (import ../development/libraries/qt-5/5.9) {
-      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;
-      inherit gtk3;
-      inherit (gnome3) dconf;
-    });
-
-  libsForQt59 = lib.makeScope qt59.newScope mkLibsForQt5;
-
-  qt511 = recurseIntoAttrs (makeOverridable
-    (import ../development/libraries/qt-5/5.11) {
-      inherit newScope;
-      inherit stdenv fetchurl fetchFromGitHub fetchpatch makeSetupHook makeWrapper;
-      bison = bison2; # error: too few arguments to function 'int yylex(...
-      inherit cups;
-      harfbuzz = harfbuzzFull;
-      inherit libGL;
-      inherit perl;
-      inherit gtk3;
-      inherit (gnome3) dconf;
-      inherit (gst_all_1) gstreamer gst-plugins-base;
-      inherit llvmPackages_5;
-    });
-
-  libsForQt511 = recurseIntoAttrs (lib.makeScope qt511.newScope mkLibsForQt5);
-
   qt512 = recurseIntoAttrs (makeOverridable
     (import ../development/libraries/qt-5/5.12) {
       inherit newScope;
       inherit stdenv fetchurl fetchpatch fetchFromGitHub makeSetupHook makeWrapper;
       bison = bison2; # error: too few arguments to function 'int yylex(...
       inherit cups;
+      inherit dconf;
       inherit harfbuzz;
       inherit libGL;
       inherit perl;
       inherit gtk3;
-      inherit (gnome3) dconf;
       inherit (gst_all_1) gstreamer gst-plugins-base;
       inherit llvmPackages_5;
     });
@@ -14466,19 +14480,6 @@ in
     stdenv = clangStdenv; # TODO: https://github.com/NixOS/nixpkgs/issues/36947
   };
 
-  webkitgtk24x-gtk3 = callPackage ../development/libraries/webkitgtk/2.4.nix {
-    harfbuzz = harfbuzzFull.override {
-      icu = icu58;
-    };
-    gst-plugins-base = gst_all_1.gst-plugins-base;
-    inherit (darwin) libobjc;
-  };
-
-  webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override {
-    withGtk2 = true;
-    enableIntrospection = false;
-  };
-
   websocketpp = callPackage ../development/libraries/websocket++ { };
 
   webrtc-audio-processing = callPackage ../development/libraries/webrtc-audio-processing { };
@@ -15083,7 +15084,7 @@ in
   gofish = callPackage ../servers/gopher/gofish { };
 
   grafana = callPackage ../servers/monitoring/grafana {
-    buildGoPackage = buildGo112Package;
+    buildGoPackage = buildGo113Package;
   };
 
   grafana-loki = callPackage ../servers/monitoring/loki { };
@@ -15205,12 +15206,14 @@ in
   nginx = nginxStable;
 
   nginxStable = callPackage ../servers/http/nginx/stable.nix {
+    perl = null;
     # 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 ];
   };
 
   nginxMainline = callPackage ../servers/http/nginx/mainline.nix {
+    perl = null;
     # We don't use `with` statement here on purpose!
     # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334
     modules = [ nginxModules.dav nginxModules.moreheaders ];
@@ -15568,8 +15571,6 @@ in
 
   deadpixi-sam-unstable = callPackage ../applications/editors/deadpixi-sam { };
 
-  samba3 = callPackage ../servers/samba/3.x.nix { };
-
   samba4 = callPackage ../servers/samba/4.x.nix {
     rpcgen = netbsd.rpcgen;
     python = python3;
@@ -15577,17 +15578,6 @@ in
 
   samba = samba4;
 
-  # A lightweight Samba 3, useful for non-Linux-based OSes.
-  samba3_light = lowPrio (samba3.override {
-    pam = null;
-    fam = null;
-    cups = null;
-    acl = null;
-    openldap = null;
-    # libunwind 1.0.1 is not ported to GNU/Hurd.
-    libunwind = null;
-  });
-
   samba4Full = lowPrio (samba4.override {
     enableLDAP = true;
     enablePrinting = true;
@@ -15776,12 +15766,11 @@ in
     server = server-pgsql;
   };
 
-  zabbix44 = zabbixFor "v44";
-  zabbix42 = zabbixFor "v42";
-  zabbix40 = zabbixFor "v40";
-  zabbix30 = zabbixFor "v30";
+  zabbix44 = recurseIntoAttrs (zabbixFor "v44");
+  zabbix40 = dontRecurseIntoAttrs (zabbixFor "v40");
+  zabbix30 = dontRecurseIntoAttrs (zabbixFor "v30");
 
-  zabbix = zabbix42;
+  zabbix = zabbix44;
 
   zipkin = callPackage ../servers/monitoring/zipkin { };
 
@@ -16975,6 +16964,8 @@ in
     ubootRaspberryPi3_32bit
     ubootRaspberryPi3_64bit
     ubootRaspberryPiZero
+    ubootRock64
+    ubootRockPro64
     ubootSheevaplug
     ubootSopine
     ubootUtilite
@@ -16984,10 +16975,6 @@ in
   # Non-upstream U-Boots:
   ubootNanonote = callPackage ../misc/uboot/nanonote.nix { };
 
-  ubootRock64 = callPackage ../misc/uboot/rock64.nix { };
-
-  ubootRockPro64 = callPackage ../misc/uboot/rockpro64.nix { };
-
   uclibc = callPackage ../os-specific/linux/uclibc { };
 
   uclibcCross = callPackage ../os-specific/linux/uclibc {
@@ -17143,6 +17130,8 @@ in
 
   cherry = callPackage ../data/fonts/cherry { inherit (xorg) fonttosfnt mkfontdir; };
 
+  cldr-emoji-annotation = callPackage ../data/misc/cldr-emoji-annotation { };
+
   clearlooks-phenix = callPackage ../data/themes/clearlooks-phenix { };
 
   cnstrokeorder = callPackage ../data/fonts/cnstrokeorder {};
@@ -17274,6 +17263,8 @@ in
 
   fira-mono = callPackage ../data/fonts/fira-mono { };
 
+  flat-remix-icon-theme = callPackage ../data/icons/flat-remix-icon-theme { };
+
   font-awesome_4 = (callPackage ../data/fonts/font-awesome-5 { }).v4;
   font-awesome_5 = (callPackage ../data/fonts/font-awesome-5 { }).v5;
   font-awesome = font-awesome_5;
@@ -17752,6 +17743,12 @@ in
 
   uni-vga = callPackage ../data/fonts/uni-vga { };
 
+  unicode-character-database = callPackage ../data/misc/unicode-character-database { };
+
+  unicode-emoji = callPackage ../data/misc/unicode-emoji { };
+
+  unihan-database = callPackage ../data/misc/unihan-database { };
+
   unifont = callPackage ../data/fonts/unifont { };
 
   unifont_upper = callPackage ../data/fonts/unifont_upper { };
@@ -17849,6 +17846,8 @@ in
 
   airwave = callPackage ../applications/audio/airwave { };
 
+  akira-unstable = callPackage ../applications/graphics/akira { };
+
   alembic = callPackage ../development/libraries/alembic {};
 
   alchemy = callPackage ../applications/graphics/alchemy { };
@@ -18266,7 +18265,7 @@ in
     pygments = python27Packages.pygments;
   };
 
-  csound-qt = libsForQt59.callPackage ../applications/audio/csound/csound-qt {
+  csound-qt = libsForQt5.callPackage ../applications/audio/csound/csound-qt {
     python = python27;
   };
 
@@ -18292,6 +18291,8 @@ in
 
   coyim = callPackage ../applications/networking/instant-messengers/coyim {};
 
+  cq-editor = libsForQt5.callPackage ../applications/graphics/cq-editor { };
+
   cpp_ethereum = callPackage ../applications/misc/cpp-ethereum { };
 
   crun = callPackage ../applications/virtualization/crun {};
@@ -19064,9 +19065,7 @@ in
 
   gmrun = callPackage ../applications/misc/gmrun {};
 
-  gnucash = callPackage ../applications/office/gnucash {
-    inherit (gnome3) dconf;
-  };
+  gnucash = callPackage ../applications/office/gnucash { };
 
   goffice = callPackage ../development/libraries/goffice { };
 
@@ -19220,6 +19219,10 @@ in
 
   gv = callPackage ../applications/misc/gv { };
 
+  gvisor = callPackage ../applications/virtualization/gvisor { };
+
+  gvisor-containerd-shim = callPackage ../applications/virtualization/gvisor/containerd-shim.nix { };
+
   guvcview = callPackage ../os-specific/linux/guvcview { };
 
   gxmessage = callPackage ../applications/misc/gxmessage { };
@@ -19576,7 +19579,7 @@ in
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
     stdenv = gcc6Stdenv;
-    boost = boost.override { enablePython = true; };
+    boost = boost155.override { enablePython = true; };
   };
 
   k9copy = libsForQt5.callPackage ../applications/video/k9copy {};
@@ -19787,9 +19790,7 @@ in
 
   lifelines = callPackage ../applications/misc/lifelines { };
 
-  liferea = callPackage ../applications/networking/newsreaders/liferea {
-    inherit (gnome3) dconf;
-  };
+  liferea = callPackage ../applications/networking/newsreaders/liferea { };
 
   lightworks = callPackage ../applications/video/lightworks {
     portaudio = portaudio2014;
@@ -19912,6 +19913,8 @@ in
 
   mako = callPackage ../applications/misc/mako { };
 
+  mandelbulber = libsForQt5.callPackage ../applications/graphics/mandelbulber { };
+
   mapmap = libsForQt5.callPackage ../applications/video/mapmap { };
 
   marathon = callPackage ../applications/networking/cluster/marathon { };
@@ -19928,6 +19931,14 @@ in
 
   matchbox = callPackage ../applications/window-managers/matchbox { };
 
+  matrixcli = callPackage ../applications/networking/instant-messengers/matrixcli {
+    inherit (python3Packages) buildPythonApplication buildPythonPackage
+      pygobject3 pytestrunner requests responses pytest python-olm
+      canonicaljson;
+  };
+
+  matrix-recorder = callPackage ../applications/networking/instant-messengers/matrix-recorder {};
+
   mblaze = callPackage ../applications/networking/mailreaders/mblaze { };
 
   mcpp = callPackage ../development/compilers/mcpp { };
@@ -19960,9 +19971,7 @@ in
 
   mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; });
 
-  merkaartor = libsForQt59.callPackage ../applications/misc/merkaartor {
-    gdal = gdal_2; # https://github.com/openstreetmap/merkaartor/issues/179
-  };
+  merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { };
 
   meshlab = libsForQt5.callPackage ../applications/graphics/meshlab { };
 
@@ -20014,7 +20023,10 @@ in
   MMA = callPackage ../applications/audio/MMA { };
 
   mmex = callPackage ../applications/office/mmex {
-    wxGTK30 = wxGTK30.override { withWebKit  = true ; };
+    wxGTK30 = wxGTK30.override {
+      withWebKit = true;
+      withGtk2 = false;
+    };
   };
 
   mmsd = callPackage ../tools/networking/mmsd { };
@@ -20226,6 +20238,8 @@ in
 
   partio = callPackage ../development/libraries/partio {};
 
+  pbis-open = callPackage ../tools/security/pbis { };
+
   pcmanfm = callPackage ../applications/misc/pcmanfm { };
 
   pcmanfm-qt = lxqt.pcmanfm-qt;
@@ -20666,7 +20680,7 @@ in
     gtksharp = gtk-sharp-2_0;
   };
 
-  plex-media-player = libsForQt59.callPackage ../applications/video/plex-media-player { };
+  plex-media-player = libsForQt512.callPackage ../applications/video/plex-media-player { };
 
   plover = recurseIntoAttrs (libsForQt5.callPackage ../applications/misc/plover { });
 
@@ -20817,9 +20831,7 @@ in
 
   quantomatic = callPackage ../applications/science/physics/quantomatic { };
 
-  quassel = libsForQt5.callPackage ../applications/networking/irc/quassel {
-    inherit (gnome3) dconf;
-  };
+  quassel = libsForQt5.callPackage ../applications/networking/irc/quassel { };
 
   quasselClient = quassel.override {
     monolithic = false;
@@ -21094,7 +21106,7 @@ in
   split2flac = callPackage ../applications/audio/split2flac { };
 
   spotify-tui = callPackage ../applications/audio/spotify-tui {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) AppKit Security;
   };
 
   squishyball = callPackage ../applications/audio/squishyball {
@@ -21368,6 +21380,8 @@ in
 
   tailor = callPackage ../applications/version-management/tailor {};
 
+  taizen = callPackage ../applications/misc/taizen { };
+
   tangogps = callPackage ../applications/misc/tangogps {
     gconf = gnome2.GConf;
   };
@@ -21580,6 +21594,8 @@ in
 
   ulauncher = callPackage ../applications/misc/ulauncher { };
 
+  twinkle = qt5.callPackage ../applications/networking/instant-messengers/twinkle { };
+
   umurmur = callPackage ../applications/networking/umurmur { };
 
   udocker = pythonPackages.callPackage ../tools/virtualization/udocker { };
@@ -21602,10 +21618,6 @@ in
 
   uwimap = callPackage ../tools/networking/uwimap { };
 
-  uzbl = callPackage ../applications/networking/browsers/uzbl {
-    webkitgtk = webkitgtk24x-gtk2;
-  };
-
   utox = callPackage ../applications/networking/instant-messengers/utox { };
 
   valentina = libsForQt5.callPackage ../applications/misc/valentina { };
@@ -21691,7 +21703,6 @@ in
   virt-what = callPackage ../applications/virtualization/virt-what { };
 
   virt-manager = callPackage ../applications/virtualization/virt-manager {
-    dconf = gnome3.dconf;
     system-libvirt = libvirt;
   };
 
@@ -22370,7 +22381,11 @@ in
   clightning = callPackage ../applications/blockchains/clightning.nix { };
 
   bitcoin-abc  = libsForQt5.callPackage ../applications/blockchains/bitcoin-abc.nix { boost = boost165; withGui = true; };
-  bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc.nix { boost = boost165; withGui = false; };
+  bitcoind-abc = callPackage ../applications/blockchains/bitcoin-abc.nix {
+    boost = boost165;
+    mkDerivation = stdenv.mkDerivation;
+    withGui = false;
+  };
 
   bitcoin-unlimited  = libsForQt5.callPackage ../applications/blockchains/bitcoin-unlimited.nix {
     inherit (darwin.apple_sdk.frameworks) Foundation ApplicationServices AppKit;
@@ -22589,7 +22604,7 @@ in
   });
 
   construo = construoBase.override {
-    inherit  freeglut libGL libGLU;
+    inherit libGL libGLU freeglut;
   };
 
   crack_attack = callPackage ../games/crack-attack { };
@@ -24583,8 +24598,9 @@ in
     kops_1_12
     kops_1_13
     kops_1_14
+    kops_1_15
     ;
-  kops = kops_1_14;
+  kops = kops_1_15;
 
   lguf-brightness = callPackage ../misc/lguf-brightness { };
 
@@ -24794,6 +24810,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  nix-linter = haskellPackages.callPackage ../development/tools/analysis/nix-linter { };
+
   nix-pin = callPackage ../tools/package-management/nix-pin { };
 
   nix-prefetch = callPackage ../tools/package-management/nix-prefetch { };
@@ -25180,11 +25198,6 @@ in
     llvmPackages = llvmPackages_6;
   });
 
-  vimprobable2-unwrapped = callPackage ../applications/networking/browsers/vimprobable2 {
-    webkitgtk = webkitgtk24x-gtk2;
-  };
-  vimprobable2 = wrapFirefox vimprobable2-unwrapped { };
-
   vimb-unwrapped = callPackage ../applications/networking/browsers/vimb { };
   vimb = wrapFirefox vimb-unwrapped { };
 
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 235dfc79487..2cc1750c464 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -128,7 +128,7 @@ in rec {
     version = "8.9.1";
   };
   coq_8_10 = callPackage ../applications/science/logic/coq {
-    version = "8.10.1";
+    version = "8.10.2";
   };
 
   coqPackages_8_5 = mkCoqPackages coq_8_5;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 20cd2965549..5b2fadd4dab 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -73,6 +73,8 @@ let
 
     bigstringaf = callPackage ../development/ocaml-modules/bigstringaf { };
 
+    biocaml = callPackage ../development/ocaml-modules/biocaml { };
+
     bistro = callPackage ../development/ocaml-modules/bistro { };
 
     bitstring = callPackage ../development/ocaml-modules/bitstring { };
@@ -138,6 +140,8 @@ let
 
     cairo2 = callPackage ../development/ocaml-modules/cairo2 { };
 
+    cfstream = callPackage ../development/ocaml-modules/cfstream { };
+
     charInfo_width = callPackage ../development/ocaml-modules/charInfo_width { };
 
     checkseum = callPackage ../development/ocaml-modules/checkseum { };
@@ -185,6 +189,8 @@ let
 
     cpuid = callPackage ../development/ocaml-modules/cpuid { };
 
+    crunch = callPackage ../development/tools/ocaml/crunch { };
+
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
     cstruct =
@@ -235,6 +241,8 @@ let
 
     easy-format = callPackage ../development/ocaml-modules/easy-format { };
 
+    eigen = callPackage ../development/ocaml-modules/eigen { };
+
     elina = callPackage ../development/ocaml-modules/elina { };
 
     eliom = callPackage ../development/ocaml-modules/eliom { };
@@ -289,6 +297,10 @@ let
 
     gmap = callPackage ../development/ocaml-modules/gmap { };
 
+    gnuplot = callPackage ../development/ocaml-modules/gnuplot {
+      inherit (pkgs) gnuplot;
+    };
+
     herelib = callPackage ../development/ocaml-modules/herelib { };
 
     higlo = callPackage ../development/ocaml-modules/higlo { };
@@ -374,6 +386,8 @@ let
 
     jsonm = callPackage ../development/ocaml-modules/jsonm { };
 
+    kafka = callPackage ../development/ocaml-modules/kafka { };
+
     ke = callPackage ../development/ocaml-modules/ke { };
 
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
@@ -460,6 +474,14 @@ let
 
     merlin-extend = callPackage ../development/ocaml-modules/merlin-extend { };
 
+    metrics = callPackage ../development/ocaml-modules/metrics { };
+
+    metrics-lwt = callPackage ../development/ocaml-modules/metrics/lwt.nix { };
+
+    metrics-unix = callPackage ../development/ocaml-modules/metrics/unix.nix {
+      inherit (pkgs) gnuplot;
+    };
+
     mezzo = callPackage ../development/compilers/mezzo { };
 
     minisat = callPackage ../development/ocaml-modules/minisat { };
@@ -601,10 +623,16 @@ let
 
     owee = callPackage ../development/ocaml-modules/owee { };
 
+    owl-base = callPackage ../development/ocaml-modules/owl-base { };
+
+    owl = callPackage ../development/ocaml-modules/owl { };
+
     ounit = callPackage ../development/ocaml-modules/ounit { };
 
     pgsolver = callPackage ../development/ocaml-modules/pgsolver { };
 
+    phylogenetics = callPackage ../development/ocaml-modules/phylogenetics { };
+
     piqi = callPackage ../development/ocaml-modules/piqi {
       base64 = base64_2;
     };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index c932eaeeaaa..5b8778ef12b 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -87,11 +87,11 @@ let
 
   ack = buildPerlPackage {
     pname = "ack";
-    version = "3.1.3";
+    version = "3.2.0";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.1.3.tar.gz;
-      sha256 = "0bxsrs6lv98sjdww5q6bcsm2qk4w6l5falpzjijvj1i2if123gb1";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.2.0.tar.gz;
+      sha256 = "00yvhkr974akdlhiyxkcz4rmfjyhvpikxf6k49b6q6iwa5a0j1ss";
     };
 
     outputs = ["out" "man"];
@@ -158,10 +158,10 @@ let
 
   AlienBuild = buildPerlPackage {
     pname = "Alien-Build";
-    version = "1.89";
+    version = "1.92";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.89.tar.gz;
-      sha256 = "1jr740v95hdhjxkj5kcpwb022y6iqzmsax50fa69qbiwnjjnzqzz";
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.92.tar.gz;
+      sha256 = "0y8a0ircxc93qqic1i76sspbcr4pdjg6j8ha4zbvv279f8x1g5fd";
     };
     propagatedBuildInputs = [ CaptureTiny FFICheckLib FileWhich Filechdir PathTiny PkgConfig ];
     buildInputs = [ DevelHide Test2Suite ];
@@ -221,7 +221,7 @@ let
     installPhase = "./Build install --prefix $out";
 
     SDL_INST_DIR = pkgs.SDL.dev;
-    buildInputs = [ ArchiveExtract ArchiveZip TextPatch pkgs.SDL ];
+    buildInputs = [ pkgs.SDL ArchiveExtract ArchiveZip TextPatch ];
     propagatedBuildInputs = [ CaptureTiny FileShareDir FileWhich ];
 
     meta = {
@@ -347,10 +347,10 @@ let
 
   ApacheAuthCookie = buildPerlPackage {
     pname = "Apache-AuthCookie";
-    version = "3.27";
+    version = "3.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.27.tar.gz;
-      sha256 = "58daeb3e44c681ff88f8fb00e4aabaa7a40cbee73dbdb84fcf6c285b15d357bd";
+      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.28.tar.gz;
+      sha256 = "bcd795a7f654a94ae0a6bd734ba4d8ba1085371fca486229dba49f1c2d62142b";
     };
     buildInputs = [ ApacheTest ];
     propagatedBuildInputs = [ ClassLoad HTTPBody HashMultiValue WWWFormUrlEncoded ];
@@ -368,10 +368,10 @@ let
 
   ApacheLogFormatCompiler = buildPerlModule {
     pname = "Apache-LogFormat-Compiler";
-    version = "0.35";
+    version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.35.tar.gz;
-      sha256 = "06i70ydxk2wa2rcqn16842kra2qz3jwk0vk1abq8lah4180c0m0n";
+      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz;
+      sha256 = "05xcl7j65vakx7x79jqjikyw0nzf60bc2w6hhc0q5sklxq1ral4l";
     };
     buildInputs = [ HTTPMessage ModuleBuildTiny TestMockTime TestRequires TryTiny URI ];
     propagatedBuildInputs = [ POSIXstrftimeCompiler ];
@@ -507,10 +507,10 @@ let
 
   Appperlbrew = buildPerlModule {
     pname = "App-perlbrew";
-    version = "0.86";
+    version = "0.87";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.86.tar.gz;
-      sha256 = "11qh94am7fghizmjaf5c7w868svjbv9g4ffirykj8qa6q40zdspp";
+      url = mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.87.tar.gz;
+      sha256 = "0zcczp1dq116ym05yhjpmzv5qmkwfd9lzcwiy51i8ii13qq5hja7";
     };
     buildInputs = [ pkgs.curl FileWhich IOAll ModuleBuildTiny PathClass TestException TestNoWarnings TestOutput TestSpec TestTempDirTiny ];
     propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl locallib ];
@@ -1183,7 +1183,7 @@ let
       sha256 = "0z4lnc3jfqx8rykm998q2jy5wkhb8p5pir80g9lqpi4lb0ilic6c";
     };
     propagatedBuildInputs = [ Furl URI ];
-    buildInputs = [ FileWhich TestTCP TestRequires TestSharedFork ];
+    buildInputs = [ FileWhich TestRequires TestSharedFork TestTCP ];
     meta = {
       description = "KyotoTycoon client library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -2769,10 +2769,10 @@ let
 
   CompressRawBzip2 = buildPerlPackage {
     pname = "Compress-Raw-Bzip2";
-    version = "2.087";
+    version = "2.090";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.087.tar.gz;
-      sha256 = "1yqcy26dlcgy5gkl6rvvj60f83kgd99y8qylynibjx84vbyhvfvp";
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.090.tar.gz;
+      sha256 = "0yi972il6i0ya65qar0767mm3sb2wbsrllsgx6296s5myh2838p6";
     };
 
     # Don't build a private copy of bzip2.
@@ -2788,11 +2788,11 @@ let
 
   CompressRawZlib = buildPerlPackage {
     pname = "Compress-Raw-Zlib";
-    version = "2.087";
+    version = "2.090";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.087.tar.gz;
-      sha256 = "13gfbfhaw1iiz2vmgpjggrcd704czqx3jk5alw765cw6wghwk0cc";
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.090.tar.gz;
+      sha256 = "0ndgkv7z4zi3ffail9abp02x62dx1j3pnxn3rjw91py7pjd4kj7j";
     };
 
     preConfigure = ''
@@ -3049,10 +3049,10 @@ let
 
   Connector = buildPerlPackage {
     pname = "Connector";
-    version = "1.27";
+    version = "1.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.27.tar.gz;
-      sha256 = "98ff4700fde2b7872d89566a3308d03c2899c88cb6317af901869513bdbfb603";
+      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.28.tar.gz;
+      sha256 = "0cd1575bab80e78294aa79809904f40d2f534d99b78e0161454f037625c6bf7d";
     };
     buildInputs = [ ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI ProcSafeExec TemplateToolkit YAML ];
     propagatedBuildInputs = [ LogLog4perl Moose ];
@@ -3234,10 +3234,10 @@ let
 
   CpanelJSONXS = buildPerlPackage {
     pname = "Cpanel-JSON-XS";
-    version = "4.14";
+    version = "4.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.14.tar.gz;
-      sha256 = "6e63bf65cd7e94f08fb8ae7ccd6f94fb3447852865882bba9aaa155c9eea5938";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.17.tar.gz;
+      sha256 = "fa80ae47caa9beee6db9b12df2c04482e98df1d62041a114ccd82b681a8706fb";
     };
     meta = {
       description = "CPanel fork of JSON::XS, fast and correct serializing";
@@ -3316,10 +3316,10 @@ let
 
   CPANPerlReleases = buildPerlPackage {
     pname = "CPAN-Perl-Releases";
-    version = "4.14";
+    version = "4.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-4.14.tar.gz;
-      sha256 = "0ki6bc0wdc047nyx2j4byk8nsrnm18vn0nr1s1x9wh3xi0wasn7r";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-4.22.tar.gz;
+      sha256 = "1gwa1jzcv08fjg282jxakh24zni6ajgwhgraz6hjxk1j2hiaykjd";
     };
     meta = {
       homepage = https://github.com/bingos/cpan-perl-releases;
@@ -3776,10 +3776,10 @@ let
 
   CryptX = buildPerlPackage {
     pname = "CryptX";
-    version = "0.064";
+    version = "0.066";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIK/CryptX-0.064.tar.gz;
-      sha256 = "176ef4d2eac80731b360db04289431f0b96acc2568a1fec856abed4a51779a47";
+      url = mirror://cpan/authors/id/M/MI/MIK/CryptX-0.066.tar.gz;
+      sha256 = "e7e823ac4db0b452e885b0e0d5adfc8a9c5f688938f1adf3f1d91432b3238335";
     };
     meta = {
       description = "Crypto toolkit";
@@ -3817,12 +3817,12 @@ let
 
   DataCompare = buildPerlPackage {
     pname = "Data-Compare";
-    version = "1.26";
+    version = "1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.26.tar.gz;
-      sha256 = "03g0z2w8hz7750x6wkl6zq7shk12fry44gkzrz7b904s5fmphl4p";
+      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz;
+      sha256 = "1gg8rqbv3x6a1lrpabv6vnlab53zxmpwz2ygad9fcx4gygqj12l1";
     };
-    propagatedBuildInputs = [ FileFindRule ];
+    propagatedBuildInputs = [ Clone FileFindRule ];
   };
 
   DataDump = buildPerlPackage {
@@ -4362,10 +4362,10 @@ let
 
   DateTimeCalendarJulian = buildPerlPackage {
     pname = "DateTime-Calendar-Julian";
-    version = "0.101";
+    version = "0.102";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.101.tar.gz;
-      sha256 = "1q7zflwv44yybyz5nd01bc69zw5m540qg4fnh4xlj2icbm3sf7br";
+      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.102.tar.gz;
+      sha256 = "0j95dhma66spjyb04zi6rwy7l33hibnrx02mn0znd9m89aiq52s6";
     };
     meta = {
       description = "Dates in the Julian calendar";
@@ -4615,10 +4615,10 @@ let
 
   DateTimeTimeZone = buildPerlPackage {
     pname = "DateTime-TimeZone";
-    version = "2.37";
+    version = "2.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.37.tar.gz;
-      sha256 = "6c12dfa6ad190191d437a7661c644fc38aaf109001e1d958c95dbb0aa143c421";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.38.tar.gz;
+      sha256 = "0e5c99ef22471f4d262ac590ce5ce8177094d7a92f380d8eea6219f5a12dc0cd";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ ClassSingleton ParamsValidationCompiler Specio namespaceautoclean ];
@@ -4703,12 +4703,12 @@ let
 
   DevelChecklib = buildPerlPackage {
     pname = "Devel-CheckLib";
-    version = "1.13";
+    version = "1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.13.tar.gz;
-      sha256 = "1a19qkwxwz3wqb16cdabymfbf9kiydiifw90nd5srpq5hy8gvb94";
+      url = mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.14.tar.gz;
+      sha256 = "15621qh5gaan1sgmk9y9svl70nm8viw17x5h1kf0zknkk8lmw77j";
     };
-    buildInputs = [ IOCaptureOutput MockConfig ];
+    buildInputs = [ CaptureTiny MockConfig ];
   };
 
   DevelCheckOS = buildPerlPackage {
@@ -4723,10 +4723,10 @@ let
 
   DevelPatchPerl = buildPerlPackage {
     pname = "Devel-PatchPerl";
-    version = "1.64";
+    version = "1.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.64.tar.gz;
-      sha256 = "16fl04m0b9jccq30h7myaj6hsv4ivx53i3q5klq0d0q6w0k5sb4v";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.80.tar.gz;
+      sha256 = "0nffiyfa1dx1ypg2chckpzh7syx47z10rxg6fjf4sb5d1gryxmmf";
     };
     propagatedBuildInputs = [ Filepushd ModulePluggable ];
     meta = {
@@ -4752,10 +4752,10 @@ let
 
   DevelPPPort = buildPerlPackage {
     pname = "Devel-PPPort";
-    version = "3.54";
+    version = "3.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.54.tar.gz;
-      sha256 = "f30fbbef7bdd6fb12348caf39e795c19c1639b8156e2e2f2927205140e35b0a9";
+      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.55.tar.gz;
+      sha256 = "bac0421ed1ba02f118f2bc1b1a760616847a0c60cb0184651f3f076f46d0946e";
     };
     meta = {
       description = "Perl/Pollution/Portability";
@@ -4811,10 +4811,10 @@ let
 
   DBDMock = buildPerlModule {
     pname = "DBD-Mock";
-    version = "1.49";
+    version = "1.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.49.tar.gz;
-      sha256 = "3c88bd9322d3d1a215b0c8dad8b27f06885a063f8f47fb8747f6e86f8b9d7116";
+      url = mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.52.tar.gz;
+      sha256 = "c33ac1118ff4e6a542e62e0fc56d9c0d4abecc442c7acb59c0975fc376812442";
     };
     propagatedBuildInputs = [ DBI ];
     buildInputs = [ ModuleBuildTiny TestException ];
@@ -5026,7 +5026,7 @@ let
       sha256 = "d705f85825aced299020534349778537524526d64f524217ca362787f683c3bd";
     };
     buildInputs = [ DBDSQLite TestDeep TestException TestWarn ];
-    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
+    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
     meta = {
       homepage = https://metacpan.org/pod/DBIx::Class;
       description = "Extensible and flexible object <-> relational mapper";
@@ -5094,10 +5094,10 @@ let
 
   DBIxClassHelpers = buildPerlPackage {
     pname = "DBIx-Class-Helpers";
-    version = "2.034000";
+    version = "2.034001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.034000.tar.gz;
-      sha256 = "bf92b5495fddd50daa15126e015d5d210a44b6bb43baa8859b5adaa57cd96c59";
+      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.034001.tar.gz;
+      sha256 = "5bdbe716a32eec30d12fd743169a8d99b7358eaef8b153224ca61aa543c283c9";
     };
     buildInputs = [ DBDSQLite DateTimeFormatSQLite TestDeep TestFatal TestRoo aliased ];
     propagatedBuildInputs = [ CarpClan DBIxClassCandy DBIxIntrospector SafeIsa TextBrew ];
@@ -6270,6 +6270,20 @@ let
     };
   };
 
+  EnvSanctify = buildPerlPackage {
+    pname = "Env-Sanctify";
+    version = "1.12";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Env-Sanctify-1.12.tar.gz;
+      sha256 = "0prj51c9w4k6nrpnpfw6an96953vna74g698kyk78m163ikbbqr0";
+    };
+    meta = {
+      description = "Lexically scoped sanctification of %ENV";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/bingos/env-sanctify";
+    };
+  };
+
   Error = buildPerlModule {
     pname = "Error";
     version = "0.17028";
@@ -6281,10 +6295,10 @@ let
 
   EV = buildPerlPackage {
     pname = "EV";
-    version = "4.27";
+    version = "4.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.27.tar.gz;
-      sha256 = "55750e5422d8cac7a2d0c89feeaca7d840ab2268f4c537655cdda0085e0d0cbc";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.29.tar.gz;
+      sha256 = "cbed1824ac9ef0740325140393216be55a6eb8f16a5996395fab243ee28da78e";
     };
     buildInputs = [ CanaryStability ];
     propagatedBuildInputs = [ commonsense ];
@@ -7451,8 +7465,8 @@ let
       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Furl-3.13.tar.gz";
       sha256 = "1wxa2v9yjzvnzp62p1jvcx8x61z5qvlvzyah853vvaywpjxwyyl8";
     };
-    propagatedBuildInputs = [ HTTPParserXS ModuleBuildTiny ClassAccessorLite ];
-    buildInputs = [ HTTPBody HTTPProxy NetIDNEncode Plack PlackMiddlewareDeflater Starlet TestRequires TestTCP TestSharedFork ];
+    propagatedBuildInputs = [ ClassAccessorLite HTTPParserXS MozillaCA ];
+    buildInputs = [ HTTPCookieJar HTTPProxy ModuleBuildTiny Plack Starlet TestFakeHTTPD TestRequires TestSharedFork TestTCP TestValgrind URI ];
     meta = {
       description = "Lightning-fast URL fetcher";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -7763,6 +7777,7 @@ let
       sha256 = "af53f2d3f63297e046676eae14a76296afdd2910e09723b6b113708622b7989b";
     };
     buildInputs = [ pkgs.gnupg1orig ];
+    doCheck = !stdenv.isAarch64;
   };
 
   GnuPGInterface = buildPerlPackage {
@@ -8547,12 +8562,28 @@ let
     };
   };
 
+  HTTPCookieJar = buildPerlPackage {
+    pname = "HTTP-CookieJar";
+    version = "0.008";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/HTTP-CookieJar-0.008.tar.gz;
+      sha256 = "0rfw6avcralggs7bf7n86flvhaahxjnqzvpwszp0sk4z4wwy01wm";
+    };
+    propagatedBuildInputs = [ HTTPDate ];
+    buildInputs = [ TestDeep TestRequires URI ];
+    meta = {
+      description = "A minimalist HTTP user agent cookie jar";
+      license = with stdenv.lib.licenses; [ asl20 ];
+      homepage = "https://github.com/dagolden/HTTP-CookieJar";
+    };
+  };
+
   HTTPCookies = buildPerlPackage {
     pname = "HTTP-Cookies";
-    version = "6.04";
+    version = "6.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.04.tar.gz;
-      sha256 = "1m0kxcirbvbkrm2c59p1bkbvzlcdymg8fdpa7wlxijlx0xwz1iqc";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.07.tar.gz;
+      sha256 = "0apa7smnlzanh1gdrm7id42iv64vy5skj53ank2rsk07avg8qbva";
     };
     propagatedBuildInputs = [ HTTPMessage ];
     meta = {
@@ -8577,23 +8608,24 @@ let
 
   HTTPDate = buildPerlPackage {
     pname = "HTTP-Date";
-    version = "6.02";
+    version = "6.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz;
-      sha256 = "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz;
+      sha256 = "0awjdbz7x0jd5pna55dwxhs3k6xp3sw6b2zg3p2yndxxvya64p9n";
     };
     meta = {
       description = "Date conversion routines";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ TimeDate TimeLocal ];
   };
 
   HTTPEntityParser = buildPerlModule {
      pname = "HTTP-Entity-Parser";
-     version = "0.21";
+     version = "0.22";
      src = fetchurl {
-       url = mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.21.tar.gz;
-       sha256 = "1n7qhyscllialds5jsk1k8x2vmfbjvisa3342as5x15hpm13wkf1";
+       url = mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.22.tar.gz;
+       sha256 = "1j6nxs0nmx160ip0xw9gb3l19ii8pz9x1ay1y15q7rmllbr1rzlk";
      };
      propagatedBuildInputs = [ HTTPMultiPartParser HashMultiValue JSONMaybeXS StreamBuffered WWWFormUrlEncoded ];
      buildInputs = [ HTTPMessage ModuleBuildTiny ];
@@ -8848,10 +8880,10 @@ let
 
   ImageInfo = buildPerlPackage {
     pname = "Image-Info";
-    version = "1.41";
+    version = "1.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.41.tar.gz;
-      sha256 = "c546d27414686660dbc3cd8501537128c5285a8db0faf742c2dc12b9a29ba3db";
+      url = mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.42.tar.gz;
+      sha256 = "2bca560c3f71b3c1cd63ac3a974e62f3baeb986b7ffaa026b929081b914a8f4f";
     };
     propagatedBuildInputs = [ IOStringy ];
     meta = {
@@ -8862,10 +8894,10 @@ let
 
   ImageSane = buildPerlPackage {
     pname = "Image-Sane";
-    version = "4";
+    version = "5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-4.tar.gz;
-      sha256 = "f970a0314e554f6fe29dcc651aec5bd45b32d547801d304434ae80b4b806896b";
+      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-5.tar.gz;
+      sha256 = "229aa0e9f049efa760f3c2f6e61d9d539af43d8f764b50a6e03064b4729a35ff";
     };
     buildInputs = [ pkgs.sane-backends ExtUtilsDepends ExtUtilsPkgConfig TestRequires TryTiny ];
     propagatedBuildInputs = [ ExceptionClass Readonly ];
@@ -8984,10 +9016,10 @@ let
 
   IOCaptureOutput = buildPerlPackage {
     pname = "IO-CaptureOutput";
-    version = "1.1104";
+    version = "1.1105";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1104.tar.gz;
-      sha256 = "fcc732fcb438f97a72b30e8c7796484bef2562e374553b207028e2fbf73f8330";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1105.tar.gz;
+      sha256 = "ae99009fca1273800f169ecb82f4ed1cc6c76795f156bee5c0093005d572f487";
     };
     meta = {
       homepage = https://github.com/dagolden/IO-CaptureOutput;
@@ -8998,10 +9030,10 @@ let
 
   IOCompress = buildPerlPackage {
     pname = "IO-Compress";
-    version = "2.087";
+    version = "2.090";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.087.tar.gz;
-      sha256 = "94f792775d0496fffe862363c76637e74ff5b46c40cf47042547686d164e23cb";
+      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.090.tar.gz;
+      sha256 = "4c12e54a83f993372d43dd67389a1ca92b5c33c108c7f86768a4797cd994e987";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
     meta = {
@@ -9535,10 +9567,10 @@ let
 
   JSONValidator = buildPerlPackage {
     pname = "JSON-Validator";
-    version = "3.15";
+    version = "3.16";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-3.15.tar.gz";
-      sha256 = "ce14ed018b9843ef022c4c14e2171545d3da92e533c8f122b8e33f27444b2a6c";
+      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-3.16.tar.gz;
+      sha256 = "d20775cf5fb1a61a6054a5bd3ce45b5371ac8ed483efca3cb8dc8a09937efe4e";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ DataValidateDomain DataValidateIP Mojolicious NetIDNEncode YAMLLibYAML ];
@@ -10027,10 +10059,10 @@ let
 
   ListSomeUtils = buildPerlPackage {
     pname = "List-SomeUtils";
-    version = "0.56";
+    version = "0.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.56.tar.gz;
-      sha256 = "eaa7d99ce86380c0389876474c8eb84acc0a6bfeef1b0fc23a292592de6f89f7";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.58.tar.gz;
+      sha256 = "96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d";
     };
     buildInputs = [ TestLeakTrace ];
     propagatedBuildInputs = [ ModuleImplementation ];
@@ -10288,10 +10320,10 @@ let
 
   LogDispatch = buildPerlPackage {
     pname = "Log-Dispatch";
-    version = "2.68";
+    version = "2.69";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.68.tar.gz;
-      sha256 = "1bxd3bhrn1h2q9f8r65z3101a32nl2kdb7l40bxg4vbsk4wk0ynh";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.69.tar.gz;
+      sha256 = "0xsjb0j3dzs8ym8jbgi29kia4pz5vl8jzkmpxxrhhqjc1h54qqjq";
     };
     propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ];
     meta = {
@@ -10308,12 +10340,12 @@ let
       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Log-Dispatch-FileRotate-1.36.tar.gz";
       sha256 = "0vlmi17p7fky3x58rs7r5mdxi6l5jla8zhlb55kvssxc1w5v2b27";
     };
-    propagatedBuildInputs = [ DateManip LogDispatch PathTiny ];
+    propagatedBuildInputs = [ DateManip LogDispatch ];
     meta = {
       description = "Log to Files that Archive/Rotate Themselves";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
-    buildInputs = [ TestFatal TestNeeds TestWarn ];
+    buildInputs = [ PathTiny TestWarn ];
   };
 
   LogHandler = buildPerlModule {
@@ -10433,7 +10465,7 @@ let
       url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/Log-Journald-${version}.tar.gz";
       sha256 = "55992cf9a1e1fb833f428300525bfa7cf7ed46b83ec414f82a091789b37d08a3";
     };
-    buildInputs = [ ModuleBuild pkgs.pkgconfig pkgs.systemd ];
+    buildInputs = [ pkgs.pkgconfig pkgs.systemd ];
     postPatch = ''
       substituteInPlace Build.PL \
         --replace "libsystemd-journal" "libsystemd"
@@ -10460,10 +10492,10 @@ let
 
   LWP = buildPerlPackage {
     pname = "libwww-perl";
-    version = "6.39";
+    version = "6.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.39.tar.gz;
-      sha256 = "9a8d7747938aa75d7d524c71574ae7f99ca66a5dac8255a7f7759f373e7774d5";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.42.tar.gz;
+      sha256 = "34253337a3404c4209d0e45377c9176d0ab6ea4b4570e3a597e26157181741d1";
     };
     propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPDaemon HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
     # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module)
@@ -10552,6 +10584,22 @@ let
      };
   };
 
+  LWPUserAgentDNSHosts = buildPerlModule {
+    pname = "LWP-UserAgent-DNS-Hosts";
+    version = "0.13";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MASAKI/LWP-UserAgent-DNS-Hosts-0.13.tar.gz;
+      sha256 = "0piwcsb0m1xpzxbakhr9zq45a9hq3rx7s55lrjg66nd4x5n7xs5y";
+    };
+    propagatedBuildInputs = [ LWP ScopeGuard ];
+    buildInputs = [ ModuleBuildTiny TestFakeHTTPD TestSharedFork TestTCP TestUseAllModules ];
+    meta = {
+      description = "Override LWP HTTP/HTTPS request's host like /etc/hosts";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/masaki/p5-LWP-UserAgent-DNS-Hosts";
+    };
+  };
+
   LWPUserAgentDetermined = buildPerlPackage {
     pname = "LWP-UserAgent-Determined";
     version = "1.07";
@@ -10677,10 +10725,10 @@ let
 
   MailDKIM = buildPerlPackage {
     pname = "Mail-DKIM";
-    version = "0.57";
+    version = "0.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.57.tar.gz;
-      sha256 = "0fmfhwn4sh98w62rc8j584l23vlhr7vii8glm2njx14f81a56lvb";
+      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.58.tar.gz;
+      sha256 = "0cgkal65qqcy57b21lgij90ba36wl66byw9i76g5yhwaa8ms8hqa";
     };
     propagatedBuildInputs = [ CryptOpenSSLRSA MailAuthenticationResults MailTools NetDNSResolverMock YAMLLibYAML ];
     doCheck = false; # tries to access the domain name system
@@ -11232,10 +11280,10 @@ let
 
   MIMELite = buildPerlPackage {
     pname = "MIME-Lite";
-    version = "3.030";
+    version = "3.031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.030.tar.gz;
-      sha256 = "8f39901bc580bc3dce69e10415305e4435ff90264c63d29f707b4566460be962";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.031.tar.gz;
+      sha256 = "f1235866482b67f00858b3edaa4ff4cf909ef900f1d15d889948bf9c03a591e0";
     };
     propagatedBuildInputs = [ EmailDateFormat ];
     meta = {
@@ -11756,10 +11804,10 @@ let
 
   Mojolicious = buildPerlPackage {
     pname = "Mojolicious";
-    version = "8.25";
+    version = "8.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.25.tar.gz;
-      sha256 = "0yr5vpgwg9x435npzc6v477y260dgbj2yl9lxdjimmr6n5jryv1n";
+      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.26.tar.gz;
+      sha256 = "17x3phc4ch85398kdybsz6cbraszby9dvlvcj6a6xscb20x35k4i";
     };
     meta = {
       homepage = https://mojolicious.org;
@@ -11787,10 +11835,10 @@ let
 
   MojoliciousPluginOpenAPI = buildPerlPackage {
     pname = "Mojolicious-Plugin-OpenAPI";
-    version = "2.17";
+    version = "2.18";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.17.tar.gz";
-      sha256 = "c20f8b07fb8582fdbf0b540f4cfc5fe95f262743522a160526024342a7f0a1f0";
+      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.18.tar.gz;
+      sha256 = "340afe815e6195bc0ed5abcf5bcd0fdedf0be62656cede1768cfd99b62633d23";
     };
     propagatedBuildInputs = [ JSONValidator ];
     meta = {
@@ -11835,10 +11883,10 @@ let
 
   MojoSQLite = buildPerlModule {
     pname = "Mojo-SQLite";
-    version = "3.003";
+    version = "3.002";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.003.tar.gz";
-      sha256 = "d96c00dcf45e2becc8e8181df074853d42616f2a660703455d0e0a2741478092";
+      url = mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.002.tar.gz;
+      sha256 = "d7c6588599cfe30b24b3953927f23cfe0f9f5d3e77eeab1562249b48c205b699";
     };
     buildInputs = [ ModuleBuildTiny ];
     propagatedBuildInputs = [ DBDSQLite Mojolicious SQLAbstract URIdb ];
@@ -11929,13 +11977,13 @@ let
 
   Moo = buildPerlPackage {
     pname = "Moo";
-    version = "2.003004";
+    version = "2.003006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Moo-2.003004.tar.gz;
-      sha256 = "f8bbb625f8e963eabe05cff9048fdd72bdd26777404ff2c40bc690f558be91e1";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Moo-2.003006.tar.gz;
+      sha256 = "bcb2092ab18a45005b5e2e84465ebf3a4999d8e82a43a09f5a94d859ae7f2472";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny SubQuote ];
+    propagatedBuildInputs = [ ClassMethodModifiers ModuleRuntime RoleTiny SubQuote ];
     meta = {
       description = "Minimalist Object Orientation (with Moose compatibility)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12181,10 +12229,10 @@ let
 
   MooXlate = buildPerlPackage {
     pname = "MooX-late";
-    version = "0.015";
+    version = "0.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.015.tar.gz;
-      sha256 = "175326af3076fa8698669f289fad1322724978cddaf40ea04e600fcd7f6afbbf";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.016.tar.gz;
+      sha256 = "1fb6393e8b77c0ec1e99229bc6f5b9db362eedc172fa940b37defd9bb3415e4e";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ Moo TypeTiny ];
@@ -12221,6 +12269,21 @@ let
     };
   };
 
+  TestValgrind = buildPerlPackage {
+    pname = "Test-Valgrind";
+    version = "1.19";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/V/VP/VPIT/Test-Valgrind-1.19.tar.gz;
+      sha256 = "06w1c0ddmmdkhhvv9pxq2nv5i40nbqf4cssfkq38yypfbyhsff0q";
+    };
+    propagatedBuildInputs = [ EnvSanctify FileHomeDir PerlDestructLevel XMLTwig ];
+    meta = {
+      description = "Generate suppressions, analyse and test any command with valgrind.";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "http://search.cpan.org/dist/Test-Valgrind/";
+    };
+  };
+
   MouseXTypesPathClass = buildPerlPackage {
     pname = "MouseX-Types-Path-Class";
     version = "0.07";
@@ -12909,7 +12972,7 @@ let
       url = "mirror://cpan/authors/id/E/ES/ESTRABD/MySQL-Diff-0.60.tar.gz";
       sha256 = "5d7080a4bd5714ff9ef536aa774a7adb3c6f0e760215ca6c39d8a3545344f956";
     };
-    propagatedBuildInputs = [ FileSlurp StringShellQuote pkgs.mysql-client ];
+    propagatedBuildInputs = [ pkgs.mysql-client FileSlurp StringShellQuote ];
     meta = {
       homepage = "https://github.com/estrabd/mysqldiff";
       description = "Generates a database upgrade instruction set";
@@ -13702,8 +13765,8 @@ let
       sha256 = "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj";
     };
 
-    # FIXME: try with libGL + libGLU instead of libGLU_combined
-    buildInputs = [ pkgs.libGLU_combined pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
+    # FIXME: try with libGL + libGLU instead of libGLU libGL
+    buildInputs = [ pkgs.libGLU pkgs.libGL pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
 
     patches = [ ../development/perl-modules/perl-opengl.patch ];
 
@@ -14045,10 +14108,10 @@ let
 
   ParsePMFile = buildPerlPackage {
      pname = "Parse-PMFile";
-     version = "0.41";
+     version = "0.42";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.41.tar.gz;
-       sha256 = "1ffv9msp4xjfaylay2zfqangxhgyr5xk993k5n1k08hh6qagq8df";
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.42.tar.gz;
+       sha256 = "0v3k5jslbl29735hs32x9si546v55cyy6sb58aib8vmq684wgxp7";
      };
      buildInputs = [ ExtUtilsMakeMakerCPANfile ];
      meta = {
@@ -14245,6 +14308,17 @@ let
     };
   };
 
+  PerlDestructLevel = buildPerlPackage {
+    pname = "Perl-Destruct-Level";
+    version = "0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RG/RGARCIA/Perl-Destruct-Level-0.02.tar.gz;
+      sha256 = "0fyiysrq874ncscgdjg522fs29gvqads6ynyhwxwwq1b545srd20";
+    };
+    meta = {
+    };
+  };
+
   PerlIOeol = buildPerlPackage {
     pname = "PerlIO-eol";
     version = "0.17";
@@ -14697,10 +14771,10 @@ let
 
   ProcBackground = buildPerlPackage {
     pname = "Proc-Background";
-    version = "1.10";
+    version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BZ/BZAJAC/Proc-Background-1.10.tar.gz;
-      sha256 = "1ce0dd78c0bb8393a2431b385a27b99fcc623a41ebec57b3cc09cc38cdb708ee";
+      url = mirror://cpan/authors/id/N/NE/NERDVANA/Proc-Background-1.21.tar.gz;
+      sha256 = "91b6a5aeb841b1c313498c78fad08e37d17595702dc6205b5ad38ef69949b7ee";
     };
     meta = {
     };
@@ -14821,11 +14895,11 @@ let
 
   ProtocolHTTP2 = buildPerlModule {
     pname = "Protocol-HTTP2";
-    version = "1.09";
+    version = "1.10";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.09.tar.gz;
-      sha256 = "1bc0ybkqhv81dscgzlbr62w4zqjsidcikmkbjanzn83g2b6ia9nc";
+      url = mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.10.tar.gz;
+      sha256 = "0jm6jq1wszjrrcypyi642m2i8wgni50wdnzh9dzfkyjazdc00sn2";
     };
     buildInputs = [ AnyEvent ModuleBuildTiny NetSSLeay TestLeakTrace TestSharedFork TestTCP ];
   };
@@ -15154,10 +15228,10 @@ let
 
   PodSimple = buildPerlPackage {
     pname = "Pod-Simple";
-    version = "3.39";
+    version = "3.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.39.tar.gz;
-      sha256 = "0qh43griaz3i21ca745irrnjbksv5q07h4wdjv28nqpcc55pva8m";
+      url = mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.40.tar.gz;
+      sha256 = "0384k8k18srsdj2a2j10gbvv19lnvynq359y9kb4zn5bv2wqqfh6";
     };
   };
 
@@ -15497,10 +15571,10 @@ let
 
   RoleTiny = buildPerlPackage {
     pname = "Role-Tiny";
-    version = "2.001003";
+    version = "2.001004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001003.tar.gz;
-      sha256 = "6cef8d6371342a94a6a04c1be5bd7a3f2bd6ea36f1a21b4649b08d5b88b28eeb";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001004.tar.gz;
+      sha256 = "92ba5712850a74102c93c942eb6e7f62f7a4f8f483734ed289d08b324c281687";
     };
     meta = {
       description = "Roles. Like a nouvelle cuisine portion size slice of Moose";
@@ -15563,10 +15637,10 @@ let
 
   ScalarListUtils = buildPerlPackage {
     pname = "Scalar-List-Utils";
-    version = "1.52";
+    version = "1.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.52.tar.gz;
-      sha256 = "279d78cef84acae280da4dfb95eff0c9865d1611b1a3b026baddf42d1ba01de4";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.53.tar.gz;
+      sha256 = "bd4086b066fb3b18a0be2e7d9bc100a99aa0f233ad659492340415c7b2bdae99";
     };
     meta = {
       description = "Common Scalar and List utility subroutines";
@@ -16234,10 +16308,10 @@ let
 
   StringCRC32 = buildPerlPackage {
     pname = "String-CRC32";
-    version = "1.7";
+    version = "1.8";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.7.tar.gz;
-      sha256 = "1j1bwbxcgxfbgw708rfrni3spwnnmnf717vq9s64nd63jmc4w5lg";
+      url = mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.8.tar.gz;
+      sha256 = "0vvwlf50vylx1m7nrjphkz309nsl2k2yqyldn3942337kiipjnmn";
     };
   };
 
@@ -16746,10 +16820,10 @@ let
 
   SysSyslog = buildPerlPackage {
     pname = "Sys-Syslog";
-    version = "0.35";
+    version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.35.tar.gz;
-      sha256 = "fe28e47b70b77aaae754385fe1470d174289e7b6908efa247d2e52486516fbb7";
+      url = mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.36.tar.gz;
+      sha256 = "ed42a9e5ba04ad4856cc0cb5d38d289c3c5d3764543ec04efafc4af7e3378df8";
     };
     meta = {
       description = "Perl interface to the UNIX syslog(3) calls";
@@ -17164,10 +17238,10 @@ let
 
   TermTable = buildPerlPackage {
     pname = "Term-Table";
-    version = "0.014";
+    version = "0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.014.tar.gz;
-      sha256 = "167a0669e2ef8c6386ea4dd213495e445049493ce1d5097d5632c0e928b7426d";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.015.tar.gz;
+      sha256 = "d8a18b2801f91f0e5d747147ce786964a76f91d18568652908a3dc06a9b948d5";
     };
     propagatedBuildInputs = [ Importer ];
     meta = {
@@ -17241,10 +17315,10 @@ let
 
   Test2Suite = buildPerlPackage {
     pname = "Test2-Suite";
-    version = "0.000126";
+    version = "0.000127";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000126.tar.gz;
-      sha256 = "370db8171c9105480872ae8948745dbd798b9d751aacc8aa0fc36266eeda79e3";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000127.tar.gz;
+      sha256 = "09443e7c99f9bef2c3f5999b919800db7d265b2c55f177726d3e5a61d8dbe690";
     };
     propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
     meta = {
@@ -17422,10 +17496,10 @@ let
 
   TestCompile = buildPerlModule {
     pname = "Test-Compile";
-    version = "2.3.0";
+    version = "2.3.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.0.tar.gz;
-      sha256 = "f61549769e55a9b251f83617b901c0461659b1360243ef046d4f112f7f4e4a8f";
+      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.1.tar.gz;
+      sha256 = "1174cff010011ae43e6462755ccd8a6cf0372ca506705c60586f7b1748ff4ddf";
     };
     propagatedBuildInputs = [ UNIVERSALrequire ];
     meta = {
@@ -17566,6 +17640,22 @@ let
     };
   };
 
+  TestFakeHTTPD = buildPerlModule {
+    pname = "Test-Fake-HTTPD";
+    version = "0.08";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/M/MA/MASAKI/Test-Fake-HTTPD-0.08.tar.gz;
+      sha256 = "1jkflkcjzrdvnlxff1xqfhfdcpsmvvjqzayl7hk3whavsxdrf9yh";
+    };
+    propagatedBuildInputs = [ HTTPDaemon Plack ];
+    buildInputs = [ LWP ModuleBuildTiny TestException TestSharedFork TestTCP TestUseAllModules ];
+    meta = {
+      description = "a fake HTTP server";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/masaki/Test-Fake-HTTPD";
+    };
+  };
+
   TestFatal = buildPerlPackage {
     pname = "Test-Fatal";
     version = "0.014";
@@ -17841,10 +17931,10 @@ let
 
   TestMockModule = buildPerlModule {
     pname = "Test-MockModule";
-    version = "0.170.0";
+    version = "0.171.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.170.0.tar.gz;
-      sha256 = "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz";
+      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.171.0.tar.gz;
+      sha256 = "1arqgb1773zym5dqlwm6kz48bfrccjhb5bjfsif0vkalwq2gvm7b";
     };
     propagatedBuildInputs = [ SUPER ];
     buildInputs = [ TestWarnings ];
@@ -18310,10 +18400,10 @@ let
 
   TestScript = buildPerlPackage {
     pname = "Test-Script";
-    version = "1.25";
+    version = "1.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.25.tar.gz;
-      sha256 = "199s78hh77zwwqba6pa1ngzjnzrdj2ka6qv5w0i286aafh93705n";
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.26.tar.gz;
+      sha256 = "1dvkb8dvidnycd6ws2h2iy262h37fjakflv6z90xrw72xix26hkd";
     };
 
     buildInputs = [ Test2Suite ];
@@ -18338,10 +18428,10 @@ let
 
   TestSimple13 = buildPerlPackage {
     pname = "Test-Simple";
-    version = "1.302168";
+    version = "1.302169";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302168.tar.gz;
-      sha256 = "02f6132b2062abb23474b0fc02e70a0fbbf7bf581a6010e64c08891530447ffa";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302169.tar.gz;
+      sha256 = "411704776f0f787b1c2e4fb0e612162650a80b0dc0a719d84abc1070025ac723";
     };
     meta = {
       description = "Basic utilities for writing tests";
@@ -18431,10 +18521,10 @@ let
 
   TestTime = buildPerlPackage {
     pname = "Test-Time";
-    version = "0.05";
+    version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.05.tar.gz;
-      sha256 = "abef8885a811440114bfe067edc32f08500fbfd624902f8c3a81fc224ac4b410";
+      url = mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.08.tar.gz;
+      sha256 = "b8bc3b074bb2247e8588399c1e55d071f049cf6ce1c8b4192c38cf3c24559548";
     };
     meta = {
       description = "Overrides the time() and sleep() core functions for testing";
@@ -19630,16 +19720,17 @@ let
 
   TypeTiny = buildPerlPackage {
     pname = "Type-Tiny";
-    version = "1.004004";
+    version = "1.006000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.004004.tar.gz;
-      sha256 = "081281ea004cdd89003d938aa52c1398e24411dd8f7163b14d0977a13f7062be";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.006000.tar.gz;
+      sha256 = "d5a60013df0b4a108e5755cfea84a8e81b1eacd4a91f6f17a5515a864ed7fd00";
     };
     propagatedBuildInputs = [ ExporterTiny ];
     meta = {
       description = "Tiny, yet Moo(se)-compatible type constraint";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestMemoryCycle ];
   };
 
   TypesSerialiser = buildPerlPackage {
@@ -20032,10 +20123,10 @@ let
 
   WWWMechanize = buildPerlPackage {
     pname = "WWW-Mechanize";
-    version = "1.94";
+    version = "1.95";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.94.tar.gz;
-      sha256 = "00hh5iaxyfmfgh5irz23v5qpc40hff2v78jyi93assi7a4amfl68";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.95.tar.gz;
+      sha256 = "1w121x0xsn1bm699ncanyxqv3njqam3zzjkq8p54bqmzpikn5crs";
     };
     propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
     doCheck = false;
@@ -20367,10 +20458,10 @@ let
 
   XMLParser = buildPerlPackage {
     pname = "XML-Parser";
-    version = "2.46";
+    version = "2.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz;
-      sha256 = "0pai3ik47q7rgnix9644c673fwydz52gqkxr9kxwq765j4j36cfk";
+      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz;
+      sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s";
     };
     patchPhase = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
       substituteInPlace Expat/Makefile.PL --replace 'use English;' '#'
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index cdb1c19bce5..f315d927760 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -14,12 +14,13 @@ let
     });
 
   isPhp73 = pkgs.lib.versionAtLeast php.version "7.3";
+  isPhp74 = pkgs.lib.versionAtLeast php.version "7.4";
 
   apcu = buildPecl {
-    version = "5.1.17";
+    version = "5.1.18";
     pname = "apcu";
 
-    sha256 = "14y7alvj5q17q1b544bxidavkn6i40cjbq2nv1m0k70ai5vv84bb";
+    sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl";
 
     buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
     doCheck = true;
@@ -39,10 +40,10 @@ let
   };
 
   ast = buildPecl {
-    version = "1.0.3";
+    version = "1.0.5";
     pname = "ast";
 
-    sha256 = "1sk9bkyw3ck9jgvlazxx8zl2nv6lc0gq66v1rfcby9v0zyydb7xr";
+    sha256 = "16c5isldm4csjbcvz1qk2mmrhgvh24sxsp6w6f5a37xpa3vciawp";
   };
 
   box = mkDerivation rec {
@@ -73,12 +74,12 @@ let
   };
 
   composer = mkDerivation rec {
-    version = "1.9.0";
+    version = "1.9.1";
     pname = "composer";
 
     src = pkgs.fetchurl {
       url = "https://getcomposer.org/download/${version}/composer.phar";
-      sha256 = "0x88bin1c749ajymz2cqjx8660a3wxvndpv4xr6w3pib16fzdpy9";
+      sha256 = "04a1fqxhxrckgxw9xbx7mplkzw808k2dz4jqsxq2dy7w6y80n88z";
     };
 
     dontUnpack = true;
@@ -140,6 +141,8 @@ let
              AC_MSG_WARN([Cannot find igbinary.h])
       '')
     ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   event = buildPecl {
@@ -197,13 +200,13 @@ let
   };
 
   memcached = buildPecl rec {
-    version = "3.1.3";
+    version = "3.1.5";
     pname = "memcached";
 
     src = fetchgit {
       url = "https://github.com/php-memcached-dev/php-memcached";
       rev = "v${version}";
-      sha256 = "1w9g8k7bmq3nbzskskpsr5632gh9q75nqy7nkjdzgs17klq9khjk";
+      sha256 = "01mbh2m3kfbdvih3c8g3g9h4vdd80r0i9g2z8b3lx3mi8mmcj380";
     };
 
     configureFlags = [
@@ -217,9 +220,9 @@ let
 
   mongodb = buildPecl {
     pname = "mongodb";
-    version = "1.6.0";
+    version = "1.6.1";
 
-    sha256 = "0bybfjs61v66bynajbd8dwjlwbz6p2gck49r3zqbxa3ja6d671l6";
+    sha256 = "1j1w4n33347j9kwvxwsrix3gvjbiqcn1s5v59pp64s536cci8q0m";
 
     nativeBuildInputs = [ pkgs.pkgconfig ];
     buildInputs = with pkgs; [
@@ -259,6 +262,8 @@ let
     pname = "pcs";
 
     sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p";
+
+    meta.broken = isPhp74; # Build error
   };
 
   pdo_sqlsrv = buildPecl {
@@ -268,15 +273,17 @@ let
     sha256 = "02ill1iqffa5fha9iz4y91823scml24ikfk8pn90jyycfwv07x6a";
 
     buildInputs = [ pkgs.unixODBC ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   php-cs-fixer = mkDerivation rec {
-    version = "2.15.3";
+    version = "2.16.1";
     pname = "php-cs-fixer";
 
     src = pkgs.fetchurl {
       url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-      sha256 = "0hbc9y3676dd0841llgp1g7bhklfxi1cw47dcww0qmk69gjfv54c";
+      sha256 = "1dq1nhy666zg6d4fkfsjwhj1vwh1ncap2c9ljplxv98a9mm6fk68";
     };
 
     phases = [ "installPhase" ];
@@ -347,12 +354,12 @@ let
   };
 
   phpcbf = mkDerivation rec {
-    version = "3.5.1";
+    version = "3.5.3";
     pname = "phpcbf";
 
     src = pkgs.fetchurl {
       url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar";
-      sha256 = "1b68cmdvg356s2vk5q0jkk8sizza7r7pbcl9v5s0944wi0apsj0r";
+      sha256 = "1mrsf9p6p64pyqyylnlxb2b7cirdfccch83g7yhfnka3znffq86v";
     };
 
     phases = [ "installPhase" ];
@@ -374,12 +381,12 @@ let
   };
 
   phpcs = mkDerivation rec {
-    version = "3.5.1";
+    version = "3.5.3";
     pname = "phpcs";
 
     src = pkgs.fetchurl {
       url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar";
-      sha256 = "060jzgd99j16xjs0n75sgp79an6n7qp6zv5lrw6700jnw67zpmn7";
+      sha256 = "0y4nhsifj4pdmf5g1nnm4951yjgiqswyz7wmjxx6kqiqc7chlkml";
     };
 
     phases = [ "installPhase" ];
@@ -401,12 +408,12 @@ let
   };
 
   phpstan = mkDerivation rec {
-    version = "0.11.19";
+    version = "0.12.0";
     pname = "phpstan";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "0b04d2x07vipx1850v3d2hga3s6ssv7g21x58dhcjrg35i1bvq71";
+      sha256 = "0029727360x0qf6acw4y9yczj59y477i0hx278pb64dvy63fzkmk";
     };
 
     phases = [ "installPhase" ];
@@ -479,10 +486,10 @@ let
   };
 
   protobuf = buildPecl {
-    version = "3.9.0";
+    version = "3.11.1";
     pname = "protobuf";
 
-    sha256 = "1pyfxrfdbzzg5al4byyazdrvy7yad13zwq7papbb2d8gkvc3f3kh";
+    sha256 = "1dv2hln2rifjlljry4b7qqx3gx68fm0a6nf66sh4ls2p9if1jzp2";
 
     buildInputs = with pkgs; [ (if isPhp73 then pcre2 else pcre) ];
 
@@ -492,16 +499,17 @@ let
       '';
       license = licenses.bsd3;
       homepage = "https://developers.google.com/protocol-buffers/";
+      broken = isPhp74; # Build error
     };
   };
 
   psalm = mkDerivation rec {
-    version = "3.5.3";
+    version = "3.7.2";
     pname = "psalm";
 
     src = pkgs.fetchurl {
       url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
-      sha256 = "1n5pfzln82wzk1qa40c436lhbin1g06lfdk89q720yzrrs07r8sw";
+      sha256 = "0mcxlckycvpxxc6h0x0kdidbq2l4m3xws1v3kdf797js234x0vjx";
     };
 
     phases = [ "installPhase" ];
@@ -522,12 +530,12 @@ let
   };
 
   psysh = mkDerivation rec {
-    version = "0.9.9";
+    version = "0.9.12";
     pname = "psysh";
 
     src = pkgs.fetchurl {
       url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";
-      sha256 = "0knbib0afwq2z5fc639ns43x8pi3kmp85y13bkcl00dhvf46yinw";
+      sha256 = "0bzmc94li481xk81gv460ipq9zl03skbnq8m3rnw34i2c04hxczc";
     };
 
     phases = [ "installPhase" ];
@@ -579,10 +587,10 @@ let
   };
 
   redis = buildPecl {
-    version = "5.0.2";
+    version = "5.1.1";
     pname = "redis";
 
-    sha256 = "0b5pw17lzqknhijfymksvf8fm1zilppr97ypb31n599jw3mxf62f";
+    sha256 = "1041zv91fkda73w4c3pj6zdvwjgb3q7mxg6mwnq9gisl80mrs732";
   };
 
   sqlsrv = buildPecl {
@@ -592,6 +600,8 @@ let
     sha256 = "0ial621zxn9zvjh7k1h755sm2lc9aafc389yxksqcxcmm7kqmd0a";
 
     buildInputs = [ pkgs.unixODBC ];
+
+    meta.broken = isPhp74; # Build error
   };
 
   v8 = buildPecl {
@@ -617,10 +627,10 @@ let
   };
 
   xdebug = buildPecl {
-    version = "2.7.1";
+    version = "2.8.1";
     pname = "xdebug";
 
-    sha256 = "1hr4gy87a3gp682ggwp831xk1fxasil9wan8cxv23q3m752x3sdp";
+    sha256 = "080mwr7m72rf0jsig5074dgq2n86hhs7rdbfg6yvnm959sby72w3";
 
     doCheck = true;
     checkTarget = "test";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 86535df44f5..2edaf87cbaa 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -167,6 +167,8 @@ in {
 
   ansicolor = callPackage ../development/python-modules/ansicolor { };
 
+  ansiwrap =  callPackage ../development/python-modules/ansiwrap { };
+
   ansi2html = callPackage ../development/python-modules/ansi2html { };
 
   anytree = callPackage ../development/python-modules/anytree {
@@ -487,7 +489,7 @@ in {
 
   bt_proximity = callPackage ../development/python-modules/bt-proximity { };
 
-  bugseverywhere = callPackage ../applications/version-management/bugseverywhere {};
+  bugseverywhere = throw "bugseverywhere has been removed: Abandoned by upstream."; # Added 2019-11-27
 
   cachecontrol = callPackage ../development/python-modules/cachecontrol { };
 
@@ -495,6 +497,8 @@ in {
 
   cachy = callPackage ../development/python-modules/cachy { };
 
+  cadquery = callPackage ../development/python-modules/cadquery { };
+
   catalogue = callPackage ../development/python-modules/catalogue { };
 
   cdecimal = callPackage ../development/python-modules/cdecimal { };
@@ -874,6 +878,8 @@ in {
 
   palettable = callPackage ../development/python-modules/palettable { };
 
+  papermill = callPackage ../development/python-modules/papermill { };
+
   parsley = callPackage ../development/python-modules/parsley { };
 
   pastel = callPackage ../development/python-modules/pastel { };
@@ -906,6 +912,8 @@ in {
 
   poetry = callPackage ../development/python-modules/poetry { };
 
+  polyline = callPackage ../development/python-modules/polyline { };
+
   postorius = disabledIf (!isPy3k) (callPackage ../servers/mail/mailman/postorius.nix { });
 
   pplpy = callPackage ../development/python-modules/pplpy { };
@@ -1043,11 +1051,6 @@ in {
 
   pyjwkest = callPackage ../development/python-modules/pyjwkest { };
 
-  pykde4 = callPackage ../development/python-modules/pykde4 {
-    inherit (self) pyqt4;
-    callPackage = pkgs.callPackage;
-  };
-
   pykdtree = callPackage ../development/python-modules/pykdtree {
     inherit (pkgs.llvmPackages) openmp;
   };
@@ -1097,6 +1100,8 @@ in {
 
   pyschedule = callPackage ../development/python-modules/pyschedule { };
 
+  pyscreenshot = callPackage ../development/python-modules/pyscreenshot { };
+
   pyside = callPackage ../development/python-modules/pyside {
     inherit (pkgs) mesa;
   };
@@ -1135,6 +1140,8 @@ in {
 
   pytesseract = callPackage ../development/python-modules/pytesseract { };
 
+  pytest-bdd = callPackage ../development/python-modules/pytest-bdd { };
+  
   pytest-black = callPackage ../development/python-modules/pytest-black { };
 
   pytest-click = callPackage ../development/python-modules/pytest-click { };
@@ -1151,12 +1158,16 @@ in {
 
   pytest-pylint = callPackage ../development/python-modules/pytest-pylint { };
 
+  pytest-qt = callPackage ../development/python-modules/pytest-qt { };
+
   pytest-testmon = callPackage ../development/python-modules/pytest-testmon { };
 
   pytest-tornado = callPackage ../development/python-modules/pytest-tornado { };
 
   pytest-xprocess = callPackage ../development/python-modules/pytest-xprocess { };
 
+  pytest-xvfb = callPackage ../development/python-modules/pytest-xvfb { };
+
   pytmx = callPackage ../development/python-modules/pytmx { };
 
   python-binance = callPackage ../development/python-modules/python-binance { };
@@ -1321,6 +1332,8 @@ in {
 
   tableaudocumentapi = callPackage ../development/python-modules/tableaudocumentapi { };
 
+  tesserocr = callPackage ../development/python-modules/tesserocr { };
+
   trueskill = callPackage ../development/python-modules/trueskill { };
 
   trustme = callPackage ../development/python-modules/trustme {};
@@ -1707,6 +1720,8 @@ in {
 
   configshell = callPackage ../development/python-modules/configshell { };
 
+  consonance = callPackage ../development/python-modules/consonance { };
+
   constantly = callPackage ../development/python-modules/constantly { };
 
   cornice = callPackage ../development/python-modules/cornice { };
@@ -3265,6 +3280,8 @@ in {
 
   flask_elastic = callPackage ../development/python-modules/flask-elastic { };
 
+  flask-httpauth = callPackage ../development/python-modules/flask-httpauth { };
+
   flask-jwt-extended = callPackage ../development/python-modules/flask-jwt-extended { };
 
   flask-limiter = callPackage ../development/python-modules/flask-limiter { };
@@ -4485,7 +4502,7 @@ in {
 
   praw = if isPy3k then callPackage ../development/python-modules/praw { }
     else callPackage ../development/python-modules/praw/6.3.nix { };
-  
+
   prance = callPackage ../development/python-modules/prance { };
 
   prawcore = callPackage ../development/python-modules/prawcore { };
@@ -4833,8 +4850,6 @@ in {
 
   pywal = callPackage ../development/python-modules/pywal { };
 
-  pywebkitgtk = callPackage ../development/python-modules/pywebkitgtk { };
-
   pywinrm = callPackage ../development/python-modules/pywinrm { };
 
   pyxattr = callPackage ../development/python-modules/pyxattr { };
@@ -5028,7 +5043,9 @@ in {
 
   rpmfluff = callPackage ../development/python-modules/rpmfluff {};
 
-  rpy2 = callPackage ../development/python-modules/rpy2 {};
+  rpy2 = if isPy3k
+    then callPackage ../development/python-modules/rpy2 { }
+    else callPackage ../development/python-modules/rpy2/2.nix { };
 
   rtslib = callPackage ../development/python-modules/rtslib {};
 
@@ -5250,12 +5267,16 @@ in {
 
   texttable = callPackage ../development/python-modules/texttable { };
 
-  tiledb = callPackage ../development/python-modules/tiledb { 
+  textwrap3 =  callPackage ../development/python-modules/textwrap3 { };
+
+  tiledb = callPackage ../development/python-modules/tiledb {
     inherit (pkgs) tiledb;
   };
 
   tiros = callPackage ../development/python-modules/tiros { };
 
+  tinydb = callPackage ../development/python-modules/tinydb { };
+
   tifffile = callPackage ../development/python-modules/tifffile { };
 
   tmdb3 = callPackage ../development/python-modules/tmdb3 { };
@@ -6364,6 +6385,8 @@ in {
 
   diskcache = callPackage ../development/python-modules/diskcache { };
 
+  dissononce = callPackage ../development/python-modules/dissononce { };
+
   distro = callPackage ../development/python-modules/distro { };
 
   bz2file =  callPackage ../development/python-modules/bz2file { };
diff --git a/pkgs/top-level/static.nix b/pkgs/top-level/static.nix
index d1708096032..687086b6ed3 100644
--- a/pkgs/top-level/static.nix
+++ b/pkgs/top-level/static.nix
@@ -52,6 +52,39 @@ self: super: let
     });
   };
 
+  removeUnknownConfigureFlags = f: with self.lib;
+    remove "--disable-shared"
+    (remove "--enable-static" f);
+  
+  ocamlFixPackage = b:
+    b.overrideAttrs (o: {
+      configurePlatforms = [ ];
+      configureFlags = removeUnknownConfigureFlags (o.configureFlags or [ ]);
+      buildInputs = o.buildInputs ++ o.nativeBuildInputs or [ ];
+      propagatedNativeBuildInputs = o.propagatedBuildInputs or [ ];
+    });
+  
+  ocamlStaticAdapter = _: super:
+    self.lib.mapAttrs
+      (_: p: if p ? overrideAttrs then ocamlFixPackage p else p)
+      super
+    // {
+      lablgtk = null; # Currently xlibs cause infinite recursion
+      ocaml = ((super.ocaml.override { useX11 = false; }).overrideAttrs (o: {
+        configurePlatforms = [ ];
+        dontUpdateAutotoolsGnuConfigScripts = true;
+      })).overrideDerivation (o: {
+        preConfigure = ''
+          configureFlagsArray+=("-cc" "$CC" "-as" "$AS" "-partialld" "$LD -r")
+        '';
+        configureFlags = (removeUnknownConfigureFlags o.configureFlags) ++ [
+          "--no-shared-libs"
+          "-host ${o.stdenv.hostPlatform.config}"
+          "-target ${o.stdenv.targetPlatform.config}"
+        ];
+      });
+    };
+
 in {
   stdenv = foldl (flip id) super.stdenv staticAdapters;
   gcc49Stdenv = foldl (flip id) super.gcc49Stdenv staticAdapters;
@@ -82,14 +115,15 @@ in {
   } // optionalAttrs super.stdenv.hostPlatform.isDarwin {
     pythonSupport = false;
   });
-  zlib = (super.zlib.override {
+  zlib = super.zlib.override {
     static = true;
     shared = false;
+    splitStaticOutput = false;
 
     # Don’t use new stdenv zlib because
     # it doesn’t like the --disable-shared flag
     stdenv = super.stdenv;
-  }).static;
+  };
   xz = super.xz.override {
     enableStatic = true;
   };
@@ -172,11 +206,19 @@ in {
     };
   };
 
+  kmod = super.kmod.override {
+    withStatic = true;
+  };
+  
   curl = super.curl.override {
     # a very sad story: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439039
     gssSupport = false;
   };
 
+  e2fsprogs = super.e2fsprogs.override {
+    shared = false;
+  };
+
   brotli = super.brotli.override {
     staticOnly = true;
   };
@@ -196,5 +238,9 @@ in {
     };
   };
 
+  ocaml-ng = self.lib.mapAttrs (_: set:
+    if set ? overrideScope' then set.overrideScope' ocamlStaticAdapter else set
+  ) super.ocaml-ng;
+  
   python27 = super.python27.override { static = true; };
 }