about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2019-01-22 15:59:42 +0100
committerVladimír Čunát <vcunat@gmail.com>2019-01-22 15:59:42 +0100
commit3fe32b675e1605cbc830fa52c0593747fa4dd7e2 (patch)
treee0b31e2df8f0734290232b1b0d61d0716731e296
parenta903c60c627f42461d3e6f9780d26a80f8e51470 (diff)
parentb7d4a356be49501ea046b28db28dc2807f5fccdb (diff)
downloadnixlib-3fe32b675e1605cbc830fa52c0593747fa4dd7e2.tar
nixlib-3fe32b675e1605cbc830fa52c0593747fa4dd7e2.tar.gz
nixlib-3fe32b675e1605cbc830fa52c0593747fa4dd7e2.tar.bz2
nixlib-3fe32b675e1605cbc830fa52c0593747fa4dd7e2.tar.lz
nixlib-3fe32b675e1605cbc830fa52c0593747fa4dd7e2.tar.xz
nixlib-3fe32b675e1605cbc830fa52c0593747fa4dd7e2.tar.zst
nixlib-3fe32b675e1605cbc830fa52c0593747fa4dd7e2.zip
Merge branch 'master' into staging
-rw-r--r--doc/functions.xml1
-rw-r--r--doc/functions/prefer-remote-fetch.xml27
-rw-r--r--maintainers/maintainer-list.nix74
-rw-r--r--nixos/doc/manual/development/debugging-nixos-tests.xml37
-rw-r--r--nixos/doc/manual/development/nixos-tests.xml1
-rw-r--r--nixos/lib/test-driver/Machine.pm6
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl6
-rw-r--r--nixos/modules/programs/ssh.nix12
-rw-r--r--nixos/modules/services/databases/mysql.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix3
-rw-r--r--nixos/modules/services/web-servers/phpfpm/default.nix31
-rw-r--r--nixos/modules/services/web-servers/phpfpm/pool-options.nix15
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix49
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix1
-rw-r--r--nixos/modules/testing/test-instrumentation.nix3
-rw-r--r--pkgs/applications/altcoins/go-ethereum.nix4
-rw-r--r--pkgs/applications/audio/gtkpod/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/gmusic.nix2
-rw-r--r--pkgs/applications/backup/vdmfec/default.nix19
-rw-r--r--pkgs/applications/editors/neovim/default.nix7
-rw-r--r--pkgs/applications/editors/neovim/system_rplugin_manifest.patch29
-rw-r--r--pkgs/applications/editors/neovim/wrapper.nix44
-rw-r--r--pkgs/applications/editors/rstudio/default.nix7
-rw-r--r--pkgs/applications/editors/rstudio/preview.nix6
-rw-r--r--pkgs/applications/graphics/antimony/default.nix2
-rw-r--r--pkgs/applications/kde/kdepim-runtime.nix4
-rw-r--r--pkgs/applications/misc/alacritty/default.nix6
-rw-r--r--pkgs/applications/misc/fff/default.nix31
-rw-r--r--pkgs/applications/misc/gpx-viewer/default.nix4
-rw-r--r--pkgs/applications/misc/hyper/default.nix4
-rw-r--r--pkgs/applications/misc/qMasterPassword/default.nix48
-rw-r--r--pkgs/applications/misc/sigal/default.nix11
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix3
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix26
-rw-r--r--pkgs/applications/networking/cluster/kubectl/default.nix33
-rw-r--r--pkgs/applications/networking/feedreaders/rawdog/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/fix-internal-compiler-error.patch68
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix7
-rw-r--r--pkgs/applications/networking/remote/xrdp/default.nix10
-rwxr-xr-xpkgs/applications/science/chemistry/marvin/LicenseManager.desktop9
-rwxr-xr-xpkgs/applications/science/chemistry/marvin/MarvinSketch.desktop10
-rwxr-xr-xpkgs/applications/science/chemistry/marvin/MarvinView.desktop10
-rw-r--r--pkgs/applications/science/chemistry/marvin/default.nix49
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/science/logic/sapic/default.nix28
-rw-r--r--pkgs/applications/science/logic/sapic/native.patch38
-rw-r--r--pkgs/applications/science/logic/tamarin-prover/default.nix23
-rw-r--r--pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-term.patch109
-rw-r--r--pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-theory.patch130
-rw-r--r--pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-utils.patch140
-rw-r--r--pkgs/applications/science/logic/tamarin-prover/sapic-native.patch77
-rw-r--r--pkgs/applications/science/physics/xfitter/default.nix4
-rw-r--r--pkgs/applications/science/physics/xfitter/undefined_behavior.patch (renamed from pkgs/applications/science/physics/xfitter/calling_convention.patch)113
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix6
-rw-r--r--pkgs/applications/video/mediathekview/default.nix44
-rw-r--r--pkgs/applications/video/mpv/default.nix12
-rw-r--r--pkgs/applications/video/zdfmediathk/default.nix38
-rw-r--r--pkgs/applications/virtualization/dynamips/default.nix4
-rw-r--r--pkgs/applications/virtualization/podman/conmon.nix33
-rw-r--r--pkgs/applications/virtualization/podman/default.nix43
-rw-r--r--pkgs/applications/virtualization/remotebox/default.nix4
-rw-r--r--pkgs/build-support/docker/default.nix9
-rw-r--r--pkgs/build-support/fetchgit/default.nix3
-rw-r--r--pkgs/build-support/fetchhg/default.nix11
-rw-r--r--pkgs/build-support/fetchipfs/default.nix8
-rw-r--r--pkgs/build-support/fetchsvn/default.nix7
-rw-r--r--pkgs/build-support/fetchurl/default.nix7
-rw-r--r--pkgs/build-support/prefer-remote-fetch/default.nix19
-rw-r--r--pkgs/data/fonts/b612/default.nix38
-rw-r--r--pkgs/data/themes/ant-theme/default.nix6
-rw-r--r--pkgs/data/themes/nordic-polar/default.nix6
-rw-r--r--pkgs/data/themes/nordic/default.nix (renamed from pkgs/misc/themes/nordic/default.nix)14
-rw-r--r--pkgs/desktops/gnome-3/core/tracker/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/devtools/anjuta/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix200
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch30
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-panel/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix96
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-screensaver/fix-dbus-service-dir.patch11
-rw-r--r--pkgs/desktops/gnustep/back/default.nix4
-rw-r--r--pkgs/desktops/gnustep/gui/default.nix4
-rw-r--r--pkgs/desktops/mate/atril/default.nix11
-rw-r--r--pkgs/desktops/mate/caja-extensions/default.nix4
-rw-r--r--pkgs/desktops/mate/caja/default.nix4
-rw-r--r--pkgs/desktops/mate/engrampa/default.nix4
-rw-r--r--pkgs/desktops/mate/eom/default.nix4
-rw-r--r--pkgs/desktops/mate/libmatekbd/default.nix4
-rw-r--r--pkgs/desktops/mate/libmatemixer/default.nix4
-rw-r--r--pkgs/desktops/mate/libmateweather/default.nix4
-rw-r--r--pkgs/desktops/mate/marco/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-applets/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-calc/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-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-media/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-menus/default.nix8
-rw-r--r--pkgs/desktops/mate/mate-notification-daemon/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix9
-rw-r--r--pkgs/desktops/mate/mate-polkit/default.nix8
-rw-r--r--pkgs/desktops/mate/mate-power-manager/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-screensaver/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-sensors-applet/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-session-manager/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-system-monitor/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-terminal/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-user-guide/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-utils/default.nix4
-rw-r--r--pkgs/desktops/mate/mozo/default.nix23
-rw-r--r--pkgs/desktops/mate/pluma/default.nix4
-rw-r--r--pkgs/desktops/mate/python-caja/default.nix4
-rw-r--r--pkgs/development/compilers/dmd/default.nix4
-rw-r--r--pkgs/development/compilers/dtc/default.nix2
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/6/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/7/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/8/default.nix1
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/default.nix1
-rw-r--r--pkgs/development/compilers/openjdk/8.nix22
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk-linux-base.nix2
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix4
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix10
-rw-r--r--pkgs/development/compilers/shaderc/default.nix32
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix17
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml56
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2149
-rw-r--r--pkgs/development/interpreters/mujs/default.nix16
-rw-r--r--pkgs/development/interpreters/racket/default.nix2
-rw-r--r--pkgs/development/java-modules/postgresql_jdbc/default.nix (renamed from pkgs/servers/sql/postgresql/jdbc/default.nix)0
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix13
-rw-r--r--pkgs/development/libraries/ffmpeg/3.4.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/4.nix4
-rw-r--r--pkgs/development/libraries/freetds/default.nix4
-rw-r--r--pkgs/development/libraries/gdal/default.nix18
-rw-r--r--pkgs/development/libraries/gdl/default.nix (renamed from pkgs/desktops/gnome-3/devtools/gdl/default.nix)14
-rw-r--r--pkgs/development/libraries/glib/default.nix13
-rw-r--r--pkgs/development/libraries/libaom/default.nix8
-rw-r--r--pkgs/development/libraries/libdeflate/default.nix4
-rw-r--r--pkgs/development/libraries/libhandy/default.nix9
-rw-r--r--pkgs/development/libraries/physics/apfelgrid/default.nix4
-rw-r--r--pkgs/development/libraries/physics/qcdnum/default.nix4
-rw-r--r--pkgs/development/libraries/psqlodbc/default.nix (renamed from pkgs/servers/sql/postgresql/psqlodbc/default.nix)0
-rw-r--r--pkgs/development/libraries/smpeg/default.nix2
-rw-r--r--pkgs/development/node-packages/node-packages-v10.json1
-rw-r--r--pkgs/development/node-packages/node-packages-v10.nix1123
-rw-r--r--pkgs/development/python-modules/audio-metadata/default.nix37
-rw-r--r--pkgs/development/python-modules/azure-storage-blob/default.nix33
-rw-r--r--pkgs/development/python-modules/azure-storage-common/default.nix37
-rw-r--r--pkgs/development/python-modules/azure-storage-file/default.nix33
-rw-r--r--pkgs/development/python-modules/azure-storage-nspkg/default.nix29
-rw-r--r--pkgs/development/python-modules/azure-storage-queue/default.nix31
-rw-r--r--pkgs/development/python-modules/bidict/default.nix42
-rw-r--r--pkgs/development/python-modules/bitstruct/default.nix18
-rw-r--r--pkgs/development/python-modules/braintree/default.nix27
-rw-r--r--pkgs/development/python-modules/bugwarrior/default.nix4
-rw-r--r--pkgs/development/python-modules/cachetools/1.nix17
-rw-r--r--pkgs/development/python-modules/click-default-group/default.nix25
-rw-r--r--pkgs/development/python-modules/django-compat/default.nix23
-rw-r--r--pkgs/development/python-modules/django-cors-headers/default.nix27
-rw-r--r--pkgs/development/python-modules/django-hijack-admin/default.nix14
-rw-r--r--pkgs/development/python-modules/django-hijack/default.nix7
-rw-r--r--pkgs/development/python-modules/django-rest-auth/default.nix29
-rw-r--r--pkgs/development/python-modules/django_reversion/default.nix3
-rw-r--r--pkgs/development/python-modules/djangorestframework-jwt/default.nix30
-rw-r--r--pkgs/development/python-modules/dugong/default.nix5
-rw-r--r--pkgs/development/python-modules/glances/default.nix4
-rw-r--r--pkgs/development/python-modules/google-music-proto/default.nix37
-rw-r--r--pkgs/development/python-modules/google-music-utils/default.nix35
-rw-r--r--pkgs/development/python-modules/google-music/default.nix39
-rw-r--r--pkgs/development/python-modules/grandalf/default.nix41
-rw-r--r--pkgs/development/python-modules/grandalf/no-setup-requires-pytestrunner.patch15
-rw-r--r--pkgs/development/python-modules/logzero/default.nix23
-rw-r--r--pkgs/development/python-modules/mysql-connector/default.nix4
-rw-r--r--pkgs/development/python-modules/nanomsg-python/default.nix25
-rw-r--r--pkgs/development/python-modules/nanotime/default.nix27
-rw-r--r--pkgs/development/python-modules/nuitka/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/0.17.1.nix76
-rw-r--r--pkgs/development/python-modules/pprintpp/default.nix30
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix3
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix17
-rw-r--r--pkgs/development/python-modules/pytest/default.nix85
-rw-r--r--pkgs/development/python-modules/tenacity/default.nix34
-rw-r--r--pkgs/development/python-modules/zm-py/default.nix29
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix18
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix9
-rw-r--r--pkgs/development/tools/build-managers/bam/default.nix16
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gn/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix7
-rw-r--r--pkgs/development/tools/build-managers/meson/fix-objc-linking.patch20
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix37
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix9
-rw-r--r--pkgs/development/tools/misc/luarocks/setup-hook.sh20
-rw-r--r--pkgs/development/tools/repository-managers/nexus/default.nix8
-rw-r--r--pkgs/games/spring/fix-certs.patch11
-rw-r--r--pkgs/games/spring/springlobby.nix2
-rw-r--r--pkgs/games/teeworlds/default.nix36
-rw-r--r--pkgs/misc/arm-trusted-firmware/default.nix16
-rw-r--r--pkgs/misc/drivers/epkowa/default.nix40
-rw-r--r--pkgs/misc/rkdeveloptool/default.nix24
-rw-r--r--pkgs/misc/uboot/default.nix38
-rw-r--r--pkgs/misc/uboot/rock64.nix15
-rw-r--r--pkgs/misc/uboot/rockpro64.nix36
-rw-r--r--pkgs/misc/vim-plugins/build-vim-plugin.nix2
-rw-r--r--pkgs/misc/vim-plugins/generated.nix11
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix15
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix8
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix23
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/search/solr/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/default.nix8
-rw-r--r--pkgs/servers/sql/postgresql/ext/cstore_fdw.nix (renamed from pkgs/servers/sql/postgresql/cstore_fdw/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_cron.nix (renamed from pkgs/servers/sql/postgresql/pg_cron/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_hll.nix (renamed from pkgs/servers/sql/postgresql/pg_hll/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_repack.nix (renamed from pkgs/servers/sql/postgresql/pg_repack/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_similarity.nix (renamed from pkgs/servers/sql/postgresql/pg_similarity/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_topn.nix (renamed from pkgs/servers/sql/postgresql/topn/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgjwt.nix (renamed from pkgs/servers/sql/postgresql/pgjwt/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgroonga.nix (renamed from pkgs/servers/sql/postgresql/pgroonga/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgtap.nix (renamed from pkgs/servers/sql/postgresql/pgtap/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/plv8.nix (renamed from pkgs/servers/sql/postgresql/plv8/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix (renamed from pkgs/servers/sql/postgresql/timescaledb/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/ext/tsearch_extras.nix (renamed from pkgs/servers/sql/postgresql/tsearch_extras/default.nix)0
-rw-r--r--pkgs/servers/sql/postgresql/patches/disable-resolve_symlinks-94.patch (renamed from pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch)0
-rw-r--r--pkgs/servers/sql/postgresql/patches/disable-resolve_symlinks.patch (renamed from pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch)0
-rw-r--r--pkgs/servers/sql/postgresql/patches/hardcode-pgxs-path-96.patch (renamed from pkgs/servers/sql/postgresql/hardcode-pgxs-path-96.patch)0
-rw-r--r--pkgs/servers/sql/postgresql/patches/hardcode-pgxs-path.patch (renamed from pkgs/servers/sql/postgresql/hardcode-pgxs-path.patch)0
-rw-r--r--pkgs/servers/sql/postgresql/patches/less-is-more-96.patch (renamed from pkgs/servers/sql/postgresql/less-is-more-96.patch)0
-rw-r--r--pkgs/servers/sql/postgresql/patches/less-is-more.patch (renamed from pkgs/servers/sql/postgresql/less-is-more.patch)0
-rw-r--r--pkgs/servers/sql/postgresql/patches/specify_pkglibdir_at_runtime.patch (renamed from pkgs/servers/sql/postgresql/specify_pkglibdir_at_runtime.patch)0
-rw-r--r--pkgs/servers/tegola/default.nix24
-rw-r--r--pkgs/shells/bash/bash-5.0-patches.nix2
-rw-r--r--pkgs/tools/audio/google-music-scripts/default.nix32
-rw-r--r--pkgs/tools/misc/capture/0001-eval-fix.patch10
-rw-r--r--pkgs/tools/misc/capture/0002-sane-defaults.patch22
-rw-r--r--pkgs/tools/misc/capture/default.nix31
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--pkgs/tools/misc/hebcal/default.nix4
-rw-r--r--pkgs/tools/misc/oci-image-tool/default.nix23
-rw-r--r--pkgs/tools/misc/pb_cli/0001-eval-fix.patch10
-rw-r--r--pkgs/tools/misc/pb_cli/default.nix40
-rw-r--r--pkgs/tools/misc/termtosvg/default.nix6
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/curl/7_59.nix111
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-review/default.nix4
-rw-r--r--pkgs/tools/security/keybase/default.nix12
-rw-r--r--pkgs/tools/security/keybase/gui.nix6
-rw-r--r--pkgs/tools/text/discount/default.nix9
-rw-r--r--pkgs/tools/text/transifex-client/default.nix30
-rw-r--r--pkgs/tools/typesetting/scdoc/default.nix4
-rw-r--r--pkgs/tools/virtualization/udocker/default.nix2
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix151
-rw-r--r--pkgs/top-level/lua-packages.nix2
-rw-r--r--pkgs/top-level/php-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix84
266 files changed, 5301 insertions, 2616 deletions
diff --git a/doc/functions.xml b/doc/functions.xml
index 4193bb49f77a..e6d59ebde978 100644
--- a/doc/functions.xml
+++ b/doc/functions.xml
@@ -14,4 +14,5 @@
  <xi:include href="functions/fhs-environments.xml" />
  <xi:include href="functions/shell.xml" />
  <xi:include href="functions/dockertools.xml" />
+ <xi:include href="functions/prefer-remote-fetch.xml" />
 </chapter>
diff --git a/doc/functions/prefer-remote-fetch.xml b/doc/functions/prefer-remote-fetch.xml
new file mode 100644
index 000000000000..85f08f4eae14
--- /dev/null
+++ b/doc/functions/prefer-remote-fetch.xml
@@ -0,0 +1,27 @@
+<section xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/xinclude"
+         xml:id="sec-prefer-remote-fetch">
+ <title>prefer-remote-fetch overlay</title>
+
+ <para>
+  <function>prefer-remote-fetch</function> is an overlay that download sources
+  on remote builder. This is useful when the evaluating machine has a slow
+  upload while the builder can fetch faster directly from the source.
+  To use it, put the following snippet as a new overlay:
+  <programlisting>
+    self: super:
+      (super.prefer-remote-fetch self super)
+  </programlisting>
+
+  A full configuration example for that sets the overlay up for your own account,
+  could look like this
+
+  <programlisting>
+    $ mkdir ~/.config/nixpkgs/overlays/
+    $ cat &gt; ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix &lt;&lt;EOF
+      self: super: super.prefer-remote-fetch self super
+    EOF
+  </programlisting>
+ </para>
+</section>
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 35a1296db5a9..f09dcf2d3af4 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1,21 +1,41 @@
 /* List of NixOS maintainers.
 
     handle = {
-      name = "Real name";
+      # Required
+      name = "Your name";
       email = "address@example.org";
+
+      # Optional
       github = "GithubUsername";
+      keys = [{
+        longkeyid = "rsa2048/0x0123456789ABCDEF";
+        fingerprint = "AAAA BBBB CCCC DDDD EEEE  FFFF 0000 1111 2222 3333";
+      }];
     };
 
-  where `name` is your real name, `email` is your maintainer email
-  address and `github` is your GitHub handle (as it appears in the
-  URL of your profile page, `https://github.com/<userhandle>`).
- address
-  The only required fields are `name` and `email`.
+  where
+
+  - `handle` is the handle you are going to use in nixpkgs expressions,
+  - `name` is your, preferably real, name,
+  - `email` is your maintainer email address, and
+  - `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`),
+  - `keys` is a list of your PGP/GPG key IDs and fingerprints.
+
+  `handle == github` is strongly preffered whenever `github` is an acceptable attribute name and is short and convenient.
+
+  Add PGP/GPG keys only if you actually use them to sign commits and/or mail.
+
+  To get the required PGP/GPG values for a key run
+  ```shell
+  gpg --keyid-format 0xlong --fingerprint <email> | head -n 2
+  ```
+
+  !!! Note that PGP/GPG values stored here are for informational purposes only, don't use this file as a source of truth.
+
   More fields may be added in the future.
 
   Please keep the list alphabetically sorted.
-  See `../maintainers/scripts/check-maintainer-github-handles.sh`
-  for an example on how to work with this data.
+  See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data.
   */
 {
   "1000101" = {
@@ -341,6 +361,11 @@
     github = "apeyroux";
     name = "Alexandre Peyroux";
   };
+  ar1a = {
+    email = "aria@ar1as.space";
+    github = "ar1a";
+    name = "Aria Edmonds";
+  };
   arcadio = {
     email = "arc@well.ox.ac.uk";
     github = "arcadio";
@@ -1586,6 +1611,11 @@
     email = "eocallaghan@alterapraxis.com";
     name = "Edward O'Callaghan";
   };
+  fusion809 = {
+    email = "brentonhorne77@gmail.com";
+    github = "fusion809";
+    name = "Brenton Horne";
+  };
   fuuzetsu = {
     email = "fuuzetsu@fuuzetsu.co.uk";
     github = "fuuzetsu";
@@ -1919,6 +1949,11 @@
     github = "infinisil";
     name = "Silvan Mosberger";
   };
+  ingenieroariel = {
+    email = "ariel@nunez.co";
+    github = "ingenieroariel";
+    name = "Ariel Nunez";
+  };
   ironpinguin = {
     email = "michele@catalano.de";
     github = "ironpinguin";
@@ -1933,6 +1968,15 @@
     email = "tkatchev@gmail.com";
     name = "Ivan Tkatchev";
   };
+  ivegotasthma = {
+    email = "ivegotasthma@protonmail.com";
+    github = "ivegotasthma";
+    name = "John Doe";
+    keys = [{
+      longkeyid = "rsa4096/09AC52AEA87817A4";
+      fingerprint = "4008 2A5B 56A4 79B9 83CB  95FD 09AC 52AE A878 17A4";
+    }];
+  };
   ixmatus = {
     email = "parnell@digitalmentat.com";
     github = "ixmatus";
@@ -3245,6 +3289,11 @@
     github = "nyarly";
     name = "Judson Lester";
   };
+  nzhang-zh = {
+    email = "n.zhang.hp.au@gmail.com";
+    github = "nzhang-zh";
+    name = "Ning Zhang";
+  };
   obadz = {
     email = "obadz-nixos@obadz.com";
     github = "obadz";
@@ -3323,6 +3372,10 @@
     email = "oxij@oxij.org";
     github = "oxij";
     name = "Jan Malakhovski";
+    keys = [{
+      longkeyid = "rsa2048/0x0E6CA66E5C557AA8";
+      fingerprint = "514B B966 B46E 3565 0508  86E8 0E6C A66E 5C55 7AA8";
+    }];
   };
   oyren = {
     email = "m.scheuren@oyra.eu";
@@ -4316,6 +4369,11 @@
     github = "t184256";
     name = "Alexander Sosedkin";
   };
+  tadeokondrak = {
+    email = "me@tadeo.ca";
+    github = "tadeokondrak";
+    name = "Tadeo Kondrak";
+  };
   tadfisher = {
     email = "tadfisher@gmail.com";
     github = "tadfisher";
diff --git a/nixos/doc/manual/development/debugging-nixos-tests.xml b/nixos/doc/manual/development/debugging-nixos-tests.xml
deleted file mode 100644
index 30e58e1e3554..000000000000
--- a/nixos/doc/manual/development/debugging-nixos-tests.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<section xmlns="http://docbook.org/ns/docbook"
-        xmlns:xlink="http://www.w3.org/1999/xlink"
-        xmlns:xi="http://www.w3.org/2001/XInclude"
-        version="5.0"
-        xml:id="sec-debugging-nixos-tests">
- <title>Debugging NixOS tests</title>
-
- <para>
-  Tests may fail and infrastructure offers access to inspect machine state.
- </para>
-
- <para>
-  To prevent test from stopping and cleaning up, insert a sleep command:
- </para>
-
-<programlisting>
-$machine->succeed("sleep 84000");
-</programlisting>
-
- <para>
-  As soon as machine starts run as root:
- </para>
-
-<programlisting>
-nix-shell -p socat --run "socat STDIO,raw,echo=0,escape=0x11 UNIX:/tmp/nix-build-vm-test-run-*.drv-0/vm-state-machine/backdoor"
-</programlisting>
-
- <para>
-  You may need to find the correct path, replacing <literal>/tmp</literal>,
-  <literal>*</literal> or <literal>machine</literal>.
- </para>
-
- <para>
-  Press "enter" to open up console and login as "root". After you're done,
-  press "ctrl-q" to exit the console.
- </para>
-</section>
diff --git a/nixos/doc/manual/development/nixos-tests.xml b/nixos/doc/manual/development/nixos-tests.xml
index d068887200a9..2695082e3867 100644
--- a/nixos/doc/manual/development/nixos-tests.xml
+++ b/nixos/doc/manual/development/nixos-tests.xml
@@ -16,5 +16,4 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/tests">nixos/test
  <xi:include href="writing-nixos-tests.xml" />
  <xi:include href="running-nixos-tests.xml" />
  <xi:include href="running-nixos-tests-interactively.xml" />
- <xi:include href="debugging-nixos-tests.xml" />
 </chapter>
diff --git a/nixos/lib/test-driver/Machine.pm b/nixos/lib/test-driver/Machine.pm
index c95bc548e04f..006da889671e 100644
--- a/nixos/lib/test-driver/Machine.pm
+++ b/nixos/lib/test-driver/Machine.pm
@@ -156,10 +156,8 @@ sub start {
         $ENV{USE_TMPDIR} = 1;
         $ENV{QEMU_OPTS} =
             ($self->{allowReboot} ? "" : "-no-reboot ") .
-            "-monitor unix:./monitor " .
-            "-chardev socket,id=shell,path=./shell -device virtio-serial -device virtconsole,chardev=shell " .
-            # socket backdoor, see "Debugging NixOS tests" section in NixOS manual
-            "-chardev socket,id=backdoor,path=./backdoor,server,nowait -device virtio-serial -device virtconsole,chardev=backdoor " .
+            "-monitor unix:./monitor -chardev socket,id=shell,path=./shell " .
+            "-device virtio-serial -device virtconsole,chardev=shell " .
             "-device virtio-rng-pci " .
             ($showGraphics ? "-serial stdio" : "-nographic") . " " . ($ENV{QEMU_OPTS} || "");
         chdir $self->{stateDir} or die;
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 52a129b39bcd..bad9356ab5a6 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -449,7 +449,11 @@ EOF
                 if (-e $slave) {
                     my $dmName = read_file("/sys/class/block/$deviceName/dm/name");
                     chomp $dmName;
-                    $fileSystems .= "  boot.initrd.luks.devices.\"$dmName\".device = \"${\(findStableDevPath $slave)}\";\n\n";
+                    # Ensure to add an entry only once
+                    my $luksDevice = "  boot.initrd.luks.devices.\"$dmName\".device";
+                    if ($fileSystems !~ /^\Q$luksDevice\E/m) {
+                        $fileSystems .= "$luksDevice = \"${\(findStableDevPath $slave)}\";\n\n";
+                    }
                 }
             }
         }
diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix
index cc398174e6ce..4640c1d78d20 100644
--- a/nixos/modules/programs/ssh.nix
+++ b/nixos/modules/programs/ssh.nix
@@ -167,16 +167,16 @@ in
           The set of system-wide known SSH hosts.
         '';
         example = literalExample ''
-          [
-            {
+          {
+            myhost = {
               hostNames = [ "myhost" "myhost.mydomain.com" "10.10.1.4" ];
               publicKeyFile = ./pubkeys/myhost_ssh_host_dsa_key.pub;
-            }
-            {
+            };
+            myhost2 = {
               hostNames = [ "myhost2" ];
               publicKeyFile = ./pubkeys/myhost2_ssh_host_dsa_key.pub;
-            }
-          ]
+            };
+          }
         '';
       };
 
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index df6f3876585e..1ba878957ed9 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -362,7 +362,7 @@ in
             ${optionalString (cfg.ensureDatabases != []) ''
               (
               ${concatMapStrings (database: ''
-                echo "CREATE DATABASE IF NOT EXISTS ${database};"
+                echo "CREATE DATABASE IF NOT EXISTS \`${database}\`;"
               '') cfg.ensureDatabases}
               ) | ${mysql}/bin/mysql -u root -N
             ''}
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index bf4dfc666bb6..1b1503ab5fc0 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -325,7 +325,8 @@ let
   promTypes.relabel_config = types.submodule {
     options = {
       source_labels = mkOption {
-        type = types.listOf types.str;
+        type = with types; nullOr (listOf str);
+        default = null;
         description = ''
           The source labels select values from existing labels. Their content
           is concatenated using the configured separator and matched against
diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix
index e1f4ff5db7f2..152c89a2caec 100644
--- a/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -8,21 +8,31 @@ let
 
   stateDir = "/run/phpfpm";
 
-  poolConfigs = cfg.poolConfigs // mapAttrs mkPool cfg.pools;
+  poolConfigs =
+    (mapAttrs mapPoolConfig cfg.poolConfigs) //
+    (mapAttrs mapPool cfg.pools);
 
-  mkPool = n: p: ''
-    listen = ${p.listen}
-    ${p.extraConfig}
-  '';
+  mapPoolConfig = n: p: {
+    phpPackage = cfg.phpPackage;
+    config = p;
+  };
+
+  mapPool = n: p: {
+    phpPackage = p.phpPackage;
+    config = ''
+      listen = ${p.listen}
+      ${p.extraConfig}
+    '';
+  };
 
-  fpmCfgFile = pool: poolConfig: pkgs.writeText "phpfpm-${pool}.conf" ''
+  fpmCfgFile = pool: conf: pkgs.writeText "phpfpm-${pool}.conf" ''
     [global]
     error_log = syslog
     daemonize = no
     ${cfg.extraConfig}
 
     [${pool}]
-    ${poolConfig}
+    ${conf}
   '';
 
   phpIni = pkgs.runCommand "php.ini" {
@@ -97,13 +107,14 @@ in {
 
       pools = mkOption {
         type = types.attrsOf (types.submodule (import ./pool-options.nix {
-          inherit lib;
+          inherit lib config;
         }));
         default = {};
         example = literalExample ''
          {
            mypool = {
              listen = "/path/to/unix/socket";
+             phpPackage = pkgs.php;
              extraConfig = '''
                user = nobody
                pm = dynamic
@@ -144,7 +155,7 @@ in {
           mkdir -p ${stateDir}
         '';
         serviceConfig = let
-          cfgFile = fpmCfgFile pool poolConfig;
+          cfgFile = fpmCfgFile pool poolConfig.config;
         in {
           Slice = "phpfpm.slice";
           PrivateDevices = true;
@@ -153,7 +164,7 @@ in {
           # XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work
           RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
           Type = "notify";
-          ExecStart = "${cfg.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${phpIni}";
+          ExecStart = "${poolConfig.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${phpIni}";
           ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID";
         };
       }
diff --git a/nixos/modules/services/web-servers/phpfpm/pool-options.nix b/nixos/modules/services/web-servers/phpfpm/pool-options.nix
index cc688c2c48a2..40c83cddb957 100644
--- a/nixos/modules/services/web-servers/phpfpm/pool-options.nix
+++ b/nixos/modules/services/web-servers/phpfpm/pool-options.nix
@@ -1,4 +1,8 @@
-{ lib }:
+{ lib, config }:
+
+let
+  fpmCfg = config.services.phpfpm;
+in
 
 with lib; {
 
@@ -12,6 +16,15 @@ with lib; {
       '';
     };
 
+    phpPackage = mkOption {
+      type = types.package;
+      default = fpmCfg.phpPackage;
+      defaultText = "config.services.phpfpm.phpPackage";
+      description = ''
+        The PHP package to use for running this PHP-FPM pool.
+      '';
+    };
+
     extraConfig = mkOption {
       type = types.lines;
       example = ''
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index ecc7ca0e8fb5..7544ba4638ac 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -36,6 +36,8 @@ let
      ${pkgs.glib.dev}/bin/glib-compile-schemas $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/
     '';
 
+  flashbackEnabled = cfg.flashback.enableMetacity || length cfg.flashback.customSessions > 0;
+
 in {
 
   options = {
@@ -71,6 +73,36 @@ in {
       };
 
       debug = mkEnableOption "gnome-session debug messages";
+
+      flashback = {
+        enableMetacity = mkEnableOption "Enable the standard GNOME Flashback session with Metacity.";
+
+        customSessions = mkOption {
+          type = types.listOf (types.submodule {
+            options = {
+              wmName = mkOption {
+                type = types.str;
+                description = "The filename-compatible name of the window manager to use.";
+                example = "xmonad";
+              };
+
+              wmLabel = mkOption {
+                type = types.str;
+                description = "The pretty name of the window manager to use.";
+                example = "XMonad";
+              };
+
+              wmCommand = mkOption {
+                type = types.str;
+                description = "The executable of the window manager to use.";
+                example = "\${pkgs.haskellPackages.xmonad}/bin/xmonad";
+              };
+            };
+          });
+          default = [];
+          description = "Other GNOME Flashback sessions to enable.";
+        };
+      };
     };
 
     environment.gnome3.excludePackages = mkOption {
@@ -113,7 +145,9 @@ in {
     services.telepathy.enable = mkDefault true;
     networking.networkmanager.enable = mkDefault true;
     services.upower.enable = config.powerManagement.enable;
-    services.dbus.packages = mkIf config.services.printing.enable [ pkgs.system-config-printer ];
+    services.dbus.packages =
+      optional config.services.printing.enable pkgs.system-config-printer ++
+      optional flashbackEnabled pkgs.gnome3.gnome-screensaver;
     services.colord.enable = mkDefault true;
     services.packagekit.enable = mkDefault true;
     hardware.bluetooth.enable = mkDefault true;
@@ -127,7 +161,15 @@ in {
 
     fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell-fonts ];
 
-    services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ];
+    services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ]
+      ++ map
+        (wm: pkgs.gnome3.gnome-flashback.mkSessionForWm {
+          inherit (wm) wmName wmLabel wmCommand;
+        }) (optional cfg.flashback.enableMetacity {
+              wmName = "metacity";
+              wmLabel = "Metacity";
+              wmCommand = "${pkgs.gnome3.metacity}/bin/metacity";
+            } ++ cfg.flashback.customSessions);
 
     environment.extraInit = ''
       ${concatMapStrings (p: ''
@@ -177,6 +219,9 @@ in {
       "/share/nautilus-python/extensions"
     ];
 
+    security.pam.services.gnome-screensaver = mkIf flashbackEnabled {
+      enableGnomeKeyring = true;
+    };
   };
 
 
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 8f8c9e23e13e..37a19fb9fc8c 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -535,6 +535,7 @@ in
 
       systemd.timers.zfs-scrub = {
         wantedBy = [ "timers.target" ];
+        after = [ "multi-user.target" ]; # Apparently scrubbing before boot is complete hangs the system? #53583
         timerConfig = {
           OnCalendar = cfgScrub.interval;
           Persistent = "yes";
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index aa0db4afd978..ed4cfa7805e2 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -55,8 +55,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
     systemd.services."serial-getty@hvc0".enable = false;
 
     # Only use a serial console, no TTY.
-    # hvc1: socket backdoor, see "Debugging NixOS tests" section in NixOS manual
-    virtualisation.qemu.consoles = [ "hvc1" qemuSerialDevice ];
+    virtualisation.qemu.consoles = [ qemuSerialDevice ];
 
     boot.initrd.preDeviceCommands =
       ''
diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix
index 14bf13d8828e..ad1ccbf496cf 100644
--- a/pkgs/applications/altcoins/go-ethereum.nix
+++ b/pkgs/applications/altcoins/go-ethereum.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "go-ethereum-${version}";
-  version = "1.8.20";
+  version = "1.8.21";
   goPackagePath = "github.com/ethereum/go-ethereum";
 
   # Fix for usb-related segmentation faults on darwin
@@ -16,7 +16,7 @@ buildGoPackage rec {
     owner = "ethereum";
     repo = "go-ethereum";
     rev = "v${version}";
-    sha256 = "0m2q1nz6f39pyr2rk6vflkwi4ykganzwr7wndpwr9rliw0x8jgi0";
+    sha256 = "1p4qfxa90l26s9q4hddyb93gdf7vb0sb46z9n26ijiqlxdq3z7v2";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix
index 4bcddab54a08..c40f84348de1 100644
--- a/pkgs/applications/audio/gtkpod/default.nix
+++ b/pkgs/applications/audio/gtkpod/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, wrapGAppsHook, intltool, libgpod, curl, flac,
-  gnome3, gtk3, gettext, perlPackages, flex, libid3tag,
+  gnome3, gtk3, gettext, perlPackages, flex, libid3tag, gdl,
   libvorbis, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     curl gettext
     flex libgpod libid3tag flac libvorbis gtk3 gdk_pixbuf
-    gnome3.gdl gnome3.defaultIconTheme gnome3.anjuta
+    gdl gnome3.defaultIconTheme gnome3.anjuta
   ] ++ (with perlPackages; [ perl XMLParser ]);
 
   patchPhase = ''
diff --git a/pkgs/applications/audio/mopidy/gmusic.nix b/pkgs/applications/audio/mopidy/gmusic.nix
index 5566c4b07b21..8c173140efd8 100644
--- a/pkgs/applications/audio/mopidy/gmusic.nix
+++ b/pkgs/applications/audio/mopidy/gmusic.nix
@@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec {
     mopidy
     pythonPackages.requests
     pythonPackages.gmusicapi
-    pythonPackages.cachetools_1
+    pythonPackages.cachetools
   ];
 
   doCheck = false;
diff --git a/pkgs/applications/backup/vdmfec/default.nix b/pkgs/applications/backup/vdmfec/default.nix
new file mode 100644
index 000000000000..3a480f70d4b7
--- /dev/null
+++ b/pkgs/applications/backup/vdmfec/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "vdmfec-${version}";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "http://members.tripod.com/professor_tom/archives/${name}.tgz";
+    sha256 = "0i7q4ylx2xmzzq778anpkj4nqir5gf573n1lbpxnbc10ymsjq2rm";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A program that adds error correction blocks";
+    homepage = "http://members.tripod.com/professor_tom/archives/index.html";
+    maintainers = [ maintainers.ar1a ];
+    license = with licenses; [ gpl2 /* for vdmfec */ bsd2 /* for fec */ ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index a3580b1afa7a..27e274326470 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -20,6 +20,13 @@ let
       sha256 = "07ncvgp6xfhiwc6hd7qf7zk28n3yj47p26qj1ji29vqkwnk28y3s";
     };
 
+    patches = [
+      # introduce a system-wide rplugin.vim in addition to the user one
+      # necessary so that nix can handle `UpdateRemotePlugins` for the plugins
+      # it installs. See https://github.com/neovim/neovim/issues/9413.
+      ./system_rplugin_manifest.patch
+    ];
+
     enableParallelBuilding = true;
 
     buildInputs = [
diff --git a/pkgs/applications/editors/neovim/system_rplugin_manifest.patch b/pkgs/applications/editors/neovim/system_rplugin_manifest.patch
new file mode 100644
index 000000000000..f634d3ec056a
--- /dev/null
+++ b/pkgs/applications/editors/neovim/system_rplugin_manifest.patch
@@ -0,0 +1,29 @@
+diff --git a/runtime/autoload/remote/host.vim b/runtime/autoload/remote/host.vim
+index 6266b312b..965fabf1e 100644
+--- a/runtime/autoload/remote/host.vim
++++ b/runtime/autoload/remote/host.vim
+@@ -71,7 +71,8 @@ function! remote#host#RegisterPlugin(host, path, specs) abort
+ 
+   for plugin in plugins
+     if plugin.path == a:path
+-      throw 'Plugin "'.a:path.'" is already registered'
++      " plugin already registered
++      return
+     endif
+   endfor
+ 
+diff --git a/runtime/plugin/rplugin.vim b/runtime/plugin/rplugin.vim
+index 122d8d47f..83fbf8b57 100644
+--- a/runtime/plugin/rplugin.vim
++++ b/runtime/plugin/rplugin.vim
+@@ -54,6 +54,10 @@ function! s:GetManifest() abort
+ endfunction
+ 
+ function! s:LoadRemotePlugins() abort
++  if exists('$NVIM_SYSTEM_RPLUGIN_MANIFEST')
++    let g:system_remote_plugins = fnamemodify($NVIM_SYSTEM_RPLUGIN_MANIFEST, ':p')
++    execute 'source' fnameescape(g:system_remote_plugins)
++  endif
+   let g:loaded_remote_plugins = s:GetManifest()
+   if filereadable(g:loaded_remote_plugins)
+     execute 'source' fnameescape(g:loaded_remote_plugins)
diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix
index 3dd3710da772..7d76bc1fd1a0 100644
--- a/pkgs/applications/editors/neovim/wrapper.nix
+++ b/pkgs/applications/editors/neovim/wrapper.nix
@@ -72,7 +72,6 @@ let
         --cmd \"${if withRuby then "let g:ruby_host_prog='$out/bin/nvim-ruby'" else "let g:loaded_ruby_provider=1"}\" " \
         --suffix PATH : ${binPath} \
         ${optionalString withRuby '' --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' }
-
       ''
       + optionalString (!stdenv.isDarwin) ''
         # copy and patch the original neovim.desktop file
@@ -83,18 +82,39 @@ let
       ''
       + optionalString withPython ''
         makeWrapper ${pythonEnv}/bin/python $out/bin/nvim-python --unset PYTHONPATH
-    '' + optionalString withPython3 ''
+      '' + optionalString withPython3 ''
         makeWrapper ${python3Env}/bin/python3 $out/bin/nvim-python3 --unset PYTHONPATH
-    '' + optionalString withRuby ''
-      ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
-    '' + optionalString vimAlias ''
-      ln -s $out/bin/nvim $out/bin/vim
-    '' + optionalString viAlias ''
-      ln -s $out/bin/nvim $out/bin/vi
-    '' + optionalString (configure != {}) ''
-    wrapProgram $out/bin/nvim --add-flags "-u ${vimUtils.vimrcFile configure}"
-    ''
-    ;
+      '' + optionalString withRuby ''
+        ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby
+      '' + optionalString vimAlias ''
+        ln -s $out/bin/nvim $out/bin/vim
+      '' + optionalString viAlias ''
+        ln -s $out/bin/nvim $out/bin/vi
+      '' + optionalString (configure != {}) ''
+        echo "Generating remote plugin manifest"
+        export NVIM_RPLUGIN_MANIFEST=$out/rplugin.vim
+        # Launch neovim with a vimrc file containing only the generated plugin
+        # code. Pass various flags to disable temp file generation
+        # (swap/viminfo) and redirect errors to stderr.
+        # Only display the log on error since it will contain a few normally
+        # irrelevant messages.
+        if ! $out/bin/nvim \
+          -u ${vimUtils.vimrcFile (configure // { customRC = ""; })} \
+          -i NONE -n \
+          -E -V1rplugins.log -s \
+          +UpdateRemotePlugins +quit! > outfile 2>&1; then
+          cat outfile
+          echo -e "\nGenerating rplugin.vim failed!"
+          exit 1
+        fi
+        unset NVIM_RPLUGIN_MANIFEST
+
+        # this relies on a patched neovim, see
+        # https://github.com/neovim/neovim/issues/9413
+        wrapProgram $out/bin/nvim \
+          --set NVIM_SYSTEM_RPLUGIN_MANIFEST $out/rplugin.vim \
+          --add-flags "-u ${vimUtils.vimrcFile configure}"
+      '';
 
     preferLocalBuild = true;
 
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index 9d8c430630e5..86fb972e94c3 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost
-, zlib, openssl, R, qtbase, qtwebkit, qtwebchannel, libuuid, hunspellDicts
-, unzip, ant, jdk, gnumake, makeWrapper, pandoc
+, zlib, openssl, R, qtbase, qtwebkit, qtwebchannel, qtxmlpatterns, libuuid
+, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
 }:
 
 let
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ];
 
-  buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel libuuid ];
+  buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel
+                  qtxmlpatterns libuuid ];
 
   src = fetchFromGitHub {
     owner = "rstudio";
diff --git a/pkgs/applications/editors/rstudio/preview.nix b/pkgs/applications/editors/rstudio/preview.nix
index 340aeec15e0f..55c83ca85a64 100644
--- a/pkgs/applications/editors/rstudio/preview.nix
+++ b/pkgs/applications/editors/rstudio/preview.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fetchFromGitHub, makeDesktopItem, cmake, boost, zlib
-, openssl, R, qtbase, qtdeclarative, qtsensors, qtwebengine, qtwebchannel
+, openssl, R, qtbase, qtxmlpatterns, qtsensors, qtwebengine, qtwebchannel
 , libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
 , llvmPackages
 }:
 
 let
-  rev = "f33fb2b2f1";
+  rev = "f79330d4";
   ginVer = "2.1.2";
   gwtVer = "2.8.1";
 in
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ];
 
-  buildInputs = [ boost zlib openssl R qtbase qtdeclarative qtsensors
+  buildInputs = [ boost zlib openssl R qtbase qtxmlpatterns qtsensors
                   qtwebengine qtwebchannel libuuid ];
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index aa6305ce8311..2e7435b48bbb 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -24,7 +24,7 @@ in
     postPatch = ''
        sed -i "s,/usr/local,$out,g" \
        app/CMakeLists.txt app/app/app.cpp app/app/main.cpp
-       sed -i "s,python-py35,python36," CMakeLists.txt
+       sed -i "s,python3,${python3.executable}," CMakeLists.txt
     '';
 
     buildInputs = [
diff --git a/pkgs/applications/kde/kdepim-runtime.nix b/pkgs/applications/kde/kdepim-runtime.nix
index 201930c53d6f..fa090d503547 100644
--- a/pkgs/applications/kde/kdepim-runtime.nix
+++ b/pkgs/applications/kde/kdepim-runtime.nix
@@ -5,7 +5,7 @@
   akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes,
   kalarmcal, kcalutils, kcontacts, kdav, kdelibs4support, kidentitymanagement,
   kimap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig,
-  pimcommon, qtwebengine, libkgapi, qtspeech
+  pimcommon, qtwebengine, libkgapi, qtspeech, qtxmlpatterns
 }:
 
 mkDerivation {
@@ -19,7 +19,7 @@ mkDerivation {
     akonadi akonadi-calendar akonadi-contacts akonadi-mime akonadi-notes
     kalarmcal kcalutils kcontacts kdav kdelibs4support kidentitymanagement kimap
     kmailtransport kmbox kmime knotifications knotifyconfig qtwebengine
-    pimcommon libkgapi qtspeech
+    pimcommon libkgapi qtspeech qtxmlpatterns
   ];
   # Attempts to build some files before dependencies have been generated
   enableParallelBuilding = false;
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index fd4180a8dcbf..06512f6123b1 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/misc/alacritty/default.nix
@@ -43,16 +43,16 @@ let
   ];
 in buildRustPackage rec {
   name = "alacritty-${version}";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "jwilm";
     repo = "alacritty";
     rev = "v${version}";
-    sha256 = "17802fgfkp80872wr6qkjhs3gdjjw2cibigcifqnzcfzwabp07iv";
+    sha256 = "1yjmlvxs5vwqhgjlb83a4hq2b12zzhr4pp209djprgdi0cf2bbqw";
   };
 
-  cargoSha256 = "0adw5zwxy1x9laa1fx11j2bhhs2w7c9n0xnjwxw8vchqi4xwqvy5";
+  cargoSha256 = "11n5xl43l07zycdg0icv4i7mh6zy4ia6aw48i0wm59xqdl7xqn9f";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/misc/fff/default.nix b/pkgs/applications/misc/fff/default.nix
new file mode 100644
index 000000000000..7a89f6952f21
--- /dev/null
+++ b/pkgs/applications/misc/fff/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, makeWrapper, xdg_utils, file, coreutils }:
+
+stdenv.mkDerivation rec {
+  name = "fff";
+  version = "1.5";
+
+  src = fetchFromGitHub {
+    owner = "dylanaraps";
+    repo = name;
+    rev = version;
+    sha256 = "0jvv9mwj0qw3rmg1f17wbvx9fl5kxzmkp6j1113l3a6w1na83js0";
+  };
+
+  pathAdd = stdenv.lib.makeSearchPath "bin" [ xdg_utils file coreutils ];
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -D fff "$out/bin/fff"
+    install -D README.md "$out/share/doc/fff/README.md"
+    install -D fff.1 "$out/share/man/man1/fff.1"
+    wrapProgram $out/bin/fff --prefix PATH : ${pathAdd}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fucking Fast File-Manager";
+    homepage = https://github.com/dylanaraps/fff;
+    license = licenses.mit;
+    maintainers = [ maintainers.tadeokondrak ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/gpx-viewer/default.nix b/pkgs/applications/misc/gpx-viewer/default.nix
index 1810d6d5c476..f7cfee3e6516 100644
--- a/pkgs/applications/misc/gpx-viewer/default.nix
+++ b/pkgs/applications/misc/gpx-viewer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gnome3, shared-mime-info, desktop-file-utils, wrapGAppsHook }:
+{ stdenv, fetchurl, intltool, pkgconfig, gnome3, libchamplain, gdl, shared-mime-info, desktop-file-utils, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "gpx-viewer-${version}";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     desktop-file-utils # For update-desktop-database
     wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
   ];
-  buildInputs = with gnome3; [ gdl libchamplain defaultIconTheme ];
+  buildInputs = [ gdl libchamplain gnome3.adwaita-icon-theme ];
 
   meta = with stdenv.lib; {
     homepage = https://blog.sarine.nl/tag/gpxviewer/;
diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix
index 2a26d7ecf278..04c3e0320f65 100644
--- a/pkgs/applications/misc/hyper/default.nix
+++ b/pkgs/applications/misc/hyper/default.nix
@@ -11,11 +11,11 @@ let
   ];
 in
 stdenv.mkDerivation rec {
-  version = "2.1.0";
+  version = "2.1.1";
   name = "hyper-${version}";
   src = fetchurl {
     url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb";
-    sha256 = "0ss0ip6yc7sd8b1lx504nxckqmxjiqcz105wi3226nzyan489q3g";
+    sha256 = "1vr4j2vb2wpn8qzgq30l8kfck2an03jwchwywyx4zsl2vz3qp70x";
   };
   buildInputs = [ dpkg ];
   unpackPhase = ''
diff --git a/pkgs/applications/misc/qMasterPassword/default.nix b/pkgs/applications/misc/qMasterPassword/default.nix
new file mode 100644
index 000000000000..e0a1e33dc628
--- /dev/null
+++ b/pkgs/applications/misc/qMasterPassword/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, qtbase, qmake, libX11, libXtst, openssl, libscrypt }:
+
+stdenv.mkDerivation rec {
+  name = "qMasterPassword";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "bkueng";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "0l0jarvfdc69rcjl2wa0ixq8gp3fmjsy9n84m38sxf3n9j2bh13c";
+  };
+
+  buildInputs = [ qtbase libX11 libXtst openssl libscrypt ];
+  nativeBuildInputs = [ qmake ];
+
+  # Upstream install is mostly defunct. It hardcodes target.path and doesn't
+  # install anything but the binary.
+  installPhase = if stdenv.isDarwin then ''
+    mkdir -p "$out"/{Applications,bin}
+    mv qMasterPassword.app "$out"/Applications/
+    ln -s ../Applications/qMasterPassword.app/Contents/MacOS/qMasterPassword "$out"/bin/qMasterPassword
+  '' else ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/{applications,doc/qMasterPassword,icons/qmasterpassword,icons/hicolor/512x512/apps}
+    mv qMasterPassword $out/bin
+    mv data/qMasterPassword.desktop $out/share/applications
+    mv LICENSE README.md $out/share/doc/qMasterPassword
+    mv data/icons/app_icon.png $out/share/icons/hicolor/512x512/apps/qmasterpassword.png
+    mv data/icons/* $out/share/icons/qmasterpassword
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Stateless Master Password Manager";
+    longDescription = ''
+      Access all your passwords using only a single master password. But in
+      contrast to other managers it does not store any passwords: Unique
+      passwords are generated from the master password and a site name. This
+      means you automatically get different passwords for each account and
+      there is no password file that can be lost or get stolen. There is also
+      no need to trust any online password service.
+    '';
+    homepage = https://github.com/bkueng/qMasterPassword;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.tadeokondrak ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/sigal/default.nix b/pkgs/applications/misc/sigal/default.nix
index e57e9394c105..a10b58d00b61 100644
--- a/pkgs/applications/misc/sigal/default.nix
+++ b/pkgs/applications/misc/sigal/default.nix
@@ -1,16 +1,16 @@
-{ lib, buildPythonApplication, fetchPypi, pythonPackages, ffmpeg }:
+{ lib, python3Packages, ffmpeg }:
 
-buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   version = "1.4.1";
   pname   = "sigal";
 
-  src = fetchPypi {
+  src = python3Packages.fetchPypi {
     inherit version pname;
     sha256 = "1fg32ii26j3xpq3cryi212lx9z33qnicm1cszwv1wfpg6sr2rr61";
   };
 
-  buildInputs = with pythonPackages; [ pytest ];
-  propagatedBuildInputs = with pythonPackages; [
+  checkInputs = with python3Packages; [ pytest ];
+  propagatedBuildInputs = with python3Packages; [
     jinja2
     markdown
     pillow
@@ -32,4 +32,3 @@ buildPythonApplication rec {
     maintainers = with maintainers; [ domenkozar ];
   };
 }
-
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
index 81553a74e9f4..b6ea06fc113f 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -100,6 +100,7 @@ stdenv.mkDerivation rec {
     maintainers = [];
     platforms = [ "x86_64-linux" ];
     # Application crashed with an unhandled SIGSEGV
-    broken = true;
+    # Not on all systems, though. Video driver problem?
+    broken = false;
   };
 }
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 251315619cfd..569a4593dfee 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -1,26 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, libsoup, webkit, gtk2, glib-networking
-, gsettings-desktop-schemas, makeWrapper
+{ stdenv, fetchFromGitHub, pkgconfig, libsoup, webkit, gtk3, glib-networking
+, gsettings-desktop-schemas, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   name = "vimb-${version}";
-  version = "3.1.0";
+  version = "3.3.0";
 
-  src = fetchurl {
-    url = "https://github.com/fanglingsu/vimb/archive/${version}.tar.gz";
-    sha256 = "1gws028c2v1zh6r142hmjvi2m447lwqqh65m6z3dzcar2yw35z3f";
+  src = fetchFromGitHub {
+    owner = "fanglingsu";
+    repo = "vimb";
+    rev = version;
+    sha256 = "1qg18z2gnsli9qgrqfhqfrsi6g9mcgr90w8yab28nxrq4aha6brf";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper gtk2 libsoup webkit gsettings-desktop-schemas ];
+  nativeBuildInputs = [ wrapGAppsHook pkgconfig ];
+  buildInputs = [ gtk3 libsoup webkit glib-networking gsettings-desktop-schemas ];
 
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/vimb" \
-      --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = {
     description = "A Vim-like browser";
diff --git a/pkgs/applications/networking/cluster/kubectl/default.nix b/pkgs/applications/networking/cluster/kubectl/default.nix
new file mode 100644
index 000000000000..4dbd3d38d31d
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubectl/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, kubernetes }:
+
+stdenv.mkDerivation {
+  name = "kubectl-${kubernetes.version}";
+
+  # kubectl is currently part of the main distribution but will eventially be
+  # split out (see homepage)
+  src = kubernetes;
+
+  outputs = [ "out" "man" ];
+
+  doBuild = false;
+
+  installPhase = ''
+    mkdir -p \
+      "$out/bin" \
+      "$out/share/bash-completion/completions" \
+      "$out/share/zsh/site-functions" \
+      "$man/share/man/man1"
+
+    cp bin/kubectl $out/bin/kubectl
+
+    cp "${kubernetes.man}/share/man/man1"/kubectl* "$man/share/man/man1"
+
+    $out/bin/kubectl completion bash > $out/share/bash-completion/completions/kubectl
+    $out/bin/kubectl completion zsh > $out/share/zsh/site-functions/_kubectl
+  '';
+
+  meta = kubernetes.meta // {
+    description = "Kubernetes CLI";
+    homepage = "https://github.com/kubernetes/kubectl";
+  };
+}
diff --git a/pkgs/applications/networking/feedreaders/rawdog/default.nix b/pkgs/applications/networking/feedreaders/rawdog/default.nix
index 3a5983c2e276..6bdaf2ffaf48 100644
--- a/pkgs/applications/networking/feedreaders/rawdog/default.nix
+++ b/pkgs/applications/networking/feedreaders/rawdog/default.nix
@@ -2,11 +2,11 @@
 
 python2Packages.buildPythonApplication rec {
   name = "rawdog-${version}";
-  version = "2.22";
+  version = "2.23";
 
   src = fetchurl {
     url = "https://offog.org/files/${name}.tar.gz";
-    sha256 = "01ircwl80xi5lamamsb22i7vmsh2ysq3chn9mbsdhqic2i32hcz0";
+    sha256 = "18nyg19mwxyqdnykplkqmzb4n27vvrhvp639zai8f81gg9vdbsjp";
   };
 
   propagatedBuildInputs = with python2Packages; [ feedparser ];
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 1322992601aa..809c13d0757a 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -4,8 +4,8 @@ let
   mkTelegram = args: qt5.callPackage (import ./generic.nix args) { };
   stableVersion = {
     stable = true;
-    version = "1.5.4";
-    sha256Hash = "0a52m5qkvk01yl3za3k7pccjrqkr8gbxqnj5lnhh1im1pdxqwh4m";
+    version = "1.5.8";
+    sha256Hash = "0sl4p4a7fyh68g01rddiy719lyr321cjar78b3c732zxfj8lxvkb";
     # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
     archPatchesRevision = "415526";
     archPatchesHash = "1lfzws90ab0vajhm5r64gyyqqc1g6a2ay0a1vkp0ah1iw5jh11ik";
@@ -14,7 +14,5 @@ in {
   stable = mkTelegram stableVersion;
   preview = mkTelegram (stableVersion // {
     stable = false;
-    version = "1.5.7";
-    sha256Hash = "0mpnz287ahzrcr50ira6h6ry5jjhp5wqi660s3kncxpq1wllj0h6";
   });
 }
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/fix-internal-compiler-error.patch b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/fix-internal-compiler-error.patch
deleted file mode 100644
index 1c79840d6260..000000000000
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/fix-internal-compiler-error.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Date: Tue, 17 Jul 2018 20:29:49 +0200
-
----
- Telegram/SourceFiles/export/data/export_data_types.cpp | 9 ++++++---
- Telegram/SourceFiles/export/export_api_wrap.cpp        | 6 ++++--
- 2 files changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/Telegram/SourceFiles/export/data/export_data_types.cpp b/Telegram/SourceFiles/export/data/export_data_types.cpp
-index f835dc2f9..e811c27e8 100644
---- a/Telegram/SourceFiles/export/data/export_data_types.cpp
-+++ b/Telegram/SourceFiles/export/data/export_data_types.cpp
-@@ -221,7 +221,8 @@ Image ParseMaxImage(
- 				result.width = data.vw.v;
- 				result.height = data.vh.v;
- 				result.file.location = ParseLocation(data.vlocation);
--				if constexpr (MTPDphotoCachedSize::Is<decltype(data)>()) {
-+				constexpr bool condition = MTPDphotoCachedSize::Is<decltype(data)>();
-+				if constexpr (condition) {
- 					result.file.content = data.vbytes.v;
- 					result.file.size = result.file.content.size();
- 				} else {
-@@ -409,7 +410,8 @@ Document ParseDocument(
- 			result.width = data.vw.v;
- 			result.height = data.vh.v;
- 			result.file.location = ParseLocation(data.vlocation);
--			if constexpr (MTPDphotoCachedSize::Is<decltype(data)>()) {
-+			constexpr bool condition = MTPDphotoCachedSize::Is<decltype(data)>();
-+			if constexpr (condition) {
- 				result.file.content = data.vbytes.v;
- 				result.file.size = result.file.content.size();
- 			} else {
-@@ -1017,7 +1019,8 @@ Message ParseMessage(
- 	auto result = Message();
- 	data.match([&](const auto &data) {
- 		result.id = data.vid.v;
--		if constexpr (!MTPDmessageEmpty::Is<decltype(data)>()) {
-+		constexpr bool condition = !MTPDmessageEmpty::Is<decltype(data)>();
-+		if constexpr (condition) {
- 			result.toId = ParsePeerId(data.vto_id);
- 			const auto peerId = (!data.is_out()
- 				&& data.has_from_id()
-diff --git a/Telegram/SourceFiles/export/export_api_wrap.cpp b/Telegram/SourceFiles/export/export_api_wrap.cpp
-index b618937f6..bb98647dd 100644
---- a/Telegram/SourceFiles/export/export_api_wrap.cpp
-+++ b/Telegram/SourceFiles/export/export_api_wrap.cpp
-@@ -709,7 +709,8 @@ void ApiWrap::handleUserpicsSlice(const MTPphotos_Photos &result) {
- 	Expects(_userpicsProcess != nullptr);
- 
- 	result.match([&](const auto &data) {
--		if constexpr (MTPDphotos_photos::Is<decltype(data)>()) {
-+		constexpr bool condition = MTPDphotos_photos::Is<decltype(data)>();
-+		if constexpr (condition) {
- 			_userpicsProcess->lastSlice = true;
- 		}
- 		loadUserpicsFiles(Data::ParseUserpicsSlice(
-@@ -1141,7 +1142,8 @@ void ApiWrap::requestMessagesSlice() {
- 		result.match([&](const MTPDmessages_messagesNotModified &data) {
- 			error("Unexpected messagesNotModified received.");
- 		}, [&](const auto &data) {
--			if constexpr (MTPDmessages_messages::Is<decltype(data)>()) {
-+			constexpr bool condition = MTPDmessages_messages::Is<decltype(data)>();
-+			if constexpr (condition) {
- 				_chatProcess->lastSlice = true;
- 			}
- 			loadMessagesFiles(Data::ParseMessagesSlice(
--- 
-2.16.3
-
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix
index c20da7eeb665..c32e6b186b7a 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/generic.nix
@@ -29,12 +29,7 @@ mkDerivation rec {
   };
 
   # TODO: libtgvoip.patch no-gtk2.patch
-  patches = [
-      "${archPatches}/tdesktop.patch"
-    ]
-    # TODO: Only required to work around a compiler bug.
-    # This should be fixed in GCC 7.3.1 (or later?)
-    ++ [ ./fix-internal-compiler-error.patch ];
+  patches = [ "${archPatches}/tdesktop.patch" ];
 
   postPatch = ''
     substituteInPlace Telegram/SourceFiles/platform/linux/linux_libs.cpp \
diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix
index a778042c2ea2..442881398f63 100644
--- a/pkgs/applications/networking/remote/xrdp/default.nix
+++ b/pkgs/applications/networking/remote/xrdp/default.nix
@@ -3,13 +3,13 @@
 let
   xorgxrdp = stdenv.mkDerivation rec {
     name = "xorgxrdp-${version}";
-    version = "0.2.7";
+    version = "0.2.9";
 
     src = fetchFromGitHub {
       owner = "neutrinolabs";
       repo = "xorgxrdp";
       rev = "v${version}";
-      sha256 = "15idwgcjgwa9in8y1bblpj67y7w0bfngc2sa0hd9hn0dinrlifrk";
+      sha256 = "1bhp5x47hajhinvglmc4vxxnpjvfjm6369njb3ghqfr7c5xypvzr";
     };
 
     nativeBuildInputs = [ pkgconfig autoconf automake which libtool nasm ];
@@ -34,15 +34,15 @@ let
   };
 
   xrdp = stdenv.mkDerivation rec {
-    version = "0.9.7";
+    version = "0.9.9";
     name = "xrdp-${version}";
 
     src = fetchFromGitHub {
       owner = "volth";
       repo = "xrdp";
-      rev = "refs/heads/runtime-cfg-path-${version}";  # Fixes https://github.com/neutrinolabs/xrdp/issues/609; not a patch on top of the official repo because "xorgxrdp.configureFlags" above includes "xrdp.src" which must be patched already
+      rev = "refs/tags/runtime-cfg-path-${version}";  # Fixes https://github.com/neutrinolabs/xrdp/issues/609; not a patch on top of the official repo because "xorgxrdp.configureFlags" above includes "xrdp.src" which must be patched already
       fetchSubmodules = true;
-      sha256 = "1dw2zl9zh6win1q0kxj08n9fawpcrs1krjh5978wp0jmq8sdbn7k";
+      sha256 = "0ynj6pml4f38y8571ryhifza57wfqg4frdrjcwzw3fmryiznfm1z";
     };
 
     nativeBuildInputs = [ pkgconfig autoconf automake which libtool nasm ];
diff --git a/pkgs/applications/science/chemistry/marvin/LicenseManager.desktop b/pkgs/applications/science/chemistry/marvin/LicenseManager.desktop
new file mode 100755
index 000000000000..90b8ed7d20a5
--- /dev/null
+++ b/pkgs/applications/science/chemistry/marvin/LicenseManager.desktop
@@ -0,0 +1,9 @@
+#!/usr/bin/env xdg-open
+[Desktop Entry]
+Type=Application
+Name=ChemAxon License Manager
+Exec=@out@/bin/LicenseManager
+Icon=LicenseManager
+Categories=Education;Science;Chemistry;
+StartupWMClass=com-install4j-runtime-launcher-UnixLauncher
+Comment=License manager for ChemAxon software like MarvinSketch
diff --git a/pkgs/applications/science/chemistry/marvin/MarvinSketch.desktop b/pkgs/applications/science/chemistry/marvin/MarvinSketch.desktop
new file mode 100755
index 000000000000..d6e0343a78c3
--- /dev/null
+++ b/pkgs/applications/science/chemistry/marvin/MarvinSketch.desktop
@@ -0,0 +1,10 @@
+#!/usr/bin/env xdg-open
+[Desktop Entry]
+Type=Application
+Name=MarvinSketch
+Exec=@out@/bin/msketch %f
+Icon=MarvinSketch
+MimeType=text/xml;text/plain;chemical/x-cml;chemical/x-mdl-molfile;chemical/x-mdl-sdfile;chemical/x-mol2;chemical/x-pdb;chemical/x-xyz;chemical/x-mdl-rdfile;chemical/x-mdl-rxnfile;chemical/x-inchi;
+Categories=Education;Science;Chemistry;
+StartupWMClass=com-install4j-runtime-launcher-UnixLauncher
+Comment=Molecular modelling, analysis and structure drawing program
diff --git a/pkgs/applications/science/chemistry/marvin/MarvinView.desktop b/pkgs/applications/science/chemistry/marvin/MarvinView.desktop
new file mode 100755
index 000000000000..07a3c3c7cf33
--- /dev/null
+++ b/pkgs/applications/science/chemistry/marvin/MarvinView.desktop
@@ -0,0 +1,10 @@
+#!/usr/bin/env xdg-open
+[Desktop Entry]
+Type=Application
+Name=MarvinView
+Exec=@out@/bin/mview %f
+Icon=MarvinView
+Comment=Molecule viewing program
+MimeType=text/xml;text/plain;chemical/x-cml;chemical/x-mdl-molfile;chemical/x-mdl-sdfile;chemical/x-mol2;chemical/x-pdb;chemical/x-xyz;chemical/x-mdl-rdfile;chemical/x-mdl-rxnfile;chemical/x-inchi;
+Categories=Education;Science;Chemistry;
+StartupWMClass=com-install4j-runtime-launcher-UnixLauncher
diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix
new file mode 100644
index 000000000000..948aed03fe5e
--- /dev/null
+++ b/pkgs/applications/science/chemistry/marvin/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, dpkg, makeWrapper, coreutils, gawk, gnugrep, gnused, jre }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "marvin";
+  version = "19.1.0";
+
+  src = fetchurl {
+    name = "marvin-${version}.deb";
+    url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
+    sha256 = "1ccsimfvms5q4prjyk6sg5hsc3hkcjjfq3gl7jjm8dgd2173zzyc";
+  };
+
+  nativeBuildInputs = [ dpkg makeWrapper ];
+
+  unpackPhase = ''
+    dpkg-deb -x $src opt
+  '';
+
+  installPhase = ''
+    wrapBin() {
+      makeWrapper $1 $out/bin/$(basename $1) \
+        --set INSTALL4J_JAVA_HOME "${jre}" \
+        --prefix PATH : ${makeBinPath [ coreutils gawk gnugrep gnused ]}
+    }
+    cp -r opt $out
+    mkdir -p $out/bin $out/share/pixmaps $out/share/applications
+    for name in LicenseManager MarvinSketch MarvinView; do
+      wrapBin $out/opt/chemaxon/marvinsuite/$name
+      ln -s {$out/opt/chemaxon/marvinsuite/.install4j,$out/share/pixmaps}/$name.png
+    done
+    for name in cxcalc cxtrain evaluate molconvert mview msketch; do
+      wrapBin $out/opt/chemaxon/marvinsuite/bin/$name
+    done
+    ${concatStrings (map (name: ''
+      substitute ${./. + "/${name}.desktop"} $out/share/applications/${name}.desktop --subst-var out
+    '') [ "LicenseManager" "MarvinSketch" "MarvinView" ])}
+  '';
+
+  meta = {
+    description = "A chemical modelling, analysis and structure drawing program";
+    homepage = https://chemaxon.com/products/marvin;
+    maintainers = with maintainers; [ fusion809 ];
+    license = licenses.unfree;
+    platforms = platforms.linux;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 16fdab59ea02..407244ef1830 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "lean-${version}";
-  version = "3.4.1";
+  version = "3.4.2";
 
   src = fetchFromGitHub {
     owner  = "leanprover";
     repo   = "lean";
     rev    = "v${version}";
-    sha256 = "0ww8azlyy3xikhd7nh96f507sg23r53zvayij1mwv5513vmblhhw";
+    sha256 = "0zpnfg6kyg120rrdr336i1lymmzz4xgcqpn96iavhzhlaanmx55l";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Automatic and interactive theorem prover";
-    homepage    = "http://leanprover.github.io";
+    homepage    = https://leanprover.github.io/;
     license     = licenses.asl20;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice gebner ];
diff --git a/pkgs/applications/science/logic/sapic/default.nix b/pkgs/applications/science/logic/sapic/default.nix
deleted file mode 100644
index 27efe865a9d9..000000000000
--- a/pkgs/applications/science/logic/sapic/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, unzip, ocaml }:
-
-stdenv.mkDerivation rec {
-  name = "sapic-${version}";
-  version = "0.9";
-
-  src = fetchurl {
-    url    = "http://sapic.gforge.inria.fr/${name}.zip";
-    sha256 = "1ckl090lpyfh90mkjhnpcys5grs3nrl9wlbn9nfkxxnaivn2yx9y";
-  };
-
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [ ocaml ];
-  patches = [ ./native.patch ]; # create a native binary, not a bytecode one
-
-  buildPhase = "make depend && make";
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ./sapic $out/bin
-  '';
-
-  meta = {
-    description = "Stateful applied Pi Calculus for protocol verification";
-    homepage    = http://sapic.gforge.inria.fr/;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
-  };
-}
diff --git a/pkgs/applications/science/logic/sapic/native.patch b/pkgs/applications/science/logic/sapic/native.patch
deleted file mode 100644
index 6e0b98113df2..000000000000
--- a/pkgs/applications/science/logic/sapic/native.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/Makefile b/Makefile
-index a1de94d..f9e2eb8 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,8 +1,8 @@
- TARGET = sapic
--OBJS=lexer.cmo apip.cmo  firsttranslation.cmo main.cmo #secondtranslation.cmo thirdtranslation.cmo main.cmo
-+OBJS=lexer.cmx apip.cmx firsttranslation.cmx main.cmx
- 
- sapic: $(OBJS)
--	ocamlc -o $@ $(OBJS)
-+	ocamlopt.opt -o $@ $(OBJS)
- 
- depend:
- 	ocamldep *.ml *.mli > .depend
-@@ -13,17 +13,17 @@ clean:
- 	rm -rf *.cmi *.cmo $(TARGET)
- 	rm -rf apip.ml apip.mli lexer.ml lexer.mli
- 
--.SUFFIXES: .ml .mli .mll .mly .cmo .cmi
-+.SUFFIXES: .ml .mli .mll .mly .cmo .cmi .cmx
- 
--.ml.cmo:
--	ocamlc -c $<
-+.ml.cmx:
-+	ocamlopt.opt -c $<
- .mli.cmi:
--	ocamlc -c $<
-+	ocamlopt.opt -c $<
- .mll.ml:
- 	ocamllex $<
- .mly.ml:
- 	ocamlyacc $<
- .ml.mli:
--	ocamlc -i $< > $@
-+	ocamlopt.opt -i $< > $@
- 
- -include .depend
diff --git a/pkgs/applications/science/logic/tamarin-prover/default.nix b/pkgs/applications/science/logic/tamarin-prover/default.nix
index 9056eab71ea3..40378f8c04d5 100644
--- a/pkgs/applications/science/logic/tamarin-prover/default.nix
+++ b/pkgs/applications/science/logic/tamarin-prover/default.nix
@@ -1,15 +1,15 @@
 { haskellPackages, mkDerivation, fetchFromGitHub, lib
 # the following are non-haskell dependencies
-, makeWrapper, which, maude, graphviz, sapic
+, makeWrapper, which, maude, graphviz, ocaml
 }:
 
 let
-  version = "1.4.0";
+  version = "1.4.1";
   src = fetchFromGitHub {
     owner  = "tamarin-prover";
     repo   = "tamarin-prover";
-    rev    = "7ced07a69f8e93178f9a95797479277a736ae572";
-    sha256 = "02pyw22h90228g6qybjpdvpcm9d5lh96f5qwmy2hv2bylz05z3nn";
+    rev    = "d2e1c57311ce4ed0ef46d0372c4995b8fdc25323";
+    sha256 = "1bf2qvb646jg3qxd6jgp9ja3wlr888wchxi9mfr3kg7hfn63vxbq";
   };
 
   # tamarin has its own dependencies, but they're kept inside the repo,
@@ -32,7 +32,6 @@ let
 
   tamarin-prover-utils = mkDerivation (common "tamarin-prover-utils" (src + "/lib/utils") // {
     postPatch = replaceSymlinks;
-    patches = [ ./ghc-8.4-support-utils.patch ];
     libraryHaskellDepends = with haskellPackages; [
       base base64-bytestring binary blaze-builder bytestring containers
       deepseq dlist fclabels mtl pretty safe SHA syb time transformers
@@ -41,7 +40,6 @@ let
 
   tamarin-prover-term = mkDerivation (common "tamarin-prover-term" (src + "/lib/term") // {
     postPatch = replaceSymlinks;
-    patches = [ ./ghc-8.4-support-term.patch ];
     libraryHaskellDepends = (with haskellPackages; [
       attoparsec base binary bytestring containers deepseq dlist HUnit
       mtl process safe
@@ -50,7 +48,6 @@ let
 
   tamarin-prover-theory = mkDerivation (common "tamarin-prover-theory" (src + "/lib/theory") // {
     postPatch = replaceSymlinks;
-    patches = [ ./ghc-8.4-support-theory.patch ];
     doHaddock = false; # broken
     libraryHaskellDepends = (with haskellPackages; [
       aeson aeson-pretty base binary bytestring containers deepseq dlist
@@ -75,20 +72,28 @@ mkDerivation (common "tamarin-prover" src // {
 
     sed -ie 's~\( *, \)mtl~&\
     \1monad-control~' tamarin-prover.cabal
+
+    patch -p1 < ${./sapic-native.patch}
+  '';
+
+  postBuild = ''
+    cd plugins/sapic && make sapic && cd ../..
   '';
 
   # wrap the prover to be sure it can find maude, sapic, etc
-  executableToolDepends = [ makeWrapper which maude graphviz sapic ];
+  executableToolDepends = [ makeWrapper which maude graphviz ];
   postInstall = ''
     wrapProgram $out/bin/tamarin-prover \
-      --prefix PATH : ${lib.makeBinPath [ which maude graphviz sapic ]}
+      --prefix PATH : ${lib.makeBinPath [ which maude graphviz ]}
     # so that the package can be used as a vim plugin to install syntax coloration
     install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/{spthy,sapic}.vim
     install etc/filetype.vim -D $out/share/vim-plugins/tamarin-prover/ftdetect/tamarin.vim
+    install -m0755 ./plugins/sapic/sapic $out/bin/sapic
   '';
 
   checkPhase = "./dist/build/tamarin-prover/tamarin-prover test";
 
+  executableSystemDepends = [ ocaml ];
   executableHaskellDepends = (with haskellPackages; [
     base binary binary-orphans blaze-builder blaze-html bytestring
     cmdargs conduit containers monad-control deepseq directory fclabels file-embed
diff --git a/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-term.patch b/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-term.patch
deleted file mode 100644
index f93919faf54e..000000000000
--- a/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-term.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From a08f6e400772899b9b0fc16befc50391cd70696b Mon Sep 17 00:00:00 2001
-From: Felix Yan <felixonmars@archlinux.org>
-Date: Fri, 18 May 2018 16:24:41 +0800
-Subject: [PATCH] GHC 8.4 support
-
----
- src/Term/Maude/Signature.hs          |  8 ++--
- src/Term/Rewriting/Definitions.hs    | 23 ++++++----
- src/Term/Unification.hs              |  4 +-
- 11 files changed, 79 insertions(+), 48 deletions(-)
-
-diff --git a/src/Term/Maude/Signature.hs b/src/Term/Maude/Signature.hs
-index 98c25d9f..1a4ce82f 100644
---- a/src/Term/Maude/Signature.hs
-+++ b/src/Term/Maude/Signature.hs
-@@ -104,9 +104,9 @@ maudeSig msig@(MaudeSig {enableDH,enableBP,enableMSet,enableXor,enableDiff=_,stF
-           `S.union` dhReducibleFunSig `S.union` bpReducibleFunSig `S.union` xorReducibleFunSig
- 
- -- | A monoid instance to combine maude signatures.
--instance Monoid MaudeSig where
--    (MaudeSig dh1 bp1 mset1 xor1 diff1 stFunSyms1 stRules1 _ _) `mappend`
--      (MaudeSig dh2 bp2 mset2 xor2 diff2 stFunSyms2 stRules2 _ _) =
-+instance Semigroup MaudeSig where
-+    MaudeSig dh1 bp1 mset1 xor1 diff1 stFunSyms1 stRules1 _ _ <>
-+      MaudeSig dh2 bp2 mset2 xor2 diff2 stFunSyms2 stRules2 _ _ =
-           maudeSig (mempty {enableDH=dh1||dh2
-                            ,enableBP=bp1||bp2
-                            ,enableMSet=mset1||mset2
-@@ -114,6 +114,8 @@ instance Monoid MaudeSig where
-                            ,enableDiff=diff1||diff2
-                            ,stFunSyms=S.union stFunSyms1 stFunSyms2
-                            ,stRules=S.union stRules1 stRules2})
-+
-+instance Monoid MaudeSig where
-     mempty = MaudeSig False False False False False S.empty S.empty S.empty S.empty
- 
- -- | Non-AC function symbols.
-diff --git a/src/Term/Rewriting/Definitions.hs b/src/Term/Rewriting/Definitions.hs
-index bd942b6a..18562e4e 100644
---- a/src/Term/Rewriting/Definitions.hs
-+++ b/src/Term/Rewriting/Definitions.hs
-@@ -44,10 +44,12 @@ evalEqual (Equal l r) = l == r
- instance Functor Equal where
-     fmap f (Equal lhs rhs) = Equal (f lhs) (f rhs)
- 
-+instance Semigroup a => Semigroup (Equal a) where
-+    (Equal l1 r1) <> (Equal l2 r2) =
-+        Equal (l1 <> l2) (r1 <> r2)
-+
- instance Monoid a => Monoid (Equal a) where
-     mempty                                = Equal mempty mempty
--    (Equal l1 r1) `mappend` (Equal l2 r2) =
--        Equal (l1 `mappend` l2) (r1 `mappend` r2)
- 
- instance Foldable Equal where
-     foldMap f (Equal l r) = f l `mappend` f r
-@@ -104,14 +106,15 @@ instance Functor Match where
-     fmap _ NoMatch             = NoMatch
-     fmap f (DelayedMatches ms) = DelayedMatches (fmap (f *** f) ms)
- 
-+instance Semigroup (Match a) where
-+    NoMatch            <> _                  = NoMatch
-+    _                  <> NoMatch            = NoMatch
-+    DelayedMatches ms1 <> DelayedMatches ms2 =
-+        DelayedMatches (ms1 <> ms2)
-+
- instance Monoid (Match a) where
-     mempty = DelayedMatches []
- 
--    NoMatch            `mappend` _                  = NoMatch
--    _                  `mappend` NoMatch            = NoMatch
--    DelayedMatches ms1 `mappend` DelayedMatches ms2 =
--        DelayedMatches (ms1 `mappend` ms2)
--
- 
- instance Foldable Match where
-     foldMap _ NoMatch             = mempty
-@@ -136,10 +139,12 @@ data RRule a = RRule a a
- instance Functor RRule where
-     fmap f (RRule lhs rhs) = RRule (f lhs) (f rhs)
- 
-+instance Monoid a => Semigroup (RRule a) where
-+    (RRule l1 r1) <> (RRule l2 r2) =
-+        RRule (l1 <> l2) (r1 <> r2)
-+
- instance Monoid a => Monoid (RRule a) where
-     mempty                                = RRule mempty mempty
--    (RRule l1 r1) `mappend` (RRule l2 r2) =
--        RRule (l1 `mappend` l2) (r1 `mappend` r2)
- 
- instance Foldable RRule where
-     foldMap f (RRule l r) = f l `mappend` f r
-diff --git a/src/Term/Unification.hs b/src/Term/Unification.hs
-index e1de0163..7ce6bb41 100644
---- a/src/Term/Unification.hs
-+++ b/src/Term/Unification.hs
-@@ -265,9 +265,11 @@ unifyRaw l0 r0 = do
- 
- data MatchFailure = NoMatcher | ACProblem
- 
-+instance Semigroup MatchFailure where
-+  _ <> _ = NoMatcher
-+
- instance Monoid MatchFailure where
-   mempty = NoMatcher
--  mappend _ _ = NoMatcher
- 
- -- | Ensure that the computed substitution @sigma@ satisfies
- -- @t ==_AC apply sigma p@ after the delayed equations are solved.
diff --git a/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-theory.patch b/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-theory.patch
deleted file mode 100644
index f7393e37f1b2..000000000000
--- a/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-theory.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From a08f6e400772899b9b0fc16befc50391cd70696b Mon Sep 17 00:00:00 2001
-From: Felix Yan <felixonmars@archlinux.org>
-Date: Fri, 18 May 2018 16:24:41 +0800
-Subject: [PATCH] GHC 8.4 support
-
----
- src/Theory/Proof.hs                | 43 +++++++++++--------
- 11 files changed, 79 insertions(+), 48 deletions(-)
-
-diff --git a/src/Theory/Constraint/Solver/Reduction.hs b/src/Theory/Constraint/Solver/Reduction.hs
-index ddbc965a..6daadd0d 100644
---- a/src/Theory/Constraint/Solver/Reduction.hs
-+++ b/src/Theory/Constraint/Solver/Reduction.hs
-@@ -139,13 +139,14 @@ execReduction m ctxt se fs =
- data ChangeIndicator = Unchanged | Changed
-        deriving( Eq, Ord, Show )
- 
-+instance Semigroup ChangeIndicator where
-+    Changed   <> _         = Changed
-+    _         <> Changed   = Changed
-+    Unchanged <> Unchanged = Unchanged
-+
- instance Monoid ChangeIndicator where
-     mempty = Unchanged
- 
--    Changed   `mappend` _         = Changed
--    _         `mappend` Changed   = Changed
--    Unchanged `mappend` Unchanged = Unchanged
--
- -- | Return 'True' iff there was a change.
- wasChanged :: ChangeIndicator -> Bool
- wasChanged Changed   = True
-diff --git a/src/Theory/Constraint/System/Guarded.hs b/src/Theory/Constraint/System/Guarded.hs
-index f98fc7c2..2aac8ce2 100644
---- a/src/Theory/Constraint/System/Guarded.hs
-+++ b/src/Theory/Constraint/System/Guarded.hs
-@@ -435,7 +435,7 @@ gall ss atos gf               = GGuarded All ss atos gf
- 
- -- | Local newtype to avoid orphan instance.
- newtype ErrorDoc d = ErrorDoc { unErrorDoc :: d }
--    deriving( Monoid, NFData, Document, HighlightDocument )
-+    deriving( Monoid, Semigroup, NFData, Document, HighlightDocument )
- 
- -- | @formulaToGuarded fm@ returns a guarded formula @gf@ that is
- -- equivalent to @fm@ under the assumption that this is possible.
-diff --git a/src/Theory/Proof.hs b/src/Theory/Proof.hs
-index 74fb77b1..7971b9fc 100644
---- a/src/Theory/Proof.hs
-+++ b/src/Theory/Proof.hs
-@@ -388,17 +388,19 @@ data ProofStatus =
-        | TraceFound         -- ^ There is an annotated solved step
-     deriving ( Show, Generic, NFData, Binary )
- 
-+instance Semigroup ProofStatus where
-+    TraceFound <> _                        = TraceFound
-+    _ <> TraceFound                        = TraceFound
-+    IncompleteProof <> _                   = IncompleteProof
-+    _ <> IncompleteProof                   = IncompleteProof
-+    _ <> CompleteProof                     = CompleteProof
-+    CompleteProof <> _                     = CompleteProof
-+    UndeterminedProof <> UndeterminedProof = UndeterminedProof
-+
-+
- instance Monoid ProofStatus where
-     mempty = CompleteProof
- 
--    mappend TraceFound _                        = TraceFound
--    mappend _ TraceFound                        = TraceFound
--    mappend IncompleteProof _                   = IncompleteProof
--    mappend _ IncompleteProof                   = IncompleteProof
--    mappend _ CompleteProof                     = CompleteProof
--    mappend CompleteProof _                     = CompleteProof
--    mappend UndeterminedProof UndeterminedProof = UndeterminedProof
--
- -- | The status of a 'ProofStep'.
- proofStepStatus :: ProofStep (Maybe a) -> ProofStatus
- proofStepStatus (ProofStep _         Nothing ) = UndeterminedProof
-@@ -560,10 +562,12 @@ newtype Prover =  Prover
-               -> Maybe IncrementalProof    -- resulting proof
-           }
- 
-+instance Semigroup Prover where
-+    p1 <> p2 = Prover $ \ctxt d se ->
-+        runProver p1 ctxt d se >=> runProver p2 ctxt d se
-+
- instance Monoid Prover where
-     mempty          = Prover $ \_  _ _ -> Just
--    p1 `mappend` p2 = Prover $ \ctxt d se ->
--        runProver p1 ctxt d se >=> runProver p2 ctxt d se
- 
- -- | Provers whose sequencing is handled via the 'Monoid' instance.
- --
-@@ -579,10 +583,12 @@ newtype DiffProver =  DiffProver
-               -> Maybe IncrementalDiffProof    -- resulting proof
-           }
- 
-+instance Semigroup DiffProver where
-+    p1 <> p2 = DiffProver $ \ctxt d se ->
-+        runDiffProver p1 ctxt d se >=> runDiffProver p2 ctxt d se
-+
- instance Monoid DiffProver where
-     mempty          = DiffProver $ \_  _ _ -> Just
--    p1 `mappend` p2 = DiffProver $ \ctxt d se ->
--        runDiffProver p1 ctxt d se >=> runDiffProver p2 ctxt d se
- 
- -- | Map the proof generated by the prover.
- mapProverProof :: (IncrementalProof -> IncrementalProof) -> Prover -> Prover
-@@ -784,15 +790,16 @@ runAutoDiffProver (AutoProver heuristic bound cut) =
- -- | The result of one pass of iterative deepening.
- data IterDeepRes = NoSolution | MaybeNoSolution | Solution ProofPath
- 
-+instance Semigroup IterDeepRes where
-+    x@(Solution _)   <> _                = x
-+    _                <> y@(Solution _)   = y
-+    MaybeNoSolution  <> _                = MaybeNoSolution
-+    _                <> MaybeNoSolution  = MaybeNoSolution
-+    NoSolution       <> NoSolution       = NoSolution
-+
- instance Monoid IterDeepRes where
-     mempty = NoSolution
- 
--    x@(Solution _)   `mappend` _                = x
--    _                `mappend` y@(Solution _)   = y
--    MaybeNoSolution  `mappend` _                = MaybeNoSolution
--    _                `mappend` MaybeNoSolution  = MaybeNoSolution
--    NoSolution       `mappend` NoSolution       = NoSolution
--
- -- | @cutOnSolvedDFS prf@ removes all other cases if an attack is found. The
- -- attack search is performed using a parallel DFS traversal with iterative
- -- deepening.
diff --git a/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-utils.patch b/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-utils.patch
deleted file mode 100644
index d6cd6d73f99e..000000000000
--- a/pkgs/applications/science/logic/tamarin-prover/ghc-8.4-support-utils.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-From a08f6e400772899b9b0fc16befc50391cd70696b Mon Sep 17 00:00:00 2001
-From: Felix Yan <felixonmars@archlinux.org>
-Date: Fri, 18 May 2018 16:24:41 +0800
-Subject: [PATCH] GHC 8.4 support
-
----
- src/Extension/Data/Bounded.hs       | 10 ++++-
- src/Extension/Data/Monoid.hs        | 14 +++---
- src/Logic/Connectives.hs            |  4 +-
- src/Text/PrettyPrint/Class.hs       |  4 +-
- src/Text/PrettyPrint/Html.hs        |  6 ++-
- 11 files changed, 79 insertions(+), 48 deletions(-)
-
-
-diff --git a/src/Extension/Data/Bounded.hs b/src/Extension/Data/Bounded.hs
-index 5f166006..f416a44c 100644
---- a/src/Extension/Data/Bounded.hs
-+++ b/src/Extension/Data/Bounded.hs
-@@ -11,19 +11,25 @@ module Extension.Data.Bounded (
-   ) where
- 
- -- import Data.Monoid
-+import Data.Semigroup
- 
- -- | A newtype wrapper for a monoid of the maximum of a bounded type.
- newtype BoundedMax a = BoundedMax {getBoundedMax :: a}
-     deriving( Eq, Ord, Show )
- 
-+instance (Ord a, Bounded a) => Semigroup (BoundedMax a) where
-+    BoundedMax x <> BoundedMax y = BoundedMax (max x y)
-+
- instance (Ord a, Bounded a) => Monoid (BoundedMax a) where
-     mempty                                  = BoundedMax minBound
--    (BoundedMax x) `mappend` (BoundedMax y) = BoundedMax (max x y)
-+    mappend = (<>)
- 
- -- | A newtype wrapper for a monoid of the minimum of a bounded type.
- newtype BoundedMin a = BoundedMin {getBoundedMin :: a}
-     deriving( Eq, Ord, Show )
- 
-+instance (Ord a, Bounded a) => Semigroup (BoundedMin a) where
-+    BoundedMin x <> BoundedMin y = BoundedMin (min x y)
-+
- instance (Ord a, Bounded a) => Monoid (BoundedMin a) where
-     mempty                                  = BoundedMin maxBound
--    (BoundedMin x) `mappend` (BoundedMin y) = BoundedMin (min x y)
-\ No newline at end of file
-diff --git a/src/Extension/Data/Monoid.hs b/src/Extension/Data/Monoid.hs
-index 83655c34..9ce2f91b 100644
---- a/src/Extension/Data/Monoid.hs
-+++ b/src/Extension/Data/Monoid.hs
-@@ -18,6 +18,7 @@ module Extension.Data.Monoid (
-   ) where
- 
- import Data.Monoid
-+import Data.Semigroup
- 
- #if __GLASGOW_HASKELL__ < 704
- 
-@@ -38,10 +39,13 @@ newtype MinMax a = MinMax { getMinMax :: Maybe (a, a) }
- minMaxSingleton :: a -> MinMax a
- minMaxSingleton x = MinMax (Just (x, x))
- 
-+instance Ord a => Semigroup (MinMax a) where
-+    MinMax Nothing             <> y                          = y
-+    x                          <> MinMax Nothing             = x
-+    MinMax (Just (xMin, xMax)) <> MinMax (Just (yMin, yMax)) =
-+       MinMax (Just (min xMin yMin, max xMax yMax))
-+
-+
- instance Ord a => Monoid (MinMax a) where
-     mempty = MinMax Nothing
--
--    MinMax Nothing             `mappend` y                          = y
--    x                          `mappend` MinMax Nothing             = x
--    MinMax (Just (xMin, xMax)) `mappend` MinMax (Just (yMin, yMax)) =
--       MinMax (Just (min xMin yMin, max xMax yMax))
-+    mappend = (<>)
-diff --git a/src/Logic/Connectives.hs b/src/Logic/Connectives.hs
-index 2e441172..7206cc2c 100644
---- a/src/Logic/Connectives.hs
-+++ b/src/Logic/Connectives.hs
-@@ -23,12 +23,12 @@ import Control.DeepSeq
- 
- -- | A conjunction of atoms of type a.
- newtype Conj a = Conj { getConj :: [a] }
--  deriving (Monoid, Foldable, Traversable, Eq, Ord, Show, Binary,
-+  deriving (Monoid, Semigroup, Foldable, Traversable, Eq, Ord, Show, Binary,
-             Functor, Applicative, Monad, Alternative, MonadPlus, Typeable, Data, NFData)
- 
- -- | A disjunction of atoms of type a.
- newtype Disj a = Disj { getDisj :: [a] }
--  deriving (Monoid, Foldable, Traversable, Eq, Ord, Show, Binary,
-+  deriving (Monoid, Semigroup, Foldable, Traversable, Eq, Ord, Show, Binary,
-             Functor, Applicative, Monad, Alternative, MonadPlus, Typeable, Data, NFData)
- 
- instance MonadDisj Disj where
-diff --git a/src/Text/PrettyPrint/Class.hs b/src/Text/PrettyPrint/Class.hs
-index f5eb42fe..13be6515 100644
---- a/src/Text/PrettyPrint/Class.hs
-+++ b/src/Text/PrettyPrint/Class.hs
-@@ -187,9 +187,11 @@ instance Document Doc where
-   nest i (Doc d) = Doc $ P.nest i d
-   caseEmptyDoc yes no (Doc d) = if P.isEmpty d then yes else no
- 
-+instance Semigroup Doc where
-+    Doc d1 <> Doc d2 = Doc $ (P.<>) d1 d2
-+
- instance Monoid Doc where
-     mempty = Doc $ P.empty
--    mappend (Doc d1) (Doc d2) = Doc $ (P.<>) d1 d2
-   
- ------------------------------------------------------------------------------
- -- Additional combinators
-diff --git a/src/Text/PrettyPrint/Html.hs b/src/Text/PrettyPrint/Html.hs
-index 3de5e307..10103eb7 100644
---- a/src/Text/PrettyPrint/Html.hs
-+++ b/src/Text/PrettyPrint/Html.hs
-@@ -90,7 +90,7 @@ attribute (key,value) = " " ++ key ++ "=\"" ++ escapeHtmlEntities value ++ "\""
- 
- -- | A 'Document' transformer that adds proper HTML escaping.
- newtype HtmlDoc d = HtmlDoc { getHtmlDoc :: d }
--    deriving( Monoid )
-+    deriving( Monoid, Semigroup )
- 
- -- | Wrap a document such that HTML markup can be added without disturbing the
- -- layout.
-@@ -182,9 +182,11 @@ getNoHtmlDoc = runIdentity . unNoHtmlDoc
- instance NFData d => NFData (NoHtmlDoc d) where
-     rnf = rnf . getNoHtmlDoc
- 
-+instance Semigroup d => Semigroup (NoHtmlDoc d) where
-+  (<>) = liftA2 (<>)
-+
- instance Monoid d => Monoid (NoHtmlDoc d) where
-   mempty = pure mempty
--  mappend = liftA2 mappend
- 
- instance Document d => Document (NoHtmlDoc d) where
-   char = pure . char
diff --git a/pkgs/applications/science/logic/tamarin-prover/sapic-native.patch b/pkgs/applications/science/logic/tamarin-prover/sapic-native.patch
new file mode 100644
index 000000000000..6ab7e4e7594f
--- /dev/null
+++ b/pkgs/applications/science/logic/tamarin-prover/sapic-native.patch
@@ -0,0 +1,77 @@
+diff --git a/plugins/sapic/Makefile b/plugins/sapic/Makefile
+index 8f1b1866..678accbe 100644
+--- a/plugins/sapic/Makefile
++++ b/plugins/sapic/Makefile
+@@ -1,18 +1,18 @@
+ TARGET = sapic
+-OBJS= color.cmo exceptions.cmo btree.cmo position.cmo positionplusinit.cmo var.cmo term.cmo fact.cmo atomformulaaction.cmo action.cmo atom.cmo formula.cmo tamarin.cmo sapicterm.cmo sapicvar.cmo sapicaction.cmo lexer.cmo  sapic.cmo annotatedsapicaction.cmo annotatedsapictree.cmo progressfunction.cmo restrictions.cmo annotatedrule.cmo translationhelper.cmo basetranslation.cmo firsttranslation.cmo main.cmo 
++OBJS= color.cmx exceptions.cmx btree.cmx position.cmx positionplusinit.cmx var.cmx term.cmx fact.cmx atomformulaaction.cmx action.cmx atom.cmx formula.cmx tamarin.cmx sapicterm.cmx sapicvar.cmx sapicaction.cmx lexer.cmx  sapic.cmx annotatedsapicaction.cmx annotatedsapictree.cmx progressfunction.cmx restrictions.cmx annotatedrule.cmx translationhelper.cmx basetranslation.cmx firsttranslation.cmx main.cmx
+ FLAGS=-g
+ 
+-OCAMLC    := $(shell command -v ocamlc    2> /dev/null)
++OCAMLOPT  := $(shell command -v ocamlopt  2> /dev/null)
+ OCAMLLEX  := $(shell command -v ocamllex  2> /dev/null)
+ OCAMLYACC := $(shell command -v ocamlyacc 2> /dev/null)
+ OCAMLDEP  := $(shell command -v ocamldep  2> /dev/null)
+-OCAMLC_GTEQ_402 := $(shell expr `ocamlc -version | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 40200)
++OCAMLC_GTEQ_402 := $(shell expr `ocamlopt -version | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]\)/0\1/g' -e 's/^[0-9]\{3,4\}$$/&00/'` \>= 40200)
+ 
+ default: sapic
+ 
+ sapic:
+-ifdef OCAMLC
+-	@echo "Found ocamlc."
++ifdef OCAMLOPT
++	@echo "Found ocamlopt."
+ ifdef OCAMLLEX
+ 	@echo "Found ocamllex."
+ ifdef OCAMLYACC
+@@ -22,9 +22,9 @@ ifdef OCAMLDEP
+ ifeq "$(OCAMLC_GTEQ_402)" "1"
+ 	@echo "Building SAPIC."
+ 	$(MAKE) $(OBJS)
+-	ocamlc $(FLAGS) -o $@ str.cma $(OBJS)
+-	@echo "Installing SAPIC into ~/.local/bin/"
+-	cp sapic ~/.local/bin
++	ocamlopt $(FLAGS) -o $@ str.cmxa $(OBJS)
++#	@echo "Installing SAPIC into ~/.local/bin/"
++#	cp sapic ~/.local/bin
+ else
+ 	@echo "Found OCAML version < 4.02. SAPIC will not be installed."
+ endif
+@@ -38,7 +38,7 @@ else
+ 	@echo "ocamllex not found. SAPIC will not be installed."
+ endif
+ else
+-	@echo "ocamlc not found. SAPIC will not be installed."
++	@echo "ocamlopt not found. SAPIC will not be installed."
+ endif
+ 
+ depend:
+@@ -48,20 +48,20 @@ lexer.ml: sapic.cmi
+ 
+ .PHONY: clean
+ clean:
+-	rm -rf *.cmi *.cmo $(TARGET)
++	rm -rf *.cmi **.cmx $(TARGET)
+ 	rm -rf sapic.ml sapic.mli lexer.ml lexer.mli
+ 
+-.SUFFIXES: .ml .mli .mll .mly .cmo .cmi
++.SUFFIXES: .ml .mli .mll .mly .cmx .cmi
+ 
+-.ml.cmo:
+-	ocamlc $(FLAGS) -c $<
++.ml.cmx:
++	ocamlopt $(FLAGS) -c $<
+ .mli.cmi:
+-	ocamlc $(FLAGS) -c $<
++	ocamlopt $(FLAGS) -c $<
+ .mll.ml:
+ 	ocamllex $<
+ .mly.ml:
+ 	ocamlyacc $<
+ .ml.mli:
+-	ocamlc -i $< > $@
++	ocamlopt -i $< > $@
+ 
+ -include .depend
diff --git a/pkgs/applications/science/physics/xfitter/default.nix b/pkgs/applications/science/physics/xfitter/default.nix
index 833370f81443..ae5307f155bd 100644
--- a/pkgs/applications/science/physics/xfitter/default.nix
+++ b/pkgs/applications/science/physics/xfitter/default.nix
@@ -11,9 +11,11 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./calling_convention.patch
+    ./undefined_behavior.patch
   ];
 
+  CXXFLAGS = "-Werror=return-type";
+
   preConfigure =
   # Fix F77LD to workaround for a following build error:
   #
diff --git a/pkgs/applications/science/physics/xfitter/calling_convention.patch b/pkgs/applications/science/physics/xfitter/undefined_behavior.patch
index 5b216b6e0928..53278527a807 100644
--- a/pkgs/applications/science/physics/xfitter/calling_convention.patch
+++ b/pkgs/applications/science/physics/xfitter/undefined_behavior.patch
@@ -1,5 +1,4 @@
 diff --git a/DY/src/finterface.cc b/DY/src/finterface.cc
-index 0405786..eb171d0 100644
 --- a/DY/src/finterface.cc
 +++ b/DY/src/finterface.cc
 @@ -14,17 +14,17 @@
@@ -18,8 +17,9 @@ index 0405786..eb171d0 100644
 -  int dy_get_res_(const int *ds_id, double *calc_res);
 +  void dy_get_res_(const int *ds_id, double *calc_res);
  
-   int dy_release_();
+-  int dy_release_();
 -  int dy_set_ewpars_();
++  void dy_release_();
 +  void dy_set_ewpars_();
  }
  
@@ -48,7 +48,7 @@ index 0405786..eb171d0 100644
  {
    // evolve convolutions
    vector<PDFconv*>::iterator ipc = gPDFconvs.begin();
-@@ -118,24 +116,20 @@ int dy_do_calc_()
+@@ -118,28 +116,24 @@ int dy_do_calc_()
      if ( true != idc->second->Integrate() ) {
        cout << "Something is wrong with DY integration for " 
             << idc->first << " data set." << endl;
@@ -76,6 +76,11 @@ index 0405786..eb171d0 100644
    PhysPar::setPhysPar();
  }
  
+-int dy_release_()
++void dy_release_()
+ {
+   vector<PDFconv*>::iterator ipc = gPDFconvs.begin();
+   for (; ipc!=gPDFconvs.end(); ipc++){
 @@ -155,6 +149,4 @@ int dy_release_()
    for (; idc != gCalcs.end() ; idc++){
      delete (idc->second);
@@ -83,8 +88,18 @@ index 0405786..eb171d0 100644
 -
 -  return 1;
  }
+diff --git a/DiffDIS/include/DataTable.h b/DiffDIS/include/DataTable.h
+--- a/DiffDIS/include/DataTable.h
++++ b/DiffDIS/include/DataTable.h
+@@ -307,6 +307,7 @@ class DataTable_t {
+       for(ic=0; ic < GetNcols(); ic++) {
+         for(ir=0; ir < npt; ir++) Data[ic][ir] = A.Data[ic][ir];
+       }
++      return *this;
+     }
+     
+     //@}
 diff --git a/FastNLO/src/FastNLOInterface.cc b/FastNLO/src/FastNLOInterface.cc
-index 20f8a75..a6dac79 100644
 --- a/FastNLO/src/FastNLOInterface.cc
 +++ b/FastNLO/src/FastNLOInterface.cc
 @@ -39,14 +39,14 @@ void gauleg(double x1,double x2,double *x,double *w, int n);
@@ -197,7 +212,6 @@ index 20f8a75..a6dac79 100644
  
  int CreateUsedPointsArray(int idataset, int npoints) {
 diff --git a/Hathor/src/HathorInterface.cc b/Hathor/src/HathorInterface.cc
-index 7da88b1..96576a3 100644
 --- a/Hathor/src/HathorInterface.cc
 +++ b/Hathor/src/HathorInterface.cc
 @@ -6,9 +6,9 @@
@@ -239,8 +253,82 @@ index 7da88b1..96576a3 100644
    rlxd_reset(rndStore);
  
    std::map<int, Hathor*>::const_iterator hathorIter = hathor_array.find(*idataset);
+diff --git a/src/TheorEval.cc b/src/TheorEval.cc
+--- a/src/TheorEval.cc
++++ b/src/TheorEval.cc
+@@ -62,6 +62,7 @@ TheorEval::initTheory()
+   list<tToken> sl;
+   this->assignTokens(sl);
+   this->convertToRPN(sl);
++  return 0;
+ }
+ 
+ int 
+@@ -167,6 +168,7 @@ TheorEval::assignTokens(list<tToken> &sl)
+       sl.push_back(t);
+     }
+   }
++  return 0;
+ }
+ 
+ int
+@@ -217,6 +219,7 @@ TheorEval::convertToRPN(list<tToken> &sl)
+   cout << endl;
+   */
+   
++  return 0;
+ }
+ 
+ int
+@@ -236,6 +239,7 @@ TheorEval::initTerm(int iterm, valarray<double> *val)
+     hf_errlog_(id, text, textlen);
+     return -1;
+   }
++  return 0;
+ }
+ 
+ int
+@@ -348,6 +352,7 @@ TheorEval::initGridTerm(int iterm, valarray<double> *val)
+ 
+   // associate grid and valarray pointers in token
+   _mapGridToken[g] = val;
++  return 0;
+ }
+ 
+ int
+@@ -430,6 +435,7 @@ TheorEval::initKfTerm(int iterm, valarray<double> *val)
+ 
+   // write k-factor array to the token valarray
+   *val = valarray<double>(vkf.data(), vkf.size());
++  return 0;
+ }  
+ 
+ int
+@@ -465,6 +471,7 @@ TheorEval::setCKM(const vector<double> &v_ckm)
+    int textlen = strlen(text);
+    hf_errlog_(id, text, textlen);
+ #endif
++   return 0;
+ }
+ 
+ int
+@@ -531,6 +538,7 @@ TheorEval::Evaluate(valarray<double> &vte )
+       }
+     //vte /= _units;
+   }
++  return 0;
+ }
+ 
+ int
+@@ -555,6 +563,7 @@ TheorEval::getGridValues()
+     
+     
+   }
++  return 0;
+ }
+ 
+ int
 diff --git a/src/ftheor_eval.cc b/src/ftheor_eval.cc
-index 1dd4e8b..8bc7991 100644
 --- a/src/ftheor_eval.cc
 +++ b/src/ftheor_eval.cc
 @@ -19,15 +19,15 @@
@@ -341,7 +429,6 @@ index 1dd4e8b..8bc7991 100644
    tTEmap::iterator it = gTEmap.begin();
    for (; it!= gTEmap.end(); it++){
 diff --git a/src/lhapdf6_output.c b/src/lhapdf6_output.c
-index 4b20b68..549c521 100644
 --- a/src/lhapdf6_output.c
 +++ b/src/lhapdf6_output.c
 @@ -64,7 +64,7 @@ extern double bvalij_(int *,int *,int *,int *,int *);
@@ -353,3 +440,15 @@ index 4b20b68..549c521 100644
  extern int getcbt_(int *, double *, double *, double *);

  extern void getpdfunctype_heraf_(int *mc, int *asymh, int *symh, char *name, size_t size);

  extern void hf_errlog_(int *, char *, size_t);

+diff --git a/tools/draw/include/FileOpener.h b/tools/draw/include/FileOpener.h
+--- a/tools/draw/include/FileOpener.h
++++ b/tools/draw/include/FileOpener.h
+@@ -61,7 +61,7 @@ class InFileOpener_t {
+   string GetPath() const {return ind < 0 ? "" : Flist[ind];}
+   
+   // ==================================
+-  int Add(const string& fname) {
++  void Add(const string& fname) {
+     Flist.push_back(fname);
+   }
+ 
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 11fa892f135d..b629c8fe9109 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -16,10 +16,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ python ];
 
-  # TODO: Cleanup
   patchPhase = ''
-    CA_PATH="$(echo '${cacert}/etc/ssl/certs/ca-bundle.crt' | sed 's/\//\\\//g')" # / -> \/
-    sed -i -E 's/urlopen\(url\)/urlopen(url, cafile="'$CA_PATH'")/' repo
+    substituteInPlace repo --replace \
+      'urllib.request.urlopen(url)' \
+      'urllib.request.urlopen(url, cafile="${cacert}/etc/ssl/certs/ca-bundle.crt")'
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/video/mediathekview/default.nix b/pkgs/applications/video/mediathekview/default.nix
index 93a8d2070542..34efffc21d72 100644
--- a/pkgs/applications/video/mediathekview/default.nix
+++ b/pkgs/applications/video/mediathekview/default.nix
@@ -1,31 +1,31 @@
-{ stdenv, fetchurl, jre, unzip }:
+{ stdenv, fetchurl, makeWrapper, jre }:
 
-stdenv.mkDerivation {
-  name = "mediathekview-9";
+stdenv.mkDerivation rec {
+  version = "13.2.1";
+  name = "mediathekview-${version}";
   src = fetchurl {
-    url = "mirror://sourceforge/zdfmediathk/MediathekView_9.zip";
-    sha256 = "1wff0igr33z9p1mjw7yvb6658smdwnp22dv8klz0y8qg116wx7a4";
+    url = "https://download.mediathekview.de/stabil/MediathekView-${version}.tar.gz";
+    sha256 = "11wg6klviig0h7pprfaygamsgqr7drqra2s4yxgfak6665033l2a";
   };
-  unpackPhase = "true";
 
-  buildInputs = [ unzip ];
-  
-  # Could use some more love
-  # Maybe we can also preconfigure locations for vlc and the others.
+  nativeBuildInputs = [ makeWrapper ];
+
   installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/opt/mediathekview
-    cd $out/opt/mediathekview
-    unzip $src
-    find . -iname '*.exe' -delete
-    sed -i -e 's, java, ${jre}/bin/java,' MediathekView__Linux.sh
-    ln -s $out/opt/mediathekview/MediathekView__Linux.sh $out/bin/mediathekview
-  '';
+    mkdir -p $out/{lib,bin,share/mediathekview}
+
+    install -m644 MediathekView.jar $out/
+    install -m644 -t $out/lib lib/*
+    install -m755 bin/flv.sh $out/share/mediathekview
+
+    makeWrapper ${jre}/bin/java $out/bin/mediathek \
+      --add-flags "-cp '$out/lib/*' -jar $out/MediathekView.jar"
+    '';
 
   meta = with stdenv.lib; {
-    homepage = http://zdfmediathk.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = [ maintainers.chaoflow ];
-    platforms = platforms.linux;  #  also macOS and cygwin, but not investigated, yet
+    description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";
+    homepage = https://mediathekview.de/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ chaoflow moredread ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 62a517e80ea6..4e4c623ca607 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchFromGitHub, makeWrapper
 , docutils, perl, pkgconfig, python3, which, ffmpeg_4
-, freefont_ttf, freetype, libass, libpthreadstubs
+, freefont_ttf, freetype, libass, libpthreadstubs, mujs
 , lua, luasocket, libuchardet, libiconv ? null, darwin
 
 , waylandSupport ? false
@@ -19,6 +19,11 @@
   , libcdio          ? null
   , libcdio-paranoia ? null
 
+, vulkanSupport ? stdenv.isLinux
+  , shaderc ? null
+  , vulkan-headers ? null
+  , vulkan-loader ? null
+
 , alsaSupport        ? true,  alsaLib       ? null
 , bluraySupport      ? true,  libbluray     ? null
 , bs2bSupport        ? true,  libbs2b       ? null
@@ -134,7 +139,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     ffmpeg_4 freetype libass libpthreadstubs
-    lua luasocket libuchardet
+    lua luasocket libuchardet mujs
   ] ++ optional alsaSupport        alsaLib
     ++ optional archiveSupport     libarchive
     ++ optional bluraySupport      libbluray
@@ -163,6 +168,7 @@ in stdenv.mkDerivation rec {
     ++ optionals dvdnavSupport     [ libdvdnav libdvdnav.libdvdread ]
     ++ optionals waylandSupport    [ wayland wayland-protocols libxkbcommon ]
     ++ optionals x11Support        [ libX11 libXext libGLU_combined libXxf86vm libXrandr ]
+    ++ optionals vulkanSupport     [ shaderc vulkan-headers vulkan-loader ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
       CoreFoundation Cocoa CoreAudio
     ]);
@@ -176,7 +182,7 @@ in stdenv.mkDerivation rec {
   '';
 
   # Ensure youtube-dl is available in $PATH for mpv
-  wrapperFlags = 
+  wrapperFlags =
   let
     getPath  = type : "${luasocket}/lib/lua/${lua.luaversion}/?.${type};" +
                       "${luasocket}/share/lua/${lua.luaversion}/?.${type}";
diff --git a/pkgs/applications/video/zdfmediathk/default.nix b/pkgs/applications/video/zdfmediathk/default.nix
deleted file mode 100644
index befbfb2d630c..000000000000
--- a/pkgs/applications/video/zdfmediathk/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, jre }:
-
-with stdenv;
-
-mkDerivation rec {
-
-  version = "10";
-  name = "zdfmediathk-${version}";
-  src = fetchurl {
-    url = "https://github.com/xaverW/MediathekView/archive/Version${version}.tar.gz";
-    sha256 = "12iyigqjslbn8rzym1mq1s0mvss7r97aiy6wfdrq5m0psarlcljw";
-  };
-
-  installPhase = ''
-    mkdir -p $out/{lib,bin,share/{doc,licenses}}
-    cd dist/
-    install -m644 MediathekView.jar $out/
-    install -m644 -t $out/lib lib/*
-    install -m755 bin/flv.sh $out/bin/
-    install -m644 -t $out/share/doc Anleitung/*.pdf
-    install -m644 -t $out/share/licenses Copyright/{*.*,_copyright}
-    bin="$out/bin/mediathek"
-    cat >> "$bin" << EOF
-    #!${stdenv.shell}
-    exec ${jre}/bin/java -cp "$out/lib/*" -Xms128M -Xmx1G -jar "$out/MediathekView.jar" "\$@"
-    EOF
-    chmod +x "$bin"
-    '';
-
-  meta = with stdenv.lib; {
-    description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";
-    homepage = https://github.com/xaverW/MediathekView/;
-    license = licenses.gpl3;
-    maintainers = [ maintainers.flosse ];
-    platforms = platforms.all;
-  };
-
-}
diff --git a/pkgs/applications/virtualization/dynamips/default.nix b/pkgs/applications/virtualization/dynamips/default.nix
index 8b590cff9640..4499fff4dc8b 100644
--- a/pkgs/applications/virtualization/dynamips/default.nix
+++ b/pkgs/applications/virtualization/dynamips/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "dynamips";
-  version = "0.2.18";
+  version = "0.2.19";
 
   src = fetchFromGitHub {
     owner = "GNS3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jrwvrpl61rqbjjphv8v7ryhdwfjrpps76dbvkpl43hpn5hqqis2";
+    sha256 = "0x63m37vjyp57900x09gfvw02cwg85b33918x7fjj9x37wgmi5qf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/virtualization/podman/conmon.nix b/pkgs/applications/virtualization/podman/conmon.nix
new file mode 100644
index 000000000000..42907bc84ba8
--- /dev/null
+++ b/pkgs/applications/virtualization/podman/conmon.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, fetchFromGitHub, pkgconfig, glib }:
+
+with lib;
+
+stdenv.mkDerivation rec {
+  name = "conmon-${version}";
+  version = "unstable-2018-11-28";
+  rev = "8fba206232c249a8fc4e2fac1469fb2fddbf5cf7";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = "conmon";
+    sha256 = "07ar0dk9i072b14f6il51yqahxp5c4fkf5jzar8rxcpvymkdy8zq";
+    inherit rev;
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    glib
+  ];
+
+  installPhase = ''
+    install -D -m 555 bin/conmon $out/bin/conmon
+  '';
+
+  meta = {
+    homepage = https://github.com/containers/conmon;
+    description = "An OCI container runtime monitor";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ vdemeester ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
new file mode 100644
index 000000000000..753fada5e7d3
--- /dev/null
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, pkgconfig
+, buildGoPackage, gpgme, lvm2, btrfs-progs, libseccomp
+}:
+
+buildGoPackage rec {
+  name = "podman-${version}";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = "libpod";
+    rev = "v${version}";
+    sha256 = "1py6vbmpm25j1gb51dn973pckvgjl9q63y9qyzszvc3q3wsxsqhw";
+  };
+
+  goPackagePath = "github.com/containers/libpod";
+
+  # Optimizations break compilation of libseccomp c bindings
+  hardeningDisable = [ "fortify" ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [
+    btrfs-progs libseccomp gpgme lvm2
+  ];
+
+  buildPhase = ''
+    pushd $NIX_BUILD_TOP/go/src/${goPackagePath}
+    patchShebangs .
+    make binaries
+  '';
+
+  installPhase = ''
+    install -Dm555 bin/podman $bin/bin/podman
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://podman.io/;
+    description = "A program for managing pods, containers and container images";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ vdemeester ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/remotebox/default.nix b/pkgs/applications/virtualization/remotebox/default.nix
index 6743c8491891..8777f7cc2db2 100644
--- a/pkgs/applications/virtualization/remotebox/default.nix
+++ b/pkgs/applications/virtualization/remotebox/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "remotebox-${version}";
-  version = "2.5";
+  version = "2.6";
 
   src = fetchurl {
     url = "http://remotebox.knobgoblin.org.uk/downloads/RemoteBox-${version}.tar.bz2";
-    sha256 = "0dajc9fg57gj915h5dxavbia4wx10frn4xc61pv0l8r5zp7xvqal";
+    sha256 = "1bbdnf13vp35ddfmk4pn167vfxgmdw0fd8bqg51wd8dd4cj8y3wp";
   };
 
   buildInputs = with perlPackages; [ perl Glib Gtk2 Pango SOAPLite ];
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 6de38821baf2..372c567a7e75 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -551,14 +551,19 @@ rec {
         buildInputs = [ jshon pigz coreutils findutils jq ];
         # Image name and tag must be lowercase
         imageName = lib.toLower name;
-        imageTag = if tag == null then "" else lib.toLower tag;
         baseJson = configJson;
+        passthru.imageTag =
+          if tag == null
+          then lib.head (lib.splitString "-" (lib.last (lib.splitString "/" result)))
+          else lib.toLower tag;
       } ''
-        ${lib.optionalString (tag == null) ''
+        ${if (tag == null) then ''
           outName="$(basename "$out")"
           outHash=$(echo "$outName" | cut -d - -f 1)
 
           imageTag=$outHash
+        '' else ''
+          imageTag="${tag}"
         ''}
 
         find ${bulkLayers} -mindepth 1 -maxdepth 1 | sort -t/ -k5 -n > layer-list
diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix
index 9fccc27ef632..256c86748d28 100644
--- a/pkgs/build-support/fetchgit/default.nix
+++ b/pkgs/build-support/fetchgit/default.nix
@@ -19,6 +19,7 @@ in
 , # Shell code executed after the file has been fetched
   # successfully. This can do things like check or transform the file.
   postFetch ? ""
+, preferLocalBuild ? true
 }:
 
 /* NOTE:
@@ -66,5 +67,5 @@ stdenvNoCC.mkDerivation {
     "GIT_PROXY_COMMAND" "SOCKS_SERVER"
   ];
 
-  preferLocalBuild = true;
+  inherit preferLocalBuild;
 }
diff --git a/pkgs/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix
index 40ead021cdbf..41eff1f9c0c5 100644
--- a/pkgs/build-support/fetchhg/default.nix
+++ b/pkgs/build-support/fetchhg/default.nix
@@ -1,4 +1,11 @@
-{stdenvNoCC, mercurial}: {name ? null, url, rev ? null, md5 ? null, sha256 ? null, fetchSubrepos ? false}:
+{ stdenvNoCC, mercurial }:
+{ name ? null
+, url
+, rev ? null
+, md5 ? null
+, sha256 ? null
+, fetchSubrepos ? false
+, preferLocalBuild ? true }:
 
 if md5 != null then
   throw "fetchhg does not support md5 anymore, please use sha256"
@@ -18,5 +25,5 @@ stdenvNoCC.mkDerivation {
   outputHash = sha256;
 
   inherit url rev;
-  preferLocalBuild = true;
+  inherit preferLocalBuild;
 }
diff --git a/pkgs/build-support/fetchipfs/default.nix b/pkgs/build-support/fetchipfs/default.nix
index dc8949794221..7a66999ec569 100644
--- a/pkgs/build-support/fetchipfs/default.nix
+++ b/pkgs/build-support/fetchipfs/default.nix
@@ -14,6 +14,7 @@
 , meta           ? {}
 , port           ? "8080"
 , postFetch      ? ""
+, preferLocalBuild ? true
 }:
 
 assert sha512 != "" -> builtins.compareVersions "1.11" builtins.nixVersion <= 0;
@@ -42,11 +43,10 @@ if (!hasHash) then throw "Specify sha for fetchipfs fixed-output derivation" els
           postFetch
           ipfs
           url
-          port;
+          port
+          meta;
 
   # Doing the download on a remote machine just duplicates network
   # traffic, so don't do that.
-  preferLocalBuild = true;
-
-  inherit meta;
+  inherit preferLocalBuild;
 }
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index da57d581dadd..194ce3b39b1d 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -1,6 +1,7 @@
 {stdenvNoCC, subversion, glibcLocales, sshSupport ? false, openssh ? null}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? "",
- ignoreExternals ? false, ignoreKeywords ? false, name ? null}:
+{url, rev ? "HEAD", md5 ? "", sha256 ? ""
+, ignoreExternals ? false, ignoreKeywords ? false, name ? null
+, preferLocalBuild ? true }:
 
 let
   repoName = with stdenvNoCC.lib;
@@ -40,5 +41,5 @@ stdenvNoCC.mkDerivation {
   inherit url rev sshSupport openssh ignoreExternals ignoreKeywords;
 
   impureEnvVars = stdenvNoCC.lib.fetchers.proxyImpureEnvVars;
-  preferLocalBuild = true;
+  inherit preferLocalBuild;
 }
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix
index 5f0c1384c79e..3ce90cbeab3a 100644
--- a/pkgs/build-support/fetchurl/default.nix
+++ b/pkgs/build-support/fetchurl/default.nix
@@ -87,6 +87,9 @@ in
 
   # Passthru information, if any.
 , passthru ? {}
+  # Doing the download on a remote machine just duplicates network
+  # traffic, so don't do that by default
+, preferLocalBuild ? true
 }:
 
 assert sha512 != "" -> builtins.compareVersions "1.11" builtins.nixVersion <= 0;
@@ -135,9 +138,7 @@ stdenvNoCC.mkDerivation {
 
   nixpkgsVersion = lib.trivial.release;
 
-  # Doing the download on a remote machine just duplicates network
-  # traffic, so don't do that.
-  preferLocalBuild = true;
+  inherit preferLocalBuild;
 
   postHook = if netrcPhase == null then null else ''
     ${netrcPhase}
diff --git a/pkgs/build-support/prefer-remote-fetch/default.nix b/pkgs/build-support/prefer-remote-fetch/default.nix
new file mode 100644
index 000000000000..2e55e3707421
--- /dev/null
+++ b/pkgs/build-support/prefer-remote-fetch/default.nix
@@ -0,0 +1,19 @@
+# An overlay that download sources on remote builder.
+# This is useful when the evaluating machine has a slow
+# upload while the builder can fetch faster directly from the source.
+# Usage: Put the following snippet in your usual overlay definition:
+#
+#   self: super:
+#     (super.prefer-remote-fetch self super)
+# Full configuration example for your own account:
+#
+# $ mkdir ~/.config/nixpkgs/overlays/
+# $ echo 'self: super: super.prefer-remote-fetch self super' > ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix
+#
+self: super: {
+  fetchurl = args: super.fetchurl (args // { preferLocalBuild = false; });
+  fetchgit = args: super.fetchgit (args // { preferLocalBuild = false; });
+  fetchhg = args: super.fetchhg (args // { preferLocalBuild = false; });
+  fetchsvn = args: super.fetchsvn (args // { preferLocalBuild = false; });
+  fetchipfs = args: super.fetchipfs (args // { preferLocalBuild = false; });
+}
diff --git a/pkgs/data/fonts/b612/default.nix b/pkgs/data/fonts/b612/default.nix
new file mode 100644
index 000000000000..b7b79f2e2ca1
--- /dev/null
+++ b/pkgs/data/fonts/b612/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchzip, lib }:
+
+let
+  version = "1.003";
+  pname = "b612";
+in
+
+fetchzip rec {
+  name = "${pname}-font-${version}";
+  url = "http://git.polarsys.org/c/${pname}/${pname}.git/snapshot/${pname}-bd14fde2544566e620eab106eb8d6f2b7fb1347e.zip";
+  sha256 = "07gadk9b975k69pgw9gj54qx8d5xvxphid7wrmv4cna52jyy4464";
+  postFetch = ''
+    mkdir -p $out/share/fonts/truetype/${pname}
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://b612-font.com/;
+    description = "Highly legible font family for use on aircraft cockpit screens";
+    longDescription = ''
+      B612 is the result of a research project initiated by Airbus. The font
+      was designed by Nicolas Chauveau and Thomas Paillot (intactile DESIGN) with the
+      support of Jean‑Luc Vinot (ENAC). Prior research by Jean‑Luc Vinot (DGAC/DSNA)
+      and Sylvie Athènes (Université de Toulouse III). The challenge for the
+      "Aeronautical Font" was to improve the display of information on the cockpit
+      screens, in particular in terms of legibility and comfort of reading, and to
+      optimize the overall homogeneity of the cockpit.
+
+      Intactile DESIGN was hired to work on the design of eight typographic
+      variants of the font. This one, baptized B612 in reference to the
+      imaginary asteroid of the aviator Saint‑Exupéry, benefited from a complete
+      hinting on all the characters.
+      '';
+    license = with licenses; [ ofl epl10 bsd3 ] ;
+    maintainers = with maintainers; [ leenaars ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/themes/ant-theme/default.nix b/pkgs/data/themes/ant-theme/default.nix
index 8c4c865ef4ae..8ff869bc7aaa 100644
--- a/pkgs/data/themes/ant-theme/default.nix
+++ b/pkgs/data/themes/ant-theme/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ant-theme";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://github.com/EliverLara/Ant/releases/download/v${version}/Ant.tar";
-    sha256 = "15751pnb94g2wi6y932l3d7ksaz18402zbzp3l7ryy0lqwjnqvkj";
+    sha256 = "1r795v96ywzcb4dq08q2fdbmfia32g36cc512mhy41s8fb1a47dz";
   };
 
   propagatedUserEnvPkgs = [
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "1fzy7bq5v9fzjpfxplvk0nwjgamcva83462gkz01lhr1mipb92h1";
+  outputHash = "1gpacrmi5y87shp39jgy78n0ca2xdpvbqfh0mgldlxx99ca9rvvy";
 
   meta = with stdenv.lib; {
     description = "A flat and light theme with a modern look";
diff --git a/pkgs/data/themes/nordic-polar/default.nix b/pkgs/data/themes/nordic-polar/default.nix
index 305f59529479..af1ccd0a5829 100644
--- a/pkgs/data/themes/nordic-polar/default.nix
+++ b/pkgs/data/themes/nordic-polar/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "nordic-polar-${version}";
-  version = "1.3.0";
+  version = "1.4.0";
 
   srcs = [
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar.tar.xz";
-      sha256 = "1c5zgymkwd89fr680c49siwbkhfbay56iq9vlyqkj1dp0xnc528s";
+      sha256 = "0sw4m1njnxal1kkiipsvfg9ndzxsf9rxfba5vhwswyzk388264xa";
     })
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar-standard-buttons.tar.xz";
-      sha256 = "0nxzcgqzc42qvnhafranz6rwanqb4wzf9ychm5m4yrlp3ngw38p4";
+      sha256 = "0ix0x0pnhfd1lrfj7a7n8xfg8vvzg7m0dzrsj8gzpav6wvwlypiy";
     })
   ];
 
diff --git a/pkgs/misc/themes/nordic/default.nix b/pkgs/data/themes/nordic/default.nix
index ac24e35c66f7..93df3c723dd5 100644
--- a/pkgs/misc/themes/nordic/default.nix
+++ b/pkgs/data/themes/nordic/default.nix
@@ -2,16 +2,24 @@
 
 stdenv.mkDerivation rec {
   name = "nordic-${version}";
-  version = "1.3.0";
+  version = "1.5.4";
 
   srcs = [
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic.tar.xz";
-      sha256 = "04axs2yldppcx159nwj70g4cyw0hbbzk5250677i9ny8b0w3gr9x";
+      sha256 = "0m00hwr6ms9fzlpl97d972wvgq5l0m11mpn213248a8sqbh2zz9g";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-blue.tar.xz";
+      sha256 = "05k1m9f0q4mfaqp2as3ymjsqmyz0bs5cd576srd5v952dzxmmbm2";
     })
     (fetchurl {
       url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-standard-buttons.tar.xz";
-      sha256 = "1h0690cijaipidb5if2bxhvvkrx5src3akyxvfywxg4bf8x7jxs5";
+      sha256 = "1qps13fpp8y83c25c51w7kyds266gmks8c7kjp23iybij2lkny1m";
+    })
+    (fetchurl {
+      url = "https://github.com/EliverLara/Nordic/releases/download/v${version}/Nordic-blue-standard-buttons.tar.xz";
+      sha256 = "1c0j6qsxa6zahrl9ad0q6pczgbmm8qn9qsd7k41yk2ndh9iqzr5y";
     })
   ];
 
diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix
index 14795064cb49..d744fc6c87c7 100644
--- a/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/default.nix
@@ -46,6 +46,14 @@ in stdenv.mkDerivation rec {
   postPatch = ''
     patchShebangs utils/g-ir-merge/g-ir-merge
     patchShebangs utils/data-generators/cc/generate
+
+    # make .desktop Exec absolute
+    patch -p0 <<END_PATCH
+    +++ src/tracker-store/tracker-store.desktop.in.in
+    @@ -4 +4 @@
+    -Exec=gdbus call -e -d org.freedesktop.DBus -o /org/freedesktop/DBus -m org.freedesktop.DBus.StartServiceByName org.freedesktop.Tracker1 0
+    +Exec=${glib.dev}/bin/gdbus call -e -d org.freedesktop.DBus -o /org/freedesktop/DBus -m org.freedesktop.DBus.StartServiceByName org.freedesktop.Tracker1 0
+    END_PATCH
   '';
 
   postInstall = ''
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 8d75797516d3..7c028656faec 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -54,7 +54,7 @@ lib.makeScope pkgs.newScope (self: with self; {
   inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3
     libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceviewmm gtksourceview4
     easytag meld orca rhythmbox shotwell gnome-usage
-    clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libcroco libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 vte-ng gnome-menus;
+    clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libcroco libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 vte-ng gnome-menus gdl;
 
   libsoup = pkgs.libsoup.override { gnomeSupport = true; };
   libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
@@ -288,8 +288,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   devhelp = callPackage ./devtools/devhelp { };
 
-  gdl = callPackage ./devtools/gdl { };
-
   gnome-devel-docs = callPackage ./devtools/gnome-devel-docs { };
 
   nemiver = callPackage ./devtools/nemiver { };
@@ -348,6 +346,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-panel = callPackage ./misc/gnome-panel { };
 
+  gnome-screensaver = callPackage ./misc/gnome-screensaver { };
+
   gnome-tweaks = callPackage ./misc/gnome-tweaks { };
 
   gpaste = callPackage ./misc/gpaste { };
diff --git a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
index 7dee751314f5..dcf0bd439420 100644
--- a/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
+++ b/pkgs/desktops/gnome-3/devtools/anjuta/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gnome3, gtk3, flex, bison, libxml2, intltool,
+  gdl, libgda, gtksourceview,
   itstool, python3, ncurses, makeWrapper }:
 
 stdenv.mkDerivation rec {
@@ -22,8 +23,8 @@ stdenv.mkDerivation rec {
     ncurses
   ];
   buildInputs = [
-    flex bison gtk3 libxml2 gnome3.gjs gnome3.gdl
-    gnome3.libgda gnome3.gtksourceview
+    flex bison gtk3 libxml2 gnome3.gjs gdl
+    libgda gtksourceview
     gnome3.gsettings-desktop-schemas
   ];
 
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index fe5345f1a6e2..716988252d54 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -6,6 +6,7 @@
 , glib
 , gnome-bluetooth
 , gnome-desktop
+, gnome-panel
 , gnome-session
 , gnome3
 , gsettings-desktop-schemas
@@ -16,77 +17,154 @@
 , libpulseaudio
 , libxkbfile
 , libxml2
-, metacity
 , pkgconfig
 , polkit
 , substituteAll
 , upower
-, xkeyboard_config }:
+, wrapGAppsHook
+, writeTextFile
+, writeShellScriptBin
+, xkeyboard_config
+}:
 
 let
   pname = "gnome-flashback";
   version = "3.30.0";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  requiredComponents = wmName: "RequiredComponents=${wmName};gnome-flashback-init;gnome-flashback;gnome-panel;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;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 = "18rwql2pi78155l9zp1i50xfi5z8xz2l08m9d81x6qqbfr1nyy57";
-  };
+    src = fetchurl {
+      url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+      sha256 = "18rwql2pi78155l9zp1i50xfi5z8xz2l08m9d81x6qqbfr1nyy57";
+    };
+
+    patches =[
+      # overrides do not respect gsettingsschemasdir
+      # https://gitlab.gnome.org/GNOME/gnome-flashback/issues/9
+      (fetchpatch {
+       url = https://gitlab.gnome.org/GNOME/gnome-flashback/commit/a55530f58ccd600414a5420b287868ab7d219705.patch;
+       sha256 = "1la94lhhb9zlw7bnbpl6hl26zv3kxbsvgx996mhph720wxg426mh";
+      })
+    ];
+
+    # make .desktop Execs absolute
+    postPatch = ''
+      patch -p0 <<END_PATCH
+      +++ data/applications/gnome-flashback-init.desktop.in
+      @@ -4 +4 @@
+      -Exec=gnome-flashback --initialize
+      +Exec=$out/bin/gnome-flashback --initialize
+      +++ data/applications/gnome-flashback.desktop.in
+      @@ -4 +4 @@
+      -Exec=gnome-flashback
+      +Exec=$out/bin/gnome-flashback
+      END_PATCH
+    '';
+
+    postInstall = ''
+      # Check that our expected RequiredComponents match the stock session files, but then don't install them.
+      # They can be installed using mkSessionForWm.
+      grep '${requiredComponents "metacity"}' $out/share/gnome-session/sessions/gnome-flashback-metacity.session || (echo "RequiredComponents have changed, please update gnome-flashback/default.nix."; false)
+
+      rm -r $out/share/gnome-session
+      rm -r $out/share/xsessions
+      rm -r $out/libexec
+    '';
+
+    nativeBuildInputs = [
+      autoreconfHook
+      gettext
+      libxml2
+      pkgconfig
+      wrapGAppsHook
+    ];
+
+    buildInputs = [
+      glib
+      gnome-bluetooth
+      gnome-desktop
+      gsettings-desktop-schemas
+      gtk
+      ibus
+      libcanberra-gtk3
+      libpulseaudio
+      libxkbfile
+      polkit
+      upower
+      xkeyboard_config
+    ];
+
+    doCheck = true;
 
-  patches =[
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit metacity;
-      gnomeSession = gnome-session;
-    })
-
-    # overrides do not respect gsettingsschemasdir
-    # https://gitlab.gnome.org/GNOME/gnome-flashback/issues/9
-    (fetchpatch {
-     url = https://gitlab.gnome.org/GNOME/gnome-flashback/commit/a55530f58ccd600414a5420b287868ab7d219705.patch;
-     sha256 = "1la94lhhb9zlw7bnbpl6hl26zv3kxbsvgx996mhph720wxg426mh";
-    })
-  ];
-
-  nativeBuildInputs = [
-    autoreconfHook
-    gettext
-    libxml2
-    pkgconfig
-  ];
-
-  buildInputs = [
-    glib
-    gnome-bluetooth
-    gnome-desktop
-    gsettings-desktop-schemas
-    gtk
-    ibus
-    libcanberra-gtk3
-    libpulseaudio
-    libxkbfile
-    polkit
-    upower
-    xkeyboard_config
-  ];
-
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  passthru = {
-    updateScript = gnome3.updateScript {
-      packageName = pname;
-      attrPath = "gnome3.${pname}";
+    enableParallelBuilding = true;
+
+    passthru = {
+      updateScript = gnome3.updateScript {
+        packageName = pname;
+        attrPath = "gnome3.${pname}";
+      };
+
+      mkSessionForWm = { wmName, wmLabel, wmCommand }:
+        let
+          wmApplication = writeTextFile {
+            name = "gnome-flashback-${wmName}-wm";
+            destination = "/share/applications/${wmName}.desktop";
+            text = ''
+              [Desktop Entry]
+              Type=Application
+              Encoding=UTF-8
+              Name=${wmLabel}
+              Exec=${wmCommand}
+              NoDisplay=true
+              X-GNOME-WMName=${wmLabel}
+              X-GNOME-Autostart-Phase=WindowManager
+              X-GNOME-Provides=windowmanager
+              X-GNOME-Autostart-Notify=false
+            '';
+          };
+
+        gnomeSession = writeTextFile {
+          name = "gnome-flashback-${wmName}-gnome-session";
+          destination = "/share/gnome-session/sessions/gnome-flashback-${wmName}.session";
+          text = ''
+            [GNOME Session]
+            Name=GNOME Flashback (${wmLabel})
+            ${requiredComponents wmName}
+          '';
+        };
+
+        executable = writeShellScriptBin "gnome-flashback-${wmName}" ''
+          if [ -z $XDG_CURRENT_DESKTOP ]; then
+            export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
+          fi
+
+          export XDG_DATA_DIRS=${wmApplication}/share:${gnomeSession}/share:${gnome-flashback}/share:${gnome-panel}/share:$XDG_DATA_DIRS
+
+          exec ${gnome-session}/bin/gnome-session --session=gnome-flashback-${wmName} "$@"
+        '';
+
+      in writeTextFile {
+        name = "gnome-flashback-${wmName}-xsession";
+        destination = "/share/xsessions/gnome-flashback-${wmName}.desktop";
+        text = ''
+          [Desktop Entry]
+          Name=GNOME Flashback (${wmLabel})
+          Comment=This session logs you into GNOME Flashback with ${wmLabel}
+          Exec=${executable}/bin/gnome-flashback-${wmName}
+          TryExec=${wmCommand}
+          Type=Application
+          DesktopNames=GNOME-Flashback;GNOME;
+        '';
+      };
     };
-  };
 
-  meta = with stdenv.lib; {
-    description = "GNOME 2.x-like session for GNOME 3";
-    homepage = https://wiki.gnome.org/Projects/GnomeFlashback;
-    license = licenses.gpl2;
-    maintainers = gnome3.maintainers;
-    platforms = platforms.linux;
+    meta = with stdenv.lib; {
+      description = "GNOME 2.x-like session for GNOME 3";
+      homepage = https://wiki.gnome.org/Projects/GnomeFlashback;
+      license = licenses.gpl2;
+      maintainers = gnome3.maintainers;
+      platforms = platforms.linux;
+    };
   };
-}
+  in gnome-flashback
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch b/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch
deleted file mode 100644
index 9d5add233d61..000000000000
--- a/pkgs/desktops/gnome-3/misc/gnome-flashback/fix-paths.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -22,7 +22,7 @@
- 	             echo 'if [ -z $$XDG_CURRENT_DESKTOP ]; then' && \
- 	             echo '  export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"' && \
- 	             echo 'fi' && echo '' && \
--	             echo 'exec gnome-session --session=gnome-flashback-compiz "$$@"') > $@
-+	             echo 'exec @gnomeSession@/bin/gnome-session --session=gnome-flashback-compiz "$$@"') > $@
- 	$(AM_V_at) chmod a+x $@
- 
- gnome-flashback-metacity: Makefile
-@@ -30,7 +30,7 @@
- 	             echo 'if [ -z $$XDG_CURRENT_DESKTOP ]; then' && \
- 	             echo '  export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"' && \
- 	             echo 'fi' && echo '' && \
--	             echo 'exec gnome-session --session=gnome-flashback-metacity --disable-acceleration-check "$$@"') > $@
-+	             echo 'exec @gnomeSession@/bin/gnome-session --session=gnome-flashback-metacity --disable-acceleration-check "$$@"') > $@
- 	$(AM_V_at) chmod a+x $@
- 
- CLEANFILES = \
---- a/data/xsessions/gnome-flashback-metacity.desktop.in.in
-+++ b/data/xsessions/gnome-flashback-metacity.desktop.in.in
-@@ -2,6 +2,6 @@
- Name=GNOME Flashback (Metacity)
- Comment=This session logs you into GNOME Flashback with Metacity
- Exec=@libexecdir@/gnome-flashback-metacity
--TryExec=metacity
-+TryExec=@metacity@/bin/metacity
- Type=Application
- DesktopNames=GNOME-Flashback;GNOME;
diff --git a/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix b/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
index b9522e1e3f40..f9cc0a8aa4f9 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-panel/default.nix
@@ -8,6 +8,7 @@
 , gettext
 , glib
 , gnome-desktop
+, gnome-flashback
 , gnome-menus
 , gnome3
 , gtk
@@ -43,6 +44,23 @@ in stdenv.mkDerivation rec {
     })
   ];
 
+  # make .desktop Exec absolute
+  postPatch = ''
+    patch -p0 <<END_PATCH
+    +++ gnome-panel/gnome-panel.desktop.in
+    @@ -7 +7 @@
+    -Exec=gnome-panel
+    +Exec=$out/bin/gnome-panel
+    END_PATCH
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix XDG_DATA_DIRS : "${gnome-menus}/share:${gnome-flashback}/share"
+      --prefix XDG_CONFIG_DIRS : "${gnome-menus}/etc/xdg:${gnome-flashback}/etc/xdg"
+    )
+  '';
+
   nativeBuildInputs = [
     autoreconfHook
     gettext
diff --git a/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix b/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix
new file mode 100644
index 000000000000..be8ab81457ea
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/gnome-screensaver/default.nix
@@ -0,0 +1,96 @@
+{ stdenv
+, fetchgit
+, fetchurl
+, autoreconfHook
+, dbus-glib
+, glib
+, gnome-common
+, gnome-desktop
+, gnome3
+, gtk
+, gsettings-desktop-schemas
+, pkgconfig
+, intltool
+, pam
+, systemd
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-screensaver";
+  version = "3.6.1";
+
+  # the original package is deprecated and the Ubuntu version has a number of useful patches
+  src = fetchgit {
+    url = "https://git.launchpad.net/ubuntu/+source/gnome-screensaver";
+    rev =  "4f7b666131dec060a5aac9117f395ac522a627b4";
+    sha256 = "15xqgcpm825cy3rm8pj00qlblq66svmh06lcw8qi74a3g0xcir87";
+  };
+
+  # from debian/patches/series
+  patches = map (patch: "debian/patches/${patch}") [
+    "00git_logind_check.patch"
+    "01_no_autostart.patch"
+    "03_fix_ltsp-fading.patch"
+    "05_dbus_service.patch"
+    "10_legacy_scrsvr_inhibit.patch"
+    "13_nvidia_gamma_fade_fallback.patch"
+    "14_no_fade_on_user_switch.patch"
+    "15_dont_crash_on_no_fade.patch"
+    "16_dont_crash_in_kvm.patch"
+    "17_remove_top_panel.patch"
+    "18_unity_dialog_layout.patch"
+    "24_use_user_settings.patch"
+    "25_fix_lock_command.patch"
+    "27_lightdm_switch_user.patch"
+    "28_blocking_return.patch"
+    "29_handle_expired_creds.patch"
+    # these two patches are ubuntu-specific
+    # "30_ubuntu-lock-on-suspend_gsetting.patch"
+    # "31_lock_screen_on_suspend.patch"
+    "32_input_sources_switcher.patch"
+    "move-not-nuke.patch"
+    "allow-replacement"
+    "libsystemd.patch"
+    "0001-gs-lock-plug-Disconnect-signal-handler-from-right-ob.patch"
+    "33_budgie_support.patch"
+  ] ++ [ ./fix-dbus-service-dir.patch ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    intltool
+    wrapGAppsHook
+    gnome-common
+    pkgconfig
+  ];
+
+  buildInputs = [
+    glib
+    gtk
+    gnome-desktop
+    dbus-glib
+    pam
+    systemd
+  ];
+
+  configureFlags = [ "--enable-locking" "--with-systemd=yes" ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Component of Gnome Flashback that provides screen locking";
+    homepage = https://wiki.gnome.org/Projects/GnomeScreensaver;
+    license = licenses.gpl2Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome-3/misc/gnome-screensaver/fix-dbus-service-dir.patch b/pkgs/desktops/gnome-3/misc/gnome-screensaver/fix-dbus-service-dir.patch
new file mode 100644
index 000000000000..81e037ee690d
--- /dev/null
+++ b/pkgs/desktops/gnome-3/misc/gnome-screensaver/fix-dbus-service-dir.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac  2019-01-20 20:28:01.309231507 +0100
++++ b/configure.ac  2019-01-20 20:31:54.927978927 +0100
+@@ -137,7 +137,7 @@
+ 
+ # Find out where the session service file goes
+ # The sad sed hack is recomended by section 27.10 of the automake manual.
+-DBUS_SESSION_SERVICE_DIR=`pkg-config --variable session_bus_services_dir dbus-1 | sed -e 's,/usr/share,${datarootdir},g'`
++DBUS_SESSION_SERVICE_DIR=`pkg-config --variable session_bus_services_dir dbus-1 --define-variable 'datadir=${datadir}'`
+ AC_SUBST(DBUS_SESSION_SERVICE_DIR)
+ 
+ dnl ---------------------------------------------------------------------------
\ No newline at end of file
diff --git a/pkgs/desktops/gnustep/back/default.nix b/pkgs/desktops/gnustep/back/default.nix
index ed162229d9af..54ea8dcf4875 100644
--- a/pkgs/desktops/gnustep/back/default.nix
+++ b/pkgs/desktops/gnustep/back/default.nix
@@ -8,13 +8,13 @@
 , libXmu
 }:
 let
-  version = "0.26.2";
+  version = "0.27.0";
 in
 gsmakeDerivation {
   name = "gnustep-back-${version}";
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-${version}.tar.gz";
-    sha256 = "012gsc7x66gmsw6r5w65a64krcigf7rzqzd5x86d4gv94344knlf";
+    sha256 = "0j400892ysxygh50i3918nn87vkxh15h892jwvphmkd34j8wdn9f";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cairo base gui freetype xlibsWrapper libXmu ];
diff --git a/pkgs/desktops/gnustep/gui/default.nix b/pkgs/desktops/gnustep/gui/default.nix
index 399bad2581f6..72d109b69796 100644
--- a/pkgs/desktops/gnustep/gui/default.nix
+++ b/pkgs/desktops/gnustep/gui/default.nix
@@ -1,12 +1,12 @@
 { gsmakeDerivation, fetchurl, base }:
 let
-  version = "0.26.2";
+  version = "0.27.0";
 in
 gsmakeDerivation {
   name = "gnustep-gui-${version}";
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-${version}.tar.gz";
-    sha256 = "1dsbkifnjha3ghq8xx55bpsbbng0cjsni3yz71r7342ax2ixcvxc";
+    sha256 = "1m6k3fa2ndxv0kl2fazi76mwa27gn5jyp24q0rk96f2djhsy94br";
   };
   buildInputs = [ base ];
   patches = [ ./fixup-all.patch ];
diff --git a/pkgs/desktops/mate/atril/default.nix b/pkgs/desktops/mate/atril/default.nix
index 05b9d966fc43..57f721f49a28 100644
--- a/pkgs/desktops/mate/atril/default.nix
+++ b/pkgs/desktops/mate/atril/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libxml2, libsecret, poppler, itstool, hicolor-icon-theme, mate, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, gtk3, glib, libxml2, libsecret, poppler, itstool, hicolor-icon-theme, mate, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "atril-${version}";
-  version = "1.20.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "https://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1639jxcdhcn5wvb4gj9xncdj5d5c3rnyydwwsgqj66cmfmb53l1n";
+    sha256 = "00vrqyfk370fdhlfv3m6n0l6hnx30hrsrcg1xja03957cgvcvnvr";
   };
 
   nativeBuildInputs = [
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3
+    glib
     itstool
     libsecret
     libxml2
@@ -25,7 +26,9 @@ stdenv.mkDerivation rec {
     mate.mate-desktop
     hicolor-icon-theme
   ];
-  
+
+  NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
   makeFlags = [ "cajaextensiondir=$$out/lib/caja/extensions-2.0" ];
 
   meta = {
diff --git a/pkgs/desktops/mate/caja-extensions/default.nix b/pkgs/desktops/mate/caja-extensions/default.nix
index cd47f7b62b4f..64ef0cb57f27 100644
--- a/pkgs/desktops/mate/caja-extensions/default.nix
+++ b/pkgs/desktops/mate/caja-extensions/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "caja-extensions-${version}";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "01k7c3gw6rfd7vlch61zig22bvz40wlnalc5p3rz4d9i98fr643n";
+    sha256 = "14w1xd33ggn6wdzqvcmj8rqc68w4k094lai6mqrgmv1zljifydqz";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/caja/default.nix b/pkgs/desktops/mate/caja/default.nix
index 63ad4e671254..130d44d6a1a1 100644
--- a/pkgs/desktops/mate/caja/default.nix
+++ b/pkgs/desktops/mate/caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "caja-${version}";
-  version = "1.21.2";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0kswpghpsz69l417ammniy1ja0dsg1hrsm2k0rx28q9mhdfdmnwq";
+    sha256 = "1wlrhcvhqving3pphbz50xnbp7z57mlkf7m36lfh8mim62kfmmd0";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/engrampa/default.nix b/pkgs/desktops/mate/engrampa/default.nix
index 2becc40a46c3..1989ac8e12cc 100644
--- a/pkgs/desktops/mate/engrampa/default.nix
+++ b/pkgs/desktops/mate/engrampa/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "engrampa-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0y79rzmv3i03la443bp8f6gsgm03vr4nd88npwrvjqlxs59lg1gw";
+    sha256 = "0fj957dfagw6p7mq5545h9j2w3hv18yqnkpypnr719r4g13d3f2v";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/eom/default.nix b/pkgs/desktops/mate/eom/default.nix
index 4f3380514494..3b830f73c76a 100644
--- a/pkgs/desktops/mate/eom/default.nix
+++ b/pkgs/desktops/mate/eom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "eom-${version}";
-  version = "1.21.2";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "08idw219mw0v0nkaphy0jvxi67gqm4nzbbnhnwjksxbma2gmpvss";
+    sha256 = "0440sfbidizn860w5avgwld08qc2fslrm0nx2659651cf3r7rw05";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/libmatekbd/default.nix b/pkgs/desktops/mate/libmatekbd/default.nix
index 842ab5b214da..15b81a628863 100644
--- a/pkgs/desktops/mate/libmatekbd/default.nix
+++ b/pkgs/desktops/mate/libmatekbd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libmatekbd-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0xi5ds2psbf0qb0363ljxz5m9xxh1hr2hcn8zv6ni6mdqsqnkajz";
+    sha256 = "1l1zbphs4snswf4bkrwkk6gsmb44bdhymcfgaaspzbrcmw3y7hr1";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/desktops/mate/libmatemixer/default.nix b/pkgs/desktops/mate/libmatemixer/default.nix
index dab73ed34991..8bf0d9bec18c 100644
--- a/pkgs/desktops/mate/libmatemixer/default.nix
+++ b/pkgs/desktops/mate/libmatemixer/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "libmatemixer-${version}";
-  version = "1.21.0";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1376x3rlisrc6hsz6yzi637msplmacxryyqnrsgfc580knp1nrvm";
+    sha256 = "00p67mi0flsbgn15qpwq60rzf917s5islbmhirbvz6npcvv0d493";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/desktops/mate/libmateweather/default.nix b/pkgs/desktops/mate/libmateweather/default.nix
index e6769a2e978e..9805b8d91b5a 100644
--- a/pkgs/desktops/mate/libmateweather/default.nix
+++ b/pkgs/desktops/mate/libmateweather/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libmateweather-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1vj2pgry6wdscdcpwwagqlsjf8rkh4id67iw7d9qk1pfbhb2sznl";
+    sha256 = "1ksp1xn13m94sjnnrx2dyv7hlbgjbnbahwdyaq35r2419b366hxv";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index e2c2a54bc748..975c80b1d0cf 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "marco-${version}";
-  version = "1.21.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1vg3dl7kqhzgspa2ykyql4j3bpki59769qrkakqfdcavb9j5c877";
+    sha256 = "192nlr4ylisxisk0ljabm8v0a5sapdncj4gbw39q2fpr938ifs32";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-applets/default.nix b/pkgs/desktops/mate/mate-applets/default.nix
index 59316039b36b..f9f0689fa65f 100644
--- a/pkgs/desktops/mate/mate-applets/default.nix
+++ b/pkgs/desktops/mate/mate-applets/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-applets-${version}";
-  version = "1.21.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0jr66xrwjrlyh4hz6h5axh96pgxm8n1xyc0rmggah2fijs940rsb";
+    sha256 = "0y5501wliipxf43p2q9917r3ird7azlrbcwnj2q2q2zy00hvvk5f";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix
index a4d7e0a20988..d45563db8a1c 100644
--- a/pkgs/desktops/mate/mate-calc/default.nix
+++ b/pkgs/desktops/mate/mate-calc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-calc-${version}";
-  version = "1.21.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "07mmc99wwgqbp15zrr6z7iz0frc388z19jwk28ymyzgn6bcc9cn6";
+    sha256 = "0nv0q2c93rv36dhid7vf0w0rb6zdwyqaibfsmc7flj00qgsn3r5a";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index bc5a78c5a4b2..8697a150881b 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-control-center-${version}";
-  version = "1.21.0";
+  version = "1.20.4";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0m40jr1midh5fzk3k97sydihlqfqjvzxlgmkx8w2j30a09h7230w";
+    sha256 = "1rjxndikj0w516nlvyzcss31l9qjwkzvns7ygasnjbl02bgml9a4";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index 124cd644467e..e6a43e6b457d 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/pkgs/desktops/mate/mate-desktop/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-desktop-${version}";
-  version = "1.21.0";
+  version = "1.20.4";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0qd76p5zqgifiawkgv2casb9ll55j4qq4pfxgxj3j5zvjr3dgr47";
+    sha256 = "073hn68f57ahif0znbx850x6ncsq50m7jg0sy1mllxjjqf3b1fxr";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix
index c18dd7783809..9d813e715ffd 100644
--- a/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-icon-theme-${version}";
-  version = "1.21.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "170vir6h9sgsibd4kfq5qgz542qrw94q3qakqry77clls5wj6b62";
+    sha256 = "10l58mjc2a69pm7srxvlav2b8b7nbzyvwjrlrk79a3gr6dd1mbk4";
   };
 
   nativeBuildInputs = [ pkgconfig intltool iconnamingutils ];
diff --git a/pkgs/desktops/mate/mate-media/default.nix b/pkgs/desktops/mate/mate-media/default.nix
index 11f71d109377..643f67cd1e95 100644
--- a/pkgs/desktops/mate/mate-media/default.nix
+++ b/pkgs/desktops/mate/mate-media/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-media-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0mgx4xjarpyvyaw0p0jnh74447y6zd93fvpi12078vyqr25dsi43";
+    sha256 = "06fka82smrphzj4dz9dw1566kmdscxvxl0rchj9qxg7aidy0rmnv";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix
index 94a7f572b16b..9a0db6107e1a 100644
--- a/pkgs/desktops/mate/mate-menus/default.nix
+++ b/pkgs/desktops/mate/mate-menus/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "mate-menus-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "168f7jgm4kbnx92xh3iqvvrgpkv1q862xg27zxg40nkz5xhk95hx";
+    sha256 = "18y4nka38dqqxycxpf7ig4vmrk4i05xqqjk4fxr1ghkj60xxyxz2";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
 
-  buildInputs = [ glib gobject-introspection python ];
+  buildInputs = [ glib python ];
 
   makeFlags = [
     "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/"
diff --git a/pkgs/desktops/mate/mate-notification-daemon/default.nix b/pkgs/desktops/mate/mate-notification-daemon/default.nix
index 748a45eda79c..e9f8b4b75b1f 100644
--- a/pkgs/desktops/mate/mate-notification-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-notification-daemon/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-notification-daemon-${version}";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0hwswgc3i6d7zvmj0as95xjjw431spxkf1d37mxwaf6j80gx0p78";
+    sha256 = "0a60f67yjvlffrnviqgc64jz5l280f30h8br7wz2x415if5dmjyn";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index 92da012ca7da..a7d34fc85a64 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -1,18 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, dbus-glib, libwnck3, librsvg, libxml2, gnome3, mate, hicolor-icon-theme, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, dbus-glib, libwnck3, librsvg, libxml2, gnome3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   name = "mate-panel-${version}";
-  version = "1.21.1";
+  version = "1.20.4";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0093pimqkx5db2nciksgrmq02hldg08p7hghafky3njl0kzv8l5z";
+    sha256 = "02pdrwgl3plgv6l6nc45nsnmjppkxs4ybggwibd6mm777i9nb44d";
   };
 
   nativeBuildInputs = [
-    pkgconfig
+    gobject-introspection
     intltool
     itstool
+    pkgconfig
     wrapGAppsHook
   ];
 
diff --git a/pkgs/desktops/mate/mate-polkit/default.nix b/pkgs/desktops/mate/mate-polkit/default.nix
index b5d87acded80..5f1dfaa5ba4e 100644
--- a/pkgs/desktops/mate/mate-polkit/default.nix
+++ b/pkgs/desktops/mate/mate-polkit/default.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "mate-polkit-${version}";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "05g6k5z903p9p0dbi0y61z5chip52gqrhy5zrjn6xjxv1ad29lsk";
+    sha256 = "0zajisavrxiynmp4qg7zamvkpnhy9nra01czwn21h6hm2yakbayr";
   };
 
   nativeBuildInputs = [
-    pkgconfig
+    gobject-introspection
     intltool
+    pkgconfig
   ];
 
   buildInputs = [
     gtk3
-    gobject-introspection
     libappindicator-gtk3
     libindicator-gtk3
     polkit
diff --git a/pkgs/desktops/mate/mate-power-manager/default.nix b/pkgs/desktops/mate/mate-power-manager/default.nix
index 14f5f0443730..a9c162e59122 100644
--- a/pkgs/desktops/mate/mate-power-manager/default.nix
+++ b/pkgs/desktops/mate/mate-power-manager/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-power-manager-${version}";
-  version = "1.21.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1l7rxv16j95w26igs4n7fdfv5hqm91b9ddc1lw5m26s42nkzzf85";
+    sha256 = "17x47j5dkxxsq63bv2jwf3xgnddyy2dya4y14ryivq8q3jh5yhr5";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/mate/mate-screensaver/default.nix b/pkgs/desktops/mate/mate-screensaver/default.nix
index b4c215339b55..089296a0b842 100644
--- a/pkgs/desktops/mate/mate-screensaver/default.nix
+++ b/pkgs/desktops/mate/mate-screensaver/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-screensaver-${version}";
-  version = "1.21.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1asfw2x0ha830ilkw97bjdqm2gnjbpb6dd7lb6h43aix7g3lgm7f";
+    sha256 = "0kmaj4psg7261h02dzarga6k5cb7n709d60xbfrhywnf5fb9787i";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-sensors-applet/default.nix b/pkgs/desktops/mate/mate-sensors-applet/default.nix
index a317b175f9bb..86cbd3a86d25 100644
--- a/pkgs/desktops/mate/mate-sensors-applet/default.nix
+++ b/pkgs/desktops/mate/mate-sensors-applet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-sensors-applet-${version}";
-  version = "1.21.0";
+  version = "1.20.3";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1l84hfxz5qzipchxxi5whccq5d0kg9c8fxisar8pbckl6763b4dx";
+    sha256 = "0s98qy3jkri9zh5xqffprqd00cqspaq9av0mcrcakjkl8wyfh2g6";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix
index 38881e425762..31f447861fc8 100644
--- a/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-session-manager-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1556kn4sk41x70m8cx200g4c9q3wndnhdxj4vp93sw262yqmk9mn";
+    sha256 = "05qq07b568qf6zyy459wajhfpbx1wfrinw3hsbky7abdjfn529dy";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 4138a042856b..2be518bcc5e1 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-settings-daemon-${version}";
-  version = "1.21.0";
+  version = "1.20.4";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "1k0xbwxpv3wfl7z3hgaf2ylzaz3aky4j7awdy8cfgxr0d6nqhp3w";
+    sha256 = "10xlg2gb7fypnn5cnr14kbpjy5jdfz98ji615scz61zf5lljksxh";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix
index c3f29dff6319..5757f5eb9b40 100644
--- a/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-system-monitor-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0filf6qyw4fk45br3cridbqdngwl525z49zn36r7q4agzhny4phz";
+    sha256 = "0f6sh23axzmcmyv0d837gbc0dixf1afh8951zrzp1y53rdgpa9qn";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-terminal/default.nix b/pkgs/desktops/mate/mate-terminal/default.nix
index ce8f58cc99b2..9b0018e8e2fc 100644
--- a/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/pkgs/desktops/mate/mate-terminal/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-terminal-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "15vx7b5nbjbym22pz3l3cyqhv4dnd6vl2hb56xhwq625aw2a7chv";
+    sha256 = "0fqyi0az4ax1gyk5gymd7ssq2crdcd7slmqljc1b1pa283ql7p3q";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/mate/mate-user-guide/default.nix b/pkgs/desktops/mate/mate-user-guide/default.nix
index 9992d911814d..5264c772a537 100644
--- a/pkgs/desktops/mate/mate-user-guide/default.nix
+++ b/pkgs/desktops/mate/mate-user-guide/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-user-guide-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0ayg570000calzpj51dwhh5mil11s0nrhl21c0si3sxr8f5cld6q";
+    sha256 = "0cbi625xd7nsifvxbixsb29kj2zj14sn0sl61wkcvasz7whg7w6r";
   };
 
   nativeBuildInputs = [ itstool intltool libxml2 ];
diff --git a/pkgs/desktops/mate/mate-utils/default.nix b/pkgs/desktops/mate/mate-utils/default.nix
index e4cd9126dfaa..17ec165f7559 100644
--- a/pkgs/desktops/mate/mate-utils/default.nix
+++ b/pkgs/desktops/mate/mate-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-utils-${version}";
-  version = "1.21.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0q05zzxgwwk7af05yzcjixjd8hi8cqykirj43g60ikhzym009n4q";
+    sha256 = "0w7hw192jzhad8jab8mjms4x6k2xijvb3rhlbxb6z5n5880xgfqf";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mozo/default.nix b/pkgs/desktops/mate/mozo/default.nix
index 387df5d45b3d..f2419f7f5e80 100644
--- a/pkgs/desktops/mate/mozo/default.nix
+++ b/pkgs/desktops/mate/mozo/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, intltool, mate, pythonPackages }:
+{ stdenv, python, fetchurl, pkgconfig, intltool, mate, gtk3, glib, wrapGAppsHook, gobject-introspection }:
 
-stdenv.mkDerivation rec {
-  name = "mozo-${version}";
-  version = "1.20.1";
+python.pkgs.buildPythonApplication rec {
+  pname = "mozo";
+  version = "1.20.2";
+
+  format = "other";
+  doCheck = false;
 
   src = fetchurl {
-    url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "16rkwbq385i2acll0kcsnp4ghdyljylhp06bjdsvbwv6bjspyyrp";
+    url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${pname}-${version}.tar.xz";
+    sha256 = "1q4hqhigimxav2a8xxyd53lq8q80szsphcv37y2jhm6g6wvdmvhd";
   };
-  
-  pythonPath = [ mate.mate-menus pythonPackages.pygobject3 ];
 
-  nativeBuildInputs = [ pkgconfig intltool pythonPackages.wrapPython ];
+  nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ];
 
-  buildInputs = [ pythonPackages.python ] ++ pythonPath;
+  propagatedBuildInputs =  [ mate.mate-menus python.pkgs.pygobject3 ];
 
-  preFixup = "wrapPythonPrograms";
+  buildInputs = [ gtk3 glib ];
 
   meta = with stdenv.lib; {
     description = "MATE Desktop menu editor";
diff --git a/pkgs/desktops/mate/pluma/default.nix b/pkgs/desktops/mate/pluma/default.nix
index 9dd992c4699f..abb1b8c28a1b 100644
--- a/pkgs/desktops/mate/pluma/default.nix
+++ b/pkgs/desktops/mate/pluma/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pluma-${version}";
-  version = "1.21.1";
+  version = "1.20.4";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "0sc69bz0h3f4cpgkyda9fnpjfkvbc20ldh6v3jj8fd3n460bc8ai";
+    sha256 = "0qdbm5y6q8lbabd81mg3rnls5bdvbmfii82f6syqw1cw6381mzgz";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/python-caja/default.nix b/pkgs/desktops/mate/python-caja/default.nix
index 1659ebaae656..0470086f865f 100644
--- a/pkgs/desktops/mate/python-caja/default.nix
+++ b/pkgs/desktops/mate/python-caja/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "python-caja-${version}";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
-    sha256 = "16y9xri92x7a40db2qakf20c80a6vqy21nwnjhwrki5rqk7nwbgx";
+    sha256 = "16r8mz1b44qgs19d14zadwzshzrdc5sdwgjp9f9av3fa6g09yd7b";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 875472a2fb6d..3ab25c3a830b 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -98,8 +98,6 @@ let
         cd ..
     '';
 
-    extension = if stdenv.hostPlatform.isDarwin then "a" else "{a,so}";
-    
     dontStrip = true;
 
     installPhase = ''
@@ -120,7 +118,7 @@ let
 
         cd ../phobos
         mkdir $out/lib
-        cp generated/${osname}/release/${bits}/libphobos2.${extension} $out/lib
+        cp generated/${osname}/release/${bits}/libphobos2.* $out/lib
 
         cp -r std $out/include/d2
         cp -r etc $out/include/d2
diff --git a/pkgs/development/compilers/dtc/default.nix b/pkgs/development/compilers/dtc/default.nix
index 09ef27fc3015..9cc60003201c 100644
--- a/pkgs/development/compilers/dtc/default.nix
+++ b/pkgs/development/compilers/dtc/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit, fetchpatch, flex, bison, pkgconfig, python2, swig, which }:
 
 stdenv.mkDerivation rec {
-  name = "dtc-${version}";
+  pname = "dtc";
   version = "1.4.7";
 
   src = fetchgit {
diff --git a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
index 945649b29781..82edf0e33cfa 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/6/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out
     cp -r * $out
+    ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
   '';
 
   dontPatchELF = true;
diff --git a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
index c22683dae03a..39fc3c517f81 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/7/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out
     cp -r * $out
+    ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
   '';
 
   dontPatchELF = true;
diff --git a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
index 4e0caf183610..a26131cb0536 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/8/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out
     cp -r * $out
+    ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
   '';
 
   dontPatchELF = true;
diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix
index 039b5a9ce362..350eed2fedd0 100644
--- a/pkgs/development/compilers/gcc-arm-embedded/default.nix
+++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation {
   installPhase = ''
     mkdir -pv $out
     cp -r ./* $out
+    ln -s $out/share/doc/gcc-arm-none-eabi/man $out/man
 
     for f in $(find $out); do
       if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index 93ab703d975d..a3a0a9d59346 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -21,41 +21,41 @@ let
     else
       throw "openjdk requires i686-linux or x86_64 linux";
 
-  update = "192";
-  build = "26";
+  update = "202";
+  build = "ga";
   baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
-  repover = "jdk8u${update}-b${build}";
+  repover = "jdk8u${update}-${build}";
   jdk8 = fetchurl {
              url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = "1hx5sfsglc101aqs9n7cz7rh447d6rxfxkbw03crvzbvy9n6ag2d";
+             sha256 = "0asx7qkhmrlfmhrljck5gb3yp4v0aa8k35y4xfcph41x0m0mvrdb";
           };
   langtools = fetchurl {
              url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = "0vq6nlzs85agjkilpr53v7kjrd99kq770zipqghjmlfzyiy9xk4q";
+             sha256 = "07q6l3slmi5fgwjnsk6bd8miv8glmw15w5f6yyvp8nlp2d54l33n";
           };
   hotspot = fetchurl {
              url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = "0q5z2glfiip0lsisp1zy1zcw91hi1kznphm7w3iagq8s7550wbvh";
+             sha256 = "01k4pwhn3nmkzdhdj1v58dgir4iwsj9mm2ml1541z31s53g037cq";
           };
   corba = fetchurl {
              url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = "1mgg82066c9wjsj9ciqv4lrn1av5cb86hq00lkpsffdqbwx3vrm3";
+             sha256 = "0v39kl2iiyh74p3cp6bjhshkwxpgbffza9abzjgp7cpdfhcc73p0";
           };
   jdk = fetchurl {
              url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = "1s87a49hl4h21kf2yh1w67wgb179j0f5v62cxbrvvd5lk2h5jyvf";
+             sha256 = "0z1cy6aq09j25jyryj47rms15h5175p2h23fg5pv035zapf8nb1b";
           };
   jaxws = fetchurl {
              url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = "05alcixcxcdms373byh21d2brsky6kj14b3h80cs9bi1gfnbqilq";
+             sha256 = "0y0mk4sra9d29kgx842m5y4bz9gczc9ypkajv6m5igjv7sizzsv7";
           };
   jaxp = fetchurl {
              url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = "1r3fqnl5jqmxzsjqjrka35f8hwqqap9jg8zwqk2vv9qikrm7frhl";
+             sha256 = "07ssrjhffkdncxxhsbid21hlg51y7js3x7sb4g474vmmi3qj6vmb";
           };
   nashorn = fetchurl {
              url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = "0lzwi35lp4a477jkmfa53kxy3g9lzcmh56wprg805gbv4sjnkjk1";
+             sha256 = "0r0b8ra0ibzbdpxz6nv6i2zrzh2j5sxgprpnl6gf4d9h0i29ickj";
           };
   openjdk8 = stdenv.mkDerivation {
     name = "openjdk-8u${update}b${build}";
diff --git a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
index 1e333e052b64..4d88f3b97729 100644
--- a/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix
@@ -199,4 +199,4 @@ let result = stdenv.mkDerivation rec {
     platforms = [ "i686-linux" "x86_64-linux" "armv7l-linux" "aarch64-linux" ]; # some inherit jre.meta.platforms
   };
 
-}; in result
+}; in stdenv.lib.trivial.warn "Public updates for Oracle Java SE 8 released after January 2019 will not be available for business, commercial or production use without a commercial license. See https://java.com/en/download/release_notice.jsp for more information." result
diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
index 51ff77758a5b..81f4ef3c7dba 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
@@ -6,8 +6,8 @@ import ./jdk-linux-base.nix {
   buildVersion = "09";
   sha256.i686-linux = "1f9n93zmkggchaxkchp4bqasvxznn96zjci34f52h7v392jkzqac";
   sha256.x86_64-linux = "0w730v2q0iaxf2lprabwmy7129byrs0hhdbwas575p1xmk00qw6b";
-  sha256.armv7l-linux = "0p82d2vah63a6r2rip9v17lbjam39kgqp0584q3cnljgr5p9gyhz";
-  sha256.aarch64-linux = "1qm4b3aj5wi0hp9q6gy1da4bz5k9ky4shgiqa4zxrib4kjp9yf0k";
+  sha256.armv7l-linux = "0y6bvq93lsf21v6ca536dpfhkk5ljsj7c6di0qzkban37bivj0si";
+  sha256.aarch64-linux = "1bybysgg9llqzllsmdszmmb73v5az2l1shxn6lxwv3wwiazpf47q";
   releaseToken = "42970487e3af4f5aa5bca3f542482c60";
   jceName = "jce_policy-8.zip";
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
index 51ff77758a5b..0263bdde8d28 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
@@ -2,12 +2,12 @@
 # jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "201";
+  patchVersion = "202";
   buildVersion = "09";
-  sha256.i686-linux = "1f9n93zmkggchaxkchp4bqasvxznn96zjci34f52h7v392jkzqac";
-  sha256.x86_64-linux = "0w730v2q0iaxf2lprabwmy7129byrs0hhdbwas575p1xmk00qw6b";
-  sha256.armv7l-linux = "0p82d2vah63a6r2rip9v17lbjam39kgqp0584q3cnljgr5p9gyhz";
-  sha256.aarch64-linux = "1qm4b3aj5wi0hp9q6gy1da4bz5k9ky4shgiqa4zxrib4kjp9yf0k";
+  sha256.i686-linux = "19np392dwdqdq39lmm10607w2h042lrm5953fnsfh1bb9jli1pgj";
+  sha256.x86_64-linux = "1q4l8pymjvsvxfwaw0rdcnhryh1la2bvg5f4d4my41ka390k4p4s";
+  sha256.armv7l-linux = "06aljl7dqmmhmp7xswgvkcgh9mam71wnqydg9yb3hkcc443cm581";
+  sha256.aarch64-linux = "12v9ndv7a2c9zqq6ai2vsgwad0lzmf4c6jxy4p9miapmhjzx5vii";
   releaseToken = "42970487e3af4f5aa5bca3f542482c60";
   jceName = "jce_policy-8.zip";
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/shaderc/default.nix b/pkgs/development/compilers/shaderc/default.nix
index 1176d348d9d3..7ce7f9cefe51 100644
--- a/pkgs/development/compilers/shaderc/default.nix
+++ b/pkgs/development/compilers/shaderc/default.nix
@@ -8,30 +8,32 @@ let
   glslang = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
-    rev = "32d3ec319909fcad0b2b308fe1635198773e8316";
-    sha256 = "1kmgjv5kbrjy6azpgwnjcn3cj8vg5i8hnyk3m969sc0gq2j1rbjj";
+    rev = "712cd6618df2c77e126d68042ad7a81a69ee4a6f";
+    sha256 = "0wncdj6q1hn40lc7cnz97mx5qjvb8p13mhxilnncgcmf0crsvblz";
   };
   spirv-tools = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
-    rev = "fe2fbee294a8ad4434f828a8b4d99eafe9aac88c";
-    sha256 = "03rq4ypwqnz34n8ip85n95a3b9rxb34j26azzm3b3invaqchv19x";
+    rev = "df5bd2d05ac1fd3ec3024439f885ec21cc949b22";
+    sha256 = "0l8ds4nn2qcfi8535ai8891i3547x35hscs2jxwwq6qjgw1sgkax";
   };
   spirv-headers = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
-    rev = "3ce3e49d73b8abbf2ffe33f829f941fb2a40f552";
-    sha256 = "0yk4bzqifdqpmdxkhvrxbdqhf5ngkga0ig1yyz7khr7rklqfz7wp";
+    rev = "79b6681aadcb53c27d1052e5f8a0e82a981dbf2f";
+    sha256 = "0flng2rdmc4ndq3j71h6wk1ibcjvhjrg2rzd6rv445vcsf0jh2pj";
   };
 in stdenv.mkDerivation rec {
-  name = "shaderc-git-${version}";
-  version = "2018-06-01";
+  name = "shaderc-${version}";
+  version = "2018.0";
+
+  outputs = [ "out" "lib" "bin" "dev" "static" ];
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "shaderc";
-    rev = "be8e0879750303a1de09385465d6b20ecb8b380d";
-    sha256 = "16p25ry2i4zrj00zihfpf210f8xd7g398ffbw25igvi9mbn4nbfd";
+    rev = "v${version}";
+    sha256 = "0qigmj0riw43pgjn5f6kpvk72fajssz1lc2aiqib5qvmj9rqq3hl";
   };
 
   patchPhase = ''
@@ -40,7 +42,14 @@ in stdenv.mkDerivation rec {
     ln -s ${spirv-headers} third_party/spirv-tools/external/spirv-headers
   '';
 
-  buildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python ];
+
+  postInstall = ''
+    moveToOutput "lib/*.a" $static
+  '';
+
+  preConfigure = ''cmakeFlags="$cmakeFlags -DCMAKE_INSTALL_BINDIR=$bin/bin"'';
+
   enableParallelBuilding = true;
 
   cmakeFlags = [ "-DSHADERC_SKIP_TESTS=ON" ];
@@ -48,5 +57,6 @@ in stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "A collection of tools, libraries and tests for shader compilation.";
+    license = [ licenses.asl20 ];
   };
 }
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 96486ffd925f..769c2d7bf0e2 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -720,9 +720,15 @@ self: super: {
     '';
   });
 
+  # A simple MonadFail patch would do too, but not doing the tests is easier
+  megaparsec_6_5_0 = dontCheck super.megaparsec_6_5_0;
+
   # The standard libraries are compiled separately
   idris = generateOptparseApplicativeCompletion "idris" (
-    doJailbreak (dontCheck super.idris)
+    doJailbreak (dontCheck (super.idris.override {
+      # Needed for versions <= 1.3.1 https://github.com/idris-lang/Idris-dev/pull/4610
+      megaparsec = self.megaparsec_6_5_0;
+    }))
   );
 
   # https://github.com/bos/math-functions/issues/25
@@ -915,15 +921,6 @@ self: super: {
   language-puppet = dontHaddock super.language-puppet;
   filecache = overrideCabal super.filecache (drv: { doCheck = !pkgs.stdenv.isDarwin; });
 
-  # Missing FlexibleContexts in testsuite
-  # https://github.com/EduardSergeev/monad-memo/pull/4
-  monad-memo =
-    let patch = pkgs.fetchpatch
-          { url = https://github.com/EduardSergeev/monad-memo/pull/4.patch;
-            sha256 = "14mf9940arilg6v54w9bc4z567rfbmm7gknsklv965fr7jpinxxj";
-          };
-    in appendPatch super.monad-memo patch;
-
   # https://github.com/alphaHeavy/protobuf/issues/34
   protobuf = dontCheck super.protobuf;
 
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 27bee9ae2316..632f75d7b837 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -46,7 +46,7 @@ default-package-overrides:
   # Newer versions don't work in LTS-12.x
   - alsa-mixer < 0.3
   - cassava-megaparsec < 2
-  # LTS Haskell 13.2
+  # LTS Haskell 13.3
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -368,7 +368,7 @@ default-package-overrides:
   - cayley-client ==0.4.8
   - cborg ==0.2.1.0
   - cborg-json ==0.2.1.0
-  - cereal ==0.5.7.0
+  - cereal ==0.5.8.0
   - cereal-conduit ==0.8.0
   - cereal-text ==0.1.0.2
   - cereal-time ==0.1.0.0
@@ -443,7 +443,7 @@ default-package-overrides:
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
   - conduit ==1.3.1
-  - conduit-algorithms ==0.0.8.2
+  - conduit-algorithms ==0.0.9.0
   - conduit-combinators ==1.3.0
   - conduit-concurrent-map ==0.1.1
   - conduit-connection ==0.1.0.4
@@ -490,7 +490,7 @@ default-package-overrides:
   - crypto-cipher-tests ==0.0.11
   - crypto-cipher-types ==0.0.9
   - cryptocompare ==0.1.1
-  - crypto-enigma ==0.1.1.4
+  - crypto-enigma ==0.1.1.5
   - cryptohash ==0.11.9
   - cryptohash-cryptoapi ==0.1.4
   - cryptohash-md5 ==0.11.100.1
@@ -671,7 +671,7 @@ default-package-overrides:
   - eventful-sqlite ==0.2.0
   - eventful-test-helpers ==0.2.0
   - event-list ==0.1.2
-  - eventstore ==1.2.0
+  - eventstore ==1.2.1
   - every ==0.0.1
   - exact-combinatorics ==0.2.0.8
   - exact-pi ==0.5.0.1
@@ -788,7 +788,7 @@ default-package-overrides:
   - genvalidity-aeson ==0.2.0.2
   - genvalidity-bytestring ==0.3.0.1
   - genvalidity-containers ==0.5.1.1
-  - genvalidity-hspec ==0.6.2.1
+  - genvalidity-hspec ==0.6.2.2
   - genvalidity-hspec-aeson ==0.3.0.1
   - genvalidity-hspec-binary ==0.2.0.3
   - genvalidity-hspec-cereal ==0.2.0.3
@@ -831,7 +831,7 @@ default-package-overrides:
   - gingersnap ==0.3.1.0
   - gi-pango ==1.0.16
   - giphy-api ==0.6.0.1
-  - githash ==0.1.3.0
+  - githash ==0.1.3.1
   - github-release ==1.2.3
   - github-types ==0.2.1
   - github-webhooks ==0.10.0
@@ -880,7 +880,7 @@ default-package-overrides:
   - hamilton ==0.1.0.3
   - hamtsolo ==1.0.3
   - HandsomeSoup ==0.4.2
-  - hapistrano ==0.3.8.0
+  - hapistrano ==0.3.9.0
   - happy ==1.19.9
   - hashable ==1.2.7.0
   - hashable-time ==0.2.0.2
@@ -889,7 +889,7 @@ default-package-overrides:
   - hashtables ==1.2.3.1
   - haskeline ==0.7.4.3
   - haskell-gi ==0.21.5
-  - haskell-gi-base ==0.21.4
+  - haskell-gi-base ==0.21.5
   - haskell-gi-overloading ==1.0
   - haskell-lexer ==1.0.2
   - haskell-lsp ==0.8.0.1
@@ -923,6 +923,7 @@ default-package-overrides:
   - hedis ==0.10.10
   - here ==1.2.13
   - heredoc ==0.2.0.0
+  - heterocephalus ==1.0.5.3
   - hex ==0.1.2
   - hexml ==0.3.4
   - hexml-lens ==0.2.1
@@ -1075,7 +1076,7 @@ default-package-overrides:
   - hybrid-vectors ==0.2.2
   - hyperloglog ==0.4.2
   - hyphenation ==0.7.1
-  - hyraxAbif ==0.2.3.10
+  - hyraxAbif ==0.2.3.15
   - iconv ==0.4.1.3
   - identicon ==0.2.2
   - ieee754 ==0.8.0
@@ -1094,7 +1095,7 @@ default-package-overrides:
   - indexed-list-literals ==0.2.1.2
   - infer-license ==0.2.0
   - inflections ==0.4.0.4
-  - influxdb ==1.6.1
+  - influxdb ==1.6.1.1
   - ini ==0.3.6
   - inline-c ==0.7.0.1
   - inline-c-cpp ==0.3.0.1
@@ -1203,7 +1204,7 @@ default-package-overrides:
   - lens-labels ==0.3.0.1
   - lens-misc ==0.0.2.0
   - lens-properties ==4.11.1
-  - lens-regex ==0.1.0
+  - lens-regex ==0.1.1
   - lens-simple ==0.1.0.9
   - lens-typelevel ==0.1.1.0
   - lenz ==0.3.0.0
@@ -1275,14 +1276,14 @@ default-package-overrides:
   - mbox ==0.3.4
   - mbox-utility ==0.0.1
   - mbtiles ==0.6.0.0
-  - mbug ==1.3
+  - mbug ==1.3.2
   - mcmc-types ==1.0.3
   - median-stream ==0.7.0.0
   - megaparsec ==7.0.4
   - mega-sdist ==0.3.3.2
   - memory ==0.14.18
   - MemoTrie ==0.6.9
-  - mercury-api ==0.1.0.1
+  - mercury-api ==0.1.0.2
   - merkle-tree ==0.1.1
   - mersenne-random-pure64 ==0.2.2.0
   - metrics ==0.4.1.1
@@ -1611,12 +1612,12 @@ default-package-overrides:
   - protolude ==0.2.3
   - proxied ==0.3
   - psql-helpers ==0.1.0.0
-  - psqueues ==0.2.7.0
+  - psqueues ==0.2.7.1
   - pureMD5 ==2.1.3
   - purescript-bridge ==0.13.0.0
   - pure-zlib ==0.6.4
   - pushbullet-types ==0.4.1.0
-  - pusher-http-haskell ==1.5.1.6
+  - pusher-http-haskell ==1.5.1.7
   - qchas ==1.1.0.1
   - qm-interpolated-string ==0.3.0.0
   - qnap-decrypt ==0.3.3
@@ -1730,7 +1731,7 @@ default-package-overrides:
   - safe-foldable ==0.1.0.0
   - safeio ==0.0.5.0
   - SafeSemaphore ==0.10.1
-  - salak ==0.1.4
+  - salak ==0.1.6
   - saltine ==0.1.0.2
   - salve ==1.0.6
   - sample-frame ==0.0.3
@@ -1745,7 +1746,7 @@ default-package-overrides:
   - scanf ==0.1.0.0
   - scanner ==0.3
   - scientific ==0.3.6.2
-  - scotty ==0.11.2
+  - scotty ==0.11.3
   - scrypt ==0.5.0
   - sdl2 ==2.4.1.0
   - sdl2-gfx ==0.2
@@ -1819,7 +1820,7 @@ default-package-overrides:
   - shikensu ==0.3.11
   - shortcut-links ==0.4.2.1
   - should-not-typecheck ==2.1.0
-  - show-combinators ==0.1.0.0
+  - show-combinators ==0.1.1.0
   - show-prettyprint ==0.2.2
   - siggy-chardust ==1.0.0
   - signal ==0.1.0.4
@@ -1898,7 +1899,7 @@ default-package-overrides:
   - store ==0.5.0.1
   - store-core ==0.4.4
   - Strafunski-StrategyLib ==5.0.1.0
-  - stratosphere ==0.29.0
+  - stratosphere ==0.29.1
   - streaming ==0.2.2.0
   - streaming-attoparsec ==1.0.0
   - streaming-bytestring ==0.1.6
@@ -1920,6 +1921,7 @@ default-package-overrides:
   - string-transform ==1.1.0
   - strive ==5.0.7
   - structs ==0.1.1
+  - stylish-haskell ==0.9.2.1
   - summoner ==1.2.0
   - sum-type-boilerplate ==0.1.1
   - sundown ==0.6
@@ -1980,7 +1982,7 @@ default-package-overrides:
   - temporary-rc ==1.2.0.3
   - temporary-resourcet ==0.1.0.1
   - tensorflow-test ==0.1.0.0
-  - tensors ==0.1.1
+  - tensors ==0.1.2
   - termbox ==0.1.0
   - terminal-size ==0.3.2.1
   - test-framework ==0.8.2.0
@@ -2007,6 +2009,7 @@ default-package-overrides:
   - text-printer ==0.5
   - text-region ==0.3.1.0
   - text-short ==0.1.2
+  - text-show ==3.7.5
   - tfp ==1.0.1.1
   - tf-random ==0.5
   - th-abstraction ==0.2.10.0
@@ -2028,7 +2031,7 @@ default-package-overrides:
   - throttle-io-stream ==0.2.0.1
   - throwable-exceptions ==0.1.0.9
   - th-strict-compat ==0.1.0.1
-  - th-utilities ==0.2.0.1
+  - th-utilities ==0.2.1.0
   - thyme ==0.3.5.5
   - tile ==0.3.0.0
   - time-compat ==0.1.0.3
@@ -2200,7 +2203,7 @@ default-package-overrides:
   - warp-tls-uid ==0.2.0.5
   - wave ==0.1.5
   - wcwidth ==0.0.2
-  - web3 ==0.8.2.1
+  - web3 ==0.8.3.0
   - webdriver ==0.8.5
   - webex-teams-api ==0.2.0.0
   - webex-teams-conduit ==0.2.0.0
@@ -2265,6 +2268,7 @@ default-package-overrides:
   - xml-conduit-writer ==0.1.1.2
   - xmlgen ==0.6.2.2
   - xml-hamlet ==0.5.0
+  - xml-html-qq ==0.1.0.1
   - xml-indexed-cursor ==0.1.1.0
   - xml-isogen ==0.3.0
   - xml-lens ==0.1.6.3
@@ -2277,6 +2281,8 @@ default-package-overrides:
   - xmonad-extras ==0.15.1
   - xss-sanitize ==0.3.6
   - xxhash-ffi ==0.2.0.0
+  - yam ==0.5.6
+  - yam-datasource ==0.5.6
   - yaml ==0.11.0.0
   - yeshql ==4.1.0.1
   - yeshql-core ==4.1.0.2
@@ -2285,7 +2291,7 @@ default-package-overrides:
   - yesod-alerts ==0.1.2.0
   - yesod-auth ==1.6.5
   - yesod-auth-hashdb ==1.7.1
-  - yesod-auth-oauth2 ==0.6.0.0
+  - yesod-auth-oauth2 ==0.6.1.0
   - yesod-bin ==1.6.0.3
   - yesod-core ==1.6.9
   - yesod-csp ==0.2.4.0
@@ -2366,6 +2372,7 @@ extra-packages:
   - inline-c-cpp < 0.2                  # required on GHC 8.0.x
   - lens-labels == 0.1.*                # required for proto-lens-descriptors
   - mainland-pretty == 0.6.2.*          # required for tensorflow-opgen-0.1.0.0
+  - megaparsec < 7.0                    # required for idris <= 1.3.1: https://github.com/idris-lang/Idris-dev/pull/4610
   - mtl < 2.2                           # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
   - mtl-prelude < 2                     # required for to build postgrest on mtl 2.1.x platforms
   - network == 2.6.3.1                  # newer versions don't compile with GHC 7.4.x and below
@@ -8984,7 +8991,6 @@ dont-distribute-packages:
   stack-run:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   stack-type:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   stack2cabal:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
-  stack2nix:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-build-plan:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-cabal:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   stackage-cli:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 2ac7481cfd75..7726c623e753 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -9326,8 +9326,8 @@ self: {
      }:
      mkDerivation {
        pname = "HaskellNet-SSL";
-       version = "0.3.4.0";
-       sha256 = "03q48g4gzmhjl4a5wwn0q3man8s44pn028a0fidjpmfmgxa95bl3";
+       version = "0.3.4.1";
+       sha256 = "0j36zcx5vfg4jzc7vvfj4ifcvcgyy2sn9rxnxj3vg2cw77idqyp1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring connection data-default HaskellNet network tls
@@ -9967,6 +9967,8 @@ self: {
        pname = "HsOpenSSL";
        version = "0.11.4.15";
        sha256 = "0idmak6d8mpbxphyq9hkxkmby2wnzhc1phywlgm0zw6q47pwxgff";
+       revision = "1";
+       editedCabalFile = "0bkcw2pjfgv1bhgkrpncvwq9czfr7cr4ak14n0v8c2y33i33wk5z";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring network time ];
        librarySystemDepends = [ openssl ];
@@ -10288,6 +10290,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "IPv6Addr_1_1_2" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, HUnit, iproute, network
+     , network-info, random, test-framework, test-framework-hunit, text
+     }:
+     mkDerivation {
+       pname = "IPv6Addr";
+       version = "1.1.2";
+       sha256 = "0zpjji441ys2x6zmndyg7203w3j4j8flhwrl4593a6bz6vqzkwwb";
+       libraryHaskellDepends = [
+         aeson attoparsec base iproute network network-info random text
+       ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit text
+       ];
+       description = "Library to deal with IPv6 address text representations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "IPv6DB" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, fast-logger
      , hedis, hspec, http-client, http-types, IPv6Addr, mtl
@@ -13123,20 +13144,20 @@ self: {
      }) {inherit (pkgs) net_snmp;};
 
   "Network-NineP" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, convertible
-     , exceptions, hslogger, monad-loops, monad-peel, mstate, mtl
-     , network, NineP, regex-posix, stateref, transformers
+    ({ mkDerivation, async, base, binary, bytestring, containers
+     , convertible, exceptions, hslogger, monad-loops, monad-peel
+     , mstate, mtl, network, NineP, regex-posix, stateref, transformers
      }:
      mkDerivation {
        pname = "Network-NineP";
-       version = "0.4.4";
-       sha256 = "119v9iimpgd5cym5q7az0gg70irja9034r2mhvq2k4ygmmz0lazy";
+       version = "0.4.5";
+       sha256 = "1s11idqg8bvimhal86569wlw746cyyq67dxvvabnbn3q23mjkflh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base binary bytestring containers convertible exceptions hslogger
-         monad-loops monad-peel mstate mtl network NineP regex-posix
-         stateref transformers
+         async base binary bytestring containers convertible exceptions
+         hslogger monad-loops monad-peel mstate mtl network NineP
+         regex-posix stateref transformers
        ];
        description = "High-level abstraction over 9P protocol";
        license = "unknown";
@@ -15101,6 +15122,8 @@ self: {
        pname = "QuickCheck";
        version = "2.12.6.1";
        sha256 = "0w51zbbvh46g3wllqfmx251xzbnddy94ixgm6rf8gd95qvssfahb";
+       revision = "1";
+       editedCabalFile = "0w5gygp6pmyjzjjx5irfflcbx586zfnqidq669ssqqfsadf944xv";
        libraryHaskellDepends = [
          base containers deepseq erf random template-haskell tf-random
          transformers
@@ -17319,14 +17342,14 @@ self: {
      }) {};
 
   "Stack" = callPackage
-    ({ mkDerivation, base, nats, stm }:
+    ({ mkDerivation, base, deepseq, nats, stm }:
      mkDerivation {
        pname = "Stack";
-       version = "0.3.2";
-       sha256 = "1rap4xyldzwj26r8mbvzkyy9021q8h06pz8cyd061vyslrl7p89b";
-       revision = "1";
-       editedCabalFile = "1ngyrylqmc2fc088d49pn41nlps3mqjimh0y8wc6nmpkay5pj0m8";
-       libraryHaskellDepends = [ base nats stm ];
+       version = "0.4.0";
+       sha256 = "0i8frm923gkk9h8z38jijrd43dfsj9rwzxhwj6xv57rq7l3nq583";
+       revision = "2";
+       editedCabalFile = "1n4zyl9iagzjx3i3zb5w24mf5x51nwwnnzrrc1rgkflvxlirm9md";
+       libraryHaskellDepends = [ base deepseq nats stm ];
        description = "Stack data structure";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -18581,25 +18604,29 @@ self: {
   "VKHS" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring
      , case-insensitive, clock, containers, data-default-class
-     , directory, filepath, http-client, http-client-tls, http-types
-     , mtl, network-uri, optparse-applicative, parsec, pipes, pipes-http
-     , pretty-show, regexpr, scientific, split, tagsoup, text, time
+     , directory, filepath, flippers, hashable, http-client
+     , http-client-tls, http-types, mtl, network-uri
+     , optparse-applicative, parsec, pipes, pipes-http, pretty-show
+     , process, regexpr, scientific, split, tagsoup, text, time
      , utf8-string, vector
      }:
      mkDerivation {
        pname = "VKHS";
-       version = "1.9.1";
-       sha256 = "1jhllxylsclshs027vinx5p3rql3964dy4p37q916g4g58ml83j6";
+       version = "1.9.2";
+       sha256 = "0axipbapshpdybzaiklcyyzly1awnfmpg7q2hqf3sy97rw72blbj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring case-insensitive clock
-         containers data-default-class directory filepath http-client
-         http-client-tls http-types mtl network-uri optparse-applicative
-         parsec pipes pipes-http pretty-show scientific split tagsoup time
-         utf8-string vector
+         containers data-default-class directory filepath flippers hashable
+         http-client http-client-tls http-types mtl network-uri
+         optparse-applicative parsec pipes pipes-http pretty-show process
+         regexpr scientific split tagsoup text time utf8-string vector
+       ];
+       executableHaskellDepends = [
+         base bytestring directory filepath mtl optparse-applicative parsec
+         regexpr text
        ];
-       executableHaskellDepends = [ regexpr text ];
        description = "Provides access to Vkontakte social network via public API";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -20657,6 +20684,8 @@ self: {
        pname = "acid-state";
        version = "0.14.3";
        sha256 = "1d8hq8cj6h4crfnkmds6mhrhhg7r1b1byb8fybaj8khfa99sj0nm";
+       revision = "1";
+       editedCabalFile = "1sff496w6wpvs88jjk8306zvf0z1169g9n0y99sglqgzb03bw6gp";
        libraryHaskellDepends = [
          array base bytestring cereal containers directory
          extensible-exceptions filepath mtl network safecopy stm
@@ -20760,6 +20789,22 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "acme-circular-containers" = callPackage
+    ({ mkDerivation, base, containers, doctest, doctest-discover
+     , graph-wrapper
+     }:
+     mkDerivation {
+       pname = "acme-circular-containers";
+       version = "0.1.0.0";
+       sha256 = "1xngqlx0avn84qx696hjm8cdqqs9p0ls90kklkz5rs48fbcma3pr";
+       libraryHaskellDepends = [ base containers graph-wrapper ];
+       testHaskellDepends = [
+         base containers doctest doctest-discover graph-wrapper
+       ];
+       description = "Spineless containers which are fast to read but inefficient to update";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
   "acme-cofunctor" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -29019,15 +29064,15 @@ self: {
        pname = "armor";
        version = "0.1";
        sha256 = "0jmq6lhi1byhjzgkvnn4p481z8wik93angx7sf6cjfj5j0kqzv71";
-       revision = "1";
-       editedCabalFile = "075nxkch0azmf4fkrnckwsr9s7bmxpm38xbwkj9kak3lsfaml4sk";
+       revision = "3";
+       editedCabalFile = "1aksr6s5hcvxjjxd95z4n0xadhdpvz8l75906v5f18p7gkk6sjm7";
        libraryHaskellDepends = [
          base bytestring containers directory filepath HUnit lens
        ];
        testHaskellDepends = [
          aeson base bytestring containers directory hspec HUnit lens text
        ];
-       description = "Armor data structures against serialization backwards compatibility problems";
+       description = "Prevent serialization backwards compatibility problems using golden tests";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -31506,8 +31551,8 @@ self: {
        pname = "avers";
        version = "0.0.17.1";
        sha256 = "1x96fvx0z7z75c39qcggw70qvqnw7kzjf0qqxb3jwg3b0fmdhi8v";
-       revision = "28";
-       editedCabalFile = "1x653r0x4frpp78jncvr91kc7g41i9c3s561cizyh518318lvsnr";
+       revision = "29";
+       editedCabalFile = "07vc32yn5d954higzxg3c94l3wzgc38b7y2xq8c5rkxwqz8xf97s";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock containers cryptonite
          filepath inflections memory MonadRandom mtl network network-uri
@@ -32646,8 +32691,8 @@ self: {
      }:
      mkDerivation {
        pname = "b9";
-       version = "0.5.51";
-       sha256 = "1mjylfxw7ivmxma7kskjs7plcd9wxknfd9slxb7zjgawzksdv3bq";
+       version = "0.5.61";
+       sha256 = "0yr29ynxiwc2qr000c5h1w3k373qvbr5p8z451r3q24i4c6rcrid";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -36739,6 +36784,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "bisc" = callPackage
+    ({ mkDerivation, base, directory, filepath, selda, selda-sqlite
+     , text, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "bisc";
+       version = "0.1.0.0";
+       sha256 = "16gjnqjp1rhsi59nxhx24zxwabzk75wiz97163pd657j02a5mwl0";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base directory filepath selda selda-sqlite text xdg-basedir
+       ];
+       description = "A small tool that clears qutebrowser cookies";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "bisect-binary" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, hashable
      , haskeline, integer-logarithms, optparse-applicative, process
@@ -42464,6 +42526,27 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "cabal2spec_2_2_2_1" = callPackage
+    ({ mkDerivation, base, Cabal, filepath, optparse-applicative, tasty
+     , tasty-golden, time
+     }:
+     mkDerivation {
+       pname = "cabal2spec";
+       version = "2.2.2.1";
+       sha256 = "0jv335b6vz1y6jp381hhrb2miniyqzkn18ansc67as04yf3ngmay";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base Cabal filepath time ];
+       executableHaskellDepends = [
+         base Cabal filepath optparse-applicative
+       ];
+       testHaskellDepends = [ base Cabal filepath tasty tasty-golden ];
+       description = "Convert Cabal files into rpm spec files";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
   "cabalQuery" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, MissingH
      , pretty
@@ -44915,25 +44998,6 @@ self: {
      }:
      mkDerivation {
        pname = "cereal";
-       version = "0.5.7.0";
-       sha256 = "1j7imh2mzqcljld7sx0av69699955rpy3hzivi5723i6a9nszgbs";
-       libraryHaskellDepends = [
-         array base bytestring containers ghc-prim
-       ];
-       testHaskellDepends = [
-         base bytestring QuickCheck test-framework
-         test-framework-quickcheck2
-       ];
-       description = "A binary serialization library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cereal_0_5_8_0" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, ghc-prim
-     , QuickCheck, test-framework, test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "cereal";
        version = "0.5.8.0";
        sha256 = "10j205g4w311ypk24ds2nmv1816s8645788s6a1vrfippa56dlrp";
        libraryHaskellDepends = [
@@ -44945,7 +45009,6 @@ self: {
        ];
        description = "A binary serialization library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cereal-conduit" = callPackage
@@ -51761,41 +51824,6 @@ self: {
 
   "conduit-algorithms" = callPackage
     ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
-     , conduit-combinators, conduit-extra, containers, criterion
-     , deepseq, directory, exceptions, HUnit, lzma-conduit
-     , monad-control, mtl, pqueue, resourcet, stm, stm-conduit
-     , streaming-commons, test-framework, test-framework-hunit
-     , test-framework-th, transformers, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "conduit-algorithms";
-       version = "0.0.8.2";
-       sha256 = "1s423n2hybxdsady7spi4iy9s5lm07dsl0rjxn400y09faizm5x8";
-       libraryHaskellDepends = [
-         async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers deepseq exceptions lzma-conduit
-         monad-control mtl pqueue resourcet stm stm-conduit
-         streaming-commons transformers unliftio-core vector
-       ];
-       testHaskellDepends = [
-         async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers deepseq directory exceptions HUnit
-         lzma-conduit monad-control mtl pqueue resourcet stm stm-conduit
-         streaming-commons test-framework test-framework-hunit
-         test-framework-th transformers unliftio-core vector
-       ];
-       benchmarkHaskellDepends = [
-         async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers criterion deepseq exceptions lzma-conduit
-         monad-control mtl pqueue resourcet stm stm-conduit
-         streaming-commons transformers unliftio-core vector
-       ];
-       description = "Conduit-based algorithms";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "conduit-algorithms_0_0_9_0" = callPackage
-    ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
      , conduit-combinators, conduit-extra, conduit-zstd, containers
      , criterion, deepseq, directory, exceptions, HUnit, lzma-conduit
      , monad-control, mtl, pqueue, resourcet, stm, stm-conduit
@@ -51827,7 +51855,6 @@ self: {
        ];
        description = "Conduit-based algorithms";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-audio" = callPackage
@@ -55791,25 +55818,6 @@ self: {
      }:
      mkDerivation {
        pname = "crypto-enigma";
-       version = "0.1.1.4";
-       sha256 = "17bggc1wz1qp0midriwwackm86w148r6y8ph3x0nsxblqzw8021z";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base containers split text ];
-       executableHaskellDepends = [
-         ansi-terminal base containers optparse-applicative split text
-       ];
-       testHaskellDepends = [ base HUnit QuickCheck ];
-       description = "An Enigma machine simulator with display";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "crypto-enigma_0_1_1_5" = callPackage
-    ({ mkDerivation, ansi-terminal, base, containers, HUnit
-     , optparse-applicative, QuickCheck, split, text
-     }:
-     mkDerivation {
-       pname = "crypto-enigma";
        version = "0.1.1.5";
        sha256 = "001kl84ngfwr644v7dyk5shkqfw606bpza8b61bv4p4lqyfk96l2";
        isLibrary = true;
@@ -55821,7 +55829,6 @@ self: {
        testHaskellDepends = [ base HUnit QuickCheck ];
        description = "An Enigma machine simulator with display";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "crypto-multihash" = callPackage
@@ -56272,6 +56279,8 @@ self: {
        pname = "cryptol";
        version = "2.6.0";
        sha256 = "0hlgff177s8lhv3s90cmqc3x2xr60g3vxvc7p1mhzb354zxbp2jz";
+       revision = "1";
+       editedCabalFile = "1smkc0gxbj1vl626iiy56aarx6rcnjzqprqzh443222samrrzr25";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -56448,8 +56457,8 @@ self: {
      }:
      mkDerivation {
        pname = "csg";
-       version = "0.1.0.5";
-       sha256 = "12zwf2xiqiq4snwqhwvk1k3fl1bzlfbcd2vc2hsnv6v61ci6shq9";
+       version = "0.1.0.6";
+       sha256 = "0i4sr9qf78fs841j8d9rkdd73dm9i34rj6sp0475r3pnj7czqcq6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -60266,8 +60275,8 @@ self: {
        pname = "dbus";
        version = "0.10.15";
        sha256 = "1a5sjavq8mfzz4zxpkd9b6jxsvy0kl1rjq2hhy40gcz2qjfnamb4";
-       revision = "1";
-       editedCabalFile = "04fy208xlvdyi2ms9c2l2xd7jwi6vd0wzpv2v2s0bc2icha79rih";
+       revision = "2";
+       editedCabalFile = "0v9k4yrpzpkk3k33gp3z8qmv0q6kf0d6xps3ar4d3xs9ybrwvg0c";
        libraryHaskellDepends = [
          base bytestring cereal containers deepseq libxml-sax network parsec
          random text transformers unix vector xml-types
@@ -60296,6 +60305,8 @@ self: {
        pname = "dbus";
        version = "1.2.1";
        sha256 = "1mxijj32lvl6dxkpz95mxywq2hrj7krc9r8q41zbyqqx0hvc3n4r";
+       revision = "1";
+       editedCabalFile = "1n725klx5p6z63gxi18q4q4k4q0x03pxw54f22n7mbqd2i1nsg9c";
        libraryHaskellDepends = [
          base bytestring cereal conduit containers deepseq exceptions
          filepath lens network parsec random split template-haskell text
@@ -60848,8 +60859,8 @@ self: {
      }:
      mkDerivation {
        pname = "debian";
-       version = "3.93.3";
-       sha256 = "0wjkk6dnps837pnsh75cf1093587r6yxg8fhjz8jrw06y2g85fzn";
+       version = "3.93.5";
+       sha256 = "0nncxa65lhdvypnx1j7v179v4pk2jfglxzs88p9cka2nr095hs55";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -61497,6 +61508,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "dejafu_1_12_0_0" = callPackage
+    ({ mkDerivation, base, concurrency, containers, contravariant
+     , deepseq, exceptions, leancheck, profunctors, random, transformers
+     }:
+     mkDerivation {
+       pname = "dejafu";
+       version = "1.12.0.0";
+       sha256 = "1nkpqd7alnw383lkhbfqxfj2apks2gw84bk59f2agmiry5pbcs3p";
+       libraryHaskellDepends = [
+         base concurrency containers contravariant deepseq exceptions
+         leancheck profunctors random transformers
+       ];
+       description = "A library for unit-testing concurrent programs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "deka" = callPackage
     ({ mkDerivation, base, bytestring, mpdec, parsec, transformers }:
      mkDerivation {
@@ -62191,6 +62219,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "deriving-compat_0_5_3" = 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.3";
+       sha256 = "1mybgiy6g2ja4qbmc7m3ajy8wzaycq95xlfihi5ynmzlbrjy96sc";
+       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 {
@@ -64576,8 +64628,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "0.7.0";
-       sha256 = "0zq9aaarh34c24ih49ap5bblswpzc1nwcp8rw8bw1j4agp2ndpy0";
+       version = "0.7.1";
+       sha256 = "0cl40ph5qwpxa05q7jr67syq9dijxyzvmqzgw53wfri4800qxphn";
        libraryHaskellDepends = [
          aeson async base base64-bytestring bytestring containers
          data-default http-client iso8601-time JuicyPixels MonadRandom req
@@ -65885,6 +65937,8 @@ self: {
        pname = "dns";
        version = "3.0.4";
        sha256 = "1aa4zb9zkk244rndimrq8maxj9qrmz3rb13v9n8jblmp6ssk6d3v";
+       revision = "1";
+       editedCabalFile = "15jafrm919w4p23m7kpmyc1yvzpy88jcccycc00dza69d119zjdr";
        libraryHaskellDepends = [
          async attoparsec auto-update base base64-bytestring binary
          bytestring containers cryptonite iproute mtl network psqueues safe
@@ -70238,6 +70292,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "email-validate_2_3_2_10" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, doctest, hspec
+     , QuickCheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "email-validate";
+       version = "2.3.2.10";
+       sha256 = "0wfk5dkpaw0gk4p0vwdpb24c6kz4gjx0z4am79v5c3k38gmb3rak";
+       libraryHaskellDepends = [
+         attoparsec base bytestring template-haskell
+       ];
+       testHaskellDepends = [ base bytestring doctest hspec QuickCheck ];
+       description = "Email address validation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "email-validate-json" = callPackage
     ({ mkDerivation, aeson, base, email-validate, text }:
      mkDerivation {
@@ -72239,6 +72310,8 @@ self: {
        pname = "euler-tour-tree";
        version = "0.1.1.0";
        sha256 = "166gbinlf0ay8y2clzjzf5b2x489hcr1gzj8w5qk341z01f8pckh";
+       revision = "1";
+       editedCabalFile = "0rix7nslzfdds5hz2hvam8dydndhv04xg10wazf7l37q88gk880w";
        libraryHaskellDepends = [
          base containers fingertree mtl parser-combinators transformers
          Unique
@@ -72691,42 +72764,6 @@ self: {
      }:
      mkDerivation {
        pname = "eventstore";
-       version = "1.2.0";
-       sha256 = "03ckizx7phz6jykj10s1vj7wfc454qzjq04jrmqhxsbrrqilhyk3";
-       libraryHaskellDepends = [
-         aeson array base bifunctors bytestring cereal clock connection
-         containers dns dotnet-timespan ekg-core exceptions fast-logger
-         hashable http-client interpolate lifted-async lifted-base machines
-         monad-control monad-logger mono-traversable mtl protobuf random
-         safe safe-exceptions semigroups stm stm-chans streaming text time
-         transformers-base unordered-containers uuid
-       ];
-       testHaskellDepends = [
-         aeson async base bytestring cereal connection containers
-         dotnet-timespan exceptions fast-logger hashable lifted-async
-         lifted-base monad-control mono-traversable protobuf safe
-         safe-exceptions semigroups stm stm-chans streaming tasty
-         tasty-hspec tasty-hunit text time transformers-base
-         unordered-containers uuid
-       ];
-       description = "EventStore TCP Client";
-       license = stdenv.lib.licenses.bsd3;
-       platforms = [ "x86_64-darwin" "x86_64-linux" ];
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "eventstore_1_2_1" = callPackage
-    ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring
-     , cereal, clock, connection, containers, dns, dotnet-timespan
-     , ekg-core, exceptions, fast-logger, hashable, http-client
-     , interpolate, lifted-async, lifted-base, machines, monad-control
-     , monad-logger, mono-traversable, mtl, protobuf, random, safe
-     , safe-exceptions, semigroups, stm, stm-chans, streaming, tasty
-     , tasty-hspec, tasty-hunit, text, time, transformers-base
-     , unordered-containers, uuid
-     }:
-     mkDerivation {
-       pname = "eventstore";
        version = "1.2.1";
        sha256 = "1yya52bk3sgfgrarf88a3n7i0jdwr1hd615a17ixxbb1vc9v44y8";
        libraryHaskellDepends = [
@@ -78216,8 +78253,8 @@ self: {
        pname = "fmt";
        version = "0.6.1.1";
        sha256 = "1bfj94ahc06xj6x5v5gmjzgw30cgxsc1vjygajqiqnanimbhn8i6";
-       revision = "1";
-       editedCabalFile = "13ypmyg0axadzhycfl0g1s73bk9a2myshf38y8dslf3hlg76wbmv";
+       revision = "2";
+       editedCabalFile = "1prdnb8a8n338clkvjx0c8hmbkiy8x2c9j87b94302bq6x7rmf9d";
        libraryHaskellDepends = [
          base base64-bytestring bytestring call-stack containers formatting
          microlens text time time-locale-compat
@@ -79097,14 +79134,17 @@ self: {
      }) {};
 
   "forsyde-shallow" = callPackage
-    ({ mkDerivation, base, directory, hspec, old-time, process, random
+    ({ mkDerivation, base, directory, doctest, hspec, old-time, process
+     , QuickCheck, random
      }:
      mkDerivation {
        pname = "forsyde-shallow";
-       version = "3.3.3.0";
-       sha256 = "0avpy9h0x30c6zbzfrf248k2il4w0hk5rnkcqaday7rgsf70cfc0";
+       version = "3.4.0.0";
+       sha256 = "0czrgfx22j94xp56mf4cwrz2rdw2id77va89xpjxxrhdzwzfsvcn";
        libraryHaskellDepends = [ base directory old-time process random ];
-       testHaskellDepends = [ base hspec ];
+       testHaskellDepends = [
+         base directory doctest hspec old-time process QuickCheck random
+       ];
        description = "ForSyDe's Haskell-embedded Domain Specific Language";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -79151,17 +79191,15 @@ self: {
      }) {};
 
   "fortytwo" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, doctest, hspec
-     , process, text
-     }:
+    ({ mkDerivation, ansi-terminal, base, doctest, hspec, text }:
      mkDerivation {
        pname = "fortytwo";
-       version = "1.0.4";
-       sha256 = "0gbvhlsyhfslxrwkdldn15adj8f371rhx5qxfapcpqfa6pwbjsfd";
+       version = "1.0.5";
+       sha256 = "1jmvj3h70h31a906b8wvycqwl1spfqgdmwhzf5x84aykih5xlcfs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ ansi-terminal base text ];
-       testHaskellDepends = [ async base doctest hspec process ];
+       testHaskellDepends = [ base doctest hspec ];
        description = "Interactive terminal prompt";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -83247,27 +83285,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec";
-       version = "0.6.2.1";
-       sha256 = "100mjmbjfzy431a52yqkq2rja0mb5zw8dbkpfbfy17rdkwwx2yn1";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-property hspec hspec-core QuickCheck
-         transformers validity
-       ];
-       testHaskellDepends = [
-         base doctest genvalidity genvalidity-property hspec hspec-core
-         QuickCheck validity
-       ];
-       description = "Standard spec's for GenValidity instances";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "genvalidity-hspec_0_6_2_2" = callPackage
-    ({ mkDerivation, base, doctest, genvalidity, genvalidity-property
-     , hspec, hspec-core, QuickCheck, transformers, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-hspec";
        version = "0.6.2.2";
        sha256 = "1npy88slf7immafk1vgl6w9gp526xdlvhr96qnrc8phf7b7bfkrf";
        libraryHaskellDepends = [
@@ -86852,25 +86869,6 @@ self: {
      }:
      mkDerivation {
        pname = "githash";
-       version = "0.1.3.0";
-       sha256 = "0rnp5ljrb05kd127fy2s5jlxjvjfs50dar92pahb36w2qw2clnp7";
-       libraryHaskellDepends = [
-         base bytestring directory filepath process template-haskell
-       ];
-       testHaskellDepends = [
-         base bytestring directory filepath hspec process template-haskell
-         temporary unliftio
-       ];
-       description = "Compile git revision info into Haskell projects";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "githash_0_1_3_1" = callPackage
-    ({ mkDerivation, base, bytestring, directory, filepath, hspec
-     , process, template-haskell, temporary, unliftio
-     }:
-     mkDerivation {
-       pname = "githash";
        version = "0.1.3.1";
        sha256 = "0vpwzbhnr0xwc7vkg3l5qy4awgsr1fkxj58lz6m56jayaad6hn7a";
        libraryHaskellDepends = [
@@ -86882,7 +86880,6 @@ self: {
        ];
        description = "Compile git revision info into Haskell projects";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "github" = callPackage
@@ -87007,6 +87004,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "github-release_1_2_4" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-client
+     , http-client-tls, http-types, mime-types, optparse-generic, text
+     , unordered-containers, uri-templater
+     }:
+     mkDerivation {
+       pname = "github-release";
+       version = "1.2.4";
+       sha256 = "1s4vmqrzq7w35kfij9pyxm9b672khhx03whi4adz6l51xij6a3yb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring http-client http-client-tls http-types
+         mime-types optparse-generic text unordered-containers uri-templater
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring http-client http-client-tls http-types
+         mime-types optparse-generic text unordered-containers uri-templater
+       ];
+       description = "Upload files to GitHub releases";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "github-tools" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions, github
      , groom, html, http-client, http-client-tls, monad-parallel
@@ -87538,6 +87559,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "glabrous_1_0_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
+     , cereal, cereal-text, directory, either, hspec, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "glabrous";
+       version = "1.0.1";
+       sha256 = "11s7fhlv3aq80h20jf2l447bmxy95dy7dqvzqfp0myy4hgsasks3";
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec base bytestring cereal cereal-text
+         either text unordered-containers
+       ];
+       testHaskellDepends = [
+         base directory either hspec text unordered-containers
+       ];
+       description = "A template DSL library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "glade" = callPackage
     ({ mkDerivation, base, Cabal, glib, gtk, gtk2hs-buildtools
      , libglade
@@ -88234,13 +88276,14 @@ self: {
 
   "glue-common" = callPackage
     ({ mkDerivation, async, base, ekg-core, hashable, hspec
-     , lifted-base, monad-control, QuickCheck, quickcheck-instances
-     , text, time, transformers, transformers-base, unordered-containers
+     , hspec-discover, lifted-base, monad-control, QuickCheck
+     , quickcheck-instances, text, time, transformers, transformers-base
+     , unordered-containers
      }:
      mkDerivation {
        pname = "glue-common";
-       version = "0.5";
-       sha256 = "0wza8cmschfh6kk21wm2bz12ly3in7kf0cv6jma0a78fiphdwg2q";
+       version = "0.6.1";
+       sha256 = "1s4fm4cf88n4fw7alqb4jigw1pjh242jr7a8d9p52qcgkqn9qnwy";
        libraryHaskellDepends = [
          base hashable lifted-base monad-control text time transformers
          transformers-base unordered-containers
@@ -88250,6 +88293,7 @@ self: {
          QuickCheck quickcheck-instances text time transformers
          transformers-base unordered-containers
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Make better services and clients";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -88257,14 +88301,14 @@ self: {
 
   "glue-core" = callPackage
     ({ mkDerivation, async, base, ekg-core, glue-common, hashable
-     , hspec, lifted-base, monad-control, QuickCheck
+     , hspec, hspec-discover, lifted-base, monad-control, QuickCheck
      , quickcheck-instances, text, time, transformers, transformers-base
      , unordered-containers
      }:
      mkDerivation {
        pname = "glue-core";
-       version = "0.5";
-       sha256 = "0x89h04j8z58nd1cx6rxn0hgjgb24kdzgl21m2xrlj7h1fp9fwfi";
+       version = "0.6.1";
+       sha256 = "0fmqir0wcyhgl154rzg93qxdmxzfpi05mckzg7mihkh57fsy4pk0";
        libraryHaskellDepends = [
          base glue-common hashable lifted-base monad-control text time
          transformers transformers-base unordered-containers
@@ -88274,6 +88318,7 @@ self: {
          monad-control QuickCheck quickcheck-instances text time
          transformers transformers-base unordered-containers
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Make better services and clients";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -88281,14 +88326,14 @@ self: {
 
   "glue-ekg" = callPackage
     ({ mkDerivation, async, base, ekg-core, glue-common, hashable
-     , hspec, lifted-base, monad-control, QuickCheck
+     , hspec, hspec-discover, lifted-base, monad-control, QuickCheck
      , quickcheck-instances, text, time, transformers, transformers-base
      , unordered-containers
      }:
      mkDerivation {
        pname = "glue-ekg";
-       version = "0.5";
-       sha256 = "0ckbmjizfclpdyzrc85l9hh79yl82rmbkim5gq543qnppi1pn4h6";
+       version = "0.6.1";
+       sha256 = "1pigh4s546mv4l2bnwrr6y8473bss0s8ydymr929bz2svrfyhlmz";
        libraryHaskellDepends = [
          base ekg-core glue-common hashable lifted-base monad-control text
          time transformers transformers-base unordered-containers
@@ -88298,6 +88343,7 @@ self: {
          monad-control QuickCheck quickcheck-instances text time
          transformers transformers-base unordered-containers
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Make better services and clients";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -88310,8 +88356,8 @@ self: {
      }:
      mkDerivation {
        pname = "glue-example";
-       version = "0.5";
-       sha256 = "10nw8bzxbcghyy9xyb69ka3a3w66fysczhhgrshy462ihpw8p8bw";
+       version = "0.6.1";
+       sha256 = "1na0rnl0ac666man17xi4f5rg0zrw7f7ky44nfn2cag6398b109i";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -91936,14 +91982,14 @@ self: {
 
   "grids" = callPackage
     ({ mkDerivation, adjunctions, base, distributive, finite-typelits
-     , lens, vector
+     , vector
      }:
      mkDerivation {
        pname = "grids";
-       version = "0.1.1.0";
-       sha256 = "048k7r9x7d6vfyhsspqawzjrabk30igf3049hjnji27xhpghr90k";
+       version = "0.2.0.0";
+       sha256 = "05fq06x85dvdqn9360y139i9al1bdlcs0ybf790fqw8rqwznzxn4";
        libraryHaskellDepends = [
-         adjunctions base distributive finite-typelits lens vector
+         adjunctions base distributive finite-typelits vector
        ];
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -95629,20 +95675,21 @@ self: {
      }) {};
 
   "hakyll-images" = callPackage
-    ({ mkDerivation, base, bytestring, hakyll, HUnit-approx
-     , JuicyPixels, JuicyPixels-extra, tasty, tasty-hunit
+    ({ mkDerivation, base, binary, bytestring, directory, filepath
+     , hakyll, HUnit-approx, JuicyPixels, JuicyPixels-extra, tasty
+     , tasty-hunit
      }:
      mkDerivation {
        pname = "hakyll-images";
-       version = "0.1.0";
-       sha256 = "1l135gmlm2ydqj3d27gfarykcg6k1g204cysm3bk163f499b8w50";
+       version = "0.4.1";
+       sha256 = "1mnf196wyj8jsypwdci7mrx6dl3qzfhwz34p4y5lc4rkif003xf9";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring hakyll JuicyPixels JuicyPixels-extra
+         base binary bytestring hakyll JuicyPixels JuicyPixels-extra
        ];
        testHaskellDepends = [
-         base bytestring hakyll HUnit-approx JuicyPixels JuicyPixels-extra
-         tasty tasty-hunit
+         base binary bytestring directory filepath hakyll HUnit-approx
+         JuicyPixels JuicyPixels-extra tasty tasty-hunit
        ];
        description = "Hakyll utilities to work with images";
        license = stdenv.lib.licenses.bsd3;
@@ -96383,35 +96430,6 @@ self: {
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.3.8.0";
-       sha256 = "1kkasqfx7k8sl22sklysxl76d5ljcm7p96hgcak7qgwwbj7igj56";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base filepath formatting gitrev mtl path process stm time
-         transformers typed-process
-       ];
-       executableHaskellDepends = [
-         aeson async base formatting gitrev optparse-applicative path
-         path-io stm yaml
-       ];
-       testHaskellDepends = [
-         base directory filepath hspec mtl path path-io process QuickCheck
-         silently temporary
-       ];
-       description = "A deployment library for Haskell applications";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hapistrano_0_3_9_0" = callPackage
-    ({ mkDerivation, aeson, async, base, directory, filepath
-     , formatting, gitrev, hspec, mtl, optparse-applicative, path
-     , path-io, process, QuickCheck, silently, stm, temporary, time
-     , transformers, typed-process, yaml
-     }:
-     mkDerivation {
-       pname = "hapistrano";
        version = "0.3.9.0";
        sha256 = "11b4aq2qpjnsvzcir9sldv4qpccipfffvcf4q8z6ji84hyf3zb3y";
        isLibrary = true;
@@ -96431,7 +96449,6 @@ self: {
        ];
        description = "A deployment library for Haskell applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "happindicator" = callPackage
@@ -97505,8 +97522,8 @@ self: {
        pname = "hasbolt";
        version = "0.1.3.2";
        sha256 = "14sq3iqbrfkwyswdka2285cdhwx3c6srfhn5qb7yw1nfjx2bdb1i";
-       revision = "1";
-       editedCabalFile = "127j24130d412ccn9zc71lxjfr6w0srbc8ir67s3zbmzs6g1l9j8";
+       revision = "2";
+       editedCabalFile = "1i6i3ykglq43aa63s39q31fhmn0r8qjr5v9x98q18xzfbxc30232";
        libraryHaskellDepends = [
          base binary bytestring connection containers data-binary-ieee754
          data-default network text transformers
@@ -98215,14 +98232,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "haskeline_0_7_4_3" = callPackage
+  "haskeline_0_7_5_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , process, stm, terminfo, transformers, unix
      }:
      mkDerivation {
        pname = "haskeline";
-       version = "0.7.4.3";
-       sha256 = "0ydnsr1nhh7mfgvbpclidcfbgzf7j8g5vnwxrnkmgg1dphq0jv84";
+       version = "0.7.5.0";
+       sha256 = "1inyq7qwih0hnqlm6gy769vsxzjpvqx9ry390dmcvvql9520hrfj";
        configureFlags = [ "-fterminfo" ];
        libraryHaskellDepends = [
          base bytestring containers directory filepath process stm terminfo
@@ -98718,19 +98735,18 @@ self: {
      }) {};
 
   "haskell-gettext" = callPackage
-    ({ mkDerivation, base, binary, bytestring, bytestring-trie
-     , containers, filepath, haskell-src-exts, mtl, old-locale, parsec
-     , text, time, transformers, uniplate
+    ({ mkDerivation, base, binary, bytestring, containers, filepath
+     , haskell-src-exts, mtl, old-locale, parsec, text, time
+     , transformers, uniplate
      }:
      mkDerivation {
        pname = "haskell-gettext";
-       version = "0.1.1.0";
-       sha256 = "1kfqrm90my0h15f1x6n4fzzf9fvyicg87fqwbal37hj888jb0gv8";
+       version = "0.1.2.0";
+       sha256 = "1j7f8bcqqidgz3zbnlpy5v9adbp6yr9mla6b1a3m0gam9c7zlgin";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base binary bytestring bytestring-trie containers mtl parsec text
-         time transformers
+         base binary bytestring containers mtl parsec text time transformers
        ];
        executableHaskellDepends = [
          base filepath haskell-src-exts old-locale time uniplate
@@ -98766,25 +98782,12 @@ self: {
     ({ mkDerivation, base, bytestring, containers, glib, text }:
      mkDerivation {
        pname = "haskell-gi-base";
-       version = "0.21.4";
-       sha256 = "0vrl0cqws1l0ba7avf16c9zyfsvq7gd8wv4sjzd7rjk6jmg38vds";
-       libraryHaskellDepends = [ base bytestring containers text ];
-       libraryPkgconfigDepends = [ glib ];
-       description = "Foundation for libraries generated by haskell-gi";
-       license = stdenv.lib.licenses.lgpl21;
-     }) {inherit (pkgs) glib;};
-
-  "haskell-gi-base_0_21_5" = callPackage
-    ({ mkDerivation, base, bytestring, containers, glib, text }:
-     mkDerivation {
-       pname = "haskell-gi-base";
        version = "0.21.5";
        sha256 = "1pxnwljicxyxr83c7d8xvla7zbp2krv1n6fp4i2zh8bqwln3fkgh";
        libraryHaskellDepends = [ base bytestring containers text ];
        libraryPkgconfigDepends = [ glib ];
        description = "Foundation for libraries generated by haskell-gi";
        license = stdenv.lib.licenses.lgpl21;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) glib;};
 
   "haskell-gi-overloading_0_0" = callPackage
@@ -101932,6 +101935,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hasql-pool_0_5_0_1" = callPackage
+    ({ mkDerivation, base-prelude, hasql, hspec, resource-pool, time }:
+     mkDerivation {
+       pname = "hasql-pool";
+       version = "0.5.0.1";
+       sha256 = "1isnn3klvqcr13wvq6fsj3b5sysjs6xlll9s3ysihd1x4v87zii8";
+       libraryHaskellDepends = [ base-prelude hasql resource-pool time ];
+       testHaskellDepends = [ base-prelude hasql hspec ];
+       description = "A pool of connections for Hasql";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hasql-postgres" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-prelude, bytestring
      , criterion-plus, deepseq, directory, doctest, either, filepath
@@ -102565,10 +102581,10 @@ self: {
      }:
      mkDerivation {
        pname = "haxr";
-       version = "3000.11.2";
-       sha256 = "0iwbdvywily6ma1a1v9l4kflvm8d8234zhvyb9imx7g7grns1kgb";
+       version = "3000.11.3";
+       sha256 = "1ab422ngg63w91a71j17swzzdxk0y2053fijml0illarcrd77cnj";
        revision = "1";
-       editedCabalFile = "1l0xrffx8xy023g89xijmm7vnaci5hsshpm1rvdchb0nbvq08cnr";
+       editedCabalFile = "0h71nvlia8k7ykhywxbx79xj30g6ld0gqqmrdhyp3aip8ly6cb6y";
        libraryHaskellDepends = [
          array base base-compat base64-bytestring blaze-builder bytestring
          HaXml HsOpenSSL http-streams http-types io-streams mtl mtl-compat
@@ -104076,23 +104092,21 @@ self: {
      }) {};
 
   "hedn" = callPackage
-    ({ mkDerivation, attoparsec, base, base-compat, bytestring
-     , containers, deepseq, hspec, hspec-contrib, HUnit, mtl, QuickCheck
-     , scientific, stringsearch, template-haskell, text, time
-     , time-locale-compat, utf8-string, vector
+    ({ mkDerivation, base, containers, deepseq, deriving-compat
+     , hedgehog, megaparsec, parser-combinators, prettyprinter
+     , scientific, template-haskell, text, time, uuid, vector
      }:
      mkDerivation {
        pname = "hedn";
-       version = "0.1.9.1";
-       sha256 = "0ynajgg5kl37rv72408hg5jiypy6vmzazqxa58405knb49h0gvvz";
+       version = "0.2.0.0";
+       sha256 = "1yi7j2ikpd1lv32hzgv38v1r4wzh7ffq71js2648d4j1v9jhq1sj";
        libraryHaskellDepends = [
-         attoparsec base base-compat bytestring containers deepseq mtl
-         scientific stringsearch text time time-locale-compat utf8-string
-         vector
+         base containers deepseq deriving-compat megaparsec
+         parser-combinators prettyprinter scientific template-haskell text
+         time uuid vector
        ];
        testHaskellDepends = [
-         base bytestring containers hspec hspec-contrib HUnit QuickCheck
-         template-haskell text time vector
+         base containers hedgehog megaparsec text time uuid vector
        ];
        description = "EDN parsing and encoding";
        license = stdenv.lib.licenses.bsd3;
@@ -106100,23 +106114,34 @@ self: {
      }) {inherit (pkgs) hidapi;};
 
   "hid-examples" = callPackage
-    ({ mkDerivation, base, blaze-html, bytestring, cassava, Chart
-     , Chart-diagrams, directory, extra, filepath, fmt, hint, mtl
-     , optparse-applicative, random, safe, text, time, transformers
-     , unix-compat
+    ({ mkDerivation, aeson, base, blaze-html, bytestring, cassava
+     , Chart, Chart-diagrams, data-default, directory, doctest, extra
+     , filepath, fmt, hedgehog, hint, http-client, mtl
+     , optparse-applicative, random, req, safe, safe-exceptions, split
+     , system-locale, tasty, tasty-golden, tasty-hedgehog, tasty-hspec
+     , text, time, transformers, unix-compat
      }:
      mkDerivation {
        pname = "hid-examples";
-       version = "0.3";
-       sha256 = "11zqnmsd07zpwmw40ynhv64zqc6fl27a281rihd6yc7n68qvpz6n";
+       version = "0.4";
+       sha256 = "11r2ln131axkw31afki3jnrz1md668z0qnvx915qwyppga62rk8l";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base hedgehog safe safe-exceptions split
+       ];
        executableHaskellDepends = [
-         base blaze-html bytestring cassava Chart Chart-diagrams directory
-         extra filepath fmt hint mtl optparse-applicative random safe text
-         time transformers unix-compat
+         aeson base blaze-html bytestring cassava Chart Chart-diagrams
+         data-default directory extra filepath fmt hedgehog hint http-client
+         mtl optparse-applicative random req safe safe-exceptions
+         system-locale text time transformers unix-compat
        ];
+       testHaskellDepends = [
+         base doctest filepath hedgehog tasty tasty-golden tasty-hedgehog
+         tasty-hspec
+       ];
+       doHaddock = false;
        description = "Examples to accompany the book \"Haskell in Depth\"";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -106890,8 +106915,8 @@ self: {
      }:
      mkDerivation {
        pname = "hinterface";
-       version = "0.8.2";
-       sha256 = "02vm78bmmvsiz9iwma3398j91dhs3fnwfnacqg40wv3dypd3x3h1";
+       version = "0.8.3";
+       sha256 = "10pm7hdir81f46d081rk3pc6nnlxhpksmd7qrh1vwyvad4nf9p55";
        libraryHaskellDepends = [
          array async base binary bytestring containers cryptonite deepseq
          exceptions lifted-async lifted-base memory monad-control
@@ -109891,8 +109916,8 @@ self: {
      }:
      mkDerivation {
        pname = "hopenpgp-tools";
-       version = "0.21.2";
-       sha256 = "13064b3ybjsa78gw1dhykl24l1ccqxsdq773zwb95ccz3v4dy65l";
+       version = "0.21.3";
+       sha256 = "18y6qxb53v9dbjz4mhxvzc0b8jyk909w140y22hxcbwn41vqh48l";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -112152,6 +112177,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {xenctrl = null;};
 
+  "hsakamai" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive, conduit
+     , conduit-extra, cryptonite, doctest, http-client, http-conduit
+     , http-types, memory, optparse-applicative, random, text, unix
+     , unix-time, uuid, xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "hsakamai";
+       version = "0.1.0.0";
+       sha256 = "1wg0jw7m0hvvv6b5xz0y012kgnx4zxfms53gvryw0zk6ll841h3i";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive conduit cryptonite
+         http-client http-conduit http-types memory random text unix-time
+         uuid xml-conduit
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring case-insensitive conduit conduit-extra
+         cryptonite http-client http-conduit http-types memory
+         optparse-applicative random text unix unix-time uuid xml-conduit
+         yaml
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive conduit cryptonite doctest
+         http-client http-conduit http-types memory random text unix-time
+         uuid xml-conduit
+       ];
+       description = "Akamai API(Edgegrid and Netstorage)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hsaml2" = callPackage
     ({ mkDerivation, asn1-encoding, asn1-types, base, base64-bytestring
      , bytestring, cryptonite, data-default, http-types, HUnit, hxt
@@ -113984,6 +114041,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hspec_2_7_0" = callPackage
+    ({ mkDerivation, base, hspec-core, hspec-discover
+     , hspec-expectations, QuickCheck
+     }:
+     mkDerivation {
+       pname = "hspec";
+       version = "2.7.0";
+       sha256 = "1qbikvd91cimbn439zwsdcrz0hsl7n2w4cl0vlcw8kbf94nm6z7z";
+       libraryHaskellDepends = [
+         base hspec-core hspec-discover hspec-expectations QuickCheck
+       ];
+       description = "A Testing Framework for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-attoparsec" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, hspec
      , hspec-expectations, text
@@ -114084,6 +114157,34 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hspec-core_2_7_0" = callPackage
+    ({ mkDerivation, ansi-terminal, array, base, call-stack, clock
+     , deepseq, directory, filepath, hspec-expectations, hspec-meta
+     , HUnit, process, QuickCheck, quickcheck-io, random, setenv
+     , silently, stm, temporary, tf-random, transformers
+     }:
+     mkDerivation {
+       pname = "hspec-core";
+       version = "2.7.0";
+       sha256 = "1y4j0ivngz7jrff1riyy2iirnb5kc9p4cr619wdrsrvrm3blgzrz";
+       libraryHaskellDepends = [
+         ansi-terminal array base call-stack clock deepseq directory
+         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
+         setenv stm tf-random transformers
+       ];
+       testHaskellDepends = [
+         ansi-terminal array base call-stack clock deepseq directory
+         filepath hspec-expectations hspec-meta HUnit process QuickCheck
+         quickcheck-io random setenv silently stm temporary tf-random
+         transformers
+       ];
+       testToolDepends = [ hspec-meta ];
+       testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'";
+       description = "A Testing Framework for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-dirstream" = callPackage
     ({ mkDerivation, base, dirstream, filepath, hspec, hspec-core
      , pipes, pipes-safe, system-filepath, text
@@ -114140,6 +114241,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hspec-discover_2_7_0" = callPackage
+    ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
+     }:
+     mkDerivation {
+       pname = "hspec-discover";
+       version = "2.7.0";
+       sha256 = "1n3by0dn3x3kfy7vnyfdz0dr2wwwj82m0ijlm9s1n6aa976xddhw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base directory filepath ];
+       executableHaskellDepends = [ base directory filepath ];
+       testHaskellDepends = [
+         base directory filepath hspec-meta QuickCheck
+       ];
+       testToolDepends = [ hspec-meta ];
+       description = "Automatically discover and run Hspec tests";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-expectations" = callPackage
     ({ mkDerivation, base, call-stack, HUnit, nanospec }:
      mkDerivation {
@@ -114420,6 +114541,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-need-env_0_1_0_3" = callPackage
+    ({ mkDerivation, base, hspec, hspec-core, hspec-expectations
+     , setenv, transformers
+     }:
+     mkDerivation {
+       pname = "hspec-need-env";
+       version = "0.1.0.3";
+       sha256 = "164ng7ryb9dpw2v0wazi9s8xqwsx9yla83p0ln05m6zlirpp6jc6";
+       libraryHaskellDepends = [ base hspec-core hspec-expectations ];
+       testHaskellDepends = [ base hspec hspec-core setenv transformers ];
+       description = "Read environment variables for hspec tests";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-pg-transact" = callPackage
     ({ mkDerivation, base, bytestring, hspec, pg-transact
      , postgresql-simple, resource-pool, text, tmp-postgres
@@ -116238,7 +116374,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "http-client_0_6_0" = callPackage
+  "http-client_0_6_1" = callPackage
     ({ mkDerivation, array, async, base, blaze-builder, bytestring
      , case-insensitive, containers, cookie, deepseq, directory
      , exceptions, filepath, ghc-prim, hspec, http-types, memory
@@ -116247,8 +116383,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.6.0";
-       sha256 = "1z38v6vgs5hzd42ljkwxdxs1j3ixwsj9klyxd2ng3pxdnb8wyvvk";
+       version = "0.6.1";
+       sha256 = "0ryj5far7744c297ji9aaqcm56rpm2fyma8mbghli086nq4xiryl";
        libraryHaskellDepends = [
          array base blaze-builder bytestring case-insensitive containers
          cookie deepseq exceptions filepath ghc-prim http-types memory
@@ -117586,6 +117722,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hunit-dejafu_1_2_1_0" = callPackage
+    ({ mkDerivation, base, dejafu, exceptions, HUnit }:
+     mkDerivation {
+       pname = "hunit-dejafu";
+       version = "1.2.1.0";
+       sha256 = "075xx6rz1bxyj00plkrfz04wfq1rim8nkn43xj0d7js86qhvqyrc";
+       libraryHaskellDepends = [ base dejafu exceptions HUnit ];
+       description = "Deja Fu support for the HUnit test framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hunit-gui" = callPackage
     ({ mkDerivation, base, cairo, gtk, haskell98, HUnit }:
      mkDerivation {
@@ -118344,21 +118492,22 @@ self: {
 
   "hw-kafka-client" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, c2hs, containers
-     , either, hspec, monad-loops, rdkafka, transformers, unix
+     , either, hspec, monad-loops, rdkafka, text, transformers, unix
      }:
      mkDerivation {
        pname = "hw-kafka-client";
-       version = "2.5.0";
-       sha256 = "0cr3s26ivb46d14mglnr9phhnsj85h8n3b8p6lmcjk1xs4jidick";
+       version = "2.6.0";
+       sha256 = "1318gyl3jn3q2namzpzf0254hqpib2nn1kipf6gnfp4dvwv0wbgn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bifunctors bytestring containers transformers unix
+         base bifunctors bytestring containers text transformers unix
        ];
        librarySystemDepends = [ rdkafka ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [
-         base bifunctors bytestring containers either hspec monad-loops
+         base bifunctors bytestring containers either hspec monad-loops text
+         transformers
        ];
        description = "Kafka bindings for Haskell";
        license = stdenv.lib.licenses.mit;
@@ -118371,8 +118520,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-kafka-conduit";
-       version = "2.5.0";
-       sha256 = "0n495336vhikd0r5j6i8ydrxv3xwwckbg2ympaf3flcsjv4bwc08";
+       version = "2.6.0";
+       sha256 = "0z3rhxzj8zni2z0mb7aka21dblyniqby0qf2y6cnnjw6gmvrkc1b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -119861,31 +120010,6 @@ self: {
      }:
      mkDerivation {
        pname = "hyraxAbif";
-       version = "0.2.3.10";
-       sha256 = "1x800gx7l3wj0xphip8fhzh9pbhc374p2pgjdvhw5qq5wbxc7r3b";
-       revision = "2";
-       editedCabalFile = "1dwkqlkjg5hbjlwl7cjxmhg1camhlqpaqjrpmkwknscj76hfckvi";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base binary bytestring directory filepath protolude text
-       ];
-       executableHaskellDepends = [
-         base bytestring hscolour pretty-show protolude text
-       ];
-       testHaskellDepends = [
-         base binary bytestring hedgehog protolude text
-       ];
-       description = "Modules for parsing, generating and manipulating AB1 files";
-       license = "(BSD-3-Clause OR Apache-2.0)";
-     }) {};
-
-  "hyraxAbif_0_2_3_15" = callPackage
-    ({ mkDerivation, base, binary, bytestring, directory, filepath
-     , hedgehog, hscolour, pretty-show, protolude, text
-     }:
-     mkDerivation {
-       pname = "hyraxAbif";
        version = "0.2.3.15";
        sha256 = "1wfmlqgk751ij30x0dkyc9fyc6j1a96l0s7fjj1sywdvawd8cfh1";
        isLibrary = true;
@@ -119901,7 +120025,6 @@ self: {
        ];
        description = "Modules for parsing, generating and manipulating AB1 files";
        license = "(BSD-3-Clause OR Apache-2.0)";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hzaif" = callPackage
@@ -122238,30 +122361,6 @@ self: {
      }:
      mkDerivation {
        pname = "influxdb";
-       version = "1.6.1";
-       sha256 = "1hfyp284lpvgy0rqn7rjr7c8z0ah8h0vl3xhfrff8x1z1511n2dp";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring clock containers foldl http-client
-         http-types lens network optional-args scientific tagged text time
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ base doctest QuickCheck template-haskell ];
-       description = "Haskell client library for InfluxDB";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "influxdb_1_6_1_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
-     , cabal-doctest, clock, containers, doctest, foldl, http-client
-     , http-types, lens, network, optional-args, QuickCheck, scientific
-     , tagged, template-haskell, text, time, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "influxdb";
        version = "1.6.1.1";
        sha256 = "0cmhy4v00jvz1n4xfa0pcxgld7mc6idj4jl2b3n01jfhjff22ryi";
        isLibrary = true;
@@ -122275,7 +122374,6 @@ self: {
        testHaskellDepends = [ base doctest QuickCheck template-haskell ];
        description = "Haskell client library for InfluxDB";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "informative" = callPackage
@@ -123375,8 +123473,8 @@ self: {
      }:
      mkDerivation {
        pname = "intricacy";
-       version = "0.7.1.1";
-       sha256 = "1s947b71r0m3f81w8sid2cwgh9j16bxsmlpi498rzxajq32cd5yk";
+       version = "0.7.2";
+       sha256 = "0iv79rlgi7xi5l0a530m8vniba5jnn45hddwfrrm9yyfvpfgx1sw";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -126843,6 +126941,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "json-feed_1_0_6" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, filepath, hspec
+     , mime-types, network-uri, tagsoup, text, time
+     }:
+     mkDerivation {
+       pname = "json-feed";
+       version = "1.0.6";
+       sha256 = "1j5x5ibax81348m4m1fv8pz0044gbvlskgh9gpn5dn8d0cpd7vf7";
+       libraryHaskellDepends = [
+         aeson base bytestring mime-types network-uri tagsoup text time
+       ];
+       testHaskellDepends = [
+         aeson base bytestring filepath hspec mime-types network-uri tagsoup
+         text time
+       ];
+       description = "JSON Feed";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "json-fu" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , hashable, hspec, mtl, syb, text, time, unordered-containers
@@ -129972,6 +130090,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "lackey_1_0_8" = callPackage
+    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
+     mkDerivation {
+       pname = "lackey";
+       version = "1.0.8";
+       sha256 = "0nryr2bsl7wn80nfwpvs45nyf02micq422b95dhw8ln79knpa4vm";
+       libraryHaskellDepends = [ base servant servant-foreign text ];
+       testHaskellDepends = [ base hspec servant servant-foreign text ];
+       description = "Generate Ruby clients from Servant APIs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lacroix" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -131976,8 +132107,8 @@ self: {
      }:
      mkDerivation {
        pname = "lapack-carray";
-       version = "0.0.2";
-       sha256 = "1dr4mbhc5y21mbnksyi530rsvckfp4mclhhig2rjhx3b06cksfna";
+       version = "0.0.2.1";
+       sha256 = "0rhzs27m634vy7g7k1ls8wyfh3q983fq6959y1vn1g3af1f27yqx";
        libraryHaskellDepends = [
          base carray lapack-ffi netlib-carray netlib-ffi storable-complex
          transformers
@@ -132759,6 +132890,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "leancheck_0_9_0" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "leancheck";
+       version = "0.9.0";
+       sha256 = "12s3pwihb6i5anv5zm8xvlz6gq4bfk0nrgvkmg83my1sg5pcknl4";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base ];
+       description = "Enumerative property-based testing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "leancheck-enum-instances" = callPackage
     ({ mkDerivation, base, enum-types, leancheck }:
      mkDerivation {
@@ -132782,6 +132926,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "leancheck-instances_0_0_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, leancheck
+     , nats, text, time
+     }:
+     mkDerivation {
+       pname = "leancheck-instances";
+       version = "0.0.2";
+       sha256 = "1p8ip47v4jc5rkqj456dmsh2scl19lvh9zimkr844lvyhbxifgbb";
+       libraryHaskellDepends = [
+         array base bytestring containers leancheck nats text time
+       ];
+       testHaskellDepends = [
+         base bytestring containers leancheck nats text
+       ];
+       description = "Common LeanCheck instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "leankit-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, colour, curl, split }:
      mkDerivation {
@@ -133324,26 +133487,6 @@ self: {
      }:
      mkDerivation {
        pname = "lens-regex";
-       version = "0.1.0";
-       sha256 = "0hjizjmvdngxn63gs7x87qidh71aqhvyigrnqlbfjqan76pb6m29";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base lens regex-base template-haskell
-       ];
-       testHaskellDepends = [
-         base directory doctest filepath regex-posix
-       ];
-       description = "Lens powered regular expression";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "lens-regex_0_1_1" = callPackage
-    ({ mkDerivation, array, base, directory, doctest, filepath, lens
-     , regex-base, regex-posix, template-haskell
-     }:
-     mkDerivation {
-       pname = "lens-regex";
        version = "0.1.1";
        sha256 = "0c673v6k6y7dng6qmi4jbh3jlx803mg5g1911bz54r785fm6p50d";
        isLibrary = true;
@@ -133356,7 +133499,6 @@ self: {
        ];
        description = "Lens powered regular expression";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lens-simple" = callPackage
@@ -134648,6 +134790,8 @@ self: {
        pname = "libzfs";
        version = "0.2.0.0";
        sha256 = "1g3bn3dmkzalzpm645ag4vk9736in0xcszj28girpyphyiyfkk45";
+       revision = "1";
+       editedCabalFile = "0rvk7mbqz5yr5qx52ais53x1sknbf9r87q7rypk63jznjj1jcbmp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mtl transformers ];
@@ -136098,6 +136242,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "list-t_1_0_3_1" = callPackage
+    ({ mkDerivation, base, base-prelude, HTF, mmorph, monad-control
+     , mtl, mtl-prelude, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "list-t";
+       version = "1.0.3.1";
+       sha256 = "0h6bwljy0cqm1fsq151glglnvczjcvbphxiw7c83ps2zy9whg4y9";
+       libraryHaskellDepends = [
+         base mmorph monad-control mtl transformers transformers-base
+       ];
+       testHaskellDepends = [ base-prelude HTF mmorph mtl-prelude ];
+       description = "ListT done right";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "list-t-attoparsec" = callPackage
     ({ mkDerivation, attoparsec, base-prelude, either, hspec, list-t
      , list-t-text, text, transformers
@@ -138400,8 +138561,8 @@ self: {
        pname = "lrucaching";
        version = "0.3.3";
        sha256 = "192a2zap1bmxa2y48n48rmngf18fr8k0az4a230hziv3g795yzma";
-       revision = "5";
-       editedCabalFile = "0dfrgg60nd7l7pfjar1s1g380r4591y6ccv9fyh0n34ymhizk84y";
+       revision = "6";
+       editedCabalFile = "1zkf8ss6siai3py4drb5hr0m3np2kk3vrzb6kcxhq0vxxz3xynjh";
        libraryHaskellDepends = [
          base base-compat deepseq hashable psqueues vector
        ];
@@ -139456,6 +139617,8 @@ self: {
        pname = "maclight";
        version = "0.1.0.0";
        sha256 = "0qf44jza8avq2yfsx2f0bdxbnda4lm3xq9qaivmslfbdfjy3mxv3";
+       revision = "1";
+       editedCabalFile = "0v10y2x6c2cyh1qc0yki1mn69bcps0bdbq1mipf35mjmd0zs5iyj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base filemanip filepath parsec strict ];
@@ -141797,31 +141960,6 @@ self: {
      }:
      mkDerivation {
        pname = "mbug";
-       version = "1.3";
-       sha256 = "1pa3myyd2qrb14797hix4dh0ajpwr49219x5bf030yps6b0hsi91";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring directory extra formatting http-client
-         http-client-tls mtl optparse-applicative process scalpel-core
-         tagsoup text time xdg-basedir
-       ];
-       executableHaskellDepends = [
-         base bytestring directory extra formatting http-client
-         http-client-tls mtl optparse-applicative process scalpel-core
-         tagsoup text time xdg-basedir
-       ];
-       description = "download bugs mailboxes";
-       license = stdenv.lib.licenses.gpl3;
-     }) {};
-
-  "mbug_1_3_2" = callPackage
-    ({ mkDerivation, base, bytestring, directory, extra, formatting
-     , http-client, http-client-tls, mtl, optparse-applicative, process
-     , scalpel-core, tagsoup, text, time, xdg-basedir
-     }:
-     mkDerivation {
-       pname = "mbug";
        version = "1.3.2";
        sha256 = "05cyznwvwjc1ajjkr28h8dawlk10nx60ybx30g6vs5h68zlq43nd";
        isLibrary = true;
@@ -141838,7 +141976,6 @@ self: {
        ];
        description = "download bugs mailboxes";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mcl" = callPackage
@@ -142340,6 +142477,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "megaparsec_6_5_0" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , criterion, deepseq, hspec, hspec-discover, hspec-expectations
+     , mtl, parser-combinators, QuickCheck, scientific, text
+     , transformers, weigh
+     }:
+     mkDerivation {
+       pname = "megaparsec";
+       version = "6.5.0";
+       sha256 = "12iggy7qpf8x93jm64zf0g215xwy779bqyfyjk2bhmxqqr1yzgdy";
+       revision = "4";
+       editedCabalFile = "0ij3asi5vwlhbgwsy6nhli9a0qb7926mg809fsgyl1rnhs9fvpx1";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers deepseq mtl
+         parser-combinators scientific text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec hspec-expectations mtl QuickCheck
+         scientific text transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion deepseq text weigh ];
+       description = "Monadic parser combinators";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "megaparsec" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , criterion, deepseq, hspec, hspec-expectations, mtl
@@ -142781,34 +142945,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {menoh = null;};
 
-  "mercury-api" = callPackage
-    ({ mkDerivation, ansi-terminal, base, bytestring, clock, directory
-     , hashable, HUnit, optparse-applicative, text, unordered-containers
+  "menshen" = callPackage
+    ({ mkDerivation, aeson, base, hspec, QuickCheck, regex-tdfa
+     , scientific, text
      }:
      mkDerivation {
-       pname = "mercury-api";
-       version = "0.1.0.1";
-       sha256 = "0h5v08k27nqksl3x8r5d4p26zgb4s7k2shgrjkg6bc2n0bn9iqzr";
-       revision = "2";
-       editedCabalFile = "093c8afmcrnbfliz1ykpyc4w40dli2wig0qi0xcwg8445idwp2kg";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal base bytestring clock hashable text
-         unordered-containers
-       ];
-       executableHaskellDepends = [
-         ansi-terminal base bytestring optparse-applicative text
-       ];
+       pname = "menshen";
+       version = "0.0.1";
+       sha256 = "1i4h5s3d57466hzyp7mag1z7dbp306qm2sf4k3a0frpsz2n2ijsw";
+       libraryHaskellDepends = [ base regex-tdfa scientific text ];
        testHaskellDepends = [
-         base bytestring directory HUnit optparse-applicative text
+         aeson base hspec QuickCheck regex-tdfa scientific text
        ];
-       description = "Haskell binding to Mercury API for ThingMagic RFID readers";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       description = "Data Validation";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "mercury-api_0_1_0_2" = callPackage
+  "mercury-api" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, clock, directory
      , hashable, HUnit, optparse-applicative, text, unordered-containers
      }:
@@ -147381,8 +147534,8 @@ self: {
     ({ mkDerivation, morphisms }:
      mkDerivation {
        pname = "morphisms-functors";
-       version = "0.1.6";
-       sha256 = "103mg7pdykmiyx4xygrrygamj1d26v3xlph14l3w1hh02i6w4x4h";
+       version = "0.1.7";
+       sha256 = "1mv2sjn68n55482496icg84nbf3mn85fizf4q42781qn689np60q";
        libraryHaskellDepends = [ morphisms ];
        description = "Functors, theirs compositions and transformations";
        license = stdenv.lib.licenses.mit;
@@ -148863,6 +149016,8 @@ self: {
        pname = "multiset-comb";
        version = "0.2.4.1";
        sha256 = "1nih0101d6z2m4wi22804vjxrd5nr35mmqk31lm7bhanmwnl7qwa";
+       revision = "1";
+       editedCabalFile = "1amjahzg4lpgmhf4v456waa216afjpq3gcb45pqid5km9z1ycjdg";
        libraryHaskellDepends = [ base containers transformers ];
        description = "Combinatorial algorithms over multisets";
        license = stdenv.lib.licenses.bsd3;
@@ -149921,6 +150076,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) mysql;};
 
+  "mysql_0_1_7" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, hspec, mysql
+     }:
+     mkDerivation {
+       pname = "mysql";
+       version = "0.1.7";
+       sha256 = "1nbj958nsr568c1mhwhcidz8d1p35c6b99m8xz2z0w8ig737nbgg";
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [ base bytestring containers ];
+       librarySystemDepends = [ mysql ];
+       testHaskellDepends = [ base bytestring hspec ];
+       description = "A low-level MySQL client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) mysql;};
+
   "mysql-effect" = callPackage
     ({ mkDerivation, base, bytestring, extensible-effects, mysql
      , mysql-simple
@@ -150408,8 +150579,8 @@ self: {
     ({ mkDerivation, base, containers, monoid-extras }:
      mkDerivation {
        pname = "namespace";
-       version = "0.1.4.0";
-       sha256 = "12v2mk4wcqsdcwym6dbwkwcamr04l4vncdwfj0bsnxzvf4mjzx7p";
+       version = "0.1.4.1";
+       sha256 = "14z8g7nya4pp4gvspcmz4pkz1vd9g268pav2xxb203vi7va7wbff";
        libraryHaskellDepends = [ base containers monoid-extras ];
        testHaskellDepends = [ base ];
        description = "A Generic Haskell library for managing namespaces";
@@ -150524,8 +150695,10 @@ self: {
      }:
      mkDerivation {
        pname = "nanomsg-haskell";
-       version = "0.2.3";
-       sha256 = "0q9zjay4njlr3dakmwhcmyhh3hw7p3q2ani3s5acmm3zdj25slqx";
+       version = "0.2.4";
+       sha256 = "00941a7vp6y4gzxpjlr4516ic96l5892w0akqajq3jyh5601jqg3";
+       revision = "1";
+       editedCabalFile = "02ahbmda51j7ayvda9nwvkbw8wnd1gm9kqa3lqdqh8s587wl4wm7";
        libraryHaskellDepends = [ base binary bytestring ];
        librarySystemDepends = [ nanomsg ];
        testHaskellDepends = [
@@ -151843,6 +152016,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network_3_0_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, directory, hspec
+     , hspec-discover, HUnit, unix
+     }:
+     mkDerivation {
+       pname = "network";
+       version = "3.0.0.0";
+       sha256 = "1j9lhyb50k056ynyfsyh1ak9gn1knh11cyajlnbix8yhahm2mkla";
+       libraryHaskellDepends = [ base bytestring deepseq unix ];
+       testHaskellDepends = [ base bytestring directory hspec HUnit ];
+       testToolDepends = [ hspec-discover ];
+       description = "Low-level networking interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-address" = callPackage
     ({ mkDerivation, base, Cabal, QuickCheck, test-framework
      , test-framework-quickcheck2
@@ -151998,14 +152187,13 @@ self: {
      }) {};
 
   "network-bsd" = callPackage
-    ({ mkDerivation, base, network }:
+    ({ mkDerivation, base, deepseq, network }:
      mkDerivation {
        pname = "network-bsd";
-       version = "2.8.0.0";
-       sha256 = "0dfbwgrr28y6ypw7p1ppqg7v746qf14569q4xazj4ahdjw2xkpi5";
-       libraryHaskellDepends = [ base network ];
-       doHaddock = false;
-       description = "Network.BSD";
+       version = "2.8.1.0";
+       sha256 = "0kid0811lv4x761fd5gv6lsc8p5j2bn41rfd366pjb642p562jfr";
+       libraryHaskellDepends = [ base deepseq network ];
+       description = "POSIX network database (<netdb.h>) API";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -152049,6 +152237,8 @@ self: {
        pname = "network-bytestring";
        version = "0.1.3.4";
        sha256 = "19m10mj9nqsa7s0syv9dyhqkhvmf2h7yna8n7bq0xkdp8m9l0g96";
+       revision = "1";
+       editedCabalFile = "0znp4qkad1sd650kjqhbbrr2ap7bb772g3db92k7r2rrydr19cdl";
        libraryHaskellDepends = [ base bytestring network unix ];
        description = "Fast, memory-efficient, low-level networking";
        license = stdenv.lib.licenses.bsd3;
@@ -152781,8 +152971,8 @@ self: {
     ({ mkDerivation, base, doctest, network-uri, template-haskell }:
      mkDerivation {
        pname = "network-uri-static";
-       version = "0.1.2.0";
-       sha256 = "1r1blpz313v6qacvbns53c2i1zgvadvl0ibmp2s3bv1ymm4caj74";
+       version = "0.1.2.1";
+       sha256 = "0sfyqkm49vgw6x2xkgaa0lv2fmrzwgcz33ch333jsib0qbmji5vw";
        libraryHaskellDepends = [ base network-uri template-haskell ];
        testHaskellDepends = [ base doctest ];
        description = "A small utility to declare type-safe static URIs";
@@ -153156,8 +153346,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export";
-       version = "1.6.2";
-       sha256 = "1wvh33raci7s4hczcfn5sj2kk1g61ry6xwn3lg7g3yy5bn7azv73";
+       version = "1.6.3";
+       sha256 = "0dqfjiw55cd16grrqdp1ml557rh58dy3lfcjrfmy91kb5v50cqz6";
        libraryHaskellDepends = [
          async base binary bytestring deepseq monad-loops template-haskell
          unix
@@ -153172,8 +153362,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export-tools";
-       version = "0.4.2.4";
-       sha256 = "0a8w68bzlh7v2b9infvxlscg3mnfi8fngi7z3bap3zwbz86hwb0k";
+       version = "0.4.3.0";
+       sha256 = "13vhbwld700f56gd95jm9rrzbzx6sp5mimf8qrjdxqwjj2a3rbmp";
        libraryHaskellDepends = [
          aeson base binary bytestring ngx-export safe template-haskell
        ];
@@ -153954,6 +154144,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "non-empty_0_3_1" = callPackage
+    ({ mkDerivation, base, containers, deepseq, QuickCheck, utility-ht
+     }:
+     mkDerivation {
+       pname = "non-empty";
+       version = "0.3.1";
+       sha256 = "0118vf88pzx1spzx4amc9sxz5vdrmfpryp816fh9l7k5hnzhy0bh";
+       libraryHaskellDepends = [
+         base containers deepseq QuickCheck utility-ht
+       ];
+       description = "List-like structures with static restrictions on the number of elements";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "non-empty-containers" = callPackage
     ({ mkDerivation, base, containers, semigroupoids }:
      mkDerivation {
@@ -154381,10 +154586,10 @@ self: {
     ({ mkDerivation, base, containers, numeric-prelude, primes }:
      mkDerivation {
        pname = "np-extras";
-       version = "0.3.1.1";
-       sha256 = "0g17kpmd819q0lsy41x0ssvfy3calspdq3q1d579irga77gf0blf";
-       revision = "2";
-       editedCabalFile = "01jp7y4lsdxlfrbi5vqsc5iyjzzc996w7g88amkkfg5k6amlxb9r";
+       version = "0.3.1.2";
+       sha256 = "1nah4gxagr02nhwbyq2zinx6nj93h40lyw6fv1bv16x8v3d8p69m";
+       revision = "1";
+       editedCabalFile = "1imcizgbckwcmxwjicads55g0v6abprz3g69b6blkkgmcq5r9x6b";
        libraryHaskellDepends = [ base containers numeric-prelude primes ];
        description = "NumericPrelude extras";
        license = stdenv.lib.licenses.bsd3;
@@ -158896,6 +159101,8 @@ self: {
        pname = "pandoc-crossref";
        version = "0.3.4.0";
        sha256 = "15vfqpfkw4wnsg98804l5ylqbc926s2j5z4ik5zhval4d3kiamgz";
+       revision = "1";
+       editedCabalFile = "06ic2286am3jpmlb6jxnrx0y9c7rh5rs3l0chv1s5ahharp341g9";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -162547,6 +162754,40 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent_2_9_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-html, blaze-markup, bytestring, conduit, containers
+     , fast-logger, hspec, http-api-data, monad-control, monad-logger
+     , mtl, old-locale, path-pieces, resource-pool, resourcet
+     , scientific, silently, tagged, template-haskell, text, time
+     , transformers, unliftio-core, unordered-containers, vector, void
+     }:
+     mkDerivation {
+       pname = "persistent";
+       version = "2.9.1";
+       sha256 = "1b6shb1d8p7dapj428glmsy7w69424bxrvgf7ws8jd266h4gshk7";
+       revision = "1";
+       editedCabalFile = "1ing9cdpafmfx0mpvrl3xzfvmw5aw2lpiq69nnhrsmlhb9pi8ni0";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-html blaze-markup
+         bytestring conduit containers fast-logger http-api-data
+         monad-logger mtl old-locale path-pieces resource-pool resourcet
+         scientific silently tagged template-haskell text time transformers
+         unliftio-core unordered-containers vector void
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-html bytestring
+         conduit containers fast-logger hspec http-api-data monad-control
+         monad-logger mtl old-locale path-pieces resource-pool resourcet
+         scientific tagged template-haskell text time transformers
+         unordered-containers vector
+       ];
+       description = "Type-safe, multi-backend data serialization";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "persistent-audit" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring
      , getopt-generics, hashable, hspec, mongoDB, persistent
@@ -164091,8 +164332,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.10.1.3";
-       sha256 = "1shn877lirnbbhk6wzbypv5j5cqh8wyvgg0333h7mhkmvkm0v569";
+       version = "0.10.1.4";
+       sha256 = "1kmkxcvkfqwp2p46s22gdnvk12g7bx9dqr8cs04wjw1rbj0mli49";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-client-tls
          http-types monad-logger mtl network profunctors random text time
@@ -167309,8 +167550,8 @@ self: {
     ({ mkDerivation, base, primitive, tasty, tasty-hunit }:
      mkDerivation {
        pname = "posix-api";
-       version = "0.1.0.0";
-       sha256 = "1f1cbvjak0ywhmrrjqvrjfzicq5jfxifxs6alp692rwnm2cbim07";
+       version = "0.2.0.0";
+       sha256 = "059b5zip3i7cfa977kz0jzxc7b8nws9libkxwf8pnvxk70i7apq1";
        libraryHaskellDepends = [ base primitive ];
        testHaskellDepends = [ base primitive tasty tasty-hunit ];
        description = "posix bindings";
@@ -167838,8 +168079,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-simple-migration";
-       version = "0.1.13.1";
-       sha256 = "0xblb0k3xnsbvdqrl5k3i6jimj4cskgip6w021byirn8i73s7j8a";
+       version = "0.1.14.0";
+       sha256 = "1z9fdfwpcnhbsq977070hn8ykxcnisjzvpdh5lz4bqirscx2gr2c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -168198,8 +168439,8 @@ self: {
     ({ mkDerivation, potoki-core }:
      mkDerivation {
        pname = "potoki";
-       version = "2.1.3";
-       sha256 = "1cg89jh2s2dim874h8vv52ab2dzvq01zvjn45fwdzs3j6815nlj4";
+       version = "2.1.4";
+       sha256 = "1y5shvgnc2p70nqh6rgh9hrq3x98l9bh2mqm6rhv4xl1mzrva25l";
        libraryHaskellDepends = [ potoki-core ];
        description = "Simple streaming in IO";
        license = stdenv.lib.licenses.mit;
@@ -168229,21 +168470,43 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "potoki-conduit" = callPackage
+    ({ mkDerivation, acquire, base, base-prelude, bytestring, conduit
+     , potoki, potoki-core, profunctors, QuickCheck
+     , quickcheck-instances, rerebase, slave-thread, stm-chans, tasty
+     , tasty-hunit, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "potoki-conduit";
+       version = "0.1";
+       sha256 = "11hg5zib91b1kp75amlng96b1n357rkj120afnc0825vvb81ky14";
+       libraryHaskellDepends = [
+         acquire base base-prelude bytestring conduit potoki-core
+         profunctors slave-thread stm-chans text
+       ];
+       testHaskellDepends = [
+         conduit potoki QuickCheck quickcheck-instances rerebase tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       description = "Integration of \"potoki\" and \"conduit\"";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "potoki-core" = callPackage
     ({ mkDerivation, acquire, attoparsec, base, bytestring, criterion
      , deepseq, deferred-folds, directory, foldl, hashable, ilist
      , primitive, profunctors, ptr, QuickCheck, quickcheck-instances
-     , random, rerebase, scanner, split, stm, tasty, tasty-hunit
-     , tasty-quickcheck, text, text-builder, time, transformers
-     , unordered-containers, vector
+     , random, rerebase, scanner, split, stm, stm-chans, tasty
+     , tasty-hunit, tasty-quickcheck, text, text-builder, time
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "potoki-core";
-       version = "2.3.3";
-       sha256 = "1f6rr75h4cqgy1qjh5qplcq1qz2pwc11mi4k61z691clz5yfmbm0";
+       version = "2.3.4";
+       sha256 = "0ldgypdw4xk8r1p8g3vgl7ci3vdbfwv773zi1aqczskhsvwz0s97";
        libraryHaskellDepends = [
          acquire attoparsec base bytestring deepseq deferred-folds directory
-         foldl hashable primitive profunctors ptr scanner stm text
+         foldl hashable primitive profunctors ptr scanner stm stm-chans text
          text-builder time transformers unordered-containers vector
        ];
        testHaskellDepends = [
@@ -170820,6 +171083,21 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "prometheus-proc" = callPackage
+    ({ mkDerivation, base, filepath, prometheus-client
+     , regex-applicative, unix, unix-memory
+     }:
+     mkDerivation {
+       pname = "prometheus-proc";
+       version = "0.1.0.0";
+       sha256 = "1384kcsnhby17ivjlii2ixqw1qhas6y4l1h8vq3lzaxqydbidhbm";
+       libraryHaskellDepends = [
+         base filepath prometheus-client regex-applicative unix unix-memory
+       ];
+       description = "Export metrics from /proc for the current process";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "promise" = callPackage
     ({ mkDerivation, async, base }:
      mkDerivation {
@@ -170911,8 +171189,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.5.0";
-       sha256 = "0mcj3xsi125vcxf605h8fm4swg84b79iv01qnhv5vmp872dhmwbv";
+       version = "5.6.1";
+       sha256 = "1wbh9vc0jkdqsrqfnxvz2498awqkr0jph9qv6c0zwbqm7zbjzn04";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -171699,31 +171977,6 @@ self: {
      }:
      mkDerivation {
        pname = "psqueues";
-       version = "0.2.7.0";
-       sha256 = "1sjgc9bxh63kkdp59nbirx3xazr02ia5yhp4f4a0jnq1hj465wsc";
-       revision = "1";
-       editedCabalFile = "0ncag4p7v41x5disbvkwzmv0c7ifc85lmjljzvf8d33arh7b08bj";
-       libraryHaskellDepends = [ base deepseq ghc-prim hashable ];
-       testHaskellDepends = [
-         array base deepseq ghc-prim hashable HUnit QuickCheck tagged
-         test-framework test-framework-hunit test-framework-quickcheck2
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion deepseq fingertree-psqueue ghc-prim
-         hashable mtl PSQueue random unordered-containers
-       ];
-       description = "Pure priority search queues";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "psqueues_0_2_7_1" = callPackage
-    ({ mkDerivation, array, base, containers, criterion, deepseq
-     , fingertree-psqueue, ghc-prim, hashable, HUnit, mtl, PSQueue
-     , QuickCheck, random, tagged, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, unordered-containers
-     }:
-     mkDerivation {
-       pname = "psqueues";
        version = "0.2.7.1";
        sha256 = "1hcfxb977lzxsmd47z0snjj4xdhiwnqzif8xkpwzw28dspn44zh4";
        revision = "1";
@@ -171739,7 +171992,6 @@ self: {
        ];
        description = "Pure priority search queues";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pstemmer" = callPackage
@@ -171817,8 +172069,8 @@ self: {
      }:
      mkDerivation {
        pname = "publicsuffix";
-       version = "0.20180825";
-       sha256 = "0wyni1f9v647zb7hg70da4s30dplv6whywd0jwghph1vqdlzlbma";
+       version = "0.20190115";
+       sha256 = "1w73kpqb8s6yc7h66cam89gcmz6qnsgis2fqvyr9vrqs466k3j01";
        libraryHaskellDepends = [ base filepath template-haskell ];
        testHaskellDepends = [ base hspec ];
        benchmarkHaskellDepends = [ base criterion random ];
@@ -172619,30 +172871,6 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-http-haskell";
-       version = "1.5.1.6";
-       sha256 = "0i5lf3aniff8lnvgkl3mmy5xbjr130baz1h25p6q3asapirbj1k0";
-       libraryHaskellDepends = [
-         aeson base base16-bytestring bytestring cryptonite hashable
-         http-client http-types memory text time transformers
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base base16-bytestring bytestring cryptonite hspec
-         http-client http-types QuickCheck scientific text time transformers
-         unordered-containers vector
-       ];
-       description = "Haskell client library for the Pusher HTTP API";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "pusher-http-haskell_1_5_1_7" = callPackage
-    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
-     , cryptonite, hashable, hspec, http-client, http-types, memory
-     , QuickCheck, scientific, text, time, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "pusher-http-haskell";
        version = "1.5.1.7";
        sha256 = "01p168y4hwn38b4lpf3pi7pv5w46pd8gmli42q7bs3jxd6jhhppc";
        libraryHaskellDepends = [
@@ -172657,7 +172885,6 @@ self: {
        ];
        description = "Haskell client library for the Pusher HTTP API";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pusher-ws" = callPackage
@@ -173133,6 +173360,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "qnap-decrypt_0_3_4" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cipher-aes128, conduit
+     , conduit-extra, crypto-api, directory, filepath, hspec, HUnit
+     , optparse-applicative, streaming-commons, tagged, temporary
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "qnap-decrypt";
+       version = "0.3.4";
+       sha256 = "0s263zkdns50bvanjiaiavdk6bpd1ccqbckdmxwbbl2sxp2s3jxz";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base binary bytestring cipher-aes128 conduit conduit-extra
+         crypto-api directory streaming-commons tagged utf8-string
+       ];
+       executableHaskellDepends = [
+         base binary bytestring cipher-aes128 conduit conduit-extra
+         crypto-api directory filepath optparse-applicative
+         streaming-commons tagged utf8-string
+       ];
+       testHaskellDepends = [
+         base binary bytestring cipher-aes128 conduit conduit-extra
+         crypto-api directory filepath hspec HUnit streaming-commons tagged
+         temporary utf8-string
+       ];
+       description = "Decrypt files encrypted by QNAP's Hybrid Backup Sync";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "qq-literals" = callPackage
     ({ mkDerivation, base, network-uri, template-haskell }:
      mkDerivation {
@@ -174051,31 +174310,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "quickcheck-state-machine_0_5_0" = callPackage
+  "quickcheck-state-machine_0_6_0" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
      , directory, doctest, exceptions, filelock, filepath, http-client
      , matrix, monad-logger, mtl, network, persistent
      , persistent-postgresql, persistent-template, pretty-show, process
      , QuickCheck, quickcheck-instances, random, resourcet, servant
-     , servant-client, servant-server, split, strict, string-conversions
-     , tasty, tasty-hunit, tasty-quickcheck, text, tree-diff, unliftio
-     , vector, wai, warp
+     , servant-client, servant-server, strict, string-conversions, tasty
+     , tasty-hunit, tasty-quickcheck, text, tree-diff, unliftio, vector
+     , wai, warp
      }:
      mkDerivation {
        pname = "quickcheck-state-machine";
-       version = "0.5.0";
-       sha256 = "0wds624fhvzwxcbrr05pgfq802c5namrsqpkdr2388j525374lsj";
+       version = "0.6.0";
+       sha256 = "0zbjap2jjd534w6cigi4xz34x3f6w8icvxyvxs35j61c52cp2pry";
        libraryHaskellDepends = [
          ansi-wl-pprint base containers exceptions matrix mtl pretty-show
-         QuickCheck split tree-diff unliftio vector
+         QuickCheck tree-diff unliftio vector
        ];
        testHaskellDepends = [
          base bytestring containers directory doctest filelock filepath
          http-client matrix monad-logger mtl network persistent
-         persistent-postgresql persistent-template process QuickCheck
-         quickcheck-instances random resourcet servant servant-client
-         servant-server strict string-conversions tasty tasty-hunit
-         tasty-quickcheck text tree-diff unliftio vector wai warp
+         persistent-postgresql persistent-template pretty-show process
+         QuickCheck quickcheck-instances random resourcet servant
+         servant-client servant-server strict string-conversions tasty
+         tasty-hunit tasty-quickcheck text tree-diff unliftio vector wai
+         warp
        ];
        description = "Test monadic programs using state machine based models";
        license = stdenv.lib.licenses.bsd3;
@@ -175837,6 +176097,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ratel_1_0_8" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, filepath, hspec, http-client, http-client-tls
+     , http-types, text, uuid
+     }:
+     mkDerivation {
+       pname = "ratel";
+       version = "1.0.8";
+       sha256 = "045hr0jilydb1xcvhh9q5iwazpf1k1d2q1y0h4gkgnbn6qmgwhnk";
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive containers http-client
+         http-client-tls http-types text uuid
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive containers filepath hspec
+         http-client http-client-tls http-types text uuid
+       ];
+       description = "Notify Honeybadger about exceptions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ratel-wai" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
      , http-client, ratel, wai
@@ -175852,6 +176134,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ratel-wai_1_0_5" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , http-client, ratel, wai
+     }:
+     mkDerivation {
+       pname = "ratel-wai";
+       version = "1.0.5";
+       sha256 = "07k2gzc2by6zhsk1zqp0kjk37zc6ikigdp0j5d38pd7x30a7qk7x";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers http-client ratel wai
+       ];
+       description = "Notify Honeybadger about exceptions via a WAI middleware";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rating-systems" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -175906,6 +176204,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "rattletrap_6_2_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, binary, binary-bits
+     , bytestring, clock, containers, filepath, http-client
+     , http-client-tls, HUnit, template-haskell, temporary, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "rattletrap";
+       version = "6.2.1";
+       sha256 = "0pygwgq5q6mvpbkis2xiw6ac65fn8q9452qql5dc21p4mi27bwka";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base binary binary-bits bytestring containers
+         filepath http-client http-client-tls template-haskell text
+         transformers
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base binary binary-bits bytestring containers
+         filepath http-client http-client-tls template-haskell text
+         transformers
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base binary binary-bits bytestring clock
+         containers filepath http-client http-client-tls HUnit
+         template-haskell temporary text transformers
+       ];
+       description = "Parse and generate Rocket League replays";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "raven-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit, mtl
      , network, random, resourcet, text, time, unordered-containers
@@ -177185,6 +177515,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "red-black-record" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, doctest, profunctors
+     , sop-core, tasty, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "red-black-record";
+       version = "1.0.0.2";
+       sha256 = "107b4mc0q0wwmdhyx7d6ks5d28w8rq896vpwjpg23grkd1c18lzy";
+       libraryHaskellDepends = [ base sop-core ];
+       testHaskellDepends = [
+         aeson base bytestring doctest profunctors sop-core tasty
+         tasty-hunit text
+       ];
+       description = "Extensible records and variants indexed by a type-level Red-Black tree";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "red-black-tree" = callPackage
     ({ mkDerivation, base, hspec, QuickCheck }:
      mkDerivation {
@@ -177502,6 +177849,8 @@ self: {
        pname = "ref-tf";
        version = "0.4.0.1";
        sha256 = "03mywifasfvxlz7hy5bbq3i8zi3i99k5cb0kq38gndx4vk2j5dgw";
+       revision = "1";
+       editedCabalFile = "042nn6y3rbx9z88bkidy1ilp32grm6a1n0ny1wrzxdp46xi5r7in";
        libraryHaskellDepends = [ base stm transformers ];
        description = "A type class for monads with references using type families";
        license = stdenv.lib.licenses.bsd3;
@@ -179890,8 +180239,8 @@ self: {
        pname = "req";
        version = "1.2.1";
        sha256 = "1s8gjifc9jixl4551hay013fwyhlamcyrxjb00qr76wwikqa0g8k";
-       revision = "1";
-       editedCabalFile = "1ksqfsln8v08ibm89cgn1clxrvhk889421q5h52v1m9kzkh52njq";
+       revision = "2";
+       editedCabalFile = "19zayp5lvg2ahjrpxikhhq61w5nlzfp144333vxk03w345akmmrk";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -179918,8 +180267,8 @@ self: {
        pname = "req-conduit";
        version = "1.0.0";
        sha256 = "193bv4jp7rrbpb1i9as9s2l978wz5kbz5kvr7ppllif5ppj699qx";
-       revision = "3";
-       editedCabalFile = "1gnaq7ya4grjwadz58r9g10dybgg50ch89bhbnhyicdins2aa9b2";
+       revision = "4";
+       editedCabalFile = "13chmpfq1m1fgmgf7nxgs4dgfkpsv2khp4ma3cqqki76j1s8rq3p";
        libraryHaskellDepends = [
          base bytestring conduit http-client req resourcet transformers
        ];
@@ -180011,8 +180360,8 @@ self: {
      }:
      mkDerivation {
        pname = "require";
-       version = "0.4.0";
-       sha256 = "1kfi0y46ycjsylzv73lxh721a45qz5ki9m6czv4r53scrpbaywig";
+       version = "0.4.1";
+       sha256 = "0x7scxpb0mydfssgm9ih9if8lqh0yws2hlm3rl54i02xxaxgdvwz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -181807,8 +182156,8 @@ self: {
      }:
      mkDerivation {
        pname = "rob";
-       version = "0.0.2";
-       sha256 = "1bbhv502c9r8d0kmrvl3q7yl12ykjwfvknlm0kmgnsv5lpz2zx59";
+       version = "0.0.4";
+       sha256 = "0ds0psp28fb5y21ycsxva1jqrbcvia94g3rk1b5p356php7zahsm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -183923,8 +184272,8 @@ self: {
      }:
      mkDerivation {
        pname = "salak";
-       version = "0.1.4";
-       sha256 = "17zlgk85yp6ihfppf0simrvc70sk2a3jkjzxzzsgibyxmsm2jmxr";
+       version = "0.1.6";
+       sha256 = "1l9nl9a7xs833w4d6i2bjka7h597ddvfk6g203pa6n13nl90f9cc";
        libraryHaskellDepends = [
          aeson base directory filepath scientific text unordered-containers
          vector yaml
@@ -183937,22 +184286,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "salak_0_2_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
-     , filepath, hspec, QuickCheck, scientific, text
-     , unordered-containers, vector, yaml
+  "salak_0_2_2" = callPackage
+    ({ mkDerivation, aeson, base, directory, filepath, hspec, mtl
+     , QuickCheck, scientific, text, transformers, unordered-containers
+     , vector, yaml
      }:
      mkDerivation {
        pname = "salak";
-       version = "0.2.1";
-       sha256 = "13hv4fcsb12fzn738jwlzqy70q5srmklrqk7vh3sk17iiwi6jci5";
+       version = "0.2.2";
+       sha256 = "0vnsfa4c2aa8439q7ijv7mz020hmz2w72g6lynr06hxzfl96zsgn";
        libraryHaskellDepends = [
-         aeson base directory filepath scientific text unordered-containers
-         vector yaml
+         aeson base directory filepath mtl scientific text transformers
+         unordered-containers vector yaml
        ];
        testHaskellDepends = [
-         aeson aeson-pretty base bytestring directory filepath hspec
-         QuickCheck scientific text unordered-containers vector yaml
+         aeson base directory filepath hspec mtl QuickCheck scientific text
+         transformers unordered-containers vector yaml
        ];
        description = "Configuration Loader";
        license = stdenv.lib.licenses.bsd3;
@@ -184556,6 +184905,33 @@ self: {
        license = stdenv.lib.licenses.lgpl3;
      }) {};
 
+  "sbp_2_4_7" = callPackage
+    ({ mkDerivation, aeson, array, base, base64-bytestring
+     , basic-prelude, binary, binary-conduit, bytestring, conduit
+     , conduit-extra, data-binary-ieee754, lens, lens-aeson, monad-loops
+     , resourcet, tasty, tasty-hunit, template-haskell, text, time, yaml
+     }:
+     mkDerivation {
+       pname = "sbp";
+       version = "2.4.7";
+       sha256 = "1ik254jzgazlbjm09nms8imansk8nb7hhghzyqjcgywg45i119i3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson array base base64-bytestring basic-prelude binary bytestring
+         data-binary-ieee754 lens lens-aeson monad-loops template-haskell
+         text
+       ];
+       executableHaskellDepends = [
+         aeson base basic-prelude binary-conduit bytestring conduit
+         conduit-extra resourcet time yaml
+       ];
+       testHaskellDepends = [ base basic-prelude tasty tasty-hunit ];
+       description = "SwiftNav's SBP Library";
+       license = stdenv.lib.licenses.lgpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sbp2udp" = callPackage
     ({ mkDerivation, base, basic-prelude, binary, binary-conduit
      , bytestring, conduit, conduit-extra, network, optparse-generic
@@ -184603,6 +184979,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) z3;};
 
+  "sbv_8_0" = callPackage
+    ({ mkDerivation, array, async, base, bytestring, containers
+     , crackNum, deepseq, directory, doctest, filepath, generic-deriving
+     , ghc, Glob, hlint, mtl, pretty, process, QuickCheck, random, syb
+     , tasty, tasty-golden, tasty-hunit, tasty-quickcheck
+     , template-haskell, time, transformers, z3
+     }:
+     mkDerivation {
+       pname = "sbv";
+       version = "8.0";
+       sha256 = "1bv5vf8r892q5ykh4xnzrczay6i423rbyk3rdz3z5ch4fyisvlrj";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array async base containers crackNum deepseq directory filepath
+         generic-deriving ghc mtl pretty process QuickCheck random syb
+         template-haskell time transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers crackNum directory doctest filepath Glob
+         hlint mtl QuickCheck random syb tasty tasty-golden tasty-hunit
+         tasty-quickcheck template-haskell
+       ];
+       testSystemDepends = [ z3 ];
+       description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) z3;};
+
   "sbvPlugin" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, ghc
      , ghc-prim, mtl, process, sbv, tasty, tasty-golden
@@ -184610,8 +185014,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbvPlugin";
-       version = "0.10";
-       sha256 = "0yvvwkhvdfhy1i09br6ci8m4nchmmvn83glnqxd8s2zdmhmxsr54";
+       version = "0.11";
+       sha256 = "19gji0aqdi232x3y3vkpblwr6y63n7in92dq48ax67h6bqxwg5g2";
        libraryHaskellDepends = [
          base containers ghc ghc-prim mtl sbv template-haskell
        ];
@@ -185321,36 +185725,6 @@ self: {
   "scotty" = callPackage
     ({ mkDerivation, aeson, async, base, blaze-builder, bytestring
      , case-insensitive, data-default-class, directory, exceptions, fail
-     , hpc-coveralls, hspec, hspec-discover, hspec-wai, http-types
-     , lifted-base, monad-control, mtl, nats, network, regex-compat
-     , text, transformers, transformers-base, transformers-compat, wai
-     , wai-extra, warp
-     }:
-     mkDerivation {
-       pname = "scotty";
-       version = "0.11.2";
-       sha256 = "18lxgnj05p4hk7pp4a84biz2dn387a5vxwzyh1kslns1bra6zn0x";
-       revision = "1";
-       editedCabalFile = "1h4fk7q8x7cvlqq4bbmdh465s6a8955bgchm121fvk08x7rm3yz3";
-       libraryHaskellDepends = [
-         aeson base blaze-builder bytestring case-insensitive
-         data-default-class exceptions fail http-types monad-control mtl
-         nats network regex-compat text transformers transformers-base
-         transformers-compat wai wai-extra warp
-       ];
-       testHaskellDepends = [
-         async base bytestring data-default-class directory hpc-coveralls
-         hspec hspec-wai http-types lifted-base network text wai
-       ];
-       testToolDepends = [ hpc-coveralls hspec-discover ];
-       description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "scotty_0_11_3" = callPackage
-    ({ mkDerivation, aeson, async, base, blaze-builder, bytestring
-     , case-insensitive, data-default-class, directory, exceptions, fail
      , hspec, hspec-discover, hspec-wai, http-types, lifted-base
      , monad-control, mtl, nats, network, regex-compat, text
      , transformers, transformers-base, transformers-compat, wai
@@ -185360,6 +185734,8 @@ self: {
        pname = "scotty";
        version = "0.11.3";
        sha256 = "14570k1klrlwra58zz7ip3j41nc75gaswrp8m4xwlrjzgpdqm70a";
+       revision = "1";
+       editedCabalFile = "0pcaw6wr8nqs7pl64pb00zxd359np5x35159lqkqlcziiv0n2g3b";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring case-insensitive
          data-default-class exceptions fail http-types monad-control mtl
@@ -186932,8 +187308,8 @@ self: {
      }:
      mkDerivation {
        pname = "sendgrid-v3";
-       version = "0.1.1.0";
-       sha256 = "1f8kxg6v6804qq7kl22ycff26kq6nh5n7kpkvbdx36pf54a6632w";
+       version = "0.1.2.0";
+       sha256 = "06j07c86560f4w4vpx6gbnmrbyhs9i69jksliifsd9a9flg93vx3";
        libraryHaskellDepends = [ aeson base lens semigroups text wreq ];
        testHaskellDepends = [ base semigroups tasty tasty-hunit text ];
        description = "Sendgrid v3 API library";
@@ -187728,6 +188104,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-auth-server_0_4_3_0" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, blaze-builder
+     , bytestring, case-insensitive, cookie, data-default-class, entropy
+     , hspec, hspec-discover, http-client, http-types, jose, lens
+     , lens-aeson, markdown-unlit, memory, monad-time, mtl, QuickCheck
+     , servant, servant-auth, servant-server, tagged, text, time
+     , transformers, unordered-containers, wai, warp, wreq
+     }:
+     mkDerivation {
+       pname = "servant-auth-server";
+       version = "0.4.3.0";
+       sha256 = "1kzh4j6118qjzhfbxlszwi6ixgg9g4zn903n9qwrb5z8c2y6b9bl";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring blaze-builder bytestring
+         case-insensitive cookie data-default-class entropy http-types jose
+         lens memory monad-time mtl servant servant-auth servant-server
+         tagged text time unordered-containers wai
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive hspec http-client http-types
+         jose lens lens-aeson mtl QuickCheck servant-auth servant-server
+         time transformers wai warp wreq
+       ];
+       testToolDepends = [ hspec-discover markdown-unlit ];
+       description = "servant-server/servant-auth compatibility";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-auth-swagger" = callPackage
     ({ mkDerivation, base, hspec, hspec-discover, lens, QuickCheck
      , servant, servant-auth, servant-swagger, swagger2, text
@@ -190086,8 +190491,8 @@ self: {
      }:
      mkDerivation {
        pname = "sets";
-       version = "0.0.6";
-       sha256 = "0vnh4wy4p4x0jcxlwzj3mpxhkjv3igg2lphjgxj4dqzd2qddj63d";
+       version = "0.0.6.1";
+       sha256 = "15msfpnifcavbi5dgsrpl2v9b7hyv0c8lqkkcl0mz0rdm69l2p4q";
        libraryHaskellDepends = [
          base bytestring commutative composition containers contravariant
          hashable keys mtl QuickCheck semigroupoids semigroups transformers
@@ -191145,8 +191550,8 @@ self: {
     ({ mkDerivation, base, containers, text, unix }:
      mkDerivation {
        pname = "shell-monad";
-       version = "0.6.7";
-       sha256 = "101ivifq9gcfafj295l773wpv0c0cqmh8zjzg65r1fhblhbd30f7";
+       version = "0.6.8";
+       sha256 = "0xv28s1b8rd1zd2mr5g6km8gwsy5ynsyji8fd68clq1rx9jjfcsc";
        libraryHaskellDepends = [ base containers text unix ];
        description = "shell monad";
        license = stdenv.lib.licenses.bsd3;
@@ -191574,27 +191979,12 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "show-combinators";
-       version = "0.1.0.0";
-       sha256 = "11ihjlpa5hgqhcbwcyclldgddppzgdqsz8hx1hqvamchqx3mgi12";
-       revision = "2";
-       editedCabalFile = "003ry21snn1b9ip5c1z62hzdy24ckbbb5zf637nxcf9qj07z2xsz";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base ];
-       description = "Combinators to write Show instances";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "show-combinators_0_1_1_0" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "show-combinators";
        version = "0.1.1.0";
        sha256 = "02h2fvmw22v1mpxlxn9c6p7as3xspvspdphybxapac4s50mvyfnm";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Combinators to write Show instances";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "show-please" = callPackage
@@ -192556,8 +192946,8 @@ self: {
        pname = "simple-sendfile";
        version = "0.2.27";
        sha256 = "1bwwqzcm56m2w4ymsa054sxmpbj76h9pvb0jf8zxp8lr41cp51gn";
-       revision = "1";
-       editedCabalFile = "040adccwis3yy8af783vjz3a2yb3fcmm49cpzdgikm2293pwyj0p";
+       revision = "2";
+       editedCabalFile = "1590hn309h3jndahqh8ddrrn0jvag51al8jgb2p5l9m5r1ipn3i5";
        libraryHaskellDepends = [ base bytestring network unix ];
        testHaskellDepends = [
          base bytestring conduit conduit-extra directory hspec HUnit network
@@ -192772,6 +193162,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "simple-vec3_0_4_0_10" = callPackage
+    ({ mkDerivation, base, criterion, doctest, doctest-driver-gen
+     , QuickCheck, tasty, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "simple-vec3";
+       version = "0.4.0.10";
+       sha256 = "0dyr9bg3y8613hd0zz7knkniq7p0hxm7w9pjs0jjhq586g0qh5ql";
+       libraryHaskellDepends = [ base QuickCheck vector ];
+       testHaskellDepends = [
+         base doctest doctest-driver-gen tasty tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base criterion vector ];
+       description = "Three-dimensional vectors of doubles with basic operations";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "simple-zipper" = callPackage
     ({ mkDerivation, base, hspec, lens }:
      mkDerivation {
@@ -193803,8 +194211,8 @@ self: {
      }:
      mkDerivation {
        pname = "slate";
-       version = "0.12.0.0";
-       sha256 = "01qi6k9gcz6y8x8hlvsmm2irfvcsbdqqvzg5kgf2x02idmh9zy1a";
+       version = "0.13.0.0";
+       sha256 = "0b1mk6d79h4mkh71kgg208i15bik97a29hzs1j57qxipici680rj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -196340,6 +196748,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sockets" = callPackage
+    ({ mkDerivation, async, base, ip, posix-api, primitive, tasty
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "sockets";
+       version = "0.1.0.0";
+       sha256 = "000j2bfjsa33l73pg57g4rignl7dy0jl072r3h9wl4d1f4qc3sim";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ip posix-api primitive ];
+       testHaskellDepends = [ async base ip primitive tasty tasty-hunit ];
+       benchmarkHaskellDepends = [ base ip primitive ];
+       description = "High-level network sockets";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "socketson" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring, cereal
      , crypto-api, data-default, DRBG, either, errors, http-types
@@ -196372,6 +196797,8 @@ self: {
        pname = "socks";
        version = "0.5.6";
        sha256 = "0f44qy74i0n6ll3jym0a2ipafkpw1h67amcpqmj8iq95h21wsqzs";
+       revision = "1";
+       editedCabalFile = "19f6yzalxbvw0zi1z8wi0vz7s21p5anvfaqsaszppnkgk6j6nnvn";
        libraryHaskellDepends = [ base bytestring cereal network ];
        description = "Socks proxy (ver 5)";
        license = stdenv.lib.licenses.bsd3;
@@ -197257,8 +197684,8 @@ self: {
        pname = "species";
        version = "0.4.0.1";
        sha256 = "0d9vkplg2lrwb34i2ziaa9hc8dnpkjkmwd5b27kigcqfigck6ym2";
-       revision = "1";
-       editedCabalFile = "1pvk34n7lsbpng9b6m6nrhhr44z1pilh292j3lfnx69hvxhvaq93";
+       revision = "2";
+       editedCabalFile = "03rzc0f11c60h899nxifz4300hlic2nnnya75rx2b5rigy41714r";
        libraryHaskellDepends = [
          base containers multiset-comb np-extras numeric-prelude
          template-haskell
@@ -199050,8 +199477,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack2nix";
-       version = "0.2.1";
-       sha256 = "0rwl6fzxv2ly20mn0pgv63r0ik4zpjigbkc4771ni7zazkxvx1gy";
+       version = "0.2.2";
+       sha256 = "0x5dsgq9mdibbbilc0wn86qqkdgjkm606y4ix57vwxpfgrgkd3wm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201041,8 +201468,8 @@ self: {
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.29.0";
-       sha256 = "0zncpgjklm649fzrjjy0bri0ivybrc7lvys8yq72b4dpb8ksp5zs";
+       version = "0.29.1";
+       sha256 = "0j3mb09k498xynhc82cnsknzkbjwn9lvvanrz78jpx4fhh73zrlz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201058,15 +201485,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_29_1" = callPackage
+  "stratosphere_0_30_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.29.1";
-       sha256 = "0j3mb09k498xynhc82cnsknzkbjwn9lvvanrz78jpx4fhh73zrlz";
+       version = "0.30.0";
+       sha256 = "15cv5w93w6z1w5ry69iv0lab6qcdmwqvi0wyym4rigfs8ag3rrra";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -202548,6 +202975,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "strive_5_0_8" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
+     , http-client, http-client-tls, http-types, markdown-unlit
+     , template-haskell, text, time, transformers
+     }:
+     mkDerivation {
+       pname = "strive";
+       version = "5.0.8";
+       sha256 = "0wfi3s8hv11xs0wpvbc9z4nsskdpg5q7ivcpci8cnhn20wffb0nn";
+       libraryHaskellDepends = [
+         aeson base bytestring data-default gpolyline http-client
+         http-client-tls http-types template-haskell text time transformers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring data-default gpolyline http-client
+         http-client-tls http-types markdown-unlit template-haskell text
+         time transformers
+       ];
+       testToolDepends = [ markdown-unlit ];
+       description = "A client for the Strava V3 API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "strptime" = callPackage
     ({ mkDerivation, base, bytestring, text, time }:
      mkDerivation {
@@ -202801,8 +203252,8 @@ self: {
      }:
      mkDerivation {
        pname = "stylish-cabal";
-       version = "0.4.0.1";
-       sha256 = "00jwq35dr60c9gjwy8hg3i8b39gxknr92mrz21657gazl90cxy4z";
+       version = "0.4.1.0";
+       sha256 = "0yxxw22n2k4dpcxyzq140vg3l6338549qds1v3ggkwsykmz3469s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -203637,10 +204088,8 @@ self: {
      }:
      mkDerivation {
        pname = "sv";
-       version = "1.2";
-       sha256 = "148d8jircfyrp0y2rqchs1k3kfmis3bdvc6rib39fkbj699pyw2s";
-       revision = "3";
-       editedCabalFile = "08fzw4v5w48d9x315hvl27pbg8c0dch9ihmw1f74g9pxnxmpfbxi";
+       version = "1.3";
+       sha256 = "19mf3sf3smza4yk21k98wb39mk3jg0nxr93nl924ivsyv514flgx";
        libraryHaskellDepends = [
          attoparsec base bifunctors bytestring contravariant hw-dsv
          semigroupoids sv-core transformers utf8-string validation
@@ -203667,6 +204116,8 @@ self: {
        pname = "sv-cassava";
        version = "0.3";
        sha256 = "1c4wacp7k5sgr5fy73h9if98d08apmcs6p4p3f3fvpqkm8jmf71b";
+       revision = "1";
+       editedCabalFile = "01xfdl296jcdh7c4yirzf6z0787z941h6p58dn5xhnsr965sncg1";
        libraryHaskellDepends = [
          attoparsec base bytestring cassava sv-core utf8-string validation
          vector
@@ -203703,6 +204154,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sv-core_0_4" = callPackage
+    ({ mkDerivation, attoparsec, base, bifunctors, bytestring
+     , containers, contravariant, deepseq, double-conversion, lens, mtl
+     , parsec, profunctors, QuickCheck, readable, semigroupoids
+     , semigroups, tasty, tasty-quickcheck, text, transformers, trifecta
+     , utf8-string, validation, vector, void
+     }:
+     mkDerivation {
+       pname = "sv-core";
+       version = "0.4";
+       sha256 = "0m87rffkv5716dh6v00p4gc257fdc81fahjafs02kkf8fbiivmkh";
+       libraryHaskellDepends = [
+         attoparsec base bifunctors bytestring containers contravariant
+         deepseq double-conversion lens mtl parsec profunctors readable
+         semigroupoids semigroups text transformers trifecta utf8-string
+         validation vector void
+       ];
+       testHaskellDepends = [
+         base bytestring profunctors QuickCheck semigroupoids semigroups
+         tasty tasty-quickcheck text validation vector
+       ];
+       description = "Encode and decode separated values (CSV, PSV, ...)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sv-svfactor" = callPackage
     ({ mkDerivation, base, bytestring, lens, profunctors, sv-core
      , svfactor, validation
@@ -203711,6 +204188,8 @@ self: {
        pname = "sv-svfactor";
        version = "0.2";
        sha256 = "1fjgryypq6i4r3w9zdb282aq5lqp4577mzzycafklphc0d2ancgb";
+       revision = "1";
+       editedCabalFile = "0g0bswas1y06k1yg9lgzwm36pyxd05s3pji3nsiqff6bhfph3d37";
        libraryHaskellDepends = [
          base bytestring lens profunctors sv-core svfactor validation
        ];
@@ -204413,8 +204892,8 @@ self: {
     ({ mkDerivation, base, containers, hspec, HUnit }:
      mkDerivation {
        pname = "symmetric-properties";
-       version = "0.1.0.0";
-       sha256 = "10q6w071fa9nyrg7kz9zil3jz7xpvp5l8ni4kddra10dp2hnwg80";
+       version = "0.1.0.1";
+       sha256 = "06gsplc7l3vc5gyqh0c7ih814x826zjamx6ngsjx5pj1jsbia1wm";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base hspec HUnit ];
        description = "Monoids for sameness and uniqueness";
@@ -206353,6 +206832,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tar-conduit_0_3_2" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
+     , conduit-extra, containers, criterion, deepseq, directory
+     , filepath, hspec, QuickCheck, safe-exceptions, text, unix, weigh
+     }:
+     mkDerivation {
+       pname = "tar-conduit";
+       version = "0.3.2";
+       sha256 = "0bgn3hyf20g1gfnzy8f41s7nj54kfcyjk2izw99svrw8f3dphi80";
+       libraryHaskellDepends = [
+         base bytestring conduit conduit-combinators directory filepath
+         safe-exceptions text unix
+       ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-combinators conduit-extra
+         containers deepseq directory filepath hspec QuickCheck weigh
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring conduit conduit-combinators containers criterion
+         deepseq directory filepath hspec
+       ];
+       description = "Extract and create tar files using conduit for streaming";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tardis" = callPackage
     ({ mkDerivation, base, mmorph, mtl }:
      mkDerivation {
@@ -206568,6 +207073,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tasty-dejafu_1_2_1_0" = callPackage
+    ({ mkDerivation, base, dejafu, random, tagged, tasty }:
+     mkDerivation {
+       pname = "tasty-dejafu";
+       version = "1.2.1.0";
+       sha256 = "0a0iqc9vnrj4a44h77larcprydipwxy9qkh3zb6zk9mpn9fas498";
+       libraryHaskellDepends = [ base dejafu random tagged tasty ];
+       description = "Deja Fu support for the Tasty test framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-discover" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, Glob
      , hedgehog, tasty, tasty-hedgehog, tasty-hspec, tasty-hunit
@@ -208168,22 +208685,6 @@ self: {
      }:
      mkDerivation {
        pname = "tensors";
-       version = "0.1.1";
-       sha256 = "1pqn4vmkdi4r3s2p0rycv8yyarphifl067wdw7bj41dsv65qk8j3";
-       libraryHaskellDepends = [ base reflection singletons vector ];
-       testHaskellDepends = [
-         base hspec QuickCheck reflection singletons vector
-       ];
-       description = "Tensor in Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "tensors_0_1_2" = callPackage
-    ({ mkDerivation, base, hspec, QuickCheck, reflection, singletons
-     , vector
-     }:
-     mkDerivation {
-       pname = "tensors";
        version = "0.1.2";
        sha256 = "19r1jjpb8vbjmjbcs0sgnn83mniihw2v1dwhpkm6alrxqdai1637";
        libraryHaskellDepends = [ base reflection singletons vector ];
@@ -208192,7 +208693,6 @@ self: {
        ];
        description = "Tensor in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "term-rewriting" = callPackage
@@ -208330,12 +208830,12 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "terminfo_0_4_1_3" = callPackage
+  "terminfo_0_4_1_4" = callPackage
     ({ mkDerivation, base, ncurses }:
      mkDerivation {
        pname = "terminfo";
-       version = "0.4.1.3";
-       sha256 = "09hf9wrp2q3k4y9fcp4fzmk34zh7hfmp0mfqxc0v6h5clajdbvai";
+       version = "0.4.1.4";
+       sha256 = "170pnql6ycpk6gwy9v28mppm0w2n89l0n6fhnzph2za9kwrs9fqh";
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ ncurses ];
        description = "Haskell bindings to the terminfo library";
@@ -210624,26 +211124,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-utilities";
-       version = "0.2.0.1";
-       sha256 = "1mki2s821b1zpdn5463qz5vl3kvxxam90iax1n6vznf0d7p4rik5";
-       libraryHaskellDepends = [
-         base bytestring containers directory filepath primitive syb
-         template-haskell text th-orphans
-       ];
-       testHaskellDepends = [
-         base bytestring containers directory filepath hspec primitive syb
-         template-haskell text th-orphans vector
-       ];
-       description = "Collection of useful functions for use with Template Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "th-utilities_0_2_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , hspec, primitive, syb, template-haskell, text, th-orphans, vector
-     }:
-     mkDerivation {
-       pname = "th-utilities";
        version = "0.2.1.0";
        sha256 = "1kc3zv43948whv47cpmwnqw90iz68dmi1bmw9b183bnd0yr7wnfb";
        libraryHaskellDepends = [
@@ -210656,7 +211136,6 @@ self: {
        ];
        description = "Collection of useful functions for use with Template Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "thank-you-stars" = callPackage
@@ -211438,15 +211917,18 @@ self: {
 
   "tidal" = callPackage
     ({ mkDerivation, base, bifunctors, colour, containers, hosc
-     , microspec, mwc-random, network, parsec, text, vector
+     , microspec, mwc-random, network, parsec, text, transformers
+     , vector
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.0.6";
-       sha256 = "0hs9ywd6cpsw1cnjr2kw8p1hwrw2fgd3bqqv7hffxn6dlsslbgj2";
+       version = "1.0.7";
+       sha256 = "1p2h3g9fa3jd3133ryhcdpkb6a3a3994hrbr1ryd0gza8gd3bgv1";
+       revision = "1";
+       editedCabalFile = "16ingdhhc38zj1gixj3c7b01lr9lbnxkr8pf0x2j8z1jpbl7jg4a";
        libraryHaskellDepends = [
          base bifunctors colour containers hosc mwc-random network parsec
-         text vector
+         text transformers vector
        ];
        testHaskellDepends = [ base containers microspec parsec ];
        description = "Pattern language for improvised music";
@@ -213099,14 +213581,12 @@ self: {
      }) {};
 
   "tokenizer-monad" = callPackage
-    ({ mkDerivation, base, text }:
+    ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
        pname = "tokenizer-monad";
-       version = "0.1.0.0";
-       sha256 = "1n31n3wql93ljjgzfxpl5qd7kdb3dmr00yw0sz0wkkfgh2id1m99";
-       revision = "1";
-       editedCabalFile = "0ahl0aj1xrpnd8m7aa9bp94lid0ypnmwi4cishrr1ixnwl2bdlnx";
-       libraryHaskellDepends = [ base text ];
+       version = "0.2.1.0";
+       sha256 = "1lvj9z7q3xnizd6v2sb8bqbl31w5jbrnf9xvc76awvy9lsdl3awz";
+       libraryHaskellDepends = [ base bytestring text ];
        description = "An efficient and easy-to-use tokenizer monad";
        license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -213243,6 +213723,41 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "tomland_1_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
+     , gauge, hashable, hedgehog, hspec-megaparsec, htoml
+     , htoml-megaparsec, markdown-unlit, megaparsec, mtl, parsec
+     , parser-combinators, tasty, tasty-discover, tasty-hedgehog
+     , tasty-hspec, tasty-silver, text, time, toml-parser, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "tomland";
+       version = "1.0.0";
+       sha256 = "0zxal12gn6d2657a14idzzjxymwmnrzkkicf7gqwlgwpn0lnr4p6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers deepseq hashable megaparsec mtl
+         parser-combinators text time transformers unordered-containers
+       ];
+       executableHaskellDepends = [ base text time unordered-containers ];
+       executableToolDepends = [ markdown-unlit ];
+       testHaskellDepends = [
+         base bytestring containers hashable hedgehog hspec-megaparsec
+         megaparsec tasty tasty-hedgehog tasty-hspec tasty-silver text time
+         unordered-containers
+       ];
+       testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         aeson base deepseq gauge htoml htoml-megaparsec parsec text time
+         toml-parser
+       ];
+       description = "Bidirectional TOML serialization";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tomlcheck" = callPackage
     ({ mkDerivation, base, htoml-megaparsec, megaparsec
      , optparse-applicative, text
@@ -213810,8 +214325,8 @@ self: {
      }:
      mkDerivation {
        pname = "trackit";
-       version = "0.4";
-       sha256 = "0dzcmb10imksryr6lpmnq8b7bzqkm9y1dkyx52k1ic5yms3rwxyx";
+       version = "0.5";
+       sha256 = "1vzq0jfa9dxaqpkk0wipd3jmppdkr0jypb2463b63qzb0jc6f05n";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -215222,8 +215737,8 @@ self: {
      }:
      mkDerivation {
        pname = "ttl-hashtables";
-       version = "1.1.0.0";
-       sha256 = "09pngm18sjv0bd3a79ijbxgz8s7zlpblj6zinxfg6yg5s529q3i4";
+       version = "1.3.0.0";
+       sha256 = "1qlwwxylj9d2p4jm4bi0a3x60cfzd6g982v6q0crs323zn8q5cj5";
        libraryHaskellDepends = [
          base clock containers data-default failable hashable hashtables mtl
          transformers
@@ -217015,6 +217530,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "typed-process_0_2_4_0" = callPackage
+    ({ mkDerivation, async, base, base64-bytestring, bytestring, hspec
+     , process, stm, temporary, transformers
+     }:
+     mkDerivation {
+       pname = "typed-process";
+       version = "0.2.4.0";
+       sha256 = "02xvyaq4sxwjqbmkn29n5x58l4rni6gbqp526r3q7wn6jalgazwr";
+       libraryHaskellDepends = [
+         async base bytestring process stm transformers
+       ];
+       testHaskellDepends = [
+         async base base64-bytestring bytestring hspec process stm temporary
+         transformers
+       ];
+       description = "Run external processes, with strong typing of streams";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "typed-spreadsheet" = callPackage
     ({ mkDerivation, async, base, diagrams-cairo, diagrams-gtk
      , diagrams-lib, foldl, gtk, microlens, stm, text, transformers
@@ -217565,8 +218100,8 @@ self: {
        pname = "ucam-webauth";
        version = "0.1.0.0";
        sha256 = "14l989aasyqdw1x7aq9ikhcq9p3s1ax4qk53rd5s53wdgbc20n9k";
-       revision = "2";
-       editedCabalFile = "1myl5nncwmld4hr0b9990dnqn9ydvza5ciqw5b8pjl747g9qky9f";
+       revision = "3";
+       editedCabalFile = "01j0296a60hpw0n5d50327hnqpkxwzz7pngxq8da5ram0q13cfzw";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers cryptonite errors
          http-api-data http-types microlens microlens-mtl mtl
@@ -217592,8 +218127,8 @@ self: {
        pname = "ucam-webauth-types";
        version = "0.1.0.0";
        sha256 = "0jq66amdmrbkg69m0cbbw7xfvsc9iy74khn1k39n7jkq821pzjni";
-       revision = "2";
-       editedCabalFile = "1pbl2sy17pkc15170h96ard4z155fm45g18jdxjcdx9hacl003rw";
+       revision = "3";
+       editedCabalFile = "1png0b60pfhx5gfwbmxxq42nfy9yj2zrcw8krq0vm45qgjw4gd8g";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          deepseq http-types microlens microlens-mtl mtl text time timerep
@@ -218605,8 +219140,8 @@ self: {
        pname = "uniprot-kb";
        version = "0.1.2.0";
        sha256 = "0hh6fnnmr6i4mgli07hgaagswdipa0p3ckr3jzzfcw4y5x98036l";
-       revision = "2";
-       editedCabalFile = "1kyqbp32a9wys94rxbm5k022crpnm6fnz8w2d3anb7zch17l80qw";
+       revision = "3";
+       editedCabalFile = "1a532yhvgs7n096f6mjwm7811d2c6xbgr45gscg7d4ys042c0586";
        libraryHaskellDepends = [ attoparsec base text ];
        testHaskellDepends = [
          attoparsec base hspec neat-interpolation QuickCheck text
@@ -219363,6 +219898,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "unordered-containers_0_2_10_0" = callPackage
+    ({ mkDerivation, base, bytestring, ChasingBottoms, containers
+     , criterion, deepseq, deepseq-generics, hashable, hashmap, HUnit
+     , mtl, QuickCheck, random, test-framework, test-framework-hunit
+     , test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "unordered-containers";
+       version = "0.2.10.0";
+       sha256 = "0wy5hfrs880hh8hvp648bl07ws777n3kkmczzdszr7papnyigwb5";
+       libraryHaskellDepends = [ base deepseq hashable ];
+       testHaskellDepends = [
+         base ChasingBottoms containers hashable HUnit QuickCheck
+         test-framework test-framework-hunit test-framework-quickcheck2
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion deepseq deepseq-generics
+         hashable hashmap mtl random
+       ];
+       description = "Efficient hashing-based container types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "unordered-containers-rematch" = callPackage
     ({ mkDerivation, base, hashable, hspec, HUnit, rematch
      , unordered-containers
@@ -223800,6 +224359,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wai-enforce-https" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, hspec
+     , http-types, network, text, wai, wai-extra, warp, warp-tls
+     }:
+     mkDerivation {
+       pname = "wai-enforce-https";
+       version = "0.0.1";
+       sha256 = "0gm4n57abmbawpij3hsn6ia283b75sn40387dimpp573q5nnnwmv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring case-insensitive http-types network text wai
+       ];
+       executableHaskellDepends = [ base http-types wai warp warp-tls ];
+       testHaskellDepends = [
+         base bytestring case-insensitive hspec http-types wai wai-extra
+       ];
+       description = "Enforce HTTPS in Wai server app safely";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "wai-eventsource" = callPackage
     ({ mkDerivation, wai }:
      mkDerivation {
@@ -225776,8 +226356,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-inv-route";
-       version = "0.1.2.1";
-       sha256 = "0pdbcc9mg2wrc3jm7g2dcsqgqv89dgjcnxs810gzw3d3rh418i5m";
+       version = "0.1.2.2";
+       sha256 = "0cbf46d1a55y7j2d84crhfdsgy0c2x0rfmvhhwxxh5pigg846cd2";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers happstack-server
          hashable http-types invertible network-uri snap-core text
@@ -226044,40 +226624,6 @@ self: {
      , hspec-contrib, hspec-discover, hspec-expectations, http-client
      , http-client-tls, machines, memory, microlens, microlens-aeson
      , microlens-mtl, microlens-th, mtl, OneTuple, parsec, random
-     , relapse, secp256k1-haskell, split, stm, tagged, template-haskell
-     , text, time, transformers, vinyl
-     }:
-     mkDerivation {
-       pname = "web3";
-       version = "0.8.2.1";
-       sha256 = "1dcv7977r98lrwh12si9vzvm5bcjdyfdivl63r5zwkykapd15z00";
-       libraryHaskellDepends = [
-         aeson async base basement bytestring cereal cryptonite data-default
-         exceptions generics-sop http-client http-client-tls machines memory
-         microlens microlens-aeson microlens-mtl microlens-th mtl OneTuple
-         parsec relapse secp256k1-haskell tagged template-haskell text
-         transformers vinyl
-       ];
-       testHaskellDepends = [
-         aeson async base basement bytestring cereal cryptonite data-default
-         exceptions generics-sop hspec hspec-contrib hspec-discover
-         hspec-expectations http-client http-client-tls machines memory
-         microlens microlens-aeson microlens-mtl microlens-th mtl OneTuple
-         parsec random relapse secp256k1-haskell split stm tagged
-         template-haskell text time transformers vinyl
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Ethereum API for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "web3_0_8_3_0" = callPackage
-    ({ mkDerivation, aeson, async, base, basement, bytestring, cereal
-     , cryptonite, data-default, exceptions, generics-sop, hspec
-     , hspec-contrib, hspec-discover, hspec-expectations, http-client
-     , http-client-tls, machines, memory, microlens, microlens-aeson
-     , microlens-mtl, microlens-th, mtl, OneTuple, parsec, random
      , relapse, split, stm, tagged, template-haskell, text, time
      , transformers, uuid-types, vinyl
      }:
@@ -228806,6 +229352,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wuss_1_1_12" = callPackage
+    ({ mkDerivation, base, bytestring, connection, network, websockets
+     }:
+     mkDerivation {
+       pname = "wuss";
+       version = "1.1.12";
+       sha256 = "1xnnyavkgf2cdnsm494bl1z275l9rynh9s3djq3mqk6lrr4bvsix";
+       libraryHaskellDepends = [
+         base bytestring connection network websockets
+       ];
+       description = "Secure WebSocket (WSS) clients";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wx" = callPackage
     ({ mkDerivation, base, stm, time, wxcore }:
      mkDerivation {
@@ -231322,29 +231883,59 @@ self: {
 
   "yam" = callPackage
     ({ mkDerivation, base, base16-bytestring, binary, bytestring
+     , data-default, fast-logger, hspec, http-types, lens, monad-logger
+     , mtl, mwc-random, QuickCheck, reflection, salak, scientific
+     , servant-server, servant-swagger, servant-swagger-ui, swagger2
+     , text, time, unliftio-core, unordered-containers, vault, wai, warp
+     }:
+     mkDerivation {
+       pname = "yam";
+       version = "0.5.6";
+       sha256 = "0b1rk9iydrkaa15w5m1iqi2527gw7s3nvjvqcdzql7jqsgaa3d52";
+       libraryHaskellDepends = [
+         base base16-bytestring binary bytestring data-default fast-logger
+         http-types lens monad-logger mtl mwc-random reflection salak
+         scientific servant-server servant-swagger servant-swagger-ui
+         swagger2 text time unliftio-core unordered-containers vault wai
+         warp
+       ];
+       testHaskellDepends = [
+         base base16-bytestring binary bytestring data-default fast-logger
+         hspec http-types lens monad-logger mtl mwc-random QuickCheck
+         reflection salak scientific servant-server servant-swagger
+         servant-swagger-ui swagger2 text time unliftio-core
+         unordered-containers vault wai warp
+       ];
+       description = "Yam Web";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "yam_0_5_11" = callPackage
+    ({ mkDerivation, base, base16-bytestring, binary, bytestring
      , data-default, fast-logger, hspec, http-client, http-types, lens
      , monad-logger, mtl, mwc-random, QuickCheck, reflection, salak
      , scientific, servant-client, servant-server, servant-swagger
      , servant-swagger-ui, swagger2, text, unliftio-core
-     , unordered-containers, vault, wai, wai-extra, warp
+     , unordered-containers, vault, vector, wai, warp
      }:
      mkDerivation {
        pname = "yam";
-       version = "0.5.7";
-       sha256 = "0vswpq0mzc4x6kjyzg0fyq0bb2ywqh0vh2nsvx9qymdd6vg8nx9y";
+       version = "0.5.11";
+       sha256 = "0k9y8zg1sbdxb6c3fdmlz0dswb8yam5x812avfw6rg3as8sp1pcf";
        libraryHaskellDepends = [
          base base16-bytestring binary bytestring data-default fast-logger
          http-client http-types lens monad-logger mtl mwc-random reflection
          salak scientific servant-client servant-server servant-swagger
          servant-swagger-ui swagger2 text unliftio-core unordered-containers
-         vault wai wai-extra warp
+         vault vector wai warp
        ];
        testHaskellDepends = [
          base base16-bytestring binary bytestring data-default fast-logger
          hspec http-client http-types lens monad-logger mtl mwc-random
          QuickCheck reflection salak scientific servant-client
          servant-server servant-swagger servant-swagger-ui swagger2 text
-         unliftio-core unordered-containers vault wai wai-extra warp
+         unliftio-core unordered-containers vault vector wai warp
        ];
        description = "Yam Web";
        license = stdenv.lib.licenses.bsd3;
@@ -231396,8 +231987,8 @@ self: {
      }:
      mkDerivation {
        pname = "yam-datasource";
-       version = "0.5.7";
-       sha256 = "0sqrc0w5mvjjkih9dcqbiz12n20zvqmc6qhwsn4fxd9air2x8yfc";
+       version = "0.5.6";
+       sha256 = "1yjl7ggyd12vgsv40kmabik2pdd7jyf4x94zgvvckm5ra44fpvyz";
        libraryHaskellDepends = [
          base conduit persistent resource-pool resourcet unliftio-core yam
        ];
@@ -231405,6 +231996,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "yam-datasource_0_5_11" = callPackage
+    ({ mkDerivation, base, conduit, persistent, resource-pool
+     , resourcet, unliftio-core, yam
+     }:
+     mkDerivation {
+       pname = "yam-datasource";
+       version = "0.5.11";
+       sha256 = "170xpd1kw403g9zds795zbxkaz0qy7lfgzppx4q0ri42ky59z8pl";
+       libraryHaskellDepends = [
+         base conduit persistent resource-pool resourcet unliftio-core yam
+       ];
+       description = "Yam DataSource Middleware";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yam-job" = callPackage
     ({ mkDerivation, base, cron, yam-app }:
      mkDerivation {
@@ -232691,28 +233298,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.6.0.0";
-       sha256 = "12n2af0by708d5g2080y6w1xf8h692v1nxzgmwqfmsqf0c51ad05";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring errors hoauth2 http-client http-conduit
-         http-types microlens random safe-exceptions text uri-bytestring
-         yesod-auth yesod-core
-       ];
-       testHaskellDepends = [ base hspec uri-bytestring ];
-       description = "OAuth 2.0 authentication plugins";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "yesod-auth-oauth2_0_6_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, errors, hoauth2, hspec
-     , http-client, http-conduit, http-types, microlens, random
-     , safe-exceptions, text, uri-bytestring, yesod-auth, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-auth-oauth2";
        version = "0.6.1.0";
        sha256 = "148w2cn6f0mn6qyymxr2zlw8jnhyjqhzhszhy1faca8ziqsi9mas";
        isLibrary = true;
@@ -234198,6 +234783,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-test_1_6_6" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+     , bytestring, case-insensitive, conduit, containers, cookie, hspec
+     , hspec-core, html-conduit, http-types, HUnit, network, pretty-show
+     , semigroups, text, time, transformers, unliftio, wai, wai-extra
+     , xml-conduit, xml-types, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-test";
+       version = "1.6.6";
+       sha256 = "1h82njqkbr6h6saixkzim83srx794s6x6qrcmr0w82z5mfl2nfjf";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder blaze-html bytestring
+         case-insensitive conduit containers cookie hspec-core html-conduit
+         http-types HUnit network pretty-show semigroups text time
+         transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testHaskellDepends = [
+         base bytestring containers cookie hspec html-conduit http-types
+         HUnit text unliftio wai wai-extra xml-conduit yesod-core yesod-form
+       ];
+       description = "integration testing for WAI/Yesod Applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-test-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, hspec
      , http-types, HUnit, text, transformers, wai, wai-test
diff --git a/pkgs/development/interpreters/mujs/default.nix b/pkgs/development/interpreters/mujs/default.nix
index c7663a116763..918b2c2515e2 100644
--- a/pkgs/development/interpreters/mujs/default.nix
+++ b/pkgs/development/interpreters/mujs/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchgit, clang }:
+{ stdenv, fetchurl, readline }:
 
 stdenv.mkDerivation rec {
-  name = "mujs-2017-01-24";
+  name = "mujs-${version}";
+  version = "1.0.5";
 
-  src = fetchgit {
-    url = git://git.ghostscript.com/mujs.git;
-    rev  = "4006739a28367c708dea19aeb19b8a1a9326ce08";
-    sha256 = "0wvjl8lkh0ga6fkmxgjqq77yagncbv1bdy6hpnxq31x3mkwn1s51";
+  src = fetchurl {
+    url = "https://mujs.com/downloads/mujs-${version}.tar.xz";
+    sha256 = "02cqrfnww2s3ylcvqin1951f2c5nzpby8gxb207p2hbrivbg8f0l";
   };
 
-  buildInputs = [ clang ];
+  buildInputs = [ readline ];
 
   makeFlags = [ "prefix=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = http://mujs.com/;
     description = "A lightweight, embeddable Javascript interpreter";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ pSub ];
     license = licenses.gpl3;
   };
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 15536c6370a3..efe14da5834f 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     mkdir src/build
     cd src/build
 
-    gappsWrapperArgs+=("--prefix" "LD_LIBRARY_PATH" ":" $LD_LIBRARY_PATH)
+    gappsWrapperArgs+=("--prefix" "LD_LIBRARY_PATH" ":" ${LD_LIBRARY_PATH})
   '';
 
   shared = if stdenv.isDarwin then "dylib" else "shared";
diff --git a/pkgs/servers/sql/postgresql/jdbc/default.nix b/pkgs/development/java-modules/postgresql_jdbc/default.nix
index c67d72705482..c67d72705482 100644
--- a/pkgs/servers/sql/postgresql/jdbc/default.nix
+++ b/pkgs/development/java-modules/postgresql_jdbc/default.nix
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 2cfa4b1d3cd6..e0cd1227f7ea 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -95,6 +95,7 @@
 , libxcbxfixesExtlib ? true # X11 grabbing mouse rendering
 , libxcbshapeExtlib ? true # X11 grabbing shape rendering
 , libXv ? null # Xlib support
+, libXext ? null # Xlib support
 , lzma ? null # xz-utils
 , nvenc ? false, nvidia-video-sdk ? null, nv-codec-headers ? null # NVIDIA NVENC support
 , callPackage # needed for NVENC to access external ffmpeg nvidia headers
@@ -139,7 +140,7 @@
  *  Darwin frameworks
  */
 , Cocoa, CoreAudio, CoreServices, AVFoundation, MediaToolbox
-, VideoDecodeAcceleration, CF
+, VideoDecodeAcceleration, cf-private
 }:
 
 /* Maintainer notes:
@@ -230,11 +231,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-full-${version}";
-  version = "4.0.2";
+  version = "4.1";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "15rgzcmdccy4flajs63gkz4n3k24wkkg50r13l1r83lrxg4hqp59";
+    sha256 = "150rrm549fy1x71c9whmyi5knyd9sliwvmcsm438bdgg4v8c93m3";
   };
 
   prePatch = ''
@@ -355,7 +356,7 @@ stdenv.mkDerivation rec {
     (enableFeature (libvorbis != null) "libvorbis")
     (enableFeature (libvpx != null) "libvpx")
     (enableFeature (libwebp != null) "libwebp")
-    (enableFeature (libX11 != null && libXv != null) "xlib")
+    (enableFeature (libX11 != null && libXv != null && libXext != null) "xlib")
     (enableFeature (libxcb != null) "libxcb")
     (enableFeature libxcbshmExtlib "libxcb-shm")
     (enableFeature libxcbxfixesExtlib "libxcb-xfixes")
@@ -408,7 +409,7 @@ stdenv.mkDerivation rec {
     bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
     libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
     libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11
-    libxcb libXv lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
+    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
@@ -431,7 +432,7 @@ stdenv.mkDerivation rec {
     FILES+=($(ls $out/lib/*.dylib))
     for f in ''${FILES[@]}; do
       if [ ! -h "$f" ]; then
-        install_name_tool -change ${CF}/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation "$f"
+        install_name_tool -change ${cf-private}/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation "$f"
       fi
     done
   '';
diff --git a/pkgs/development/libraries/ffmpeg/3.4.nix b/pkgs/development/libraries/ffmpeg/3.4.nix
index b99c7240daec..f8343e668a67 100644
--- a/pkgs/development/libraries/ffmpeg/3.4.nix
+++ b/pkgs/development/libraries/ffmpeg/3.4.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix (args // rec {
   version = "${branch}";
-  branch = "3.4.4";
-  sha256 = "0xmcijcpa7b59ws5ycmnp0a3pjmnpgly0zv8yff6if4p7pw7406f";
+  branch = "3.4.5";
+  sha256 = "0cbzysj9pskxh1kfdwmq2848fn6gi4pvh5y3insv10pdhpcjp8a3";
   darwinFrameworks = [ Cocoa CoreMedia ];
 })
diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix
index b470d45ba43f..9821357de3b9 100644
--- a/pkgs/development/libraries/ffmpeg/4.nix
+++ b/pkgs/development/libraries/ffmpeg/4.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix (args // rec {
   version = "${branch}";
-  branch = "4.0.2";
-  sha256 = "0mnh41j3kzi3x3clai1yhqasr1kc8zvd5cz0283pxhs2bxrm2v1l";
+  branch = "4.1";
+  sha256 = "19d16dhb4gx3akhbqd8844awx1axxli91bsjwsm4qp2a4i1zp15n";
   darwinFrameworks = [ Cocoa CoreMedia ];
 })
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 7ad5680c75cd..616394c6a084 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -8,11 +8,11 @@ assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation rec {
   name = "freetds-${version}";
-  version = "1.00.109";
+  version = "1.00.110";
 
   src = fetchurl {
     url    = "http://www.freetds.org/files/stable/${name}.tar.bz2";
-    sha256 = "0d00ixf78jzkyhccxjsaspz7yvlwk0xvrfcqfca4cwnwvnyb54ry";
+    sha256 = "1zxgvc9ikw34fsbkn9by7hwqz0p6m3f178zmj2s0qqpi84qq1vw2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 642063220b2c..6b7a58fa30d9 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -9,11 +9,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "gdal-${version}";
-  version = "2.3.2";
+  version = "2.4.0";
 
   src = fetchurl {
     url = "https://download.osgeo.org/gdal/${version}/${name}.tar.xz";
-    sha256 = "191jknma0vricrgdcdmwh8588rwly6a77lmynypxdl87i3z7hv9z";
+    sha256 = "09qgy36z0jc9w05373m4n0vm4j54almdzql6z9p9zr9pdp61syf3";
   };
 
   buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite
@@ -51,6 +51,20 @@ stdenv.mkDerivation rec {
       #ifdef swap\
       #undef swap\
       #endif' ogr/ogrsf_frmts/mysql/ogr_mysql.h
+
+    # poppler 0.73.0 support
+    patch -lp2 <${
+      fetchpatch {
+        url = "https://github.com/OSGeo/gdal/commit/29f4dfbcac2de718043f862166cd639ab578b552.diff";
+        sha256 = "1h2rsjjrgwqfgqzppmzv5jgjs1dbbg8pvfmay0j9y0618qp3r734";
+      }
+    } || true
+    patch -p2 <${
+      fetchpatch {
+        url = "https://github.com/OSGeo/gdal/commit/19967e682738977e11e1d0336e0178882c39cad2.diff";
+        sha256 = "12yqd77226i6xvzgqmxiac5ghdinixh8k2crg1r2gnhc0xlc3arj";
+      }
+    }
   '';
 
   # - Unset CC and CXX as they confuse libtool.
diff --git a/pkgs/desktops/gnome-3/devtools/gdl/default.nix b/pkgs/development/libraries/gdl/default.nix
index 5098ff3bd8bb..45a29e15ede8 100644
--- a/pkgs/desktops/gnome-3/devtools/gdl/default.nix
+++ b/pkgs/development/libraries/gdl/default.nix
@@ -1,21 +1,23 @@
 { stdenv, fetchurl, pkgconfig, libxml2, gtk3, gnome3, intltool }:
 
 stdenv.mkDerivation rec {
-  name = "gdl-${version}";
+  pname = "gdl";
   version = "3.28.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gdl/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/gdl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1dipnzqpxl0yfwzl2lqdf6vb3174gb9f1d5jndkq8505q7n9ik2j";
   };
 
+  nativeBuildInputs = [ pkgconfig intltool ];
+  buildInputs = [ libxml2 gtk3 ];
+
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "gdl"; attrPath = "gnome3.gdl"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gdl";
+    };
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxml2 gtk3 intltool ];
-
   meta = with stdenv.lib; {
     description = "Gnome docking library";
     homepage = https://developer.gnome.org/gdl/;
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index a6c757eacbb8..e0255be666e9 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -8,6 +8,7 @@
 , doCheck ? stdenv.config.doCheckByDefault or false
 , coreutils, dbus, libxml2, tzdata
 , desktop-file-utils, shared-mime-info
+, darwin
 }:
 
 with stdenv.lib;
@@ -44,6 +45,7 @@ let
     ln -sr -t "''${!outputInclude}/include/" "''${!outputInclude}"/lib/*/include/* 2>/dev/null || true
   '';
 
+  binPrograms = optional (!stdenv.isDarwin) "gapplication" ++ [ "gdbus" "gio" "gsettings" ];
   version = "2.58.2";
 in
 
@@ -97,7 +99,12 @@ stdenv.mkDerivation rec {
   ] ++ optionals stdenv.isLinux [
     libselinux
     utillinuxMinimal # for libmount
-  ];
+  ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    AppKit Carbon Cocoa CoreFoundation CoreServices Foundation
+    # Needed for CFURLCreateFromFSRef, etc. which have deen deprecated
+    # since 10.9 and are not part of swift-corelibs CoreFoundation.
+    darwin.cf-private
+  ]);
 
   nativeBuildInputs = [
     meson ninja pkgconfig perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45 glibcLocales
@@ -135,15 +142,17 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mkdir -p $bin/bin
-    for app in gapplication gdbus gio gsettings; do
+    for app in ${concatStringsSep " " binPrograms}; do
       mv "$dev/bin/$app" "$bin/bin"
     done
 
+  '' + optionalString (!stdenv.isDarwin) ''
     # Add gio-launch-desktop to $out so we can refer to it from $dev
     mkdir $out/bin
     mv "$dev/bin/gio-launch-desktop" "$out/bin/"
     ln -s "$out/bin/gio-launch-desktop" "$bin/bin/"
 
+  '' + ''
     moveToOutput "share/glib-2.0" "$dev"
     substituteInPlace "$dev/bin/gdbus-codegen" --replace "$out" "$dev"
     sed -i "$dev/bin/glib-gettextize" -e "s|^gettext_dir=.*|gettext_dir=$dev/share/glib-2.0/gettext|"
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index f6ff7e758956..c7d7bfb1e824 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -2,22 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "libaom-${version}";
-  version = "1.0.0";
+  version = "1.0.0-errata1";
 
   src = fetchgit {
     url = "https://aomedia.googlesource.com/aom";
     rev	= "v${version}";
-    sha256 = "07h2vhdiq7c3fqaz44rl4vja3dgryi6n7kwbwbj1rh485ski4j82";
+    sha256 = "090phh4jl9z6m2pwpfpwcjh6iyw0byngb2n112qxkg6a3gsaa62f";
   };
 
   nativeBuildInputs = [
     yasm perl cmake pkgconfig python3
   ];
 
-  cmakeFlags = [
-    "-DBUILD_SHARED_LIBS=ON"
-  ];
-
   preConfigure = ''
     # build uses `git describe` to set the build version
     cat > $NIX_BUILD_TOP/git << "EOF"
diff --git a/pkgs/development/libraries/libdeflate/default.nix b/pkgs/development/libraries/libdeflate/default.nix
index 0328a2215b48..db5448caa102 100644
--- a/pkgs/development/libraries/libdeflate/default.nix
+++ b/pkgs/development/libraries/libdeflate/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libdeflate-${version}";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "ebiggers";
     repo = "libdeflate";
     rev = "v${version}";
-    sha256 = "1wqxwza6rwmhrsy9sw86pdcd0w742gbzsy9qxnq6kk59m6h1dbsb";
+    sha256 = "0kmp38s7vahvbgzzhs5v0bfyjgas1in7jn69gpyh70kl08279ly0";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index 1d07fe6ca268..1c50a28f0a4d 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -2,11 +2,12 @@
 , gtk-doc, docbook_xsl, docbook_xml_dtd_43
 , gtk3, gnome3
 , dbus, xvfb_run, libxml2
+, hicolor-icon-theme
 }:
 
 let
   pname = "libhandy";
-  version = "0.0.6";
+  version = "0.0.7";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -18,7 +19,7 @@ in stdenv.mkDerivation rec {
     owner = "Librem5";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gmqsxkpi288qjfdczfrbvjqyy9sbn3gligqwgqj27ask95zl1q5";
+    sha256 = "1k9v6q2dz9x8lfcyzmsksrkq6md7m9jdkjlfan7nqlcj3mqhd7m9";
   };
 
   nativeBuildInputs = [
@@ -26,10 +27,12 @@ in stdenv.mkDerivation rec {
     gtk-doc docbook_xsl docbook_xml_dtd_43
   ];
   buildInputs = [ gnome3.gnome-desktop gtk3 gnome3.glade libxml2 ];
-  checkInputs = [ dbus xvfb_run ];
+  checkInputs = [ dbus xvfb_run hicolor-icon-theme ];
 
   mesonFlags = [
     "-Dgtk_doc=true"
+    "-Dglade_catalog=enabled"
+    "-Dintrospection=enabled"
   ];
 
   PKG_CONFIG_GLADEUI_2_0_MODULEDIR = "${placeholder "glade"}/lib/glade/modules";
diff --git a/pkgs/development/libraries/physics/apfelgrid/default.nix b/pkgs/development/libraries/physics/apfelgrid/default.nix
index 6509b04f0113..983523e1f2fb 100644
--- a/pkgs/development/libraries/physics/apfelgrid/default.nix
+++ b/pkgs/development/libraries/physics/apfelgrid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, apfel, applgrid, lhapdf, root }:
+{ stdenv, fetchFromGitHub, autoreconfHook, apfel, applgrid, lhapdf, root5 }:
 
 stdenv.mkDerivation rec {
   name = "apfelgrid-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ apfel applgrid lhapdf root ];
+  buildInputs = [ apfel applgrid lhapdf root5 ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/physics/qcdnum/default.nix b/pkgs/development/libraries/physics/qcdnum/default.nix
index 1a3334562641..620f227250dd 100644
--- a/pkgs/development/libraries/physics/qcdnum/default.nix
+++ b/pkgs/development/libraries/physics/qcdnum/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "QCDNUM-${version}";
-  version = "17-01-14";
+  version = "17-01-13";
 
   src = fetchurl {
     url = "http://www.nikhef.nl/user/h24/qcdnum-files/download/qcdnum${builtins.replaceStrings ["-"] [""] version}.tar.gz";
-    sha256 = "199s6kgmszxgjzd9214mpx3kyplq2q6987sii67s5xkg10ynyv31";
+    sha256 = "0568rjviwvjkfihq2ka7g91vmialr31ryn7c69iqf13rcv5vzcw7";
   };
 
   nativeBuildInputs = [ gfortran ];
diff --git a/pkgs/servers/sql/postgresql/psqlodbc/default.nix b/pkgs/development/libraries/psqlodbc/default.nix
index 2364e0913bc8..2364e0913bc8 100644
--- a/pkgs/servers/sql/postgresql/psqlodbc/default.nix
+++ b/pkgs/development/libraries/psqlodbc/default.nix
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index 7119f76c55fd..35d5075a949a 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
       --prefix PKG_CONFIG_PATH ":" "${SDL.dev}/lib/pkgconfig"
   '';
 
+  NIX_LDFLAGS = [ "-lX11" ];
+
   meta = {
     homepage = http://icculus.org/smpeg/;
     description = "MPEG decoding library";
diff --git a/pkgs/development/node-packages/node-packages-v10.json b/pkgs/development/node-packages/node-packages-v10.json
index 35dea57d4e62..995981d18edc 100644
--- a/pkgs/development/node-packages/node-packages-v10.json
+++ b/pkgs/development/node-packages/node-packages-v10.json
@@ -102,6 +102,7 @@
 , "svgo"
 , "swagger"
 , "tern"
+, "textlint"
 , "three"
 , "tiddlywiki"
 , "triton"
diff --git a/pkgs/development/node-packages/node-packages-v10.nix b/pkgs/development/node-packages/node-packages-v10.nix
index ca3cc096b1a2..3384ccf854e6 100644
--- a/pkgs/development/node-packages/node-packages-v10.nix
+++ b/pkgs/development/node-packages/node-packages-v10.nix
@@ -31,6 +31,24 @@ let
         sha512 = "lqK94b+caNtmKFs5oUVXlSpN3sm5IXZ+KfhMxOtr0LR2SqErzkoJilitjDvJ1WbjHlxLI7WtCjRmOLdOGJqtMQ==";
       };
     };
+    "@azu/format-text-1.0.1" = {
+      name = "_at_azu_slash_format-text";
+      packageName = "@azu/format-text";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azu/format-text/-/format-text-1.0.1.tgz";
+        sha1 = "6967350a94640f6b02855169bd897ce54d6cebe2";
+      };
+    };
+    "@azu/style-format-1.0.0" = {
+      name = "_at_azu_slash_style-format";
+      packageName = "@azu/style-format";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azu/style-format/-/style-format-1.0.0.tgz";
+        sha1 = "e70187f8a862e191b1bce6c0268f13acd3a56b20";
+      };
+    };
     "@babel/code-frame-7.0.0" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
@@ -913,40 +931,40 @@ let
         sha512 = "CNVsCrMge/jq6DCT5buNZ8PACY9RTvPJbCNoIcndfkJOCsNxOx9dnc5qw4pHZdHi8GS6l3qlgkuFKp33iD8J2Q==";
       };
     };
-    "@lerna/add-3.10.5" = {
+    "@lerna/add-3.10.6" = {
       name = "_at_lerna_slash_add";
       packageName = "@lerna/add";
-      version = "3.10.5";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/add/-/add-3.10.5.tgz";
-        sha512 = "T3d9FnSyBOYnM/a1j5Sa65SGOTgnv04HG7Y2lRWJcF6PvOoTsozYW0izi/vLAnAt/DvGhYf2morXkWS8AbIeDg==";
+        url = "https://registry.npmjs.org/@lerna/add/-/add-3.10.6.tgz";
+        sha512 = "FxQ5Bmyb5fF+3BQiNffM6cTeGCrl4uaAuGvxFIWF6Pgz6U14tUc1e16xgKDvVb1CurzJgIV5sLOT5xmCOqv1kA==";
       };
     };
-    "@lerna/batch-packages-3.10.0" = {
+    "@lerna/batch-packages-3.10.6" = {
       name = "_at_lerna_slash_batch-packages";
       packageName = "@lerna/batch-packages";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/batch-packages/-/batch-packages-3.10.0.tgz";
-        sha512 = "ERvnpmmfV8H+3B+9FmHqmzfgz0xVe3ktW/e4WZZXYMGpqSGToILZlai4PsBrW5gUtnXA77LSskME+aRdkZaKsQ==";
+        url = "https://registry.npmjs.org/@lerna/batch-packages/-/batch-packages-3.10.6.tgz";
+        sha512 = "sInr3ZQJFMh9Zq+ZUoVjX8R67j9ViRkVy0uEMsOfG+jZlXj1lRPRMPRiRgU0jXSYEwCdwuAB5pTd9tTx0VCJUw==";
       };
     };
-    "@lerna/bootstrap-3.10.5" = {
+    "@lerna/bootstrap-3.10.6" = {
       name = "_at_lerna_slash_bootstrap";
       packageName = "@lerna/bootstrap";
-      version = "3.10.5";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.10.5.tgz";
-        sha512 = "WMUfysmX2WFkOzWcpv0mW6Kw91Zsuq9Ecz/TIT4q3FywvABD0mrWbcDXSyrxMspxDEOtPqM/Lk9nm6F9M98kbg==";
+        url = "https://registry.npmjs.org/@lerna/bootstrap/-/bootstrap-3.10.6.tgz";
+        sha512 = "qbGjAxRpV/eiI9CboUIpsPPGpSogs8mN2/iDaAUBTaWVFVz/YyU64nui84Gll0kbdaHOyPput+kk2S8NCSCCdg==";
       };
     };
-    "@lerna/changed-3.10.5" = {
+    "@lerna/changed-3.10.6" = {
       name = "_at_lerna_slash_changed";
       packageName = "@lerna/changed";
-      version = "3.10.5";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/changed/-/changed-3.10.5.tgz";
-        sha512 = "Uy3VWzjmGg2CjKRTW9os+R6Itg3LVJ6CjczeOsOFwSN4JMdNoObUnCTSdCCTUF/+hQNAoSnkw3+C8dC5FPL1Zw==";
+        url = "https://registry.npmjs.org/@lerna/changed/-/changed-3.10.6.tgz";
+        sha512 = "nZDVq/sKdhgoAg1BVnpqjqUUz5+zedG+AnU+6mjEN2f23YVtRCsW55N4I9eEdW2pxXUaCY85Hj/HPSA74BYaFg==";
       };
     };
     "@lerna/check-working-tree-3.10.0" = {
@@ -967,22 +985,22 @@ let
         sha512 = "q2d/OPlNX/cBXB6Iz1932RFzOmOHq6ZzPjqebkINNaTojHWuuRpvJJY4Uz3NGpJ3kEtPDvBemkZqUBTSO5wb1g==";
       };
     };
-    "@lerna/clean-3.10.1" = {
+    "@lerna/clean-3.10.6" = {
       name = "_at_lerna_slash_clean";
       packageName = "@lerna/clean";
-      version = "3.10.1";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/clean/-/clean-3.10.1.tgz";
-        sha512 = "eYSNSD4xD//OIDe0r4r/HhEMEXriIuKqp4BMDhrO7pJmYhk7FvznJUSc4jc85wdA4Y0ooqSs9gF/w2lgLGgUxw==";
+        url = "https://registry.npmjs.org/@lerna/clean/-/clean-3.10.6.tgz";
+        sha512 = "MuL8HOwnyvVtr6GOiAN/Ofjbx+BJdCrtjrM1Uuh8FFnbnZTPVf+0MPxL2jVzPMo0PmoIrX3fvlwvzKNk/lH0Ug==";
       };
     };
-    "@lerna/cli-3.10.0" = {
+    "@lerna/cli-3.10.6" = {
       name = "_at_lerna_slash_cli";
       packageName = "@lerna/cli";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/cli/-/cli-3.10.0.tgz";
-        sha512 = "OTO8GlD6Rf298hxml3/Y3OE8yMDuW3NNqumbroiUb/KdkrnyjZl5F6aSMXJEySq+OSoBboZJMwj2IWglc/7fuw==";
+        url = "https://registry.npmjs.org/@lerna/cli/-/cli-3.10.6.tgz";
+        sha512 = "GtmzJztjrcb5k1Qi/GKNs8xbQBgRpEBoPpt1Udgo23GkepVrQQo45QjM9hyqOhJ6LrV/lfXAv111kDBN/43jLw==";
       };
     };
     "@lerna/collect-updates-3.10.1" = {
@@ -994,13 +1012,13 @@ let
         sha512 = "vb0wEJ8k63G+2CR/ud1WeVHNJ21Fs6Ew6lbdGZXnF4ZvaFWxWJZpoHeWwzjhMdJ75QdTzUaIhTG1hnH9faQNMw==";
       };
     };
-    "@lerna/command-3.10.0" = {
+    "@lerna/command-3.10.6" = {
       name = "_at_lerna_slash_command";
       packageName = "@lerna/command";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/command/-/command-3.10.0.tgz";
-        sha512 = "TTtCDQ5+bDdA/RnBuDtkfqzUV8Mr61KBHxEZL8YLAmHZtY/HsnNpZzbAZ0STPxcFB96dhxVWbRDGP+yBgRfemQ==";
+        url = "https://registry.npmjs.org/@lerna/command/-/command-3.10.6.tgz";
+        sha512 = "jPZswMZXOpAaIuSF5hrz+eaWQzbDrvwbrkCoRJKfiAHx7URAkE6MQe9DeAnqrTKMqwfg0RciSrZLc8kWYfrzCQ==";
       };
     };
     "@lerna/conventional-commits-3.10.0" = {
@@ -1012,13 +1030,13 @@ let
         sha512 = "8FvO0eR8g/tEgkb6eRVYaD39TsqMKsOXp17EV48jciciEqcrF/d1Ypu6ilK1GDp6R/1m2mbjt/b52a/qrO+xaw==";
       };
     };
-    "@lerna/create-3.10.0" = {
+    "@lerna/create-3.10.6" = {
       name = "_at_lerna_slash_create";
       packageName = "@lerna/create";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/create/-/create-3.10.0.tgz";
-        sha512 = "1EQbhyGx/J+gwlxFPecpmrztyEfBRm/sNei95UJlJWLuturSv2Ax2nCa49tcerbPlYhhlJ6lyintukL5STOzdg==";
+        url = "https://registry.npmjs.org/@lerna/create/-/create-3.10.6.tgz";
+        sha512 = "OddQtGBHM2/eJONggLWoTE6275XGbnJ6dIVF+fLsKS93o4GC6g+qcc6Y7lUWHm5bfpeOwNOVKwj0tvqBZ6MgoA==";
       };
     };
     "@lerna/create-symlink-3.6.0" = {
@@ -1039,31 +1057,31 @@ let
         sha512 = "fouh3FQS07QxJJp/mW8LkGnH0xMRAzpBlejtZaiRwfDkW2kd6EuHaj8I/2/p21Wsprcvuu4dqmyia2YS1xFb/w==";
       };
     };
-    "@lerna/diff-3.10.0" = {
+    "@lerna/diff-3.10.6" = {
       name = "_at_lerna_slash_diff";
       packageName = "@lerna/diff";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/diff/-/diff-3.10.0.tgz";
-        sha512 = "MU6P9uAND+dZ15Cm4onJakEYMC6xXZApLuPpWJf0kZtVoF2Feoo3mvQASdb17fe0jvvmWDS0RLCzq9Zhzrgm0A==";
+        url = "https://registry.npmjs.org/@lerna/diff/-/diff-3.10.6.tgz";
+        sha512 = "0MqFhosjrqsIdXiKIu7t3CiJELqiU9mkjFBhYPB7JruAzpPwjMXJnC6/Ur5/7LXJYYVpqGQwZI9ZaZlOYJhhrw==";
       };
     };
-    "@lerna/exec-3.10.1" = {
+    "@lerna/exec-3.10.6" = {
       name = "_at_lerna_slash_exec";
       packageName = "@lerna/exec";
-      version = "3.10.1";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/exec/-/exec-3.10.1.tgz";
-        sha512 = "MM5/OMP4FrVH4PIlG+3xk3jpKq+trgu/eAPttaYZBHAumCOjrDVYdyk5O68+YLz+uLkM31ixTmsiAP9f77HTsg==";
+        url = "https://registry.npmjs.org/@lerna/exec/-/exec-3.10.6.tgz";
+        sha512 = "cdHqaRBMYceJu8rZLO8b4ZeR27O+xKPHgzi13OOOfBJQjrTuacjMWyHgmpy8jWc/0f7QnTl4VsHks7VJ3UK+vw==";
       };
     };
-    "@lerna/filter-options-3.10.1" = {
+    "@lerna/filter-options-3.10.6" = {
       name = "_at_lerna_slash_filter-options";
       packageName = "@lerna/filter-options";
-      version = "3.10.1";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.10.1.tgz";
-        sha512 = "34q7P0/AA+omVk9uwv99i+4qmj5uGuj383RzqIcK8JDYL0JSzlmW0+c4IkxunCfRrWft8OFhSwZdOOmXtDSDYg==";
+        url = "https://registry.npmjs.org/@lerna/filter-options/-/filter-options-3.10.6.tgz";
+        sha512 = "r/dQbqN+RGFKZNn+DyWehswFmAkny/fkdMB2sRM2YVe7zRTtSl95YxD9DtdYnpJTG/jbOVICS/L5QJakrI6SSw==";
       };
     };
     "@lerna/filter-packages-3.10.0" = {
@@ -1093,13 +1111,13 @@ let
         sha512 = "yuFtjsUZIHjeIvIYQ/QuytC+FQcHwo3peB+yGBST2uWCLUCR5rx6knoQcPzbxdFDCuUb5IFccFGd3B1fHFg3RQ==";
       };
     };
-    "@lerna/global-options-3.1.3" = {
+    "@lerna/global-options-3.10.6" = {
       name = "_at_lerna_slash_global-options";
       packageName = "@lerna/global-options";
-      version = "3.1.3";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.1.3.tgz";
-        sha512 = "LVeZU/Zgc0XkHdGMRYn+EmHfDmmYNwYRv3ta59iCVFXLVp7FRFWF7oB1ss/WRa9x/pYU0o6L8as/5DomLUGASA==";
+        url = "https://registry.npmjs.org/@lerna/global-options/-/global-options-3.10.6.tgz";
+        sha512 = "k5Xkq1M/uREFC2R9uwN5gcvIgjj4iOXo0YyeEXCMWBiW3j2GL9xN4d1MmAIcrYlAzVYh6kLlWaFWl/rNIneHIw==";
       };
     };
     "@lerna/has-npm-version-3.10.0" = {
@@ -1111,49 +1129,49 @@ let
         sha512 = "N4RRYxGeivuaKgPDzrhkQOQs1Sg4tOnxnEe3akfqu1wDA4Ng5V6Y2uW3DbkAjFL3aNJhWF5Vbf7sBsGtfgDQ8w==";
       };
     };
-    "@lerna/import-3.10.0" = {
+    "@lerna/import-3.10.6" = {
       name = "_at_lerna_slash_import";
       packageName = "@lerna/import";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/import/-/import-3.10.0.tgz";
-        sha512 = "c8/s/ldaNVGuKnu600B3nbkwJTNElp1duJiZQ7EBChF+szbQBAiQUGNLvBbwClLBzVJhKTw6E4ku17HafQ4vqg==";
+        url = "https://registry.npmjs.org/@lerna/import/-/import-3.10.6.tgz";
+        sha512 = "LlGxhfDhovoNoBJLF3PYd3j/G2GFTnfLh0V38+hBQ6lomMNJbjkACfiLVomQxPWWpYLk0GTlpWYR8YGv6L7Ifw==";
       };
     };
-    "@lerna/init-3.10.0" = {
+    "@lerna/init-3.10.6" = {
       name = "_at_lerna_slash_init";
       packageName = "@lerna/init";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/init/-/init-3.10.0.tgz";
-        sha512 = "+zU1A870OOOqy3MPLcEoicN6dnIGZv/q0aqCVRRfCHAICciaswuIvdX0uDJx0NrUe0sW40dzIllxuUA39nPqcw==";
+        url = "https://registry.npmjs.org/@lerna/init/-/init-3.10.6.tgz";
+        sha512 = "RIlEx+ofWLYRNjxCkkV3G0XQPM+/KA5RXRDb5wKQLYO1f+tZAaHoUh8fHDIvxGf/ohY/OIjYYGSsU+ysimfwiQ==";
       };
     };
-    "@lerna/link-3.10.0" = {
+    "@lerna/link-3.10.6" = {
       name = "_at_lerna_slash_link";
       packageName = "@lerna/link";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/link/-/link-3.10.0.tgz";
-        sha512 = "uZvLxTSekqV8Kx0zMPgcxpTWyRkjnqnUzRiff9HQtOq+gBBifX079jGT7X73CO5eXFzp2TkOJtI1KNL0BNoNtA==";
+        url = "https://registry.npmjs.org/@lerna/link/-/link-3.10.6.tgz";
+        sha512 = "dwD6qftRWitgLDYbqtDrgO7c8uF5C0fHVew5M6gU5m9tBJidqd7cDwHv/bXboLEI63U7tt5y6LY+wEpYUFsBRw==";
       };
     };
-    "@lerna/list-3.10.1" = {
+    "@lerna/list-3.10.6" = {
       name = "_at_lerna_slash_list";
       packageName = "@lerna/list";
-      version = "3.10.1";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/list/-/list-3.10.1.tgz";
-        sha512 = "y2VwTeJ8tcQ0dmJJNhloGfhmCBUG3RXafqNkUVUG/ItoJlfzVniQOMdIDlkre86ZtnQv9yrB2vFaC2Vg++PklQ==";
+        url = "https://registry.npmjs.org/@lerna/list/-/list-3.10.6.tgz";
+        sha512 = "3ElQBj2dOB4uUkpsjC1bxdeZwEzRBuV1pBBs5E1LncwsZf7D9D99Z32fuZsDaCHpEMgHAD4/j8juI3/7m5dkaQ==";
       };
     };
-    "@lerna/listable-3.10.0" = {
+    "@lerna/listable-3.10.6" = {
       name = "_at_lerna_slash_listable";
       packageName = "@lerna/listable";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/listable/-/listable-3.10.0.tgz";
-        sha512 = "95EwogHBqJxrXOCkf3DAZQAzJes+I668Lg5BJDotfp9eZeJAbgGl6GPz5U+szPq0PrYfK+2kJv9xNXVnbfCZAw==";
+        url = "https://registry.npmjs.org/@lerna/listable/-/listable-3.10.6.tgz";
+        sha512 = "F7ZuvesSgeuMiJf99eOum5p1MQGQStykcmHH1ek+LQRMiGGF1o3PkBxPvHTZBADGOFarek8bFA5TVmRAMX7NIw==";
       };
     };
     "@lerna/log-packed-3.6.0" = {
@@ -1237,13 +1255,13 @@ let
         sha512 = "8A5hN2CekM1a0Ix4VUO/g+REo+MsnXb8lnQ0bGjr1YGWzSL5NxYJ0Z9+0pwTfDpvRDYlFYO0rMVwBUW44b4dUw==";
       };
     };
-    "@lerna/package-graph-3.10.0" = {
+    "@lerna/package-graph-3.10.6" = {
       name = "_at_lerna_slash_package-graph";
       packageName = "@lerna/package-graph";
-      version = "3.10.0";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.10.0.tgz";
-        sha512 = "9LX8I8KxzCMjfNPWvN/CxHW51s89S3Mnx2EYsbo8c8Gh8I6InA6e+Xur6uuCyZ6/0LKqQ/cXwrP3J81A4nIDSQ==";
+        url = "https://registry.npmjs.org/@lerna/package-graph/-/package-graph-3.10.6.tgz";
+        sha512 = "mpIOJbhi+xLqT9BcUrLVD4We8WUdousQf/QndbEWl8DWAW1ethtRHVsCm9ufdBB3F9nj4PH/hqnDWWwqE+rS4w==";
       };
     };
     "@lerna/project-3.10.0" = {
@@ -1264,13 +1282,13 @@ let
         sha512 = "nyAjPMolJ/ZRAAVcXrUH89C4n1SiWvLh4xWNvWYKLcf3PI5yges35sDFP/HYrM4+cEbkNFuJCRq6CxaET4PRsg==";
       };
     };
-    "@lerna/publish-3.10.5" = {
+    "@lerna/publish-3.10.6" = {
       name = "_at_lerna_slash_publish";
       packageName = "@lerna/publish";
-      version = "3.10.5";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.10.5.tgz";
-        sha512 = "26wjTtRbcUXlG8Na7goI0X1trMYivbuLT1bAXHNvuDaHYs7iE6LRjU4NCTNAmrdVnqagHkTxMuGRFn3r1NgcKg==";
+        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.10.6.tgz";
+        sha512 = "Wrmgf82rtZWdHSrTzZGOi1/QbkPJduUSmVMhZsdnLC814WHrNGYKbayvFBOo1RAAJ4EKggZ2ReOWXKhg/IZYUw==";
       };
     };
     "@lerna/pulse-till-done-3.7.1" = {
@@ -1300,13 +1318,13 @@ let
         sha512 = "RSKSfxPURc58ERCD/PuzorR86lWEvIWNclXYGvIYM76yNGrWiDF44pGHQvB4J+Lxa5M+52ZtZC/eOC7A7YCH4g==";
       };
     };
-    "@lerna/run-3.10.1" = {
+    "@lerna/run-3.10.6" = {
       name = "_at_lerna_slash_run";
       packageName = "@lerna/run";
-      version = "3.10.1";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/run/-/run-3.10.1.tgz";
-        sha512 = "g9YIcpk87Gok+zjicru/KsuZ1lcyuG5oERyAii3RSmpLaiwTh/SOSnxilrvDOYWwxYU5rPzvaCalkQI/i31Itw==";
+        url = "https://registry.npmjs.org/@lerna/run/-/run-3.10.6.tgz";
+        sha512 = "KS2lWbu/8WUUscQPi9U8sPO6yYpzf/0GmODjpruR1nRi1u/tuncdjTiG+hjGAeFC1BD7YktT9Za6imIpE8RXmA==";
       };
     };
     "@lerna/run-lifecycle-3.10.5" = {
@@ -1363,13 +1381,13 @@ let
         sha512 = "MWltncGO5VgMS0QedTlZCjFUMF/evRjDMMHrtVorkIB2Cp5xy0rkKa8iDBG43qpUWeG1giwi58yUlETBcWfILw==";
       };
     };
-    "@lerna/version-3.10.5" = {
+    "@lerna/version-3.10.6" = {
       name = "_at_lerna_slash_version";
       packageName = "@lerna/version";
-      version = "3.10.5";
+      version = "3.10.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/version/-/version-3.10.5.tgz";
-        sha512 = "I6KynsrWvtusylggw+XmlfUud26ncfUctbn8hUQsofkxiouuElx1fUU4rEsOaonxvNk09bwlsGmfbIFsPeN6Hg==";
+        url = "https://registry.npmjs.org/@lerna/version/-/version-3.10.6.tgz";
+        sha512 = "77peW2ROlHHl1e/tHBUmhpb8tsO6CIdlx34XapZhUuIVykrkOuqVFFxqMecrGG8SJe0e3l1G+Fah7bJTQcG0kw==";
       };
     };
     "@lerna/write-log-file-3.6.0" = {
@@ -1579,6 +1597,105 @@ let
         sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
       };
     };
+    "@textlint/ast-node-types-4.2.1" = {
+      name = "_at_textlint_slash_ast-node-types";
+      packageName = "@textlint/ast-node-types";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.2.1.tgz";
+        sha512 = "Pqg1LTJpF929Ovi/lCaPqlyz8yDwBFbQulC0jyQcbRAoTxYS4AZMc48Ug2yk0so5hISQXKrlAxyVBmBVl9EKGA==";
+      };
+    };
+    "@textlint/ast-traverse-2.1.2" = {
+      name = "_at_textlint_slash_ast-traverse";
+      packageName = "@textlint/ast-traverse";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.1.2.tgz";
+        sha512 = "0VIx7Ql8OVHPOWKqHvgUDfyNlhZdG+0sn5bOhHJcbJs8HiSIdErO5pV1fPc2Apro3G15v6gq1rmjUR36ScwwdQ==";
+      };
+    };
+    "@textlint/feature-flag-3.1.2" = {
+      name = "_at_textlint_slash_feature-flag";
+      packageName = "@textlint/feature-flag";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.1.2.tgz";
+        sha512 = "vtD/LXZoUHx++ExUvnUZKvl76+6kFHlHl0XLnyP6ZQSVoXF9ElVdFvvRaptPrpXu8SZYqCN2Hcz5iamXZP0hLQ==";
+      };
+    };
+    "@textlint/fixer-formatter-3.1.2" = {
+      name = "_at_textlint_slash_fixer-formatter";
+      packageName = "@textlint/fixer-formatter";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.1.2.tgz";
+        sha512 = "Z+OHngp9dKN5zP5Yqerj//UYnhGPYjf6tYx/LcUT1eMZMk3JQMX6jENBVzO9cEVDbrARmV1zAtM0yO4x5UrpIQ==";
+      };
+    };
+    "@textlint/kernel-3.1.2" = {
+      name = "_at_textlint_slash_kernel";
+      packageName = "@textlint/kernel";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.1.2.tgz";
+        sha512 = "dTeYpVUqUX7CPaZKFEMZzHiDUrbMrJnwreLTML820t9/nAHq4CL+Gvh+3FutWLu8vs65ek1R86rBjmD5SjRdCA==";
+      };
+    };
+    "@textlint/linter-formatter-3.1.2" = {
+      name = "_at_textlint_slash_linter-formatter";
+      packageName = "@textlint/linter-formatter";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.1.2.tgz";
+        sha512 = "yYMh8ZrMJpNS1wTc4fuYz/urfD/ooe1sHE8aLIJkYX6ND09oRWi3gsx/fsdsy6KIwscadzetudK61FmWPr6nSg==";
+      };
+    };
+    "@textlint/markdown-to-ast-6.1.2" = {
+      name = "_at_textlint_slash_markdown-to-ast";
+      packageName = "@textlint/markdown-to-ast";
+      version = "6.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.1.2.tgz";
+        sha512 = "we9n29GfopUUA0j91xRVQ75ME5YhdnWQZcjfpXQK98DQ//xwVzteMuZe1Og8CArA/aDoTRq0EYFkN2oGu3v20Q==";
+      };
+    };
+    "@textlint/text-to-ast-3.1.2" = {
+      name = "_at_textlint_slash_text-to-ast";
+      packageName = "@textlint/text-to-ast";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.1.2.tgz";
+        sha512 = "ge8O9p3HYLy2vni0k4Qh12fRKsJySp/wiuJlvGqemA+hJvSC0164N8I61aHBqgTWTciHHhKBH4ofqCOdSbwKTg==";
+      };
+    };
+    "@textlint/textlint-plugin-markdown-5.1.2" = {
+      name = "_at_textlint_slash_textlint-plugin-markdown";
+      packageName = "@textlint/textlint-plugin-markdown";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.1.2.tgz";
+        sha512 = "J7lyu1FY17EyMna5ouioK3wxhly4D9CPKmsIZnKFYKKBPfb/Prmz7iONbR0h0RCf4GSiKwCuttl0BkOv1eWFXA==";
+      };
+    };
+    "@textlint/textlint-plugin-text-4.1.2" = {
+      name = "_at_textlint_slash_textlint-plugin-text";
+      packageName = "@textlint/textlint-plugin-text";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.1.2.tgz";
+        sha512 = "jELCMWVWxxegeY5oy3GmP7eWT5G/6lfG1bpEFUGvcVz70l4GAtV9mvZ0SV4344w4qzk0fgahlS0ZJ/0EAsmEig==";
+      };
+    };
+    "@textlint/types-1.1.2" = {
+      name = "_at_textlint_slash_types";
+      packageName = "@textlint/types";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/types/-/types-1.1.2.tgz";
+        sha512 = "XNsS9GTi3lrhKYbqrZZIaYOXxi1DUeMdNyg9bbcRG9yZUD6T6TVEFI0s2fCvPpUFk31JSsOyWpEBLcd/TwrsNQ==";
+      };
+    };
     "@types/accepts-1.3.5" = {
       name = "_at_types_slash_accepts";
       packageName = "@types/accepts";
@@ -1588,13 +1705,13 @@ let
         sha512 = "jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==";
       };
     };
-    "@types/async-2.0.50" = {
-      name = "_at_types_slash_async";
-      packageName = "@types/async";
-      version = "2.0.50";
+    "@types/bluebird-3.5.25" = {
+      name = "_at_types_slash_bluebird";
+      packageName = "@types/bluebird";
+      version = "3.5.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/async/-/async-2.0.50.tgz";
-        sha512 = "VMhZMMQgV1zsR+lX/0IBfAk+8Eb7dPVMWiQGFAt3qjo5x7Ml6b77jUo0e1C3ToD+XRDXqtrfw+6AB0uUsPEr3Q==";
+        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.25.tgz";
+        sha512 = "yfhIBix+AIFTmYGtkC0Bi+XGjSkOINykqKvO/Wqdz/DuXlAKK7HmhLAXdPIGsV4xzKcL3ev/zYc4yLNo+OvGaw==";
       };
     };
     "@types/body-parser-1.17.0" = {
@@ -3010,13 +3127,13 @@ let
         sha1 = "ee49736b639b4f108b6e9e626c6da99306b41692";
       };
     };
-    "apollo-cache-1.1.22" = {
+    "apollo-cache-1.1.25" = {
       name = "apollo-cache";
       packageName = "apollo-cache";
-      version = "1.1.22";
+      version = "1.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.1.22.tgz";
-        sha512 = "8PoxhQLISj2oHwT7i/r4l+ly4y3RKZls+dtXzAewu3U77P9dNZKhYkRNAhx9iEfsrNoHgXBV8vMp64hb1uYh+g==";
+        url = "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.1.25.tgz";
+        sha512 = "9HhI/tVEHAeGaJJvi1Vpf6PzXUCA0PqNbigi2G3uOc180JjxbcaBvEbKXMEDb/UyTXkFWzI4PiPDuDQFqmIMSA==";
       };
     };
     "apollo-cache-control-0.4.0" = {
@@ -3028,22 +3145,22 @@ let
         sha512 = "WuriaNQIugTE8gYwfBWWCbbQTSKul/cV4JMi5UgqNIUvjHvnKZQLKbt5uYWow6QQNMkLT9hey8QPYkWpogkeSA==";
       };
     };
-    "apollo-cache-inmemory-1.3.12" = {
+    "apollo-cache-inmemory-1.4.2" = {
       name = "apollo-cache-inmemory";
       packageName = "apollo-cache-inmemory";
-      version = "1.3.12";
+      version = "1.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.3.12.tgz";
-        sha512 = "jxWcW64QoYQZ09UH6v3syvCCl3MWr6bsxT3wYYL6ORi8svdJUpnNrHTcv5qXqJYVg/a+NHhfEt+eGjJUG2ytXA==";
+        url = "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.4.2.tgz";
+        sha512 = "fDVmj5j1e3W+inyuSwjIcMgbQ4edcFgmiKTBMFAEKAq0jg33X7FrbDX8JT2t5Vuf75Mva50JDlt5wXdu7C6WuA==";
       };
     };
-    "apollo-client-2.4.8" = {
+    "apollo-client-2.4.12" = {
       name = "apollo-client";
       packageName = "apollo-client";
-      version = "2.4.8";
+      version = "2.4.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-client/-/apollo-client-2.4.8.tgz";
-        sha512 = "OAFbCTnGPtaIv0j+EZYzY20d+MD2JNbJ/YXZ4s0/oZlSg87bb0gjcIbccw2lnytipymZcZNr5ArFFeh0saGEwA==";
+        url = "https://registry.npmjs.org/apollo-client/-/apollo-client-2.4.12.tgz";
+        sha512 = "E5ClFSB9btJLYibLKwLDSCg+w9tI+25eZgXOM+DClawu7of4d/xhuV/xvpuZpsMP3qwrp0QPacBnfG4tUJs3/w==";
       };
     };
     "apollo-codegen-0.20.2" = {
@@ -3289,13 +3406,13 @@ let
         sha512 = "ZN5gsbBjImEZTWWTUHpCEGDasnoBGbaODpznQ5EawyNHceuFYSNJbbft+ZZ841vZAcj9XZdKUKoaLBlMZ/r7nw==";
       };
     };
-    "apollo-utilities-1.0.27" = {
+    "apollo-utilities-1.1.2" = {
       name = "apollo-utilities";
       packageName = "apollo-utilities";
-      version = "1.0.27";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.27.tgz";
-        sha512 = "nzrMQ89JMpNmYnVGJ4t8zN75gQbql27UDhlxNi+3OModp0Masx5g+fQmQJ5B4w2dpRuYOsdwFLmj3lQbwOKV1Q==";
+        url = "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.1.2.tgz";
+        sha512 = "EjDx8vToK+zkWIxc76ZQY/irRX52puNg04xf/w8R0kVTDAgHuVfnFVC01O5vE25kFnIaa5em0pFI0p9b6YMkhQ==";
       };
     };
     "app-builder-5.2.0" = {
@@ -4180,13 +4297,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.389.0" = {
+    "aws-sdk-2.391.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.389.0";
+      version = "2.391.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.389.0.tgz";
-        sha512 = "4KBH2o4f/ncTJfKzUsMNxxPNWkF7eFVZlYLRpeFAYEgw+r8xE//0YBReNnySS5Y5oQTOtg376bOlQSWtFhKv1g==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.391.0.tgz";
+        sha512 = "2xL59xW/bosjccZdrPwV9MfMJ7vkg2dn83m4LTgk+p+y8IOE4DdCP9dE+toz0frtVatriPDIXCA0dyOVYFt8EA==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -5557,13 +5674,22 @@ let
         sha1 = "55fa64920d9670087d44150404525d59f9511c20";
       };
     };
-    "bower-1.8.4" = {
+    "boundary-1.0.1" = {
+      name = "boundary";
+      packageName = "boundary";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boundary/-/boundary-1.0.1.tgz";
+        sha1 = "4d67dc2602c0cc16dd9bce7ebf87e948290f5812";
+      };
+    };
+    "bower-1.8.7" = {
       name = "bower";
       packageName = "bower";
-      version = "1.8.4";
+      version = "1.8.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz";
-        sha1 = "e7876a076deb8137f7d06525dc5e8c66db82f28a";
+        url = "https://registry.npmjs.org/bower/-/bower-1.8.7.tgz";
+        sha512 = "M0yrA0IkpXP4v2taRkmowyUHTCFAvtfTVtRDAXBnhZM02xh8fP3wlrdOiXPs/5CYBCdj20WyGKZuYA0g3h3Y1w==";
       };
     };
     "bower-endpoint-parser-0.2.1" = {
@@ -5863,13 +5989,13 @@ let
         sha1 = "0bd76704258be829b2398bb50e4b62d1a166b0b9";
       };
     };
-    "browserslist-4.4.0" = {
+    "browserslist-4.4.1" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.4.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.4.0.tgz";
-        sha512 = "tQkHS8VVxWbrjnNDXgt7/+SuPJ7qDvD0Y2e6bLtoQluR2SPvlmPUcfcU75L1KAalhqULlIFJlJ6BDfnYyJxJsw==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz";
+        sha512 = "pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==";
       };
     };
     "buffer-3.6.0" = {
@@ -8680,13 +8806,13 @@ let
         sha512 = "NdBPF/RVwPW6jr0NCILuyN9RiqLo2b1mddWHkUL+VnvcB7dzlnBJ1bXYntjpTGOgkZiiLWj2JxmOr7eGE3qK6g==";
       };
     };
-    "core-js-3.0.0-beta.8" = {
+    "core-js-3.0.0-beta.9" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.0.0-beta.8";
+      version = "3.0.0-beta.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.0.0-beta.8.tgz";
-        sha512 = "ex9wpitprNDuK6bPRljFW0z0IBatqtmqeuZ1HpcFcSkdOQSGNu3XdZSTshEuAIeYgLarHpw55P3SQlKAnXmpuQ==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.0.0-beta.9.tgz";
+        sha512 = "OGLbGro2f0s8UXVyu2s9kIW42pcuRoNEqJsmn8a4rAOO9G5A2t96l++rf+4mHNw9GKrbdozZ9G5ieDKOBl68zQ==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -10057,13 +10183,13 @@ let
         sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
       };
     };
-    "defer-to-connect-1.0.1" = {
+    "defer-to-connect-1.0.2" = {
       name = "defer-to-connect";
       packageName = "defer-to-connect";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.1.tgz";
-        sha512 = "2e0FJesseUqQj671gvZWfUyxpnFx/5n4xleamlpCD3U6Fm5dh5qzmmLNxNhtmHF06+SYVHH8QU6FACffYTnj0Q==";
+        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz";
+        sha512 = "k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==";
       };
     };
     "deferred-leveldown-0.2.0" = {
@@ -10417,6 +10543,15 @@ let
         sha1 = "7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf";
       };
     };
+    "diff-2.2.3" = {
+      name = "diff";
+      packageName = "diff";
+      version = "2.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz";
+        sha1 = "60eafd0d28ee906e4e8ff0a52c1229521033bf99";
+      };
+    };
     "diff-3.5.0" = {
       name = "diff";
       packageName = "diff";
@@ -11174,13 +11309,13 @@ let
         sha512 = "NYXzzaJT/zw8v7jzDWGXuvX3/soj+5NTLHxX0n/T6DICbmyDj8kO7rlI2wSKs9UTNjXhZ7quFQEKcgcf/SZksw==";
       };
     };
-    "elmi-to-json-0.19.0" = {
+    "elmi-to-json-0.19.1" = {
       name = "elmi-to-json";
       packageName = "elmi-to-json";
-      version = "0.19.0";
+      version = "0.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elmi-to-json/-/elmi-to-json-0.19.0.tgz";
-        sha512 = "qNrxc1m2KAYbxT22rHyWBjzhYjJkENYgl6Ya7XVL1uxcZPiaINwFEJ7OdpGnLsM79xsWPT0z9yesQtYXKrWE7w==";
+        url = "https://registry.npmjs.org/elmi-to-json/-/elmi-to-json-0.19.1.tgz";
+        sha512 = "O0Z3YsYU9OTb1hTDGORWxi69QjQFEIPfZVq/oc1D5lhL3swduHKY8vdKGuo+WlKVdTas99oNIsgL7yojWdYcsQ==";
       };
     };
     "email-validator-2.0.4" = {
@@ -11868,13 +12003,13 @@ let
         sha512 = "D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==";
       };
     };
-    "eslint-5.12.0" = {
+    "eslint-5.12.1" = {
       name = "eslint";
       packageName = "eslint";
-      version = "5.12.0";
+      version = "5.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-5.12.0.tgz";
-        sha512 = "LntwyPxtOHrsJdcSwyQKVtHofPHdv+4+mFwEe91r2V13vqpM8yLr7b1sW+Oo/yheOPkWYsYlYJCkzlFAt8KV7g==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-5.12.1.tgz";
+        sha512 = "54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg==";
       };
     };
     "eslint-plugin-no-unsafe-innerhtml-1.0.16" = {
@@ -12192,6 +12327,15 @@ let
         sha512 = "3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==";
       };
     };
+    "events-3.0.0" = {
+      name = "events";
+      packageName = "events";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/events/-/events-3.0.0.tgz";
+        sha512 = "Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==";
+      };
+    };
     "events.node-0.4.9" = {
       name = "events.node";
       packageName = "events.node";
@@ -12867,6 +13011,15 @@ let
         sha1 = "f4af3ea9f34d8a271cf58ad2b3759f431f0b318d";
       };
     };
+    "fault-1.0.2" = {
+      name = "fault";
+      packageName = "fault";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fault/-/fault-1.0.2.tgz";
+        sha512 = "o2eo/X2syzzERAtN5LcGbiVQ0WwZSlN3qLtadwAz3X8Bu+XWD16dja/KMsjZLiQr+BLGPDnHGkc4yUJf1Xpkpw==";
+      };
+    };
     "faye-websocket-0.11.1" = {
       name = "faye-websocket";
       packageName = "faye-websocket";
@@ -13434,13 +13587,13 @@ let
         sha1 = "36ce06abe2e0e01c44dd69f2a165305a2320649b";
       };
     };
-    "flumedb-1.0.1" = {
+    "flumedb-1.0.4" = {
       name = "flumedb";
       packageName = "flumedb";
-      version = "1.0.1";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flumedb/-/flumedb-1.0.1.tgz";
-        sha512 = "mT0v0dY9EkWRGwDtTfavYNv2Z6nrMNlVZCNJD7qxjfPJymfv8kNYB4UvDdBHleHegvzjufjnE73IkRG5DgMjww==";
+        url = "https://registry.npmjs.org/flumedb/-/flumedb-1.0.4.tgz";
+        sha512 = "zTB3OI8RxFe2AtDlEXZtvDCJkw02/MSdKMYYnr9bYWuwQ4fYcnInGkDwxQU5L7OQswzM/brhdl3XYNGWpMxF1w==";
       };
     };
     "flumelog-offset-3.3.2" = {
@@ -13632,6 +13785,15 @@ let
         sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
       };
     };
+    "format-0.2.2" = {
+      name = "format";
+      packageName = "format";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/format/-/format-0.2.2.tgz";
+        sha1 = "d6170107e9efdc4ed30c9dc39016df942b5cb58b";
+      };
+    };
     "format-util-1.0.3" = {
       name = "format-util";
       packageName = "format-util";
@@ -13947,13 +14109,13 @@ let
         sha512 = "z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==";
       };
     };
-    "fsevents-1.2.6" = {
+    "fsevents-1.2.7" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.2.6";
+      version = "1.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.6.tgz";
-        sha512 = "BalK54tfK0pMC0jQFb2oHn1nz7JNQD/2ex5pBnCHgBi2xG7VV0cAOGy2RS2VbCqUXx5/6obMrMcQTJ8yjcGzbg==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz";
+        sha512 = "Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==";
       };
     };
     "fsevents-2.0.1" = {
@@ -14858,13 +15020,13 @@ let
         sha512 = "C5zDzLqvfPAgTtP8AUPIt9keDabrdRAqSWjj2OPRKrKxI9Fb65I36s1uCs1UUBFnSWTdO7hyHi7z1ZbwKMKF6Q==";
       };
     };
-    "graphql-anywhere-4.1.24" = {
+    "graphql-anywhere-4.1.27" = {
       name = "graphql-anywhere";
       packageName = "graphql-anywhere";
-      version = "4.1.24";
+      version = "4.1.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-4.1.24.tgz";
-        sha512 = "g81K7FqXSF3q1iqFWlwiwD+g0SDkPUUa9+Wa+7BOrAe5+7R4BdNWL4dw9BRsJxt0Xx6nOaI2E+VM7QMAucQFvA==";
+        url = "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-4.1.27.tgz";
+        sha512 = "ErASfs9siEMrmroHU0V4heh6cIdA8K/SoYpahJFgEM6YDAwUZuycTAKIrMaK8XJI37sHZWcujF/ySuYnIkP5vw==";
       };
     };
     "graphql-cli-prepare-1.4.19" = {
@@ -14993,13 +15155,13 @@ let
         sha512 = "+ytmryoHF1LVf58NKEaNPRUzYyXplm120ntxfPcgOBC7TnK7Tv/4VRHeh4FAR9iL+O1bqhZs4nkibxQ+OA5cDQ==";
       };
     };
-    "graphql-tag-2.10.0" = {
+    "graphql-tag-2.10.1" = {
       name = "graphql-tag";
       packageName = "graphql-tag";
-      version = "2.10.0";
+      version = "2.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.10.0.tgz";
-        sha512 = "9FD6cw976TLLf9WYIUPCaaTpniawIjHWZSwIRZSjrfufJamcXbVVYfN2TWvJYbw0Xf2JjYbl1/f2+wDnBVw3/w==";
+        url = "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.10.1.tgz";
+        sha512 = "jApXqWBzNXQ8jYa/HLkZJaVw9jgwNqZkywa2zfFn16Iv1Zb7ELNHkJaXHR7Quvd5SIGsy6Ny7SUKATgnu05uEg==";
       };
     };
     "graphql-tools-4.0.3" = {
@@ -16208,13 +16370,13 @@ let
         sha512 = "5s6NiCGbtWc+OQA60jrre54w12U7tynIyUNjO5LJjNA5lWwvCv6640roq8Wk/wIuaqnd4Pgtp453OyJ7hbONkQ==";
       };
     };
-    "immutable-tuple-0.4.9" = {
+    "immutable-tuple-0.4.10" = {
       name = "immutable-tuple";
       packageName = "immutable-tuple";
-      version = "0.4.9";
+      version = "0.4.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/immutable-tuple/-/immutable-tuple-0.4.9.tgz";
-        sha512 = "LWbJPZnidF8eczu7XmcnLBsumuyRBkpwIRPCZxlojouhBo5jEBO4toj6n7hMy6IxHU/c+MqDSWkvaTpPlMQcyA==";
+        url = "https://registry.npmjs.org/immutable-tuple/-/immutable-tuple-0.4.10.tgz";
+        sha512 = "45jheDbc3Kr5Cw8EtDD+4woGRUV0utIrJBZT8XH0TPZRfm8tzT0/sLGGzyyCCFqFMG5Pv5Igf3WY/arn6+8V9Q==";
       };
     };
     "import-fresh-2.0.0" = {
@@ -16604,6 +16766,15 @@ let
         sha512 = "NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==";
       };
     };
+    "interop-require-1.0.0" = {
+      name = "interop-require";
+      packageName = "interop-require";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/interop-require/-/interop-require-1.0.0.tgz";
+        sha1 = "e53103679944c88d7e6105b62a9f4475c783971e";
+      };
+    };
     "interpret-1.1.0" = {
       name = "interpret";
       packageName = "interpret";
@@ -17594,6 +17765,15 @@ let
         sha1 = "110f9ff74c37f663e1ec7915eb451f2db93ac9df";
       };
     };
+    "is-whitespace-character-1.0.2" = {
+      name = "is-whitespace-character";
+      packageName = "is-whitespace-character";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz";
+        sha512 = "SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==";
+      };
+    };
     "is-windows-1.0.2" = {
       name = "is-windows";
       packageName = "is-windows";
@@ -17603,6 +17783,15 @@ let
         sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
       };
     };
+    "is-word-character-1.0.2" = {
+      name = "is-word-character";
+      packageName = "is-word-character";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz";
+        sha512 = "T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA==";
+      };
+    };
     "is-wsl-1.1.0" = {
       name = "is-wsl";
       packageName = "is-wsl";
@@ -20772,6 +20961,15 @@ let
         sha512 = "p+NIGQbEBxlw/qWwG+NME98G/9kjOQI70hmaH8QEZtIWfTmfMYLKQW4PJChP4izPHNAxlOfv/qefP0+2ZXn84A==";
       };
     };
+    "map-like-2.0.0" = {
+      name = "map-like";
+      packageName = "map-like";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-like/-/map-like-2.0.0.tgz";
+        sha1 = "94496d49ad333c0dc3234b27adbbd1e8535953b4";
+      };
+    };
     "map-merge-1.1.0" = {
       name = "map-merge";
       packageName = "map-merge";
@@ -20826,6 +21024,15 @@ let
         sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
       };
     };
+    "markdown-escapes-1.0.2" = {
+      name = "markdown-escapes";
+      packageName = "markdown-escapes";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz";
+        sha512 = "lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==";
+      };
+    };
     "markdown-it-8.4.2" = {
       name = "markdown-it";
       packageName = "markdown-it";
@@ -22819,13 +23026,13 @@ let
         sha512 = "FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==";
       };
     };
-    "node-libs-browser-2.1.0" = {
+    "node-libs-browser-2.2.0" = {
       name = "node-libs-browser";
       packageName = "node-libs-browser";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz";
-        sha512 = "5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==";
+        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz";
+        sha512 = "5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==";
       };
     };
     "node-modules-regexp-1.0.0" = {
@@ -24035,13 +24242,13 @@ let
         sha512 = "YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==";
       };
     };
-    "optimism-0.6.8" = {
+    "optimism-0.6.9" = {
       name = "optimism";
       packageName = "optimism";
-      version = "0.6.8";
+      version = "0.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/optimism/-/optimism-0.6.8.tgz";
-        sha512 = "bN5n1KCxSqwBDnmgDnzMtQTHdL+uea2HYFx1smvtE+w2AMl0Uy31g0aXnP/Nt85OINnMJPRpJyfRQLTCqn5Weg==";
+        url = "https://registry.npmjs.org/optimism/-/optimism-0.6.9.tgz";
+        sha512 = "xoQm2lvXbCA9Kd7SCx6y713Y7sZ6fUc5R6VYpoL5M6svKJbTuvtNopexK8sO8K4s0EOUYHuPN2+yAEsNyRggkQ==";
       };
     };
     "optimist-0.2.8" = {
@@ -24656,13 +24863,13 @@ let
         sha1 = "fedd4d2bf193a77745fe71e371d73c3307d9c751";
       };
     };
-    "parse-asn1-5.1.1" = {
+    "parse-asn1-5.1.3" = {
       name = "parse-asn1";
       packageName = "parse-asn1";
-      version = "5.1.1";
+      version = "5.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz";
-        sha512 = "KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==";
+        url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.3.tgz";
+        sha512 = "VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg==";
       };
     };
     "parse-entities-1.2.0" = {
@@ -25124,6 +25331,15 @@ let
         sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d";
       };
     };
+    "path-to-glob-pattern-1.0.2" = {
+      name = "path-to-glob-pattern";
+      packageName = "path-to-glob-pattern";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-glob-pattern/-/path-to-glob-pattern-1.0.2.tgz";
+        sha1 = "473e6a3a292a9d13fbae3edccee72d3baba8c619";
+      };
+    };
     "path-to-regexp-0.1.3" = {
       name = "path-to-regexp";
       packageName = "path-to-regexp";
@@ -25592,6 +25808,15 @@ let
         sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
       };
     };
+    "pluralize-2.0.0" = {
+      name = "pluralize";
+      packageName = "pluralize";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pluralize/-/pluralize-2.0.0.tgz";
+        sha1 = "72b726aa6fac1edeee42256c7d8dc256b335677f";
+      };
+    };
     "pluralize-7.0.0" = {
       name = "pluralize";
       packageName = "pluralize";
@@ -27258,13 +27483,13 @@ let
         sha1 = "437344aeb2189f65e678ed1af37f0f760a5453ef";
       };
     };
-    "pull-ws-3.3.1" = {
+    "pull-ws-3.3.2" = {
       name = "pull-ws";
       packageName = "pull-ws";
-      version = "3.3.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pull-ws/-/pull-ws-3.3.1.tgz";
-        sha512 = "kJodbLQT+oKjcRIQO+vQNw6xWBuEo7Kxp51VMOvb6cvPvHYA+aNLzm+NmkB/5dZwbuTRYGMal9QPvH52tzM1ZA==";
+        url = "https://registry.npmjs.org/pull-ws/-/pull-ws-3.3.2.tgz";
+        sha512 = "Bn4bcJsSzJGOQl4RBulDhG1FkcbDHSCXteI8Jg5k4X6X5TxVzZzKilWJ1WV2v4OnRXl2eYbtHFGsPl8Cr1xJzw==";
       };
     };
     "pump-0.3.5" = {
@@ -28338,6 +28563,15 @@ let
         sha1 = "802a38c3aa98c9e1e3ea015eeba211d27cb65e1f";
       };
     };
+    "remark-frontmatter-1.3.1" = {
+      name = "remark-frontmatter";
+      packageName = "remark-frontmatter";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-1.3.1.tgz";
+        sha512 = "Zj/fDMYnSVgMCeKp8fXIhtMoZq4G6E1dnwfMoO8fVXrm/+oVSiN8YMREtwN2cctgK9EsnYSeS1ExX2hcX/fE1A==";
+      };
+    };
     "remark-html-2.0.2" = {
       name = "remark-html";
       packageName = "remark-html";
@@ -28347,6 +28581,15 @@ let
         sha1 = "592a347bdd3d5881f4f080c98b5b152fb1407a92";
       };
     };
+    "remark-parse-5.0.0" = {
+      name = "remark-parse";
+      packageName = "remark-parse";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz";
+        sha512 = "b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==";
+      };
+    };
     "remove-array-items-1.1.1" = {
       name = "remove-array-items";
       packageName = "remove-array-items";
@@ -31227,13 +31470,13 @@ let
         sha1 = "06cd70795ee58d1462d100a45c660df3179d3b39";
       };
     };
-    "ssb-blobs-1.1.8" = {
+    "ssb-blobs-1.1.9" = {
       name = "ssb-blobs";
       packageName = "ssb-blobs";
-      version = "1.1.8";
+      version = "1.1.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-blobs/-/ssb-blobs-1.1.8.tgz";
-        sha512 = "WcYjqv8F383QvgCTdNdYp+xzJACLL+OiVLD8Got5qmcevbwv2nrUNtQOhe5zJ5Qfl4o+Y/RYqEFGrUUq9oTCvg==";
+        url = "https://registry.npmjs.org/ssb-blobs/-/ssb-blobs-1.1.9.tgz";
+        sha512 = "CkI12tt5looI54X2dhsMNwoVqVcff471ZgEhew69g2EPByfejryuoOnAZUuQhgYDBLISQj5oID2R+7wCH6yOyQ==";
       };
     };
     "ssb-client-4.6.0" = {
@@ -31524,6 +31767,15 @@ let
         sha1 = "e6c80b623123d7d80cf132ce538f346289072502";
       };
     };
+    "state-toggle-1.0.1" = {
+      name = "state-toggle";
+      packageName = "state-toggle";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz";
+        sha512 = "Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==";
+      };
+    };
     "static-eval-2.0.0" = {
       name = "static-eval";
       packageName = "static-eval";
@@ -32271,6 +32523,15 @@ let
         sha1 = "0fdedc68e91addcfcb2e6be9c262581a6e8c28aa";
       };
     };
+    "structured-source-3.0.2" = {
+      name = "structured-source";
+      packageName = "structured-source";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/structured-source/-/structured-source-3.0.2.tgz";
+        sha1 = "dd802425e0f53dc4a6e7aca3752901a1ccda7af5";
+      };
+    };
     "stylehacks-4.0.1" = {
       name = "stylehacks";
       packageName = "stylehacks";
@@ -33667,6 +33928,15 @@ let
         sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
       };
     };
+    "trough-1.0.3" = {
+      name = "trough";
+      packageName = "trough";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trough/-/trough-1.0.3.tgz";
+        sha512 = "fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw==";
+      };
+    };
     "truncate-2.0.1" = {
       name = "truncate";
       packageName = "truncate";
@@ -33685,6 +33955,15 @@ let
         sha1 = "405923909592d56f78a5818434b0b78489ca5f2b";
       };
     };
+    "try-resolve-1.0.1" = {
+      name = "try-resolve";
+      packageName = "try-resolve";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/try-resolve/-/try-resolve-1.0.1.tgz";
+        sha1 = "cfde6fabd72d63e5797cfaab873abbe8e700e912";
+      };
+    };
     "ts-node-7.0.1" = {
       name = "ts-node";
       packageName = "ts-node";
@@ -34261,6 +34540,15 @@ let
         sha1 = "14bc6cd40d98ffff75b405506bad873ecbbac3ba";
       };
     };
+    "unified-6.2.0" = {
+      name = "unified";
+      packageName = "unified";
+      version = "6.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz";
+        sha512 = "1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==";
+      };
+    };
     "union-0.4.6" = {
       name = "union";
       packageName = "union";
@@ -34297,6 +34585,15 @@ let
         sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
       };
     };
+    "unique-concat-0.2.2" = {
+      name = "unique-concat";
+      packageName = "unique-concat";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-concat/-/unique-concat-0.2.2.tgz";
+        sha1 = "9210f9bdcaacc5e1e3929490d7c019df96f18712";
+      };
+    };
     "unique-filename-1.1.1" = {
       name = "unique-filename";
       packageName = "unique-filename";
@@ -34351,6 +34648,24 @@ let
         sha512 = "YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==";
       };
     };
+    "unist-util-remove-position-1.1.2" = {
+      name = "unist-util-remove-position";
+      packageName = "unist-util-remove-position";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz";
+        sha512 = "XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==";
+      };
+    };
+    "unist-util-stringify-position-1.1.2" = {
+      name = "unist-util-stringify-position";
+      packageName = "unist-util-stringify-position";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz";
+        sha512 = "pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==";
+      };
+    };
     "unist-util-visit-1.4.0" = {
       name = "unist-util-visit";
       packageName = "unist-util-visit";
@@ -34810,6 +35125,15 @@ let
         sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==";
       };
     };
+    "util-0.11.1" = {
+      name = "util";
+      packageName = "util";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.11.1.tgz";
+        sha512 = "HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==";
+      };
+    };
     "util-0.4.9" = {
       name = "util";
       packageName = "util";
@@ -35179,6 +35503,15 @@ let
         sha1 = "c0fd6fa484f8debdb771f68c31ed75d88da97fe7";
       };
     };
+    "vfile-2.3.0" = {
+      name = "vfile";
+      packageName = "vfile";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz";
+        sha512 = "ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==";
+      };
+    };
     "vfile-find-down-1.0.0" = {
       name = "vfile-find-down";
       packageName = "vfile-find-down";
@@ -35197,6 +35530,24 @@ let
         sha1 = "5604da6fe453b34350637984eb5fe4909e280390";
       };
     };
+    "vfile-location-2.0.4" = {
+      name = "vfile-location";
+      packageName = "vfile-location";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.4.tgz";
+        sha512 = "KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w==";
+      };
+    };
+    "vfile-message-1.1.1" = {
+      name = "vfile-message";
+      packageName = "vfile-message";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz";
+        sha512 = "1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==";
+      };
+    };
     "vfile-reporter-1.5.0" = {
       name = "vfile-reporter";
       packageName = "vfile-reporter";
@@ -36115,6 +36466,15 @@ let
         sha1 = "7f6194154fd1786cf261e68b5488c47127a04977";
       };
     };
+    "x-is-string-0.1.0" = {
+      name = "x-is-string";
+      packageName = "x-is-string";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz";
+        sha1 = "474b50865af3a49a9c4657f05acd145458f77d82";
+      };
+    };
     "xcode-1.1.0" = {
       name = "xcode";
       packageName = "xcode";
@@ -36169,6 +36529,15 @@ let
         sha1 = "78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5";
       };
     };
+    "xml-escape-1.1.0" = {
+      name = "xml-escape";
+      packageName = "xml-escape";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml-escape/-/xml-escape-1.1.0.tgz";
+        sha1 = "3904c143fa8eb3a0030ec646d2902a2f1b706c44";
+      };
+    };
     "xml-name-validator-2.0.1" = {
       name = "xml-name-validator";
       packageName = "xml-name-validator";
@@ -36910,10 +37279,10 @@ in
   bower = nodeEnv.buildNodePackage {
     name = "bower";
     packageName = "bower";
-    version = "1.8.4";
+    version = "1.8.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz";
-      sha1 = "e7876a076deb8137f7d06525dc5e8c66db82f28a";
+      url = "https://registry.npmjs.org/bower/-/bower-1.8.7.tgz";
+      sha512 = "M0yrA0IkpXP4v2taRkmowyUHTCFAvtfTVtRDAXBnhZM02xh8fP3wlrdOiXPs/5CYBCdj20WyGKZuYA0g3h3Y1w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -36936,7 +37305,7 @@ in
       sources."argparse-1.0.4"
       sources."array-find-index-1.0.2"
       sources."balanced-match-1.0.0"
-      sources."bower-1.8.4"
+      sources."bower-1.8.7"
       sources."bower-endpoint-parser-0.2.1"
       sources."bower-json-0.6.0"
       sources."bower-logger-0.2.1"
@@ -37165,7 +37534,7 @@ in
       sources."os-browserify-0.3.0"
       sources."pako-1.0.8"
       sources."parents-1.0.1"
-      sources."parse-asn1-5.1.1"
+      sources."parse-asn1-5.1.3"
       sources."path-browserify-0.0.1"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.6"
@@ -38134,7 +38503,7 @@ in
       sources."package-json-4.0.1"
       sources."pako-0.2.9"
       sources."parents-1.0.1"
-      sources."parse-asn1-5.1.1"
+      sources."parse-asn1-5.1.3"
       sources."parseurl-1.3.2"
       sources."path-browserify-0.0.1"
       sources."path-is-absolute-1.0.1"
@@ -39588,7 +39957,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.1"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.389.0"
+      sources."aws-sdk-2.391.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
       sources."base64-js-1.3.0"
@@ -39796,7 +40165,7 @@ in
       sources."for-own-0.1.5"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."glob-base-0.3.0"
@@ -40125,10 +40494,10 @@ in
   elm-test = nodeEnv.buildNodePackage {
     name = "elm-test";
     packageName = "elm-test";
-    version = "0.19.0-rev3";
+    version = "0.19.0-rev4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.0-rev3.tgz";
-      sha512 = "+zcutibM0LOG6uT48bMsSGzyPnptgenxBUjNMJFRYuddTrOFVH1dFCKUu512lsvihBUJixaxjIG+DjQbWlpO/Q==";
+      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.19.0-rev4.tgz";
+      sha512 = "PWRg9rOc7R2W1lREG5ZaVDywORXO9TYCJzfkK3KEcyiqBr+NpBONp25VhPQKm5mfQvXEtiCWVvqn54/q0bKx9g==";
     };
     dependencies = [
       sources."ajv-6.7.0"
@@ -40208,7 +40577,7 @@ in
       })
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.2"
-      sources."elmi-to-json-0.19.0"
+      sources."elmi-to-json-0.19.1"
       sources."escape-string-regexp-1.0.5"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
@@ -40812,10 +41181,10 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "5.12.0";
+    version = "5.12.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-5.12.0.tgz";
-      sha512 = "LntwyPxtOHrsJdcSwyQKVtHofPHdv+4+mFwEe91r2V13vqpM8yLr7b1sW+Oo/yheOPkWYsYlYJCkzlFAt8KV7g==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-5.12.1.tgz";
+      sha512 = "54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg==";
     };
     dependencies = [
       sources."@babel/code-frame-7.0.0"
@@ -40984,7 +41353,7 @@ in
       sources."deep-is-0.1.3"
       sources."doctrine-2.1.0"
       sources."escape-string-regexp-1.0.5"
-      sources."eslint-5.12.0"
+      sources."eslint-5.12.1"
       sources."eslint-scope-4.0.0"
       sources."eslint-utils-1.3.1"
       sources."eslint-visitor-keys-1.0.0"
@@ -41594,7 +41963,7 @@ in
       sources."forever-monitor-1.7.1"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."get-value-2.0.6"
       sources."glob-7.1.3"
       sources."glob-base-0.3.0"
@@ -42044,7 +42413,7 @@ in
           sources."looper-3.0.0"
         ];
       })
-      sources."pull-ws-3.3.1"
+      sources."pull-ws-3.3.2"
       sources."railroad-diagrams-1.0.0"
       sources."randexp-0.4.6"
       sources."rc-1.2.8"
@@ -43151,7 +43520,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
       sources."get-value-2.0.6"
@@ -45579,7 +45948,7 @@ in
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."get-value-2.0.6"
       sources."glob-7.1.3"
       (sources."glob-parent-3.1.0" // {
@@ -46183,43 +46552,43 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "3.10.5";
+    version = "3.10.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-3.10.5.tgz";
-      sha512 = "rJ67oqEiF8AVw+9phKbGkC0k0oqu1rdnmzrIfVS40EQCwEtzBC1ABX1886PBV0N40Pt9wCy6a0Jhrd+PV4IiIQ==";
+      url = "https://registry.npmjs.org/lerna/-/lerna-3.10.6.tgz";
+      sha512 = "qdoyEpozHKQQnrpaDWbhiFG85/CBAyz2rkcj78JQVl2g400n9FFqS2Zweol5wusRnUzmpQKxFFll4P9DzIzSIA==";
     };
     dependencies = [
-      sources."@lerna/add-3.10.5"
-      sources."@lerna/batch-packages-3.10.0"
-      sources."@lerna/bootstrap-3.10.5"
-      sources."@lerna/changed-3.10.5"
+      sources."@lerna/add-3.10.6"
+      sources."@lerna/batch-packages-3.10.6"
+      sources."@lerna/bootstrap-3.10.6"
+      sources."@lerna/changed-3.10.6"
       sources."@lerna/check-working-tree-3.10.0"
       sources."@lerna/child-process-3.3.0"
-      sources."@lerna/clean-3.10.1"
-      sources."@lerna/cli-3.10.0"
+      sources."@lerna/clean-3.10.6"
+      sources."@lerna/cli-3.10.6"
       sources."@lerna/collect-updates-3.10.1"
-      sources."@lerna/command-3.10.0"
+      sources."@lerna/command-3.10.6"
       sources."@lerna/conventional-commits-3.10.0"
-      (sources."@lerna/create-3.10.0" // {
+      (sources."@lerna/create-3.10.6" // {
         dependencies = [
           sources."camelcase-4.1.0"
         ];
       })
       sources."@lerna/create-symlink-3.6.0"
       sources."@lerna/describe-ref-3.10.0"
-      sources."@lerna/diff-3.10.0"
-      sources."@lerna/exec-3.10.1"
-      sources."@lerna/filter-options-3.10.1"
+      sources."@lerna/diff-3.10.6"
+      sources."@lerna/exec-3.10.6"
+      sources."@lerna/filter-options-3.10.6"
       sources."@lerna/filter-packages-3.10.0"
       sources."@lerna/get-npm-exec-opts-3.6.0"
       sources."@lerna/get-packed-3.7.0"
-      sources."@lerna/global-options-3.1.3"
+      sources."@lerna/global-options-3.10.6"
       sources."@lerna/has-npm-version-3.10.0"
-      sources."@lerna/import-3.10.0"
-      sources."@lerna/init-3.10.0"
-      sources."@lerna/link-3.10.0"
-      sources."@lerna/list-3.10.1"
-      sources."@lerna/listable-3.10.0"
+      sources."@lerna/import-3.10.6"
+      sources."@lerna/init-3.10.6"
+      sources."@lerna/link-3.10.6"
+      sources."@lerna/list-3.10.6"
+      sources."@lerna/listable-3.10.6"
       sources."@lerna/log-packed-3.6.0"
       sources."@lerna/npm-conf-3.7.0"
       sources."@lerna/npm-dist-tag-3.8.5"
@@ -46229,21 +46598,21 @@ in
       sources."@lerna/output-3.6.0"
       sources."@lerna/pack-directory-3.10.5"
       sources."@lerna/package-3.7.2"
-      sources."@lerna/package-graph-3.10.0"
+      sources."@lerna/package-graph-3.10.6"
       sources."@lerna/project-3.10.0"
       sources."@lerna/prompt-3.6.0"
-      sources."@lerna/publish-3.10.5"
+      sources."@lerna/publish-3.10.6"
       sources."@lerna/pulse-till-done-3.7.1"
       sources."@lerna/resolve-symlink-3.6.0"
       sources."@lerna/rimraf-dir-3.10.0"
-      sources."@lerna/run-3.10.1"
+      sources."@lerna/run-3.10.6"
       sources."@lerna/run-lifecycle-3.10.5"
       sources."@lerna/run-parallel-batches-3.0.0"
       sources."@lerna/symlink-binary-3.10.0"
       sources."@lerna/symlink-dependencies-3.10.0"
       sources."@lerna/timer-3.5.0"
       sources."@lerna/validation-error-3.6.0"
-      sources."@lerna/version-3.10.5"
+      sources."@lerna/version-3.10.6"
       sources."@lerna/write-log-file-3.6.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
@@ -47238,7 +47607,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from-0.1.7"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."get-value-2.0.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
@@ -47587,7 +47956,7 @@ in
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."github-slugger-1.2.1"
@@ -48226,7 +48595,7 @@ in
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.4.0"
+      sources."browserslist-4.4.1"
       sources."buffer-3.6.0"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -48367,7 +48736,7 @@ in
           sources."clone-1.0.4"
         ];
       })
-      sources."defer-to-connect-1.0.1"
+      sources."defer-to-connect-1.0.2"
       sources."define-properties-1.1.3"
       (sources."define-property-2.0.2" // {
         dependencies = [
@@ -48409,7 +48778,7 @@ in
       sources."estraverse-4.2.0"
       sources."estree-walker-0.5.2"
       sources."esutils-2.0.2"
-      sources."events-1.1.1"
+      sources."events-3.0.0"
       sources."evp_bytestokey-1.0.3"
       (sources."execa-1.0.0" // {
         dependencies = [
@@ -48550,7 +48919,7 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
       sources."get-proxy-2.1.0"
@@ -48756,7 +49125,7 @@ in
       })
       sources."nice-try-1.0.5"
       sources."node-fetch-2.3.0"
-      (sources."node-libs-browser-2.1.0" // {
+      (sources."node-libs-browser-2.2.0" // {
         dependencies = [
           sources."base64-js-1.3.0"
           sources."buffer-4.9.1"
@@ -48826,7 +49195,7 @@ in
       sources."pako-1.0.8"
       sources."parallel-transform-1.1.0"
       sources."paredit.js-0.3.4"
-      sources."parse-asn1-5.1.1"
+      sources."parse-asn1-5.1.3"
       sources."parse-glob-3.0.4"
       sources."parse-json-2.2.0"
       sources."parse-passwd-1.0.0"
@@ -49165,7 +49534,7 @@ in
       sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
       sources."use-3.1.1"
-      sources."util-0.10.4"
+      sources."util-0.11.1"
       sources."util-deprecate-1.0.2"
       sources."util.promisify-1.0.0"
       sources."v8-compile-cache-2.0.2"
@@ -51011,7 +51380,7 @@ in
       })
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       (sources."glob-parent-3.1.0" // {
@@ -51681,10 +52050,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "6.5.0";
+    version = "6.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-6.5.0.tgz";
-      sha512 = "SPq8zG2Kto+Xrq55E97O14Jla13PmQT5kSnvwBj88BmJZ5Nvw++OmlWfhjkB67pcgP5UEXljEtnGFKZtOgt6MQ==";
+      url = "https://registry.npmjs.org/npm/-/npm-6.6.0.tgz";
+      sha512 = "Q6Lb4YPWIGsyVzfxcZrTu6VQcMEvCHOBlSE0fbuNHj6CYCUuanMUf6HgNyj4QekWTORxQpOgOgaca2YEQ721Ug==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -52810,10 +53179,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "2.25.1";
+    version = "2.25.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-2.25.1.tgz";
-      sha512 = "VlDIaWSEQJuIQOFzhcg4YQ7enQMrJHb11eUclMj1VxIOxCZX51e/EDu+PZ0IO/4iQsgifiVoQcBbacBKi55jDA==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-2.25.2.tgz";
+      sha512 = "DB1IFfFf4bxb2nVveQ+Xi4KXO/5uR/53w6GCBRWaej0SZnrHeK+6Lp+/dh0S3THMnX88TJLniTOkAUBco2AItA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -53000,7 +53369,7 @@ in
           sources."pako-1.0.8"
         ];
       })
-      sources."browserslist-4.4.0"
+      sources."browserslist-4.4.1"
       (sources."buffer-4.9.1" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -53154,7 +53523,7 @@ in
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
       sources."etag-1.8.1"
-      sources."events-1.1.1"
+      sources."events-3.0.0"
       sources."evp_bytestokey-1.0.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -53179,7 +53548,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."function-bind-1.1.1"
       sources."get-port-3.2.0"
       sources."get-value-2.0.6"
@@ -53391,7 +53760,7 @@ in
       sources."nice-try-1.0.5"
       sources."node-addon-api-1.6.2"
       sources."node-forge-0.7.6"
-      sources."node-libs-browser-2.1.0"
+      sources."node-libs-browser-2.2.0"
       sources."node-releases-1.1.3"
       sources."nopt-4.0.1"
       sources."normalize-path-2.1.1"
@@ -53418,7 +53787,7 @@ in
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
       sources."pako-0.2.9"
-      sources."parse-asn1-5.1.1"
+      sources."parse-asn1-5.1.3"
       sources."parse-json-4.0.0"
       sources."parseurl-1.3.2"
       sources."pascalcase-0.1.1"
@@ -53749,7 +54118,7 @@ in
         ];
       })
       sources."use-3.1.1"
-      sources."util-0.10.4"
+      sources."util-0.11.1"
       sources."util-deprecate-1.0.2"
       sources."util.promisify-1.0.0"
       sources."v8-compile-cache-2.0.2"
@@ -53965,7 +54334,7 @@ in
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."function-bind-1.1.1"
       sources."get-assigned-identifiers-1.2.0"
       sources."get-value-2.0.6"
@@ -54086,7 +54455,7 @@ in
       sources."os-tmpdir-1.0.2"
       sources."pako-0.2.9"
       sources."parents-1.0.1"
-      sources."parse-asn1-5.1.1"
+      sources."parse-asn1-5.1.3"
       sources."pascalcase-0.1.1"
       sources."path-browserify-0.0.1"
       sources."path-dirname-1.0.2"
@@ -54684,7 +55053,7 @@ in
           sources."level-codec-6.2.0"
         ];
       })
-      (sources."flumedb-1.0.1" // {
+      (sources."flumedb-1.0.4" // {
         dependencies = [
           sources."pull-cont-0.0.0"
         ];
@@ -54727,7 +55096,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
       sources."get-value-2.0.6"
@@ -55048,7 +55417,7 @@ in
         ];
       })
       sources."pull-write-file-0.2.4"
-      sources."pull-ws-3.3.1"
+      sources."pull-ws-3.3.2"
       sources."pump-2.0.1"
       sources."push-stream-10.0.4"
       sources."push-stream-to-pull-stream-1.0.3"
@@ -55195,7 +55564,7 @@ in
       sources."source-map-url-0.4.0"
       sources."split-buffer-1.0.0"
       sources."split-string-3.1.0"
-      sources."ssb-blobs-1.1.8"
+      sources."ssb-blobs-1.1.9"
       (sources."ssb-client-4.6.0" // {
         dependencies = [
           sources."multiserver-1.13.7"
@@ -56761,7 +57130,7 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-0.24.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."glob-7.1.3"
@@ -57250,6 +57619,227 @@ in
     production = true;
     bypassCache = true;
   };
+  textlint = nodeEnv.buildNodePackage {
+    name = "textlint";
+    packageName = "textlint";
+    version = "11.2.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint/-/textlint-11.2.1.tgz";
+      sha512 = "BXknewyTyypmC7vBvY+2SY5uXmHPG8jnnbiV7f4PBOX8xRciMX7qU5ilGiOb8qDI0NBaNRcwn3lHUqW/90GBIg==";
+    };
+    dependencies = [
+      sources."@azu/format-text-1.0.1"
+      sources."@azu/style-format-1.0.0"
+      sources."@textlint/ast-node-types-4.2.1"
+      sources."@textlint/ast-traverse-2.1.2"
+      sources."@textlint/feature-flag-3.1.2"
+      sources."@textlint/fixer-formatter-3.1.2"
+      sources."@textlint/kernel-3.1.2"
+      sources."@textlint/linter-formatter-3.1.2"
+      sources."@textlint/markdown-to-ast-6.1.2"
+      sources."@textlint/text-to-ast-3.1.2"
+      sources."@textlint/textlint-plugin-markdown-5.1.2"
+      sources."@textlint/textlint-plugin-text-4.1.2"
+      sources."@textlint/types-1.1.2"
+      sources."@types/bluebird-3.5.25"
+      sources."ajv-4.11.8"
+      sources."ajv-keywords-1.5.1"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."argparse-1.0.10"
+      sources."bail-1.0.3"
+      sources."balanced-match-1.0.0"
+      sources."bluebird-3.5.3"
+      sources."boundary-1.0.1"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.1.1"
+      sources."builtin-modules-1.1.1"
+      sources."chalk-1.1.3"
+      sources."character-entities-1.2.2"
+      sources."character-entities-legacy-1.1.2"
+      sources."character-reference-invalid-1.1.2"
+      sources."charenc-0.0.2"
+      sources."circular-json-0.3.3"
+      sources."co-4.6.0"
+      sources."code-point-at-1.1.0"
+      sources."collapse-white-space-1.0.4"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."crypt-0.0.2"
+      sources."debug-4.1.1"
+      sources."deep-equal-1.0.1"
+      sources."deep-is-0.1.3"
+      sources."define-properties-1.1.3"
+      sources."diff-2.2.3"
+      sources."error-ex-1.3.2"
+      sources."es-abstract-1.13.0"
+      sources."es-to-primitive-1.2.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-4.0.1"
+      sources."extend-3.0.2"
+      sources."fast-levenshtein-2.0.6"
+      sources."fault-1.0.2"
+      sources."file-entry-cache-2.0.0"
+      sources."find-up-2.1.0"
+      sources."flat-cache-1.3.4"
+      sources."format-0.2.2"
+      sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
+      sources."get-stdin-5.0.1"
+      sources."glob-7.1.3"
+      sources."graceful-fs-4.1.15"
+      sources."has-1.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-symbols-1.0.0"
+      sources."hosted-git-info-2.7.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."interop-require-1.0.0"
+      sources."is-alphabetical-1.0.2"
+      sources."is-alphanumerical-1.0.2"
+      sources."is-arrayish-0.2.1"
+      sources."is-buffer-1.1.6"
+      sources."is-builtin-module-1.0.0"
+      sources."is-callable-1.1.4"
+      sources."is-date-object-1.0.1"
+      sources."is-decimal-1.0.2"
+      sources."is-file-1.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-hexadecimal-1.0.2"
+      sources."is-plain-obj-1.1.0"
+      sources."is-regex-1.0.4"
+      sources."is-symbol-1.0.2"
+      sources."is-utf8-0.2.1"
+      sources."is-whitespace-character-1.0.2"
+      sources."is-word-character-1.0.2"
+      sources."isarray-1.0.0"
+      sources."js-yaml-3.12.1"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-stable-stringify-1.0.1"
+      (sources."json5-1.0.1" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."jsonify-0.0.0"
+      sources."levn-0.3.0"
+      sources."load-json-file-1.1.0"
+      sources."locate-path-2.0.0"
+      sources."lodash-4.17.11"
+      sources."log-symbols-1.0.2"
+      sources."map-like-2.0.0"
+      sources."markdown-escapes-1.0.2"
+      sources."md5-2.2.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.1.1"
+      sources."normalize-package-data-2.4.0"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."object-keys-1.0.12"
+      sources."once-1.4.0"
+      sources."optionator-0.8.2"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."parse-entities-1.2.0"
+      sources."parse-json-2.2.0"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-to-glob-pattern-1.0.2"
+      sources."path-type-1.1.0"
+      sources."pify-2.3.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pluralize-2.0.0"
+      sources."prelude-ls-1.1.2"
+      sources."process-nextick-args-2.0.0"
+      (sources."rc-config-loader-2.0.2" // {
+        dependencies = [
+          sources."debug-3.2.6"
+        ];
+      })
+      sources."read-pkg-1.1.0"
+      (sources."read-pkg-up-3.0.0" // {
+        dependencies = [
+          sources."load-json-file-4.0.0"
+          sources."parse-json-4.0.0"
+          sources."path-type-3.0.0"
+          sources."pify-3.0.0"
+          sources."read-pkg-3.0.0"
+          sources."strip-bom-3.0.0"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      sources."remark-frontmatter-1.3.1"
+      sources."remark-parse-5.0.0"
+      sources."repeat-string-1.6.1"
+      sources."replace-ext-1.0.0"
+      sources."require-from-string-2.0.2"
+      sources."rimraf-2.6.3"
+      sources."safe-buffer-5.1.2"
+      sources."semver-5.6.0"
+      sources."slice-ansi-0.0.4"
+      sources."spdx-correct-3.1.0"
+      sources."spdx-exceptions-2.2.0"
+      sources."spdx-expression-parse-3.0.0"
+      sources."spdx-license-ids-3.0.3"
+      sources."sprintf-js-1.0.3"
+      sources."state-toggle-1.0.1"
+      sources."string-width-1.0.2"
+      sources."string.prototype.padstart-3.0.0"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-bom-2.0.0"
+      sources."structured-source-3.0.2"
+      sources."supports-color-2.0.0"
+      (sources."table-3.8.3" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."text-table-0.2.0"
+      sources."traverse-0.6.6"
+      sources."trim-0.0.1"
+      sources."trim-trailing-lines-1.1.1"
+      sources."trough-1.0.3"
+      sources."try-resolve-1.0.1"
+      sources."type-check-0.3.2"
+      sources."typedarray-0.0.6"
+      sources."unherit-1.1.1"
+      sources."unified-6.2.0"
+      sources."unique-concat-0.2.2"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-remove-position-1.1.2"
+      sources."unist-util-stringify-position-1.1.2"
+      sources."unist-util-visit-1.4.0"
+      sources."unist-util-visit-parents-2.0.1"
+      sources."util-deprecate-1.0.2"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vfile-2.3.0"
+      sources."vfile-location-2.0.4"
+      sources."vfile-message-1.1.1"
+      sources."wordwrap-1.0.0"
+      sources."wrappy-1.0.2"
+      sources."write-0.2.1"
+      sources."x-is-string-0.1.0"
+      sources."xml-escape-1.1.0"
+      sources."xtend-4.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The pluggable linting tool for text and markdown.";
+      homepage = https://github.com/textlint/textlint/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
@@ -57492,10 +58082,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "3.2.2";
+    version = "3.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz";
-      sha512 = "VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==";
+      url = "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz";
+      sha512 = "0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -58287,7 +58877,6 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/accepts-1.3.5"
-      sources."@types/async-2.0.50"
       sources."@types/body-parser-1.17.0"
       sources."@types/connect-3.4.32"
       sources."@types/cors-2.8.4"
@@ -58318,14 +58907,14 @@ in
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-2.0.0"
-      sources."apollo-cache-1.1.22"
+      sources."apollo-cache-1.1.25"
       (sources."apollo-cache-control-0.4.0" // {
         dependencies = [
           sources."graphql-extensions-0.4.0"
         ];
       })
-      sources."apollo-cache-inmemory-1.3.12"
-      sources."apollo-client-2.4.8"
+      sources."apollo-cache-inmemory-1.4.2"
+      sources."apollo-client-2.4.12"
       sources."apollo-datasource-0.2.1"
       (sources."apollo-engine-reporting-0.2.0" // {
         dependencies = [
@@ -58353,7 +58942,7 @@ in
         ];
       })
       sources."apollo-upload-client-9.1.0"
-      sources."apollo-utilities-1.0.27"
+      sources."apollo-utilities-1.1.2"
       sources."argparse-1.0.10"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
@@ -58456,7 +59045,7 @@ in
       sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.0.0-beta.8"
+      sources."core-js-3.0.0-beta.9"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."create-error-class-3.0.2"
@@ -58611,7 +59200,7 @@ in
       sources."fs-exists-sync-0.1.0"
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."fswin-2.17.1227"
       sources."function-bind-1.1.1"
       sources."generate-function-1.1.0"
@@ -58640,10 +59229,10 @@ in
       sources."graceful-fs-4.1.15"
       sources."graceful-readlink-1.0.1"
       sources."graphql-14.1.1"
-      sources."graphql-anywhere-4.1.24"
+      sources."graphql-anywhere-4.1.27"
       sources."graphql-extensions-0.4.1"
       sources."graphql-subscriptions-1.0.0"
-      sources."graphql-tag-2.10.0"
+      sources."graphql-tag-2.10.1"
       sources."graphql-tools-4.0.3"
       sources."graphql-type-json-0.2.1"
       sources."graphql-upload-8.0.4"
@@ -58670,7 +59259,7 @@ in
       sources."ieee754-1.1.12"
       sources."ignore-3.3.10"
       sources."ignore-by-default-1.0.1"
-      sources."immutable-tuple-0.4.9"
+      sources."immutable-tuple-0.4.10"
       sources."import-global-0.1.0"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
@@ -58840,7 +59429,7 @@ in
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."opn-5.4.0"
-      sources."optimism-0.6.8"
+      sources."optimism-0.6.9"
       sources."ora-3.0.0"
       sources."os-tmpdir-1.0.2"
       sources."p-finally-1.0.0"
@@ -59491,7 +60080,7 @@ in
       sources."eslint-scope-4.0.0"
       sources."esrecurse-4.2.1"
       sources."estraverse-4.2.0"
-      sources."events-1.1.1"
+      sources."events-3.0.0"
       sources."evp_bytestokey-1.0.3"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -59538,7 +60127,7 @@ in
       sources."from2-2.3.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.6"
+      sources."fsevents-1.2.7"
       sources."get-value-2.0.6"
       sources."glob-7.1.3"
       (sources."glob-parent-3.1.0" // {
@@ -59616,7 +60205,7 @@ in
       sources."nan-2.12.1"
       sources."nanomatch-1.2.13"
       sources."neo-async-2.6.0"
-      (sources."node-libs-browser-2.1.0" // {
+      (sources."node-libs-browser-2.2.0" // {
         dependencies = [
           sources."punycode-1.4.1"
         ];
@@ -59644,7 +60233,7 @@ in
       sources."p-try-2.0.0"
       sources."pako-1.0.8"
       sources."parallel-transform-1.1.0"
-      sources."parse-asn1-5.1.1"
+      sources."parse-asn1-5.1.3"
       sources."pascalcase-0.1.1"
       sources."path-browserify-0.0.0"
       sources."path-dirname-1.0.2"
@@ -59805,7 +60394,7 @@ in
         ];
       })
       sources."use-3.1.1"
-      sources."util-0.10.4"
+      sources."util-0.11.1"
       sources."util-deprecate-1.0.2"
       sources."vm-browserify-0.0.4"
       sources."watchpack-1.6.0"
@@ -60614,7 +61203,7 @@ in
       sources."cheerio-1.0.0-rc.2"
       (sources."chokidar-2.0.4" // {
         dependencies = [
-          sources."fsevents-1.2.6"
+          sources."fsevents-1.2.7"
         ];
       })
       sources."circular-json-0.3.3"
diff --git a/pkgs/development/python-modules/audio-metadata/default.nix b/pkgs/development/python-modules/audio-metadata/default.nix
new file mode 100644
index 000000000000..633daab7d4e3
--- /dev/null
+++ b/pkgs/development/python-modules/audio-metadata/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, attrs
+, bidict
+, bitstruct
+, more-itertools
+, pprintpp
+}:
+
+buildPythonPackage rec {
+  pname = "audio-metadata";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jd0wzhh9as2qyiwggqmvsbsm5nlb73qnxix2mcar53cddvwrvj7";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    bidict
+    bitstruct
+    more-itertools
+    pprintpp
+  ];
+
+  # No tests
+  doCheck = false;
+
+  disabled = pythonOlder "3.6";
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/audio-metadata;
+    description = "A library for reading and, in the future, writing metadata from audio files";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-storage-blob/default.nix b/pkgs/development/python-modules/azure-storage-blob/default.nix
new file mode 100644
index 000000000000..9a84a7326850
--- /dev/null
+++ b/pkgs/development/python-modules/azure-storage-blob/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, azure-common
+, azure-storage-common
+, isPy3k
+, futures
+}:
+
+buildPythonPackage rec {
+  pname = "azure-storage-blob";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "65ebe2e54460566c2077c6b3773a2a0623eabc7b95602010cb51b84077087fda";
+  };
+
+  propagatedBuildInputs = [
+    azure-common
+    azure-storage-common
+  ] ++ lib.optional (!isPy3k) futures;
+
+  # has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Client library for Microsoft Azure Storage services containing the blob service APIs";
+    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-blob;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-storage-common/default.nix b/pkgs/development/python-modules/azure-storage-common/default.nix
new file mode 100644
index 000000000000..6561163c3a2b
--- /dev/null
+++ b/pkgs/development/python-modules/azure-storage-common/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, azure-common
+, cryptography
+, python-dateutil
+, requests
+, isPy3k
+, azure-storage-nspkg
+}:
+
+buildPythonPackage rec {
+  pname = "azure-storage-common";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7ab607f9b8fd27b817482194b1e7d43484c65dcf2605aae21ad8706c6891934d";
+  };
+
+  propagatedBuildInputs = [
+    azure-common
+    cryptography
+    python-dateutil
+    requests
+  ] ++ lib.optional (!isPy3k) azure-storage-nspkg;
+
+  # has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Client library for Microsoft Azure Storage services containing common code shared by blob, file and queue";
+    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-common;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-storage-file/default.nix b/pkgs/development/python-modules/azure-storage-file/default.nix
new file mode 100644
index 000000000000..ffdb2f656c1d
--- /dev/null
+++ b/pkgs/development/python-modules/azure-storage-file/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, azure-common
+, azure-storage-common
+, isPy3k
+, futures
+}:
+
+buildPythonPackage rec {
+  pname = "azure-storage-file";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5217b0441b671246a8d5f506a459fa3af084eeb9297c5be3bbe95d75d23bac2f";
+  };
+
+  propagatedBuildInputs = [
+    azure-common
+    azure-storage-common
+  ] ++ lib.optional (!isPy3k) futures;
+
+  # has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Client library for Microsoft Azure Storage services containing the file service APIs";
+    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-file;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-storage-nspkg/default.nix b/pkgs/development/python-modules/azure-storage-nspkg/default.nix
new file mode 100644
index 000000000000..5efef893a756
--- /dev/null
+++ b/pkgs/development/python-modules/azure-storage-nspkg/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, azure-nspkg
+}:
+
+buildPythonPackage rec {
+  pname = "azure-storage-nspkg";
+  version = "3.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6f3bbe8652d5f542767d8433e7f96b8df7f518774055ac7c92ed7ca85f653811";
+  };
+
+  propagatedBuildInputs = [
+    azure-nspkg
+  ];
+
+  # has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Client library for Microsoft Azure Storage services owning the azure.storage namespace, user should not use this directly";
+    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-nspkg;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-storage-queue/default.nix b/pkgs/development/python-modules/azure-storage-queue/default.nix
new file mode 100644
index 000000000000..1ca1288e9b44
--- /dev/null
+++ b/pkgs/development/python-modules/azure-storage-queue/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, azure-common
+, azure-storage-common
+}:
+
+buildPythonPackage rec {
+  pname = "azure-storage-queue";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bafe9e61c0ce7b3f3ecadea21e931dab3248bd4989dc327a8666c5deae7f7ed";
+  };
+
+  propagatedBuildInputs = [
+    azure-common
+    azure-storage-common
+  ];
+
+  # has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Client library for Microsoft Azure Storage services containing the queue service APIs";
+    homepage = https://github.com/Azure/azure-storage-python/tree/master/azure-storage-queue;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
diff --git a/pkgs/development/python-modules/bidict/default.nix b/pkgs/development/python-modules/bidict/default.nix
new file mode 100644
index 000000000000..ed99686ed27b
--- /dev/null
+++ b/pkgs/development/python-modules/bidict/default.nix
@@ -0,0 +1,42 @@
+{ lib, buildPythonPackage, fetchPypi
+, setuptools_scm
+, sphinx
+, hypothesis
+, py
+, pytest
+, pytest-benchmark
+, sortedcollections
+, sortedcontainers
+}:
+
+buildPythonPackage rec {
+  pname = "bidict";
+  version = "0.17.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1icj0fnfx47n6i33pj5gfrmd1rzpvah1jihhdhqiqx2cy9rs6x4c";
+  };
+
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ sphinx ];
+
+  checkInputs = [
+    hypothesis
+    py
+    pytest
+    pytest-benchmark
+    sortedcollections
+    sortedcontainers
+  ];
+  checkPhase = ''
+    pytest tests
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/jab/bidict;
+    description = "Efficient, Pythonic bidirectional map data structures and related functionality";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/bitstruct/default.nix b/pkgs/development/python-modules/bitstruct/default.nix
new file mode 100644
index 000000000000..2bc4a5bbb616
--- /dev/null
+++ b/pkgs/development/python-modules/bitstruct/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "bitstruct";
+  version = "6.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1znqgy2ikdqn6n6mv1ccfbl0q7x65bh3i9ph0yjl4rihwvxyg9fg";
+  };
+
+  meta = with lib; {
+    homepage = https://github.com/eerimoq/bitstruct;
+    description = "Python bit pack/unpack package";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/braintree/default.nix b/pkgs/development/python-modules/braintree/default.nix
new file mode 100644
index 000000000000..5bd545db51cc
--- /dev/null
+++ b/pkgs/development/python-modules/braintree/default.nix
@@ -0,0 +1,27 @@
+{ lib,
+  fetchPypi,
+  requests,
+  buildPythonPackage
+}:
+
+buildPythonPackage rec {
+  pname = "braintree";
+  version = "3.50.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d1d7a6854b623f2c616451fa474113ac7fb8a2cbeb7dfad36dd3312113484030";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # pypi release does not include tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python library for integration with Braintree";
+    homepage = https://github.com/braintree/braintree_python;
+    license = licenses.mit;
+    maintainers = [ maintainers.ivegotasthma ];
+  };
+}
diff --git a/pkgs/development/python-modules/bugwarrior/default.nix b/pkgs/development/python-modules/bugwarrior/default.nix
index 844aebbbb965..b2b10671f2b9 100644
--- a/pkgs/development/python-modules/bugwarrior/default.nix
+++ b/pkgs/development/python-modules/bugwarrior/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildPythonPackage, fetchPypi
 , mock, unittest2, nose
 , twiggy, requests, offtrac, bugzilla, taskw, dateutil, pytz, keyring, six
-, jinja2, pycurl, dogpile_cache, lockfile, click, pyxdg, future15 }:
+, jinja2, pycurl, dogpile_cache, lockfile, click, pyxdg, future }:
 
 buildPythonPackage rec {
   pname = "bugwarrior";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   buildInputs = [ mock unittest2 nose /* jira megaplan */ ];
   propagatedBuildInputs = [
     twiggy requests offtrac bugzilla taskw dateutil pytz keyring six
-    jinja2 pycurl dogpile_cache lockfile click pyxdg future15
+    jinja2 pycurl dogpile_cache lockfile click pyxdg future
   ];
 
   # for the moment jira>=0.22 and megaplan>=1.4 are missing for running the test suite.
diff --git a/pkgs/development/python-modules/cachetools/1.nix b/pkgs/development/python-modules/cachetools/1.nix
deleted file mode 100644
index 05f3afe758a6..000000000000
--- a/pkgs/development/python-modules/cachetools/1.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPyPy }:
-
-buildPythonPackage rec {
-  pname = "cachetools";
-  version = "2.1.0";
-  disabled = isPyPy;  # a test fails
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "90f1d559512fc073483fe573ef5ceb39bf6ad3d39edc98dc55178a2b2b176fa3";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = "https://github.com/tkem/cachetools";
-    license = licenses.mit;
-  };
-}
diff --git a/pkgs/development/python-modules/click-default-group/default.nix b/pkgs/development/python-modules/click-default-group/default.nix
new file mode 100644
index 000000000000..673a570c61f0
--- /dev/null
+++ b/pkgs/development/python-modules/click-default-group/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchFromGitHub, click, pytest }:
+
+buildPythonPackage rec {
+  pname = "click-default-group";
+  version = "1.2";
+
+  # No tests in Pypi tarball
+  src = fetchFromGitHub {
+    owner = "click-contrib";
+    repo = "click-default-group";
+    rev = "v${version}";
+    sha256 = "0lm2k4jvy4ilvv91niawklfnp5mp7wa8c1bicsqdfzrxmw7jliwp";
+  };
+
+  propagatedBuildInputs = [ click ];
+
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    homepage = https://github.com/click-contrib/click-default-group;
+    description = "Group to invoke a command without explicit subcommand name";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-compat/default.nix b/pkgs/development/python-modules/django-compat/default.nix
index d575c1b674b0..32d85cfadd71 100644
--- a/pkgs/development/python-modules/django-compat/default.nix
+++ b/pkgs/development/python-modules/django-compat/default.nix
@@ -1,36 +1,31 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, python,
-  django, django_nose, six
+  django, six
 }:
 buildPythonPackage rec {
   pname = "django-compat";
-  version = "1.0.14";
+  version = "1.0.15";
 
   # the pypi packages don't include everything required for the tests
   src = fetchFromGitHub {
     owner = "arteria";
     repo = "django-compat";
     rev = "v${version}";
-    sha256 = "11g6ra6djkchqk44v8k7biaxd1v69qyyyask5l92vmrvb0qiwvm8";
+    sha256 = "1pr6v38ahrsvxlgmcx69s4b5q5082f44gzi4h3c32sccdc4pwqxp";
   };
 
   checkPhase = ''
     runHook preCheck
 
-    # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the
-    # source directory
-    mkdir -p testbase/compat
-    pushd testbase
-    # note we're not copying the direct contents of compat/ (notably __init__.py) so python won't recognize this as a
-    # package, but the tests need to be in a specific path for the test templates to get picked up.
-    cp -r ../compat/tests compat/
-    cp ../runtests.py .
-    ${python.interpreter} runtests.py compat/tests
-    popd
+    # to convince the tests to run against the installed package, not the source directory, we extract the
+    # tests directory from it then dispose of the actual source
+    mv compat/tests .
+    rm -r compat
+    substituteInPlace runtests.py --replace compat.tests tests
+    ${python.interpreter} runtests.py
 
     runHook postCheck
   '';
 
-  checkInputs = [ django_nose ];
   propagatedBuildInputs = [ django six ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/django-cors-headers/default.nix b/pkgs/development/python-modules/django-cors-headers/default.nix
new file mode 100644
index 000000000000..21f5b841adb8
--- /dev/null
+++ b/pkgs/development/python-modules/django-cors-headers/default.nix
@@ -0,0 +1,27 @@
+{ lib,
+  fetchPypi,
+  django,
+  buildPythonPackage
+}:
+
+buildPythonPackage rec {
+  pname = "django-cors-headers";
+  version = "2.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1qfa9awsj3f0nwygb0vdh4ilcsfi6zinzng73cd5864x2fbyxhn4";
+  };
+
+  propagatedBuildInputs = [ django ];
+
+  # pypi release does not include tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Django app for handling server Cross-Origin Resource Sharing (CORS) headers";
+    homepage = https://github.com/OttoYiu/django-cors-headers;
+    license = licenses.mit;
+    maintainers = [ maintainers.ivegotasthma ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-hijack-admin/default.nix b/pkgs/development/python-modules/django-hijack-admin/default.nix
index e6cd5a3482fe..005d61acab9b 100644
--- a/pkgs/development/python-modules/django-hijack-admin/default.nix
+++ b/pkgs/development/python-modules/django-hijack-admin/default.nix
@@ -2,14 +2,14 @@
   django_hijack, django_nose }:
 buildPythonPackage rec {
   pname = "django-hijack-admin";
-  version = "2.1.5";
+  version = "2.1.10";
 
   # the pypi packages don't include everything required for the tests
   src = fetchFromGitHub {
     owner = "arteria";
     repo = "django-hijack-admin";
     rev = "v${version}";
-    sha256 = "02j75blvkjiz5mv5wc4jxl27rgmjsrl6l67a3p8342jwazzsm6jg";
+    sha256 = "0m98lchp2y43886n67j4s7miyd50pg2r5r966vjnxmd7nx7qkihf";
   };
 
   checkInputs = [ django_nose ];
@@ -17,13 +17,21 @@ buildPythonPackage rec {
 
   checkPhase = ''
     runHook preCheck
+
+    # we have to do a little bit of tinkering to convince the tests to run against the installed package, not the
+    # source directory
+    mkdir testbase
+    pushd testbase
+    mv ../runtests.py .
     ${python.interpreter} runtests.py hijack_admin
+    popd
+
     runHook postCheck
   '';
 
   meta = with stdenv.lib; {
     description = "Admin integration for django-hijack";
-    homepage = https://github.com/arteria/django-hijack;
+    homepage = https://github.com/arteria/django-hijack-admin;
     license = licenses.mit;
     maintainers = with maintainers; [ lsix ];
   };
diff --git a/pkgs/development/python-modules/django-hijack/default.nix b/pkgs/development/python-modules/django-hijack/default.nix
index bdf503cd8492..f41e7d146c97 100644
--- a/pkgs/development/python-modules/django-hijack/default.nix
+++ b/pkgs/development/python-modules/django-hijack/default.nix
@@ -3,15 +3,14 @@
 }:
 buildPythonPackage rec {
   pname = "django-hijack";
-  version = "2.1.9";
-  name = pname + "-" + version;
+  version = "2.1.10";
 
   # the pypi packages don't include everything required for the tests
   src = fetchFromGitHub {
     owner = "arteria";
     repo = "django-hijack";
     rev = "v${version}";
-    sha256 = "109xi93xj37ycdsvainybhg89pcb5sawv6w80px4r6fjvaq4732c";
+    sha256 = "01fwkjdzvw0yx2spwi7zc1yy64ndq1y72bfmk7kxnq5x803m2ak6";
   };
 
   checkInputs = [ django_nose ];
@@ -24,7 +23,7 @@ buildPythonPackage rec {
     # source directory
     mkdir testbase
     pushd testbase
-    cp ../runtests.py .
+    mv ../runtests.py .
     ${python.interpreter} runtests.py hijack
     popd
 
diff --git a/pkgs/development/python-modules/django-rest-auth/default.nix b/pkgs/development/python-modules/django-rest-auth/default.nix
new file mode 100644
index 000000000000..696376b3e4bd
--- /dev/null
+++ b/pkgs/development/python-modules/django-rest-auth/default.nix
@@ -0,0 +1,29 @@
+{ lib,
+  fetchPypi,
+  django,
+  djangorestframework,
+  six,
+  buildPythonPackage
+}:
+
+buildPythonPackage rec {
+  pname = "django-rest-auth";
+  version = "0.9.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ad155a0ed1061b32e3e46c9b25686e397644fd6acfd35d5c03bc6b9d2fc6c82a";
+  };
+
+  propagatedBuildInputs = [ django djangorestframework six ];
+
+  # pypi release does not include tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Django app that makes registration and authentication easy";
+    homepage = https://github.com/Tivix/django-rest-auth;
+    license = licenses.mit;
+    maintainers = [ maintainers.ivegotasthma ];
+  };
+}
diff --git a/pkgs/development/python-modules/django_reversion/default.nix b/pkgs/development/python-modules/django_reversion/default.nix
index 18fbbe2da311..35879a7bfb49 100644
--- a/pkgs/development/python-modules/django_reversion/default.nix
+++ b/pkgs/development/python-modules/django_reversion/default.nix
@@ -13,6 +13,9 @@ buildPythonPackage rec {
     sha256 = "9b8a245917e1bae131d3210c9ca7efbc066e60f32efa436e391c9803c3f4b61b";
   };
 
+  # tests assume the availability of a mysql/postgresql database
+  doCheck = false;
+
   propagatedBuildInputs = [ django ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/djangorestframework-jwt/default.nix b/pkgs/development/python-modules/djangorestframework-jwt/default.nix
new file mode 100644
index 000000000000..f50fd3ff9b61
--- /dev/null
+++ b/pkgs/development/python-modules/djangorestframework-jwt/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchPypi
+, django
+, pyjwt
+, djangorestframework
+, buildPythonPackage
+}:
+
+buildPythonPackage rec {
+  pname = "djangorestframework-jwt";
+  version = "1.11.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19rng6v1sw14mbjp5cplnrgxjnhlj8faalfw02iihi9s5w1k7zjy";
+  };
+
+  propagatedBuildInputs = [ pyjwt django djangorestframework ];
+
+  # ./runtests.py fails because the project must be tested against a django
+  # installation, there are missing database tables for User, that don't exist.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "JSON Web Token Authentication support for Django REST Framework";
+    homepage = https://github.com/GetBlimp/django-rest-framework-jwt;
+    license = licenses.mit;
+    maintainers = [ maintainers.ivegotasthma ];
+  };
+}
diff --git a/pkgs/development/python-modules/dugong/default.nix b/pkgs/development/python-modules/dugong/default.nix
index 20f4bc7e0c33..09faabb98cc6 100644
--- a/pkgs/development/python-modules/dugong/default.nix
+++ b/pkgs/development/python-modules/dugong/default.nix
@@ -2,12 +2,13 @@
 
 buildPythonPackage rec {
   pname = "dugong";
-  version = "3.5";
+  version = "3.7.4";
 
   disabled = pythonOlder "3.3"; # Library does not support versions older than 3.3
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0y0rdxbiwm03zv6vpvapqilrird3h8ijz7xmb0j7ds5j4p6q3g24";
+    extension = "tar.bz2";
+    sha256 = "1fb9kwib6jsd09bxiz70av6g0blscygkx7xzaz1b7ibd28ms77zd";
   };
 }
diff --git a/pkgs/development/python-modules/glances/default.nix b/pkgs/development/python-modules/glances/default.nix
index f25723e7ec72..9670428a3e5f 100644
--- a/pkgs/development/python-modules/glances/default.nix
+++ b/pkgs/development/python-modules/glances/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   name = "glances-${version}";
-  version = "3.0.2";
+  version = "3.1.0";
   disabled = isPyPy;
 
   src = fetchFromGitHub {
     owner = "nicolargo";
     repo = "glances";
     rev = "v${version}";
-    sha256 = "1jkjblfk4gbr00j7lny7ajiizzqnp0p1yhzfi14074gwk38z0q14";
+    sha256 = "0zjpp017i8b8bijdaj85rya7rmdqh4g8vkb42q14q2sw6agxz3zi";
   };
 
   patches = lib.optional doCheck ./skip-failing-tests.patch;
diff --git a/pkgs/development/python-modules/google-music-proto/default.nix b/pkgs/development/python-modules/google-music-proto/default.nix
new file mode 100644
index 000000000000..b2196c8748ce
--- /dev/null
+++ b/pkgs/development/python-modules/google-music-proto/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, attrs
+, audio-metadata
+, marshmallow
+, pendulum
+, protobuf
+}:
+
+buildPythonPackage rec {
+  pname = "google-music-proto";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "008nap32hcrlnkkqkf462vwnm6xzrn6fj71lbryfmrakad7rz7bc";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    audio-metadata
+    marshmallow
+    pendulum
+    protobuf
+  ];
+
+  # No tests
+  doCheck = false;
+
+  disabled = pythonOlder "3.6";
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/google-music-proto;
+    description = "Sans-I/O wrapper of Google Music API calls";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-music-utils/default.nix b/pkgs/development/python-modules/google-music-utils/default.nix
new file mode 100644
index 000000000000..d7fb8a917076
--- /dev/null
+++ b/pkgs/development/python-modules/google-music-utils/default.nix
@@ -0,0 +1,35 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+, audio-metadata, multidict, wrapt
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "google-music-utils";
+  version = "2.0.0";
+
+  # Pypi tarball doesn't contain tests
+  src = fetchFromGitHub {
+    owner = "thebigmunch";
+    repo = "google-music-utils";
+    rev = version;
+    sha256 = "0i5zcr1ypnxizi41s3lrplz9m9rmb56s5iihjx61kbybxcq2b6gk";
+  };
+
+  propagatedBuildInputs = [
+    audio-metadata multidict wrapt
+  ];
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    pytest
+  '';
+
+  disabled = pythonOlder "3.6";
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/google-music-utils;
+    description = "A set of utility functionality for google-music and related projects";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-music/default.nix b/pkgs/development/python-modules/google-music/default.nix
new file mode 100644
index 000000000000..b0fe0f8a2544
--- /dev/null
+++ b/pkgs/development/python-modules/google-music/default.nix
@@ -0,0 +1,39 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, appdirs
+, audio-metadata
+, google-music-proto
+, protobuf
+, requests_oauthlib
+, tenacity
+}:
+
+buildPythonPackage rec {
+  pname = "google-music";
+  version = "3.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13i9nd62wqfg0f5r7ykr15q83397vdpw0js50fy5nbgs33sbf6b7";
+  };
+
+  propagatedBuildInputs = [
+    appdirs
+    audio-metadata
+    google-music-proto
+    protobuf
+    requests_oauthlib
+    tenacity
+  ];
+
+  # No tests
+  doCheck = false;
+
+  disabled = pythonOlder "3.6";
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/google-music;
+    description = "A Google Music API wrapper";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/grandalf/default.nix b/pkgs/development/python-modules/grandalf/default.nix
new file mode 100644
index 000000000000..79413b26544f
--- /dev/null
+++ b/pkgs/development/python-modules/grandalf/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyparsing
+, future
+, pytest
+, pytestrunner
+}:
+
+buildPythonPackage rec {
+  pname = "grandalf";
+  version = "0.6";
+
+  # fetch from github to acquire tests
+  src = fetchFromGitHub {
+    owner = "bdcht";
+    repo = "grandalf";
+    rev = "v${version}";
+    sha256 = "1f1l288sqna0bca7dwwvyw7wzg9b2613g6vc0g0vfngm7k75b2jg";
+  };
+
+  propagatedBuildInputs = [
+    pyparsing
+    future
+  ];
+
+  checkInputs = [ pytest pytestrunner ];
+
+  patches = [ ./no-setup-requires-pytestrunner.patch ];
+
+  checkPhase = ''
+    pytest tests
+  '';
+
+  meta = with lib; {
+    description = "A python package made for experimentations with graphs and drawing algorithms";
+    homepage = https://github.com/bdcht/grandalf;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
diff --git a/pkgs/development/python-modules/grandalf/no-setup-requires-pytestrunner.patch b/pkgs/development/python-modules/grandalf/no-setup-requires-pytestrunner.patch
new file mode 100644
index 000000000000..80e12e246ebb
--- /dev/null
+++ b/pkgs/development/python-modules/grandalf/no-setup-requires-pytestrunner.patch
@@ -0,0 +1,15 @@
+diff --git a/setup.py b/setup.py
+index 0470622..d574ceb 100755
+--- a/setup.py
++++ b/setup.py
+@@ -75,8 +75,8 @@ setup(
+     # your project is installed. For an analysis of "install_requires" vs pip's
+     # requirements files see:
+     # https://packaging.python.org/en/latest/requirements.html
+-    setup_requires=['pytest-runner',],
+-    tests_require=['pytest',],
++    setup_requires=[],
++    tests_require=['pytest','pytest-runner',],
+ 
+     install_requires=['pyparsing','future'],
+ 
diff --git a/pkgs/development/python-modules/logzero/default.nix b/pkgs/development/python-modules/logzero/default.nix
new file mode 100644
index 000000000000..098d9f3e06d8
--- /dev/null
+++ b/pkgs/development/python-modules/logzero/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+  pname = "logzero";
+  version = "1.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hli2wgwxxackrk1ybmlpdd0rzms6blm11zzwlvrzykd8cp1xyil";
+  };
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/metachris/logzero;
+    description = "Robust and effective logging for Python 2 and 3";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/mysql-connector/default.nix b/pkgs/development/python-modules/mysql-connector/default.nix
index 579fc4631f66..2c0a83c62e3e 100644
--- a/pkgs/development/python-modules/mysql-connector/default.nix
+++ b/pkgs/development/python-modules/mysql-connector/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "mysql-connector";
-  version = "8.0.13";
+  version = "8.0.14";
 
   src = fetchFromGitHub {
     owner = "mysql";
     repo = "mysql-connector-python";
     rev = version;
-    sha256 = "1qb6m3cp6zxmr49bp6g5g5b75yszgac1h26i2hza61mrvd235688";
+    sha256 = "1cf0ic2mx339j62579xjlaw5q5sz61dac379c7lsy3ln3krsw3y9";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/pkgs/development/python-modules/nanomsg-python/default.nix b/pkgs/development/python-modules/nanomsg-python/default.nix
new file mode 100644
index 000000000000..b6e323ff9c69
--- /dev/null
+++ b/pkgs/development/python-modules/nanomsg-python/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, nanomsg }:
+
+buildPythonPackage rec {
+  pname = "nanomsg-python";
+  version = "1.0.20190114";
+
+  src = fetchFromGitHub {
+    owner = "tonysimpson";
+    repo = "nanomsg-python";
+    rev = "3acd9160f90f91034d4a43ce603aaa19fbaf1f2e";
+    sha256 = "1qgybcpmm9xxrn39alcgdcpvwphgm1glkbnwx0ljpz4nd1jsnyrl";
+  };
+
+  buildInputs = [ nanomsg ];
+
+  # Tests requires network connections
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Bindings for nanomsg";
+    homepage = https://github.com/tonysimpson/nanomsg-python;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bgamari ];
+  };
+}
diff --git a/pkgs/development/python-modules/nanotime/default.nix b/pkgs/development/python-modules/nanotime/default.nix
new file mode 100644
index 000000000000..8dd520a04e9a
--- /dev/null
+++ b/pkgs/development/python-modules/nanotime/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi, nose }:
+
+buildPythonPackage rec {
+  pname = "nanotime";
+  version = "0.5.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c7cc231fc5f6db401b448d7ab51c96d0a4733f4b69fabe569a576f89ffdf966b";
+  };
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  # tests currently fail
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Provides a time object that keeps time as the number of nanoseconds since the UNIX epoch";
+    homepage = https://github.com/jbenet/nanotime/tree/master/python;
+    license = licenses.mit;
+    maintainers = with maintainers; [ cmcdragonkai ];
+  };
+}
diff --git a/pkgs/development/python-modules/nuitka/default.nix b/pkgs/development/python-modules/nuitka/default.nix
index 1b14657d5061..7d7f7da753e1 100644
--- a/pkgs/development/python-modules/nuitka/default.nix
+++ b/pkgs/development/python-modules/nuitka/default.nix
@@ -13,13 +13,13 @@ let
   # Therefore we create a separate env for it.
   scons = pkgs.python27.withPackages(ps: [ pkgs.scons ]);
 in buildPythonPackage rec {
-  version = "0.6.0.6";
+  version = "0.6.1";
   pname = "Nuitka";
 
   # Latest version is not yet on PyPi
   src = fetchurl {
     url = "https://github.com/kayhayen/Nuitka/archive/${version}.tar.gz";
-    sha256 = "1i5p4ia4qcqmfb9k90g3ssbr090q555fdpc32sl4x6rgqfw5ddj4";
+    sha256 = "0ncclbj9qdd88fs26mvgf217m7kgfcy1zgsyzi1j65b6z2wywl9a";
   };
 
   checkInputs = [ vmprof pyqt4 ];
diff --git a/pkgs/development/python-modules/pandas/0.17.1.nix b/pkgs/development/python-modules/pandas/0.17.1.nix
deleted file mode 100644
index c481aa0dfea7..000000000000
--- a/pkgs/development/python-modules/pandas/0.17.1.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ buildPythonPackage
-, fetchPypi
-, stdenv
-, pytest
-, glibcLocales
-, cython
-, dateutil
-, scipy
-, numexpr
-, pytz
-, xlrd
-, bottleneck
-, sqlalchemy
-, lxml
-, html5lib
-, beautifulsoup4
-, openpyxl
-, tables
-, xlwt
-, libcxx ? null
-}:
-
-let
-  inherit (stdenv.lib) optional optionalString;
-  inherit (stdenv) isDarwin;
-in buildPythonPackage rec {
-  pname = "pandas";
-  version = "0.17.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cfd7214a7223703fe6999fbe34837749540efee1c985e6aee9933f30e3f72837";
-  };
-
-  LC_ALL = "en_US.UTF-8";
-  buildInputs = [ pytest glibcLocales ] ++ optional isDarwin libcxx;
-  propagatedBuildInputs = [
-    cython
-    dateutil
-    scipy
-    numexpr
-    pytz
-    xlrd
-    bottleneck
-    sqlalchemy
-    lxml
-    html5lib
-    beautifulsoup4
-    openpyxl
-    tables
-    xlwt
-  ];
-
-  doCheck = false;
-
-  # For OSX, we need to add a dependency on libcxx, which provides
-  # `complex.h` and other libraries that pandas depends on to build.
-  postPatch = optionalString isDarwin ''
-    cpp_sdk="${libcxx}/include/c++/v1";
-    echo "Adding $cpp_sdk to the setup.py common_include variable"
-    substituteInPlace setup.py \
-      --replace "['pandas/src/klib', 'pandas/src']" \
-                "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
-  '';
-
-  meta = {
-    # 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/;
-    description = "Python Data Analysis Library";
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ shlevy ];
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/python-modules/pprintpp/default.nix b/pkgs/development/python-modules/pprintpp/default.nix
new file mode 100644
index 000000000000..daf9d0062fb2
--- /dev/null
+++ b/pkgs/development/python-modules/pprintpp/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchpatch, buildPythonPackage, fetchPypi, python, nose, parameterized }:
+
+buildPythonPackage rec {
+  pname = "pprintpp";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00v4pkyiqc0y9qjnp3br58a4k5zwqdrjjxbcsv39vx67w84630pa";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/wolever/pprintpp/commit/873217674cc824b4c1cfdad4867c560c60e8d806.patch";
+      sha256 = "0rqxzxawr83215s84mfzh1gnjwjm2xv399ywwcl4q7h395av5vb3";
+    })
+  ];
+
+  checkInputs = [ nose parameterized ];
+  checkPhase = ''
+    ${python.interpreter} test.py
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/wolever/pprintpp;
+    description = "A drop-in replacement for pprint that's actually pretty";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
index 0721c0d449c7..c5be26bd9b73 100644
--- a/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -28,7 +28,8 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Python3 Parser for Android XML file and get Application Name without using Androguard";
     homepage = https://github.com/appknox/pyaxmlparser;
-    license = licenses.mit;
+    # Files from Androguard are licensed ASL 2.0
+    license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ ma27 ];
   };
 }
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 2494407766c7..bda05a58e150 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -1,19 +1,20 @@
-{ lib, fetchurl, buildPythonPackage, requests, six, zeroconf, protobuf, casttube }:
+{ lib, fetchPypi, buildPythonPackage, requests, zeroconf, protobuf, casttube, isPy3k }:
 
 buildPythonPackage rec {
   pname = "PyChromecast";
-  version = "2.3.0";
-  name = pname + "-" + version;
+  version = "2.4.0";
 
-  src = fetchurl {
-    url    = "mirror://pypi/p/pychromecast/${name}.tar.gz";
-    sha256 = "f385168e34d2ef47f976c8e41bad2f58f5ca004634c0ccb1a12623d8beb2fa38";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0q012ghssk2xhm17v28sc2lv62vk7wd5p7zzdbgxk6kywfx8yvm2";
   };
 
-  propagatedBuildInputs = [ requests six zeroconf protobuf casttube ];
+  disabled = !isPy3k;
+
+  propagatedBuildInputs = [ requests zeroconf protobuf casttube ];
 
   meta = with lib; {
-    description = "Library for Python 2 and 3 to communicate with the Google Chromecast";
+    description = "Library for Python 3.4+ to communicate with the Google Chromecast";
     homepage    = https://github.com/balloob/pychromecast;
     license     = licenses.mit;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index dc928130cbb1..9412a750a9ab 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -2,59 +2,46 @@
 , setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k, more-itertools
 , atomicwrites, mock, writeText, pathlib2
 }:
+buildPythonPackage rec {
+  version = "3.9.3";
+  pname = "pytest";
 
-let generic = { version, sha256 }:
-  buildPythonPackage rec {
-    pname = "pytest";
-    inherit version;
+  preCheck = ''
+    # don't test bash builtins
+    rm testing/test_argcomplete.py
+  '';
 
-    preCheck = ''
-      # don't test bash builtins
-      rm testing/test_argcomplete.py
-    '';
-
-    src = fetchPypi {
-      inherit pname version sha256;
-    };
-
-    checkInputs = [ hypothesis mock ];
-    buildInputs = [ setuptools_scm ];
-    propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites]
-      ++ stdenv.lib.optionals (!isPy3k) [ funcsigs ]
-      ++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ];
-
-    checkPhase = ''
-      runHook preCheck
-      $out/bin/py.test -x testing/
-      runHook postCheck
-    '';
-
-    # Remove .pytest_cache when using py.test in a Nix build
-    setupHook = writeText "pytest-hook" ''
-      pytestcachePhase() {
-          find $out -name .pytest_cache -type d -exec rm -rf {} +
-      }
-
-      preDistPhases+=" pytestcachePhase"
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = https://docs.pytest.org;
-      description = "Framework for writing tests";
-      maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
-      license = licenses.mit;
-      platforms = platforms.unix;
-    };
-  };
-
-in {
-  pytest_39 = generic {
-    version = "3.9.3";
+  src = fetchPypi {
+    inherit pname version;
     sha256 = "a9e5e8d7ab9d5b0747f37740276eb362e6a76275d76cebbb52c6049d93b475db";
   };
 
-  pytest_37 = generic {
-    version = "3.7.4";
-    sha256 = "2d7c49e931316cc7d1638a3e5f54f5d7b4e5225972b3c9838f3584788d27f349";
+  checkInputs = [ hypothesis mock ];
+  buildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites]
+    ++ stdenv.lib.optionals (!isPy3k) [ funcsigs ]
+    ++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ];
+
+  checkPhase = ''
+    runHook preCheck
+    $out/bin/py.test -x testing/
+    runHook postCheck
+  '';
+
+  # Remove .pytest_cache when using py.test in a Nix build
+  setupHook = writeText "pytest-hook" ''
+    pytestcachePhase() {
+        find $out -name .pytest_cache -type d -exec rm -rf {} +
+    }
+
+    preDistPhases+=" pytestcachePhase"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://docs.pytest.org;
+    description = "Framework for writing tests";
+    maintainers = with maintainers; [ domenkozar lovek323 madjar lsix ];
+    license = licenses.mit;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/tenacity/default.nix b/pkgs/development/python-modules/tenacity/default.nix
new file mode 100644
index 000000000000..596fa6b825fc
--- /dev/null
+++ b/pkgs/development/python-modules/tenacity/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, pbr, six, futures, monotonic
+, pytest, sphinx, tornado
+}:
+
+buildPythonPackage rec {
+  pname = "tenacity";
+  version = "5.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rjbj9wks7b7n75mbm01y0g2ngyai8yi05ck9gicmcdyix7vw42c";
+  };
+
+  nativeBuildInputs = [ pbr ];
+  propagatedBuildInputs = [ six ]
+    ++ lib.optionals isPy27 [ futures monotonic ];
+
+  checkInputs = [ pytest sphinx tornado ];
+  checkPhase = (if isPy27 then ''
+    pytest --ignore='tenacity/tests/test_asyncio.py'
+  '' else ''
+    pytest
+  '') + ''
+    sphinx-build -a -E -W -b doctest doc/source doc/build
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/jd/tenacity;
+    description = "Retrying library for Python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/development/python-modules/zm-py/default.nix b/pkgs/development/python-modules/zm-py/default.nix
new file mode 100644
index 000000000000..d7f212f22844
--- /dev/null
+++ b/pkgs/development/python-modules/zm-py/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchPypi, buildPythonPackage, isPy3k
+, pytest, requests }:
+
+buildPythonPackage rec {
+  pname = "zm-py";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hq83svprd21r74palhs3xq15g34135349y4lrgr7c76i3f37j2q";
+  };
+
+  disabled = !isPy3k;
+
+  propagatedBuildInputs = [ requests ];
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    PYTHONPATH="./zoneminder:$PYTHONPATH" pytest
+  '';
+
+  meta = with lib; {
+    description = "A loose python wrapper around the ZoneMinder REST API";
+    homepage = https://github.com/rohankapoorcom/zm-py;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index fd841563005e..cde0b90d6fe9 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -94,6 +94,10 @@ in
     '';
   };
 
+  digest-sha3 = attrs: {
+    hardeningDisable = [ "format" ];
+  };
+
   ethon = attrs: {
     dontBuild = false;
     postPatch = ''
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 0827807afef3..b011cb0b918a 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ocamlPackages, cf-private, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "0.90.0";
+  version = "0.91.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "12y34l4nhcmdcv91gzdrxw0cvd8w0cg69c5km1nkydgayk82a3x2";
+    sha256 = "14snr65pbnczkv49lmhgyjzlgrrlfwsxkd7g6xbv9y5xl4sp0309";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index eac1bc7b51ed..a72ef7937c50 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -101,17 +101,17 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "20315";
-    gittap = "3.1.3";
-    gittip = "57dd0b4e7ec70cc95f859651b1b63b076b8df7a7";
-    rev = "3.1.3";
-    version = "3.1.3";
-    sha256 = "17bd7i9lbr0nxa3llw354mppx44xi7bjwif7g7wxw0zcjlfxnk5d";
-    cs_tip = "f01c267f889e932b069a559ce0c604c1ae986c0a";
-    cs_sha256 = "15ifnql2gi2f9g8j60hc4hbxbvi2qn1r110ry32qmlz55svxh67y";
+    version_commit = "20591";
+    gittap = "3.2.1";
+    gittip = "25913f4745cb3b635d52f1aafc4d8ff2aad3988a";
+    rev = "3.2.1";
+    version = "3.2.1";
+    sha256 = "1c4zj96386sc9lvfcsdh9lhyh0rvv4zzfr6218gvjkg9fy6cc91y";
+    cs_tip = "0ff8220adef16a942697afd245afc5ab0f70cbf8";
+    cs_sha256 = "1ak8ysgivq28d23r77881p0z5v65jhpap5plm10p9j3y2x00n3zn";
   };
   r2-for-cutter = generic {
-    version_commit = "20315";
+    version_commit = "20591";
     gittap = "2.9.0-310-gcb62c376b";
     gittip = "cb62c376bef6c7427019a7c28910c33c364436dd";
     rev = "cb62c376bef6c7427019a7c28910c33c364436dd";
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index a59b452b432b..fbb7eca0ef51 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -7,15 +7,16 @@ let
 
 in stdenv.mkDerivation rec {
   name = "spin-${version}";
-  version = "6.4.8";
+  version = "6.4.9";
   url-version = stdenv.lib.replaceChars ["."] [""] version;
 
   src = fetchurl {
     # The homepage is behind CloudFlare anti-DDoS protection, which blocks cURL.
     # Dropbox mirror from developers:
     # https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADZPqS4aoR-pjNF6OQXRLQHa
-    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADya1lOBJZDbgWGrUSq-dfHa/spin${url-version}.tar.gz?raw=1";
-    sha256 = "1rvamdsf0igzpndlr4ck7004jw9x1bg4xyf78zh5k9sp848vnd80";
+    # (note that this URL doesn't work aross versions and hash should come from official site)
+    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AABtxFePMJmPxsxSvU5cpxh8a/spin${url-version}.tar.gz?raw=1";
+    sha256 = "07b7wk3qyfnp4pgwicqd33l7i1krzyihx0cf9zkv81ywaklf5vll";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -24,6 +25,8 @@ in stdenv.mkDerivation rec {
   sourceRoot = "Spin/Src${version}";
 
   installPhase = ''
+    install -Dm644 ../Man/spin.1 $out/share/man/man1/spin.1
+
     install -Dm755 spin $out/bin/spin
     wrapProgram $out/bin/spin \
       --prefix PATH : ${binPath}
diff --git a/pkgs/development/tools/build-managers/bam/default.nix b/pkgs/development/tools/build-managers/bam/default.nix
index c20431c5e7e0..624821613465 100644
--- a/pkgs/development/tools/build-managers/bam/default.nix
+++ b/pkgs/development/tools/build-managers/bam/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, lua5, python }:
+{ stdenv, fetchFromGitHub, lua5_3, python }:
 
 stdenv.mkDerivation rec {
   name = "bam-${version}";
-  version = "0.4.0";
+  version = "0.5.1";
 
-  src = fetchurl {
-    url = "http://github.com/downloads/matricks/bam/${name}.tar.bz2";
-    sha256 = "0z90wvyd4nfl7mybdrv9dsd4caaikc6fxw801b72gqi1m9q0c0sn";
+  src = fetchFromGitHub {
+    owner = "matricks";
+    repo = "bam";
+    rev = "v${version}";
+    sha256 = "13br735ig7lygvzyfd15fc2rdygrqm503j6xj5xkrl1r7w2wipq6";
   };
 
-  buildInputs = [ lua5 python ];
+  buildInputs = [ lua5_3 python ];
 
   buildPhase = ''${stdenv.shell} make_unix.sh'';
 
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
       raskin
     ];
     platforms = platforms.linux;
-    license = licenses.free;
+    license = licenses.zlib;
     downloadPage = "http://matricks.github.com/bam/";
   };
 }
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index be85213b8c20..b1bb5708d44a 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,6 +1,6 @@
 { stdenv, callPackage, lib, fetchurl, fetchpatch, runCommand, makeWrapper
 , jdk, zip, unzip, bash, writeCBin, coreutils
-, which, python, perl, gnused, gnugrep, findutils
+, which, python, perl, gawk, gnused, gnugrep, findutils
 # Apple dependencies
 , cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation
 # Allow to independently override the jdks used to build and run respectively
@@ -23,7 +23,7 @@ let
     for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
   '';
 
-  defaultShellPath = lib.makeBinPath [ bash coreutils findutils gnugrep gnused which unzip ];
+  defaultShellPath = lib.makeBinPath [ bash coreutils findutils gawk gnugrep gnused which unzip ];
 
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/build-managers/gn/default.nix b/pkgs/development/tools/build-managers/gn/default.nix
index d5559768d6fc..8c1b55fc5c9a 100644
--- a/pkgs/development/tools/build-managers/gn/default.nix
+++ b/pkgs/development/tools/build-managers/gn/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchgit, fetchzip, fetchpatch, darwin, writeText
-, git, ninja, python }:
+, git, ninja, python2 }:
 
 let
   rev = "96ff462cddf35f98e25fd5d098fc27bc81eab94a";
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       --replace "NSArray<NSString*>*" "NSArray*"
   '';
 
-  nativeBuildInputs = [ ninja python git ];
+  nativeBuildInputs = [ ninja python2 git ];
   buildInputs = lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
     libobjc
     cctools
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 17938ab47b37..96e044073259 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -44,6 +44,13 @@ python3Packages.buildPythonApplication rec {
       src = ./fix-rpath.patch;
       inherit (builtins) storeDir;
     })
+  ] ++ lib.optionals stdenv.isDarwin [
+    # We use custom Clang, which makes Meson think *not Apple*, while still
+    # relying on system linker. When it detects standard Clang, Meson will
+    # pass it `-Wl,-O1` flag but optimizations are not recognized by
+    # Mac linker.
+    # https://github.com/mesonbuild/meson/issues/4784
+    ./fix-objc-linking.patch
   ];
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch b/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
new file mode 100644
index 000000000000..60a205828f5d
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/fix-objc-linking.patch
@@ -0,0 +1,20 @@
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -795,7 +795,7 @@
+                 compiler_type = self.get_gnu_compiler_type(defines)
+                 version = self.get_gnu_version_from_defines(defines)
+                 return GnuObjCCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
+-            if out.startswith('Apple LLVM'):
++            if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
+                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
+             if out.startswith('clang'):
+                 return ClangObjCCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
+@@ -822,7 +822,7 @@
+                 compiler_type = self.get_gnu_compiler_type(defines)
+                 version = self.get_gnu_version_from_defines(defines)
+                 return GnuObjCPPCompiler(ccache + compiler, version, compiler_type, is_cross, exe_wrap, defines)
+-            if out.startswith('Apple LLVM'):
++            if out.startswith('Apple LLVM') or mesonlib.for_darwin(want_cross, self):
+                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_OSX, is_cross, exe_wrap)
+             if out.startswith('clang'):
+                 return ClangObjCPPCompiler(ccache + compiler, version, CompilerType.CLANG_STANDARD, is_cross, exe_wrap)
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index afe026359e53..8b9bf453c468 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,4 +1,11 @@
-{stdenv, fetchurl, lua, curl, makeWrapper, which, unzip}:
+{stdenv, fetchurl
+, curl, makeWrapper, which, unzip
+, lua
+# for 'luarocks pack'
+, zip
+# some packages need to be compiled with cmake
+, cmake
+}:
 let
   s = # Generated upstream information
   rec {
@@ -36,17 +43,33 @@ stdenv.mkDerivation {
     for i in "$out"/bin/*; do
         test -L "$i" || {
 	    wrapProgram "$i" \
-	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
-	      --prefix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+	      --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
+	      --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
+	      --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \
+	      --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua"
 
 	}
     done
   '';
-  meta = {
+
+  propagatedBuildInputs = [ zip unzip cmake ];
+
+  # unpack hook for src.rock and rockspec files
+  setupHook = ./setup-hook.sh;
+
+  # cmake is just to compile packages with "cmake" buildType, not luarocks itself
+  dontUseCmakeConfigure = true;
+
+  shellHook = ''
+    export PATH="src/bin:''${PATH:-}"
+    export LUA_PATH="src/?.lua;''${LUA_PATH:-}"
+  '';
+
+  meta = with stdenv.lib; {
     inherit (s) version;
     description = ''A package manager for Lua'';
-    license = stdenv.lib.licenses.mit ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    license = licenses.mit ;
+    maintainers = with maintainers; [raskin teto];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
new file mode 100644
index 000000000000..3728caf193ae
--- /dev/null
+++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -0,0 +1,9 @@
+{ luarocks, fetchFromGitHub }:
+luarocks.overrideAttrs(old: {
+  src = fetchFromGitHub {
+    owner = "teto";
+    repo = "luarocks";
+    rev = "d669e8e118e6ca8bff05f32dbc9e5589e6ac45d2";
+    sha256 = "1lay3905a5sx2a4y68lbys0913qs210hcj9kn2lbqinw86c1vyc3";
+  };
+})
diff --git a/pkgs/development/tools/misc/luarocks/setup-hook.sh b/pkgs/development/tools/misc/luarocks/setup-hook.sh
new file mode 100644
index 000000000000..593ee8bbe83e
--- /dev/null
+++ b/pkgs/development/tools/misc/luarocks/setup-hook.sh
@@ -0,0 +1,20 @@
+unpackCmdHooks+=(_trySourceRock)
+unpackCmdHooks+=(_tryRockSpec)
+
+_tryRockSpec() {
+    if ! [[ "$curSrc" =~ \.rockspec$ ]]; then return 1; fi
+}
+
+_trySourceRock() {
+
+    if ! [[ "$curSrc" =~ \.src.rock$ ]]; then return 1; fi
+
+    export PATH=${unzip}/bin:$PATH
+
+    # luarocks expects a clean <name>.rock.spec name to be the package name
+    # so we have to strip the hash
+    renamed="$(stripHash $curSrc)"
+    cp "$curSrc" "$renamed"
+    luarocks unpack --force "$renamed"
+}
+
diff --git a/pkgs/development/tools/repository-managers/nexus/default.nix b/pkgs/development/tools/repository-managers/nexus/default.nix
index 8b42ed124360..1ade2b353868 100644
--- a/pkgs/development/tools/repository-managers/nexus/default.nix
+++ b/pkgs/development/tools/repository-managers/nexus/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, makeWrapper, jre, gawk }:
+{ stdenv, fetchurl, makeWrapper, jre_headless, gawk }:
 
 stdenv.mkDerivation rec {
   name = "nexus-${version}";
-  version = "3.14.0-04";
+  version = "3.15.0-01";
 
   src = fetchurl {
     url = "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${version}-unix.tar.gz";
-    sha256 = "1ql707672xhybmfajjmli9w0wcf1f26skq8i5kqirms2364wg35f";
+    sha256 = "0akizdljcjl1nh25k01wxvp5wp4i2jphsj0hh5rqbd0fk1pjivkv";
   };
 
   sourceRoot = name;
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     rm -fv $out/bin/nexus.bat
 
     wrapProgram $out/bin/nexus \
-      --set JAVA_HOME ${jre} \
+      --set JAVA_HOME ${jre_headless} \
       --set ALTERNATIVE_NAME "nexus" \
       --prefix PATH "${stdenv.lib.makeBinPath [ gawk ]}"
 
diff --git a/pkgs/games/spring/fix-certs.patch b/pkgs/games/spring/fix-certs.patch
new file mode 100644
index 000000000000..b31160a05cc6
--- /dev/null
+++ b/pkgs/games/spring/fix-certs.patch
@@ -0,0 +1,11 @@
+--- a/src/downloader/lib/src/Downloader/CurlWrapper.cpp
++++ b/src/downloader/lib/src/Downloader/CurlWrapper.cpp
+@@ -108,7 +108,6 @@
+ 		if (res != CURLE_OK) {
+ 			LOG_WARN("Error setting CURLOPT_CAPATH: %d", res);
+ 		}
+-		return;
+ 	}
+ 
+ 	const std::string cafile = GetCAFilePath();
+
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index fa7fad3ecd92..8df4450d13d1 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     boost libpng libX11 libnotify gtk2 doxygen makeWrapper glib minizip alure
   ];
 
-  patches = [ ./revert_58b423e.patch ]; # Allows springLobby to continue using system installed spring until #707 is fixed
+  patches = [ ./revert_58b423e.patch ./fix-certs.patch ]; # Allows springLobby to continue using system installed spring until #707 is fixed
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/teeworlds/default.nix b/pkgs/games/teeworlds/default.nix
index 58b04821e129..846054765e00 100644
--- a/pkgs/games/teeworlds/default.nix
+++ b/pkgs/games/teeworlds/default.nix
@@ -1,30 +1,42 @@
-{ fetchurl, stdenv, cmake, pkgconfig, makeWrapper, python, alsaLib
-, libX11, libGLU, SDL, lua5, zlib, freetype, wavpack
+{ fetchFromGitHub, fetchurl, stdenv, bam, pkgconfig, makeWrapper, python, alsaLib
+, libX11, libGLU, SDL2, lua5_3, zlib, freetype, wavpack
 }:
 
 stdenv.mkDerivation rec {
-  name = "teeworlds-0.6.5";
+  name = "teeworlds-0.7.2";
 
-  src = fetchurl {
-    url = "https://downloads.teeworlds.com/teeworlds-0.6.5-src.tar.gz";
-    sha256 = "07llxjc47d1gd9jqj3vf08cmw26ha6189mwcix1khwa3frfbilqb";
+  src = fetchFromGitHub {
+    owner = "teeworlds";
+    repo = "teeworlds";
+    rev = "0.7.2";
+    sha256 = "15l988qcsqgb6rjais0qd5sd2rjanm2708jmzvkariqzz0d6pb93";
   };
 
   postPatch = ''
-    # we always want to use system libs instead of these
-    rm -r other/{freetype,sdl}/{include,mac,windows}
-
     # set compiled-in DATA_DIR so resources can be found
     substituteInPlace src/engine/shared/storage.cpp \
       --replace '#define DATA_DIR "data"' \
                 '#define DATA_DIR "${placeholder "out"}/share/teeworlds/data"'
   '';
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ bam pkgconfig ];
+
+  configurePhase = ''
+    bam config
+  '';
+
+  buildPhase = ''
+    bam conf=release
+  '';
 
+  installPhase = ''
+    mkdir -p $out/bin $out/share/teeworlds
+    cp build/x86_64/release/teeworlds{,_srv} $out/bin
+    cp -r build/x86_64/release/data $out/share/teeworlds
+  '';
 
   buildInputs = [
-    python alsaLib libX11 libGLU SDL lua5 zlib freetype wavpack
+    python alsaLib libX11 libGLU SDL2 lua5_3 zlib freetype wavpack
   ];
 
   postInstall = ''
@@ -45,6 +57,6 @@ stdenv.mkDerivation rec {
     homepage = https://teeworlds.com/;
     license = "BSD-style, see `license.txt'";
     maintainers = with stdenv.lib.maintainers; [ astsmtl ];
-    platforms = with stdenv.lib.platforms; linux;
+    platforms = ["x86_64-linux" "i686-linux"];
   };
 }
diff --git a/pkgs/misc/arm-trusted-firmware/default.nix b/pkgs/misc/arm-trusted-firmware/default.nix
index 6bfaa2a2f274..73e2a96d0cde 100644
--- a/pkgs/misc/arm-trusted-firmware/default.nix
+++ b/pkgs/misc/arm-trusted-firmware/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, buildPackages }:
+{ stdenv, fetchFromGitHub, pkgsCross, buildPackages }:
 
 let
   buildArmTrustedFirmware = { filesToInstall
@@ -6,7 +6,7 @@ let
             , platform
             , extraMakeFlags ? []
             , extraMeta ? {}
-            , version ? "1.5"
+            , version ? "2.0"
             , ... } @ args:
            stdenv.mkDerivation (rec {
 
@@ -17,11 +17,14 @@ let
       owner = "ARM-software";
       repo = "arm-trusted-firmware";
       rev = "refs/tags/v${version}";
-      sha256 = "1gm0bn2llzfzz9bfsz11fhwxj5lxvyrq7bc13fjj033nljzxn7k8";
+      sha256 = "087pkwa6slxff0aiz3v42gww007nww97bl1p96fvvs7rr1y14gjx";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc ];
 
+    # For Cortex-M0 firmware in RK3399
+    nativeBuildInputs = [ pkgsCross.arm-embedded.stdenv.cc ];
+
     makeFlags = [
       "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
       "PLAT=${platform}"
@@ -83,4 +86,11 @@ in rec {
     extraMeta.platforms = ["aarch64-linux"];
     filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"];
   };
+
+  armTrustedFirmwareRK3399 = buildArmTrustedFirmware rec {
+    extraMakeFlags = [ "bl31" ];
+    platform = "rk3399";
+    extraMeta.platforms = ["aarch64-linux"];
+    filesToInstall = [ "build/${platform}/release/bl31/bl31.elf"];
+  };
 }
diff --git a/pkgs/misc/drivers/epkowa/default.nix b/pkgs/misc/drivers/epkowa/default.nix
index 643977d829db..3892c37a1d5b 100644
--- a/pkgs/misc/drivers/epkowa/default.nix
+++ b/pkgs/misc/drivers/epkowa/default.nix
@@ -88,6 +88,46 @@ let plugins = {
 
     meta = common_meta // { description = "iscan esci f720 plugin for "+passthru.hw; };
   };
+  s80 = stdenv.mkDerivation rec {
+    pname = "iscan-gt-s80-bundle";
+    version = "1.0.1";
+    esciPluginVersion = "0.2.1-1";
+    esdipPluginVersion = "1.0.0-5";
+
+    buildInputs = [ patchelf ];
+    src = fetchurl {
+      url = "https://download2.ebz.epson.net/iscan/plugin/gt-s80/rpm/x64/iscan-gt-s80-bundle-${version}.x64.rpm.tar.gz";
+      sha256 = "14j11znx5ga2ykpyg6kjg7lbrddyr9pwxrsa82dmdishd1j7zji9";
+    };
+    installPhase = ''
+      cd plugins
+      ${rpm}/bin/rpm2cpio esci-interpreter-gt-s80-${esciPluginVersion}.x86_64.rpm | ${cpio}/bin/cpio -idmv
+      ${rpm}/bin/rpm2cpio iscan-plugin-esdip-${esdipPluginVersion}.ltdl7.x86_64.rpm | ${cpio}/bin/cpio -idmv
+      mkdir $out
+      cp -r usr/share $out
+      cp -r usr/lib64 $out/lib
+      mkdir $out/share/esci
+      '';
+    preFixup = ''
+      rpath=${gcc.cc.lib}/lib/
+      patchelf --set-rpath $rpath $out/lib/esci/libesci-interpreter-gt-s80.so
+      patchelf --set-rpath $rpath $out/lib/esci/libesci-interpreter-gt-s50.so
+      patchelf --set-rpath $rpath $out/lib/iscan/esdip
+      patchelf --set-rpath $rpath $out/lib/iscan/libesdtr.so.0
+      patchelf --set-rpath $rpath $out/lib/iscan/libesdtr2.so.0
+      '';
+    passthru = {
+      registrationCommand = ''
+        $registry --add interpreter usb 0x04b8 0x0136 "$plugin/lib/esci/libesci-interpreter-gt-s80.so"
+        $registry --add interpreter usb 0x04b8 0x0137 "$plugin/lib/esci/libesci-interpreter-gt-s50.so"
+        $registry --add interpreter usb 0x04b8 0x0143 "$plugin/lib/esci/libesci-interpreter-gt-s50.so"
+        $registry --add interpreter usb 0x04b8 0x0144 "$plugin/lib/esci/libesci-interpreter-gt-s80.so"
+        '';
+      hw = "ES-D200, ED-D350, ES-D400, GT-S50, GT-S55, GT-S80, GT-S85";
+      };
+
+    meta = common_meta // { description = "iscan esci s80 plugin for "+passthru.hw; };
+  };
 };
 in
 
diff --git a/pkgs/misc/rkdeveloptool/default.nix b/pkgs/misc/rkdeveloptool/default.nix
new file mode 100644
index 000000000000..e877629bcb03
--- /dev/null
+++ b/pkgs/misc/rkdeveloptool/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libusb1 }:
+
+stdenv.mkDerivation {
+  pname = "rkdeveloptool";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "rockchip-linux";
+    repo = "rkdeveloptool";
+    rev = "081d237ad5bf8f03170c9d60bd94ceefa0352aaf";
+    sha256 = "05hh7j3xgb8l1k1v2lis3nvlc0gp87ihzg6jci7m5lkkm5qgv3ji";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ libusb1 ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/rockchip-linux/rkdeveloptool;
+    description = "A tool from Rockchip to communicate with Rockusb devices";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.lopsided98 ];
+  };
+}
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index ac77df8d7cd2..084cb33a7a21 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchurl, fetchpatch, bc, bison, dtc, flex, openssl, python2, swig
+{ stdenv, lib, fetchurl, fetchpatch, bc, bison, dtc, flex, openssl, swig
 , armTrustedFirmwareAllwinner
 , buildPackages
 }:
 
 let
-  buildUBoot = { filesToInstall
+  buildUBoot = { version ? "2018.09"
+            , filesToInstall
             , installDir ? "$out"
             , defconfig
+            , extraConfig ? ""
             , extraPatches ? []
             , extraMakeFlags ? []
             , extraMeta ? {}
             , ... } @ args:
            stdenv.mkDerivation (rec {
 
-    name = "uboot-${defconfig}-${version}";
-    version = "2018.09";
+    pname = "uboot-${defconfig}";
+    inherit version;
 
     src = fetchurl {
       url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
@@ -23,10 +25,6 @@ let
 
     patches = [
       (fetchpatch {
-        url = https://github.com/dezgeg/u-boot/commit/pythonpath-2018-07.patch;
-        sha256 = "096zqrlr8m9lxjma0iv7y6x78qswfs3q1w2irjkbmcvniz1azbs8";
-      })
-      (fetchpatch {
         url = https://github.com/dezgeg/u-boot/commit/extlinux-path-length-2018-03.patch;
         sha256 = "07jafdnxvqv8lz256qy29agjc2k1zj5ad4k28r1w5qkhwj4ixmf8";
       })
@@ -36,7 +34,15 @@ let
       patchShebangs tools
     '';
 
-    nativeBuildInputs = [ bc bison dtc flex openssl python2 swig ];
+    nativeBuildInputs = [
+      bc
+      bison
+      dtc
+      flex
+      openssl
+      (buildPackages.python2.withPackages (p: [ p.libfdt ]))
+      swig
+    ];
     depsBuildBuild = [ buildPackages.stdenv.cc ];
 
     hardeningDisable = [ "all" ];
@@ -46,11 +52,15 @@ let
       "CROSS_COMPILE=${stdenv.cc.targetPrefix}"
     ] ++ extraMakeFlags;
 
+    passAsFile = [ "extraConfig" ];
+
     configurePhase = ''
       runHook preConfigure
 
       make ${defconfig}
 
+      cat $extraConfigPath >> .config
+
       runHook postConfigure
     '';
 
@@ -58,7 +68,7 @@ let
       runHook preInstall
 
       mkdir -p ${installDir}
-      cp ${stdenv.lib.concatStringsSep " " filesToInstall} ${installDir}
+      cp ${lib.concatStringsSep " " filesToInstall} ${installDir}
 
       runHook postInstall
     '';
@@ -68,7 +78,7 @@ let
 
     dontStrip = true;
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = http://www.denx.de/wiki/U-Boot/;
       description = "Boot loader for embedded systems";
       license = licenses.gpl2;
@@ -84,7 +94,7 @@ in rec {
     installDir = "$out/bin";
     hardeningDisable = [];
     dontStrip = false;
-    extraMeta.platforms = stdenv.lib.platforms.linux;
+    extraMeta.platforms = lib.platforms.linux;
     extraMakeFlags = [ "HOST_TOOLS_ALL=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
     postConfigure = ''
       sed -i '/CONFIG_SYS_TEXT_BASE/c\CONFIG_SYS_TEXT_BASE=0x00000000' .config
@@ -238,10 +248,8 @@ in rec {
     extraMeta.platforms = ["armv7l-linux"];
     filesToInstall = ["u-boot-with-nand-spl.imx"];
     buildFlags = "u-boot-with-nand-spl.imx";
-    postConfigure = ''
-      cat >> .config << EOF
+    extraConfig = ''
       CONFIG_CMD_SETEXPR=y
-      EOF
     '';
     # sata init; load sata 0 $loadaddr u-boot-with-nand-spl.imx
     # sf probe; sf update $loadaddr 0 80000
diff --git a/pkgs/misc/uboot/rock64.nix b/pkgs/misc/uboot/rock64.nix
index 623c6015534a..af8d044387a4 100644
--- a/pkgs/misc/uboot/rock64.nix
+++ b/pkgs/misc/uboot/rock64.nix
@@ -2,25 +2,24 @@
   rkbin = fetchFromGitHub {
     owner = "ayufan-rock64";
     repo = "rkbin";
-    rev = "d8b90685b3d93c358936babdd854f1018bc6d35e";
-    sha256 = "0wrh3xa968sdp0j9n692jnv3071ymab719zc56vllba0aaabiaxr";
+    rev = "af17d09dee19b41f4f01e1722eaf6911fb296245";
+    sha256 = "189f7h6wj2yrcc5ga103jnyysykf9j3j9p1vcy7791bxwxqxnggf";
   };
 in buildUBoot rec {
-  name = "uboot-${defconfig}-${version}";
-  version = "2018.01";
+  version = "2017.09";
 
   src = fetchFromGitHub {
     owner = "ayufan-rock64";
     repo = "linux-u-boot";
-    rev = "19e31fac0dee3c4f6b2ea4371e4321f79db0f495";
-    sha256 = "1vmv7q9yafsc0zivd0qdfmf930dvhzkf4a3j6apxxgx9g10wgwrg";
+    rev = "d646df03ace3bd191e24361944ce1c7ef3c8744c";
+    sha256 = "0gclcd034qfhfbabrdqmky08i0hlwmn63n0zg6mndplms5qpcx75";
   };
 
   extraMakeFlags = [ "BL31=${armTrustedFirmwareRK3328}/bl31.elf" "u-boot.itb" "all" ];
 
-  # So close to being blob free... But U-Boot TPL causes the kernel to hang
+  # 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.06.bin idbloader.img
+    ./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
   '';
diff --git a/pkgs/misc/uboot/rockpro64.nix b/pkgs/misc/uboot/rockpro64.nix
new file mode 100644
index 000000000000..d8802e6d5f55
--- /dev/null
+++ b/pkgs/misc/uboot/rockpro64.nix
@@ -0,0 +1,36 @@
+{ lib, buildUBoot, fetchFromGitHub }: let
+  rkbin = fetchFromGitHub {
+    owner = "ayufan-rock64";
+    repo = "rkbin";
+    rev = "af17d09dee19b41f4f01e1722eaf6911fb296245";
+    sha256 = "189f7h6wj2yrcc5ga103jnyysykf9j3j9p1vcy7791bxwxqxnggf";
+  };
+in buildUBoot rec {
+  version = "2017.09";
+
+  src = fetchFromGitHub {
+    owner = "ayufan-rock64";
+    repo = "linux-u-boot";
+    rev = "d646df03ace3bd191e24361944ce1c7ef3c8744c";
+    sha256 = "0gclcd034qfhfbabrdqmky08i0hlwmn63n0zg6mndplms5qpcx75";
+  };
+
+  # Upstream ATF hangs in SPL
+  extraMakeFlags = [ "BL31=${rkbin}/rk33/rk3399_bl31_v1.17.elf" "u-boot.itb" "all" ];
+
+  postBuild = ''
+    ./tools/mkimage -n rk3399 -T rksd -d ${rkbin}/rk33/rk3399_ddr_933MHz_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 = "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/build-vim-plugin.nix b/pkgs/misc/vim-plugins/build-vim-plugin.nix
index fe60ad21c752..b797f49df9e0 100644
--- a/pkgs/misc/vim-plugins/build-vim-plugin.nix
+++ b/pkgs/misc/vim-plugins/build-vim-plugin.nix
@@ -37,7 +37,7 @@ rec {
         # build help tags
         if [ -d "$target/doc" ]; then
           echo "Building help tags"
-          if ! ${vim}/bin/vim -N -u NONE -i NONE -n -E -s -c "helptags $target/doc" +quit!; then
+          if ! ${vim}/bin/vim -N -u NONE -i NONE -n -E -s -V1 -c "helptags $target/doc" +quit!; then
             echo "Failed to build help tags!"
             exit 1
           fi
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index c18ce070c1c0..4feaebf9058d 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -158,6 +158,17 @@ let
     };
   };
 
+  bufexplorer = buildVimPluginFrom2Nix {
+    pname = "bufexplorer";
+    version = "2018-12-10";
+    src = fetchFromGitHub {
+      owner = "jlanzarotta";
+      repo = "bufexplorer";
+      rev = "be69e397e502803db7d7f0a0e0491282ab2197a5";
+      sha256 = "0brhbkj34yxyq5gvjkqakq0m9zwa981rv6ksca07qhw3nzpxhlkd";
+    };
+  };
+
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
     version = "2018-11-02";
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index febdd94e1198..9a29ba82dae6 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -19,18 +19,21 @@
 self: super: {
 
   vim2nix = buildVimPluginFrom2Nix {
-    name = "vim2nix";
+    pname = "vim2nix";
+    version = "1.0";
     src = ./vim2nix;
     dependencies = with super; [ vim-addon-manager ];
   };
 
   fzfWrapper = buildVimPluginFrom2Nix {
-    name = fzf.name;
+    pname = "fzf";
+    version = fzf.version;
     src = fzf.src;
   };
 
   skim = buildVimPluginFrom2Nix {
-    name = skim.name;
+    pname = "skim";
+    version = skim.version;
     src = skim.vim;
   };
 
@@ -54,7 +57,8 @@ self: super: {
       '';
     };
   in buildVimPluginFrom2Nix {
-    name = "LanguageClient-neovim-2018-09-07";
+    pname = "LanguageClient-neovim";
+    version = "2018-09-07";
     src = LanguageClient-neovim-src;
 
     propogatedBuildInputs = [ LanguageClient-neovim-bin ];
@@ -67,7 +71,8 @@ self: super: {
 
   # do not auto-update this one, as the name clashes with vim-snippets
   vim-docbk-snippets = buildVimPluginFrom2Nix {
-    name = "vim-docbk-snippets-2017-11-02";
+    pname = "vim-docbk-snippets";
+    version = "2017-11-02";
     src = fetchgit {
       url = "https://github.com/jhradilek/vim-snippets";
       rev = "69cce66defdf131958f152ea7a7b26c21ca9d009";
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 262a32778878..3c39a7eeb4e1 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -110,6 +110,7 @@ jgdavey/tslime.vim
 jhradilek/vim-docbk
 jiangmiao/auto-pairs
 jistr/vim-nerdtree-tabs
+jlanzarotta/bufexplorer
 jnurmine/zenburn
 jonbri/vim-colorstepper
 joonty/vim-xdebug
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index 9216c4a4eb79..360a98fd5670 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -486,4 +486,12 @@ rec {
       });
     vimrcConfig.vam.pluginDictionaries = [ { names = [ "vim-trailing-whitespace" ]; } ];
   };
+
+  # system remote plugin manifest should be generated, deoplete should be usable
+  # without the user having to do `UpdateRemotePlugins`. To test, launch neovim
+  # and do `:call deoplete#enable()`. It will print an error if the remote
+  # plugin is not registered.
+  test_nvim_with_remote_plugin = neovim.override {
+    configure.pathogen.pluginNames = with vimPlugins; [ deoplete-nvim ];
+  };
 }
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index c9cf12912670..2ced9c6094ec 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 {
   name = "alsa-utils-${version}";
-  version = "1.1.7";
+  version = "1.1.8";
 
   src = fetchurl {
     url = "mirror://alsa/utils/${name}.tar.bz2";
-    sha256 = "02jlw6a22j2rr7inggfgk2hzx3w0fjhvhs0dn1afpzdp9aspzchx";
+    sha256 = "1kx45yhrxai3k595yyqs4wj0p2n5b0c9mf0k36ljjf1bj8lgb6zx";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 1466b51b2616..ddd1e9828d51 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -688,6 +688,14 @@ let
       HOTPLUG_PCI_PCIE = yes; # PCI-Expresscard hotplug support
 
     } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
+      # Enable memory hotplug support
+      # Allows you to dynamically add & remove memory to a VM client running NixOS without requiring a reboot
+      ACPI_HOTPLUG_MEMORY = yes;
+      MEMORY_HOTPLUG = yes;
+      MEMORY_HOTREMOVE = yes;
+      MIGRATION = yes;
+      SPARSEMEM = yes;
+
       # Bump the maximum number of CPUs to support systems like EC2 x1.*
       # instances and Xeon Phi.
       NR_CPUS = "384";
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 01e7e315393e..c3f3d3ce0cbc 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "5.0-rc2";
-  modDirVersion = "5.0.0-rc2";
+  version = "5.0-rc3";
+  modDirVersion = "5.0.0-rc3";
   extraMeta.branch = "5.0";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "1204b15gkdb7hxaqx1x7kxn48p1gl8gl51vgifxn2saikzlzls7c";
+    sha256 = "03xw2zfa6cxy5vdfrfh536mh3gcm8hvj69ggpqixm8d1gqg0nln6";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index e92cd6175af1..b13c2cbee85d 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -6,11 +6,11 @@
 stdenv.mkDerivation rec {
   name = "rabbitmq-server-${version}";
 
-  version = "3.7.9";
+  version = "3.7.10";
 
   src = fetchurl {
     url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${name}.tar.xz";
-    sha256 = "138hz19g4x562vm7aqdsxc98ay0aidn37isafzhkig8cjlygg2iq";
+    sha256 = "03g9912640xxwwm078idrxqg8jwn3xc45lkyq5ixjqs0vhc7aw4v";
   };
 
   buildInputs =
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index c28160b04a42..66dfc4069ed6 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -21,7 +21,6 @@
     "alarm_control_panel.egardia" = ps: with ps; [  ];
     "alarm_control_panel.elkm1" = ps: with ps; [  ];
     "alarm_control_panel.envisalink" = ps: with ps; [  ];
-    "alarm_control_panel.homekit_controller" = ps: with ps; [  ];
     "alarm_control_panel.homematicip_cloud" = ps: with ps; [  ];
     "alarm_control_panel.ialarm" = ps: with ps; [  ];
     "alarm_control_panel.ifttt" = ps: with ps; [ aiohttp-cors pyfttt ];
@@ -118,7 +117,7 @@
     "binary_sensor.iss" = ps: with ps; [  ];
     "binary_sensor.isy994" = ps: with ps; [  ];
     "binary_sensor.knx" = ps: with ps; [  ];
-    "binary_sensor.konnected" = ps: with ps; [ aiohttp-cors ];
+    "binary_sensor.konnected" = ps: with ps; [ aiohttp-cors netdisco ];
     "binary_sensor.linode" = ps: with ps; [ linode-api ];
     "binary_sensor.lupusec" = ps: with ps; [  ];
     "binary_sensor.maxcube" = ps: with ps; [  ];
@@ -222,7 +221,7 @@
     "camera.xeoma" = ps: with ps; [  ];
     "camera.xiaomi" = ps: with ps; [ ha-ffmpeg ];
     "camera.yi" = ps: with ps; [ ha-ffmpeg ];
-    "camera.zoneminder" = ps: with ps; [  ];
+    "camera.zoneminder" = ps: with ps; [ zm-py ];
     "canary" = ps: with ps; [  ];
     "cast" = ps: with ps; [ PyChromecast ];
     "climate" = ps: with ps; [  ];
@@ -420,10 +419,6 @@
     "emulated_hue" = ps: with ps; [ aiohttp-cors ];
     "emulated_hue.hue_api" = ps: with ps; [  ];
     "emulated_hue.upnp" = ps: with ps; [  ];
-    "emulated_roku" = ps: with ps; [  ];
-    "emulated_roku.binding" = ps: with ps; [  ];
-    "emulated_roku.config_flow" = ps: with ps; [  ];
-    "emulated_roku.const" = ps: with ps; [  ];
     "enocean" = ps: with ps; [  ];
     "envisalink" = ps: with ps; [  ];
     "esphome" = ps: with ps; [  ];
@@ -517,7 +512,6 @@
     "hue.config_flow" = ps: with ps; [  ];
     "hue.const" = ps: with ps; [  ];
     "hue.errors" = ps: with ps; [  ];
-    "hue.light" = ps: with ps; [ aiohue ];
     "hydrawise" = ps: with ps; [  ];
     "idteck_prox" = ps: with ps; [  ];
     "ifttt" = ps: with ps; [ aiohttp-cors pyfttt ];
@@ -556,7 +550,7 @@
     "keyboard_remote" = ps: with ps; [ evdev ];
     "kira" = ps: with ps; [  ];
     "knx" = ps: with ps; [  ];
-    "konnected" = ps: with ps; [ aiohttp-cors ];
+    "konnected" = ps: with ps; [ aiohttp-cors netdisco ];
     "lametric" = ps: with ps; [  ];
     "lcn" = ps: with ps; [  ];
     "lifx" = ps: with ps; [  ];
@@ -584,6 +578,7 @@
     "light.homematic" = ps: with ps; [ pyhomematic ];
     "light.homematicip_cloud" = ps: with ps; [  ];
     "light.homeworks" = ps: with ps; [  ];
+    "light.hue" = ps: with ps; [ aiohue ];
     "light.hyperion" = ps: with ps; [  ];
     "light.iglo" = ps: with ps; [  ];
     "light.ihc" = ps: with ps; [ defusedxml ];
@@ -718,6 +713,7 @@
     "media_player.mpchc" = ps: with ps; [  ];
     "media_player.mpd" = ps: with ps; [ mpd2 ];
     "media_player.nad" = ps: with ps; [  ];
+    "media_player.nadtcp" = ps: with ps; [  ];
     "media_player.onkyo" = ps: with ps; [ onkyo-eiscp ];
     "media_player.openhome" = ps: with ps; [  ];
     "media_player.panasonic_bluray" = ps: with ps; [  ];
@@ -1226,7 +1222,7 @@
     "sensor.zestimate" = ps: with ps; [ xmltodict ];
     "sensor.zha" = ps: with ps; [  ];
     "sensor.zigbee" = ps: with ps; [  ];
-    "sensor.zoneminder" = ps: with ps; [  ];
+    "sensor.zoneminder" = ps: with ps; [ zm-py ];
     "sensor.zwave" = ps: with ps; [  ];
     "shell_command" = ps: with ps; [  ];
     "shiftr" = ps: with ps; [ paho-mqtt ];
@@ -1294,7 +1290,7 @@
     "switch.isy994" = ps: with ps; [  ];
     "switch.kankun" = ps: with ps; [  ];
     "switch.knx" = ps: with ps; [  ];
-    "switch.konnected" = ps: with ps; [ aiohttp-cors ];
+    "switch.konnected" = ps: with ps; [ aiohttp-cors netdisco ];
     "switch.lightwave" = ps: with ps; [  ];
     "switch.linode" = ps: with ps; [ linode-api ];
     "switch.litejet" = ps: with ps; [  ];
@@ -1362,7 +1358,7 @@
     "switch.xiaomi_miio" = ps: with ps; [ construct ];
     "switch.zha" = ps: with ps; [  ];
     "switch.zigbee" = ps: with ps; [  ];
-    "switch.zoneminder" = ps: with ps; [  ];
+    "switch.zoneminder" = ps: with ps; [ zm-py ];
     "switch.zwave" = ps: with ps; [  ];
     "system_log" = ps: with ps; [ aiohttp-cors ];
     "tado" = ps: with ps; [  ];
@@ -1462,7 +1458,6 @@
     "zabbix" = ps: with ps; [  ];
     "zeroconf" = ps: with ps; [ aiohttp-cors zeroconf ];
     "zha" = ps: with ps; [  ];
-    "zha.api" = ps: with ps; [  ];
     "zha.config_flow" = ps: with ps; [  ];
     "zha.const" = ps: with ps; [  ];
     "zha.entities" = ps: with ps; [  ];
@@ -1473,7 +1468,7 @@
     "zone.config_flow" = ps: with ps; [  ];
     "zone.const" = ps: with ps; [  ];
     "zone.zone" = ps: with ps; [  ];
-    "zoneminder" = ps: with ps; [  ];
+    "zoneminder" = ps: with ps; [ zm-py ];
     "zwave" = ps: with ps; [ homeassistant-pyozw pydispatcher ];
     "zwave.config_flow" = ps: with ps; [  ];
     "zwave.const" = ps: with ps; [  ];
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index c35a8f22320b..edd4921e77d9 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jackett-${version}";
-  version = "0.10.566";
+  version = "0.10.622";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "10rfddwbvf6qrf217vrvn3rjbmlffl86c0v63yi32fv8vchc12b0";
+    sha256 = "0q9p6wd3br10ym3y013bmkw9z1859h92w2f6xj4h5dkzwg5h4fs1";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix
index 04e85212f3cd..8e72605b834f 100644
--- a/pkgs/servers/search/solr/default.nix
+++ b/pkgs/servers/search/solr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "solr-${version}";
-  version = "7.5.0";
+  version = "7.6.0";
 
   src = fetchurl {
     url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz";
-    sha256 = "1g6f58j2pzb73phj4hfri9mj7vmql72by7w3xrbq1pbnqgzxmhpa";
+    sha256 = "1marwyn7r85k5j28vwkl9n942gp52kjh6s1hbm357w8gnfh2bd1c";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index b8c06d5ec2f5..2b22c36e829f 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -48,10 +48,10 @@ let
     ] ++ lib.optionals icuEnabled [ "--with-icu" ];
 
     patches =
-      [ (if atLeast "9.4" then ./disable-resolve_symlinks-94.patch else ./disable-resolve_symlinks.patch)
-        (if atLeast "9.6" then ./less-is-more-96.patch             else ./less-is-more.patch)
-        (if atLeast "9.6" then ./hardcode-pgxs-path-96.patch       else ./hardcode-pgxs-path.patch)
-        ./specify_pkglibdir_at_runtime.patch
+      [ (if atLeast "9.4" then ./patches/disable-resolve_symlinks-94.patch else ./patches/disable-resolve_symlinks.patch)
+        (if atLeast "9.6" then ./patches/less-is-more-96.patch             else ./patches/less-is-more.patch)
+        (if atLeast "9.6" then ./patches/hardcode-pgxs-path-96.patch       else ./patches/hardcode-pgxs-path.patch)
+        ./patches/specify_pkglibdir_at_runtime.patch
       ];
 
     installTargets = [ "install-world" ];
diff --git a/pkgs/servers/sql/postgresql/cstore_fdw/default.nix b/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix
index a6e2c590f385..a6e2c590f385 100644
--- a/pkgs/servers/sql/postgresql/cstore_fdw/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/cstore_fdw.nix
diff --git a/pkgs/servers/sql/postgresql/pg_cron/default.nix b/pkgs/servers/sql/postgresql/ext/pg_cron.nix
index 959c2c382524..959c2c382524 100644
--- a/pkgs/servers/sql/postgresql/pg_cron/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_cron.nix
diff --git a/pkgs/servers/sql/postgresql/pg_hll/default.nix b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
index f91a8b1bf252..f91a8b1bf252 100644
--- a/pkgs/servers/sql/postgresql/pg_hll/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
diff --git a/pkgs/servers/sql/postgresql/pg_repack/default.nix b/pkgs/servers/sql/postgresql/ext/pg_repack.nix
index 14f71b1e2b3b..14f71b1e2b3b 100644
--- a/pkgs/servers/sql/postgresql/pg_repack/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_repack.nix
diff --git a/pkgs/servers/sql/postgresql/pg_similarity/default.nix b/pkgs/servers/sql/postgresql/ext/pg_similarity.nix
index 32945c9fa62b..32945c9fa62b 100644
--- a/pkgs/servers/sql/postgresql/pg_similarity/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_similarity.nix
diff --git a/pkgs/servers/sql/postgresql/topn/default.nix b/pkgs/servers/sql/postgresql/ext/pg_topn.nix
index dae30aadabd0..dae30aadabd0 100644
--- a/pkgs/servers/sql/postgresql/topn/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_topn.nix
diff --git a/pkgs/servers/sql/postgresql/pgjwt/default.nix b/pkgs/servers/sql/postgresql/ext/pgjwt.nix
index ab7ba8943a7b..ab7ba8943a7b 100644
--- a/pkgs/servers/sql/postgresql/pgjwt/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgjwt.nix
diff --git a/pkgs/servers/sql/postgresql/pgroonga/default.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index 8a185990725f..8a185990725f 100644
--- a/pkgs/servers/sql/postgresql/pgroonga/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
diff --git a/pkgs/servers/sql/postgresql/pgtap/default.nix b/pkgs/servers/sql/postgresql/ext/pgtap.nix
index 6386049be395..6386049be395 100644
--- a/pkgs/servers/sql/postgresql/pgtap/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgtap.nix
diff --git a/pkgs/servers/sql/postgresql/plv8/default.nix b/pkgs/servers/sql/postgresql/ext/plv8.nix
index dae3b2fd1af1..dae3b2fd1af1 100644
--- a/pkgs/servers/sql/postgresql/plv8/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/plv8.nix
diff --git a/pkgs/servers/sql/postgresql/timescaledb/default.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 3c53054ba7de..3c53054ba7de 100644
--- a/pkgs/servers/sql/postgresql/timescaledb/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
diff --git a/pkgs/servers/sql/postgresql/tsearch_extras/default.nix b/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix
index b43a9c51be0c..b43a9c51be0c 100644
--- a/pkgs/servers/sql/postgresql/tsearch_extras/default.nix
+++ b/pkgs/servers/sql/postgresql/ext/tsearch_extras.nix
diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch b/pkgs/servers/sql/postgresql/patches/disable-resolve_symlinks-94.patch
index fadeea90ac4b..fadeea90ac4b 100644
--- a/pkgs/servers/sql/postgresql/disable-resolve_symlinks-94.patch
+++ b/pkgs/servers/sql/postgresql/patches/disable-resolve_symlinks-94.patch
diff --git a/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch b/pkgs/servers/sql/postgresql/patches/disable-resolve_symlinks.patch
index 3e6fd5e838a2..3e6fd5e838a2 100644
--- a/pkgs/servers/sql/postgresql/disable-resolve_symlinks.patch
+++ b/pkgs/servers/sql/postgresql/patches/disable-resolve_symlinks.patch
diff --git a/pkgs/servers/sql/postgresql/hardcode-pgxs-path-96.patch b/pkgs/servers/sql/postgresql/patches/hardcode-pgxs-path-96.patch
index 6cd449769baa..6cd449769baa 100644
--- a/pkgs/servers/sql/postgresql/hardcode-pgxs-path-96.patch
+++ b/pkgs/servers/sql/postgresql/patches/hardcode-pgxs-path-96.patch
diff --git a/pkgs/servers/sql/postgresql/hardcode-pgxs-path.patch b/pkgs/servers/sql/postgresql/patches/hardcode-pgxs-path.patch
index 355813ffe20e..355813ffe20e 100644
--- a/pkgs/servers/sql/postgresql/hardcode-pgxs-path.patch
+++ b/pkgs/servers/sql/postgresql/patches/hardcode-pgxs-path.patch
diff --git a/pkgs/servers/sql/postgresql/less-is-more-96.patch b/pkgs/servers/sql/postgresql/patches/less-is-more-96.patch
index f14af9dc2207..f14af9dc2207 100644
--- a/pkgs/servers/sql/postgresql/less-is-more-96.patch
+++ b/pkgs/servers/sql/postgresql/patches/less-is-more-96.patch
diff --git a/pkgs/servers/sql/postgresql/less-is-more.patch b/pkgs/servers/sql/postgresql/patches/less-is-more.patch
index d640d24bdaad..d640d24bdaad 100644
--- a/pkgs/servers/sql/postgresql/less-is-more.patch
+++ b/pkgs/servers/sql/postgresql/patches/less-is-more.patch
diff --git a/pkgs/servers/sql/postgresql/specify_pkglibdir_at_runtime.patch b/pkgs/servers/sql/postgresql/patches/specify_pkglibdir_at_runtime.patch
index fe95d2ee99f0..fe95d2ee99f0 100644
--- a/pkgs/servers/sql/postgresql/specify_pkglibdir_at_runtime.patch
+++ b/pkgs/servers/sql/postgresql/patches/specify_pkglibdir_at_runtime.patch
diff --git a/pkgs/servers/tegola/default.nix b/pkgs/servers/tegola/default.nix
new file mode 100644
index 000000000000..967eea25d3fb
--- /dev/null
+++ b/pkgs/servers/tegola/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "tegola-${version}";
+  version = "0.8.1";
+  rev = "8b2675a63624ad1d69a8d2c84a6a3f3933e25ca1";
+
+  goPackagePath = "github.com/go-spatial/tegola";
+
+  src = fetchFromGitHub {
+    owner = "go-spatial";
+    repo = "tegola";
+    inherit rev;
+    sha256 = "1f70vsrj3i1d0kg76a8s741nps71hrglgyyrz2xm6a8b31w833pi";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://www.tegola.io/;
+    description = "Mapbox Vector Tile server";
+    maintainers = with maintainers; [ ingenieroariel ];
+    platforms = platforms.unix;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/shells/bash/bash-5.0-patches.nix b/pkgs/shells/bash/bash-5.0-patches.nix
index b8019fb33502..a9877540988b 100644
--- a/pkgs/shells/bash/bash-5.0-patches.nix
+++ b/pkgs/shells/bash/bash-5.0-patches.nix
@@ -1,4 +1,6 @@
 # Automatically generated by `update-patch-set.sh'; do not edit.
 
 patch: [
+(patch "001" "12bjfdy6bg8nhyw27bdgxn7h4paylx8d927skfmi9pxd1wgrxzpj")
+(patch "002" "01w7yrzmz10mw06ys0546vhl7isv2v402ziyvfd7k67588spvs47")
 ]
diff --git a/pkgs/tools/audio/google-music-scripts/default.nix b/pkgs/tools/audio/google-music-scripts/default.nix
new file mode 100644
index 000000000000..a718ea557469
--- /dev/null
+++ b/pkgs/tools/audio/google-music-scripts/default.nix
@@ -0,0 +1,32 @@
+{ lib, python3 }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "google-music-scripts";
+  version = "3.0.0";
+
+  src = python3.pkgs.fetchPypi {
+    inherit pname version;
+    sha256 = "12risivi11z3shrgs1kpi7x6lvk113cbp3dnczw9mmqhb4mmwviy";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    audio-metadata
+    click
+    click-default-group
+    google-music
+    google-music-utils
+    logzero
+    tomlkit
+  ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = https://github.com/thebigmunch/google-music-scripts;
+    description = "A CLI utility for interacting with Google Music";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jakewaksbaum ];
+  };
+}
diff --git a/pkgs/tools/misc/capture/0001-eval-fix.patch b/pkgs/tools/misc/capture/0001-eval-fix.patch
new file mode 100644
index 000000000000..4b5bdc6a0bcf
--- /dev/null
+++ b/pkgs/tools/misc/capture/0001-eval-fix.patch
@@ -0,0 +1,10 @@
+diff --git a/src/capture.sh b/src/capture.sh
+index a32b018..82d1f15 100755
+--- a/src/capture.sh
++++ b/src/capture.sh
+@@ -103,4 +103,4 @@ capture () {
+ 
+ 
+ # remove this line if you want to source this file instead
+-eval " ${0##*/}" "$@"
++capture "$@"
diff --git a/pkgs/tools/misc/capture/0002-sane-defaults.patch b/pkgs/tools/misc/capture/0002-sane-defaults.patch
new file mode 100644
index 000000000000..1bd49ae41e38
--- /dev/null
+++ b/pkgs/tools/misc/capture/0002-sane-defaults.patch
@@ -0,0 +1,22 @@
+diff --git a/src/capture.sh b/src/capture.sh
+index a32b018..42f3936 100755
+--- a/src/capture.sh
++++ b/src/capture.sh
+@@ -9,7 +9,7 @@ set -e
+ #
+ 
+ scale="-1:-1"
+-fps="15"
++fps="30"
+ raw_video="-vf fps=$fps -c:v utvideo -f nut"
+ raw_video_container=".nut"
+ 
+@@ -18,7 +18,7 @@ raw_video_container=".nut"
+ # https://stackoverflow.com/questions/41372045/vp9-encoding-limited-to-4-threads
+ webm_video="-pix_fmt yuv420p -c:v libvpx-vp9 -crf 25 -b:v 0 -f webm -tile-columns 6 -frame-parallel 1 -threads 8"
+ 
+-tmpdir="/var/tmp"
++tmpdir="/tmp"
+ 
+ 
+ # capture_raw ./foo.nut
diff --git a/pkgs/tools/misc/capture/default.nix b/pkgs/tools/misc/capture/default.nix
new file mode 100644
index 000000000000..49c238b0bd0f
--- /dev/null
+++ b/pkgs/tools/misc/capture/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, pkgs, slop, ffmpeg, fetchFromGitHub, makeWrapper}:
+
+stdenv.mkDerivation rec {
+  name = "capture-${version}";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "buhman";
+    repo = "capture";
+    rev  = "4be986f17462b8d520559429c74da6bf3a436259";
+    sha256 = "172y06vs993x5v78zwl81xma1gkvjq1ad9rvmf3a217fyxsz4nhh";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  patches = [ ./0001-eval-fix.patch ./0002-sane-defaults.patch ];
+
+  installPhase = ''
+    install -Dm755 src/capture.sh $out/bin/capture
+
+    patchShebangs $out/bin/capture
+    wrapProgram $out/bin/capture \
+      --prefix PATH : '${stdenv.lib.makeBinPath [ slop ffmpeg ]}'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A no bullshit screen capture tool";
+    homepage = "https://github.com/buhman/capture";
+    maintainers = [ maintainers.ar1a ];
+  };
+}
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index df5a9e80f38a..0a3ae5c28e97 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -15,13 +15,13 @@ let binPath = stdenv.lib.makeBinPath [
   ];
 in stdenv.mkDerivation rec {
   name = "debootstrap-${version}";
-  version = "1.0.112";
+  version = "1.0.114";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
     url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz";
-    sha256 = "1p7skj8821dhwgjq3f2v1fplzv5y6xfma6bh9ai6f8ry6vz0hvha";
+    sha256 = "14lw18bhxap1g15q0rhslacj1bcrl69wrqcx6azmbvd92rl4bqd8";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/hebcal/default.nix b/pkgs/tools/misc/hebcal/default.nix
index edb5973fbb70..2c19facd1d36 100644
--- a/pkgs/tools/misc/hebcal/default.nix
+++ b/pkgs/tools/misc/hebcal/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "4.15";
+  version = "4.16";
   name = "hebcal-${version}";
 
   src = fetchFromGitHub {
     owner = "hebcal";
     repo = "hebcal";
     rev = "v${version}";
-    sha256 = "1s9iardqyzn42hs0x9p4rig2m87v87jvzcrbb9arcci7nds66y3i";
+    sha256 = "081h3dan0v14camv6j3swl9y31yzfwjfkp2h8xz5qmrh0scv8azr";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/misc/oci-image-tool/default.nix b/pkgs/tools/misc/oci-image-tool/default.nix
new file mode 100644
index 000000000000..6d508a48901a
--- /dev/null
+++ b/pkgs/tools/misc/oci-image-tool/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, buildGoPackage }:
+
+buildGoPackage rec {
+  name = "oci-image-tool-${version}";
+  version = "1.0.0-rc1";
+
+  goPackagePath = "github.com/opencontainers/image-tools";
+  subPackages = [ "cmd/oci-image-tool" ];
+
+  src = fetchFromGitHub {
+    owner = "opencontainers";
+    repo = "image-tools";
+    rev = "v${version}";
+    sha256 = "0c4n69smqlkf0r6khy9gbg5f810qh9g8jqsl9kibb0dyswizr14r";
+  };
+
+  meta = {
+    description = "A collection of tools for working with the OCI image format specification";
+    homepage = https://github.com/opencontainers/image-tools;
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ nzhang-zh ];
+  };
+}
diff --git a/pkgs/tools/misc/pb_cli/0001-eval-fix.patch b/pkgs/tools/misc/pb_cli/0001-eval-fix.patch
new file mode 100644
index 000000000000..7188cf372977
--- /dev/null
+++ b/pkgs/tools/misc/pb_cli/0001-eval-fix.patch
@@ -0,0 +1,10 @@
+diff --git a/src/pb.sh b/src/pb.sh
+index be1e472..eb9e6f9 100755
+--- a/src/pb.sh
++++ b/src/pb.sh
+@@ -61,4 +61,4 @@ pb () {
+   esac
+ }
+
+-eval " ${0##*/}" "$@"
++pb "$@"
diff --git a/pkgs/tools/misc/pb_cli/default.nix b/pkgs/tools/misc/pb_cli/default.nix
new file mode 100644
index 000000000000..6fab44891c52
--- /dev/null
+++ b/pkgs/tools/misc/pb_cli/default.nix
@@ -0,0 +1,40 @@
+{ screenshots ? true, video ? false, clipboard ? true
+, stdenv, pkgs, jq, curl, fetchFromGitHub, makeWrapper, maim ? null, xclip ? null, capture ? null }:
+
+assert screenshots -> maim != null;
+assert video -> capture != null;
+assert clipboard -> xclip != null;
+
+stdenv.mkDerivation rec {
+  name = "pb_cli-${version}";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "ptpb";
+    repo = "pb_cli";
+    rev  = "5242382b3d6b5c0ddaf6e4843a69746b40866e57";
+    sha256 = "0543x3377apinhxnsfq82zlp5sm8g1bf6hmsvvcwra5rsshv2ybk";
+  };
+
+  patches = [ ./0001-eval-fix.patch ];
+
+  buildInputs = [ makeWrapper ];
+
+  liveDeps = [ jq curl ] ++ stdenv.lib.optional screenshots maim
+                         ++ stdenv.lib.optional video capture
+                         ++ stdenv.lib.optional clipboard xclip;
+
+  installPhase = ''
+    install -Dm755 src/pb.sh $out/bin/pb
+
+    patchShebangs $out/bin/pb
+    wrapProgram $out/bin/pb \
+      --prefix PATH : '${stdenv.lib.makeBinPath liveDeps}'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A no bullshit ptpb client";
+    homepage = "https://github.com/ptpb/pb_cli";
+    maintainers = [ maintainers.ar1a ];
+  };
+}
diff --git a/pkgs/tools/misc/termtosvg/default.nix b/pkgs/tools/misc/termtosvg/default.nix
index 1dca7f4a70bd..9912202f867e 100644
--- a/pkgs/tools/misc/termtosvg/default.nix
+++ b/pkgs/tools/misc/termtosvg/default.nix
@@ -2,20 +2,20 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "termtosvg";
-  version = "0.7.0";
+  version = "0.8.0";
 
   # tests are not available when fetching from pypi
   src = fetchFromGitHub {
     owner = "nbedos";
     repo = pname;
     rev = version;
-    sha256 = "17hhdrsn9ggcrwqp2c1h2la9cwhdazfrczd7nnm5mz7w6rk25lx3";
+    sha256 = "0si5l8cdbzapcibr4yavhld2vhfrpk7qj4cy7m4ws7js8g9iwzd4";
   };
 
   propagatedBuildInputs = with python3.pkgs; [ lxml pyte ];
 
   meta = with lib; {
-    homepage = https://github.com/nbedos/termtosvg;
+    homepage = https://nbedos.github.io/termtosvg/;
     description = "Record terminal sessions as SVG animations";
     license = licenses.bsd3;
     maintainers = with maintainers; [ ma27 ];
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 23cbfd3428fe..dd210498fe75 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, buildPythonPackage
-, zip, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome, pandoc
+, zip, ffmpeg_4, rtmpdump, phantomjs2, atomicparsley, pycryptodome, pandoc
 , fetchpatch
 # Pandoc is required to build the package's man page. Release tarballs contain a
 # formatted man page already, though, it will still be installed. We keep the
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   makeWrapperArgs = let
       packagesToBinPath =
         [ atomicparsley ]
-        ++ lib.optional ffmpegSupport ffmpeg
+        ++ lib.optional ffmpegSupport ffmpeg_4
         ++ lib.optional rtmpSupport rtmpdump
         ++ lib.optional phantomjsSupport phantomjs2;
     in [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
diff --git a/pkgs/tools/networking/curl/7_59.nix b/pkgs/tools/networking/curl/7_59.nix
deleted file mode 100644
index 272c38a99586..000000000000
--- a/pkgs/tools/networking/curl/7_59.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-{ stdenv, lib, fetchurl, pkgconfig, perl
-, http2Support ? true, nghttp2
-, idnSupport ? false, libidn ? null
-, ldapSupport ? false, openldap ? null
-, zlibSupport ? true, zlib ? null
-, sslSupport ? zlibSupport, openssl ? null
-, gnutlsSupport ? false, gnutls ? null
-, scpSupport ? zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin, libssh2 ? null
-, gssSupport ? !stdenv.hostPlatform.isWindows, libkrb5 ? null
-, c-aresSupport ? false, c-ares ? null
-, brotliSupport ? false, brotli ? null
-}:
-
-assert http2Support -> nghttp2 != null;
-assert idnSupport -> libidn != null;
-assert ldapSupport -> openldap != null;
-assert zlibSupport -> zlib != null;
-assert sslSupport -> openssl != null;
-assert !(gnutlsSupport && sslSupport);
-assert gnutlsSupport -> gnutls != null;
-assert scpSupport -> libssh2 != null;
-assert c-aresSupport -> c-ares != null;
-assert brotliSupport -> brotli != null;
-assert gssSupport -> libkrb5 != null;
-
-stdenv.mkDerivation rec {
-  name = "curl-7.59.0";
-
-  src = fetchurl {
-    urls = [
-      "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] name}/${name}.tar.bz2"
-      "https://curl.haxx.se/download/${name}.tar.bz2"
-    ];
-    sha256 = "185mazhi4bc5mc6rvhrmnc67j8l3sg7f0w2hp5gmi5ccdbyhz4mm";
-  };
-
-  outputs = [ "bin" "dev" "out" "man" "devdoc" ];
-  separateDebugInfo = stdenv.isLinux;
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [ pkgconfig perl ];
-
-  # Zlib and OpenSSL must be propagated because `libcurl.la' contains
-  # "-lz -lssl", which aren't necessary direct build inputs of
-  # applications that use Curl.
-  propagatedBuildInputs = with stdenv.lib;
-    optional http2Support nghttp2 ++
-    optional idnSupport libidn ++
-    optional ldapSupport openldap ++
-    optional zlibSupport zlib ++
-    optional gssSupport libkrb5 ++
-    optional c-aresSupport c-ares ++
-    optional sslSupport openssl ++
-    optional gnutlsSupport gnutls ++
-    optional scpSupport libssh2 ++
-    optional brotliSupport brotli;
-
-  # for the second line see https://curl.haxx.se/mail/tracker-2014-03/0087.html
-  preConfigure = ''
-    sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
-    rm src/tool_hugehelp.c
-  '';
-
-  configureFlags = [
-      "--with-ca-fallback"
-      "--disable-manual"
-      ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
-      ( if gnutlsSupport then "--with-gnutls=${gnutls.dev}" else "--without-gnutls" )
-      ( if scpSupport then "--with-libssh2=${libssh2.dev}" else "--without-libssh2" )
-      ( if ldapSupport then "--enable-ldap" else "--disable-ldap" )
-      ( if ldapSupport then "--enable-ldaps" else "--disable-ldaps" )
-      ( if idnSupport then "--with-libidn=${libidn.dev}" else "--without-libidn" )
-      ( if brotliSupport then "--with-brotli" else "--without-brotli" )
-    ]
-    ++ stdenv.lib.optional c-aresSupport "--enable-ares=${c-ares}"
-    ++ stdenv.lib.optional gssSupport "--with-gssapi=${libkrb5.dev}"
-       # For the 'urandom', maybe it should be a cross-system option
-    ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-       "--with-random=/dev/urandom"
-    ++ stdenv.lib.optionals stdenv.hostPlatform.isWindows [
-      "--disable-shared"
-      "--enable-static"
-    ];
-
-  CXX = "${stdenv.cc.targetPrefix}c++";
-  CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
-
-  doCheck = false; # expensive, fails
-
-  postInstall = ''
-    moveToOutput bin/curl-config "$dev"
-    sed '/^dependency_libs/s|${libssh2.dev}|${libssh2.out}|' -i "$out"/lib/*.la
-  '' + stdenv.lib.optionalString gnutlsSupport ''
-    ln $out/lib/libcurl.so $out/lib/libcurl-gnutls.so
-    ln $out/lib/libcurl.so $out/lib/libcurl-gnutls.so.4
-    ln $out/lib/libcurl.so $out/lib/libcurl-gnutls.so.4.4.0
-  '';
-
-  passthru = {
-    inherit sslSupport openssl;
-  };
-
-  meta = with stdenv.lib; {
-    description = "A command line tool for transferring files with URL syntax";
-    homepage    = https://curl.haxx.se/;
-    maintainers = with maintainers; [ lovek323 ];
-    license = licenses.curl;
-    platforms   = platforms.all;
-  };
-}
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 993dc49a61b7..7ae42cbdf572 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -9,12 +9,12 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "1.9.0";
+  version = "1.9.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${name}.tar.gz";
-    sha256 = "0zc10ghcwj7hpi90yh2gsciq6q87sqkdik52s55xw1jn2xk9wqhn";
+    sha256 = "1qf8q49njx9n3b1g10zz3kcqmhji8lqcklh7723671z3l4pk2imd";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/pkgs/tools/package-management/nix-review/default.nix b/pkgs/tools/package-management/nix-review/default.nix
index 5481182fbd1d..1e10ea087d13 100644
--- a/pkgs/tools/package-management/nix-review/default.nix
+++ b/pkgs/tools/package-management/nix-review/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "nix-review";
-  version = "1.0.2";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nix-review";
     rev = version;
-    sha256 = "0vgar8sb2471zipxa1cw0n90mrnn5da7wqdlxhamnkrylbh0mc0d";
+    sha256 = "0mlcr4iscw43m04sby1m4i58fqv5c1qq1vkbgg2wgr0rpr0rf0ik";
   };
 
   makeWrapperArgs = [
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index b27b4ac24c0a..ae726544453a 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -1,22 +1,20 @@
-{ stdenv, lib, buildGoPackage, fetchFromGitHub, cf-private
+{ stdenv, lib, buildGoPackage, fetchurl, cf-private
 , AVFoundation, AudioToolbox, ImageIO, CoreMedia
 , Foundation, CoreGraphics, MediaToolbox
 }:
 
 buildGoPackage rec {
   name = "keybase-${version}";
-  version = "2.11.0";
+  version = "2.13.1";
 
   goPackagePath = "github.com/keybase/client";
   subPackages = [ "go/keybase" ];
 
   dontRenameImports = true;
 
-  src = fetchFromGitHub {
-    owner  = "keybase";
-    repo   = "client";
-    rev    = "v${version}";
-    sha256 = "1mj78cs6j0f1f86c71j4gdphas75j3rfaqygpy87dc40kc2yj0gd";
+  src = fetchurl {
+    url = "https://github.com/keybase/client/archive/v${version}.tar.gz";
+    sha256 = "0avq87y7cs3jipl444ssz1zd5jygpks20hls0fkqxxaikkpdsy4v";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index a8c2d5ea4837..bd8166b214dc 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -3,16 +3,16 @@
 , libnotify, nspr, nss, pango, systemd, xorg, autoPatchelfHook, wrapGAppsHook }:
 
 let
-  versionSuffix = "20190104191034.69b3ee25b7";
+  versionSuffix = "20190115203650.eec94506e4";
 in
 
 stdenv.mkDerivation rec {
   name = "keybase-gui-${version}";
-  version = "2.13.0"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "2.13.1"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
-    sha256 = "5b188185dc6d594cd18876a2c955bb6481598c206f048cfd80ac2e7e8022241e";
+    sha256 = "01663jknr8s4sp51mclw9llhx07ww6yh22apawxikvpwmw9yg2qr";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index 75e380a6b661..69fce7a109cc 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   version = "2.2.4";
@@ -12,6 +12,13 @@ stdenv.mkDerivation rec {
   patches = ./fix-configure-path.patch;
   configureScript = "./configure.sh";
 
+  configureFlags = [
+    "--enable-all-features"
+    "--pkg-config"
+    "--shared"
+    "--with-fenced-code"
+  ];
+
   meta = with stdenv.lib; {
     description = "Implementation of Markdown markup language in C";
     homepage = http://www.pell.portland.or.us/~orc/Code/discount/;
diff --git a/pkgs/tools/text/transifex-client/default.nix b/pkgs/tools/text/transifex-client/default.nix
new file mode 100644
index 000000000000..62fdc0c7c84b
--- /dev/null
+++ b/pkgs/tools/text/transifex-client/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildPythonApplication, fetchPypi
+, python-slugify, requests, urllib3 }:
+
+buildPythonApplication rec {
+  pname = "transifex-client";
+  version = "0.13.5";
+
+  propagatedBuildInputs = [
+    urllib3 requests python-slugify
+  ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00igk35nyzqp1slj7lbhiv4lc42k87ix43ipx2zcrsjf6xxv6l7v";
+  };
+
+  prePatch = ''
+    substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3<2.0"
+  '';
+
+  # Requires external resources
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://www.transifex.com/;
+    license = licenses.gpl2;
+    description = "Transifex translation service client";
+    maintainers = [ maintainers.etu ];
+  };
+}
diff --git a/pkgs/tools/typesetting/scdoc/default.nix b/pkgs/tools/typesetting/scdoc/default.nix
index 1ff804f0d4a4..55bcf449a2d1 100644
--- a/pkgs/tools/typesetting/scdoc/default.nix
+++ b/pkgs/tools/typesetting/scdoc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "scdoc-${version}";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "https://git.sr.ht/~sircmpwn/scdoc/archive/${version}.tar.gz";
-    sha256 = "1ca3js4arkg28gg2iszxxyrq7kgsrz482d1szv5dfd471h3vr5m3";
+    sha256 = "16wp3plxbdzb3jvshdwvyjnskvk34bz4s6fc8vsz5hffkmxm7vdq";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/virtualization/udocker/default.nix b/pkgs/tools/virtualization/udocker/default.nix
index cad6b9866171..446cfff37ff6 100644
--- a/pkgs/tools/virtualization/udocker/default.nix
+++ b/pkgs/tools/virtualization/udocker/default.nix
@@ -28,7 +28,7 @@ buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     description = "basic user tool to execute simple docker containers in user space without root privileges";
-    homepage = https://www.gitbook.com/book/indigo-dc/udocker;
+    homepage = https://indigo-dc.gitbooks.io/udocker;
     license = licenses.asl20;
     maintainers = [ maintainers.bzizou ];
     platforms = platforms.linux;
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 186260c0f688..e13e9adfa165 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -271,6 +271,7 @@ mapAliases ({
   saneBackends = sane-backends; # added 2016-01-02
   saneBackendsGit = sane-backends-git; # added 2016-01-02
   saneFrontends = sane-frontends; # added 2016-01-02
+  sapic = throw "deprecated 2019-1-19: sapic is bundled with 'tamarin-prover' now";
   scim = sc-im; # added 2016-01-22
   scollector = bosun; # added 2018-04-25
   shared_mime_info = shared-mime-info; # added 2018-02-25
@@ -341,6 +342,7 @@ mapAliases ({
   xlibs = xorg; # added 2015-09
   xpraGtk3 = xpra; # added 2018-09-13
   youtubeDL = youtube-dl;  # added 2014-10-26
+  zdfmediathk = mediathekview; # added 2019-01-19
 
   # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
   # branch-off
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 3cc3a4626c91..357d2c6ecd24 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -208,6 +208,8 @@ in
 
   fetchMavenArtifact = callPackage ../build-support/fetchmavenartifact { };
 
+  prefer-remote-fetch = import ../build-support/prefer-remote-fetch;
+
   global-platform-pro = callPackage ../development/tools/global-platform-pro/default.nix { };
 
   graph-easy = callPackage ../tools/graphics/graph-easy { };
@@ -419,7 +421,7 @@ in
   findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh;
 
   wrapGAppsHook = makeSetupHook {
-    deps = [ gnome3.dconf.lib gnome3.gtk librsvg makeWrapper ];
+    deps = lib.optional (!stdenv.isDarwin) gnome3.dconf.lib ++ [ gtk3 librsvg makeWrapper ];
   } ../build-support/setup-hooks/wrap-gapps-hook.sh;
 
   separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh;
@@ -2171,10 +2173,6 @@ in
     brotliSupport = true;
   };
 
-  curl_7_59 = callPackage ../tools/networking/curl/7_59.nix rec {
-    fetchurl = fetchurlBoot;
-  };
-
   curl = callPackage ../tools/networking/curl rec {
     fetchurl = fetchurlBoot;
   };
@@ -3048,6 +3046,8 @@ in
 
   google-compute-engine-oslogin = callPackage ../tools/virtualization/google-compute-engine-oslogin { };
 
+  google-music-scripts = callPackage ../tools/audio/google-music-scripts { };
+
   gource = callPackage ../applications/version-management/gource { };
 
   govc = callPackage ../tools/virtualization/govc { };
@@ -3215,17 +3215,36 @@ in
 
   pgf_graphics = callPackage ../tools/graphics/pgf { };
 
-  pgjwt = callPackage ../servers/sql/postgresql/pgjwt {};
 
-  cstore_fdw = callPackage ../servers/sql/postgresql/cstore_fdw {};
+  # postgresql extensions
+
+  cstore_fdw = callPackage ../servers/sql/postgresql/ext/cstore_fdw.nix {};
+
+  pg_cron = callPackage ../servers/sql/postgresql/ext/pg_cron.nix {};
+
+  pg_hll = callPackage ../servers/sql/postgresql/ext/pg_hll.nix {};
 
-  pg_hll = callPackage ../servers/sql/postgresql/pg_hll {};
+  pgjwt = callPackage ../servers/sql/postgresql/ext/pgjwt.nix {};
+
+  pg_repack = callPackage ../servers/sql/postgresql/ext/pg_repack.nix {};
+
+  pgroonga = callPackage ../servers/sql/postgresql/ext/pgroonga.nix {};
+
+  plv8 = callPackage ../servers/sql/postgresql/ext/plv8.nix {
+    v8 = callPackage ../development/libraries/v8/plv8_6_x.nix {
+      inherit (python2Packages) python;
+    };
+  };
 
-  pg_cron = callPackage ../servers/sql/postgresql/pg_cron {};
+  pg_similarity = callPackage ../servers/sql/postgresql/ext/pg_similarity.nix {};
 
-  pgtap = callPackage ../servers/sql/postgresql/pgtap {};
+  pgtap = callPackage ../servers/sql/postgresql/ext/pgtap.nix {};
 
-  pg_topn = callPackage ../servers/sql/postgresql/topn {};
+  pg_topn = callPackage ../servers/sql/postgresql/ext/pg_topn.nix {};
+
+  timescaledb = callPackage ../servers/sql/postgresql/ext/timescaledb.nix {};
+
+  tsearch_extras = callPackage ../servers/sql/postgresql/ext/tsearch_extras.nix { };
 
   pigz = callPackage ../tools/compression/pigz { };
 
@@ -4565,6 +4584,8 @@ in
 
   obexd = callPackage ../tools/bluetooth/obexd { };
 
+  oci-image-tool = callPackage ../tools/misc/oci-image-tool { };
+
   ocproxy = callPackage ../tools/networking/ocproxy { };
 
   ocserv = callPackage ../tools/networking/ocserv { };
@@ -4945,6 +4966,9 @@ in
 
   podiff = callPackage ../tools/text/podiff { };
 
+  podman = callPackage ../applications/virtualization/podman { };
+  conmon = callPackage ../applications/virtualization/podman/conmon.nix { };
+
   pod2mdoc = callPackage ../tools/misc/pod2mdoc { };
 
   poedit = callPackage ../tools/text/poedit { };
@@ -5421,9 +5445,7 @@ in
 
   sieve-connect = callPackage ../applications/networking/sieve-connect {};
 
-  sigal = callPackage ../applications/misc/sigal {
-    inherit (pythonPackages) buildPythonApplication fetchPypi;
-  };
+  sigal = callPackage ../applications/misc/sigal { };
 
   sigil = libsForQt5.callPackage ../applications/editors/sigil { };
 
@@ -5870,6 +5892,8 @@ in
 
   tracefilesim = callPackage ../development/tools/analysis/garcosim/tracefilesim { };
 
+  transifex-client = python3.pkgs.callPackage ../tools/text/transifex-client { };
+
   translate-shell = callPackage ../applications/misc/translate-shell { };
 
   transporter = callPackage ../applications/networking/transporter { };
@@ -5992,6 +6016,8 @@ in
 
   vampire = callPackage ../applications/science/logic/vampire {};
 
+  vdmfec = callPackage ../applications/backup/vdmfec {};
+
   vk-messenger = callPackage ../applications/networking/instant-messengers/vk-messenger {};
 
   volatility = callPackage ../tools/security/volatility { };
@@ -6146,6 +6172,8 @@ in
 
   rcm = callPackage ../tools/misc/rcm {};
 
+  tegola = callPackage ../servers/tegola {};
+
   tftp-hpa = callPackage ../tools/networking/tftp-hpa {};
 
   tigervnc = callPackage ../tools/admin/tigervnc {
@@ -7066,7 +7094,7 @@ in
   tamarin-prover =
     (haskellPackages.callPackage ../applications/science/logic/tamarin-prover {
       # NOTE: do not use the haskell packages 'graphviz' and 'maude'
-      inherit maude which sapic;
+      inherit maude which;
       graphviz = graphviz-nox;
     });
 
@@ -7832,6 +7860,7 @@ in
     luajit luajit_2_0 luajit_2_1;
 
   luarocks = luaPackages.luarocks;
+  luarocks-nix = luaPackages.luarocks-nix;
 
   toluapp = callPackage ../development/tools/toluapp {
     lua = lua5_1; # doesn't work with any other :(
@@ -8603,7 +8632,7 @@ in
 
   doclifter = callPackage ../development/tools/misc/doclifter { };
 
-  docutils = pythonPackages.docutils;
+  docutils = with python3Packages; toPythonApplication docutils;
 
   doctl = callPackage ../development/tools/doctl { };
 
@@ -9752,7 +9781,7 @@ in
     vid-stab = if stdenv.isDarwin then null else vid-stab;
     x265 = if stdenv.isDarwin then null else x265;
     xavs = if stdenv.isDarwin then null else xavs;
-    inherit (darwin) CF;
+    inherit (darwin) cf-private;
     inherit (darwin.apple_sdk.frameworks)
       Cocoa CoreServices CoreAudio AVFoundation MediaToolbox
       VideoDecodeAcceleration;
@@ -9857,6 +9886,8 @@ in
 
   gcr = callPackage ../development/libraries/gcr { };
 
+  gdl = callPackage ../development/libraries/gdl { };
+
   gdome2 = callPackage ../development/libraries/gdome2 {
     inherit (gnome2) gtkdoc;
   };
@@ -11984,18 +12015,6 @@ in
 
   pdf2xml = callPackage ../development/libraries/pdf2xml {} ;
 
-  pg_repack = callPackage ../servers/sql/postgresql/pg_repack {};
-
-  pg_similarity = callPackage ../servers/sql/postgresql/pg_similarity {};
-
-  pgroonga = callPackage ../servers/sql/postgresql/pgroonga {};
-
-  plv8 = callPackage ../servers/sql/postgresql/plv8 {
-    v8 = callPackage ../development/libraries/v8/plv8_6_x.nix {
-      inherit (python2Packages) python;
-    };
-  };
-
   phonon = callPackage ../development/libraries/phonon {};
 
   phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix {};
@@ -13937,7 +13956,7 @@ in
     postgresql_10
     postgresql_11;
 
-  postgresql_jdbc = callPackage ../servers/sql/postgresql/jdbc { };
+  postgresql_jdbc = callPackage ../development/java-modules/postgresql_jdbc { };
 
   inherit (callPackage ../servers/monitoring/prometheus {
     buildGoPackage = buildGo110Package;
@@ -13977,7 +13996,7 @@ in
   prometheus-varnish-exporter = callPackage ../servers/monitoring/prometheus/varnish-exporter.nix { };
   prometheus-jmx-httpserver = callPackage ../servers/monitoring/prometheus/jmx-httpserver.nix {  };
 
-  psqlodbc = callPackage ../servers/sql/postgresql/psqlodbc { };
+  psqlodbc = callPackage ../development/libraries/psqlodbc { };
 
   pure-ftpd = callPackage ../servers/ftp/pure-ftpd { };
 
@@ -14256,6 +14275,7 @@ in
     armTrustedFirmwareAllwinner
     armTrustedFirmwareQemu
     armTrustedFirmwareRK3328
+    armTrustedFirmwareRK3399
     ;
 
   microcodeAmd = callPackage ../os-specific/linux/microcode/amd.nix { };
@@ -15303,7 +15323,35 @@ in
   # Non-upstream U-Boots:
   ubootNanonote = callPackage ../misc/uboot/nanonote.nix { };
 
-  ubootRock64 = callPackage ../misc/uboot/rock64.nix { };
+  inherit (let
+    dtc = buildPackages.dtc.overrideAttrs (old: rec {
+      version = "1.4.5";
+      src = fetchgit {
+        url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
+        rev = "refs/tags/v${version}";
+        sha256 = "10y5pbkcj5gkijcgnlvrh6q2prpnvsgihb9asz3zfp66mcjwzsy3";
+      };
+    });
+    # Newer dtc versions are incompatible with U-Boot 2017.09
+    inherit (callPackage ../misc/uboot {
+      inherit dtc;
+      buildPackages = buildPackages // {
+        python2 = buildPackages.python2.override (old: {
+          packageOverrides = pySelf: pySuper: {
+            libfdt = pySelf.toPythonModule dtc;
+          };
+        });
+      };
+    }) buildUBoot;
+  in {
+    ubootRock64 = callPackage ../misc/uboot/rock64.nix {
+      inherit buildUBoot;
+    };
+
+    ubootRockPro64 = callPackage ../misc/uboot/rockpro64.nix {
+      inherit buildUBoot;
+    };
+  }) ubootRock64 ubootRockPro64;
 
   uclibc = callPackage ../os-specific/linux/uclibc { };
 
@@ -15402,6 +15450,8 @@ in
 
   aurulent-sans = callPackage ../data/fonts/aurulent-sans { };
 
+  b612  = callPackage ../data/fonts/b612 { };
+
   babelstone-han = callPackage ../data/fonts/babelstone-han { };
 
   baekmuk-ttf = callPackage ../data/fonts/baekmuk-ttf { };
@@ -15712,6 +15762,8 @@ in
 
   nafees = callPackage ../data/fonts/nafees { };
 
+  nordic = callPackage ../data/themes/nordic { };
+
   nordic-polar = callPackage ../data/themes/nordic-polar { };
 
   inherit (callPackages ../data/fonts/noto-fonts {})
@@ -16979,6 +17031,8 @@ in
 
   fetchmail = callPackage ../applications/misc/fetchmail { };
 
+  fff = callPackage ../applications/misc/fff { };
+
   fig2dev = callPackage ../applications/graphics/fig2dev { };
 
   FIL-plugins = callPackage ../applications/audio/FIL-plugins { };
@@ -17929,11 +17983,9 @@ in
 
   kubeval = callPackage ../applications/networking/cluster/kubeval { };
 
-  kubernetes = callPackage ../applications/networking/cluster/kubernetes {  };
+  kubernetes = callPackage ../applications/networking/cluster/kubernetes { };
 
-  kubectl = (kubernetes.override { components = [ "cmd/kubectl" ]; }).overrideAttrs(oldAttrs: {
-    name = "kubectl-${oldAttrs.version}";
-  });
+  kubectl = callPackage ../applications/networking/cluster/kubectl { };
 
   kubernetes-helm = callPackage ../applications/networking/cluster/helm { };
 
@@ -18147,7 +18199,9 @@ in
 
   mediainfo-gui = callPackage ../applications/misc/mediainfo-gui { };
 
-  mediathekview = callPackage ../applications/video/mediathekview { };
+  # mediathekview needs JavaFX, which currently only is available inside OracleJRE
+  # we might be able to get rid of it, as soon as we have an OpenJRE with OpenJFX included
+  mediathekview = callPackage ../applications/video/mediathekview { jre = oraclejre; };
 
   meteo = callPackage ../applications/networking/weather/meteo { };
 
@@ -18716,6 +18770,10 @@ in
 
   packet = callPackage ../development/tools/packet { };
 
+  pb_cli = callPackage ../tools/misc/pb_cli {};
+
+  capture = callPackage ../tools/misc/capture {};
+
   pbrt = callPackage ../applications/graphics/pbrt { };
 
   pcsxr = callPackage ../misc/emulators/pcsxr {
@@ -19107,6 +19165,8 @@ in
 
   rkt = callPackage ../applications/virtualization/rkt { };
 
+  rkdeveloptool = callPackage ../misc/rkdeveloptool { };
+
   rofi-unwrapped = callPackage ../applications/misc/rofi { };
   rofi = callPackage ../applications/misc/rofi/wrapper.nix { };
 
@@ -19615,8 +19675,6 @@ in
     fftw = fftwSinglePrec;
   };
 
-  timescaledb = callPackage ../servers/sql/postgresql/timescaledb {};
-
   timewarrior = callPackage ../applications/misc/timewarrior { };
 
   timidity = callPackage ../tools/misc/timidity { };
@@ -19702,8 +19760,6 @@ in
 
   trojita = libsForQt5.callPackage ../applications/networking/mailreaders/trojita { };
 
-  tsearch_extras = callPackage ../servers/sql/postgresql/tsearch_extras { };
-
   tudu = callPackage ../applications/office/tudu { };
 
   tuxguitar = callPackage ../applications/editors/music/tuxguitar { };
@@ -21333,8 +21389,6 @@ in
 
   gnome-themes-extra = gnome3.gnome-themes-extra;
 
-  nordic = callPackage ../misc/themes/nordic { };
-
   numix-gtk-theme = callPackage ../misc/themes/numix { };
 
   numix-solarized-gtk-theme = callPackage ../misc/themes/numix-solarized { };
@@ -21397,6 +21451,8 @@ in
 
   jmol = callPackage ../applications/science/chemistry/jmol { };
 
+  marvin = callPackage ../applications/science/chemistry/marvin { };
+
   molden = callPackage ../applications/science/chemistry/molden { };
 
   octopus = callPackage ../applications/science/chemistry/octopus { openblas=openblasCompat; };
@@ -21853,10 +21909,6 @@ in
 
   proverif = callPackage ../applications/science/logic/proverif { };
 
-  sapic = callPackage ../applications/science/logic/sapic {
-    inherit (ocaml-ng.ocamlPackages_4_05) ocaml;
-  };
-
   satallax = callPackage ../applications/science/logic/satallax {
     ocaml = ocaml-ng.ocamlPackages_4_01_0.ocaml;
   };
@@ -22466,7 +22518,6 @@ in
   inherit (callPackages ../tools/package-management/nix {
       storeDir = config.nix.storeDir or "/nix/store";
       stateDir = config.nix.stateDir or "/nix/var";
-      curl = curl_7_59;
       boehmgc = boehmgc.override { enableLargeConfig = true; };
       })
     nix
@@ -22740,6 +22791,8 @@ in
 
   putty = callPackage ../applications/networking/remote/putty { };
 
+  qMasterPassword = libsForQt5.callPackage ../applications/misc/qMasterPassword { };
+
   redprl = callPackage ../applications/science/logic/redprl { };
 
   retroarchBare = callPackage ../misc/emulators/retroarch {
@@ -23102,8 +23155,6 @@ in
 
   zap = callPackage ../tools/networking/zap { };
 
-  zdfmediathk = callPackage ../applications/video/zdfmediathk { };
-
   zopfli = callPackage ../tools/compression/zopfli { };
 
   myEnvFun = callPackage ../misc/my-env {
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index ec2ced52eb4c..628a3f6aa45c 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -43,6 +43,8 @@ let
     inherit lua;
   };
 
+  luarocks-nix = callPackage ../development/tools/misc/luarocks/luarocks-nix.nix { };
+
   basexx = buildLuaPackage rec {
     version = "0.4.0";
     name = "basexx-${version}";
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 3cfa8f6e6d66..a8344428f875 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -411,11 +411,11 @@ let
 
   phpstan = pkgs.stdenv.mkDerivation rec {
     name = "phpstan-${version}";
-    version = "0.11";
+    version = "0.11.1";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "09p3cg5ii862p2l44fcv7hh400nsmxvwn1jjr929y21p01wsjhkp";
+      sha256 = "0iivfp9945gv6pqhp01720rlwzfd260hbfq31a3mmimly721mnsa";
     };
 
     phases = [ "installPhase" ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 194a9110339e..0edbecccb7c5 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -238,6 +238,16 @@ in {
 
   azure-storage = callPackage ../development/python-modules/azure-storage { };
 
+  azure-storage-nspkg = callPackage ../development/python-modules/azure-storage-nspkg { };
+
+  azure-storage-common = callPackage ../development/python-modules/azure-storage-common { };
+
+  azure-storage-blob = callPackage ../development/python-modules/azure-storage-blob { };
+
+  azure-storage-file = callPackage ../development/python-modules/azure-storage-file { };
+
+  azure-storage-queue = callPackage ../development/python-modules/azure-storage-queue { };
+
   azure-servicemanagement-legacy = callPackage ../development/python-modules/azure-servicemanagement-legacy { };
 
   backports_csv = callPackage ../development/python-modules/backports_csv {};
@@ -262,6 +272,8 @@ in {
 
   boltons = callPackage ../development/python-modules/boltons { };
 
+  braintree = callPackage ../development/python-modules/braintree { };
+
   breathe = callPackage ../development/python-modules/breathe { };
 
   brotli = callPackage ../development/python-modules/brotli { };
@@ -380,6 +392,8 @@ in {
 
   goocalendar = callPackage ../development/python-modules/goocalendar { };
 
+  grandalf = callPackage ../development/python-modules/grandalf { };
+
   gsd = callPackage ../development/python-modules/gsd { };
 
   gssapi = callPackage ../development/python-modules/gssapi { };
@@ -430,6 +444,8 @@ in {
 
   logster = callPackage ../development/python-modules/logster { };
 
+  logzero = callPackage ../development/python-modules/logzero { };
+
   mail-parser = callPackage ../development/python-modules/mail-parser { };
 
   manhole = callPackage ../development/python-modules/manhole { };
@@ -452,6 +468,8 @@ in {
 
   mwoauth = callPackage ../development/python-modules/mwoauth { };
 
+  nanomsg-python = callPackage ../development/python-modules/nanomsg-python { inherit (pkgs) nanomsg; };
+
   nbval = callPackage ../development/python-modules/nbval { };
 
   nest-asyncio = callPackage ../development/python-modules/nest-asyncio { };
@@ -512,6 +530,8 @@ in {
 
   poetry = callPackage ../development/python-modules/poetry { };
 
+  pprintpp = callPackage ../development/python-modules/pprintpp { };
+
   progress = callPackage ../development/python-modules/progress { };
 
   pymysql = callPackage ../development/python-modules/pymysql { };
@@ -783,6 +803,8 @@ in {
 
   sniffio = callPackage ../development/python-modules/sniffio { };
 
+  tenacity = callPackage ../development/python-modules/tenacity { };
+
   tokenserver = callPackage ../development/python-modules/tokenserver {};
 
   toml = callPackage ../development/python-modules/toml { };
@@ -946,6 +968,8 @@ in {
 
   atsim_potentials = callPackage ../development/python-modules/atsim_potentials { };
 
+  audio-metadata = callPackage ../development/python-modules/audio-metadata { };
+
   audioread = callPackage ../development/python-modules/audioread { };
 
   audiotools = callPackage ../development/python-modules/audiotools { };
@@ -1009,6 +1033,8 @@ in {
 
   bibtexparser = callPackage ../development/python-modules/bibtexparser { };
 
+  bidict = callPackage ../development/python-modules/bidict { };
+
   binwalk = callPackage ../development/python-modules/binwalk { };
 
   binwalk-full = appendToName "full" (self.binwalk.override {
@@ -1017,6 +1043,8 @@ in {
 
   bitmath = callPackage ../development/python-modules/bitmath { };
 
+  bitstruct = callPackage ../development/python-modules/bitstruct { };
+
   caldavclientlibrary-asynk = callPackage ../development/python-modules/caldavclientlibrary-asynk { };
 
   biopython = callPackage ../development/python-modules/biopython { };
@@ -1259,6 +1287,8 @@ in {
 
   click-completion = callPackage ../development/python-modules/click-completion {};
 
+  click-default-group = callPackage ../development/python-modules/click-default-group { };
+
   click-didyoumean = callPackage ../development/python-modules/click-didyoumean {};
 
   click-log = callPackage ../development/python-modules/click-log {};
@@ -1437,10 +1467,10 @@ in {
 
   pytest = self.pytest_39;
 
-  inherit (callPackage ../development/python-modules/pytest {
+  pytest_39 = callPackage ../development/python-modules/pytest {
     # hypothesis tests require pytest that causes dependency cycle
     hypothesis = self.hypothesis.override { doCheck = false; };
-  }) pytest_39 pytest_37;
+  };
 
   pytest-httpbin = callPackage ../development/python-modules/pytest-httpbin { };
 
@@ -1556,6 +1586,10 @@ in {
 
   libais = callPackage ../development/python-modules/libais { };
 
+  libfdt = disabledIf isPy3k (toPythonModule (pkgs.dtc.override {
+    python2 = python;
+  }));
+
   libtmux = callPackage ../development/python-modules/libtmux { };
 
   libusb1 = callPackage ../development/python-modules/libusb1 { inherit (pkgs) libusb1; };
@@ -1735,16 +1769,6 @@ in {
 
   fudge = callPackage ../development/python-modules/fudge { };
 
-  fudge_9 = self.fudge.overridePythonAttrs (old: rec {
-     version = "0.9.6";
-
-     src = fetchPypi {
-      pname = "fudge";
-      inherit version;
-      sha256 = "34690c4692e8717f4d6a2ab7d841070c93c8d0ea0d2615b47064e291f750b1a0";
-    };
-  });
-
   funcparserlib = callPackage ../development/python-modules/funcparserlib { };
 
   fastcache = callPackage ../development/python-modules/fastcache { };
@@ -1790,6 +1814,12 @@ in {
 
   google-compute-engine = callPackage ../tools/virtualization/google-compute-engine { };
 
+  google-music = callPackage ../development/python-modules/google-music { };
+
+  google-music-proto = callPackage ../development/python-modules/google-music-proto { };
+
+  google-music-utils = callPackage ../development/python-modules/google-music-utils { };
+
   gpapi = callPackage ../development/python-modules/gpapi { };
   gplaycli = callPackage ../development/python-modules/gplaycli { };
 
@@ -2224,6 +2254,8 @@ in {
 
   django_contrib_comments = callPackage ../development/python-modules/django_contrib_comments { };
 
+  django-cors-headers = callPackage ../development/python-modules/django-cors-headers { };
+
   django-discover-runner = callPackage ../development/python-modules/django-discover-runner { };
 
   django_environ = callPackage ../development/python-modules/django_environ { };
@@ -2246,6 +2278,8 @@ in {
 
   django_polymorphic = callPackage ../development/python-modules/django-polymorphic { };
 
+  django-rest-auth = callPackage ../development/python-modules/django-rest-auth { };
+
   django-sampledatahelper = callPackage ../development/python-modules/django-sampledatahelper { };
 
   django-sites = callPackage ../development/python-modules/django-sites { };
@@ -2283,6 +2317,8 @@ in {
 
   djangorestframework = callPackage ../development/python-modules/djangorestframework { };
 
+  djangorestframework-jwt = callPackage ../development/python-modules/djangorestframework-jwt { };
+
   django-raster = callPackage ../development/python-modules/django-raster { };
 
   django_redis = callPackage ../development/python-modules/django_redis { };
@@ -2503,15 +2539,6 @@ in {
   fusepy = callPackage ../development/python-modules/fusepy { };
 
   future = callPackage ../development/python-modules/future { };
-  future15 = self.future.overridePythonAttrs (old: rec {
-    name = "future-${version}";
-    version = "0.15.2";
-    src = fetchPypi {
-      pname = "future";
-      version = "0.15.2";
-      sha256 = "15wvcfzssc68xqnqi1dq4fhd0848hwi9jn42hxyvlqna40zijfrx";
-    };
-  });
 
   futures = callPackage ../development/python-modules/futures { };
 
@@ -3304,8 +3331,7 @@ in {
 
   rfc3986 = callPackage ../development/python-modules/rfc3986 { };
 
-   cachetools_1 = callPackage ../development/python-modules/cachetools/1.nix {};
-   cachetools = callPackage ../development/python-modules/cachetools {};
+  cachetools = callPackage ../development/python-modules/cachetools {};
 
   cmd2_8 = callPackage ../development/python-modules/cmd2/old.nix {};
   cmd2_9 = callPackage ../development/python-modules/cmd2 {};
@@ -3357,8 +3383,6 @@ in {
 
   pandas = callPackage ../development/python-modules/pandas { };
 
-  pandas_0_17_1 = callPackage ../development/python-modules/pandas/0.17.1.nix { };
-
   xlrd = callPackage ../development/python-modules/xlrd { };
 
   bottleneck = callPackage ../development/python-modules/bottleneck { };
@@ -3833,9 +3857,6 @@ in {
 
   reportlab = callPackage ../development/python-modules/reportlab { };
 
-  requests2 = throw "requests2 has been deprecated. Use requests instead.";
-
-  # use requests, not requests_2
   requests = callPackage ../development/python-modules/requests { };
 
   requests_download = callPackage ../development/python-modules/requests_download { };
@@ -4669,9 +4690,6 @@ in {
 
   power = callPackage ../development/python-modules/power { };
 
-  # added 2018-05-23, can be removed once 18.09 is branched off
-  udiskie = throw "pythonPackages.udiskie has been replaced by udiskie";
-
   pythonefl = callPackage ../development/python-modules/python-efl { };
 
   tlsh = callPackage ../development/python-modules/tlsh { };
@@ -5174,6 +5192,8 @@ in {
     inherit python;
   })).python;
 
+  zm-py = callPackage ../development/python-modules/zm-py { };
+
   rfc7464 = callPackage ../development/python-modules/rfc7464 { };
 
   foundationdb51 = callPackage ../servers/foundationdb/python.nix { foundationdb = pkgs.foundationdb51; };
@@ -5194,6 +5214,8 @@ in {
 
   nanoleaf = callPackage ../development/python-modules/nanoleaf { };
 
+  nanotime = callPackage ../development/python-modules/nanotime { };
+
   importlib-metadata = callPackage ../development/python-modules/importlib-metadata {};
 
   importlib-resources = callPackage ../development/python-modules/importlib-resources {};