summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-05-18 14:57:53 -0500
committerGitHub <noreply@github.com>2019-05-18 14:57:53 -0500
commit872100cf4129758917dfef9c0ebe4d8e9fa1ce28 (patch)
tree60c4253aad76ebee41f6c32e39b616b4213a23c8 /pkgs
parentdbd1a4481fca373b4a13d052c7c45075d8d5f143 (diff)
parent888dba6a1d7c15eb6463abb991306105617671d8 (diff)
downloadnixpkgs-872100cf4129758917dfef9c0ebe4d8e9fa1ce28.tar
nixpkgs-872100cf4129758917dfef9c0ebe4d8e9fa1ce28.tar.gz
nixpkgs-872100cf4129758917dfef9c0ebe4d8e9fa1ce28.tar.bz2
nixpkgs-872100cf4129758917dfef9c0ebe4d8e9fa1ce28.tar.lz
nixpkgs-872100cf4129758917dfef9c0ebe4d8e9fa1ce28.tar.xz
nixpkgs-872100cf4129758917dfef9c0ebe4d8e9fa1ce28.tar.zst
nixpkgs-872100cf4129758917dfef9c0ebe4d8e9fa1ce28.zip
Merge branch 'staging' into release-cross-fixes
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix4
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix8
-rw-r--r--pkgs/applications/audio/vcv-rack/default.nix5
-rw-r--r--pkgs/applications/editors/android-studio/default.nix8
-rw-r--r--pkgs/applications/editors/howl/default.nix6
-rw-r--r--pkgs/applications/editors/neovim/default.nix4
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/graphics/digikam/default.nix9
-rw-r--r--pkgs/applications/graphics/gimp/wrapper.nix3
-rw-r--r--pkgs/applications/graphics/glabels/default.nix11
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix8
-rw-r--r--pkgs/applications/graphics/ipe/default.nix4
-rw-r--r--pkgs/applications/graphics/openscad/default.nix25
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix4
-rw-r--r--pkgs/applications/kde/kgpg.nix6
-rw-r--r--pkgs/applications/misc/audio/sox/default.nix7
-rw-r--r--pkgs/applications/misc/bemenu/default.nix45
-rw-r--r--pkgs/applications/misc/calcurse/default.nix12
-rw-r--r--pkgs/applications/misc/dmenu/default.nix2
-rw-r--r--pkgs/applications/misc/electrum/default.nix43
-rw-r--r--pkgs/applications/misc/fsv/default.nix8
-rw-r--r--pkgs/applications/misc/hello/default.nix1
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix9
-rw-r--r--pkgs/applications/misc/hubstaff/revision.json5
-rwxr-xr-xpkgs/applications/misc/hubstaff/update.sh18
-rw-r--r--pkgs/applications/misc/josm/default.nix4
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix23
-rw-r--r--pkgs/applications/misc/k2pdfopt/leptonica-CVE-2018-3836.patch95
-rw-r--r--pkgs/applications/misc/kitty/default.nix15
-rw-r--r--pkgs/applications/misc/moonlight-embedded/default.nix8
-rw-r--r--pkgs/applications/misc/octoprint/default.nix19
-rw-r--r--pkgs/applications/misc/pdfmod/default.nix6
-rw-r--r--pkgs/applications/misc/playonlinux/default.nix4
-rw-r--r--pkgs/applications/misc/tilix/default.nix4
-rw-r--r--pkgs/applications/misc/tzupdate/default.nix4
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix10
-rw-r--r--pkgs/applications/misc/zathura/default.nix3
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/data.nix152
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/chatterino2/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix26
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-web.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix8
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/tixati/default.nix4
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix6
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/networking/vnstat/default.nix15
-rw-r--r--pkgs/applications/office/kmymoney/default.nix14
-rw-r--r--pkgs/applications/office/mendeley/default.nix6
-rw-r--r--pkgs/applications/science/biology/eggnog-mapper/default.nix4
-rw-r--r--pkgs/applications/science/biology/minimap2/default.nix4
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix5
-rw-r--r--pkgs/applications/science/logic/tptp/default.nix4
-rw-r--r--pkgs/applications/science/logic/vampire/default.nix6
-rw-r--r--pkgs/applications/science/math/cbc/default.nix10
-rw-r--r--pkgs/applications/science/math/pynac/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix8
-rw-r--r--pkgs/applications/science/robotics/apmplanner2/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/fast-export/default.nix51
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-crypt/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix6
-rw-r--r--pkgs/applications/version-management/src/default.nix14
-rw-r--r--pkgs/applications/version-management/subversion/default.nix5
-rw-r--r--pkgs/applications/video/mkclean/default.nix37
-rw-r--r--pkgs/applications/video/olive-editor/default.nix40
-rw-r--r--pkgs/applications/virtualization/rkt/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix23
-rw-r--r--pkgs/applications/virtualization/virtualbox/extpack.nix6
-rw-r--r--pkgs/applications/virtualization/virtualbox/fix_kbuild.patch12
-rw-r--r--pkgs/applications/virtualization/virtualbox/fix_module_makefile_sed.patch36
-rw-r--r--pkgs/applications/virtualization/virtualbox/fix_printk_test.patch14
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix82
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch38
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch12
-rw-r--r--pkgs/applications/virtualization/virtualbox/qtx11extras.patch19
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix15
-rw-r--r--pkgs/applications/window-managers/i3/wk-switch.nix15
-rw-r--r--pkgs/build-support/docker/default.nix21
-rw-r--r--pkgs/build-support/docker/examples.nix39
-rw-r--r--pkgs/build-support/fetchpatch/default.nix12
-rw-r--r--pkgs/build-support/libredirect/libredirect.c7
-rw-r--r--pkgs/build-support/trivial-builders.nix38
-rw-r--r--pkgs/data/documentation/gnome-user-docs/default.nix16
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/fonts/agave/default.nix27
-rw-r--r--pkgs/data/fonts/aileron/default.nix4
-rw-r--r--pkgs/data/fonts/andagii/default.nix4
-rw-r--r--pkgs/data/fonts/andika/default.nix4
-rw-r--r--pkgs/data/fonts/ankacoder/condensed.nix4
-rw-r--r--pkgs/data/fonts/ankacoder/default.nix4
-rw-r--r--pkgs/data/fonts/anonymous-pro/default.nix4
-rw-r--r--pkgs/data/fonts/arkpandora/default.nix3
-rw-r--r--pkgs/data/fonts/arphic/default.nix6
-rw-r--r--pkgs/data/fonts/aurulent-sans/default.nix17
-rw-r--r--pkgs/data/fonts/b612/default.nix17
-rw-r--r--pkgs/data/fonts/babelstone-han/default.nix8
-rw-r--r--pkgs/data/fonts/baekmuk-ttf/default.nix8
-rw-r--r--pkgs/data/fonts/bakoma-ttf/default.nix3
-rw-r--r--pkgs/data/fonts/behdad-fonts/default.nix25
-rw-r--r--pkgs/data/fonts/cabin/default.nix18
-rw-r--r--pkgs/data/fonts/caladea/default.nix4
-rw-r--r--pkgs/data/fonts/camingo-code/default.nix12
-rw-r--r--pkgs/data/fonts/carlito/default.nix4
-rw-r--r--pkgs/data/fonts/charis-sil/default.nix4
-rw-r--r--pkgs/data/fonts/clearlyU/default.nix20
-rw-r--r--pkgs/data/fonts/cm-unicode/default.nix10
-rw-r--r--pkgs/data/fonts/comfortaa/default.nix5
-rw-r--r--pkgs/data/fonts/comic-neue/default.nix4
-rw-r--r--pkgs/data/fonts/comic-relief/default.nix4
-rw-r--r--pkgs/data/fonts/cooper-hewitt/default.nix6
-rw-r--r--pkgs/data/fonts/corefonts/default.nix6
-rw-r--r--pkgs/data/fonts/crimson/default.nix11
-rw-r--r--pkgs/data/fonts/culmus/default.nix19
-rw-r--r--pkgs/data/fonts/d2coding/default.nix6
-rw-r--r--pkgs/data/fonts/dejavu-fonts/default.nix21
-rw-r--r--pkgs/data/fonts/dina-pcf/default.nix1
-rw-r--r--pkgs/data/fonts/dina/default.nix7
-rw-r--r--pkgs/data/fonts/dosemu-fonts/default.nix1
-rw-r--r--pkgs/data/fonts/dosis/default.nix18
-rw-r--r--pkgs/data/fonts/doulos-sil/default.nix4
-rw-r--r--pkgs/data/fonts/eb-garamond/default.nix4
-rw-r--r--pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix4
-rw-r--r--pkgs/data/fonts/emojione/default.nix1
-rw-r--r--pkgs/data/fonts/encode-sans/default.nix4
-rw-r--r--pkgs/data/fonts/eunomia/default.nix4
-rw-r--r--pkgs/data/fonts/f5_6/default.nix4
-rw-r--r--pkgs/data/fonts/fantasque-sans-mono/default.nix6
-rw-r--r--pkgs/data/fonts/ferrum/default.nix4
-rw-r--r--pkgs/data/fonts/fira/default.nix19
-rw-r--r--pkgs/data/fonts/fixedsys-excelsior/default.nix32
-rw-r--r--pkgs/data/fonts/font-awesome-5/default.nix14
-rw-r--r--pkgs/data/fonts/fontconfig-penultimate/default.nix4
-rw-r--r--pkgs/data/fonts/freefont-ttf/default.nix6
-rw-r--r--pkgs/data/fonts/gandom-fonts/default.nix25
-rw-r--r--pkgs/data/fonts/gdouros/default.nix36
-rw-r--r--pkgs/data/fonts/gentium-book-basic/default.nix5
-rw-r--r--pkgs/data/fonts/gentium/default.nix4
-rw-r--r--pkgs/data/fonts/go-font/default.nix22
-rw-r--r--pkgs/data/fonts/gohufont/default.nix1
-rw-r--r--pkgs/data/fonts/gyre/default.nix8
-rw-r--r--pkgs/data/fonts/hack/default.nix4
-rw-r--r--pkgs/data/fonts/hanazono/default.nix4
-rw-r--r--pkgs/data/fonts/hasklig/default.nix7
-rw-r--r--pkgs/data/fonts/helvetica-neue-lt-std/default.nix8
-rw-r--r--pkgs/data/fonts/hermit/default.nix23
-rw-r--r--pkgs/data/fonts/hyperscrypt/default.nix4
-rw-r--r--pkgs/data/fonts/inconsolata/lgc.nix16
-rw-r--r--pkgs/data/fonts/inriafonts/default.nix26
-rw-r--r--pkgs/data/fonts/inter-ui/default.nix4
-rw-r--r--pkgs/data/fonts/inter/default.nix4
-rw-r--r--pkgs/data/fonts/ipaexfont/default.nix9
-rw-r--r--pkgs/data/fonts/ipafont/default.nix7
-rw-r--r--pkgs/data/fonts/ir-standard-fonts/default.nix27
-rw-r--r--pkgs/data/fonts/iwona/default.nix25
-rw-r--r--pkgs/data/fonts/junicode/default.nix5
-rw-r--r--pkgs/data/fonts/kawkab-mono/default.nix5
-rw-r--r--pkgs/data/fonts/kochi-substitute-naga10/default.nix6
-rw-r--r--pkgs/data/fonts/kochi-substitute/default.nix1
-rw-r--r--pkgs/data/fonts/lalezar-fonts/default.nix22
-rw-r--r--pkgs/data/fonts/lato/default.nix4
-rw-r--r--pkgs/data/fonts/liberastika/default.nix4
-rw-r--r--pkgs/data/fonts/liberation-sans-narrow/default.nix7
-rw-r--r--pkgs/data/fonts/libertine/default.nix17
-rw-r--r--pkgs/data/fonts/libertinus/default.nix32
-rw-r--r--pkgs/data/fonts/libre-baskerville/default.nix18
-rw-r--r--pkgs/data/fonts/libre-bodoni/default.nix18
-rw-r--r--pkgs/data/fonts/libre-franklin/default.nix18
-rw-r--r--pkgs/data/fonts/lm-math/default.nix26
-rw-r--r--pkgs/data/fonts/lmodern/default.nix3
-rw-r--r--pkgs/data/fonts/lmodern/lmmath.nix3
-rw-r--r--pkgs/data/fonts/lobster-two/default.nix3
-rw-r--r--pkgs/data/fonts/lohit-fonts/default.nix3
-rw-r--r--pkgs/data/fonts/manrope/default.nix22
-rw-r--r--pkgs/data/fonts/marathi-cursive/default.nix12
-rw-r--r--pkgs/data/fonts/material-design-icons/default.nix23
-rw-r--r--pkgs/data/fonts/material-icons/default.nix24
-rw-r--r--pkgs/data/fonts/medio/default.nix4
-rw-r--r--pkgs/data/fonts/migmix/default.nix4
-rw-r--r--pkgs/data/fonts/migu/default.nix1
-rw-r--r--pkgs/data/fonts/monoid/default.nix9
-rw-r--r--pkgs/data/fonts/mononoki/default.nix4
-rw-r--r--pkgs/data/fonts/montserrat/default.nix4
-rw-r--r--pkgs/data/fonts/mph-2b-damase/default.nix3
-rw-r--r--pkgs/data/fonts/mplus-outline-fonts/default.nix4
-rw-r--r--pkgs/data/fonts/mro-unicode/default.nix2
-rw-r--r--pkgs/data/fonts/nahid-fonts/default.nix25
-rw-r--r--pkgs/data/fonts/nanum-gothic-coding/default.nix4
-rw-r--r--pkgs/data/fonts/nerdfonts/default.nix1
-rw-r--r--pkgs/data/fonts/nika-fonts/default.nix25
-rw-r--r--pkgs/data/fonts/norwester/default.nix4
-rw-r--r--pkgs/data/fonts/noto-fonts/tools.nix1
-rw-r--r--pkgs/data/fonts/office-code-pro/default.nix30
-rw-r--r--pkgs/data/fonts/oldsindhi/default.nix12
-rw-r--r--pkgs/data/fonts/oldstandard/default.nix30
-rw-r--r--pkgs/data/fonts/open-dyslexic/default.nix4
-rw-r--r--pkgs/data/fonts/open-sans/default.nix26
-rw-r--r--pkgs/data/fonts/orbitron/default.nix18
-rw-r--r--pkgs/data/fonts/overpass/default.nix4
-rw-r--r--pkgs/data/fonts/oxygenfonts/default.nix15
-rw-r--r--pkgs/data/fonts/parastoo-fonts/default.nix24
-rw-r--r--pkgs/data/fonts/paratype-pt/mono.nix7
-rw-r--r--pkgs/data/fonts/paratype-pt/sans.nix7
-rw-r--r--pkgs/data/fonts/paratype-pt/serif.nix7
-rw-r--r--pkgs/data/fonts/pecita/default.nix6
-rw-r--r--pkgs/data/fonts/penna/default.nix4
-rw-r--r--pkgs/data/fonts/poly/default.nix1
-rw-r--r--pkgs/data/fonts/powerline-fonts/default.nix30
-rw-r--r--pkgs/data/fonts/profont/default.nix8
-rw-r--r--pkgs/data/fonts/public-sans/default.nix8
-rw-r--r--pkgs/data/fonts/quattrocento-sans/default.nix6
-rw-r--r--pkgs/data/fonts/quattrocento/default.nix6
-rw-r--r--pkgs/data/fonts/raleway/default.nix18
-rw-r--r--pkgs/data/fonts/redhat-liberation-fonts/default.nix19
-rw-r--r--pkgs/data/fonts/ricty/default.nix1
-rw-r--r--pkgs/data/fonts/rictydiminished-with-firacode/default.nix7
-rw-r--r--pkgs/data/fonts/roboto/default.nix8
-rw-r--r--pkgs/data/fonts/rounded-mgenplus/default.nix28
-rw-r--r--pkgs/data/fonts/route159/default.nix4
-rw-r--r--pkgs/data/fonts/sahel-fonts/default.nix24
-rw-r--r--pkgs/data/fonts/samim-fonts/default.nix24
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix12
-rw-r--r--pkgs/data/fonts/scheherazade/default.nix4
-rw-r--r--pkgs/data/fonts/seshat/default.nix4
-rw-r--r--pkgs/data/fonts/shabnam-fonts/default.nix26
-rw-r--r--pkgs/data/fonts/shrikhand/default.nix4
-rw-r--r--pkgs/data/fonts/siji/default.nix8
-rw-r--r--pkgs/data/fonts/source-code-pro/default.nix8
-rw-r--r--pkgs/data/fonts/source-han-code-jp/default.nix8
-rw-r--r--pkgs/data/fonts/source-han-sans/default.nix7
-rw-r--r--pkgs/data/fonts/source-han-serif/default.nix7
-rw-r--r--pkgs/data/fonts/source-sans-pro/default.nix4
-rw-r--r--pkgs/data/fonts/source-serif-pro/default.nix4
-rw-r--r--pkgs/data/fonts/spleen/default.nix22
-rw-r--r--pkgs/data/fonts/stix-otf/default.nix6
-rw-r--r--pkgs/data/fonts/stix-two/default.nix4
-rw-r--r--pkgs/data/fonts/sudo/default.nix4
-rw-r--r--pkgs/data/fonts/tamsyn/default.nix7
-rw-r--r--pkgs/data/fonts/tempora-lgc/default.nix1
-rw-r--r--pkgs/data/fonts/tenderness/default.nix4
-rw-r--r--pkgs/data/fonts/terminus-font-ttf/default.nix5
-rw-r--r--pkgs/data/fonts/terminus-font/default.nix1
-rw-r--r--pkgs/data/fonts/tewi/default.nix1
-rw-r--r--pkgs/data/fonts/tex-gyre-math/default.nix24
-rw-r--r--pkgs/data/fonts/tex-gyre/default.nix2
-rw-r--r--pkgs/data/fonts/theano/default.nix4
-rw-r--r--pkgs/data/fonts/tipa/default.nix1
-rw-r--r--pkgs/data/fonts/tlwg/default.nix1
-rw-r--r--pkgs/data/fonts/ttf-bitstream-vera/default.nix18
-rw-r--r--pkgs/data/fonts/ttf-envy-code-r/default.nix5
-rw-r--r--pkgs/data/fonts/twemoji-color-font/default.nix1
-rw-r--r--pkgs/data/fonts/ubuntu-font-family/default.nix10
-rw-r--r--pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix5
-rw-r--r--pkgs/data/fonts/undefined-medium/default.nix6
-rw-r--r--pkgs/data/fonts/uni-vga/default.nix3
-rw-r--r--pkgs/data/fonts/unifont/default.nix8
-rw-r--r--pkgs/data/fonts/unifont_upper/default.nix8
-rw-r--r--pkgs/data/fonts/unscii/default.nix19
-rwxr-xr-xpkgs/data/fonts/vazir-fonts/default.nix27
-rw-r--r--pkgs/data/fonts/vdrsymbols/default.nix4
-rw-r--r--pkgs/data/fonts/vegur/default.nix25
-rw-r--r--pkgs/data/fonts/vista-fonts-chs/default.nix10
-rw-r--r--pkgs/data/fonts/vista-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/weather-icons/default.nix6
-rw-r--r--pkgs/data/fonts/wqy-microhei/default.nix8
-rw-r--r--pkgs/data/fonts/wqy-zenhei/default.nix8
-rw-r--r--pkgs/data/fonts/xits-math/default.nix7
-rw-r--r--pkgs/data/fonts/xkcd-font/default.nix23
-rw-r--r--pkgs/data/fonts/yanone-kaffeesatz/default.nix8
-rw-r--r--pkgs/data/fonts/zilla-slab/default.nix7
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/misc/iana-etc/default.nix4
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch10
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix115
-rw-r--r--pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch30
-rw-r--r--pkgs/data/themes/matcha/default.nix4
-rw-r--r--pkgs/data/themes/shades-of-gray/default.nix4
-rw-r--r--pkgs/desktops/deepin/dde-polkit-agent/dde-polkit-agent.plugins-dir.patch42
-rw-r--r--pkgs/desktops/deepin/dde-polkit-agent/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-wm/default.nix18
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix15
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/tracker/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-calc/default.nix4
-rw-r--r--pkgs/development/compilers/dmd/default.nix5
-rw-r--r--pkgs/development/compilers/dotnet/sdk/default.nix18
-rw-r--r--pkgs/development/compilers/ghc/8.6.4.nix5
-rw-r--r--pkgs/development/compilers/ghc/8.6.5.nix5
-rw-r--r--pkgs/development/compilers/ghc/8.8.1.nix5
-rw-r--r--pkgs/development/compilers/ghc/head.nix5
-rw-r--r--pkgs/development/compilers/graalvm/001_mx.py.patch257
-rw-r--r--pkgs/development/compilers/graalvm/002_setjmp.c.patch16
-rw-r--r--pkgs/development/compilers/graalvm/003_mx_truffle.py.patch12
-rw-r--r--pkgs/development/compilers/graalvm/004_mx_jvmci.py.patch12
-rw-r--r--pkgs/development/compilers/graalvm/default.nix312
-rw-r--r--pkgs/development/compilers/graalvm/truffle.make14
-rw-r--r--pkgs/development/compilers/ldc/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/7/lldb.nix6
-rw-r--r--pkgs/development/compilers/llvm/8/clang/default.nix2
-rw-r--r--pkgs/development/compilers/mruby/0001-Disables-IO-isatty-test-for-sandboxed-builds.patch36
-rw-r--r--pkgs/development/compilers/mruby/default.nix10
-rw-r--r--pkgs/development/compilers/orc/default.nix4
-rw-r--r--pkgs/development/compilers/vala/default.nix55
-rw-r--r--pkgs/development/compilers/vala/disable-graphviz-0.44.3.patch (renamed from pkgs/development/compilers/vala/disable-graphviz-0.44.1.patch)56
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix103
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml130
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix20
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2404
-rw-r--r--pkgs/development/interpreters/groovy/default.nix4
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/default.nix18
-rw-r--r--pkgs/development/interpreters/python/mk-python-derivation.nix3
-rw-r--r--pkgs/development/interpreters/python/wrap.sh5
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix3
-rw-r--r--pkgs/development/interpreters/ruby/default.nix62
-rw-r--r--pkgs/development/interpreters/ruby/rbconfig.rb25
-rw-r--r--pkgs/development/interpreters/ruby/rubygems-src.nix8
-rw-r--r--pkgs/development/interpreters/ruby/rubygems/0001-add-post-extract-hook.patch34
-rw-r--r--pkgs/development/interpreters/ruby/rubygems/0002-binaries-with-env-shebang.patch28
-rw-r--r--pkgs/development/interpreters/ruby/rubygems/0003-gem-install-default-to-user.patch26
-rw-r--r--pkgs/development/interpreters/ruby/rubygems/default.nix30
-rw-r--r--pkgs/development/libraries/alkimia/default.nix11
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix4
-rw-r--r--pkgs/development/libraries/audio/rtmidi/default.nix4
-rw-r--r--pkgs/development/libraries/c-blosc/default.nix4
-rw-r--r--pkgs/development/libraries/cairomm/default.nix13
-rw-r--r--pkgs/development/libraries/cfitsio/default.nix22
-rw-r--r--pkgs/development/libraries/ctl/default.nix35
-rw-r--r--pkgs/development/libraries/ctl/source.nix11
-rw-r--r--pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix12
-rw-r--r--pkgs/development/libraries/eccodes/default.nix4
-rw-r--r--pkgs/development/libraries/fflas-ffpack/default.nix14
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix14
-rw-r--r--pkgs/development/libraries/ffmpeg/4.nix4
-rw-r--r--pkgs/development/libraries/folks/default.nix92
-rw-r--r--pkgs/development/libraries/gcab/default.nix15
-rw-r--r--pkgs/development/libraries/givaro/default.nix4
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/gnome-menus/default.nix16
-rw-r--r--pkgs/development/libraries/gnutls/3.5.10.nix10
-rw-r--r--pkgs/development/libraries/gnutls/3.6.nix22
-rw-r--r--pkgs/development/libraries/gnutls/default.nix (renamed from pkgs/development/libraries/gnutls/generic.nix)52
-rw-r--r--pkgs/development/libraries/gnutls/nix-ssl-cert-file.patch19
-rw-r--r--pkgs/development/libraries/gnutls/no-security-framework.patch126
-rw-r--r--pkgs/development/libraries/goocanvas/default.nix22
-rw-r--r--pkgs/development/libraries/gssdp/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamermm/default.nix21
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix31
-rw-r--r--pkgs/development/libraries/gtkd/default.nix4
-rw-r--r--pkgs/development/libraries/gtksourceview/3.x.nix4
-rw-r--r--pkgs/development/libraries/hyena/default.nix6
-rw-r--r--pkgs/development/libraries/hyperscan/default.nix50
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix4
-rw-r--r--pkgs/development/libraries/java/lombok/default.nix4
-rw-r--r--pkgs/development/libraries/leptonica/default.nix33
-rw-r--r--pkgs/development/libraries/libcdio/default.nix4
-rw-r--r--pkgs/development/libraries/libdazzle/default.nix4
-rw-r--r--pkgs/development/libraries/libdrm/default.nix4
-rw-r--r--pkgs/development/libraries/libdvdread/default.nix4
-rw-r--r--pkgs/development/libraries/libgda/default.nix4
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix6
-rw-r--r--pkgs/development/libraries/libgnome-keyring/default.nix11
-rw-r--r--pkgs/development/libraries/libgsf/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix39
-rw-r--r--pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--pkgs/development/libraries/libnsl/cdefs.patch30
-rw-r--r--pkgs/development/libraries/libnsl/default.nix12
-rw-r--r--pkgs/development/libraries/libnsl/nis_h.patch45
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix7
-rw-r--r--pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--pkgs/development/libraries/libshout/default.nix4
-rw-r--r--pkgs/development/libraries/libunique/default.nix15
-rw-r--r--pkgs/development/libraries/libuv/default.nix2
-rw-r--r--pkgs/development/libraries/libwnck/default.nix11
-rw-r--r--pkgs/development/libraries/libxmlb/default.nix6
-rw-r--r--pkgs/development/libraries/libxmlxx/default.nix17
-rw-r--r--pkgs/development/libraries/linbox/default.nix15
-rw-r--r--pkgs/development/libraries/mesa/default.nix32
-rw-r--r--pkgs/development/libraries/nss/default.nix4
-rw-r--r--pkgs/development/libraries/nv-codec-headers/default.nix2
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix4
-rw-r--r--pkgs/development/libraries/opal/default.nix11
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix49
-rw-r--r--pkgs/development/libraries/pangox-compat/default.nix8
-rw-r--r--pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--pkgs/development/libraries/pixman/default.nix4
-rw-r--r--pkgs/development/libraries/portaudio/default.nix2
-rw-r--r--pkgs/development/libraries/ptlib/default.nix11
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix6
-rw-r--r--pkgs/development/libraries/range-v3/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix4
-rw-r--r--pkgs/development/libraries/slang/default.nix2
-rw-r--r--pkgs/development/libraries/slang/terminfo-dirs.patch172
-rw-r--r--pkgs/development/libraries/tbb/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix4
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix518
-rw-r--r--pkgs/development/lua-modules/overrides.nix29
-rw-r--r--pkgs/development/node-packages/node-packages-v10.json20
-rw-r--r--pkgs/development/node-packages/node-packages-v10.nix7029
-rw-r--r--pkgs/development/node-packages/node-packages-v8.nix130
-rw-r--r--pkgs/development/ocaml-modules/cairo2/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/lablgtk3/default.nix12
-rw-r--r--pkgs/development/perl-modules/generic/builder.sh2
-rw-r--r--pkgs/development/perl-modules/generic/default.nix4
-rw-r--r--pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--pkgs/development/python-modules/asgiref/default.nix4
-rw-r--r--pkgs/development/python-modules/av/default.nix7
-rw-r--r--pkgs/development/python-modules/aws-sam-translator/default.nix9
-rw-r--r--pkgs/development/python-modules/cassandra-driver/default.nix4
-rw-r--r--pkgs/development/python-modules/channels/default.nix4
-rw-r--r--pkgs/development/python-modules/confluent-kafka/default.nix12
-rw-r--r--pkgs/development/python-modules/cufflinks/default.nix10
-rw-r--r--pkgs/development/python-modules/daphne/default.nix14
-rw-r--r--pkgs/development/python-modules/django-allauth/default.nix4
-rw-r--r--pkgs/development/python-modules/django_guardian/default.nix7
-rw-r--r--pkgs/development/python-modules/fs/default.nix4
-rw-r--r--pkgs/development/python-modules/gensim/default.nix4
-rw-r--r--pkgs/development/python-modules/geopandas/default.nix4
-rw-r--r--pkgs/development/python-modules/google_cloud_speech/default.nix4
-rw-r--r--pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--pkgs/development/python-modules/i3ipc/default.nix6
-rw-r--r--pkgs/development/python-modules/j2cli/default.nix4
-rw-r--r--pkgs/development/python-modules/kubernetes/default.nix4
-rw-r--r--pkgs/development/python-modules/lark-parser/default.nix7
-rw-r--r--pkgs/development/python-modules/latexcodec/default.nix4
-rw-r--r--pkgs/development/python-modules/leveldb/default.nix19
-rw-r--r--pkgs/development/python-modules/netcdf4/default.nix4
-rw-r--r--pkgs/development/python-modules/ordered-set/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/py-radix/default.nix28
-rw-r--r--pkgs/development/python-modules/py3exiv2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix4
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pygtk/default.nix15
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix15
-rw-r--r--pkgs/development/python-modules/python-gnupg/default.nix6
-rw-r--r--pkgs/development/python-modules/python-igraph/default.nix12
-rw-r--r--pkgs/development/python-modules/python-slugify/default.nix14
-rw-r--r--pkgs/development/python-modules/pytz/default.nix4
-rw-r--r--pkgs/development/python-modules/pytzdata/default.nix4
-rw-r--r--pkgs/development/python-modules/qdarkstyle/default.nix4
-rw-r--r--pkgs/development/python-modules/qtconsole/default.nix4
-rw-r--r--pkgs/development/python-modules/qtpy/default.nix4
-rw-r--r--pkgs/development/python-modules/ropper/default.nix6
-rw-r--r--pkgs/development/python-modules/seabreeze/default.nix44
-rw-r--r--pkgs/development/python-modules/service_identity/default.nix13
-rw-r--r--pkgs/development/python-modules/shodan/default.nix4
-rw-r--r--pkgs/development/python-modules/smart_open/default.nix4
-rw-r--r--pkgs/development/python-modules/streamz/default.nix13
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/typed-ast/default.nix4
-rw-r--r--pkgs/development/python-modules/zstd/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix12
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/buck/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/waf/default.nix4
-rw-r--r--pkgs/development/tools/chit/default.nix47
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/coursier/default.nix4
-rw-r--r--pkgs/development/tools/documentation/gnome-doc-utils/default.nix23
-rw-r--r--pkgs/development/tools/documentation/gtk-doc/default.nix16
-rw-r--r--pkgs/development/tools/icr/default.nix21
-rw-r--r--pkgs/development/tools/jo/default.nix11
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix17
-rw-r--r--pkgs/development/tools/misc/gob2/default.nix17
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix4
-rw-r--r--pkgs/development/tools/misc/kibana/5.x.nix6
-rw-r--r--pkgs/development/tools/misc/kibana/6.x.nix8
-rw-r--r--pkgs/development/tools/misc/kibana/7.x.nix8
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix4
-rw-r--r--pkgs/development/tools/misc/msitools/default.nix12
-rw-r--r--pkgs/development/tools/misc/pkg-config/default.nix24
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix8
-rw-r--r--pkgs/development/tools/proto-contrib/default.nix23
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix4
-rw-r--r--pkgs/development/tools/rubocop/Gemfile1
-rw-r--r--pkgs/development/tools/rubocop/Gemfile.lock16
-rw-r--r--pkgs/development/tools/rubocop/default.nix2
-rw-r--r--pkgs/development/tools/rubocop/gemset.nix44
-rw-r--r--pkgs/development/tools/scalafmt/default.nix7
-rw-r--r--pkgs/development/tools/wabt/default.nix4
-rw-r--r--pkgs/development/tools/yarn/default.nix4
-rw-r--r--pkgs/development/web/twitter-bootstrap/3.nix26
-rw-r--r--pkgs/development/web/twitter-bootstrap/default.nix8
-rw-r--r--pkgs/games/azimuth/default.nix64
-rw-r--r--pkgs/games/chessx/default.nix4
-rw-r--r--pkgs/games/nethack/default.nix11
-rw-r--r--pkgs/misc/emulators/wine/sources.nix6
-rw-r--r--pkgs/misc/logging/beats/5.x.nix2
-rw-r--r--pkgs/misc/logging/beats/6.x.nix5
-rw-r--r--pkgs/misc/logging/beats/7.x.nix5
-rw-r--r--pkgs/misc/screensavers/xautolock/default.nix4
-rw-r--r--pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix8
-rw-r--r--pkgs/misc/vim-plugins/generated.nix196
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/default.nix4
-rw-r--r--pkgs/misc/vscode-extensions/wakatime/default.nix4
-rw-r--r--pkgs/os-specific/linux/bpftool/default.nix26
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix6
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix6
-rw-r--r--pkgs/os-specific/linux/kbd/keymaps.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix4
-rw-r--r--pkgs/os-specific/linux/libnl/default.nix2
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix5
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix18
-rw-r--r--pkgs/os-specific/linux/shadow/respect-xml-catalog-files-var.patch30
-rw-r--r--pkgs/os-specific/linux/spl/default.nix5
-rw-r--r--pkgs/os-specific/linux/upower/default.nix71
-rw-r--r--pkgs/os-specific/linux/usbutils/default.nix4
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix16
-rw-r--r--pkgs/os-specific/linux/v4l-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/virtualbox/default.nix6
-rw-r--r--pkgs/os-specific/linux/virtualbox/fix_kbuild.patch85
-rw-r--r--pkgs/os-specific/linux/virtualbox/fix_kerndir.patch48
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix4
-rw-r--r--pkgs/servers/demoit/default.nix6
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix22
-rw-r--r--pkgs/servers/home-assistant/appdaemon.nix8
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix1566
-rw-r--r--pkgs/servers/home-assistant/default.nix44
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rwxr-xr-xpkgs/servers/home-assistant/parse-requirements.py55
-rw-r--r--pkgs/servers/http/lighttpd/default.nix7
-rw-r--r--pkgs/servers/http/nginx/modules.nix113
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix4
-rw-r--r--pkgs/servers/nosql/apache-jena/fuseki-binary.nix4
-rw-r--r--pkgs/servers/openafs/1.8/module.nix30
-rw-r--r--pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--pkgs/servers/plex/raw.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/5.x.nix7
-rw-r--r--pkgs/servers/search/elasticsearch/6.x.nix8
-rw-r--r--pkgs/servers/search/elasticsearch/7.x.nix12
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix95
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/default.nix24
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgroonga.nix17
-rw-r--r--pkgs/servers/x11/xorg/default.nix42
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl3
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix3
-rw-r--r--pkgs/shells/tcsh/default.nix4
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/stdenv/generic/check-meta.nix1
-rw-r--r--pkgs/tools/X11/arandr/default.nix15
-rw-r--r--pkgs/tools/audio/mp3cat/default.nix34
-rw-r--r--pkgs/tools/backup/duply/default.nix4
-rw-r--r--pkgs/tools/compression/bzip2/default.nix4
-rw-r--r--pkgs/tools/compression/lz4/default.nix16
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix13
-rw-r--r--pkgs/tools/graphics/viu/default.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix4
-rw-r--r--pkgs/tools/misc/aptly/default.nix4
-rw-r--r--pkgs/tools/misc/coreutils/coreutils-8.31-musl-cross.patch1153
-rw-r--r--pkgs/tools/misc/coreutils/default.nix14
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--pkgs/tools/misc/docker-ls/default.nix4
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/ffsend/Cargo.lock.patch13
-rw-r--r--pkgs/tools/misc/ffsend/default.nix21
-rw-r--r--pkgs/tools/misc/file/default.nix4
-rw-r--r--pkgs/tools/misc/getopt/builder.sh4
-rw-r--r--pkgs/tools/misc/getopt/default.nix20
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix35
-rw-r--r--pkgs/tools/misc/grub/relocation-not-implemented.diff25
-rw-r--r--pkgs/tools/misc/hackertyper/default.nix36
-rw-r--r--pkgs/tools/misc/hdf4/default.nix2
-rw-r--r--pkgs/tools/misc/logstash/5.x.nix2
-rw-r--r--pkgs/tools/misc/logstash/6.x.nix4
-rw-r--r--pkgs/tools/misc/logstash/7.x.nix4
-rw-r--r--pkgs/tools/misc/osinfo-db-tools/default.nix4
-rw-r--r--pkgs/tools/misc/qt5ct/default.nix4
-rw-r--r--pkgs/tools/misc/shell-hist/default.nix23
-rw-r--r--pkgs/tools/misc/tlp/default.nix4
-rw-r--r--pkgs/tools/misc/tmuxinator/default.nix4
-rw-r--r--pkgs/tools/misc/ttyplot/default.nix4
-rw-r--r--pkgs/tools/misc/up/default.nix11
-rw-r--r--pkgs/tools/misc/up/deps.nix66
-rw-r--r--pkgs/tools/misc/uutils-coreutils/default.nix8
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/amass/default.nix16
-rw-r--r--pkgs/tools/networking/amass/deps.nix343
-rw-r--r--pkgs/tools/networking/axel/default.nix6
-rw-r--r--pkgs/tools/networking/davix/default.nix6
-rw-r--r--pkgs/tools/networking/i2pd/default.nix4
-rw-r--r--pkgs/tools/networking/jnettop/default.nix4
-rw-r--r--pkgs/tools/networking/netsniff-ng/default.nix22
-rw-r--r--pkgs/tools/networking/netsniff-ng/glibc-2.26.patch24
-rw-r--r--pkgs/tools/networking/network-manager/default.nix20
-rw-r--r--pkgs/tools/networking/network-manager/fix-docs-build.patch11
-rw-r--r--pkgs/tools/networking/network-manager/fix-paths.patch2
-rw-r--r--pkgs/tools/networking/tgt/default.nix4
-rw-r--r--pkgs/tools/networking/ubridge/default.nix4
-rw-r--r--pkgs/tools/security/bitwarden_rs/default.nix13
-rw-r--r--pkgs/tools/security/bitwarden_rs/vault.nix4
-rw-r--r--pkgs/tools/security/opensc/default.nix19
-rw-r--r--pkgs/tools/security/polkit-gnome/default.nix15
-rw-r--r--pkgs/tools/security/signing-party/default.nix30
-rw-r--r--pkgs/tools/security/tboot/default.nix4
-rw-r--r--pkgs/tools/security/vault/default.nix4
-rw-r--r--pkgs/tools/security/yara/default.nix4
-rw-r--r--pkgs/tools/security/zmap/default.nix32
-rw-r--r--pkgs/tools/system/acpica-tools/default.nix4
-rw-r--r--pkgs/tools/system/bfs/default.nix9
-rw-r--r--pkgs/tools/system/journalbeat/default.nix27
-rw-r--r--pkgs/tools/system/stress-ng/default.nix50
-rw-r--r--pkgs/tools/text/patchutils/0.3.3.nix7
-rw-r--r--pkgs/tools/text/patchutils/default.nix30
-rw-r--r--pkgs/tools/text/patchutils/generic.nix27
-rw-r--r--pkgs/tools/text/transifex-client/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/combine.nix4
-rw-r--r--pkgs/top-level/all-packages.nix124
-rw-r--r--pkgs/top-level/lua-packages.nix42
-rw-r--r--pkgs/top-level/perl-packages.nix11
-rw-r--r--pkgs/top-level/php-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix6
-rw-r--r--pkgs/top-level/release-cross.nix2
640 files changed, 13860 insertions, 8563 deletions
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index c419d141d1b..4e517ee636e 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./utils.patch
     ++ [./fix_private_keyword.patch];
 
-  buildInputs = stdenv.lib.optional stdenv.isAarch64 autoreconfHook;
+  nativeBuildInputs = stdenv.lib.optional stdenv.isAarch64 autoreconfHook;
 
   propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [
     Carbon
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  preConfigure = "unset CC" + stdenv.lib.optionalString stdenv.isAarch64 ''\n
+  preConfigure = "unset CC" + stdenv.lib.optionalString stdenv.isAarch64 '';
     cp ${gnu-config}/config.sub configure.sub
     cp ${gnu-config}/config.guess configure.guess
   '';
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 04b1dafe7e8..404c9cc825e 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -11,8 +11,8 @@ let
       sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
     };
     "2" = {
-      fluidsynthVersion = "2.0.4";
-      sha256 = "1v2vji02fbrjgypwb4fw2r90hnfwfbfh3d24j8vjwlbqxhxp16s0";
+      fluidsynthVersion = "2.0.5";
+      sha256 = "0rv0apxbj0cgm8f8sqf5xr6kdi4q58ph92ip6cg716ha0ca5lr8y";
     };
   };
 in
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index d190fa1b729..41fc148e32d 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.37.0";
+  version = "3.37.1";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "1fy802jx3817ldrm3g5inrfjbi7s8xcx96pnglbq54nvp41lzyh5";
+    sha256 = "0qcg456k7av0anymmmnlcn0v4642gbgk0nhic6w9bg9v5m0nj9ll";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index eab498b9624..490f8639d38 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -29,17 +29,17 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-1.3.1";
+  name = "qmmp-1.3.2";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "1dmybzibpr6hpr2iv1wvrjgww842mng2x0rh1mr8gs8j191xvlhw";
+    sha256 = "1rh063kcyg7gs9yj2r4v5irpnq4pjaxaxsgrw30mdr21xhhc15cz";
   };
 
+  nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs =
     [ # basic requirements
-      cmake pkgconfig xlibsWrapper
-      qtbase qttools qtmultimedia qtx11extras
+      qtbase qttools qtmultimedia qtx11extras xlibsWrapper
       # transports
       curl libmms
       # input plugins
diff --git a/pkgs/applications/audio/vcv-rack/default.nix b/pkgs/applications/audio/vcv-rack/default.nix
index 27533084804..15935751c32 100644
--- a/pkgs/applications/audio/vcv-rack/default.nix
+++ b/pkgs/applications/audio/vcv-rack/default.nix
@@ -72,8 +72,9 @@ with stdenv.lib; stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Open-source virtual modular synthesizer";
     homepage = http://vcvrack.com/;
-    # The source is BSD-3 licensed, some of the art is CC-BY-NC 4.0 or unfree
-    license = [ licenses.bsd3 licenses.cc-by-nc-40 licenses.unfree ];
+    # The source is BSD-3 licensed, some of the art is CC-BY-NC 4.0 or under a
+    # no-derivatives clause
+    license = with licenses; [ bsd3 cc-by-nc-40 unfreeRedistributable ];
     maintainers = with maintainers; [ moredread ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 714daa3649c..8af0a647561 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -12,11 +12,11 @@ let
     build = "183.5452501";
     sha256Hash = "0i8wz9v6nxzr27a07cv2330i84v94pcl13gjwvpglp55hyzd8axd";
   };
-  betaVersion = stableVersion;
+  betaVersion = latestVersion;
   latestVersion = { # canary & dev
-    version = "3.5.0.12"; # "Android Studio 3.5 Canary 13"
-    build = "191.5487692";
-    sha256Hash = "0iwd2qa551rs9b0w4rs7wmzdbh3r4j76xvs815l6i5pilk0s47gz";
+    version = "3.5.0.13"; # "Android Studio 3.5 Beta 1"
+    build = "191.5529924";
+    sha256Hash = "0i710n2wr0a8lvxf1mg6a5pmdh1l72wa0hwyricyixi0mylwwc6l";
   };
 in rec {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/howl/default.nix b/pkgs/applications/editors/howl/default.nix
index 8f75eda7ef7..e7f200a4c07 100644
--- a/pkgs/applications/editors/howl/default.nix
+++ b/pkgs/applications/editors/howl/default.nix
@@ -4,12 +4,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "howl-${version}";
-  version = "0.5.3";
+  version = "0.6";
 
   # Use the release tarball containing pre-downloaded dependencies sources
   src = fetchurl {
-    url = "https://github.com/howl-editor/howl/releases/download/0.5.3/howl-0.5.3.tgz";
-    sha256 = "0gnc8vr5h8mwapbcqc1zr9la62rb633awyqgy8q7pwjpiy85a03v";
+    url = "https://github.com/howl-editor/howl/releases/download/${version}/howl-${version}.tgz";
+    sha256 = "1qc58l3rkr37cj6vhf8c7bnwbz93nscyraz7jxqwjq6k4gj0cjw3";
   };
 
   sourceRoot = "./howl-${version}/src";
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index ee7a7951785..a53c499fe5c 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -21,13 +21,13 @@ let
 in
   stdenv.mkDerivation rec {
     name = "neovim-unwrapped-${version}";
-    version = "0.3.4";
+    version = "0.3.5";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "07ncvgp6xfhiwc6hd7qf7zk28n3yj47p26qj1ji29vqkwnk28y3s";
+      sha256 = "113lrr9gwimvvzlkwlishm4cjqcf30xq9jfxn7vh41ckgnbiwf3w";
     };
 
     patches = [
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 2e3d092225f..8f2986c1a49 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.1.0675";
+  version = "8.1.1234";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "00nlh8f2rf0af3n434s0lp6idxlg4l7mi1lrlbz0xld9dsrzdmas";
+    sha256 = "1ywrgciwqh1kg93kfq54zh0gdxwzgy1h49wsjdsl6s4mfscmpwng";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index cc2b955fcc2..cf2376b3733 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -8,6 +8,7 @@
 , qtsvg
 , qtwebengine
 
+, akonadi-contacts
 , kcalcore
 , kconfigwidgets
 , kcoreaddons
@@ -50,14 +51,14 @@
 }:
 
 mkDerivation rec {
-  name    = "digikam-${version}";
-  version = "6.0.0";
+  pname   = "digikam";
+  version = "6.1.0";
 
   src = fetchFromGitHub {
     owner  = "KDE";
     repo   = "digikam";
     rev    = "v${version}";
-    sha256 = "1ifvrn0bm7fp07d059rl4dy146qzdxafl36ipxg1fg00dkv95hh4";
+    sha256 = "0h0jqfgpanhxfi3r7cgip58ppypqx79z6c5jj7i7f19hp2zziip8";
   };
 
   nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
@@ -88,6 +89,7 @@ mkDerivation rec {
     qtsvg
     qtwebengine
 
+    akonadi-contacts
     kcalcore
     kconfigwidgets
     kcoreaddons
@@ -112,6 +114,7 @@ mkDerivation rec {
 
   preFixup = ''
     gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]})
+    gappsWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${qtbase.qtPluginPrefix}/${pname})
     substituteInPlace $out/bin/digitaglinktree \
       --replace "/usr/bin/perl" "${perl}/bin/perl" \
       --replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"
diff --git a/pkgs/applications/graphics/gimp/wrapper.nix b/pkgs/applications/graphics/gimp/wrapper.nix
index ec529519159..11c1e9ada93 100644
--- a/pkgs/applications/graphics/gimp/wrapper.nix
+++ b/pkgs/applications/graphics/gimp/wrapper.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, plugins ? null}:
+{ stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, gnome3, plugins ? null}:
 
 let
 allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation" && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
@@ -17,6 +17,7 @@ in symlinkJoin {
     for each in gimp-${versionBranch} gimp-console-${versionBranch}; do
       wrapProgram $out/bin/$each \
         --set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
+        --prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0" \
         ${toString extraArgs}
     done
     set +x
diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix
index dadae22bf0c..6bc59cd7d02 100644
--- a/pkgs/applications/graphics/glabels/default.nix
+++ b/pkgs/applications/graphics/glabels/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "glabels-${version}";
+  pname = "glabels";
   version = "3.4.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/glabels/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0f2rki8i27pkd9r0gz03cdl1g4vnmvp0j49nhxqn275vi8lmgr0q";
   };
 
@@ -25,6 +25,13 @@ stdenv.mkDerivation rec {
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Create labels and business cards";
     homepage = https://glabels.org/;
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index e88c9222b87..6f4ddf27b90 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -4,14 +4,12 @@
   libchamplain, librsvg, libwebp, json-glib, webkitgtk, lcms2, bison,
   flex, wrapGAppsHook, shared-mime-info }:
 
-let
+stdenv.mkDerivation rec {
   pname = "gthumb";
   version = "3.6.2";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0rjb0bsjhn7nyl5jyjgrypvr6qdr9dc2g586j3lzan96a2vnpgy9";
   };
 
@@ -40,7 +38,7 @@ in stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/gthumb;
+    homepage = "https://wiki.gnome.org/Apps/Gthumb";
     description = "Image browser and viewer for GNOME";
     platforms = platforms.linux;
     license = licenses.gpl2;
diff --git a/pkgs/applications/graphics/ipe/default.nix b/pkgs/applications/graphics/ipe/default.nix
index 0673eec8c86..d4a7e396cb0 100644
--- a/pkgs/applications/graphics/ipe/default.nix
+++ b/pkgs/applications/graphics/ipe/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ipe-7.2.11";
+  name = "ipe-7.2.12";
 
   src = fetchurl {
     url = "https://dl.bintray.com/otfried/generic/ipe/7.2/${name}-src.tar.gz";
-    sha256 = "09d71fdpiz359mcnb57460w2mcfizvlnidd6g1k4c3v6rglwlbd2";
+    sha256 = "1qw1cmwzi3wxk4x916i9y4prhi9brnwl14i9a1cbw23x1sr7i6kw";
   };
 
   sourceRoot = "${name}/src";
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index bce2e882698..5922206a8b9 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, qt5, libsForQt5
 , bison, flex, eigen, boost, libGLU_combined, glew, opencsg, cgal
-, mpfr, gmp, glib, pkgconfig, harfbuzz, gettext
+, mpfr, gmp, glib, pkgconfig, harfbuzz, gettext, freetype, fontconfig
 }:
 
 stdenv.mkDerivation rec {
@@ -18,11 +18,13 @@ stdenv.mkDerivation rec {
     sha256 = "1y63yqyd0v255liik4ff5ak6mj86d8d76w436x76hs5dk6jgpmfb";
   };
 
+  nativeBuildInputs = [ bison flex pkgconfig ];
+
   buildInputs = [
-    bison flex eigen boost libGLU_combined glew opencsg cgal mpfr gmp glib
-    pkgconfig harfbuzz gettext
-  ]
-    ++ (with qt5; [qtbase qmake])
+    eigen boost glew opencsg cgal mpfr gmp glib
+    harfbuzz gettext freetype fontconfig
+  ] ++ stdenv.lib.optional stdenv.isLinux libGLU_combined
+    ++ (with qt5; [qtbase qmake] ++ stdenv.lib.optional stdenv.isDarwin qtmacextras)
     ++ (with libsForQt5; [qscintilla])
   ;
 
@@ -33,6 +35,17 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/*.app $out/Applications
+    rmdir $out/bin || true
+
+    mv --target-directory=$out/Applications/OpenSCAD.app/Contents/Resources \
+      $out/share/openscad/{examples,color-schemes,locale,libraries,fonts}
+
+    rmdir $out/share/openscad
+  '';
+
   meta = {
     description = "3D parametric model compiler";
     longDescription = ''
@@ -48,7 +61,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://openscad.org/;
     license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers;
       [ bjornfor raskin the-kenny ];
   };
diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix
index 89828ff45d7..3fd4521d7cd 100644
--- a/pkgs/applications/graphics/renderdoc/default.nix
+++ b/pkgs/applications/graphics/renderdoc/default.nix
@@ -12,14 +12,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "1.2";
+  version = "1.4";
   name = "renderdoc-${version}";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "0s1q5d58x18yz3nf94pv5i1qd2hc0a4gdj4qkpcn8s6ms2x05pz4";
+    sha256 = "1iann73r4yzkwnm13h4zqipqrp5i5cnkv27yyap0axz6h3npw94r";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/kde/kgpg.nix b/pkgs/applications/kde/kgpg.nix
index 33813f376a5..944cff47e0d 100644
--- a/pkgs/applications/kde/kgpg.nix
+++ b/pkgs/applications/kde/kgpg.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, kdoctools, ki18n, makeWrapper,
-  akonadi-contacts, gnupg1, karchive, kcodecs, kcontacts, kcoreaddons,
+  akonadi-contacts, gnupg, karchive, kcodecs, kcontacts, kcoreaddons,
   kcrash, kdbusaddons, kiconthemes, kjobwidgets, kio, knotifications, kservice,
   ktextwidgets, kxmlgui, kwidgetsaddons, kwindowsystem, qgpgme,
 }:
@@ -10,12 +10,12 @@ mkDerivation {
   name = "kgpg";
   nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
   buildInputs = [
-    akonadi-contacts gnupg1 karchive kcodecs kcontacts kcoreaddons kcrash
+    akonadi-contacts gnupg karchive kcodecs kcontacts kcoreaddons kcrash
     kdbusaddons ki18n kiconthemes kjobwidgets kio knotifications kservice
     ktextwidgets kxmlgui kwidgetsaddons kwindowsystem qgpgme
   ];
   postFixup = ''
-    wrapProgram "$out/bin/kgpg" --prefix PATH : "${lib.makeBinPath [ gnupg1 ]}"
+    wrapProgram "$out/bin/kgpg" --prefix PATH : "${lib.makeBinPath [ gnupg ]}"
   '';
   meta = {
     license = [ lib.licenses.gpl2 ];
diff --git a/pkgs/applications/misc/audio/sox/default.nix b/pkgs/applications/misc/audio/sox/default.nix
index a598ec1caca..622e7169fae 100644
--- a/pkgs/applications/misc/audio/sox/default.nix
+++ b/pkgs/applications/misc/audio/sox/default.nix
@@ -1,9 +1,10 @@
-{ config, lib, stdenv, fetchurl, CoreAudio
+{ config, lib, stdenv, fetchurl, pkgconfig, CoreAudio
 , enableAlsa ? true, alsaLib ? null
 , enableLibao ? true, libao ? null
 , enableLame ? config.sox.enableLame or false, lame ? null
 , enableLibmad ? true, libmad ? null
 , enableLibogg ? true, libogg ? null, libvorbis ? null
+, enableOpusfile ? true, opusfile ? null
 , enableFLAC ? true, flac ? null
 , enablePNG ? true, libpng ? null
 , enableLibsndfile ? true, libsndfile ? null
@@ -22,12 +23,16 @@ stdenv.mkDerivation rec {
     sha256 = "0v2znlxkxxcd3f48hf3dx9pq7i6fdhb62kgj7wv8xggz8f35jpxl";
   };
 
+  # configure.ac uses pkg-config only to locate libopusfile
+  nativeBuildInputs = optional enableOpusfile pkgconfig;
+
   buildInputs =
     optional (enableAlsa && stdenv.isLinux) alsaLib ++
     optional enableLibao libao ++
     optional enableLame lame ++
     optional enableLibmad libmad ++
     optionals enableLibogg [ libogg libvorbis ] ++
+    optional enableOpusfile opusfile ++
     optional enableFLAC flac ++
     optional enablePNG libpng ++
     optional enableLibsndfile libsndfile ++
diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix
new file mode 100644
index 00000000000..89c32668be9
--- /dev/null
+++ b/pkgs/applications/misc/bemenu/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, cairo, cmake, libxkbcommon
+, pango, fribidi, harfbuzz, pcre, pkgconfig
+, ncursesSupport ? true, ncurses ? null
+, waylandSupport ? true, wayland ? null
+, x11Support ? true, xlibs ? null, xorg ? null
+}:
+
+assert ncursesSupport -> ncurses != null;
+assert waylandSupport -> wayland != null;
+assert x11Support -> xlibs != null && xorg != null;
+
+stdenv.mkDerivation rec {
+  pname = "bemenu";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Cloudef";
+    repo = "bemenu";
+    rev = "33e540a2b04ce78f5c7ab4a60b899c67f586cc32";
+    sha256 = "11h55m9dx6ai12pqij52ydjm36dvrcc856pa834njihrp626pl4w";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig pcre ];
+
+  buildInputs = with stdenv.lib; [
+    cairo
+    fribidi
+    harfbuzz
+    libxkbcommon
+    pango
+  ] ++ optionals ncursesSupport [ ncurses ]
+    ++ optionals waylandSupport [ wayland ]
+    ++ optionals x11Support [
+      xlibs.libX11 xlibs.libXinerama xlibs.libXft
+      xorg.libXdmcp xorg.libpthreadstubs xorg.libxcb
+    ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/Cloudef/bemenu";
+    description = "Dynamic menu library and client program inspired by dmenu";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ thiagokokada ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/calcurse/default.nix b/pkgs/applications/misc/calcurse/default.nix
index e6dafe4d08a..dc0460c2a23 100644
--- a/pkgs/applications/misc/calcurse/default.nix
+++ b/pkgs/applications/misc/calcurse/default.nix
@@ -9,17 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "0vw2xi6a2lrhrb8n55zq9lv4mzxhby4xdf3hmi1vlfpyrpdwkjzd";
   };
 
-  buildInputs = [ ncurses gettext python3 ];
+  buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ];
   nativeBuildInputs = [ makeWrapper ];
 
-  # Build Python environment with httplib2 for calcurse-caldav
-  pythonEnv = python3Packages.python.buildEnv.override {
-    extraLibs = [ python3Packages.httplib2 ];
-  };
-  propagatedBuildInputs = [ pythonEnv ];
-
   postInstall = ''
-    substituteInPlace $out/bin/calcurse-caldav --replace /usr/bin/python3 ${pythonEnv}/bin/python3
+    patchShebangs .
+    buildPythonPath ${python3Packages.httplib2}
+    patchPythonScript $out/bin/calcurse-caldav
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index 90754b8fb1d..e6b62817b90 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
     sed -i "s@PREFIX = /usr/local@PREFIX = $out@g" config.mk
   '';
 
+  makeFlags = [ "CC:=$(CC)" ];
+
   meta = with stdenv.lib; {
       description = "A generic, highly customizable, and efficient menu for the X Window System";
       homepage = https://tools.suckless.org/dmenu;
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 5f252d97d86..9cabd6dda7c 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -1,28 +1,36 @@
-{ stdenv, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 }:
+{ stdenv, fetchurl, fetchFromGitHub, python3, python3Packages, zbar, secp256k1 }:
 
 let
-  qdarkstyle = python3Packages.buildPythonPackage rec {
-    pname = "QDarkStyle";
-    version = "2.5.4";
-    src = python3Packages.fetchPypi {
-      inherit pname version;
-      sha256 = "1w715m1i5pycfqcpkrggpn0rs9cakx6cm5v8rggcxnf4p0i0kdiy";
-    };
-    doCheck = false; # no tests
+  version = "3.3.5";
+
+  # Not provided in official source releases, which are what upstream signs.
+  tests = fetchFromGitHub {
+    owner = "spesmilo";
+    repo = "electrum";
+    rev = version;
+    sha256 = "11rzzrv5xxqazcb7q1ig93d6cisqmd1x0jrgvfgzysbzvi51gg11";
+
+    extraPostFetch = ''
+      mv $out ./all
+      mv ./all/electrum/tests $out
+    '';
   };
 in
 
 python3Packages.buildPythonApplication rec {
   pname = "electrum";
-  version = "3.3.4";
+  inherit version;
 
-  src = fetchFromGitHub {
-    owner = "spesmilo";
-    repo = "electrum";
-    rev = version;
-    sha256 = "0yxdpc602jnd14xz3px85ka0b6db98zwbgfi9a3vj8p1k3mmiwaj";
+  src = fetchurl {
+    url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
+    sha256 = "1csj0n96zlajnrs39wsazfj5lmy7v7n77cdz56lr8nkmchh6k9z1";
   };
 
+  postUnpack = ''
+    # can't symlink, tests get confused
+    cp -ar ${tests} $sourceRoot/electrum/tests
+  '';
+
   propagatedBuildInputs = with python3Packages; [
     aiorpcx
     aiohttp
@@ -64,7 +72,10 @@ python3Packages.buildPythonApplication rec {
     rm -rf $out/${python3.sitePackages}/nix
 
     substituteInPlace $out/share/applications/electrum.desktop \
-      --replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
+      --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum %u"' \
+                "Exec=$out/bin/electrum %u" \
+      --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum --testnet %u"' \
+                "Exec=$out/bin/electrum --testnet %u"
   '';
 
   checkInputs = with python3Packages; [ pytest ];
diff --git a/pkgs/applications/misc/fsv/default.nix b/pkgs/applications/misc/fsv/default.nix
index 782a37040d8..15207806539 100644
--- a/pkgs/applications/misc/fsv/default.nix
+++ b/pkgs/applications/misc/fsv/default.nix
@@ -4,10 +4,10 @@
 
 let
   gtkglarea = stdenv.mkDerivation rec {
-    name    = "gtkglarea-${version}";
+    pname    = "gtkglarea";
     version = "2.1.0";
     src = fetchurl {
-      url    = "mirror://gnome/sources/gtkglarea/2.1/${name}.tar.xz";
+      url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
       sha256 = "1pl2vdj6l64j864ilhkq1bcggb3hrlxjwk5m029i7xfjfxc587lf";
     };
     nativeBuildInputs = [ pkgconfig ];
@@ -16,13 +16,13 @@ let
   };
 
 in stdenv.mkDerivation rec {
-  name    = "fsv-${version}";
+  pname   = "fsv";
   version = "0.9-1";
 
   src = fetchFromGitHub {
     owner  = "mcuelenaere"; 
     repo   = "fsv";
-    rev    = name;
+    rev    = "${pname}-${version}";
     sha256 = "0n09jd7yqj18mx6zqbg7kab4idg5llr15g6avafj74fpg1h7iimj";
   };
 
diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix
index c0a39d2d91d..63a8af99f7c 100644
--- a/pkgs/applications/misc/hello/default.nix
+++ b/pkgs/applications/misc/hello/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
       It is fully customizable.
     '';
     homepage = https://www.gnu.org/software/hello/manual/;
+    changelog = "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index 2b6e58a6ab3..46f50e2fd99 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -5,7 +5,9 @@
 
 let
 
-  version = "1.3.1-ff75f26";
+  data = builtins.fromJSON (builtins.readFile ./revision.json);
+
+  inherit (data) version url sha256;
 
   rpath = stdenv.lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
@@ -17,10 +19,7 @@ in
 stdenv.mkDerivation {
   name = "hubstaff-${version}";
 
-  src = fetchurl {
-    url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/${version}/Hubstaff-${version}.sh";
-    sha256 = "0jm5l34r6lkfkg8vsdfqbr0axngxznhagwcl9y184lnyji91fmdl";
-  };
+  src = fetchurl { inherit sha256 url; };
 
   nativeBuildInputs = [ unzip makeWrapper ];
 
diff --git a/pkgs/applications/misc/hubstaff/revision.json b/pkgs/applications/misc/hubstaff/revision.json
new file mode 100644
index 00000000000..85126a496c6
--- /dev/null
+++ b/pkgs/applications/misc/hubstaff/revision.json
@@ -0,0 +1,5 @@
+{
+  "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.4.5-c5b459ea/Hubstaff-1.4.5-c5b459ea.sh",
+  "version": "1.4.5-c5b459ea",
+  "sha256": "180qglbj175wln0kh8d5czhjvy7z503zxn4w6522hkz4ddz201nz"
+}
diff --git a/pkgs/applications/misc/hubstaff/update.sh b/pkgs/applications/misc/hubstaff/update.sh
new file mode 100755
index 00000000000..c4c1caf55db
--- /dev/null
+++ b/pkgs/applications/misc/hubstaff/update.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p nix-prefetch-git curl
+
+SCRIPT_DIR=$(dirname "$(readlink -f "$BASH_SOURCE")")
+
+installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
+
+version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/')
+
+sha256=$(nix-prefetch-url "$installation_script_url")
+
+cat <<EOT > $SCRIPT_DIR/revision.json
+{
+  "url": "$installation_script_url",
+  "version": "$version",
+  "sha256": "$sha256"
+}
+EOT
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 22a1a4ba2ad..bfc4ac79615 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "josm-${version}";
-  version = "14945";
+  version = "15031";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "0kdfdn0i7gjfkkllb93598ywf0qlllzsia5q14szc5b5assl8qpb";
+    sha256 = "19qw1s5v0dha329a7rfnhby0rq5d109b3f1ln2w1dfkmirbl75ir";
   };
 
   buildInputs = [ jdk11 makeWrapper ];
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index 0049e9aca75..bf29e05db1b 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -57,7 +57,28 @@ stdenv.mkDerivation rec {
       prePatch = ''
         cp ${src}/leptonica_mod/{allheaders.h,dewarp2.c,leptwin.c} src/
       '';
-      patches = [];
+      patches = [
+        # stripped down copy of upstream commit b88c821f8d347bce0aea86d606c710303919f3d2
+        ./leptonica-CVE-2018-3836.patch
+        (fetchpatch {
+          # CVE-2018-7186
+          url = "https://github.com/DanBloomberg/leptonica/commit/"
+              + "ee301cb2029db8a6289c5295daa42bba7715e99a.patch";
+          sha256 = "0cgb7mvz2px1rg5i80wk1wxxjvzjga617d8q6j7qygkp7jm6495d";
+        })
+        (fetchpatch {
+          # CVE-2018-7247
+          url = "https://github.com/DanBloomberg/leptonica/commit/"
+              + "c1079bb8e77cdd426759e466729917ca37a3ed9f.patch";
+          sha256 = "1z4iac5gwqggh7aa8cvyp6nl9fwd1v7wif26caxc9y5qr3jj34qf";
+        })
+        (fetchpatch {
+          # CVE-2018-7440
+          url = "https://github.com/DanBloomberg/leptonica/commit/"
+              + "49ecb6c2dfd6ed5078c62f4a8eeff03e3beced3b.patch";
+          sha256 = "1hjmva98iaw9xj7prg7aimykyayikcwnk4hk0380007hqb35lqmy";
+        })
+      ];
     });
     tesseract_modded = tesseract4.override {
       tesseractBase = tesseract4.tesseractBase.overrideAttrs (_: {
diff --git a/pkgs/applications/misc/k2pdfopt/leptonica-CVE-2018-3836.patch b/pkgs/applications/misc/k2pdfopt/leptonica-CVE-2018-3836.patch
new file mode 100644
index 00000000000..f1b4170fbaa
--- /dev/null
+++ b/pkgs/applications/misc/k2pdfopt/leptonica-CVE-2018-3836.patch
@@ -0,0 +1,95 @@
+--- a/src/allheaders.h
++++ b/src/allheaders.h
+@@ -2600,6 +2600,7 @@
+ LEPT_DLL extern char * stringReverse ( const char *src );
+ LEPT_DLL extern char * strtokSafe ( char *cstr, const char *seps, char **psaveptr );
+ LEPT_DLL extern l_int32 stringSplitOnToken ( char *cstr, const char *seps, char **phead, char **ptail );
++LEPT_DLL extern l_int32 stringCheckForChars ( const char *src, const char *chars, l_int32 *pfound );
+ LEPT_DLL extern char * stringRemoveChars ( const char *src, const char *remchars );
+ LEPT_DLL extern l_int32 stringFindSubstr ( const char *src, const char *sub, l_int32 *ploc );
+ LEPT_DLL extern char * stringReplaceSubstr ( const char *src, const char *sub1, const char *sub2, l_int32 *pfound, l_int32 *ploc );
+--- a/src/gplot.c
++++ b/src/gplot.c
+@@ -141,9 +141,10 @@
+             const char  *xlabel,
+             const char  *ylabel)
+ {
+-char   *newroot;
+-char    buf[L_BUF_SIZE];
+-GPLOT  *gplot;
++char    *newroot;
++char     buf[L_BUF_SIZE];
++l_int32  badchar;
++GPLOT   *gplot;
+ 
+     PROCNAME("gplotCreate");
+ 
+@@ -152,6 +153,9 @@
+     if (outformat != GPLOT_PNG && outformat != GPLOT_PS &&
+         outformat != GPLOT_EPS && outformat != GPLOT_LATEX)
+         return (GPLOT *)ERROR_PTR("outformat invalid", procName, NULL);
++    stringCheckForChars(rootname, "`;&|><\"?*", &badchar);
++    if (badchar)  /* danger of command injection */
++        return (GPLOT *)ERROR_PTR("invalid rootname", procName, NULL);
+ 
+     if ((gplot = (GPLOT *)LEPT_CALLOC(1, sizeof(GPLOT))) == NULL)
+         return (GPLOT *)ERROR_PTR("gplot not made", procName, NULL);
+--- a/src/utils2.c
++++ b/src/utils2.c
+@@ -42,6 +42,7 @@
+  *           l_int32    stringSplitOnToken()
+  *
+  *       Find and replace string and array procs
++ *           l_int32    stringCheckForChars()
+  *           char      *stringRemoveChars()
+  *           l_int32    stringFindSubstr()
+  *           char      *stringReplaceSubstr()
+@@ -701,6 +702,48 @@
+ /*--------------------------------------------------------------------*
+  *                       Find and replace procs                       *
+  *--------------------------------------------------------------------*/
++/*!
++ * \brief   stringCheckForChars()
++ *
++ * \param[in]    src      input string; can be of zero length
++ * \param[in]    chars    string of chars to be searched for in %src
++ * \param[out]   pfound   1 if any characters are found; 0 otherwise
++ * \return  0 if OK, 1 on error
++ *
++ * <pre>
++ * Notes:
++ *      (1) This can be used to sanitize an operation by checking for
++ *          special characters that don't belong in a string.
++ * </pre>
++ */
++l_int32
++stringCheckForChars(const char  *src,
++                    const char  *chars,
++                    l_int32     *pfound)
++{
++char     ch;
++l_int32  i, n;
++
++    PROCNAME("stringCheckForChars");
++
++    if (!pfound)
++        return ERROR_INT("&found not defined", procName, 1);
++    *pfound = FALSE;
++    if (!src || !chars)
++        return ERROR_INT("src and chars not both defined", procName, 1);
++
++    n = strlen(src);
++    for (i = 0; i < n; i++) {
++        ch = src[i];
++        if (strchr(chars, ch)) {
++            *pfound = TRUE;
++            break;
++        }
++    }
++    return 0;
++}
++
++
+ /*!
+  * \brief   stringRemoveChars()
+  *
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index 3edb48cc489..be70efba5ad 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -2,7 +2,7 @@
   harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel,
   libstartup_notification, libX11, libXrandr, libXinerama, libXcursor,
   libxkbcommon, libXi, libXext, wayland-protocols, wayland,
-  which, dbus,
+  which, dbus, fetchpatch,
   Cocoa,
   CoreGraphics,
   Foundation,
@@ -67,6 +67,17 @@ buildPythonApplication rec {
       libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so";
     })
   ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    (fetchpatch {
+      name = "macos-symlink-1";
+      url = https://github.com/kovidgoyal/kitty/commit/bdeec612667f6976109247fe1750b10dda9c24c0.patch;
+      sha256 = "1d18x260w059qag80kgb2cgi2h4rricvqhwpbrw79s8yxzs7jhxk";
+    })
+    (fetchpatch {
+      # fixup of previous patch
+      name = "macos-symlink-2";
+      url = https://github.com/kovidgoyal/kitty/commit/af2c9a49b1ad31e94242295d88598591623fbf11.patch;
+      sha256 = "0k3dmgbvmh66j8k3h8dw6la6ma6f20fng6jjypy982kxvracsnl5";
+    })
     ./macos-10.11.patch
     ./no-lto.patch
     ./no-werror.patch
@@ -84,7 +95,7 @@ buildPythonApplication rec {
     mkdir -p $out
     ${if stdenv.isDarwin then ''
     mkdir "$out/bin"
-    ln -s ../Applications/kitty.app/Contents/MacOS/kitty "$out/bin/kitty"
+    ln -s ../Applications/kitty.app/Contents/MacOS/kitty-deref-symlink "$out/bin/kitty"
     mkdir "$out/Applications"
     cp -r kitty.app "$out/Applications/kitty.app"
     '' else ''
diff --git a/pkgs/applications/misc/moonlight-embedded/default.nix b/pkgs/applications/misc/moonlight-embedded/default.nix
index 76c2ba69d35..5f314d19dda 100644
--- a/pkgs/applications/misc/moonlight-embedded/default.nix
+++ b/pkgs/applications/misc/moonlight-embedded/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub, cmake, perl
 , alsaLib, libevdev, libopus, udev, SDL2
 , ffmpeg, pkgconfig, xorg, libvdpau, libpulseaudio, libcec
-, curl, expat, avahi, enet, libuuid
+, curl, expat, avahi, enet, libuuid, libva
 }:
 
 stdenv.mkDerivation rec {
   name = "moonlight-embedded-${version}";
-  version = "2.4.7";
+  version = "2.4.9";
 
   src = fetchFromGitHub {
     owner = "irtimmer";
     repo = "moonlight-embedded";
     rev = "v${version}";
-    sha256 = "0ihgb0kh4rhbgn55s25rfbs8063zqvcyqn137jn3nsc0is1595a9";
+    sha256 = "1mzs0dr6bg57kjyxjh48hfmlsil7fvgqf9lhjzxxj3llvpxwws86";
     fetchSubmodules = true;
   };
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     alsaLib libevdev libopus udev SDL2
     ffmpeg pkgconfig xorg.libxcb libvdpau libpulseaudio libcec
-    xorg.libpthreadstubs curl expat avahi enet libuuid
+    xorg.libpthreadstubs curl expat avahi enet libuuid libva
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 76a0a574808..b8ed4c5ddbe 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -15,13 +15,26 @@ let
     packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([
       (mkOverride "flask"       "0.10.1" "0wrkavjdjndknhp8ya8j850jq7a1cli4g5a93mg8nh1xz2gq50sc")
       (mkOverride "flask_login" "0.2.11" "1rg3rsjs1gwi2pw6vr9jmhaqm9b3vc9c4hfcsvp4y8agbh7g3mc3")
-      (mkOverride "jinja2"      "2.8.1"  "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m")
       (mkOverride "pylru"       "1.0.9"  "0b0pq0l7xv83dfsajsc49jcxzc99kb9jfx1a1dlx22hzcy962dvi")
       (mkOverride "sarge"       "0.1.4"  "08s8896973bz1gg0pkr592w6g4p6v47bkfvws5i91p9xf8b35yar")
       (mkOverride "tornado"     "4.5.3"  "02jzd23l4r6fswmwxaica9ldlyc2p6q8dk6dyff7j58fmdzf853d")
 
       # https://github.com/NixOS/nixpkgs/pull/58179#issuecomment-478605134
       (mkOverride "werkzeug"    "0.14.1" "c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c")
+
+      # Octoprint holds back jinja2 to 2.8.1 due to breaking changes.
+      # This old version does not have updated test config for pytest 4,
+      # and pypi tarball doesn't contain tests dir anyways.
+      (pself: psuper: {
+        jinja2 = psuper.jinja2.overridePythonAttrs (oldAttrs: rec {
+          version = "2.8.1";
+          src = oldAttrs.src.override {
+            inherit version;
+            sha256 = "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m";
+          };
+          doCheck = false;
+        });
+      })
     ]);
   };
 
@@ -69,7 +82,7 @@ in py.pkgs.buildPythonApplication rec {
     pylru pyyaml sarge feedparser netifaces click websocket_client
     scandir chainmap future dateutil futures wrapt monotonic emoji
     frozendict
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ py.pkgs.appdirs ];
 
   checkInputs = with py.pkgs; [ nose mock ddt ];
 
@@ -82,7 +95,7 @@ in py.pkgs.buildPythonApplication rec {
   '';
 
   checkPhase = ''
-    HOME=$(mktemp -d) nosetests
+    HOME=$(mktemp -d) nosetests ${lib.optionalString stdenv.isDarwin "--exclude=test_set_external_modification"}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/pdfmod/default.nix b/pkgs/applications/misc/pdfmod/default.nix
index 45d83b5872f..90107be64c7 100644
--- a/pkgs/applications/misc/pdfmod/default.nix
+++ b/pkgs/applications/misc/pdfmod/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "pdfmod-${version}";
+  pname = "pdfmod";
   version = "0.9.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pdfmod/0.9/pdfmod-${version}.tar.bz2";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "eb7c987514a053106ddf03f26544766c751c801d87762909b36415d46bc425c9";
   };
 
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/PdfMod;
+    homepage = "https://wiki.gnome.org/Attic/PdfMod";
     description = "A simple application for modifying PDF documents";
     platforms = platforms.all;
     maintainers = with maintainers; [ obadz ];
diff --git a/pkgs/applications/misc/playonlinux/default.nix b/pkgs/applications/misc/playonlinux/default.nix
index da09c123dcd..e5c096fd2ae 100644
--- a/pkgs/applications/misc/playonlinux/default.nix
+++ b/pkgs/applications/misc/playonlinux/default.nix
@@ -4,7 +4,7 @@
 , cabextract
 , gettext
 , glxinfo
-, gnupg1compat
+, gnupg
 , icoutils
 , imagemagick
 , netcat-gnu
@@ -32,7 +32,7 @@ let
       python2Packages.python
       gettext
       glxinfo
-      gnupg1compat
+      gnupg
       icoutils
       imagemagick
       netcat-gnu
diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix
index ed9ae5ade9f..342eca0a6fd 100644
--- a/pkgs/applications/misc/tilix/default.nix
+++ b/pkgs/applications/misc/tilix/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tilix";
-  version = "1.9.0";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "gnunn1";
     repo = "tilix";
     rev = version;
-    sha256 = "1k8hqpq6bzmn06b4s8c257n37ghgp3fl7l9g6fy0giwk1x0ix735";
+    sha256 = "0mg9y4xd2pnv0smibg7dyy733jarvx6qpdqap3sj7fpyni0jvpph";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/tzupdate/default.nix b/pkgs/applications/misc/tzupdate/default.nix
index a5d2f206f3a..c887876634f 100644
--- a/pkgs/applications/misc/tzupdate/default.nix
+++ b/pkgs/applications/misc/tzupdate/default.nix
@@ -5,11 +5,11 @@ let
 in
 buildPythonApplication rec {
   pname = "tzupdate";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "085kp4v9ijhkfvr0r5rzn4z7nrkb2qig05j0bajb0gkgynwf8wnz";
+    sha256 = "1sc3z2bx2nhnxg82x0jy19pr8lw56chbr90c2lr11w495csqwhz7";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index f3258c0c711..6378cf1c068 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -32,15 +32,15 @@ stdenv.mkDerivation rec {
   ] ++ optional synctexSupport "-Dsynctex=enabled";
 
   nativeBuildInputs = [
-    meson ninja pkgconfig appstream-glib desktop-file-utils python3.pkgs.sphinx
+    meson ninja pkgconfig desktop-file-utils python3.pkgs.sphinx
     gettext makeWrapper libxml2
-  ];
+  ] ++ optional stdenv.isLinux appstream-glib;
 
   buildInputs = [
-    gtk girara libintl libseccomp
-    sqlite glib file librsvg
+    gtk girara libintl sqlite glib file librsvg
   ] ++ optional synctexSupport texlive.bin.core
-    ++ optional stdenv.isDarwin [ gtk-mac-integration ];
+    ++ optional stdenv.isLinux libseccomp
+    ++ optional stdenv.isDarwin gtk-mac-integration;
 
   meta = {
     homepage = https://pwmt.org/projects/zathura/;
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index dfddfe7d91e..e3db15ca78d 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,5 +1,6 @@
 { config, pkgs
-, useMupdf ? config.zathura.useMupdf or true
+# zathura_pdf_mupdf fails to load _opj_create_decompress at runtime on Darwin (https://github.com/NixOS/nixpkgs/pull/61295#issue-277982980)
+, useMupdf ? config.zathura.useMupdf or (!pkgs.stdenv.isDarwin)
 , synctexSupport ? true }:
 
 let
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index 709c1edb0b8..e2c08a00da2 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -21,9 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     zathura_core girara mupdf cairo
-  ] ++ stdenv.lib.optional stdenv.isDarwin [
-    gtk-mac-integration
-  ];
+  ] ++ lib.optional stdenv.isDarwin gtk-mac-integration;
 
   PKG_CONFIG_ZATHURA_PLUGINDIR= "lib/zathura";
 
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 4263abf0771..5ce4ab7b906 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -14,9 +14,9 @@ let
 in buildGoPackage rec {
   pname   = "minikube";
   name    = "${pname}-${version}";
-  version = "1.0.0";
+  version = "1.0.1";
 
-  kubernetesVersion = "1.14.0";
+  kubernetesVersion = "1.14.1";
 
   goPackagePath = "k8s.io/minikube";
 
@@ -24,7 +24,7 @@ in buildGoPackage rec {
     owner  = "kubernetes";
     repo   = "minikube";
     rev    = "v${version}";
-    sha256 = "170iy0h27gkz2hg485rnawdw069gxwgkwsjmfj5yag2kkgl7gxa3";
+    sha256 = "1fgyaq8789wc3h6xmn4iw6if2jxdv5my35yn6ipx3q6i4hagxl4b";
   };
 
   buildInputs = [ go-bindata makeWrapper gpgme ] ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin vmnet;
diff --git a/pkgs/applications/networking/cluster/terraform-providers/data.nix b/pkgs/applications/networking/cluster/terraform-providers/data.nix
index 76178c0cd8b..c382ab9d3cf 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/data.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/data.nix
@@ -4,22 +4,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-acme";
-      version = "1.1.1";
-      sha256  = "0fva2kw82s94r4s4dpk38kcmssmcr71ia9jyg1rqmc00ifilfrzj";
+      version = "1.1.2";
+      sha256  = "1l77pckiwa72lwbwbqkjzy6m9xsgp13spmzc80gfl4q0gd3d46an";
     };
   alicloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-alicloud";
-      version = "1.39.0";
-      sha256  = "0m5fvqrvnb7v5iii67l743j3hq32rljrvnkgc7fcd46zrf38yl2h";
+      version = "1.41.0";
+      sha256  = "0bl24mgk0rangwwbz43ybymcivn3kjjg35rrvv7ashvhmx58qcf8";
     };
   archive =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-archive";
-      version = "1.2.1";
-      sha256  = "1avx3m0dkld0kmsi8ifqcla8254p1izh5wrziffr7r05s152r8qf";
+      version = "1.2.2";
+      sha256  = "1saprj2r74b63z03n80m3mfj3vhgvlm4gp2hzqzjbdgibxsz4jaw";
     };
   arukas =
     {
@@ -39,36 +39,36 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-aws";
-      version = "2.6.0";
-      sha256  = "0hpnyid5w33n8ypwcz3a43gazbvk6m60b57qll2qgx6bm1q75b19";
+      version = "2.9.0";
+      sha256  = "1gkw60ihc2b3qhb110m0mckfvb21lqgx4vc4x249mfxxk25i26s7";
     };
   azuread =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azuread";
-      version = "0.2.0";
-      sha256  = "01aiynw905gbn6dv23971yhwv0kfcbckcqp4f65sypn1l8szqyjg";
+      version = "0.3.1";
+      sha256  = "1bs4m9hwdag58by49zsjpys3xvxg98nq8qims17mc82pbsz6mpag";
     };
   azurerm =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurerm";
-      version = "1.25.0";
-      sha256  = "1fhcljxz6cb5q1kd7aprxv1bga53x6fg65q5wkp985aaqnl42b8k";
+      version = "1.27.1";
+      sha256  = "0lxa84j9kzinblz7zp4gizizj0sy0vidkjvgnb99sr3861rak1x5";
     };
   azurestack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-azurestack";
-      version = "0.5.0";
-      sha256  = "0pi8hjl6350ibkiz5pi86p58gkj8jf0a27ar04npsrn2wcz90k8z";
+      version = "0.6.0";
+      sha256  = "0lh0an3bz3kh2s6ncadikivr08fj8cvq7zm20csmjbgwgicq4gl8";
     };
   bigip =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-bigip";
-      version = "0.12.0";
-      sha256  = "0fmmlx757hph45ffm19zafjfkldg41qkw83vz0jjmvxicza1afbd";
+      version = "0.12.2";
+      sha256  = "0pplv5hi1kjli0jpya12crb5dkc6bkzvm8094rwhjbxb4f65ca5d";
     };
   bitbucket =
     {
@@ -81,8 +81,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-brightbox";
-      version = "1.1.1";
-      sha256  = "03fh287fmbg9jxsiniwj3sn6nsjdm46qv82b5aaqny3qmhjddjvq";
+      version = "1.1.2";
+      sha256  = "0k9qs7kpjznascads5llajzx2xkm4hdil2n4wl0fqy43s6dkvbbf";
     };
   chef =
     {
@@ -144,15 +144,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-datadog";
-      version = "1.8.0";
-      sha256  = "1pmz4gxhfynj7mjcl07n2ggz00vccw4bv6cmp7na3ssbpnjiy1wx";
+      version = "1.9.0";
+      sha256  = "0c5s9ywd6p4qjd964y33rcqcgfqz225x5rp0jlsqxbv9i2r91fb0";
     };
   digitalocean =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-digitalocean";
-      version = "1.1.0";
-      sha256  = "1w5xslm8939rz13bsiv9hfcl8cyvi03gr0h24c0ybwj8alxmxhb4";
+      version = "1.3.0";
+      sha256  = "1bi482s6s3v7sqknwwchscwwncwrhr4jl4gl4l25bngp1kd7cp7i";
     };
   dme =
     {
@@ -165,8 +165,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-dns";
-      version = "2.0.0";
-      sha256  = "1km0pq1wp0bdccb612z9n0kj9w7hn1yvhk7xszwp2mzs8qmd7flv";
+      version = "2.1.1";
+      sha256  = "1iyfsx1fbpvp3zjrkq8c46nr6d80z40mzkfc4axfpqyrp9xqiy8j";
     };
   dnsimple =
     {
@@ -193,8 +193,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-external";
-      version = "1.1.1";
-      sha256  = "110kqp4gsag3l8h9hwjdq98s9rz9f5w31mrs50rygdc0yd43hq8z";
+      version = "1.1.2";
+      sha256  = "12wdzm3y0fd840bdf0dczvvmdmfwpfwfwnf0j4g6n9asdcvjaqlh";
     };
   fastly =
     {
@@ -207,36 +207,36 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-flexibleengine";
-      version = "1.4.0";
-      sha256  = "1gj3y9xw9zzh2fs2i6q0afw591lhy1lvcn80xac4da08r5l3si6g";
+      version = "1.5.0";
+      sha256  = "17dksrqkh35wf0clqcd4v6ggmzc7xmrw8q7q0qa9n9zqyg1zibqk";
     };
   github =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-github";
-      version = "1.3.0";
-      sha256  = "1k7816dbpsjjbm3pa6l0qlrxw5hh8z5iwdr8mp1mp5liidhl6bqs";
+      version = "2.0.0";
+      sha256  = "1lvizak27qxgggp5xb15s8f504cjgr633889cv2jsr2rn64z4jv5";
     };
   gitlab =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-gitlab";
-      version = "1.2.0";
-      sha256  = "11j84kyw2lsqsn6ya070hx0k6igb3hhjl8zlnr4q3gpmv51y23qc";
+      version = "1.3.0";
+      sha256  = "0lh1v20msahcfjc22v7yf1cwinaq0zy2m8f7sl5jfn294j9nbam8";
     };
   google =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google";
-      version = "2.4.0";
-      sha256  = "153pr01m7clvdq9c09xhvlivagn12nlxhykh1x9yya9ixkg0zrrv";
+      version = "2.6.0";
+      sha256  = "0y93hfwhzbk7dl7cw5lw2gwf5hdbc7rs9gh10b39vxgv9jrj4kqv";
     };
   google-beta =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-google-beta";
-      version = "2.4.0";
-      sha256  = "08vbj9m6x0byf7x77a5b5isg0kmlxvc9gswgilzi6djgwg0j6wwd";
+      version = "2.6.0";
+      sha256  = "1bm3nrv2pa6mf6l4vn5b0hads7bhp67bnhc5y72yingfky7kva5h";
     };
   grafana =
     {
@@ -263,8 +263,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-helm";
-      version = "0.9.0";
-      sha256  = "1psqabifb1kabg268ca1x4l79z1xga1pr2sf8x9lrd7z856v18l9";
+      version = "0.9.1";
+      sha256  = "189w8zz2fv0qfggzxmppaw8814c7kylgb11m1r9mqii3phsgnlz1";
     };
   heroku =
     {
@@ -277,8 +277,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-http";
-      version = "1.0.1";
-      sha256  = "1bnqrx4xya3lm5wp4byy6npazll6w1g6bv4rawgncswsgx08zqng";
+      version = "1.1.1";
+      sha256  = "0ah4wi9gm5m7z0wyy6vn3baz2iw2sq7ah7q0lb9srwr887aai3x0";
     };
   huaweicloud =
     {
@@ -312,8 +312,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-kubernetes";
-      version = "1.5.2";
-      sha256  = "0g1f5cbmzrd46abwd0rdyrf8wj8w9bx1251gf4s9z41adrxjy2lp";
+      version = "1.6.2";
+      sha256  = "14jql78a1rw1wl97myry29lgmqkcdn44qgmzjrfky958afnkgiig";
     };
   librato =
     {
@@ -333,8 +333,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-local";
-      version = "1.2.1";
-      sha256  = "1hi2bxa79fbdf2n6z59xdfs7bx8cg7q2l84hrxdh3cqbnb8jvsbr";
+      version = "1.2.2";
+      sha256  = "0azrw62clki002nlv7ws3kzfsbqkadm713534i4xgvix2m08d1cx";
     };
   logentries =
     {
@@ -389,8 +389,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-ns1";
-      version = "1.3.0";
-      sha256  = "1h21a4z7js2iwg0gj217lq4d7wccxhjmi5k37asfj18ch0x37c7v";
+      version = "1.3.1";
+      sha256  = "04ibq5dgxqb5lpnvqxg4xkb498w77p2sbjfyy9zj7m5i62xrwg79";
     };
   nsxt =
     {
@@ -403,22 +403,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-null";
-      version = "2.1.1";
-      sha256  = "0sw7j2cz9d5207l1v32ahqahmsk1dzzsf83zqivaa5jk3w4bfnjz";
+      version = "2.1.2";
+      sha256  = "0di1hxmd3s80sz8hl5q2i425by8fbk15f0r4jmnm6vra0cq89jw2";
     };
   nutanix =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-nutanix";
-      version = "1.0.0";
-      sha256  = "16nky5ryyjvv7vny18ymxvy20ivwmqw7lagnz48pq8mnwwrp5541";
+      version = "1.0.1";
+      sha256  = "1g7p6qg32g75x8fgspgxcdsa086mz3yabdgv1k68rykhw3zbri5d";
     };
   oci =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oci";
-      version = "3.23.0-rc1";
-      sha256  = "11h8na7czj4iqm9z3pd8im06qqp3mng62h8ha5afvz2phv1g096h";
+      version = "3.24.1";
+      sha256  = "1yhcxwg3ivrgzasdsf5yq8v6h4j1lprnm881xfm4h1rpq465y1mj";
     };
   oneandone =
     {
@@ -431,22 +431,22 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opc";
-      version = "1.3.3";
-      sha256  = "1hwbwyhjrs16cy66przs44znni0x3nwfsx18glxbikb2zx1ph93n";
+      version = "1.3.6";
+      sha256  = "1b11837j0d8s59pjkankbm3p5l87aw1s17mn2q7nvy65kgzalsra";
     };
   openstack =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-openstack";
-      version = "1.17.0";
-      sha256  = "1a3asmkf3w1ndy5rpyn09msp5l1sm2cdm3ca7cx5v00pjvww9f52";
+      version = "1.18.0";
+      sha256  = "05sr6vra4fsrysrz7a77vaa5zklhxf4hl8g029y9l1fln7vdpssg";
     };
   opentelekomcloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-opentelekomcloud";
-      version = "1.7.0";
-      sha256  = "15p5xvl6ryj5silpd2yrmjjh0d4qf89v8x6zbq8x7j351a1fljak";
+      version = "1.8.0";
+      sha256  = "068ap0sw17xmrfvri1yx70qdi8i5h0qhsm9bakm532xjxlgmaxpv";
     };
   opsgenie =
     {
@@ -459,8 +459,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-oraclepaas";
-      version = "1.5.1";
-      sha256  = "0xyyhr2n1aw1qn90535llv72cdgdqpni9l4gn8sj0ligpjhba7qz";
+      version = "1.5.2";
+      sha256  = "0m886wfg5ski8s1zr7g1h1m6q5ai08jk35ymipxpb6ipx781qvvk";
     };
   ovh =
     {
@@ -473,8 +473,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-packet";
-      version = "1.7.2";
-      sha256  = "103r0k626ham8wh7rwlx1hald4rik17mv2mcfjz9za65v7z139vr";
+      version = "2.1.0";
+      sha256  = "0hj8av0yry0wsi8fwgs0z9x9jxcnxz8imsanbdsrhb8lsj70n25v";
     };
   pagerduty =
     {
@@ -529,8 +529,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-random";
-      version = "2.1.1";
-      sha256  = "0ivmxacb9pzz7av2rr6jal5vwdv24689a2806nqvvzdy2s8mlzd3";
+      version = "2.1.2";
+      sha256  = "102bgd8s9yhm2ny2akv04mhwf5mphqhsxx9vxjbg7ygqnz9ka5nw";
     };
   rightscale =
     {
@@ -585,8 +585,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-spotinst";
-      version = "1.11.0";
-      sha256  = "10q1w66gbx6863797n6n15xx4llflmavrz2qk23pb8qd5pbni9bk";
+      version = "1.13.2";
+      sha256  = "1v3vgnspg3g0hvwzfplyvl37jxpc9m6hcsnmw6lkfqr57dy4dhlc";
     };
   statuscake =
     {
@@ -606,15 +606,15 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-template";
-      version = "2.1.1";
-      sha256  = "182kdkbmnihpawvgfpxavg8vbczizw5mlkwp828ap0baqs09ai8i";
+      version = "2.1.2";
+      sha256  = "18w1mmma81m9j7yf6q500w8v9ss28w6sw2ynssl99pyw2gwmd04q";
     };
   tencentcloud =
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tencentcloud";
-      version = "1.4.0";
-      sha256  = "1gqxvd5ss2cg49856nj3srirny1298l3fla506r7v8xf9ybkzpb4";
+      version = "1.5.0";
+      sha256  = "04psgirl78klbpzllcvzl510j66jcavxmi9zxnwmmmw128a3dig2";
     };
   terraform =
     {
@@ -634,8 +634,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-tls";
-      version = "1.2.0";
-      sha256  = "0hvj00j8a820j18yi90xzhd635pkffivp1116d84wyqxya5acd4p";
+      version = "2.0.1";
+      sha256  = "08fh4k5fvkijl2ds8mxdc5fxlwhs11y5s48vvxdskklvkjhygzc7";
     };
   triton =
     {
@@ -662,8 +662,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-vault";
-      version = "1.7.0";
-      sha256  = "133ximk510kchr34zicpnp4da27nxvzab2nd8dqpf4sqg2z83i0y";
+      version = "1.8.0";
+      sha256  = "1g9cw14mzslb445yhj04dzs0s4cbhi4cxycd50vc3f9yyg6sz1rr";
     };
   vcd =
     {
@@ -683,8 +683,8 @@
     {
       owner   = "terraform-providers";
       repo    = "terraform-provider-yandex";
-      version = "0.4.1";
-      sha256  = "0lvj7xlzqc6wfv1xpc4qc1gnk3wvcvnifbf4mqgjglz35cf697bb";
+      version = "0.5.2";
+      sha256  = "1fa1jicirww0zxg5kw4343ndzq86x0m7gkfj8yx7l6lb6gcrkbic";
     };
   matchbox =
     {
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index fad4a1d0652..3c4e58098c7 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -97,8 +97,8 @@ in rec {
   terraform_0_11-full = terraform_0_11.full;
 
   terraform_0_12 = pluggable (generic {
-    version = "0.12.0-beta1";
-    sha256 = "0djakf2agbhpfqis4x0lf2i8s1ahvrdyfkcgr6lzp0nsks652rcm";
+    version = "0.12.0-rc1";
+    sha256 = "1ap1q5bixkzshnwy8xyfh768qwg3y4pcjzaiajzn2icjf4ay5nqm";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/instant-messengers/chatterino2/default.nix b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
new file mode 100644
index 00000000000..becf828a856
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/chatterino2/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, pkgconfig, fetchFromGitHub, qtbase, qtsvg, qtmultimedia, qmake, boost, openssl }:
+
+stdenv.mkDerivation rec {
+  pname = "chatterino2";
+  version = "unstable-2019-05-11";
+  src = fetchFromGitHub {
+    owner = "fourtf";
+    repo = pname;
+    rev = "8c46cbf571dc8fd77287bf3186445ff52b1d1aaf";
+    sha256 = "0i2385hamhd9i7jdy906cfrd81cybw524j92l87c8pzrkxphignk";
+    fetchSubmodules = true;
+  };
+  nativeBuildInputs = [ qmake pkgconfig ];
+  buildInputs = [ qtbase qtsvg qtmultimedia boost openssl ];
+  meta = with stdenv.lib; {
+    description = "A chat client for Twitch chat";
+    longDescription = ''
+      Chatterino is a chat client for Twitch chat. It aims to be an
+      improved/extended version of the Twitch web chat. Chatterino 2 is
+      the second installment of the Twitch chat client series
+      "Chatterino".
+  '';
+    homepage = "https://github.com/fourtf/chatterino2";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ rexim ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index 7129e0a1e83..9886c2fa2ed 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -5,10 +5,11 @@
 , libXrandr, which, libxslt, libtasn1, gmp, nettle, sqlite, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "ekiga-4.0.1";
+  pname = "ekiga";
+  version = "4.0.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/ekiga/4.0/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "5f4f491c9496cf65ba057a9345d6bb0278f4eca07bcda5baeecf50bfcd9a4a3b";
   };
 
@@ -52,17 +53,21 @@ stdenv.mkDerivation rec {
       --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
   '';
 
+  passthru = {
+    updateInfo = {
+      downloadPage = "mirror://gnome/sources/ekiga";
+    };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "VOIP/Videoconferencing app with full SIP and H.323 support";
+    homepage = "https://www.ekiga.org/";
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
   };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "mirror://gnome/sources/ekiga";
-    };
-  };
 }
 
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index 2d3a10cec5e..5b3e09440a6 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -1,24 +1,24 @@
-{ stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }:
+{ stdenv, fetchurl, pidgin, intltool, libxml2, gmime, nss }:
 
-let version = "1.23.3"; in
-
-stdenv.mkDerivation {
-  name = "pidgin-sipe-${version}";
+stdenv.mkDerivation rec {
+  pname = "pidgin-sipe";
+  version = "1.24.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
-    sha256 = "0aaiblnagncb0lhdwb8qbps6hxxmyfjg7sdi15lrkl98i3fahg4n";
+    url = "mirror://sourceforge/sipe/${pname}-${version}.tar.gz";
+    sha256 = "04cxprz6dbcsc4n2jg72mr1r9630nhrywn0zim9kwvbgps3wdd9c";
   };
 
+  nativeBuildInputs = [ intltool ];
+  buildInputs = [ pidgin gmime libxml2 nss ];
+  enableParallelBuilding = true;
+
+  postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
+
   meta = with stdenv.lib; {
     description = "SIPE plugin for Pidgin IM";
-    homepage = http://sipe.sourceforge.net/;
+    homepage = "http://sipe.sourceforge.net/";
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
-
-  postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe";
-
-  buildInputs = [ pidgin intltool libxml2 nss nspr ];
-
 }
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
index f195a0cb955..e4c024bbc70 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "src/electron-main.js",
-  "version": "1.0.8",
+  "version": "1.1.0",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "dependencies": {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index 6209dc4b0bf..3d9bf85829a 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
@@ -7,12 +7,12 @@ with (import ./yarn2nix.nix { inherit pkgs; });
 
 let
   executableName = "riot-desktop";
-  version = "1.0.8";
+  version = "1.1.0";
   riot-web-src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-web";
     rev = "v${version}";
-    sha256 = "1krp608wxff1siih8zknc425n0qb6qjzf854fnp7qyjp1cnfc9sb";
+    sha256 = "0h1rr70jg64v824k31mvb93nfssr572xlyicc8yh91bl7hdh342x";
   };
 
 in mkYarnPackage rec {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index d46c886a156..7d19f8f6600 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -6,11 +6,11 @@
 let configFile = writeText "riot-config.json" conf; in
 stdenv.mkDerivation rec {
   name= "riot-web-${version}";
-  version = "1.0.8";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "010m8b4lfnfi70d4v205wk3i4xhnsz7zkrdqrvw3si14xqy6192r";
+    sha256 = "14ap57hv1c5nh17771l39inpa5yacpyckzqcmjlbrb57illakwrd";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index ed49dc6f612..de8794135fe 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -1,7 +1,7 @@
-{ darkMode ? false, stdenv, fetchurl, dpkg, makeWrapper
-, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
-, gnome2, gtk3, gdk_pixbuf, libnotify, libxcb, nspr, nss, pango
-, systemd, xorg, at-spi2-atk }:
+{ darkMode ? false, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo,
+cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk_pixbuf,
+libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg,
+at-spi2-atk }:
 
 let
 
@@ -25,6 +25,7 @@ let
     pango
     libnotify
     libxcb
+    libappindicator-gtk3
     nspr
     nss
     stdenv.cc.cc
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 350ac7e13cd..c7b990db602 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -4,11 +4,11 @@ let
   mkTelegram = args: qt5.callPackage (import ./generic.nix args) { };
   stableVersion = {
     stable = true;
-    version = "1.6.7";
-    sha256Hash = "1537div6pky7wz3lansz67vsx2h6b653cx91xg9sswnxfsf8nrql";
+    version = "1.7.0";
+    sha256Hash = "1plfby243hf65wjmppq1qnqmp25pgi4x3awqd4h83ly9hn8qdwfk";
     # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
-    archPatchesRevision = "429149";
-    archPatchesHash = "1ylpi9kb6hk27x9wmna4ing8vzn9b7247iya91pyxxrpxrcrhpli";
+    archPatchesRevision = "464796";
+    archPatchesHash = "1bq7r69k3i9p1csdsca0w41jyz6fbyn4qriv3lg7s28j9s803kw8";
   };
 in {
   stable = mkTelegram stableVersion;
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 81c493fedcf..9696c55bd86 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,13 +10,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "qbittorrent-${version}";
-  version = "4.1.5";
+  version = "4.1.6";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qbittorrent";
     rev = "release-${version}";
-    sha256 = "09zcygaxfv9g6av0vsvlyzv4v65wvj766xyfx31yz5ig3xan6ak1";
+    sha256 = "1y9kv84sy5fg64wbl4xpm8qh0hjba7ibk045cazp0m736rjmxk8c";
   };
 
   # NOTE: 2018-05-31: CMake is working but it is not officially supported
diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix
index d58c4214d0e..7a5f389af24 100644
--- a/pkgs/applications/networking/p2p/tixati/default.nix
+++ b/pkgs/applications/networking/p2p/tixati/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "tixati-${version}";
-  version = "2.59";
+  version = "2.61";
 
   src = fetchurl {
     url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
-    sha256 = "0vf5y9kj2g7psgdzv2r46jdh5krdps838ca4wwwxi0dd1mwa65my";
+    sha256 = "05f8lcsac2mr90bhk999qkj8wwd6igdl07389bqrd1ydjasacl2k";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 46869ecb24f..b9d973287d2 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -14,7 +14,8 @@ let
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
-  name = "wireshark-${variant}-${version}";
+  pname = "wireshark-${variant}";
+  inherit version;
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
@@ -24,7 +25,6 @@ in stdenv.mkDerivation {
 
   cmakeFlags = [
     "-DBUILD_wireshark=${if withQt then "ON" else "OFF"}"
-    "-DENABLE_QT5=${if withQt then "ON" else "OFF"}"
     "-DENABLE_APPLICATION_BUNDLE=${if withQt && stdenv.isDarwin then "ON" else "OFF"}"
   ];
 
@@ -95,6 +95,8 @@ in stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  dontFixCmake = true;
+
   shellHook = ''
     # to be able to run the resulting binary
     export WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 7cdc7341953..ccb346868a1 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,14 +3,14 @@
 let
   common = { stname, target, postInstall ? "" }:
     buildGoPackage rec {
-      version = "1.1.1";
+      version = "1.1.3";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "1nkc4ivc8mg9c1njqlkhb9i5f4c1via1rdqfbhwgkj86s6cnxrg7";
+        sha256 = "00jshqa0nkwj06bfq16p359ss6nl6h49s31hag79wl9gwkca38va";
       };
 
       goPackagePath = "github.com/syncthing/syncthing";
diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix
index b384efc5fe8..7b3e62779e9 100644
--- a/pkgs/applications/networking/vnstat/default.nix
+++ b/pkgs/applications/networking/vnstat/default.nix
@@ -1,20 +1,25 @@
-{ stdenv, fetchurl, gd, ncurses, sqlite }:
+{ stdenv, fetchurl, pkgconfig, gd, ncurses, sqlite, check }:
 
 stdenv.mkDerivation rec {
-  name = "vnstat-${version}";
+  pname = "vnstat";
   version = "2.2";
 
   src = fetchurl {
     sha256 = "0b7020rlc568pz6vkiy28kl8493z88wzrn18wv9b0iq2bv1pn2n6";
-    url = "https://humdi.net/vnstat/${name}.tar.gz";
+    url = "https://humdi.net/${pname}/${pname}-${version}.tar.gz";
   };
 
-  buildInputs = [ gd ncurses sqlite ];
-
   postPatch = ''
     substituteInPlace src/cfg.c --replace /usr/local $out
   '';
 
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ gd ncurses sqlite ];
+
+  checkInputs = [ check ];
+
+  doCheck = true;
+
   meta = with stdenv.lib; {
     description = "Console-based network statistics utility for Linux";
     longDescription = ''
diff --git a/pkgs/applications/office/kmymoney/default.nix b/pkgs/applications/office/kmymoney/default.nix
index 4a91840077c..236f794c8b7 100644
--- a/pkgs/applications/office/kmymoney/default.nix
+++ b/pkgs/applications/office/kmymoney/default.nix
@@ -5,6 +5,8 @@
 , kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement
 , kitemmodels, libical, libofx, qgpgme
 
+, sqlcipher
+
 # Needed for running tests:
 , qtbase, xvfb_run
 
@@ -14,20 +16,13 @@
 
 stdenv.mkDerivation rec {
   name = "kmymoney-${version}";
-  version = "5.0.1";
+  version = "5.0.4";
 
   src = fetchurl {
     url = "mirror://kde/stable/kmymoney/${version}/src/${name}.tar.xz";
-    sha256 = "1c9apnvc07y17pzy4vygry1dai5ass2z7j354lrcppa85b18yvnx";
+    sha256 = "06lbavhl9b8cybnss2mmy3g5w8qn2vl6zhipvbl11lsr3j9bsa8q";
   };
 
-  # Fix build with Qt 5.11.
-  patches = lib.singleton (fetchpatch {
-    url = "https://cgit.kde.org/kmymoney.git/patch/?id="
-        + "e5198a902996b27bf9abde0ad24af82d55ab5dc1";
-    sha256 = "1h2f1xznf7343s26fh94x8n2ci0pijk5j86f24lvghawsw848316";
-  });
-
   # Hidden dependency that wasn't included in CMakeLists.txt:
   NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5";
 
@@ -41,6 +36,7 @@ stdenv.mkDerivation rec {
     akonadi alkimia aqbanking gmp gwenhywfar kactivities karchive kcmutils
     kcontacts kdewebkit kdiagram kholidays kidentitymanagement kitemmodels
     libical libofx qgpgme
+    sqlcipher
 
     # Put it into buildInputs so that CMake can find it, even though we patch
     # it into the interface later.
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index c992724b815..589f583e4e3 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -42,14 +42,14 @@ let
     then "i386"
     else "amd64";
 
-  shortVersion = "1.19.1-stable";
+  shortVersion = "1.19.5-stable";
 
   version = "${shortVersion}_${arch}";
 
   url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb";
   sha256 = if stdenv.hostPlatform.system == arch32
-    then "0fcyl5i8xdgb5j0x1643qc0j74d8p11jczvqmgqkqh0wgid1y1ad"
-    else "1dzwa2cnn9xakrhhq159fhh71gw5wlbf017rrikdlia694m8akq6";
+    then "01x83a44qlxi937b128y8y0px0q4w37g72z652lc42kv50dhyy3f"
+    else "1cagqq0xziznaj97z30bqfhrwjv3a4h83ckhwigq35nhk1ggq1ry";
 
   deps = [
     qtbase
diff --git a/pkgs/applications/science/biology/eggnog-mapper/default.nix b/pkgs/applications/science/biology/eggnog-mapper/default.nix
index a15425ec213..c9a9b55c31e 100644
--- a/pkgs/applications/science/biology/eggnog-mapper/default.nix
+++ b/pkgs/applications/science/biology/eggnog-mapper/default.nix
@@ -12,8 +12,8 @@ python27Packages.buildPythonApplication rec {
   };
 
   patches = (fetchpatch {
-    url = https://github.com/eggnogdb/eggnog-mapper/pull/125/commits/b7828e4c8c1c453e391aef050f06ff3f84ff9faf.patch;
-    sha256 = "0nz1a7ybm4j5c7vdm3annnxz9036iam2044hia341a0am9wydmzk";
+    url = "https://github.com/eggnogdb/eggnog-mapper/commit/6972f601ade85b65090efca747d2302acb58507f.patch";
+    sha256 = "0abnmn0bh11jihf5d3cggiild1ykawzv5f5fhb4cyyi8fvy4hcxf";
   });
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/biology/minimap2/default.nix b/pkgs/applications/science/biology/minimap2/default.nix
index 85c2b99b3a7..84c65feb093 100644
--- a/pkgs/applications/science/biology/minimap2/default.nix
+++ b/pkgs/applications/science/biology/minimap2/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "minimap2";
-  version = "2.16";
+  version = "2.17";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "lh3";
     rev = "v${version}";
-    sha256 = "1ggm5psv3gwsz627ik9kl6ry9gzgmfsvya6ni0gv6ahwlrhdim73";
+    sha256 = "0qdwlkib3aa6112372hdgvnvk86hsjjkhjar0p53pq4ajrr2cdlb";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index f58c820d22b..8ba77159693 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, yosys, python3 }:
+{ stdenv, fetchFromGitHub, yosys, bash, python3 }:
 
 stdenv.mkDerivation rec {
   name = "symbiyosys-${version}";
@@ -26,6 +26,9 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/bin/sby \
       --replace "##yosys-sys-path##" \
                 "sys.path += [p + \"/share/yosys/python3/\" for p in [\"$out\", \"${yosys}\"]]"
+    substituteInPlace $out/share/yosys/python3/sby_core.py \
+      --replace "/bin/bash" \
+                "${bash}/bin/bash"
   '';
   meta = {
     description = "Tooling for Yosys-based verification flows";
diff --git a/pkgs/applications/science/logic/tptp/default.nix b/pkgs/applications/science/logic/tptp/default.nix
index 24971b500d3..7f68a8e647e 100644
--- a/pkgs/applications/science/logic/tptp/default.nix
+++ b/pkgs/applications/science/logic/tptp/default.nix
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls = [
-      "http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz"
-      "http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}.tgz"
+      "http://tptp.cs.miami.edu/TPTP/Distribution/TPTP-v${version}.tgz"
+      "http://tptp.cs.miami.edu/TPTP/Archive/TPTP-v${version}.tgz"
     ];
     sha256 = "0yq8452b6mym4yscy46pshg0z2my8xi74b5bp2qlxd5bjwcrg6rl";
   };
diff --git a/pkgs/applications/science/logic/vampire/default.nix b/pkgs/applications/science/logic/vampire/default.nix
index 8ad70531d54..08ab243fb96 100644
--- a/pkgs/applications/science/logic/vampire/default.nix
+++ b/pkgs/applications/science/logic/vampire/default.nix
@@ -8,9 +8,9 @@ stdenv.mkDerivation rec {
     owner = "vprover";
     repo = "vampire";
     rev = version;
-    sha256 = "0d1klprlgqrcn8r5ywgvsahr4qz96ayl67ry5jks946v0k94m1k1";
-    fetchSubmodules = true;
-    leaveDotGit = true;
+    sha256 = "03dqjxr3cwz4h6sn9074kc6b6wjz12kpsvsi0mq2w0j5l9f8d80y";
+    #fetchSubmodules = true;
+    #leaveDotGit = true;
   };
 
   nativeBuildInputs = [ git ];
diff --git a/pkgs/applications/science/math/cbc/default.nix b/pkgs/applications/science/math/cbc/default.nix
index 93aefbca216..d0857e2a517 100644
--- a/pkgs/applications/science/math/cbc/default.nix
+++ b/pkgs/applications/science/math/cbc/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl, zlib, bzip2 }:
 
-stdenv.mkDerivation {
-  name = "cbc-2.9.9";
+stdenv.mkDerivation rec {
+  pname = "cbc";
+  version = "2.10.2";
 
   src = fetchurl {
-    url = "https://www.coin-or.org/download/source/Cbc/Cbc-2.9.9.tgz";
-    sha256 = "1w8axdzm05xf5y13c31w7rc5z6ywxqxiwafnxcq3p195kgj0915a";
+    url = "https://www.coin-or.org/download/source/Cbc/Cbc-${version}.tgz";
+    sha256 = "0frbxkh6nbh46kaxsx5bmzridgip3v7aq75l8yak5npiiq4jlwv3";
   };
 
   configureFlags = [ "-C" ];
@@ -23,6 +24,7 @@ stdenv.mkDerivation {
     license = lib.licenses.epl10;
     maintainers = [ lib.maintainers.eelco ];
     platforms = lib.platforms.linux ++ lib.platforms.darwin;
+    broken = stdenv.isAarch64; # Missing <immintrin.h> after 2.10.0
     description = "A mixed integer programming solver";
   };
 }
diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix
index f05700b1bd8..75a46bb182a 100644
--- a/pkgs/applications/science/math/pynac/default.nix
+++ b/pkgs/applications/science/math/pynac/default.nix
@@ -9,14 +9,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.24";
+  version = "0.7.25";
   pname = "pynac";
 
   src = fetchFromGitHub {
     owner = "pynac";
     repo = "pynac";
     rev = "pynac-${version}";
-    sha256 = "0i3qxww28576jim0abgkqy9mi2k0lfllgyx8xpfqsqb75ai970ik";
+    sha256 = "0nnifvg6kzx0lq6gz7znind8g30v3d2pjfwgsdiks3vv9kv9nbj3";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index cea2586179e..56d8082d2f5 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -141,6 +141,14 @@ stdenv.mkDerivation rec {
       url = "https://git.sagemath.org/sage.git/patch/?h=8b7dbd0805d02d0e8674a272e161ceb24a637966";
       sha256 = "1c81f13z1w62s06yvp43gz6vkp8mxcs289n6l4gj9xj10slimzff";
     })
+
+    # https://trac.sagemath.org/ticket/26932
+    (fetchSageDiff {
+      name = "givaro-4.1.0_fflas-ffpack-2.4.0_linbox-1.6.0.patch";
+      base = "8.8.beta4";
+      rev = "c11d9cfa23ff9f77681a8f12742f68143eed4504";
+      sha256 = "0xzra7mbgqvahk9v45bjwir2mqz73hrhhy314jq5nxrb35ysdxyi";
+    })
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/robotics/apmplanner2/default.nix b/pkgs/applications/science/robotics/apmplanner2/default.nix
index 761766ffdf0..69f355c7b84 100644
--- a/pkgs/applications/science/robotics/apmplanner2/default.nix
+++ b/pkgs/applications/science/robotics/apmplanner2/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "apmplanner2-${version}";
-  # TODO revert Qt59 to Qt5 in pkgs/top-level/all-packages.nix on next release
-  version = "2.0.26";
+  # TODO revert Qt511 to Qt5 in pkgs/top-level/all-packages.nix on next release
+  version = "2.0.27-rc1";
   src = fetchFromGitHub {
     owner = "ArduPilot";
     repo = "apm_planner";
     rev = "${version}";
-    sha256 = "0bnyi1r8k8ij5sq2zqv7mfbrxm0xdw97qrx3sk4rinqv2g6h6di4";
+    sha256 = "1k0786mjzi49nb6yw4chh9l4dmkf9gybpxg9zqkr5yg019nyzcvd";
   };
 
   qtInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
index fd50febb469..c9fd33312d7 100644
--- a/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/fast-export/default.nix
@@ -1,41 +1,42 @@
-{stdenv, fetchgit, mercurial, makeWrapper, subversion}:
+{stdenv, fetchgit, mercurial, makeWrapper}:
 
-with stdenv.lib;
-stdenv.mkDerivation {
-  name = "fast-export";
+stdenv.mkDerivation rec {
+  pname = "fast-export";
+  version = "190107";
 
   src = fetchgit {
     url = git://repo.or.cz/fast-export.git;
-    rev = "d202200fd9daa75cdb37d4cf067d4ca00e269535";
-    sha256 = "0m4llsg9rx4sza1kf39kxsdvhi6y87a18wm5k19c5r2h3vpylwcc";
+    rev = "v${version}";
+    sha256 = "14azfps9jd5anivcvfwflgsvqdyy6gm9jy284kzx2ng9f7871d14";
   };
 
-  buildInputs = [mercurial.python mercurial makeWrapper subversion];
+  buildInputs = [mercurial.python mercurial makeWrapper];
 
-  dontBuild = true; # skip svn for now
-
-  # TODO also support svn stuff
-  # moving .py files into lib directory so that you can't pick the wrong file from PATH.
-  # This requires redefining ROOT
   installPhase = ''
-    sed -i "s@/usr/bin/env.*@$(type -p python)@" *.py
-    l=$out/libexec/git-fast-export
-    mkdir -p $out/{bin,doc/git-fast-export} $l
-    sed -i "s@ROOT=.*@ROOT=$l@" *.sh
-    mv *.sh $out/bin
-    mv *.py $l
-    for p in $out/bin/*.sh; do
-      wrapProgram $p \
-        --prefix PYTHONPATH : "$(echo ${mercurial}/lib/python*/site-packages):$(echo ${mercurial.python}/lib/python*/site-packages)${stdenv.lib.concatMapStrings (x: ":$(echo ${x}/lib/python*/site-packages)") mercurial.pythonPackages or []}" \
-        --prefix PATH : "$(dirname $(type -p python))":$l
+    binPath=$out/bin
+    libexecPath=$out/libexec/${pname}
+    sitepackagesPath=$out/${mercurial.python.sitePackages}
+    mkdir -p $binPath $libexecPath $sitepackagesPath
+
+    # Patch shell scripts so they can execute the Python scripts
+    sed -i "s|ROOT=.*|ROOT=$libexecPath|" *.sh
+
+    mv hg-fast-export.sh hg-reset.sh $binPath
+    mv hg-fast-export.py hg-reset.py $libexecPath
+    mv hg2git.py pluginloader plugins $sitepackagesPath
+
+    for script in $out/bin/*.sh; do
+      wrapProgram $script \
+        --prefix PATH : "${mercurial.python}/bin":$libexec \
+        --prefix PYTHONPATH : "${mercurial}/${mercurial.python.sitePackages}":$sitepackagesPath
     done
   '';
 
-  meta = {
-    description = "Import svn, mercurial into git";
+  meta = with stdenv.lib; {
+    description = "Import mercurial into git";
     homepage = https://repo.or.cz/w/fast-export.git;
     license = licenses.gpl2;
     maintainers = [ maintainers.koral ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
index 2163855d00e..6a39f1fe3d1 100644
--- a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, git, gnupg1compat, makeWrapper, openssl, stdenv }:
+{ fetchFromGitHub, git, gnupg, makeWrapper, openssl, stdenv }:
 
 stdenv.mkDerivation rec {
   name = "git-crypt-${version}";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     make install PREFIX=$out
-    wrapProgram $out/bin/* --prefix PATH : $out/bin:${git}/bin:${gnupg1compat}/bin
+    wrapProgram $out/bin/* --prefix PATH : $out/bin:${git}/bin:${gnupg}/bin
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
index 5a5b666b7cd..d1dce046979 100644
--- a/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-remote-gcrypt/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, docutils, makeWrapper
-, gnupg1compat, curl, rsync, coreutils
+, gnupg, curl, rsync, coreutils
 , gawk, gnused, gnugrep
 }:
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     prefix="$out" ./install.sh
     wrapProgram "$out/bin/git-remote-gcrypt" \
-      --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1compat curl rsync coreutils
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg curl rsync coreutils
                                                     gawk gnused gnugrep ]}"
   '';
 
diff --git a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
index 0ee188cc19d..34c367b20a4 100644
--- a/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/svn-all-fast-export/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, qmake, qtbase, qttools, subversion, apr }:
 
 let
-  version = "1.0.13";
+  version = "1.0.16";
 in
 stdenv.mkDerivation {
   name = "svn-all-fast-export-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     owner = "svn-all-fast-export";
     repo = "svn2git";
     rev = version;
-    sha256 = "0f1qj0c4cdq46mz54wcy17g7rq1fy2q0bq3sswhr7r5a2s433x4f";
+    sha256 = "1xs3gngjkna458liaqjsc8ryld03mdmvycnkzwsgyzfxsgjx1i3l";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 25d839e1361..fd07d657b4f 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "1x5r732rh1g23smgvvk10nlqbv14m7cf3y6zgwwl2bwkvax4z49b";
+    sha256 = "1gsismjhcgz7zk8zvyva4cgnq4wsh4cs7mdabpas9djz34sa1nr1";
     # Required to generate the same checksum on MacOS due to unicode encoding differences
     # More information: https://github.com/NixOS/nixpkgs/pull/48128
     extraPostFetch = ''
@@ -64,6 +64,6 @@ buildGoPackage rec {
     description = "Git with a cup of tea";
     homepage = https://gitea.io;
     license = licenses.mit;
-    maintainers = [ maintainers.disassembler ];
+    maintainers = with maintainers; [ disassembler kolaente ];
   };
 }
diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix
index 20d3922138b..e41d40beb59 100644
--- a/pkgs/applications/version-management/src/default.nix
+++ b/pkgs/applications/version-management/src/default.nix
@@ -2,20 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "src-${version}";
-  version = "1.24";
+  version = "1.25";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/src/${name}.tar.gz";
-    sha256 = "0n9j2mywbm8c7mc5b3m7dvn6gff88wwwaygk4y1jivpg1f6s3k3l";
+    sha256 = "0qd10w8fwbrgaj8sx49q6cfhqq3ylhwn7nl9v6kxi1yjlw2p098p";
   };
 
-  buildInputs = [ python rcs git makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python rcs git ];
 
   preConfigure = ''
     patchShebangs .
   '';
 
-  makeFlags = [ "prefix=$(out)" ];
+  makeFlags = [ "prefix=${placeholder "out"}" ];
 
   postInstall = ''
     wrapProgram $out/bin/src \
@@ -32,8 +33,9 @@ stdenv.mkDerivation rec {
       will seem familiar to Subversion/Git/hg users, and no binary blobs
       anywhere.
     '';
-    homepage = http://www.catb.org/esr/src/;
-    license = licenses.bsd3;
+    homepage = "http://www.catb.org/esr/src/";
+    changelog = "https://gitlab.com/esr/src/raw/${version}/NEWS";
+    license = licenses.bsd2;
     platforms = platforms.all;
     maintainers = with maintainers; [ calvertvl AndersonTorres ];
   };
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 928e9f7d0a7..81949f95106 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -38,6 +38,11 @@ let
 
     patches = [ ./apr-1.patch ];
 
+    # We are hitting the following issue even with APR 1.6.x
+    # -> https://issues.apache.org/jira/browse/SVN-4813
+    # "-P" CPPFLAG is needed to build Python bindings and subversionClient
+    CPPFLAGS = [ "-P" ];
+
     configureFlags = [
       (stdenv.lib.withFeature bdbSupport "berkeley-db")
       (stdenv.lib.withFeatureAs httpServer "apxs" "${apacheHttpd.dev}/bin/apxs")
diff --git a/pkgs/applications/video/mkclean/default.nix b/pkgs/applications/video/mkclean/default.nix
new file mode 100644
index 00000000000..4a3cbc81b35
--- /dev/null
+++ b/pkgs/applications/video/mkclean/default.nix
@@ -0,0 +1,37 @@
+{ dos2unix, fetchurl, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "mkclean";
+  version = "0.8.10";
+
+  hardeningDisable = [ "format" ];
+  nativeBuildInputs = [ dos2unix ];
+
+  src = fetchurl {
+    url = "mirror://sourceforge/matroska/${pname}-${version}.tar.bz2";
+    sha256 = "0zbpi4sm68zb20d53kbss93fv4aafhcmz7dsd0zdf01vj1r3wxwn";
+  };
+
+  configurePhase = ''
+    dos2unix ./mkclean/configure.compiled
+    ./mkclean/configure.compiled
+  '';
+
+  buildPhase = ''
+    make -C mkclean
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,lib}
+    mv release/gcc_linux_*/*.* $out/lib
+    mv release/gcc_linux_*/* $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "mkclean is a command line tool to clean and optimize Matroska (.mkv / .mka / .mks / .mk3d) and WebM (.webm / .weba) files that have already been muxed.";
+    homepage = "https://www.matroska.org";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ chrisaw ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/olive-editor/default.nix b/pkgs/applications/video/olive-editor/default.nix
new file mode 100644
index 00000000000..15db28b05e4
--- /dev/null
+++ b/pkgs/applications/video/olive-editor/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, pkgconfig, which, qmake, 
+  qtbase, qtmultimedia, frei0r, opencolorio, hicolor-icon-theme, ffmpeg-full,
+  CoreFoundation  }:
+
+stdenv.mkDerivation rec {
+  pname = "olive-editor";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "olive-editor";
+    repo = "olive";
+    rev = version;
+    sha256 = "191nk4c35gys4iypykcidn6h27c3sbjfy117q7h9h1qilz2wm94z";
+  };
+
+  nativeBuildInputs = [ 
+    pkgconfig 
+    which 
+    qmake
+  ];
+
+  buildInputs = [
+    ffmpeg-full
+    frei0r
+    opencolorio
+    qtbase
+    qtmultimedia
+    qtmultimedia.dev
+    hicolor-icon-theme
+  ] ++ stdenv.lib.optional stdenv.isDarwin CoreFoundation;
+
+  meta = with stdenv.lib; {
+    description = "Professional open-source NLE video editor";
+    homepage = "https://www.olivevideoeditor.org/";
+    downloadPage = "https://www.olivevideoeditor.org/download.php";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.balsoft ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix
index 42aad06d0c0..0f53ede188c 100644
--- a/pkgs/applications/virtualization/rkt/default.nix
+++ b/pkgs/applications/virtualization/rkt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, autoreconfHook, acl, go, file, git, wget, gnupg1, trousers, squashfsTools,
+{ stdenv, lib, autoreconfHook, acl, go, file, git, wget, gnupg, trousers, squashfsTools,
   cpio, fetchurl, fetchFromGitHub, iptables, systemd, makeWrapper, glibc }:
 
 let
@@ -30,7 +30,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     glibc.out glibc.static
-    autoreconfHook go file git wget gnupg1 trousers squashfsTools cpio acl systemd
+    autoreconfHook go file git wget gnupg trousers squashfsTools cpio acl systemd
     makeWrapper
   ];
 
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index fd572a9f2eb..5c6510e8cab 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -1,11 +1,11 @@
-{ config, stdenv, fetchurl, lib, fetchpatch, iasl, dev86, pam, libxslt, libxml2
+{ config, stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2
 , libX11, xorgproto, libXext, libXcursor, libXmu, qt5, libIDL, SDL, libcap
 , libpng, glib, lvm2, libXrandr, libXinerama, libopus
 , pkgconfig, which, docbook_xsl, docbook_xml_dtd_43
 , alsaLib, curl, libvpx, nettools, dbus
 , makeself, perl
 , javaBindings ? false, jdk ? null
-, pythonBindings ? false, python2 ? null
+, pythonBindings ? false, python3 ? null
 , extensionPack ? null, fakeroot ? null
 , pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
 , enableHardening ? false
@@ -17,12 +17,12 @@
 with stdenv.lib;
 
 let
-  python = python2;
+  python = python3;
   buildType = "release";
   # Remember to change the extpackRev and version in extpack.nix and
   # guest-additions/default.nix as well.
-  main = "0jmrbyhs92lyarpvylxqn2ajxdg9b290w5nd4g0i4h83d28bwbw0";
-  version = "5.2.28";
+  main = "0lp584a350ya1zn03lhgmdbi91yp8yfja9hlg2jz1xyfj2dc869l";
+  version = "6.0.6";
 in stdenv.mkDerivation {
   name = "virtualbox-${version}";
 
@@ -76,11 +76,12 @@ in stdenv.mkDerivation {
      optional enableHardening ./hardened.patch
   ++ [
     ./qtx11extras.patch
-    (fetchpatch {
-      name = "010-qt-5.11.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/010-qt-5.11.patch?h=packages/virtualbox";
-      sha256 = "0hjx99pg40wqyggnrpylrp5zngva4xrnk7r90i0ynrqc7n84g9pn";
-    })
+    # https://www.virtualbox.org/ticket/18620
+    ./fix_kbuild.patch
+    # https://www.virtualbox.org/ticket/18621
+    ./fix_module_makefile_sed.patch
+    # https://forums.virtualbox.org/viewtopic.php?f=7&t=92815
+    ./fix_printk_test.patch
   ];
 
   postPatch = ''
@@ -192,6 +193,6 @@ in stdenv.mkDerivation {
     license = licenses.gpl2;
     homepage = https://www.virtualbox.org/;
     maintainers = with maintainers; [ flokli sander ];
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix
index 0e8a6eb25da..d26909ad79a 100644
--- a/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -2,7 +2,7 @@
 
 with lib;
 
-let version = "5.2.28";
+let version = "6.0.6";
 in
 fetchurl rec {
   name = "Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack";
@@ -10,7 +10,7 @@ fetchurl rec {
   sha256 =
     # Manually sha256sum the extensionPack file, must be hex!
     # Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
-    let value = "376e07cbf2ff2844c95c800346c8e4697d7bc671ae0e21e46153b2e7b4ccc1d6";
+    let value = "794f023a186bd217c29c3d30bd1434b6e9de3b242c7bf740d06d10f2d3d981c6";
     in assert (builtins.stringLength value) == 64; value;
 
   meta = {
@@ -18,6 +18,6 @@ fetchurl rec {
     license = licenses.virtualbox-puel;
     homepage = https://www.virtualbox.org/;
     maintainers = with maintainers; [ flokli sander cdepillabout ];
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/virtualbox/fix_kbuild.patch b/pkgs/applications/virtualization/virtualbox/fix_kbuild.patch
new file mode 100644
index 00000000000..7cafeada7d9
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/fix_kbuild.patch
@@ -0,0 +1,12 @@
+diff -urN a/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile b/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
+--- a/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
++++ b/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
+@@ -58,7 +58,7 @@
+ 	RT_WITH_VBOX \
+ 	VBOX_WITH_HARDENING \
+ 	VBOX_WITH_64_BITS_GUESTS # <-- must be consistent with Config.kmk!
+-VBOXMOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie -Wno-declaration-after-statement
++VBOXMOD_CFLAGS = -include $(VBOXNETADPT_DIR)include/VBox/SUPDrvMangling.h -fno-pie -Wno-declaration-after-statement
+ 
+ include $(obj)/Makefile-footer.gmk
+ 
diff --git a/pkgs/applications/virtualization/virtualbox/fix_module_makefile_sed.patch b/pkgs/applications/virtualization/virtualbox/fix_module_makefile_sed.patch
new file mode 100644
index 00000000000..6bfa5a4404b
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/fix_module_makefile_sed.patch
@@ -0,0 +1,36 @@
+diff -urN VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk
+--- VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk	2019-04-16 12:16:38.000000000 +0200
++++ VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk	2019-05-04 15:19:14.545497602 +0200
+@@ -175,7 +175,7 @@
+ 		| $$(dir $$@)
+ 	$(QUIET)$(RM) -f -- $@
+  ifndef VBOX_WITH_HARDENING
+-	$(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
++	$(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@ $<
+  else
+ 	$(QUIET)$(CP) -f $< $@
+  endif
+diff -urN VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk
+--- VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk	2019-04-16 12:16:39.000000000 +0200
++++ VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk	2019-05-04 15:19:13.809493324 +0200
+@@ -525,7 +525,7 @@
+ 		| $$(dir $$@)
+ 	$(QUIET)$(RM) -f -- $@
+  ifndef VBOX_WITH_HARDENING
+-	$(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
++	$(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@ $<
+  else
+ 	$(QUIET)$(CP) -f $< $@
+  endif
+diff -urN VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxPci/Makefile.kmk VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxPci/Makefile.kmk
+--- VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxPci/Makefile.kmk	2019-04-16 12:16:40.000000000 +0200
++++ VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxPci/Makefile.kmk	2019-05-04 15:42:12.029664987 +0200
+@@ -67,7 +67,7 @@
+ 		| $$(dir $$@)
+ 	$(QUIET)$(RM) -f -- $@
+  ifndef VBOX_WITH_HARDENING
+-	$(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
++	$(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@ $<
+  else
+ 	$(QUIET)$(CP) -f $< $@
+  endif
diff --git a/pkgs/applications/virtualization/virtualbox/fix_printk_test.patch b/pkgs/applications/virtualization/virtualbox/fix_printk_test.patch
new file mode 100644
index 00000000000..eceaff2dc61
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/fix_printk_test.patch
@@ -0,0 +1,14 @@
+diff -urN VirtualBox-6.0.6/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c VirtualBox-6.0.6.new/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
+--- VirtualBox-6.0.6/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c	2019-04-16 12:16:37.000000000 +0200
++++ VirtualBox-6.0.6.new/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c	2019-05-04 15:59:44.439905223 +0200
+@@ -426,10 +426,8 @@
+     int                 rc;
+     PSUPDRVSESSION      pSession;
+     Log(("VBoxDrvLinuxCreate: pFilp=%p pid=%d/%d %s\n", pFilp, RTProcSelf(), current->pid, current->comm));
+-    printk("test1\n");
+ 
+ #ifdef VBOX_WITH_HARDENING
+-    printk("test2\n");
+     /*
+      * Only root is allowed to access the unrestricted device, enforce it!
+      */
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index ecefc9bc07e..1a5c6c670c8 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
-, xorg, dbus, virtualbox }:
+, zlib, xorg, dbus, virtualbox }:
 
 let
   version = virtualbox.version;
@@ -19,32 +19,23 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "0cwdmdgcd1jysyw7c9b3cdk1ngk5nq7slh1zkhxkvvq142cnm1v9";
+    sha256 = "1srcsf9264l5yxbq2x83z66j38blbfrywq5lkzwb5kih6sv548c3";
   };
 
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
   KERN_INCL = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/source/include";
 
-  patchFlags = [ "-p1" "-d" "install/src/vboxguest-${version}" ];
-
-  patches = [
-    ./fix_kerndir.patch
-    ./fix_kernincl.patch
-  ];
+  # If you add a patch you probably need this.
+  #patchFlags = [ "-p1" "-d" "install/src/vboxguest-${version}" ];
 
   hardeningDisable = [ "pic" ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration";
 
   nativeBuildInputs = [ patchelf makeWrapper ];
-  buildInputs = [ cdrkit dbus ] ++ kernel.moduleBuildDependencies;
+  buildInputs = [ cdrkit ] ++ kernel.moduleBuildDependencies;
 
-  installPhase = ''
-    mkdir -p $out
-    cp -r install/* $out
-  '';
-
-  buildCommand = with xorg; ''
+  unpackPhase = ''
     ${if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then ''
         isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run
         chmod 755 ./VBoxLinuxAdditions.run
@@ -63,39 +54,30 @@ stdenv.mkDerivation {
       ''
       else throw ("Architecture: "+stdenv.hostPlatform.system+" not supported for VirtualBox guest additions")
     }
+  '';
 
-    cd ../
-    patchPhase
-    cd install/src
-
-    # Build kernel modules
-    export INSTALL_MOD_PATH=$out
+  doConfigure = false;
 
+  buildPhase = ''
+    # Build kernel modules.
+    cd src
     find . -type f | xargs sed 's/depmod -a/true/' -i
-
     cd vboxguest-${version}
-
+    # Run just make first. If we only did make install, we get symbol warnings during build.
     make
-
     cd ../..
 
     # Change the interpreter for various binaries
-    for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} other/mount.vboxsf
-    do
-        ${if stdenv.hostPlatform.system == "i686-linux" then ''
-          patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $i
-        ''
-        else if stdenv.hostPlatform.system == "x86_64-linux" then ''
-          patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 $i
-        ''
-        else throw ("Architecture: "+stdenv.hostPlatform.system+" not supported for VirtualBox guest additions")
-        }
-        patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc dbus libX11 libXt libXext libXmu libXfixes libXrandr libXcursor ]} $i
+    for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} other/mount.vboxsf; do
+        patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} $i
+        patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc zlib
+          xorg.libX11 xorg.libXt xorg.libXext xorg.libXmu xorg.libXfixes xorg.libXrandr xorg.libXcursor ]} $i
     done
 
     for i in lib/VBoxOGL*.so
     do
-        patchelf --set-rpath ${lib.makeLibraryPath [ "$out" dbus libXcomposite libXdamage libXext libXfixes ]} $i
+        patchelf --set-rpath ${lib.makeLibraryPath [ "$out"
+          xorg.libXcomposite xorg.libXdamage xorg.libXext xorg.libXfixes ]} $i
     done
 
     # FIXME: Virtualbox 4.3.22 moved VBoxClient-all (required by Guest Additions
@@ -105,6 +87,13 @@ stdenv.mkDerivation {
     # Remove references to /usr from various scripts and files
     sed -i -e "s|/usr/bin|$out/bin|" other/vboxclient.desktop
     sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all
+  '';
+
+  installPhase = ''
+    # Install kernel modules.
+    cd src/vboxguest-${version}
+    make install INSTALL_MOD_PATH=$out
+    cd ../..
 
     # Install binaries
     install -D -m 755 other/mount.vboxsf $out/bin/mount.vboxsf
@@ -131,21 +120,18 @@ stdenv.mkDerivation {
     # Install Xorg drivers
     mkdir -p $out/lib/xorg/modules/{drivers,input}
     install -m 644 other/vboxvideo_drv_${xserverABI}.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
+  '';
 
-    # Install kernel modules
-    cd src
+  # Stripping breaks these binaries for some reason.
+  dontStrip = true;
 
-    for i in *
-    do
-        cd $i
-        kernelVersion=$(cd ${kernel.dev}/lib/modules; ls)
-        export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
-        find . -type f | xargs sed -i -e "s|-o root||g" \
-                                      -e "s|-g root||g"
-        make install
-        cd ..
+  # Some code dlopen() libdbus, patch RUNPATH in fixupPhase so it isn't stripped.
+  postFixup = ''
+    for i in $(grep -F libdbus-1.so -l -r $out/{lib,bin}); do
+      origRpath=$(patchelf --print-rpath "$i")
+      patchelf --set-rpath "$origRpath:${lib.makeLibraryPath [ dbus ]}" "$i"
     done
-  ''; # */
+  '';
 
   meta = {
     description = "Guest additions for VirtualBox";
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch
deleted file mode 100644
index 0be949f63c9..00000000000
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/vboxsf/Makefile.include.header b/vboxsf/Makefile.include.header
-index 8df1eb4d25..5a3e5604e7 100644
---- a/vboxsf/Makefile.include.header
-+++ b/vboxsf/Makefile.include.header
-@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
- endif # neq($(KERNELRELEASE),)
-
- # Kernel build folder
--KERN_DIR := /lib/modules/$(KERN_VER)/build
- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-  $(error Error: unable to find the headers of the Linux kernel to build against. \
-           Specify KERN_VER=<version> and run Make again)
-
-diff --git a/vboxguest/Makefile.include.header b/vboxguest/Makefile.include.header
-index 8df1eb4d25..5a3e5604e7 100644
---- a/vboxguest/Makefile.include.header
-+++ b/vboxguest/Makefile.include.header
-@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
- endif # neq($(KERNELRELEASE),)
-
- # Kernel build folder
--KERN_DIR := /lib/modules/$(KERN_VER)/build
- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-  $(error Error: unable to find the headers of the Linux kernel to build against. \
-           Specify KERN_VER=<version> and run Make again)
-
-diff --git a/vboxvideo/Makefile.include.header b/vboxvideo/Makefile.include.header
-index 8df1eb4d25..5a3e5604e7 100644
---- a/vboxvideo/Makefile.include.header
-+++ b/vboxvideo/Makefile.include.header
-@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
- endif # neq($(KERNELRELEASE),)
-
- # Kernel build folder
--KERN_DIR := /lib/modules/$(KERN_VER)/build
- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-  $(error Error: unable to find the headers of the Linux kernel to build against. \
-           Specify KERN_VER=<version> and run Make again)
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch
deleted file mode 100644
index e59e2e98c1b..00000000000
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/vboxvideo/Makefile.include.header b/vboxvideo/Makefile.include.header
-index 8df1eb4d25..5a3e5604e7 100644
---- a/vboxvideo/Makefile.include.header
-+++ b/vboxvideo/Makefile.include.header
-@@ -122,7 +122,6 @@ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-           Specify KERN_VER=<version> and run Make again)
- endif
- # Kernel include folder
--KERN_INCL := $(KERN_DIR)/include
- # module install folder
- INSTALL_MOD_DIR ?= misc
- MODULE_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KERN_VER)/$(INSTALL_MOD_DIR)
diff --git a/pkgs/applications/virtualization/virtualbox/qtx11extras.patch b/pkgs/applications/virtualization/virtualbox/qtx11extras.patch
index 6ed74e3e23e..a3aa98b081d 100644
--- a/pkgs/applications/virtualization/virtualbox/qtx11extras.patch
+++ b/pkgs/applications/virtualization/virtualbox/qtx11extras.patch
@@ -2,30 +2,15 @@ diff --git a/kBuild/units/qt5.kmk b/kBuild/units/qt5.kmk
 index 71b96a3..73391f0 100644
 --- a/kBuild/units/qt5.kmk
 +++ b/kBuild/units/qt5.kmk
-@@ -1019,9 +1019,10 @@ else
+@@ -1054,9 +1054,9 @@ else
     $(eval $(target)_LIBS   += $(PATH_SDK_QT5_LIB)/$(qt_prefix)qtmain$(qt_infix)$(SUFF_LIB) )
    endif
   else
 -  $(eval $(target)_LIBS    += $(foreach module,$(qt_modules), $(PATH_SDK_QT5_LIB)/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) )
-+  $(eval $(target)_LIBS    += $(foreach module,$(qt_modules), $(PATH_SDK_QT5_LIB)/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) \
-+                              $(PATH_QT5_X11_EXTRAS_LIB)/lib$(qt_prefix)Qt5X11Extras$(qt_infix)$(SUFF_DLL))
++  $(eval $(target)_LIBS    += $(foreach module,$(qt_modules), $(if $(filter X11Extras,$(module)),$(PATH_QT5_X11_EXTRAS_LIB),$(PATH_SDK_QT5_LIB))/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) )
   endif
 - $(eval $(target)_INCS     += $(addprefix $(PATH_SDK_QT5_INC)/Qt,$(qt_modules)) $(PATH_SDK_QT5_INC) )
 + $(eval $(target)_INCS     += $(addprefix $(PATH_SDK_QT5_INC)/Qt,$(qt_modules)) $(PATH_SDK_QT5_INC) $(PATH_QT5_X11_EXTRAS_INC)/QtX11Extras )
  endif
  $(eval $(target)_DEFS      += $(foreach module,$(toupper $(qt_modules)), QT_$(module)_LIB) )
 
-diff --git a/src/VBox/Frontends/VirtualBox/Makefile.kmk b/src/VBox/Frontends/VirtualBox/Makefile.kmk
-index 3295bfefe7..796370623c 100644
---- a/src/VBox/Frontends/VirtualBox/Makefile.kmk
-+++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk
-@@ -916,9 +916,6 @@ endif
- # The Qt modules we're using.
- # (The include directory and lib/framework for each module will be added by the Qt unit.)
- VirtualBox_QT_MODULES = Core Gui Widgets PrintSupport
--VirtualBox_QT_MODULES.linux   += X11Extras
--VirtualBox_QT_MODULES.solaris += X11Extras
--VirtualBox_QT_MODULES.freebsd += X11Extras
- VirtualBox_QT_MODULES.darwin  += MacExtras
- VirtualBox_QT_MODULES.win     += WinExtras
- if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index bbe514144a1..25438c81605 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -5,8 +5,13 @@
 , xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
 , libxkbcommon, xcbutilxrm, hicolor-icon-theme
 , asciidoctor
+, fontsConf
+, gtk3Support ? false, gtk3 ? null
 }:
 
+# needed for beautiful.gtk to work
+assert gtk3Support -> gtk3 != null;
+
 with luaPackages; stdenv.mkDerivation rec {
   name = "awesome-${version}";
   version = "4.3";
@@ -27,8 +32,13 @@ with luaPackages; stdenv.mkDerivation rec {
     xmlto docbook_xml_dtd_45
     docbook_xsl findXMLCatalogs
     asciidoctor
+    ldoc
   ];
 
+  outputs = [ "out" "doc" ];
+
+  FONTCONFIG_FILE = toString fontsConf;
+
   propagatedUserEnvPkgs = [ hicolor-icon-theme ];
   buildInputs = [ cairo librsvg dbus gdk_pixbuf gobject-introspection
                   git lgi libpthreadstubs libstartup_notification
@@ -36,7 +46,8 @@ with luaPackages; stdenv.mkDerivation rec {
                   xorg.libXau xorg.libXdmcp xorg.libxcb xorg.libxshmfence
                   xorg.xcbutil xorg.xcbutilimage xorg.xcbutilkeysyms
                   xorg.xcbutilrenderutil xorg.xcbutilwm libxkbcommon
-                  xcbutilxrm ];
+                  xcbutilxrm ]
+                  ++ stdenv.lib.optional gtk3Support gtk3;
 
   #cmakeFlags = "-DGENERATE_MANPAGES=ON";
   cmakeFlags = "-DOVERRIDE_VERSION=${version}";
@@ -48,7 +59,7 @@ with luaPackages; stdenv.mkDerivation rec {
   LUA_PATH  = "${lgi}/share/lua/${lua.luaversion}/?.lua;;";
 
   postInstall = ''
-    # Don't use wrapProgram or or the wrapper will duplicate the --search
+    # Don't use wrapProgram or the wrapper will duplicate the --search
     # arguments every restart
     mv "$out/bin/awesome" "$out/bin/.awesome-wrapped"
     makeWrapper "$out/bin/.awesome-wrapped" "$out/bin/awesome" \
diff --git a/pkgs/applications/window-managers/i3/wk-switch.nix b/pkgs/applications/window-managers/i3/wk-switch.nix
index 39bd62cd5aa..5b1cdbe05f5 100644
--- a/pkgs/applications/window-managers/i3/wk-switch.nix
+++ b/pkgs/applications/window-managers/i3/wk-switch.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchFromGitHub, python2Packages }:
+{ stdenv, fetchFromGitHub, python3Packages }:
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "i3-wk-switch";
-  version = "2017-08-21";
+  version = "2019-05-10";
 
-  # https://github.com/tmfink/i3-wk-switch/commit/484f840bc4c28ddc60fa3be81e2098f7689e78fb
   src = fetchFromGitHub {
     owner = "tmfink";
     repo = pname;
-    rev = "484f840";
-    sha256 = "0nrc13ld5bx07wrgnpzgpbaixb4rpi93xiapvyb8srd49fj9pcmb";
+    rev = "05a2d5d35e9841d2a26630f1866fc0a0e8e708eb";
+    sha256 = "0ln192abdqrrs7rdazp9acbji2y6pf68z2d1by4nf2q529dh24dc";
   };
 
-  propagatedBuildInputs = with python2Packages; [ i3-py ];
+  propagatedBuildInputs = with python3Packages; [ i3ipc ];
 
   dontBuild = true;
   doCheck = false;
@@ -23,7 +22,7 @@ python2Packages.buildPythonApplication rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "XMonad-like workspace switching for i3";
+    description = "XMonad-like workspace switching for i3 and sway";
     maintainers = with maintainers; [ synthetica ];
     platforms = platforms.linux;
     license = licenses.mit;
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 11945e7b6f7..57e40069003 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -216,7 +216,7 @@ rec {
         find image/$extractionID/layer -name ".wh.*" -exec bash -c 'name="$(basename {}|sed "s/^.wh.//")"; mknod "$(dirname {})/$name" c 0 0; rm {}' \;
 
         # Get the next lower directory and continue the loop.
-        lowerdir=$lowerdir''${lowerdir:+:}image/$extractionID/layer
+        lowerdir=image/$extractionID/layer''${lowerdir:+:}$lowerdir
       done
 
       mkdir work
@@ -585,9 +585,9 @@ rec {
           layerID=$(sha256sum "$layer/json" | cut -d ' ' -f 1)
           ln -s "$layer" "./image/$layerID"
 
-          manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= [\"$layerID/layer.tar\"] + .")
-          imageJson=$(echo "$imageJson" | jq ".history |= [{\"created\": \"$(jq -r .created ${configJson})\"}] + .")
-          imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= [\"sha256:$layerChecksum\"] + .")
+          manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= . + [\"$layerID/layer.tar\"]")
+          imageJson=$(echo "$imageJson" | jq ".history |= . + [{\"created\": \"$(jq -r .created ${configJson})\"}]")
+          imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= . + [\"sha256:$layerChecksum\"]")
         done
         imageJsonChecksum=$(echo "$imageJson" | sha256sum | cut -d ' ' -f1)
         echo "$imageJson" > "image/$imageJsonChecksum.json"
@@ -779,23 +779,24 @@ rec {
         # Use the temp folder we've been working on to create a new image.
         mv temp image/$layerID
 
-        # Add the new layer ID to the beginning of the layer list
+        # Add the new layer ID to the end of the layer list
         (
+          cat layer-list
           # originally this used `sed -i "1i$layerID" layer-list`, but
           # would fail if layer-list was completely empty.
           echo "$layerID/layer.tar"
-          cat layer-list
         ) | ${pkgs.moreutils}/bin/sponge layer-list
 
         # Create image json and image manifest
         imageJson=$(cat ${baseJson} | jq ". + {\"rootfs\": {\"diff_ids\": [], \"type\": \"layers\"}}")
         manifestJson=$(jq -n "[{\"RepoTags\":[\"$imageName:$imageTag\"]}]")
 
-        for layerTar in $(tac ./layer-list); do
+        for layerTar in $(cat ./layer-list); do
           layerChecksum=$(sha256sum image/$layerTar | cut -d ' ' -f1)
-          imageJson=$(echo "$imageJson" | jq ".history |= [{\"created\": \"$(jq -r .created ${baseJson})\"}] + .")
-          imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= [\"sha256:$layerChecksum\"] + .")
-          manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= [\"$layerTar\"] + .")
+          imageJson=$(echo "$imageJson" | jq ".history |= . + [{\"created\": \"$(jq -r .created ${baseJson})\"}]")
+          # diff_ids order is from the bottom-most to top-most layer
+          imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= . + [\"sha256:$layerChecksum\"]")
+          manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= . + [\"$layerTar\"]")
         done
 
         imageJsonChecksum=$(echo "$imageJson" | sha256sum | cut -d ' ' -f1)
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 557a4dbf54b..ac21be907b8 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -187,4 +187,43 @@ rec {
     runAsRoot = "touch /example-file";
     fromImage = bash;
   };
+
+  # 13. example of 3 layers images This image is used to verify the
+  # order of layers is correct.
+  # It allows to validate
+  # - the layer of parent are below
+  # - the order of parent layer is preserved at image build time
+  #   (this is why there are 3 images)
+  layersOrder = let
+    l1 = pkgs.dockerTools.buildImage {
+      name = "l1";
+      tag = "latest";
+      extraCommands = ''
+        mkdir -p tmp
+        echo layer1 > tmp/layer1
+        echo layer1 > tmp/layer2
+        echo layer1 > tmp/layer3
+      '';
+    };
+    l2 = pkgs.dockerTools.buildImage {
+      name = "l2";
+      fromImage = l1;
+      tag = "latest";
+      extraCommands = ''
+        mkdir -p tmp
+        echo layer2 > tmp/layer2
+        echo layer2 > tmp/layer3
+      '';
+    };
+  in pkgs.dockerTools.buildImage {
+    name = "l3";
+    fromImage = l2;
+    tag = "latest";
+    contents = [ pkgs.coreutils ];
+    extraCommands = ''
+      mkdir -p tmp
+      echo layer3 > tmp/layer3
+    '';
+  };
+
 }
diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix
index 89d72f512f7..2fb32b2324f 100644
--- a/pkgs/build-support/fetchpatch/default.nix
+++ b/pkgs/build-support/fetchpatch/default.nix
@@ -5,6 +5,10 @@
 # stripLen acts as the -p parameter when applying a patch.
 
 { lib, fetchurl, buildPackages }:
+let
+  # 0.3.4 would change hashes: https://github.com/NixOS/nixpkgs/issues/25154
+  patchutils = buildPackages.patchutils_0_3_3;
+in
 { stripLen ? 0, extraPrefix ? null, excludes ? [], includes ? [], revert ? false, ... }@args:
 
 fetchurl ({
@@ -14,10 +18,10 @@ fetchurl ({
       echo "error: Fetched patch file '$out' is empty!" 1>&2
       exit 1
     fi
-    "${buildPackages.patchutils}/bin/lsdiff" "$out" \
+    "${patchutils}/bin/lsdiff" "$out" \
       | sort -u | sed -e 's/[*?]/\\&/g' \
       | xargs -I{} \
-        "${buildPackages.patchutils}/bin/filterdiff" \
+        "${patchutils}/bin/filterdiff" \
         --include={} \
         --strip=${toString stripLen} \
         ${lib.optionalString (extraPrefix != null) ''
@@ -32,7 +36,7 @@ fetchurl ({
       cat "$out" 1>&2
       exit 1
     fi
-    ${buildPackages.patchutils}/bin/filterdiff \
+    ${patchutils}/bin/filterdiff \
       -p1 \
       ${builtins.toString (builtins.map (x: "-x ${lib.escapeShellArg x}") excludes)} \
       ${builtins.toString (builtins.map (x: "-i ${lib.escapeShellArg x}") includes)} \
@@ -46,7 +50,7 @@ fetchurl ({
       exit 1
     fi
   '' + lib.optionalString revert ''
-    ${buildPackages.patchutils}/bin/interdiff "$out" /dev/null > "$tmpfile"
+    ${patchutils}/bin/interdiff "$out" /dev/null > "$tmpfile"
     mv "$tmpfile" "$out"
   '' + (args.postFetch or "");
   meta.broken = excludes != [] && includes != [];
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index dcf3a2016bc..655399af58f 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -166,10 +166,3 @@ int execv(const char *path, char *const argv[])
     char buf[PATH_MAX];
     return execv_real(rewrite(path, buf), argv);
 }
-
-void *dlopen(const char *filename, int flag)
-{
-    void * (*__dlopen_real) (const char *, int) = dlsym(RTLD_NEXT, "dlopen");
-    char buf[PATH_MAX];
-    return __dlopen_real(rewrite(filename, buf), flag);
-}
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index e498417adf0..f56ce7bb87d 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -79,7 +79,6 @@ rec {
         (test -n "$executable" && chmod +x "$n") || true
       '';
 
-
   /*
    * Writes a text file to nix store with no optional parameters available.
    *
@@ -92,6 +91,7 @@ rec {
    *
   */
   writeText = name: text: writeTextFile {inherit name text;};
+
   /*
    * Writes a text file to nix store in a specific directory with no
    * optional parameters available. Name passed is the destination.
@@ -105,6 +105,7 @@ rec {
    *
   */
   writeTextDir = name: text: writeTextFile {inherit name text; destination = "/${name}";};
+
   /*
    * Writes a text file to /nix/store/<store path> and marks the file as executable.
    *
@@ -117,13 +118,14 @@ rec {
    *
   */
   writeScript = name: text: writeTextFile {inherit name text; executable = true;};
+
   /*
    * Writes a text file to /nix/store/<store path>/bin/<name> and
    * marks the file as executable.
    *
    * Example:
    * # Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.
-   * writeScript "my-file"
+   * writeScriptBin "my-file"
    *   ''
    *   Contents of File
    *   '';
@@ -132,12 +134,38 @@ rec {
   writeScriptBin = name: text: writeTextFile {inherit name text; executable = true; destination = "/bin/${name}";};
 
   /*
-   * Writes a Shell script and check its syntax. Automatically includes interpreter
-   * above the contents passed.
+   * Similar to writeScript. Writes a Shell script and checks its syntax.
+   * Automatically includes interpreter above the contents passed.
+   *
+   * Example:
+   * # Writes my-file to /nix/store/<store path>/my-file and makes executable.
+   * writeShellScript "my-file"
+   *   ''
+   *   Contents of File
+   *   '';
+   *
+  */
+  writeShellScript = name: text:
+    writeTextFile {
+      inherit name;
+      executable = true;
+      text = ''
+        #!${runtimeShell}
+        ${text}
+        '';
+      checkPhase = ''
+        ${stdenv.shell} -n $out
+      '';
+    };
+
+  /*
+   * Similar to writeShellScript and writeScriptBin.
+   * Writes an executable Shell script to /nix/store/<store path>/bin/<name> and checks its syntax.
+   * Automatically includes interpreter above the contents passed.
    *
    * Example:
    * # Writes my-file to /nix/store/<store path>/bin/my-file and makes executable.
-   * writeScript "my-file"
+   * writeShellScriptBin "my-file"
    *   ''
    *   Contents of File
    *   '';
diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix
index 9e6639c0a0a..f87fc153555 100644
--- a/pkgs/data/documentation/gnome-user-docs/default.nix
+++ b/pkgs/data/documentation/gnome-user-docs/default.nix
@@ -1,12 +1,20 @@
-{ stdenv, fetchurl, itstool, libxml2, gettext }:
+{ stdenv, fetchurl, itstool, libxml2, gettext, gnome3 }:
 
-stdenv.mkDerivation {
-  name = "gnome-user-docs-3.2.2";
+stdenv.mkDerivation rec {
+  pname = "gnome-user-docs";
+  version = "3.2.2";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-user-docs/3.2/gnome-user-docs-3.2.2.tar.xz;
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1ka0nw2kc85p10y8x31v0wv06a88k7qrgafp4ys04y9fzz0rkcjj";
   };
 
   nativeBuildInputs = [ itstool libxml2 gettext ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.gnome-user-docs";
+    };
+  };
 }
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 280202c2200..04130f25f30 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "man-pages-${version}";
-  version = "5.00";
+  version = "5.01";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
-    sha256 = "006rcqhs4ay9q8wip2kbgk3065gwvfbzrqgv2dsydwvcnwv50bss";
+    sha256 = "09xn8d8xxwgms6h1bvjlgn3mxz51vxf3ra0ry9f5dqi29qry3z3x";
   };
 
   makeFlags = [ "MANDIR=$(out)/share/man" ];
diff --git a/pkgs/data/fonts/agave/default.nix b/pkgs/data/fonts/agave/default.nix
index eb18f620a2a..b9417256867 100644
--- a/pkgs/data/fonts/agave/default.nix
+++ b/pkgs/data/fonts/agave/default.nix
@@ -1,24 +1,21 @@
-{ stdenv, fetchurl }:
+{ lib, fetchurl }:
 
-stdenv.mkDerivation rec {
+let
   pname = "agave";
   version = "009";
+in fetchurl {
+  name = "${pname}-${version}";
+  url = "https://github.com/agarick/agave/releases/download/v${version}/agave-r.ttf";
 
-  src = fetchurl {
-    url = "https://github.com/agarick/agave/releases/download/v${version}/agave-r.ttf";
-    sha256 = "05766gp2glm1p2vknk1nncxigq28hg8s58kjwsbn8zpwy8ivywpk";
-  };
-
-  sourceRoot = ".";
-
-  unpackPhase = ":";
-  dontBuild = true;
-  installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp $src $out/share/fonts/truetype/
+  downloadToTemp = true;
+  recursiveHash = true;
+  postFetch = ''
+    install -D $downloadedFile $out/share/fonts/truetype/agave-r.ttf
   '';
 
-  meta = with stdenv.lib; {
+  sha256 = "16qvz3zpwiq2nw0gxygva5pssswcia5xp0q6ir5jfkackvqf3fql";
+
+  meta = with lib; {
     description = "truetype monospaced typeface designed for X environments";
     homepage = https://b.agaric.net/page/agave;
     license = licenses.mit;
diff --git a/pkgs/data/fonts/aileron/default.nix b/pkgs/data/fonts/aileron/default.nix
index 52a96f16db0..ee85ee59882 100644
--- a/pkgs/data/fonts/aileron/default.nix
+++ b/pkgs/data/fonts/aileron/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib, fetchzip }:
 
 let
   majorVersion = "0";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
     description = "A helvetica font in nine weights";
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/andagii/default.nix b/pkgs/data/fonts/andagii/default.nix
index ba0bab61eec..0f20b9c46cf 100644
--- a/pkgs/data/fonts/andagii/default.nix
+++ b/pkgs/data/fonts/andagii/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "1.0.2";
@@ -17,7 +17,7 @@ in fetchzip {
   # There are multiple claims that the font is GPL, so I include the
   # package; but I cannot find the original source, so use it on your
   # own risk Debian claims it is GPL - good enough for me.
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://www.i18nguy.com/unicode/unicode-font.html;
     description = "Unicode Plane 1 Osmanya script font";
     maintainers = with maintainers; [ raskin rycee ];
diff --git a/pkgs/data/fonts/andika/default.nix b/pkgs/data/fonts/andika/default.nix
index 4b6965563a3..e03a800b3ad 100644
--- a/pkgs/data/fonts/andika/default.nix
+++ b/pkgs/data/fonts/andika/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "5.000";
@@ -16,7 +16,7 @@ in
 
     sha256 = "1jy9vpcprpd1k48p20wh6jhyn909ibia8lr5i747p41l0s8a7lqy";
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://software.sil.org/andika;
       description = "A family designed especially for literacy use taking into account the needs of beginning readers";
       longDescription = ''
diff --git a/pkgs/data/fonts/ankacoder/condensed.nix b/pkgs/data/fonts/ankacoder/condensed.nix
index 08a46628e65..53f4d94b38f 100644
--- a/pkgs/data/fonts/ankacoder/condensed.nix
+++ b/pkgs/data/fonts/ankacoder/condensed.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let version = "1.100"; in
 fetchzip rec {
@@ -13,7 +13,7 @@ fetchzip rec {
 
   sha256 = "0i80zpr2y9368rg2i6x8jv0g7d03kdyr5h7w9yz7pjd7i9xd8439";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Anka/Coder Condensed font";
     homepage = https://code.google.com/archive/p/anka-coder-fonts;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/ankacoder/default.nix b/pkgs/data/fonts/ankacoder/default.nix
index 170c8cde514..52e2d4a4233 100644
--- a/pkgs/data/fonts/ankacoder/default.nix
+++ b/pkgs/data/fonts/ankacoder/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let version = "1.100"; in
 fetchzip rec {
@@ -13,7 +13,7 @@ fetchzip rec {
 
   sha256 = "1jqx9micfmiarqh9xp330gl96v3vxbwzz9cmg2vi845n9md4im85";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Anka/Coder fonts";
     homepage = https://code.google.com/archive/p/anka-coder-fonts;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/anonymous-pro/default.nix b/pkgs/data/fonts/anonymous-pro/default.nix
index 3ac2c943299..4aeda64377e 100644
--- a/pkgs/data/fonts/anonymous-pro/default.nix
+++ b/pkgs/data/fonts/anonymous-pro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "1.002";
@@ -13,7 +13,7 @@ in fetchzip rec {
   '';
   sha256 = "05rgzag38qc77b31sm5i2vwwrxbrvwzfsqh3slv11skx36pz337f";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://www.marksimonson.com/fonts/view/anonymous-pro;
     description = "TrueType font set intended for source code";
     longDescription = ''
diff --git a/pkgs/data/fonts/arkpandora/default.nix b/pkgs/data/fonts/arkpandora/default.nix
index 909985d945b..26c4530ac0e 100644
--- a/pkgs/data/fonts/arkpandora/default.nix
+++ b/pkgs/data/fonts/arkpandora/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ lib, fetchurl }:
 
 let
   version = "2.04";
@@ -21,6 +21,5 @@ in fetchurl {
 
   meta = {
     description = "Font, metrically identical to Arial and Times New Roman";
-    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/arphic/default.nix b/pkgs/data/fonts/arphic/default.nix
index 37d9a199567..1e52ea301af 100644
--- a/pkgs/data/fonts/arphic/default.nix
+++ b/pkgs/data/fonts/arphic/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, mkfontscale, mkfontdir }:
+{ lib, fetchzip, mkfontscale, mkfontdir }:
 
 let
   version = "0.2.20080216.2";
@@ -18,7 +18,7 @@ in {
 
     sha256 = "0xi5ycm7ydzpn7cqxv1kcj9vd70nr9wn8v27hmibyjc25y2qdmzl";
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       description = "CJK Unicode font Kai style";
       homepage = https://www.freedesktop.org/wiki/Software/CJKUnifonts/;
 
@@ -43,7 +43,7 @@ in {
 
     sha256 = "16jybvj1cxamm682caj6nsm6l5c60x9mgchp1l2izrw2rvc8x38d";
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       description = "CJK Unicode font Ming style";
       homepage = https://www.freedesktop.org/wiki/Software/CJKUnifonts/;
 
diff --git a/pkgs/data/fonts/aurulent-sans/default.nix b/pkgs/data/fonts/aurulent-sans/default.nix
index 1a83ce17646..a87be94acd0 100644
--- a/pkgs/data/fonts/aurulent-sans/default.nix
+++ b/pkgs/data/fonts/aurulent-sans/default.nix
@@ -1,12 +1,13 @@
-{stdenv, fetchzip}:
+{ lib, fetchFromGitHub }:
 
-fetchzip rec {
+fetchFromGitHub rec {
   name = "aurulent-sans-0.1";
-
-  url = "https://github.com/deepfire/hartke-aurulent-sans/archive/${name}.zip";
+  owner = "deepfire";
+  repo = "hartke-aurulent-sans";
+  rev = name;
   postFetch = ''
     mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    tar xf $downloadedFile -C $out/share/fonts --strip=1
   '';
   sha256 = "1l60psfv9x0x9qx9vp1qnhmck7a7kks385m5ycrd3d91irz1j5li";
 
@@ -14,8 +15,8 @@ fetchzip rec {
     description = "Aurulent Sans";
     longDescription = "Aurulent Sans is a humanist sans serif intended to be used as an interface font.";
     homepage = http://delubrum.org/;
-    maintainers = with stdenv.lib.maintainers; [ deepfire ];
-    license = stdenv.lib.licenses.ofl;
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with lib.maintainers; [ deepfire ];
+    license = lib.licenses.ofl;
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/b612/default.nix b/pkgs/data/fonts/b612/default.nix
index 2f583e2fc4b..1c2d7f53bad 100644
--- a/pkgs/data/fonts/b612/default.nix
+++ b/pkgs/data/fonts/b612/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchzip, lib }:
+{ lib, fetchFromGitHub }:
 
 let
   version = "1.008";
   pname = "b612";
-in
-
-fetchzip rec {
+in fetchFromGitHub {
   name = "${pname}-font-${version}";
-  url = "https://github.com/polarsys/b612/archive/${version}.zip";
-  sha256 = "0r3lana1q9w3siv8czb3p9rrb5d9svp628yfbvvmnj7qvjrmfsiq";
+  owner = "polarsys";
+  repo = "b612";
+  rev = version;
   postFetch = ''
+    tar xf $downloadedFile --strip=1
     mkdir -p $out/share/fonts/truetype/${pname}
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/${pname}
+    cp fonts/ttf/*.ttf $out/share/fonts/truetype/${pname}
   '';
+  sha256 = "0r3lana1q9w3siv8czb3p9rrb5d9svp628yfbvvmnj7qvjrmfsiq";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://b612-font.com/;
     description = "Highly legible font family for use on aircraft cockpit screens";
     longDescription = ''
diff --git a/pkgs/data/fonts/babelstone-han/default.nix b/pkgs/data/fonts/babelstone-han/default.nix
index 67080e73c46..5408e7b1b1d 100644
--- a/pkgs/data/fonts/babelstone-han/default.nix
+++ b/pkgs/data/fonts/babelstone-han/default.nix
@@ -1,7 +1,7 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
-  version = "11.0.3";
+  version = "12.1.4";
 in fetchzip {
   name = "babelstone-han-${version}";
 
@@ -10,9 +10,9 @@ in fetchzip {
     mkdir -p $out/share/fonts/truetype
     unzip $downloadedFile '*.ttf' -d $out/share/fonts/truetype
   '';
-  sha256 = "0c8s21kllyilwivrb8gywq818y67w3zpann34hz36vy0wyiswn1c";
+  sha256 = "1fypwk2i87jfrckvxg9wz4x84z7c6ifgzrjb8fylhac50lzi6kni";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Unicode CJK font with over 36000 Han characters";
     homepage = http://www.babelstone.co.uk/Fonts/Han.html;
 
diff --git a/pkgs/data/fonts/baekmuk-ttf/default.nix b/pkgs/data/fonts/baekmuk-ttf/default.nix
index 555bba63354..b11a0a4f0f0 100644
--- a/pkgs/data/fonts/baekmuk-ttf/default.nix
+++ b/pkgs/data/fonts/baekmuk-ttf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "baekmuk-ttf-2.2";
@@ -6,9 +6,8 @@ fetchzip rec {
   url = "http://kldp.net/baekmuk/release/865-${name}.tar.gz";
   postFetch = ''
     tar -xzvf $downloadedFile --strip-components=1
-    mkdir -p $out/share/fonts $out/share/doc/${name}
-    cp ttf/*.ttf  $out/share/fonts
-    cp COPYRIGHT* $out/share/doc/${name}
+    install -m444 -Dt $out/share/fonts        ttf/*.ttf
+    install -m444 -Dt $out/share/doc/${name}  COPYRIGHT*
   '';
   sha256 = "1jgsvack1l14q8lbcv4qhgbswi30mf045k37rl772hzcmx0r206g";
 
@@ -16,7 +15,6 @@ fetchzip rec {
     description = "Korean font";
     homepage = http://kldp.net/projects/baekmuk/;
     license = "BSD-like";
-    platforms = stdenv.lib.platforms.linux;
   };
 }
 
diff --git a/pkgs/data/fonts/bakoma-ttf/default.nix b/pkgs/data/fonts/bakoma-ttf/default.nix
index 8d87154c1df..53ebba41fd5 100644
--- a/pkgs/data/fonts/bakoma-ttf/default.nix
+++ b/pkgs/data/fonts/bakoma-ttf/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "bakoma-ttf";
@@ -16,6 +16,5 @@ fetchzip {
   meta = {
     description = "TrueType versions of the Computer Modern and AMS TeX Fonts";
     homepage = http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/ttf/;
-    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/behdad-fonts/default.nix b/pkgs/data/fonts/behdad-fonts/default.nix
index 54ddc95bf6c..8b4228ec423 100644
--- a/pkgs/data/fonts/behdad-fonts/default.nix
+++ b/pkgs/data/fonts/behdad-fonts/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "behdad-fonts";
   version = "0.0.3";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
+  owner = "font-store";
+  repo = "BehdadFont";
+  rev = "v${version}";
 
-  src = fetchFromGitHub {
-    owner = "font-store";
-    repo = "BehdadFont";
-    rev = "v${version}";
-    sha256 = "0rlmyv82qmyy90zvkjnlva44ia7dyhiyk7axbq526v7zip3g79w0";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/behdad-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/behdad-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/behrad-fonts {} \;
   '';
+  sha256 = "0c57232462cv1jrfn0m2bl7jzcfkacirrdd2qimrc8iqhkz0ajfz";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/font-store/BehdadFont;
     description = "A Persian/Arabic Open Source Font";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/cabin/default.nix b/pkgs/data/fonts/cabin/default.nix
index 5bf4d454b06..0a8168cdf9e 100644
--- a/pkgs/data/fonts/cabin/default.nix
+++ b/pkgs/data/fonts/cabin/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
-fetchzip rec {
+fetchFromGitHub rec {
   name = "cabin-1.005";
 
-  url = https://github.com/impallari/Cabin/archive/982839c790e9dc57c343972aa34c51ed3b3677fd.zip;
+  owner = "impallari";
+  repo = "Cabin";
+  rev = "982839c790e9dc57c343972aa34c51ed3b3677fd";
 
   postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.otf                    -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}"
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype fonts/OTF/*.otf
+    install -m444 -Dt $out/share/doc/${name}    README.md FONTLOG.txt
   '';
 
-  sha256 = "1ax5c2iab48qsk9zn3gjvqaib2lnlm25f1wr0aysf5ngw0y0jkrd";
+  sha256 = "1bl7h217m695jn4rbniialfk573aa44fslp2rjxnhkicakpcm44h";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A humanist sans with 4 weights and true italics";
     longDescription = ''
       The Cabin font family is a humanist sans with 4 weights and true italics,
diff --git a/pkgs/data/fonts/caladea/default.nix b/pkgs/data/fonts/caladea/default.nix
index 56d8273f78a..29bd001f808 100644
--- a/pkgs/data/fonts/caladea/default.nix
+++ b/pkgs/data/fonts/caladea/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "20130214";
@@ -15,7 +15,7 @@ in fetchzip rec {
   '';
   sha256 = "0kwm42ggr8kvcn3554cpmv90xzam1sdncx7x3zs3bzp88mxrnv1z";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     # This font doesn't appear to have any official web site but this
     # one provides some good information and samples.
     homepage = http://openfontlibrary.org/en/font/caladea;
diff --git a/pkgs/data/fonts/camingo-code/default.nix b/pkgs/data/fonts/camingo-code/default.nix
index dfdf367337c..98175373ebd 100644
--- a/pkgs/data/fonts/camingo-code/default.nix
+++ b/pkgs/data/fonts/camingo-code/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "1.0";
@@ -8,14 +8,12 @@ in fetchzip rec {
   url = https://github.com/chrissimpkins/codeface/releases/download/font-collection/codeface-fonts.zip;
   postFetch = ''
     unzip $downloadedFile
-    mkdir -p $out/share/fonts/truetype
-    mkdir -p $out/share/doc/${name}
-    cp -v fonts/camingo-code/*.ttf $out/share/fonts/truetype/
-    cp -v fonts/camingo-code/*.txt $out/share/doc/${name}/
+    install -m444 -Dt $out/share/fonts/truetype fonts/camingo-code/*.ttf
+    install -m444 -Dt $out/share/doc/${name}    fonts/camingo-code/*.txt
   '';
-  sha256 = "035z2k6lwwy2bysw27pirn3vjxnj2h23nyx8jr213rb2bl0m21x1";
+  sha256 = "16iqjwwa7pnswvcc4w8nglkd0m0fz50qsz96i1kcpqip3nwwvw7y";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://www.myfonts.com/fonts/jan-fromm/camingo-code/;
     description = "A monospaced typeface designed for source-code editors";
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/carlito/default.nix b/pkgs/data/fonts/carlito/default.nix
index 2243435bc5d..3c0e314579d 100644
--- a/pkgs/data/fonts/carlito/default.nix
+++ b/pkgs/data/fonts/carlito/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "20130920";
@@ -17,7 +17,7 @@ in fetchzip rec {
 
   sha256 = "0d72zy6kdmxgpi63r3yvi3jh1hb7lvlgv8hgd4ag0x10dz18mbzv";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     # This font doesn't appear to have any official web site but this
     # one provides some good information and samples.
     homepage = http://openfontlibrary.org/en/font/carlito;
diff --git a/pkgs/data/fonts/charis-sil/default.nix b/pkgs/data/fonts/charis-sil/default.nix
index 995e03372fb..e28a718fad1 100644
--- a/pkgs/data/fonts/charis-sil/default.nix
+++ b/pkgs/data/fonts/charis-sil/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "5.000";
@@ -16,7 +16,7 @@ in
 
     sha256 = "1a220s8n0flvcdkazqf5g10v6r55s2an308slvvarynpj6l7x27n";
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://software.sil.org/charis;
       description = "A family of highly readable fonts for broad multilingual use";
       longDescription = ''
diff --git a/pkgs/data/fonts/clearlyU/default.nix b/pkgs/data/fonts/clearlyU/default.nix
index 5dc8e53282a..0df3ba4f659 100644
--- a/pkgs/data/fonts/clearlyU/default.nix
+++ b/pkgs/data/fonts/clearlyU/default.nix
@@ -7,18 +7,17 @@ stdenv.mkDerivation {
     url = https://www.math.nmsu.edu/~mleisher/Software/cu/cu12-1.9.tgz;
     sha256 = "1xn14jbv3m1khy7ydvad9ydkn7yygdbhjy9wm1v000jzjwr3lv21";
   };
-  
+
   nativeBuildInputs = [ mkfontdir mkfontscale ];
 
-  installPhase =
-    ''
-      mkdir -p $out/share/fonts
-      cp *.bdf $out/share/fonts
-      cd $out/share/fonts
-      mkfontdir 
-      mkfontscale
-    '';
-  
+  installPhase = ''
+    mkdir -p $out/share/fonts
+    cp *.bdf $out/share/fonts
+    cd $out/share/fonts
+    mkfontdir
+    mkfontscale
+  '';
+
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
   outputHash = "127zrg65s90ksj99kr9hxny40rbxvpai62mf5nqk853hcd1bzpr6";
@@ -26,6 +25,5 @@ stdenv.mkDerivation {
   meta = {
     description = "A Unicode font";
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/cm-unicode/default.nix b/pkgs/data/fonts/cm-unicode/default.nix
index d17021feb81..c058f07ed51 100644
--- a/pkgs/data/fonts/cm-unicode/default.nix
+++ b/pkgs/data/fonts/cm-unicode/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "0.7.0";
@@ -9,15 +9,13 @@ in fetchzip rec {
 
   postFetch = ''
     tar -xJvf $downloadedFile --strip-components=1
-    mkdir -p $out/share/fonts/opentype
-    mkdir -p $out/share/doc/${name}
-    cp -v *.otf $out/share/fonts/opentype/
-    cp -v README FontLog.txt $out/share/doc/${name}
+    install -m444 -Dt $out/share/fonts/opentype *.otf
+    install -m444 -Dt $out/share/doc/${name}    README FontLog.txt
   '';
 
   sha256 = "1rzz7yhqq3lljyqxbg46jfzfd09qgpgx865lijr4sgc94riy1ypn";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://canopus.iacp.dvo.ru/~panov/cm-unicode/;
     description = "Computer Modern Unicode fonts";
     maintainers = with maintainers; [ raskin rycee ];
diff --git a/pkgs/data/fonts/comfortaa/default.nix b/pkgs/data/fonts/comfortaa/default.nix
index f7ec6e8b8c8..6e4c0bb08e7 100644
--- a/pkgs/data/fonts/comfortaa/default.nix
+++ b/pkgs/data/fonts/comfortaa/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "3.001";
@@ -8,13 +8,12 @@ in fetchzip rec {
   url = "https://orig00.deviantart.net/40a3/f/2017/093/d/4/comfortaa___font_by_aajohan-d1qr019.zip";
   postFetch = ''
     mkdir -p $out/share/fonts $out/share/doc
-    unzip -l $downloadedFile
     unzip -j $downloadedFile \*.ttf                        -d $out/share/fonts/truetype
     unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name}
   '';
   sha256 = "0z7xr0cnn6ghwivrm5b5awq9bzhnay3y99qq6dkdgfkfdsaz0n9h";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://aajohan.deviantart.com/art/Comfortaa-font-105395949;
     description = "A clean and modern font suitable for headings and logos";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/comic-neue/default.nix b/pkgs/data/fonts/comic-neue/default.nix
index 07fc172ca51..2615d0260f0 100644
--- a/pkgs/data/fonts/comic-neue/default.nix
+++ b/pkgs/data/fonts/comic-neue/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2.2";
@@ -19,7 +19,7 @@ in fetchzip rec {
 
   sha256 = "1yypq5aqqzv3q1c6vx5130mi2iwihzzvrawhwqpwsfjl0p25sq9q";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://comicneue.com/;
     description = "A casual type face: Make your lemonade stand look like a fortune 500 company";
     longDescription = ''
diff --git a/pkgs/data/fonts/comic-relief/default.nix b/pkgs/data/fonts/comic-relief/default.nix
index 2a1273214bd..d51c915b844 100644
--- a/pkgs/data/fonts/comic-relief/default.nix
+++ b/pkgs/data/fonts/comic-relief/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "1.1";
@@ -18,7 +18,7 @@ in fetchzip rec {
 
   sha256 = "0dz0y7w6mq4hcmmxv6fn4mp6jkln9mzr4s96vsg68wrl5b7k9yff";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://loudifier.com/comic-relief/;
     description = "A font metric-compatible with Microsoft Comic Sans";
     longDescription = ''
diff --git a/pkgs/data/fonts/cooper-hewitt/default.nix b/pkgs/data/fonts/cooper-hewitt/default.nix
index 1fa5cff7604..e1635c560d6 100644
--- a/pkgs/data/fonts/cooper-hewitt/default.nix
+++ b/pkgs/data/fonts/cooper-hewitt/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
-fetchzip rec {
+fetchzip {
   name = "cooper-hewitt-2014-06-09";
 
   url = https://www.cooperhewitt.org/wp-content/uploads/fonts/CooperHewitt-OTF-public.zip;
@@ -12,7 +12,7 @@ fetchzip rec {
 
   sha256 = "01iwqmjvqkc6fmc2r0486vk06s6f51n9wxzl1pf9z48n0igj4gqd";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://www.cooperhewitt.org/open-source-at-cooper-hewitt/cooper-hewitt-the-typeface-by-chester-jenkins/;
     description = "A contemporary sans serif, with characters composed of modified-geometric curves and arches";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/corefonts/default.nix b/pkgs/data/fonts/corefonts/default.nix
index 8c45c813953..5e06a34b6f0 100644
--- a/pkgs/data/fonts/corefonts/default.nix
+++ b/pkgs/data/fonts/corefonts/default.nix
@@ -41,12 +41,10 @@ stdenv.mkDerivation {
 
     cabextract --lowercase viewer1.cab
 
-    fontDir=$out/share/fonts/truetype
-    mkdir -p $fontDir
-    cp *.ttf $fontDir
+    install -m444 -Dt $out/share/fonts/truetype *.ttf
 
     # Also put the EULA there to be on the safe side.
-    cp ${eula} $fontDir/eula.html
+    cp ${eula} $out/share/fonts/truetype/eula.html
 
     # Set up no-op font configs to override any aliases set up by
     # other packages.
diff --git a/pkgs/data/fonts/crimson/default.nix b/pkgs/data/fonts/crimson/default.nix
index e96c13b7822..a3f24985fd9 100644
--- a/pkgs/data/fonts/crimson/default.nix
+++ b/pkgs/data/fonts/crimson/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "2014.10";
@@ -9,16 +9,13 @@ in fetchzip rec {
 
   postFetch = ''
     tar -xzvf $downloadedFile --strip-components=1
-
-    mkdir -p $out/share/fonts/opentype
-    mkdir -p $out/share/doc/${name}
-    cp -v "Desktop Fonts/OTF/"*.otf $out/share/fonts/opentype
-    cp -v README.md $out/share/doc/${name}
+    install -m444 -Dt $out/share/fonts/opentype "Desktop Fonts/OTF/"*.otf
+    install -m444 -Dt $out/share/doc/${name}    README.md
   '';
 
   sha256 = "0mg65f0ydyfmb43jqr1f34njpd10w8npw15cbb7z0nxmy4nkl842";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://aldusleaf.org/crimson.html;
     description = "A font family inspired by beautiful oldstyle typefaces";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/culmus/default.nix b/pkgs/data/fonts/culmus/default.nix
index 4ef5a444558..5aad7ff236f 100644
--- a/pkgs/data/fonts/culmus/default.nix
+++ b/pkgs/data/fonts/culmus/default.nix
@@ -1,16 +1,12 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "0.133";
-in stdenv.mkDerivation {
+in fetchzip {
   name = "culmus-${version}";
-
-  src = fetchzip {
-    url = "mirror://sourceforge/culmus/culmus/${version}/culmus-${version}.tar.gz";
-    sha256 = "0q80j3vixn364sc23hcy6098rkgy0kb4p91lky6224am1dwn2qmr";
-  };
-
-  installPhase = ''
+  url = "mirror://sourceforge/culmus/culmus/${version}/culmus-${version}.tar.gz";
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
     mkdir -p $out/share/fonts/{truetype,type1}
     cp -v *.pfa $out/share/fonts/type1/
     cp -v *.afm $out/share/fonts/type1/
@@ -19,12 +15,13 @@ in stdenv.mkDerivation {
     cp -v *.otf $out/share/fonts/truetype/
     cp -v fonts.scale-ttf $out/share/fonts/truetype/fonts.scale
   '';
+  sha256 = "0zqqjcrqmbd4389hqz2dwymkkcxjrq9ylyriiv3gbmzl6l1ffk3g";
 
   meta = {
     description = "Culmus Hebrew fonts";
     longDescription = "The Culmus project aims at providing the Hebrew-speaking GNU/Linux and Unix community with a basic collection of Hebrew fonts for X Windows.";
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.gpl2;
+    platforms = lib.platforms.all;
+    license = lib.licenses.gpl2;
     homepage = http://culmus.sourceforge.net/;
     downloadPage = http://culmus.sourceforge.net/download.html;
   };
diff --git a/pkgs/data/fonts/d2coding/default.nix b/pkgs/data/fonts/d2coding/default.nix
index abc0dba8165..00823fe05b2 100644
--- a/pkgs/data/fonts/d2coding/default.nix
+++ b/pkgs/data/fonts/d2coding/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchzip, unzip }:
+{ lib, fetchzip, unzip }:
 
 let
   version = "1.3.2";
   pname = "d2codingfont";
 
-in fetchzip rec {
+in fetchzip {
   name = "${pname}-${version}";
   url = "https://github.com/naver/${pname}/releases/download/VER${version}/D2Coding-Ver${version}-20180524.zip";
 
@@ -15,7 +15,7 @@ in fetchzip rec {
 
   sha256 = "1812r82530wzfki7k9cm35fy6k2lvis7j6w0w8svc784949m1wwj";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Monospace font with support for Korean and latin characters";
     longDescription = ''
       D2Coding is a monospace font developed by a Korean IT Company called Naver.
diff --git a/pkgs/data/fonts/dejavu-fonts/default.nix b/pkgs/data/fonts/dejavu-fonts/default.nix
index fa877ea6ed5..e563d201ff3 100644
--- a/pkgs/data/fonts/dejavu-fonts/default.nix
+++ b/pkgs/data/fonts/dejavu-fonts/default.nix
@@ -38,38 +38,25 @@ let
 
     preBuild = "patchShebangs scripts";
 
-    installPhase = ''
-      mkdir -p $out/share/fonts/truetype
-      cp build/*.ttf $out/share/fonts/truetype/
-    '';
+    installPhase = "install -m444 -Dt $out/share/fonts/truetype build/*.ttf";
 
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "1cxprzsr826d888ha4zxx28i9jfj1k74q9kfv3v2rf603460iha9";
     inherit meta;
   };
 
   minimal = stdenv.mkDerivation {
     name = "dejavu-fonts-minimal-${version}";
     buildCommand = ''
-      install -D ${full-ttf}/share/fonts/truetype/DejaVuSans.ttf $out/share/fonts/truetype/DejaVuSans.ttf
+      install -m444 -Dt $out/share/fonts/truetype ${full-ttf}/share/fonts/truetype/DejaVuSans.ttf
     '';
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "0ybsynp9904vmd3qv5b438swhx43m5q6gfih3i32iw33rks8nkpj";
     inherit meta;
   };
 in stdenv.mkDerivation {
   name = "dejavu-fonts-${version}";
   buildCommand = ''
-    mkdir -p $out/share/fonts/truetype
-    cp ${full-ttf}/share/fonts/truetype/*.ttf $out/share/fonts/truetype/
+    install -m444 -Dt $out/share/fonts/truetype ${full-ttf}/share/fonts/truetype/*.ttf
     ln -s --relative --force --target-directory=$out/share/fonts/truetype ${minimal}/share/fonts/truetype/DejaVuSans.ttf
   '';
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "15l93xm9mg2ziaxv4nqy2a4jaz54d05xf0hfz1h84bclzb882llh";
   inherit meta;
 
-  passthru.minimal = minimal;
+  passthru = { inherit minimal full-ttf; };
 }
diff --git a/pkgs/data/fonts/dina-pcf/default.nix b/pkgs/data/fonts/dina-pcf/default.nix
index 975bbc1749a..27306a0ef05 100644
--- a/pkgs/data/fonts/dina-pcf/default.nix
+++ b/pkgs/data/fonts/dina-pcf/default.nix
@@ -60,6 +60,5 @@ stdenv.mkDerivation rec {
     downloadPage = https://www.donationcoder.com/Software/Jibz/Dina/;
     license = licenses.free;
     maintainers = [ maintainers.prikhi ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/dina/default.nix b/pkgs/data/fonts/dina/default.nix
index 66feaf0ff54..8638ec74f77 100644
--- a/pkgs/data/fonts/dina/default.nix
+++ b/pkgs/data/fonts/dina/default.nix
@@ -5,11 +5,13 @@ let
 in fetchzip rec {
   name = "dina-font-${version}";
 
-  url = "http://www.donationcoder.com/Software/Jibz/Dina/downloads/Dina.zip";
+  # `meta.homepage` has no direct download link
+  url = "https://github.com/ProgrammingFonts/ProgrammingFonts/archive/b15ef365146be7eef4a46979cfe157c5aeefb7c0.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.bdf -d $out/share/fonts
+    unzip -j $downloadedFile '*/Dina/*.bdf' -d $out/share/fonts
+    chmod u-x $out/share/fonts/*
   '';
 
   sha256 = "02a6hqbq18sw69npylfskriqhvj1nsk65hjjyd05nl913ycc6jl7";
@@ -25,6 +27,5 @@ in fetchzip rec {
     downloadPage = https://www.donationcoder.com/Software/Jibz/Dina/;
     license = licenses.free;
     maintainers = [ maintainers.prikhi ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/dosemu-fonts/default.nix b/pkgs/data/fonts/dosemu-fonts/default.nix
index f564507c777..4837425d19a 100644
--- a/pkgs/data/fonts/dosemu-fonts/default.nix
+++ b/pkgs/data/fonts/dosemu-fonts/default.nix
@@ -31,6 +31,5 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Various fonts from the DOSEmu project";
-    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/dosis/default.nix b/pkgs/data/fonts/dosis/default.nix
index 01157e8b7e4..48b170e2e1b 100644
--- a/pkgs/data/fonts/dosis/default.nix
+++ b/pkgs/data/fonts/dosis/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchzip}:
+{ lib, fetchFromGitHub }:
 
-fetchzip rec {
+fetchFromGitHub rec {
   name = "dosis-1.007";
 
-  url = https://github.com/impallari/Dosis/archive/12df1e13e58768f20e0d48ff15651b703f9dd9dc.zip;
+  owner = "impallari";
+  repo = "Dosis";
+  rev = "12df1e13e58768f20e0d48ff15651b703f9dd9dc";
 
   postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.otf                    -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}"
+    tar xf $downloadedFile --strip=1
+    find . -name '*.otf' -exec install -m444 -Dt $out/share/fonts/opentype {} \;
+    install -m444 -Dt $out/share/doc/${name} README.md FONTLOG.txt
   '';
 
-  sha256 = "11a8jmgaly14l7rm3jxkwwv3ngr8fdlkp70nicjk2rg0nny2cvfq";
+  sha256 = "0vz25w45i8flfvppymr5h83pa2n1r37da20v7691p44018fdsdny";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A very simple, rounded, sans serif family";
     longDescription = ''
       Dosis is a very simple, rounded, sans serif family.
diff --git a/pkgs/data/fonts/doulos-sil/default.nix b/pkgs/data/fonts/doulos-sil/default.nix
index 324f6f63e55..59371593f79 100644
--- a/pkgs/data/fonts/doulos-sil/default.nix
+++ b/pkgs/data/fonts/doulos-sil/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "5.000";
@@ -16,7 +16,7 @@ in
 
     sha256 = "04a9cr7jbw7d8llcj8xsqp9rp8w6gcgbd9sdwvi02kz7jhqa0vad";
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       homepage = https://software.sil.org/doulos;
       description = "A font that provides complete support for the International Phonetic Alphabet";
       longDescription = ''
diff --git a/pkgs/data/fonts/eb-garamond/default.nix b/pkgs/data/fonts/eb-garamond/default.nix
index 53a5d9f73cc..14233268991 100644
--- a/pkgs/data/fonts/eb-garamond/default.nix
+++ b/pkgs/data/fonts/eb-garamond/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "0.016";
@@ -15,7 +15,7 @@ in fetchzip rec {
 
   sha256 = "04jq4mpln85zzbla8ybsjw7vn9qr3r0snmk5zykrm24imq7ripv3";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://www.georgduffner.at/ebgaramond/;
     description = "Digitization of the Garamond shown on the Egenolff-Berner specimen";
     maintainers = with maintainers; [ relrod rycee ];
diff --git a/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix b/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix
index d2b376f5bba..e7981f63baf 100644
--- a/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix
+++ b/pkgs/data/fonts/emacs-all-the-icons-fonts/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "3.2.0";
@@ -14,7 +14,7 @@ in fetchzip {
 
   sha256 = "0ps8q9nkx67ivgn8na4s012360v36jwr0951rsg7j6dyyw9g41jq";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Icon fonts for emacs all-the-icons";
     longDescription = ''
       The emacs package all-the-icons provides icons to improve
diff --git a/pkgs/data/fonts/emojione/default.nix b/pkgs/data/fonts/emojione/default.nix
index f466a5b230d..3e71352f802 100644
--- a/pkgs/data/fonts/emojione/default.nix
+++ b/pkgs/data/fonts/emojione/default.nix
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
     description = "Open source emoji set";
     homepage = http://emojione.com/;
     license = licenses.cc-by-40;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/data/fonts/encode-sans/default.nix b/pkgs/data/fonts/encode-sans/default.nix
index 96d64e13893..787a83f9561 100644
--- a/pkgs/data/fonts/encode-sans/default.nix
+++ b/pkgs/data/fonts/encode-sans/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "encode-sans-1.002";
@@ -13,7 +13,7 @@ fetchzip rec {
 
   sha256 = "16mx894zqlwrhnp4rflgayxhxppmsj6k7haxdngajhb30rlwf08p";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A versatile sans serif font family";
     longDescription = ''
       The Encode Sans family is a versatile workhorse. Featuring a huge range of
diff --git a/pkgs/data/fonts/eunomia/default.nix b/pkgs/data/fonts/eunomia/default.nix
index 56fa718f867..55250156fcd 100644
--- a/pkgs/data/fonts/eunomia/default.nix
+++ b/pkgs/data/fonts/eunomia/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib, fetchzip }:
 
 let
   majorVersion = "0";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://dotcolon.net/font/eunomia/;
     description = "A futuristic decorative font.";
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/f5_6/default.nix b/pkgs/data/fonts/f5_6/default.nix
index 25cab717cee..28969f02364 100644
--- a/pkgs/data/fonts/f5_6/default.nix
+++ b/pkgs/data/fonts/f5_6/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib, fetchzip }:
 
 let
   majorVersion = "0";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
     description = "A weighted decorative font.";
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/fantasque-sans-mono/default.nix b/pkgs/data/fonts/fantasque-sans-mono/default.nix
index 7d05482ef5f..5b982dcaa3e 100644
--- a/pkgs/data/fonts/fantasque-sans-mono/default.nix
+++ b/pkgs/data/fonts/fantasque-sans-mono/default.nix
@@ -1,9 +1,7 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
-
   version = "1.7.2";
-
 in
 
 fetchzip rec {
@@ -19,7 +17,7 @@ fetchzip rec {
 
   sha256 = "1fwvbqfrgb539xybwdawvwa8cg4f215kw905rgl9a6p0iwa1nxqk";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/belluzj/fantasque-sans;
     description = "A font family with a great monospaced variant for programmers";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/ferrum/default.nix b/pkgs/data/fonts/ferrum/default.nix
index bbe185bd848..ec3f3218ea5 100644
--- a/pkgs/data/fonts/ferrum/default.nix
+++ b/pkgs/data/fonts/ferrum/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib, fetchzip }:
 
 let
   majorVersion = "0";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
     description = "A decorative font.";
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/fira/default.nix b/pkgs/data/fonts/fira/default.nix
index ce6e011d8a6..fe27ac2cd5d 100644
--- a/pkgs/data/fonts/fira/default.nix
+++ b/pkgs/data/fonts/fira/default.nix
@@ -1,18 +1,23 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
-fetchzip rec {
-  name = "fira-4.106";
+let
+  version = "4.106";
+in fetchFromGitHub {
+  name = "fira-${version}";
 
-  url = https://github.com/mozilla/Fira/archive/4.106.zip;
+  owner = "mozilla";
+  repo = "Fira";
+  rev = version;
 
   postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile Fira-4.106/otf/FiraSans\*.otf -d $out/share/fonts/opentype
+    tar xf $downloadedFile --strip=1
+    mkdir -p $out/share/fonts/opentype
+    cp otf/*.otf $out/share/fonts/opentype
   '';
 
   sha256 = "0c97nmihcq0ki7ywj8zn048a2bgrszc61lb9p0djfi65ar52jab4";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://mozilla.github.io/Fira/;
     description = "Sans-serif font for Firefox OS";
     longDescription = ''
diff --git a/pkgs/data/fonts/fixedsys-excelsior/default.nix b/pkgs/data/fonts/fixedsys-excelsior/default.nix
index b0c481dfcb5..14232edee0c 100644
--- a/pkgs/data/fonts/fixedsys-excelsior/default.nix
+++ b/pkgs/data/fonts/fixedsys-excelsior/default.nix
@@ -1,33 +1,25 @@
 { stdenv, fetchurl } :
 
-let 
+let
   major = "3";
   minor = "00";
   version = "${major}.${minor}";
-
-in
-
-stdenv.mkDerivation rec {
+in fetchurl rec {
   name = "fixedsys-excelsior-${version}";
 
-  src = fetchurl {
-    url = http://www.fixedsysexcelsior.com/fonts/FSEX300.ttf;
-    sha256 = "6ee0f3573bc5e33e93b616ef6282f49bc0e227a31aa753ac76ed2e3f3d02056d";
-  };
-
-  phases = [ "installPhase" ];
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/truetype/
-    cp $src $out/share/fonts/truetype/${name}.ttf
+  urls = [
+    http://www.fixedsysexcelsior.com/fonts/FSEX300.ttf
+    https://raw.githubusercontent.com/chrissimpkins/codeface/master/fonts/fixed-sys-excelsior/FSEX300.ttf
+    http://tarballs.nixos.org/sha256/6ee0f3573bc5e33e93b616ef6282f49bc0e227a31aa753ac76ed2e3f3d02056d
+  ];
+  downloadToTemp = true;
+  recursiveHash = true;
+  postFetch = ''
+    install -m444 -D $downloadedFile $out/share/fonts/truetype/${name}.ttf
   '';
 
-  outputHashMode = "recursive";
-
-  outputHashAlgo = "sha256";
+  sha256 = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37";
 
-  outputHash = "32d6f07f1ff08c764357f8478892b2ba5ade23427af99759f34a0ba24bcd2e37";
-  
   meta = {
     description = "Pan-unicode version of Fixedsys, a classic DOS font.";
     homepage = http://www.fixedsysexcelsior.com/;
diff --git a/pkgs/data/fonts/font-awesome-5/default.nix b/pkgs/data/fonts/font-awesome-5/default.nix
index 312cef61ec7..8ed30632c0a 100644
--- a/pkgs/data/fonts/font-awesome-5/default.nix
+++ b/pkgs/data/fonts/font-awesome-5/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
 let
   version = "5.8.2";
-in fetchzip rec {
+in fetchFromGitHub rec {
   name = "font-awesome-${version}";
 
-  url = "https://github.com/FortAwesome/Font-Awesome/archive/${version}.zip";
+  owner = "FortAwesome";
+  repo = "Font-Awesome";
+  rev = version;
 
   postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile "Font-Awesome-${version}/otfs/*.otf" -d $out/share/fonts/opentype
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype otfs/*.otf
   '';
 
   sha256 = "1h0qhvkfyfs4579jvrk3gwc7dp4i9s46bkj406b493dvmxxhv986";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Font Awesome - OTF font";
     longDescription = ''
       Font Awesome gives you scalable vector icons that can instantly be customized.
diff --git a/pkgs/data/fonts/fontconfig-penultimate/default.nix b/pkgs/data/fonts/fontconfig-penultimate/default.nix
index e1be0da428a..601146d99a9 100644
--- a/pkgs/data/fonts/fontconfig-penultimate/default.nix
+++ b/pkgs/data/fonts/fontconfig-penultimate/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip
+{ lib, fetchzip
 , version ? "0.3.5"
 , sha256 ? "1gfgl7qimp76q4z0nv55vv57yfs4kscdr329np701k0xnhncwvrk"
 }:
@@ -14,7 +14,7 @@ fetchzip {
     unzip -j $downloadedFile \*.conf -d $out/etc/fonts/conf.d
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/ttuegel/fontconfig-penultimate;
     description = "Sensible defaults for Fontconfig";
     license = licenses.asl20;
diff --git a/pkgs/data/fonts/freefont-ttf/default.nix b/pkgs/data/fonts/freefont-ttf/default.nix
index 39118716f6f..c5e19edea26 100644
--- a/pkgs/data/fonts/freefont-ttf/default.nix
+++ b/pkgs/data/fonts/freefont-ttf/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "freefont-ttf-20120503";
@@ -20,8 +20,8 @@ fetchzip rec {
       10646/Unicode UCS (Universal Character Set).
     '';
     homepage = https://www.gnu.org/software/freefont/;
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.all;
+    license = lib.licenses.gpl3Plus;
+    platforms = lib.platforms.all;
     maintainers = [];
   };
 }
diff --git a/pkgs/data/fonts/gandom-fonts/default.nix b/pkgs/data/fonts/gandom-fonts/default.nix
index 938ff272cbd..4d925b269cd 100644
--- a/pkgs/data/fonts/gandom-fonts/default.nix
+++ b/pkgs/data/fonts/gandom-fonts/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "gandom-fonts";
   version = "0.6";
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+  owner = "rastikerdar";
+  repo = "gandom-font";
+  rev = "v${version}";
 
-  src = fetchFromGitHub {
-    owner = "rastikerdar";
-    repo = "gandom-font";
-    rev = "v${version}";
-    sha256 = "1pdbqhvcsz6aq3qgarhfd05ip0wmh7bxqkmxrwa0kgxsly6zxz9x";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/gandom-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/gandom-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/gandom-fonts {} \;
   '';
+  sha256 = "0zsq6s9ziyb5jz0v8aj00dlxd1aly0ibxgszd05dfvykmgz051lc";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/rastikerdar/gandom-font;
     description = "A Persian (Farsi) Font - فونت (قلم) فارسی گندم";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/gdouros/default.nix b/pkgs/data/fonts/gdouros/default.nix
index 359074099ba..71c92a72e59 100644
--- a/pkgs/data/fonts/gdouros/default.nix
+++ b/pkgs/data/fonts/gdouros/default.nix
@@ -1,29 +1,16 @@
-{stdenv, fetchzip, lib}:
+{ fetchzip, lib }:
 
 let
   fonts = {
-    symbola = { version = "9.17"; file = "Symbola.zip"; sha256 = "13z18lxx0py54nns61ihgxacpf1lg9s7g2sbpbnxpllqw7j73iq2";
-                description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; };
-    aegyptus = { version = "6.17"; file = "Aegyptus.zip"; sha256 = "19rkf89msqb076qjdfa75pqrx35c3slj64vxw08zqdvyavq7jc79";
-                 description = "Egyptian Hieroglyphs, Coptic, Meroitic"; };
-    akkadian = { version = "7.17"; file = "AkkadianAssyrian.zip"; sha256 = "1xw2flrwb5r89sk7jd195v3svsb21brf1li2i3pdjcfqxfp5m0g7";
-                 description = "Sumero-Akkadian Cuneiform"; };
-    anatolian = { version = "5.17"; file = "Anatolian.zip"; sha256 = "0dqcyjakc4fy076pjplm6psl8drpwxiwyq97xrf6a3qa098gc0qc";
-                  description = "Anatolian Hieroglyphs"; };
-    maya = { version = "4.17"; file = "Maya.zip"; sha256 = "17s5c23wpqrcq5h6pgssbmzxiv4jvhdh2ssr99j9q6j32a51h9gh";
-             description = "Maya Hieroglyphs"; };
-    unidings = { version = "9.17"; file = "Unidings.zip"; sha256 = "0nzw8mrhk0hbjnl2cgi31b00vmi785win86kiz9d2yzdfz1is6sk";
-                 description = "Glyphs and Icons for blocks of The Unicode Standard"; };
-    musica = { version = "3.17"; file = "Musica.zip"; sha256 = "0mnv61dxzs2npvxgs5l9q81q19xzzi1sn53x5qwpiirkmi6bg5y6";
-               description = "Musical Notation"; };
-    analecta = { version = "5.17"; file = "Analecta.zip"; sha256 = "13npnfscd9mz6vf89qxxbj383njf53a1smqjh0c1w2lvijgak3aj";
-                 description = "Coptic, Gothic, Deseret"; };
-    textfonts = { version = "7.17"; file = "TextfontsFonts.zip"; sha256 = "1ggflqnslp81v8pzmzx6iwi2sa38l9bpivjjci7nvx3y5xynm6wl";
-                 description = "Aroania, Anaktoria, Alexander, Avdira and Asea"; };
-    aegan = { version = "9.17"; file = "AegeanFonts.zip"; sha256 = "0dm2ck3p11bc9izrh7xz3blqfqg1mgsvy4jsgmz9rcs4m74xrhsf";
-              description = "Aegean"; };
-    abydos = { version = "1.23"; file = "AbydosFont.zip"; sha256 = "04r7ysnjjq0nrr3m8lbz8ssyx6xaikqybjqxzl3ziywl9h6nxdj8";
-               description = "AbydosFont"; };
+    aegan     = { version = "10.00"; file = "Aegean.zip";       sha256 = "0k47nhzw4vx771ch3xx8mf6xx5vx0hg0cif5jdlmdaz4h2c3rawz"; description = "Aegean"; };
+    aegyptus  = { version =  "8.00"; file = "Aegyptus.zip";     sha256 = "13h2pi641k9vxgqi9l11mjya10ym9ln54wrkwxx6gxq63zy7y5mj"; description = "Egyptian Hieroglyphs, Coptic, Meroitic"; };
+    akkadian  = { version =  "7.18"; file = "Akkadian.zip";     sha256 = "1bplcvszbdrk85kqipn9lzhr62647wjibz1p8crzjvsw6f9ymxy3"; description = "Sumero-Akkadian Cuneiform"; };
+    assyrian  = { version =  "2.00"; file = "AssyrianFont.zip"; sha256 = "0vdvb24vsnmwzd6bw14akqg0hbvsk8avgnbwk9fkybn1f801475k"; description = "Neo-Assyrian in Unicode with OpenType"; };
+    eemusic   = { version =  "2.00"; file = "EEMusic.zip";      sha256 = "1y9jf105a2b689m7hdjmhhr7z5j0qd2w6dmb3iic9bwaczlrjy7j"; description = "Byzantine Musical Notation in Unicode with OpenType"; };
+    maya      = { version =  "4.18"; file = "Maya.zip";         sha256 = "08z2ch0z2c43fjfg5m4yp3l1dp0cbk7lv5i7wzsr3cr9kr59wpi9"; description = "Maya Hieroglyphs"; };
+    symbola   = { version = "12.00"; file = "Symbola.zip";      sha256 = "1i3xra33xkj32vxs55xs2afrqyc822nk25669x78px5g5qd8gypm"; description = "Basic Latin, Greek, Cyrillic and many Symbol blocks of Unicode"; };
+    textfonts = { version =  "9.00"; file = "Textfonts.zip";    sha256 = "0wzxz4j4fgk81b88d58715n1wvq2mqmpjpk4g5hi3vk77y2zxc4d"; description = "Aroania, Anaktoria, Alexander, Avdira and Asea"; };
+    unidings  = { version =  "9.19"; file = "Unidings.zip";     sha256 = "1bybzgdqhmq75hb12n3pjrsdcpw1a6sgryx464s68jlq4zi44g78"; description = "Glyphs and Icons for blocks of The Unicode Standard"; };
   };
 
   mkpkg = name_: {version, file, sha256, description}: fetchzip rec {
@@ -42,9 +29,8 @@ let
       # In lieu of a license:
       # Fonts in this site are offered free for any use;
       # they may be installed, embedded, opened, edited, modified, regenerated, posted, packaged and redistributed.
-      license = stdenv.lib.licenses.free;
+      license = lib.licenses.free;
       homepage = http://users.teilar.gr/~g1951d/;
-      platforms = stdenv.lib.platforms.unix;
     };
   };
 in
diff --git a/pkgs/data/fonts/gentium-book-basic/default.nix b/pkgs/data/fonts/gentium-book-basic/default.nix
index 9b626291c2c..505b273c2d2 100644
--- a/pkgs/data/fonts/gentium-book-basic/default.nix
+++ b/pkgs/data/fonts/gentium-book-basic/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   major = "1";
@@ -11,14 +11,13 @@ in fetchzip rec {
 
   postFetch = ''
     mkdir -p $out/share/{doc,fonts}
-    unzip -l $downloadedFile
     unzip -j $downloadedFile \*.ttf                            -d $out/share/fonts/truetype
     unzip -j $downloadedFile \*/FONTLOG.txt \*/GENTIUM-FAQ.txt -d $out/share/doc/${name}
   '';
 
   sha256 = "0598zr5f7d6ll48pbfbmmkrybhhdks9b2g3m2g67wm40070ffzmd";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://software.sil.org/gentium/;
     description = "A high-quality typeface family for Latin, Cyrillic, and Greek";
     maintainers = with maintainers; [ ];
diff --git a/pkgs/data/fonts/gentium/default.nix b/pkgs/data/fonts/gentium/default.nix
index 829eca8c06f..a60a39f4f01 100644
--- a/pkgs/data/fonts/gentium/default.nix
+++ b/pkgs/data/fonts/gentium/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "5.000";
@@ -17,7 +17,7 @@ in fetchzip rec {
 
   sha256 = "1qr2wjdmm93167b0w9cidlf3wwsyjx4838ja9jmm4jkyian5whhp";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://software.sil.org/gentium/;
     description = "A high-quality typeface family for Latin, Cyrillic, and Greek";
     longDescription = ''
diff --git a/pkgs/data/fonts/go-font/default.nix b/pkgs/data/fonts/go-font/default.nix
index a0af38cfd24..bb28d3be67f 100644
--- a/pkgs/data/fonts/go-font/default.nix
+++ b/pkgs/data/fonts/go-font/default.nix
@@ -1,26 +1,22 @@
 { stdenv, fetchgit }:
 
-stdenv.mkDerivation rec {
-  name = "go-font-${version}";
+let
   version = "2017-03-30";
+in (fetchgit {
+  name = "go-font-${version}";
+  url = "https://go.googlesource.com/image";
+  rev = "f03a046406d4d7fbfd4ed29f554da8f6114049fc";
 
-  src = fetchgit {
-    url = "https://go.googlesource.com/image";
-    rev = "f03a046406d4d7fbfd4ed29f554da8f6114049fc";
-    sha256 = "1aq6mnjayks55gd9ahavk6jfydlq5lm4xm0xk4pd5sqa74p5p74d";
-  };
-
-  installPhase = ''
+  postFetch = ''
+    mv $out/* .
     mkdir -p $out/share/fonts/truetype
     mkdir -p $out/share/doc/go-font
     cp font/gofont/ttfs/* $out/share/fonts/truetype
     mv $out/share/fonts/truetype/README $out/share/doc/go-font/LICENSE
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "10hfm2cpxlx1ng7r2mbvykjhmy131qlgzpdzj7ibg9kr293bcjc0";
-
+  sha256 = "1488426ya2nzmwjas947fx9h5wzxrp9wasn8nkjqf0y0mpd4f1xz";
+}) // {
   meta = with stdenv.lib; {
     homepage = https://blog.golang.org/go-fonts;
     description = "The Go font family";
diff --git a/pkgs/data/fonts/gohufont/default.nix b/pkgs/data/fonts/gohufont/default.nix
index b394cb47157..59ac4ec850b 100644
--- a/pkgs/data/fonts/gohufont/default.nix
+++ b/pkgs/data/fonts/gohufont/default.nix
@@ -67,6 +67,5 @@ stdenv.mkDerivation rec {
     homepage    = http://font.gohu.org/;
     license     = licenses.wtfpl;
     maintainers = with maintainers; [ epitrochoid rnhmjoj ];
-    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/gyre/default.nix b/pkgs/data/fonts/gyre/default.nix
index 492d89a674c..91a8aaf3c30 100644
--- a/pkgs/data/fonts/gyre/default.nix
+++ b/pkgs/data/fonts/gyre/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   baseName = "gyre-fonts";
@@ -25,8 +25,8 @@ in fetchzip {
       covering all modern European languages and then some
     '';
     homepage = "http://www.gust.org.pl/projects/e-foundry/tex-gyre/index_html#Readings";
-    license = stdenv.lib.licenses.lppl13c;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ bergey ];
+    license = lib.licenses.lppl13c;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ bergey ];
   };
 }
diff --git a/pkgs/data/fonts/hack/default.nix b/pkgs/data/fonts/hack/default.nix
index e77fcc3c3a3..ef0df1ba67f 100644
--- a/pkgs/data/fonts/hack/default.nix
+++ b/pkgs/data/fonts/hack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "3.003";
@@ -14,7 +14,7 @@ in fetchzip rec {
 
   sha256 = "1l6ih6v7dqali5c7zh6z2xnbf9h2wz0ag6fdgszmqd5lnhw39v6s";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A typeface designed for source code";
     longDescription = ''
       Hack is hand groomed and optically balanced to be a workhorse face for
diff --git a/pkgs/data/fonts/hanazono/default.nix b/pkgs/data/fonts/hanazono/default.nix
index 27459b2d1f3..4def0b44b14 100644
--- a/pkgs/data/fonts/hanazono/default.nix
+++ b/pkgs/data/fonts/hanazono/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "20141012";
@@ -15,7 +15,7 @@ in fetchzip {
 
   sha256 = "0z0fgrjzp0hqqnhfisivciqpxd2br2w2q9mvxkglj44np2q889w2";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Free kanji font containing 96,327 characters";
     homepage = http://fonts.jp/hanazono/;
 
diff --git a/pkgs/data/fonts/hasklig/default.nix b/pkgs/data/fonts/hasklig/default.nix
index de7dd5834e4..6286cf8a1df 100644
--- a/pkgs/data/fonts/hasklig/default.nix
+++ b/pkgs/data/fonts/hasklig/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "1.1";
@@ -9,13 +9,12 @@ in fetchzip {
 
   postFetch = ''
     unzip $downloadedFile
-    mkdir -p $out/share/fonts/opentype
-    cp *.otf $out/share/fonts/opentype
+    install -m444 -Dt $out/share/fonts/opentype *.otf
   '';
 
   sha256 = "0xxyx0nkapviqaqmf3b610nq17k20afirvc72l32pfspsbxz8ybq";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/i-tu/Hasklig;
     description = "A font with ligatures for Haskell code based off Source Code Pro";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/helvetica-neue-lt-std/default.nix b/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
index a614017b809..759d2c2db1d 100644
--- a/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
+++ b/pkgs/data/fonts/helvetica-neue-lt-std/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2013.06.07"; # date of most recent file in distribution
@@ -28,8 +28,8 @@ in fetchzip rec {
       font. The numbers are well spaced and defined with high accuracy. The
       punctuation marks are heavily detailed as well.
     '';
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-    platforms = stdenv.lib.platforms.all;
+    license = lib.licenses.unfree;
+    maintainers = [ lib.maintainers.romildo ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/hermit/default.nix b/pkgs/data/fonts/hermit/default.nix
index c247ad15543..f641b36a1b0 100644
--- a/pkgs/data/fonts/hermit/default.nix
+++ b/pkgs/data/fonts/hermit/default.nix
@@ -1,23 +1,20 @@
-{ stdenv, fetchurl }:
+{ lib, fetchzip }:
 
-stdenv.mkDerivation rec {
+let
   pname = "hermit";
   version = "2.0";
+in fetchzip rec {
+  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://pcaro.es/d/otf-${pname}-${version}.tar.gz";
-    sha256 = "09rmy3sbf1j1hr8zidighjgqc8kp0wsra115y27vrnlf10ml6jy0";
-  };
-
-  sourceRoot = ".";
+  url = "https://pcaro.es/d/otf-${name}.tar.gz";
 
-  dontBuild = true;
-  installPhase = ''
-    mkdir -p $out/share/fonts/opentype
-    cp *.otf $out/share/fonts/opentype/
+  postFetch = ''
+    tar xf $downloadedFile
+    install -m444 -Dt $out/share/fonts/opentype *.otf
   '';
+  sha256 = "127hnpxicqya7v1wmzxxqafq3aj1n33i4j5ncflbw6gj5g3bizwl";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "monospace font designed to be clear, pragmatic and very readable";
     homepage = https://pcaro.es/p/hermit;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/hyperscrypt/default.nix b/pkgs/data/fonts/hyperscrypt/default.nix
index 80516eb0293..362781c05bb 100644
--- a/pkgs/data/fonts/hyperscrypt/default.nix
+++ b/pkgs/data/fonts/hyperscrypt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, lib }:
+{ fetchzip, lib }:
 
 let
   version = "1.1";
@@ -15,7 +15,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*${pname}.otf -d $out/share/fonts/opentype/${pname}.otf
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://velvetyne.fr/fonts/hyper-scrypt/;
     description = "A modern stencil typeface inspired by stained glass technique";
     longDescription = ''
diff --git a/pkgs/data/fonts/inconsolata/lgc.nix b/pkgs/data/fonts/inconsolata/lgc.nix
index 8563e0e112a..8b557008175 100644
--- a/pkgs/data/fonts/inconsolata/lgc.nix
+++ b/pkgs/data/fonts/inconsolata/lgc.nix
@@ -14,20 +14,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ fontforge ];
 
   installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp -v $(find . -name '*.ttf') $out/share/fonts/truetype
-
-    mkdir -p $out/share/fonts/opentype
-    cp -v $(find . -name '*.otf') $out/share/fonts/opentype
-
-    mkdir -p "$out/doc/${name}"
-    cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \;
+    find . -name '*.otf' -exec install -m444 -Dt $out/share/fonts/opentype {} \;
+    install -m444 -Dt $out/share/doc/${name} LICENSE README
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "18brmw0h4hjq1m2l0abwc3zmib4rnfalpywdk68djm711zldxr76";
-
   meta = with stdenv.lib; {
     description = "Fork of Inconsolata font, with proper support of Cyrillic and Greek";
     longDescription = ''
@@ -57,6 +48,5 @@ stdenv.mkDerivation rec {
     license = licenses.ofl;
     homepage = https://github.com/MihailJP/Inconsolata-LGC;
     maintainers = with maintainers; [ avnik rht ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/inriafonts/default.nix b/pkgs/data/fonts/inriafonts/default.nix
index a2192385abc..52c28db639e 100644
--- a/pkgs/data/fonts/inriafonts/default.nix
+++ b/pkgs/data/fonts/inriafonts/default.nix
@@ -1,26 +1,22 @@
-{ stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
+{ lib, fetchFromGitHub }:
 
+let
   pname = "inriafonts";
   version = "1.200";
+in fetchFromGitHub rec {
   name = "${pname}-${version}";
-
-src = fetchFromGitHub {
   owner = "BlackFoundry";
   repo = "InriaFonts";
   rev = "v${version}";
-  sha256 = "06775y99lyh6hj5hzvrx56iybdck8a8xfqkipqd5c4cldg0a9hh8";
-};
 
-installPhase = ''
-  mkdir -p $out/share/fonts/truetype
-  cp fonts/*/TTF/*.ttf $out/share/fonts/truetype
-  mkdir -p $out/share/fonts/opentype
-  cp fonts/*/OTF/*.otf $out/share/fonts/opentype
-'';
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/truetype fonts/*/TTF/*.ttf
+    install -m444 -Dt $out/share/fonts/opentype fonts/*/OTF/*.otf
+  '';
+  sha256 = "0wrwcyycyzvgvgnlmwi1ncdvwb8f6bbclynd1105rsyxgrz5dd70";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://black-foundry.com/work/inria;
     description = "Inria Sans and Inria Serif";
     longDescription = ''
@@ -32,7 +28,7 @@ installPhase = ''
       typeface with a unapologetically contemporary design as the
       Sans-serif part and a more rational axis and drawing for the
       serif. Both members comes in 3 weights with matching italics.
-      '';
+    '';
     license = licenses.ofl;
     maintainers = with maintainers; [ leenaars ];
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/inter-ui/default.nix b/pkgs/data/fonts/inter-ui/default.nix
index 15032ebb3e3..d9ef6684faa 100644
--- a/pkgs/data/fonts/inter-ui/default.nix
+++ b/pkgs/data/fonts/inter-ui/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 # XXX: IMPORTANT:
 # For compat, keep this at the last version that used the name "Inter UI"
@@ -18,7 +18,7 @@ in fetchzip {
 
   sha256 = "01d2ql803jrhss6g60djvs08x9xl7z6b3snkn03vqnrajdgifcl4";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://rsms.me/inter/;
     description = "A typeface specially designed for user interfaces";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/inter/default.nix b/pkgs/data/fonts/inter/default.nix
index 8973eae1464..f11f13283d5 100644
--- a/pkgs/data/fonts/inter/default.nix
+++ b/pkgs/data/fonts/inter/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "3.5";
@@ -14,7 +14,7 @@ in fetchzip {
 
   sha256 = "0zqixzzbb3n1j4jvpjm0hlxc32j53hgq4j078gihjkhgvjhsklf2";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://rsms.me/inter/;
     description = "A typeface specially designed for user interfaces";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/ipaexfont/default.nix b/pkgs/data/fonts/ipaexfont/default.nix
index dfeab5124c8..4d7e2fa380e 100644
--- a/pkgs/data/fonts/ipaexfont/default.nix
+++ b/pkgs/data/fonts/ipaexfont/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
-fetchzip rec {
+fetchzip {
   name = "ipaexfont-003.01";
 
-  url = "http://dl.ipafont.ipa.go.jp/IPAexfont/IPAexfont00301.zip";
+  url = "http://web.archive.org/web/20160616003021/http://dl.ipafont.ipa.go.jp/IPAexfont/IPAexfont00301.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
@@ -12,7 +12,7 @@ fetchzip rec {
 
   sha256 = "02a6sj990cnig5lq0m54nmbmfkr3s57jpxl9fiyzrjmigvd1qmhj";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Japanese font package with Mincho and Gothic fonts";
     longDescription = ''
       IPAex font is a Japanese font developed by the Information-technology
@@ -24,6 +24,5 @@ fetchzip rec {
     homepage = http://ipafont.ipa.go.jp/;
     license = licenses.ipa;
     maintainers = with maintainers; [ gebner ];
-    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/data/fonts/ipafont/default.nix b/pkgs/data/fonts/ipafont/default.nix
index c056f14f46f..d1cb0070883 100644
--- a/pkgs/data/fonts/ipafont/default.nix
+++ b/pkgs/data/fonts/ipafont/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "ipafont-003.03";
@@ -20,8 +20,7 @@ fetchzip {
       suitable for both display and printing.
     '';
     homepage = http://ipafont.ipa.go.jp/ipafont/;
-    license = stdenv.lib.licenses.ipa;
-    maintainers = [ stdenv.lib.maintainers.auntie ];
-    platforms = stdenv.lib.platforms.unix;
+    license = lib.licenses.ipa;
+    maintainers = [ lib.maintainers.auntie ];
   };
 }
diff --git a/pkgs/data/fonts/ir-standard-fonts/default.nix b/pkgs/data/fonts/ir-standard-fonts/default.nix
index af1392e9d5e..1501e0fb7fa 100644
--- a/pkgs/data/fonts/ir-standard-fonts/default.nix
+++ b/pkgs/data/fonts/ir-standard-fonts/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "ir-standard-fonts";
-  version= "unstable-2017-01-21";
+  version = "unstable-2017-01-21";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
+  owner = "morealaz";
+  repo = pname;
+  rev = "d36727d6c38c23c01b3074565667a2fe231fe18f";
 
-  src = fetchFromGitHub {
-    owner = "morealaz";
-    repo = pname;
-    rev = "d36727d6c38c23c01b3074565667a2fe231fe18f";
-    sha256 = "1ks9q1r1gk2517yfr1fbgrdbgw0w97i4am6jqn5ywpgm2xd03yg1";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/ir-standard-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/ir-standard-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/ir-standard-fonts {} \;
   '';
+  sha256 = "0i2vzhwk77pm6fx5z5gxl026z9f35rhh3cvl003mry2lcg1x5rhp";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/morealaz/ir-standard-fonts;
     description = "Iran Supreme Council of Information and Communication Technology (SCICT) standard Persian fonts series";
     # License information is unavailable.
diff --git a/pkgs/data/fonts/iwona/default.nix b/pkgs/data/fonts/iwona/default.nix
index 3649aad99f4..afa59b737a5 100644
--- a/pkgs/data/fonts/iwona/default.nix
+++ b/pkgs/data/fonts/iwona/default.nix
@@ -1,23 +1,18 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
-stdenv.mkDerivation rec {
-  name = "iwona-${version}";
+let
   version = "0_995";
+in fetchzip {
+  name = "iwona-${version}";
+  url = "http://jmn.pl/pliki/Iwona-otf-${version}.zip";
 
-  src = fetchzip {
-    url = "http://jmn.pl/pliki/Iwona-otf-${version}.zip";
-    sha256 = "1wj5bxbxpz5a8p3rhw708cyjc0lgqji8g0iv6brmmbrrkpb3jq2s";
-  };
-
-  installPhase = ''
-    install -m 444 -D -t $out/share/fonts/opentype/ *.otf
+  postFetch = ''
+    mkdir -p $out/share/fonts/opentype
+    unzip -j $downloadedFile *.otf -d $out/share/fonts/opentype
   '';
+  sha256 = "1dcpn13bd31dw7ir0s722bv3nk136dy6qsab0kznjbzfqd7agswa";
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "1dcpn13bd31dw7ir0s722bv3nk136dy6qsab0kznjbzfqd7agswa";
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A two-element sans-serif typeface, created by Małgorzata Budyta";
     homepage = http://jmn.pl/en/kurier-i-iwona/;
     # "[...] GUST Font License (GFL), which is a free license, legally
diff --git a/pkgs/data/fonts/junicode/default.nix b/pkgs/data/fonts/junicode/default.nix
index 824d9044d76..1cfe1d5d4b0 100644
--- a/pkgs/data/fonts/junicode/default.nix
+++ b/pkgs/data/fonts/junicode/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "junicode-0.7.8";
@@ -15,7 +15,6 @@ fetchzip {
   meta = {
     homepage = http://junicode.sourceforge.net/;
     description = "A Unicode font for medievalists";
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/data/fonts/kawkab-mono/default.nix b/pkgs/data/fonts/kawkab-mono/default.nix
index 852fdec82f8..c1de2806ef1 100644
--- a/pkgs/data/fonts/kawkab-mono/default.nix
+++ b/pkgs/data/fonts/kawkab-mono/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "kawkab-mono-20151015";
@@ -15,8 +15,7 @@ fetchzip rec {
   meta = {
     description = "An arab fixed-width font";
     homepage = https://makkuk.com/kawkab-mono/;
-    license = stdenv.lib.licenses.ofl;
-    platforms = stdenv.lib.platforms.unix;
+    license = lib.licenses.ofl;
   };
 }
 
diff --git a/pkgs/data/fonts/kochi-substitute-naga10/default.nix b/pkgs/data/fonts/kochi-substitute-naga10/default.nix
index c24e6898129..cc2ec0d641f 100644
--- a/pkgs/data/fonts/kochi-substitute-naga10/default.nix
+++ b/pkgs/data/fonts/kochi-substitute-naga10/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let version = "20030809";
 in
@@ -26,7 +26,7 @@ fetchzip {
       Debian version.
     '';
     homepage = http://sourceforge.jp/projects/efont/;
-    license = stdenv.lib.licenses.unfreeRedistributable;
-    maintainers = [ stdenv.lib.maintainers.auntie ];
+    license = lib.licenses.unfreeRedistributable;
+    maintainers = [ lib.maintainers.auntie ];
   };
 }
diff --git a/pkgs/data/fonts/kochi-substitute/default.nix b/pkgs/data/fonts/kochi-substitute/default.nix
index 5815b84f21a..11cd73e5237 100644
--- a/pkgs/data/fonts/kochi-substitute/default.nix
+++ b/pkgs/data/fonts/kochi-substitute/default.nix
@@ -43,6 +43,5 @@ stdenv.mkDerivation {
     homepage = http://sourceforge.jp/projects/efont/;
     license = stdenv.lib.licenses.wadalab;
     maintainers = [ stdenv.lib.maintainers.auntie ];
-    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/lalezar-fonts/default.nix b/pkgs/data/fonts/lalezar-fonts/default.nix
index c9915d7a3e6..2cd33e9fe1b 100644
--- a/pkgs/data/fonts/lalezar-fonts/default.nix
+++ b/pkgs/data/fonts/lalezar-fonts/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "lalezar-fonts";
   version = "unstable-2017-02-28";
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+  owner = "BornaIz";
+  repo = "Lalezar";
+  rev = "238701c4241f207e92515f845a199be9131c1109";
 
-  src = fetchFromGitHub {
-    owner = "BornaIz";
-    repo = "Lalezar";
-    rev = "238701c4241f207e92515f845a199be9131c1109";
-    sha256 = "1j3zg9qw4ahw52i0i2c69gv5gjc1f4zsdla58kd9visk03qgk77p";
-  };
-
-  installPhase = ''
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
     mkdir -p $out/share/fonts/lalezar-fonts
     cp -v $( find . -name '*.ttf') $out/share/fonts/lalezar-fonts
   '';
+  sha256 = "0jmwhr2dqgj3vn0v26jh6c0id6n3wd6as3bq39xa870zlk7v307b";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/BornaIz/Lalezar;
     description = "A multi-script display typeface for popular culture";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/lato/default.nix b/pkgs/data/fonts/lato/default.nix
index 91d85ce9a0d..ea9d1837ef5 100644
--- a/pkgs/data/fonts/lato/default.nix
+++ b/pkgs/data/fonts/lato/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "lato-2.0";
@@ -12,7 +12,7 @@ fetchzip {
 
   sha256 = "1amwn6vcaggxrd2s4zw21s2pr47zmzdf2xfy4x9lxa2cd9bkhvg5";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://www.latofonts.com/;
 
     description = ''
diff --git a/pkgs/data/fonts/liberastika/default.nix b/pkgs/data/fonts/liberastika/default.nix
index 2e1f89ed1e7..1bc3b9b2092 100644
--- a/pkgs/data/fonts/liberastika/default.nix
+++ b/pkgs/data/fonts/liberastika/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "1.1.5";
@@ -15,7 +15,7 @@ in fetchzip rec {
 
   sha256 = "1a9dvl1pzch2vh8sqyyn1d1wz4n624ffazl6hzlc3s5k5lzrb6jp";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Liberation Sans fork with improved cyrillic support";
     homepage = https://sourceforge.net/projects/lib-ka/;
 
diff --git a/pkgs/data/fonts/liberation-sans-narrow/default.nix b/pkgs/data/fonts/liberation-sans-narrow/default.nix
index 97a1ff70f49..4a14e095cf0 100644
--- a/pkgs/data/fonts/liberation-sans-narrow/default.nix
+++ b/pkgs/data/fonts/liberation-sans-narrow/default.nix
@@ -14,11 +14,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ fontforge pythonPackages.fonttools python ];
 
   installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp -v $(find . -name '*Narrow*.ttf') $out/share/fonts/truetype
-
-    mkdir -p "$out/doc/${pname}-${version}"
-    cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${pname}-${version}" || true
+    find . -name '*Narrow*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \;
+    install -m444 -Dt $out/doc/${pname}-${version} AUTHORS ChangeLog COPYING License.txt README.rst
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/data/fonts/libertine/default.nix b/pkgs/data/fonts/libertine/default.nix
index 748c0268a80..2152b960cdc 100644
--- a/pkgs/data/fonts/libertine/default.nix
+++ b/pkgs/data/fonts/libertine/default.nix
@@ -31,23 +31,16 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/share/fonts/{opentype,truetype,type1}/public
-    mkdir -p $out/share/texmf/fonts/{enc,map}
-    cp *.otf $out/share/fonts/opentype/public
-    cp *.ttf $out/share/fonts/truetype/public
-    cp *.pfb $out/share/fonts/type1/public
-    cp *.enc $out/share/texmf/fonts/enc
-    cp *.map $out/share/texmf/fonts/map
+    install -m444 -Dt $out/share/fonts/opentype/public *.otf
+    install -m444 -Dt $out/share/fonts/truetype/public *.ttf
+    install -m444 -Dt $out/share/fonts/type1/public    *.pfb
+    install -m444 -Dt $out/share/texmf/fonts/enc       *.enc
+    install -m444 -Dt $out/share/texmf/fonts/map       *.map
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "1mj0j0hkp8pn7jcs4pvcan6whba60bfd671g3vhx3s9kxwf7xjvr";
-
   meta = with stdenv.lib; {
     description = "Linux Libertine Fonts";
     homepage = http://linuxlibertine.sf.net;
-    platforms = platforms.linux;
     maintainers = [ maintainers.volth ];
     license = licenses.ofl;
   };
diff --git a/pkgs/data/fonts/libertinus/default.nix b/pkgs/data/fonts/libertinus/default.nix
index 2ee1e83691c..246d4a91a96 100644
--- a/pkgs/data/fonts/libertinus/default.nix
+++ b/pkgs/data/fonts/libertinus/default.nix
@@ -1,28 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
-  name = "libertinus-${version}";
+let
   version = "6.6";
+in fetchFromGitHub rec {
+  name = "libertinus-${version}";
 
-  src = fetchFromGitHub {
-    rev    = "v${version}";
-    owner  = "khaledhosny";
-    repo   = "libertinus";
-    sha256 = "0syagjmwy6q1ysncchl9bgyfrm7f6fghj1aipbr6md7l6gafz7ji";
-  };
+  owner  = "khaledhosny";
+  repo   = "libertinus";
+  rev    = "v${version}";
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/opentype/
-    mkdir -p $out/share/doc/${name}/
-    cp *.otf $out/share/fonts/opentype/
-    cp *.txt $out/share/doc/${name}/
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype *.otf
+    install -m444 -Dt $out/share/doc/${name}    *.txt
   '';
+  sha256 = "11pxb2zwvjlk06zbqrfv2pgwsl4awf68fak1ks4881i8xbl1910m";
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "11pxb2zwvjlk06zbqrfv2pgwsl4awf68fak1ks4881i8xbl1910m";
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A fork of the Linux Libertine and Linux Biolinum fonts";
     longDescription = ''
       Libertinus fonts is a fork of the Linux Libertine and Linux Biolinum fonts
diff --git a/pkgs/data/fonts/libre-baskerville/default.nix b/pkgs/data/fonts/libre-baskerville/default.nix
index 18f236068a2..f5e6083f944 100644
--- a/pkgs/data/fonts/libre-baskerville/default.nix
+++ b/pkgs/data/fonts/libre-baskerville/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
-fetchzip rec {
+fetchFromGitHub rec {
   name = "libre-baskerville-1.000";
 
-  url = https://github.com/impallari/Libre-Baskerville/archive/2fba7c8e0a8f53f86efd3d81bc4c63674b0c613f.zip;
+  owner = "impallari";
+  repo = "Libre-Baskerville";
+  rev = "2fba7c8e0a8f53f86efd3d81bc4c63674b0c613f";
 
   postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip    -j $downloadedFile \*.ttf                    -d $out/share/fonts/truetype
-    unzip -n -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}"
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/truetype *.ttf
+    install -m444 -Dt $out/share/doc/${name}    README.md FONTLOG.txt
   '';
 
-  sha256 = "0arlq89b3vmpw3n4wbllsdvqblhz6p09dm19z1cndicmcgk26w2a";
+  sha256 = "1kpji85d1mgwq8b4fh1isznrhsrv32la3wf058rwjmhx5a3l7yaj";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A webfont family optimized for body text";
     longDescription = ''
       Libre Baskerville is a webfont family optimized for body text. It's Based
diff --git a/pkgs/data/fonts/libre-bodoni/default.nix b/pkgs/data/fonts/libre-bodoni/default.nix
index 96f366973f0..e55d5030741 100644
--- a/pkgs/data/fonts/libre-bodoni/default.nix
+++ b/pkgs/data/fonts/libre-bodoni/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
-fetchzip rec {
+fetchFromGitHub rec {
   name = "libre-bodoni-2.000";
 
-  url = https://github.com/impallari/Libre-Bodoni/archive/995a40e8d6b95411d660cbc5bb3f726ffd080c7d.zip;
+  owner = "impallari";
+  repo = "Libre-Bodoni";
+  rev = "995a40e8d6b95411d660cbc5bb3f726ffd080c7d";
 
   postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*/v2000\ -\ initial\ glyphs\ migration/OTF/\*.otf  -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*README.md \*FONTLOG.txt                           -d "$out/share/doc/${name}"
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype */v2000\ -\ initial\ glyphs\ migration/OTF/*.otf
+    install -m444 -Dt $out/share/doc/${name}    README.md FONTLOG.txt
   '';
 
-  sha256 = "0pnb1xydpvcl9mkz095f566kz7yj061wbf40rwrbwmk706f6bsiw";
+  sha256 = "0my0i5a7f0d27m6dcdirjmlcnswqqfp8gl3ccxa5f2wkn3qlzkvz";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Bodoni fonts adapted for today's web requirements";
     longDescription = ''
       The Libre Bodoni fonts are based on the 19th century Morris Fuller
diff --git a/pkgs/data/fonts/libre-franklin/default.nix b/pkgs/data/fonts/libre-franklin/default.nix
index 9ca37e35640..97832ab5651 100644
--- a/pkgs/data/fonts/libre-franklin/default.nix
+++ b/pkgs/data/fonts/libre-franklin/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
-fetchzip rec {
+fetchFromGitHub rec {
   name = "libre-franklin-1.014";
 
-  url = https://github.com/impallari/Libre-Franklin/archive/006293f34c47bd752fdcf91807510bc3f91a0bd3.zip;
+  owner = "impallari";
+  repo = "Libre-Franklin";
+  rev = "006293f34c47bd752fdcf91807510bc3f91a0bd3";
 
   postFetch = ''
-    mkdir -p $out/share/{doc,fonts}
-    unzip -j $downloadedFile \*.otf                    -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*README.md \*FONTLOG.txt -d "$out/share/doc/${name}"
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype */OTF/*.otf
+    install -m444 -Dt $out/share/doc/${name}    README.md FONTLOG.txt
   '';
 
-  sha256 = "1rkjp8x62cn4alw3lp7m45q34bih81j2hg15kg5c1nciyqq1qz0z";
+  sha256 = "0aq280m01pbirkzga432340aknf2m5ggalw0yddf40sqz7falykf";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A reinterpretation and expansion based on the 1912 Morris Fuller Benton’s classic.";
     homepage = https://github.com/impallari/Libre-Franklin;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/lm-math/default.nix b/pkgs/data/fonts/lm-math/default.nix
index 348373b8927..8df851cb9df 100644
--- a/pkgs/data/fonts/lm-math/default.nix
+++ b/pkgs/data/fonts/lm-math/default.nix
@@ -1,26 +1,20 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
-stdenv.mkDerivation rec {
-  name = "latinmodern-math-${version}";
+let
   version = "1.959";
+in fetchzip rec {
+  name = "latinmodern-math-${version}";
 
-  src = fetchzip {
-    url = "www.gust.org.pl/projects/e-foundry/lm-math/download/latinmodern-math-1959.zip";
-    sha256 = "15l3lxjciyjmbh0q6jjvzz16ibk4ij79in9fs47qhrfr2wrddpvs";
-  };
-
-  installPhase = ''
+  url = "http://www.gust.org.pl/projects/e-foundry/lm-math/download/latinmodern-math-1959.zip";
+  postFetch = ''
     mkdir -p $out/share/fonts/opentype/
     mkdir -p $out/share/doc/${name}/
-    cp otf/*.otf $out/share/fonts/opentype/
-    cp doc/*.txt $out/share/doc/${name}/
+    unzip -f $downloadedFile otf/*.otf -d $out/share/fonts/opentype/
+    unzip -f $downloadedFile doc/*.txt -d $out/share/doc/${name}/
   '';
+  sha256 = "05k145bxgxjh7i9gx1ahigxfpc2v2vwzsy2mc41jvvg51kjr8fnn";
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "05k145bxgxjh7i9gx1ahigxfpc2v2vwzsy2mc41jvvg51kjr8fnn";
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The Latin Modern Math (LM Math) font completes the modernization of the Computer Modern family of typefaces designed and programmed by Donald E. Knuth.";
     homepage = http://www.gust.org.pl/projects/e-foundry/lm-math;
     # "The Latin Modern Math font is licensed under the GUST Font License (GFL),
diff --git a/pkgs/data/fonts/lmodern/default.nix b/pkgs/data/fonts/lmodern/default.nix
index c408aae9c0e..644efd8b858 100644
--- a/pkgs/data/fonts/lmodern/default.nix
+++ b/pkgs/data/fonts/lmodern/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "lmodern-2.004.5";
@@ -21,7 +21,6 @@ fetchzip {
 
   meta = {
     description = "Latin Modern font";
-    platforms = stdenv.lib.platforms.unix;
   };
 }
 
diff --git a/pkgs/data/fonts/lmodern/lmmath.nix b/pkgs/data/fonts/lmodern/lmmath.nix
index c6e0788eed3..98bde90ff94 100644
--- a/pkgs/data/fonts/lmodern/lmmath.nix
+++ b/pkgs/data/fonts/lmodern/lmmath.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "lmmath-0.903";
@@ -21,7 +21,6 @@ fetchzip {
 
   meta = {
     description = "Latin Modern font";
-    platforms = stdenv.lib.platforms.unix;
   };
 }
 
diff --git a/pkgs/data/fonts/lobster-two/default.nix b/pkgs/data/fonts/lobster-two/default.nix
index 850fd1a1f94..d9e7ec66ee6 100644
--- a/pkgs/data/fonts/lobster-two/default.nix
+++ b/pkgs/data/fonts/lobster-two/default.nix
@@ -70,10 +70,11 @@ in
     outputHash = "0if9l8pzwgfnbdjg5yblcy08dwn9yj3wzz29l0fycia46xlzd4ym";
 
     meta = with stdenv.lib; {
-      homepage = http://www.impallari.com/lobstertwo;
+      homepage = https://github.com/librefonts/lobstertwo;
       description = "Script font with many ligatures";
       license = licenses.ofl;
       platforms = platforms.all;
       maintainers = [maintainers.rycee];
+      broken = true; # googlecode.com RIP; can be built from sources
     };
   }
diff --git a/pkgs/data/fonts/lohit-fonts/default.nix b/pkgs/data/fonts/lohit-fonts/default.nix
index c847b4cdd27..0e8b1f8fe4d 100644
--- a/pkgs/data/fonts/lohit-fonts/default.nix
+++ b/pkgs/data/fonts/lohit-fonts/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, lib }:
+{ fetchzip, lib }:
 let
   fonts = {
     assamese        = { label = "Assamese";          version = "2.91.5"; sha256 = "06cw416kgw0m6883n5ixmpniinsd747rdmacf06z83w1hqwj2js6"; };
@@ -51,7 +51,6 @@ let
       # Set a non-zero priority to allow easy overriding of the
       # fontconfig configuration files.
       priority = 5;
-      platforms = stdenv.lib.platforms.unix;
     };
   };
 
diff --git a/pkgs/data/fonts/manrope/default.nix b/pkgs/data/fonts/manrope/default.nix
index 1fdf88b79ab..9dce73a28aa 100644
--- a/pkgs/data/fonts/manrope/default.nix
+++ b/pkgs/data/fonts/manrope/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "manrope";
   version = "3";
-  src = fetchFromGitHub {
-    owner = "sharanda";
-    repo = pname;
-    rev = "3bd68c0c325861e32704470a90dfc1868a5c37e9";
-    sha256 = "1k6nmczbl97b9j2a8vx6a1r3q4gd1c2qydv0y9gn8xyl7x8fcvhs";
-  };
-  dontBuild = true;
-  installPhase = ''
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+  owner = "sharanda";
+  repo = pname;
+  rev = "3bd68c0c325861e32704470a90dfc1868a5c37e9";
+  sha256 = "1h4chkfbp75hrrqqarf28ld4yb7hfrr7q4w5yz96ivg94lbwlnld";
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
     install -Dm644 -t $out/share/fonts/opentype "desktop font"/*
   '';
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Open-source modern sans-serif font family";
     homepage = https://github.com/sharanda/manrope;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/marathi-cursive/default.nix b/pkgs/data/fonts/marathi-cursive/default.nix
index 48b2f4c516b..60c77dddc8d 100644
--- a/pkgs/data/fonts/marathi-cursive/default.nix
+++ b/pkgs/data/fonts/marathi-cursive/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, p7zip }:
+{ lib, fetchzip, p7zip }:
 
 let
   version = "1.2";
@@ -11,15 +11,13 @@ in fetchzip rec {
     ${p7zip}/bin/7z x $downloadedFile
     cd MarathiCursive
 
-    mkdir -p $out/share/fonts/marathi-cursive
-    cp -v *.otf *.ttf $out/share/fonts/marathi-cursive
-    mkdir -p $out/share/doc/${name}
-    cp -v README *.txt $out/share/doc/${name}
+    install -m444 -Dt $out/share/fonts/marathi-cursive *.otf *.ttf
+    install -m444 -Dt $out/share/doc/${name}           README *.txt
   '';
 
-  sha256 = "0fhz2ixrkm523qlx5pnwyzxgb1cfiiwrhls98xg8a5l3sypn1g8v";
+  sha256 = "0wq4w79x8r5w6ikm9amcmapf0jcdgifs9zf1pbnw3fk4ncz5s551";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/MihailJP/MarathiCursive;
     description = "Modi script font with Graphite and OpenType support";
     maintainers = with maintainers; [ mathnerd314 ];
diff --git a/pkgs/data/fonts/material-design-icons/default.nix b/pkgs/data/fonts/material-design-icons/default.nix
index 432bbaa78db..1c36d0f57fe 100644
--- a/pkgs/data/fonts/material-design-icons/default.nix
+++ b/pkgs/data/fonts/material-design-icons/default.nix
@@ -1,17 +1,15 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
-  name = "material-design-icons-${version}";
+let
   version = "3.3.92";
+in fetchFromGitHub {
+  name = "material-design-icons-${version}";
+  owner  = "Templarian";
+  repo   = "MaterialDesign-Webfont";
+  rev    = "v${version}";
 
-  src = fetchFromGitHub {
-    owner  = "Templarian";
-    repo   = "MaterialDesign-Webfont";
-    rev    = "v${version}";
-    sha256 = "0k8pv2nsp3al4i4awx5mv7cscpm8akjn567jl9dwzangcsai0l53";
-  };
-
-  installPhase = ''
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
     mkdir -p $out/share/fonts/{eot,svg,truetype,woff,woff2}
     cp fonts/*.eot $out/share/fonts/eot/
     cp fonts/*.svg $out/share/fonts/svg/
@@ -19,8 +17,9 @@ stdenv.mkDerivation rec {
     cp fonts/*.woff $out/share/fonts/woff/
     cp fonts/*.woff2 $out/share/fonts/woff2/
   '';
+  sha256 = "0dbm4qfd0b91yrw3cv4i377pnm98fgj936nk1m5wlx8mx8jahz48";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "3200+ Material Design Icons from the Community";
     longDescription = ''
       Material Design Icons' growing icon collection allows designers and
diff --git a/pkgs/data/fonts/material-icons/default.nix b/pkgs/data/fonts/material-icons/default.nix
index ea44c9c79b1..0126fbac225 100644
--- a/pkgs/data/fonts/material-icons/default.nix
+++ b/pkgs/data/fonts/material-icons/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
-  name = "material-icons-${version}";
+let
   version = "3.0.1";
+in fetchFromGitHub {
+  name = "material-icons-${version}";
 
-  src = fetchFromGitHub {
-    owner  = "google";
-    repo   = "material-design-icons";
-    rev    = "${version}";
-    sha256 = "17q5brcqyyc8gbjdgpv38p89s60cwxjlwy2ljnrvas5cj0s62np0";
-  };
+  owner  = "google";
+  repo   = "material-design-icons";
+  rev    = version;
 
-  buildCommand = ''
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
     mkdir -p $out/share/fonts/truetype
-    cp $src/iconfont/*.ttf $out/share/fonts/truetype
+    cp iconfont/*.ttf $out/share/fonts/truetype
   '';
+  sha256 = "1syy6v941lb8nqxhdf7mfx28v05lwrfnq53r3c1ym13x05l9kchp";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "System status icons by Google, featuring material design";
     homepage = https://material.io/icons;
     license = licenses.asl20;
diff --git a/pkgs/data/fonts/medio/default.nix b/pkgs/data/fonts/medio/default.nix
index aa805b6f082..024e6049a38 100644
--- a/pkgs/data/fonts/medio/default.nix
+++ b/pkgs/data/fonts/medio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib, fetchzip }:
 
 let
   majorVersion = "0";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
     description = "Serif font designed by Sora Sagano";
     longDescription = ''
diff --git a/pkgs/data/fonts/migmix/default.nix b/pkgs/data/fonts/migmix/default.nix
index 14b08e140ea..986751645e3 100644
--- a/pkgs/data/fonts/migmix/default.nix
+++ b/pkgs/data/fonts/migmix/default.nix
@@ -26,8 +26,7 @@ stdenv.mkDerivation rec {
   unpackPhase = ":";
 
   installPhase = ''
-    mkdir -p $out/share/fonts/truetype/migmix
-    find $srcs -name '*.ttf' | xargs install -m644 --target $out/share/fonts/truetype/migmix
+    find $srcs -name '*.ttf' -exec install -m644 -Dt $out/share/fonts/truetype/migmix {} \;
   '';
 
   outputHashAlgo = "sha256";
@@ -38,7 +37,6 @@ stdenv.mkDerivation rec {
     description = "A high-quality Japanese font based on M+ fonts and IPA fonts";
     homepage = http://mix-mplus-ipa.osdn.jp/migmix;
     license = licenses.ipa;
-    platforms = platforms.unix;
     maintainers = [ maintainers.mikoim ];
   };
 }
diff --git a/pkgs/data/fonts/migu/default.nix b/pkgs/data/fonts/migu/default.nix
index aefaefb337f..3b03460125f 100644
--- a/pkgs/data/fonts/migu/default.nix
+++ b/pkgs/data/fonts/migu/default.nix
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
     description = "A high-quality Japanese font based on modified M+ fonts and IPA fonts";
     homepage = http://mix-mplus-ipa.osdn.jp/migu/;
     license = licenses.ipa;
-    platforms = platforms.unix;
     maintainers = [ maintainers.mikoim ];
   };
 }
diff --git a/pkgs/data/fonts/monoid/default.nix b/pkgs/data/fonts/monoid/default.nix
index 77c311ce364..2bc5a82fa94 100644
--- a/pkgs/data/fonts/monoid/default.nix
+++ b/pkgs/data/fonts/monoid/default.nix
@@ -24,15 +24,10 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/share/{doc,fonts/truetype}
-    cp -va _release/* $out/share/fonts/truetype
-    cp -va Readme.md $out/share/doc
+    install -m444 -Dt $out/share/fonts/truetype _release/*
+    install -m444 -Dt $out/share/doc            Readme.md
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "0lbipgygiva3gg1pqw07phpnnf0s6ka9vqdk1pw7bkybjw3f7wzm";
-
   meta = with stdenv.lib; {
     homepage = http://larsenwork.com/monoid;
     description = "Customisable coding font with alternates, ligatures and contextual positioning";
diff --git a/pkgs/data/fonts/mononoki/default.nix b/pkgs/data/fonts/mononoki/default.nix
index cc481a136ba..658c3bdf20a 100644
--- a/pkgs/data/fonts/mononoki/default.nix
+++ b/pkgs/data/fonts/mononoki/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "1.2";
@@ -14,7 +14,7 @@ in fetchzip {
 
   sha256 = "19y4xg7ilm21h9yynyrwcafdqn05zknpmmjrb37qim6p0cy2glff";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/madmalik/mononoki;
     description = "A font for programming and code review";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/montserrat/default.nix b/pkgs/data/fonts/montserrat/default.nix
index 37afa063c3e..de8ea80b017 100644
--- a/pkgs/data/fonts/montserrat/default.nix
+++ b/pkgs/data/fonts/montserrat/default.nix
@@ -2,7 +2,7 @@
 #
 # https://aur.archlinux.org/packages/ttf-montserrat/
 
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "1.0";
@@ -19,7 +19,7 @@ in fetchzip {
 
   sha256 = "11sdgvhaqg59mq71aqwqp2mb428984hjxy7hd1vasia9kgk8259w";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A geometric sans serif font with extended latin support (Regular, Alternates, Subrayada)";
     homepage    = "https://www.fontspace.com/julieta-ulanovsky/montserrat";
     license     = licenses.ofl;
diff --git a/pkgs/data/fonts/mph-2b-damase/default.nix b/pkgs/data/fonts/mph-2b-damase/default.nix
index 692ad63574f..4102386af90 100644
--- a/pkgs/data/fonts/mph-2b-damase/default.nix
+++ b/pkgs/data/fonts/mph-2b-damase/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "MPH-2B-Damase-2";
@@ -13,6 +13,5 @@ fetchzip {
   sha256 = "0yzf12z6fpbgycqwiz88f39iawdhjabadfa14wxar3nhl9n434ql";
 
   meta = {
-    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/mplus-outline-fonts/default.nix b/pkgs/data/fonts/mplus-outline-fonts/default.nix
index 0fd724149d8..812f96352f0 100644
--- a/pkgs/data/fonts/mplus-outline-fonts/default.nix
+++ b/pkgs/data/fonts/mplus-outline-fonts/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "063";
@@ -15,7 +15,7 @@ in fetchzip rec {
 
   sha256 = "0d485l2ihxfk039rrrnfviamlbj13cwky0c752m4ikwvgiqiq94y";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "M+ Outline Fonts";
     homepage = http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index-en.html;
     license = licenses.mit;
diff --git a/pkgs/data/fonts/mro-unicode/default.nix b/pkgs/data/fonts/mro-unicode/default.nix
index 8986a9adb7a..bb5a1ed8a9f 100644
--- a/pkgs/data/fonts/mro-unicode/default.nix
+++ b/pkgs/data/fonts/mro-unicode/default.nix
@@ -3,7 +3,7 @@
 fetchzip {
   name = "mro-unicode-2013-05-25";
 
-  url = "https://github.com/phjamr/MroUnicode/raw/master/MroUnicode-Regular.ttf";
+  url = "https://github.com/phjamr/MroUnicode/raw/f297de070f7eba721a47c850e08efc119d3bfbe8/MroUnicode-Regular.ttf";
 
   postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/MroUnicode-Regular.ttf";
 
diff --git a/pkgs/data/fonts/nahid-fonts/default.nix b/pkgs/data/fonts/nahid-fonts/default.nix
index 31c0f5590bd..b9d9025b2c0 100644
--- a/pkgs/data/fonts/nahid-fonts/default.nix
+++ b/pkgs/data/fonts/nahid-fonts/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "nahid-fonts";
   version = "0.3.0";
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+  owner = "rastikerdar";
+  repo = "nahid-font";
+  rev = "v${version}";
 
-  src = fetchFromGitHub {
-    owner = "rastikerdar";
-    repo = "nahid-font";
-    rev = "v${version}";
-    sha256 = "0n42sywi41zin9dilr8vabmcqvmx2f1a8b4yyybs6ms9zb9xdkxg";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/nahid-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/nahid-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/nahid-fonts {} \;
   '';
+  sha256 = "0df169sibq14j2mj727sq86c00jm1nz8565v85hkvh4zgz2plb7c";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/rastikerdar/nahid-font;
     description = "A Persian (Farsi) Font - قلم (فونت) فارسی ناهید";
     license = licenses.free;
diff --git a/pkgs/data/fonts/nanum-gothic-coding/default.nix b/pkgs/data/fonts/nanum-gothic-coding/default.nix
index c0b4670a659..f6b8210290e 100644
--- a/pkgs/data/fonts/nanum-gothic-coding/default.nix
+++ b/pkgs/data/fonts/nanum-gothic-coding/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, unzip}:
+{ lib, fetchzip }:
 
 let
   version = "VER2.5";
@@ -15,7 +15,7 @@ in fetchzip rec {
 
   sha256 = "0b3pkhd6xn6393zi0dhj3ah08w1y1ji9fl6584bi0c8lanamf2pc";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A contemporary monospaced sans-serif typeface with a warm touch";
     homepage = https://github.com/naver/nanumfont;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/nerdfonts/default.nix b/pkgs/data/fonts/nerdfonts/default.nix
index 528055a5e80..985f264f40e 100644
--- a/pkgs/data/fonts/nerdfonts/default.nix
+++ b/pkgs/data/fonts/nerdfonts/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/ryanoasis/nerd-fonts;
     license = licenses.mit;
     maintainers = with maintainers; [ garbas ];
-    platforms = with platforms; unix;
     hydraPlatforms = []; # 'Output limit exceeded' on Hydra
   };
 }
diff --git a/pkgs/data/fonts/nika-fonts/default.nix b/pkgs/data/fonts/nika-fonts/default.nix
index f40ee8da750..c6bdbd40248 100644
--- a/pkgs/data/fonts/nika-fonts/default.nix
+++ b/pkgs/data/fonts/nika-fonts/default.nix
@@ -1,22 +1,21 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "nika-fonts";
   version = "1.0.0";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
+  owner = "font-store";
+  repo = "NikaFont";
+  rev = "v${version}";
 
-  src = fetchFromGitHub {
-    owner = "font-store";
-    repo = "NikaFont";
-    rev = "v${version}";
-    sha256 = "16dhk87vmjnywl5wqsl9dzp12ddpfk57w08f7811m3ijqadscdwc";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/nika-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/nika-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/nika-fonts {} \;
   '';
+  sha256 = "1x34b2dqn1dymi1vmj5vrjcy2z8s0f3rr6cniyrz85plvid6x40i";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/font-store/NikaFont/;
     description = "Persian/Arabic Open Source Font";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/norwester/default.nix b/pkgs/data/fonts/norwester/default.nix
index 35d69aa7f07..0de5aa8fdf3 100644
--- a/pkgs/data/fonts/norwester/default.nix
+++ b/pkgs/data/fonts/norwester/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "1.2";
@@ -15,7 +15,7 @@ in fetchzip rec {
 
   sha256 = "1npsaiiz9g5z6315lnmynwcnrfl37fyxc7w1mhkw1xbzcnv74z4r";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://jamiewilson.io/norwester;
     description = "A condensed geometric sans serif by Jamie Wilson";
     maintainers = with maintainers; [ leenaars ];
diff --git a/pkgs/data/fonts/noto-fonts/tools.nix b/pkgs/data/fonts/noto-fonts/tools.nix
index b5fc13daefa..a9d45128c5b 100644
--- a/pkgs/data/fonts/noto-fonts/tools.nix
+++ b/pkgs/data/fonts/noto-fonts/tools.nix
@@ -27,6 +27,5 @@ pythonPackages.buildPythonPackage rec {
     description = "Noto fonts support tools and scripts plus web site generation";
     license = lib.licenses.asl20;
     homepage = https://github.com/googlei18n/nototools;
-    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/office-code-pro/default.nix b/pkgs/data/fonts/office-code-pro/default.nix
index 564b950784b..4354725c90c 100644
--- a/pkgs/data/fonts/office-code-pro/default.nix
+++ b/pkgs/data/fonts/office-code-pro/default.nix
@@ -1,26 +1,23 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "office-code-pro";
   version = "1.004";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "nathco";
-    repo = "Office-Code-Pro";
-    rev = version;
-    sha256 = "0znmjjyn5q83chiafy252bhsmw49r2nx2ls2cmhjp4ihidfr6cmb";
-  };
+  owner = "nathco";
+  repo = "Office-Code-Pro";
+  rev = version;
 
-  installPhase = ''
-    fontDir=$out/share/fonts/opentype
-    docDir=$out/share/doc/${pname}-${version}
-    mkdir -p $fontDir $docDir
-    install -Dm644 README.md $docDir
-    install -t $fontDir -m644 'Fonts/Office Code Pro/OTF/'*.otf
-    install -t $fontDir -m644 'Fonts/Office Code Pro D/OTF/'*.otf
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    install -m644 -Dt $out/share/doc/${name} README.md
+    install -m444 -Dt $out/share/fonts/opentype 'Fonts/Office Code Pro/OTF/'*.otf 'Fonts/Office Code Pro D/OTF/'*.otf
   '';
+  sha256 = "1bagwcaicn6q8qkqazz6wb3x30y4apmkga0mkv8fh6890hfhywr9";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A customized version of Source Code Pro";
     longDescription = ''
       Office Code Pro is a customized version of Source Code Pro, the monospaced
@@ -31,6 +28,5 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/nathco/Office-Code-Pro;
     license = licenses.ofl;
     maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/oldsindhi/default.nix b/pkgs/data/fonts/oldsindhi/default.nix
index 4e55b5098c8..c2ea6a7180b 100644
--- a/pkgs/data/fonts/oldsindhi/default.nix
+++ b/pkgs/data/fonts/oldsindhi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, p7zip }:
+{ lib, fetchzip, p7zip }:
 
 let
   version = "0.1";
@@ -10,15 +10,13 @@ in fetchzip rec {
   postFetch = ''
     ${p7zip}/bin/7z x $downloadedFile
 
-    mkdir -p $out/share/fonts/truetype
-    mkdir -p $out/share/doc/${name}
-    cp -v OldSindhi/*.ttf $out/share/fonts/truetype/
-    cp -v OldSindhi/README OldSindhi/*.txt $out/share/doc/${name}
+    install -m444 -Dt $out/share/fonts/truetype OldSindhi/*.ttf
+    install -m444 -Dt $out/share/doc/${name}    OldSindhi/README OldSindhi/*.txt
   '';
 
-  sha256 = "1na3lxyz008fji5ln3fqzyr562k6kch1y824byhfs4y0rwwz3f3q";
+  sha256 = "0d4l9cg2vmh2pvnqsla8mgcwvc7wjxzcabhlli6633h3ifj2yp7b";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/MihailJP/oldsindhi;
     description = "Free Sindhi Khudabadi font";
     maintainers = with maintainers; [ mathnerd314 ];
diff --git a/pkgs/data/fonts/oldstandard/default.nix b/pkgs/data/fonts/oldstandard/default.nix
index 95f8f3be7d6..cd0d0063efb 100644
--- a/pkgs/data/fonts/oldstandard/default.nix
+++ b/pkgs/data/fonts/oldstandard/default.nix
@@ -1,29 +1,21 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
-stdenv.mkDerivation rec {
-  name = "oldstandard-${version}";
+let
   version = "2.2";
+in fetchzip rec {
+  name = "oldstandard-${version}";
 
-  src = fetchzip {
-    stripRoot = false;
-    url = "https://github.com/akryukov/oldstand/releases/download/v${version}/${name}.otf.zip";
-    sha256 = "1hl78jw5szdjq9dhbcv2ln75wpp2lzcxrnfc36z35v5wk4l7jc3h";
-  };
-
-  phases = [ "unpackPhase" "installPhase" ];
+  url = "https://github.com/akryukov/oldstand/releases/download/v${version}/${name}.otf.zip";
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/opentype
-    mkdir -p $out/share/doc/${name}
-    cp -v *.otf $out/share/fonts/opentype/
-    cp -v FONTLOG.txt $out/share/doc/${name}
+  postFetch = ''
+    unzip $downloadedFile
+    install -m444 -Dt $out/share/fonts/opentype *.otf
+    install -m444 -Dt $out/share/doc/${name}    FONTLOG.txt
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "1qwfsyp51grr56jcnkkmnrnl3r20pmhp9zh9g88kp64m026cah6n";
+  sha256 = "1qwfsyp51grr56jcnkkmnrnl3r20pmhp9zh9g88kp64m026cah6n";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/akryukov/oldstand;
     description = "An attempt to revive a specific type of Modern style of serif typefaces";
     maintainers = with maintainers; [ raskin rycee ];
diff --git a/pkgs/data/fonts/open-dyslexic/default.nix b/pkgs/data/fonts/open-dyslexic/default.nix
index 7fa57463ece..8519c346891 100644
--- a/pkgs/data/fonts/open-dyslexic/default.nix
+++ b/pkgs/data/fonts/open-dyslexic/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "2016-06-23";
@@ -15,7 +15,7 @@ in fetchzip {
 
   sha256 = "1vl8z5rknh2hpr2f0v4b2qgs5kclx5pzyk8al7243k5db82a2cyi";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://opendyslexic.org/;
     description = "Font created to increase readability for readers with dyslexia";
     license = "Bitstream Vera License (https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts)";
diff --git a/pkgs/data/fonts/open-sans/default.nix b/pkgs/data/fonts/open-sans/default.nix
index d8918a6567b..dfe1426d697 100644
--- a/pkgs/data/fonts/open-sans/default.nix
+++ b/pkgs/data/fonts/open-sans/default.nix
@@ -1,25 +1,23 @@
-{ stdenv, fetchFromGitLab }:
+{ lib, fetchFromGitLab }:
 
-stdenv.mkDerivation rec {
+let
   pname = "open-sans";
   version = "1.11";
+in fetchFromGitLab rec {
+  name = "${pname}-${version}";
 
-  src = fetchFromGitLab {
-    domain = "salsa.debian.org";
-    owner = "fonts-team";
-    repo = "fonts-open-sans";
-    rev = "debian%2F1.11-1"; # URL-encoded form of "debian/1.11-1" tag
-    sha256 = "077hkvpmk3ghbqyb901w43b2m2a27lh8ddasyx1x7pdwyr2bjjl2";
-  };
-
-  dontBuild = true;
-
-  installPhase = ''
+  domain = "salsa.debian.org";
+  owner = "fonts-team";
+  repo = "fonts-open-sans";
+  rev = "debian%2F1.11-1"; # URL-encoded form of "debian/1.11-1" tag
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
     mkdir -p $out/share/fonts/truetype
     cp *.ttf $out/share/fonts/truetype
   '';
+  sha256 = "146ginwx18z624z582lrnhil8jvi9bjg6843265bgxxrfmf75vhp";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Open Sans fonts";
     longDescription = ''
       Open Sans is a humanist sans serif typeface designed by Steve Matteson,
diff --git a/pkgs/data/fonts/orbitron/default.nix b/pkgs/data/fonts/orbitron/default.nix
index e0ef1ecda81..699345f753e 100644
--- a/pkgs/data/fonts/orbitron/default.nix
+++ b/pkgs/data/fonts/orbitron/default.nix
@@ -1,23 +1,23 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
 let
   version = "20110526";
-in fetchzip {
+in fetchFromGitHub {
   name = "orbitron-${version}";
 
-  url = https://github.com/theleagueof/orbitron/archive/13e6a52.zip;
+  owner = "theleagueof";
+  repo = "orbitron";
+  rev = "13e6a52";
 
   postFetch = ''
-    otfdir=$out/share/fonts/opentype/orbitron
-    ttfdir=$out/share/fonts/ttf/orbitron
-    mkdir -p $otfdir $ttfdir
-    unzip -j $downloadedFile \*/Orbitron\*.otf -d $otfdir
-    unzip -j $downloadedFile \*/Orbitron\*.ttf -d $ttfdir
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype/orbitron *.otf
+    install -m444 -Dt $out/share/fonts/ttf/orbitron      *.ttf
   '';
 
   sha256 = "1y9yzvpqs2v3ssnqk2iiglrh8amgsscnk8vmfgnqgqi9f4dhdvnv";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://www.theleagueofmoveabletype.com/orbitron;
     downloadPage = "https://www.theleagueofmoveabletype.com/orbitron/download";
     description = ''
diff --git a/pkgs/data/fonts/overpass/default.nix b/pkgs/data/fonts/overpass/default.nix
index c39bb945f48..4730a67e290 100644
--- a/pkgs/data/fonts/overpass/default.nix
+++ b/pkgs/data/fonts/overpass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "3.0.3";
@@ -14,7 +14,7 @@ in fetchzip rec {
 
   sha256 = "1m6p7rrlyqikjvypp4698sn0lp3a4z0z5al4swblfhg8qaxzv5pg";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://overpassfont.org/;
     description = "Font heavily inspired by Highway Gothic";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/oxygenfonts/default.nix b/pkgs/data/fonts/oxygenfonts/default.nix
index 109b3c3a0b3..e34e49d9814 100644
--- a/pkgs/data/fonts/oxygenfonts/default.nix
+++ b/pkgs/data/fonts/oxygenfonts/default.nix
@@ -1,18 +1,21 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
-fetchzip rec {
+fetchFromGitHub {
   name = "oxygenfonts-20160824";
 
-  url = https://github.com/vernnobile/oxygenFont/archive/62db0ebe3488c936406685485071a54e3d18473b.zip;
+  owner = "vernnobile";
+  repo = "oxygenFont";
+  rev = "62db0ebe3488c936406685485071a54e3d18473b";
 
   postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile '*/Oxygen-Sans.ttf' '*/Oxygen-Sans-Bold.ttf' '*/OxygenMono-Regular.ttf' -d $out/share/fonts/truetype
+    tar xf $downloadedFile --strip=1
+    mkdir -p $out/share/fonts/truetype
+    cp */Oxygen-Sans.ttf */Oxygen-Sans-Bold.ttf */OxygenMono-Regular.ttf $out/share/fonts/truetype
   '';
 
   sha256 = "17m86p1s7a7d90zqjsr46h5bpmas4vxsgj7kd0j5c8cb7lw92jyf";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Desktop/gui font for integrated use with the KDE desktop";
     longDescription = ''
       Oxygen Font is a font family originally aimed as a desktop/gui
diff --git a/pkgs/data/fonts/parastoo-fonts/default.nix b/pkgs/data/fonts/parastoo-fonts/default.nix
index 00f03b53078..d02925e3a37 100644
--- a/pkgs/data/fonts/parastoo-fonts/default.nix
+++ b/pkgs/data/fonts/parastoo-fonts/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "parastoo-fonts";
   version = "1.0.0-alpha5";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "rastikerdar";
-    repo = "parastoo-font";
-    rev = "v${version}";
-    sha256 = "1nya9cbbs6sgv2w3zyah3lb1kqylf922q3fazh4l7bi6zgm8q680";
-  };
+  owner = "rastikerdar";
+  repo = "parastoo-font";
+  rev = "v${version}";
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/parastoo-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/parastoo-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/parastoo-fonts {} \;
   '';
+  sha256 = "10jbii6rskcy4akjl5yfcqv4mfwk3nqnx36l6sbxks43va9l04f4";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/rastikerdar/parastoo-font;
     description = "A Persian (Farsi) Font - فونت ( قلم ) فارسی پرستو";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/paratype-pt/mono.nix b/pkgs/data/fonts/paratype-pt/mono.nix
index 6124d0c79b6..e6f0776daea 100644
--- a/pkgs/data/fonts/paratype-pt/mono.nix
+++ b/pkgs/data/fonts/paratype-pt/mono.nix
@@ -3,7 +3,10 @@
 fetchzip rec {
   name = "paratype-pt-mono";
 
-  url = "http://www.paratype.ru/uni/public/PTMono.zip";
+  url = [
+    https://company.paratype.com/system/attachments/631/original/ptmono.zip
+    http://rus.paratype.ru/system/attachments/631/original/ptmono.zip
+  ];
 
   postFetch = ''
     mkdir -p $out/share/{doc,fonts}
@@ -14,7 +17,7 @@ fetchzip rec {
   sha256 = "07kl82ngby55khvzsvn831ddpc0q8djgz2y6gsjixkyjfdk2xjjm";
 
   meta = with stdenv.lib; {
-    homepage = http://www.paratype.ru/public/; 
+    homepage = http://www.paratype.ru/public/;
     description = "An open Paratype font";
 
     license = "Open Paratype license";
diff --git a/pkgs/data/fonts/paratype-pt/sans.nix b/pkgs/data/fonts/paratype-pt/sans.nix
index 499871a4228..1e6610e8e44 100644
--- a/pkgs/data/fonts/paratype-pt/sans.nix
+++ b/pkgs/data/fonts/paratype-pt/sans.nix
@@ -3,7 +3,10 @@
 fetchzip rec {
   name = "paratype-pt-sans";
 
-  url = "http://www.paratype.ru/uni/public/PTSans.zip";
+  url = [
+    https://company.paratype.com/system/attachments/629/original/ptsans.zip
+    http://rus.paratype.ru/system/attachments/629/original/ptsans.zip
+  ];
 
   postFetch = ''
     mkdir -p $out/share/{doc,fonts}
@@ -14,7 +17,7 @@ fetchzip rec {
   sha256 = "01fkd417gv98jf3a6zyfi9w2dkqsbddy1vacga2672yf0kh1z1r0";
 
   meta = with stdenv.lib; {
-    homepage = http://www.paratype.ru/public/; 
+    homepage = http://www.paratype.ru/public/;
     description = "An open Paratype font";
 
     license = "Open Paratype license";
diff --git a/pkgs/data/fonts/paratype-pt/serif.nix b/pkgs/data/fonts/paratype-pt/serif.nix
index 409aaf526f8..f4da6508f08 100644
--- a/pkgs/data/fonts/paratype-pt/serif.nix
+++ b/pkgs/data/fonts/paratype-pt/serif.nix
@@ -3,7 +3,10 @@
 fetchzip rec {
   name = "paratype-pt-serif";
 
-  url = "http://www.paratype.ru/uni/public/PTSerif.zip";
+  url = [
+    https://company.paratype.com/system/attachments/634/original/ptserif.zip
+    http://rus.paratype.ru/system/attachments/634/original/ptserif.zip
+  ];
 
   postFetch = ''
     mkdir -p $out/share/{doc,fonts}
@@ -14,7 +17,7 @@ fetchzip rec {
   sha256 = "1iw5qi4ag3yp1lwmi91lb18gr768bqwl46xskaqnkhr9i9qp0v6d";
 
   meta = with stdenv.lib; {
-    homepage = http://www.paratype.ru/public/; 
+    homepage = http://www.paratype.ru/public/;
     description = "An open Paratype font";
 
     license = "Open Paratype license";
diff --git a/pkgs/data/fonts/pecita/default.nix b/pkgs/data/fonts/pecita/default.nix
index a90ff42a8e2..144ec3bab85 100644
--- a/pkgs/data/fonts/pecita/default.nix
+++ b/pkgs/data/fonts/pecita/default.nix
@@ -1,9 +1,7 @@
-{ stdenv, fetchurl }:
+{ lib, fetchurl }:
 
 let
-
   version = "5.4";
-
 in
 
 fetchurl rec {
@@ -21,7 +19,7 @@ fetchurl rec {
   recursiveHash = true;
   sha256 = "0pwm20f38lcbfkdqkpa2ydpc9kvmdg0ifc4h2dmipsnwbcb5rfwm";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://pecita.eu/police-en.php;
     description = "Handwritten font with connected glyphs";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/penna/default.nix b/pkgs/data/fonts/penna/default.nix
index b1244c47bf1..57395c507fe 100644
--- a/pkgs/data/fonts/penna/default.nix
+++ b/pkgs/data/fonts/penna/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib, fetchzip }:
 
 let
   majorVersion = "0";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
     description = "Geometric sans serif designed by Sora Sagano";
     longDescription = ''
diff --git a/pkgs/data/fonts/poly/default.nix b/pkgs/data/fonts/poly/default.nix
index 81fc7b79925..d291d50e836 100644
--- a/pkgs/data/fonts/poly/default.nix
+++ b/pkgs/data/fonts/poly/default.nix
@@ -46,6 +46,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.fontsquirrel.com/fonts/poly;
     license = stdenv.lib.licenses.ofl;
     maintainers = with stdenv.lib.maintainers; [ relrod ];
-    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/data/fonts/powerline-fonts/default.nix b/pkgs/data/fonts/powerline-fonts/default.nix
index c932c7f06c0..c8044905a08 100644
--- a/pkgs/data/fonts/powerline-fonts/default.nix
+++ b/pkgs/data/fonts/powerline-fonts/default.nix
@@ -1,30 +1,24 @@
-{ stdenv, fetchzip}:
+{ lib, fetchFromGitHub }:
 
-fetchzip {
+fetchFromGitHub {
   name = "powerline-fonts-2018-11-11";
 
-  url = https://github.com/powerline/fonts/archive/e80e3eba9091dac0655a0a77472e10f53e754bb0.zip;
+  owner = "powerline";
+  repo = "fonts";
+  rev = "e80e3eba9091dac0655a0a77472e10f53e754bb0";
 
   postFetch = ''
-    mkdir -p $out/share/fonts/opentype
-    unzip -j $downloadedFile '*.otf' -d $out/share/fonts/opentype
-
-    mkdir -p $out/share/fonts/truetype
-    unzip -j $downloadedFile '*.ttf' -d $out/share/fonts/truetype
-
-    mkdir -p $out/share/fonts/bdf
-    unzip -j $downloadedFile '*/BDF/*.bdf' -d $out/share/fonts/bdf
-
-    mkdir -p $out/share/fonts/pcf
-    unzip -j $downloadedFile '*/PCF/*.pcf.gz' -d $out/share/fonts/pcf
-
-    mkdir -p $out/share/fonts/psf
-    unzip -j $downloadedFile '*/PSF/*.psf.gz' -d $out/share/fonts/psf
+    tar xf $downloadedFile --strip=1
+    find . -name '*.otf'    -exec install -Dt $out/share/fonts/opentype {} \;
+    find . -name '*.ttf'    -exec install -Dt $out/share/fonts/truetype {} \;
+    find . -name '*.bdf'    -exec install -Dt $out/share/fonts/bdf      {} \;
+    find . -name '*.pcf.gz' -exec install -Dt $out/share/fonts/pcf      {} \;
+    find . -name '*.psf.gz' -exec install -Dt $out/share/fonts/psf      {} \;
   '';
 
   sha256 = "0irifak86gn7hawzgxcy53s22y215mxc2kjncv37h7q44jsqdqww";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/powerline/fonts;
     description = "Patched fonts for Powerline users";
     longDescription = ''
diff --git a/pkgs/data/fonts/profont/default.nix b/pkgs/data/fonts/profont/default.nix
index 0c6eede969f..c28c9283a9b 100644
--- a/pkgs/data/fonts/profont/default.nix
+++ b/pkgs/data/fonts/profont/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "profont";
 
-  url = "http://tobiasjung.name/downloadfile.php?file=profont-x11.zip";
+  url = "http://web.archive.org/web/20160707013914/http://tobiasjung.name/downloadfile.php?file=profont-x11.zip";
 
   postFetch = ''
     unzip -j $downloadedFile
@@ -19,10 +19,10 @@ fetchzip rec {
 
   sha256 = "1calqmvrfv068w61f614la8mg8szas6m5i9s0lsmwjhb4qwjyxbw";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://tobiasjung.name;
     description = "A monospaced font created to be a most readable font for programming";
-    maintainers = with stdenv.lib.maintainers; [ myrl ];
+    maintainers = with lib.maintainers; [ myrl ];
     license = licenses.mit;
     platforms = platforms.all;
   };
diff --git a/pkgs/data/fonts/public-sans/default.nix b/pkgs/data/fonts/public-sans/default.nix
index 663741723dc..cfcf2563340 100644
--- a/pkgs/data/fonts/public-sans/default.nix
+++ b/pkgs/data/fonts/public-sans/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
-  version = "1.002";
+  version = "1.003";
 in fetchzip rec {
   name = "public-sans-${version}";
 
@@ -12,9 +12,9 @@ in fetchzip rec {
     unzip $downloadedFile fonts/{otf,variable}/\*.\[ot\]tf -d $out/share/
   '';
 
-  sha256 = "1j792i6350sp63l04jww5rpnsfz9zkj97rd378yxnpnwf2a8nv4k";
+  sha256 = "02ranwr1bw4n9n1ljw234nzhj2a0hgradniib37nh10maark5wg3";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A strong, neutral, principles-driven, open source typeface for text or display";
     homepage = https://public-sans.digital.gov/;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/quattrocento-sans/default.nix b/pkgs/data/fonts/quattrocento-sans/default.nix
index 34c8a74a762..429cd80c2fc 100644
--- a/pkgs/data/fonts/quattrocento-sans/default.nix
+++ b/pkgs/data/fonts/quattrocento-sans/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "2.0";
 in fetchzip rec {
   name = "quattrocento-sans-${version}";
 
-  url = "http://www.impallari.com/media/releases/quattrocento-sans-v${version}.zip";
+  url = "http://web.archive.org/web/20170709124317/http://www.impallari.com/media/releases/quattrocento-sans-v${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/{fonts,doc}
@@ -15,7 +15,7 @@ in fetchzip rec {
 
   sha256 = "0g8hnn92ks4y0jbizwj7yfa097lk887wqkqpqjdmc09sd2n44343";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://www.impallari.com/quattrocentosans/;
     description = "A classic, elegant and sober sans-serif typeface";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/quattrocento/default.nix b/pkgs/data/fonts/quattrocento/default.nix
index a78001bb4ae..7e268182eef 100644
--- a/pkgs/data/fonts/quattrocento/default.nix
+++ b/pkgs/data/fonts/quattrocento/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "1.1";
 in fetchzip rec {
   name = "quattrocento-${version}";
 
-  url = "http://www.impallari.com/media/releases/quattrocento-v${version}.zip";
+  url = "http://web.archive.org/web/20170707001804/http://www.impallari.com/media/releases/quattrocento-v${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/{fonts,doc}
@@ -15,7 +15,7 @@ in fetchzip rec {
 
   sha256 = "0f8l19y61y20sszn8ni8h9kgl0zy1gyzychg22z5k93ip4h7kfd0";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://www.impallari.com/quattrocento/;
     description = "A classic, elegant, sober and strong serif typeface";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/raleway/default.nix b/pkgs/data/fonts/raleway/default.nix
index 009295c5869..7fd6b80b714 100644
--- a/pkgs/data/fonts/raleway/default.nix
+++ b/pkgs/data/fonts/raleway/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchzip }:
+{ lib, fetchFromGitHub }:
 
 let
   version = "2016-08-30";
-in fetchzip {
+in fetchFromGitHub {
   name = "raleway-${version}";
 
-  url = https://github.com/impallari/Raleway/archive/fa27f47b087fc093c6ae11cfdeb3999ac602929a.zip;
+  owner = "impallari";
+  repo = "Raleway";
+  rev = "fa27f47b087fc093c6ae11cfdeb3999ac602929a";
 
   postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*-Original.otf  -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*.txt \*.md     -d $out
+    tar xf $downloadedFile --strip=1
+    find . -name "*-Original.otf" -exec install -Dt $out/share/fonts/opentype {} \;
+    cp *.txt *.md -d $out
   '';
 
   sha256 = "16jr7drqg2wib2q48ajlsa7rh1jxjibl1wd4rjndi49vfl463j60";
@@ -33,8 +35,8 @@ in fetchzip {
     '';
 
     homepage = https://github.com/impallari/Raleway;
-    license = stdenv.lib.licenses.ofl;
+    license = lib.licenses.ofl;
 
-    maintainers = with stdenv.lib.maintainers; [ Profpatsch ];
+    maintainers = with lib.maintainers; [ Profpatsch ];
   };
 }
diff --git a/pkgs/data/fonts/redhat-liberation-fonts/default.nix b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
index 0ee2a0c308c..61206ca5d14 100644
--- a/pkgs/data/fonts/redhat-liberation-fonts/default.nix
+++ b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
@@ -4,7 +4,7 @@ let
   inherit (python3.pkgs) fonttools;
 
   common =
-    { version, repo, sha256, nativeBuildInputs, postPatch ? null, outputHash }:
+    { version, repo, sha256, nativeBuildInputs, postPatch ? null }:
     stdenv.mkDerivation rec {
       pname = "liberation-fonts";
       inherit version;
@@ -18,17 +18,15 @@ let
       inherit nativeBuildInputs postPatch;
 
       installPhase = ''
-        mkdir -p $out/share/fonts/truetype
-        cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
+        find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \;
 
-        mkdir -p "$out/share/doc/${pname}-${version}"
-        cp -v AUTHORS ChangeLog COPYING License.txt README "$out/share/doc/${pname}-${version}" || true
+        install -m444 -Dt $out/share/doc/${pname}-${version} AUTHORS     || true
+        install -m444 -Dt $out/share/doc/${pname}-${version} ChangeLog   || true
+        install -m444 -Dt $out/share/doc/${pname}-${version} COPYING     || true
+        install -m444 -Dt $out/share/doc/${pname}-${version} License.txt || true
+        install -m444 -Dt $out/share/doc/${pname}-${version} README      || true
       '';
 
-      outputHashAlgo = "sha256";
-      outputHashMode = "recursive";
-      inherit outputHash;
-
       meta = with stdenv.lib; {
         description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New";
         longDescription = ''
@@ -48,7 +46,6 @@ let
         maintainers = [
           maintainers.raskin
         ];
-        platforms = platforms.unix;
       };
     };
 
@@ -58,7 +55,6 @@ in {
     version = "1.07.5";
     nativeBuildInputs = [ fontforge ];
     sha256 = "1ffl10mf78hx598sy9qr5m6q2b8n3mpnsj73bwixnd4985gsz56v";
-    outputHash = "16jn17p22z2vip58aza2dfg1ri31ki6z3hsnmidfqfi7v8k83vq4";
   };
   liberation_ttf_v2 = common rec {
     repo = "liberation-fonts";
@@ -70,6 +66,5 @@ in {
         'font = ttLib.TTFont(fontfile, recalcTimestamp=False)'
     '';
     sha256 = "14bn1zlhyr4qaz5z2sx4h115pnbd41ix1vky8fxm2lx76xrjjiaa";
-    outputHash = "14c0c5n4vzd5y0hf9jkh48h12kkd8hlg94npbmv41j449g6wv6vn";
   };
 }
diff --git a/pkgs/data/fonts/ricty/default.nix b/pkgs/data/fonts/ricty/default.nix
index d26adfc0f9f..2667562b1b0 100644
--- a/pkgs/data/fonts/ricty/default.nix
+++ b/pkgs/data/fonts/ricty/default.nix
@@ -31,7 +31,6 @@ stdenv.mkDerivation rec {
     description = "A high-quality Japanese font based on Inconsolata and Migu 1M";
     homepage = https://www.rs.tus.ac.jp/yyusa/ricty.html;
     license = licenses.unfree;
-    platforms = platforms.unix;
     maintainers = [ maintainers.mikoim ];
   };
 }
diff --git a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
index 10d4678de05..2bdb96228d9 100644
--- a/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
+++ b/pkgs/data/fonts/rictydiminished-with-firacode/default.nix
@@ -22,8 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/share/fonts/rictydiminished-with-firacode
-    cp *.ttf $out/share/fonts/rictydiminished-with-firacode
+    install -m444 -Dt $out/share/fonts/rictydiminished-with-firacode *.ttf
   '';
 
   nativeBuildInputs = [
@@ -35,10 +34,6 @@ stdenv.mkDerivation rec {
     ]))
   ];
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "09ldviapljn4bb1mcxap2pkz7cq3wr2k2qialbnav5y7ii82acd4";
-
   meta = with stdenv.lib; {
     homepage = https://github.com/hakatashi/RictyDiminished-with-FiraCode;
     description = "The best Japanese programming font meets the awesone ligatures of Firacode";
diff --git a/pkgs/data/fonts/roboto/default.nix b/pkgs/data/fonts/roboto/default.nix
index 26697c52327..707d31ac531 100644
--- a/pkgs/data/fonts/roboto/default.nix
+++ b/pkgs/data/fonts/roboto/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2.138";
@@ -22,8 +22,8 @@ in fetchzip rec {
       Chrome OS, and the recommended font for Google’s visual language,
       Material Design.
     '';
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.romildo ];
   };
 }
diff --git a/pkgs/data/fonts/rounded-mgenplus/default.nix b/pkgs/data/fonts/rounded-mgenplus/default.nix
index c6cb61b7bd1..43198702492 100644
--- a/pkgs/data/fonts/rounded-mgenplus/default.nix
+++ b/pkgs/data/fonts/rounded-mgenplus/default.nix
@@ -1,33 +1,19 @@
-{ stdenv, fetchurl, p7zip }:
+{ lib, fetchzip, p7zip }:
 
 let
   pname = "rounded-mgenplus";
   version = "20150602";
-
-in
-
-stdenv.mkDerivation rec {
+in fetchzip rec {
   name = "${pname}-${version}";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://osdn.jp/downloads/users/8/8598/${name}.7z";
-    sha256 = "1k15xvzd3s5ppp151wv31wrfq2ri8v96xh7i71i974rxjxj6gspc";
-  };
-
-  nativeBuildInputs = [ p7zip ];
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  unpackPhase = ''
-    7z x $src
-  '';
 
-  installPhase = ''
+  url = "https://osdn.jp/downloads/users/8/8598/${name}.7z";
+  postFetch = ''
+    ${p7zip}/bin/7z x $downloadedFile
     install -m 444 -D -t $out/share/fonts/${pname} ${pname}-*.ttf
   '';
+  sha256 = "0vwdknagdrl5dqwpb1x5lxkbfgvbx8dpg7cb6yamgz71831l05v1";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A Japanese font based on Rounded M+ and Noto Sans Japanese";
     homepage = http://jikasei.me/font/rounded-mgenplus/;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/route159/default.nix b/pkgs/data/fonts/route159/default.nix
index 892078a1151..1b8d4e60653 100644
--- a/pkgs/data/fonts/route159/default.nix
+++ b/pkgs/data/fonts/route159/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib, fetchzip }:
 
 let
   majorVersion = "1";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
     description = "A weighted sans serif font";
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/sahel-fonts/default.nix b/pkgs/data/fonts/sahel-fonts/default.nix
index 20545be3dca..0b90a43ca3e 100644
--- a/pkgs/data/fonts/sahel-fonts/default.nix
+++ b/pkgs/data/fonts/sahel-fonts/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "sahel-fonts";
   version = "1.0.0-alpha22";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "rastikerdar";
-    repo = "sahel-font";
-    rev = "v${version}";
-    sha256 = "1kx7byzb5zxspq0i4cvgf4q7sm6xnhdnfyw9zrb1wfmdv3jzaz7p";
-  };
+  owner = "rastikerdar";
+  repo = "sahel-font";
+  rev = "v${version}";
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/sahel-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/sahel-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/sahel-fonts {} \;
   '';
+  sha256 = "0vj8ydv50rjanb0favd7rh4r9rv5fl39vqwvzkpgfdcdawn0xjm7";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/rastikerdar/sahel-font;
     description = "A Persian (farsi) Font - فونت (قلم) فارسی ساحل";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/samim-fonts/default.nix b/pkgs/data/fonts/samim-fonts/default.nix
index 620e2fdcfb9..dd4a01c782e 100644
--- a/pkgs/data/fonts/samim-fonts/default.nix
+++ b/pkgs/data/fonts/samim-fonts/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "samim-fonts";
   version = "3.1.0";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "rastikerdar";
-    repo = "samim-font";
-    rev = "v${version}";
-    sha256 = "1mp0pgbn9r098ilajwzag7c21shwb13mq61ly9av0mfbpnhkkjqk";
-  };
+  owner = "rastikerdar";
+  repo = "samim-font";
+  rev = "v${version}";
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/samim-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/samim-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/samim-fonts {} \;
   '';
+  sha256 = "0mmhncqg48dp0d7l725dv909zswbkk22dlqzcdfh6k6cgk2gn08q";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/rastikerdar/samim-font;
     description = "A Persian (Farsi) Font - فونت (قلم) فارسی صمیم";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index 17ee7cc2a9e..f46fda0dd31 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,25 +1,21 @@
-{ stdenv, fetchurl, p7zip }:
+{ lib, fetchurl, p7zip }:
 
 let
   version = "0.8.0";
-  sha256 = "0zafvzrh4180hmz351f1rvs29n8mfxf0qv6mdl7psf1f066dizs6";
 in fetchurl rec {
-  inherit sha256;
-
   name = "sarasa-gothic-${version}";
 
   url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
+  sha256 = "0zafvzrh4180hmz351f1rvs29n8mfxf0qv6mdl7psf1f066dizs6";
 
   recursiveHash = true;
   downloadToTemp = true;
 
   postFetch = ''
-    ${p7zip}/bin/7z x $downloadedFile
-    mkdir -p $out/share/fonts
-    install -m644 *.ttc $out/share/fonts/
+    ${p7zip}/bin/7z x $downloadedFile -o$out/share/fonts
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "SARASA GOTHIC is a Chinese & Japanese programming font based on Iosevka and Source Han Sans";
     homepage = https://github.com/be5invis/Sarasa-Gothic;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/scheherazade/default.nix b/pkgs/data/fonts/scheherazade/default.nix
index b35f537c06b..062b29c9039 100644
--- a/pkgs/data/fonts/scheherazade/default.nix
+++ b/pkgs/data/fonts/scheherazade/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2.100";
@@ -17,7 +17,7 @@ in fetchzip rec {
 
   sha256 = "1g5f5f9gzamkq3kqyf7vbzvl4rdj3wmjf6chdrbxksrm3rnb926z";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://software.sil.org/scheherazade/;
     description = "A font designed in a similar style to traditional Naskh typefaces";
     longDescription = ''
diff --git a/pkgs/data/fonts/seshat/default.nix b/pkgs/data/fonts/seshat/default.nix
index 6b22716f1eb..af3c5dd25ee 100644
--- a/pkgs/data/fonts/seshat/default.nix
+++ b/pkgs/data/fonts/seshat/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib,  fetchzip }:
 
 let
   majorVersion = "0";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
     description = "Roman body font designed for main text by Sora Sagano";
     longDescription = ''
diff --git a/pkgs/data/fonts/shabnam-fonts/default.nix b/pkgs/data/fonts/shabnam-fonts/default.nix
index cf4bd372229..89bca56a53e 100644
--- a/pkgs/data/fonts/shabnam-fonts/default.nix
+++ b/pkgs/data/fonts/shabnam-fonts/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
-  name = "shabnam-fonts";
+let
+  pname = "shabnam-fonts";
   version = "4.0.0";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "rastikerdar";
-    repo = "shabnam-font";
-    rev = "v${version}";
-    sha256 = "1y4w16if2y12028b9vyc5l5c5bvcglhxacv380ixb8fcc4hfakmb";
-  };
+  owner = "rastikerdar";
+  repo = "shabnam-font";
+  rev = "v${version}";
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/shabnam-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/shabnam-fonts
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/shabnam-fonts {} \;
   '';
+  sha256 = "0wfyaaj2pq2knz12l7rsc4wc703cbz0r8gkcya5x69p0aixch8ba";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/rastikerdar/shabnam-font;
     description = "A Persian (Farsi) Font - فونت (قلم) فارسی شبنم";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/shrikhand/default.nix b/pkgs/data/fonts/shrikhand/default.nix
index 034c36a63ce..a00036510f5 100644
--- a/pkgs/data/fonts/shrikhand/default.nix
+++ b/pkgs/data/fonts/shrikhand/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2016-03-03";
@@ -11,7 +11,7 @@ in fetchzip {
 
   sha256 = "0s54k9cs1g2yz6lwg5gakqb12vg5qkfdz3pc8mh7mib2s6q926hs";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://jonpinhorn.github.io/shrikhand/;
     description = "A vibrant and playful typeface for both Latin and Gujarati writing systems";
     maintainers = with maintainers; [ sternenseemann ];
diff --git a/pkgs/data/fonts/siji/default.nix b/pkgs/data/fonts/siji/default.nix
index a5a4be73c27..a0acf78d855 100644
--- a/pkgs/data/fonts/siji/default.nix
+++ b/pkgs/data/fonts/siji/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   date = "2016-05-13";
@@ -19,8 +19,8 @@ in fetchzip {
   meta = {
     homepage = https://github.com/stark/siji;
     description = "An iconic bitmap font based on Stlarch with additional glyphs";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.asymmetric ];
+    license = lib.licenses.gpl2;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.asymmetric ];
   };
 }
diff --git a/pkgs/data/fonts/source-code-pro/default.nix b/pkgs/data/fonts/source-code-pro/default.nix
index 6c3b9035306..be4d045815c 100644
--- a/pkgs/data/fonts/source-code-pro/default.nix
+++ b/pkgs/data/fonts/source-code-pro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2.030";
@@ -16,9 +16,9 @@ in fetchzip {
 
   meta = {
     description = "A set of monospaced OpenType fonts designed for coding environments";
-    maintainers = with stdenv.lib.maintainers; [ relrod ];
-    platforms = with stdenv.lib.platforms; all;
+    maintainers = with lib.maintainers; [ relrod ];
+    platforms = with lib.platforms; all;
     homepage = https://adobe-fonts.github.io/source-code-pro/;
-    license = stdenv.lib.licenses.ofl;
+    license = lib.licenses.ofl;
   };
 }
diff --git a/pkgs/data/fonts/source-han-code-jp/default.nix b/pkgs/data/fonts/source-han-code-jp/default.nix
index fc016a457c2..85f5cddd2ea 100644
--- a/pkgs/data/fonts/source-han-code-jp/default.nix
+++ b/pkgs/data/fonts/source-han-code-jp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   pname = "source-han-code-jp";
@@ -17,9 +17,9 @@ in fetchzip {
 
   meta = {
     description = "A monospaced Latin font suitable for coding";
-    maintainers = with stdenv.lib.maintainers; [ mt-caret ];
-    platforms = with stdenv.lib.platforms; all;
+    maintainers = with lib.maintainers; [ mt-caret ];
+    platforms = with lib.platforms; all;
     homepage = https://blogs.adobe.com/CCJKType/2015/06/source-han-code-jp.html;
-    license = stdenv.lib.licenses.ofl;
+    license = lib.licenses.ofl;
   };
 }
diff --git a/pkgs/data/fonts/source-han-sans/default.nix b/pkgs/data/fonts/source-han-sans/default.nix
index dc0d3175851..87e24c0e23c 100644
--- a/pkgs/data/fonts/source-han-sans/default.nix
+++ b/pkgs/data/fonts/source-han-sans/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   makePackage = {variant, language, region, sha256}: let
@@ -19,9 +19,8 @@ let
     meta = {
       description = "${language} subset of an open source Pan-CJK sans-serif typeface";
       homepage = https://github.com/adobe-fonts/source-han-sans;
-      license = stdenv.lib.licenses.ofl;
-      platforms = stdenv.lib.platforms.unix;
-      maintainers = with stdenv.lib.maintainers; [ taku0 ];
+      license = lib.licenses.ofl;
+      maintainers = with lib.maintainers; [ taku0 ];
     };
   };
 in
diff --git a/pkgs/data/fonts/source-han-serif/default.nix b/pkgs/data/fonts/source-han-serif/default.nix
index ac85d31d331..bb5a67c8306 100644
--- a/pkgs/data/fonts/source-han-serif/default.nix
+++ b/pkgs/data/fonts/source-han-serif/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   makePackage = {variant, language, region, sha256}: let
@@ -19,9 +19,8 @@ let
     meta = {
       description = "${language} subset of an open source Pan-CJK serif typeface";
       homepage = https://github.com/adobe-fonts/source-han-sans;
-      license = stdenv.lib.licenses.ofl;
-      platforms = stdenv.lib.platforms.unix;
-      maintainers = with stdenv.lib.maintainers; [ taku0 ];
+      license = lib.licenses.ofl;
+      maintainers = with lib.maintainers; [ taku0 ];
     };
   };
 in
diff --git a/pkgs/data/fonts/source-sans-pro/default.nix b/pkgs/data/fonts/source-sans-pro/default.nix
index 84360dec5d4..bea5fea0f9d 100644
--- a/pkgs/data/fonts/source-sans-pro/default.nix
+++ b/pkgs/data/fonts/source-sans-pro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "source-sans-pro-2.045";
@@ -14,7 +14,7 @@ fetchzip {
 
   sha256 = "0xjdp226ybdcfylbpfsdgnz2bf4pj4qv1wfs6fv22hjxlzqfixf3";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://adobe-fonts.github.io/source-sans-pro/;
     description = "A set of OpenType fonts designed by Adobe for UIs";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/source-serif-pro/default.nix b/pkgs/data/fonts/source-serif-pro/default.nix
index cdfe1e3f187..87484a99b11 100644
--- a/pkgs/data/fonts/source-serif-pro/default.nix
+++ b/pkgs/data/fonts/source-serif-pro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2.010";
@@ -16,7 +16,7 @@ in fetchzip {
 
   sha256 = "1a3lmqk7hyxpfkb30s9z73lhs823dmq6xr5llp9w23g6bh332x2h";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://adobe-fonts.github.io/source-serif-pro/;
     description = "A set of OpenType fonts to complement Source Sans Pro";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/spleen/default.nix b/pkgs/data/fonts/spleen/default.nix
index a474c3db779..ed1e1e52e98 100644
--- a/pkgs/data/fonts/spleen/default.nix
+++ b/pkgs/data/fonts/spleen/default.nix
@@ -1,23 +1,25 @@
-{ stdenv, fetchurl, mkfontdir, mkfontscale }:
+{ lib, fetchurl }:
 
-stdenv.mkDerivation rec {
+let
   pname = "spleen";
   version = "1.0.4";
+in fetchurl rec {
+  name = "${pname}-${version}";
+  url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
 
-  src = fetchurl {
-    url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
-    sha256 = "1x62a5ygn3rpgzbaacz64rp8mn7saymdnxci4l3xasvsjjp60s3g";
-  };
-
-  buildPhase = "gzip -n9 *.pcf";
-  installPhase = ''
+  downloadToTemp = true;
+  recursiveHash = true;
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
     d="$out/share/fonts/X11/misc/spleen"
+    gzip -n9 *.pcf
     install -Dm644 *.pcf.gz  -t $d
     install -Dm644 *.bdf -t $d
     install -m644 fonts.alias-spleen $d/fonts.alias
   '';
+  sha256 = "0jab55h08gy7gpyxqfrfj30iinmknpllh3dp5g7ck5q3qfgdzh7m";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Monospaced bitmap fonts";
     homepage = https://www.cambus.net/spleen-monospaced-bitmap-fonts;
     license = licenses.bsd2;
diff --git a/pkgs/data/fonts/stix-otf/default.nix b/pkgs/data/fonts/stix-otf/default.nix
index 1ae85da3f7f..f5d15439079 100644
--- a/pkgs/data/fonts/stix-otf/default.nix
+++ b/pkgs/data/fonts/stix-otf/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 let
   version = "1.1.1";
 in fetchzip rec {
   name = "stix-otf-${version}";
 
-  url = "mirror://sourceforge/stixfonts/STIXv${version}-word.zip";
+  url = "http://ftp.fi.muni.cz/pub/linux/gentoo/distfiles/STIXv${version}-word.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
@@ -14,7 +14,7 @@ in fetchzip rec {
 
   sha256 = "04d4qxq3i9fyapsmxk6d9v1xirjam8c74fyxs6n24d3gf2945zmw";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://www.stixfonts.org/;
     description = "Fonts for Scientific and Technical Information eXchange";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/stix-two/default.nix b/pkgs/data/fonts/stix-two/default.nix
index f535c0d7e7b..1d5ed37767c 100644
--- a/pkgs/data/fonts/stix-two/default.nix
+++ b/pkgs/data/fonts/stix-two/default.nix
@@ -5,11 +5,11 @@ let
 in fetchzip {
   name = "stix-two-${version}";
 
-  url = "mirror://sourceforge/stixfonts/Current%20Release/STIXv${version}.zip";
+  url = "https://github.com/stipub/stixfonts/archive/${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
-    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile '*/OTF/*.otf' -d $out/share/fonts/opentype
   '';
 
   sha256 = "19i30d2xjk52bjj7xva1hnlyh58yd5phas1njcc8ldcz87a1lhql";
diff --git a/pkgs/data/fonts/sudo/default.nix b/pkgs/data/fonts/sudo/default.nix
index 7652f593db4..bfc66a77207 100644
--- a/pkgs/data/fonts/sudo/default.nix
+++ b/pkgs/data/fonts/sudo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "0.37";
@@ -11,7 +11,7 @@ in fetchzip rec {
     mkdir -p $out/share/fonts/truetype/
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype/
   '';
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Font for programmers and command line users";
     homepage = https://www.kutilek.de/sudo-font/;
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/tamsyn/default.nix b/pkgs/data/fonts/tamsyn/default.nix
index 91198408d8d..380024e7e1a 100644
--- a/pkgs/data/fonts/tamsyn/default.nix
+++ b/pkgs/data/fonts/tamsyn/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, mkfontdir, mkfontscale }:
 
 let
-  version = "1.11"; 
+  version = "1.11";
 in stdenv.mkDerivation {
   pname = "tamsyn-font";
   inherit version;
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
     fontDir="$out/share/fonts/tamsyn"
     mkdir -p "$fontDir"
     mv *.pcf "$fontDir"
-    mv *.psf.gz "$fontDir" 
+    mv *.psf.gz "$fontDir"
 
     cd "$fontDir"
     mkfontdir
@@ -38,13 +38,12 @@ in stdenv.mkDerivation {
     longDescription = ''Tamsyn is a monospace bitmap font, primarily aimed at
     programmers. It was derived from Gilles Boccon-Gibod's MonteCarlo. Tamsyn
     font was further inspired by Gohufont, Terminus, Dina, Proggy, Fixedsys, and
-    Consolas. 
+    Consolas.
     '';
     homepage = http://www.fial.com/~scott/tamsyn-font/;
     downloadPage = http://www.fial.com/~scott/tamsyn-font/download;
     license = licenses.free;
     maintainers = [ maintainers.rps ];
-    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/data/fonts/tempora-lgc/default.nix b/pkgs/data/fonts/tempora-lgc/default.nix
index 1cab3da200e..f06a5bfee27 100644
--- a/pkgs/data/fonts/tempora-lgc/default.nix
+++ b/pkgs/data/fonts/tempora-lgc/default.nix
@@ -38,6 +38,5 @@ stdenv.mkDerivation {
     description = ''Tempora font'';
     license = stdenv.lib.licenses.gpl2 ;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/tenderness/default.nix b/pkgs/data/fonts/tenderness/default.nix
index 29682cc1299..958af414ff0 100644
--- a/pkgs/data/fonts/tenderness/default.nix
+++ b/pkgs/data/fonts/tenderness/default.nix
@@ -1,4 +1,4 @@
-{ stdenv,  fetchzip }:
+{ lib, fetchzip }:
 
 let
   majorVersion = "0";
@@ -17,7 +17,7 @@ fetchzip rec {
     unzip -j $downloadedFile \*.otf  -d $out/share/fonts/opentype/${pname}
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "http://dotcolon.net/font/${pname}/";
     description = "Serif font designed by Sora Sagano with old-style figures";
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/terminus-font-ttf/default.nix b/pkgs/data/fonts/terminus-font-ttf/default.nix
index 27abb72e124..211cc73cc9d 100644
--- a/pkgs/data/fonts/terminus-font-ttf/default.nix
+++ b/pkgs/data/fonts/terminus-font-ttf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "4.47.0";
@@ -20,7 +20,7 @@ in fetchzip rec {
 
   sha256 = "1mnx3vlnl0r15yzsa4zb9qqab4hpi603gdwhlbw960wg03i3xn8z";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A clean fixed width TTF font";
     longDescription = ''
       Monospaced bitmap font designed for long work with computers
@@ -29,6 +29,5 @@ in fetchzip rec {
     homepage = http://files.ax86.net/terminus-ttf;
     license = licenses.ofl;
     maintainers = with maintainers; [ okasu ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/terminus-font/default.nix b/pkgs/data/fonts/terminus-font/default.nix
index 2221f6bc6f5..4198fe2cbe6 100644
--- a/pkgs/data/fonts/terminus-font/default.nix
+++ b/pkgs/data/fonts/terminus-font/default.nix
@@ -37,6 +37,5 @@ stdenv.mkDerivation rec {
     homepage = http://terminus-font.sourceforge.net/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ astsmtl ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/tewi/default.nix b/pkgs/data/fonts/tewi/default.nix
index 32d859bf53b..fbc29cdf5fb 100644
--- a/pkgs/data/fonts/tewi/default.nix
+++ b/pkgs/data/fonts/tewi/default.nix
@@ -46,6 +46,5 @@ stdenv.mkDerivation rec {
       url = "https://www.gnu.org/licenses/gpl-faq.html#FontException";
     };
     maintainers = [ maintainers.fro_ozen ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/tex-gyre-math/default.nix b/pkgs/data/fonts/tex-gyre-math/default.nix
index 3f9726ee094..8e1d2743174 100644
--- a/pkgs/data/fonts/tex-gyre-math/default.nix
+++ b/pkgs/data/fonts/tex-gyre-math/default.nix
@@ -28,32 +28,30 @@ let
     };
   };
 
-  mkVariant = variant: current:
-    let dotless_version = builtins.replaceStrings ["."] [""] current.version; in
+  mkVariant = variant: {displayName, version, sha256, outputHash}:
+    let dotless_version = builtins.replaceStrings ["."] [""] version; in
     stdenv.mkDerivation rec {
-      name = "tex-gyre-${variant}-math-${current.version}";
-      version = "${current.version}";
+      name = "tex-gyre-${variant}-math-${version}";
+      inherit version;
 
       src = fetchzip {
-        url = "www.gust.org.pl/projects/e-foundry/tg-math/download/texgyre${variant}-math-${dotless_version}.zip";
-        sha256 = current.sha256;
+        url = "http://www.gust.org.pl/projects/e-foundry/tg-math/download/texgyre${variant}-math-${dotless_version}.zip";
+        inherit sha256;
       };
 
       installPhase = ''
-        mkdir -p $out/share/fonts/opentype/
-        mkdir -p $out/share/doc/${name}/
-        cp -v opentype/*.otf $out/share/fonts/opentype/
-        cp -v doc/*.txt $out/share/doc/${name}/
+        install -m444 -Dt $out/share/fonts/opentype opentype/*.otf
+        install -m444 -Dt $out/share/doc/${name}    doc/*.txt
       '';
 
       outputHashAlgo = "sha256";
       outputHashMode = "recursive";
-      outputHash = current.outputHash;
+      inherit outputHash;
 
       meta = with stdenv.lib; {
         longDescription = ''
-          TeX Gyre ${current.displayName} Math is a math companion for the TeX Gyre
-          ${current.displayName} family of fonts (see
+          TeX Gyre ${displayName} Math is a math companion for the TeX Gyre
+          ${displayName} family of fonts (see
           http://www.gust.org.pl/projects/e-foundry/tex-gyre/) in the OpenType format.
         '';
         homepage = http://www.gust.org.pl/projects/e-foundry/tg-math;
diff --git a/pkgs/data/fonts/tex-gyre/default.nix b/pkgs/data/fonts/tex-gyre/default.nix
index 3229e58506d..7e55a70c71a 100644
--- a/pkgs/data/fonts/tex-gyre/default.nix
+++ b/pkgs/data/fonts/tex-gyre/default.nix
@@ -20,7 +20,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = outputHash;
+    inherit outputHash;
 
     meta = with stdenv.lib; {
       homepage = http://www.gust.org.pl/projects/e-foundry/tex-gyre;
diff --git a/pkgs/data/fonts/theano/default.nix b/pkgs/data/fonts/theano/default.nix
index 2dbe7e720d2..82563205454 100644
--- a/pkgs/data/fonts/theano/default.nix
+++ b/pkgs/data/fonts/theano/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2.0";
@@ -16,7 +16,7 @@ in fetchzip rec {
 
   sha256 = "1my1symb7k80ys33iphsxvmf6432wx6vjdnxhzhkgrang1rhx1h8";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/akryukov/theano;
     description = "An old-style font designed from historic samples";
     maintainers = with maintainers; [ raskin rycee ];
diff --git a/pkgs/data/fonts/tipa/default.nix b/pkgs/data/fonts/tipa/default.nix
index 1a4954e6ce4..6cebe2120fe 100644
--- a/pkgs/data/fonts/tipa/default.nix
+++ b/pkgs/data/fonts/tipa/default.nix
@@ -22,7 +22,6 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Phonetic font for TeX";
-    platforms = stdenv.lib.platforms.unix;
   };
 }
 
diff --git a/pkgs/data/fonts/tlwg/default.nix b/pkgs/data/fonts/tlwg/default.nix
index 90f1b1da908..494f48fd36e 100644
--- a/pkgs/data/fonts/tlwg/default.nix
+++ b/pkgs/data/fonts/tlwg/default.nix
@@ -21,7 +21,6 @@ stdenv.mkDerivation rec {
     description = "A collection of Thai scalable fonts available under free licenses";
     homepage = https://linux.thai.net/projects/fonts-tlwg;
     license = with licenses; [ gpl2 publicDomain lppl13c free ];
-    platforms = platforms.unix;
     maintainers = [ maintainers.yrashk ];
   };
 }
diff --git a/pkgs/data/fonts/ttf-bitstream-vera/default.nix b/pkgs/data/fonts/ttf-bitstream-vera/default.nix
index a4d479ea33c..f485f43b60c 100644
--- a/pkgs/data/fonts/ttf-bitstream-vera/default.nix
+++ b/pkgs/data/fonts/ttf-bitstream-vera/default.nix
@@ -1,20 +1,20 @@
-{stdenv, fetchzip}:
+{ stdenv, fetchzip }:
+let
+  pname = "ttf-bitstream-vera";
+  version = "1.10";
+in
+fetchzip rec {
+  name = "${pname}-${version}";
 
-fetchzip {
-  name = "ttf-bitstream-vera-1.10";
-
-  url = mirror://gnome/sources/ttf-bitstream-vera/1.10/ttf-bitstream-vera-1.10.tar.bz2;
+  url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2";
 
   postFetch = ''
     tar -xjf $downloadedFile --strip-components=1
-    fontDir=$out/share/fonts/truetype
-    mkdir -p $fontDir
-    cp *.ttf $fontDir
+    install -m444 -Dt $out/share/fonts/truetype *.ttf
   '';
 
   sha256 = "179hal4yi3367jg8rsvqx6h2w4s0kn9zzrv8c47sslyg28g39s4m";
 
   meta = {
-    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/data/fonts/ttf-envy-code-r/default.nix b/pkgs/data/fonts/ttf-envy-code-r/default.nix
index 2c58f197f18..024e1acd434 100644
--- a/pkgs/data/fonts/ttf-envy-code-r/default.nix
+++ b/pkgs/data/fonts/ttf-envy-code-r/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   pname = "ttf-envy-code-r";
@@ -16,11 +16,10 @@ in fetchzip {
 
   sha256 = "0x0r07nax68cmz7490x2crzzgdg4j8fg63wppcmjqm0230bggq2z";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://damieng.com/blog/tag/envy-code-r;
     description = "Free scalable coding font by DamienG";
     license = licenses.unfree;
-    platforms = platforms.unix;
     maintainers = [ maintainers.lyt ];
   };
 }
diff --git a/pkgs/data/fonts/twemoji-color-font/default.nix b/pkgs/data/fonts/twemoji-color-font/default.nix
index 52d11bfd622..a9bf3720c07 100644
--- a/pkgs/data/fonts/twemoji-color-font/default.nix
+++ b/pkgs/data/fonts/twemoji-color-font/default.nix
@@ -38,6 +38,5 @@ stdenv.mkDerivation rec {
     downloadPage = "https://github.com/eosrei/twemoji-color-font/releases";
     license = with licenses; [ cc-by-40 mit ];
     maintainers = [ maintainers.fgaz ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/ubuntu-font-family/default.nix b/pkgs/data/fonts/ubuntu-font-family/default.nix
index e78f86fede4..5f072f90f05 100644
--- a/pkgs/data/fonts/ubuntu-font-family/default.nix
+++ b/pkgs/data/fonts/ubuntu-font-family/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "ubuntu-font-family-0.83";
 
-  url = "http://font.ubuntu.com/download/${name}.zip";
+  url = "https://assets.ubuntu.com/v1/fad7939b-ubuntu-font-family-0.83.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
@@ -19,8 +19,8 @@ fetchzip rec {
     contemporary style and contains characteristics unique to
     the Ubuntu brand that convey a precise, reliable and free attitude.";
     homepage = http://font.ubuntu.com/;
-    license = stdenv.lib.licenses.free;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.antono ];
+    license = lib.licenses.free;
+    platforms = lib.platforms.all;
+    maintainers = [ lib.maintainers.antono ];
   };
 }
diff --git a/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix b/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
index f8df39c9565..35551e929e6 100644
--- a/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
+++ b/pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "1.0";
@@ -13,10 +13,9 @@ fetchzip rec {
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The Ultimate Oldschool PC Font Pack (TTF Fonts)";
     homepage = "http://int10h.org/oldschool-pc-fonts/";
-    platforms = platforms.unix;
     license = licenses.cc-by-sa-40;
     maintainers = [ maintainers.endgame ];
   };
diff --git a/pkgs/data/fonts/undefined-medium/default.nix b/pkgs/data/fonts/undefined-medium/default.nix
index e61e582d742..c98936b8096 100644
--- a/pkgs/data/fonts/undefined-medium/default.nix
+++ b/pkgs/data/fonts/undefined-medium/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "undefined-medium-1.0";
@@ -10,9 +10,9 @@ fetchzip rec {
     unzip -j $downloadedFile ${name}/fonts/otf/\*.otf -d $out/share/fonts/opentype
   '';
 
-  sha256 = "0v3p1g9f1c0d6b9lhrvm1grzivm7ddk7dvn96zl5hdzr2y60y1rw";
+  sha256 = "1wa04jzbffshwcxm705yb5wja8wakn8j7fvim1mlih2z1sqw0njk";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://undefined-medium.com/;
     description = "A pixel grid-based monospace typeface";
     longDescription = ''
diff --git a/pkgs/data/fonts/uni-vga/default.nix b/pkgs/data/fonts/uni-vga/default.nix
index 2a13824b36f..cd719a62d99 100644
--- a/pkgs/data/fonts/uni-vga/default.nix
+++ b/pkgs/data/fonts/uni-vga/default.nix
@@ -20,13 +20,12 @@ stdenv.mkDerivation {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  sha256 = "0rfly7r6blr2ykxlv0f6my2w41vvxcw85chspljd2p1fxlr28jd7";
+  outputHash = "0rfly7r6blr2ykxlv0f6my2w41vvxcw85chspljd2p1fxlr28jd7";
 
   meta = {
     description = "Unicode VGA font";
     maintainers = [stdenv.lib.maintainers.ftrvxmtrx];
     homepage = http://www.inp.nsk.su/~bolkhov/files/fonts/univga/;
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix
index b167a7802d1..d495efc79ec 100644
--- a/pkgs/data/fonts/unifont/default.nix
+++ b/pkgs/data/fonts/unifont/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "unifont-${version}";
-  version = "12.0.01";
+  version = "12.1.01";
 
   ttf = fetchurl {
     url = "mirror://gnu/unifont/${name}/${name}.ttf";
-    sha256 = "191vgddv5fksg7g01q692nfcb02ks2y28fi9fv8aghvs36q4iana";
+    sha256 = "05knv3vlnk8ahaybwz6r95d3a1h7h7q9ll6ij2jl7zgjhcx4zy5d";
   };
 
   pcf = fetchurl {
     url = "mirror://gnu/unifont/${name}/${name}.pcf.gz";
-    sha256 = "14xbrsdrnllly8h2afan3b4v486vd4y8iff8zqmcfliw0cipm8v4";
+    sha256 = "0q7dlnfzk49m4pgf2s7jv05jysa6sfxx3w0y17yis9j7g18lyw1b";
   };
 
   nativeBuildInputs = [ mkfontscale mkfontdir ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "1jccbz7wyyk7rpyapgsppcgakgpm1l9fqqxs7fg9naav7i0nzzpg";
+  outputHash = "0sgdr9dma4hkda3siydfvjrnzrpri8r7iqs2zqf77z9n4zn90qp5";
 
   meta = with stdenv.lib; {
     description = "Unicode font for Base Multilingual Plane";
diff --git a/pkgs/data/fonts/unifont_upper/default.nix b/pkgs/data/fonts/unifont_upper/default.nix
index d94a2cc0242..5cccc1eddc6 100644
--- a/pkgs/data/fonts/unifont_upper/default.nix
+++ b/pkgs/data/fonts/unifont_upper/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
-  version = "12.0.01";
+  version = "12.1.01";
 in fetchzip rec {
   name = "unifont_upper-${version}";
 
@@ -9,9 +9,9 @@ in fetchzip rec {
 
   postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf";
 
-  sha256 = "1mmbndyi91fcdj7ykk5y7rypmm5jf2zf5pp5ab8hq3aa9y7invw3";
+  sha256 = "11b14ka2w16vssxdhgq7k9bx7xx0sr36hfi2vzyimmaibasi1r74";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane";
     homepage = http://unifoundry.com/unifont.html;
 
diff --git a/pkgs/data/fonts/unscii/default.nix b/pkgs/data/fonts/unscii/default.nix
index c4969d046d4..6d169e940cf 100644
--- a/pkgs/data/fonts/unscii/default.nix
+++ b/pkgs/data/fonts/unscii/default.nix
@@ -8,25 +8,19 @@ stdenv.mkDerivation rec {
     url = "http://pelulamu.net/${pname}/${name}-src.tar.gz";
     sha256 = "0qcxcnqz2nlwfzlrn115kkp3n8dd7593h762vxs6vfqm13i39lq1";
   };
-  nativeBuildInputs = [perl bdftopcf perlPackages.TextCharWidth fontforge 
+  nativeBuildInputs = [perl bdftopcf perlPackages.TextCharWidth fontforge
     SDL SDL_image];
   preConfigure = ''
     patchShebangs .
   '';
   installPhase = ''
-    mkdir -p "$out/share/fonts"/{truetype,opentype,web,svg}
-    cp *.hex "$out/share/fonts/"
-    cp *.pcf "$out/share/fonts/"
-    cp *.ttf "$out/share/fonts/truetype"
-    cp *.otf "$out/share/fonts/opentype"
-    cp *.svg "$out/share/fonts/svg"
-    cp *.woff "$out/share/fonts/web"
+    install -m444 -Dt $out/share/fonts          *.hex *.pcf
+    install -m444 -Dt $out/share/fonts/truetype *.ttf
+    install -m444 -Dt $out/share/fonts/opentype *.otf
+    install -m444 -Dt $out/share/fonts/svg      *.svg
+    install -m444 -Dt $out/share/fonts/web      *.woff
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "03zvczdka665zcyf9fjrnx434mwpr5q8396j34kjmc67w7nhc49r";
-
   meta = {
     inherit version;
     description = ''Bitmapped character-art-friendly Unicode fonts'';
@@ -34,7 +28,6 @@ stdenv.mkDerivation rec {
     # version. The reduced version is public domain.
     license = http://unifoundry.com/LICENSE.txt;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
     homepage = http://pelulamu.net/unscii/;
   };
 }
diff --git a/pkgs/data/fonts/vazir-fonts/default.nix b/pkgs/data/fonts/vazir-fonts/default.nix
index 408bd9a9264..d004e75571b 100755
--- a/pkgs/data/fonts/vazir-fonts/default.nix
+++ b/pkgs/data/fonts/vazir-fonts/default.nix
@@ -1,23 +1,22 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
-  name = "vazir-fonts";
+let
+  pname = "vazir-fonts";
   version = "19.2.0";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "rastikerdar";
-    repo = "vazir-font";
-    rev = "v${version}";
-    sha256 = "0p96y4q20nhpv7hxca6rncfcb14iqy2vacv0xl55wkwqkm4wvzgr";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/vazir-fonts
-    cp -v $( find . -name '*.ttf') $out/share/fonts/vazir-fonts
+  owner = "rastikerdar";
+  repo = "vazir-font";
+  rev = "v${version}";
 
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/vazir-fonts {} \;
   '';
+  sha256 = "008h095rjrcjhz9h02v6cf3gv64khj21lii4zffgpdlmvfs29f8l";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/rastikerdar/vazir-font;
     description = "A Persian (Farsi) Font - قلم (فونت) فارسی وزیر";
     license = licenses.ofl;
diff --git a/pkgs/data/fonts/vdrsymbols/default.nix b/pkgs/data/fonts/vdrsymbols/default.nix
index d3373a64c49..01a4072099a 100644
--- a/pkgs/data/fonts/vdrsymbols/default.nix
+++ b/pkgs/data/fonts/vdrsymbols/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "vdrsymbols-20100612";
@@ -12,7 +12,7 @@ fetchzip rec {
     install -Dm444 -t "$out/share/fonts/truetype" */*.ttf
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "DejaVu fonts with additional symbols used by VDR";
     homepage = http://andreas.vdr-developer.org/fonts/;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/vegur/default.nix b/pkgs/data/fonts/vegur/default.nix
index 4bf28782a8a..a269f17bf0e 100644
--- a/pkgs/data/fonts/vegur/default.nix
+++ b/pkgs/data/fonts/vegur/default.nix
@@ -1,29 +1,22 @@
-{ stdenv, rpmextract, fetchurl, unzip }:
+{ lib, buildPackages, fetchzip }:
 
-stdenv.mkDerivation rec {
+let
   version = "0.701";
+in fetchzip {
   name = "vegur-font-${version}";
 
   # Upstream doesn't version their URLs.
   # http://dotcolon.net/font/vegur/ → http://dotcolon.net/DL/font/vegur.zip
-  src = fetchurl {
-    url = "http://download.opensuse.org/repositories/M17N:/fonts/SLE_12_SP3/src/dotcolon-vegur-fonts-0.701-1.4.src.rpm";
-    sha256 = "0ra3fds3b352rpzn0015km539c3l2ik2lqd5x6fr65ss9fg2xn34";
-  };
-
-  nativeBuildInputs = [ rpmextract unzip ];
+  url = "http://download.opensuse.org/repositories/M17N:/fonts/SLE_12_SP3/src/dotcolon-vegur-fonts-0.701-1.4.src.rpm";
 
-  unpackPhase = ''
-    rpmextract $src
+  postFetch = ''
+    ${buildPackages.rpmextract}/bin/rpmextract $downloadedFile
     unzip vegur.zip
+    install -m444 -Dt $out/share/fonts/Vegur *.otf
   '';
+  sha256 = "0iisi2scq72lyj7pc1f36fhfjnm676n5byl4zaavhbxpdrbc6d1v";
 
-  installPhase = ''
-    mkdir -p $out/share/fonts/Vegur
-    cp *.otf $out/share/fonts/Vegur
-  '';
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://dotcolon.net/font/vegur/;
     description = "A humanist sans serif font.";
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/vista-fonts-chs/default.nix b/pkgs/data/fonts/vista-fonts-chs/default.nix
index e9a3282e715..6a7cc71133a 100644
--- a/pkgs/data/fonts/vista-fonts-chs/default.nix
+++ b/pkgs/data/fonts/vista-fonts-chs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip, cabextract}:
+{ lib, fetchzip, buildPackages }:
 
 # Modified from vista-fonts
 
@@ -8,7 +8,7 @@ fetchzip {
   url = http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE;
 
   postFetch = ''
-    ${cabextract}/bin/cabextract --lowercase --filter '*.TTF' $downloadedFile
+    ${buildPackages.cabextract}/bin/cabextract --lowercase --filter '*.TTF' $downloadedFile
 
     mkdir -p $out/share/fonts/truetype
     cp *.ttf $out/share/fonts/truetype
@@ -25,12 +25,12 @@ fetchzip {
   meta = {
     description = "TrueType fonts from Microsoft Windows Vista For Simplified Chinese (Microsoft YaHei)";
     homepage = https://www.microsoft.com/typography/fonts/family.aspx?FID=350;
-    license = stdenv.lib.licenses.unfree;
-    maintainers = [ stdenv.lib.maintainers.ChengCat ];
+    license = lib.licenses.unfree;
+    maintainers = [ lib.maintainers.ChengCat ];
 
     # Set a non-zero priority to allow easy overriding of the
     # fontconfig configuration files.
     priority = 5;
-    platforms = stdenv.lib.platforms.all;
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/vista-fonts/default.nix b/pkgs/data/fonts/vista-fonts/default.nix
index 65fa3fb81ab..e8784d90e7f 100644
--- a/pkgs/data/fonts/vista-fonts/default.nix
+++ b/pkgs/data/fonts/vista-fonts/default.nix
@@ -31,6 +31,6 @@ fetchzip {
     # Set a non-zero priority to allow easy overriding of the
     # fontconfig configuration files.
     priority = 5;
-    platforms = stdenv.lib.platforms.unix;
+    broken = true; # source url is 404
   };
 }
diff --git a/pkgs/data/fonts/weather-icons/default.nix b/pkgs/data/fonts/weather-icons/default.nix
index 8d818d21923..17227367120 100644
--- a/pkgs/data/fonts/weather-icons/default.nix
+++ b/pkgs/data/fonts/weather-icons/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "2.0.10";
-in fetchzip rec {
+in fetchzip {
   name = "weather-icons-${version}";
 
   url = "https://github.com/erikflowers/weather-icons/archive/${version}.zip";
@@ -14,7 +14,7 @@ in fetchzip rec {
 
   sha256 = "10zny9987wybq55sm803hrjkp33dq1lgmnxc15kssr8yb81g6qrl";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Weather Icons";
     longDescription = ''
       Weather Icons is the only icon font and CSS with 222 weather themed icons,
diff --git a/pkgs/data/fonts/wqy-microhei/default.nix b/pkgs/data/fonts/wqy-microhei/default.nix
index 038f0316940..dc87e6b634f 100644
--- a/pkgs/data/fonts/wqy-microhei/default.nix
+++ b/pkgs/data/fonts/wqy-microhei/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 fetchzip rec {
   name = "wqy-microhei-0.2.0-beta";
@@ -15,9 +15,9 @@ fetchzip rec {
   meta = {
     description = "A (mainly) Chinese Unicode font";
     homepage = http://wenq.org;
-    license = stdenv.lib.licenses.asl20;
-    maintainers = [ stdenv.lib.maintainers.pkmx ];
-    platforms = stdenv.lib.platforms.all;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.pkmx ];
+    platforms = lib.platforms.all;
   };
 }
 
diff --git a/pkgs/data/fonts/wqy-zenhei/default.nix b/pkgs/data/fonts/wqy-zenhei/default.nix
index 9718763d004..7df1e5aeb2a 100644
--- a/pkgs/data/fonts/wqy-zenhei/default.nix
+++ b/pkgs/data/fonts/wqy-zenhei/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "0.9.45";
@@ -18,8 +18,8 @@ in fetchzip rec {
   meta = {
     description = "A (mainly) Chinese Unicode font";
     homepage = http://wenq.org;
-    license = stdenv.lib.licenses.gpl2; # with font embedding exceptions
-    maintainers = [ stdenv.lib.maintainers.pkmx ];
-    platforms = stdenv.lib.platforms.all;
+    license = lib.licenses.gpl2; # with font embedding exceptions
+    maintainers = [ lib.maintainers.pkmx ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/data/fonts/xits-math/default.nix b/pkgs/data/fonts/xits-math/default.nix
index 25431c7f9d7..1aa103adefb 100644
--- a/pkgs/data/fonts/xits-math/default.nix
+++ b/pkgs/data/fonts/xits-math/default.nix
@@ -22,14 +22,9 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/share/fonts/opentype
-    cp *.otf $out/share/fonts/opentype
+    install -m444 -Dt $out/share/fonts/opentype *.otf
   '';
 
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = "00xycmb9ka67j5s66nkng53y8q6362igisxz04zb58r2717jk50m";
-
   meta = with stdenv.lib; {
     homepage = https://github.com/khaledhosny/xits-math;
     description = "OpenType implementation of STIX fonts with math support";
diff --git a/pkgs/data/fonts/xkcd-font/default.nix b/pkgs/data/fonts/xkcd-font/default.nix
index 9aa664fd289..0e996da2fc7 100644
--- a/pkgs/data/fonts/xkcd-font/default.nix
+++ b/pkgs/data/fonts/xkcd-font/default.nix
@@ -1,24 +1,23 @@
-{ stdenv, fetchFromGitHub }:
+{ lib, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+let
   pname = "xkcd-font";
   version = "unstable-2017-08-24";
+in fetchFromGitHub rec {
+  name = "${pname}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "ipython";
-    repo = pname;
-    rev = "5632fde618845dba5c22f14adc7b52bf6c52d46d";
-    sha256 = "01wpfc1yp93b37r472mx2b459il5gywnv5sl7pp9afpycb3i4f6l";
-  };
-
-  phases = [ "unpackPhase" "installPhase" ];
+  owner = "ipython";
+  repo = pname;
+  rev = "5632fde618845dba5c22f14adc7b52bf6c52d46d";
 
-  installPhase = ''
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
     install -Dm444 -t $out/share/fonts/opentype/ xkcd/build/xkcd.otf
     install -Dm444 -t $out/share/fonts/truetype/ xkcd-script/font/xkcd-script.ttf
   '';
+  sha256 = "0xhwa53aiz20763jb9nvbr2zq9k6jl69p07dc4b0apwrrwz0jfr1";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "The xkcd font";
     homepage = https://github.com/ipython/xkcd-font;
     license = licenses.cc-by-nc-30;
diff --git a/pkgs/data/fonts/yanone-kaffeesatz/default.nix b/pkgs/data/fonts/yanone-kaffeesatz/default.nix
index 026bb2d2244..e713f4d64a3 100644
--- a/pkgs/data/fonts/yanone-kaffeesatz/default.nix
+++ b/pkgs/data/fonts/yanone-kaffeesatz/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchzip}:
+{ lib, fetchzip }:
 
 fetchzip {
   name = "yanone-kaffeesatz-2004";
@@ -14,9 +14,9 @@ fetchzip {
 
   meta = {
     description = "The free font classic";
-    maintainers = with stdenv.lib.maintainers; [ mt-caret ];
-    platforms = with stdenv.lib.platforms; all;
+    maintainers = with lib.maintainers; [ mt-caret ];
+    platforms = with lib.platforms; all;
     homepage = https://yanone.de/fonts/kaffeesatz/;
-    license = stdenv.lib.licenses.ofl;
+    license = lib.licenses.ofl;
   };
 }
diff --git a/pkgs/data/fonts/zilla-slab/default.nix b/pkgs/data/fonts/zilla-slab/default.nix
index d77d6d8b301..369fb53e6ab 100644
--- a/pkgs/data/fonts/zilla-slab/default.nix
+++ b/pkgs/data/fonts/zilla-slab/default.nix
@@ -1,8 +1,7 @@
-{ stdenv, fetchzip }:
+{ lib, fetchzip }:
 
 let
   version = "1.002";
-  hash = "1b1ys28hyjcl4qwbnsyi6527nj01g3d6id9jl23fv6f8fjm4ph0f";
 in fetchzip {
   name = "zilla-slab-${version}";
 
@@ -12,9 +11,9 @@ in fetchzip {
     mkdir -p $out/share/fonts/truetype
     cp -v zilla-slab/ttf/*.ttf $out/share/fonts/truetype/
   '';
-  sha256 = hash;
+  sha256 = "1b1ys28hyjcl4qwbnsyi6527nj01g3d6id9jl23fv6f8fjm4ph0f";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/mozilla/zilla-slab;
     description = "Zilla Slab fonts";
     longDescription = ''
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 11be8acc259..d1652be90d6 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3f0c3944190bf34286e4e80620fede11dd688f68.tar.gz";
-  sha256 = "1i4k4wjm6w8hgwia1axwdr3ij0ckxh3ikc1f0nlk8sb0j3yrmxa6";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/00d16ba60110e6956b6f7d31d520d0a34377b047.tar.gz";
+  sha256 = "1f6d0a06g51r01mgg6fm9b8nd2bzkijf6jm6ljm5c62qgi4fkc7k";
 }
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index 59773e34cce..163f230e077 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchzip }:
 
 let
-  version = "20181219";
+  version = "20190504";
 in fetchzip {
   name = "iana-etc-${version}";
   url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
-  sha256 = "0i3f7shvf1g6dp984w8xfix6id3q5c10b292wz2qw3v5n7h6wkm3";
+  sha256 = "1h61qnb3ybyfivyq8qjnisj4arbnhn8hcwad1bp4iqidjk6rjfv3";
 
   postFetch = ''
     tar -xzvf $downloadedFile --strip-components=1
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index 4e6a5bde55d..0cb3ae5136f 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db";
-  version = "20190301";
+  version = "20190504";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "1rjqizsglgdcjxi7kpbwm26krdkrlxacinjp9684sfzhqwdqi4as";
+    sha256 = "1yik26gbm3y3wviyabfpyx7pnqx72z5j7267hdgfscdvrwwmyi5z";
   };
 
   nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ];
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch
new file mode 100644
index 00000000000..72922eee96c
--- /dev/null
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/catalog-legacy-uris.patch
@@ -0,0 +1,10 @@
+--- a/catalog.xml
++++ b/catalog.xml
+@@ -5,4 +5,7 @@
+   <rewriteSystem systemIdStartString="http://cdn.docbook.org/release/xsl@suffix@/current/" rewritePrefix="./"/>
+   <rewriteURI uriStartString="http://cdn.docbook.org/release/xsl@suffix@/@version@/" rewritePrefix="./"/>
+   <rewriteSystem systemIdStartString="http://cdn.docbook.org/release/xsl@suffix@/@version@/" rewritePrefix="./"/>
++  <!-- legacy URIs -->
++  <rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl@legacySuffix@/current/" rewritePrefix="./"/>
++  <rewriteSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl@legacySuffix@/current/" rewritePrefix="./"/>
+ </catalog>
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
index ef7b1f93d74..5297d5dbd5d 100644
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
+++ b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/default.nix
@@ -1,66 +1,77 @@
-{ lib, stdenv, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }:
+{ lib, stdenv, substituteAll, fetchurl, fetchpatch, findXMLCatalogs, writeScriptBin, ruby, bash }:
 
 let
 
-  common = { pname, sha256, patches ? [] }: let self = stdenv.mkDerivation rec {
-    name = "${pname}-1.79.1";
-
-    src = fetchurl {
-      url = "mirror://sourceforge/docbook/${name}.tar.bz2";
-      inherit sha256;
-    };
-
-    inherit patches;
-
-    propagatedBuildInputs = [ findXMLCatalogs ];
-
-    dontBuild = true;
-
-    installPhase = ''
-      dst=$out/share/xml/${pname}
-      mkdir -p $dst
-      rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh svn* tools log Makefile tests extensions webhelp
-      mv * $dst/
-
-      # Backwards compatibility. Will remove eventually.
-      mkdir -p $out/xml/xsl
-      ln -s $dst $out/xml/xsl/docbook
-    '';
-
-    passthru.dbtoepub = writeScriptBin "dbtoepub"
-      ''
-        #!${bash}/bin/bash
-        exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@"
+  common = { pname, sha256, suffix ? "" }: let
+    legacySuffix = if suffix == "-nons" then "" else "-ns";
+    self = stdenv.mkDerivation rec {
+      inherit pname;
+      version = "1.79.2";
+
+      src = fetchurl {
+        url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${version}/docbook-xsl${suffix}-${version}.tar.bz2";
+        inherit sha256;
+      };
+
+      patches = [
+        # Prevent a potential stack overflow
+        # https://github.com/docbook/xslt10-stylesheets/pull/37
+        (fetchpatch {
+          url = https://src.fedoraproject.org/rpms/docbook-style-xsl/raw/e3ae7a97ed1d185594dd35954e1a02196afb205a/f/docbook-style-xsl-non-recursive-string-subst.patch;
+          sha256 = "0lrjjg5kpwwmbhkxzz6i5zmimb6lsvrrdhzc2qgjmb3r6jnsmii3";
+          stripLen = "1";
+        })
+
+        # Add legacy sourceforge.net URIs to the catalog
+        (substituteAll {
+          src = ./catalog-legacy-uris.patch;
+          inherit legacySuffix suffix version;
+        })
+      ];
+
+      propagatedBuildInputs = [ findXMLCatalogs ];
+
+      dontBuild = true;
+
+      installPhase = ''
+        dst=$out/share/xml/${pname}
+        mkdir -p $dst
+        rm -rf RELEASE* README* INSTALL TODO NEWS* BUGS install.sh tools Makefile tests extensions webhelp
+        mv * $dst/
+
+        # Backwards compatibility. Will remove eventually.
+        mkdir -p $out/xml/xsl
+        ln -s $dst $out/xml/xsl/docbook
+
+        # More backwards compatibility
+        ln -s $dst $out/share/xml/docbook-xsl${legacySuffix}
       '';
 
-    meta = {
-      homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets;
-      description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
-      maintainers = [ lib.maintainers.eelco ];
-      platforms = lib.platforms.all;
+      passthru.dbtoepub = writeScriptBin "dbtoepub"
+        ''
+          #!${bash}/bin/bash
+          exec -a dbtoepub ${ruby}/bin/ruby ${self}/share/xml/${pname}/epub/bin/dbtoepub "$@"
+        '';
+
+      meta = {
+        homepage = http://wiki.docbook.org/topic/DocBookXslStylesheets;
+        description = "XSL stylesheets for transforming DocBook documents into HTML and various other formats";
+        maintainers = [ lib.maintainers.eelco ];
+        platforms = lib.platforms.all;
+      };
     };
-  }; in self;
+  in self;
 
 in {
 
-  docbook_xsl = common {
-    pname = "docbook-xsl";
-    sha256 = "0s59lihif2fr7rznckxr2kfyrvkirv76r1zvidp9b5mj28p4apvj";
-
-    patches = [(fetchpatch {
-      name = "potential-infinite-template-recursion.patch";
-      url = "https://src.fedoraproject.org/cgit/rpms/docbook-style-xsl.git/"
-          + "plain/docbook-style-xsl-non-recursive-string-subst.patch?id=bf9e5d16fd";
-      sha256 = "1pfb468bsj3j879ip0950waih0r1s6rzfbm2p70glbz0g3903p7h";
-      stripLen = "1";
-    })];
-
+  docbook-xsl-nons = common {
+    pname = "docbook-xsl-nons";
+    suffix = "-nons";
+    sha256 = "00i1hdyxim8jymv2dz68ix3wbs5w6isxm8ijb03qk3vs1g59x2zf";
   };
 
-  docbook_xsl_ns = common {
+  docbook-xsl-ns = common {
     pname = "docbook-xsl-ns";
-    sha256 = "170ggf5dgjar65kkn5n33kvjr3pdinpj66nnxfx8b2avw0k91jin";
-
-    patches = [ ./docbook-xsl-ns-infinite.patch ];
+    sha256 = "0wd33z41kdsybyx3ay21w6bdlmgpd9kyn3mr5y520lsf8km28r9i";
   };
 }
diff --git a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch b/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch
deleted file mode 100644
index 5729f9b43c8..00000000000
--- a/pkgs/data/sgml+xml/stylesheets/xslt/docbook-xsl/docbook-xsl-ns-infinite.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Description: Remove infinite recursion
-Attribute: docbook5_xsl
-Version: 1.79.1
-URL: https://github.com/NixOS/nixpkgs/issues/39090
-diff -ru a/lib/lib.xsl b/lib/lib.xsl
---- a/lib/lib.xsl	2015-12-26 15:15:37.000000000 -0800
-+++ b/lib/lib.xsl	2018-03-22 11:52:45.311949264 -0700
-@@ -11,8 +11,10 @@
- 
-      ******************************************************************** -->
- <xsl:stylesheet exclude-result-prefixes="d"
--                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://docbook.org/ns/docbook"
--version="1.0">
-+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-+                xmlns:d="http://docbook.org/ns/docbook"
-+                xmlns:str="http://exslt.org/strings"
-+                version="1.0">
- 
- <xsl:template name="dot.count">
-   <!-- Returns the number of "." characters in a string -->
-@@ -58,6 +61,9 @@
-   <xsl:param name="replacement"/>
- 
-   <xsl:choose>
-+    <xsl:when test="function-available('str:replace')">
-+      <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
-+    </xsl:when>
-     <xsl:when test="contains($string, $target)">
-       <xsl:variable name="rest">
-         <xsl:call-template name="string.subst">
diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix
index edb1113a696..31d4a068908 100644
--- a/pkgs/data/themes/matcha/default.nix
+++ b/pkgs/data/themes/matcha/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "matcha-${version}";
-  version = "2018-12-24";
+  version = "2019_05_09";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = "matcha";
     rev = version;
-    sha256 = "178y5s5jfprkw8y6clqb8ss4kvfswivfrh6cn67fk4z7wg72i3yc";
+    sha256 = "0xnv89appivrnbppyjqaa35pls120mkz253p2lblyxzbvi5kgn73";
   };
 
   buildInputs = [ gdk_pixbuf librsvg ];
diff --git a/pkgs/data/themes/shades-of-gray/default.nix b/pkgs/data/themes/shades-of-gray/default.nix
index 78948a1813a..35ad998e859 100644
--- a/pkgs/data/themes/shades-of-gray/default.nix
+++ b/pkgs/data/themes/shades-of-gray/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "shades-of-gray-theme";
-  version = "1.1.6";
+  version = "1.1.7";
 
   src = fetchFromGitHub {
     owner = "WernerFP";
     repo = pname;
     rev = version;
-    sha256 = "0jp4p0wdmac5dkz1hqhzqmn59zgxqd77gn0napy3wbqr5yc60pp1";
+    sha256 = "09r26izbx9sj9czc95cn4r0c1v9yj2qm84zdl047fiqa49czwbzq";
   };
 
   buildInputs = [ gtk_engines ];
diff --git a/pkgs/desktops/deepin/dde-polkit-agent/dde-polkit-agent.plugins-dir.patch b/pkgs/desktops/deepin/dde-polkit-agent/dde-polkit-agent.plugins-dir.patch
new file mode 100644
index 00000000000..a6941e975eb
--- /dev/null
+++ b/pkgs/desktops/deepin/dde-polkit-agent/dde-polkit-agent.plugins-dir.patch
@@ -0,0 +1,42 @@
+From 4f457d38e9e75bc97ee7dba633bf0cdd61b8cd5b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
+Date: Fri, 19 Apr 2019 22:01:16 -0300
+Subject: [PATCH] Use an environment variable to find plugins
+
+---
+ pluginmanager.cpp | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+diff --git a/pluginmanager.cpp b/pluginmanager.cpp
+index 0c03237..79bdf86 100644
+--- a/pluginmanager.cpp
++++ b/pluginmanager.cpp
+@@ -34,13 +34,19 @@ QList<QButtonGroup*> PluginManager::reduceGetOptions(const QString &actionID)
+ void PluginManager::load()
+ {
+ 
+-    QDir dir("/usr/lib/polkit-1-dde/plugins/");
+-    QFileInfoList pluginFiles = dir.entryInfoList((QStringList("*.so")));
++    QStringList pluginsDirs = QProcessEnvironment::systemEnvironment().value("DDE_POLKIT_PLUGINS_DIRS").split(QDir::listSeparator(), QString::SkipEmptyParts);
++    pluginsDirs.append("/usr/lib/polkit-1-dde/plugins/");
+ 
+-    for (const QFileInfo &pluginFile : pluginFiles) {
+-       AgentExtension *plugin = loadFile(pluginFile.absoluteFilePath());
+-       if (plugin)
+-           m_plugins << plugin;
++    for (const QString &dirName : pluginsDirs) {
++        QDir dir(dirName);
++
++        QFileInfoList pluginFiles = dir.entryInfoList((QStringList("*.so")));
++
++        for (const QFileInfo &pluginFile : pluginFiles) {
++            AgentExtension *plugin = loadFile(pluginFile.absoluteFilePath());
++            if (plugin)
++                m_plugins << plugin;
++        }
+     }
+ }
+ 
+-- 
+2.21.0
+
diff --git a/pkgs/desktops/deepin/dde-polkit-agent/default.nix b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
index 2c5dfa33053..da54fcdb64d 100644
--- a/pkgs/desktops/deepin/dde-polkit-agent/default.nix
+++ b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
     polkit-qt
   ];
 
+  patches = [
+    ./dde-polkit-agent.plugins-dir.patch
+  ];
+
   postPatch = ''
     searchHardCodedPaths
     patchShebangs translate_generation.sh
diff --git a/pkgs/desktops/deepin/deepin-wm/default.nix b/pkgs/desktops/deepin/deepin-wm/default.nix
index 37e4cb2002b..986bee2f0dd 100644
--- a/pkgs/desktops/deepin/deepin-wm/default.nix
+++ b/pkgs/desktops/deepin/deepin-wm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3,
-  bamf, clutter-gtk, pantheon, libgee, libcanberra-gtk3, libwnck3,
-  deepin-menu, deepin-mutter, deepin-wallpapers,
+  dbus, bamf, clutter-gtk, pantheon, libgee, libcanberra-gtk3,
+  libwnck3, deepin-menu, deepin-mutter, deepin-wallpapers,
   deepin-desktop-schemas, wrapGAppsHook, deepin }:
 
 stdenv.mkDerivation rec {
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bamf
     clutter-gtk
+    dbus
     deepin-desktop-schemas
     deepin-menu
     deepin-mutter
@@ -40,10 +41,15 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    searchHardCodedPaths
-    fixPath ${deepin-wallpapers} /usr/share/backgrounds src/Background/BackgroundSource.vala
+    searchHardCodedPaths  # debugging
+
     # fix background path
+    fixPath ${deepin-wallpapers} /usr/share/backgrounds src/Background/BackgroundSource.vala
     sed -i 's|default_background.jpg|deepin/desktop.jpg|' src/Background/BackgroundSource.vala
+
+    # fix executable paths in desktop files
+    sed -i -e "s,Exec=dbus-send,Exec=${dbus}/bin/dbus-send," data/gala-multitaskingview.desktop.in
+    sed -i -e "s,Exec=deepin-wm,Exec=$out/bin/deepin-wm," data/gala.desktop
   '';
 
   NIX_CFLAGS_COMPILE = "-DWNCK_I_KNOW_THIS_IS_UNSTABLE";
@@ -52,6 +58,10 @@ stdenv.mkDerivation rec {
     NOCONFIGURE=1 ./autogen.sh
   '';
 
+  postFixup = ''
+    searchHardCodedPaths $out  # debugging
+  '';
+
   enableParallelBuilding = true;
 
   passthru.updateScript = deepin.updateScript { inherit name; };
diff --git a/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix b/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix
index 9bc71bb4338..00a76318b69 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-nettool/default.nix
@@ -2,10 +2,11 @@
 , libgtop, intltool, itstool, libxml2, nmap, inetutils }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-nettool-3.8.1";
+  pname = "gnome-nettool";
+  version = "3.8.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-nettool/3.8/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1c9cvzvyqgfwa5zzyvp7118pkclji62fkbb33g4y9sp5kw6m397h";
   };
 
@@ -17,8 +18,16 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ nmap inetutils ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnom3.gnome-nettool";
+      versionPolicy = "none";
+    };
+  };
+
   meta = with stdenv.lib; {
-    homepage = http://projects.gnome.org/gnome-network;
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-nettool";
     description = "A collection of networking tools";
     maintainers = gnome3.maintainers;
     license = licenses.gpl2;
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index da99fb68b85..8920c401882 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "evolution-data-server-${version}";
-  version = "3.32.1";
+  version = "3.32.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0jb8d2a4kzz7an7d3db8mfpvhb6r1wrp8dk11vpa3jby60cxbbyd";
+    sha256 = "1jdk3az797kznkg40nbxb3ddyx8s6favzxlc4vr840zxcl84k9vy";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
index 3f8f5cf8c88..a7a4aa060b9 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
@@ -8,11 +8,11 @@ let
   pname = "tracker-miners";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1xbjbd994jxhdan7227kzdnmiblfy0f1vnsws5l809ydgk58f0qr";
+    sha256 = "0kk5xaajamb8jlm6cfdbc2m3axzr6bnph84m7697xmb0pkg8hdiw";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix
index 36199c3818c..d945a1161bc 100644
--- a/pkgs/desktops/gnome-3/core/tracker/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker/default.nix
@@ -6,7 +6,7 @@
 
 let
   pname = "tracker";
-  version = "2.2.1";
+  version = "2.2.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1zx2mlnsv6clgh0j50f0b94b7cf1al1j7bkcz8cr31a0fkkgkkhc";
+    sha256 = "1rp2c6k7ajcm553p9kpni87zgi9aplm3s01rl7pk575az5i399y6";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-calc/default.nix b/pkgs/desktops/mate/mate-calc/default.nix
index 8c4f69f3fb5..85631f03e1d 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.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1njk6v7z3969ikvcrabr1lw5f5572vb14w064zm3mydj8cc5inlr";
+    sha256 = "0zin3w03zrkpb12rvay23bfk9fnjpybkr5mqzkpn9xfnqamhk8ld";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index b15e1a9aa30..7b85b3e85ba 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -103,8 +103,7 @@ stdenv.mkDerivation rec {
 
   checkPhase = ''
     cd dmd
-    # https://github.com/NixOS/nixpkgs/pull/55998#issuecomment-465871846
-    #make -j$NIX_BUILD_CORES -C test -f Makefile PIC=1 CC=$CXX DMD=${pathToDmd} BUILD=release SHELL=$SHELL
+    make -j$NIX_BUILD_CORES -C test -f Makefile PIC=1 CC=$CXX DMD=${pathToDmd} BUILD=release SHELL=$SHELL
     cd ../druntime
     make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=1 DMD=${pathToDmd} BUILD=release
     cd ../phobos
@@ -112,8 +111,6 @@ stdenv.mkDerivation rec {
     cd ..
   '';
 
-  dontStrip = true;
-
   installPhase = ''
       cd dmd
       mkdir $out
diff --git a/pkgs/development/compilers/dotnet/sdk/default.nix b/pkgs/development/compilers/dotnet/sdk/default.nix
index 4e8ab34b101..b4f35b1c4c0 100644
--- a/pkgs/development/compilers/dotnet/sdk/default.nix
+++ b/pkgs/development/compilers/dotnet/sdk/default.nix
@@ -12,25 +12,21 @@ let
   rpath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libunwind libuuid icu openssl zlib curl ];
 in
   stdenv.mkDerivation rec {
-    version = "2.2.103";
-    netCoreVersion = "2.2.1";
-    name = "dotnet-sdk-${version}";
+    version = "2.2.203";
+    netCoreVersion = "2.2.4";
+    pname = "dotnet-sdk";
 
     src = fetchurl {
-      url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/dotnet-sdk-${version}-linux-x64.tar.gz";
+      url = "https://dotnetcli.azureedge.net/dotnet/Sdk/${version}/${pname}-${version}-linux-x64.tar.gz";
       # use sha512 from the download page
-      sha512 = "777AC6DCD0200BA447392E451A1779F0FBFA548BD620A7BBA3EEBDF35892236C3F10B19FF81D4F64B5BC134923CB47F9CC45EE6B004140E1249582249944DB69";
+      sha512 = "8DA955FA0AEEBB6513A6E8C4C23472286ED78BD5533AF37D79A4F2C42060E736FDA5FD48B61BF5AEC10BBA96EB2610FACC0F8A458823D374E1D437B26BA61A5C";
     };
 
-    unpackPhase = ''
-      mkdir src
-      cd src
-      tar xvzf $src
-    '';
+    sourceRoot = ".";
 
     buildPhase = ''
       runHook preBuild
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" ./dotnet
+      patchelf --set-interpreter "${stdenv.cc.bintools.dynamicLinker}" ./dotnet
       patchelf --set-rpath "${rpath}" ./dotnet
       find -type f -name "*.so" -exec patchelf --set-rpath "${rpath}" {} \;
       echo -n "dotnet-sdk version: "
diff --git a/pkgs/development/compilers/ghc/8.6.4.nix b/pkgs/development/compilers/ghc/8.6.4.nix
index 640709aba1b..54c53691574 100644
--- a/pkgs/development/compilers/ghc/8.6.4.nix
+++ b/pkgs/development/compilers/ghc/8.6.4.nix
@@ -9,7 +9,7 @@
 , # GHC can be built with system libffi or a bundled one.
   libffi ? null
 
-, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
+, useLLVM ? !stdenv.targetPlatform.isx86
 , # LLVM is conceptually a run-time-only depedendency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
@@ -31,7 +31,8 @@
 
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
-  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross"
+  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
diff --git a/pkgs/development/compilers/ghc/8.6.5.nix b/pkgs/development/compilers/ghc/8.6.5.nix
index e891ff42ff6..bc45540036d 100644
--- a/pkgs/development/compilers/ghc/8.6.5.nix
+++ b/pkgs/development/compilers/ghc/8.6.5.nix
@@ -9,7 +9,7 @@
 , # GHC can be built with system libffi or a bundled one.
   libffi ? null
 
-, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
+, useLLVM ? !stdenv.targetPlatform.isx86
 , # LLVM is conceptually a run-time-only depedendency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
@@ -31,7 +31,8 @@
 
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
-  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross"
+  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
diff --git a/pkgs/development/compilers/ghc/8.8.1.nix b/pkgs/development/compilers/ghc/8.8.1.nix
index 9772d045b76..ad2d64866f8 100644
--- a/pkgs/development/compilers/ghc/8.8.1.nix
+++ b/pkgs/development/compilers/ghc/8.8.1.nix
@@ -9,7 +9,7 @@
 , # GHC can be built with system libffi or a bundled one.
   libffi ? null
 
-, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
+, useLLVM ? !stdenv.targetPlatform.isx86
 , # LLVM is conceptually a run-time-only depedendency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
@@ -31,7 +31,8 @@
 
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
-  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross"
+  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 88b273500dc..46d8dfafd0f 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -6,7 +6,7 @@
 
 , libiconv ? null, ncurses
 
-, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
+, useLLVM ? !stdenv.targetPlatform.isx86
 , # LLVM is conceptually a run-time-only depedendency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
@@ -29,7 +29,8 @@
 , version ? "8.7.20190115"
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
-  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross"
+  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
+    (if useLLVM then "perf-cross" else "perf-cross-ncg")
 
 , # Whether to disable the large address space allocator
   # necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
diff --git a/pkgs/development/compilers/graalvm/001_mx.py.patch b/pkgs/development/compilers/graalvm/001_mx.py.patch
new file mode 100644
index 00000000000..25a9efa9641
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/001_mx.py.patch
@@ -0,0 +1,257 @@
+diff --git a/mx.py b/mx.py
+index d119b62..471fe98 100644
+--- a/mx.py
++++ b/mx.py
+@@ -4961,30 +4961,6 @@ class PackedResourceLibrary(ResourceLibrary):
+ 
+     def get_path(self, resolve):
+         extract_path = _make_absolute(self.extract_path, self.suite.dir)
+-        download_path = super(PackedResourceLibrary, self).get_path(resolve)
+-        if resolve and self._check_extract_needed(extract_path, download_path):
+-            extract_path_tmp = tempfile.mkdtemp(suffix=basename(extract_path), dir=dirname(extract_path))
+-            try:
+-                # extract archive
+-                Extractor.create(download_path).extract(extract_path_tmp)
+-                # ensure modification time is up to date
+-                os.utime(extract_path_tmp, None)
+-                logv("Moving temporary directory {} to {}".format(extract_path_tmp, extract_path))
+-                try:
+-                    # attempt atomic overwrite
+-                    os.rename(extract_path_tmp, extract_path)
+-                except OSError:
+-                    # clean destination & re-try for cases where atomic overwrite doesn't work
+-                    rmtree(extract_path, ignore_errors=True)
+-                    os.rename(extract_path_tmp, extract_path)
+-            except OSError as ose:
+-                # Rename failed. Race with other process?
+-                if self._check_extract_needed(extract_path, download_path):
+-                    # ok something really went wrong
+-                    abort("Extracting {} failed!".format(download_path), context=ose)
+-            finally:
+-                rmtree(extract_path_tmp, ignore_errors=True)
+-
+         return extract_path
+ 
+     def _check_download_needed(self):
+@@ -5885,7 +5861,7 @@ class HgConfig(VC):
+ 
+     def update_to_branch(self, vcdir, branch, abortOnError=True):
+         cmd = ['update', branch]
+-        self.hg_command(vcdir, cmd, abortOnError=abortOnError)
++        self.run(['hg', vcdir] + cmd)
+ 
+     def add(self, vcdir, path, abortOnError=True):
+         return self.run(['hg', '-q', '-R', vcdir, 'add', path]) == 0
+@@ -5922,7 +5898,7 @@ class HgConfig(VC):
+                 return None
+ 
+     def parent_info(self, vcdir, abortOnError=True):
+-        out = self.hg_command(vcdir, ["log", "-r", ".", "--template", "{author}|||{date|hgdate}"], abortOnError=abortOnError)
++        out = _check_output_str(["hg", '-R', vcdir, "log", "-r", ".", "--template", "{author}|||{date|hgdate}"])
+         author, date = out.split("|||")
+         ts, _ = date.split(" ")
+         return self._sanitize_parent_info({
+@@ -8287,46 +8263,8 @@ class SuiteImport:
+         version = import_dict.get("version")
+         suite_dir = None
+         version_from = import_dict.get("versionFrom")
+-        if version_from and version:
+-            abort("In import for '{}': 'version' and 'versionFrom' can not be both set".format(name), context=context)
+-        if version is None and version_from is None:
+-            if not (in_subdir and (importer.vc_dir != importer.dir or isinstance(importer, BinarySuite))):
+-                abort("In import for '{}': No version given and not a 'subdir' suite of the same repository".format(name), context=context)
+-            if importer.isSourceSuite():
+-                suite_dir = join(importer.vc_dir, name)
+-            version = importer.version()
+-        if urls is None:
+-            if not in_subdir:
+-                if import_dict.get("subdir") is None and importer.vc_dir != importer.dir:
+-                    warn("In import for '{}': No urls given but 'subdir' is not set, assuming 'subdir=True'".format(name), context)
+-                    in_subdir = True
+-                else:
+-                    abort("In import for '{}': No urls given and not a 'subdir' suite".format(name), context=context)
+-            return SuiteImport(name, version, None, None, dynamicImport=dynamicImport, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir)
+-        # urls a list of alternatives defined as dicts
+-        if not isinstance(urls, list):
+-            abort('suite import urls must be a list', context=context)
+-        urlinfos = []
+-        mainKind = None
+-        for urlinfo in urls:
+-            if isinstance(urlinfo, dict) and urlinfo.get('url') and urlinfo.get('kind'):
+-                kind = urlinfo.get('kind')
+-                if not VC.is_valid_kind(kind):
+-                    abort('suite import kind ' + kind + ' illegal', context=context)
+-            else:
+-                abort('suite import url must be a dict with {"url", kind", attributes', context=context)
+-            vc = vc_system(kind)
+-            if kind != 'binary':
+-                assert not mainKind or mainKind == kind, "Only expecting one non-binary kind"
+-                mainKind = kind
+-            url = mx_urlrewrites.rewriteurl(urlinfo.get('url'))
+-            urlinfos.append(SuiteImportURLInfo(url, kind, vc))
+-        vc_kind = None
+-        if mainKind:
+-            vc_kind = mainKind
+-        elif urlinfos:
+-            vc_kind = 'binary'
+-        return SuiteImport(name, version, urlinfos, vc_kind, dynamicImport=dynamicImport, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir)
++        suite_dir = join(get_env('MX_GIT_CACHE_DIR'), name)
++        return SuiteImport(name, version, [], None, True, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir)
+ 
+     @staticmethod
+     def get_source_urls(source, kind=None):
+@@ -8367,8 +8305,6 @@ class Suite(object):
+     :type dists: list[Distribution]
+     """
+     def __init__(self, mxDir, primary, internal, importing_suite, load, vc, vc_dir, dynamicallyImported=False):
+-        if primary is True and vc_dir is None:
+-            abort("The primary suite must be in a vcs repository")
+         self.imported_by = [] if primary else [importing_suite]
+         self.mxDir = mxDir
+         self.dir = dirname(mxDir)
+@@ -8396,7 +8332,7 @@ class Suite(object):
+         self._outputRoot = None
+         self._preloaded_suite_dict = None
+         self.vc = vc
+-        self.vc_dir = vc_dir
++        self.vc_dir = get_env('MX_GIT_CACHE_DIR')
+         self._preload_suite_dict()
+         self._init_imports()
+         if load:
+@@ -9295,7 +9231,9 @@ def get_dynamic_imports():
+ class SourceSuite(Suite):
+     """A source suite"""
+     def __init__(self, mxDir, primary=False, load=True, internal=False, importing_suite=None, dynamicallyImported=False):
+-        vc, vc_dir = VC.get_vc_root(dirname(mxDir), abortOnError=False)
++        vc, vc_dir_test = VC.get_vc_root(dirname(mxDir), abortOnError=False)
++        vc_dir = get_env('MX_GIT_CACHE_DIR')
++        warn("LOOKING FOR: " + mxDir)
+         Suite.__init__(self, mxDir, primary, internal, importing_suite, load, vc, vc_dir, dynamicallyImported=dynamicallyImported)
+         logvv("SourceSuite.__init__({}), got vc={}, vc_dir={}".format(mxDir, self.vc, self.vc_dir))
+         self.projects = []
+@@ -9344,17 +9282,7 @@ class SourceSuite(Suite):
+         """
+         Gets the release tag from VC or create a time based once if VC is unavailable
+         """
+-        if snapshotSuffix not in self._releaseVersion:
+-            _version = self._get_early_suite_dict_property('version')
+-            if _version and self.getMxCompatibility().addVersionSuffixToExplicitVersion():
+-                if not self.is_release():
+-                    _version = _version + '-' + snapshotSuffix
+-            if not _version:
+-                _version = self.vc.release_version_from_tags(self.vc_dir, self.name, snapshotSuffix=snapshotSuffix)
+-            if not _version:
+-                _version = 'unknown-{0}-{1}'.format(platform.node(), time.strftime('%Y-%m-%d_%H-%M-%S_%Z'))
+-            self._releaseVersion[snapshotSuffix] = _version
+-        return self._releaseVersion[snapshotSuffix]
++        return get_env('version')
+ 
+     def scm_metadata(self, abortOnError=False):
+         scm = self.scm
+@@ -12526,55 +12454,8 @@ def _attempt_download(url, path, jarEntryName=None):
+     return False
+ 
+ def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False):
+-    """
+-    Attempts to downloads content for each URL in a list, stopping after the first successful download.
+-    If the content cannot be retrieved from any URL, the program is aborted, unless abortOnError=False.
+-    The downloaded content is written to the file indicated by `path`.
+-    """
+-    if not verifyOnly:
+-        ensure_dirname_exists(path)
+-        assert not path.endswith(os.sep)
+-
+-    # https://docs.oracle.com/javase/7/docs/api/java/net/JarURLConnection.html
+-    jarURLPattern = re.compile('jar:(.*)!/(.*)')
+-    verify_errors = {}
+-    for url in urls:
+-        if not verifyOnly or verbose:
+-            log('Downloading ' + url + ' to ' + path)
+-        m = jarURLPattern.match(url)
+-        jarEntryName = None
+-        if m:
+-            url = m.group(1)
+-            jarEntryName = m.group(2)
+-
+-        if verifyOnly:
+-            try:
+-                conn = _urlopen(url, timeout=10)
+-                conn.close()
+-                return True
+-            except (IOError, socket.timeout) as e:
+-                _suggest_tlsv1_error(e)
+-                verify_errors[url] = e
+-            continue
+-
+-        for i in range(4):
+-            if i != 0:
+-                time.sleep(1)
+-                warn('Retry {} to download from {}'.format(i, url))
+-            res = _attempt_download(url, path, jarEntryName)
+-            if res is True:
+-                return True
+-            if res is False:
+-                break
+-
+-    if abortOnError:
+-        msg = 'Could not download to ' + path + ' from any of the following URLs: ' + ', '.join(urls)
+-        if verifyOnly:
+-            for url, e in verify_errors.items():
+-                msg += '\n  ' + url + ': ' + str(e)
+-        abort(msg)
+-    else:
+-        return False
++    print("FAKE download(path={} urls={} verbose={} abortOnError={} verifyOnly={})".format(path, urls, verbose, abortOnError, verifyOnly))
++    return True
+ 
+ def update_file(path, content, showDiff=False):
+     """
+@@ -13378,6 +13259,7 @@ class Archiver(SafeFileCreation):
+ 
+     def _add_zip(self, filename, archive_name, provenance):
+         self._add_provenance(archive_name, provenance)
++        os.utime(filename, (315532800, 315532800))
+         self.zf.write(filename, archive_name)
+ 
+     def _add_str_zip(self, data, archive_name, provenance):
+@@ -18526,12 +18408,35 @@ def _find_suite_import(importing_suite, suite_import, fatalIfMissing=True, load=
+         Attempts to locate an existing suite in the local context
+         Returns the path to the mx.name dir if found else None
+         """
+-        if mode == 'binary':
+-            # binary suites are always stored relative to the importing suite in mx-private directory
+-            return importing_suite._find_binary_suite_dir(suite_import.name)
++        warn("FAKE CLONE: " + str(suite_import))
++        if (suite_import.name == "truffle"):
++            return join(get_env('TMP'), "source", "truffle", "mx.truffle")
++        if (suite_import.name == "graal-nodejs"):
++            return join(get_env('MX_GIT_CACHE_DIR'), "graaljs", "graal-nodejs", "mx.graal-nodejs")
++        if (suite_import.name == "truffleruby"):
++            return join(get_env('MX_GIT_CACHE_DIR'), "truffleruby", "mx.truffleruby")
++        if (suite_import.name == "graalpython"):
++            return join(get_env('MX_GIT_CACHE_DIR'), "graalpython", "mx.graalpython")
++        if (suite_import.name == "vm"):
++            return join(get_env('TMP'), "source", "vm", "mx.vm")
++        if (suite_import.name == "fastr"):
++            return join(get_env('MX_GIT_CACHE_DIR'), "fastr", "mx.fastr")
++        if (suite_import.name == "sdk"):
++            return join(get_env('TMP'), "source", "sdk", "mx.sdk")
++        if (suite_import.name == "graal-js"):
++            return join(get_env('MX_GIT_CACHE_DIR'), "graaljs", "graal-js", "mx.graal-js")
++        if (suite_import.name == "regex"):
++            return join(get_env('TMP'), "source", "regex", "mx.regex")
++        if (suite_import.name == "substratevm"):
++            return join(get_env('TMP'), "source", "substratevm", "mx.substratevm")
++        if (suite_import.name == "tools"):
++            return join(get_env('TMP'), "source", "tools", "mx.tools")
++        if (suite_import.name == "sulong"):
++            return join(get_env('TMP'), "source", "sulong", "mx.sulong")
++        if (suite_import.name == "compiler"):
++            return join(get_env('TMP'), "source", "compiler", "mx.compiler")
+         else:
+-            # use the SuiteModel to locate a local source copy of the suite
+-            return _suitemodel.find_suite_dir(suite_import)
++            return join(get_env('MX_GIT_CACHE_DIR'), suite_import.name)
+ 
+     def _get_import_dir(url, mode):
+         """Return directory where the suite will be cloned to"""
diff --git a/pkgs/development/compilers/graalvm/002_setjmp.c.patch b/pkgs/development/compilers/graalvm/002_setjmp.c.patch
new file mode 100644
index 00000000000..38a29fd8fbf
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/002_setjmp.c.patch
@@ -0,0 +1,16 @@
+diff --git a/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/src/setjmp.c b/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/src/setjmp.c
+index 16b869354d8..3691739d13b 100644
+--- a/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/src/setjmp.c
++++ b/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/src/setjmp.c
+@@ -41,11 +41,3 @@ int sigsetjmp(sigjmp_buf env, int savesigs) {
+   WARN_UNSUPPORTED(sigsetjmp);
+   return 0;
+ }
+-
+-void longjmp(jmp_buf env, int val) {
+-  ERR_UNSUPPORTED(longjmp);
+-}
+-
+-void siglongjmp(sigjmp_buf env, int val) {
+-  ERR_UNSUPPORTED(siglongjmp);
+-}
diff --git a/pkgs/development/compilers/graalvm/003_mx_truffle.py.patch b/pkgs/development/compilers/graalvm/003_mx_truffle.py.patch
new file mode 100644
index 00000000000..bb9a0068712
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/003_mx_truffle.py.patch
@@ -0,0 +1,12 @@
+diff --git a/truffle/mx.truffle/mx_truffle.py b/truffle/mx.truffle/mx_truffle.py
+index 8889c5ad810..add211a45c5 100644
+--- a/truffle/mx.truffle/mx_truffle.py
++++ b/truffle/mx.truffle/mx_truffle.py
+@@ -695,6 +695,7 @@ class LibffiBuildTask(mx.AbstractNativeBuildTask):
+                      os.path.relpath(self.subject.delegate.dir, self.subject.suite.vc_dir)]
+         for patch in self.subject.patches:
+             mx.run(git_apply + [patch], cwd=self.subject.suite.vc_dir)
++        mx.run(['cp', os.path.join(os.getenv('TMP'), 'truffle.make'), os.path.join(self.subject.delegate.dir, 'Makefile')])
+ 
+         self.delegate.logBuild()
+         self.delegate.build()
diff --git a/pkgs/development/compilers/graalvm/004_mx_jvmci.py.patch b/pkgs/development/compilers/graalvm/004_mx_jvmci.py.patch
new file mode 100644
index 00000000000..0aa1bc9b88d
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/004_mx_jvmci.py.patch
@@ -0,0 +1,12 @@
+diff --git a/mx.jvmci/mx_jvmci.py b/mx.jvmci/mx_jvmci.py
+index 491fc19ab9..b4ddc03abb 100644
+--- a/mx.jvmci/mx_jvmci.py
++++ b/mx.jvmci/mx_jvmci.py
+@@ -192,6 +192,7 @@ class HotSpotVMJDKDeployedDist(JDKDeployedDist):
+                 if m.name in _hs_deploy_map:
+                     targetDir = join(jdkDir, _hs_deploy_map[m.name])
+                     mx.logv('Deploying {} from {} to {}'.format(m.name, dist.name, targetDir))
++                    subprocess.call(["chmod", "-R", "+rw", targetDir])
+                     tar.extract(m, targetDir)
+ 
+ """
diff --git a/pkgs/development/compilers/graalvm/default.nix b/pkgs/development/compilers/graalvm/default.nix
index f051b24065a..3cb0d7430ab 100644
--- a/pkgs/development/compilers/graalvm/default.nix
+++ b/pkgs/development/compilers/graalvm/default.nix
@@ -1,31 +1,90 @@
-{ stdenv, lib, fetchFromGitHub, fetchurl, fetchzip, mercurial, python27, zlib, makeWrapper, oraclejdk8 }:
+{ stdenv, lib, fetchFromGitHub, fetchurl, fetchzip, fetchgit, mercurial, python27,
+  zlib, makeWrapper, openjdk, unzip, git, clang, llvm, which, icu, ruby, bzip2
+  # gfortran, readline, bzip2, lzma, pcre, curl, ed, tree ## WIP: fastr deps
+}:
 
 let
+  version = "1.0.0-rc15";
+  truffleMake = ./truffle.make;
+  R = fetchurl {
+    url = "http://cran.rstudio.com/src/base/R-3/R-3.5.1.tar.gz";
+    sha256 = "1vap2k8kj5icy9naw61f9zyphf4rs0c9rxvil0zxkwx0xvsvyqq4";
+  };
+  makeMxGitCache = list: out: ''
+     mkdir ${out}
+    ${lib.concatMapStrings ({ url, name, rev, sha256 }: ''
+      mkdir -p ${out}/${name}
+      cp -rf ${fetchgit { inherit url rev sha256; }}/* ${out}/${name}
+    ''
+    ) list}
+
+    # # GRAAL-NODEJS # #
+    chmod -R +rw ${out}
+    sed -i "s|#include \"../../../../mxbuild/trufflenode/coremodules/node_snapshots.h\"| \
+           #include \"$NIX_BUILD_TOP/mxbuild/graal-nodejs/trufflenode/coremodules/node_snapshots.h\"|g" \
+      ${out}/graaljs/graal-nodejs/deps/v8/src/graal/callbacks.cc
+
+    # patch the shebang in python script runner
+    chmod -R +rw ${out}/graaljs/graal-nodejs/mx.graal-nodejs/python2
+    patchShebangs ${out}/graaljs/graal-nodejs/mx.graal-nodejs/python2/python
+
+    cd ${out}
+    hg init
+    hg add
+    hg commit -m 'dummy commit'
+    hg tag      ${lib.escapeShellArg "vm${version}"}
+    hg checkout ${lib.escapeShellArg "vm${version}"}
+  '';
+
   # pre-download some cache entries ('mx' will not be able to download under nixbld1)
   makeMxCache = list:
     stdenv.mkDerivation {
       name = "mx-cache";
-      buildCommand = ''
+      buildInputs = [ unzip ];
+      buildCommand = with lib; ''
         mkdir $out
-        ${lib.concatMapStrings ({url, name, sha1}: ''
-                                  install -D ${fetchurl { inherit url sha1; }} $out/${name}
-                                  echo -n ${sha1} > $out/${name}.sha1
-                                '') list}
+        ${lib.concatMapStrings
+          ({url, name, sha1, isNinja ? false}: ''
+            install -D ${fetchurl { inherit url sha1; }} $out/${name}
+            echo -n ${sha1} > $out/${name}.sha1
+            ${if isNinja then ''
+                export BASENAME=${removeSuffix ".zip" name}
+                mkdir "$out/$BASENAME.extracted" &&
+                unzip "$out/${name}" -d "$out/$BASENAME.extracted"
+
+                # Ninja is called later in the build process
+                if [ -f $out/$BASENAME.extracted/ninja ]; then
+                  patchelf --set-interpreter \
+                    "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+                    --set-rpath "${stdenv.cc.cc.lib}/lib64" \
+                    $out/$BASENAME.extracted/ninja
+                fi
+              ''
+            else ""}
+         '') list}
       '';
     };
 
   jvmci8-mxcache = [
-    rec { sha1 = "66215826a684eb6866d4c14a5a4f9c344f1d1eef"; name = "JACOCOCORE_${sha1}/jacococore.jar";                                               url = mirror://maven/org/jacoco/org.jacoco.core/0.7.9/org.jacoco.core-0.7.9.jar; }
-    rec { sha1 = "a365ee459836b2aa18028929923923d15f0c3af9"; name = "JACOCOCORE_${sha1}/jacococore.sources.jar";                                       url = mirror://maven/org/jacoco/org.jacoco.core/0.7.9/org.jacoco.core-0.7.9-sources.jar; }
-    rec { sha1 = "8a7f78fdf2a4e58762890d8e896a9298c2980c10"; name = "JACOCOREPORT_${sha1}/jacocoreport.jar";                                           url = mirror://maven/org/jacoco/org.jacoco.report/0.7.9/org.jacoco.report-0.7.9.jar; }
-    rec { sha1 = "e6703ef288523a8e63fa756d8adeaa70858d41b0"; name = "JACOCOREPORT_${sha1}/jacocoreport.sources.jar";                                   url = mirror://maven/org/jacoco/org.jacoco.report/0.7.9/org.jacoco.report-0.7.9-sources.jar; }
+    rec { sha1 = "977b33afe2344a9ee801fd3317c54d8e1f9d7a79"; name = "JACOCOCORE_0.8.2_${sha1}/jacococore-0.8.2.jar";                                   url = mirror://maven/org/jacoco/org.jacoco.core/0.8.2/org.jacoco.core-0.8.2.jar; }
+    rec { sha1 = "46f38efb779fb08216379e1a196396f4e22bbe41"; name = "JACOCOCORE_0.8.2_${sha1}/jacococore-0.8.2.sources.jar";                           url = mirror://maven/org/jacoco/org.jacoco.core/0.8.2/org.jacoco.core-0.8.2-sources.jar; }
+    rec { sha1 = "50e133cdfd2d31ca5702b73615be70f801d3ae26"; name = "JACOCOREPORT_0.8.2_${sha1}/jacocoreport-0.8.2.jar";                               url = mirror://maven/org/jacoco/org.jacoco.report/0.8.2/org.jacoco.report-0.8.2.jar; }
+    rec { sha1 = "7488cd6e42cc4fa85b51200b7f451465692e033b"; name = "JACOCOREPORT_0.8.2_${sha1}/jacocoreport-0.8.2.sources.jar";                       url = mirror://maven/org/jacoco/org.jacoco.report/0.8.2/org.jacoco.report-0.8.2-sources.jar; }
+    rec { sha1 = "4806883004063feb978b8811f00d5ea2138750bb"; name = "JACOCOAGENT_0.8.2_${sha1}/jacocoagent-0.8.2.jar";                                 url = mirror://maven/org/jacoco/org.jacoco.agent/0.8.2/org.jacoco.agent-0.8.2-runtime.jar; }
     rec { sha1 = "306816fb57cf94f108a43c95731b08934dcae15c"; name = "JOPTSIMPLE_4_6_${sha1}/joptsimple-4-6.jar";                                       url = mirror://maven/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar; }
     rec { sha1 = "9cd14a61d7aa7d554f251ef285a6f2c65caf7b65"; name = "JOPTSIMPLE_4_6_${sha1}/joptsimple-4-6.sources.jar";                               url = mirror://maven/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6-sources.jar; }
     rec { sha1 = "b852fb028de645ad2852bbe998e084d253f450a5"; name = "JMH_GENERATOR_ANNPROCESS_1_18_${sha1}/jmh-generator-annprocess-1-18.jar";         url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.18/jmh-generator-annprocess-1.18.jar; }
     rec { sha1 = "d455b0dc6108b5e6f1fb4f6cf1c7b4cbedbecc97"; name = "JMH_GENERATOR_ANNPROCESS_1_18_${sha1}/jmh-generator-annprocess-1-18.sources.jar"; url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.18/jmh-generator-annprocess-1.18-sources.jar; }
     rec { sha1 = "7aac374614a8a76cad16b91f1a4419d31a7dcda3"; name = "JMH_GENERATOR_ANNPROCESS_1_21_${sha1}/jmh-generator-annprocess-1-21.jar";         url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21.jar; }
     rec { sha1 = "fb48e2a97df95f8b9dced54a1a37749d2a64d2ae"; name = "JMH_GENERATOR_ANNPROCESS_1_21_${sha1}/jmh-generator-annprocess-1-21.sources.jar"; url = mirror://maven/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21-sources.jar; }
-    rec { sha1 = "702b8525fcf81454235e5e2fa2a35f15ffc0ec7e"; name = "ASM_DEBUG_ALL_${sha1}/asm-debug-all.jar";                                         url = mirror://maven/org/ow2/asm/asm-debug-all/5.0.4/asm-debug-all-5.0.4.jar; }
+    rec { sha1 = "c01b6798f81b0fc2c5faa70cbe468c275d4b50c7"; name = "ASM_6.2.1_${sha1}/asm-6.2.1.jar";                                                 url = mirror://maven/org/ow2/asm/asm/6.2.1/asm-6.2.1.jar; }
+    rec { sha1 = "cee28077ac7a63d3de0b205ec314d83944ff6267"; name = "ASM_6.2.1_${sha1}/asm-6.2.1.sources.jar";                                         url = mirror://maven/org/ow2/asm/asm/6.2.1/asm-6.2.1-sources.jar; }
+    rec { sha1 = "332b022092ecec53cdb6272dc436884b2d940615"; name = "ASM_TREE_6.2.1_${sha1}/asm-tree-6.2.1.jar";                                       url = mirror://maven/org/ow2/asm/asm-tree/6.2.1/asm-tree-6.2.1.jar; }
+    rec { sha1 = "072bd64989090e4ed58e4657e3d4481d96f643af"; name = "ASM_TREE_6.2.1_${sha1}/asm-tree-6.2.1.sources.jar";                               url = mirror://maven/org/ow2/asm/asm-tree/6.2.1/asm-tree-6.2.1-sources.jar; }
+    rec { sha1 = "e8b876c5ccf226cae2f44ed2c436ad3407d0ec1d"; name = "ASM_ANALYSIS_6.2.1_${sha1}/asm-analysis-6.2.1.jar";                               url = mirror://maven/org/ow2/asm/asm-analysis/6.2.1/asm-analysis-6.2.1.jar; }
+    rec { sha1 = "b0b249bd185677648692e7c57b488b6d7c2a6653"; name = "ASM_ANALYSIS_6.2.1_${sha1}/asm-analysis-6.2.1.sources.jar";                       url = mirror://maven/org/ow2/asm/asm-analysis/6.2.1/asm-analysis-6.2.1-sources.jar; }
+    rec { sha1 = "eaf31376d741a3e2017248a4c759209fe25c77d3"; name = "ASM_COMMONS_6.2.1_${sha1}/asm-commons-6.2.1.jar";                                 url = mirror://maven/org/ow2/asm/asm-commons/6.2.1/asm-commons-6.2.1.jar; }
+    rec { sha1 = "667fa0f9d370e7848b0e3d173942855a91fd1daf"; name = "ASM_COMMONS_6.2.1_${sha1}/asm-commons-6.2.1.sources.jar";                         url = mirror://maven/org/ow2/asm/asm-commons/6.2.1/asm-commons-6.2.1-sources.jar; }
     rec { sha1 = "ec2544ab27e110d2d431bdad7d538ed509b21e62"; name = "COMMONS_MATH3_3_2_${sha1}/commons-math3-3-2.jar";                                 url = mirror://maven/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar; }
     rec { sha1 = "cd098e055bf192a60c81d81893893e6e31a6482f"; name = "COMMONS_MATH3_3_2_${sha1}/commons-math3-3-2.sources.jar";                         url = mirror://maven/org/apache/commons/commons-math3/3.2/commons-math3-3.2-sources.jar; }
     rec { sha1 = "0174aa0077e9db596e53d7f9ec37556d9392d5a6"; name = "JMH_1_18_${sha1}/jmh-1-18.jar";                                                   url = mirror://maven/org/openjdk/jmh/jmh-core/1.18/jmh-core-1.18.jar; }
@@ -36,63 +95,125 @@ let
     rec { sha1 = "a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa"; name = "JUNIT_${sha1}/junit.sources.jar";                                                 url = mirror://maven/junit/junit/4.12/junit-4.12-sources.jar; }
     rec { sha1 = "42a25dc3219429f0e5d060061f71acb49bf010a0"; name = "HAMCREST_${sha1}/hamcrest.jar";                                                   url = mirror://maven/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar; }
     rec { sha1 = "1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b"; name = "HAMCREST_${sha1}/hamcrest.sources.jar";                                           url = mirror://maven/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar; }
-    rec { sha1 = "0d031013db9a80d6c88330c42c983fbfa7053193"; name = "jvmci/intel-hsdis-amd64-linux-${sha1}.so";                                        url = "https://lafo.ssw.uni-linz.ac.at/pub/hsdis/intel/hsdis-amd64-linux-${sha1}.so"; }
+    rec { sha1 = "0d031013db9a80d6c88330c42c983fbfa7053193"; name = "hsdis_${sha1}/hsdis.so";                                                          url = "https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/hsdis/intel/hsdis-amd64-linux-${sha1}.so"; }
   ];
 
   graal-mxcache = jvmci8-mxcache ++ [
+    rec { sha1 = "a990b2dba1c706f5c43c56fedfe70bad9a695852"; name = "LLVM_WRAPPER_${sha1}/llvm-wrapper.jar";                                           url = mirror://maven/org/bytedeco/javacpp-presets/llvm/6.0.1-1.4.2/llvm-6.0.1-1.4.2.jar; }
+    rec { sha1 = "decbd95d46092fa9afaf2523b5b23d07ad7ad6bc"; name = "LLVM_WRAPPER_${sha1}/llvm-wrapper.sources.jar";                                   url = mirror://maven/org/bytedeco/javacpp-presets/llvm/6.0.1-1.4.2/llvm-6.0.1-1.4.2-sources.jar; }
+    rec { sha1 = "344483aefa15147c121a8fb6fb35a2406768cc5c"; name = "LLVM_PLATFORM_SPECIFIC_${sha1}/llvm-platform-specific.jar";                       url = mirror://maven/org/bytedeco/javacpp-presets/llvm/6.0.1-1.4.2/llvm-6.0.1-1.4.2-linux-x86_64.jar; }
+    rec { sha1 = "503402aa0cf80fd95ede043c0011152c2b4556fd"; name = "LLVM_PLATFORM_${sha1}/llvm-platform.jar";                                         url = mirror://maven/org/bytedeco/javacpp-presets/llvm-platform/6.0.1-1.4.2/llvm-platform-6.0.1-1.4.2.jar; }
+    rec { sha1 = "cfa6a0259d98bff5aa8d41ba11b4d1dad648fbaa"; name = "JAVACPP_${sha1}/javacpp.jar";                                                     url = mirror://maven/org/bytedeco/javacpp/1.4.2/javacpp-1.4.2.jar; }
+    rec { sha1 = "fdb2d2c17f6b91cdd5421554396da8905f0dfed2"; name = "JAVACPP_${sha1}/javacpp.sources.jar";                                             url = mirror://maven/org/bytedeco/javacpp/1.4.2/javacpp-1.4.2-sources.jar; }
+    rec { sha1 = "702ca2d0ae93841c5ab75e4d119b29780ec0b7d9"; name = "NINJA_SYNTAX_${sha1}/ninja-syntax.tar.gz";                                        url = "https://pypi.org/packages/source/n/ninja_syntax/ninja_syntax-1.7.2.tar.gz"; }
+    rec { sha1 = "987234c4ce45505c21302e097c24efef4873325c"; name = "NINJA_${sha1}/ninja.zip";                                                         url = "https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip";
+          isNinja = true; }
     rec { sha1 = "f2cfb09cee12469ff64f0d698b13de19903bb4f7"; name = "NanoHTTPD-WebSocket_${sha1}/nanohttpd-websocket.jar";                             url = mirror://maven/org/nanohttpd/nanohttpd-websocket/2.3.1/nanohttpd-websocket-2.3.1.jar; }
     rec { sha1 = "a8d54d1ca554a77f377eff6bf9e16ca8383c8f6c"; name = "NanoHTTPD_${sha1}/nanohttpd.jar";                                                 url = mirror://maven/org/nanohttpd/nanohttpd/2.3.1/nanohttpd-2.3.1.jar; }
-    rec { sha1 = "30b13b7efc55b7feea667691509cf59902375001"; name = "ANTLR4_${sha1}/antlr4.jar";                                                       url = mirror://maven/org/antlr/antlr4-runtime/4.7/antlr4-runtime-4.7.jar; }
-    rec { sha1 = "fdedd5f2522122102f0b3db85fe7aa563a009926"; name = "JLINE_${sha1}/jline.jar";                                                         url = mirror://maven/jline/jline/2.14.5/jline-2.14.5.jar; }
+    rec { sha1 = "946f8aa9daa917dd81a8b818111bec7e288f821a"; name = "ANTLR4_${sha1}/antlr4.jar";                                                       url = mirror://maven/org/antlr/antlr4-runtime/4.7.1/antlr4-runtime-4.7.1.jar; }
+    rec { sha1 = "c3aeac59c022bdc497c8c48ed86fa50450e4896a"; name = "JLINE_${sha1}/jline.jar";                                                         url = mirror://maven/jline/jline/2.14.6/jline-2.14.6.jar; }
     rec { sha1 = "d0bdc21c5e6404726b102998e44c66a738897905"; name = "JAVA_ALLOCATION_INSTRUMENTER_${sha1}/java-allocation-instrumenter.jar";           url = mirror://maven/com/google/code/java-allocation-instrumenter/java-allocation-instrumenter/3.1.0/java-allocation-instrumenter-3.1.0.jar; }
-    rec { sha1 = "0da08b8cce7bbf903602a25a3a163ae252435795"; name = "ASM5_${sha1}/asm5.jar";                                                           url = mirror://maven/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar; }
+    rec { sha1 = "0da08b8cce7bbf903602a25a3a163ae252435795"; name = "ASM5_${sha1}/asm5.jar";                                                        url = mirror://maven/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar; }
     rec { sha1 = "396ce0c07ba2b481f25a70195c7c94922f0d1b0b"; name = "ASM_TREE5_${sha1}/asm-tree5.jar";                                                 url = mirror://maven/org/ow2/asm/asm-tree/5.0.4/asm-tree-5.0.4.jar; }
-    rec { sha1 = "280c265b789e041c02e5c97815793dfc283fb1e6"; name = "LIBFFI_${sha1}/libffi.tar.gz";                                                    url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/libffi-3.2.1.tar.gz; }
+    rec { sha1 = "280c265b789e041c02e5c97815793dfc283fb1e6"; name = "LIBFFI_SOURCES_${sha1}/libffi-sources.tar.gz";                                    url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/libffi-3.2.1.tar.gz; }
     rec { sha1 = "8819cea8bfe22c9c63f55465e296b3855ea41786"; name = "TruffleJSON_${sha1}/trufflejson.jar";                                             url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/trufflejson-20180130.jar; }
     rec { sha1 = "9712a8124c40298015f04a74f61b3d81a51513af"; name = "CHECKSTYLE_8.8_${sha1}/checkstyle-8.8.jar";                                       url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/checkstyle-8.8-all.jar; }
-    rec { sha1 = "a828a4f32caf9ac0b74f2548f87310959558c526"; name = "VISUALVM_COMMON_${sha1}/visualvm-common.tar.gz";                                  url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-612.tar.gz; }
-    rec { sha1 = "7ac829f0c9a37f5cc39afd2265588a365480720d"; name = "VISUALVM_PLATFORM_SPECIFIC_${sha1}/visualvm-platform-specific.tar.gz";            url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-612-linux-amd64.tar.gz; }
+    rec { sha1 = "5a5574f03b58465226166a638641a384b9f44445"; name = "VISUALVM_COMMON_${sha1}/visualvm-common.tar.gz";                                  url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-655.tar.gz; }
+    rec { sha1 = "64f07398bac9897e9b8123edeaf5cf9ff19517b5"; name = "VISUALVM_PLATFORM_SPECIFIC_${sha1}/visualvm-platform-specific.tar.gz";            url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/visualvm-655-linux-amd64.tar.gz; }
     rec { sha1 = "e6e60889b7211a80b21052a249bd7e0f88f79fee"; name = "Java-WebSocket_${sha1}/java-websocket.jar";                                       url = mirror://maven/org/java-websocket/Java-WebSocket/1.3.9/Java-WebSocket-1.3.9.jar; }
+    rec { sha1 = "7a4d00d5ec5febd252a6182e8b6e87a0a9821f81"; name = "ICU4J_${sha1}/icu4j.jar";                                                         url = mirror://maven/com/ibm/icu/icu4j/62.1/icu4j-62.1.jar; }
+   # This duplication of asm with underscore and minus is totally weird
+    rec { sha1 = "c01b6798f81b0fc2c5faa70cbe468c275d4b50c7"; name = "ASM-6.2.1_${sha1}/asm-6.2.1.jar";                                                 url = mirror://maven/org/ow2/asm/asm/6.2.1/asm-6.2.1.jar; }
+    rec { sha1 = "cee28077ac7a63d3de0b205ec314d83944ff6267"; name = "ASM-6.2.1_${sha1}/asm-6.2.1.sources.jar";                                         url = mirror://maven/org/ow2/asm/asm/6.2.1/asm-6.2.1-sources.jar; }
+    rec { sha1 = "332b022092ecec53cdb6272dc436884b2d940615"; name = "ASM_TREE-6.2.1_${sha1}/asm-tree-6.2.1.jar";                                       url = mirror://maven/org/ow2/asm/asm-tree/6.2.1/asm-tree-6.2.1.jar; }
+    rec { sha1 = "072bd64989090e4ed58e4657e3d4481d96f643af"; name = "ASM_TREE-6.2.1_${sha1}/asm-tree-6.2.1.sources.jar";                               url = mirror://maven/org/ow2/asm/asm-tree/6.2.1/asm-tree-6.2.1-sources.jar; }
+    rec { sha1 = "e8b876c5ccf226cae2f44ed2c436ad3407d0ec1d"; name = "ASM_ANALYSIS-6.2.1_${sha1}/asm-analysis-6.2.1.jar";                               url = mirror://maven/org/ow2/asm/asm-analysis/6.2.1/asm-analysis-6.2.1.jar; }
+    rec { sha1 = "b0b249bd185677648692e7c57b488b6d7c2a6653"; name = "ASM_ANALYSIS-6.2.1_${sha1}/asm-analysis-6.2.1.sources.jar";                       url = mirror://maven/org/ow2/asm/asm-analysis/6.2.1/asm-analysis-6.2.1-sources.jar; }
+    rec { sha1 = "eaf31376d741a3e2017248a4c759209fe25c77d3"; name = "ASM_COMMONS-6.2.1_${sha1}/asm-commons-6.2.1.jar";                                 url = mirror://maven/org/ow2/asm/asm-commons/6.2.1/asm-commons-6.2.1.jar; }
+    rec { sha1 = "667fa0f9d370e7848b0e3d173942855a91fd1daf"; name = "ASM_COMMONS-6.2.1_${sha1}/asm-commons-6.2.1.sources.jar";                         url = mirror://maven/org/ow2/asm/asm-commons/6.2.1/asm-commons-6.2.1-sources.jar; }
+    # From here on the deps are new
+    rec { sha1 = "400d664d7c92a659d988c00cb65150d1b30cf339"; name = "ASM_UTIL-6.2.1_${sha1}/asm-util-6.2.1.jar";                                       url = mirror://maven/org/ow2/asm/asm-util/6.2.1/asm-util-6.2.1.jar; }
+    rec { sha1 = "c9f7246bf93bb0dc7fe9e7c9eca531a8fb98d252"; name = "ASM_UTIL-6.2.1_${sha1}/asm-util-6.2.1.sources.jar";                               url = mirror://maven/org/ow2/asm/asm-util/6.2.1/asm-util-6.2.1-sources.jar; }
+    rec { sha1 = "4b52bd03014f6d080ef0528865c1ee50621e35c6"; name = "NETBEANS_PROFILER_${sha1}/netbeans-profiler.jar";                                 url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/truffle/js/org-netbeans-lib-profiler-8.2-201609300101.jar; }
+    rec { sha1 = "b5840706cc8ce639fcafeab1bc61da2d8aa37afd"; name = "NASHORN_INTERNAL_TESTS_${sha1}/nashorn-internal-tests.jar";                       url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/truffle/js/nashorn-internal-tests-700f5e3f5ff2.jar; }
+    rec { sha1 = "9577018f9ce3636a2e1cb0a0c7fe915e5098ded5"; name = "JACKSON_ANNOTATIONS_${sha1}/jackson-annotations.jar";                             url = mirror://maven/com/fasterxml/jackson/core/jackson-annotations/2.8.6/jackson-annotations-2.8.6.jar; }
+    rec { sha1 = "2ef7b1cc34de149600f5e75bc2d5bf40de894e60"; name = "JACKSON_CORE_${sha1}/jackson-core.jar";                                           url = mirror://maven/com/fasterxml/jackson/core/jackson-core/2.8.6/jackson-core-2.8.6.jar; }
+    rec { sha1 = "c43de61f74ecc61322ef8f402837ba65b0aa2bf4"; name = "JACKSON_DATABIND_${sha1}/jackson-databind.jar";                                   url = mirror://maven/com/fasterxml/jackson/core/jackson-databind/2.8.6/jackson-databind-2.8.6.jar; }
+    rec { sha1 = "2838952e91baa37ac73ed817451268a193ba440a"; name = "JCODINGS_${sha1}/jcodings.jar";                                                   url = mirror://maven/org/jruby/jcodings/jcodings/1.0.40/jcodings-1.0.40.jar; }
+    rec { sha1 = "0ed89e096c83d540acac00d6ee3ea935b4c905ff"; name = "JCODINGS_${sha1}/jcodings.sources.jar";                                           url = mirror://maven/org/jruby/jcodings/jcodings/1.0.40/jcodings-1.0.40-sources.jar; }
+    rec { sha1 = "5dbb09787a9b8780737b71fbf942235ef59051b9"; name = "JONI_${sha1}/joni.jar";                                                           url = mirror://maven/org/jruby/joni/joni/2.1.25/joni-2.1.25.jar; }
+    rec { sha1 = "505a09064f6e2209616f38724f6d97d8d889aa92"; name = "JONI_${sha1}/joni.sources.jar";                                                   url = mirror://maven/org/jruby/joni/joni/2.1.25/joni-2.1.25-sources.jar; }
+    rec { sha1 = "c4f7d054303948eb6a4066194253886c8af07128"; name = "XZ-1.8_${sha1}/xz-1.8.jar";                                                       url = mirror://maven/org/tukaani/xz/1.8/xz-1.8.jar; }
+    rec { sha1 = "9314d3d372b05546a33791fbc8dd579c92ebd16b"; name = "GNUR_${sha1}/gnur.tar.gz";                                                        url = http://cran.rstudio.com/src/base/R-3/R-3.5.1.tar.gz; }
+    rec { sha1 = "90aa8308da72ae610207d8f6ca27736921be692a"; name = "ANTLR4_COMPLETE_${sha1}/antlr4-complete.jar";                                     url = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/antlr-4.7.1-complete.jar; }
+  ];
+
+  graal-mxcachegit = [
+    { sha256 = "0siryzvmj9h8zkyr0d3gy9fqgyxb9s5xs15rf7lnx9zh3ykq549y"; name = "graaljs";
+      url = "http://github.com/graalvm/graaljs.git"; rev = "vm-${version}"; }
+    { sha256 = "1ii3mwa0c2zk9vm51hyrymdz3whfihm6sccd2r5ja2v53jcdc1a3"; name = "truffleruby";
+      url = "http://github.com/oracle/truffleruby.git"; rev = "vm-${version}"; }
+    { sha256 = "1nz8yqg2k9shpmhj3jv7k2icfg72cm55baf354rsh1pqanay8qb7"; name = "fastr";
+      url = "http://github.com/oracle/fastr.git"; rev = "vm-${version}"; }
+    { sha256 = "1c8nnrl30fys22gk3y6dvxzq0fq1a5hjkqrw15p68cwpz9wma4gi"; name = "graalpython";
+      url = "https://github.com/graalvm/graalpython.git"; rev = "vm-${version}"; }
   ];
 
+  ninja-syntax = python27.pkgs.buildPythonPackage rec {
+    version = "1.7.2";
+    pname = "ninja_syntax";
+    doCheck = false;
+    src = python27.pkgs.fetchPypi {
+      inherit pname version;
+      sha256 = "07zg30m0khx55fv2gxxn7pqd549z0vk3x592mrdlk9l8krxwjb9l";
+    };
+  };
+
   findbugs = fetchzip {
     name   = "findbugs-3.0.0";
     url    = https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/findbugs-3.0.0.zip;
     sha256 = "0sf5f9h1s6fmhfigjy81i109j1ani5kzdr4njlpq0mnkkh9fpr7m";
   };
 
+  python27withPackages = python27.withPackages (ps: [ ninja-syntax ]);
+
 in rec {
 
   mx = stdenv.mkDerivation rec {
-    version = "5.192.0";
+    version = "5.215.4";
     pname = "mx";
     src = fetchFromGitHub {
       owner  = "graalvm";
       repo   = "mx";
       rev    = version;
-      sha256 = "04gdf1gzlc8a6li8lcnrs2j9zicj11fs1vqqf7cmhb4pm2h72hml";
+      sha256 = "0wrwfiwqjw6xp0bvp2g15jn6yrjb9w6jw1xnwvkyhkw1s6m0w0z1";
     };
     nativeBuildInputs = [ makeWrapper ];
+    prePatch = ''
+      cp mx.py bak_mx.py
+    '';
+    patches = [ ./001_mx.py.patch ];
+    postPatch = ''
+      mv mx.py internal_mx.py
+      mv bak_mx.py mx.py
+    '';
     buildPhase = ''
       substituteInPlace mx --replace /bin/pwd pwd
 
-      # forbid network access while simulate success for passing obligatory "VerifyLibraryURL"
-      substituteInPlace mx.py --replace \
-        'def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False):' \
-        'def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False):
-          print("FAKE download(path={} urls={} verbose={} abortOnError={} verifyOnly={})".format(path, urls, verbose, abortOnError, verifyOnly))
-          return True'
-
       # avoid crash with 'ValueError: ZIP does not support timestamps before 1980'
-      substituteInPlace mx.py --replace \
-        'zipfile.ZipInfo(arcname, time.localtime(os.path.getmtime(join(root, f)))[:6])' \
+      substituteInPlace internal_mx.py --replace \
+        'zipfile.ZipInfo(arcname, time.localtime(getmtime(join(root, f)))[:6])' \
         'zipfile.ZipInfo(arcname, time.strptime ("1 Jan 1980", "%d %b %Y"       )[:6])'
     '';
     installPhase = ''
       mkdir -p $out/bin
       cp -dpR * $out/bin
       wrapProgram $out/bin/mx \
-        --prefix PATH : ${lib.makeBinPath [ python27 mercurial ]} \
+        --prefix PATH : ${lib.makeBinPath [ python27withPackages mercurial ]} \
+        --set    FINDBUGS_HOME ${findbugs}
+      makeWrapper ${python27}/bin/python $out/bin/mx-internal \
+        --add-flags "$out/bin/internal_mx.py" \
+        --prefix PATH : ${lib.makeBinPath [ python27withPackages mercurial ]} \
         --set    FINDBUGS_HOME ${findbugs}
     '';
     meta = with stdenv.lib; {
@@ -103,22 +224,16 @@ in rec {
     };
   };
 
-  # copy of pkgs.oraclejvm8 with JVMCI interface (TODO: it should work with pkgs.openjdk8 too)
   jvmci8 = stdenv.mkDerivation rec {
-    version = "0.49";
-    name = let
-             n = "jvmci${/*"8u191"*/ lib.removePrefix "oraclejdk-" oraclejdk8.name}-${version}";
-           in if (lib.stringLength n) == (lib.stringLength oraclejdk8.name) then
-                n
-              else
-                throw "length of string `${n}' must be equal to the length of `${oraclejdk8.name}'";
+    version = "0.58";
+    name = "jvmci-${version}";
     src = fetchFromGitHub {
       owner  = "graalvm";
       repo   = "graal-jvmci-8";
       rev    = "jvmci-${version}";
-      sha256 = "1zgin0w1qa7wmfhcisx470fhnmddfxxp5nyyix31yaa7dznql82k";
+      sha256 = "0p8icn3d99zggsh6pqb15dz1j186ck442sjpn2cv43n4nvdmmp1m";
     };
-    buildInputs = [ mx mercurial ];
+    buildInputs = [ mx mercurial openjdk ];
     postUnpack = ''
       # a fake mercurial dir to prevent mx crash and supply the version to mx
       ( cd $sourceRoot
@@ -129,46 +244,55 @@ in rec {
         hg checkout ${lib.escapeShellArg src.rev}
       )
     '';
+    patches = [ ./004_mx_jvmci.py.patch ];
+    postPatch =''
+      # The hotspot version name regex fix
+      substituteInPlace mx.jvmci/mx_jvmci.py \
+        --replace "\\d+.\\d+-b\\d+" "\\d+.\\d+-bga"
+    '';
     hardeningDisable = [ "fortify" ];
     NIX_CFLAGS_COMPILE = [
       "-Wno-error=format-overflow" # newly detected by gcc7
       "-Wno-error=nonnull"
     ];
     buildPhase = ''
-      cp -dpR ${oraclejdk8} writable-copy-of-jdk
-      chmod +w -R writable-copy-of-jdk
-
       export MX_ALT_OUTPUT_ROOT=$NIX_BUILD_TOP/mxbuild
       export MX_CACHE_DIR=${makeMxCache jvmci8-mxcache}
-      mx --java-home $(pwd)/writable-copy-of-jdk build
+
+      mx-internal --primary-suite . --vm=server -v build -DFULL_DEBUG_SYMBOLS=0
+      mx-internal --primary-suite . --vm=server -v vm -version
+      mx-internal --primary-suite . --vm=server -v unittest
     '';
     installPhase = ''
-      mv jdk1.8.0_*/linux-amd64/product $out
-      find $out -type f -exec sed -i "s#${oraclejdk8}#$out#g" {} \;
-
-      install -v -m0555 -D $MX_CACHE_DIR/jvmci/*hsdis*.so $out/jre/lib/amd64/hsdis-amd64.so
+      mkdir -p $out
+      mv openjdk1.8.0_*/linux-amd64/product/* $out
+      install -v -m0555 -D $MX_CACHE_DIR/hsdis*/hsdis.so $out/jre/lib/amd64/hsdis-amd64.so
     '';
     dontFixup = true; # do not nuke path of ffmpeg etc
     dontStrip = true; # why? see in oraclejdk derivation
-    inherit (oraclejdk8) meta;
+    meta = openjdk.meta // { inherit (graalvm8.meta) platforms; };
+    inherit (openjdk) postFixup;
   };
 
   graalvm8 = stdenv.mkDerivation rec {
-    version = "1.0.0-rc8";
-    name = let
-             n = "graal-${version}";
-           in if (lib.stringLength n) == (lib.stringLength jvmci8.name) then
-                n
-              else
-                throw "length of string `${n}' must be equal to the length of `${jvmci8.name}'";
+    inherit version;
+    name = "graal-${version}";
     src = fetchFromGitHub {
       owner  = "oracle";
       repo   = "graal";
       rev    = "vm-${version}";
-      sha256 = "1fada4awrr8bhw294xdiq4bagvgrlcr44mw6338gaal0ky3vkm0p";
+      sha256 = "18fqah8x7gwz02ji40b4vyqav9x5dw703xwikjc117wlyymb1k56";
     };
-    buildInputs = [ mx zlib mercurial jvmci8 ];
+    patches = [ ./002_setjmp.c.patch ./003_mx_truffle.py.patch ];
+    buildInputs = [ mx zlib mercurial jvmci8 git clang llvm
+                    python27withPackages which icu ruby bzip2
+                    # gfortran readline bzip2 lzma pcre.dev curl ed ## WIP: fastr dependencies
+                  ];
     postUnpack = ''
+      cp ${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/stdlib.h \
+        $sourceRoot/sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include
+      cp ${truffleMake} $TMP && mv *truffle.make truffle.make
+      rm $sourceRoot/truffle/src/libffi/patches/others/0001-Add-mx-bootstrap-Makefile.patch
       # a fake mercurial dir to prevent mx crash and supply the version to mx
       ( cd $sourceRoot
         hg init
@@ -188,58 +312,54 @@ in rec {
           'command.add(Platform.includedIn(Platform.WINDOWS.class) ? "CL" : "${stdenv.cc}/bin/gcc");'
       substituteInPlace substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/CCLinkerInvocation.java \
         --replace 'protected String compilerCommand = "cc";' 'protected String compilerCommand = "${stdenv.cc}/bin/cc";'
+      # prevent cyclical imports caused by identical <include> names
+      substituteInPlace sulong/projects/com.oracle.truffle.llvm.libraries.bitcode/include/stdlib.h \
+        --replace '# include <cstdlib>' '# include "${stdenv.cc.cc}/include/c++/${stdenv.cc.cc.version}/cstdlib"'
+      # dragonegg can't seem to compile on nix, so let's not require it
+      substituteInPlace sulong/mx.sulong/suite.py \
+        --replace '"requireDragonegg" : True,' '"requireDragonegg" : False,'
+      substituteInPlace truffle/mx.truffle/mx_truffle.py \
+        --replace 'os.path.relpath(self.subject.delegate.dir, self.subject.suite.vc_dir)' \
+                  'self.subject.delegate.dir'
+
+      # Patch the native-image template, as it will be run during build
+      chmod +x vm/mx.vm/launcher_template.sh && patchShebangs vm/mx.vm
     '';
+
     buildPhase = ''
       # make a copy of jvmci8
-      cp -dpR ${jvmci8} $out
-      chmod +w -R $out
-      find $out -type f -exec sed -i "s#${jvmci8}#$out#g" {} \;
+      mkdir $NIX_BUILD_TOP/jvmci8
+      cp -dpR ${jvmci8}/* $NIX_BUILD_TOP/jvmci8
+      chmod +w -R $NIX_BUILD_TOP/jvmci8
 
       export MX_ALT_OUTPUT_ROOT=$NIX_BUILD_TOP/mxbuild
       export MX_CACHE_DIR=${makeMxCache graal-mxcache}
+      export MX_GIT_CACHE='refcache'
+      export MX_GIT_CACHE_DIR=$NIX_BUILD_TOP/mxgitcache
+      export JVMCI_VERSION_CHECK='ignore'
+      export JAVA_HOME=$NIX_BUILD_TOP/jvmci8
+      # export FASTR_RELEASE=true ## WIP
+      ${makeMxGitCache graal-mxcachegit "$MX_GIT_CACHE_DIR"}
+      cd $NIX_BUILD_TOP/source
 
-      ( cd substratevm
-
-        mkdir -p clibraries
-        mx --java-home $out build
-
-        # bootstrap native-image (that was removed from mx build in https://github.com/oracle/graal/commit/140d7a7edf54ec5872a8ff45869cd1ae499efde4)
-        mx --java-home $out native-image -cp $MX_ALT_OUTPUT_ROOT/substratevm/dists/jdk1.8/svm-driver.jar com.oracle.svm.driver.NativeImage
-      )
-      ( cd tools
-        mx --java-home $out build
+      ( cd vm
+        mx-internal -v --dynamicimports /substratevm,/tools,sulong,/graal-nodejs,graalpython build
       )
     '';
-    installPhase = ''
-      # add graal files modelling after directory structure of "graalvm-ce" binary distribution
-      mkdir -p $out/jre/tools/{profiler,chromeinspector,truffle/builder} $out/jre/lib/{graal,include,truffle/include}
-      cp -vpLR substratevm/svmbuild/native-image-root/lib/*                         $out/jre/lib/           || true # ignore "same file" error when dereferencing symlinks
-      cp -vp   $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/bin/*     $out/jre/lib/amd64/
-      cp -vp   $MX_ALT_OUTPUT_ROOT/compiler/dists/jdk1.8/graal-*processor*.jar      $out/jre/lib/graal/
-      cp -vp   $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/include/* $out/jre/lib/include/
-      cp -vp   $MX_ALT_OUTPUT_ROOT/compiler/dists/jdk1.8/graal-management.jar       $out/jre/lib/jvmci/
-      cp -vdpR $out/jre/lib/svm/clibraries                                          $out/jre/lib/svm/builder/
-      cp -vpR  $MX_ALT_OUTPUT_ROOT/truffle/dists/jdk1.8/*                           $out/jre/lib/truffle/
-      cp -vp   $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/include/* $out/jre/lib/truffle/include/
-      cp -vpLR substratevm/svmbuild/native-image-root/tools/*                       $out/jre/tools/
-      cp -vpR  $MX_ALT_OUTPUT_ROOT/tools/dists/chromeinspector*                     $out/jre/tools/chromeinspector/
-      cp -vpR  $MX_ALT_OUTPUT_ROOT/tools/dists/truffle-profiler*                    $out/jre/tools/profiler/
-      cp -vpR  $MX_ALT_OUTPUT_ROOT/truffle/linux-amd64/truffle-nfi-native/*         $out/jre/tools/truffle/
-      cp -vp   $MX_ALT_OUTPUT_ROOT/truffle/dists/jdk1.8/truffle-nfi.jar             $out/jre/tools/truffle/builder/
-
-      echo "name=GraalVM ${version}"                                              > $out/jre/lib/amd64/server/vm.properties
-      echo -n "graal"                                                             > $out/jre/lib/jvmci/compiler-name
-      echo -n "../truffle/truffle-api.jar:../truffle/truffle-nfi.jar"             > $out/jre/lib/jvmci/parentClassLoader.classpath
 
-      install -v -m0555 -D substratevm/com.oracle.svm.driver.nativeimage            $out/jre/lib/svm/bin/native-image
-      ln -s                ../lib/svm/bin/native-image                              $out/jre/bin/native-image
-      ln -s                ../jre/bin/native-image                                  $out/bin/native-image
+    installPhase = ''
+      mkdir -p $out
+      cp -rf $MX_ALT_OUTPUT_ROOT/vm/linux-amd64/GRAALVM_CMP_GU_GVM_INS_JS_LIBPOLY_NFI_NJS_POLY_POLYNATIVE_PRO_PYN_RGX_SLG_SVM_SVMAG_SVMCF_SVML_TFL_VVM/graalvm-unknown-${version}/* $out
 
       # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
       substituteInPlace $out/jre/lib/security/java.security \
         --replace file:/dev/random    file:/dev/./urandom \
         --replace NativePRNGBlocking  SHA1PRNG
+      # Organize the out dir
+      mkdir -p $out/share && mv $out/man $out/share
+      rm $out/ASSEMBLY_EXCEPTION $out/release $out/LICENSE $out/THIRD_PARTY_README
     '';
+
     dontFixup = true; # do not nuke path of ffmpeg etc
     dontStrip = true; # why? see in oraclejdk derivation
     doInstallCheck = true;
@@ -268,8 +388,8 @@ in rec {
     meta = with stdenv.lib; {
       homepage = https://github.com/oracle/graal;
       description = "High-Performance Polyglot VM";
-      license = licenses.unfree;
-      maintainers = with maintainers; [ volth ];
+      license = licenses.gpl2;
+      maintainers = with maintainers; [ volth hlolli ];
       platforms = [ "x86_64-linux" ];
     };
   };
diff --git a/pkgs/development/compilers/graalvm/truffle.make b/pkgs/development/compilers/graalvm/truffle.make
new file mode 100644
index 00000000000..da887c14240
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/truffle.make
@@ -0,0 +1,14 @@
+# This Makefile is used by mx to bootstrap libffi build.
+
+# `make MX_VERBOSE=y` will report all lines executed. The actual value doesn't
+# matter as long as it's not empty.
+QUIETLY$(MX_VERBOSE) = @
+
+.PHONY: default
+
+default:
+	$(QUIETLY) echo CONFIGURE libffi
+	$(QUIETLY) mkdir ../$(OUTPUT)
+	$(QUIETLY) cd ../$(OUTPUT) && ../$(SOURCES)/configure $(CONFIGURE_ARGS) > ../libffi.configure.log
+	$(QUIETLY) echo MAKE libffi
+	$(QUIETLY) $(MAKE) -C ../$(OUTPUT) > ../libffi.build.log
diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix
index 043347889c8..b3cf84fdd0f 100644
--- a/pkgs/development/compilers/ldc/default.nix
+++ b/pkgs/development/compilers/ldc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, ninja, llvm, llvm_8, curl, tzdata
+{ stdenv, fetchurl, cmake, ninja, llvm_5, llvm_8, curl, tzdata
 , python, libconfig, lit, gdb, unzip, darwin, bash
 , callPackage, makeWrapper, targetPackages
 , bootstrapVersion ? false
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optional (!bootstrapVersion && stdenv.hostPlatform.isDarwin) [
     # https://github.com/NixOS/nixpkgs/issues/57120
     # https://github.com/NixOS/nixpkgs/pull/59197#issuecomment-481972515
-    llvm
+    llvm_5
   ]
 
   ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [
@@ -96,7 +96,7 @@ stdenv.mkDerivation rec {
   ]
 
   ++ stdenv.lib.optional (bootstrapVersion) [
-    libconfig llvm
+    libconfig llvm_5
   ]
 
   ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
@@ -150,7 +150,7 @@ stdenv.mkDerivation rec {
   else
     "";
 
-  doCheck = !bootstrapVersion && !stdenv.isDarwin;
+  doCheck = !bootstrapVersion;
 
   checkPhase = stdenv.lib.optionalString doCheck ''
     # Build default lib test runners
diff --git a/pkgs/development/compilers/llvm/7/lldb.nix b/pkgs/development/compilers/llvm/7/lldb.nix
index a697aac5b8f..f58871f1d7c 100644
--- a/pkgs/development/compilers/llvm/7/lldb.nix
+++ b/pkgs/development/compilers/llvm/7/lldb.nix
@@ -27,6 +27,9 @@ stdenv.mkDerivation {
       cmake/modules/LLDBStandalone.cmake
     sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \
       cmake/modules/LLDBStandalone.cmake
+    sed -i -e 's,message(SEND_ERROR "Cannot find debugserver on system."),,' \
+           -e 's,string(STRIP ''${XCODE_DEV_DIR} XCODE_DEV_DIR),,' \
+           tools/debugserver/source/CMakeLists.txt
   '';
 
   nativeBuildInputs = [ cmake python which swig ];
@@ -36,8 +39,11 @@ stdenv.mkDerivation {
   CXXFLAGS = "-fno-rtti";
   hardeningDisable = [ "format" ];
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-I${libxml2.dev}/include/libxml2";
+
   cmakeFlags = [
     "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+    "-DSKIP_DEBUGSERVER=ON"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix
index 8709e47dd3a..c0a0e085145 100644
--- a/pkgs/development/compilers/llvm/8/clang/default.nix
+++ b/pkgs/development/compilers/llvm/8/clang/default.nix
@@ -42,7 +42,7 @@ let
       # Backport for -static-pie, which the latter touches, and which is nice in
       # its own right.
       ./static-pie.patch
-      # Backport for the `--unwindlib=[libgcc|complier-rt]` flag, which is
+      # Backport for the `--unwindlib=[libgcc|compiler-rt]` flag, which is
       # needed for our bootstrapping to not interfere with C.
       ./unwindlib.patch
     ];
diff --git a/pkgs/development/compilers/mruby/0001-Disables-IO-isatty-test-for-sandboxed-builds.patch b/pkgs/development/compilers/mruby/0001-Disables-IO-isatty-test-for-sandboxed-builds.patch
deleted file mode 100644
index 779391fc62a..00000000000
--- a/pkgs/development/compilers/mruby/0001-Disables-IO-isatty-test-for-sandboxed-builds.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From f3db284516105fd30b5513a5528104574a7b8545 Mon Sep 17 00:00:00 2001
-From: Samuel Dionne-Riel <samuel@dionne-riel.com>
-Date: Thu, 9 Aug 2018 19:07:45 -0400
-Subject: [PATCH] Disables `IO#isatty` test for sandboxed builds.
-
----
- mrbgems/mruby-io/test/io.rb | 13 -------------
- 1 file changed, 13 deletions(-)
-
-diff --git a/mrbgems/mruby-io/test/io.rb b/mrbgems/mruby-io/test/io.rb
-index e06b1499..e8a54736 100644
---- a/mrbgems/mruby-io/test/io.rb
-+++ b/mrbgems/mruby-io/test/io.rb
-@@ -342,19 +342,6 @@ assert('IO#_read_buf') do
-   io.closed?
- end
- 
--assert('IO#isatty') do
--  skip "isatty is not supported on this platform" if MRubyIOTestUtil.win?
--  f1 = File.open("/dev/tty")
--  f2 = File.open($mrbtest_io_rfname)
--
--  assert_true  f1.isatty
--  assert_false f2.isatty
--
--  f1.close
--  f2.close
--  true
--end
--
- assert('IO#pos=, IO#seek') do
-   fd = IO.sysopen $mrbtest_io_rfname
-   io = IO.new fd
--- 
-2.16.4
-
diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix
index cfc1f00a803..03f3d56fd93 100644
--- a/pkgs/development/compilers/mruby/default.nix
+++ b/pkgs/development/compilers/mruby/default.nix
@@ -1,20 +1,16 @@
 { stdenv, ruby, bison, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "mruby-${version}";
-  version = "2.0.0";
+  pname = "mruby";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner   = "mruby";
     repo    = "mruby";
     rev     = version;
-    sha256  = "1r6w1asjshff43ymdwa6xmrkggza99mi2kw88k7ic6ag2j81hcj5";
+    sha256  = "1zm2d5kj9fnfx8ifj8ysrrr838ipwmvz35byzjhprakrg64911p9";
   };
 
-  patches = [
-    ./0001-Disables-IO-isatty-test-for-sandboxed-builds.patch
-  ];
-
   nativeBuildInputs = [ ruby bison ];
 
   # Necessary so it uses `gcc` instead of `ld` for linking.
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 1a81a5ec20a..83869e1b621 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "orc-0.4.28";
+  name = "orc-0.4.29";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
-    sha256 = "bfcd7c6563b05672386c4eedfc4c0d4a0a12b4b4775b74ec6deb88fc2bcd83ce";
+    sha256 = "1cisbbn69p9c8vikn0nin14q0zscby5m8cyvzxyw2pjb2kwh32ag";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index dfd40c92ecf..6da9d6d3d02 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -1,17 +1,15 @@
 { stdenv, lib, fetchurl, fetchpatch, pkgconfig, flex, bison, libxslt, autoconf, automake, autoreconfHook
-, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll
+, graphviz, glib, libiconv, libintl, libtool, expat, substituteAll, gnome3
 }:
 
 let
   generic = lib.makeOverridable ({
-    major, minor, sha256,
+    version, sha256,
     extraNativeBuildInputs ? [],
     extraBuildInputs ? [],
     withGraphviz ? false
   }:
   let
-    atLeast = lib.versionAtLeast "${major}.${minor}";
-
     # Patches from the openembedded-core project to build vala without graphviz
     # support. We need to apply an additional patch to allow building when the
     # header file isn't available at all, but that patch (./gvc-compat.patch)
@@ -43,23 +41,23 @@ let
         # We've reverted the addition of the "--disable-valadoc" option
         # and then applied the following patch.
         #     0.42.4: https://github.com/openembedded/openembedded-core/raw/f2b4f9ec6f44dced7f88df849cca68961419eeb8/meta/recipes-devtools/vala/vala/disable-graphviz.patch
-        "0.44" = ./disable-graphviz-0.44.1.patch;
+        "0.44" = ./disable-graphviz-0.44.3.patch;
 
-      }.${major} or (throw "no graphviz patch for this version of vala");
+      }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala");
 
-    disableGraphviz = atLeast "0.38" && !withGraphviz;
+    disableGraphviz = lib.versionAtLeast version "0.38" && !withGraphviz;
 
   in stdenv.mkDerivation rec {
-    name = "vala-${version}";
-    version = "${major}.${minor}";
+    pname = "vala";
+    inherit version;
 
     setupHook = substituteAll {
       src = ./setup-hook.sh;
-      apiVersion = major;
+      apiVersion = lib.versions.majorMinor version;
     };
 
     src = fetchurl {
-      url = "mirror://gnome/sources/vala/${major}/${name}.tar.xz";
+      url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
       inherit sha256;
     };
 
@@ -78,19 +76,27 @@ let
 
     nativeBuildInputs = [
       pkgconfig flex bison libxslt
-    ] ++ lib.optional (stdenv.isDarwin && (atLeast "0.38")) expat
+    ] ++ lib.optional (stdenv.isDarwin && (lib.versionAtLeast version "0.38")) expat
       ++ lib.optional disableGraphviz autoreconfHook # if we changed our ./configure script, need to reconfigure
       ++ extraNativeBuildInputs;
 
     buildInputs = [
       glib libiconv libintl
-    ] ++ lib.optional (atLeast "0.38" && withGraphviz) graphviz
+    ] ++ lib.optional (lib.versionAtLeast version "0.38" && withGraphviz) graphviz
       ++ extraBuildInputs;
 
     enableParallelBuilding = true;
 
     doCheck = false; # fails, requires dbus daemon
 
+    # Wait for PR #59372
+    #passthru = {
+    #  updateScript = gnome3.updateScript {
+    #    attrPath = "${pname}_${lib.versions.major version}_${lib.versions.minor version}";
+    #    packageName = pname;
+    #  };
+    #};
+
     meta = with stdenv.lib; {
       description = "Compiler for GObject type system";
       homepage = https://wiki.gnome.org/Projects/Vala;
@@ -102,34 +108,29 @@ let
 
 in rec {
   vala_0_36 = generic {
-    major   = "0.36";
-    minor   = "18";
-    sha256  = "0csb9skgy663y05kl813dsarzjbfcdsmx5fvz13p8gas3hycciq9";
+    version = "0.36.19";
+    sha256 = "05si2f4zjvq0q3wqfh1wxdq20jy1xqxq2skqh8vfh2jyp355lwar";
   };
 
   vala_0_38 = generic {
-    major   = "0.38";
-    minor   = "10";
+    version = "0.38.10";
     sha256  = "1rdwwqs973qv225v8b5izcgwvqn56jxgr4pa3wxxbliar3aww5sw";
     extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool;
   };
 
   vala_0_40 = generic {
-    major   = "0.40";
-    minor   = "14";
-    sha256  = "0llid9b9cgjcrcclc0pw2skkssb7br7b2clq9cql3p14dl94gki0";
+    version = "0.40.15";
+    sha256 = "0mfayli159yyw6abjf6sgq41j54mr3nspg25b1kxhypcz0scjm19";
   };
 
   vala_0_42 = generic {
-    major   = "0.42";
-    minor   = "6";
-    sha256  = "14024gvs23q323fmd62hqd8jiypaxbjjvamyd782ixbhxmpz8x1p";
+    version = "0.42.7";
+    sha256 = "029ksbsdpl581wzy570kj4kkw8b4bizgh494c051zsvkwck55p83";
   };
 
   vala_0_44 = generic {
-    major   = "0.44";
-    minor   = "1";
-    sha256 = "1qiglkgymws6a3m8xz1v8b3na165ywx2dbipp3bdg134bi0w3a4n";
+    version = "0.44.3";
+    sha256 = "1sgas7z6y9r2mf4pxry3fx2awdnzn3vlg2sxd3hqpy2a90ib8lw5";
   };
 
   vala = vala_0_44;
diff --git a/pkgs/development/compilers/vala/disable-graphviz-0.44.1.patch b/pkgs/development/compilers/vala/disable-graphviz-0.44.3.patch
index 2752aa1e205..fc971c26492 100644
--- a/pkgs/development/compilers/vala/disable-graphviz-0.44.1.patch
+++ b/pkgs/development/compilers/vala/disable-graphviz-0.44.3.patch
@@ -19,17 +19,17 @@ index f70234759..b3d6c3833 100644
 -	--enable-valadoc \
 -	--enable-unversioned \
 -	$(NULL)
- 
+
  if ENABLE_UNVERSIONED
  aclocaldir = $(datadir)/aclocal
 diff --git a/configure.ac b/configure.ac
-index 16ebd1f81..cf23db4b8 100644
+index 504db13aa..622397747 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -156,10 +156,11 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED)
- AC_SUBST(GMODULE_CFLAGS)
+@@ -157,10 +157,11 @@ AC_SUBST(GMODULE_CFLAGS)
  AC_SUBST(GMODULE_LIBS)
- 
+
+ AC_ARG_WITH(cgraph, AS_HELP_STRING([--with-cgraph], [Required flag for cross-compilation to define capability of graphviz]), [], with_cgraph=check)
 -AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes)
 -if test x$enable_valadoc = xyes; then
 +AC_ARG_ENABLE(graphviz, AS_HELP_STRING([--disable-graphviz], [Disable graphviz usage for valadoc]), enable_graphviz=$enableval, enable_graphviz=yes)
@@ -40,14 +40,14 @@ index 16ebd1f81..cf23db4b8 100644
  	cgraph_tmp_LIBADD="$LIBADD"
  	cgraph_tmp_CFLAGS="$CFLAGS"
  	LIBADD="$LIBADD $LIBGVC_LIBS"
-@@ -186,8 +187,8 @@ if test x$enable_valadoc = xyes; then
+@@ -198,8 +199,8 @@ if test x$enable_valadoc = xyes; then
  	LIBADD="$cgraph_tmp_LIBADD"
  	CFLAGS="$cgraph_tmp_CFLAGS"
  fi
 +AM_CONDITIONAL(ENABLE_GRAPHVIZ, test x$enable_graphviz = xyes)
  AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
 -AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes)
- 
+
  AC_PATH_PROG([XSLTPROC], [xsltproc], :)
  AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != :)
 diff --git a/doc/Makefile.am b/doc/Makefile.am
@@ -55,14 +55,14 @@ index d2684a0e0..b343c7c10 100644
 --- a/doc/Makefile.am
 +++ b/doc/Makefile.am
 @@ -6,16 +6,11 @@ SUBDIRS = \
- 
+
  dist_man_MANS = \
  	valac.1 \
 +	valadoc.1 \
  	vala-gen-introspect.1 \
  	vapigen.1 \
  	$(NULL)
- 
+
 -if ENABLE_VALADOC
 -dist_man_MANS += \
 -	valadoc.1 \
@@ -74,7 +74,7 @@ index d2684a0e0..b343c7c10 100644
  	valadoc.h2m \
 @@ -24,11 +19,7 @@ EXTRA_DIST = \
  	$(NULL)
- 
+
  if HAVE_HELP2MAN
 -if ENABLE_VALADOC
  manpages: valac.1 valadoc.1 vala-gen-introspect.1 vapigen.1
@@ -83,7 +83,7 @@ index d2684a0e0..b343c7c10 100644
 -endif
  	@rm $^
  	$(MAKE) $(AM_MAKEFLAGS) $^
- 
+
 @@ -37,13 +28,11 @@ valac.1:
  		--include $(srcdir)/valac.h2m \
  		--libtool --no-info \
@@ -108,18 +108,18 @@ index d2684a0e0..b343c7c10 100644
  	cd $(DESTDIR)$(man1dir) && $(LN_S) -f vala-gen-introspect@PACKAGE_SUFFIX@.1 vala-gen-introspect.1
  	cd $(DESTDIR)$(man1dir) && $(LN_S) -f vapigen@PACKAGE_SUFFIX@.1 vapigen.1
  endif
- 
- 
+
+
 -if ENABLE_VALADOC
  COMMON_VALADOCFLAGS = \
  	--force \
  	--verbose \
 @@ -150,7 +136,6 @@ internal-apis/valadoc: $(valadoc_VALASOURCES) internal-apis/codegen
  	@touch $@
- 
+
  internal-api-docs: internal-apis/gee internal-apis/vala internal-apis/ccode internal-apis/codegen internal-apis/valadoc
 -endif
- 
+
  clean-local:
  	rm -rf $(builddir)/internal-apis
 diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am
@@ -147,7 +147,7 @@ index 7456fb836..107338e91 100644
  	html/htmlmarkupwriter.vala \
  	html/htmlrenderer.vala \
  	$(NULL)
- 
+
 +if ENABLE_GRAPHVIZ
 +libvaladoc_la_VALASOURCES += \
 +	charts/chart.vala \
@@ -177,23 +177,23 @@ index 7456fb836..107338e91 100644
  		$(filter %.vala %.c,$^)
  	touch $@
 @@ -207,6 +214,9 @@ nodist_pkgconfig_DATA = valadoc@PACKAGE_SUFFIX@.pc
- 
+
  valadoc@PACKAGE_SUFFIX@.pc: valadoc.pc
  	cp $< $@
 +if !ENABLE_GRAPHVIZ
 +	sed -i "s/libgvc //g" $@
 +endif
- 
+
  vapidir = $(datadir)/vala/vapi
  dist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.vapi
 @@ -214,6 +224,9 @@ nodist_vapi_DATA = valadoc@PACKAGE_SUFFIX@.deps
- 
+
  valadoc@PACKAGE_SUFFIX@.deps: valadoc.deps
  	cp $< $@
 +if !ENABLE_GRAPHVIZ
 +	sed -i "s/libgvc//g" $@
 +endif
- 
+
  EXTRA_DIST = \
  	$(libvaladoc_la_VALASOURCES) \
 diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala
@@ -211,20 +211,20 @@ index 46578c28f..f6ce7097c 100644
 +#endif
  	protected ErrorReporter reporter;
  	protected string package_list_link = "../index.html";
- 
+
 @@ -120,7 +124,9 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
  		this.linker = new LinkHelper ();
- 
+
  		_renderer = new HtmlRenderer (settings, this.linker, this.cssresolver);
 +#if HAVE_GRAPHVIZ
  		this.image_factory = new SimpleChartFactory (settings, linker);
 +#endif
  	}
- 
- 
+
+
 @@ -1025,6 +1031,7 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
  	}
- 
+
  	protected void write_image_block (Api.Node element) {
 +#if HAVE_GRAPHVIZ
  		if (element is Class || element is Interface || element is Struct) {
@@ -236,7 +236,7 @@ index 46578c28f..f6ce7097c 100644
  		}
 +#endif
  	}
- 
+
  	public void write_namespace_content (Namespace node, Api.Node? parent) {
 diff --git a/libvaladoc/html/htmlmarkupwriter.vala b/libvaladoc/html/htmlmarkupwriter.vala
 index 5aa4afdea..e79b0b8f5 100644
@@ -245,7 +245,7 @@ index 5aa4afdea..e79b0b8f5 100644
 @@ -51,12 +51,16 @@ public class Valadoc.Html.MarkupWriter : Valadoc.MarkupWriter {
  		}
  	}
- 
+
 +#if HAVE_GRAPHVIZ
  	public unowned MarkupWriter add_usemap (Charts.Chart chart) {
  		string? buf = (string?) chart.write_buffer ("cmapx");
@@ -256,6 +256,6 @@ index 5aa4afdea..e79b0b8f5 100644
 +#else
 +	public unowned MarkupWriter add_usemap (void* chart) {
 +#endif
- 
+
  		return this;
  	}
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 8693b235211..dc3071e5fab 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -41,16 +41,49 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  # Use our native version of the Cabal library.
-  cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: { Cabal = null; });
+  # Use the current git version of cabal-install.
+  cabal-install = overrideCabal (super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal-git; })) (drv: {
+    src = pkgs.fetchFromGitHub {
+      owner = "haskell";
+      repo = "cabal";
+      rev = "e98f6c26fa301b49921c2df67934bf9b0a4f3386";
+      sha256 = "15nrkvckq2rw31z7grgbsg5f0gxfc09afsrqdfi4n471k630xd2i";
+    };
+    version = "20190510-git";
+    editedCabalFile = null;
+    postUnpack = "sourceRoot+=/cabal-install";
+    jailbreak = true;
+  });
+  Cabal-git = overrideCabal super.Cabal_2_4_1_0 (drv: {
+    src = pkgs.fetchFromGitHub {
+      owner = "haskell";
+      repo = "cabal";
+      rev = "e98f6c26fa301b49921c2df67934bf9b0a4f3386";
+      sha256 = "15nrkvckq2rw31z7grgbsg5f0gxfc09afsrqdfi4n471k630xd2i";
+    };
+    version = "20190510-git";
+    editedCabalFile = null;
+    postUnpack = "sourceRoot+=/Cabal";
+  });
 
   # Ignore overly restrictive upper version bounds.
+  async = doJailbreak super.async;
+  ChasingBottoms = doJailbreak super.ChasingBottoms;
   cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
+  Diff = dontCheck super.Diff;
   doctest = doJailbreak super.doctest;
+  hashable = doJailbreak super.hashable;
+  hashable-time = doJailbreak super.hashable-time;
+  integer-logarithms = doJailbreak super.integer-logarithms;
+  lucid = doJailbreak super.lucid;
+  parallel = doJailbreak super.parallel;
+  quickcheck-instances = doJailbreak super.quickcheck-instances;
+  setlocale = doJailbreak super.setlocale;
   split = doJailbreak super.split;
+  tasty-expected-failure = doJailbreak super.tasty-expected-failure;
   test-framework = doJailbreak super.test-framework;
-  hashable = doJailbreak super.hashable;
-  async = doJailbreak super.async;
+  th-lift = self.th-lift_0_8_0_1;
+  hledger-lib = doJailbreak super.hledger-lib;  # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
 
   # These packages don't work and need patching and/or an update.
   primitive = overrideSrc (doJailbreak super.primitive) {
@@ -85,14 +118,18 @@ self: super: {
     buildTools = with pkgs; [autoconf];
     preConfigure = "autoreconf --install";
   });
-  colour = appendPatch super.colour (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/colour-2.3.4.patch";
-    sha256 = "1h318dczml9qrmfvlz1d12iji86klaxvz63k9g9awibwz8lw2i79";
-  });
-  dlist = appendPatch super.dlist (pkgs.fetchpatch {
+  dlist = appendPatch (doJailbreak super.dlist) (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/dlist-0.8.0.6.patch";
     sha256 = "0lkhibfxfk6mi796mrjgmbb50hbyjgc7xdinci64dahj8325jlpc";
   });
+  vector-th-unbox = appendPatch super.vector-th-unbox (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/vector-th-unbox-0.2.1.6.patch";
+    sha256 = "0169yf9ms1g5mmkc5l6hpffzm34zdrqdng4df02nbdmfgba45h19";
+  });
+  cabal-doctest = appendPatch  (doJailbreak super.cabal-doctest) (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cabal-doctest-1.0.6.patch";
+    sha256 = "0735mkxhv557pgnfvdjakkw9r85l5gy28grdwg929m26ghbf9s8j";
+  });
   QuickCheck = appendPatch super.QuickCheck (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/QuickCheck-2.13.1.patch";
     sha256 = "138yrp3x5cnvncimrnhnkawz6clyk7fj3sr3y93l5szfr11kcvbl";
@@ -105,23 +142,19 @@ self: super: {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-posix-0.95.2.patch";
     sha256 = "006yli58jpqp786zm1xlncjsilc38iv3a09r4pv94l587sdzasd2";
   });
-  exceptions = appendPatch (doJailbreak super.exceptions) (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/exceptions-0.10.1.patch";
-    sha256 = "0427jg027dcckiy21zk29c49fzx4q866rqbabmh4wvqwwkz8yk37";
-  });
   th-abstraction = appendPatch (doJailbreak super.th-abstraction) (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/th-abstraction-0.2.11.0.patch";
     sha256 = "0czqfszfblz6bvsybcd1z5jijj79f9czqq6dn992wp2gibsbrgj3";
   });
-  logict = appendPatch (doJailbreak super.logict) (pkgs.fetchpatch {
-    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/logict-0.6.0.2.patch";
-    sha256 = "0my2n0r9pb35994q0xka96fv5jdpjdfwqppi5lily3rgzkajsixn";
-  });
   zlib = appendPatch super.zlib (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/zlib-0.6.2.patch";
     sha256 = "13fy730z9ihyc9kw3qkh642mi0bdbd7bz01dksj1zz845pr9jjif";
   });
-  optparse-applicative = appendPatch super.optparse-applicative (pkgs.fetchpatch {
+  haskell-src-exts = appendPatch super.haskell-src-exts_1_21_0 (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/haskell-src-exts-1.21.0.patch";
+    sha256 = "0alb28hcsp774c9s73dgrajcb44vgv1xqfg2n5a9y2bpyngqscs3";
+  });
+  optparse-applicative = appendPatch (doJailbreak super.optparse-applicative) (pkgs.fetchpatch {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/optparse-applicative-0.14.3.0.patch";
     sha256 = "068sjj98jqiq3h8h03mg4w2pa11q8lxkx2i4lmxivq77xyhlwq3y";
   });
@@ -133,5 +166,39 @@ self: super: {
     url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch";
     sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4";
   });
+  happy = appendPatch super.happy (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/happy-1.19.9.patch";
+    sha256 = "1zmcb7dgcwivq2mddcy1f20djw2kds1m7ahwsa4xpbbwnijc6zjx";
+  });
+  hedgehog = appendPatch super.hedgehog (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hedgehog-0.6.1.patch";
+    sha256 = "04xwznd3lfgracfz68ls6vfm19rhq8fb74r6ii0grpv6cx4rr21i";
+  });
+  easytest = self.easytest_0_3;
+  regex-tdfa = appendPatch super.regex-tdfa (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-tdfa-1.2.3.1.patch";
+    sha256 = "1lhas4s2ms666prb475gaw2bqw1v4y8cxi66sy20j727sx7ppjs7";
+  });
+  unordered-containers = self.unordered-containers_0_2_10_0;
+  attoparsec = appendPatch super.attoparsec (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/attoparsec-0.13.2.2.patch";
+    sha256 = "13i1p5g0xzxnv966nlyb77mfmxvg9jzbym1d36h1ajn045yf4igl";
+  });
+  aeson = appendPatch (dontCheck super.aeson) (pkgs.fetchpatch {   # the test suite breaks the compiler
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/aeson-1.4.3.0.patch";
+    sha256 = "1z6wmsmc682qs3y768r0zx493dxardwbsp0wdc4dsx83c0m5x66f";
+  });
+  cassava = appendPatch super.cassava (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cassava-0.5.1.0.patch";
+    sha256 = "11scwwjp94si90vb8v5yr291g9qwv5l223z8y0g0lc63932bp63g";
+  });
+  shakespeare = appendPatch super.shakespeare (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/shakespeare-2.0.20.patch";
+    sha256 = "1dgx41ylahj4wk8r422aik0d7qdpawdga4gqz905nvlnhqjla58y";
+  });
+  lens = appendPatch (doJailbreak super.lens) (pkgs.fetchpatch {
+    url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/lens-4.17.1.patch";
+    sha256 = "0w89ipi6dfkx5vlw4a64hh6fd0bm9hg33mwpghliyyxik5jmilv1";
+  });
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index ee67a5f1d24..fe76c581eda 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.19
+  # LTS Haskell 13.20
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -64,14 +64,14 @@ default-package-overrides:
   - aeson-better-errors ==0.9.1.0
   - aeson-casing ==0.1.1.0
   - aeson-compat ==0.3.9
-  - aeson-diff ==1.1.0.5
+  - aeson-diff ==1.1.0.7
   - aeson-extra ==0.4.1.1
   - aeson-generic-compat ==0.0.1.3
   - aeson-iproute ==0.2
   - aeson-picker ==0.1.0.4
   - aeson-pretty ==0.8.7
   - aeson-qq ==0.8.2
-  - aeson-typescript ==0.1.1.0
+  - aeson-typescript ==0.1.2.0
   - aeson-utils ==0.3.0.2
   - aeson-yak ==0.1.1.3
   - al ==0.1.4.2
@@ -220,7 +220,7 @@ default-package-overrides:
   - async-refresh-tokens ==0.4.0.0
   - async-timer ==0.2.0.0
   - atom-basic ==0.2.5
-  - atomic-primops ==0.8.2
+  - atomic-primops ==0.8.3
   - atomic-write ==0.2.0.6
   - attoparsec ==0.13.2.2
   - attoparsec-base64 ==0.0.0
@@ -293,7 +293,7 @@ default-package-overrides:
   - bitcoin-script ==0.11.1
   - bitcoin-tx ==0.13.1
   - bitcoin-types ==0.9.2
-  - bits ==0.5.1
+  - bits ==0.5.2
   - bitset-word8 ==0.1.1.1
   - bits-extra ==0.0.1.3
   - bit-stream ==0.1.0.2
@@ -351,7 +351,7 @@ default-package-overrides:
   - cabal2spec ==2.2.2.1
   - cabal-doctest ==1.0.6
   - cabal-rpm ==0.12.6
-  - cache ==0.1.1.1
+  - cache ==0.1.1.2
   - cachix ==0.2.0
   - cachix-api ==0.2.0
   - cacophony ==0.10.1
@@ -428,11 +428,11 @@ default-package-overrides:
   - colonnade ==1.2.0.1
   - colorful-monoids ==0.2.1.2
   - colorize-haskell ==1.0.1
-  - colour ==2.3.4
+  - colour ==2.3.5
   - combinatorial ==0.1.0.1
   - comfort-graph ==0.0.3.1
   - commutative ==0.0.2
-  - comonad ==5.0.4
+  - comonad ==5.0.5
   - compactmap ==0.1.4.2.1
   - compensated ==0.7.2
   - compiler-warnings ==0.1.0
@@ -466,7 +466,7 @@ default-package-overrides:
   - console-style ==0.0.2.1
   - constraint ==0.1.3.0
   - constraints ==0.10.1
-  - contravariant ==1.5
+  - contravariant ==1.5.1
   - contravariant-extras ==0.3.4
   - control-bool ==0.2.1
   - control-dsl ==0.2.1.3
@@ -486,7 +486,7 @@ default-package-overrides:
   - cql-io ==1.0.1.1
   - crackNum ==2.3
   - credential-store ==0.1.2
-  - criterion ==1.5.4.0
+  - criterion ==1.5.5.0
   - criterion-measurement ==0.1.1.0
   - cron ==0.6.1
   - crypto-api ==0.13.3
@@ -519,7 +519,7 @@ default-package-overrides:
   - cubicspline ==0.1.2
   - cublas ==0.5.0.0
   - cuckoo-filter ==0.2.0.2
-  - cuda ==0.10.0.0
+  - cuda ==0.10.1.0
   - cue-sheet ==2.0.1
   - cufft ==0.9.0.1
   - curl ==1.3.8
@@ -579,13 +579,13 @@ default-package-overrides:
   - dependent-sum-template ==0.0.0.6
   - deque ==0.2.7
   - deriveJsonNoPrefix ==0.1.0.1
-  - deriving-compat ==0.5.5
+  - deriving-compat ==0.5.6
   - derulo ==1.0.5
   - detour-via-sci ==1.0.0
   - dhall ==1.19.1
   - dhall-bash ==1.0.18
   - dhall-json ==1.2.6
-  - dhall-text ==1.0.16
+  - dhall-text ==1.0.17
   - diagrams ==1.4
   - diagrams-contrib ==1.4.3
   - diagrams-core ==1.4.1.1
@@ -643,7 +643,7 @@ default-package-overrides:
   - edit-distance ==0.2.2.1
   - edit-distance-vector ==1.0.0.4
   - editor-open ==0.6.0.0
-  - either ==5.0.1
+  - either ==5.0.1.1
   - either-both ==0.1.0.0
   - ekg ==0.4.0.15
   - ekg-core ==0.1.1.6
@@ -673,7 +673,7 @@ default-package-overrides:
   - errors ==2.3.0
   - errors-ext ==0.4.2
   - error-util ==0.0.1.2
-  - ersatz ==0.4.4
+  - ersatz ==0.4.5
   - esqueleto ==2.6.0
   - etc ==0.4.1.0
   - eventful-core ==0.2.0
@@ -688,7 +688,7 @@ default-package-overrides:
   - exact-pi ==0.5.0.1
   - exceptional ==0.3.0.0
   - exception-mtl ==0.4.0.1
-  - exceptions ==0.10.1
+  - exceptions ==0.10.2
   - exception-transformers ==0.4.0.7
   - executable-hash ==0.2.0.4
   - executable-path ==0.0.3.1
@@ -718,7 +718,7 @@ default-package-overrides:
   - filecache ==0.4.1
   - file-embed ==0.0.11
   - file-embed-lzma ==0
-  - filelock ==0.1.1.2
+  - filelock ==0.1.1.3
   - filemanip ==0.3.6.3
   - file-modules ==0.1.2.4
   - filepattern ==0.1.1
@@ -758,11 +758,11 @@ default-package-overrides:
   - force-layout ==0.4.0.6
   - foreign-store ==0.2
   - forkable-monad ==0.2.0.3
-  - forma ==1.1.1
+  - forma ==1.1.2
   - format-numbers ==0.1.0.0
   - formatting ==6.3.7
   - foundation ==0.0.23
-  - free ==5.1
+  - free ==5.1.1
   - freenect ==1.2.1
   - freer-simple ==1.2.1.0
   - freetype2 ==0.1.2
@@ -782,7 +782,7 @@ default-package-overrides:
   - fuzzy-dates ==0.1.1.1
   - fuzzyset ==0.1.0.8
   - gauge ==0.2.4
-  - gc ==0.0.2
+  - gc ==0.0.3
   - gd ==3000.7.3
   - gdp ==0.0.0.2
   - general-games ==1.1.1
@@ -965,7 +965,7 @@ default-package-overrides:
   - hmatrix-morpheus ==0.1.1.2
   - hmatrix-vector-sized ==0.1.1.3
   - hmpfr ==0.4.4
-  - hoauth2 ==1.8.4
+  - hoauth2 ==1.8.5
   - Hoed ==0.5.1
   - hOpenPGP ==2.7.4.1
   - hopfli ==0.2.2.1
@@ -1000,9 +1000,9 @@ default-package-overrides:
   - hsinstall ==2.2
   - HSlippyMap ==3.0.1
   - hslogger ==1.2.12
-  - hslua ==1.0.2
+  - hslua ==1.0.3
   - hslua-aeson ==1.0.0
-  - hslua-module-text ==0.2.0
+  - hslua-module-text ==0.2.1
   - HsOpenSSL ==0.11.4.16
   - HsOpenSSL-x509-system ==0.1.0.3
   - hsp ==0.10.0
@@ -1044,7 +1044,7 @@ default-package-overrides:
   - http-client ==0.5.14
   - http-client-tls ==0.3.5.3
   - http-common ==0.8.2.0
-  - http-conduit ==2.3.7
+  - http-conduit ==2.3.7.1
   - http-date ==0.0.8
   - http-directory ==0.1.1
   - httpd-shed ==0.4.0.3
@@ -1126,11 +1126,11 @@ default-package-overrides:
   - interpolate ==0.2.0
   - interpolatedstring-perl6 ==1.0.1
   - interpolation ==0.1.1
-  - interpolator ==0.1.1
+  - interpolator ==0.1.2
   - IntervalMap ==0.6.1.1
   - intervals ==0.8.1
   - intset-imperative ==0.1.0.0
-  - invariant ==0.5.2
+  - invariant ==0.5.3
   - invertible ==0.2.0.5
   - io-choice ==0.0.7
   - io-machine ==0.2.0.0
@@ -1180,10 +1180,10 @@ default-package-overrides:
   - kazura-queue ==0.1.0.4
   - kdt ==0.2.4
   - keycode ==0.2.2
-  - keys ==3.12.1
-  - kind-apply ==0.3.0.0
+  - keys ==3.12.2
+  - kind-apply ==0.3.1.0
   - kind-generics ==0.3.0.0
-  - kind-generics-th ==0.1.0.0
+  - kind-generics-th ==0.1.1.0
   - kleene ==0
   - kmeans ==0.1.3
   - koofr-client ==1.0.0.3
@@ -1199,7 +1199,7 @@ default-package-overrides:
   - language-ecmascript ==0.19
   - language-haskell-extract ==0.2.4
   - language-java ==0.2.9
-  - language-javascript ==0.6.0.11
+  - language-javascript ==0.6.0.12
   - language-puppet ==1.4.4
   - lapack-ffi ==0.0.2
   - lapack-ffi-tools ==0.1.2
@@ -1234,15 +1234,15 @@ default-package-overrides:
   - libraft ==0.1.1.0
   - libyaml ==0.1.1.0
   - LibZip ==1.0.1
-  - lifted-async ==0.10.0.3
+  - lifted-async ==0.10.0.4
   - lifted-base ==0.2.3.12
   - lift-generics ==0.1.2
   - line ==4.0.1
-  - linear ==1.20.8
+  - linear ==1.20.9
   - linux-file-extents ==0.2.0.0
   - linux-namespaces ==0.1.3.0
   - List ==0.6.2
-  - ListLike ==4.6
+  - ListLike ==4.6.2
   - listsafe ==0.1.0.1
   - list-t ==1.0.3.1
   - ListTree ==0.2.3
@@ -1260,7 +1260,7 @@ default-package-overrides:
   - logging-effect ==1.3.3
   - logging-facade ==0.3.0
   - logging-facade-syslog ==1
-  - logict ==0.6.0.2
+  - logict ==0.6.0.3
   - long-double ==0.1
   - loop ==0.3.0
   - lrucaching ==0.3.3
@@ -1297,7 +1297,7 @@ default-package-overrides:
   - mbug ==1.3.2
   - mcmc-types ==1.0.3
   - median-stream ==0.7.0.0
-  - megaparsec ==7.0.4
+  - megaparsec ==7.0.5
   - mega-sdist ==0.3.3.2
   - memory ==0.14.18
   - MemoTrie ==0.6.9
@@ -1335,10 +1335,10 @@ default-package-overrides:
   - mixpanel-client ==0.1.1
   - mltool ==0.2.0.1
   - mmap ==0.5.9
-  - mmark ==0.0.6.2
+  - mmark ==0.0.7.0
   - mmark-cli ==0.0.5.0
   - mmark-ext ==0.2.1.2
-  - mmorph ==1.1.2
+  - mmorph ==1.1.3
   - mnist-idx ==0.1.2.8
   - mockery ==0.3.5
   - modern-uri ==0.3.0.1
@@ -1377,7 +1377,7 @@ default-package-overrides:
   - mono-traversable-instances ==0.1.0.0
   - mountpoints ==1.0.2
   - mtl ==2.2.2
-  - mtl-compat ==0.2.1.3
+  - mtl-compat ==0.2.2
   - mtl-prelude ==2.0.3.1
   - multiarg ==0.30.0.10
   - multimap ==1.2.1
@@ -1506,7 +1506,7 @@ default-package-overrides:
   - parsec-numeric ==0.1.0.0
   - ParsecTools ==0.0.2.0
   - parser-combinators ==1.0.2
-  - parsers ==0.12.9
+  - parsers ==0.12.10
   - partial-handler ==1.0.3
   - partial-isomorphisms ==0.2.2.1
   - partial-semigroup ==0.5.1.0
@@ -1653,7 +1653,7 @@ default-package-overrides:
   - quickcheck-classes ==0.6.0.0
   - quickcheck-instances ==0.3.19
   - quickcheck-io ==0.2.0
-  - quickcheck-simple ==0.1.0.4
+  - quickcheck-simple ==0.1.1.0
   - quickcheck-special ==0.1.0.6
   - quickcheck-state-machine ==0.4.3
   - quickcheck-text ==0.1.2.1
@@ -1680,7 +1680,7 @@ default-package-overrides:
   - rawfilepath ==0.2.4
   - rawstring-qm ==0.2.3.0
   - raw-strings-qq ==1.1
-  - rcu ==0.2.3
+  - rcu ==0.2.4
   - re2 ==0.3
   - readable ==0.3.1
   - read-editor ==0.1.0.2
@@ -1707,7 +1707,7 @@ default-package-overrides:
   - regex-tdfa ==1.2.3.1
   - regex-tdfa-text ==1.0.0.3
   - regex-with-pcre ==1.0.2.0
-  - registry ==0.1.3.5
+  - registry ==0.1.3.6
   - reinterpret-cast ==0.1.0
   - relapse ==1.0.0.0
   - relational-query ==0.12.1.0
@@ -1719,7 +1719,7 @@ default-package-overrides:
   - repa ==3.4.1.4
   - repa-algorithms ==3.4.1.3
   - repa-io ==3.4.1.1
-  - repline ==0.2.0.0
+  - repline ==0.2.1.0
   - req ==1.2.1
   - req-conduit ==1.0.0
   - req-url-extra ==0.1.0.0
@@ -1769,7 +1769,7 @@ default-package-overrides:
   - scanf ==0.1.0.0
   - scanner ==0.3
   - scientific ==0.3.6.2
-  - scotty ==0.11.3
+  - scotty ==0.11.4
   - scrypt ==0.5.0
   - sdl2 ==2.4.1.0
   - sdl2-gfx ==0.2
@@ -1901,7 +1901,7 @@ default-package-overrides:
   - sql-words ==0.1.6.2
   - srcloc ==0.5.1.2
   - stache ==2.0.1
-  - stack2nix ==0.2.2
+  - stack2nix ==0.2.3
   - starter ==0.3.0
   - state-codes ==0.1.3
   - stateref ==0.3
@@ -1917,7 +1917,7 @@ default-package-overrides:
   - stm-delay ==0.1.1.1
   - stm-extras ==0.1.0.3
   - stm-split ==0.0.2.1
-  - stopwatch ==0.1.0.5
+  - stopwatch ==0.1.0.6
   - storable-complex ==0.2.3.0
   - storable-record ==0.0.4
   - storable-tuple ==0.0.3.3
@@ -1946,7 +1946,7 @@ default-package-overrides:
   - stringsearch ==0.3.6.6
   - string-transform ==1.1.0
   - strive ==5.0.8
-  - structs ==0.1.1
+  - structs ==0.1.2
   - stylish-haskell ==0.9.2.1
   - summoner ==1.2.0
   - sum-type-boilerplate ==0.1.1
@@ -1975,7 +1975,7 @@ default-package-overrides:
   - tagged-identity ==0.1.2
   - tagged-transformer ==0.8.1
   - tagshare ==0.0
-  - tagsoup ==0.14.7
+  - tagsoup ==0.14.8
   - tagstream-conduit ==0.5.5.3
   - tao ==1.0.0
   - tao-example ==1.0.0
@@ -2182,7 +2182,7 @@ default-package-overrides:
   - valor ==0.1.0.0
   - vault ==0.3.1.2
   - vec ==0.1.1
-  - vector ==0.12.0.2
+  - vector ==0.12.0.3
   - vector-algorithms ==0.8.0.1
   - vector-binary-instances ==0.2.5.1
   - vector-buffer ==0.4.1
@@ -2209,7 +2209,7 @@ default-package-overrides:
   - wai-conduit ==3.0.0.4
   - wai-cors ==0.2.6
   - wai-eventsource ==3.0.0
-  - wai-extra ==3.0.25
+  - wai-extra ==3.0.26
   - wai-handler-launch ==3.0.2.4
   - wai-logger ==2.3.4
   - wai-middleware-auth ==0.1.2.1
@@ -2263,7 +2263,7 @@ default-package-overrides:
   - wrap ==0.0.0
   - wreq ==0.5.3.1
   - ws ==0.0.5
-  - wuss ==1.1.12
+  - wuss ==1.1.13
   - X11 ==1.9
   - X11-xft ==0.3.1
   - x11-xim ==0.0.9.0
@@ -2328,7 +2328,7 @@ default-package-overrides:
   - yesod-recaptcha2 ==0.3.0
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.0.1
-  - yesod-test ==1.6.6
+  - yesod-test ==1.6.6.1
   - yesod-text-markdown ==0.1.10
   - yesod-websockets ==0.3.0.1
   - yes-precure5-command ==5.5.3
@@ -3550,6 +3550,7 @@ broken-packages:
   - cmt
   - cmv
   - cnc-spec-compiler
+  - co-log-polysemy
   - co-log-sys
   - Coadjute
   - coalpit
@@ -3560,6 +3561,7 @@ broken-packages:
   - codecov-haskell
   - codemonitor
   - codepad
+  - codeworld-api
   - codex
   - coin
   - coinbase-exchange
@@ -3653,6 +3655,7 @@ broken-packages:
   - conduit-tokenize-attoparsec
   - conduit-zstd
   - conf
+  - confcrypt
   - conffmt
   - confide
   - config-parser
@@ -3747,6 +3750,7 @@ broken-packages:
   - cparsing
   - CPBrainfuck
   - cpio-conduit
+  - cpkg
   - cplusplus-th
   - cprng-aes-effect
   - cpuperf
@@ -3953,6 +3957,7 @@ broken-packages:
   - dead-simple-json
   - Deadpan-DDP
   - debian
+  - debug
   - debug-me
   - debug-trace-var
   - decepticons
@@ -5080,6 +5085,7 @@ broken-packages:
   - hakismet
   - hakka
   - hako
+  - hakyll
   - hakyll-agda
   - hakyll-blaze-templates
   - hakyll-contrib
@@ -5088,10 +5094,18 @@ broken-packages:
   - hakyll-contrib-hyphenation
   - hakyll-contrib-links
   - hakyll-convert
+  - hakyll-dhall
+  - hakyll-dir-list
+  - hakyll-favicon
   - hakyll-filestore
+  - hakyll-images
   - hakyll-ogmarkup
   - hakyll-R
+  - hakyll-sass
+  - hakyll-series
+  - hakyll-shakespeare
   - hakyll-shortcode
+  - hakyll-shortcut-links
   - halberd
   - halfs
   - halipeto
@@ -5623,6 +5637,7 @@ broken-packages:
   - hocker
   - hodatime
   - HODE
+  - Hoed
   - hog
   - hogg
   - hoggl
@@ -5814,6 +5829,7 @@ broken-packages:
   - hslinks
   - hslogger-reader
   - hslogstash
+  - hslua-module-system
   - hsluv-haskell
   - hsmagick
   - HSmarty
@@ -6330,6 +6346,7 @@ broken-packages:
   - katip-syslog
   - katt
   - kawaii
+  - kazura-queue
   - kd-tree
   - kdesrc-build-extra
   - kdt
@@ -6381,6 +6398,7 @@ broken-packages:
   - ktx
   - kure
   - kure-your-boilerplate
+  - kurita
   - KyotoCabinet
   - l-bfgs-b
   - L-seed
@@ -6436,6 +6454,7 @@ broken-packages:
   - language-c-comments
   - language-c-inline
   - language-conf
+  - language-csharp
   - language-css
   - language-dart
   - language-dockerfile
@@ -7218,6 +7237,7 @@ broken-packages:
   - neural-network-hmatrix
   - newhope
   - newports
+  - newsletter
   - newsletter-mailgun
   - newt
   - newtype-deriving
@@ -7463,6 +7483,7 @@ broken-packages:
   - parsec-pratt
   - parseerror-eq
   - parsely
+  - parser-combinators-tests
   - parser-helper
   - parser241
   - parsergen
@@ -7535,6 +7556,7 @@ broken-packages:
   - persistent-audit
   - persistent-cereal
   - persistent-database-url
+  - persistent-documentation
   - persistent-equivalence
   - persistent-hssqlppp
   - persistent-map
@@ -8195,6 +8217,7 @@ broken-packages:
   - RNAlien
   - RNAwolf
   - rncryptor
+  - rob
   - robin
   - robots-txt
   - roc-cluster
@@ -8445,6 +8468,7 @@ broken-packages:
   - servant-streaming-docs
   - servant-streaming-server
   - servant-waargonaut
+  - servant-xml
   - servant-zeppelin
   - servant-zeppelin-client
   - servant-zeppelin-server
@@ -8814,6 +8838,7 @@ broken-packages:
   - stackage-cli
   - stackage-curator
   - stackage-metadata
+  - stackage-query
   - stackage-sandbox
   - stackage-setup
   - stackage-to-hackage
@@ -9732,6 +9757,7 @@ broken-packages:
   - wiring
   - withdependencies
   - wkt
+  - wkt-geom
   - wl-pprint-ansiterm
   - wl-pprint-terminfo
   - WL500gPControl
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 1be90f902e6..f4dd805568e 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -128,6 +128,26 @@ self: super: builtins.intersectAttrs super {
   # the system-fileio tests use canonicalizePath, which fails in the sandbox
   system-fileio = if pkgs.stdenv.isDarwin then dontCheck super.system-fileio else super.system-fileio;
 
+  # Prevents needing to add `security_tool` as a run-time dependency for
+  # everything using x509-system to give access to the `security` executable.
+  x509-system =
+    if pkgs.stdenv.hostPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc
+    then
+      # darwin.security_tool is broken in Mojave (#45042)
+
+      # We will use the system provided security for now.
+      # Beware this WILL break in sandboxes!
+
+      # TODO(matthewbauer): If someone really needs this to work in sandboxes,
+      # I think we can add a propagatedImpureHost dep here, but I’m hoping to
+      # get a proper fix available soonish.
+      overrideCabal super.x509-system (drv: {
+        postPatch = (drv.postPatch or "") + ''
+          substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security
+        '';
+      })
+    else super.x509-system;
+
   # https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216
   gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"];
   glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"];
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index bfa33790343..ddcfa0ff447 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -9354,8 +9354,8 @@ self: {
      }:
      mkDerivation {
        pname = "HaTeX";
-       version = "3.20.0.0";
-       sha256 = "0rfrmv14kcgsanpsa6wzl445jmirwbd4l3if1kl1j81mqil5z58l";
+       version = "3.20.0.1";
+       sha256 = "02v4fqrrx5fw3ggrgvanfhaawnci8c7zw9q282bmy19p5sqpj88n";
        libraryHaskellDepends = [
          base bytestring containers hashable matrix parsec QuickCheck text
          transformers wl-pprint-extras
@@ -10169,6 +10169,8 @@ self: {
        testHaskellDepends = [ base process QuickCheck ];
        description = "Lightweight algorithmic debugging";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "HoleyMonoid" = callPackage
@@ -12206,29 +12208,6 @@ self: {
      }:
      mkDerivation {
        pname = "ListLike";
-       version = "4.6";
-       sha256 = "16jsj979mzjrgmpa20pls9ganym3wsps49paks1sb1gmlmwyrkf1";
-       revision = "2";
-       editedCabalFile = "1mca2r4gjznqdh4kck5cjkn53isgkhvkf3ri09qsn7nsssvgki0g";
-       libraryHaskellDepends = [
-         array base bytestring containers deepseq dlist fmlist text
-         utf8-string vector
-       ];
-       testHaskellDepends = [
-         array base bytestring containers dlist fmlist HUnit QuickCheck
-         random text utf8-string vector
-       ];
-       description = "Generic support for list-like structures";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "ListLike_4_6_2" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, deepseq
-     , dlist, fmlist, HUnit, QuickCheck, random, text, utf8-string
-     , vector
-     }:
-     mkDerivation {
-       pname = "ListLike";
        version = "4.6.2";
        sha256 = "0m65x8yaq7q50gznln8mga2wrc8cvjx6gw9rim8s7xqcrx6y5zjh";
        libraryHaskellDepends = [
@@ -12241,7 +12220,6 @@ self: {
        ];
        description = "Generalized support for list-like structures";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ListT" = callPackage
@@ -23098,35 +23076,6 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-diff";
-       version = "1.1.0.5";
-       sha256 = "1kzvqzbl6pp5g49dp4qqc7cbisnkpqz0i18b6nmdb7f1nrhdvnb1";
-       revision = "1";
-       editedCabalFile = "0a29nph4a1ny365nhsxlm73mk6zgaam4sfx6knzqjy8dxp1gkj48";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring edit-distance-vector hashable mtl scientific
-         text unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring optparse-applicative text
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory doctest filepath Glob QuickCheck
-         quickcheck-instances text unordered-containers vector
-       ];
-       description = "Extract and apply patches to JSON documents";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "aeson-diff_1_1_0_7" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, doctest
-     , edit-distance-vector, filepath, Glob, hashable, mtl
-     , optparse-applicative, QuickCheck, quickcheck-instances
-     , scientific, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "aeson-diff";
        version = "1.1.0.7";
        sha256 = "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r";
        isLibrary = true;
@@ -23144,7 +23093,6 @@ self: {
        ];
        description = "Extract and apply patches to JSON documents";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-diff-generic" = callPackage
@@ -23269,19 +23217,22 @@ self: {
      }) {};
 
   "aeson-gadt-th" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, dependent-sum, hspec, HUnit
-     , markdown-unlit, template-haskell, transformers
+    ({ mkDerivation, aeson, aeson-qq, base, containers, dependent-map
+     , dependent-sum, hspec, HUnit, markdown-unlit, template-haskell
+     , transformers
      }:
      mkDerivation {
        pname = "aeson-gadt-th";
-       version = "0.2.0.0";
-       sha256 = "111bx44s451qmnk70bvmf4f1z3wmi2pnwxqmmarvaz8zl4sw91c5";
+       version = "0.2.1.0";
+       sha256 = "09529lpjmm7hpqwrs3w8z1d6zzy4dw5wyqyx88ra68wf2a5nlwsh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base dependent-sum template-haskell transformers
+         aeson base containers dependent-sum template-haskell transformers
+       ];
+       executableHaskellDepends = [
+         aeson base dependent-map dependent-sum
        ];
-       executableHaskellDepends = [ aeson base dependent-sum ];
        executableToolDepends = [ markdown-unlit ];
        testHaskellDepends = [
          aeson aeson-qq base dependent-sum hspec HUnit
@@ -23670,32 +23621,6 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-typescript";
-       version = "0.1.1.0";
-       sha256 = "0sx4gavp0pvnxlxwix1di34vm2bfi5d02mzgzs402grqhh1v38vp";
-       revision = "1";
-       editedCabalFile = "1y5baadwfpyszd78dfbcln93ypg7ai6qvbdz7r95ili8p0vwikbk";
-       libraryHaskellDepends = [
-         aeson base containers interpolate mtl template-haskell text
-         th-abstraction unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers directory filepath hspec
-         interpolate mtl process template-haskell temporary text
-         th-abstraction unordered-containers
-       ];
-       description = "Generate TypeScript definition files from your ADTs";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "aeson-typescript_0_1_2_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , filepath, hspec, interpolate, mtl, process, template-haskell
-     , temporary, text, th-abstraction, unordered-containers
-     }:
-     mkDerivation {
-       pname = "aeson-typescript";
        version = "0.1.2.0";
        sha256 = "16bbl91fxd7xmr4qam2dbzksh9sci7c4rhxyyxbiwq387x028hrc";
        libraryHaskellDepends = [
@@ -24687,6 +24612,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "algebraic-graphs_0_4" = callPackage
+    ({ mkDerivation, array, base, base-compat, base-orphans, containers
+     , deepseq, extra, inspection-testing, mtl, QuickCheck
+     }:
+     mkDerivation {
+       pname = "algebraic-graphs";
+       version = "0.4";
+       sha256 = "1dyk8qgaahrvcp4gsl9c6s3hwmwys4xvznwnh0y1x8bqc4md61f9";
+       libraryHaskellDepends = [
+         array base base-compat containers deepseq mtl
+       ];
+       testHaskellDepends = [
+         array base base-compat base-orphans containers extra
+         inspection-testing QuickCheck
+       ];
+       description = "A library for algebraic graph construction and transformation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "algebraic-prelude" = callPackage
     ({ mkDerivation, algebra, base, basic-prelude, lens, semigroups }:
      mkDerivation {
@@ -28433,8 +28378,8 @@ self: {
        pname = "ansi-wl-pprint";
        version = "0.6.8.2";
        sha256 = "0gnb4mkqryv08vncxnj0bzwcnd749613yw3cxfzw6y3nsldp4c56";
-       revision = "1";
-       editedCabalFile = "00b704rygy4ap540jj3ry7cgiqwwi5zx9nhj7c3905m6n6v3in88";
+       revision = "2";
+       editedCabalFile = "0xq83bwya8mfijp3dn9zfsqbbkl1wpzfjcmnkw8a06icjh9vg458";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ ansi-terminal base ];
@@ -32118,8 +32063,8 @@ self: {
      }:
      mkDerivation {
        pname = "atlassian-connect-core";
-       version = "0.8.0.0";
-       sha256 = "1gja0q9bxr86wd4cwi6w4iv5bimb37jk7gy5bzc727fp2k75ja42";
+       version = "0.8.0.1";
+       sha256 = "1h2702rkygjjjni9qfxhmnk49g2182s0js5dx8j0hvdpkg9w4q0l";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson atlassian-connect-descriptor base base64-bytestring
@@ -32321,25 +32266,11 @@ self: {
     ({ mkDerivation, base, ghc-prim, primitive }:
      mkDerivation {
        pname = "atomic-primops";
-       version = "0.8.2";
-       sha256 = "0cyr2x6xqz6s233znrz9rnrfj56m9bmnawwnka0lsqqy1hp8gy37";
-       revision = "1";
-       editedCabalFile = "0gdcd84x2s4jiry0was74rzv9l53an1q6ad8jiaj37fr4fim0wcc";
-       libraryHaskellDepends = [ base ghc-prim primitive ];
-       description = "A safe approach to CAS and other atomic ops in Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "atomic-primops_0_8_3" = callPackage
-    ({ mkDerivation, base, ghc-prim, primitive }:
-     mkDerivation {
-       pname = "atomic-primops";
        version = "0.8.3";
        sha256 = "03n5dmyplrqgbyf8dr91izkxci7gkl3i3fnp82i5ld869zrgjfh0";
        libraryHaskellDepends = [ base ghc-prim primitive ];
        description = "A safe approach to CAS and other atomic ops in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "atomic-primops-foreign" = callPackage
@@ -32633,8 +32564,8 @@ self: {
        pname = "attoparsec";
        version = "0.13.2.2";
        sha256 = "0j6qcwd146yzlkc9mcvzvnixsyl65n2a68l28322q5v9p4g4g4yx";
-       revision = "2";
-       editedCabalFile = "1j06na26rsahrbkzrs71nl7ym8fk390pnvh577wlxs4ik6hsn2va";
+       revision = "3";
+       editedCabalFile = "1birva836xdp92lf1v5yrs8lj3bgj9vnarrfh2ssfxxacqj1gjji";
        libraryHaskellDepends = [
          array base bytestring containers deepseq scientific text
          transformers
@@ -33056,8 +32987,8 @@ self: {
      }:
      mkDerivation {
        pname = "aur";
-       version = "6.1.0";
-       sha256 = "1wgff9vbp8sxqa0hyd6ifkld6yly20qijm15dfk72wpcsia86jx6";
+       version = "6.1.0.1";
+       sha256 = "02qr5jmp2i1dn1wx9nsflrp81gnx32yvsvmbzxany5ab78g52gsz";
        libraryHaskellDepends = [
          aeson base errors http-client servant servant-client text
        ];
@@ -33470,8 +33401,8 @@ self: {
        pname = "avers";
        version = "0.0.17.1";
        sha256 = "1x96fvx0z7z75c39qcggw70qvqnw7kzjf0qqxb3jwg3b0fmdhi8v";
-       revision = "30";
-       editedCabalFile = "0z7awvdz7447gjgg98z8682d7q1gqn85qcm0dsdgrhv67rkfnadz";
+       revision = "31";
+       editedCabalFile = "03nzgni96r6yfmn196iya6akrzh46njqzd2873aj341ynfaqjyy1";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock containers cryptonite
          filepath inflections memory MonadRandom mtl network network-uri
@@ -35240,6 +35171,8 @@ self: {
        pname = "base-compat-batteries";
        version = "0.10.5";
        sha256 = "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p";
+       revision = "1";
+       editedCabalFile = "15sn2qc8k0hxbb2nai341kkrci98hlhzcj2ci087m0zxcg5jcdbp";
        libraryHaskellDepends = [ base base-compat ];
        testHaskellDepends = [ base hspec QuickCheck ];
        testToolDepends = [ hspec-discover ];
@@ -35715,10 +35648,8 @@ self: {
     ({ mkDerivation, base, deepseq, generics-sop, QuickCheck, text }:
      mkDerivation {
        pname = "basic-sop";
-       version = "0.2.0.2";
-       sha256 = "0cd5zlv3w3r99ck5cz43kppand0n9vx26g4d4fqqcmvjxk8zwhy7";
-       revision = "1";
-       editedCabalFile = "0rvhcbywgpidnq1vg79a9scq6hraqdyv67j63vyidm0q20ml5mpv";
+       version = "0.2.0.3";
+       sha256 = "1aa3iwfbhqczmnnribz79nns5ppc397pwv4hx277jbfdxx0m8ks8";
        libraryHaskellDepends = [
          base deepseq generics-sop QuickCheck text
        ];
@@ -37640,6 +37571,38 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "binary-tagged_0_1_5_2" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
+     , binary, binary-orphans, bytestring, containers, criterion
+     , deepseq, generics-sop, hashable, nats, quickcheck-instances
+     , scientific, semigroups, SHA, tagged, tasty, tasty-quickcheck
+     , text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "binary-tagged";
+       version = "0.1.5.2";
+       sha256 = "04yy7af7iv6i4wbv69j9vldk8c2xaxd9vz3cg0j1dn7h4dmwwbsz";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring binary bytestring containers
+         generics-sop hashable scientific SHA tagged text time
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson array base base16-bytestring bifunctors binary binary-orphans
+         bytestring containers generics-sop hashable quickcheck-instances
+         scientific SHA tagged tasty tasty-quickcheck text time
+         unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         aeson array base base16-bytestring binary binary-orphans bytestring
+         containers criterion deepseq generics-sop hashable nats scientific
+         semigroups SHA tagged text time unordered-containers vector
+       ];
+       description = "Tagged binary serialisation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "binary-tree" = callPackage
     ({ mkDerivation, base, ChasingBottoms, checkers, criterion, deepseq
      , doctest, ghc-prim, HUnit, QuickCheck, random, test-framework
@@ -38868,8 +38831,8 @@ self: {
      }:
      mkDerivation {
        pname = "birch-beer";
-       version = "0.1.1.1";
-       sha256 = "0gr7hqjdv9c5adghzf6jakwkhhpmza9a28bdcgrll02lsz8yb44g";
+       version = "0.1.2.0";
+       sha256 = "0xqx7y0nv80wywp6ybcb23z77plizfvv6rk04gkykcpfjna6ijai";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -39345,23 +39308,6 @@ self: {
      }:
      mkDerivation {
        pname = "bits";
-       version = "0.5.1";
-       sha256 = "14ww8zcyis6kfli28bb9i5dmmj7k1j1dlzpwnfrkzd8kp5xmazk5";
-       revision = "5";
-       editedCabalFile = "012qycmsfz5l6y82d3zgjmp1k3pgvhlpjdk6rwlpc1wlfbpdqiaw";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [ base bytes mtl transformers ];
-       testHaskellDepends = [ base doctest ];
-       description = "Various bit twiddling and bitwise serialization primitives";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "bits_0_5_2" = callPackage
-    ({ mkDerivation, base, bytes, Cabal, cabal-doctest, doctest, mtl
-     , transformers
-     }:
-     mkDerivation {
-       pname = "bits";
        version = "0.5.2";
        sha256 = "1q5grjma421qiwjkwvnsakd4hxnf02bavfinky2skfhqvg63hkav";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -39369,7 +39315,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Various bit twiddling and bitwise serialization primitives";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bits-atomic" = callPackage
@@ -41469,8 +41414,8 @@ self: {
        pname = "bound";
        version = "2.0.1";
        sha256 = "0xmvkwambzmji1czxipl9cms5l3v98765b9spmb3wn5n6dpj0ji9";
-       revision = "6";
-       editedCabalFile = "18fqzxy3f8r09jwcsfzjlrpvnlz711jq5gcjp4dal1pvsbbw6i09";
+       revision = "7";
+       editedCabalFile = "0amr5rpq8andqq3z2dsh8hn67g3x7ykcmqq899vbkxwnpvg60h5r";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bifunctors binary bytes cereal comonad deepseq hashable mmorph
@@ -43705,6 +43650,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "bytestring-strict-builder_0_4_5_2" = callPackage
+    ({ mkDerivation, base, base-prelude, bytestring, criterion
+     , QuickCheck, quickcheck-instances, rerebase, semigroups, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "bytestring-strict-builder";
+       version = "0.4.5.2";
+       sha256 = "14l5q4wgx3fpysindlapf2binhy6svsc904c8x052v095p6gn9c2";
+       libraryHaskellDepends = [
+         base base-prelude bytestring semigroups
+       ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "An efficient strict bytestring builder";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bytestring-substring" = callPackage
     ({ mkDerivation, base, bytestring, pipes, primitive }:
      mkDerivation {
@@ -43771,6 +43738,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "bytestring-tree-builder_0_2_7_3" = callPackage
+    ({ mkDerivation, base, base-prelude, bytestring, criterion, deepseq
+     , QuickCheck, quickcheck-instances, semigroups, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "bytestring-tree-builder";
+       version = "0.2.7.3";
+       sha256 = "0v78jwzmpipw4iyr0i9klxhcfxf98vljxz3had1xklslhzsabk16";
+       libraryHaskellDepends = [
+         base base-prelude bytestring semigroups text
+       ];
+       testHaskellDepends = [
+         base-prelude bytestring QuickCheck quickcheck-instances tasty
+         tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base-prelude bytestring criterion deepseq
+       ];
+       description = "A very efficient ByteString builder implementation based on the binary tree";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bytestring-trie" = callPackage
     ({ mkDerivation, base, binary, bytestring }:
      mkDerivation {
@@ -44219,8 +44210,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-cache";
-       version = "1.0.0.3";
-       sha256 = "0gp81yd418chcy06dhp24vh54ji509k3jriks4xyc9dp4vblsnss";
+       version = "1.0.0.9";
+       sha256 = "1h7wp30gmggsrjgspsahn6b045njy6c23mhgkmhz6nn5s4wa1hak";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44234,8 +44225,8 @@ self: {
        executableHaskellDepends = [ base optparse-applicative ];
        testHaskellDepends = [
          aeson antiope-core antiope-s3 base bytestring containers filepath
-         generic-lens hedgehog hspec hw-hedgehog hw-hspec-hedgehog lens
-         raw-strings-qq text
+         generic-lens hedgehog hspec http-types hw-hedgehog
+         hw-hspec-hedgehog lens raw-strings-qq text
        ];
        testToolDepends = [ hspec-discover ];
        description = "CI Assistant for Haskell projects";
@@ -44538,8 +44529,8 @@ self: {
        pname = "cabal-install";
        version = "2.4.1.0";
        sha256 = "1b91rcs00wr5mf55c6xl8hrxmymlq72w71qm5r0q4j869asv5g39";
-       revision = "2";
-       editedCabalFile = "18llmvfaf8gcz2dvhhs3j0a6kzzisajh1bms7wwnrl0hi4xyx012";
+       revision = "3";
+       editedCabalFile = "1mnm6mfrgavq3blvkm3wz45pqrj10apjihg1g9cds58qp19m9r1h";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath process ];
@@ -44808,15 +44799,15 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
-  "cabal-rpm_0_13_2" = callPackage
+  "cabal-rpm_0_13_3" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, directory, filepath
      , http-client, http-client-tls, http-conduit, process, simple-cmd
      , time, unix
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "0.13.2";
-       sha256 = "1q4nqmxd0cn023nm8dnlh40wqk3n7cd5v873bawhv6gmysgyxhn7";
+       version = "0.13.3";
+       sha256 = "04d5m74i0r6livhkhmccrwhshpa2aizyb77i2qcqhxradw0lkvl4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -45101,8 +45092,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2nix";
-       version = "2.14.2";
-       sha256 = "0fa0rhglp3xlv8zr9pnx2l14bz7jvdvdxwiy63rpvf44jzjdknkr";
+       version = "2.14.3";
+       sha256 = "09qwv83fv2gq9j21hpr22bxpqwi5xlv0dr09xgwvk1r4dzjl8gbr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45310,22 +45301,6 @@ self: {
      }:
      mkDerivation {
        pname = "cache";
-       version = "0.1.1.1";
-       sha256 = "04azn2g1rndfpf6zl3sachzz471hhxykxh4clrz0vl5da8frja8h";
-       libraryHaskellDepends = [
-         base clock hashable stm transformers unordered-containers
-       ];
-       testHaskellDepends = [ base clock hspec stm transformers ];
-       description = "An in-memory key/value store with expiration support";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cache_0_1_1_2" = callPackage
-    ({ mkDerivation, base, clock, hashable, hspec, stm, transformers
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "cache";
        version = "0.1.1.2";
        sha256 = "0b0jggcbnrs0pppn60kaggxkwmg0ri7b1i4j5613abgw8bj258s8";
        libraryHaskellDepends = [
@@ -45334,7 +45309,6 @@ self: {
        testHaskellDepends = [ base clock hspec stm transformers ];
        description = "An in-memory key/value store with expiration support";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cached" = callPackage
@@ -48875,29 +48849,36 @@ self: {
      }) {};
 
   "chessIO" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, directory, haskeline
-     , megaparsec, mtl, parallel, parser-combinators, process, split
-     , stm, time, unordered-containers, vector
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , directory, extra, file-embed, haskeline, megaparsec, MonadRandom
+     , mtl, o-clock, optparse-applicative, parallel, parser-combinators
+     , prettyprinter, process, random, stm, text, time
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "chessIO";
-       version = "0.2.0.0";
-       sha256 = "01vgr2h1m5ww9j0239lv4k75sshhaa42kzi0bg8134j64i5k8ghd";
+       version = "0.3.0.0";
+       sha256 = "18ni11hlcd4mkd6s0a22afiads83vhspxabchspnjyn9vm75spfg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         attoparsec base bytestring megaparsec parser-combinators process
-         stm unordered-containers vector
+         attoparsec base bytestring containers file-embed megaparsec
+         MonadRandom o-clock parser-combinators prettyprinter process random
+         stm text unordered-containers vector
        ];
        executableHaskellDepends = [
-         attoparsec base bytestring haskeline megaparsec mtl
-         parser-combinators process split stm unordered-containers vector
+         attoparsec base bytestring containers extra file-embed haskeline
+         megaparsec MonadRandom mtl o-clock optparse-applicative
+         parser-combinators prettyprinter process random stm text time
+         unordered-containers vector
        ];
        testHaskellDepends = [
-         attoparsec base bytestring directory megaparsec parallel
-         parser-combinators process stm time unordered-containers vector
+         attoparsec base bytestring containers directory file-embed
+         megaparsec MonadRandom o-clock parallel parser-combinators
+         prettyprinter process random stm text time unordered-containers
+         vector
        ];
-       description = "Basic chess move generation and UCI client library";
+       description = "Basic chess library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -49343,6 +49324,8 @@ self: {
        pname = "chronos";
        version = "1.0.5";
        sha256 = "0274b5qv1wf52vsdjm1siksh07qgdgid0a9316b7nab2gc7jgpdz";
+       revision = "2";
+       editedCabalFile = "02szph6d6x1s866p0qzq0by68r4vpxcwmk1l3pfmpqrxl9c038yz";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock hashable primitive
          semigroups text torsor vector
@@ -52208,6 +52191,8 @@ self: {
        executableHaskellDepends = [ base co-log-core polysemy ];
        description = "Composable Contravariant Comonadic Logging Library";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "co-log-sys" = callPackage
@@ -52450,6 +52435,8 @@ self: {
        ];
        description = "Graphics library for CodeWorld";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "codex" = callPackage
@@ -53028,23 +53015,6 @@ self: {
      }:
      mkDerivation {
        pname = "colour";
-       version = "2.3.4";
-       sha256 = "1sy51nz096sv91nxqk6yk7b92b5a40axv9183xakvki2nc09yhqg";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base QuickCheck random test-framework test-framework-quickcheck2
-       ];
-       description = "A model for human colour/color perception";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "colour_2_3_5" = callPackage
-    ({ mkDerivation, base, QuickCheck, random, test-framework
-     , test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "colour";
        version = "2.3.5";
        sha256 = "1rq4l46jx4lpdppy71wf7m1n7pw2jwy788rm35ycwzb1g4clg39v";
        enableSeparateDataOutput = true;
@@ -53054,7 +53024,6 @@ self: {
        ];
        description = "A model for human colour/color perception";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "colour-accelerate" = callPackage
@@ -53563,25 +53532,6 @@ self: {
 
   "comonad" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, containers
-     , contravariant, distributive, doctest, semigroups, tagged
-     , transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "comonad";
-       version = "5.0.4";
-       sha256 = "09g870c4flp4k3fgbibsd0mmfjani1qcpbcl685v8x89kxzrva3q";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base containers contravariant distributive semigroups tagged
-         transformers transformers-compat
-       ];
-       testHaskellDepends = [ base doctest ];
-       description = "Comonads";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "comonad_5_0_5" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, containers
      , distributive, doctest, tagged, transformers, transformers-compat
      }:
      mkDerivation {
@@ -53596,7 +53546,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Comonads";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "comonad-extras" = callPackage
@@ -55645,6 +55594,8 @@ self: {
          text transformers
        ];
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "confcrypt_0_2_3_0" = callPackage
@@ -55681,6 +55632,7 @@ self: {
        ];
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "confetti" = callPackage
@@ -55933,6 +55885,42 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "configuration-tools_0_4_1" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
+     , base-unicode-symbols, base64-bytestring, bytestring, Cabal
+     , case-insensitive, connection, data-default, deepseq, directory
+     , dlist, enclosed-exceptions, filepath, http-client
+     , http-client-tls, http-types, monad-control, mtl, network-uri
+     , optparse-applicative, process, profunctors, semigroupoids
+     , semigroups, text, tls, transformers, unordered-containers, wai
+     , warp, warp-tls, x509, x509-system, x509-validation, yaml
+     }:
+     mkDerivation {
+       pname = "configuration-tools";
+       version = "0.4.1";
+       sha256 = "1c6yk6516v4ld8rmhwg4s4f3s6k40gx3dsqfrl2y9lcx3477nlj8";
+       setupHaskellDepends = [
+         base bytestring Cabal directory filepath process
+       ];
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint attoparsec base base-unicode-symbols
+         base64-bytestring bytestring Cabal case-insensitive connection
+         data-default deepseq directory dlist enclosed-exceptions filepath
+         http-client http-client-tls http-types monad-control mtl
+         network-uri optparse-applicative process profunctors semigroupoids
+         semigroups text tls transformers unordered-containers x509
+         x509-system x509-validation yaml
+       ];
+       testHaskellDepends = [
+         base base-unicode-symbols bytestring Cabal enclosed-exceptions
+         http-types monad-control mtl text transformers unordered-containers
+         wai warp warp-tls yaml
+       ];
+       description = "Tools for specifying and parsing configurations";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "configurator" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, directory, filepath
      , hashable, HUnit, test-framework, test-framework-hunit, text
@@ -56396,6 +56384,27 @@ self: {
        pname = "constraints";
        version = "0.10.1";
        sha256 = "1xy3vv78jxc17hm0z7qqspxjwv7l2jbcbj670yrl2f053qkfr02q";
+       revision = "1";
+       editedCabalFile = "1i2rd805mjz5q7s98ryy1m91zd4b9hx92gw1rwr6kpibqqw9smcb";
+       libraryHaskellDepends = [
+         base binary deepseq ghc-prim hashable mtl semigroups transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [ base hspec ];
+       testToolDepends = [ hspec-discover ];
+       description = "Constraint manipulation";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
+  "constraints_0_11" = callPackage
+    ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec
+     , hspec-discover, mtl, semigroups, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "constraints";
+       version = "0.11";
+       sha256 = "1ik97w6ci9kw5ppw9nmh65j6ldqq2az8c37jlg3h5x3prn2cds1d";
        libraryHaskellDepends = [
          base binary deepseq ghc-prim hashable mtl semigroups transformers
          transformers-compat
@@ -56404,6 +56413,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Constraint manipulation";
        license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "constraints-deriving" = callPackage
@@ -56451,8 +56461,8 @@ self: {
      }:
      mkDerivation {
        pname = "constraints-extras";
-       version = "0.2.3.4";
-       sha256 = "1xkivpkjgnnrs5fyg0g77f84zh3sxqgxif0l2rhcq1wdad709q55";
+       version = "0.2.3.5";
+       sha256 = "1p45847w48waqvwmsvk44bvg39p2ifzdrwhk5h3n7l1avsmks37w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base constraints template-haskell ];
@@ -56867,23 +56877,11 @@ self: {
     ({ mkDerivation, base, StateVar, transformers }:
      mkDerivation {
        pname = "contravariant";
-       version = "1.5";
-       sha256 = "1hn31wl0jai2jrwc6cz19aflbv9xbyl3m5ab57zzysddjav6gw3f";
-       libraryHaskellDepends = [ base StateVar transformers ];
-       description = "Contravariant functors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "contravariant_1_5_1" = callPackage
-    ({ mkDerivation, base, StateVar, transformers }:
-     mkDerivation {
-       pname = "contravariant";
        version = "1.5.1";
        sha256 = "1jcfbv3mmx2hb49h4djn72bb13j609wvsy9z4wcbj461cvhcr2q8";
        libraryHaskellDepends = [ base StateVar transformers ];
        description = "Contravariant functors";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "contravariant-extras" = callPackage
@@ -57923,8 +57921,8 @@ self: {
        pname = "country";
        version = "0.1.6";
        sha256 = "0a4r2jnp15xy18s6xpd4p10cgq3hd8qqzhy5lakmzymivwq6xcq9";
-       revision = "1";
-       editedCabalFile = "04a2s0zlm4garihnm3xl9avf88vjnbvpsyb2ckk3z7ydjq0y3938";
+       revision = "2";
+       editedCabalFile = "0721d9nc2snr6046ybmdj80xas7627lwd1ym6h1n8lclihw7ll6d";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring deepseq ghc-prim hashable
          primitive scientific text unordered-containers
@@ -58075,10 +58073,8 @@ self: {
      }:
      mkDerivation {
        pname = "cpkg";
-       version = "0.1.3.1";
-       sha256 = "1myivznx5p2c8zw5frvp9drj7gidanq39r7lh11xyxg4rsw1y89n";
-       revision = "1";
-       editedCabalFile = "1ww05lik01k44xfrmjjs542qd66afisx6gglwqsylil86hjbs6gp";
+       version = "0.2.0.0";
+       sha256 = "1ip6wm76v39zj5r07y74d9ddrzxiyrl3fnlm3z464brgydsd8iby";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -58094,6 +58090,8 @@ self: {
        testHaskellDepends = [ base hspec hspec-megaparsec megaparsec ];
        description = "Build tool for C";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cplex-hs" = callPackage
@@ -59023,41 +59021,6 @@ self: {
      }:
      mkDerivation {
        pname = "criterion";
-       version = "1.5.4.0";
-       sha256 = "1yh4dk4hi6d3jz2jmn8jc9i6jqb02w63g2rq3aagi16qfyanlqbg";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson ansi-wl-pprint base base-compat-batteries binary bytestring
-         cassava code-page containers criterion-measurement deepseq
-         directory exceptions filepath Glob js-flot js-jquery microstache
-         mtl mwc-random optparse-applicative parsec statistics text time
-         transformers transformers-compat vector vector-algorithms
-       ];
-       executableHaskellDepends = [
-         base base-compat-batteries optparse-applicative
-       ];
-       testHaskellDepends = [
-         aeson base base-compat base-compat-batteries bytestring deepseq
-         directory HUnit QuickCheck statistics tasty tasty-hunit
-         tasty-quickcheck vector
-       ];
-       description = "Robust, reliable performance measurement and analysis";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "criterion_1_5_5_0" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, base, base-compat
-     , base-compat-batteries, binary, bytestring, cassava, code-page
-     , containers, criterion-measurement, deepseq, directory, exceptions
-     , filepath, Glob, HUnit, js-flot, js-jquery, microstache, mtl
-     , mwc-random, optparse-applicative, parsec, QuickCheck, statistics
-     , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers
-     , transformers-compat, vector, vector-algorithms
-     }:
-     mkDerivation {
-       pname = "criterion";
        version = "1.5.5.0";
        sha256 = "1a5i9ghy4hr3355ml4b0rc3b94fa2ijfflh398ncn9sw1ivmx8pa";
        isLibrary = true;
@@ -59080,7 +59043,6 @@ self: {
        ];
        description = "Robust, reliable performance measurement and analysis";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "criterion-measurement" = callPackage
@@ -59913,8 +59875,8 @@ self: {
        pname = "cryptoids-types";
        version = "1.0.0";
        sha256 = "0dhv92hdydhhgwgdihl3wpiyxl10szrgfnb68ygn07xxhmmfc3hf";
-       revision = "1";
-       editedCabalFile = "0fy6fxzaimgi0nrplzdgi0s26cjz2nrv7y5gdnk0z6k3jd1x5qgb";
+       revision = "2";
+       editedCabalFile = "0nszxjdf9zd7dh4ar2vbnjs8a5awbqh2m3p0pvsypgiflcrlp9wn";
        libraryHaskellDepends = [
          aeson base binary deepseq hashable http-api-data path-pieces
        ];
@@ -60653,26 +60615,6 @@ self: {
      }:
      mkDerivation {
        pname = "cuda";
-       version = "0.10.0.0";
-       sha256 = "17l482fnackx4081mxax0dx0bsaqbbg4rxy4zmi5iv5q6f6v37x7";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal directory filepath ];
-       libraryHaskellDepends = [
-         base bytestring filepath template-haskell uuid-types
-       ];
-       libraryToolDepends = [ c2hs ];
-       executableHaskellDepends = [ base pretty ];
-       description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cuda_0_10_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, Cabal, directory, filepath
-     , pretty, template-haskell, uuid-types
-     }:
-     mkDerivation {
-       pname = "cuda";
        version = "0.10.1.0";
        sha256 = "10lyyc652ic3m4r5agszpv2r99y9fnsdwahb5pd4qiga770v45vp";
        revision = "1";
@@ -60687,7 +60629,6 @@ self: {
        executableHaskellDepends = [ base pretty ];
        description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cudd" = callPackage
@@ -64848,6 +64789,8 @@ self: {
        ];
        description = "Simple trace-based debugger";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "debug-diff" = callPackage
@@ -66181,29 +66124,6 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-compat";
-       version = "0.5.5";
-       sha256 = "1y1xy5w6ar4p6kc7g67fh93ccwnjnj81l6py1lkxlp8x4x5hpbca";
-       libraryHaskellDepends = [
-         base containers ghc-boot-th ghc-prim template-haskell
-         th-abstraction transformers transformers-compat
-       ];
-       testHaskellDepends = [
-         base base-compat base-orphans hspec QuickCheck tagged
-         template-haskell transformers transformers-compat
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Backports of GHC deriving extensions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "deriving-compat_0_5_6" = 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.6";
        sha256 = "1rsjq3s2m69x2h880r087qbiwp3173pwv2yihlb8aw7dmjybydmf";
        libraryHaskellDepends = [
@@ -66217,7 +66137,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Backports of GHC deriving extensions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "derp" = callPackage
@@ -66641,7 +66560,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall_1_22_0" = callPackage
+  "dhall_1_23_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , bytestring, case-insensitive, cborg, cborg-json, containers
      , contravariant, criterion, cryptonite, deepseq, Diff, directory
@@ -66651,12 +66570,13 @@ self: {
      , prettyprinter, prettyprinter-ansi-terminal, QuickCheck
      , quickcheck-instances, repline, scientific, serialise, tasty
      , tasty-hunit, tasty-quickcheck, template-haskell, text
-     , transformers, turtle, unordered-containers, uri-encode, vector
+     , transformers, transformers-compat, turtle, unordered-containers
+     , uri-encode, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.22.0";
-       sha256 = "0f80vxry3vns6kyviradvpn32nkcl51lva5j2naakdg9kgcq4xxz";
+       version = "1.23.0";
+       sha256 = "074xpiag5csg08s9g9lcymi2mhvlwgjpqzmg7bw190mdpb8vk9zd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -66666,8 +66586,8 @@ self: {
          http-types lens-family-core megaparsec memory mtl
          optparse-applicative parsers prettyprinter
          prettyprinter-ansi-terminal repline scientific serialise
-         template-haskell text transformers unordered-containers uri-encode
-         vector
+         template-haskell text transformers transformers-compat
+         unordered-containers uri-encode vector
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -66713,6 +66633,8 @@ self: {
        pname = "dhall-bash";
        version = "1.0.20";
        sha256 = "1nqiyvyj0dw1a6shy9bb1qxzjrnh8544hsa2c6rwg2j36f0lk73d";
+       revision = "1";
+       editedCabalFile = "0rld0k17lprd8ibwbk0aan94lbd5ffsx5a5apjgk4d4cs3jchycp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -66782,6 +66704,8 @@ self: {
        pname = "dhall-json";
        version = "1.2.8";
        sha256 = "0s5iygh9rfmhx3v62dnfr55xz60rjvnicrq9ydspy129mhf0zzgd";
+       revision = "1";
+       editedCabalFile = "04gbbjns1vgafvc10zx4vrk130kww0a6c4lcqcmapa8yi7vz9670";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -66847,23 +66771,10 @@ self: {
     ({ mkDerivation, base, dhall, optparse-applicative, text }:
      mkDerivation {
        pname = "dhall-text";
-       version = "1.0.16";
-       sha256 = "1hjqm03vj89pkpnrl49jgqwzmlw6s4xr54ga7y50wkj5sd2lrwd1";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base dhall optparse-applicative text
-       ];
-       description = "Template text using Dhall";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "dhall-text_1_0_17" = callPackage
-    ({ mkDerivation, base, dhall, optparse-applicative, text }:
-     mkDerivation {
-       pname = "dhall-text";
        version = "1.0.17";
        sha256 = "0bs246857r801qnqvh8cb5wm1rplr7grynl4h989i61qz7vcqf53";
+       revision = "1";
+       editedCabalFile = "1avvybk495zngswlnjiqj8nk7iycwzzhxx3cml4w2yhqlic3xx2g";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -66871,7 +66782,6 @@ self: {
        ];
        description = "Template text using Dhall";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dhall-to-cabal" = callPackage
@@ -69970,6 +69880,8 @@ self: {
        pname = "dlist";
        version = "0.8.0.6";
        sha256 = "0gy70df86pfmqwbmnafdw2w5jnflvn5mca8npxzfg23f3p4ll2vq";
+       revision = "1";
+       editedCabalFile = "0f3r78gjdrhg5zg693dgdfx78ds6vbp5bg1sws1y1vbamraa65sf";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base Cabal QuickCheck ];
        description = "Difference lists";
@@ -69996,8 +69908,8 @@ self: {
        pname = "dlist-nonempty";
        version = "0.1.1";
        sha256 = "0csbspdy43pzvasb5mhs5pz2f49ws78pi253cx7pp84wjx6ads20";
-       revision = "4";
-       editedCabalFile = "10kkj4sf1bn87z6744p9gn6mkciqri2d3l9vmg9ylpi8g7priil2";
+       revision = "5";
+       editedCabalFile = "01x05d62y8f3kippxawra3fdr7jdms3zcgd7c4n8wf39np9wy556";
        libraryHaskellDepends = [
          base base-compat deepseq dlist semigroupoids
        ];
@@ -73684,27 +73596,6 @@ self: {
 
   "either" = callPackage
     ({ mkDerivation, base, bifunctors, mtl, profunctors, QuickCheck
-     , semigroupoids, semigroups, test-framework
-     , test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "either";
-       version = "5.0.1";
-       sha256 = "064hjfld7dkzs78sy30k5qkiva3hx24rax6dvzz5ygr2c0zypdkc";
-       revision = "2";
-       editedCabalFile = "0859h2dc77fq0f14jh11h4i89hrg3iqvzk0yrk78516k6m7n96zc";
-       libraryHaskellDepends = [
-         base bifunctors mtl profunctors semigroupoids semigroups
-       ];
-       testHaskellDepends = [
-         base QuickCheck test-framework test-framework-quickcheck2
-       ];
-       description = "Combinators for working with sums";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "either_5_0_1_1" = callPackage
-    ({ mkDerivation, base, bifunctors, mtl, profunctors, QuickCheck
      , semigroupoids, test-framework, test-framework-quickcheck2
      }:
      mkDerivation {
@@ -73719,7 +73610,6 @@ self: {
        ];
        description = "Combinators for working with sums";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "either-both" = callPackage
@@ -76207,34 +76097,6 @@ self: {
 
   "ersatz" = callPackage
     ({ mkDerivation, array, attoparsec, base, bytestring, Cabal
-     , cabal-doctest, containers, data-default, directory, doctest
-     , filepath, lens, mtl, parsec, process, semigroups, temporary
-     , transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "ersatz";
-       version = "0.4.4";
-       sha256 = "06d0fc5s5yxk1q54fsbnnhmvf25m5g86fqdzb42f0ckc0h3sbp22";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         array attoparsec base bytestring containers data-default lens mtl
-         process semigroups temporary transformers unordered-containers
-       ];
-       executableHaskellDepends = [
-         array base containers lens mtl parsec semigroups
-       ];
-       testHaskellDepends = [ array base directory doctest filepath mtl ];
-       description = "A monad for expressing SAT or QSAT problems using observable sharing";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "ersatz_0_4_5" = callPackage
-    ({ mkDerivation, array, attoparsec, base, bytestring, Cabal
      , cabal-doctest, containers, data-default, directory, doctest, fail
      , filepath, lens, mtl, parsec, process, semigroups, temporary
      , transformers, unordered-containers
@@ -77696,27 +77558,6 @@ self: {
      }:
      mkDerivation {
        pname = "exceptions";
-       version = "0.10.1";
-       sha256 = "17fz74bi6qy3w7li7ifkcvsy3f9zyj69956jvaqvl5diyqnh791v";
-       libraryHaskellDepends = [
-         base mtl stm template-haskell transformers transformers-compat
-       ];
-       testHaskellDepends = [
-         base mtl QuickCheck stm template-haskell test-framework
-         test-framework-hunit test-framework-quickcheck2 transformers
-         transformers-compat
-       ];
-       description = "Extensible optionally-pure exceptions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "exceptions_0_10_2" = callPackage
-    ({ mkDerivation, base, mtl, QuickCheck, stm, template-haskell
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "exceptions";
        version = "0.10.2";
        sha256 = "0ajiq47xd1paingr7kksh69v6d072zsppfr6cy1gzjh3zg5jr34i";
        libraryHaskellDepends = [
@@ -77729,7 +77570,6 @@ self: {
        ];
        description = "Extensible optionally-pure exceptions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "exchangerates" = callPackage
@@ -81218,25 +81058,12 @@ self: {
     ({ mkDerivation, async, base, process, unix }:
      mkDerivation {
        pname = "filelock";
-       version = "0.1.1.2";
-       sha256 = "0g90wgm4bcfr5j44sc5s2jlcd7ggk092lph3jqjgf6f67sqxrw8g";
-       libraryHaskellDepends = [ base unix ];
-       testHaskellDepends = [ async base process ];
-       description = "Portable interface to file locking (flock / LockFileEx)";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-
-  "filelock_0_1_1_3" = callPackage
-    ({ mkDerivation, async, base, process, unix }:
-     mkDerivation {
-       pname = "filelock";
        version = "0.1.1.3";
        sha256 = "04qimhz78jjndk686dblkx06l9jscq2q9gyr014a4pbfj4iljgi5";
        libraryHaskellDepends = [ base unix ];
        testHaskellDepends = [ async base process ];
        description = "Portable interface to file locking (flock / LockFileEx)";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "filemanip" = callPackage
@@ -83570,6 +83397,8 @@ self: {
        pname = "foldl";
        version = "1.4.5";
        sha256 = "19qjmzc7gaxfwgqbgy0kq4vhbxvh3qjnwsxnc7pzwws2if5bv80b";
+       revision = "2";
+       editedCabalFile = "080v2qwck5k9jfix55bv04h9m9ci14kgdrjbrssab2wgraxpyjvz";
        libraryHaskellDepends = [
          base bytestring comonad containers contravariant hashable
          mwc-random primitive profunctors semigroupoids semigroups text
@@ -84087,22 +83916,6 @@ self: {
      }:
      mkDerivation {
        pname = "forma";
-       version = "1.1.1";
-       sha256 = "10q06yjz66h92qm0569l172v0c6mp9m3jfyakyva5v7xdqr8rvxb";
-       libraryHaskellDepends = [
-         aeson base containers mtl text unordered-containers
-       ];
-       testHaskellDepends = [ aeson base containers hspec mtl text ];
-       description = "Parse and validate forms in JSON format";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "forma_1_1_2" = callPackage
-    ({ mkDerivation, aeson, base, containers, hspec, mtl, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "forma";
        version = "1.1.2";
        sha256 = "1ppgqwqm157ygj992r0cbarfii127g7nm63wbnrqvr9k1wmnlxx0";
        libraryHaskellDepends = [
@@ -84111,7 +83924,6 @@ self: {
        testHaskellDepends = [ aeson base containers hspec mtl text ];
        description = "Parse and validate forms in JSON format";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "formal" = callPackage
@@ -84827,23 +84639,6 @@ self: {
      }:
      mkDerivation {
        pname = "free";
-       version = "5.1";
-       sha256 = "117axvibwyz429ixdws6mm3sk5vm0jygdxf45456m8yyh9f4shkh";
-       libraryHaskellDepends = [
-         base comonad containers distributive exceptions mtl profunctors
-         semigroupoids template-haskell transformers transformers-base
-       ];
-       description = "Monads for free";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "free_5_1_1" = callPackage
-    ({ mkDerivation, base, comonad, containers, distributive
-     , exceptions, mtl, profunctors, semigroupoids, template-haskell
-     , transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "free";
        version = "5.1.1";
        sha256 = "0f33n7x4z0mc733ck4gg6ljcinfmm946a20g5irv90g77c6jmmak";
        libraryHaskellDepends = [
@@ -84852,7 +84647,6 @@ self: {
        ];
        description = "Monads for free";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "free-algebras" = callPackage
@@ -87351,23 +87145,6 @@ self: {
      }) {};
 
   "gc" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, directory, doctest
-     , filepath, hlint, parallel
-     }:
-     mkDerivation {
-       pname = "gc";
-       version = "0.0.2";
-       sha256 = "03637njk3pqbqvng7zf370ykykm3nnsxvmp09qcfp6iihz45mk1r";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base directory doctest filepath hlint parallel
-       ];
-       description = "Poor Richard's Memory Manager";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "gc_0_0_3" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "gc";
@@ -87376,7 +87153,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Poor Richard's Memory Manager";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "gc-monitoring-wai" = callPackage
@@ -88438,6 +88214,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "generics-sop_0_5_0_0" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, ghc-prim, sop-core
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "generics-sop";
+       version = "0.5.0.0";
+       sha256 = "18dkdain2g46b1637f3pbv0fkzg4b1a8frm16hfqvhpfk46i7rzc";
+       libraryHaskellDepends = [
+         base ghc-prim sop-core template-haskell
+       ];
+       testHaskellDepends = [ base ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq template-haskell
+       ];
+       description = "Generic Programming using True Sums of Products";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "generics-sop-lens" = callPackage
     ({ mkDerivation, base, generics-sop, lens }:
      mkDerivation {
@@ -88451,6 +88247,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "generics-sop-lens_0_1_3" = callPackage
+    ({ mkDerivation, base, generics-sop, lens }:
+     mkDerivation {
+       pname = "generics-sop-lens";
+       version = "0.1.3";
+       sha256 = "1dk2v2ax2cryxpmgdv0bbawdfd30is3b5vzylhy9rr7bb5727vay";
+       libraryHaskellDepends = [ base generics-sop lens ];
+       description = "Lenses for types in generics-sop";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genericserialize" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -88986,6 +88794,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity-hspec-hashable_0_2_0_4" = callPackage
+    ({ mkDerivation, base, doctest, genvalidity, genvalidity-hspec
+     , genvalidity-property, hashable, hspec, hspec-core, QuickCheck
+     , validity
+     }:
+     mkDerivation {
+       pname = "genvalidity-hspec-hashable";
+       version = "0.2.0.4";
+       sha256 = "1vyd14cmsj54kbfbidgsy8r695zza635bxwg2i95gl1i314dzy1n";
+       libraryHaskellDepends = [
+         base genvalidity genvalidity-hspec genvalidity-property hashable
+         hspec QuickCheck validity
+       ];
+       testHaskellDepends = [
+         base doctest genvalidity genvalidity-hspec genvalidity-property
+         hashable hspec hspec-core QuickCheck validity
+       ];
+       description = "Standard spec's for Hashable instances";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-hspec-optics" = callPackage
     ({ mkDerivation, base, doctest, genvalidity, genvalidity-hspec
      , genvalidity-property, hspec, microlens, QuickCheck, validity
@@ -90561,6 +90391,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghc-syntax-highlighter_0_0_4_0" = callPackage
+    ({ mkDerivation, base, ghc, hspec, hspec-discover, text }:
+     mkDerivation {
+       pname = "ghc-syntax-highlighter";
+       version = "0.0.4.0";
+       sha256 = "1kw1h7n4ydn1klzll24nwwg405j23wry9hg8g96vba51vah0wc47";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base ghc text ];
+       testHaskellDepends = [ base hspec text ];
+       testToolDepends = [ hspec-discover ];
+       description = "Syntax highlighter for Haskell using lexer of GHC itself";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghc-tcplugins-extra" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
@@ -92388,12 +92233,13 @@ self: {
          bup curl git gnupg lsof openssh perl rsync wget which
        ];
        preConfigure = "export HOME=$TEMPDIR; patchShebangs .";
-       postBuild = ''
+       installPhase = "make PREFIX=$out BUILDER=: install";
+       checkPhase = ''
          ln -sf dist/build/git-annex/git-annex git-annex
          ln -sf git-annex git-annex-shell
+         export PATH+=":$PWD"
+         git-annex test
        '';
-       installPhase = "make PREFIX=$out BUILDER=: install install-completions";
-       checkPhase = ''PATH+=":$PWD" git-annex test'';
        enableSharedExecutables = false;
        description = "manage files with git, without checking their contents into git";
        license = stdenv.lib.licenses.agpl3;
@@ -99114,8 +98960,8 @@ self: {
      }:
      mkDerivation {
        pname = "grouped-list";
-       version = "0.2.2.0";
-       sha256 = "0733wmdflxpd2ryrdx4ygizyclxmbd8xmkdfs7d7s4x8hffk0k5x";
+       version = "0.2.2.1";
+       sha256 = "1bs8rkdrg82v3k08icl6fsgdyfz8m0vkvsbxpm3iym01xcfmzzal";
        libraryHaskellDepends = [ base binary containers deepseq pointed ];
        testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
        benchmarkHaskellDepends = [ base criterion ];
@@ -100048,6 +99894,19 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "gw" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "gw";
+       version = "0.1";
+       sha256 = "055pkk3gg74r4yzh3fxq1zvp1fv3i8cd53jscy1b2n3mmzhbzahv";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base unix ];
+       description = "ghcWithPackages cmdline util";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "gyah-bin" = callPackage
     ({ mkDerivation, base, extra, GiveYouAHead }:
      mkDerivation {
@@ -102379,8 +102238,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll";
-       version = "4.12.5.1";
-       sha256 = "0zxl99qrzzngc6z08hpl4rxssb7djqdbccjay76sgq8akw40x720";
+       version = "4.12.5.2";
+       sha256 = "13dc8hj3xnnpyb395pbplwxb4pj4gzckdd8r5wcwg1ln0gd6w7d5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -102401,6 +102260,8 @@ self: {
        testToolDepends = [ utillinux ];
        description = "A static website compiler library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) utillinux;};
 
   "hakyll-R" = callPackage
@@ -102580,6 +102441,8 @@ self: {
        executableHaskellDepends = [ base dhall hakyll ];
        description = "Dhall compiler for Hakyll";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hakyll-dir-list" = callPackage
@@ -102594,6 +102457,8 @@ self: {
        ];
        description = "Allow Hakyll to create hierarchical menues from directories";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hakyll-elm" = callPackage
@@ -102622,6 +102487,8 @@ self: {
        executableHaskellDepends = [ base hakyll ];
        testHaskellDepends = [ base ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hakyll-filestore" = callPackage
@@ -102661,6 +102528,8 @@ self: {
        ];
        description = "Hakyll utilities to work with images";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hakyll-ogmarkup" = callPackage
@@ -102689,6 +102558,8 @@ self: {
        ];
        description = "Hakyll SASS compiler over hsass";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hakyll-series" = callPackage
@@ -102700,6 +102571,8 @@ self: {
        libraryHaskellDepends = [ base containers hakyll ];
        description = "Adds series functionality to hakyll";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hakyll-shakespeare" = callPackage
@@ -102717,6 +102590,8 @@ self: {
        ];
        description = "Hakyll Hamlet compiler";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hakyll-shortcode" = callPackage
@@ -102756,6 +102631,8 @@ self: {
        testHaskellDepends = [ base hspec mtl pandoc text ];
        description = "Use shortcut-links in markdown file for Hakyll";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hal" = callPackage
@@ -104221,6 +104098,24 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "happy_1_19_10" = callPackage
+    ({ mkDerivation, array, base, Cabal, containers, directory
+     , filepath, mtl, process
+     }:
+     mkDerivation {
+       pname = "happy";
+       version = "1.19.10";
+       sha256 = "1vfaa8x6asmyabmd4i1ygyl2a8501h97xhkx3ip3jnqhjxn61sr2";
+       isLibrary = false;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       executableHaskellDepends = [ array base containers mtl ];
+       testHaskellDepends = [ base process ];
+       description = "Happy is a parser generator for Haskell";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "happy-meta" = callPackage
     ({ mkDerivation, array, base, containers, happy, haskell-src-meta
      , mtl, template-haskell
@@ -104835,6 +104730,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hashable_1_3_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, deepseq, ghc-prim
+     , HUnit, integer-gmp, QuickCheck, random, siphash, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text, unix
+     }:
+     mkDerivation {
+       pname = "hashable";
+       version = "1.3.0.0";
+       sha256 = "1d4sn4xjf0swrfg8pl93ipavbj12ch3a9aykhkl6mjnczc9m8bl2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring deepseq ghc-prim integer-gmp text
+       ];
+       testHaskellDepends = [
+         base bytestring ghc-prim HUnit QuickCheck random test-framework
+         test-framework-hunit test-framework-quickcheck2 text unix
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion ghc-prim integer-gmp siphash text
+       ];
+       description = "A class for types that can be converted to a hash value";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hashable-extras" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, directory, doctest
      , filepath, hashable, transformers, transformers-compat
@@ -104895,6 +104816,8 @@ self: {
        pname = "hashable-time";
        version = "0.2.0.2";
        sha256 = "1q7y4plqqwy5286hhx2fygn12h8lqk0y047b597sbdckskxzfqgs";
+       revision = "1";
+       editedCabalFile = "1d43ia3cg9j9k1yam0w2a8b60df7xw4zydrdvk1m868ara3nlr58";
        libraryHaskellDepends = [ base hashable time ];
        description = "Hashable instances for Data.Time";
        license = stdenv.lib.licenses.bsd3;
@@ -106106,23 +106029,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp_0_12_0_0" = callPackage
+  "haskell-lsp_0_12_1_0" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , data-default, directory, filepath, hashable, haskell-lsp-types
      , hslogger, hspec, hspec-discover, lens, mtl, network-uri, parsec
      , QuickCheck, quickcheck-instances, rope-utf16-splay, sorted-list
-     , stm, text, time, transformers, unordered-containers, vector
+     , stm, temporary, text, time, transformers, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "haskell-lsp";
-       version = "0.12.0.0";
-       sha256 = "1l328s0r3ya00pp33g6v8nwj23n009ki8gikrgja0wgj4hn35d2c";
+       version = "0.12.1.0";
+       sha256 = "12h8vq2gr62mwf230m1z7hvi3mpv69lwhbvhp21wnk1r77mipd5k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async base bytestring containers data-default directory
          filepath hashable haskell-lsp-types hslogger lens mtl network-uri
-         parsec rope-utf16-splay sorted-list stm text time
+         parsec rope-utf16-splay sorted-list stm temporary text time
          unordered-containers
        ];
        executableHaskellDepends = [
@@ -106180,15 +106104,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp-types_0_12_0_0" = callPackage
+  "haskell-lsp-types_0_12_1_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, deepseq
      , filepath, hashable, lens, network-uri, scientific, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-lsp-types";
-       version = "0.12.0.0";
-       sha256 = "10f79vjknklp935lvd300gvvwbky8issgq5s68z4cg6v1xva5np0";
+       version = "0.12.1.0";
+       sha256 = "1657p73gyqhpb459qf349j0xx6icdj720x0v6x7nb6iyk63q6l6r";
        libraryHaskellDepends = [
          aeson base bytestring data-default deepseq filepath hashable lens
          network-uri scientific text unordered-containers
@@ -108261,38 +108185,36 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, cereal, conduit
      , containers, data-default, directory, filepath, hashable
      , haskoin-core, haskoin-node, hspec, http-types, monad-logger, mtl
-     , network, nqe, optparse-applicative, protocol-buffers
-     , protocol-buffers-descriptor, random, rocksdb-haskell
+     , network, nqe, optparse-applicative, random, rocksdb-haskell
      , rocksdb-query, scotty, string-conversions, text, time
      , transformers, unliftio, unordered-containers
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.14.3";
-       sha256 = "1jjnymwaqd22dpciz2gnxynxz02gch13cvpgh66sny8vjwndcy07";
+       version = "0.14.7";
+       sha256 = "0dn0d71jdpa4dmrwmpqipkdbl2cb8w8i2p18fly3b1xhpqra20il";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring cereal conduit containers data-default
          hashable haskoin-core haskoin-node http-types monad-logger mtl
-         network nqe protocol-buffers protocol-buffers-descriptor random
-         rocksdb-haskell rocksdb-query scotty string-conversions text time
-         transformers unliftio unordered-containers
+         network nqe random rocksdb-haskell rocksdb-query scotty
+         string-conversions text time transformers unliftio
+         unordered-containers
        ];
        executableHaskellDepends = [
          aeson base bytestring cereal conduit containers data-default
          directory filepath hashable haskoin-core haskoin-node http-types
-         monad-logger mtl network nqe optparse-applicative protocol-buffers
-         protocol-buffers-descriptor random rocksdb-haskell rocksdb-query
-         scotty string-conversions text time transformers unliftio
-         unordered-containers
+         monad-logger mtl network nqe optparse-applicative random
+         rocksdb-haskell rocksdb-query scotty string-conversions text time
+         transformers unliftio unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring cereal conduit containers data-default
          hashable haskoin-core haskoin-node hspec http-types monad-logger
-         mtl network nqe protocol-buffers protocol-buffers-descriptor random
-         rocksdb-haskell rocksdb-query scotty string-conversions text time
-         transformers unliftio unordered-containers
+         mtl network nqe random rocksdb-haskell rocksdb-query scotty
+         string-conversions text time transformers unliftio
+         unordered-containers
        ];
        description = "Storage and index for Bitcoin and Bitcoin Cash";
        license = stdenv.lib.licenses.publicDomain;
@@ -116420,6 +116342,8 @@ self: {
        pname = "hmm-lapack";
        version = "0.3.0.3";
        sha256 = "0ng5nayyqcjd10ai1bgksavsy2ndmr3qyv32qpvz9yslds8d73xk";
+       revision = "1";
+       editedCabalFile = "02m92qv8jg9xl489x177l9bnrz3nqxbcv4936xa4xhgmfgyfs7fg";
        libraryHaskellDepends = [
          base boxes comfort-array containers deepseq explicit-exception
          fixed-length lapack lazy-csv netlib-ffi non-empty prelude-compat
@@ -116786,25 +116710,6 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.8.4";
-       sha256 = "0k7ibzd5q4bh46m6b46x155n09dd474375k4605d7fl034i16lsx";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring exceptions http-conduit http-types microlens
-         text unordered-containers uri-bytestring uri-bytestring-aeson
-       ];
-       description = "Haskell OAuth2 authentication client";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hoauth2_1_8_5" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, exceptions, http-conduit
-     , http-types, microlens, text, unordered-containers, uri-bytestring
-     , uri-bytestring-aeson
-     }:
-     mkDerivation {
-       pname = "hoauth2";
        version = "1.8.5";
        sha256 = "1s96zijcmsd3kfh7pjvbs4ks3hi6fkbq04pnxp9zfgr4di6ifmwz";
        isLibrary = true;
@@ -116815,7 +116720,6 @@ self: {
        ];
        description = "Haskell OAuth2 authentication client";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hob" = callPackage
@@ -117662,8 +117566,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoogle";
-       version = "5.0.17.6";
-       sha256 = "0kgcgadrp02pcwp0pp56p09kvw3k9i6n4r7qsms3lagq1wcar4dv";
+       version = "5.0.17.7";
+       sha256 = "1nk255n7lwar9l70pz3z48c4fsp3a07gqhpci37iya1mw6kdnbbp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -119311,6 +119215,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) ruby;};
 
+  "hruby_0_3_7" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
+     , process, QuickCheck, ruby, scientific, stm, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hruby";
+       version = "0.3.7";
+       sha256 = "1i77gmkggm6l17zr1jrn65rjgh3m47f7wz5j9c715mi2ilr01qfx";
+       setupHaskellDepends = [ base Cabal process ];
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring scientific stm text
+         unordered-containers vector
+       ];
+       librarySystemDepends = [ ruby ];
+       testHaskellDepends = [
+         aeson attoparsec base QuickCheck text vector
+       ];
+       description = "Embed a Ruby intepreter in your Haskell program !";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) ruby;};
+
   "hs-GeoIP" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, GeoIP }:
      mkDerivation {
@@ -121775,8 +121702,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua";
-       version = "1.0.2";
-       sha256 = "0w2gcp66ny3crxip0gn86abz8psz2z14nx2z2wna0s8p0n8v5agx";
+       version = "1.0.3";
+       sha256 = "1g2llcffj4yah326lf9axffziz0bla443zddr0lhpz8nqrpbh4j1";
        configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
        libraryHaskellDepends = [
          base bytestring containers exceptions fail mtl text
@@ -121791,15 +121718,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {inherit (pkgs) lua5_3;};
 
-  "hslua_1_0_3" = callPackage
+  "hslua_1_0_3_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion, deepseq
      , exceptions, fail, lua5_3, mtl, QuickCheck, quickcheck-instances
      , tasty, tasty-hunit, tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "hslua";
-       version = "1.0.3";
-       sha256 = "1g2llcffj4yah326lf9axffziz0bla443zddr0lhpz8nqrpbh4j1";
+       version = "1.0.3.1";
+       sha256 = "1w11d5csjl5jdzjzcq8gkd7lzyfsgaxmby5gq97jaj6r32l3zy9m";
        configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
        libraryHaskellDepends = [
          base bytestring containers exceptions fail mtl text
@@ -121850,6 +121777,8 @@ self: {
        testHaskellDepends = [ base hslua tasty tasty-hunit text ];
        description = "Lua module wrapper around Haskell's System module";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hslua-module-text" = callPackage
@@ -121857,26 +121786,12 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-module-text";
-       version = "0.2.0";
-       sha256 = "0zlgin87cck5ccw82jf0bfjcrpdnqlylh4sfqifbdjgspswha5vi";
-       libraryHaskellDepends = [ base bytestring hslua text ];
-       testHaskellDepends = [ base hslua tasty tasty-hunit text ];
-       description = "Lua module for text";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hslua-module-text_0_2_1" = callPackage
-    ({ mkDerivation, base, bytestring, hslua, tasty, tasty-hunit, text
-     }:
-     mkDerivation {
-       pname = "hslua-module-text";
        version = "0.2.1";
        sha256 = "1ikdwvvxhbd5wmfr85dzs2ccamh9rbbpgy899z7s1vlv5q1dj0hk";
        libraryHaskellDepends = [ base bytestring hslua text ];
        testHaskellDepends = [ base hslua tasty tasty-hunit text ];
        description = "Lua module for text";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsluv-haskell" = callPackage
@@ -124866,34 +124781,6 @@ self: {
      }:
      mkDerivation {
        pname = "http-conduit";
-       version = "2.3.7";
-       sha256 = "18pj7f5gl72ry2mq2dqbm21spacn5ig14yr0xsdyq7yzs64kq17y";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring conduit conduit-extra http-client
-         http-client-tls http-types mtl resourcet transformers unliftio-core
-       ];
-       testHaskellDepends = [
-         aeson base blaze-builder bytestring case-insensitive conduit
-         conduit-extra connection cookie data-default-class hspec
-         http-client http-types HUnit network resourcet streaming-commons
-         temporary text time transformers unliftio utf8-string wai
-         wai-conduit warp warp-tls
-       ];
-       doCheck = false;
-       description = "HTTP client package with conduit interface and HTTPS support";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "http-conduit_2_3_7_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
-     , case-insensitive, conduit, conduit-extra, connection, cookie
-     , data-default-class, hspec, http-client, http-client-tls
-     , http-types, HUnit, mtl, network, resourcet, streaming-commons
-     , temporary, text, time, transformers, unliftio, unliftio-core
-     , utf8-string, wai, wai-conduit, warp, warp-tls
-     }:
-     mkDerivation {
-       pname = "http-conduit";
        version = "2.3.7.1";
        sha256 = "1xnjbwvil1an5crffcwapdqyinbvvss25rcdra05isqixcs26h39";
        libraryHaskellDepends = [
@@ -124910,7 +124797,6 @@ self: {
        doCheck = false;
        description = "HTTP client package with conduit interface and HTTPS support";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-conduit-browser" = callPackage
@@ -125198,6 +125084,8 @@ self: {
        pname = "http-media";
        version = "0.7.1.3";
        sha256 = "0kqjzvh5y8r6x5rw2kgd816w2963c6cbyw2qjvaj2mv59zxzqkrr";
+       revision = "1";
+       editedCabalFile = "19py5pspx80gg679p9dzqr3iidflppxc1x4vkldamjkidyi406j8";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers utf8-string
        ];
@@ -128486,6 +128374,8 @@ self: {
        pname = "hyperloglog";
        version = "0.4.2";
        sha256 = "0j0hbzpap3f92kvywsxjahxmqrdj51275jdv0h7f9lf9qby3rf7m";
+       revision = "1";
+       editedCabalFile = "1zh47rrwih6933hhq9vd0ly5s42w0bn196znkg9l8q6r6drl7xsf";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          approximate base binary bits bytes cereal cereal-vector comonad
@@ -128554,8 +128444,8 @@ self: {
        pname = "hyphenation";
        version = "0.7.1";
        sha256 = "1h5i07v2zlka29dj4zysc47p747j88x6z4zm3zwcr5i8yirm0p52";
-       revision = "4";
-       editedCabalFile = "0pp7qm40alsfd9z5dvp6l2c7dp9zp0skl9g0iib3jahxs3n8qcrr";
+       revision = "5";
+       editedCabalFile = "00wsp69aqi5i906liqa4sfs0p2yclhr1ihz8y1700b3ymb70lzql";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
@@ -131985,6 +131875,8 @@ self: {
        pname = "intern";
        version = "0.9.2";
        sha256 = "081fyiq00cvx4nyagr34kwnag9njv65wdps5j4ydin6sjq7b58wk";
+       revision = "1";
+       editedCabalFile = "1mav591qx20p9dx4rg4xwpavqw8rciva82n7q0icdgvc1ayy7sl5";
        libraryHaskellDepends = [
          array base bytestring hashable text unordered-containers
        ];
@@ -132205,8 +132097,8 @@ self: {
      }:
      mkDerivation {
        pname = "interpolator";
-       version = "0.1.1";
-       sha256 = "13symhhxvv2dxn7449p8b9g7p37p98icj0ql63y9qkdg6s7b8rf0";
+       version = "0.1.2";
+       sha256 = "1kzqlwgpbzrq0flr90f9q359j8qjxll5adl9w5r9gp1yj3j7hrrz";
        libraryHaskellDepends = [
          aeson base containers either mono-traversable mtl
          product-profunctors profunctors QuickCheck template-haskell text
@@ -132322,6 +132214,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "intervals_0_9" = callPackage
+    ({ mkDerivation, array, base, Cabal, cabal-doctest, directory
+     , distributive, doctest, filepath, ghc-prim, QuickCheck
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "intervals";
+       version = "0.9";
+       sha256 = "0v5z5h0lcsfxiz5m876b1pwygxic5l5p0ijnhzibbpzpqg1lahs4";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [ array base distributive ghc-prim ];
+       testHaskellDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       description = "Interval Arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "intricacy" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , crypto-api, crypto-pubkey-types, cryptohash, directory, filepath
@@ -132369,6 +132280,8 @@ self: {
        pname = "intro";
        version = "0.5.2.1";
        sha256 = "0i5cpa5jx82nb1gi1wdhgnbmxlb7s4nbya46k6byajf7g50i5qp8";
+       revision = "1";
+       editedCabalFile = "19zndrl4rgzjrg97cbc2cyiqih15gaijgibz0vppphcbmn7v9fl8";
        libraryHaskellDepends = [
          base bytestring containers deepseq dlist extra hashable mtl safe
          text transformers unordered-containers writer-cps-mtl
@@ -132483,28 +132396,6 @@ self: {
      }:
      mkDerivation {
        pname = "invariant";
-       version = "0.5.2";
-       sha256 = "0k3rh5gzga9snj8piqpsix5h9437kmbam75sax7aa6pirhxx0dw0";
-       libraryHaskellDepends = [
-         array base bifunctors comonad containers contravariant ghc-prim
-         profunctors StateVar stm tagged template-haskell th-abstraction
-         transformers transformers-compat unordered-containers
-       ];
-       testHaskellDepends = [ base hspec QuickCheck template-haskell ];
-       testToolDepends = [ hspec-discover ];
-       description = "Haskell98 invariant functors";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-
-  "invariant_0_5_3" = callPackage
-    ({ mkDerivation, array, base, bifunctors, comonad, containers
-     , contravariant, ghc-prim, hspec, hspec-discover, profunctors
-     , QuickCheck, StateVar, stm, tagged, template-haskell
-     , th-abstraction, transformers, transformers-compat
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "invariant";
        version = "0.5.3";
        sha256 = "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp";
        libraryHaskellDepends = [
@@ -132516,7 +132407,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell98 invariant functors";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "invertible" = callPackage
@@ -136323,10 +136213,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-sop";
-       version = "0.2.0.3";
-       sha256 = "0ay2cymy4aar23cixcyqam91bs9x4z0vqiw2k0nvgy9nyqfz2r9h";
-       revision = "2";
-       editedCabalFile = "1lclvvcfvicr05v2nf1xkf21qry2g2bqjhd7gfhza89d571aq3gp";
+       version = "0.2.0.4";
+       sha256 = "0q1p15whyyzpggfnqm4vy9p8l12xlxmnc4d82ykxl8rxzhbjkh0i";
        libraryHaskellDepends = [
          aeson base generics-sop lens-sop tagged text time transformers
          unordered-containers vector
@@ -137319,6 +137207,34 @@ self: {
        broken = true;
      }) {};
 
+  "kanji_3_4_0_2" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, containers, criterion
+     , deepseq, hashable, HUnit-approx, microlens, microlens-aeson
+     , optparse-applicative, tasty, tasty-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "kanji";
+       version = "3.4.0.2";
+       sha256 = "017j8nwmwfbkxyaxjfp75js578kv6g5k7szsc46kidbw4l68dwmy";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base containers deepseq hashable text
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base containers microlens microlens-aeson
+         optparse-applicative text transformers
+       ];
+       testHaskellDepends = [
+         aeson base containers HUnit-approx tasty tasty-hunit text
+       ];
+       benchmarkHaskellDepends = [ aeson base containers criterion text ];
+       description = "Perform 漢字検定 (Japan Kanji Aptitude Test) level analysis on Japanese Kanji";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "kansas-comet" = callPackage
     ({ mkDerivation, aeson, base, containers, data-default-class
      , scotty, stm, text, time, transformers, unordered-containers
@@ -137858,6 +137774,8 @@ self: {
        ];
        description = "Fast concurrent queues much inspired by unagi-chan";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "kbq-gu" = callPackage
@@ -138494,26 +138412,10 @@ self: {
      }:
      mkDerivation {
        pname = "keys";
-       version = "3.12.1";
-       sha256 = "1yqm4gpshsgswx6w78z64c83gpydh6jhgslx2lnc10nzhy0s9kkz";
-       libraryHaskellDepends = [
-         array base comonad containers free hashable semigroupoids
-         semigroups tagged transformers transformers-compat
-         unordered-containers
-       ];
-       description = "Keyed functors and containers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "keys_3_12_2" = callPackage
-    ({ mkDerivation, array, base, comonad, containers, free, hashable
-     , semigroupoids, semigroups, tagged, transformers
-     , transformers-compat, unordered-containers
-     }:
-     mkDerivation {
-       pname = "keys";
        version = "3.12.2";
        sha256 = "1mw4c0dd21hmzhidf84p6fxrin7k05l2iz8iar3m7k5vbxihlldj";
+       revision = "1";
+       editedCabalFile = "1cx5bwd32mpqdgllrkld254a8ydks196m3j9dvm3razg8mxnz2x6";
        libraryHaskellDepends = [
          array base comonad containers free hashable semigroupoids
          semigroups tagged transformers transformers-compat
@@ -138521,7 +138423,6 @@ self: {
        ];
        description = "Keyed functors and containers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "keysafe" = callPackage
@@ -138745,23 +138646,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "kind-apply";
-       version = "0.3.0.0";
-       sha256 = "1k4plkf7j0spjvi565zfg25fshm2lkh6xjb5a0mr9c5nmq3cp2q7";
-       libraryHaskellDepends = [ base ];
-       description = "Utilities to work with lists of types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "kind-apply_0_3_1_0" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "kind-apply";
        version = "0.3.1.0";
        sha256 = "1rvm0zw5gxn4jfy7ndplrzi2k77mciiisylf9adppy1an8q4zw3d";
        libraryHaskellDepends = [ base ];
        description = "Utilities to work with lists of types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kind-generics" = callPackage
@@ -138781,22 +138670,6 @@ self: {
      }:
      mkDerivation {
        pname = "kind-generics-th";
-       version = "0.1.0.0";
-       sha256 = "1dbx24yb8imy7sn9x6372ckdzhslxv9i0svzlwslaavbycpqyvzd";
-       libraryHaskellDepends = [
-         base kind-generics template-haskell th-abstraction
-       ];
-       testHaskellDepends = [ base kind-generics ];
-       description = "Template Haskell support for generating `GenericK` instances";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "kind-generics-th_0_1_1_0" = callPackage
-    ({ mkDerivation, base, kind-generics, template-haskell
-     , th-abstraction
-     }:
-     mkDerivation {
-       pname = "kind-generics-th";
        version = "0.1.1.0";
        sha256 = "0pwhids2d9wfmycaxn5qm04jp1qjj8ji8casgk7d7k36fs15qgkl";
        libraryHaskellDepends = [
@@ -138805,7 +138678,6 @@ self: {
        testHaskellDepends = [ base kind-generics ];
        description = "Template Haskell support for generating `GenericK` instances";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kinds" = callPackage
@@ -139321,6 +139193,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "Find the alpha emoji";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "kyotocabinet" = callPackage
@@ -140703,6 +140577,22 @@ self: {
        broken = true;
      }) {};
 
+  "language-csharp" = callPackage
+    ({ mkDerivation, alex, array, base, parsec, pretty, text }:
+     mkDerivation {
+       pname = "language-csharp";
+       version = "0.0.1";
+       sha256 = "1sg7i0mpq98nfwnq3rfmhd9y1lvjff99843fprif3r3ww62clp2c";
+       revision = "1";
+       editedCabalFile = "1x5pn0zr2wzhmcfs2rcdy5wjjwp2xhfg4fjs4zhglfh3svvlwpqx";
+       libraryHaskellDepends = [ array base parsec pretty text ];
+       libraryToolDepends = [ alex ];
+       description = "C# source code manipulation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "language-css" = callPackage
     ({ mkDerivation, base, pretty }:
      mkDerivation {
@@ -141036,27 +140926,6 @@ self: {
      }:
      mkDerivation {
        pname = "language-javascript";
-       version = "0.6.0.11";
-       sha256 = "0hv1rj3yarv035mpnnnbqys4sgd0awqlm5hyf29wp051r6dnwxfl";
-       libraryHaskellDepends = [
-         array base blaze-builder bytestring containers mtl text utf8-string
-       ];
-       libraryToolDepends = [ alex happy ];
-       testHaskellDepends = [
-         array base blaze-builder bytestring Cabal containers hspec mtl
-         QuickCheck utf8-light utf8-string
-       ];
-       description = "Parser for JavaScript";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "language-javascript_0_6_0_12" = callPackage
-    ({ mkDerivation, alex, array, base, blaze-builder, bytestring
-     , Cabal, containers, happy, hspec, mtl, QuickCheck, text
-     , utf8-light, utf8-string
-     }:
-     mkDerivation {
-       pname = "language-javascript";
        version = "0.6.0.12";
        sha256 = "0yqwalb3qxvmwx1gdss3sv7d8v4vzrnkvahq2b35y3lzi3fykpa7";
        libraryHaskellDepends = [
@@ -141069,7 +140938,6 @@ self: {
        ];
        description = "Parser for JavaScript";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "language-js" = callPackage
@@ -141678,6 +141546,8 @@ self: {
        pname = "lapack";
        version = "0.2.4";
        sha256 = "16rgcxinkrkv1h35pfyrgg9xihkhpk3i2xd5f3xw29b1hahsb9hv";
+       revision = "1";
+       editedCabalFile = "0lcbih8i8rl6y9raxm77wfjb3lymivf3xicg1bslr6b5mrkyqqqh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -142680,8 +142550,8 @@ self: {
      }:
      mkDerivation {
        pname = "learn-physics";
-       version = "0.6.3";
-       sha256 = "0nhc53l963fsviw3yqz7yxwbjwxsrp8s4jckffbg6hl8npakhirh";
+       version = "0.6.4";
+       sha256 = "06f1p3rcb37lh0miih2c697w8jiciby3qgjcbjagmf91svx25mm0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -142964,6 +142834,8 @@ self: {
        pname = "lens";
        version = "4.17.1";
        sha256 = "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7";
+       revision = "1";
+       editedCabalFile = "1zknh9h72qzszwrz9h25c5ssdr2pv5z67w6kv526sk1y8rnrbxk1";
        setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
        libraryHaskellDepends = [
          array base base-orphans bifunctors bytestring call-stack comonad
@@ -143210,10 +143082,8 @@ self: {
     ({ mkDerivation, base, fclabels, generics-sop, transformers }:
      mkDerivation {
        pname = "lens-sop";
-       version = "0.2.0.2";
-       sha256 = "16bd95cwqiprz55s5272mv6wiw5pmv6mvihviiwbdbilhq400s3z";
-       revision = "1";
-       editedCabalFile = "0k7xdwj64kd56kjh7ghjwm79rjwjqxlw5nwzwj0cq5q56vb340jm";
+       version = "0.2.0.3";
+       sha256 = "0vgh6bj43qmhca6ij4b0bxqirhhfvxqd7xx5pryfs79fjghc47vv";
        libraryHaskellDepends = [
          base fclabels generics-sop transformers
        ];
@@ -143345,25 +143215,25 @@ self: {
 
   "lentil" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, csv, directory, filemanip
-     , filepath, hspec, natural-sort, optparse-applicative, parsec
-     , pipes, regex-tdfa, semigroups, terminal-progress-bar, text
-     , transformers
+     , filepath, hspec, megaparsec, mtl, natural-sort
+     , optparse-applicative, pipes, regex-tdfa, semigroups
+     , terminal-progress-bar, text
      }:
      mkDerivation {
        pname = "lentil";
-       version = "1.1.2.0";
-       sha256 = "1zhn8wpm1hd50j0nc776d9f3jq46lk5d62srrd66abfkvqxfxw6b";
+       version = "1.2.2.0";
+       sha256 = "0xm3nvh5irw3nw4cn94xh8i6z63mgkiymgf99yh582rbf047dfms";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         ansi-wl-pprint base csv directory filemanip filepath natural-sort
-         optparse-applicative parsec pipes regex-tdfa semigroups
-         terminal-progress-bar text transformers
+         ansi-wl-pprint base csv directory filemanip filepath megaparsec mtl
+         natural-sort optparse-applicative pipes regex-tdfa semigroups
+         terminal-progress-bar text
        ];
        testHaskellDepends = [
          ansi-wl-pprint base csv directory filemanip filepath hspec
-         natural-sort optparse-applicative parsec pipes regex-tdfa
-         semigroups terminal-progress-bar text transformers
+         megaparsec mtl natural-sort optparse-applicative pipes regex-tdfa
+         semigroups terminal-progress-bar text
        ];
        description = "frugal issue tracker";
        license = stdenv.lib.licenses.gpl3;
@@ -144718,27 +144588,6 @@ self: {
      }:
      mkDerivation {
        pname = "lifted-async";
-       version = "0.10.0.3";
-       sha256 = "131bh83yc3jhy0hwgslvs9p9clgl4i2hhvwz2xgx7igpbhsrrl43";
-       libraryHaskellDepends = [
-         async base constraints lifted-base monad-control transformers-base
-       ];
-       testHaskellDepends = [
-         async base HUnit lifted-base monad-control mtl tasty
-         tasty-expected-failure tasty-hunit tasty-th
-       ];
-       benchmarkHaskellDepends = [ async base criterion deepseq ];
-       description = "Run lifted IO operations asynchronously and wait for their results";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "lifted-async_0_10_0_4" = callPackage
-    ({ mkDerivation, async, base, constraints, criterion, deepseq
-     , HUnit, lifted-base, monad-control, mtl, tasty
-     , tasty-expected-failure, tasty-hunit, tasty-th, transformers-base
-     }:
-     mkDerivation {
-       pname = "lifted-async";
        version = "0.10.0.4";
        sha256 = "0cwl1d0wjpdk0v1l1qxiqiksmak950c8gx169c1q77cg0z18ijf9";
        libraryHaskellDepends = [
@@ -144751,7 +144600,6 @@ self: {
        benchmarkHaskellDepends = [ async base criterion deepseq ];
        description = "Run lifted IO operations asynchronously and wait for their results";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lifted-base" = callPackage
@@ -145192,36 +145040,10 @@ self: {
      }:
      mkDerivation {
        pname = "linear";
-       version = "1.20.8";
-       sha256 = "046vkvxlb0s286qr55s0c6db0rlwbm1cmlmwhrrkqbkzhfcipgay";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         adjunctions base base-orphans binary bytes cereal containers
-         deepseq distributive ghc-prim hashable lens reflection
-         semigroupoids semigroups tagged template-haskell transformers
-         transformers-compat unordered-containers vector void
-       ];
-       testHaskellDepends = [
-         base binary bytestring deepseq doctest HUnit lens reflection
-         simple-reflect test-framework test-framework-hunit vector
-       ];
-       description = "Linear Algebra";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "linear_1_20_9" = callPackage
-    ({ mkDerivation, adjunctions, base, base-orphans, binary, bytes
-     , bytestring, Cabal, cabal-doctest, cereal, containers, deepseq
-     , distributive, doctest, ghc-prim, hashable, HUnit, lens
-     , reflection, semigroupoids, semigroups, simple-reflect, tagged
-     , template-haskell, test-framework, test-framework-hunit
-     , transformers, transformers-compat, unordered-containers, vector
-     , void
-     }:
-     mkDerivation {
-       pname = "linear";
        version = "1.20.9";
        sha256 = "0h7yqigq593n7wsl7nz6a5f137wznm7y679wsii0ph0zsc4v5af5";
+       revision = "1";
+       editedCabalFile = "13ff7xvw25fpsikcvf0nly2ca614wzv10qyg4sh378p5r8rvfgka";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          adjunctions base base-orphans binary bytes cereal containers
@@ -145235,7 +145057,6 @@ self: {
        ];
        description = "Linear Algebra";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "linear-accelerate" = callPackage
@@ -147514,8 +147335,8 @@ self: {
        pname = "log-domain";
        version = "0.12";
        sha256 = "0zin3zgxrx8v69blqzkd5gjk0nmpmg58caqz2xa8qd4v1fjcp4bi";
-       revision = "3";
-       editedCabalFile = "19xc24jwfhzy3v26689sc4ma50w4ylqd378dpxphl0nrxili645z";
+       revision = "4";
+       editedCabalFile = "1z7p87dl1rj0v2gnfwfa7zmgaxccd093hvjkijc56whyg4b4az4y";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base binary bytes cereal comonad deepseq distributive hashable
@@ -147960,23 +147781,11 @@ self: {
     ({ mkDerivation, base, mtl }:
      mkDerivation {
        pname = "logict";
-       version = "0.6.0.2";
-       sha256 = "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi";
-       libraryHaskellDepends = [ base mtl ];
-       description = "A backtracking logic-programming monad";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "logict_0_6_0_3" = callPackage
-    ({ mkDerivation, base, mtl }:
-     mkDerivation {
-       pname = "logict";
        version = "0.6.0.3";
        sha256 = "1a3sqws8bc55a7sxkl406a69ls75l60syv20b5rmkd30nbdisryh";
        libraryHaskellDepends = [ base mtl ];
        description = "A backtracking logic-programming monad";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "logict-state" = callPackage
@@ -148638,8 +148447,8 @@ self: {
        pname = "lrucaching";
        version = "0.3.3";
        sha256 = "192a2zap1bmxa2y48n48rmngf18fr8k0az4a230hziv3g795yzma";
-       revision = "7";
-       editedCabalFile = "0bwl2hpj0w1wg86az52iwz0afs1h99b599vdn0fgygw2ivhbvqjv";
+       revision = "8";
+       editedCabalFile = "11ad87kg09s9md9lqzhbcw19kmzvii4v97nw49q0wb0rs0qizpki";
        libraryHaskellDepends = [
          base base-compat deepseq hashable psqueues vector
        ];
@@ -148716,7 +148525,7 @@ self: {
        broken = true;
      }) {};
 
-  "lsp-test_0_5_2_1" = callPackage
+  "lsp-test_0_5_2_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , bytestring, conduit, conduit-parse, containers, data-default
      , Diff, directory, filepath, haskell-lsp, hspec, lens, mtl
@@ -148725,8 +148534,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.5.2.1";
-       sha256 = "1yrcs6wln4sf8rns46q84rxhdd8la3mjpmmazp6yyhm0i288bifq";
+       version = "0.5.2.2";
+       sha256 = "0hld5xmv781nm0ix1mngjgch11bany0px923bgngp0nf6jgfz5yc";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -149619,6 +149428,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "machines_0_7" = callPackage
+    ({ mkDerivation, adjunctions, base, Cabal, cabal-doctest, comonad
+     , conduit, containers, criterion, distributive, doctest, mtl, pipes
+     , pointed, profunctors, semigroupoids, semigroups, streaming
+     , transformers, transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "machines";
+       version = "0.7";
+       sha256 = "1zipij9y913j5s6pyhycv0srias9fqyvnbky3a432qb5p9sgmh0b";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         adjunctions base comonad containers distributive mtl pointed
+         profunctors semigroupoids semigroups transformers
+         transformers-compat void
+       ];
+       testHaskellDepends = [ base doctest ];
+       benchmarkHaskellDepends = [
+         base conduit criterion mtl pipes streaming
+       ];
+       description = "Networked stream transducers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "machines-amazonka" = callPackage
     ({ mkDerivation, amazonka, amazonka-autoscaling, amazonka-core
      , amazonka-ec2, amazonka-s3, amazonka-sts, base
@@ -152902,32 +152736,6 @@ self: {
 
   "megaparsec" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , criterion, deepseq, hspec, hspec-expectations, mtl
-     , parser-combinators, QuickCheck, scientific, text, transformers
-     , weigh
-     }:
-     mkDerivation {
-       pname = "megaparsec";
-       version = "7.0.4";
-       sha256 = "1hg83m85f4v78mqdkznd1ddk9y32hnrv0bgva7ir3vydx37aanrj";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers deepseq mtl
-         parser-combinators scientific text transformers
-       ];
-       testHaskellDepends = [
-         base bytestring case-insensitive containers hspec
-         hspec-expectations mtl parser-combinators QuickCheck scientific
-         text transformers
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion deepseq text weigh
-       ];
-       description = "Monadic parser combinators";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-
-  "megaparsec_7_0_5" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
      , criterion, deepseq, mtl, parser-combinators, scientific, text
      , transformers, weigh
      }:
@@ -152944,7 +152752,6 @@ self: {
        ];
        description = "Monadic parser combinators";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "megaparsec-tests" = callPackage
@@ -152957,6 +152764,8 @@ self: {
        pname = "megaparsec-tests";
        version = "7.0.5";
        sha256 = "11kwf122bq38qvkpvhb1pkqzbv7yk9wi7klmg9yvls29x66shiyq";
+       revision = "1";
+       editedCabalFile = "1mayv955ipg94hbsix3dvpp1c2aay860h9zpg38qjmfiaks4zpjj";
        libraryHaskellDepends = [
          base bytestring containers hspec hspec-expectations
          hspec-megaparsec megaparsec mtl QuickCheck text transformers
@@ -153422,8 +153231,8 @@ self: {
        pname = "mercury-api";
        version = "0.1.0.2";
        sha256 = "0ybpc1kai85rflgdr80jd8cvwxaxmbphv82nz2p17502jrmdfkhg";
-       revision = "1";
-       editedCabalFile = "00qvar25y8fkr5vgavjkpy24nck8njy92fiq9fxfzl0yk2c1dr0g";
+       revision = "2";
+       editedCabalFile = "02sbbiznppvdmpb373xyh8i84sywlzzvhhx5nd9ix5lmx50813qw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -154082,6 +153891,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "microlens-aeson_2_3_0_4" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq
+     , hashable, microlens, scientific, tasty, tasty-hunit, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "microlens-aeson";
+       version = "2.3.0.4";
+       sha256 = "0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring deepseq hashable microlens
+         scientific text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring deepseq hashable microlens tasty tasty-hunit
+         text unordered-containers vector
+       ];
+       description = "Law-abiding lenses for Aeson, using microlens";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "microlens-contra" = callPackage
     ({ mkDerivation, base, microlens }:
      mkDerivation {
@@ -154144,6 +153975,8 @@ self: {
        pname = "microlens-platform";
        version = "0.3.11";
        sha256 = "18950lxgmsg5ksvyyi3zs1smjmb1qf1q73a3p3g44bh21miz0xwb";
+       revision = "1";
+       editedCabalFile = "14v7ffibzsa1fhf4pwvpw9ia67kgmk8wmxwibj7vr9rayrxy1ffv";
        libraryHaskellDepends = [
          base hashable microlens microlens-ghc microlens-mtl microlens-th
          text unordered-containers vector
@@ -154948,6 +154781,43 @@ self: {
        broken = true;
      }) {};
 
+  "minio-hs_1_3_0" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring
+     , case-insensitive, conduit, conduit-extra, containers, cryptonite
+     , cryptonite-conduit, digest, directory, exceptions, filepath
+     , http-client, http-conduit, http-types, ini, memory, protolude
+     , QuickCheck, raw-strings-qq, resourcet, retry, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, temporary, text, time
+     , transformers, unliftio, unliftio-core, unordered-containers
+     , xml-conduit
+     }:
+     mkDerivation {
+       pname = "minio-hs";
+       version = "1.3.0";
+       sha256 = "1caia9dyxirxl7qy7ijhk1s4hp56m0f901ik34nbf5aizhl0qx94";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring binary bytestring case-insensitive
+         conduit conduit-extra containers cryptonite cryptonite-conduit
+         digest directory exceptions filepath http-client http-conduit
+         http-types ini memory protolude raw-strings-qq resourcet retry text
+         time transformers unliftio unliftio-core unordered-containers
+         xml-conduit
+       ];
+       testHaskellDepends = [
+         aeson base base64-bytestring binary bytestring case-insensitive
+         conduit conduit-extra containers cryptonite cryptonite-conduit
+         digest directory exceptions filepath http-client http-conduit
+         http-types ini memory protolude QuickCheck raw-strings-qq resourcet
+         retry tasty tasty-hunit tasty-quickcheck tasty-smallcheck temporary
+         text time transformers unliftio unliftio-core unordered-containers
+         xml-conduit
+       ];
+       description = "A MinIO Haskell Library for Amazon S3 compatible cloud storage";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "minions" = callPackage
     ({ mkDerivation, ansi-terminal, base, MissingH, process, time }:
      mkDerivation {
@@ -155647,35 +155517,6 @@ self: {
   "mmark" = callPackage
     ({ mkDerivation, aeson, base, case-insensitive, containers
      , criterion, deepseq, dlist, email-validate, foldl, hashable, hspec
-     , hspec-discover, hspec-megaparsec, html-entity-map, lucid
-     , megaparsec, microlens, microlens-th, modern-uri, mtl
-     , parser-combinators, QuickCheck, text, text-metrics
-     , unordered-containers, weigh, yaml
-     }:
-     mkDerivation {
-       pname = "mmark";
-       version = "0.0.6.2";
-       sha256 = "0j8n2rjfx590v0m3p9z8xhbfxgxbc1cxfkdg18vwyhayh55mn373";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base case-insensitive containers deepseq dlist email-validate
-         foldl hashable html-entity-map lucid megaparsec microlens
-         microlens-th modern-uri mtl parser-combinators text text-metrics
-         unordered-containers yaml
-       ];
-       testHaskellDepends = [
-         aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri
-         QuickCheck text
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [ base criterion text weigh ];
-       description = "Strict markdown processor for writers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "mmark_0_0_7_0" = callPackage
-    ({ mkDerivation, aeson, base, case-insensitive, containers
-     , criterion, deepseq, dlist, email-validate, foldl, hashable, hspec
      , hspec-megaparsec, html-entity-map, lucid, megaparsec, microlens
      , microlens-th, modern-uri, mtl, parser-combinators, QuickCheck
      , text, text-metrics, unordered-containers, weigh, yaml
@@ -155684,6 +155525,8 @@ self: {
        pname = "mmark";
        version = "0.0.7.0";
        sha256 = "0g7mx3xvvj8vgcids231zlz9kp7z3zjrq4xfhdm0wk0v1k51dflx";
+       revision = "1";
+       editedCabalFile = "1mj781f8b0hc57lw2zp1qag4sdxn0bkyzm5m321xagwk32iwz9qc";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base case-insensitive containers deepseq dlist email-validate
@@ -155698,7 +155541,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion text weigh ];
        description = "Strict markdown processor for writers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mmark-cli" = callPackage
@@ -155746,19 +155588,6 @@ self: {
     ({ mkDerivation, base, mtl, transformers, transformers-compat }:
      mkDerivation {
        pname = "mmorph";
-       version = "1.1.2";
-       sha256 = "1gjz1ib968lqybma7my1n19qq6cdj6a7nskrlnwy4jy9jrwzs2n9";
-       libraryHaskellDepends = [
-         base mtl transformers transformers-compat
-       ];
-       description = "Monad morphisms";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "mmorph_1_1_3" = callPackage
-    ({ mkDerivation, base, mtl, transformers, transformers-compat }:
-     mkDerivation {
-       pname = "mmorph";
        version = "1.1.3";
        sha256 = "0rfsy9n9mlinpmqi2s17fhc67fzma2ig5fbmh6m5m830canzf8vr";
        libraryHaskellDepends = [
@@ -155766,7 +155595,6 @@ self: {
        ];
        description = "Monad morphisms";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mmtf" = callPackage
@@ -156849,8 +156677,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-metrics";
-       version = "0.2.1.3";
-       sha256 = "0ryazqrn7s2pzgzgvzp4paibylbvl54p52gc70n3alwzz8x1b7bd";
+       version = "0.2.1.4";
+       sha256 = "0h83kh1qc3wf9i0l8k998zib6fvf8fpwzn3qiz0d6z7az0i947cf";
        libraryHaskellDepends = [
          base clock ekg-core exceptions hashable microlens mtl text
          transformers unordered-containers
@@ -159192,27 +159020,12 @@ self: {
     ({ mkDerivation, base, mtl }:
      mkDerivation {
        pname = "mtl-compat";
-       version = "0.2.1.3";
-       sha256 = "15388p9ybdn6digk6cpdsw6havd0yva8vvwl3p7fnc9sb59wln34";
-       revision = "4";
-       editedCabalFile = "1mfrx8cpx0502sjv0bmlfkl0h46c4krldg8m89k4fj6iawwg2ab5";
-       libraryHaskellDepends = [ base mtl ];
-       doHaddock = false;
-       description = "Backported Control.Monad.Except module from mtl";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "mtl-compat_0_2_2" = callPackage
-    ({ mkDerivation, base, mtl }:
-     mkDerivation {
-       pname = "mtl-compat";
        version = "0.2.2";
        sha256 = "17iszr5yb4f17g8mq6i74hsamii8z6m2qfsmgzs78mhiwa7kjm8r";
        libraryHaskellDepends = [ base mtl ];
        doHaddock = false;
        description = "Backported Control.Monad.Except module from mtl";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mtl-evil-instances" = callPackage
@@ -161952,8 +161765,8 @@ self: {
        pname = "nats";
        version = "1.1.2";
        sha256 = "1v40drmhixck3pz3mdfghamh73l4rp71mzcviipv1y8jhrfxilmr";
-       revision = "1";
-       editedCabalFile = "1jzyysf758lfindlclqpzqcd0lrgrdv0rnz2lg8g1rvv07x2n7zh";
+       revision = "2";
+       editedCabalFile = "1654j2zngjzp71hra6s980hd9xgx0xlk6rvqm504n7h9vmyycrjx";
        doHaddock = false;
        description = "Natural numbers";
        license = stdenv.lib.licenses.bsd3;
@@ -164409,6 +164222,8 @@ self: {
        ];
        description = "A basic newsletter implimentation, using various backends";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "newsletter-mailgun" = callPackage
@@ -167573,8 +167388,8 @@ self: {
      }:
      mkDerivation {
        pname = "om-elm";
-       version = "1.0.0.3";
-       sha256 = "0i674vjbp03nkr76fdi7bjylv264nxwnxw0ija11fkpd1rdg045g";
+       version = "2.0.0.0";
+       sha256 = "0xg9wcmgsxc0rn9fvdma8zs3a588qsppcrxbvpnaa5j1h70nh2qb";
        libraryHaskellDepends = [
          base bytestring Cabal containers directory http-types safe
          safe-exceptions template-haskell text unix wai
@@ -167931,8 +167746,8 @@ self: {
        pname = "opaleye";
        version = "0.6.7003.1";
        sha256 = "1lj4vz1526l11b0mc5y7j9sxf7v6kkzl8c1jymvb1vrqj2qkgxsx";
-       revision = "1";
-       editedCabalFile = "0nwyz9s81hfziwy7a18gpi0663xy6cfc6fl4vx8a1vkwdyfcjjli";
+       revision = "2";
+       editedCabalFile = "1iq2szdw6xajljrmmz373j0wvsnkgg20gpvfiqyrzknpraq3xvj8";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -169236,6 +169051,8 @@ self: {
        pname = "optparse-applicative";
        version = "0.14.3.0";
        sha256 = "0qvn1s7jwrabbpmqmh6d6iafln3v3h9ddmxj2y4m0njmzq166ivj";
+       revision = "1";
+       editedCabalFile = "0ij9kphryag2j9p561mac3jqhhmmlpd3w38vjw8nk3x5vbwidlzs";
        libraryHaskellDepends = [
          ansi-wl-pprint base process transformers transformers-compat
        ];
@@ -169281,6 +169098,8 @@ self: {
        pname = "optparse-generic";
        version = "1.3.0";
        sha256 = "13rr3hq26dpmbami8vb6d1ig9ywk6jia22sp5dkp6jkfc1c9k4l0";
+       revision = "1";
+       editedCabalFile = "1fnbgrdzfbw5fhncqv9jl8k752b1rna6nir92k646p8k5zq9hr1d";
        libraryHaskellDepends = [
          base bytestring Only optparse-applicative semigroups
          system-filepath text time transformers void
@@ -170714,6 +170533,8 @@ self: {
        pname = "pandoc-citeproc";
        version = "0.16.2";
        sha256 = "15mm17awgi1b5yazwhr5nh8b59qml1qk6pz6gpyijks70fq2arsv";
+       revision = "1";
+       editedCabalFile = "06g80bigzlnh5s569s2f1f0ds49cbsh0l69n3phr281x597x021j";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -172359,6 +172180,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "parser-combinators_1_0_3" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "parser-combinators";
+       version = "1.0.3";
+       sha256 = "0cqic88xwi60x5x6pli0r8401yljvg2cis8a67766zypfg0il3bp";
+       libraryHaskellDepends = [ base ];
+       description = "Lightweight package providing commonly useful parser combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "parser-combinators-tests" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, hspec-expectations
+     , hspec-megaparsec, megaparsec, megaparsec-tests
+     , parser-combinators, QuickCheck
+     }:
+     mkDerivation {
+       pname = "parser-combinators-tests";
+       version = "1.0.3";
+       sha256 = "0xnmf5sfr9qg2jdcvgjsfvv5b8rd4z06vgk75lsbrwv019srpamm";
+       revision = "1";
+       editedCabalFile = "08hns8ycdlvqvi0il8077c4mbzf2npvaglzd89979wqpki8jm7l2";
+       isLibrary = false;
+       isExecutable = false;
+       testHaskellDepends = [
+         base hspec hspec-expectations hspec-megaparsec megaparsec
+         megaparsec-tests parser-combinators QuickCheck
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Test suite of parser-combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "parser-helper" = callPackage
     ({ mkDerivation, aeson, base, bytestring, haskell-src-exts, text }:
      mkDerivation {
@@ -172423,27 +172280,6 @@ self: {
      }:
      mkDerivation {
        pname = "parsers";
-       version = "0.12.9";
-       sha256 = "1r05sc1mcglk8w596kq9a1brfn9c2vll8lq16j07ln0vsz4jzrc1";
-       libraryHaskellDepends = [
-         attoparsec base base-orphans binary charset containers mtl parsec
-         scientific semigroups text transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring parsec QuickCheck quickcheck-instances
-       ];
-       description = "Parsing combinators";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "parsers_0_12_10" = callPackage
-    ({ mkDerivation, attoparsec, base, base-orphans, binary, bytestring
-     , charset, containers, mtl, parsec, QuickCheck
-     , quickcheck-instances, scientific, semigroups, text, transformers
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "parsers";
        version = "0.12.10";
        sha256 = "0v0smxbzk1qpdfkfqqmrzd2dngv3vxba10mkjn9nfm6a309izf8p";
        libraryHaskellDepends = [
@@ -172455,7 +172291,6 @@ self: {
        ];
        description = "Parsing combinators";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "parsers-megaparsec" = callPackage
@@ -174728,6 +174563,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Documentation DSL for persistent entities";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "persistent-equivalence" = callPackage
@@ -176144,6 +175981,8 @@ self: {
        pname = "pi-lcd";
        version = "0.1.1.0";
        sha256 = "0120zkza698ww8ng6svp54qywkrvn35pylvcgplfldw4ajln00vn";
+       revision = "1";
+       editedCabalFile = "0gkpx56dq7lqhlw9iq8zv1kqhpwpd7hkpvld2k86v0zyal526jms";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -176635,8 +176474,8 @@ self: {
        pname = "pipes";
        version = "4.3.9";
        sha256 = "1jqs4x3xw2ya3834p36p1ycx8nxjgn2ypaibhdv97xcw3wsxlk2w";
-       revision = "1";
-       editedCabalFile = "0mkwbbn8vlrsvm3pl2cyaw1qr9hbjqfm831naj7cbrmiksf2l5aa";
+       revision = "2";
+       editedCabalFile = "0pw4i3pdg3i98a9mbps0ycgb70vf4p7dqv08xf365iy4dzdm3a1i";
        libraryHaskellDepends = [
          base exceptions mmorph mtl semigroups transformers void
        ];
@@ -176957,8 +176796,8 @@ self: {
        pname = "pipes-concurrency";
        version = "2.0.12";
        sha256 = "17aqh6p1az09n6b6vs06pxcha5aq6dvqjwskgjcdiz7221vwchs3";
-       revision = "1";
-       editedCabalFile = "1c1rys2pp7a2z6si925ps610q8a38a6m26s182phwa5nfhyggpaw";
+       revision = "2";
+       editedCabalFile = "1c06nypirrd76jg5y508517smxh3izy98y6kj89k79kbpi5rncbj";
        libraryHaskellDepends = [
          async base contravariant pipes semigroups stm void
        ];
@@ -177495,10 +177334,8 @@ self: {
     ({ mkDerivation, base, mwc-random, pipes, vector }:
      mkDerivation {
        pname = "pipes-random";
-       version = "1.0.0.4";
-       sha256 = "17k510v2f5ziysqh7sknyw3rgxf8iblw800z3hh8gymaszkhfajl";
-       revision = "2";
-       editedCabalFile = "0czw2qfi05d5kbnwzhzr75j1ag6hfbn9nvbjyifdjradfzjxl2s9";
+       version = "1.0.0.5";
+       sha256 = "1xsb0cxksrrkv81yk9qb7b3g7niz3sc7sz0960hxn16hwjymkv5k";
        libraryHaskellDepends = [ base mwc-random pipes vector ];
        description = "Producers for handling randomness";
        license = stdenv.lib.licenses.bsd3;
@@ -178797,8 +178634,8 @@ self: {
        pname = "pointed";
        version = "5.0.1";
        sha256 = "1p91a762xglckscnhpflxzav8byf49a02mli3983i4kpr2jkaimr";
-       revision = "1";
-       editedCabalFile = "1ccjmzz3jf5ybrzv7qdwm3qb8rz0yskvi4ackrixyhdk8bg5f3nc";
+       revision = "2";
+       editedCabalFile = "00m4f6rgxa3qa72j3jzpg6rrd9k9n4ll2idxlyybil3lxd63r80w";
        libraryHaskellDepends = [
          base comonad containers data-default-class hashable kan-extensions
          semigroupoids semigroups stm tagged transformers
@@ -180764,8 +180601,8 @@ self: {
      }:
      mkDerivation {
        pname = "postmark-streams";
-       version = "0.1.0.2";
-       sha256 = "00d6rnijlr2095nd1d0vqgbsy5k8w6admi2bn69vdmj39cahgca2";
+       version = "0.1.0.3";
+       sha256 = "1qcyh34rjfgjxi6cs7jrfhr1qdp2chngga1p71jxisbgfd7rk2b4";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring binary bytestring
          http-streams io-streams text time
@@ -181932,6 +181769,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pretty-sop_0_2_0_3" = callPackage
+    ({ mkDerivation, base, generics-sop, markdown-unlit, pretty-show }:
+     mkDerivation {
+       pname = "pretty-sop";
+       version = "0.2.0.3";
+       sha256 = "10vybwbkqgr3fi13c5qwwhrwns9sdj7zvlkz6vag966pk238gnxy";
+       libraryHaskellDepends = [ base generics-sop pretty-show ];
+       testHaskellDepends = [ base generics-sop pretty-show ];
+       testToolDepends = [ markdown-unlit ];
+       description = "A generic pretty-printer using generics-sop";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pretty-terminal" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -182292,8 +182143,8 @@ self: {
     ({ mkDerivation, base, primitive }:
      mkDerivation {
        pname = "primitive-checked";
-       version = "0.6.4.1";
-       sha256 = "02jac6ra9qws5lp2zwqhz87zqy5j9vhs2hinwp43nnpjd4kngms1";
+       version = "0.6.4.2";
+       sha256 = "0x659bq4pqlk8i9af98bjv7639819fdm4r0by55zhxjgm5vr179q";
        libraryHaskellDepends = [ base primitive ];
        description = "primitive functions with bounds-checking";
        license = stdenv.lib.licenses.bsd3;
@@ -183185,6 +183036,8 @@ self: {
        pname = "profunctors";
        version = "5.3";
        sha256 = "1dx3nkc27yxsrbrhh3iwhq7dl1xn6bj7n62yx6nh8vmpbg62lqvl";
+       revision = "1";
+       editedCabalFile = "1ynskm55fynsli6lpz6v5py344yhf1mq5xz2b1p7arvf2xqrx4kv";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad contravariant distributive
          semigroups tagged transformers
@@ -183193,6 +183046,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "profunctors_5_4" = callPackage
+    ({ mkDerivation, base, base-orphans, bifunctors, comonad
+     , contravariant, distributive, tagged, transformers
+     }:
+     mkDerivation {
+       pname = "profunctors";
+       version = "5.4";
+       sha256 = "1b5hidvd3rd8ilzr5ipzw0mg0a2x0ldrrcx6bacalafg7407bfhh";
+       libraryHaskellDepends = [
+         base base-orphans bifunctors comonad contravariant distributive
+         tagged transformers
+       ];
+       description = "Profunctors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "progress" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
@@ -185640,6 +185510,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "pusher-http-haskell_1_5_1_8" = 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.8";
+       sha256 = "1dvhpr99rfmnjf1vzxnlc2psmjazisxs9cjvfr83wiywaddqk67f";
+       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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pusher-ws" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, deepseq
      , hashable, http-conduit, lens, lens-aeson, network, scientific
@@ -187092,23 +186987,11 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "quickcheck-simple";
-       version = "0.1.0.4";
-       sha256 = "0524xkhx2qa6wfl7wf9qdjscr2djl0l08a1bk6ikigcpdabbb3l0";
-       libraryHaskellDepends = [ base QuickCheck ];
-       description = "Test properties and default-mains for QuickCheck";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "quickcheck-simple_0_1_1_0" = callPackage
-    ({ mkDerivation, base, QuickCheck }:
-     mkDerivation {
-       pname = "quickcheck-simple";
        version = "0.1.1.0";
        sha256 = "0rclb8ghakcrcw3sz9q8lvb2zh1a4lafb711mqpfl0csd3yvlia4";
        libraryHaskellDepends = [ base QuickCheck ];
        description = "Test properties and default-mains for QuickCheck";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "quickcheck-special" = callPackage
@@ -189216,16 +189099,15 @@ self: {
        broken = true;
      }) {};
 
-  "rattletrap_6_3_0" = callPackage
+  "rattletrap_6_3_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
+     , bytestring, containers, filepath, http-client, http-client-tls
+     , HUnit, template-haskell, temporary, text, transformers
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "6.3.0";
-       sha256 = "0b20ih5b1g74zpdyhlpi9j98zjimad1b6lwmxqqdcviw2wwih28p";
+       version = "6.3.1";
+       sha256 = "07v1cd4x9hxfnz0fm1prpgs0zms3b4wi7miw4q5n2zxcc22bdcc6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -189239,9 +189121,9 @@ self: {
          transformers
        ];
        testHaskellDepends = [
-         aeson aeson-pretty base binary binary-bits bytestring clock
-         containers filepath http-client http-client-tls HUnit
-         template-haskell temporary text transformers
+         aeson aeson-pretty base binary binary-bits bytestring 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;
@@ -189483,34 +189365,6 @@ self: {
 
   "rcu" = callPackage
     ({ mkDerivation, atomic-primops, base, Cabal, cabal-doctest
-     , containers, criterion, deepseq, doctest, fail, ghc-prim, hlint
-     , optparse-applicative, parallel, primitive, rdtsc, time
-     , transformers
-     }:
-     mkDerivation {
-       pname = "rcu";
-       version = "0.2.3";
-       sha256 = "17w0y843z5mr095cazfrz1jnf731zjsnd6vhgkx8ppras05vs371";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         atomic-primops base fail ghc-prim parallel primitive transformers
-       ];
-       executableHaskellDepends = [ base transformers ];
-       testHaskellDepends = [ base doctest hlint parallel ];
-       benchmarkHaskellDepends = [
-         base containers criterion deepseq ghc-prim optparse-applicative
-         primitive rdtsc time transformers
-       ];
-       description = "Read-Copy-Update for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "rcu_0_2_4" = callPackage
-    ({ mkDerivation, atomic-primops, base, Cabal, cabal-doctest
      , containers, criterion, deepseq, doctest, fail, ghc-prim
      , optparse-applicative, parallel, primitive, rdtsc, time
      , transformers
@@ -190355,6 +190209,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "rebase_1_3_1_1" = callPackage
+    ({ mkDerivation, base, base-prelude, bifunctors, bytestring
+     , containers, contravariant, contravariant-extras, deepseq, dlist
+     , either, fail, hashable, mtl, profunctors, scientific
+     , semigroupoids, semigroups, stm, text, time, transformers
+     , unordered-containers, uuid, vector, void
+     }:
+     mkDerivation {
+       pname = "rebase";
+       version = "1.3.1.1";
+       sha256 = "0q4m2fa7wkgxs0grir8rlqwibasmi3s1x7c107ynndwfm62nzv0a";
+       libraryHaskellDepends = [
+         base base-prelude bifunctors bytestring containers contravariant
+         contravariant-extras deepseq dlist either fail hashable mtl
+         profunctors scientific semigroupoids semigroups stm text time
+         transformers unordered-containers uuid vector void
+       ];
+       description = "A more progressive alternative to the \"base\" package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rebindable" = callPackage
     ({ mkDerivation, base, data-default-class, indexed }:
      mkDerivation {
@@ -190591,6 +190467,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "records-sop_0_1_0_3" = callPackage
+    ({ mkDerivation, base, deepseq, generics-sop, ghc-prim, hspec
+     , should-not-typecheck
+     }:
+     mkDerivation {
+       pname = "records-sop";
+       version = "0.1.0.3";
+       sha256 = "120kb6z4si5wqkahbqxqhm3qb8xpc9ivwg293ymz8a4ri1hdr0a5";
+       libraryHaskellDepends = [ base deepseq generics-sop ghc-prim ];
+       testHaskellDepends = [
+         base deepseq generics-sop hspec should-not-typecheck
+       ];
+       description = "Record subtyping and record utilities with generics-sop";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "records-th" = callPackage
     ({ mkDerivation, aeson, base, data-default, kinds, records
      , template-haskell, text, type-functions, unordered-containers
@@ -190927,6 +190820,8 @@ self: {
        pname = "reducers";
        version = "3.12.3";
        sha256 = "09wf8pl9ycglcv6qj5ba26gkg2s5iy81hsx9xp0q8na0cwvp71ki";
+       revision = "1";
+       editedCabalFile = "1v0r75wkaahxdv4y0sqgcikvgwymiz12fa8nkk59n1g4x9nng9wb";
        libraryHaskellDepends = [
          array base bytestring containers fingertree hashable semigroupoids
          semigroups text transformers unordered-containers
@@ -191151,6 +191046,8 @@ self: {
        pname = "reflection";
        version = "2.1.4";
        sha256 = "0kf4a5ijw6jfnfibjcrpdy9vzh1n6v2pxia8dhyyqdissiwc8bzj";
+       revision = "1";
+       editedCabalFile = "05ibi4ivvh87d96xl09yh0day08p5www5vp568mvn2dp37rxyngc";
        libraryHaskellDepends = [ base template-haskell ];
        description = "Reifies arbitrary terms into types that can be reflected back into terms";
        license = stdenv.lib.licenses.bsd3;
@@ -192026,6 +191923,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "regex-tdfa_1_2_3_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, ghc-prim, mtl
+     , parsec, regex-base
+     }:
+     mkDerivation {
+       pname = "regex-tdfa";
+       version = "1.2.3.2";
+       sha256 = "03yhpqrqz977nwlnhnyz9dacnbzw8xb6j18h365rkgmbc05sb3hf";
+       libraryHaskellDepends = [
+         array base bytestring containers ghc-prim mtl parsec regex-base
+       ];
+       description = "Replaces/Enhances Text.Regex";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "regex-tdfa-pipes" = callPackage
     ({ mkDerivation, array, base, lens, monads-tf, pipes, regex-base
      , regex-tdfa
@@ -192378,8 +192291,8 @@ self: {
      }:
      mkDerivation {
        pname = "registry";
-       version = "0.1.3.5";
-       sha256 = "1nyk32bimkhsbz2597hdy089c7w5025wj9yfj1i3gd0145liaf2h";
+       version = "0.1.3.6";
+       sha256 = "19wch1vd41r3hvgr9a1yjvbiz7fmib1qlhviqivsdd5apncgn2jk";
        libraryHaskellDepends = [
          base containers exceptions hashable mtl protolude resourcet
          semigroupoids semigroups template-haskell text transformers-base
@@ -192398,27 +192311,27 @@ self: {
        broken = true;
      }) {};
 
-  "registry_0_1_3_6" = callPackage
+  "registry_0_1_4_2" = callPackage
     ({ mkDerivation, async, base, containers, exceptions, generic-lens
-     , hashable, hedgehog, hedgehog-corpus, io-memoize, MonadRandom, mtl
-     , multimap, protolude, random, resourcet, semigroupoids, semigroups
-     , tasty, tasty-discover, tasty-hedgehog, tasty-th, template-haskell
-     , text, transformers-base, universum
+     , hashable, hedgehog, hedgehog-corpus, io-memoize, mmorph
+     , MonadRandom, mtl, multimap, protolude, random, resourcet
+     , semigroupoids, semigroups, tasty, tasty-discover, tasty-hedgehog
+     , tasty-th, template-haskell, text, transformers-base, universum
      }:
      mkDerivation {
        pname = "registry";
-       version = "0.1.3.6";
-       sha256 = "19wch1vd41r3hvgr9a1yjvbiz7fmib1qlhviqivsdd5apncgn2jk";
+       version = "0.1.4.2";
+       sha256 = "0jfwxpf4w4laj0allbalkb0haircf0w33j0h2c2b5dzrhmmsg2gp";
        libraryHaskellDepends = [
-         base containers exceptions hashable mtl protolude resourcet
+         base containers exceptions hashable mmorph mtl protolude resourcet
          semigroupoids semigroups template-haskell text transformers-base
        ];
        testHaskellDepends = [
          async base containers exceptions generic-lens hashable hedgehog
-         hedgehog-corpus io-memoize MonadRandom mtl multimap protolude
-         random resourcet semigroupoids semigroups tasty tasty-discover
-         tasty-hedgehog tasty-th template-haskell text transformers-base
-         universum
+         hedgehog-corpus io-memoize mmorph MonadRandom mtl multimap
+         protolude random resourcet semigroupoids semigroups tasty
+         tasty-discover tasty-hedgehog tasty-th template-haskell text
+         transformers-base universum
        ];
        testToolDepends = [ tasty-discover ];
        description = "data structure for assembling components";
@@ -192627,12 +192540,16 @@ self: {
      }) {};
 
   "relation" = callPackage
-    ({ mkDerivation, array, base, containers, groom }:
+    ({ mkDerivation, base, containers, hedgehog, hspec, hspec-discover
+     , hw-hspec-hedgehog
+     }:
      mkDerivation {
        pname = "relation";
-       version = "0.2.1";
-       sha256 = "03h6l8v3ppxbwg9ddgg121yx3i2v4vbcpwrv1vg3mgbw5pwq7x4c";
-       libraryHaskellDepends = [ array base containers groom ];
+       version = "0.4";
+       sha256 = "1jy5m0jih6ik05zagngrskk1ibiiblxsydxgdq6kjx1aa2pqnmqi";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ];
+       testToolDepends = [ hspec-discover ];
        description = "A data structure representing Relations on Sets";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -192776,8 +192693,8 @@ self: {
     ({ mkDerivation, aeson, base, chronos, text, torsor }:
      mkDerivation {
        pname = "relevant-time";
-       version = "0.1.0.0";
-       sha256 = "0i9g6rqq31y6y9jnc9bi0vfrpxmjr3vqfjz2w4q7jc87dplyd2qk";
+       version = "0.1.1.0";
+       sha256 = "0978g03dlkgx45hxzk3lwl68iln8jnf0hldchac4yqp4c9rsxf22";
        libraryHaskellDepends = [ aeson base chronos text torsor ];
        description = "humanised relevant time";
        license = stdenv.lib.licenses.bsd3;
@@ -192863,6 +192780,8 @@ self: {
        pname = "relude";
        version = "0.5.0";
        sha256 = "108xd4ybfj7v0cc0h71cym0z31fzsi17aad2l3s17j11h6ainhbm";
+       revision = "1";
+       editedCabalFile = "0qw27rmf14dn44lics58mqdf4wfcnx5z5zrwi13bsbf8qicmd7cb";
        libraryHaskellDepends = [
          base bytestring containers deepseq ghc-prim hashable mtl stm text
          transformers unordered-containers
@@ -193515,17 +193434,6 @@ self: {
      }) {};
 
   "repline" = callPackage
-    ({ mkDerivation, base, containers, haskeline, mtl, process }:
-     mkDerivation {
-       pname = "repline";
-       version = "0.2.0.0";
-       sha256 = "1ph21kbbanlcs8n5lwk16g9vqkb98mkbz5mzwrp8j2rls2921izc";
-       libraryHaskellDepends = [ base containers haskeline mtl process ];
-       description = "Haskeline wrapper for GHCi-like REPL interfaces";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "repline_0_2_1_0" = callPackage
     ({ mkDerivation, base, containers, fail, haskeline, mtl, process }:
      mkDerivation {
        pname = "repline";
@@ -193536,7 +193444,6 @@ self: {
        ];
        description = "Haskeline wrapper for GHCi-like REPL interfaces";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "repo-based-blog" = callPackage
@@ -195808,6 +195715,8 @@ self: {
        testHaskellDepends = [ base directory ];
        description = "Simple projects generator";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "robin" = callPackage
@@ -199751,35 +199660,6 @@ self: {
      }:
      mkDerivation {
        pname = "scotty";
-       version = "0.11.3";
-       sha256 = "14570k1klrlwra58zz7ip3j41nc75gaswrp8m4xwlrjzgpdqm70a";
-       revision = "2";
-       editedCabalFile = "0d5ls120fq9xfdsdzj1xgfh2prpcz46i4kc54r6pd6ncpnkfalyi";
-       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 hspec hspec-wai
-         http-types lifted-base network text wai
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Haskell web framework inspired by Ruby's Sinatra, using WAI and Warp";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "scotty_0_11_4" = 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
-     , wai-extra, warp
-     }:
-     mkDerivation {
-       pname = "scotty";
        version = "0.11.4";
        sha256 = "13z0zmginaa1y5iywbbygvb9q3cmfgjkv6n2drs8gfbv3sirrf7i";
        libraryHaskellDepends = [
@@ -199795,7 +199675,6 @@ self: {
        testToolDepends = [ 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-binding-play" = callPackage
@@ -201210,6 +201089,8 @@ self: {
        pname = "semigroupoids";
        version = "5.3.2";
        sha256 = "01cxdcflfzx674bhdclf6c7lwgjpbj5yqv8w1fi9dvipyhyj3a31";
+       revision = "1";
+       editedCabalFile = "1r88pi1bvc1w0nys810p3drra6na02zhbaf257dl4lyxl8iv5466";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad containers contravariant
@@ -201254,6 +201135,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "semigroups_0_19" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "semigroups";
+       version = "0.19";
+       sha256 = "1ficdd32y0v6bi0dxzjn9fph03ql0nmyjy0x3ahr8c4508xh779r";
+       libraryHaskellDepends = [ base ];
+       description = "Anything that associates";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "semigroups-actions" = callPackage
     ({ mkDerivation, base, containers, semigroups }:
      mkDerivation {
@@ -201365,6 +201258,8 @@ self: {
        pname = "semirings";
        version = "0.4.1";
        sha256 = "1zzq4x1x7fxj3zrzys1zbqidwmm7wh7ykxgr5f8bxysxbs98qjdp";
+       revision = "1";
+       editedCabalFile = "1d1p06clz9k35slzvj93r3q46lzanxkdxrx2ac1nrgd5khibq3wk";
        libraryHaskellDepends = [
          base containers hashable integer-gmp unordered-containers
        ];
@@ -203761,8 +203656,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-purescript";
-       version = "0.9.0.2";
-       sha256 = "1axj4rar4ncy20xiwa231hc67vpz6yi2vzddq8m6nswmdg6kja7p";
+       version = "0.9.0.3";
+       sha256 = "16ygfj1h9wrxxv5wcxh8rqn9icgx7xxy0yrgfdv5k6pmpxmgmi84";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath http-types lens
          mainland-pretty purescript-bridge servant servant-foreign
@@ -204509,13 +204404,15 @@ self: {
      }:
      mkDerivation {
        pname = "servant-xml";
-       version = "1.0.1.3";
-       sha256 = "0f033s1nmhw5xsmnvj3rqmrw6zd0ywbr7v6v9dxlx9daim4jps1v";
+       version = "1.0.1.4";
+       sha256 = "0jzzw4bwjcnax53xx8yjfldd21zgbvynpagf1ikxpzq3sgqhdl2x";
        libraryHaskellDepends = [
          base bytestring http-media servant xmlbf xmlbf-xeno
        ];
        description = "Servant support for the XML Content-Type";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-yaml" = callPackage
@@ -206833,20 +206730,23 @@ self: {
      }) {};
 
   "shower" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, megaparsec
-     , pretty, process, tasty, tasty-golden, temporary
+    ({ mkDerivation, aeson, base, containers, directory, filepath
+     , megaparsec, pretty, process, QuickCheck, tasty, tasty-golden
+     , tasty-quickcheck, temporary, text, unordered-containers
+     , utf8-string, vector
      }:
      mkDerivation {
        pname = "shower";
-       version = "0.1";
-       sha256 = "1jnj0v8h01sb5znc3rlfrplkyis9aflxgwg01l9a5293l19jgs4r";
+       version = "0.2";
+       sha256 = "0jxsv08w7cmlkr820f2m9qbx00m2h6h3hp6lrng7iz03i89gwpf2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base megaparsec pretty ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base containers directory filepath process tasty tasty-golden
-         temporary
+         aeson base containers directory filepath process QuickCheck tasty
+         tasty-golden tasty-quickcheck temporary text unordered-containers
+         utf8-string vector
        ];
        description = "Clean up the formatting of 'show' output";
        license = stdenv.lib.licenses.bsd3;
@@ -209143,8 +209043,8 @@ self: {
      }:
      mkDerivation {
        pname = "slate";
-       version = "0.13.0.0";
-       sha256 = "0b1mk6d79h4mkh71kgg208i15bik97a29hzs1j57qxipici680rj";
+       version = "0.13.1.0";
+       sha256 = "08d6i7dacfcgsc4iijhs4sbkfhy720hk3m0v9d1gwg5ycjys1qdr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -209947,6 +209847,8 @@ self: {
        pname = "smuggler";
        version = "0.1.0";
        sha256 = "0iyisn5s39haik3g1wld67pdpnl8h3zafxhkgyd3ajx9lg9nf741";
+       revision = "1";
+       editedCabalFile = "1lbkir8l81f6dq3d2q9h6a1bpi03cq69qg3xr6h9ppx8ksswsw1d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212132,6 +212034,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "sop-core_0_5_0_0" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "sop-core";
+       version = "0.5.0.0";
+       sha256 = "12zqdr0g4s3fr6710ngph0fr06lbc12c849izcl4cjj4g9w3v3zz";
+       libraryHaskellDepends = [ base deepseq ];
+       description = "True Sums of Products";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "sophia" = callPackage
     ({ mkDerivation, base, binary, bindings-sophia, bytestring
      , criterion, directory, tasty, tasty-hunit
@@ -214745,34 +214659,6 @@ self: {
      }) {};
 
   "stack2nix" = callPackage
-    ({ mkDerivation, async, base, Cabal, cabal2nix, containers
-     , directory, distribution-nixpkgs, filepath, hackage-db, hspec
-     , language-nix, lens, optparse-applicative, path, pretty, process
-     , regex-pcre, SafeSemaphore, stack, temporary, text, time
-     }:
-     mkDerivation {
-       pname = "stack2nix";
-       version = "0.2.2";
-       sha256 = "0x5dsgq9mdibbbilc0wn86qqkdgjkm606y4ix57vwxpfgrgkd3wm";
-       revision = "1";
-       editedCabalFile = "1rxrdpzgql4pldx990hmhhjj39kirxvqphiqjmwr9gbhbkyv7hcg";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         async base Cabal cabal2nix containers directory
-         distribution-nixpkgs filepath hackage-db language-nix lens
-         optparse-applicative path pretty process regex-pcre SafeSemaphore
-         stack temporary text time
-       ];
-       executableHaskellDepends = [
-         base Cabal optparse-applicative time
-       ];
-       testHaskellDepends = [ base hspec ];
-       description = "Convert stack.yaml files into Nix build instructions.";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "stack2nix_0_2_3" = callPackage
     ({ mkDerivation, async, base, bytestring, Cabal, cabal2nix
      , containers, directory, distribution-nixpkgs, filepath, hackage-db
      , hspec, language-nix, lens, optparse-applicative, path, pretty
@@ -214796,7 +214682,6 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Convert stack.yaml files into Nix build instructions.";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "stackage" = callPackage
@@ -215007,6 +214892,8 @@ self: {
        ];
        description = "Tool for querying Stackage";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "stackage-sandbox" = callPackage
@@ -216610,25 +216497,12 @@ self: {
     ({ mkDerivation, base, clock, hspec, transformers }:
      mkDerivation {
        pname = "stopwatch";
-       version = "0.1.0.5";
-       sha256 = "0q9l27cpfz5hs3ggxij0lk8p3vrgkjg1binhv2nwss4dvygdc7j6";
-       libraryHaskellDepends = [ base clock transformers ];
-       testHaskellDepends = [ base clock hspec ];
-       description = "A simple stopwatch utility";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "stopwatch_0_1_0_6" = callPackage
-    ({ mkDerivation, base, clock, hspec, transformers }:
-     mkDerivation {
-       pname = "stopwatch";
        version = "0.1.0.6";
        sha256 = "1gvlh58hkg02a5814lm5f123p853z92dlmv4r5mhhlg5j6g7c62h";
        libraryHaskellDepends = [ base clock transformers ];
        testHaskellDepends = [ base clock hspec ];
        description = "A simple stopwatch utility";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "storable" = callPackage
@@ -217135,6 +217009,8 @@ self: {
        pname = "streaming";
        version = "0.2.2.0";
        sha256 = "04fdw4f51yb16bv3b7z97vqxbns8rv2ag2aphglm29jsd527fsss";
+       revision = "1";
+       editedCabalFile = "1sq8blxh4s1lsvxkc64x7drxwn75kszxicjhvw4cg505fp9bfc7y";
        libraryHaskellDepends = [
          base containers ghc-prim mmorph mtl semigroups transformers
          transformers-base
@@ -217164,6 +217040,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streaming-attoparsec_1_0_0_1" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, streaming
+     , streaming-bytestring, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "streaming-attoparsec";
+       version = "1.0.0.1";
+       sha256 = "151gjivqbadh1wfbj53d0ahw4cjax4nnhg1v0l1piqnp1mbz7j8y";
+       libraryHaskellDepends = [
+         attoparsec base bytestring streaming streaming-bytestring
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring streaming streaming-bytestring tasty
+         tasty-hunit
+       ];
+       description = "Attoparsec integration for the streaming ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "streaming-base64" = callPackage
     ({ mkDerivation, base, base-compat-batteries, filepath
      , safe-exceptions, streaming, streaming-bytestring, streaming-with
@@ -217456,22 +217352,21 @@ self: {
 
   "streaming-osm" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, containers
-     , criterion, streaming, streaming-bytestring, streaming-utils
+     , resourcet, streaming, streaming-attoparsec, streaming-bytestring
      , tasty, tasty-hunit, text, transformers, vector, zlib
      }:
      mkDerivation {
        pname = "streaming-osm";
-       version = "1.0.0";
-       sha256 = "1z1wpwmsgc4viy0w3zcmf5d88nylyynb359r1p2naajg65kbb46h";
+       version = "1.0.0.1";
+       sha256 = "0zf9f079ssmm1gy1ngcqz1faxyardv91ynv5lc5xfh8fhgk9a65c";
        libraryHaskellDepends = [
-         attoparsec base bytestring containers streaming
-         streaming-bytestring streaming-utils text transformers vector zlib
+         attoparsec base bytestring containers resourcet streaming
+         streaming-attoparsec streaming-bytestring text transformers vector
+         zlib
        ];
        testHaskellDepends = [
-         attoparsec base bytestring streaming tasty tasty-hunit vector zlib
-       ];
-       benchmarkHaskellDepends = [
-         attoparsec base bytestring criterion streaming vector zlib
+         attoparsec base bytestring resourcet streaming tasty tasty-hunit
+         vector zlib
        ];
        description = "A hand-written streaming byte parser for OpenStreetMap Protobuf data";
        license = stdenv.lib.licenses.bsd3;
@@ -217480,25 +217375,21 @@ self: {
      }) {};
 
   "streaming-pcap" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, criterion, pcap
-     , streaming, streaming-bytestring, streaming-utils, tasty
+    ({ mkDerivation, attoparsec, base, bytestring, pcap, resourcet
+     , streaming, streaming-attoparsec, streaming-bytestring, tasty
      , tasty-hunit
      }:
      mkDerivation {
        pname = "streaming-pcap";
-       version = "1.1.1";
-       sha256 = "1riw6n3n5rbzfqlm0z6qbznlx2lc8bk2s1qjy8a9zx90wbys0xp1";
+       version = "1.1.1.1";
+       sha256 = "1qzll7n2h9jgwhnx0gvrxzi19dkhqxy0fymbc414hwsn27f8sh8b";
        libraryHaskellDepends = [
-         attoparsec base bytestring pcap streaming streaming-bytestring
-         streaming-utils
+         attoparsec base bytestring pcap resourcet streaming
+         streaming-attoparsec streaming-bytestring
        ];
        testHaskellDepends = [
-         attoparsec base bytestring pcap streaming streaming-bytestring
-         streaming-utils tasty tasty-hunit
-       ];
-       benchmarkHaskellDepends = [
-         attoparsec base bytestring criterion pcap streaming
-         streaming-bytestring streaming-utils
+         attoparsec base bytestring pcap resourcet streaming
+         streaming-attoparsec streaming-bytestring tasty tasty-hunit
        ];
        description = "Stream packets via libpcap";
        license = stdenv.lib.licenses.bsd3;
@@ -218561,28 +218452,6 @@ self: {
 
   "structs" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, directory
-     , doctest, filepath, ghc-prim, hlint, parallel, primitive
-     , template-haskell
-     }:
-     mkDerivation {
-       pname = "structs";
-       version = "0.1.1";
-       sha256 = "0hdajhvd6i81dchdyd42fa17pm53jd7g3irqjfardbbmjx0sqq6z";
-       revision = "2";
-       editedCabalFile = "1v9gmnj17cm4p491rizvw9xdj255lk1y24gz6s8bqcz56sdb4d4s";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base deepseq ghc-prim primitive template-haskell
-       ];
-       testHaskellDepends = [
-         base directory doctest filepath hlint parallel
-       ];
-       description = "Strict GC'd imperative object-oriented programming with cheap pointers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "structs_0_1_2" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, directory
      , doctest, filepath, ghc-prim, parallel, primitive, QuickCheck
      , tasty, tasty-hunit, tasty-quickcheck, template-haskell
      }:
@@ -218602,7 +218471,6 @@ self: {
        ];
        description = "Strict GC'd imperative object-oriented programming with cheap pointers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "structural-induction" = callPackage
@@ -222268,22 +222136,6 @@ self: {
      }:
      mkDerivation {
        pname = "tagsoup";
-       version = "0.14.7";
-       sha256 = "09gcy5fd5nsk1b7zdrf7yb329fyr8hq5apd6w3cyh3nxd60z504r";
-       libraryHaskellDepends = [ base bytestring containers text ];
-       testHaskellDepends = [
-         base bytestring deepseq directory process QuickCheck time
-       ];
-       description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "tagsoup_0_14_8" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, directory
-     , process, QuickCheck, text, time
-     }:
-     mkDerivation {
-       pname = "tagsoup";
        version = "0.14.8";
        sha256 = "1m9sx6gr9y9yxvkmcap8xsks8cnhznvma1mrfl39zljkv005azms";
        libraryHaskellDepends = [ base bytestring containers text ];
@@ -222292,7 +222144,6 @@ self: {
        ];
        description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tagsoup-ht" = callPackage
@@ -223335,6 +223186,22 @@ self: {
        broken = true;
      }) {};
 
+  "tasty-lua" = callPackage
+    ({ mkDerivation, base, bytestring, directory, file-embed, hslua
+     , tasty, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "tasty-lua";
+       version = "0.1.0";
+       sha256 = "199zhrd48ixyi32spnm85v0dj6i09sl3rwi42kaxdlxkkmc54i1z";
+       libraryHaskellDepends = [
+         base bytestring file-embed hslua tasty text
+       ];
+       testHaskellDepends = [ base directory hslua tasty tasty-hunit ];
+       description = "Write tests in Lua, integrate into tasty";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "tasty-program" = callPackage
     ({ mkDerivation, base, deepseq, directory, filepath, process, tasty
      }:
@@ -225840,6 +225707,30 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "text-builder_0_6_5_1" = callPackage
+    ({ mkDerivation, base, base-prelude, bytestring, criterion
+     , deferred-folds, QuickCheck, quickcheck-instances, rerebase
+     , semigroups, tasty, tasty-hunit, tasty-quickcheck, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "text-builder";
+       version = "0.6.5.1";
+       sha256 = "0g40s5md7kfmhqsxxrfliwb3p4whg3m2wp31bai051nx1ddkkvay";
+       libraryHaskellDepends = [
+         base base-prelude bytestring deferred-folds semigroups text
+         transformers
+       ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "An efficient strict text builder";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "text-containers" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim
      , hashable, QuickCheck, quickcheck-instances, tasty
@@ -227142,13 +227033,13 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "th-lift_0_8" = callPackage
+  "th-lift_0_8_0_1" = callPackage
     ({ mkDerivation, base, ghc-prim, template-haskell, th-abstraction
      }:
      mkDerivation {
        pname = "th-lift";
-       version = "0.8";
-       sha256 = "1594v53fqah949nazqrjhy17gxhvc43v2ffrk93bfhdy07wgikia";
+       version = "0.8.0.1";
+       sha256 = "1a6qlbdg15cfr5rvl9g3blgwx4v1p0xic0pzv13zx165xbc36ld0";
        libraryHaskellDepends = [
          base ghc-prim template-haskell th-abstraction
        ];
@@ -229759,6 +229650,30 @@ self: {
        broken = true;
      }) {};
 
+  "tmp-postgres_0_2_0_0" = callPackage
+    ({ mkDerivation, async, base, bytestring, directory, hspec
+     , hspec-discover, network, port-utils, postgresql-simple, process
+     , temporary, unix
+     }:
+     mkDerivation {
+       pname = "tmp-postgres";
+       version = "0.2.0.0";
+       sha256 = "08w88rh8yap7dmh2jn3x8rd918jxscw46jzljfbdyda9rzfz7kq4";
+       libraryHaskellDepends = [
+         async base bytestring directory network port-utils
+         postgresql-simple process temporary unix
+       ];
+       testHaskellDepends = [
+         base bytestring directory hspec hspec-discover postgresql-simple
+         process temporary
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Start and stop a temporary postgres for testing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "tmpl" = callPackage
     ({ mkDerivation, base, bytestring, directory, template, text }:
      mkDerivation {
@@ -229878,8 +229793,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "todo";
-       version = "0.2.0.1";
-       sha256 = "0paxykbni3gwxgs25lkjsb8jfk4bc5gwnrfp16v189smqj1slc3g";
+       version = "0.2.0.2";
+       sha256 = "1gh2jdrxph0x9cc03kk8xxjyicivwcqfs9qv2nfr7mn570cmjrmw";
        libraryHaskellDepends = [ base ];
        description = "A todo bottom";
        license = stdenv.lib.licenses.bsd3;
@@ -230383,8 +230298,8 @@ self: {
      }:
      mkDerivation {
        pname = "too-many-cells";
-       version = "0.1.5.0";
-       sha256 = "0896l7zk6avkcxi2s3q2bch0bjclk4lafbm2vzmpygkscz7kqv9b";
+       version = "0.1.6.0";
+       sha256 = "1nwjf5qmvshgcg2zf0mqav5kz19rj0a4vd7w6x1zbalysj9v5nb7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -230421,8 +230336,8 @@ self: {
      }:
      mkDerivation {
        pname = "toodles";
-       version = "1.1.1";
-       sha256 = "0n1z99f2zr2xj55y90ll9dvqq51sv4r4zyhjx7qilqw34djzfn88";
+       version = "1.2.1";
+       sha256 = "19z8xx8pw66m9q9xq0qldpzhmjwfsln4hn8smmz2pjk2x713883c";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -231257,6 +231172,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "transformers-compat_0_6_5" = callPackage
+    ({ mkDerivation, base, ghc-prim, transformers }:
+     mkDerivation {
+       pname = "transformers-compat";
+       version = "0.6.5";
+       sha256 = "02v2fjbvcrlpvhcsssap8dy8y9pp95jykrlc5arm39sxa48wyrys";
+       libraryHaskellDepends = [ base ghc-prim transformers ];
+       description = "A small compatibility shim for the transformers library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "transformers-compose" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -231767,6 +231694,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tree-diff_0_0_2_1" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base
+     , base-compat, bytestring, containers, generics-sop, hashable
+     , MemoTrie, parsec, parsers, pretty, QuickCheck, scientific, tagged
+     , tasty, tasty-golden, tasty-quickcheck, text, time, trifecta
+     , unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "tree-diff";
+       version = "0.0.2.1";
+       sha256 = "0hz7jklzb4cc63l68jxc58ik0ybgim9niwq2gfi0cskv5g2yr3ym";
+       libraryHaskellDepends = [
+         aeson ansi-terminal ansi-wl-pprint base base-compat bytestring
+         containers generics-sop hashable MemoTrie parsec parsers pretty
+         QuickCheck scientific tagged text time unordered-containers
+         uuid-types vector
+       ];
+       testHaskellDepends = [
+         ansi-terminal ansi-wl-pprint base base-compat parsec QuickCheck
+         tasty tasty-golden tasty-quickcheck trifecta
+       ];
+       description = "Diffing of (expression) trees";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tree-fun" = callPackage
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
@@ -232033,8 +231986,8 @@ self: {
        pname = "trifecta";
        version = "2";
        sha256 = "0hznd8i65s81xy13i2qc7cvipw3lfb2yhkv53apbdsh6sbljz5sk";
-       revision = "1";
-       editedCabalFile = "1qqkiwy0yvnj4yszsw9jrv83qf5hw87jdqdb34401dskaf81gwrm";
+       revision = "2";
+       editedCabalFile = "1ihw0dm0sjn7cql6rb3y0gb5kxy1ca3ggflm4lxlmhm3gfrj2sxc";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          ansi-terminal ansi-wl-pprint array base blaze-builder blaze-html
@@ -232891,8 +232844,8 @@ self: {
        pname = "turtle";
        version = "1.5.14";
        sha256 = "10sxbmis82z5r2ksfkik5kryz5i0xwihz9drc1dzz4fb76kkb67z";
-       revision = "1";
-       editedCabalFile = "0jfa861ch7cibalcqszywjiyqa95xs7k1dqjjkqqx6fih9y13n0l";
+       revision = "2";
+       editedCabalFile = "0inmpmcagv6kqhq4bqrpmygv5an8cqna0p14x3jggw8vz3a741xp";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
@@ -236378,6 +236331,8 @@ self: {
        pname = "universe-base";
        version = "1.1";
        sha256 = "1alr2gbmdp9lsarnhfl72zkcqrfwxwvmlq3nyb9ilmwinahlzf0n";
+       revision = "1";
+       editedCabalFile = "1bjri6v54iy54rn972lj7hdw1bndcria23g90ikk4ni2gp65v5i0";
        libraryHaskellDepends = [ base containers tagged transformers ];
        testHaskellDepends = [ base containers QuickCheck ];
        description = "A class for finite and recursively enumerable types";
@@ -238517,8 +238472,8 @@ self: {
        pname = "uuid-types";
        version = "1.0.3";
        sha256 = "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj";
-       revision = "1";
-       editedCabalFile = "0iwwj07gp28g357hv76k4h8pvlzamvchnw003cv3qk778pcpx201";
+       revision = "2";
+       editedCabalFile = "1lmlmng4lph57cljga3r9jy2axdls5mllsb2xzcwy2a34wgidarc";
        libraryHaskellDepends = [
          base binary bytestring deepseq hashable random text
        ];
@@ -239595,25 +239550,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector";
-       version = "0.12.0.2";
-       sha256 = "1wy0pfa3ks6s2dkp1fwrl1s9d3wjmqy9d09icnwfs2zimyn9vs2j";
-       libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
-       testHaskellDepends = [
-         base base-orphans HUnit primitive QuickCheck random
-         template-haskell test-framework test-framework-hunit
-         test-framework-quickcheck2 transformers
-       ];
-       description = "Efficient Arrays";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "vector_0_12_0_3" = callPackage
-    ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit
-     , primitive, QuickCheck, random, template-haskell, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, transformers
-     }:
-     mkDerivation {
-       pname = "vector";
        version = "0.12.0.3";
        sha256 = "1a756s4w759ji3als5alfxwlckh5zcmykfg9rll4mlr2knzvz8mq";
        revision = "1";
@@ -239626,7 +239562,6 @@ self: {
        ];
        description = "Efficient Arrays";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vector-algorithms" = callPackage
@@ -241023,6 +240958,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "void_0_7_3" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "void";
+       version = "0.7.3";
+       sha256 = "05vk3x1r9a2pqnzfji475m5gdih2im1h7rbi2sc67p1pvj6pbbsk";
+       libraryHaskellDepends = [ base ];
+       description = "A Haskell 98 logically uninhabited data type";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vorbiscomment" = callPackage
     ({ mkDerivation, base, binary-strict, bytestring, mtl, utf8-string
      }:
@@ -241676,37 +241623,6 @@ self: {
     ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
      , bytestring, case-insensitive, containers, cookie
      , data-default-class, deepseq, directory, fast-logger, hspec
-     , http-types, HUnit, iproute, network, old-locale, resourcet
-     , streaming-commons, text, time, transformers, unix, unix-compat
-     , vault, void, wai, wai-logger, word8, zlib
-     }:
-     mkDerivation {
-       pname = "wai-extra";
-       version = "3.0.25";
-       sha256 = "0caz1miwnyjqg6gdfgv7ibyfdyjzlq2i8v07zhan1nniv9pj3w6y";
-       revision = "2";
-       editedCabalFile = "0gdg5rfxqfgwj922lxz7ya637nj1qhh1imskiaf453hdpj619aaf";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base base64-bytestring bytestring
-         case-insensitive containers cookie data-default-class deepseq
-         directory fast-logger http-types iproute network old-locale
-         resourcet streaming-commons text time transformers unix unix-compat
-         vault void wai wai-logger word8 zlib
-       ];
-       testHaskellDepends = [
-         base bytestring case-insensitive cookie fast-logger hspec
-         http-types HUnit resourcet text time transformers wai zlib
-       ];
-       description = "Provides some basic WAI handlers and middleware";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "wai-extra_3_0_26" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
-     , bytestring, case-insensitive, containers, cookie
-     , data-default-class, deepseq, directory, fast-logger, hspec
      , http-types, http2, HUnit, iproute, network, old-locale, resourcet
      , streaming-commons, text, time, transformers, unix, unix-compat
      , vault, void, wai, wai-logger, word8, zlib
@@ -241732,7 +241648,6 @@ self: {
        ];
        description = "Provides some basic WAI handlers and middleware";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-frontend-monadcgi" = callPackage
@@ -245238,6 +245153,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wild-bind_0_1_2_4" = callPackage
+    ({ mkDerivation, base, containers, hspec, microlens, QuickCheck
+     , semigroups, stm, text, transformers
+     }:
+     mkDerivation {
+       pname = "wild-bind";
+       version = "0.1.2.4";
+       sha256 = "14cl18vfna21mq3ln9y3s6x7yvp13hynqfmjjv192z928wabyxqz";
+       libraryHaskellDepends = [
+         base containers semigroups text transformers
+       ];
+       testHaskellDepends = [
+         base hspec microlens QuickCheck stm transformers
+       ];
+       description = "Dynamic key binding framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wild-bind-indicator" = callPackage
     ({ mkDerivation, base, containers, gtk, text, transformers
      , wild-bind
@@ -245293,6 +245227,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wild-bind-x11_0_2_0_7" = callPackage
+    ({ mkDerivation, async, base, containers, fold-debounce, hspec, mtl
+     , semigroups, stm, text, time, transformers, wild-bind, X11
+     }:
+     mkDerivation {
+       pname = "wild-bind-x11";
+       version = "0.2.0.7";
+       sha256 = "00lpx5lqahd5wx3f2rp0glhi9m5k0miys39fpq7p57iwvdzjhgxa";
+       libraryHaskellDepends = [
+         base containers fold-debounce mtl semigroups stm text transformers
+         wild-bind X11
+       ];
+       testHaskellDepends = [
+         async base hspec text time transformers wild-bind X11
+       ];
+       description = "X11-specific implementation for WildBind";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wilton-ffi" = callPackage
     ({ mkDerivation, aeson, base, bytestring, utf8-string }:
      mkDerivation {
@@ -245671,8 +245625,8 @@ self: {
      }:
      mkDerivation {
        pname = "wkt-geom";
-       version = "0.0.8";
-       sha256 = "123y2xl22gmg28dcj244gk9bsbw0chz32gim48dz4bmqnkmvl7wl";
+       version = "0.0.10";
+       sha256 = "10hzfa063sp2f4v3ki7322x74iqn8wan0klalhddqfr554j3b1g5";
        libraryHaskellDepends = [
          base base16-bytestring binary bytestring containers geojson
          scientific trifecta utf8-string vector
@@ -245684,6 +245638,8 @@ self: {
        ];
        description = "A parser of WKT, WKB and eWKB";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "wl-pprint" = callPackage
@@ -247041,20 +246997,6 @@ self: {
      }:
      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;
-     }) {};
-
-  "wuss_1_1_13" = callPackage
-    ({ mkDerivation, base, bytestring, connection, network, websockets
-     }:
-     mkDerivation {
-       pname = "wuss";
        version = "1.1.13";
        sha256 = "16ll4wfk3i570id7ki5ab34q5wwzgr5k7fqmx8hvnxmdsr8h85cy";
        libraryHaskellDepends = [
@@ -247062,7 +247004,6 @@ self: {
        ];
        description = "Secure WebSocket (WSS) clients";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wx" = callPackage
@@ -252734,31 +252675,6 @@ self: {
      }:
      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;
-     }) {};
-
-  "yesod-test_1_6_6_1" = 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.1";
        sha256 = "1mr0ad6z6s9rnxnv5ayg8xr93xfx9gxm8zym0866339w7p292wqd";
        libraryHaskellDepends = [
@@ -252773,7 +252689,6 @@ self: {
        ];
        description = "integration testing for WAI/Yesod Applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-test-json" = callPackage
@@ -254702,6 +254617,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "zippers_0_3" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, criterion, doctest
+     , fail, lens, profunctors, semigroupoids, semigroups
+     }:
+     mkDerivation {
+       pname = "zippers";
+       version = "0.3";
+       sha256 = "0hrsgk8sh9g3438kl79131s6vjydhivgya04yxv3h70m7pky1dpm";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base fail lens profunctors semigroupoids semigroups
+       ];
+       testHaskellDepends = [ base doctest ];
+       benchmarkHaskellDepends = [ base criterion lens ];
+       description = "Traversal based zippers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "zippo" = callPackage
     ({ mkDerivation, base, mtl, yall }:
      mkDerivation {
diff --git a/pkgs/development/interpreters/groovy/default.nix b/pkgs/development/interpreters/groovy/default.nix
index dc04e72c741..efbd72dcefa 100644
--- a/pkgs/development/interpreters/groovy/default.nix
+++ b/pkgs/development/interpreters/groovy/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "groovy-${version}";
-  version = "2.5.6";
+  version = "2.5.7";
 
   src = fetchurl {
     url = "http://dl.bintray.com/groovy/maven/apache-groovy-binary-${version}.zip";
-    sha256 = "14lfxnc03hmakwagvl3sb6c0b298v3awcdr1gafwnmsqv03hhkdn";
+    sha256 = "1q69xg7p790dfk09wyijpx8y85n8g9lfd0fikl6qr73k9zz5v41x";
   };
 
   buildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 22ccdec8a10..2fa8b50f017 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = "janet";
     rev = "v${version}";
-    sha256 = "06iq2y7c9i4pcmmgc8x2fklqkj2i3jrvmq694djiiyd4x81kzcj5";
+    sha256 = "00lrj21k85sqyn4hv2rc5sny9vxghafjxyvs0dq4zp68461s3l7c";
   };
 
   JANET_BUILD=''\"release\"'';
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index c95d9b3009a..d514d017769 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -1,4 +1,4 @@
-{ config, lib, stdenv, fetchurl, buildPackages, callPackage
+{ config, lib, stdenv, fetchurl, pkgs, buildPackages, callPackage
 , enableThreading ? stdenv ? glibc, makeWrapper
 }:
 
@@ -23,7 +23,7 @@ let
   libcLib = lib.getLib libc;
   crossCompiling = stdenv.buildPlatform != stdenv.hostPlatform;
 
-  common = { self, version, sha256 }: stdenv.mkDerivation (rec {
+  common = { perl, buildPerl, version, sha256 }: stdenv.mkDerivation (rec {
     inherit version;
 
     name = "perl-${version}";
@@ -106,14 +106,14 @@ let
     setupHook = ./setup-hook.sh;
 
     passthru = rec {
-      interpreter = "${self}/bin/perl";
+      interpreter = "${perl}/bin/perl";
       libPrefix = "lib/perl5/site_perl";
       pkgs = callPackage ../../../top-level/perl-packages.nix {
-        perl = self;
+        inherit perl buildPerl;
         overrides = config.perlPackageOverrides or (p: {}); # TODO: (self: super: {}) like in python
       };
       buildEnv = callPackage ./wrapper.nix {
-        perl = self;
+        inherit perl;
         inherit (pkgs) requiredPerlModules;
       };
       withPackages = f: buildEnv.override { extraLibs = f pkgs; };
@@ -190,17 +190,19 @@ let
     # TODO merge setup hooks
     setupHook = ./setup-hook-cross.sh;
   });
-in rec {
+in {
   # the latest Maint version
   perl528 = common {
-    self = perl528;
+    perl = pkgs.perl528;
+    buildPerl = buildPackages.perl528;
     version = "5.28.2";
     sha256 = "1iynpsxdym4h76kgndmn3ykvwxhqz444xvaz8z2irsxkvmnlb5da";
   };
 
   # the latest Devel version
   perldevel = common {
-    self = perldevel;
+    perl = pkgs.perldevel;
+    buildPerl = buildPackages.perldevel;
     version = "5.29.9";
     sha256 = "017x3nghyc5m8q1yqnrdma96b3d5rlfx87vv5mi64jq0r8k6zppm";
   };
diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix
index d986490310b..b3561bcbb72 100644
--- a/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -49,6 +49,9 @@
 # Skip wrapping of python programs altogether
 , dontWrapPythonPrograms ? false
 
+# Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs
+, permitUserSite ? false
+
 # Remove bytecode from bin folder.
 # When a Python script has the extension `.py`, bytecode is generated
 # Typically, executables in bin have no extension, so no bytecode is generated.
diff --git a/pkgs/development/interpreters/python/wrap.sh b/pkgs/development/interpreters/python/wrap.sh
index b2d65422db4..c7201c7a997 100644
--- a/pkgs/development/interpreters/python/wrap.sh
+++ b/pkgs/development/interpreters/python/wrap.sh
@@ -73,9 +73,12 @@ wrapPythonProgramsIn() {
                     # (see pkgs/build-support/setup-hooks/make-wrapper.sh)
                     local -a wrap_args=("$f"
                                     --prefix PATH ':' "$program_PATH"
-                                    --set PYTHONNOUSERSITE "true"
                                     )
 
+                    if [ -z "$permitUserSite" ]; then
+                        wrap_args+=(--set PYTHONNOUSERSITE "true")
+                    fi
+
                     # Add any additional arguments provided by makeWrapperArgs
                     # argument to buildPythonPackage.
                     local -a user_args="($makeWrapperArgs)"
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index 27d01e4e1f5..5a2ec567b9e 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -3,6 +3,7 @@
 , extraOutputsToInstall ? []
 , postBuild ? ""
 , ignoreCollisions ? false
+, permitUserSite ? false
 , requiredPythonModules
 # Wrap executables with the given argument.
 , makeWrapperArgs ? []
@@ -34,7 +35,7 @@ let
             if [ -f "$prg" ]; then
               rm -f "$out/bin/$prg"
               if [ -x "$prg" ]; then
-                makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out" --set PYTHONNOUSERSITE "true" ${stdenv.lib.concatStringsSep " " makeWrapperArgs}
+                makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out" ${if permitUserSite then "" else ''--set PYTHONNOUSERSITE "true"''} ${stdenv.lib.concatStringsSep " " makeWrapperArgs}
               fi
             fi
           done
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index ed2bf99d197..e6c8a123041 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -11,14 +11,7 @@ let
   opString = lib.optionalString;
   patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
   config = import ./config.nix { inherit fetchFromSavannah; };
-  rubygemsSrc = import ./rubygems-src.nix { inherit fetchurl; };
-  rubygemsPatch = fetchpatch {
-    url = "https://github.com/zimbatm/rubygems/compare/v2.6.6...v2.6.6-nix.patch";
-    sha256 = "0297rdb1m6v75q8665ry9id1s74p9305dv32l95ssf198liaihhd";
-  };
-  unpackdir = obj:
-    lib.removeSuffix ".tgz"
-      (lib.removeSuffix ".tar.gz" obj.name);
+  rubygems = import ./rubygems { inherit stdenv lib fetchurl fetchpatch; };
 
   # Contains the ruby version heuristics
   rubyVersion = import ./ruby-version.nix { inherit lib; };
@@ -33,7 +26,10 @@ let
     ver = version;
     tag = ver.gitTag;
     atLeast25 = lib.versionAtLeast ver.majMin "2.5";
-    baseruby = self.override { useRailsExpress = false; };
+    baseruby = self.override {
+      useRailsExpress = false;
+      docSupport = false;
+    };
     self = lib.makeOverridable (
       { stdenv, buildPackages, lib
       , fetchurl, fetchpatch, fetchFromSavannah, fetchFromGitHub
@@ -42,15 +38,17 @@ let
       , openssl, opensslSupport ? true
       , gdbm, gdbmSupport ? true
       , ncurses, readline, cursesSupport ? true
-      , groff, docSupport ? false
+      , groff, docSupport ? true
       , libyaml, yamlSupport ? true
       , libffi, fiddleSupport ? true
       , autoreconfHook, bison, autoconf
       , buildEnv, bundler, bundix
       , libiconv, libobjc, libunwind, Foundation
       }:
-      let rubySrc =
-        if useRailsExpress then fetchFromGitHub {
+      stdenv.mkDerivation rec {
+        name = "ruby-${version}";
+
+        src = if useRailsExpress then fetchFromGitHub {
           owner  = "ruby";
           repo   = "ruby";
           rev    = tag;
@@ -59,20 +57,12 @@ let
           url = "https://cache.ruby-lang.org/pub/ruby/${ver.majMin}/ruby-${ver}.tar.gz";
           sha256 = sha256.src;
         };
-      in
-      stdenv.mkDerivation rec {
-        name = "ruby-${version}";
-
-        srcs = [ rubySrc rubygemsSrc ];
-        sourceRoot =
-          if useRailsExpress then
-            rubySrc.name
-          else
-            unpackdir rubySrc;
 
         # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
         NROFF = if docSupport then "${groff}/bin/nroff" else null;
 
+        outputs = [ "out" ] ++ lib.optional docSupport "devdoc";
+
         nativeBuildInputs = [ autoreconfHook bison ]
           ++ (op docSupport groff)
           ++ op (stdenv.buildPlatform != stdenv.hostPlatform) buildPackages.ruby;
@@ -100,10 +90,7 @@ let
           })."${ver.majMinTiny}";
 
         postUnpack = ''
-          cp -r ${unpackdir rubygemsSrc} ${sourceRoot}/rubygems
-          pushd ${sourceRoot}/rubygems
-          patch -p1 < ${rubygemsPatch}
-          popd
+          cp -r ${rubygems} $sourceRoot/rubygems
         '';
 
         postPatch = if atLeast25 then ''
@@ -130,6 +117,10 @@ let
           ++ op (stdenv.hostPlatform != stdenv.buildPlatform)
              "--with-baseruby=${buildRuby}";
 
+        preConfigure = opString docSupport ''
+          configureFlagsArray+=("--with-ridir=$devdoc/share/ri")
+        '';
+
         # fails with "16993 tests, 2229489 assertions, 105 failures, 14 errors, 89 skips"
         # mostly TZ- and patch-related tests
         # TZ- failures are caused by nix sandboxing, I didn't investigate others
@@ -146,6 +137,7 @@ let
         postInstall = ''
           # Update rubygems
           pushd rubygems
+          chmod +w bundler/bundler.gemspec
           ${buildRuby} setup.rb --destdir $GEM_HOME
           popd
 
@@ -158,12 +150,26 @@ let
           addGemPath() {
             addToSearchPath GEM_PATH \$1/${passthru.gemPath}
           }
+          addRubyLibPath() {
+            addToSearchPath RUBYLIB \$1/lib/ruby/site_ruby
+            addToSearchPath RUBYLIB \$1/lib/ruby/site_ruby/${ver.libDir}
+            addToSearchPath RUBYLIB \$1/lib/ruby/site_ruby/${ver.libDir}/${stdenv.targetPlatform.system}
+          }
 
           addEnvHooks "$hostOffset" addGemPath
+          addEnvHooks "$hostOffset" addRubyLibPath
           EOF
-        '' + opString useRailsExpress ''
-          rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
 
+          rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+        '' + opString docSupport ''
+          # Prevent the docs from being included in the closure
+          sed -i "s|\$(DESTDIR)$devdoc|\$(datarootdir)/\$(RI_BASE_NAME)|" $rbConfig
+          sed -i "s|'--with-ridir=$devdoc/share/ri'||" $rbConfig
+
+          # Add rbconfig shim so ri can find docs
+          mkdir -p $devdoc/lib/ruby/site_ruby
+          cp ${./rbconfig.rb} $devdoc/lib/ruby/site_ruby/rbconfig.rb
+        '' + opString useRailsExpress ''
           # Prevent the baseruby from being included in the closure.
           sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
           sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
diff --git a/pkgs/development/interpreters/ruby/rbconfig.rb b/pkgs/development/interpreters/ruby/rbconfig.rb
new file mode 100644
index 00000000000..eeba930b54b
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/rbconfig.rb
@@ -0,0 +1,25 @@
+# This is a shim around whatever real rbconfig.rb is in the LOAD_PATH,
+# so that RbConfig::CONFIG["ridir"] can be overridden to point to the
+# custom location of the ri docs, without the main derivation having
+# those docs in its closure.
+
+MY_PATH = File.realpath(__FILE__)
+
+candidates = $LOAD_PATH.map { |dir| File.join(dir, "rbconfig.rb") }
+
+# First, drop everything _before_ this file in the LOAD_PATH, just on
+# the off-chance somebody is composing shims like this for some reason.
+candidates.drop_while { |c| !File.exist?(c) || File.realpath(c) != MY_PATH }
+
+# Now, the wrapped rbconfig.rb is the next rbconfig.rb in the LOAD_PATH
+# that isn't this same file. (Yes, duplicate LOAD_PATH entries are a
+# thing we have to deal with.)
+next_rbconfig = candidates.find { |c|
+  File.exist?(c) && File.realpath(c) != MY_PATH
+}
+
+# Load the wrapped rbconfig.rb
+require next_rbconfig
+
+# Now we have RbConfig, and can modify it for our own ends.
+RbConfig::CONFIG["ridir"] = File.expand_path("../../../share/ri", __dir__)
diff --git a/pkgs/development/interpreters/ruby/rubygems-src.nix b/pkgs/development/interpreters/ruby/rubygems-src.nix
deleted file mode 100644
index 4e5793f1113..00000000000
--- a/pkgs/development/interpreters/ruby/rubygems-src.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ fetchurl
-, version ? "2.7.7"
-, sha256 ? "1jsmmd31j8j066b83lin4bbqz19jhrirarzb41f3sjhfdjiwkcjc"
-}:
-fetchurl {
-  url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
-  sha256 = sha256;
-}
diff --git a/pkgs/development/interpreters/ruby/rubygems/0001-add-post-extract-hook.patch b/pkgs/development/interpreters/ruby/rubygems/0001-add-post-extract-hook.patch
new file mode 100644
index 00000000000..84d1d52409e
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/rubygems/0001-add-post-extract-hook.patch
@@ -0,0 +1,34 @@
+From a6485cfcdf51ff8be452980f93cebfea97f34dec Mon Sep 17 00:00:00 2001
+From: zimbatm <zimbatm@zimbatm.com>
+Date: Wed, 21 Sep 2016 09:32:34 +0100
+Subject: [PATCH 1/3] add post-extract hook
+
+Allows nix to execute scripts just after the gem extraction
+---
+ lib/rubygems/installer.rb | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
+index d26b1e88..bf18fb7f 100644
+--- a/lib/rubygems/installer.rb
++++ b/lib/rubygems/installer.rb
+@@ -848,7 +848,15 @@ TEXT
+   # Ensures that files can't be installed outside the gem directory.
+ 
+   def extract_files
+-    @package.extract_files gem_dir
++    ret = @package.extract_files gem_dir
++    if ENV['NIX_POST_EXTRACT_FILES_HOOK']
++      puts
++      puts "running NIX_POST_EXTRACT_FILES_HOOK #{ENV['NIX_POST_EXTRACT_FILES_HOOK']} #{gem_dir}"
++      system(ENV['NIX_POST_EXTRACT_FILES_HOOK'], gem_dir.to_s)
++      puts "running NIX_POST_EXTRACT_FILES_HOOK done"
++      puts
++    end
++    ret
+   end
+ 
+   ##
+-- 
+2.21.0
+
diff --git a/pkgs/development/interpreters/ruby/rubygems/0002-binaries-with-env-shebang.patch b/pkgs/development/interpreters/ruby/rubygems/0002-binaries-with-env-shebang.patch
new file mode 100644
index 00000000000..d6eba67e106
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/rubygems/0002-binaries-with-env-shebang.patch
@@ -0,0 +1,28 @@
+From 2e1328bcdddd35e557eabdff83ac07f3591dc693 Mon Sep 17 00:00:00 2001
+From: zimbatm <zimbatm@zimbatm.com>
+Date: Wed, 21 Sep 2016 19:37:05 +0100
+Subject: [PATCH 2/3] binaries with env shebang
+
+By default, don't point to the absolute ruby derivation path. As a user
+installing a gem in the home, it would freeze the selected ruby version
+to the currently-installed ruby derivation.
+---
+ lib/rubygems/dependency_installer.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_installer.rb
+index 34620860..00ab31d9 100644
+--- a/lib/rubygems/dependency_installer.rb
++++ b/lib/rubygems/dependency_installer.rb
+@@ -18,7 +18,7 @@ class Gem::DependencyInstaller
+   extend Gem::Deprecate
+ 
+   DEFAULT_OPTIONS = { # :nodoc:
+-    :env_shebang         => false,
++    :env_shebang         => true,
+     :document            => %w[ri],
+     :domain              => :both, # HACK dup
+     :force               => false,
+-- 
+2.21.0
+
diff --git a/pkgs/development/interpreters/ruby/rubygems/0003-gem-install-default-to-user.patch b/pkgs/development/interpreters/ruby/rubygems/0003-gem-install-default-to-user.patch
new file mode 100644
index 00000000000..138d432c820
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/rubygems/0003-gem-install-default-to-user.patch
@@ -0,0 +1,26 @@
+From d69249d0ff210316121b44d971ddd2439b1bc393 Mon Sep 17 00:00:00 2001
+From: zimbatm <zimbatm@zimbatm.com>
+Date: Wed, 21 Sep 2016 09:40:39 +0100
+Subject: [PATCH 3/3] gem install default to user
+
+Default to not installing gems to the read-only system derivation.
+---
+ lib/rubygems/path_support.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/rubygems/path_support.rb b/lib/rubygems/path_support.rb
+index ed680d65..749b9ea6 100644
+--- a/lib/rubygems/path_support.rb
++++ b/lib/rubygems/path_support.rb
+@@ -23,7 +23,7 @@ class Gem::PathSupport
+   # hashtable, or defaults to ENV, the system environment.
+   #
+   def initialize(env)
+-    @home = env["GEM_HOME"] || Gem.default_dir
++    @home = env["GEM_HOME"] || Gem.user_dir
+ 
+     if File::ALT_SEPARATOR
+       @home = @home.gsub(File::ALT_SEPARATOR, File::SEPARATOR)
+-- 
+2.21.0
+
diff --git a/pkgs/development/interpreters/ruby/rubygems/default.nix b/pkgs/development/interpreters/ruby/rubygems/default.nix
new file mode 100644
index 00000000000..db28cbe28fa
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/rubygems/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchurl, fetchpatch }:
+
+stdenv.mkDerivation rec {
+  name = "rubygems";
+  version = "3.0.3";
+
+  src = fetchurl {
+    url = "https://rubygems.org/rubygems/rubygems-${version}.tgz";
+    sha256 = "0b6b9ads8522804xv8b8498gqwsv4qawv13f81kyc7g966y7lfmy";
+  };
+
+  patches = [
+    ./0001-add-post-extract-hook.patch
+    ./0002-binaries-with-env-shebang.patch
+    ./0003-gem-install-default-to-user.patch
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    cp -r . $out
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Package management framework for Ruby";
+    homepage = https://rubygems.org/;
+    license = with licenses; [ mit /* or */ ruby ];
+    maintainers = with maintainers; [ qyliss zimbatm ];
+  };
+}
diff --git a/pkgs/development/libraries/alkimia/default.nix b/pkgs/development/libraries/alkimia/default.nix
index 6f4fd09015e..f98c8fa480e 100644
--- a/pkgs/development/libraries/alkimia/default.nix
+++ b/pkgs/development/libraries/alkimia/default.nix
@@ -1,19 +1,20 @@
 { mkDerivation, fetchurl, lib
-, extra-cmake-modules, doxygen, graphviz, qtbase, mpir
+, extra-cmake-modules, doxygen, graphviz, qtbase, qtwebkit, mpir
+, kdelibs4support, plasma-framework, knewstuff, kpackage
 }:
 
 mkDerivation rec {
   name = "alkimia-${version}";
-  version = "7.0.1";
+  version = "8.0.1";
 
   src = fetchurl {
-    url = "mirror://kde/stable/alkimia/${version}/src/${name}.tar.xz";
-    sha256 = "1fri76465058fgsyrmdrc3hj1javz4g10mfzqp5rsj7qncjr1i22";
+    url = "mirror://kde/stable/alkimia/${version}/${name}.tar.xz";
+    sha256 = "059i6vn36sdq5zn2vqzh4asvvgdgs7n478nk9phvb5gdys01fq7m";
   };
 
   nativeBuildInputs = [ extra-cmake-modules doxygen graphviz ];
 
-  buildInputs = [ qtbase ];
+  buildInputs = [ qtbase qtwebkit kdelibs4support plasma-framework knewstuff kpackage ];
   propagatedBuildInputs = [ mpir ];
 
   meta = {
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index 0fc50f2c641..e5d5313eeb1 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -19,11 +19,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "at-spi2-core";
-  version = "2.32.0";
+  version = "2.32.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "083j1v7kdjrpjsv1b9dl3d8xqj39jyp4cfn8i9gbbm7q2g93b923";
+    sha256 = "0lqd7gsl471v6538iighkvb21gjglcb9pklvas32rjpsxcvsjaiw";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/audio/rtmidi/default.nix b/pkgs/development/libraries/audio/rtmidi/default.nix
index 0f3f1fce42b..41bb9ca9f11 100644
--- a/pkgs/development/libraries/audio/rtmidi/default.nix
+++ b/pkgs/development/libraries/audio/rtmidi/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2, alsaLib, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "2.1.1";
+  version = "4.0.0";
   name = "rtmidi-${version}";
 
   src = fetchFromGitHub {
     owner = "thestk";
     repo = "rtmidi";
     rev = "${version}";
-    sha256 = "11pl45lp8sq5xkpipwk622w508nw0qcxr03ibicqn1lsws0hva96";
+    sha256 = "1g31p6a96djlbk9jh5r4pjly3x76lhccva9hrw6xzdma8dsjzgyq";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix
index 4c28ca9f2c7..3603667fbf2 100644
--- a/pkgs/development/libraries/c-blosc/default.nix
+++ b/pkgs/development/libraries/c-blosc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "c-blosc-${version}";
-  version = "1.16.2";
+  version = "1.16.3";
 
   src = fetchFromGitHub {
     owner = "Blosc";
     repo = "c-blosc";
     rev = "v${version}";
-    sha256 = "19wb699rb5bn6h9qhw1m18m2w77lws7r50vxpgrvggnl27mvm3xc";
+    sha256 = "1c58wkf34rp5wh9qp09zdk7zcfn037sk56p4xq1g0vapbnglv603";
   };
 
   buildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix
index a4e4968f562..13550bf3fab 100644
--- a/pkgs/development/libraries/cairomm/default.nix
+++ b/pkgs/development/libraries/cairomm/default.nix
@@ -1,15 +1,12 @@
 { fetchurl, stdenv, pkgconfig, darwin, cairo, fontconfig, freetype, libsigcxx }:
-let
-  ver_maj = "1.12";
-  ver_min = "2";
-in
 stdenv.mkDerivation rec {
-  name = "cairomm-${ver_maj}.${ver_min}";
+  pname = "cairomm";
+  version = "1.12.2";
 
   src = fetchurl {
-    url = "https://www.cairographics.org/releases/${name}.tar.gz";
+    url = "https://www.cairographics.org/releases/${pname}-${version}.tar.gz";
     # gnome doesn't have the latest version ATM; beware: same name but different hash
-    # url = "mirror://gnome/sources/cairomm/${ver_maj}/${name}.tar.xz";
+    #url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25";
   };
 
@@ -39,7 +36,7 @@ stdenv.mkDerivation rec {
       when available (e.g., through the X Render Extension).
     '';
 
-    homepage = http://cairographics.org/;
+    homepage = "https://www.cairographics.org/";
 
     license = with licenses; [ lgpl2Plus mpl10 ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/cfitsio/default.nix b/pkgs/development/libraries/cfitsio/default.nix
index a21158723be..32308c34ead 100644
--- a/pkgs/development/libraries/cfitsio/default.nix
+++ b/pkgs/development/libraries/cfitsio/default.nix
@@ -1,15 +1,23 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv
 
- stdenv.mkDerivation {
-  name = "cfitsio-3.430";
+# Optional dependencies
+, bzip2 ? null }:
+
+stdenv.mkDerivation rec {
+  name = "cfitsio-${version}";
+  version = "3.450";
 
   src = fetchurl {
-    url = "ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3430.tar.gz";
-    sha256 = "07fghxh5fl8nqk3q0dh8rvc83npnm0hisxzcj16a6r7gj5pmp40l";
+    url = "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio${builtins.replaceStrings ["."] [""] version}.tar.gz";
+    sha256 = "0bmrkw6w65zb0k3mszaaqy1f4zjm2hl7njww74nb5v38wvdi4q5z";
   };
 
+  buildInputs = [ bzip2 ];
+
   patches = [ ./darwin-curl-config.patch ./darwin-rpath-universal.patch ];
 
+  configureFlags = stdenv.lib.optional (bzip2 != null) "--with-bzip2=${bzip2.out}";
+
   # Shared-only build
   buildFlags = "shared";
   postPatch = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
@@ -27,8 +35,8 @@
          advanced features for manipulating and filtering the information in
          FITS files.
       '';
-    # Permissive BSD-style license.
-    license = "permissive";
+    license = licenses.mit;
+    maintainers = [ maintainers.xbreak ];
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/ctl/default.nix b/pkgs/development/libraries/ctl/default.nix
index ac6c9657dde..71e30104476 100644
--- a/pkgs/development/libraries/ctl/default.nix
+++ b/pkgs/development/libraries/ctl/default.nix
@@ -1,22 +1,31 @@
-{ stdenv, callPackage, cmake, pkgconfig, ilmbase, libtiff, openexr }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, ilmbase, libtiff, openexr }:
 
-let
-  source = callPackage ./source.nix { };
-in
-stdenv.mkDerivation {
-  name = "ctl-${source.version}";
+stdenv.mkDerivation rec {
+  pname = "ctl";
+  version = "1.5.2";
 
-  src = source.src;
+  src = fetchFromGitHub {
+    owner = "ampas";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "0a698rd1cmixh3mk4r1xa6rjli8b8b7dbx89pb43xkgqxy67glwx";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "ctl-1.5.2-ilm_230.patch";
+      url = "https://src.fedoraproject.org/rpms/CTL/raw/9d7c15a91bccdc0a9485d463bf2789be72e6b17d/f/ctl-1.5.2-ilm_230.patch";
+      sha256 = "0mdx7llwrm0q8ai53zhyxi40i9h5s339dbkqpqv30yzi2xpnfj3d";
+    })
+  ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake libtiff ilmbase openexr ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ libtiff ilmbase openexr ];
 
   meta = with stdenv.lib; {
     description = "Color Transformation Language";
-    homepage = http://ampasctl.sourceforge.net;
-    license = "A.M.P.A.S";
+    homepage = "https://github.com/ampas/CTL";
+    license = "A.M.P.A.S"; # BSD-derivative, free but GPL incompatible
     platforms = platforms.all;
   };
-
-  passthru.source = source;
 }
diff --git a/pkgs/development/libraries/ctl/source.nix b/pkgs/development/libraries/ctl/source.nix
deleted file mode 100644
index d0cb83c0369..00000000000
--- a/pkgs/development/libraries/ctl/source.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ fetchFromGitHub }:
-rec {
-  version = "1.5.2";
-
-  src = fetchFromGitHub {
-    owner = "ampas";
-    repo = "CTL";
-    rev = "ctl-${version}";
-    sha256 = "0a698rd1cmixh3mk4r1xa6rjli8b8b7dbx89pb43xkgqxy67glwx";
-  };
-}
diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix
index 49536687a93..157a6a21f3d 100644
--- a/pkgs/development/libraries/dav1d/default.nix
+++ b/pkgs/development/libraries/dav1d/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "08vysa3naqjfvld9w1k6l6hby4xfn4l2gvnfnan498g5nss4050h";
+    sha256 = "1m5vdg64iqxpi37l84mcfiq313g9z55zf66s85j2rqik6asmxbqg";
   };
 
   nativeBuildInputs = [ meson ninja nasm ];
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index fe57759f09f..c6237795960 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }:
+{ stdenv, fetchurl, buildPackages
+, pkgconfig, expat, gettext, libiconv, dbus, glib
+}:
 
 stdenv.mkDerivation rec {
   name = "dbus-glib-0.110";
@@ -11,15 +13,15 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
-  nativeBuildInputs = [ pkgconfig gettext ];
+  nativeBuildInputs = [ pkgconfig gettext glib ];
 
   buildInputs = [ expat libiconv ];
 
   propagatedBuildInputs = [ dbus glib ];
 
-  preConfigure = ''
-    configureFlagsArray+=("--exec-prefix=$dev")
-  '';
+  configureFlags = [ "--exec-prefix=${placeholder "dev"}" ] ++
+    stdenv.lib.optional (stdenv.buildPlatform != stdenv.hostPlatform)
+      "--with-dbus-binding-tool=${buildPackages.dbus-glib.dev}/bin/dbus-binding-tool";
 
   doCheck = false;
 
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index 4eaded81436..78f80d2baf4 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "eccodes-${version}";
-  version = "2.12.0";
+  version = "2.12.5";
 
   src = fetchurl {
     url = "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
-    sha256 = "0rqkx6p85b0v6zdkm4q2r516b7ldkxhkfc0cwkl24djlkv7fanpp";
+    sha256 = "0576fccng4nvmq5gma1nb1v00if5cwl81w4nv5zkb80q5wicn50c";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/fflas-ffpack/default.nix b/pkgs/development/libraries/fflas-ffpack/default.nix
index a37a11f5cb0..a67210e860c 100644
--- a/pkgs/development/libraries/fflas-ffpack/default.nix
+++ b/pkgs/development/libraries/fflas-ffpack/default.nix
@@ -1,28 +1,18 @@
 { stdenv, fetchFromGitHub, autoreconfHook, givaro, pkgconfig, blas
-, fetchpatch
 , gmpxx
 }:
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "fflas-ffpack";
-  version = "2.3.2";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "1cqhassj2dny3gx0iywvmnpq8ca0d6m82xl5rz4mb8gaxr2kwddl";
+    sha256 = "1q1ala88ysz14pb5cn2kskv829nc1qif7zfzjwzhd5nnzwyivmc4";
   };
 
-  patches = [
-    # https://github.com/linbox-team/fflas-ffpack/issues/146
-    (fetchpatch {
-      name = "fix-flaky-test-fgemm-check.patch";
-      url = "https://github.com/linbox-team/fflas-ffpack/commit/d8cd67d91a9535417a5cb193cf1540ad6758a3db.patch";
-      sha256 = "1gnfc616fvnlr0smvz6lb2d445vn8fgv6vqcr6pwm3dj4wa6v3b3";
-    })
-  ];
-
   checkInputs = [
     gmpxx
   ];
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 306b4e22cfc..db606cc02d6 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -97,8 +97,7 @@
 , 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
+, nvenc ? true, nv-codec-headers ? null # NVIDIA NVENC support
 , openal ? null # OpenAL 1.1 capture support
 #, opencl ? null # OpenCL code
 , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
@@ -228,15 +227,14 @@ assert libxcbxfixesExtlib -> libxcb != null;
 assert libxcbshapeExtlib -> libxcb != null;
 assert openglExtlib -> libGLU_combined != null;
 assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
-assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-full-${version}";
-  version = "4.1.2";
+  version = "4.1.3";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "0yrl6nij4b1pk1c4nbi80857dsd760gziiss2ls19awq8zj0lpxr";
+    sha256 = "0gdnprc7gk4b7ckq8wbxbrj7i00r76r9a5g9mj7iln40512j0c0c";
   };
 
   prePatch = ''
@@ -418,13 +416,13 @@ stdenv.mkDerivation rec {
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
     ++ optionals isLinux [ alsaLib libraw1394 libv4l ]
     ++ optional (isLinux && libmfx != null) libmfx
-    ++ optionals nvenc [ nvidia-video-sdk nv-codec-headers ]
+    ++ optional nvenc nv-codec-headers
     ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
                                    MediaToolbox VideoDecodeAcceleration
                                    libiconv cf-private /* For _OBJC_EHTYPE_$_NSException */ ];
 
-  # Build qt-faststart executable
-  buildPhase = optional qtFaststartProgram ''make tools/qt-faststart'';
+  buildFlags = [ "all" ]
+    ++ optional qtFaststartProgram "tools/qt-faststart"; # Build qt-faststart executable
 
   # Hacky framework patching technique borrowed from the phantomjs2 package
   postInstall = optionalString qtFaststartProgram ''
diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix
index 7e2507d5afd..3066e0b12e5 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.1.2";
-  sha256 = "00yzwc2g97h8ws0haz1p0ahaavhgrbha6xjdc53a5vyfy3zyy3i0";
+  branch = "4.1.3";
+  sha256 = "0aka5pibjhpks1wrsvqpy98v8cbvyvnngwqhh4ajkg6pbdl7k9i9";
   darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
 })
diff --git a/pkgs/development/libraries/folks/default.nix b/pkgs/development/libraries/folks/default.nix
index 57edbaef298..84ab5fedebc 100644
--- a/pkgs/development/libraries/folks/default.nix
+++ b/pkgs/development/libraries/folks/default.nix
@@ -1,34 +1,92 @@
-{ fetchurl, stdenv, pkgconfig, glib, gnome3, nspr, intltool, gobject-introspection
-, vala, sqlite, libxml2, dbus-glib, libsoup, nss, dbus, libgee
-, telepathy-glib, evolution-data-server, libsecret, db }:
+{ fetchurl
+, stdenv
+, pkgconfig
+, meson
+, ninja
+, glib
+, gnome3
+, nspr
+, gettext
+, gobject-introspection
+, vala
+, sqlite
+, libxml2
+, dbus-glib
+, libsoup
+, nss
+, dbus
+, libgee
+, telepathy-glib
+, evolution-data-server
+, libsecret
+, db
+, python3
+, python
+, readline
+, gtk3
+}:
 
 # TODO: enable more folks backends
 
 stdenv.mkDerivation rec {
   pname = "folks";
-  version = "0.11.4";
+  version = "0.12.1";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57";
+    sha256 = "0xfl6rnzhdbmw1q26xiq34cdiy7a9karpi2r7wyplnnz1zaz5a9w";
   };
 
-  propagatedBuildInputs = [ glib libgee sqlite ];
+  mesonFlags = [
+    # TODO: https://gitlab.gnome.org/GNOME/folks/issues/108
+    "-Ddocs=false"
+  ];
 
-  buildInputs = [
-    dbus-glib telepathy-glib evolution-data-server
-    libsecret libxml2 libsoup nspr nss db
+  nativeBuildInputs = [
+    gettext
+    gobject-introspection
+    gtk3
+    meson
+    ninja
+    pkgconfig
+    python
+    python3
+    vala
   ];
 
-  checkInputs = [ dbus ];
+  buildInputs = [
+    db
+    dbus-glib
+    evolution-data-server
+    libsecret
+    libsoup
+    libxml2
+    nspr
+    nss
+    readline
+    telepathy-glib
+  ];
 
-  nativeBuildInputs = [ pkgconfig intltool vala gobject-introspection ];
+  propagatedBuildInputs = [
+    glib
+    libgee
+    sqlite
+  ];
 
-  configureFlags = [ "--disable-fatal-warnings" ];
+  checkInputs = [
+    dbus
+  ];
 
-  enableParallelBuilding = true;
+  # TODO: enable tests
+  # doCheck = true;
 
-  postBuild = "rm -rf $out/share/gtk-doc";
+  postPatch = ''
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+    patchShebangs tests/tools/manager-file.py
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -37,11 +95,11 @@ stdenv.mkDerivation rec {
     };
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library that aggregates people from multiple sources to create metacontacts";
     homepage = https://wiki.gnome.org/Projects/Folks;
-    license = stdenv.lib.licenses.lgpl2Plus;
+    license = licenses.lgpl2Plus;
     maintainers = gnome3.maintainers;
-    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
+    platforms = platforms.gnu ++ platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/gcab/default.nix b/pkgs/development/libraries/gcab/default.nix
index 2b9b59e7baf..ee5988b30f5 100644
--- a/pkgs/development/libraries/gcab/default.nix
+++ b/pkgs/development/libraries/gcab/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, gettext, gobject-introspection, pkgconfig
-, meson, ninja, glibcLocales, git, vala, glib, zlib
+, meson, ninja, glibcLocales, git, vala, glib, zlib, gnome3
 }:
 
 stdenv.mkDerivation rec {
-  name = "gcab-${version}";
+  pname = "gcab";
   version = "1.2";
 
   LC_ALL = "en_US.UTF-8";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gcab/${version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "038h5kk41si2hc9d9169rrlvp8xgsxq27kri7hv2vr39gvz9cbas";
   };
 
@@ -22,10 +22,17 @@ stdenv.mkDerivation rec {
     "-Dtests=false"
   ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     license = licenses.lgpl21;
+    homepage = "https://wiki.gnome.org/msitools";
     maintainers = [ maintainers.lethalman ];
   };
-
 }
diff --git a/pkgs/development/libraries/givaro/default.nix b/pkgs/development/libraries/givaro/default.nix
index bfbce57b0a6..0221b9c7013 100644
--- a/pkgs/development/libraries/givaro/default.nix
+++ b/pkgs/development/libraries/givaro/default.nix
@@ -2,12 +2,12 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "givaro";
-  version = "4.0.4";
+  version = "4.1.0";
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "199p8wyj5i63jbnk7j8qbdbfp5rm2lpmcxyk3mdjy9bz7ygx3hhy";
+    sha256 = "1l1172c964hni66mjdmhr7766l5k7y63zs3hgcpr10a8f1nx3iwp";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index ab5826bc796..a51183e4e11 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -3,14 +3,14 @@
 
 let
   pname = "glib-networking";
-  version = "2.60.1";
+  version = "2.60.2";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "14jx8ca7plgh196629ghj41gsaha0aza222g64093hjsm8pnn76p";
+    sha256 = "0cl74q7hvq4xqqc88vlzmfw1sh5n9hdh1yvn2v1vg9am1z8z68n0";
   };
 
   outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 95eaf37d5c7..db4eee38b6e 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -46,7 +46,7 @@ let
   '';
 
   binPrograms = optional (!stdenv.isDarwin) "gapplication" ++ [ "gdbus" "gio" "gsettings" ];
-  version = "2.60.1";
+  version = "2.60.2";
 in
 
 stdenv.mkDerivation rec {
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0q2mkdvp20v6dvrhik8k5j875kj29hcfz346xi0624n6spsq9y49";
+    sha256 = "1nc0iyday7866hq0hb78h7lxa44an998lzis8jhgvp8a0rsm9w9f";
   };
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch
diff --git a/pkgs/development/libraries/gnome-menus/default.nix b/pkgs/development/libraries/gnome-menus/default.nix
index 9bfc638634b..501fe4d0849 100644
--- a/pkgs/development/libraries/gnome-menus/default.nix
+++ b/pkgs/development/libraries/gnome-menus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gettext, glib, gobject-introspection }:
+{ stdenv, fetchurl, pkgconfig, gettext, glib, gobject-introspection, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-menus";
@@ -17,9 +17,17 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig gettext ];
   buildInputs = [ glib gobject-introspection ];
 
-  meta = {
-    homepage = https://www.gnome.org;
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-menus";
     description = "Library that implements freedesktops's Desktop Menu Specification in GNOME";
-    platforms = stdenv.lib.platforms.linux;
+    license = with licenses; [ gpl2 lgpl2 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gnutls/3.5.10.nix b/pkgs/development/libraries/gnutls/3.5.10.nix
deleted file mode 100644
index a44e2b04ed7..00000000000
--- a/pkgs/development/libraries/gnutls/3.5.10.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ callPackage, fetchurl, libunistring, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "3.5.10";
-
-  src = fetchurl {
-    url = "mirror://gnupg/gnutls/v3.5/gnutls-${version}.tar.xz";
-    sha256 = "17apwvdkkazh5w8z8mbanpj2yj8s2002qwy46wz4v3akpa33wi5g";
-  };
-})
diff --git a/pkgs/development/libraries/gnutls/3.6.nix b/pkgs/development/libraries/gnutls/3.6.nix
deleted file mode 100644
index b05624ee0b2..00000000000
--- a/pkgs/development/libraries/gnutls/3.6.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ callPackage, fetchurl, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "3.6.7";
-
-  src = fetchurl {
-    url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
-    sha256 = "1ql8l6l5bxks2pgpwb1602zc0j6ivhpy27hdfc49h8xgbanhjd2v";
-  };
-
-  # Skip some tests:
-  #  - pkgconfig: building against the result won't work before installing (3.5.11)
-  #  - fastopen: no idea; it broke between 3.6.2 and 3.6.3 (3437fdde6 in particular)
-  #  - trust-store: default trust store path (/etc/ssl/...) is missing in sandbox (3.5.11)
-  #  - psk-file: no idea; it broke between 3.6.3 and 3.6.4
-  # Change p11-kit test to use pkg-config to find p11-kit
-  postPatch = ''
-    sed '2iexit 77' -i tests/{pkgconfig,fastopen}.sh
-    sed '/^void doit(void)/,/^{/ s/{/{ exit(77);/' -i tests/{trust-store,psk-file}.c
-    sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh
-  '';
-})
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/default.nix
index 086c0560cc4..8a92390ca30 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -1,33 +1,52 @@
-{ config, lib, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
-, perl, gmp, autogen, libidn, p11-kit, libiconv
+{ config, lib, stdenv, fetchurl, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
+, perl, gmp, autoconf, autogen, automake, libidn, p11-kit, libiconv
+, unbound, dns-root-data, gettext
 , guileBindings ? config.gnutls.guile or false, guile
 , tpmSupport ? false, trousers, which, nettools, libunistring
-, unbound, dns-root-data, gettext
-
-# Version dependent args
-, version, src, patches ? [], postPatch ? "", nativeBuildInputs ? []
-, buildInputs ? []
-, ...}:
+, withSecurity ? false, Security  # darwin Security.framework
+}:
 
 assert guileBindings -> guile != null;
 let
+  version = "3.6.7";
+
   # XXX: Gnulib's `test-select' fails on FreeBSD:
   # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
   doCheck = !stdenv.isFreeBSD && !stdenv.isDarwin && lib.versionAtLeast version "3.4"
       && stdenv.buildPlatform == stdenv.hostPlatform;
+
+  inherit (stdenv.hostPlatform) isDarwin;
 in
+
 stdenv.mkDerivation {
   name = "gnutls-${version}";
+  inherit version;
 
-  inherit src patches;
+  src = fetchurl {
+    url = "mirror://gnupg/gnutls/v3.6/gnutls-${version}.tar.xz";
+    sha256 = "1ql8l6l5bxks2pgpwb1602zc0j6ivhpy27hdfc49h8xgbanhjd2v";
+  };
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
   outputInfo = "devdoc";
 
+  patches = [ ./nix-ssl-cert-file.patch ]
+    # Disable native add_system_trust.
+    ++ lib.optional (isDarwin && !withSecurity) ./no-security-framework.patch;
+
+  # Skip some tests:
+  #  - pkgconfig: building against the result won't work before installing (3.5.11)
+  #  - fastopen: no idea; it broke between 3.6.2 and 3.6.3 (3437fdde6 in particular)
+  #  - trust-store: default trust store path (/etc/ssl/...) is missing in sandbox (3.5.11)
+  #  - psk-file: no idea; it broke between 3.6.3 and 3.6.4
+  # Change p11-kit test to use pkg-config to find p11-kit
   postPatch = lib.optionalString (lib.versionAtLeast version "3.4") ''
-    sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' \
-      -i tests/cert-tests/name-constraints
-  '' + postPatch;
+    sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' -i tests/cert-tests/name-constraints
+  '' + lib.optionalString (lib.versionAtLeast version "3.6") ''
+    sed '2iexit 77' -i tests/{pkgconfig,fastopen}.sh
+    sed '/^void doit(void)/,/^{/ s/{/{ exit(77);/' -i tests/{trust-store,psk-file}.c
+    sed 's:/usr/lib64/pkcs11/ /usr/lib/pkcs11/ /usr/lib/x86_64-linux-gnu/pkcs11/:`pkg-config --variable=p11_module_path p11-kit-1`:' -i tests/p11-kit-trust.sh
+  '';
 
   preConfigure = "patchShebangs .";
   configureFlags =
@@ -42,11 +61,12 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp autogen libunistring unbound gettext libiconv ]
+    ++ lib.optional (isDarwin && withSecurity) Security
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
-    ++ lib.optional guileBindings guile
-    ++ buildInputs;
+    ++ lib.optional guileBindings guile;
 
-  nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs
+  nativeBuildInputs = [ perl pkgconfig ]
+    ++ lib.optionals (isDarwin && !withSecurity) [ autoconf automake ]
     ++ lib.optionals doCheck [ which nettools ];
 
   propagatedBuildInputs = [ nettle ];
@@ -54,7 +74,7 @@ stdenv.mkDerivation {
   inherit doCheck;
 
   # Fixup broken libtool and pkgconfig files
-  preFixup = lib.optionalString (!stdenv.isDarwin) ''
+  preFixup = lib.optionalString (!isDarwin) ''
     sed ${lib.optionalString tpmSupport "-e 's,-ltspi,-L${trousers}/lib -ltspi,'"} \
         -e 's,-lz,-L${zlib.out}/lib -lz,' \
         -e 's,-L${gmp.dev}/lib,-L${gmp.out}/lib,' \
diff --git a/pkgs/development/libraries/gnutls/nix-ssl-cert-file.patch b/pkgs/development/libraries/gnutls/nix-ssl-cert-file.patch
new file mode 100644
index 00000000000..90d1e85ee8c
--- /dev/null
+++ b/pkgs/development/libraries/gnutls/nix-ssl-cert-file.patch
@@ -0,0 +1,19 @@
+allow overriding system trust store location via $NIX_SSL_CERT_FILE
+
+diff --git a/lib/system/certs.c b/lib/system/certs.c
+index 611c645..6ef6edb 100644
+--- a/lib/system/certs.c
++++ b/lib/system/certs.c
+@@ -369,6 +369,11 @@ gnutls_x509_trust_list_add_system_trust(gnutls_x509_trust_list_t list,
+ 					unsigned int tl_flags,
+ 					unsigned int tl_vflags)
+ {
+-	return add_system_trust(list, tl_flags|GNUTLS_TL_NO_DUPLICATES, tl_vflags);
++	tl_flags = tl_flags|GNUTLS_TL_NO_DUPLICATES;
++	const char *file = secure_getenv("NIX_SSL_CERT_FILE");
++	return file
++		? gnutls_x509_trust_list_add_trust_file(
++			list, file, NULL/*CRL*/, GNUTLS_X509_FMT_PEM, tl_flags, tl_vflags)
++		: add_system_trust(list, tl_flags, tl_vflags);
+ }
+ 
diff --git a/pkgs/development/libraries/gnutls/no-security-framework.patch b/pkgs/development/libraries/gnutls/no-security-framework.patch
new file mode 100644
index 00000000000..7f5808e5053
--- /dev/null
+++ b/pkgs/development/libraries/gnutls/no-security-framework.patch
@@ -0,0 +1,126 @@
+commit 9bcdde1ab9cdff6a4471f9a926dd488ab70c7247
+Author: Daiderd Jordan <daiderd@gmail.com>
+Date:   Mon Apr 22 16:38:27 2019 +0200
+
+    Revert "gnutls_x509_trust_list_add_system_trust: Add macOS keychain support"
+    
+    This reverts commit c0eb46d3463cd21b3f822ac377ff37f067f66b8d.
+
+diff --git a/configure.ac b/configure.ac
+index 8ad597bfd..8d14f26cd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -781,7 +781,7 @@ dnl auto detect https://lists.gnu.org/archive/html/help-gnutls/2012-05/msg00004.
+ AC_ARG_WITH([default-trust-store-file],
+   [AS_HELP_STRING([--with-default-trust-store-file=FILE],
+     [use the given file default trust store])], with_default_trust_store_file="$withval",
+-  [if test "$build" = "$host" && test x$with_default_trust_store_pkcs11 = x && test x$with_default_trust_store_dir = x && test x$have_macosx = x;then
++  [if test "$build" = "$host" && test x$with_default_trust_store_pkcs11 = x && test x$with_default_trust_store_dir = x;then
+   for i in \
+     /etc/ssl/ca-bundle.pem \
+     /etc/ssl/certs/ca-certificates.crt \
+diff --git a/lib/Makefile.am b/lib/Makefile.am
+index fe9cf63a2..745695f7e 100644
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -203,10 +203,6 @@ if WINDOWS
+ thirdparty_libadd += -lcrypt32
+ endif
+ 
+-if MACOSX
+-libgnutls_la_LDFLAGS += -framework Security -framework CoreFoundation
+-endif
+-
+ libgnutls_la_LIBADD += $(thirdparty_libadd)
+ 
+ # C++ library
+diff --git a/lib/system/certs.c b/lib/system/certs.c
+index 611c645e0..912b0aa5e 100644
+--- a/lib/system/certs.c
++++ b/lib/system/certs.c
+@@ -44,12 +44,6 @@
+ # endif
+ #endif
+ 
+-#ifdef __APPLE__
+-# include <CoreFoundation/CoreFoundation.h>
+-# include <Security/Security.h>
+-# include <Availability.h>
+-#endif
+-
+ /* System specific function wrappers for certificate stores.
+  */
+ 
+@@ -276,72 +270,6 @@ int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
+ 
+ 	return r;
+ }
+-#elif defined(__APPLE__) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
+-static
+-int osstatus_error(status)
+-{
+-	CFStringRef err_str = SecCopyErrorMessageString(status, NULL);
+-	_gnutls_debug_log("Error loading system root certificates: %s\n",
+-			  CFStringGetCStringPtr(err_str, kCFStringEncodingUTF8));
+-	CFRelease(err_str);
+-	return GNUTLS_E_FILE_ERROR;
+-}
+-
+-static
+-int add_system_trust(gnutls_x509_trust_list_t list, unsigned int tl_flags,
+-		     unsigned int tl_vflags)
+-{
+-	int r=0;
+-
+-	SecTrustSettingsDomain domain[] = { kSecTrustSettingsDomainUser,
+-					    kSecTrustSettingsDomainAdmin,
+-					    kSecTrustSettingsDomainSystem };
+-	for (size_t d=0; d<sizeof(domain)/sizeof(*domain); d++) {
+-		CFArrayRef certs = NULL;
+-		OSStatus status = SecTrustSettingsCopyCertificates(domain[d],
+-								   &certs);
+-		if (status == errSecNoTrustSettings)
+-			continue;
+-		if (status != errSecSuccess)
+-			return osstatus_error(status);
+-
+-		int cert_count = CFArrayGetCount(certs);
+-		for (int i=0; i<cert_count; i++) {
+-			SecCertificateRef cert =
+-				(void*)CFArrayGetValueAtIndex(certs, i);
+-			CFDataRef der;
+-			status = SecItemExport(cert, kSecFormatX509Cert, 0,
+-					       NULL, &der);
+-			if (status != errSecSuccess) {
+-				CFRelease(der);
+-				CFRelease(certs);
+-				return osstatus_error(status);
+-			}
+-
+-			if (gnutls_x509_trust_list_add_trust_mem(list,
+-								 &(gnutls_datum_t) {
+-									.data = (void*)CFDataGetBytePtr(der),
+-									.size = CFDataGetLength(der),
+-								 },
+-								 NULL,
+-			                                         GNUTLS_X509_FMT_DER,
+-								 tl_flags,
+-								 tl_vflags) > 0)
+-				r++;
+-			CFRelease(der);
+-		}
+-		CFRelease(certs);
+-	}
+-
+-#ifdef DEFAULT_BLACKLIST_FILE
+-	ret = gnutls_x509_trust_list_remove_trust_file(list, DEFAULT_BLACKLIST_FILE, GNUTLS_X509_FMT_PEM);
+-	if (ret < 0) {
+-		_gnutls_debug_log("Could not load blacklist file '%s'\n", DEFAULT_BLACKLIST_FILE);
+-	}
+-#endif
+-
+-	return r;
+-}
+ #else
+ 
+ #define add_system_trust(x,y,z) GNUTLS_E_UNIMPLEMENTED_FEATURE
diff --git a/pkgs/development/libraries/goocanvas/default.nix b/pkgs/development/libraries/goocanvas/default.nix
index 0f9b3f85fcd..435c1f30bac 100644
--- a/pkgs/development/libraries/goocanvas/default.nix
+++ b/pkgs/development/libraries/goocanvas/default.nix
@@ -1,22 +1,28 @@
-{ stdenv, fetchurl, gtk2, cairo, glib, pkgconfig }:
+{ stdenv, fetchurl, gtk2, cairo, glib, pkgconfig, gnome3 }:
 
 stdenv.mkDerivation rec {
-  majVersion = "1.0";
-  version = "${majVersion}.0";
-  name = "goocanvas-${version}";
+  pname = "goocanvas";
+  version = "1.0.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/goocanvas/${majVersion}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "07kicpcacbqm3inp7zq32ldp95mxx4kfxpaazd0x5jk7hpw2w1qw";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gtk2 cairo glib ];
 
-  meta = { 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
+  meta = with stdenv.lib; {
     description = "Canvas widget for GTK+ based on the the Cairo 2D library";
-    homepage = http://goocanvas.sourceforge.net/;
-    license = ["GPL" "LGPL"];
+    homepage = "https://wiki.gnome.org/Projects/GooCanvas";
+    license = licenses.lgpl2;
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix
index ac7391dcaf9..3c49b579b9c 100644
--- a/pkgs/development/libraries/gssdp/default.nix
+++ b/pkgs/development/libraries/gssdp/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gssdp";
-  version = "1.2.0";
+  version = "1.2.1";
 
   outputs = [ "out" "bin" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gssdp/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1l80znxzzpb2fmsrjf3hygi9gcxx5r405qrk5430nbsjgxafzjr2";
+    sha256 = "1lsn6mdkk8yb933n0c9dka89bixvwis09w5nh5wkcag2jsdbfmvb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
index 14e27ab6068..35c278da03b 100644
--- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
@@ -1,14 +1,10 @@
-{ stdenv, fetchurl, pkgconfig, file, glibmm, gst_all_1 }:
-
-let
-  ver_maj = "1.10";
-  ver_min = "0";
-in
+{ stdenv, fetchurl, pkgconfig, file, glibmm, gst_all_1, gnome3 }:
 stdenv.mkDerivation rec {
-  name = "gstreamermm-${ver_maj}.${ver_min}";
+  pname = "gstreamermm";
+  version = "1.10.0";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/gstreamermm/${ver_maj}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0q4dx9sncqbwgpzma0zvj6zssc279yl80pn8irb95qypyyggwn5y";
   };
 
@@ -20,9 +16,16 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none"; # Unpredictable version stability
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "C++ interface for GStreamer";
-    homepage = https://gstreamer.freedesktop.org/bindings/cplusplus.html;
+    homepage = "https://gstreamer.freedesktop.org/bindings/cplusplus.html";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
index 96c9d8e0c8e..d03151e4344 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
@@ -1,4 +1,6 @@
-{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2, libintl }:
+{ fetchurl, fetchpatch, stdenv, autoreconfHook
+, perl, bison2, flex, pkgconfig, glib, libxml2, libintl
+}:
 
 stdenv.mkDerivation rec {
   name = "gstreamer-0.10.36";
@@ -13,12 +15,31 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig libintl ];
-  buildInputs = [ perl bison flex ];
+  nativeBuildInputs = [ autoreconfHook flex perl pkgconfig libintl bison2 glib ];
   propagatedBuildInputs = [ glib libxml2 ];
 
-  # See https://trac.macports.org/ticket/40783 for explanation of patch
-  patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch;
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/GStreamer/common/commit/03a0e5736761a72d4ed880e8c485bbf9e4a8ea47.patch";
+      sha256 = "0rin3x01yy78ky3smmhbwlph18hhym18q4x9w6ddiqajg5lk4xhm";
+      extraPrefix = "common/";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      url = "https://github.com/GStreamer/common/commit/8aadeaaa8a948d7ce62008789ab03e9aa514c2b9.patch";
+      sha256 = "0n2mqvq2al7jr2hflhz4l781i3jya5a9i725jvy508ambpgycz3x";
+      extraPrefix = "common/";
+      stripLen = 1;
+    })
+    (fetchpatch {
+      url = "https://github.com/GStreamer/common/commit/7bb2bcecda471a0d514a964365a78150f3ee5747.patch";
+      sha256 = "0famdj70m7wjvr1dpy7iywhrkqxmrshxz0rizz1bixgp42dvkhbq";
+      extraPrefix = "common/";
+      stripLen = 1;
+    })
+  ] ++
+    # See https://trac.macports.org/ticket/40783 for explanation of patch
+    stdenv.lib.optional stdenv.isDarwin ./darwin.patch;
 
   postPatch = ''
     sed -i -e 's/^   /\t/' docs/gst/Makefile.in docs/libs/Makefile.in docs/plugins/Makefile.in
diff --git a/pkgs/development/libraries/gtkd/default.nix b/pkgs/development/libraries/gtkd/default.nix
index d1ba18739e9..b69e99e0fb8 100644
--- a/pkgs/development/libraries/gtkd/default.nix
+++ b/pkgs/development/libraries/gtkd/default.nix
@@ -84,10 +84,6 @@ stdenv.mkDerivation rec {
 
   installFlags = "prefix=$(out)";
 
-  # Workaround for https://github.com/NixOS/nixpkgs/issues/40397
-  # Remove after update to binutils 2.31
-  dontStrip = true;
-
   inherit atk cairo gdk_pixbuf librsvg pango;
   inherit (gnome3) glib gtk3 gtksourceview libgda libpeas;
   inherit (gst_all_1) gstreamer;
diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix
index 0f72afe4cc1..9d1751afaf9 100644
--- a/pkgs/development/libraries/gtksourceview/3.x.nix
+++ b/pkgs/development/libraries/gtksourceview/3.x.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "gtksourceview-${version}";
-  version = "3.24.10";
+  version = "3.24.11";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtksourceview/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "16ym7jwiki4s1pilwr4incx0yg7ll94f1cajrnpndkxxs36hcm5b";
+    sha256 = "1zbpj283b5ycz767hqz5kdq02wzsga65pp4fykvhg8xj6x50f6v9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix
index 516e4184623..09b7751c828 100644
--- a/pkgs/development/libraries/hyena/default.nix
+++ b/pkgs/development/libraries/hyena/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, mono, gtk-sharp-2_0, monoDLLFixer }:
 
 stdenv.mkDerivation rec {
-  name = "hyena-${version}";
+  pname = "hyena";
   version = "0.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/hyena/${version}/hyena-${version}.tar.bz2" ;
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "eb7154a42b6529bb9746c39272719f3168d6363ed4bad305a916ed7d90bc8de9";
   };
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   inherit monoDLLFixer;
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Hyena;
+    homepage = "https://wiki.gnome.org/Attic/Hyena";
     description = "A C# library which contains a hodge-podge of random stuff";
     longDescription = ''
       Hyena is a C# library used to make awesome applications. It contains a lot of random things,
diff --git a/pkgs/development/libraries/hyperscan/default.nix b/pkgs/development/libraries/hyperscan/default.nix
index 53a3210caca..bc0ce15a083 100644
--- a/pkgs/development/libraries/hyperscan/default.nix
+++ b/pkgs/development/libraries/hyperscan/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, cmake, ragel, python27
+{ stdenv, fetchFromGitHub, cmake, ragel, python3
+, coreutils, gnused, utillinux
 , boost
+, withStatic ? false # build only shared libs by default, build static+shared if true
 }:
 
 # NOTICE: pkgconfig, pcap and pcre intentionally omitted from build inputs
@@ -8,45 +10,41 @@
 #         I not see any reason (for now) to backport 8.41.
 
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "hyperscan";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "intel";
-    repo = "hyperscan";
-    sha256 = "0r2c7s7alnq14yhbfhpkq6m28a3pyfqd427115k0754afxi82vbq";
+    repo = pname;
+    sha256 = "11adkz5ln2d2jywwlmixfnwqp5wxskq1104hmmcpws590lhkjv6j";
     rev = "v${version}";
   };
 
   outputs = [ "out" "dev" ];
 
   buildInputs = [ boost ];
-  nativeBuildInputs = [ cmake ragel python27 ];
+  nativeBuildInputs = [
+    cmake ragel python3
+    # Consider simply using busybox for these
+    # Need at least: rev, sed, cut, nm
+    coreutils gnused utillinux
+  ];
 
   cmakeFlags = [
     "-DFAT_RUNTIME=ON"
     "-DBUILD_AVX512=ON"
-    "-DBUILD_STATIC_AND_SHARED=ON"
-  ];
+  ]
+  ++ stdenv.lib.optional (withStatic) "-DBUILD_STATIC_AND_SHARED=ON"
+  ++ stdenv.lib.optional (!withStatic) "-DBUILD_SHARED_LIBS=ON";
 
-  prePatch = ''
+  postPatch = ''
     sed -i '/examples/d' CMakeLists.txt
+    substituteInPlace libhs.pc.in \
+      --replace "libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@" "libdir=@CMAKE_INSTALL_LIBDIR@" \
+      --replace "includedir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@" "includedir=@CMAKE_INSTALL_INCLUDEDIR@"
   '';
 
-  postInstall = ''
-    mkdir -p $dev/lib
-    mv $out/lib/*.a $dev/lib/
-    ln -sf $out/lib/libhs.so $dev/lib/
-    ln -sf $out/lib/libhs_runtime.so $dev/lib/
-  '';
-
-  postFixup = ''
-    sed -i "s,$out/include,$dev/include," $dev/lib/pkgconfig/libhs.pc
-    sed -i "s,$out/lib,$dev/lib," $dev/lib/pkgconfig/libhs.pc
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "High-performance multiple regex matching library";
     longDescription = ''
       Hyperscan is a high-performance multiple regex matching library.
@@ -61,9 +59,9 @@ stdenv.mkDerivation rec {
       Hyperscan is typically used in a DPI library stack.
     '';
 
-    homepage = https://www.hyperscan.io/;
-    maintainers = with lib.maintainers; [ avnik ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
-    license = lib.licenses.bsd3;
+    homepage = "https://www.hyperscan.io/";
+    maintainers = with maintainers; [ avnik ];
+    platforms = [ "x86_64-linux" ]; # can't find nm on darwin ; might build on aarch64 but untested
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 80154f504d4..43ab20da8ae 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -8,13 +8,15 @@ stdenv.mkDerivation rec {
     url = "https://salsa.debian.org/iso-codes-team/iso-codes/uploads/ef8de8bc12e0512d26ed73436a477871/${name}.tar.xz";
     sha256 = "08i8hjy0qjlw9kd9i87jx967ihwh45l2xi55q1aa5265sind7byb";
   };
+
   patchPhase = ''
     for i in `find . -name \*.py`
     do
         sed -i -e "s|#!/usr/bin/env python|#!${python3}/bin/python|" $i
     done
   '';
-  buildInputs = [ gettext python3 ];
+
+  nativeBuildInputs = [ gettext python3 ];
 
   meta = with stdenv.lib; {
     homepage = https://salsa.debian.org/iso-codes-team/iso-codes;
diff --git a/pkgs/development/libraries/java/lombok/default.nix b/pkgs/development/libraries/java/lombok/default.nix
index 7f932d52dc4..be3ddfff4c8 100644
--- a/pkgs/development/libraries/java/lombok/default.nix
+++ b/pkgs/development/libraries/java/lombok/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "lombok-1.18.4";
+  name = "lombok-1.18.8";
 
   src = fetchurl {
     url = "https://projectlombok.org/downloads/${name}.jar";
-    sha256 = "0hlpycnmzd71ihn59hzf445dvwky2lkv57jimx91i6v7xcnr5wrr";
+    sha256 = "1z14rc3fh03qvn2xkjrb7ha0hddv3f3vsp781xm336sp4cl9b5h3";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/libraries/leptonica/default.nix b/pkgs/development/libraries/leptonica/default.nix
index b9b6c3c7c24..52d835d7a20 100644
--- a/pkgs/development/libraries/leptonica/default.nix
+++ b/pkgs/development/libraries/leptonica/default.nix
@@ -1,44 +1,27 @@
-{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, which, gnuplot
 , giflib, libjpeg, libpng, libtiff, libwebp, openjpeg, zlib
 }:
 
 stdenv.mkDerivation rec {
   name = "leptonica-${version}";
-  version = "1.74.1";
+  version = "1.78.0";
 
   src = fetchurl {
     url = "http://www.leptonica.org/source/${name}.tar.gz";
-    sha256 = "0qpcidvv6igybrrhj0m6j47g642c8sk1qn4dpj82mgd38xx52skl";
+    sha256 = "122s9b8hi93va4lgwnwrbma50x5fp740npy0s92xybd2wy0jxvg2";
   };
 
-  patches = stdenv.lib.singleton (fetchpatch {
-    # configure: Support pkg-config
-    url = "https://github.com/DanBloomberg/leptonica/commit/"
-        + "4476d162cc191a0fefb2ce434153e12bbf188664.patch";
-    sha256 = "1razzp2g49shfaravfqpxm3ivcd1r92lvqysll6nnf6d1wp9865s";
-  });
-
-  postPatch = ''
-    # Remove the AC_SUBST() macros on *_LIBS, because the *_LIBS variables will
-    # be automatically set by PKG_CHECK_MODULES() since autotools 0.24 and
-    # using the ones that are set here in Leptonica's configure.ac do not
-    # include -L linker flags.
-    sed -i -e '/PKG_CHECK_MODULES/,/^ *\])/s/AC_SUBST([^)]*)//' configure.ac
-
-    # The giflib package doesn't ship a pkg-config file, so we need to inject
-    # the linker search path.
-    substituteInPlace configure.ac --replace -lgif \
-      ${stdenv.lib.escapeShellArg "'-L${giflib}/lib -lgif'"}
-  '';
-
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ giflib libjpeg libpng libtiff libwebp openjpeg zlib ];
+  enableParallelBuilding = true;
+
+  checkInputs = [ which gnuplot ];
+  doCheck = !stdenv.isDarwin;
 
   meta = {
     description = "Image processing and analysis library";
     homepage = http://www.leptonica.org/;
-    # Its own license: http://www.leptonica.org/about-the-license.html
-    license = stdenv.lib.licenses.free;
+    license = stdenv.lib.licenses.bsd2; # http://www.leptonica.org/about-the-license.html
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix
index 531ca4102af..9c3132a3e63 100644
--- a/pkgs/development/libraries/libcdio/default.nix
+++ b/pkgs/development/libraries/libcdio/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libcddb, pkgconfig, ncurses, help2man, libiconv, Carbon, IOKit }:
 
 stdenv.mkDerivation rec {
-  name = "libcdio-2.0.0";
+  name = "libcdio-2.1.0";
 
   src = fetchurl {
     url = "mirror://gnu/libcdio/${name}.tar.bz2";
-    sha256 = "0jr8ppdm80c533nzmrpz3iffnpc6nhvsria1di9f4jg1l19a03fd";
+    sha256 = "0avi6apv5ydjy6b9c3z9a46rvp5i57qyr09vr7x4nndxkmcfjl45";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix
index 59f07202fde..28d9152dcee 100644
--- a/pkgs/development/libraries/libdazzle/default.nix
+++ b/pkgs/development/libraries/libdazzle/default.nix
@@ -2,7 +2,7 @@
 , gtk-doc, docbook_xsl, docbook_xml_dtd_43, glibcLocales, dbus, xvfb_run, glib, gtk3, gnome3 }:
 
 let
-  version = "3.32.1";
+  version = "3.32.2";
   pname = "libdazzle";
 in
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0wprqgn480r31pcgmpyk9l6cfvlczfcx10fpqaq9pbn3vjgs3393";
+    sha256 = "0hgi7gnkna9n42nh7p81crrw0jjj22yr8acych60wxh6hzxqsgs1";
   };
 
   nativeBuildInputs = [ ninja meson pkgconfig vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 glibcLocales dbus xvfb_run ];
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index a8daf575416..7415aa754e7 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.97";
+  name = "libdrm-2.4.98";
 
   src = fetchurl {
     url = "https://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "08yimlp6jir1rs5ajgdx74xa5qdzcqahpdzdk0rmkmhh7vdcrl3p";
+    sha256 = "150qdzsm2nx6dfacc75rx53anzsc6m31nhxidf5xxax3mk6fvq4b";
   };
 
   outputs = [ "out" "dev" "bin" ];
diff --git a/pkgs/development/libraries/libdvdread/default.nix b/pkgs/development/libraries/libdvdread/default.nix
index 95815f4abcd..5f0f0827503 100644
--- a/pkgs/development/libraries/libdvdread/default.nix
+++ b/pkgs/development/libraries/libdvdread/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libdvdread-${version}";
-  version = "6.0.0";
+  version = "6.0.1";
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvdread/${version}/${name}.tar.bz2";
-    sha256 = "0dgr23fzcjhb7ck54xkr9zmf4jcq3ph0dz3fbyvla1c6ni9ijfxk";
+    sha256 = "1gfmh8ii3s2fw1c8vn57piwxc0smd3va4h7xgp9s8g48cc04zki8";
   };
 
   buildInputs = [libdvdcss];
diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix
index 95860ac9420..bb6402dc428 100644
--- a/pkgs/development/libraries/libgda/default.nix
+++ b/pkgs/development/libraries/libgda/default.nix
@@ -9,11 +9,11 @@ assert postgresSupport -> postgresql != null;
 
 (if stdenv.isAarch64 then overrideCC stdenv gcc6 else stdenv).mkDerivation rec {
   pname = "libgda";
-  version = "5.2.8";
+  version = "5.2.9";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0id4my5wh2m6rd7ijqp2azsjdb4l4yjrv3imq71kly00gjc6v1z2";
+    sha256 = "16vxv2qvysh22s8h9h6irx96sacagxkz0i4qgi1wc6ibly6fvjjr";
   };
   configureFlags = with stdenv.lib; [ "--enable-gi-system-install=no" ]
     ++ (optional (mysqlSupport) "--with-mysql=yes")
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
index 70353d68ca7..ba9eab43202 100644
--- a/pkgs/development/libraries/libgdiplus/default.nix
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -3,13 +3,13 @@
 , libXrender, libexif, autoreconfHook, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "libgdiplus-5.6";
+  name = "libgdiplus-5.6.1";
 
   src = fetchFromGitHub {
     owner = "mono";
     repo = "libgdiplus";
-    rev = "5.6";
-    sha256 = "11xr84kng74j3pd8sx74q80a71k6dw0a502qgibcxlyqh666lfb7";
+    rev = "5.6.1";
+    sha256 = "023xf3l2s0mxcdbl2viglzrkhx3lwcrpm66fiq7cfdqz80d4vsj2";
   };
 
   NIX_LDFLAGS = "-lgif";
diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix
index 8dcbab95e97..33a6a075ae4 100644
--- a/pkgs/development/libraries/libgnome-keyring/default.nix
+++ b/pkgs/development/libraries/libgnome-keyring/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, glib, dbus, libgcrypt, pkgconfig,
-intltool }:
+{ stdenv, fetchurl, glib, dbus, libgcrypt, pkgconfig, intltool }:
 
-stdenv.mkDerivation {
-  name = "libgnome-keyring-2.32.0";
+stdenv.mkDerivation rec {
+  pname = "libgnome-keyring";
+  version = "2.32.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libgnome-keyring/2.32/libgnome-keyring-2.32.0.tar.bz2;
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "030gka96kzqg1r19b4xrmac89hf1xj1kr5p461yvbzfxh46qqf2n";
   };
 
@@ -16,6 +16,7 @@ stdenv.mkDerivation {
 
   meta = {
     inherit (glib.meta) platforms maintainers;
+    homepage = "https://wiki.gnome.org/Projects/GnomeKeyring";
     license = with stdenv.lib.licenses; [ gpl2 lgpl2 ];
   };
 }
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 4e7ff031438..f2d31cf1676 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgsf";
-  version = "1.14.45";
+  version = "1.14.46";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1yk91ccf7z9b8d8ac6vip3gc5c0pkwgabqy6l0pj0kf43l7jrg2w";
+    sha256 = "0bddmlzg719sjhlbzqlhb7chwk93qc7g68m2r9r8xz112jdradpa";
   };
 
   nativeBuildInputs = [ pkgconfig intltool libintl ];
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 0682bc32630..651c4329708 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libinput-${version}";
-  version = "1.13.1";
+  version = "1.13.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "1as190kl5mnlpqab4qvkxnm4h8vz5cf22r0ai4cb2azfg3a8gm71";
+    sha256 = "0vbapc90m49n0z8w8w4v0qf1iiwaixw9h79jfmps9pj8hdls17qx";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index ebcf51dfd03..1e95ac4899a 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -1,47 +1,26 @@
 { stdenv, fetchurl, fetchpatch, cmake, nasm }:
 
 stdenv.mkDerivation rec {
-  name = "libjpeg-turbo-${version}";
-  version = "2.0.1";
+  pname = "libjpeg-turbo";
+  version = "2.0.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libjpeg-turbo/${name}.tar.gz";
-    sha256 = "1zv6z093l3x3jzygvni7b819j7xhn6d63jhcdrckj7fz67n6ry75";
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "1v9gx1gdzgxf51nd55ncq7rghmj4x9x91rby50ag36irwngmkf5c";
   };
 
   patches =
     stdenv.lib.optional (stdenv.hostPlatform.libc or null == "msvcrt")
-      ./mingw-boolean.patch
-  ++ [
-    ./djpeg-rgb-islow-icc-cmp.patch # https://github.com/libjpeg-turbo/libjpeg-turbo/pull/321
-    (fetchpatch {
-      name = "cve-2018-19664.diff";
-      url = "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/f8cca819a4fb.diff";
-      sha256 = "1kgfag62qmphlrq0mz15g17zw7zrg9nzaz7d2vg50m6m7m5aw4y5";
-    })
-    (fetchpatch {
-      name = "CVE-2018-20330.patch";
-      url = "https://github.com/libjpeg-turbo/libjpeg-turbo/commit/3d9c64e9f8aa1ee954d1d0bb3390fc894bb84da3.diff";
-      sha256 = "1jai8izw6xl05ihx24rpc96d1jcr9rp421cb02pbz3v53cxdasji";
-    })
-  ];
+      ./mingw-boolean.patch;
 
   outputs = [ "bin" "dev" "out" "man" "doc" ];
 
   nativeBuildInputs = [ cmake nasm ];
 
-  preConfigure = ''
-    cmakeFlagsArray+=(
-      "-DCMAKE_INSTALL_BINDIR=$bin/bin"
-      "-DENABLE_STATIC=0"
-    )
-  '';
-
-  doCheck = true; # not cross;
-  checkTarget = "test";
-  preCheck = ''
-    export LD_LIBRARY_PATH="$NIX_BUILD_TOP/${name}:$LD_LIBRARY_PATH"
-  '';
+  cmakeFlags = [ "-DCMAKE_INSTALL_BINDIR=${placeholder "bin"}/bin" "-DENABLE_STATIC=0" ];
+
+  doInstallCheck = true;
+  installCheckTarget = "test";
 
   meta = with stdenv.lib; {
     homepage = http://libjpeg-turbo.virtualgl.org/;
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 021cfbb1bb4..406b88ea8c1 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.18.0";
+  version = "1.18.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "10mjjy860aakfd3h1yaj9l1jw816amrpwmyqlx37j21xv0l03x3c";
+    sha256 = "0s4jsfsydp2vykv7lnimalp9i680aas1qcx7zdpjiic64b5g48vp";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libnsl/cdefs.patch b/pkgs/development/libraries/libnsl/cdefs.patch
deleted file mode 100644
index dbbe800a347..00000000000
--- a/pkgs/development/libraries/libnsl/cdefs.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/src/rpcsvc/nislib.h
-+++ b/src/rpcsvc/nislib.h
-@@ -19,6 +19,7 @@
- #ifndef	__RPCSVC_NISLIB_H__
- #define	__RPCSVC_NISLIB_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- __BEGIN_DECLS
---- a/src/rpcsvc/ypclnt.h
-+++ b/src/rpcsvc/ypclnt.h
-@@ -20,6 +20,7 @@
- #ifndef	__RPCSVC_YPCLNT_H__
- #define	__RPCSVC_YPCLNT_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- /* Some defines */
---- a/src/rpcsvc/ypupd.h
-+++ b/src/rpcsvc/ypupd.h
-@@ -33,6 +33,7 @@
- #ifndef __RPCSVC_YPUPD_H__
- #define __RPCSVC_YPUPD_H__
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- 
- #include <rpc/rpc.h>
diff --git a/pkgs/development/libraries/libnsl/default.nix b/pkgs/development/libraries/libnsl/default.nix
index 9e8a46b2e6b..79006484743 100644
--- a/pkgs/development/libraries/libnsl/default.nix
+++ b/pkgs/development/libraries/libnsl/default.nix
@@ -1,21 +1,19 @@
 { stdenv, fetchFromGitHub, autoreconfHook, libtirpc, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "libnsl-${version}";
-  version = "1.1.0";
+  pname = "libnsl";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "thkukuk";
-    repo = "libnsl";
-    rev = "libnsl-${version}";
-    sha256 = "0h8br0gmgw3fp5fmy6bfbj1qlk9hry1ssg25ssjgxbd8spczpscs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1chzqhcgh0yia9js8mh92cmhyka7rh32ql6b3mgdk26n94dqzs8b";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libtirpc ];
 
-  patches = stdenv.lib.optionals stdenv.hostPlatform.isMusl [ ./cdefs.patch ./nis_h.patch ];
-
   meta = with stdenv.lib; {
     description = "Client interface library for NIS(YP) and NIS+";
     homepage = https://github.com/thkukuk/libnsl;
diff --git a/pkgs/development/libraries/libnsl/nis_h.patch b/pkgs/development/libraries/libnsl/nis_h.patch
deleted file mode 100644
index 199259df2e8..00000000000
--- a/pkgs/development/libraries/libnsl/nis_h.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- a/src/rpcsvc/nis.h
-+++ b/src/rpcsvc/nis.h
-@@ -32,6 +32,7 @@
- #ifndef _RPCSVC_NIS_H
- #define _RPCSVC_NIS_H 1
- 
-+#include <sys/cdefs.h>
- #include <features.h>
- #include <rpc/rpc.h>
- #include <rpcsvc/nis_tags.h>
-@@ -56,6 +57,34 @@
-  *                                              <kukuk@suse.de>
-  */
- 
-+#ifndef rawmemchr
-+#define rawmemchr(s,c) memchr((s),(size_t)-1,(c))
-+#endif
-+
-+#ifndef __asprintf
-+#define __asprintf asprintf
-+#endif
-+
-+#ifndef __mempcpy
-+#define __mempcpy mempcpy
-+#endif
-+
-+#ifndef __strtok_r
-+#define __strtok_r strtok_r
-+#endif
-+
-+#ifndef __always_inline
-+#define __always_inline __attribute__((__always_inline__))
-+#endif
-+
-+#ifndef TEMP_FAILURE_RETRY
-+#define TEMP_FAILURE_RETRY(exp) ({ \
-+typeof (exp) _rc; \
-+ do { \
-+  _rc = (exp); \
-+ } while (_rc == -1 && errno == EINTR); \
-+ _rc; })
-+#endif
- 
- #ifndef __nis_object_h
- #define __nis_object_h
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index e947ec22bf8..9efeb0f678e 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -3,11 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libosinfo-1.4.0";
+  pname = "libosinfo";
+  version = "1.5.0";
 
   src = fetchurl {
-    url = "https://releases.pagure.org/libosinfo/${name}.tar.gz";
-    sha256 = "0ra1p2rnnwkq0181ayn0l0rs1pvk4a0i8fa08nqjfmqs5fl637m2";
+    url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "12b0xj9fz9q91d1pz9xm6aqap5k1ip0m9m3qvqmwjy1lk1kjasdz";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index 083b5c8bc85..8a239048390 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libqmi";
-  version = "1.22.2";
+  version = "1.22.4";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${pname}-${version}.tar.xz";
-    sha256 = "09w20dsgr16bgbqw5ds7r6j2s6ihwyalh9zpbjhcn7cvm0afbwgi";
+    sha256 = "1wgrrb9vb3myl8xgck8ik86876ycbg8crylybs3ssi21vrxqwnsc";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libshout/default.nix b/pkgs/development/libraries/libshout/default.nix
index ef023640621..3753a070c63 100644
--- a/pkgs/development/libraries/libshout/default.nix
+++ b/pkgs/development/libraries/libshout/default.nix
@@ -4,11 +4,11 @@
 # need pkgconfig so that libshout installs ${out}/lib/pkgconfig/shout.pc
 
 stdenv.mkDerivation rec {
-  name = "libshout-2.4.1";
+  name = "libshout-2.4.2";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/libshout/${name}.tar.gz";
-    sha256 = "0kgjpf8jkgyclw11nilxi8vyjk4s8878x23qyxnvybbgqbgbib7k";
+    sha256 = "0qgwarqp2p6jy3zadds6dzj8z1jfb2mbwc3lsdlidf527h0a86ym";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix
index 8559731d707..b96fdf5eedd 100644
--- a/pkgs/development/libraries/libunique/default.nix
+++ b/pkgs/development/libraries/libunique/default.nix
@@ -1,33 +1,34 @@
 { stdenv, fetchurl, pkgconfig, glib, gtk2, dbus-glib }:
 
 stdenv.mkDerivation rec {
-  name = "libunique-1.1.6";
+  pname = "libunique";
+  version = "1.1.6";
+
   src = fetchurl {
-    url = "mirror://gnome/sources/libunique/1.1/${name}.tar.bz2";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "1fsgvmncd9caw552lyfg8swmsd6bh4ijjsph69bwacwfxwf09j75";
   };
 
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
-  # patches from Gentoo portage
+  # Patches from Gentoo portage
   patches = [
     ./1.1.6-compiler-warnings.patch
     ./1.1.6-fix-test.patch
     ./1.1.6-G_CONST_RETURN.patch
     ./1.1.6-include-terminator.patch
-  ]
-    ++ [ ./gcc7-bug.patch ];
+  ] ++ [ ./gcc7-bug.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib gtk2 dbus-glib ];
 
-  # don't make deprecated usages hard errors
+  # Don't make deprecated usages hard errors
   preBuild = ''substituteInPlace unique/dbus/Makefile --replace -Werror ""'';
 
   doCheck = true;
 
   meta = {
-    homepage = https://wiki.gnome.org/Attic/LibUnique;
+    homepage = "https://wiki.gnome.org/Attic/LibUnique";
     description = "A library for writing single instance applications";
     license = stdenv.lib.licenses.lgpl21;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 4fdfc855642..78abbe7392c 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
       "spawn_setuid_fails" "spawn_setgid_fails" "fs_chown" # user namespaces
       "getaddrinfo_fail" "getaddrinfo_fail_sync"
       "threadpool_multiple_event_loops" # times out on slow machines
+      "get_passwd" # passed on NixOS but failed on other Linuxes
+      "tcp_writealot" # times out sometimes
     ] ++ stdenv.lib.optionals stdenv.isDarwin [
         # Sometimes: timeout (no output), failed uv_listen. Someone
         # should report these failures to libuv team. There tests should
diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix
index 25454137410..2872181a36d 100644
--- a/pkgs/development/libraries/libwnck/default.nix
+++ b/pkgs/development/libraries/libwnck/default.nix
@@ -1,14 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gtk2, intltool, xorg }:
 
-let
-  ver_maj = "2.31";
-  ver_min = "0";
-in
 stdenv.mkDerivation rec {
-  name = "libwnck-${ver_maj}.${ver_min}";
+  pname = "libwnck";
+  version = "2.31.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libwnck/${ver_maj}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "17isfjvrzgj5znld2a7zsk9vd39q9wnsysnw5jr8iz410z935xw3";
   };
 
@@ -23,6 +20,8 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A library for creating task lists and pagers";
+    homepage = "https://gitlab.gnome.org/GNOME/libwnck";
     license = stdenv.lib.licenses.lgpl21;
+    maintainers = with stdenv.lib.maintainers; [ johnazoidberg ];
   };
 }
diff --git a/pkgs/development/libraries/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix
index 257ac8e277d..c5ff7c11713 100644
--- a/pkgs/development/libraries/libxmlb/default.nix
+++ b/pkgs/development/libraries/libxmlb/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "libxmlb-${version}";
-  version = "0.1.8";
+  version = "0.1.9";
 
   outputs = [ "out" "lib" "dev" "devdoc" ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    sha256 = "0nry2a4vskfklykd20smp4maqpzibc65rzyv4i71nrc55dyjpy7x";
+    sha256 = "1rdpsssrwpx24snqb82hisjybnpz9fq91wbmxfi2s63xllzi14b6";
   };
 
   nativeBuildInputs = [ meson ninja python3 pkgconfig gobject-introspection gtk-doc shared-mime-info docbook_xsl docbook_xml_dtd_43 ];
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/hughsie/libxmlb;
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ jtojnar ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libxmlxx/default.nix b/pkgs/development/libraries/libxmlxx/default.nix
index 07ed1cba8be..c80808081ff 100644
--- a/pkgs/development/libraries/libxmlxx/default.nix
+++ b/pkgs/development/libraries/libxmlxx/default.nix
@@ -1,12 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, glibmm, perl }:
+{ stdenv, fetchurl, pkgconfig, libxml2, glibmm, perl, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "libxml++-${maj_ver}.${min_ver}";
-  maj_ver = "2.40";
-  min_ver = "1";
+  pname = "libxml++";
+  version = "2.40.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libxml++/${maj_ver}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a";
   };
 
@@ -16,8 +15,14 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libxml2 glibmm ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
-    homepage = http://libxmlplusplus.sourceforge.net/;
+    homepage = "http://libxmlplusplus.sourceforge.net/";
     description = "C++ wrapper for the libxml2 XML parser library";
     license = licenses.lgpl2Plus;
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix
index ef2dbb10fba..cde422906da 100644
--- a/pkgs/development/libraries/linbox/default.nix
+++ b/pkgs/development/libraries/linbox/default.nix
@@ -12,13 +12,13 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "linbox";
-  version = "1.5.2";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = "${pname}";
     rev = "v${version}";
-    sha256 = "1wfivlwp30mzdy1697w7rzb8caajim50mc8h27k82yipn2qc5n4i";
+    sha256 = "11mgj7pkppvzmhx5g6wfnzisk36z00gqzzq9p14hzh5dbdhk3693";
   };
 
   nativeBuildInputs = [
@@ -51,16 +51,6 @@ stdenv.mkDerivation rec {
     "--enable-sage"
   ];
 
-  patches = stdenv.lib.optionals withSage [
-    # https://trac.sagemath.org/ticket/24214#comment:39
-    # Will be resolved by
-    # https://github.com/linbox-team/linbox/issues/69
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/sagemath/sage/a843f48b7a4267e44895a3dfa892c89c85b85611/build/pkgs/linbox/patches/linbox_charpoly_fullCRA.patch";
-      sha256 = "16nxfzfknra3k2yk3xy0k8cq9rmnmsch3dnkb03kx15h0y0jmibk";
-    })
-  ];
-
   doCheck = true;
 
   enableParallelBuilding = true;
@@ -71,6 +61,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [stdenv.lib.maintainers.timokau];
     platforms = stdenv.lib.platforms.unix;
+    broken = stdenv.isDarwin || stdenv.isAarch64; # https://trac.sagemath.org/ticket/26932#comment:21
     homepage = http://linalg.org/;
   };
 }
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 79947ae2f15..e68e1b572ee 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -27,22 +27,22 @@
 with stdenv.lib;
 
 let
-  defaultGalliumDrivers =
-    optionals (elem "drm" eglPlatforms)
-    (if stdenv.isAarch32
-    then ["virgl" "nouveau" "freedreno" "vc4" "etnaviv" "imx"]
-    else if stdenv.isAarch64
-    then ["virgl" "nouveau" "vc4" ]
-    else ["virgl" "svga" "i915" "r300" "r600" "radeonsi" "nouveau"]);
-  defaultDriDrivers =
-    optionals (elem "drm" eglPlatforms)
-    (if (stdenv.isAarch32 || stdenv.isAarch64)
-    then ["nouveau"]
-    else ["i915" "i965" "nouveau" "radeon" "r200"]);
-  defaultVulkanDrivers =
-    optionals stdenv.isLinux (if (stdenv.isAarch32 || stdenv.isAarch64)
-    then []
-    else ["intel"] ++ lib.optional enableRadv "radeon");
+  # platforms that have PCIe slots and thus can use most non-integrated GPUs
+  pciePlatform = !stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64;
+  defaultGalliumDrivers = optionals (elem "drm" eglPlatforms) ([ "virgl" ]
+    ++ lib.optionals pciePlatform [ "r300" "r600" "radeonsi" ]
+    ++ lib.optionals (pciePlatform || stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "nouveau" ]
+    ++ lib.optionals stdenv.hostPlatform.isx86 [ "i915" "svga" ]
+    ++ lib.optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "vc4" ]
+    ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "freedreno" "etnaviv" "imx" ]
+  );
+  defaultDriDrivers = optionals (elem "drm" eglPlatforms) ([ ]
+    ++ lib.optionals pciePlatform [ "radeon" "r200" ]
+    ++ lib.optionals (pciePlatform || stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "nouveau" ]
+    ++ lib.optionals stdenv.hostPlatform.isx86 [ "i915" "i965" ]);
+  defaultVulkanDrivers = optionals stdenv.hostPlatform.isLinux ([ ]
+    ++ lib.optional stdenv.hostPlatform.isx86 "intel"
+    ++ lib.optional enableRadv "radeon");
 in
 
 let gallium_ = galliumDrivers; dri_ = driDrivers; vulkan_ = vulkanDrivers; in
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 056f98472be..87bc1a16f23 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -5,7 +5,7 @@ let
     url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
     sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
   };
-  version = "3.42.1";
+  version = "3.44";
   underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
 
 in stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${name}.tar.gz";
-    sha256 = "1ihzqspvqjmysp1c15xxr7kqvj3zm9dqnanxhkaxyjgx71yv6z88";
+    sha256 = "1zvabgxlyvz3fnv4w89y4a5qkscjmm88naf929dgvvgfnrchwqm5";
   };
 
   buildInputs = [ perl zlib sqlite ]
diff --git a/pkgs/development/libraries/nv-codec-headers/default.nix b/pkgs/development/libraries/nv-codec-headers/default.nix
index 07ec502cd12..73ed932afb6 100644
--- a/pkgs/development/libraries/nv-codec-headers/default.nix
+++ b/pkgs/development/libraries/nv-codec-headers/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "FFmpeg version of headers for NVENC";
     homepage = http://ffmpeg.org/;
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.MP2E ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 4c994d596ba..b54f34fbb2c 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "onig-${version}";
-  version = "6.9.1";
+  version = "6.9.2";
 
   src = fetchFromGitHub {
     owner = "kkos";
     repo = "oniguruma";
     rev = "v${version}";
-    sha256 = "0dbdd9r15fsqn0rimkjwlv8v68v4i1830h0m7dw56b335wwl6bbg";
+    sha256 = "15asc9v6ylal8fwzlnrh673mp62wngxvv9jx7h86vhljjdap6yfc";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/opal/default.nix b/pkgs/development/libraries/opal/default.nix
index 1658e831ddd..dd19fccd822 100644
--- a/pkgs/development/libraries/opal/default.nix
+++ b/pkgs/development/libraries/opal/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, ptlib, srtp, libtheora, speex
+{ stdenv, fetchurl, pkgconfig, ptlib, srtp, libtheora, speex, gnome3
 , ffmpeg, x264, cyrus_sasl, openldap, openssl, expat, unixODBC }:
 
 stdenv.mkDerivation rec {
-  name = "opal-3.10.10";
+  pname = "opal";
+  version = "3.10.10";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/opal/3.10/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "f208985003461b2743575eccac13ad890b3e5baac35b68ddef17162460aff864";
   };
 
@@ -26,6 +27,7 @@ stdenv.mkDerivation rec {
     description = "VoIP library";
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
+    homepage = "http://www.opalvoip.org/";
     license = with licenses; [ bsdOriginal mpl10 gpl2Plus lgpl21 ];
   };
 
@@ -33,6 +35,9 @@ stdenv.mkDerivation rec {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/pub/GNOME/sources/opal";
     };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
   };
 }
 
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index e70d20dd93d..28645c545cd 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -1,22 +1,36 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, which, pkgconfig, libiconv
-, libffi, libtasn1 }:
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, which
+, gettext, libffi, libiconv, libtasn1
+}:
 
 stdenv.mkDerivation rec {
-  name = "p11-kit-${version}";
-  version = "0.23.14";
+  pname = "p11-kit";
+  version = "0.23.15";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
-    repo = "p11-kit";
+    repo = pname;
     rev = version;
-    sha256 = "0zmrw1ciybhnxjlsfb07wnf11ak5vrmy8y8fnz3mwm8v3w8dzlvw";
+    sha256 = "0kf7zz2cvd6j09qkff3rl3wfisva82ia1z9h8bmy4ifwkv4yl9fv";
   };
 
+  patches = [
+    (fetchpatch {
+      # https://github.com/p11-glue/p11-kit/issues/212
+      url = "https://github.com/p11-glue/p11-kit/commit/2a474e1fe8f4bd8b4ed7622e5cf3b2718a202562.patch";
+      sha256 = "13wi32hpzilvzxn57crn79h88q38jm2fzd5zxj4wnhv9dhwqr6lg";
+    })
+    (fetchpatch {
+      # https://github.com/p11-glue/p11-kit/issues/220
+      url = "https://github.com/p11-glue/p11-kit/commit/e2170b295992cb7fdf115227a78028ac3780619f.patch";
+      sha256 = "0433d8drfxaabsxwkkl4kr0jx8jr2l3a9ar11szipd9jwvrqnyr7";
+    })
+  ];
+
   outputs = [ "out" "dev"];
   outputBin = "dev";
 
-  nativeBuildInputs = [ autoreconfHook which pkgconfig ];
-  buildInputs = [ libffi libtasn1 libiconv ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig which ];
+  buildInputs = [ gettext libffi libiconv libtasn1 ];
 
   autoreconfPhase = ''
     NOCONFIGURE=1 ./autogen.sh
@@ -26,16 +40,23 @@ stdenv.mkDerivation rec {
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--without-trust-paths"
-  ];
-
-  installFlags = [ "exampledir=\${out}/etc/pkcs11" ];
+  ]; # TODO: store trust anchors in a directory common to Nix and NixOS
 
-  doInstallCheck = false; # probably a bug in this derivation
   enableParallelBuilding = true;
 
+  doCheck = true;
+
+  installFlags = [ "exampledir=\${out}/etc/pkcs11" ];
+
   meta = with stdenv.lib; {
-    homepage = https://p11-glue.freedesktop.org/;
+    description = "Library for loading and sharing PKCS#11 modules";
+    longDescription = ''
+      Provides a way to load and enumerate PKCS#11 modules.
+      Provides a standard configuration setup for installing
+      PKCS#11 modules in such a way that they're discoverable.
+    '';
+    homepage = https://p11-glue.github.io/p11-glue/p11-kit.html;
     platforms = platforms.all;
-    license = licenses.mit;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/pangox-compat/default.nix b/pkgs/development/libraries/pangox-compat/default.nix
index 2d6b678f657..1ae2f1b8132 100644
--- a/pkgs/development/libraries/pangox-compat/default.nix
+++ b/pkgs/development/libraries/pangox-compat/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, pango, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "pangox-compat-0.0.2";
+  pname = "pangox-compat";
+  version = "0.0.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pangox-compat/0.0/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0ip0ziys6mrqqmz4n71ays0kf5cs1xflj1gfpvs4fgy2nsrr482m";
   };
 
@@ -13,8 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A compatibility library for pango>1.30.*";
-
-    homepage = https://www.pango.org/;
+    homepage = "https://gitlab.gnome.org/Archive/pangox-compat";
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 89649f0bf30..f080de82ddc 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "pcre2-${version}";
-  version = "10.32";
+  version = "10.33";
   src = fetchurl {
     url = "https://ftp.pcre.org/pub/pcre/${name}.tar.bz2";
-    sha256 = "0bkwp2czcckvvbdls7b331cad11rxsm020aqhrbz84z8bp68k7pj";
+    sha256 = "1anqi7vpbfzag7imccrc6di1zl5rl63ab7rfpmajpw6d1kzlsl9m";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index 639d6266b5a..2a033304b66 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pixman-${version}";
-  version = "0.38.0";
+  version = "0.38.4";
 
   src = fetchurl {
     url = "mirror://xorg/individual/lib/${name}.tar.bz2";
-    sha256 = "1a1nnkjv0rqdj26847r0saly0kzckjfp4y3ly30bvpjxi7vy6s5p";
+    sha256 = "0l0m48lnmdlmnaxn2021qi5cj366d9fzfjxkqgcj9bs14pxbgaw4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix
index 6a882ecd900..89248597f5d 100644
--- a/pkgs/development/libraries/portaudio/default.nix
+++ b/pkgs/development/libraries/portaudio/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-mac-universal --enable-cxx" ];
 
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=nullability-inferred-on-nested-type -Wno-error=nullability-completeness-on-arrays";
+
   propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AudioUnit AudioToolbox CoreAudio CoreServices Carbon ];
 
   patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/libraries/ptlib/default.nix b/pkgs/development/libraries/ptlib/default.nix
index d425de243f5..d1dcc5fdb97 100644
--- a/pkgs/development/libraries/ptlib/default.nix
+++ b/pkgs/development/libraries/ptlib/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, unixODBC
+{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, unixODBC, gnome3
 , openssl, openldap, cyrus_sasl, kerberos, expat, SDL, libdv, libv4l, alsaLib }:
 
 stdenv.mkDerivation rec {
-  name = "ptlib-2.10.11";
+  pname = "ptlib";
+  version = "2.10.11";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/ptlib/2.10/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "1jf27mjz8vqnclhrhrpn7niz4c177kcjbd1hc7vn65ihcqfz05rs";
   };
 
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Portable Tools from OPAL VoIP";
     maintainers = [ maintainers.raskin ];
+    homepage = "http://www.opalvoip.org/";
     platforms = platforms.linux;
     license = with licenses; [ beerware bsdOriginal mpl10 ];
   };
@@ -45,5 +47,8 @@ stdenv.mkDerivation rec {
     updateInfo = {
       downloadPage = "http://ftp.gnome.org/sources/ptlib/";
     };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
   };
 }
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
index 2c63f893a2c..43f0e431bb1 100644
--- a/pkgs/development/libraries/qscintilla/default.nix
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -20,8 +20,10 @@ stdenv.mkDerivation rec {
     sha256 = "04678skipydx68zf52vznsfmll2v9aahr66g50lcqbr6xsmgr1yi";
   };
 
-  buildInputs = [ (if withQt5 then qtbase else qt4) ]
-    ++ lib.optional (withQt5 && stdenv.isDarwin) qtmacextras;
+  buildInputs = [ (if withQt5 then qtbase else qt4) ];
+
+  propagatedBuildInputs = lib.optional (withQt5 && stdenv.isDarwin) qtmacextras;
+
   nativeBuildInputs = [ unzip ]
     ++ (if withQt5 then [ qmake ] else [ qmake4Hook ])
     ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix
index 7fe4b504a99..256b756ed45 100644
--- a/pkgs/development/libraries/range-v3/default.nix
+++ b/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "range-v3-${version}";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "1s5gj799aa94nfg3r24whq7ck69g0zypf70w14wx64pgwg0424vf";
+    sha256 = "0fzbpaa4vwlivi417zxm1d6v4lkp5c9f5bd706nn2fmw3zxjj815";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 489883e644c..4090c28ca7e 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -86,12 +86,12 @@ let
 in
 stdenv.mkDerivation rec {
   name = "openblas-${version}";
-  version = "0.3.5";
+  version = "0.3.6";
   src = fetchFromGitHub {
     owner = "xianyi";
     repo = "OpenBLAS";
     rev = "v${version}";
-    sha256 = "0hwfplr6ciqjvfqkya5vz92z2rx8bhdg5mkh923z246ylhs6d94k";
+    sha256 = "12vg0g3s4m49fr8z04j15yrgscqnaaflnkckjbffqxnrf90fcav1";
   };
 
   inherit blas64;
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index ec59ae0e819..f868f6bd494 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "man" "doc" ];
 
+  patches = [ ./terminfo-dirs.patch ];
+
   # Fix some wrong hardcoded paths
   preConfigure = ''
     sed -i -e "s|/usr/lib/terminfo|${ncurses.out}/lib/terminfo|" configure
diff --git a/pkgs/development/libraries/slang/terminfo-dirs.patch b/pkgs/development/libraries/slang/terminfo-dirs.patch
new file mode 100644
index 00000000000..2229b759a3d
--- /dev/null
+++ b/pkgs/development/libraries/slang/terminfo-dirs.patch
@@ -0,0 +1,172 @@
+commit c7aa0c07b6522fbbb47ef47bd22f47f1611e7423
+Author: John E. Davis <jed@jedsoft.org>
+Date:   Wed Nov 28 00:46:28 2018 -0500
+
+    pre2.3.3-5: Added support for TERMINFO_DIRS env var
+
+Modified: removed changes to changelog and version number.
+
+diff --git a/src/sltermin.c b/src/sltermin.c
+index a06d0e4..65d3bbc 100644
+--- a/src/sltermin.c
++++ b/src/sltermin.c
+@@ -133,6 +133,9 @@ static FILE *open_terminfo (char *file, SLterminfo_Type *h)
+    unsigned char buf[12];
+    int magic;
+ 
++#ifdef SLANG_UNTIC
++   (void) fprintf (stdout,"# Trying %s\n", file);
++#endif
+    /* Alan Cox reported a security problem here if the application using the
+     * library is setuid.  So, I need to make sure open the file as a normal
+     * user.  Unfortunately, there does not appear to be a portable way of
+@@ -269,10 +272,73 @@ static char *read_string_table (FILE *fp, SLterminfo_Type *t)
+  * are implemented by multiple links to the same compiled file.
+  */
+ 
++static FILE *try_open_tidir (SLterminfo_Type *ti, const char *tidir, const char *term)
++{
++   char file[1024];
++
++   if (sizeof (file) > strlen (tidir) + 5 + strlen (term))
++     {
++	FILE *fp;
++
++	sprintf (file, "%s/%c/%s", tidir, *term, term);
++	if (NULL != (fp = open_terminfo (file, ti)))
++	  return fp;
++
++	sprintf (file, "%s/%02x/%s", tidir, (unsigned char)*term, term);
++	if (NULL != (fp = open_terminfo (file, ti)))
++	  return fp;
++     }
++
++   return NULL;
++}
++
++static FILE *try_open_env (SLterminfo_Type *ti, const char *term, const char *envvar)
++{
++   char *tidir;
++
++   if (NULL == (tidir = _pSLsecure_getenv (envvar)))
++     return NULL;
++
++   return try_open_tidir (ti, tidir, term);
++}
++
++static FILE *try_open_home (SLterminfo_Type *ti, const char *term)
++{
++   char home_ti[1024];
++   char *env;
++
++   if (NULL == (env = _pSLsecure_getenv ("HOME")))
++     return NULL;
++
++   strncpy (home_ti, env, sizeof (home_ti) - 11);
++   home_ti [sizeof(home_ti) - 11] = 0;
++   strcat (home_ti, "/.terminfo");
++
++   return try_open_tidir (ti, home_ti, term);
++}
++
++static FILE *try_open_env_path (SLterminfo_Type *ti, const char *term, const char *envvar)
++{
++   char tidir[1024];
++   char *env;
++   unsigned int i;
++
++   if (NULL == (env = _pSLsecure_getenv (envvar)))
++     return NULL;
++
++   i = 0;
++   while (-1 != SLextract_list_element (env, i, ':', tidir, sizeof(tidir)))
++     {
++	FILE *fp = try_open_tidir (ti, tidir, term);
++	if (fp != NULL) return fp;
++	i++;
++     }
++
++   return NULL;
++}
++
+ static SLCONST char *Terminfo_Dirs [] =
+ {
+-   "", /* $TERMINFO */
+-   "", /* $HOME/.terminfo */
+ #ifdef MISC_TERMINFO_DIRS
+    MISC_TERMINFO_DIRS,
+ #endif
+@@ -287,6 +353,23 @@ static SLCONST char *Terminfo_Dirs [] =
+    NULL,
+ };
+ 
++static FILE *try_open_hardcoded (SLterminfo_Type *ti, const char *term)
++{
++   const char *tidir, **tidirs;
++
++   tidirs = Terminfo_Dirs;
++   while (NULL != (tidir = *tidirs++))
++     {
++	FILE *fp;
++
++	if ((*tidir != 0)
++	    && (NULL != (fp = try_open_tidir (ti, tidir, term))))
++	  return fp;
++     }
++
++   return NULL;
++}
++
+ void _pSLtt_tifreeent (SLterminfo_Type *t)
+ {
+    if (t == NULL)
+@@ -305,11 +388,7 @@ void _pSLtt_tifreeent (SLterminfo_Type *t)
+ 
+ SLterminfo_Type *_pSLtt_tigetent (SLCONST char *term)
+ {
+-   SLCONST char **tidirs, *tidir;
+    FILE *fp = NULL;
+-   char file[1024];
+-   static char home_ti [1024];
+-   char *env;
+    SLterminfo_Type *ti;
+ 
+    if (
+@@ -341,33 +420,10 @@ SLterminfo_Type *_pSLtt_tigetent (SLCONST char *term)
+    /* If we are on a termcap based system, use termcap */
+    if (0 == tcap_getent (term, ti)) return ti;
+ 
+-   if (NULL != (env = _pSLsecure_getenv ("TERMINFO")))
+-     Terminfo_Dirs[0] = env;
+-
+-   if (NULL != (env = _pSLsecure_getenv ("HOME")))
+-     {
+-	strncpy (home_ti, env, sizeof (home_ti) - 11);
+-	home_ti [sizeof(home_ti) - 11] = 0;
+-	strcat (home_ti, "/.terminfo");
+-	Terminfo_Dirs [1] = home_ti;
+-     }
+-
+-   tidirs = Terminfo_Dirs;
+-   while (NULL != (tidir = *tidirs++))
+-     {
+-	if (*tidir == 0)
+-	  continue;
+-
+-	if (sizeof (file) > strlen (tidir) + 5 + strlen (term))
+-	  {
+-	     sprintf (file, "%s/%c/%s", tidir, *term, term);
+-	     if (NULL != (fp = open_terminfo (file, ti)))
+-	       break;
+-	     sprintf (file, "%s/%02x/%s", tidir, (unsigned char)*term, term);
+-	     if (NULL != (fp = open_terminfo (file, ti)))
+-	       break;
+-	  }
+-     }
++   fp = try_open_env_path (ti, term, "TERMINFO_DIRS");
++   if (fp == NULL) fp = try_open_env (ti, term, "TERMINFO");
++   if (fp == NULL) fp = try_open_home (ti, term);
++   if (fp == NULL) fp = try_open_hardcoded (ti, term);
+ 
+ #ifdef SLANG_UNTIC
+    fp_open_label:
diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix
index 615ac4fa690..f95ae385ab6 100644
--- a/pkgs/development/libraries/tbb/default.nix
+++ b/pkgs/development/libraries/tbb/default.nix
@@ -2,13 +2,13 @@
 
 with stdenv.lib; stdenv.mkDerivation rec {
   name = "tbb-${version}";
-  version = "2019_U5";
+  version = "2019_U6";
 
   src = fetchFromGitHub {
     owner = "01org";
     repo = "tbb";
     rev = version;
-    sha256 = "0390da1iya2mvn3ribjb1f8yvzsqsf5b16wn6dqbjxcz0crmwlzk";
+    sha256 = "1zbf06l659vq6s5wp3ln96ycwcd42caffan5vilqvqyxqvjljyic";
   };
 
   makeFlags = concatStringsSep " " (
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 2ccc9b7c2b4..91848ce1fb6 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -15,7 +15,7 @@ assert stdenv.isDarwin -> !enableGtk2Plugins;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.24.1";
+  version = "2.24.2";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "0v9riwrmwi9wxbb8hlvcbyyxa9zxhcdk6s1xcspalk6asam8xjsk";
+    sha256 = "071jnjvjq6wsxx1jh4ql3j53h1nhphs5ga67fa5i9xjvs3qb3701";
   };
 
   patches = optionals stdenv.isDarwin [
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index c8fc051f7a9..e13f6a4d96e 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -1,7 +1,7 @@
 
 /* pkgs/development/lua-modules/generated-packages.nix is an auto-generated file -- DO NOT EDIT!
 Regenerate it with:
-nixpkgs$ maintainers/scripts/update-luarocks-packages pkgs/development/lua-modules/generated-packages.nix
+nixpkgs$ ./maintainers/scripts/update-luarocks-packages pkgs/development/lua-modules/generated-packages.nix
 
 These packages are manually refined in lua-overrides.nix
 */
@@ -15,16 +15,16 @@ ansicolors = buildLuarocksPackage {
   version = "1.0.2-3";
 
   src = fetchurl {
-      url    = https://luarocks.org/ansicolors-1.0.2-3.src.rock;
-      sha256 = "1mhmr090y5394x1j8p44ws17sdwixn5a0r4i052bkfgk3982cqfz";
+    url    = https://luarocks.org/ansicolors-1.0.2-3.src.rock;
+    sha256 = "1mhmr090y5394x1j8p44ws17sdwixn5a0r4i052bkfgk3982cqfz";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/kikito/ansicolors.lua";
-    description="Library for color Manipulation.";
+    description = "Library for color Manipulation.";
     license = {
       fullName = "MIT <http://opensource.org/licenses/MIT>";
     };
@@ -35,16 +35,16 @@ argparse = buildLuarocksPackage {
   version = "0.6.0-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/argparse-0.6.0-1.src.rock;
-      sha256 = "10ic5wppyghd1lmgwgl0lb40pv8z9fi9i87080axxg8wsr19y0p4";
+    url    = https://luarocks.org/argparse-0.6.0-1.src.rock;
+    sha256 = "10ic5wppyghd1lmgwgl0lb40pv8z9fi9i87080axxg8wsr19y0p4";
   };
-  disabled = ( luaOlder "5.1") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" ) || ( luaAtLeast "5.4" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/mpeterv/argparse";
-    description="A feature-rich command-line argument parser";
+    description = "A feature-rich command-line argument parser";
     license = {
       fullName = "MIT";
     };
@@ -52,39 +52,65 @@ argparse = buildLuarocksPackage {
 };
 basexx = buildLuarocksPackage {
   pname = "basexx";
-  version = "0.4.0-1";
+  version = "0.4.1-1";
+
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/basexx-0.4.1-1.rockspec;
+    sha256 = "0kmydxm2wywl18cgj303apsx7hnfd68a9hx9yhq10fj7yfcxzv5f";
+  }).outPath;
 
   src = fetchurl {
-      url    = https://luarocks.org/basexx-0.4.0-1.src.rock;
-      sha256 = "1px8yrxg1qkk3kzdqj3siry742jdv4ysp2dmicxi15mkynqpjlzz";
+    url    = https://github.com/aiq/basexx/archive/v0.4.1.tar.gz;
+    sha256 = "1rnz6xixxqwy0q6y2hi14rfid4w47h69gfi0rnlq24fz8q2b0qpz";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/aiq/basexx";
-    description="A base2, base16, base32, base64 and base85 library for Lua";
+    description = "A base2, base16, base32, base64 and base85 library for Lua";
     license = {
       fullName = "MIT";
     };
   };
 };
+binaryheap = buildLuarocksPackage {
+  pname = "binaryheap";
+  version = "0.4-1";
+
+  src = fetchurl {
+      url    = https://luarocks.org/binaryheap-0.4-1.src.rock;
+      sha256 = "11rd8r3bpinfla2965jgjdv1hilqdc1q6g1qla5978d7vzg19kpc";
+  };
+  disabled = ( luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
+
+  meta = {
+    homepage = "https://github.com/Tieske/binaryheap.lua";
+    description="Binary heap implementation in pure Lua";
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
 dkjson = buildLuarocksPackage {
   pname = "dkjson";
   version = "2.5-2";
 
   src = fetchurl {
-      url    = https://luarocks.org/dkjson-2.5-2.src.rock;
-      sha256 = "1qy9bzqnb9pf9d48hik4iq8h68aw3270kmax7mmpvvpw7kkyp483";
+    url    = https://luarocks.org/dkjson-2.5-2.src.rock;
+    sha256 = "1qy9bzqnb9pf9d48hik4iq8h68aw3270kmax7mmpvvpw7kkyp483";
   };
-  disabled = ( luaOlder "5.1") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" ) || ( luaAtLeast "5.4" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://dkolf.de/src/dkjson-lua.fsl/";
-    description="David Kolf's JSON module for Lua";
+    description = "David Kolf's JSON module for Lua";
     license = {
       fullName = "MIT/X11";
     };
@@ -95,56 +121,101 @@ fifo = buildLuarocksPackage {
   version = "0.2-0";
 
   src = fetchurl {
-      url    = https://luarocks.org/fifo-0.2-0.src.rock;
-      sha256 = "082c5g1m8brnsqj5gnjs65bm7z50l6b05cfwah14lqaqsr5a5pjk";
+    url    = https://luarocks.org/fifo-0.2-0.src.rock;
+    sha256 = "082c5g1m8brnsqj5gnjs65bm7z50l6b05cfwah14lqaqsr5a5pjk";
   };
-  
-  propagatedBuildInputs = [ lua ];  
+
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/daurnimator/fifo.lua";
-    description="A lua library/'class' that implements a FIFO";
+    description = "A lua library/'class' that implements a FIFO";
     license = {
       fullName = "MIT/X11";
     };
   };
 };
+http = buildLuarocksPackage {
+  pname = "http";
+  version = "0.3-0";
+
+  src = fetchurl {
+      url    = https://luarocks.org/http-0.3-0.src.rock;
+      sha256 = "0vvl687bh3cvjjwbyp9cphqqccm3slv4g7y3h03scp3vpq9q4ccq";
+  };
+  disabled = ( luaOlder "5.1");
+  propagatedBuildInputs = [ lua compat53 bit32 cqueues luaossl basexx lpeg lpeg_patterns binaryheap fifo ];  
+  buildType = "builtin";
+
+  meta = {
+    homepage = "https://github.com/daurnimator/lua-http";
+    description="HTTP library for Lua";
+    license = {
+      fullName = "MIT";
+    };
+  };
+};
 inspect = buildLuarocksPackage {
   pname = "inspect";
   version = "3.1.1-0";
 
   src = fetchurl {
-      url    = https://luarocks.org/inspect-3.1.1-0.src.rock;
-      sha256 = "0k4g9ahql83l4r2bykfs6sacf9l1wdpisav2i0z55fyfcdv387za";
+    url    = https://luarocks.org/inspect-3.1.1-0.src.rock;
+    sha256 = "0k4g9ahql83l4r2bykfs6sacf9l1wdpisav2i0z55fyfcdv387za";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/kikito/inspect.lua";
-    description="Lua table visualizer, ideal for debugging";
+    description = "Lua table visualizer, ideal for debugging";
     license = {
       fullName = "MIT <http://opensource.org/licenses/MIT>";
     };
   };
 };
+ldoc = buildLuarocksPackage {
+  pname = "ldoc";
+  version = "1.4.6-2";
+
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/ldoc-1.4.6-2.rockspec;
+    sha256 = "14yb0qihizby8ja0fa82vx72vk903mv6m7izn39mzfrgb8mha0pm";
+  }).outPath;
+
+  src = fetchurl {
+    url    = http://stevedonovan.github.io/files/ldoc-1.4.6.zip;
+    sha256 = "1fvsmmjwk996ypzizcy565hj82bhj17vdb83ln6ff63mxr3zs1la";
+  };
+
+  propagatedBuildInputs = [ penlight markdown ];
+  buildType = "builtin";
+
+  meta = {
+    homepage = "http://stevedonovan.github.com/ldoc";
+    description = "A Lua Documentation Tool";
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
 lgi = buildLuarocksPackage {
   pname = "lgi";
   version = "0.9.2-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/lgi-0.9.2-1.src.rock;
-      sha256 = "07ajc5pdavp785mdyy82n0w6d592n96g95cvq025d6i0bcm2cypa";
+    url    = https://luarocks.org/lgi-0.9.2-1.src.rock;
+    sha256 = "07ajc5pdavp785mdyy82n0w6d592n96g95cvq025d6i0bcm2cypa";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "make";
 
   meta = {
-    homepage = "https://github.com/pavouk/lgi";
-    description="Lua bindings to GObject libraries";
+    homepage = "http://github.com/pavouk/lgi";
+    description = "Lua bindings to GObject libraries";
     license = {
       fullName = "MIT/X11";
     };
@@ -155,16 +226,16 @@ lpeg_patterns = buildLuarocksPackage {
   version = "0.5-0";
 
   src = fetchurl {
-      url    = https://luarocks.org/lpeg_patterns-0.5-0.src.rock;
-      sha256 = "0mlw4nayrsdxrh98i26avz5i4170a9brciybw88kks496ra36v8f";
+    url    = https://luarocks.org/lpeg_patterns-0.5-0.src.rock;
+    sha256 = "0mlw4nayrsdxrh98i26avz5i4170a9brciybw88kks496ra36v8f";
   };
-  
-  propagatedBuildInputs = [ lua lpeg ];  
+
+  propagatedBuildInputs = [ lua lpeg ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip";
-    description="a collection of LPEG patterns";
+    description = "a collection of LPEG patterns";
     license = {
       fullName = "MIT";
     };
@@ -175,16 +246,16 @@ lpty = buildLuarocksPackage {
   version = "1.2.2-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/lpty-1.2.2-1.src.rock;
-      sha256 = "1vxvsjgjfirl6ranz6k4q4y2dnxqh72bndbk400if22x8lqbkxzm";
+    url    = https://luarocks.org/lpty-1.2.2-1.src.rock;
+    sha256 = "1vxvsjgjfirl6ranz6k4q4y2dnxqh72bndbk400if22x8lqbkxzm";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "make";
 
   meta = {
     homepage = "http://www.tset.de/lpty/";
-    description="A simple facility for lua to control other programs via PTYs.";
+    description = "A simple facility for lua to control other programs via PTYs.";
     license = {
       fullName = "MIT";
     };
@@ -195,16 +266,16 @@ lrexlib-gnu = buildLuarocksPackage {
   version = "2.9.0-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/lrexlib-gnu-2.9.0-1.src.rock;
-      sha256 = "036rda4rji1pbnbxk1nzjy5zmigdsiacqbzrbvciwq3lrxa2j5s2";
+    url    = https://luarocks.org/lrexlib-gnu-2.9.0-1.src.rock;
+    sha256 = "036rda4rji1pbnbxk1nzjy5zmigdsiacqbzrbvciwq3lrxa2j5s2";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
-    homepage = "https://github.com/rrthomas/lrexlib";
-    description="Regular expression library binding (GNU flavour).";
+    homepage = "http://github.com/rrthomas/lrexlib";
+    description = "Regular expression library binding (GNU flavour).";
     license = {
       fullName = "MIT/X11";
     };
@@ -215,16 +286,16 @@ lrexlib-posix = buildLuarocksPackage {
   version = "2.9.0-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/lrexlib-posix-2.9.0-1.src.rock;
-      sha256 = "0ifpybf4m94g1nk70l0f5m45gph0rbp5wrxrl1hnw8ibv3mc1b1r";
+    url    = https://luarocks.org/lrexlib-posix-2.9.0-1.src.rock;
+    sha256 = "0ifpybf4m94g1nk70l0f5m45gph0rbp5wrxrl1hnw8ibv3mc1b1r";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
-    homepage = "https://github.com/rrthomas/lrexlib";
-    description="Regular expression library binding (POSIX flavour).";
+    homepage = "http://github.com/rrthomas/lrexlib";
+    description = "Regular expression library binding (POSIX flavour).";
     license = {
       fullName = "MIT/X11";
     };
@@ -235,16 +306,16 @@ ltermbox = buildLuarocksPackage {
   version = "0.2-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/ltermbox-0.2-1.src.rock;
-      sha256 = "08jqlmmskbi1ml1i34dlmg6hxcs60nlm32dahpxhcrgjnfihmyn8";
+    url    = https://luarocks.org/ltermbox-0.2-1.src.rock;
+    sha256 = "08jqlmmskbi1ml1i34dlmg6hxcs60nlm32dahpxhcrgjnfihmyn8";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://code.google.com/p/termbox";
-    description="A termbox library package";
+    description = "A termbox library package";
     license = {
       fullName = "New BSD License";
     };
@@ -254,27 +325,26 @@ lua-cmsgpack = buildLuarocksPackage {
   pname = "lua-cmsgpack";
   version = "0.4.0-0";
 
-         knownRockspec = (fetchurl {
-      url    = https://luarocks.org/lua-cmsgpack-0.4.0-0.rockspec;
-      sha256 = "10cvr6knx3qvjcw1q9v05f2qy607mai7lbq321nx682aa0n1fzin";
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/lua-cmsgpack-0.4.0-0.rockspec;
+    sha256 = "10cvr6knx3qvjcw1q9v05f2qy607mai7lbq321nx682aa0n1fzin";
   }).outPath;
 
-       src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "git://github.com/antirez/lua-cmsgpack.git",
-  "rev": "57b1f90cf6cec46450e87289ed5a676165d31071",
-  "date": "2018-06-14T11:56:56+02:00",
-  "sha256": "0yiwl4p1zh9qid3ksc4n9fv5bwaa9vjb0vgwnkars204xmxdj8fj",
-  "fetchSubmodules": true
-}
- '') ["date"]) ;
-       
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+    "url": "git://github.com/antirez/lua-cmsgpack.git",
+    "rev": "57b1f90cf6cec46450e87289ed5a676165d31071",
+    "date": "2018-06-14T11:56:56+02:00",
+    "sha256": "0yiwl4p1zh9qid3ksc4n9fv5bwaa9vjb0vgwnkars204xmxdj8fj",
+    "fetchSubmodules": true
+  } '') ["date"]) ;
+
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
-    homepage = "https://github.com/antirez/lua-cmsgpack";
-    description="MessagePack C implementation and bindings for Lua 5.1/5.2/5.3";
+    homepage = "http://github.com/antirez/lua-cmsgpack";
+    description = "MessagePack C implementation and bindings for Lua 5.1/5.2/5.3";
     license = {
       fullName = "Two-clause BSD";
     };
@@ -285,16 +355,16 @@ lua_cliargs = buildLuarocksPackage {
   version = "3.0-2";
 
   src = fetchurl {
-      url    = https://luarocks.org/lua_cliargs-3.0-2.src.rock;
-      sha256 = "0qqdnw00r16xbyqn4w1xwwpg9i9ppc3c1dcypazjvdxaj899hy9w";
+    url    = https://luarocks.org/lua_cliargs-3.0-2.src.rock;
+    sha256 = "0qqdnw00r16xbyqn4w1xwwpg9i9ppc3c1dcypazjvdxaj899hy9w";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/amireh/lua_cliargs";
-    description="A command-line argument parser.";
+    description = "A command-line argument parser.";
     license = {
       fullName = "MIT <http://opensource.org/licenses/MIT>";
     };
@@ -305,16 +375,16 @@ lua-iconv = buildLuarocksPackage {
   version = "7-3";
 
   src = fetchurl {
-      url    = https://luarocks.org/lua-iconv-7-3.src.rock;
-      sha256 = "03xibhcqwihyjhxnzv367q4bfmzmffxl49lmjsq77g0prw8v0q83";
+    url    = https://luarocks.org/lua-iconv-7-3.src.rock;
+    sha256 = "03xibhcqwihyjhxnzv367q4bfmzmffxl49lmjsq77g0prw8v0q83";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://ittner.github.com/lua-iconv/";
-    description="Lua binding to the iconv";
+    description = "Lua binding to the iconv";
     license = {
       fullName = "MIT/X11";
     };
@@ -344,23 +414,21 @@ lua-term = buildLuarocksPackage {
   pname = "lua-term";
   version = "0.7-1";
 
-         knownRockspec = (fetchurl {
-      url    = https://luarocks.org/lua-term-0.7-1.rockspec;
-      sha256 = "0r9g5jw7pqr1dyj6w58dqlr7y7l0jp077n8nnji4phf10biyrvg2";
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/lua-term-0.7-1.rockspec;
+    sha256 = "0r9g5jw7pqr1dyj6w58dqlr7y7l0jp077n8nnji4phf10biyrvg2";
   }).outPath;
 
-       src = fetchurl {
-      url    = https://github.com/hoelzro/lua-term/archive/0.07.tar.gz;
-      sha256 = "0c3zc0cl3a5pbdn056vnlan16g0wimv0p9bq52h7w507f72x18f1";
+  src = fetchurl {
+    url    = https://github.com/hoelzro/lua-term/archive/0.07.tar.gz;
+    sha256 = "0c3zc0cl3a5pbdn056vnlan16g0wimv0p9bq52h7w507f72x18f1";
   };
-       
-  
-    
+
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/hoelzro/lua-term";
-    description="Terminal functions for Lua";
+    description = "Terminal functions for Lua";
     license = {
       fullName = "MIT/X11";
     };
@@ -390,27 +458,26 @@ luabitop = buildLuarocksPackage {
   pname = "luabitop";
   version = "1.0.2-3";
 
-         knownRockspec = (fetchurl {
-      url    = https://luarocks.org/luabitop-1.0.2-3.rockspec;
-      sha256 = "07y2h11hbxmby7kyhy3mda64w83p4a6p7y7rzrjqgc0r56yjxhcc";
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/luabitop-1.0.2-3.rockspec;
+    sha256 = "07y2h11hbxmby7kyhy3mda64w83p4a6p7y7rzrjqgc0r56yjxhcc";
   }).outPath;
 
-       src = fetchgit ( removeAttrs (builtins.fromJSON ''{
-  "url": "git://github.com/LuaDist/luabitop.git",
-  "rev": "81bb23b0e737805442033535de8e6d204d0e5381",
-  "date": "2013-02-18T16:36:42+01:00",
-  "sha256": "0lsc556hlkddjbmcdbg7wc2g55bfy743p8ywdzl8x7kk847r043q",
-  "fetchSubmodules": true
-}
- '') ["date"]) ;
-       
-  disabled = ( luaOlder "5.1") || ( luaAtLeast "5.3");
-  propagatedBuildInputs = [ lua ];  
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+    "url": "git://github.com/LuaDist/luabitop.git",
+    "rev": "81bb23b0e737805442033535de8e6d204d0e5381",
+    "date": "2013-02-18T16:36:42+01:00",
+    "sha256": "0lsc556hlkddjbmcdbg7wc2g55bfy743p8ywdzl8x7kk847r043q",
+    "fetchSubmodules": true
+  } '') ["date"]) ;
+
+  disabled = ( luaOlder "5.1" ) || ( luaAtLeast "5.3" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://bitop.luajit.org/";
-    description="Lua Bit Operations Module";
+    description = "Lua Bit Operations Module";
     license = {
       fullName = "MIT/X license";
     };
@@ -421,16 +488,16 @@ luaevent = buildLuarocksPackage {
   version = "0.4.6-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/luaevent-0.4.6-1.src.rock;
-      sha256 = "0chq09nawiz00lxd6pkdqcb8v426gdifjw6js3ql0lx5vqdkb6dz";
+    url    = https://luarocks.org/luaevent-0.4.6-1.src.rock;
+    sha256 = "0chq09nawiz00lxd6pkdqcb8v426gdifjw6js3ql0lx5vqdkb6dz";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/harningt/luaevent";
-    description="libevent binding for Lua";
+    description = "libevent binding for Lua";
     license = {
       fullName = "MIT";
     };
@@ -441,16 +508,16 @@ luacheck = buildLuarocksPackage {
   version = "0.23.0-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/luacheck-0.23.0-1.src.rock;
-      sha256 = "0akj61c7k1na2mggsckvfn9a3ljfp4agnmr9gp3mac4vin99a1cl";
+    url    = https://luarocks.org/luacheck-0.23.0-1.src.rock;
+    sha256 = "0akj61c7k1na2mggsckvfn9a3ljfp4agnmr9gp3mac4vin99a1cl";
   };
-  disabled = ( luaOlder "5.1") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua argparse luafilesystem ];  
+  disabled = ( luaOlder "5.1" ) || ( luaAtLeast "5.4" );
+  propagatedBuildInputs = [ lua argparse luafilesystem ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/mpeterv/luacheck";
-    description="A static analyzer and a linter for Lua";
+    description = "A static analyzer and a linter for Lua";
     license = {
       fullName = "MIT";
     };
@@ -461,16 +528,16 @@ luaffi = buildLuarocksPackage {
   version = "scm-1";
 
   src = fetchurl {
-      url    = http://luarocks.org/dev/luaffi-scm-1.src.rock;
-      sha256 = "0dia66w8sgzw26bwy36gzyb2hyv7kh9n95lh5dl0158rqa6fsf26";
+    url    = http://luarocks.org/dev/luaffi-scm-1.src.rock;
+    sha256 = "0dia66w8sgzw26bwy36gzyb2hyv7kh9n95lh5dl0158rqa6fsf26";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/facebook/luaffifb";
-    description="FFI library for calling C functions from lua";
+    description = "FFI library for calling C functions from lua";
     license = {
       fullName = "BSD";
     };
@@ -481,42 +548,61 @@ luuid = buildLuarocksPackage {
   version = "20120509-2";
 
   src = fetchurl {
-      url    = https://luarocks.org/luuid-20120509-2.src.rock;
-      sha256 = "08q54x0m51w89np3n117h2a153wsgv3qayabd8cz6i55qm544hkg";
+    url    = https://luarocks.org/luuid-20120509-2.src.rock;
+    sha256 = "08q54x0m51w89np3n117h2a153wsgv3qayabd8cz6i55qm544hkg";
   };
-  disabled = ( luaOlder "5.2") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.2" ) || ( luaAtLeast "5.4" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#luuid";
-    description="A library for UUID generation";
+    description = "A library for UUID generation";
     license = {
       fullName = "Public domain";
     };
   };
 };
+markdown = buildLuarocksPackage {
+  pname = "markdown";
+  version = "0.33-1";
+
+  src = fetchurl {
+    url    = https://luarocks.org/markdown-0.33-1.src.rock;
+    sha256 = "01xw4b4jvmrv1hz2gya02g3nphsj3hc94hsbc672ycj8pcql5n5y";
+  };
+  disabled = ( luaOlder "5.1" ) || ( luaAtLeast "5.4" );
+  propagatedBuildInputs = [ lua ];
+  buildType = "builtin";
+
+  meta = {
+    homepage = "https://github.com/mpeterv/markdown";
+    description = "Markdown text-to-html markup system.";
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
 penlight = buildLuarocksPackage {
   pname = "penlight";
   version = "1.5.4-1";
 
-         knownRockspec = (fetchurl {
-      url    = https://luarocks.org/penlight-1.5.4-1.rockspec;
-      sha256 = "07mhsk9kmdxg4i2w4mrnnd2zs34bgggi9gigfplakxin96sa6c0p";
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/penlight-1.5.4-1.rockspec;
+    sha256 = "07mhsk9kmdxg4i2w4mrnnd2zs34bgggi9gigfplakxin96sa6c0p";
   }).outPath;
 
-       src = fetchurl {
-      url    = http://stevedonovan.github.io/files/penlight-1.5.4.zip;
-      sha256 = "138f921p6kdqkmf4pz115phhj0jsqf28g33avws80d2vq2ixqm8q";
+  src = fetchurl {
+    url    = http://stevedonovan.github.io/files/penlight-1.5.4.zip;
+    sha256 = "138f921p6kdqkmf4pz115phhj0jsqf28g33avws80d2vq2ixqm8q";
   };
-       
-  
-  propagatedBuildInputs = [ luafilesystem ];  
+
+  propagatedBuildInputs = [ luafilesystem ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://stevedonovan.github.com/Penlight";
-    description="Lua utility libraries loosely based on the Python standard libraries";
+    description = "Lua utility libraries loosely based on the Python standard libraries";
     license = {
       fullName = "MIT/X11";
     };
@@ -546,23 +632,23 @@ say = buildLuarocksPackage {
   pname = "say";
   version = "1.3-1";
 
-         knownRockspec = (fetchurl {
-      url    = https://luarocks.org/say-1.3-1.rockspec;
-      sha256 = "0bknglb0qwd6r703wp3hcb6z2xxd14kq4md3sg9al3b28fzxbhdv";
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/say-1.3-1.rockspec;
+    sha256 = "0bknglb0qwd6r703wp3hcb6z2xxd14kq4md3sg9al3b28fzxbhdv";
   }).outPath;
 
-       src = fetchurl {
-      url    = https://github.com/Olivine-Labs/say/archive/v1.3-1.tar.gz;
-      sha256 = "1jh76mxq9dcmv7kps2spwcc6895jmj2sf04i4y9idaxlicvwvs13";
+  src = fetchurl {
+    url    = https://github.com/Olivine-Labs/say/archive/v1.3-1.tar.gz;
+    sha256 = "1jh76mxq9dcmv7kps2spwcc6895jmj2sf04i4y9idaxlicvwvs13";
   };
-       
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/busted/";
-    description="Lua String Hashing/Indexing Library";
+    description = "Lua String Hashing/Indexing Library";
     license = {
       fullName = "MIT <http://opensource.org/licenses/MIT>";
     };
@@ -573,16 +659,16 @@ std__debug = buildLuarocksPackage {
   version = "1.0.1-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/std._debug-1.0.1-1.src.rock;
-      sha256 = "1qkcc5rph3ns9mzrfsa1671pb3hzbzfnaxvyw7zdly2b7ll88svz";
+    url    = https://luarocks.org/std._debug-1.0.1-1.src.rock;
+    sha256 = "1qkcc5rph3ns9mzrfsa1671pb3hzbzfnaxvyw7zdly2b7ll88svz";
   };
-  disabled = ( luaOlder "5.1") || ( luaAtLeast "5.5");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" ) || ( luaAtLeast "5.5" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://lua-stdlib.github.io/_debug";
-    description="Debug Hints Library";
+    description = "Debug Hints Library";
     license = {
       fullName = "MIT/X11";
     };
@@ -593,16 +679,16 @@ std_normalize = buildLuarocksPackage {
   version = "2.0.2-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/std.normalize-2.0.2-1.src.rock;
-      sha256 = "0yn60zqnxflhhlv6xk6w0ifdfxk1qcg8gq1wnrrbwsxwpipsrfjh";
+    url    = https://luarocks.org/std.normalize-2.0.2-1.src.rock;
+    sha256 = "0yn60zqnxflhhlv6xk6w0ifdfxk1qcg8gq1wnrrbwsxwpipsrfjh";
   };
-  disabled = ( luaOlder "5.1") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [ lua std__debug ];  
+  disabled = ( luaOlder "5.1" ) || ( luaAtLeast "5.4" );
+  propagatedBuildInputs = [ lua std__debug ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://lua-stdlib.github.io/normalize";
-    description="Normalized Lua Functions";
+    description = "Normalized Lua Functions";
     license = {
       fullName = "MIT/X11";
     };
@@ -610,19 +696,19 @@ std_normalize = buildLuarocksPackage {
 };
 luv = buildLuarocksPackage {
   pname = "luv";
-  version = "1.26.0-0";
+  version = "1.27.0-0";
 
   src = fetchurl {
-      url    = https://luarocks.org/luv-1.26.0-0.src.rock;
-      sha256 = "005yzcxlribnc45qr1g7q4psakximb9fbz07k6yzy1d94mhcxxr7";
+    url    = https://luarocks.org/luv-1.27.0-0.src.rock;
+    sha256 = "16csnnypi2m71ncr8qwc9drqbrb40l5li1nk7zpsxnslg5fiax6x";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "cmake";
 
   meta = {
     homepage = "https://github.com/luvit/luv";
-    description="Bare libuv bindings for lua";
+    description = "Bare libuv bindings for lua";
     license = {
       fullName = "Apache 2.0";
     };
@@ -633,16 +719,16 @@ luasystem = buildLuarocksPackage {
   version = "0.2.1-0";
 
   src = fetchurl {
-      url    = https://luarocks.org/luasystem-0.2.1-0.src.rock;
-      sha256 = "091xmp8cijgj0yzfsjrn7vljwznjnjn278ay7z9pjwpwiva0diyi";
+    url    = https://luarocks.org/luasystem-0.2.1-0.src.rock;
+    sha256 = "091xmp8cijgj0yzfsjrn7vljwznjnjn278ay7z9pjwpwiva0diyi";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/luasystem/";
-    description="Platform independent system calls for Lua.";
+    description = "Platform independent system calls for Lua.";
     license = {
       fullName = "MIT <http://opensource.org/licenses/MIT>";
     };
@@ -653,16 +739,16 @@ mediator_lua = buildLuarocksPackage {
   version = "1.1.2-0";
 
   src = fetchurl {
-      url    = http://luarocks.org/manifests/teto/mediator_lua-1.1.2-0.src.rock;
-      sha256 = "18j49vvs94yfk4fw0xsq4v3j4difr6c99gfba0kxairmcqamd1if";
+    url    = http://luarocks.org/manifests/teto/mediator_lua-1.1.2-0.src.rock;
+    sha256 = "18j49vvs94yfk4fw0xsq4v3j4difr6c99gfba0kxairmcqamd1if";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/mediator_lua/";
-    description="Event handling through channels";
+    description = "Event handling through channels";
     license = {
       fullName = "MIT <http://opensource.org/licenses/MIT>";
     };
@@ -673,16 +759,15 @@ mpack = buildLuarocksPackage {
   version = "1.0.7-0";
 
   src = fetchurl {
-      url    = http://luarocks.org/manifests/teto/mpack-1.0.7-0.src.rock;
-      sha256 = "0nq4ixaminkc7fwfpivysyv0al3j5dffsvgdrnwnqdg3w7jgfbw7";
+    url    = http://luarocks.org/manifests/teto/mpack-1.0.7-0.src.rock;
+    sha256 = "0nq4ixaminkc7fwfpivysyv0al3j5dffsvgdrnwnqdg3w7jgfbw7";
   };
-  
-    
+
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/libmpack/libmpack-lua/releases/download/1.0.7/libmpack-lua-1.0.7.tar.gz";
-    description="Lua binding to libmpack";
+    description = "Lua binding to libmpack";
     license = {
       fullName = "MIT";
     };
@@ -693,16 +778,16 @@ nvim-client = buildLuarocksPackage {
   version = "0.1.0-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/nvim-client-0.1.0-1.src.rock;
-      sha256 = "1p57mrvm0ny3yi5cydr3z9qwzyg124rjp5w7vdflf2i23z39mkma";
+    url    = https://luarocks.org/nvim-client-0.1.0-1.src.rock;
+    sha256 = "1p57mrvm0ny3yi5cydr3z9qwzyg124rjp5w7vdflf2i23z39mkma";
   };
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua mpack luv coxpcall ];  
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua mpack luv coxpcall ];
   buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/neovim/lua-client/archive/0.1.0-1.tar.gz";
-    description="Lua client to Nvim";
+    description = "Lua client to Nvim";
     license = {
       fullName = "Apache";
     };
@@ -712,23 +797,23 @@ busted = buildLuarocksPackage {
   pname = "busted";
   version = "2.0.rc13-0";
 
-         knownRockspec = (fetchurl {
-      url    = https://luarocks.org/busted-2.0.rc13-0.rockspec;
-      sha256 = "0hrvhg1324q5ra6cpjh1y3by6lrzs0ljah4jl48l8xlgw1z9z1q5";
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/busted-2.0.rc13-0.rockspec;
+    sha256 = "0hrvhg1324q5ra6cpjh1y3by6lrzs0ljah4jl48l8xlgw1z9z1q5";
   }).outPath;
 
-       src = fetchurl {
-      url    = https://github.com/Olivine-Labs/busted/archive/v2.0.rc13-0.tar.gz;
-      sha256 = "0m72bldn1r6j94ahcfmpaq1mmysrshf9qi9fjas7hpal0jp8ivvl";
+  src = fetchurl {
+    url    = https://github.com/Olivine-Labs/busted/archive/v2.0.rc13-0.tar.gz;
+    sha256 = "0m72bldn1r6j94ahcfmpaq1mmysrshf9qi9fjas7hpal0jp8ivvl";
   };
-       
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua lua_cliargs luafilesystem luasystem dkjson say luassert lua-term penlight mediator_lua ];  
+
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua lua_cliargs luafilesystem luasystem dkjson say luassert lua-term penlight mediator_lua ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/busted/";
-    description="Elegant Lua unit testing.";
+    description = "Elegant Lua unit testing.";
     license = {
       fullName = "MIT <http://opensource.org/licenses/MIT>";
     };
@@ -738,23 +823,23 @@ luassert = buildLuarocksPackage {
   pname = "luassert";
   version = "1.7.11-0";
 
-         knownRockspec = (fetchurl {
-      url    = https://luarocks.org/luassert-1.7.11-0.rockspec;
-      sha256 = "12zgybcv8acjzvjdbxd1764s1vxbksxdv9fkvsymcsdmppxkbd0s";
+  knownRockspec = (fetchurl {
+    url    = https://luarocks.org/luassert-1.7.11-0.rockspec;
+    sha256 = "12zgybcv8acjzvjdbxd1764s1vxbksxdv9fkvsymcsdmppxkbd0s";
   }).outPath;
 
-       src = fetchurl {
-      url    = https://github.com/Olivine-Labs/luassert/archive/v1.7.11.tar.gz;
-      sha256 = "1vwq3wqj9cjyz9lnf1n38yhpcglr2h40v3n9096i8vcpmyvdb3ka";
+  src = fetchurl {
+    url    = https://github.com/Olivine-Labs/luassert/archive/v1.7.11.tar.gz;
+    sha256 = "1vwq3wqj9cjyz9lnf1n38yhpcglr2h40v3n9096i8vcpmyvdb3ka";
   };
-       
-  disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [ lua say ];  
+
+  disabled = ( luaOlder "5.1" );
+  propagatedBuildInputs = [ lua say ];
   buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/busted/";
-    description="Lua Assertions Extension";
+    description = "Lua Assertions Extension";
     license = {
       fullName = "MIT <http://opensource.org/licenses/MIT>";
     };
@@ -765,16 +850,15 @@ coxpcall = buildLuarocksPackage {
   version = "1.17.0-1";
 
   src = fetchurl {
-      url    = https://luarocks.org/manifests/hisham/coxpcall-1.17.0-1.src.rock;
-      sha256 = "0n1jmda4g7x06458596bamhzhcsly6x0p31yp6q3jz4j11zv1zhi";
+    url    = https://luarocks.org/manifests/hisham/coxpcall-1.17.0-1.src.rock;
+    sha256 = "0n1jmda4g7x06458596bamhzhcsly6x0p31yp6q3jz4j11zv1zhi";
   };
-  
-    
+
   buildType = "builtin";
 
   meta = {
     homepage = "http://keplerproject.github.io/coxpcall";
-    description="Coroutine safe xpcall and pcall";
+    description = "Coroutine safe xpcall and pcall";
     license = {
       fullName = "MIT/X11";
     };
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index 0cf0c70faa1..c88f5f9f57c 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -56,7 +56,7 @@ with super;
     '';
   });
 
-  luuid = super.luuid.override({
+  luuid = super.luuid.override(oa: {
     buildInputs = [ pkgs.libuuid ];
     extraConfig = ''
       variables = {
@@ -64,7 +64,7 @@ with super;
         LIBUUID_LIBDIR="${pkgs.lib.getLib pkgs.libuuid}/lib";
       }
     '';
-    meta = {
+    meta = oa.meta // {
       platforms = pkgs.lib.platforms.linux;
     };
   });
@@ -75,4 +75,27 @@ with super;
       sed -i '/set(CMAKE_C_FLAGS/d' CMakeLists.txt
     '';
   });
- }
+
+  binaryheap = super.binaryheap.overrideAttrs(oa: {
+    meta = oa.meta // {
+      maintainers = with pkgs.lib.maintainers; oa.meta.maintainers ++ [ vcunat ];
+    };
+  });
+
+  http = super.http.overrideAttrs(oa: {
+    patches = oa.patches or [] ++ [
+      (pkgs.fetchpatch {
+        name = "invalid-state-progression.patch";
+        url = "https://github.com/daurnimator/lua-http/commit/cb7b59474a.diff";
+        sha256 = "1vmx039n3nqfx50faqhs3wgiw28ws416rhw6vh6srmh9i826dac7";
+      })
+    ];
+    /* TODO: separate docs derivation? (pandoc is heavy)
+    nativeBuildInputs = [ pandoc ];
+    makeFlags = [ "-C doc" "lua-http.html" "lua-http.3" ];
+    */
+    meta = oa.meta // {
+      maintainers = with pkgs.lib.maintainers; oa.meta.maintainers ++ [ vcunat ];
+    };
+  });
+}
diff --git a/pkgs/development/node-packages/node-packages-v10.json b/pkgs/development/node-packages/node-packages-v10.json
index d969115c3b6..383ab5b860a 100644
--- a/pkgs/development/node-packages/node-packages-v10.json
+++ b/pkgs/development/node-packages/node-packages-v10.json
@@ -2,6 +2,7 @@
   "@angular/cli"
 , "asar"
 , "azure-functions-core-tools"
+, "bash-language-server"
 , "bower"
 , "bower2nix"
 , "browserify"
@@ -105,22 +106,40 @@
 , "smartdc"
 , "snyk"
 , "socket.io"
+, "speed-test"
 , "stackdriver-statsd-backend"
 , "svgo"
 , "swagger"
 , { "tedicross": "git+https://github.com/TediCross/TediCross.git#v0.8.7" }
 , "tern"
 , "textlint"
+, "textlint-plugin-latex"
+, "textlint-rule-abbr-within-parentheses"
+, "textlint-rule-alex"
+, "textlint-rule-common-misspellings"
+, "textlint-rule-diacritics"
+, "textlint-rule-en-max-word-count"
+, "textlint-rule-max-comma"
+, "textlint-rule-no-start-duplicated-conjunction"
+, "textlint-rule-period-in-list-item"
+, "textlint-rule-stop-words"
+, "textlint-rule-terminology"
+, "textlint-rule-unexpanded-acronym"
+, "textlint-rule-write-good"
 , "three"
 , "tiddlywiki"
 , "triton"
 , "tsun"
 , "ttf2eot"
 , "typescript"
+, "typescript-language-server"
 , "uglify-js"
 , "ungit"
+, "vscode-css-languageserver-bin"
+, "vscode-html-languageserver-bin"
 , "vue-cli"
 , "@vue/cli"
+, "vue-language-server"
 , "@webassemblyjs/cli"
 , "@webassemblyjs/repl"
 , "@webassemblyjs/wasm-strip"
@@ -131,6 +150,7 @@
 , "webtorrent-cli"
 , "web-ext"
 , "wring"
+, "write-good"
 , "yarn"
 , "yo"
 ]
diff --git a/pkgs/development/node-packages/node-packages-v10.nix b/pkgs/development/node-packages/node-packages-v10.nix
index 797ea9b22e5..bc420106945 100644
--- a/pkgs/development/node-packages/node-packages-v10.nix
+++ b/pkgs/development/node-packages/node-packages-v10.nix
@@ -13,40 +13,40 @@ let
         sha512 = "t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==";
       };
     };
-    "@angular-devkit/architect-0.13.8" = {
+    "@angular-devkit/architect-0.13.9" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.13.8";
+      version = "0.13.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.8.tgz";
-        sha512 = "gxUs5rhnP576T8ZclKqxlspiChrqRtqaJo54wqNVFvYKEjRZKyMa+1AK6p0oD9zcIToEkcjknj3BbtQa27lLHg==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.9.tgz";
+        sha512 = "EAFtCs9dsGhpMRC45PoYsrkiExpWz9Ax15qXfzwdDRacz5DmdOVt+QpkLW1beUOwiyj/bhFyj23eaONK2RTn/w==";
       };
     };
-    "@angular-devkit/core-7.3.8" = {
+    "@angular-devkit/core-7.3.9" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "7.3.8";
+      version = "7.3.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.8.tgz";
-        sha512 = "3X9uzaZXFpm5o2TSzhD6wEOtVU32CgeytKjD1Scxj+uMMVo48SWLlKiFh312T+smI9ko7tOT8VqxglwYkWosgg==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.9.tgz";
+        sha512 = "SaxD+nKFW3iCBKsxNR7+66J30EexW/y7tm8m5AvUH+GwSAgIj0ZYmRUzFEPggcaLVA4WnE/YWqIXZMJW5dT7gw==";
       };
     };
-    "@angular-devkit/schematics-7.3.8" = {
+    "@angular-devkit/schematics-7.3.9" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "7.3.8";
+      version = "7.3.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.8.tgz";
-        sha512 = "mvaKoORZIaW/h0VNZ3IQWP0qThRCZRX6869FNlzV0jlW0mhn07XbiIGHCGGSCDRxS7qJ0VbuIVnKXntF+iDeWw==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.9.tgz";
+        sha512 = "xzROGCYp7aQbeJ3V6YC0MND7wKEAdWqmm/GaCufEk0dDS8ZGe0sQhcM2oBRa2nQqGQNeThFIH51kx+FayrJP0w==";
       };
     };
-    "@apollographql/apollo-tools-0.3.5" = {
+    "@apollographql/apollo-tools-0.3.6" = {
       name = "_at_apollographql_slash_apollo-tools";
       packageName = "@apollographql/apollo-tools";
-      version = "0.3.5";
+      version = "0.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.3.5.tgz";
-        sha512 = "5ySiiNT2EIwxGKWyoAOnibCPUXvbxKOVxiPMK4uIXmvF+qbGNleQWP+vekciiAmCCESPmGd5szscRwDm4G/NNg==";
+        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.3.6.tgz";
+        sha512 = "j59jXpFACU1WY5+O2T7qg5OgIPIiOoynO+UlOsDWiazmqc1dOe597VlIraj1w+XClYrerx6NhhLY2yHXECYFVA==";
       };
     };
     "@apollographql/graphql-playground-html-1.6.6" = {
@@ -94,13 +94,13 @@ let
         sha512 = "jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==";
       };
     };
-    "@babel/core-7.4.3" = {
+    "@babel/core-7.4.4" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.4.3.tgz";
-        sha512 = "oDpASqKFlbspQfzAE7yaeTmdljSH2ADIvBlb0RwbStltTuWa0+7CCI1fYVINNv9saHPa1W7oaKeuNuKj+RQCvA==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.4.4.tgz";
+        sha512 = "lQgGX3FPRgbz2SKmhMtYgJvVzGZrmjaF4apZ2bLwofAKiSjxU0drPh4S/VasyYXwaTs+A1gvQ45BN8SQJzHsQQ==";
       };
     };
     "@babel/generator-7.0.0-beta.38" = {
@@ -121,13 +121,13 @@ let
         sha512 = "8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==";
       };
     };
-    "@babel/generator-7.4.0" = {
+    "@babel/generator-7.4.4" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.4.0.tgz";
-        sha512 = "/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz";
+        sha512 = "53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==";
       };
     };
     "@babel/helper-annotate-as-pure-7.0.0" = {
@@ -157,31 +157,31 @@ let
         sha512 = "MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==";
       };
     };
-    "@babel/helper-call-delegate-7.4.0" = {
+    "@babel/helper-call-delegate-7.4.4" = {
       name = "_at_babel_slash_helper-call-delegate";
       packageName = "@babel/helper-call-delegate";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.0.tgz";
-        sha512 = "SdqDfbVdNQCBp3WhK2mNdDvHd3BD6qbmIc43CAyjnsfCmgHMeqgDcM3BzY2lchi7HBJGJ2CVdynLWbezaE4mmQ==";
+        url = "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz";
+        sha512 = "l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.4.3" = {
+    "@babel/helper-create-class-features-plugin-7.4.4" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.3.tgz";
-        sha512 = "UMl3TSpX11PuODYdWGrUeW6zFkdYhDn7wRLrOuNVM6f9L+S9CzmDXYyrp3MTHcwWjnzur1f/Op8A7iYZWya2Yg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz";
+        sha512 = "UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA==";
       };
     };
-    "@babel/helper-define-map-7.4.0" = {
+    "@babel/helper-define-map-7.4.4" = {
       name = "_at_babel_slash_helper-define-map";
       packageName = "@babel/helper-define-map";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.0.tgz";
-        sha512 = "wAhQ9HdnLIywERVcSvX40CEJwKdAa1ID4neI9NXQPDOHwwA+57DqwLiPEVy2AIyWzAk0CQ8qx4awO0VUURwLtA==";
+        url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz";
+        sha512 = "IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==";
       };
     };
     "@babel/helper-explode-assignable-expression-7.1.0" = {
@@ -211,13 +211,13 @@ let
         sha512 = "r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==";
       };
     };
-    "@babel/helper-hoist-variables-7.4.0" = {
+    "@babel/helper-hoist-variables-7.4.4" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.0.tgz";
-        sha512 = "/NErCuoe/et17IlAQFKWM24qtyYYie7sFIrW/tIQXpck6vAu2hhtYYsKLBWQV+BQZMbcIYPU/QMYuTufrY4aQw==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz";
+        sha512 = "VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==";
       };
     };
     "@babel/helper-member-expression-to-functions-7.0.0" = {
@@ -238,13 +238,13 @@ let
         sha512 = "aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==";
       };
     };
-    "@babel/helper-module-transforms-7.4.3" = {
+    "@babel/helper-module-transforms-7.4.4" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.3.tgz";
-        sha512 = "H88T9IySZW25anu5uqyaC1DaQre7ofM+joZtAaO2F8NBdFfupH0SZ4gKjgSFVcvtx/aAirqA9L9Clio2heYbZA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz";
+        sha512 = "3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==";
       };
     };
     "@babel/helper-optimise-call-expression-7.0.0" = {
@@ -265,13 +265,13 @@ let
         sha512 = "CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==";
       };
     };
-    "@babel/helper-regex-7.4.3" = {
+    "@babel/helper-regex-7.4.4" = {
       name = "_at_babel_slash_helper-regex";
       packageName = "@babel/helper-regex";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.3.tgz";
-        sha512 = "hnoq5u96pLCfgjXuj8ZLX3QQ+6nAulS+zSgi6HulUwFbEruRAKwbGLU5OvXkE14L8XW6XsQEKsIDfgthKLRAyA==";
+        url = "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.4.tgz";
+        sha512 = "Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==";
       };
     };
     "@babel/helper-remap-async-to-generator-7.1.0" = {
@@ -283,13 +283,13 @@ let
         sha512 = "3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==";
       };
     };
-    "@babel/helper-replace-supers-7.4.0" = {
+    "@babel/helper-replace-supers-7.4.4" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.0.tgz";
-        sha512 = "PVwCVnWWAgnal+kJ+ZSAphzyl58XrFeSKSAJRiqg5QToTsjL+Xu1f9+RJ+d+Q0aPhPfBGaYfkox66k86thxNSg==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz";
+        sha512 = "04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==";
       };
     };
     "@babel/helper-simple-access-7.1.0" = {
@@ -301,13 +301,13 @@ let
         sha512 = "Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==";
       };
     };
-    "@babel/helper-split-export-declaration-7.4.0" = {
+    "@babel/helper-split-export-declaration-7.4.4" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz";
-        sha512 = "7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz";
+        sha512 = "Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==";
       };
     };
     "@babel/helper-wrap-function-7.2.0" = {
@@ -319,13 +319,13 @@ let
         sha512 = "o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==";
       };
     };
-    "@babel/helpers-7.4.3" = {
+    "@babel/helpers-7.4.4" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.3.tgz";
-        sha512 = "BMh7X0oZqb36CfyhvtbSmcWc3GXocfxv3yNsAEuM0l+fAqSO22rQrUpijr3oE/10jCTrB6/0b9kzmG4VetCj8Q==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz";
+        sha512 = "igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==";
       };
     };
     "@babel/highlight-7.0.0" = {
@@ -346,13 +346,13 @@ let
         sha512 = "tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==";
       };
     };
-    "@babel/parser-7.4.3" = {
+    "@babel/parser-7.4.4" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.4.3.tgz";
-        sha512 = "gxpEUhTS1sGA63EGQGuA+WESPR/6tz6ng7tSHFCmaTJK/cGK8y37cBTspX+U2xCAue2IQVvF6Z0oigmjwD8YGQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz";
+        sha512 = "5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==";
       };
     };
     "@babel/plugin-external-helpers-7.0.0" = {
@@ -373,13 +373,13 @@ let
         sha512 = "+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.4.0" = {
+    "@babel/plugin-proposal-class-properties-7.4.4" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.0.tgz";
-        sha512 = "t2ECPNOXsIeK1JxJNKmgbzQtoG27KIlVE61vTqX0DKR9E9sZlVVxWUtEW9D5FlZ8b8j7SBNCHY47GgPKCKlpPg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz";
+        sha512 = "WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg==";
       };
     };
     "@babel/plugin-proposal-json-strings-7.2.0" = {
@@ -391,13 +391,13 @@ let
         sha512 = "MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.4.3" = {
+    "@babel/plugin-proposal-object-rest-spread-7.4.4" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.3.tgz";
-        sha512 = "xC//6DNSSHVjq8O2ge0dyYlhshsH4T7XdCVoxbi5HzLYWfsC5ooFlJjrXk8RcAT+hjHAK9UjBXdylzSoDK3t4g==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz";
+        sha512 = "dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==";
       };
     };
     "@babel/plugin-proposal-optional-catch-binding-7.2.0" = {
@@ -409,13 +409,13 @@ let
         sha512 = "mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.4.0" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.4.4" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.0.tgz";
-        sha512 = "h/KjEZ3nK9wv1P1FSNb9G079jXrNYR0Ko+7XkOx85+gM24iZbPn0rh4vCftk+5QKY7y1uByFataBTmX7irEF1w==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz";
+        sha512 = "j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.2.0" = {
@@ -481,13 +481,13 @@ let
         sha512 = "ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.4.0" = {
+    "@babel/plugin-transform-async-to-generator-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.0.tgz";
-        sha512 = "EeaFdCeUULM+GPFEsf7pFcNSxM7hYjoj5fiYbyuiXobW4JhFnjAv9OWzNwHyHcKoPNpAfeRDuW6VyaXEDUBa7g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz";
+        sha512 = "YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==";
       };
     };
     "@babel/plugin-transform-block-scoped-functions-7.2.0" = {
@@ -499,22 +499,22 @@ let
         sha512 = "ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.4.0" = {
+    "@babel/plugin-transform-block-scoping-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.0.tgz";
-        sha512 = "AWyt3k+fBXQqt2qb9r97tn3iBwFpiv9xdAiG+Gr2HpAZpuayvbL55yWrsV3MyHvXk/4vmSiedhDRl1YI2Iy5nQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz";
+        sha512 = "jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==";
       };
     };
-    "@babel/plugin-transform-classes-7.4.3" = {
+    "@babel/plugin-transform-classes-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.3.tgz";
-        sha512 = "PUaIKyFUDtG6jF5DUJOfkBdwAS/kFFV3XFk7Nn0a6vR7ZT8jYw5cGtIlat77wcnd0C6ViGqo/wyNf4ZHytF/nQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz";
+        sha512 = "/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==";
       };
     };
     "@babel/plugin-transform-computed-properties-7.2.0" = {
@@ -526,22 +526,22 @@ let
         sha512 = "kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.4.3" = {
+    "@babel/plugin-transform-destructuring-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.3.tgz";
-        sha512 = "rVTLLZpydDFDyN4qnXdzwoVpk1oaXHIvPEOkOLyr88o7oHxVc/LyrnDx+amuBWGOwUb7D1s/uLsKBNTx08htZg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz";
+        sha512 = "/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.4.3" = {
+    "@babel/plugin-transform-dotall-regex-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.3.tgz";
-        sha512 = "9Arc2I0AGynzXRR/oPdSALv3k0rM38IMFyto7kOCwb5F9sLUt2Ykdo3V9yUPR+Bgr4kb6bVEyLkPEiBhzcTeoA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz";
+        sha512 = "P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==";
       };
     };
     "@babel/plugin-transform-duplicate-keys-7.2.0" = {
@@ -571,22 +571,22 @@ let
         sha512 = "PmQC9R7DwpBFA+7ATKMyzViz3zCaMNouzZMPZN2K5PnbBbtL3AXFYTkDk+Hey5crQq2A90UG5Uthz0mel+XZrA==";
       };
     };
-    "@babel/plugin-transform-for-of-7.4.3" = {
+    "@babel/plugin-transform-for-of-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.3.tgz";
-        sha512 = "UselcZPwVWNSURnqcfpnxtMehrb8wjXYOimlYQPBnup/Zld426YzIhNEvuRsEWVHfESIECGrxoI6L5QqzuLH5Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz";
+        sha512 = "9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==";
       };
     };
-    "@babel/plugin-transform-function-name-7.4.3" = {
+    "@babel/plugin-transform-function-name-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.3.tgz";
-        sha512 = "uT5J/3qI/8vACBR9I1GlAuU/JqBtWdfCrynuOkrWG6nCDieZd5przB1vfP59FRHBZQ9DC2IUfqr/xKqzOD5x0A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz";
+        sha512 = "iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==";
       };
     };
     "@babel/plugin-transform-literals-7.2.0" = {
@@ -625,22 +625,22 @@ let
         sha512 = "V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.4.3" = {
+    "@babel/plugin-transform-modules-commonjs-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.3.tgz";
-        sha512 = "sMP4JqOTbMJMimqsSZwYWsMjppD+KRyDIUVW91pd7td0dZKAvPmhCaxhOzkzLParKwgQc7bdL9UNv+rpJB0HfA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz";
+        sha512 = "4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.4.0" = {
+    "@babel/plugin-transform-modules-systemjs-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz";
-        sha512 = "gjPdHmqiNhVoBqus5qK60mWPp1CmYWp/tkh11mvb0rrys01HycEGD7NvvSoKXlWEfSM9TcL36CpsK8ElsADptQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz";
+        sha512 = "MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==";
       };
     };
     "@babel/plugin-transform-modules-umd-7.2.0" = {
@@ -652,22 +652,22 @@ let
         sha512 = "BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.4.2" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.4.2";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.2.tgz";
-        sha512 = "NsAuliSwkL3WO2dzWTOL1oZJHm0TM8ZY8ZSxk2ANyKkt5SQlToGA4pzctmq1BEjoacurdwZ3xp2dCQWJkME0gQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.4.tgz";
+        sha512 = "Ki+Y9nXBlKfhD+LXaRS7v95TtTGYRAf9Y1rTDiE75zf8YQz4GDaWRXosMfJBXxnk88mGFjWdCRIeqDbon7spYA==";
       };
     };
-    "@babel/plugin-transform-new-target-7.4.0" = {
+    "@babel/plugin-transform-new-target-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz";
-        sha512 = "6ZKNgMQmQmrEX/ncuCwnnw1yVGoaOW5KpxNhoWI7pCQdA0uZ0HqHGqenCUIENAnxRjy2WwNQ30gfGdIgqJXXqw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz";
+        sha512 = "r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==";
       };
     };
     "@babel/plugin-transform-object-super-7.2.0" = {
@@ -679,13 +679,13 @@ let
         sha512 = "VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg==";
       };
     };
-    "@babel/plugin-transform-parameters-7.4.3" = {
+    "@babel/plugin-transform-parameters-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.3.tgz";
-        sha512 = "ULJYC2Vnw96/zdotCZkMGr2QVfKpIT/4/K+xWWY0MbOJyMZuk660BGkr3bEKWQrrciwz6xpmft39nA4BF7hJuA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz";
+        sha512 = "oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==";
       };
     };
     "@babel/plugin-transform-property-literals-7.2.0" = {
@@ -706,13 +706,13 @@ let
         sha512 = "a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.4.3" = {
+    "@babel/plugin-transform-regenerator-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.3.tgz";
-        sha512 = "kEzotPuOpv6/iSlHroCDydPkKYw7tiJGKlmYp6iJn4a6C/+b2FdttlJsLKYxolYHgotTJ5G5UY5h0qey5ka3+A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.4.tgz";
+        sha512 = "Zz3w+pX1SI0KMIiqshFZkwnVGUhDZzpX2vtPzfJBKQQq8WsP/Xy9DNdELWivxcKOCX/Pywge4SiEaPaLtoDT4g==";
       };
     };
     "@babel/plugin-transform-reserved-words-7.2.0" = {
@@ -724,13 +724,13 @@ let
         sha512 = "fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==";
       };
     };
-    "@babel/plugin-transform-runtime-7.4.3" = {
+    "@babel/plugin-transform-runtime-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.3.tgz";
-        sha512 = "7Q61bU+uEI7bCUFReT1NKn7/X6sDQsZ7wL1sJ9IYMAO7cI+eg6x9re1cEw2fCRMbbTVyoeUKWSV1M6azEfKCfg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.4.tgz";
+        sha512 = "aMVojEjPszvau3NRg+TIH14ynZLvPewH4xhlCW1w6A3rkxTS1m4uwzRclYR9oS+rl/dr+kT+pzbfHuAWP/lc7Q==";
       };
     };
     "@babel/plugin-transform-shorthand-properties-7.2.0" = {
@@ -760,13 +760,13 @@ let
         sha512 = "KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.2.0" = {
+    "@babel/plugin-transform-template-literals-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.2.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz";
-        sha512 = "FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz";
+        sha512 = "mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==";
       };
     };
     "@babel/plugin-transform-typeof-symbol-7.2.0" = {
@@ -778,13 +778,13 @@ let
         sha512 = "2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.4.3" = {
+    "@babel/plugin-transform-unicode-regex-7.4.4" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.3.tgz";
-        sha512 = "lnSNgkVjL8EMtnE8eSS7t2ku8qvKH3eqNf/IwIfnSPUqzgqYmRwzdsQWv4mNQAN9Nuo6Gz1Y0a4CSmdpu1Pp6g==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz";
+        sha512 = "il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==";
       };
     };
     "@babel/polyfill-7.2.5" = {
@@ -805,13 +805,13 @@ let
         sha512 = "2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==";
       };
     };
-    "@babel/preset-env-7.4.3" = {
+    "@babel/preset-env-7.4.4" = {
       name = "_at_babel_slash_preset-env";
       packageName = "@babel/preset-env";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.3.tgz";
-        sha512 = "FYbZdV12yHdJU5Z70cEg0f6lvtpZ8jFSDakTm7WXeJbLXh4R0ztGEu/SW7G1nJ2ZvKwDhz8YrbA84eYyprmGqw==";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.4.tgz";
+        sha512 = "FU1H+ACWqZZqfw1x2G1tgtSSYSfxJLkpaUQL37CenULFARDo+h4xJoVHzRoHbK+85ViLciuI7ME4WTIhFRBBlw==";
       };
     };
     "@babel/preset-stage-2-7.0.0" = {
@@ -841,13 +841,13 @@ let
         sha512 = "IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==";
       };
     };
-    "@babel/runtime-7.4.3" = {
+    "@babel/runtime-7.4.4" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.3.tgz";
-        sha512 = "9lsJwJLxDh/T3Q3SZszfWOTkk3pHbkmH+3KY+zwIDmsNlxsumuhS2TH3NIpktU4kNvfzy+k3eLT7aTJSPTo0OA==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.4.tgz";
+        sha512 = "w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg==";
       };
     };
     "@babel/template-7.2.2" = {
@@ -859,13 +859,13 @@ let
         sha512 = "zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==";
       };
     };
-    "@babel/template-7.4.0" = {
+    "@babel/template-7.4.4" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.4.0.tgz";
-        sha512 = "SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz";
+        sha512 = "CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==";
       };
     };
     "@babel/traverse-7.3.4" = {
@@ -877,13 +877,13 @@ let
         sha512 = "TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==";
       };
     };
-    "@babel/traverse-7.4.3" = {
+    "@babel/traverse-7.4.4" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.4.3";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.3.tgz";
-        sha512 = "HmA01qrtaCwwJWpSKpA948cBvU5BrmviAief/b3AVw936DtcdsTexlbyzNuDnthwhOQ37xshn7hvQaEQk7ISYQ==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz";
+        sha512 = "Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==";
       };
     };
     "@babel/types-7.0.0-beta.38" = {
@@ -904,13 +904,13 @@ let
         sha512 = "WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==";
       };
     };
-    "@babel/types-7.4.0" = {
+    "@babel/types-7.4.4" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.4.0";
+      version = "7.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz";
-        sha512 = "aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz";
+        sha512 = "dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==";
       };
     };
     "@calebboyd/semaphore-1.3.1" = {
@@ -1021,6 +1021,15 @@ let
         sha1 = "cbc4b9a68981bf0b501ccd06a9058acd65309bf7";
       };
     };
+    "@emmetio/extract-abbreviation-0.1.6" = {
+      name = "_at_emmetio_slash_extract-abbreviation";
+      packageName = "@emmetio/extract-abbreviation";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@emmetio/extract-abbreviation/-/extract-abbreviation-0.1.6.tgz";
+        sha512 = "Ce3xE2JvTSEbASFbRbA1gAIcMcZWdS2yUYRaQbeM0nbOzaZrUYfa3ePtcriYRZOZmr+CkKA+zbjhvTpIOAYVcw==";
+      };
+    };
     "@gulp-sourcemaps/identity-map-1.0.2" = {
       name = "_at_gulp-sourcemaps_slash_identity-map";
       packageName = "@gulp-sourcemaps/identity-map";
@@ -1174,13 +1183,13 @@ let
         sha512 = "2XzijnLHRZOVQh8pwS7+5GR3cG4uh+EiLrWOishCq2TVzkqgjaS3GGBoef7KMCXfWHoLqAZRr/jEdLqfETLVqg==";
       };
     };
-    "@lerna/changed-3.13.3" = {
+    "@lerna/changed-3.13.4" = {
       name = "_at_lerna_slash_changed";
       packageName = "@lerna/changed";
-      version = "3.13.3";
+      version = "3.13.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/changed/-/changed-3.13.3.tgz";
-        sha512 = "REMZ/1UvYrizUhN7ktlbfMUa0vhMf1ogAe97WQC4I8r3s973Orfhs3aselo1GwudUwM4tMHBH8A9vnll9or3iA==";
+        url = "https://registry.npmjs.org/@lerna/changed/-/changed-3.13.4.tgz";
+        sha512 = "9lfOyRVObasw6L/z7yCSfsEl1QKy0Eamb8t2Krg1deIoAt+cE3JXOdGGC1MhOSli+7f/U9LyLXjJzIOs/pc9fw==";
       };
     };
     "@lerna/check-working-tree-3.13.3" = {
@@ -1354,13 +1363,13 @@ let
         sha512 = "mQzoghRw4dBg0R9FFfHrj0TH0glvXyzdEZmYZ8Isvx5BSuEEwpsryoywuZSdppcvLu8o7NAdU5Tac8cJ/mT52w==";
       };
     };
-    "@lerna/import-3.13.3" = {
+    "@lerna/import-3.13.4" = {
       name = "_at_lerna_slash_import";
       packageName = "@lerna/import";
-      version = "3.13.3";
+      version = "3.13.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/import/-/import-3.13.3.tgz";
-        sha512 = "gDjLAFVavG/CMvj9leBfiwd7vrXqtdFXPIz1oXmghBMnje7nCTbodbNWFe4VDDWx7reDaZIN+6PxTSvrPcF//A==";
+        url = "https://registry.npmjs.org/@lerna/import/-/import-3.13.4.tgz";
+        sha512 = "dn6eNuPEljWsifBEzJ9B6NoaLwl/Zvof7PBUPA4hRyRlqG5sXRn6F9DnusMTovvSarbicmTURbOokYuotVWQQA==";
       };
     };
     "@lerna/init-3.13.3" = {
@@ -1507,13 +1516,13 @@ let
         sha512 = "P+lWSFokdyvYpkwC3it9cE0IF2U5yy2mOUbGvvE4iDb9K7TyXGE+7lwtx2thtPvBAfIb7O13POMkv7df03HJeA==";
       };
     };
-    "@lerna/publish-3.13.3" = {
+    "@lerna/publish-3.13.4" = {
       name = "_at_lerna_slash_publish";
       packageName = "@lerna/publish";
-      version = "3.13.3";
+      version = "3.13.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.13.3.tgz";
-        sha512 = "Ni3pZKueIfgJJoL0OXfbAuWhGlJrDNwGx3CYWp2dbNqJmKD6uBZmsDtmeARKDp92oUK60W0drXCMydkIFFHMDQ==";
+        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.13.4.tgz";
+        sha512 = "v03pabiPlqCDwX6cVNis1PDdT6/jBgkVb5Nl4e8wcJXevIhZw3ClvtI94gSZu/wdoVFX0RMfc8QBVmaimSO0qg==";
       };
     };
     "@lerna/pulse-till-done-3.13.0" = {
@@ -1606,13 +1615,13 @@ let
         sha512 = "SiJP75nwB8GhgwLKQfdkSnDufAaCbkZWJqEDlKOUPUvVOplRGnfL+BPQZH5nvq2BYSRXsksXWZ4UHVnQZI/HYA==";
       };
     };
-    "@lerna/version-3.13.3" = {
+    "@lerna/version-3.13.4" = {
       name = "_at_lerna_slash_version";
       packageName = "@lerna/version";
-      version = "3.13.3";
+      version = "3.13.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/version/-/version-3.13.3.tgz";
-        sha512 = "o/yQGAwDHmyu17wTj4Kat1/uDhjYFMeG+H0Y0HC4zJ4a/T6rEiXx7jJrnucPTmTQTDcUBoH/It5LrPYGOPsExA==";
+        url = "https://registry.npmjs.org/@lerna/version/-/version-3.13.4.tgz";
+        sha512 = "pptWUEgN/lUTQZu34+gfH1g4Uhs7TDKRcdZY9A4T9k6RTOwpKC2ceLGiXdeR+ZgQJAey2C4qiE8fo5Z6Rbc6QA==";
       };
     };
     "@lerna/write-log-file-3.13.0" = {
@@ -1696,13 +1705,13 @@ let
         sha512 = "shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==";
       };
     };
-    "@octokit/endpoint-4.0.0" = {
+    "@octokit/endpoint-5.1.1" = {
       name = "_at_octokit_slash_endpoint";
       packageName = "@octokit/endpoint";
-      version = "4.0.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-4.0.0.tgz";
-        sha512 = "b8sptNUekjREtCTJFpOfSIL4SKh65WaakcyxWzRcSPOk5RxkZJ/S8884NGZFxZ+jCB2rDURU66pSHn14cVgWVg==";
+        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.1.1.tgz";
+        sha512 = "kCv3ZyqFTWGYmvuU0TETzC4jPGzyLCJrjXp65kRe9DHyQULZak+dpwmEbT7M2rpdr/O2im8ivrPGT6J+2WsKNg==";
       };
     };
     "@octokit/plugin-enterprise-rest-2.2.2" = {
@@ -1714,22 +1723,22 @@ let
         sha512 = "CTZr64jZYhGWNTDGlSJ2mvIlFsm9OEO3LqWn9I/gmoHI4jRBp4kpHoFYNemG4oA75zUAcmbuWblb7jjP877YZw==";
       };
     };
-    "@octokit/request-3.0.0" = {
+    "@octokit/request-3.0.2" = {
       name = "_at_octokit_slash_request";
       packageName = "@octokit/request";
-      version = "3.0.0";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request/-/request-3.0.0.tgz";
-        sha512 = "DZqmbm66tq+a9FtcKrn0sjrUpi0UaZ9QPUCxxyk/4CJ2rseTMpAWRf6gCwOSUCzZcx/4XVIsDk+kz5BVdaeenA==";
+        url = "https://registry.npmjs.org/@octokit/request/-/request-3.0.2.tgz";
+        sha512 = "lBH2hf2Yuh9XlmP3MSpn3jL9DyCGG+cuPXDRQiJMK42BwW6xFhwWmG1k6xWykcLM4GwZG/5fuwcqnQXYG0ZTSg==";
       };
     };
-    "@octokit/rest-16.25.0" = {
+    "@octokit/rest-16.25.3" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "16.25.0";
+      version = "16.25.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.25.0.tgz";
-        sha512 = "QKIzP0gNYjyIGmY3Gpm3beof0WFwxFR+HhRZ+Wi0fYYhkEUvkJiXqKF56Pf5glzzfhEwOrggfluEld5F/ZxsKw==";
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-16.25.3.tgz";
+        sha512 = "/6/Isn9pNoKUQwuWUaskxMC6kFxtXTHhzsgYbyirEQ3UvcLciHvPgtRTbuV3bbVf0x4+4WEfKaI9UzxmPQ3W3A==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -1867,22 +1876,22 @@ let
         sha1 = "a777360b5b39a1a2e5106f8e858f2fd2d060c570";
       };
     };
-    "@schematics/angular-7.3.8" = {
+    "@schematics/angular-7.3.9" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "7.3.8";
+      version = "7.3.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.8.tgz";
-        sha512 = "7o90bnIxXNpJhWPDY/zCedcG6KMIihz7a4UQe6UdlhEX21MNZLYFiDiR5Vmsx39wjm2EfPh3JTuBIHGmMCXkQQ==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.9.tgz";
+        sha512 = "B3lytFtFeYNLfWdlrIzvy3ulFRccD2/zkoL0734J+DAGfUz7vbysJ50RwYL46sQUcKdZdvb48ktfu1S8yooP6Q==";
       };
     };
-    "@schematics/update-0.13.8" = {
+    "@schematics/update-0.13.9" = {
       name = "_at_schematics_slash_update";
       packageName = "@schematics/update";
-      version = "0.13.8";
+      version = "0.13.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/update/-/update-0.13.8.tgz";
-        sha512 = "2jP9w7Nnn24jOdrJtWjoS9LsNPmO9/Eu/+gDxBAVERCqR71mtNW+DopgWDtxleE9jri/pZWrHwShGFCSS7w23g==";
+        url = "https://registry.npmjs.org/@schematics/update/-/update-0.13.9.tgz";
+        sha512 = "4MQcaKFxhMzZyE//+DknDh3h3duy3avg2oxSHxdwXlCZ8Q92+4lpegjJcSRiqlEwO4qeJ5XnrjrvzfIiaIZOmA==";
       };
     };
     "@sindresorhus/is-0.14.0" = {
@@ -1921,6 +1930,96 @@ let
         sha512 = "nI7ELxukf7pT4/VraL4iabtNNMz8mUo7EXlqCFld8O5z6mIMLX9llps24iPpaIZOwArkY3FWA+4t+ixyvtTSIA==";
       };
     };
+    "@starptech/expression-parser-0.8.17" = {
+      name = "_at_starptech_slash_expression-parser";
+      packageName = "@starptech/expression-parser";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/expression-parser/-/expression-parser-0.8.17.tgz";
+        sha512 = "7oLWJjPNHaMgGcYIh/rbbmhrXyexHFOj5btztXbFuLjkHc5CmNc1Jhov0jF8rGMkRVwBoHpE1qR2fx4G+383eA==";
+      };
+    };
+    "@starptech/hast-util-from-webparser-0.8.17" = {
+      name = "_at_starptech_slash_hast-util-from-webparser";
+      packageName = "@starptech/hast-util-from-webparser";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/hast-util-from-webparser/-/hast-util-from-webparser-0.8.17.tgz";
+        sha512 = "zj5+X2qQltKbI+uYNz1DmkvVGnzZ/2XJOtWqeqeYrhDOtkEFbousifaFMCdTxvwFmGe/WusrO7rV6KtjqhDRjA==";
+      };
+    };
+    "@starptech/prettyhtml-0.8.17" = {
+      name = "_at_starptech_slash_prettyhtml";
+      packageName = "@starptech/prettyhtml";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/prettyhtml/-/prettyhtml-0.8.17.tgz";
+        sha512 = "T+5vztw3S/kstOAR/IaF0pRASS+iZxsUR538/4eZmPgoa9haAx9lYZF9wYD2kP81RewhktipOKJbhbbxliVRVA==";
+      };
+    };
+    "@starptech/prettyhtml-formatter-0.8.17" = {
+      name = "_at_starptech_slash_prettyhtml-formatter";
+      packageName = "@starptech/prettyhtml-formatter";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/prettyhtml-formatter/-/prettyhtml-formatter-0.8.17.tgz";
+        sha512 = "+fZcpa54Yxox4jN+nqnL2gJRrGA7XbbknsecxiYl8m9h51zgrmq+RhWlwxosMreFH3mEGdwuLAj1tumm9kpAZQ==";
+      };
+    };
+    "@starptech/prettyhtml-hast-to-html-0.8.17" = {
+      name = "_at_starptech_slash_prettyhtml-hast-to-html";
+      packageName = "@starptech/prettyhtml-hast-to-html";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/prettyhtml-hast-to-html/-/prettyhtml-hast-to-html-0.8.17.tgz";
+        sha512 = "WXVMJ60ra2Z/X91fXKLqBuCIJ+Xpc9PHSQ90ilzjocvziqKXkBGwio3oLjj/UKDSsh/gUZLsaTkXKFNFg/zx3w==";
+      };
+    };
+    "@starptech/prettyhtml-hastscript-0.8.17" = {
+      name = "_at_starptech_slash_prettyhtml-hastscript";
+      packageName = "@starptech/prettyhtml-hastscript";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/prettyhtml-hastscript/-/prettyhtml-hastscript-0.8.17.tgz";
+        sha512 = "MP3/gjrzxcKQEVYv+IxRbRZ6vhCAePUQ5BzkrkBvRM3fZwXMo5ZrnBf06Nq5JuNf/sgMv0hKoOkXbx0E3uiNkg==";
+      };
+    };
+    "@starptech/prettyhtml-sort-attributes-0.8.17" = {
+      name = "_at_starptech_slash_prettyhtml-sort-attributes";
+      packageName = "@starptech/prettyhtml-sort-attributes";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/prettyhtml-sort-attributes/-/prettyhtml-sort-attributes-0.8.17.tgz";
+        sha512 = "S28N5WCN2Wv8U6vpxJXf8sV4lu9hU2dnHJQSUkZP6M1W7HNkD/254Bn1vTJuwvHU5NWSQ3QxmzBe/TWlz9GAhg==";
+      };
+    };
+    "@starptech/rehype-minify-whitespace-0.8.17" = {
+      name = "_at_starptech_slash_rehype-minify-whitespace";
+      packageName = "@starptech/rehype-minify-whitespace";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/rehype-minify-whitespace/-/rehype-minify-whitespace-0.8.17.tgz";
+        sha512 = "hrrgNAYknfHw9lBWO0+qHtJJs0zMHwTOCIBTCk2FGyeg+SEKh4dJdNRUfujPkH5qNj7skTUHWtOKL5PaWRT64w==";
+      };
+    };
+    "@starptech/rehype-webparser-0.8.17" = {
+      name = "_at_starptech_slash_rehype-webparser";
+      packageName = "@starptech/rehype-webparser";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/rehype-webparser/-/rehype-webparser-0.8.17.tgz";
+        sha512 = "8GklGO1DSCyFqQKl8ZyL0mu3LDIc3DN1w8vj28EYxUinAGUWCGyaimC7QDyvs4hK75XM1NddPzR0fFBlBOXn1g==";
+      };
+    };
+    "@starptech/webparser-0.8.17" = {
+      name = "_at_starptech_slash_webparser";
+      packageName = "@starptech/webparser";
+      version = "0.8.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@starptech/webparser/-/webparser-0.8.17.tgz";
+        sha512 = "St95Jolws0W5NVB+OS0w84Tgu9BHlb+JPltSWD4lDwVIwv7x1lVHdat52AwHQdHPzUY2xGOz1g7Gdb5jSTTk3A==";
+      };
+    };
     "@szmarczak/http-timer-1.1.2" = {
       name = "_at_szmarczak_slash_http-timer";
       packageName = "@szmarczak/http-timer";
@@ -1930,103 +2029,103 @@ let
         sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
       };
     };
-    "@textlint/ast-node-types-4.2.1" = {
+    "@textlint/ast-node-types-4.2.2" = {
       name = "_at_textlint_slash_ast-node-types";
       packageName = "@textlint/ast-node-types";
-      version = "4.2.1";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.2.1.tgz";
-        sha512 = "Pqg1LTJpF929Ovi/lCaPqlyz8yDwBFbQulC0jyQcbRAoTxYS4AZMc48Ug2yk0so5hISQXKrlAxyVBmBVl9EKGA==";
+        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.2.2.tgz";
+        sha512 = "5VHykhxgUat7dvRWGw52Tk55SWjuZDpDO7PKDhfcLTFrD1cjbTtFFnWeJc0BfoqB2AUjfHXRoMdnqbFRGmnPVQ==";
       };
     };
-    "@textlint/ast-traverse-2.1.2" = {
+    "@textlint/ast-traverse-2.1.3" = {
       name = "_at_textlint_slash_ast-traverse";
       packageName = "@textlint/ast-traverse";
-      version = "2.1.2";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.1.2.tgz";
-        sha512 = "0VIx7Ql8OVHPOWKqHvgUDfyNlhZdG+0sn5bOhHJcbJs8HiSIdErO5pV1fPc2Apro3G15v6gq1rmjUR36ScwwdQ==";
+        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.1.3.tgz";
+        sha512 = "djZYlEtghk1Q9Tb0XU6if0S7JA+dfoO5AB6+Tcmi04HdWlXRZl8U59Sco+JzVFd3haFbDpMvC0sQIda4uZbsOA==";
       };
     };
-    "@textlint/feature-flag-3.1.2" = {
+    "@textlint/feature-flag-3.1.3" = {
       name = "_at_textlint_slash_feature-flag";
       packageName = "@textlint/feature-flag";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.1.2.tgz";
-        sha512 = "vtD/LXZoUHx++ExUvnUZKvl76+6kFHlHl0XLnyP6ZQSVoXF9ElVdFvvRaptPrpXu8SZYqCN2Hcz5iamXZP0hLQ==";
+        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.1.3.tgz";
+        sha512 = "59RaAmdsMB3e32PD04N0YOJI2L3ljWR8fEk9FDLbOJAZeu7c+TqgETHDiVnkrh8gM+m8RL0h4wWq1jbB1kj0Xw==";
       };
     };
-    "@textlint/fixer-formatter-3.1.3" = {
+    "@textlint/fixer-formatter-3.1.5" = {
       name = "_at_textlint_slash_fixer-formatter";
       packageName = "@textlint/fixer-formatter";
-      version = "3.1.3";
+      version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.1.3.tgz";
-        sha512 = "5EyO2+39bx8Tr4eDKxAFpoxXmzSvgGEXIIEDmiPg0+mJVkl33W1q79YAsOEqQDAP21DE9oKlBK2tPqljdTSDwQ==";
+        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.1.5.tgz";
+        sha512 = "Ef+6smERp3Meic3ob96PCr1Gv688fJKPhCWLuRf0n2pM+leiE5mkwJAlFJU75f5ZwY+a8V8wPRotBRFDUNA+7w==";
       };
     };
-    "@textlint/kernel-3.1.4" = {
+    "@textlint/kernel-3.1.6" = {
       name = "_at_textlint_slash_kernel";
       packageName = "@textlint/kernel";
-      version = "3.1.4";
+      version = "3.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.1.4.tgz";
-        sha512 = "BEK1dTrwKYX/RtM8oyBQbv4LBpXmMb9Uo/lOhHsYMhOC4bMF0zWktPiJ5bZNvvY7yyYJB42sAAthcBAdRxLhiw==";
+        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.1.6.tgz";
+        sha512 = "0Ox1WEFrqcsp/7hmlN9N3IrbuYT11cmBBIv647Mj2dccaspRhcqi0/PUsrnvB82JW43XTQNWbHG7GqpQaTQ1Pg==";
       };
     };
-    "@textlint/linter-formatter-3.1.3" = {
+    "@textlint/linter-formatter-3.1.5" = {
       name = "_at_textlint_slash_linter-formatter";
       packageName = "@textlint/linter-formatter";
-      version = "3.1.3";
+      version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.1.3.tgz";
-        sha512 = "UXBRqeECcSwIyreXs926Ylc6FREMrhUyov13rrfReGwS8WSQL3yBtAhoFsNwz1jI8OCNeYGZnA6R9nh40VKkPg==";
+        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.1.5.tgz";
+        sha512 = "UMCcwoJPa5EgfihPgpouQqoemi66fPD19rdhvdgYcMzObZ0cR+n2FczCadJnW10JxGvm9oEOzIOpWG57/63iCg==";
       };
     };
-    "@textlint/markdown-to-ast-6.1.2" = {
+    "@textlint/markdown-to-ast-6.1.3" = {
       name = "_at_textlint_slash_markdown-to-ast";
       packageName = "@textlint/markdown-to-ast";
-      version = "6.1.2";
+      version = "6.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.1.2.tgz";
-        sha512 = "we9n29GfopUUA0j91xRVQ75ME5YhdnWQZcjfpXQK98DQ//xwVzteMuZe1Og8CArA/aDoTRq0EYFkN2oGu3v20Q==";
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.1.3.tgz";
+        sha512 = "9/NJkfspGAin8raYKtkcwtXDmC/T66m7b5wRJgOPgdbjO6jnUezAUWCt2HqscSnNU/qw4GBCQDxTJLyOpZwvCg==";
       };
     };
-    "@textlint/text-to-ast-3.1.2" = {
+    "@textlint/text-to-ast-3.1.3" = {
       name = "_at_textlint_slash_text-to-ast";
       packageName = "@textlint/text-to-ast";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.1.2.tgz";
-        sha512 = "ge8O9p3HYLy2vni0k4Qh12fRKsJySp/wiuJlvGqemA+hJvSC0164N8I61aHBqgTWTciHHhKBH4ofqCOdSbwKTg==";
+        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.1.3.tgz";
+        sha512 = "0Il7SGwwgl6vUsQqnII4DXQDyIsa7nhardr5us4am98dALNd28mlciFHw2JUrwppoSZcYaBibIb22eo2lEmvMA==";
       };
     };
-    "@textlint/textlint-plugin-markdown-5.1.4" = {
+    "@textlint/textlint-plugin-markdown-5.1.6" = {
       name = "_at_textlint_slash_textlint-plugin-markdown";
       packageName = "@textlint/textlint-plugin-markdown";
-      version = "5.1.4";
+      version = "5.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.1.4.tgz";
-        sha512 = "e4/mcAZojiLw22zFhpul3v+ctsTRJGH0XkEy85vr03wN6f2IHZWE/9u7SHzaigwlCGm3umzmW379k7ewbwzfPg==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.1.6.tgz";
+        sha512 = "LUrxTQFBpJv0BQJkwUa0p4yY+fclOK2bPu2E5N8fWy3qg5bsIZynoUElYCpjc2c9WItZaaJINjiRVJ01FxnoNg==";
       };
     };
-    "@textlint/textlint-plugin-text-4.1.4" = {
+    "@textlint/textlint-plugin-text-4.1.6" = {
       name = "_at_textlint_slash_textlint-plugin-text";
       packageName = "@textlint/textlint-plugin-text";
-      version = "4.1.4";
+      version = "4.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.1.4.tgz";
-        sha512 = "HdWvU+meeo5CHO4tmPcR3m/+AF3lJLuv0G/lCsGUVsoWGwsWLIKTKX4+ODobQkio0kaqU2+ZVCy7lxpfPAAP7A==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.1.6.tgz";
+        sha512 = "GxsWRmleYtWNLKOwFJnYXswHn0x21I/htPfKCJ2jAw9Kwr0mDxJvzjyYAgOtoCFZ+q1dAGyq5mtWbh8y6rhvpg==";
       };
     };
-    "@textlint/types-1.1.3" = {
+    "@textlint/types-1.1.5" = {
       name = "_at_textlint_slash_types";
       packageName = "@textlint/types";
-      version = "1.1.3";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/types/-/types-1.1.3.tgz";
-        sha512 = "gU9wYNLKPf9wSX30XXcn+dj6vQSjS4Tudj+BCc1shtMj3u+wKUxDyt42OoCCJTerpF7pHViGQNxnPM9VkuXqyQ==";
+        url = "https://registry.npmjs.org/@textlint/types/-/types-1.1.5.tgz";
+        sha512 = "z9PqRrk9EEgSP3F83YV9A/yAYMbfubf3D85QwN/EUm3gtg0XuALqt9aHywuFcgVnvEJCUbhwz4xV51oqq5unYw==";
       };
     };
     "@types/accepts-1.3.5" = {
@@ -2074,13 +2173,13 @@ let
         sha512 = "aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw==";
       };
     };
-    "@types/cors-2.8.4" = {
+    "@types/cors-2.8.5" = {
       name = "_at_types_slash_cors";
       packageName = "@types/cors";
-      version = "2.8.4";
+      version = "2.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.4.tgz";
-        sha512 = "ipZjBVsm2tF/n8qFGOuGBkUij9X9ZswVi9G3bx/6dz7POpVa6gVHcj1wsX/LVEn9MMF41fxK/PnZPPoTD1UFPw==";
+        url = "https://registry.npmjs.org/@types/cors/-/cors-2.8.5.tgz";
+        sha512 = "GmK8AKu8i+s+EChK/uZ5IbrXPcPaQKWaNSGevDT/7o3gFObwSUQwqb1jMqxuo+YPvj0ckGzINI+EO7EHcmJjKg==";
       };
     };
     "@types/estree-0.0.39" = {
@@ -2110,13 +2209,13 @@ let
         sha512 = "V0clmJow23WeyblmACoxbHBu2JKlE5TiIme6Lem14FnPW9gsttyHtk6wq7njcdIWH1njAaFgR8gW09lgY98gQg==";
       };
     };
-    "@types/express-serve-static-core-4.16.3" = {
+    "@types/express-serve-static-core-4.16.4" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.16.3";
+      version = "4.16.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.3.tgz";
-        sha512 = "HFgBmRDTvdnrRFXqBr2NM2NUCu6fIpzJsUTlRVENF8lxvstof7cl9Fxfwq5S0kJbO/FsPVcjlxpOM3ZxIkn7Rw==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.4.tgz";
+        sha512 = "x/8h6FHm14rPWnW2HP5likD/rsqJ3t/77OWx2PLxym0hXbeBWQmcPyHmwX+CtCQpjIfgrUdEoDFcLPwPZWiqzQ==";
       };
     };
     "@types/glob-7.1.1" = {
@@ -2155,40 +2254,49 @@ let
         sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
       };
     };
-    "@types/node-10.14.5" = {
+    "@types/node-10.14.6" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "10.14.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-10.14.6.tgz";
+        sha512 = "Fvm24+u85lGmV4hT5G++aht2C5I4Z4dYlWZIh62FAfFO/TfzXtPpoLI6I7AuBWkIFqZCnhFOoTT7RjjaIL5Fjg==";
+      };
+    };
+    "@types/node-11.13.10" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "10.14.5";
+      version = "11.13.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-10.14.5.tgz";
-        sha512 = "Ja7d4s0qyGFxjGeDq5S7Si25OFibSAHUi6i17UWnwNnpitADN7hah9q0Tl25gxuV5R1u2Bx+np6w4LHXfHyj/g==";
+        url = "https://registry.npmjs.org/@types/node/-/node-11.13.10.tgz";
+        sha512 = "leUNzbFTMX94TWaIKz8N15Chu55F9QSH+INKayQr5xpkasBQBRF3qQXfo3/dOnMU/dEIit+Y/SU8HyOjq++GwA==";
       };
     };
-    "@types/node-11.13.7" = {
+    "@types/node-12.0.0" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "11.13.7";
+      version = "12.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-11.13.7.tgz";
-        sha512 = "suFHr6hcA9mp8vFrZTgrmqW2ZU3mbWsryQtQlY/QvwTISCw7nw/j+bCQPPohqmskhmqa5wLNuMHTTsc+xf1MQg==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.0.0.tgz";
+        sha512 = "Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg==";
       };
     };
-    "@types/node-6.14.5" = {
+    "@types/node-6.14.6" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "6.14.5";
+      version = "6.14.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-6.14.5.tgz";
-        sha512 = "50PRp2qLJYjnFV/BWc839MN/9YeSrNz5DWzCiKYw3GVF/YyMClcHxTWGsVc0CPNpJpk3CIp0dOqLxqP3U/Pc+A==";
+        url = "https://registry.npmjs.org/@types/node/-/node-6.14.6.tgz";
+        sha512 = "rFs9zCFtSHuseiNXxYxFlun8ibu+jtZPgRM+2ILCmeLiGeGLiIGxuOzD+cNyHegI1GD+da3R/cIbs9+xCLp13w==";
       };
     };
-    "@types/node-8.10.46" = {
+    "@types/node-8.10.48" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "8.10.46";
+      version = "8.10.48";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-8.10.46.tgz";
-        sha512 = "PfnRbk836fFs9T9QnZh0G1k9oC6YXCqIK3LX6vU/6oiXtEBSFCiJFj6UnLZtqIIHTsgMn8Dojq3yhmpwY7QWcw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-8.10.48.tgz";
+        sha512 = "c35YEBTkL4rzXY2ucpSKy+UYHjUBIIkuJbWYbsGIrKLEWU5dgJMmLkkIb3qeC3O3Tpb1ZQCwecscvJTDjDjkRw==";
       };
     };
     "@types/q-1.5.2" = {
@@ -2227,6 +2335,33 @@ let
         sha512 = "kdU8ydio1weSvhIIh9rptZ6MdMiR2NQGFnlnZ5qQ7OiQS1ej79zK4GaJ9qX3naSTpOA7iWqwUnZCQpd7SpD1NA==";
       };
     };
+    "@types/unist-2.0.3" = {
+      name = "_at_types_slash_unist";
+      packageName = "@types/unist";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz";
+        sha512 = "FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==";
+      };
+    };
+    "@types/vfile-3.0.2" = {
+      name = "_at_types_slash_vfile";
+      packageName = "@types/vfile";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz";
+        sha512 = "b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==";
+      };
+    };
+    "@types/vfile-message-1.0.1" = {
+      name = "_at_types_slash_vfile-message";
+      packageName = "@types/vfile-message";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz";
+        sha512 = "mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==";
+      };
+    };
     "@types/ws-6.0.1" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
@@ -2245,40 +2380,40 @@ let
         sha512 = "te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==";
       };
     };
-    "@vue/cli-shared-utils-3.6.0" = {
+    "@vue/cli-shared-utils-3.7.0" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "3.6.0";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.6.0.tgz";
-        sha512 = "C8nTiJ7o+dncNLyOIOZF8P4bMJdOVXhWOuwyZKqn8k3CcsQVzuLyCKUHHezWc+sI+PJi4wIg2ZffCiueeIXZ+w==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.7.0.tgz";
+        sha512 = "+LPDAQ1CE3ci1ADOvNqJMPdqyxgJxOq5HUgGDSKCHwviXF6GtynfljZXiSzgWh5ueMFxJphCfeMsTZqFWwsHVg==";
       };
     };
-    "@vue/cli-ui-3.6.2" = {
+    "@vue/cli-ui-3.7.0" = {
       name = "_at_vue_slash_cli-ui";
       packageName = "@vue/cli-ui";
-      version = "3.6.2";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-3.6.2.tgz";
-        sha512 = "ZDsR0S5G54s/OXXFCiqB7I4hJCtnmWG+IYH4FPv7k/YSCNas7idOPt5iqhKiRArk9igMchg4K+XTIWz2m5/wdQ==";
+        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-3.7.0.tgz";
+        sha512 = "KZ/Jx9Blmvde9m8/dIuWT0ftDI33OVnzR/tvJCxXo0X1BbB28NihwoNhZ4y1vbdR3BrHynyfID9eGOPtX/SEZw==";
       };
     };
-    "@vue/cli-ui-addon-webpack-3.6.3" = {
+    "@vue/cli-ui-addon-webpack-3.7.0" = {
       name = "_at_vue_slash_cli-ui-addon-webpack";
       packageName = "@vue/cli-ui-addon-webpack";
-      version = "3.6.3";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-3.6.3.tgz";
-        sha512 = "l8tZjcjAdsz2fOe/DOhgTg9NcxyeLtqamT3kAjUkOen3+TsMBiFUxDMfbpfg0lSBsCL77rWTzq8ZriZ4mAUR6Q==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-3.7.0.tgz";
+        sha512 = "glen99akTrR/BI+U2AeR69V7Nu8hJVCP3QcAznBeU1YmHRa55Gly7QBUCJx78m9ZHDMMfGerRCpZdAEyuXiRBw==";
       };
     };
-    "@vue/cli-ui-addon-widgets-3.6.0" = {
+    "@vue/cli-ui-addon-widgets-3.7.0" = {
       name = "_at_vue_slash_cli-ui-addon-widgets";
       packageName = "@vue/cli-ui-addon-widgets";
-      version = "3.6.0";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-3.6.0.tgz";
-        sha512 = "qIBjUvHVJDynWCLI8MkSAoWtmEv8Ri8cNKaRbLgNzpa4vzG1TC9erKgMUntsC0T+1XuAUPgzsUWH4yBzlO8NHg==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-3.7.0.tgz";
+        sha512 = "hIIr8tQjY1ErmCxITLOXNZ64KONXzuC/Vo0vOrdvdHKKHcSFEQBJxwoqfSMbYjFUyIotQsIqT3B9o8kQ7xFTlg==";
       };
     };
     "@webassemblyjs/ast-1.8.1" = {
@@ -2803,13 +2938,13 @@ let
         sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca";
       };
     };
-    "accepts-1.3.5" = {
+    "accepts-1.3.7" = {
       name = "accepts";
       packageName = "accepts";
-      version = "1.3.5";
+      version = "1.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz";
-        sha1 = "eb777df6011723a3b14e8a72c0805c8e86746bd2";
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
+        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
       };
     };
     "accord-0.28.0" = {
@@ -3001,6 +3136,24 @@ let
         sha512 = "fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==";
       };
     };
+    "adverb-where-0.0.9" = {
+      name = "adverb-where";
+      packageName = "adverb-where";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/adverb-where/-/adverb-where-0.0.9.tgz";
+        sha1 = "09c5cddd8d503b9fe5f76e0b8dc5c70a8f193e34";
+      };
+    };
+    "adverb-where-0.2.1" = {
+      name = "adverb-where";
+      packageName = "adverb-where";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/adverb-where/-/adverb-where-0.2.1.tgz";
+        sha512 = "IAveFBziMRMNPKFdWRcdIKaJvJG1cAfU9/tf9MzqQ84Dh4QjD9eqwnt4hNSt9cbrcEJD74BMIOaRVgVDEU7MwQ==";
+      };
+    };
     "after-0.8.1" = {
       name = "after";
       packageName = "after";
@@ -3154,6 +3307,15 @@ let
         sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c";
       };
     };
+    "ajv-keywords-2.1.1" = {
+      name = "ajv-keywords";
+      packageName = "ajv-keywords";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz";
+        sha1 = "617997fc5f60576894c435f940d819e135b80762";
+      };
+    };
     "ajv-keywords-3.4.0" = {
       name = "ajv-keywords";
       packageName = "ajv-keywords";
@@ -3172,6 +3334,15 @@ let
         sha512 = "0mAYXMSauA8RZ7r+B4+EAOYcZEcO9OK5EiQCR7W7Cv4E44pJj56ZnkKLJ9/PAcOc0dT+LlV9fdDcq2TxVJfOYw==";
       };
     };
+    "alex-5.1.0" = {
+      name = "alex";
+      packageName = "alex";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/alex/-/alex-5.1.0.tgz";
+        sha512 = "ouNJOHx7KKNwFsmX3WWXo8c2RTrsyhcX5QlFb6IM/cHCy9IkHr1k833jiIhcbwkUeGgACI2BJtp9LLvnFjbhbA==";
+      };
+    };
     "align-text-0.1.4" = {
       name = "align-text";
       packageName = "align-text";
@@ -3514,13 +3685,13 @@ let
         sha512 = "nzFmep/oKlbzUuDyz6fS6aYhRmfpcHWqNkkA9Bbxwk18RD6LXC4eZkuE0gXRX0IibVBHNjYVK+Szi0Yied4SpQ==";
       };
     };
-    "apollo-cache-control-0.5.2" = {
+    "apollo-cache-control-0.6.0" = {
       name = "apollo-cache-control";
       packageName = "apollo-cache-control";
-      version = "0.5.2";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.5.2.tgz";
-        sha512 = "uehXDUrd3Qim+nzxqqN7XT1YTbNSyumW3/FY5BxbKZTI8d4oPG4eyVQKqaggooSjswKQnOoIQVes3+qg9tGAkw==";
+        url = "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.6.0.tgz";
+        sha512 = "66aCF6MHe0/FdD3knphwTv6CCIdb1ZxrMsiRpxP474qqyYVe2jAwBu6aJBn4emffZHZ7i6gp9dY6cPHThjnbKA==";
       };
     };
     "apollo-cache-inmemory-1.5.1" = {
@@ -3613,49 +3784,58 @@ let
         sha512 = "0/h5hce2FIGn6Y4+EHMeMINQxFwcgjw1vU+xV3KGaaEgyEAEQ3/n9pyz43M8mOm/JVgg8Eb4CtM1AtCkRQuFGw==";
       };
     };
-    "apollo-datasource-0.3.1" = {
+    "apollo-datasource-0.4.0" = {
       name = "apollo-datasource";
       packageName = "apollo-datasource";
-      version = "0.3.1";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.3.1.tgz";
-        sha512 = "qdEUeonc9pPZvYwXK36h2NZoT7Pddmy0HYOzdV0ON5pcG1YtNmUyyYi83Q60V5wTWjuaCjyJ9hOY6wr0BMvQuA==";
+        url = "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.4.0.tgz";
+        sha512 = "6QkgnLYwQrW0qv+yXIf617DojJbGmza2XJXUlgnzrGGhxzfAynzEjaLyYkc8rYS1m82vjrl9EOmLHTcnVkvZAQ==";
       };
     };
-    "apollo-engine-reporting-1.0.7" = {
+    "apollo-engine-reporting-1.1.0" = {
       name = "apollo-engine-reporting";
       packageName = "apollo-engine-reporting";
-      version = "1.0.7";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.0.7.tgz";
-        sha512 = "mFsXvd+1/o5jSa9tI2RoXYGcvCLcwwcfLwchjSTxqUd4ViB8RbqYKynzEZ+Omji7PBRM0azioBm43f7PSsQPqA==";
+        url = "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.1.0.tgz";
+        sha512 = "Dj0BwgcluHL0QVUaquhAoYoLX9Z4DRP/n2REcIwO8d2iy52r+1wN5QqZLx97dEFh7CjhNjTWeysJzc8XMWKa1Q==";
       };
     };
-    "apollo-engine-reporting-protobuf-0.2.1" = {
+    "apollo-engine-reporting-protobuf-0.3.0" = {
       name = "apollo-engine-reporting-protobuf";
       packageName = "apollo-engine-reporting-protobuf";
-      version = "0.2.1";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.2.1.tgz";
-        sha512 = "5pYR84uWeylRS2OJowtkTczT3bWTwOErWtfnkRKccUi/wZ/AZJBP+D5HKNzM7xoFcz9XvrJyS+wBTz1oBi0Jiw==";
+        url = "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.3.0.tgz";
+        sha512 = "PYowpx/E+TJT/8nKpp3JmJuKh3x1SZcxDF6Cquj0soV205TUpFFCZQMi91i5ACiEp2AkYvM/GDBIrw+rfIwzTg==";
       };
     };
-    "apollo-env-0.4.0" = {
+    "apollo-env-0.4.1-register.1" = {
       name = "apollo-env";
       packageName = "apollo-env";
-      version = "0.4.0";
+      version = "0.4.1-register.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.4.1-register.1.tgz";
+        sha512 = "fg1US7YZ6yW1N0tFq8g4HpCR3eJZmI+rIiHDiknYN9D1MTjvwYdmXYhi7VaPvQ21hV5nMRvfBUMqYXjP+6FsGQ==";
+      };
+    };
+    "apollo-env-0.5.0" = {
+      name = "apollo-env";
+      packageName = "apollo-env";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.4.0.tgz";
-        sha512 = "TZpk59RTbXd8cEqwmI0KHFoRrgBRplvPAP4bbRrX4uDSxXvoiY0Y6tQYUlJ35zi398Hob45mXfrZxeRDzoFMkQ==";
+        url = "https://registry.npmjs.org/apollo-env/-/apollo-env-0.5.0.tgz";
+        sha512 = "yzajZupxouVtSUJiqkjhiQZKnagfwZeHjqRHkgV+rTCNuJkfdcoskSQm7zk5hhcS1JMunuD6INC1l4PHq+o+wQ==";
       };
     };
-    "apollo-graphql-0.1.3" = {
+    "apollo-graphql-0.2.1-register.1" = {
       name = "apollo-graphql";
       packageName = "apollo-graphql";
-      version = "0.1.3";
+      version = "0.2.1-register.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.1.3.tgz";
-        sha512 = "bYgDh71jFfHKO9ioGlxnnoSYgpNp6LRl+/QHTx6tktQEN0Z+AdpkOKFNCHO/pRU/4vSqV5wuIhxhnCecxJQrMA==";
+        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.2.1-register.1.tgz";
+        sha512 = "Z2LOuvYomC9CN9K+mpFVcVQu6Ml5PIJlV+YOkGzFq73xeqWg1InxHqI3eEdCEhxTJq6H8rlWT8ATrMS+4sIhqw==";
       };
     };
     "apollo-link-1.2.11" = {
@@ -3721,76 +3901,76 @@ let
         sha512 = "0PKgahM2BOcUiI3QSJMYXOoUylWKzar5NTZLgMLEW4K/CczOTzC4CTXvKMjh/cx57Jto/U2xzKRy9BEoNfnK5Q==";
       };
     };
-    "apollo-server-caching-0.3.1" = {
+    "apollo-server-caching-0.4.0" = {
       name = "apollo-server-caching";
       packageName = "apollo-server-caching";
-      version = "0.3.1";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.3.1.tgz";
-        sha512 = "mfxzikYXbB/OoEms77AGYwRh7FF3Oim5v5XWAL+VL49FrkbZt5lopVa4bABi7Mz8Nt3Htl9EBJN8765s/yh8IA==";
+        url = "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.4.0.tgz";
+        sha512 = "GTOZdbLhrSOKYNWMYgaqX5cVNSMT0bGUTZKV8/tYlyYmsB6ey7l6iId3Q7UpHS6F6OR2lstz5XaKZ+T3fDfPzQ==";
       };
     };
-    "apollo-server-core-2.4.8" = {
+    "apollo-server-core-2.5.0" = {
       name = "apollo-server-core";
       packageName = "apollo-server-core";
-      version = "2.4.8";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.4.8.tgz";
-        sha512 = "N+5UOzHhMOnHizEiArJtNvEe/cGhSHQyTn5tlU4RJ36FDBJ/WlYZfPbGDMLISSUCJ6t+aP8GLL4Mnudt9d2PDQ==";
+        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.5.0.tgz";
+        sha512 = "7hyQ/Rt0hC38bUfxMQmLNHDBIGEBykFWo9EO0W+3o/cno/SqBKd1KKichrABVv+v+SCvZAUutX6gYS5l3G+ULQ==";
       };
     };
-    "apollo-server-env-2.2.0" = {
+    "apollo-server-env-2.3.0" = {
       name = "apollo-server-env";
       packageName = "apollo-server-env";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.2.0.tgz";
-        sha512 = "wjJiI5nQWPBpNmpiLP389Ezpstp71szS6DHAeTgYLb/ulCw3CTuuA+0/E1bsThVWiQaDeHZE0sE3yI8q2zrYiA==";
+        url = "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.3.0.tgz";
+        sha512 = "WIwlkCM/gir0CkoYWPMTCH8uGCCKB/aM074U1bKayvkFOBVO2VgG5x2kgsfkyF05IMQq2/GOTsKhNY7RnUEhTA==";
       };
     };
-    "apollo-server-errors-2.2.1" = {
+    "apollo-server-errors-2.3.0" = {
       name = "apollo-server-errors";
       packageName = "apollo-server-errors";
-      version = "2.2.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.2.1.tgz";
-        sha512 = "wY/YE3iJVMYC+WYIf8QODBjIP4jhI+oc7kiYo9mrz7LdYPKAgxr/he+NteGcqn/0Ea9K5/ZFTGJDbEstSMeP8g==";
+        url = "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.3.0.tgz";
+        sha512 = "rUvzwMo2ZQgzzPh2kcJyfbRSfVKRMhfIlhY7BzUfM4x6ZT0aijlgsf714Ll3Mbf5Fxii32kD0A/DmKsTecpccw==";
       };
     };
-    "apollo-server-express-2.4.8" = {
+    "apollo-server-express-2.5.0" = {
       name = "apollo-server-express";
       packageName = "apollo-server-express";
-      version = "2.4.8";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.4.8.tgz";
-        sha512 = "i60l32mfVe33jnKDPNYgUKUKu4Al0xEm2HLOSMgtJ9Wbpe/MbOx5X8M5F27fnHYdM+G5XfAErsakAyRGnQJ48Q==";
+        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.5.0.tgz";
+        sha512 = "2gd3VWIqji2jyDYMTTqKzVU4/znjEjugtLUmPgVl5SoBvJSMTsO7VgJv+roBubZGDK8jXXUEXr2a33RtIeHe4g==";
       };
     };
-    "apollo-server-plugin-base-0.3.7" = {
+    "apollo-server-plugin-base-0.4.0" = {
       name = "apollo-server-plugin-base";
       packageName = "apollo-server-plugin-base";
-      version = "0.3.7";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.3.7.tgz";
-        sha512 = "hW1jaLKf9qNOxMTwRq2CSqz3eqXsZuEiCc8/mmEtOciiVBq1GMtxFf19oIYM9HQuPvQU2RWpns1VrYN59L3vbg==";
+        url = "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.4.0.tgz";
+        sha512 = "iD7ARNtwnvHGd1EMPK0CuodM8d8hgDvFwTfIDzJY04QIQ6/KrBFaWhnCXJsy+HMb47GovwBbq67IK6eb2WJgBg==";
       };
     };
-    "apollo-tracing-0.5.2" = {
+    "apollo-tracing-0.6.0" = {
       name = "apollo-tracing";
       packageName = "apollo-tracing";
-      version = "0.5.2";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.5.2.tgz";
-        sha512 = "2FdwRvPIq9uuF6OzONroXep6VBGqzHOkP6LlcFQe7SdwxfRP+SD/ycHNSC1acVg2b8d+am9Kzqg2vV54UpOIKA==";
+        url = "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.6.0.tgz";
+        sha512 = "OpYPHVBgcQ/HT2WLXJQWwhilzR1rrl01tZeMU2N7yinsp/oyKngF5aUSMtuvX1k/T3abilQo+w10oAQlBCGdPA==";
       };
     };
-    "apollo-upload-client-10.0.0" = {
+    "apollo-upload-client-10.0.1" = {
       name = "apollo-upload-client";
       packageName = "apollo-upload-client";
-      version = "10.0.0";
+      version = "10.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-10.0.0.tgz";
-        sha512 = "N0SENiEkZXoY4nl9xxrXFcj/cL0AVkSNQ4aYXSaruCBWE0aKpK6aCe4DBmiEHrK3FAsMxZPEJxBRIWNbsXT8dw==";
+        url = "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-10.0.1.tgz";
+        sha512 = "K6WnuYQi0RRTNO+aSPVjoUWXp4QSr+eoKU4fE0OKQp25XRF2oXl2cTLs+Q4Nk0wOIHM76YGdo/IHtzuNR7jO+A==";
       };
     };
     "apollo-utilities-1.2.1" = {
@@ -3829,13 +4009,13 @@ let
         sha1 = "7e5dd327747078d877286fbb624b1e8f4d2b396b";
       };
     };
-    "append-batch-0.0.1" = {
+    "append-batch-0.0.2" = {
       name = "append-batch";
       packageName = "append-batch";
-      version = "0.0.1";
+      version = "0.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/append-batch/-/append-batch-0.0.1.tgz";
-        sha1 = "9224858e556997ccc07f11f1ee9a128532aa0d25";
+        url = "https://registry.npmjs.org/append-batch/-/append-batch-0.0.2.tgz";
+        sha1 = "d739b4503888245d47933d47562b1149ff9df8b7";
       };
     };
     "append-buffer-1.0.2" = {
@@ -4189,6 +4369,15 @@ let
         sha1 = "9e528762b4a9066ad163a6962a364418e9626ece";
       };
     };
+    "array-includes-3.0.3" = {
+      name = "array-includes";
+      packageName = "array-includes";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz";
+        sha1 = "184b48f62d92d7452bb31b323165c7f8bd02266d";
+      };
+    };
     "array-indexofobject-0.0.1" = {
       name = "array-indexofobject";
       packageName = "array-indexofobject";
@@ -4207,6 +4396,15 @@ let
         sha1 = "2fa74b26739371c3947bd7a7adc73be334b3d795";
       };
     };
+    "array-iterate-1.1.3" = {
+      name = "array-iterate";
+      packageName = "array-iterate";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.3.tgz";
+        sha512 = "7MIv7HE9MuzfK6B2UnWv07oSHBLOaY1UUXAxZ07bIeRM+4IkPTlveMDs9MY//qvxPZPSvCn2XV4bmtQgSkVodg==";
+      };
+    };
     "array-last-1.3.0" = {
       name = "array-last";
       packageName = "array-last";
@@ -4324,6 +4522,15 @@ let
         sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
       };
     };
+    "array.prototype.find-2.0.4" = {
+      name = "array.prototype.find";
+      packageName = "array.prototype.find";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz";
+        sha1 = "556a5c5362c08648323ddaeb9de9d14bc1864c90";
+      };
+    };
     "arraybuffer.slice-0.0.6" = {
       name = "arraybuffer.slice";
       packageName = "arraybuffer.slice";
@@ -4396,13 +4603,13 @@ let
         sha512 = "p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==";
       };
     };
-    "assert-1.4.1" = {
+    "assert-1.5.0" = {
       name = "assert";
       packageName = "assert";
-      version = "1.4.1";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz";
-        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+        url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";
+        sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==";
       };
     };
     "assert-plus-0.1.2" = {
@@ -4459,13 +4666,13 @@ let
         sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
       };
     };
-    "ast-types-0.12.3" = {
+    "ast-types-0.12.4" = {
       name = "ast-types";
       packageName = "ast-types";
-      version = "0.12.3";
+      version = "0.12.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.12.3.tgz";
-        sha512 = "wJUcAfrdW+IgDoMGNz5MmcvahKgB7BwIbLupdKVVHxHNYt+HVR2k35swdYNv9aZpF8nvlkjbnkp2rrNwxGckZA==";
+        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.12.4.tgz";
+        sha512 = "ky/YVYCbtVAS8TdMIaTiPFHwEpRB5z1hctepJplTr3UW5q8TDrpIMCILyk8pmLxGtn2KCtC/lSn7zOsaI7nzDw==";
       };
     };
     "ast-types-0.9.6" = {
@@ -4756,13 +4963,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.441.0" = {
+    "aws-sdk-2.453.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.441.0";
+      version = "2.453.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.441.0.tgz";
-        sha512 = "PnS2lih7p6sPJYUeUSxab7VNsldcHEsCJddHXnnAZRxd2nVa8pAAbPSAauJIN9E6Z4DBhvX3nuQjj+roP/KBTg==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.453.0.tgz";
+        sha512 = "UsofQeX8XVElr4+bqw47jOZUGNiwUdFVTNyOdOHcK14RHH2ySsve6JWyvQT8L2rS//XQP1OBIQo20PAl1Zf7ig==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -5314,15 +5521,6 @@ let
         sha512 = "q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==";
       };
     };
-    "babylon-7.0.0-beta.19" = {
-      name = "babylon";
-      packageName = "babylon";
-      version = "7.0.0-beta.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.19.tgz";
-        sha512 = "Vg0C9s/REX6/WIXN37UKpv5ZhRi6A4pjHlpkE34+8/a6c2W1Q692n3hmc+SZG5lKRnaExLUbxtJ1SVT+KaCQ/A==";
-      };
-    };
     "babylon-walk-1.0.2" = {
       name = "babylon-walk";
       packageName = "babylon-walk";
@@ -5368,13 +5566,13 @@ let
         sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f";
       };
     };
-    "bail-1.0.3" = {
+    "bail-1.0.4" = {
       name = "bail";
       packageName = "bail";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz";
-        sha512 = "1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==";
+        url = "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz";
+        sha512 = "S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==";
       };
     };
     "balanced-match-1.0.0" = {
@@ -5773,13 +5971,13 @@ let
         sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
       };
     };
-    "binwrap-0.2.0" = {
+    "binwrap-0.2.1" = {
       name = "binwrap";
       packageName = "binwrap";
-      version = "0.2.0";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/binwrap/-/binwrap-0.2.0.tgz";
-        sha512 = "HUspivC8zPE37KJQ0S4zsNHUpymzQBinmpdMoa+JwmB6Mi+p30ywVZJcillYpbQmiX2wLykaaDJxXmwZkbaZGA==";
+        url = "https://registry.npmjs.org/binwrap/-/binwrap-0.2.1.tgz";
+        sha512 = "kILc2+zMfFEv66/NLfO2GIpmWRPE8hL68fv+o5A94OlN9AIIG4zernpgn9bpPAImb5t4QwFxnqAGSyP1+tGKrA==";
       };
     };
     "bitfield-0.1.0" = {
@@ -6079,6 +6277,15 @@ let
         sha1 = "5b292198ffdd553b3a0f20ded0592b956955c8b4";
       };
     };
+    "body-parser-1.19.0" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.19.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz";
+        sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
+      };
+    };
     "bonjour-3.5.0" = {
       name = "bonjour";
       packageName = "bonjour";
@@ -6106,6 +6313,15 @@ let
         sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
       };
     };
+    "bootstrap-vue-helper-json-1.1.1" = {
+      name = "bootstrap-vue-helper-json";
+      packageName = "bootstrap-vue-helper-json";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bootstrap-vue-helper-json/-/bootstrap-vue-helper-json-1.1.1.tgz";
+        sha512 = "SiHJE2jEXjAL3TewN99wDl5Ehpm5DKA75oIyiY+2EMWWMPhIuZlQ/AvDzsLktNkwhylmAVLwiW+nuBPIU7kcoQ==";
+      };
+    };
     "bottleneck-1.5.3" = {
       name = "bottleneck";
       packageName = "bottleneck";
@@ -6385,13 +6601,13 @@ let
         sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     };
-    "browserslist-4.5.5" = {
+    "browserslist-4.5.6" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.5.5";
+      version = "4.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.5.5.tgz";
-        sha512 = "0QFO1r/2c792Ohkit5XI8Cm8pDtZxgNl2H6HU4mHrpYz7314pEYcsAVVatM0l/YmxPnEzh9VygXouj4gkFUTKA==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.5.6.tgz";
+        sha512 = "o/hPOtbU9oX507lIqon+UvPYqpx3mHc8cV3QemSBTXwkG8gSQSK6UKvXcE/DcleU3+A59XTUHyCvZ5qGy8xVAg==";
       };
     };
     "bser-2.0.0" = {
@@ -6412,6 +6628,33 @@ let
         sha1 = "337766da15801210fdd956c22e9c6891ab9d0337";
       };
     };
+    "bubble-stream-error-0.0.1" = {
+      name = "bubble-stream-error";
+      packageName = "bubble-stream-error";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bubble-stream-error/-/bubble-stream-error-0.0.1.tgz";
+        sha1 = "55eb86846ecf26605e896aa2f1a31b3c9dcccb62";
+      };
+    };
+    "bubble-stream-error-1.0.0" = {
+      name = "bubble-stream-error";
+      packageName = "bubble-stream-error";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bubble-stream-error/-/bubble-stream-error-1.0.0.tgz";
+        sha1 = "7dad97f17128da396169bf37ada4acb195361e30";
+      };
+    };
+    "buefy-helper-json-1.0.3" = {
+      name = "buefy-helper-json";
+      packageName = "buefy-helper-json";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buefy-helper-json/-/buefy-helper-json-1.0.3.tgz";
+        sha512 = "HniEmRONcLP8qKJEw/DXZGwyHfRedYX1HGqhNZ5N2zhn+xIrAjhptkAbXRBGV0GhPb+YTbzObGn3GlAHaBiVnQ==";
+      };
+    };
     "buffer-4.9.1" = {
       name = "buffer";
       packageName = "buffer";
@@ -7006,13 +7249,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30000962" = {
+    "caniuse-lite-1.0.30000967" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30000962";
+      version = "1.0.30000967";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000962.tgz";
-        sha512 = "WXYsW38HK+6eaj5IZR16Rn91TGhU3OhbwjKZvJ4HN/XBIABLKfbij9Mnd3pM0VEwZSlltWjoWg3I8FQ0DGgNOA==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz";
+        sha512 = "rUBIbap+VJfxTzrM4akJ00lkvVb5/n5v3EGXfWzSH5zT8aJmGzjA8HWhJ4U6kCpzxozUSnB+yvAYDRPY6mRpgQ==";
       };
     };
     "capture-exit-2.0.0" = {
@@ -7060,13 +7303,13 @@ let
         sha1 = "a9193b1a5448b8cb9a0415bd021c8811ed7b0544";
       };
     };
-    "catharsis-0.8.9" = {
+    "catharsis-0.8.10" = {
       name = "catharsis";
       packageName = "catharsis";
-      version = "0.8.9";
+      version = "0.8.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/catharsis/-/catharsis-0.8.9.tgz";
-        sha1 = "98cc890ca652dd2ef0e70b37925310ff9e90fc8b";
+        url = "https://registry.npmjs.org/catharsis/-/catharsis-0.8.10.tgz";
+        sha512 = "l2OUaz/3PU3MZylspVFJvwHCVfWyvcduPq4lv3AzZ2pJzZCo7kNKFNyatwujD7XgvGkNAE/Jhhbh2uARNwNkfw==";
       };
     };
     "caw-2.0.1" = {
@@ -7078,13 +7321,13 @@ let
         sha512 = "Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==";
       };
     };
-    "ccount-1.0.3" = {
+    "ccount-1.0.4" = {
       name = "ccount";
       packageName = "ccount";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz";
-        sha512 = "Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==";
+        url = "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz";
+        sha512 = "fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==";
       };
     };
     "center-align-0.1.3" = {
@@ -7204,40 +7447,40 @@ let
         sha512 = "2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==";
       };
     };
-    "character-entities-1.2.2" = {
+    "character-entities-1.2.3" = {
       name = "character-entities";
       packageName = "character-entities";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz";
-        sha512 = "sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==";
+        url = "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz";
+        sha512 = "yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==";
       };
     };
-    "character-entities-html4-1.1.2" = {
+    "character-entities-html4-1.1.3" = {
       name = "character-entities-html4";
       packageName = "character-entities-html4";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz";
-        sha512 = "sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==";
+        url = "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz";
+        sha512 = "SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==";
       };
     };
-    "character-entities-legacy-1.1.2" = {
+    "character-entities-legacy-1.1.3" = {
       name = "character-entities-legacy";
       packageName = "character-entities-legacy";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz";
-        sha512 = "9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==";
+        url = "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz";
+        sha512 = "YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==";
       };
     };
-    "character-reference-invalid-1.1.2" = {
+    "character-reference-invalid-1.1.3" = {
       name = "character-reference-invalid";
       packageName = "character-reference-invalid";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz";
-        sha512 = "7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==";
+        url = "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz";
+        sha512 = "VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==";
       };
     };
     "chardet-0.4.2" = {
@@ -7276,6 +7519,15 @@ let
         sha512 = "RcdumNsM6fJZ5HHbYunqj2bpurVRGsXour3OR+SlLEHFhG6ALm54i6Osnh+OvO7kEoSBzwExpblYFH8zKQiEPw==";
       };
     };
+    "check-ends-with-period-1.0.1" = {
+      name = "check-ends-with-period";
+      packageName = "check-ends-with-period";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/check-ends-with-period/-/check-ends-with-period-1.0.1.tgz";
+        sha1 = "d7d29d614cbc3ed15ab54190f4fda4deaa3141d8";
+      };
+    };
     "check-error-1.0.2" = {
       name = "check-error";
       packageName = "check-error";
@@ -7348,6 +7600,15 @@ let
         sha512 = "9vhoi1qXSBPn6//ZxIgSe3M2QhKHzIPZQzmrZgmPADsqW0Jxpe3db1e7aGSRUMXbxAQ04SfypdT8dGaSvIvKDw==";
       };
     };
+    "chokidar-1.5.2" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-1.5.2.tgz";
+        sha1 = "293e728640cc93dd8277424334b3c6d4ad3a348a";
+      };
+    };
     "chokidar-1.6.0" = {
       name = "chokidar";
       packageName = "chokidar";
@@ -8059,13 +8320,13 @@ let
         sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
       };
     };
-    "collapse-white-space-1.0.4" = {
+    "collapse-white-space-1.0.5" = {
       name = "collapse-white-space";
       packageName = "collapse-white-space";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz";
-        sha512 = "YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==";
+        url = "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz";
+        sha512 = "703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==";
       };
     };
     "collection-map-1.0.0" = {
@@ -8212,13 +8473,13 @@ let
         sha512 = "mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==";
       };
     };
-    "colorspace-1.1.1" = {
+    "colorspace-1.1.2" = {
       name = "colorspace";
       packageName = "colorspace";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/colorspace/-/colorspace-1.1.1.tgz";
-        sha512 = "pI3btWyiuz7Ken0BWh9Elzsmv2bM9AhA7psXib4anUXy/orfZ/E0MbQwhSOG/9L8hLlalqrU0UhOuqxW1YjmVw==";
+        url = "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz";
+        sha512 = "vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==";
       };
     };
     "colour-0.7.1" = {
@@ -8275,6 +8536,24 @@ let
         sha512 = "brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==";
       };
     };
+    "comma-separated-tokens-1.0.6" = {
+      name = "comma-separated-tokens";
+      packageName = "comma-separated-tokens";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.6.tgz";
+        sha512 = "f20oA7jsrrmERTS70r3tmRSxR8IJV2MTN7qe6hzgX+3ARfXrdMJFvGWvWQK0xpcBurg9j9eO2MiqzZ8Y+/UPCA==";
+      };
+    };
+    "command-exists-1.2.6" = {
+      name = "command-exists";
+      packageName = "command-exists";
+      version = "1.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/command-exists/-/command-exists-1.2.6.tgz";
+        sha512 = "Qst/zUUNmS/z3WziPxyqjrcz09pm+2Knbs5mAZL4VAE0sSrNY1/w8+/YxeHcoBTsO6iojA6BW7eFf27Eg2MRuw==";
+      };
+    };
     "command-exists-1.2.8" = {
       name = "command-exists";
       packageName = "command-exists";
@@ -8527,13 +8806,13 @@ let
         sha1 = "524a9f10903f3a813389b0225d27c48bb751890f";
       };
     };
-    "compressible-2.0.16" = {
+    "compressible-2.0.17" = {
       name = "compressible";
       packageName = "compressible";
-      version = "2.0.16";
+      version = "2.0.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.16.tgz";
-        sha512 = "JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA==";
+        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz";
+        sha512 = "BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==";
       };
     };
     "compression-1.5.2" = {
@@ -9616,6 +9895,15 @@ let
         sha1 = "5908668294a1becd261ae0a4ce21b0b551f21d16";
       };
     };
+    "css-parse-1.7.0" = {
+      name = "css-parse";
+      packageName = "css-parse";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz";
+        sha1 = "321f6cf73782a6ff751111390fc05e2c657d8c9b";
+      };
+    };
     "css-select-1.2.0" = {
       name = "css-select";
       packageName = "css-select";
@@ -9643,6 +9931,15 @@ let
         sha512 = "jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==";
       };
     };
+    "css-selector-parser-1.3.0" = {
+      name = "css-selector-parser";
+      packageName = "css-selector-parser";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.3.0.tgz";
+        sha1 = "5f1ad43e2d8eefbfdc304fcd39a521664943e3eb";
+      };
+    };
     "css-selector-tokenizer-0.7.1" = {
       name = "css-selector-tokenizer";
       packageName = "css-selector-tokenizer";
@@ -9913,6 +10210,15 @@ let
         sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
       };
     };
+    "cuss-1.13.1" = {
+      name = "cuss";
+      packageName = "cuss";
+      version = "1.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cuss/-/cuss-1.13.1.tgz";
+        sha512 = "1rFdRmBBnv5fbwsMq6ChZsAmn6Ev9AzinaLZb3zIqlNiQDx3AzoZilwiEVes3AL/udNHY2qoEGkT/iDaXBap+g==";
+      };
+    };
     "custom-error-instance-2.1.1" = {
       name = "custom-error-instance";
       packageName = "custom-error-instance";
@@ -10201,13 +10507,13 @@ let
         sha512 = "jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==";
       };
     };
-    "deasync-0.1.14" = {
+    "deasync-0.1.15" = {
       name = "deasync";
       packageName = "deasync";
-      version = "0.1.14";
+      version = "0.1.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.14.tgz";
-        sha512 = "wN8sIuEqIwyQh72AG7oY6YQODCxIp1eXzEZlZznBuwDF8Q03Tdy9QNp1BNZXeadXoklNrw+Ip1fch+KXo/+ASw==";
+        url = "https://registry.npmjs.org/deasync/-/deasync-0.1.15.tgz";
+        sha512 = "pxMaCYu8cQIbGkA4Y1R0PLSooPIpH1WgFBLeJ+zLxQgHfkZG86ViJSmZmONSjZJ/R3NjwkMcIWZAzpLB2G9/CA==";
       };
     };
     "death-1.1.0" = {
@@ -10264,6 +10570,15 @@ let
         sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
       };
     };
+    "debug-0.8.1" = {
+      name = "debug";
+      packageName = "debug";
+      version = "0.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
+        sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
+      };
+    };
     "debug-1.0.5" = {
       name = "debug";
       packageName = "debug";
@@ -10381,13 +10696,13 @@ let
         sha1 = "d171a87933252807eb3cb61dc1c1445d078df2d9";
       };
     };
-    "decimal.js-10.1.1" = {
+    "decimal.js-10.2.0" = {
       name = "decimal.js";
       packageName = "decimal.js";
-      version = "10.1.1";
+      version = "10.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.1.1.tgz";
-        sha512 = "vEEgyk1fWVEnv7lPjkNedAIjzxQDue5Iw4FeX4UkNUDSVyD/jZTD0Bw2kAO7k6iyyJRAhM9oxxI0D1ET6k0Mmg==";
+        url = "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.0.tgz";
+        sha512 = "vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw==";
       };
     };
     "decode-uri-component-0.2.0" = {
@@ -11173,6 +11488,15 @@ let
         sha1 = "f805211dcac74f6bb3a4d5d5541ad783b1b67d22";
       };
     };
+    "dlv-1.1.2" = {
+      name = "dlv";
+      packageName = "dlv";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dlv/-/dlv-1.1.2.tgz";
+        sha512 = "xxD4VSH67GbRvSGUrckvha94RD7hjgOH7rqGxiytLpkaeMvixOHFZTGFK6EkIm3T761OVHT8ABHmGkq9gXgu6Q==";
+      };
+    };
     "dnd-page-scroll-0.0.4" = {
       name = "dnd-page-scroll";
       packageName = "dnd-page-scroll";
@@ -11506,6 +11830,15 @@ let
         sha512 = "yXcCvhkPKmq5M2cQXss6Qbig+LZnzRIT40XCYm/QCRnJaPG867StB1qnsBLxOGrPH1YEIRWW2gJq7LLMyw+NmA==";
       };
     };
+    "draftlog-1.0.12" = {
+      name = "draftlog";
+      packageName = "draftlog";
+      version = "1.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/draftlog/-/draftlog-1.0.12.tgz";
+        sha1 = "7db6a3c5b62106bb32dd4a35d67bcccb6c7d9da0";
+      };
+    };
     "dreamopt-0.6.0" = {
       name = "dreamopt";
       packageName = "dreamopt";
@@ -11587,6 +11920,15 @@ let
         sha512 = "1N+eCCrepIeK1+qtWrMEO1CV68Hn+TLbiR9c70VB3xnut3DmUxT+3T7sRHhb0mpK2F/74IfP+loQDriU2W9lkA==";
       };
     };
+    "e-prime-0.10.2" = {
+      name = "e-prime";
+      packageName = "e-prime";
+      version = "0.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/e-prime/-/e-prime-0.10.2.tgz";
+        sha1 = "ea9375eb985636de88013c7a9fb129ad9e15eff8";
+      };
+    };
     "each-async-1.1.1" = {
       name = "each-async";
       packageName = "each-async";
@@ -11731,13 +12073,13 @@ let
         sha512 = "0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==";
       };
     };
-    "electron-to-chromium-1.3.125" = {
+    "electron-to-chromium-1.3.133" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.125";
+      version = "1.3.133";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.125.tgz";
-        sha512 = "XxowpqQxJ4nDwUXHtVtmEhRqBpm2OnjBomZmZtHD0d2Eo0244+Ojezhk3sD/MBSSe2nxCdGQFRXHIsf/LUTL9A==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.133.tgz";
+        sha512 = "lyoC8aoqbbDqsprb6aPdt9n3DpOZZzdz/T4IZKsR0/dkZIxnJVUjjcpOSwA66jPRIOyDAamCTAUqweU05kKNSg==";
       };
     };
     "elegant-spinner-1.0.1" = {
@@ -11749,6 +12091,15 @@ let
         sha1 = "db043521c95d7e303fd8f345bedc3349cfb0729e";
       };
     };
+    "element-helper-json-2.0.5" = {
+      name = "element-helper-json";
+      packageName = "element-helper-json";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/element-helper-json/-/element-helper-json-2.0.5.tgz";
+        sha512 = "XBFDNA4aAygKLqt3S7jhwWivUJInO9Yw2zlJjayPDSNDsg9OMIHbi/UE3JfJq7kw9BHDn6CchnSRVIcWG1AuzA==";
+      };
+    };
     "elementtree-0.1.7" = {
       name = "elementtree";
       packageName = "elementtree";
@@ -11822,6 +12173,15 @@ let
         sha1 = "c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e";
       };
     };
+    "emoji-regex-6.5.1" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "6.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz";
+        sha512 = "PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==";
+      };
+    };
     "emoji-regex-7.0.3" = {
       name = "emoji-regex";
       packageName = "emoji-regex";
@@ -11939,6 +12299,15 @@ let
         sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
       };
     };
+    "end-with-1.0.2" = {
+      name = "end-with";
+      packageName = "end-with";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-with/-/end-with-1.0.2.tgz";
+        sha1 = "a432755ab4f51e7fc74f3a719c6b81df5d668bdc";
+      };
+    };
     "endent-1.3.0" = {
       name = "endent";
       packageName = "endent";
@@ -12128,13 +12497,13 @@ let
         sha512 = "38LJhrmyQafVInoYlaEDxomIfjtK+HUtp1JsInWdKtpxk0MlTU60fqYHg0LrKgxxJuq6H89ddw4IkxfQejZ77g==";
       };
     };
-    "envinfo-7.2.0" = {
+    "envinfo-7.3.1" = {
       name = "envinfo";
       packageName = "envinfo";
-      version = "7.2.0";
+      version = "7.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.2.0.tgz";
-        sha512 = "hHDGx34o8V0IULC6MnMb+jIMEJ5LBuK/EIbFi8/aw81r6q+wXCvu9QCA9RPbpOaBxtlH/16cYB2HkBnRFTy4SQ==";
+        url = "https://registry.npmjs.org/envinfo/-/envinfo-7.3.1.tgz";
+        sha512 = "GvXiDTqLYrORVSCuJCsWHPXF5BFvoWMQA9xX4YVjPT1jyS3aZEHUBwjzxU/6LTPF9ReHgVEbX7IEN5UvSXHw/A==";
       };
     };
     "epidemic-broadcast-trees-6.3.5" = {
@@ -12200,13 +12569,13 @@ let
         sha1 = "b7b70ed8f359e9db88092f2d20c0f831420ad83f";
       };
     };
-    "errorhandler-1.5.0" = {
+    "errorhandler-1.5.1" = {
       name = "errorhandler";
       packageName = "errorhandler";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.0.tgz";
-        sha1 = "eaba64ca5d542a311ac945f582defc336165d9f4";
+        url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz";
+        sha512 = "rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==";
       };
     };
     "es-abstract-1.13.0" = {
@@ -12227,13 +12596,13 @@ let
         sha512 = "qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==";
       };
     };
-    "es5-ext-0.10.49" = {
+    "es5-ext-0.10.50" = {
       name = "es5-ext";
       packageName = "es5-ext";
-      version = "0.10.49";
+      version = "0.10.50";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.49.tgz";
-        sha512 = "3NMEhi57E31qdzmYp2jwRArIUsj1HI/RxbQ4bgnSB+AIKIxsAmTiK83bYMifIcpWvEc3P1X30DhUKOqEtF/kvg==";
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.50.tgz";
+        sha512 = "KMzZTPBkeQV/JcSQhI5/z6d9VWJ3EnQ194USTUwIYZ2ZbpN8+SGXQKt1h68EX44+qt+Fzr8DO17vnxrw7c3agw==";
       };
     };
     "es5-ext-0.8.2" = {
@@ -12434,6 +12803,15 @@ let
         sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
       };
     };
+    "escape-string-regexp-2.0.0" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
+        sha512 = "UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==";
+      };
+    };
     "escodegen-1.11.1" = {
       name = "escodegen";
       packageName = "escodegen";
@@ -12470,6 +12848,15 @@ let
         sha1 = "c8fc6201c7f40dd08941b87c085767386a679acc";
       };
     };
+    "eslint-4.19.1" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "4.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz";
+        sha512 = "bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==";
+      };
+    };
     "eslint-5.13.0" = {
       name = "eslint";
       packageName = "eslint";
@@ -12497,6 +12884,15 @@ let
         sha1 = "7d02878c8e9bf7916b88836d5ac122b42f151932";
       };
     };
+    "eslint-plugin-vue-5.2.2" = {
+      name = "eslint-plugin-vue";
+      packageName = "eslint-plugin-vue";
+      version = "5.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.2.2.tgz";
+        sha512 = "CtGWH7IB0DA6BZOwcV9w9q3Ri6Yuo8qMjx05SmOGJ6X6E0Yo3y9E/gQ5tuNxg2dEt30tRnBoFTbvtmW9iEoyHA==";
+      };
+    };
     "eslint-scope-3.7.1" = {
       name = "eslint-scope";
       packageName = "eslint-scope";
@@ -12506,6 +12902,15 @@ let
         sha1 = "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8";
       };
     };
+    "eslint-scope-3.7.3" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "3.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz";
+        sha512 = "W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==";
+      };
+    };
     "eslint-scope-4.0.3" = {
       name = "eslint-scope";
       packageName = "eslint-scope";
@@ -12551,6 +12956,15 @@ let
         sha512 = "yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==";
       };
     };
+    "espree-4.1.0" = {
+      name = "espree";
+      packageName = "espree";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz";
+        sha512 = "I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==";
+      };
+    };
     "espree-5.0.0" = {
       name = "espree";
       packageName = "espree";
@@ -12722,6 +13136,15 @@ let
         sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
       };
     };
+    "event-stream-3.1.7" = {
+      name = "event-stream";
+      packageName = "event-stream";
+      version = "3.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-stream/-/event-stream-3.1.7.tgz";
+        sha1 = "b4c540012d0fe1498420f3d8946008db6393c37a";
+      };
+    };
     "event-stream-3.2.2" = {
       name = "event-stream";
       packageName = "event-stream";
@@ -12776,13 +13199,13 @@ let
         sha1 = "8c7ac44b87baab55cd50c828dc38778eac052ea5";
       };
     };
-    "eventemitter3-3.1.0" = {
+    "eventemitter3-3.1.2" = {
       name = "eventemitter3";
       packageName = "eventemitter3";
-      version = "3.1.0";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz";
-        sha512 = "ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==";
+        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz";
+        sha512 = "tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==";
       };
     };
     "events-1.1.1" = {
@@ -13505,13 +13928,13 @@ let
         sha512 = "483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==";
       };
     };
-    "fault-1.0.2" = {
+    "fault-1.0.3" = {
       name = "fault";
       packageName = "fault";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fault/-/fault-1.0.2.tgz";
-        sha512 = "o2eo/X2syzzERAtN5LcGbiVQ0WwZSlN3qLtadwAz3X8Bu+XWD16dja/KMsjZLiQr+BLGPDnHGkc4yUJf1Xpkpw==";
+        url = "https://registry.npmjs.org/fault/-/fault-1.0.3.tgz";
+        sha512 = "sfFuP4X0hzrbGKjAUNXYvNqsZ5F6ohx/dZ9I0KQud/aiZNwg263r5L9yGB0clvXHCkzXh5W3t7RSHchggYIFmA==";
       };
     };
     "faye-websocket-0.11.1" = {
@@ -14063,13 +14486,22 @@ let
         sha1 = "248cf79a3da7d7dc379e2a11c92a2719cbb540f6";
       };
     };
-    "flatstr-1.0.9" = {
+    "flatmap-0.0.3" = {
+      name = "flatmap";
+      packageName = "flatmap";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flatmap/-/flatmap-0.0.3.tgz";
+        sha1 = "1f18a4d938152d495965f9c958d923ab2dd669b4";
+      };
+    };
+    "flatstr-1.0.11" = {
       name = "flatstr";
       packageName = "flatstr";
-      version = "1.0.9";
+      version = "1.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatstr/-/flatstr-1.0.9.tgz";
-        sha512 = "qFlJnOBWDfIaunF54/lBqNKmXOI0HqNhu+mHkLmbaBXlS71PUd9OjFOdyevHt/aHoHB1+eW7eKHgRKOG5aHSpw==";
+        url = "https://registry.npmjs.org/flatstr/-/flatstr-1.0.11.tgz";
+        sha512 = "CrkRmL8HgArqohPW5udNdtVae+fj5tvJdHwoo91m5OvaLk1a4lqa0R4/aPUO2zbVEnIrk+i5uTVNbSxaR1dQkQ==";
       };
     };
     "flatted-2.0.0" = {
@@ -14153,13 +14585,13 @@ let
         sha512 = "XUAxCNnVdxuiUnswQ6bsYb/c4ObX0LupwDGI1GjowN5hQne0BTiB8p74dXr3nbx69WwE/4fNbFcLmuvWIcx6Tg==";
       };
     };
-    "flumelog-offset-3.3.2" = {
+    "flumelog-offset-3.4.1" = {
       name = "flumelog-offset";
       packageName = "flumelog-offset";
-      version = "3.3.2";
+      version = "3.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flumelog-offset/-/flumelog-offset-3.3.2.tgz";
-        sha512 = "KG0TCb+cWuEvnL44xjBhVNu+jRmJ8Msh2b1krYb4FllLwSbjreaCU/hH3uzv+HmUrtU/EhJepcAu79WxLH3EZQ==";
+        url = "https://registry.npmjs.org/flumelog-offset/-/flumelog-offset-3.4.1.tgz";
+        sha512 = "sO10aEcSI1TOphuAFjNJ+qADb0Aix68ENVjfINQF2r9fNQ2mDzYHOZ/RMRR/ZeE5t3vAKfQJMhJN5Qctk7Ngfw==";
       };
     };
     "flumeview-hashtable-1.0.4" = {
@@ -14216,6 +14648,15 @@ let
         sha512 = "3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==";
       };
     };
+    "fn-name-2.0.1" = {
+      name = "fn-name";
+      packageName = "fn-name";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fn-name/-/fn-name-2.0.1.tgz";
+        sha1 = "5214d7537a4d06a4a301c0cc262feb84188002e7";
+      };
+    };
     "follow-redirects-1.7.0" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
@@ -14495,13 +14936,13 @@ let
         sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
       };
     };
-    "fs-capacitor-2.0.1" = {
+    "fs-capacitor-2.0.4" = {
       name = "fs-capacitor";
       packageName = "fs-capacitor";
-      version = "2.0.1";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-2.0.1.tgz";
-        sha512 = "kyV2oaG1/pu9NPosfGACmBym6okgzyg6hEtA5LSUq0dGpGLe278MVfMwVnSHDA/OBcTCHkPNqWL9eIwbPN6dDg==";
+        url = "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-2.0.4.tgz";
+        sha512 = "8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==";
       };
     };
     "fs-chunk-store-1.7.0" = {
@@ -14684,13 +15125,13 @@ let
         sha512 = "z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==";
       };
     };
-    "fsevents-1.2.8" = {
+    "fsevents-1.2.9" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.2.8";
+      version = "1.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.8.tgz";
-        sha512 = "tPvHgPGB7m40CZ68xqFGkKuzN+RnpGmSV+hgeKxhRpbxdqKXUFJGC3yonBOLzQBcJyGpdZFDfCsdOC2KFsXzeA==";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz";
+        sha512 = "oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==";
       };
     };
     "fsevents-2.0.1" = {
@@ -15071,6 +15512,15 @@ let
         sha1 = "6d33f7ed63db0d0e118131503bab3aca47d54664";
       };
     };
+    "git-diff-tree-1.0.0" = {
+      name = "git-diff-tree";
+      packageName = "git-diff-tree";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-diff-tree/-/git-diff-tree-1.0.0.tgz";
+        sha1 = "141e5641769d065997a6b94c3a2c60e062b54da8";
+      };
+    };
     "git-packidx-parser-1.0.0" = {
       name = "git-packidx-parser";
       packageName = "git-packidx-parser";
@@ -15125,6 +15575,15 @@ let
         sha512 = "34lMF7Yo1xEmsK2EkbArdoU79umpvm0MfzaDkSNYSJqtM5QLAVTPWgpiXSVI5o/O9EvZPSrP4Zvnec/CqhSd5w==";
       };
     };
+    "git-spawned-stream-0.1.1" = {
+      name = "git-spawned-stream";
+      packageName = "git-spawned-stream";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-spawned-stream/-/git-spawned-stream-0.1.1.tgz";
+        sha1 = "38927da02e52d862396861bf996557452643802b";
+      };
+    };
     "git-ssb-web-2.8.0" = {
       name = "git-ssb-web";
       packageName = "git-ssb-web";
@@ -15224,6 +15683,24 @@ let
         sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22";
       };
     };
+    "glob-7.0.4" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.0.4.tgz";
+        sha1 = "3b44afa0943bdc31b2037b934791e2e084bcb7f6";
+      };
+    };
+    "glob-7.0.6" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz";
+        sha1 = "211bafaf49e525b8cd93260d14ab136152b3f57a";
+      };
+    };
     "glob-7.1.1" = {
       name = "glob";
       packageName = "glob";
@@ -15251,6 +15728,15 @@ let
         sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==";
       };
     };
+    "glob-7.1.4" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
+      };
+    };
     "glob-base-0.3.0" = {
       name = "glob-base";
       packageName = "glob-base";
@@ -15387,13 +15873,13 @@ let
         sha512 = "4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==";
       };
     };
-    "globals-11.11.0" = {
+    "globals-11.12.0" = {
       name = "globals";
       packageName = "globals";
-      version = "11.11.0";
+      version = "11.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz";
-        sha512 = "WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==";
+        url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz";
+        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
     "globals-9.18.0" = {
@@ -15621,13 +16107,13 @@ let
         sha512 = "QZ5BL8ZO/B20VA8APauGBg3GyEgZ19eduvpLWoq5x7gMmWnHoy8rlQWPLmWgFvo1yNgjSEFMesmS4R6pPr7xog==";
       };
     };
-    "graphql-14.2.1" = {
+    "graphql-14.3.0" = {
       name = "graphql";
       packageName = "graphql";
-      version = "14.2.1";
+      version = "14.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql/-/graphql-14.2.1.tgz";
-        sha512 = "2PL1UbvKeSjy/lUeJqHk+eR9CvuErXoCNwJI4jm3oNFEeY+9ELqHNKO1ZuSxAkasPkpWbmT/iMRMFxd3cEL3tQ==";
+        url = "https://registry.npmjs.org/graphql/-/graphql-14.3.0.tgz";
+        sha512 = "MdfI4v7kSNC3NhB7cF8KNijDsifuWO2XOtzpyququqaclO8wVuChYv+KogexDwgP5sp7nFI9Z6N4QHgoLkfjrg==";
       };
     };
     "graphql-anywhere-4.2.1" = {
@@ -15675,22 +16161,13 @@ let
         sha512 = "bOufkkog0cSfHJ9gVD3Wy+KHmkSTHWcFfPaV/NVpIvfJx15gU0/CzuC6lcTjioWmn+UGzYdoqmP7OrJAWT57sw==";
       };
     };
-    "graphql-extensions-0.5.4" = {
-      name = "graphql-extensions";
-      packageName = "graphql-extensions";
-      version = "0.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.5.4.tgz";
-        sha512 = "qLThJGVMqcItE7GDf/xX/E40m/aeqFheEKiR5bfra4q5eHxQKGjnIc20P9CVqjOn9I0FkEiU9ypOobfmIf7t6g==";
-      };
-    };
-    "graphql-extensions-0.5.7" = {
+    "graphql-extensions-0.6.0" = {
       name = "graphql-extensions";
       packageName = "graphql-extensions";
-      version = "0.5.7";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.5.7.tgz";
-        sha512 = "HrU6APE1PiehZ46scMB3S5DezSeCATd8v+e4mmg2bqszMyCFkmAnmK6hR1b5VjHxhzt5/FX21x1WsXfqF4FwdQ==";
+        url = "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.6.0.tgz";
+        sha512 = "SshzmbD68fHXRv2q3St29olMOxHDLQ5e9TOh+Tz2BYxinrfhjFaPNcEefiK/vF295wW827Y58bdO11Xmhf8J+Q==";
       };
     };
     "graphql-import-0.4.5" = {
@@ -15792,13 +16269,13 @@ let
         sha512 = "/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==";
       };
     };
-    "graphql-upload-8.0.5" = {
+    "graphql-upload-8.0.6" = {
       name = "graphql-upload";
       packageName = "graphql-upload";
-      version = "8.0.5";
+      version = "8.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-upload/-/graphql-upload-8.0.5.tgz";
-        sha512 = "iv8R/E1b0GJ203Z2sdPgnCnU8tl9hQY+jkebiTNAjsWBT3j/I5VLBnPJdDhJSKIreWJ4/1LZjgOt60qjnH4/EQ==";
+        url = "https://registry.npmjs.org/graphql-upload/-/graphql-upload-8.0.6.tgz";
+        sha512 = "cBRALMOvGBm2AD6M61b1QbSmKfCLXvgV+Z3wXT2JS1EQwGWQ1g5/sby4J/cpwAaGnq5P2eGp+N3HQI9cSn9Jfg==";
       };
     };
     "gray-matter-2.1.1" = {
@@ -15810,6 +16287,15 @@ let
         sha1 = "3042d9adec2a1ded6a7707a9ed2380f8a17a430e";
       };
     };
+    "gridsome-helper-json-1.0.3" = {
+      name = "gridsome-helper-json";
+      packageName = "gridsome-helper-json";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gridsome-helper-json/-/gridsome-helper-json-1.0.3.tgz";
+        sha512 = "CgXlq3PGpBRj8RMnLSYs46Hvl5q9Up9kwuMAcYlvS4sNgH5j4Ao7hbY+HI62PaYTeIdffiJidLEIeZVCmZCrFA==";
+      };
+    };
     "grouped-queue-0.3.3" = {
       name = "grouped-queue";
       packageName = "grouped-queue";
@@ -16269,6 +16755,69 @@ let
         sha512 = "0cMsjjIC8I+D3M44pOQdsy0OHXGLVz6Z0beRuufhKa0KfaD2wGwAev6jILzXsd3/vpnNQJmWyZtIILqM1N+n5A==";
       };
     };
+    "hast-util-embedded-1.0.2" = {
+      name = "hast-util-embedded";
+      packageName = "hast-util-embedded";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-1.0.2.tgz";
+        sha512 = "m09+gydYBWVT2Csfau4OtkzpMV5HYtWrTTT1cbokW/Pqz/6re8qP2wZ9zuMmBz3SfBQVXyLJF+9q8Ut//KED4w==";
+      };
+    };
+    "hast-util-has-property-1.0.2" = {
+      name = "hast-util-has-property";
+      packageName = "hast-util-has-property";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-1.0.2.tgz";
+        sha512 = "EBzRiKIIe9wouLSjqun5ti0oYcEe5U1eEpuOPtcihmP3KvFRovOmmXypf1B/QalQr9S4YoVgLOSg6gW98ihRbA==";
+      };
+    };
+    "hast-util-is-body-ok-link-1.0.1" = {
+      name = "hast-util-is-body-ok-link";
+      packageName = "hast-util-is-body-ok-link";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-1.0.1.tgz";
+        sha512 = "qFDY0oz0lbc0DOcy61BSgJo+wi/ykFs4p95YjrtRP81eNfmBPs/Z0j4WLFmepJ6znfxLlRcPpic8FOdzCD5aKw==";
+      };
+    };
+    "hast-util-is-element-1.0.2" = {
+      name = "hast-util-is-element";
+      packageName = "hast-util-is-element";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.2.tgz";
+        sha512 = "4MEtyofNi3ZunPFrp9NpTQdNPN24xvLX3M+Lr/RGgPX6TLi+wR4/DqeoyQ7lwWcfUp4aevdt4RR0r7ZQPFbHxw==";
+      };
+    };
+    "hast-util-parse-selector-2.2.1" = {
+      name = "hast-util-parse-selector";
+      packageName = "hast-util-parse-selector";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.1.tgz";
+        sha512 = "Xyh0v+nHmQvrOqop2Jqd8gOdyQtE8sIP9IQf7mlVDqp924W4w/8Liuguk2L2qei9hARnQSG2m+wAOCxM7npJVw==";
+      };
+    };
+    "hast-util-to-string-1.0.1" = {
+      name = "hast-util-to-string";
+      packageName = "hast-util-to-string";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-1.0.1.tgz";
+        sha512 = "EC6awGe0ZMUNYmS2hMVaKZxvjVtQA4RhXjtgE20AxGG49MM7OUUfaHc6VcVYv2YwzNlrZQGe5teimCxW1Rk+fA==";
+      };
+    };
+    "hast-util-whitespace-1.0.2" = {
+      name = "hast-util-whitespace";
+      packageName = "hast-util-whitespace";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.2.tgz";
+        sha512 = "4JT8B0HKPHBMFZdDQzexjxwhKx9TrpV/+uelvmqlPu8RqqDrnNIEHDtDZCmgE+4YmcFAtKVPLmnY3dQGRaN53A==";
+      };
+    };
     "hat-0.0.3" = {
       name = "hat";
       packageName = "hat";
@@ -16512,6 +17061,24 @@ let
         sha1 = "c78de65b5663aa597989dd2b7ab49200d7e4db98";
       };
     };
+    "html-void-elements-1.0.4" = {
+      name = "html-void-elements";
+      packageName = "html-void-elements";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.4.tgz";
+        sha512 = "yMk3naGPLrfvUV9TdDbuYXngh/TpHbA6TrOw3HL9kS8yhwx7i309BReNg7CbAJXGE+UMJ6je5OqJ7lC63o6YuQ==";
+      };
+    };
+    "html-whitespace-sensitive-tag-names-1.0.0" = {
+      name = "html-whitespace-sensitive-tag-names";
+      packageName = "html-whitespace-sensitive-tag-names";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-1.0.0.tgz";
+        sha1 = "fd6ed3a3d631ce29341aefe26a8fea720d3adfa7";
+      };
+    };
     "htmlescape-1.1.1" = {
       name = "htmlescape";
       packageName = "htmlescape";
@@ -16764,13 +17331,13 @@ let
         sha512 = "xFwOnNlOt8L+SovC7dTNchKaNYJb5l8rKZZwpWQnCme1r7CU4Hlhp1RDqPES6b0OpS7DkTo9iU0GltQGkpsjMw==";
       };
     };
-    "hypercore-protocol-6.9.0" = {
+    "hypercore-protocol-6.10.0" = {
       name = "hypercore-protocol";
       packageName = "hypercore-protocol";
-      version = "6.9.0";
+      version = "6.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.9.0.tgz";
-        sha512 = "80kUQN6aZhdip4vHRhLyYrJ8Uhj34Xw1RdAtMwQNChoOlnVAvOzVh+ffIs6NiqBF4ExU25ToOvPTaYv+pYZBbg==";
+        url = "https://registry.npmjs.org/hypercore-protocol/-/hypercore-protocol-6.10.0.tgz";
+        sha512 = "szYbpwkoAH+zLlN8oY1KORbFzG9LmpIc4oO0AqOTlPPFZU+dWUQIYUJXLHzHnrHFIc+8McOeFM+Gx6m256dJjw==";
       };
     };
     "hyperdrive-9.14.5" = {
@@ -17457,15 +18024,6 @@ let
         sha512 = "LgjHkRl9W6bj2n+kWrAOgvCYPTYt+LanE4rtd/vKNq6yEb+SvVV7UTLzoSPpDX6/U1cAz7VfqPr+lPAIz7wHaQ==";
       };
     };
-    "int53-0.2.4" = {
-      name = "int53";
-      packageName = "int53";
-      version = "0.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/int53/-/int53-0.2.4.tgz";
-        sha1 = "5ed8d7aad6c5c6567cae69aa7ffc4a109ee80f86";
-      };
-    };
     "int53-1.0.0" = {
       name = "int53";
       packageName = "int53";
@@ -17628,13 +18186,13 @@ let
         sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9";
       };
     };
-    "ip-set-1.0.1" = {
+    "ip-set-1.0.2" = {
       name = "ip-set";
       packageName = "ip-set";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ip-set/-/ip-set-1.0.1.tgz";
-        sha1 = "633b66d0bd6c8d0de968d053263c9120d3b6727e";
+        url = "https://registry.npmjs.org/ip-set/-/ip-set-1.0.2.tgz";
+        sha512 = "Mb6kv78bTi4RNAIIWL8Bbre7hXOR2pNUi3j8FaQkLaitf/ZWxkq3/iIwXNYk2ACO3IMfdVdQrOkUtwZblO7uBA==";
       };
     };
     "ipaddr.js-1.0.5" = {
@@ -17736,22 +18294,22 @@ let
         sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
       };
     };
-    "is-alphabetical-1.0.2" = {
+    "is-alphabetical-1.0.3" = {
       name = "is-alphabetical";
       packageName = "is-alphabetical";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz";
-        sha512 = "V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==";
+        url = "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz";
+        sha512 = "eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==";
       };
     };
-    "is-alphanumerical-1.0.2" = {
+    "is-alphanumerical-1.0.3" = {
       name = "is-alphanumerical";
       packageName = "is-alphanumerical";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz";
-        sha512 = "pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==";
+        url = "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz";
+        sha512 = "A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==";
       };
     };
     "is-arrayish-0.2.1" = {
@@ -17826,6 +18384,15 @@ let
         sha512 = "o6t/DwgEapC0bsloqtegAQyZzQXaQ5+8fzsyf2KmLqupC2ifLFq/lMQiFCJeGpdSrK1o6GL+WW2lRU050lLlFg==";
       };
     };
+    "is-capitalized-1.0.0" = {
+      name = "is-capitalized";
+      packageName = "is-capitalized";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-capitalized/-/is-capitalized-1.0.0.tgz";
+        sha1 = "4c8464b4d91d3e4eeb44889dd2cd8f1b0ac4c136";
+      };
+    };
     "is-ci-1.2.1" = {
       name = "is-ci";
       packageName = "is-ci";
@@ -17871,13 +18438,13 @@ let
         sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
       };
     };
-    "is-decimal-1.0.2" = {
+    "is-decimal-1.0.3" = {
       name = "is-decimal";
       packageName = "is-decimal";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz";
-        sha512 = "TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==";
+        url = "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz";
+        sha512 = "bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==";
       };
     };
     "is-descriptor-0.1.6" = {
@@ -17934,6 +18501,15 @@ let
         sha512 = "SpMppC2XR3YdxSzczXReBjqs2zGscWQpBIKqwXYBFic0ERaxNVgwLCHwOLZeESfdJQjX0RDvrJ1lBXX2ij+G1Q==";
       };
     };
+    "is-empty-1.2.0" = {
+      name = "is-empty";
+      packageName = "is-empty";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-empty/-/is-empty-1.2.0.tgz";
+        sha1 = "de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b";
+      };
+    };
     "is-equal-shallow-0.1.3" = {
       name = "is-equal-shallow";
       packageName = "is-equal-shallow";
@@ -18051,13 +18627,22 @@ let
         sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
       };
     };
-    "is-hexadecimal-1.0.2" = {
+    "is-hexadecimal-1.0.3" = {
       name = "is-hexadecimal";
       packageName = "is-hexadecimal";
-      version = "1.0.2";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz";
+        sha512 = "zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==";
+      };
+    };
+    "is-hidden-1.1.1" = {
+      name = "is-hidden";
+      packageName = "is-hidden";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz";
-        sha512 = "but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==";
+        url = "https://registry.npmjs.org/is-hidden/-/is-hidden-1.1.1.tgz";
+        sha512 = "175UKecS8+U4hh2PSY0j4xnm2GKYzvSKnbh+naC93JjuBA7LgIo6YxlbcsSo6seFBdQO3RuIcH980yvqqD/2cA==";
       };
     };
     "is-html-1.1.0" = {
@@ -18123,13 +18708,13 @@ let
         sha512 = "gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==";
       };
     };
-    "is-my-json-valid-2.19.0" = {
+    "is-my-json-valid-2.20.0" = {
       name = "is-my-json-valid";
       packageName = "is-my-json-valid";
-      version = "2.19.0";
+      version = "2.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz";
-        sha512 = "mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==";
+        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz";
+        sha512 = "XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==";
       };
     };
     "is-natural-number-4.0.1" = {
@@ -18240,6 +18825,15 @@ let
         sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
       };
     };
+    "is-plain-object-3.0.0" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz";
+        sha512 = "tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==";
+      };
+    };
     "is-posix-bracket-0.1.1" = {
       name = "is-posix-bracket";
       packageName = "is-posix-bracket";
@@ -18528,13 +19122,13 @@ let
         sha1 = "110f9ff74c37f663e1ec7915eb451f2db93ac9df";
       };
     };
-    "is-whitespace-character-1.0.2" = {
+    "is-whitespace-character-1.0.3" = {
       name = "is-whitespace-character";
       packageName = "is-whitespace-character";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz";
-        sha512 = "SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==";
+        url = "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz";
+        sha512 = "SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==";
       };
     };
     "is-windows-0.2.0" = {
@@ -18555,13 +19149,13 @@ let
         sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
       };
     };
-    "is-word-character-1.0.2" = {
+    "is-word-character-1.0.3" = {
       name = "is-word-character";
       packageName = "is-word-character";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz";
-        sha512 = "T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA==";
+        url = "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz";
+        sha512 = "0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==";
       };
     };
     "is-wsl-1.1.0" = {
@@ -18672,6 +19266,15 @@ let
         sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
       };
     };
+    "isobject-4.0.0" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz";
+        sha512 = "S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==";
+      };
+    };
     "isomorphic-fetch-2.2.1" = {
       name = "isomorphic-fetch";
       packageName = "isomorphic-fetch";
@@ -18762,13 +19365,13 @@ let
         sha1 = "dc5ebed10d04a5e0eaf49ef0009bec473d1a6b31";
       };
     };
-    "jaeger-client-3.14.4" = {
+    "jaeger-client-3.15.0" = {
       name = "jaeger-client";
       packageName = "jaeger-client";
-      version = "3.14.4";
+      version = "3.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.14.4.tgz";
-        sha512 = "+AEI0z3ppLkqOKxUvN6n+qmjDj7O8R+Qr3lO9AXRtuEKxX4p0bfMwqcFiTQPr80twVVdF3wCrZVkcpJysZUL5w==";
+        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.15.0.tgz";
+        sha512 = "0SfuEE7E6XVLhu8th5JG/ACtnIWq4Tad0iSst3+De9HOMSz1RI0Tl1MLXzetudI670rqfCs4m37XCTMRgu8oxg==";
       };
     };
     "javascript-stringify-1.6.0" = {
@@ -18861,13 +19464,13 @@ let
         sha1 = "135b992c0575c985cfa0f494a3227ed238583ece";
       };
     };
-    "jquery-3.4.0" = {
+    "jquery-3.4.1" = {
       name = "jquery";
       packageName = "jquery";
-      version = "3.4.0";
+      version = "3.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery/-/jquery-3.4.0.tgz";
-        sha512 = "ggRCXln9zEqv6OqAGXFEcshF5dSBvCkzj6Gm2gzuR5fWawaX8t7cxKVkkygKODrDAzKdoYw3l/e3pm3vlT4IbQ==";
+        url = "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz";
+        sha512 = "36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==";
       };
     };
     "jquery-ui-bundle-1.12.1" = {
@@ -18888,13 +19491,13 @@ let
         sha512 = "M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==";
       };
     };
-    "js-beautify-1.9.1" = {
+    "js-beautify-1.10.0" = {
       name = "js-beautify";
       packageName = "js-beautify";
-      version = "1.9.1";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.9.1.tgz";
-        sha512 = "oxxvVZdOdUfzk8IOLBF2XUZvl2GoBEfA+b0of4u2EBY/46NlXasi8JdFvazA5lCrf9/lQhTjyVy2QCUW7iq0MQ==";
+        url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.0.tgz";
+        sha512 = "OMwf/tPDpE/BLlYKqZOhqWsd3/z2N3KOlyn1wsCRGFwViE8LOQTcDtathQvHvZc+q+zWmcNAbwKSC+iJoMaH2Q==";
       };
     };
     "js-levenshtein-1.1.6" = {
@@ -18978,13 +19581,13 @@ let
         sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==";
       };
     };
-    "js2xmlparser-3.0.0" = {
+    "js2xmlparser-4.0.0" = {
       name = "js2xmlparser";
       packageName = "js2xmlparser";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-3.0.0.tgz";
-        sha1 = "3fb60eaa089c5440f9319f51760ccd07e2499733";
+        url = "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.0.tgz";
+        sha512 = "WuNgdZOXVmBk5kUPMcTcVUpbGRzLfNkv7+7APq7WiDihpXVKrgxo6wwRpRl9OQeEBgKCVk9mR7RbzrnNWC8oBw==";
       };
     };
     "jsbn-0.1.1" = {
@@ -19275,6 +19878,15 @@ let
         sha512 = "3MWTH77OHLf3muMknZJS4GnDhGPMITyF9D84hpRQrjt1Hk3pBtTiyZcqodHUDSaDq8VDy9YyIbanRI+3RoW3FA==";
       };
     };
+    "jsonc-parser-1.0.3" = {
+      name = "jsonc-parser";
+      packageName = "jsonc-parser";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-1.0.3.tgz";
+        sha512 = "hk/69oAeaIzchq/v3lS50PXuzn5O2ynldopMC+SWBql7J2WtdptfB9dy8Y7+Og5rPkTCpn83zTiO8FMcqlXJ/g==";
+      };
+    };
     "jsonfile-1.0.1" = {
       name = "jsonfile";
       packageName = "jsonfile";
@@ -19690,13 +20302,13 @@ let
         sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
       };
     };
-    "klaw-2.0.0" = {
+    "klaw-3.0.0" = {
       name = "klaw";
       packageName = "klaw";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/klaw/-/klaw-2.0.0.tgz";
-        sha1 = "59c128e0dc5ce410201151194eeb9cbf858650f6";
+        url = "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz";
+        sha512 = "0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==";
       };
     };
     "kleur-3.0.3" = {
@@ -20122,6 +20734,15 @@ let
         sha512 = "DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==";
       };
     };
+    "limit-spawn-0.0.3" = {
+      name = "limit-spawn";
+      packageName = "limit-spawn";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/limit-spawn/-/limit-spawn-0.0.3.tgz";
+        sha1 = "cc09c24467a0f0a1ed10a5196dba597cad3f65dc";
+      };
+    };
     "linewise-0.0.3" = {
       name = "linewise";
       packageName = "linewise";
@@ -20194,6 +20815,15 @@ let
         sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
       };
     };
+    "load-plugin-2.3.0" = {
+      name = "load-plugin";
+      packageName = "load-plugin";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-plugin/-/load-plugin-2.3.0.tgz";
+        sha512 = "OxHNMfT3aeHFSpzeMQRcE40kXULv3KA8fGgnySC+rO3Be+0oMWkcRKMJ5zWzUCTuUnabCsQyJzNjo/BLdbmRxA==";
+      };
+    };
     "loader-runner-2.4.0" = {
       name = "loader-runner";
       packageName = "loader-runner";
@@ -20662,6 +21292,15 @@ let
         sha1 = "ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2";
       };
     };
+    "lodash.assigninwith-4.2.0" = {
+      name = "lodash.assigninwith";
+      packageName = "lodash.assigninwith";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.assigninwith/-/lodash.assigninwith-4.2.0.tgz";
+        sha1 = "af02c98432ac86d93da695b4be801401971736af";
+      };
+    };
     "lodash.bind-2.4.1" = {
       name = "lodash.bind";
       packageName = "lodash.bind";
@@ -20716,6 +21355,15 @@ let
         sha1 = "82d79bff30a67c4005ffd5e2515300ad9ca4d7af";
       };
     };
+    "lodash.defaults-4.0.1" = {
+      name = "lodash.defaults";
+      packageName = "lodash.defaults";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.0.1.tgz";
+        sha1 = "05678e612a9716c64b5bf2cecf045131ca3d3402";
+      };
+    };
     "lodash.defaults-4.2.0" = {
       name = "lodash.defaults";
       packageName = "lodash.defaults";
@@ -20851,6 +21499,15 @@ let
         sha1 = "60bb98a87cb923c68ca1e51325483314849f553f";
       };
     };
+    "lodash.intersection-4.4.0" = {
+      name = "lodash.intersection";
+      packageName = "lodash.intersection";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.intersection/-/lodash.intersection-4.4.0.tgz";
+        sha1 = "0a11ba631d0e95c23c7f2f4cbb9a692ed178e705";
+      };
+    };
     "lodash.isarguments-3.1.0" = {
       name = "lodash.isarguments";
       packageName = "lodash.isarguments";
@@ -20959,6 +21616,15 @@ let
         sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
       };
     };
+    "lodash.iteratee-4.7.0" = {
+      name = "lodash.iteratee";
+      packageName = "lodash.iteratee";
+      version = "4.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.iteratee/-/lodash.iteratee-4.7.0.tgz";
+        sha1 = "be4177db289a8ccc3c0990f1db26b5b22fc1554c";
+      };
+    };
     "lodash.keys-2.4.1" = {
       name = "lodash.keys";
       packageName = "lodash.keys";
@@ -21112,6 +21778,15 @@ let
         sha1 = "fc7de8131d8c8ac07e4b49f74ffe829d1f2bec44";
       };
     };
+    "lodash.rest-4.0.5" = {
+      name = "lodash.rest";
+      packageName = "lodash.rest";
+      version = "4.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz";
+        sha1 = "954ef75049262038c96d1fc98b28fdaf9f0772aa";
+      };
+    };
     "lodash.restparam-3.6.1" = {
       name = "lodash.restparam";
       packageName = "lodash.restparam";
@@ -21211,6 +21886,15 @@ let
         sha1 = "24c4bfcd6b2fba38bfd0594db1179d8e9b656561";
       };
     };
+    "lodash.unescape-4.0.1" = {
+      name = "lodash.unescape";
+      packageName = "lodash.unescape";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.unescape/-/lodash.unescape-4.0.1.tgz";
+        sha1 = "bf2249886ce514cda112fae9218cdc065211fc9c";
+      };
+    };
     "lodash.union-4.6.0" = {
       name = "lodash.union";
       packageName = "lodash.union";
@@ -21274,13 +21958,13 @@ let
         sha1 = "88328fd7d1ce7938b29283746f0b1bc126b24708";
       };
     };
-    "log4js-4.1.0" = {
+    "log4js-4.1.1" = {
       name = "log4js";
       packageName = "log4js";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log4js/-/log4js-4.1.0.tgz";
-        sha512 = "eDa+zZPeVEeK6QGJAePyXM6pg4P3n3TO5rX9iZMVY48JshsTyLJZLIL5HipI1kQ2qLsSyOpUqNND/C5H4WhhiA==";
+        url = "https://registry.npmjs.org/log4js/-/log4js-4.1.1.tgz";
+        sha512 = "tSQUF9bBMdcBtuLD6vD7hBM9Ci6Lng/NVHZEq4YbuRGo7ObmLiZuhxz33HKAmJItit74pAjvZgirqYX2LRaoGA==";
       };
     };
     "logform-2.1.2" = {
@@ -21292,6 +21976,24 @@ let
         sha512 = "+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ==";
       };
     };
+    "loglevel-1.6.1" = {
+      name = "loglevel";
+      packageName = "loglevel";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz";
+        sha1 = "e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa";
+      };
+    };
+    "loglevel-colored-level-prefix-1.0.0" = {
+      name = "loglevel-colored-level-prefix";
+      packageName = "loglevel-colored-level-prefix";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz";
+        sha1 = "6a40218fdc7ae15fc76c3d0f3e676c465388603e";
+      };
+    };
     "lokijs-1.5.3" = {
       name = "lokijs";
       packageName = "lokijs";
@@ -21841,13 +22543,13 @@ let
         sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
       };
     };
-    "markdown-escapes-1.0.2" = {
+    "markdown-escapes-1.0.3" = {
       name = "markdown-escapes";
       packageName = "markdown-escapes";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz";
-        sha512 = "lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==";
+        url = "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz";
+        sha512 = "XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==";
       };
     };
     "markdown-it-8.4.2" = {
@@ -21859,6 +22561,15 @@ let
         sha512 = "GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==";
       };
     };
+    "markdown-it-anchor-5.0.2" = {
+      name = "markdown-it-anchor";
+      packageName = "markdown-it-anchor";
+      version = "5.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.0.2.tgz";
+        sha512 = "AFM/woBI8QDJMS/9+MmsBMT5/AR+ImfOsunQZTZhzcTmna3rIzAzbOh5E0l6mlFM/i9666BpUtkqQ9bS7WApCg==";
+      };
+    };
     "markdown-it-emoji-1.4.0" = {
       name = "markdown-it-emoji";
       packageName = "markdown-it-emoji";
@@ -21904,22 +22615,40 @@ let
         sha1 = "890c2c1b3bfe83fb00e4129b8e4cfe645270f9d1";
       };
     };
-    "marked-0.3.19" = {
+    "marked-0.4.0" = {
       name = "marked";
       packageName = "marked";
-      version = "0.3.19";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz";
-        sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
+        url = "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz";
+        sha512 = "tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==";
       };
     };
-    "marked-0.4.0" = {
+    "marked-0.6.2" = {
       name = "marked";
       packageName = "marked";
-      version = "0.4.0";
+      version = "0.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-0.4.0.tgz";
-        sha512 = "tMsdNBgOsrUophCAFQl0XPe6Zqk/uy9gnue+jIIKhykO51hxyu6uNx7zBPy0+y/WKYVZZMspV9YeXLNdKk+iYw==";
+        url = "https://registry.npmjs.org/marked/-/marked-0.6.2.tgz";
+        sha512 = "LqxwVH3P/rqKX4EKGz7+c2G9r98WeM/SW34ybhgNGhUQNKtf1GmmSkJ6cDGJ/t6tiyae49qRkpyTw2B9HOrgUA==";
+      };
+    };
+    "match-casing-1.0.1" = {
+      name = "match-casing";
+      packageName = "match-casing";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/match-casing/-/match-casing-1.0.1.tgz";
+        sha512 = "zUroBN1AtMqqtIOb2qfwgncEuUAG7b5wQ1J9/D8jYRxbdvUZnpuRIlkqFyrX/1RbWJNzERwHG4BMj2LTtZW48g==";
+      };
+    };
+    "match-index-1.0.1" = {
+      name = "match-index";
+      packageName = "match-index";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/match-index/-/match-index-1.0.1.tgz";
+        sha1 = "b4b673e99ab3ac5a6af303ccf4db709812bc3f58";
       };
     };
     "matchdep-2.0.0" = {
@@ -21967,6 +22696,24 @@ let
         sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==";
       };
     };
+    "mdast-comment-marker-1.1.0" = {
+      name = "mdast-comment-marker";
+      packageName = "mdast-comment-marker";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-1.1.0.tgz";
+        sha512 = "NqHAs8nmu08I6MGzpKzgTd9qiCP7oshkyzQrlZxLMsLPUOPjp/Zb/ZtorKD0oOJ38vdZxFCdOlXvlDf77AqEDg==";
+      };
+    };
+    "mdast-util-to-nlcst-3.2.2" = {
+      name = "mdast-util-to-nlcst";
+      packageName = "mdast-util-to-nlcst";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.2.tgz";
+        sha512 = "TmJlri8dHt7duRU6jfWBMqf5gW+VZ6o/8GHaWzwdxslseB2lL8bSOiox6c8VwYX5v2E4CzUWm/1GkAYqgbNw9A==";
+      };
+    };
     "mdmanifest-1.0.8" = {
       name = "mdmanifest";
       packageName = "mdmanifest";
@@ -22660,6 +23407,15 @@ let
         sha512 = "x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==";
       };
     };
+    "misspellings-1.1.0" = {
+      name = "misspellings";
+      packageName = "misspellings";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/misspellings/-/misspellings-1.1.0.tgz";
+        sha1 = "53d500266cbd09cda9d94c4cf392e60589b5b324";
+      };
+    };
     "mixin-deep-1.3.1" = {
       name = "mixin-deep";
       packageName = "mixin-deep";
@@ -22795,13 +23551,13 @@ let
         sha512 = "gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==";
       };
     };
-    "mooremachine-2.2.1" = {
+    "mooremachine-2.3.0" = {
       name = "mooremachine";
       packageName = "mooremachine";
-      version = "2.2.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mooremachine/-/mooremachine-2.2.1.tgz";
-        sha1 = "0d9891aa7c2cf32ca73e72f52a3561ed787e2e8c";
+        url = "https://registry.npmjs.org/mooremachine/-/mooremachine-2.3.0.tgz";
+        sha512 = "IrhznRheWtDcT/TEL3cqaT4UJOqc5G3K8TnGq29PRXZil+sWGPkcM6SHVUZVirTKFKceuCadfyDMjmRoXCN21A==";
       };
     };
     "morgan-1.6.1" = {
@@ -22822,6 +23578,15 @@ let
         sha512 = "HQStPIV4y3afTiCYVxirakhlCfGkI161c76kKFca7Fk1JusM//Qeo1ej2XaMniiNeaZklMVrh3vTtIzpzwbpmA==";
       };
     };
+    "mout-0.5.0" = {
+      name = "mout";
+      packageName = "mout";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mout/-/mout-0.5.0.tgz";
+        sha1 = "ff967566a90f29595e9cb8b6e7800a5b56635583";
+      };
+    };
     "move-concurrently-1.0.1" = {
       name = "move-concurrently";
       packageName = "move-concurrently";
@@ -23065,13 +23830,13 @@ let
         sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b";
       };
     };
-    "multiserver-3.3.2" = {
+    "multiserver-3.3.3" = {
       name = "multiserver";
       packageName = "multiserver";
-      version = "3.3.2";
+      version = "3.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multiserver/-/multiserver-3.3.2.tgz";
-        sha512 = "VR1VOH4lZiF8SwiAx/en8ShfOOiA7xtDu8HMawnKk0snmK0vn28/gFKnJGrYgBsoZHBzhB2mU6ZWb9VDGklN4A==";
+        url = "https://registry.npmjs.org/multiserver/-/multiserver-3.3.3.tgz";
+        sha512 = "hbYf5A3DELSQdVUN4KcdD6It2yGE4f3CyHcz3qY0Lq+EojThFZaoe9ov1zFoaYnYqAEUnnRD1cTB6n/xZvu5Lw==";
       };
     };
     "multiserver-address-1.0.1" = {
@@ -23263,15 +24028,6 @@ let
         sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
       };
     };
-    "nan-2.10.0" = {
-      name = "nan";
-      packageName = "nan";
-      version = "2.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz";
-        sha512 = "bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==";
-      };
-    };
     "nan-2.12.1" = {
       name = "nan";
       packageName = "nan";
@@ -23609,13 +24365,13 @@ let
         sha512 = "U8HkIv90/lrdNlHVp63PoF3FeuQUvJ6toMX6InqRqpBmQq9iukZRAnq/yCE4Ii6WHZRYa6DEiTH/EGFTZ0rIGg==";
       };
     };
-    "needle-2.3.0" = {
+    "needle-2.3.1" = {
       name = "needle";
       packageName = "needle";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz";
-        sha512 = "QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==";
+        url = "https://registry.npmjs.org/needle/-/needle-2.3.1.tgz";
+        sha512 = "CaLXV3W8Vnbps8ZANqDGz7j4x7Yj1LW4TWF/TQuDfj7Cfx4nAPTvw98qgTevtto1oHDrh3pQkaODbqupXlsWTg==";
       };
     };
     "negotiator-0.3.0" = {
@@ -23645,6 +24401,15 @@ let
         sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
       };
     };
+    "negotiator-0.6.2" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
+        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+      };
+    };
     "neo-async-2.6.0" = {
       name = "neo-async";
       packageName = "neo-async";
@@ -23771,6 +24536,42 @@ let
         sha1 = "04b035cb530d46859d1018839a518c029133f676";
       };
     };
+    "nlcst-is-literal-1.1.2" = {
+      name = "nlcst-is-literal";
+      packageName = "nlcst-is-literal";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nlcst-is-literal/-/nlcst-is-literal-1.1.2.tgz";
+        sha512 = "eFdFvG7XE/YwPFbRk3ryzinTVGWpAEBQNH/FWc4sVSHXUumZtdSVaJYsz0axK4uF1pmlIAWgYWhzDuQ8NTf79A==";
+      };
+    };
+    "nlcst-normalize-2.1.2" = {
+      name = "nlcst-normalize";
+      packageName = "nlcst-normalize";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nlcst-normalize/-/nlcst-normalize-2.1.2.tgz";
+        sha512 = "fvXY7r3MsPFoB7nAUxhuBUJ8UC8wzBpWXuPRNL5DYca805CvThsV1wEIbkD9X/t506vvRfL3rRjXnfmbcl7O4Q==";
+      };
+    };
+    "nlcst-search-1.5.0" = {
+      name = "nlcst-search";
+      packageName = "nlcst-search";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nlcst-search/-/nlcst-search-1.5.0.tgz";
+        sha512 = "2OYlim0rafAJRtwhqUxgwyXskQNSiDHrMWXjUaPzzYwWfG3XnM3OAextLxj0i/iObl1mG4ZAGKY6nwtfogJMzQ==";
+      };
+    };
+    "nlcst-to-string-2.0.2" = {
+      name = "nlcst-to-string";
+      packageName = "nlcst-to-string";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-2.0.2.tgz";
+        sha512 = "DV7wVvMcAsmZ5qEwvX1JUNF4lKkAAKbChwNlIH7NLsPR7LWWoeIt53YlZ5CQH5KDXEXQ9Xa3mw0PbPewymrtew==";
+      };
+    };
     "no-case-2.3.2" = {
       name = "no-case";
       packageName = "no-case";
@@ -23780,13 +24581,31 @@ let
         sha512 = "rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==";
       };
     };
-    "node-abi-2.7.1" = {
+    "no-cliches-0.1.1" = {
+      name = "no-cliches";
+      packageName = "no-cliches";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/no-cliches/-/no-cliches-0.1.1.tgz";
+        sha512 = "mYihjs47X5+N71CN3P+QBrEIBuclIfMMpgWEpkmLqFPvrOXdzokvDlhbLfjdBNZOqYgniaeZC6J1ZCgxFdyvXw==";
+      };
+    };
+    "no-cliches-0.2.2" = {
+      name = "no-cliches";
+      packageName = "no-cliches";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/no-cliches/-/no-cliches-0.2.2.tgz";
+        sha512 = "iEOqDAOFl6uN5jZGRj39Jdo8qALzf2HPXtpFso8+BMaDylDrUMYMwhFbfYGgxdnMlsRnxYTwv68kaXEpsHIapg==";
+      };
+    };
+    "node-abi-2.8.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "2.7.1";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.7.1.tgz";
-        sha512 = "OV8Bq1OrPh6z+Y4dqwo05HqrRL9YNF7QVMRfq1/pguwKLG+q9UB/Lk0x5qXjO23JjJg+/jqCHSTaG1P3tfKfuw==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.8.0.tgz";
+        sha512 = "1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ==";
       };
     };
     "node-addon-api-1.6.3" = {
@@ -23889,13 +24708,13 @@ let
         sha1 = "ab884e8e7e57e38a944753cec706f788d1768bb5";
       };
     };
-    "node-fetch-2.3.0" = {
+    "node-fetch-2.5.0" = {
       name = "node-fetch";
       packageName = "node-fetch";
-      version = "2.3.0";
+      version = "2.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz";
-        sha512 = "MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==";
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.5.0.tgz";
+        sha512 = "YuZKluhWGJwCcUu4RlZstdAxr8bFfOVHakc1mplwHkk8J+tqM1Y5yraYvIUpeX8aY7+crCwiELJq7Vl0o0LWXw==";
       };
     };
     "node-fetch-npm-2.0.2" = {
@@ -23916,13 +24735,13 @@ let
         sha512 = "sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==";
       };
     };
-    "node-gyp-3.8.0" = {
+    "node-gyp-4.0.0" = {
       name = "node-gyp";
       packageName = "node-gyp";
-      version = "3.8.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz";
-        sha512 = "3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==";
+        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-4.0.0.tgz";
+        sha512 = "2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==";
       };
     };
     "node-gyp-build-3.7.0" = {
@@ -23934,13 +24753,13 @@ let
         sha512 = "L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w==";
       };
     };
-    "node-gyp-build-3.8.0" = {
+    "node-gyp-build-3.9.0" = {
       name = "node-gyp-build";
       packageName = "node-gyp-build";
-      version = "3.8.0";
+      version = "3.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.8.0.tgz";
-        sha512 = "bYbpIHyRqZ7sVWXxGpz8QIRug5JZc/hzZH4GbdT9HTZi6WmKCZ8GLvP8OZ9TTiIBvwPFKgtGrlWQSXDAvYdsPw==";
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.9.0.tgz";
+        sha512 = "zLcTg6P4AbcHPq465ZMFNXx7XpKKJh+7kkN699NiQWisR2uWYOWNWqRHAmbnmKiL4e9aLSlmy5U7rEMUXV59+A==";
       };
     };
     "node-int64-0.4.0" = {
@@ -24096,13 +24915,13 @@ let
         sha512 = "mkw8HOosXHMBRdyJkio77vPx4Ls5IY26P5ZyoMWmKMkimXKTnX00DdpmNlkW+dHwMDYq1H66WzFtQhNOdEAbgA==";
       };
     };
-    "node-releases-1.1.16" = {
+    "node-releases-1.1.18" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.16";
+      version = "1.1.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.16.tgz";
-        sha512 = "BOMWCW9CaT4sffMa5S9Mj4vYObvVShyo6JoM9WzzQOKVyNUn1+OVMUaQT3fo2tJKCMwHjqaDW/Pf3/JsYmPD2g==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.18.tgz";
+        sha512 = "/mnVgm6u/8OwlIsoyRXtTI0RfQcxZoAZbdwyXap0EeWwcOpDDymyCHM2/aR9XKmHXrvizHoPAOs0pcbiJ6RUaA==";
       };
     };
     "node-request-by-swagger-1.1.4" = {
@@ -24195,13 +25014,13 @@ let
         sha512 = "hKGCoeNdFL2W7S76J/Oucbw0/qRlfG815tENdhzcqTpSjKgAN91mFOqU2lQUflRRxFM7iZvCyaFcAR9noc/CqQ==";
       };
     };
-    "nodemon-1.18.11" = {
+    "nodemon-1.19.0" = {
       name = "nodemon";
       packageName = "nodemon";
-      version = "1.18.11";
+      version = "1.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemon/-/nodemon-1.18.11.tgz";
-        sha512 = "KdN3tm1zkarlqNo4+W9raU3ihM4H15MVMSE/f9rYDZmFgDHAfAJsomYrHhApAkuUemYjFyEeXlpCOQ2v5gtBEw==";
+        url = "https://registry.npmjs.org/nodemon/-/nodemon-1.19.0.tgz";
+        sha512 = "NHKpb/Je0Urmwi3QPDHlYuFY9m1vaVfTsRZG5X73rY46xPj0JpNe8WhUGQdkDXQDOxrBNIU3JrcflE9Y44EcuA==";
       };
     };
     "nomnom-1.8.1" = {
@@ -24312,13 +25131,13 @@ let
         sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     };
-    "normalize-uri-1.1.1" = {
+    "normalize-uri-1.1.2" = {
       name = "normalize-uri";
       packageName = "normalize-uri";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-uri/-/normalize-uri-1.1.1.tgz";
-        sha512 = "bui9/kzRGymbkxJsZEBZgDHK2WJWGOHzR0pCr404EpkpVFTkCOYaRwQTlehUE+7oI70mWNENncCWqUxT/icfHw==";
+        url = "https://registry.npmjs.org/normalize-uri/-/normalize-uri-1.1.2.tgz";
+        sha512 = "fHgUX0J9LLSfIQAX1jfn+E47Sh24eKm41flnEjLeMKL9VoW3z/QkOrlJqKbcnO5qWcKSH57o5nH+3V0NOXmvDw==";
       };
     };
     "normalize-url-2.0.1" = {
@@ -24393,13 +25212,13 @@ let
         sha1 = "99b85aec29fcb388d2dd351f0013bf5268787e67";
       };
     };
-    "npm-lifecycle-2.1.0" = {
+    "npm-lifecycle-2.1.1" = {
       name = "npm-lifecycle";
       packageName = "npm-lifecycle";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz";
-        sha512 = "QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g==";
+        url = "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.1.tgz";
+        sha512 = "+Vg6I60Z75V/09pdcH5iUo/99Q/vop35PaI99elvxk56azSVVsdsSsS/sXqKDNwbRRNN1qSxkcO45ZOu0yOWew==";
       };
     };
     "npm-package-arg-6.1.0" = {
@@ -24627,6 +25446,15 @@ let
         sha1 = "4ad080936d443c2561aed9f2197efffe25f4e506";
       };
     };
+    "nuxt-helper-json-1.0.0" = {
+      name = "nuxt-helper-json";
+      packageName = "nuxt-helper-json";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nuxt-helper-json/-/nuxt-helper-json-1.0.0.tgz";
+        sha512 = "MwFMhg8Xwjlo7dJeAuUImJxVMwyGGXfSjE7COiw0cAT7bFVJrA11ZJCwLrqPZQBfuBq3QxL8Q3/GzqA0BDr+Ug==";
+      };
+    };
     "nwmatcher-1.4.4" = {
       name = "nwmatcher";
       packageName = "nwmatcher";
@@ -24636,13 +25464,13 @@ let
         sha512 = "3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==";
       };
     };
-    "nwsapi-2.1.3" = {
+    "nwsapi-2.1.4" = {
       name = "nwsapi";
       packageName = "nwsapi";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.3.tgz";
-        sha512 = "RowAaJGEgYXEZfQ7tvvdtAQUKPyTR6T6wNu0fwlNsGQYr/h3yQc6oI8WnVZh3Y/Sylwc+dtAlvPqfFZjhTyk3A==";
+        url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz";
+        sha512 = "iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw==";
       };
     };
     "oauth-0.9.15" = {
@@ -24772,6 +25600,15 @@ let
         sha512 = "GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==";
       };
     };
+    "object-keys-0.4.0" = {
+      name = "object-keys";
+      packageName = "object-keys";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz";
+        sha1 = "28a6aae7428dd2c3a92f3d95f21335dd204e0336";
+      };
+    };
     "object-keys-1.1.1" = {
       name = "object-keys";
       packageName = "object-keys";
@@ -25465,6 +26302,15 @@ let
         sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
       };
     };
+    "p-debounce-1.0.0" = {
+      name = "p-debounce";
+      packageName = "p-debounce";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-debounce/-/p-debounce-1.0.0.tgz";
+        sha1 = "cb7f2cbeefd87a09eba861e112b67527e621e2fd";
+      };
+    };
     "p-defer-1.0.0" = {
       name = "p-defer";
       packageName = "p-defer";
@@ -25816,6 +26662,15 @@ let
         sha512 = "Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==";
       };
     };
+    "parse-english-4.1.1" = {
+      name = "parse-english";
+      packageName = "parse-english";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-english/-/parse-english-4.1.1.tgz";
+        sha512 = "g7hegR9AFIlGXl5645mG8nQeeWW7SrK7lgmgIWR0KKWvGyZO5mxa4GGoNxRLm6VW2LGpLnn6g4O9yyLJQ4IzQw==";
+      };
+    };
     "parse-entities-1.2.1" = {
       name = "parse-entities";
       packageName = "parse-entities";
@@ -25861,6 +26716,15 @@ let
         sha512 = "kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==";
       };
     };
+    "parse-gitignore-1.0.1" = {
+      name = "parse-gitignore";
+      packageName = "parse-gitignore";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-1.0.1.tgz";
+        sha512 = "UGyowyjtx26n65kdAMWhm6/3uy5uSrpcuH7tt+QEVudiBoVS+eqHxD5kbi9oWVRwj7sCzXqwuM+rUGw7earl6A==";
+      };
+    };
     "parse-glob-3.0.4" = {
       name = "parse-glob";
       packageName = "parse-glob";
@@ -25906,6 +26770,15 @@ let
         sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
       };
     };
+    "parse-latin-4.1.1" = {
+      name = "parse-latin";
+      packageName = "parse-latin";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-latin/-/parse-latin-4.1.1.tgz";
+        sha512 = "9fPVvDdw6G8LxL3o/PL6IzSGNGpF+3HEjCzFe0dN83sZPstftyr+McP9dNi3+EnR7ICYOHbHKCZ0l7JD90K5xQ==";
+      };
+    };
     "parse-node-version-1.0.1" = {
       name = "parse-node-version";
       packageName = "parse-node-version";
@@ -26104,6 +26977,15 @@ let
         sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
       };
     };
+    "passive-voice-0.1.0" = {
+      name = "passive-voice";
+      packageName = "passive-voice";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passive-voice/-/passive-voice-0.1.0.tgz";
+        sha1 = "16ff91ae40ba0e92c43e671763fdc842a70270b1";
+      };
+    };
     "passport-0.4.0" = {
       name = "passport";
       packageName = "passport";
@@ -26212,6 +27094,15 @@ let
         sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
       };
     };
+    "path-is-absolute-1.0.0" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz";
+        sha1 = "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912";
+      };
+    };
     "path-is-absolute-1.0.1" = {
       name = "path-is-absolute";
       packageName = "path-is-absolute";
@@ -26608,6 +27499,15 @@ let
         sha512 = "6Rtbp7criZRwedlvWbUYxqlqJoAlMvYHo2UcRWq79xZ54vZcaNHpVBOcWkX3ErT2aUA69tv+uiv4zKJbhD/Wgg==";
       };
     };
+    "pkg-conf-1.1.3" = {
+      name = "pkg-conf";
+      packageName = "pkg-conf";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-conf/-/pkg-conf-1.1.3.tgz";
+        sha1 = "378e56d6fd13e88bfb6f4a25df7a83faabddba5b";
+      };
+    };
     "pkg-dir-2.0.0" = {
       name = "pkg-dir";
       packageName = "pkg-dir";
@@ -26852,6 +27752,15 @@ let
         sha512 = "NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==";
       };
     };
+    "postcss-7.0.16" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "7.0.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-7.0.16.tgz";
+        sha512 = "MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA==";
+      };
+    };
     "postcss-calc-7.0.1" = {
       name = "postcss-calc";
       packageName = "postcss-calc";
@@ -27158,22 +28067,13 @@ let
         sha512 = "pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==";
       };
     };
-    "posthtml-0.11.3" = {
+    "posthtml-0.11.4" = {
       name = "posthtml";
       packageName = "posthtml";
-      version = "0.11.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/posthtml/-/posthtml-0.11.3.tgz";
-        sha512 = "quMHnDckt2DQ9lRi6bYLnuyBDnVzK+McHa8+ar4kTdYbWEo/92hREOu3h70ZirudOOp/my2b3r0m5YtxY52yrA==";
-      };
-    };
-    "posthtml-parser-0.3.3" = {
-      name = "posthtml-parser";
-      packageName = "posthtml-parser";
-      version = "0.3.3";
+      version = "0.11.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.3.3.tgz";
-        sha512 = "H/Z/yXGwl49A7hYQLV1iQ3h87NE0aZ/PMZhFwhw3lKeCAN+Ti4idrHvVvh4/GX10I7u77aQw+QB4vV5/Lzvv5A==";
+        url = "https://registry.npmjs.org/posthtml/-/posthtml-0.11.4.tgz";
+        sha512 = "ezlzBkoPoRgh0jkmT1dsM8eT+lr2azyZ546kbda8oHnVnzvyaB3Ywo6UxUz8wPSOkFAAflCxZJhvvpQH1F6qcA==";
       };
     };
     "posthtml-parser-0.4.1" = {
@@ -27185,13 +28085,13 @@ let
         sha512 = "h7vXIQ21Ikz2w5wPClPakNP6mJeJCK6BT0GpqnQrNNABdR7/TchNlFyryL1Bz6Ww53YWCKkr6tdZuHlxY1AVdQ==";
       };
     };
-    "posthtml-render-1.1.4" = {
+    "posthtml-render-1.1.5" = {
       name = "posthtml-render";
       packageName = "posthtml-render";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.1.4.tgz";
-        sha512 = "jL6eFIzoN3xUEvbo33OAkSDE2VIKU4JQ1wENOows1DpfnrdapR/K3Q1/fB43Mq7wQlcSgRm23nFrvoioufM7eA==";
+        url = "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.1.5.tgz";
+        sha512 = "yvt54j0zCBHQVEFAuR+yHld8CZrCa/E1Z/OcFNCV1IEWTLVxT8O7nYnM4IIw1CD4r8kaRd3lc42+0lgCKgm87w==";
       };
     };
     "prebuild-install-4.0.0" = {
@@ -27212,6 +28112,15 @@ let
         sha512 = "6uZgMVg7yDfqlP5CPurVhtq3hUKBFNufiar4J5hZrlHTo59DDBEtyxw01xCdFss9j0Zb9+qzFVf/s4niayba3w==";
       };
     };
+    "prebuild-install-5.3.0" = {
+      name = "prebuild-install";
+      packageName = "prebuild-install";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz";
+        sha512 = "aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg==";
+      };
+    };
     "precond-0.2.3" = {
       name = "precond";
       packageName = "precond";
@@ -27266,6 +28175,15 @@ let
         sha512 = "4rgV2hyc/5Pk0XHH4VjJWHRgVjgRbpMfLQjREAhHBtyW1UvTFkjJEsueGYNYYZd9mn97K+1qv0EBwm11zoaSgA==";
       };
     };
+    "prettier-1.17.0" = {
+      name = "prettier";
+      packageName = "prettier";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier/-/prettier-1.17.0.tgz";
+        sha512 = "sXe5lSt2WQlCbydGETgfm1YBShgOX4HxQkFPvbxkcwgDvGDeqVau8h+12+lmSVlP3rHPz0oavfddSZg/q+Szjw==";
+      };
+    };
     "prettier-bytes-1.0.4" = {
       name = "prettier-bytes";
       packageName = "prettier-bytes";
@@ -27275,6 +28193,24 @@ let
         sha1 = "994b02aa46f699c50b6257b5faaa7fe2557e62d6";
       };
     };
+    "prettier-eslint-8.8.2" = {
+      name = "prettier-eslint";
+      packageName = "prettier-eslint";
+      version = "8.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-8.8.2.tgz";
+        sha512 = "2UzApPuxi2yRoyMlXMazgR6UcH9DKJhNgCviIwY3ixZ9THWSSrUww5vkiZ3C48WvpFl1M1y/oU63deSy1puWEA==";
+      };
+    };
+    "pretty-format-23.6.0" = {
+      name = "pretty-format";
+      packageName = "pretty-format";
+      version = "23.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz";
+        sha512 = "zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==";
+      };
+    };
     "pretty-hash-1.0.1" = {
       name = "pretty-hash";
       packageName = "pretty-hash";
@@ -27572,6 +28508,15 @@ let
         sha1 = "0ee97a7fc020b1a2a55b8659eda4aa8d869094bd";
       };
     };
+    "property-information-5.0.1" = {
+      name = "property-information";
+      packageName = "property-information";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/property-information/-/property-information-5.0.1.tgz";
+        sha512 = "nAtBDVeSwFM3Ot/YxT7s4NqZmqXI7lLzf46BThvotEtYf2uk2yH0ACYuWQkJ7gxKs49PPtKVY0UlDGkyN9aJlw==";
+      };
+    };
     "proto-list-1.2.4" = {
       name = "proto-list";
       packageName = "proto-list";
@@ -28184,13 +29129,13 @@ let
         sha1 = "1ee5b6f76fd3b3a49a5afb6ded5c0320acb3cfc7";
       };
     };
-    "pull-stream-3.6.9" = {
+    "pull-stream-3.6.11" = {
       name = "pull-stream";
       packageName = "pull-stream";
-      version = "3.6.9";
+      version = "3.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz";
-        sha512 = "hJn4POeBrkttshdNl0AoSCVjMVSuBwuHocMerUdoZ2+oIUzrWHFTwJMlbHND7OiKLVgvz6TFj8ZUVywUMXccbw==";
+        url = "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.11.tgz";
+        sha512 = "43brwtqO0OSltctKbW1mgzzKH4TNE8egkW+Y4BFzlDWiG2Ayl7VKr4SeuoKacfgPfUWcSwcPlHsf40BEqNR32A==";
       };
     };
     "pull-stringify-2.0.0" = {
@@ -28301,6 +29246,15 @@ let
         sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
       };
     };
+    "pump-chain-1.0.0" = {
+      name = "pump-chain";
+      packageName = "pump-chain";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump-chain/-/pump-chain-1.0.0.tgz";
+        sha1 = "7d57d8d9ad8181ea808f5413c4f2bc1e786a5e37";
+      };
+    };
     "pumpify-1.5.1" = {
       name = "pumpify";
       packageName = "pumpify";
@@ -28571,6 +29525,15 @@ let
         sha512 = "b3w19IEXnt5auacLAbePVsqPyVQUwmuhJQrrWnVhm4pP8PAMg2U9vFHbAD9XYXXbMDjdLJs0x5NLqwTV8uFK4g==";
       };
     };
+    "quotation-1.1.1" = {
+      name = "quotation";
+      packageName = "quotation";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/quotation/-/quotation-1.1.1.tgz";
+        sha512 = "bjz7kEsfg6D3uMeed+VbeypnooGlX7enMnDbx0KLYEEM8J1k24jk2pc+1nyQ1sExnERz8xKXRSZ0EYNIwLM83g==";
+      };
+    };
     "quote-stream-1.0.2" = {
       name = "quote-stream";
       packageName = "quote-stream";
@@ -29066,13 +30029,13 @@ let
         sha1 = "451fd3004ab1e4df9b4e4b66376b2a21912462d3";
       };
     };
-    "recast-0.17.5" = {
+    "recast-0.17.6" = {
       name = "recast";
       packageName = "recast";
-      version = "0.17.5";
+      version = "0.17.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/recast/-/recast-0.17.5.tgz";
-        sha512 = "K+DgfAMIyEjNKjaFSWgg9TTu7wFgU/4KTyw4E9vl6M5QPDuUYbyt49Yzb0EIDbZks+6lXk/UZ9eTuE4jlLyf2A==";
+        url = "https://registry.npmjs.org/recast/-/recast-0.17.6.tgz";
+        sha512 = "yoQRMRrK1lszNtbkGyM4kN45AwylV5hMiuEveUBlxytUViWevjvX6w+tzJt1LH4cfUhWt4NZvy3ThIhu6+m5wQ==";
       };
     };
     "rechoir-0.6.2" = {
@@ -29255,13 +30218,31 @@ let
         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
-    "regexp-tree-0.1.5" = {
+    "regexp-tree-0.1.6" = {
       name = "regexp-tree";
       packageName = "regexp-tree";
-      version = "0.1.5";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.6.tgz";
+        sha512 = "LFrA98Dw/heXqDojz7qKFdygZmFoiVlvE1Zp7Cq2cvF+ZA+03Gmhy0k0PQlsC1jvHPiTUSs+pDHEuSWv6+6D7w==";
+      };
+    };
+    "regexp.prototype.flags-1.2.0" = {
+      name = "regexp.prototype.flags";
+      packageName = "regexp.prototype.flags";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz";
+        sha512 = "ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==";
+      };
+    };
+    "regexpp-1.1.0" = {
+      name = "regexpp";
+      packageName = "regexpp";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.5.tgz";
-        sha512 = "nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==";
+        url = "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz";
+        sha512 = "LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==";
       };
     };
     "regexpp-2.0.1" = {
@@ -29363,6 +30344,15 @@ let
         sha512 = "RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==";
       };
     };
+    "rehype-sort-attribute-values-1.0.1" = {
+      name = "rehype-sort-attribute-values";
+      packageName = "rehype-sort-attribute-values";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rehype-sort-attribute-values/-/rehype-sort-attribute-values-1.0.1.tgz";
+        sha512 = "ZbIbqEAqEulXFAJGkL5Ogb+oCd5sOe1Fc/DQPCqsYpOfPyioE6HomqTfDQfNL0LD5ODTZyrj2yigzfjfqJuSGQ==";
+      };
+    };
     "reinterval-1.1.0" = {
       name = "reinterval";
       packageName = "reinterval";
@@ -29408,6 +30398,15 @@ let
         sha1 = "802a38c3aa98c9e1e3ea015eeba211d27cb65e1f";
       };
     };
+    "remark-5.1.0" = {
+      name = "remark";
+      packageName = "remark";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark/-/remark-5.1.0.tgz";
+        sha1 = "cb463bd3dbcb4b99794935eee1cf71d7a8e3068c";
+      };
+    };
     "remark-frontmatter-1.3.1" = {
       name = "remark-frontmatter";
       packageName = "remark-frontmatter";
@@ -29426,6 +30425,33 @@ let
         sha1 = "592a347bdd3d5881f4f080c98b5b152fb1407a92";
       };
     };
+    "remark-message-control-4.1.1" = {
+      name = "remark-message-control";
+      packageName = "remark-message-control";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.1.1.tgz";
+        sha512 = "DojJPPeSux/U7aHCN6GUWBgp6F1EQFPUNvnk2gfuGgiMCHVubz/xAC3TkvPaf5w1F0PEGaOEpCtvxJK6O4Kmiw==";
+      };
+    };
+    "remark-parse-1.1.0" = {
+      name = "remark-parse";
+      packageName = "remark-parse";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-1.1.0.tgz";
+        sha1 = "c3ca10f9a8da04615c28f09aa4e304510526ec21";
+      };
+    };
+    "remark-parse-4.0.0" = {
+      name = "remark-parse";
+      packageName = "remark-parse";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-4.0.0.tgz";
+        sha512 = "XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==";
+      };
+    };
     "remark-parse-5.0.0" = {
       name = "remark-parse";
       packageName = "remark-parse";
@@ -29435,6 +30461,24 @@ let
         sha512 = "b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==";
       };
     };
+    "remark-retext-3.1.2" = {
+      name = "remark-retext";
+      packageName = "remark-retext";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-retext/-/remark-retext-3.1.2.tgz";
+        sha512 = "+48KzJdSXvsPupY5pj5AY7oBUSiDOqFPZBKebX5WemrMyIG+RImIt9hgeqelluVDd1kooHen33K/aybTPyoI9g==";
+      };
+    };
+    "remark-stringify-1.1.0" = {
+      name = "remark-stringify";
+      packageName = "remark-stringify";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-stringify/-/remark-stringify-1.1.0.tgz";
+        sha1 = "a7105e25b9ee2bf9a49b75d2c423f11b06ae2092";
+      };
+    };
     "remove-array-items-1.1.1" = {
       name = "remove-array-items";
       packageName = "remove-array-items";
@@ -29678,6 +30722,15 @@ let
         sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     };
+    "require-relative-0.8.7" = {
+      name = "require-relative";
+      packageName = "require-relative";
+      version = "0.8.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz";
+        sha1 = "7999539fc9e047a37928fa196f8e1563dabd36de";
+      };
+    };
     "require-uncached-1.0.3" = {
       name = "require-uncached";
       packageName = "require-uncached";
@@ -29714,13 +30767,13 @@ let
         sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
       };
     };
-    "requizzle-0.2.1" = {
+    "requizzle-0.2.2" = {
       name = "requizzle";
       packageName = "requizzle";
-      version = "0.2.1";
+      version = "0.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/requizzle/-/requizzle-0.2.1.tgz";
-        sha1 = "6943c3530c4d9a7e46f1cddd51c158fc670cdbde";
+        url = "https://registry.npmjs.org/requizzle/-/requizzle-0.2.2.tgz";
+        sha512 = "oJ6y7JcUJkblRGhMByGNcszeLgU0qDxNKFCiUZR1XyzHyVsev+Mxb1tyygxLd1ORsKee1SA5BInFdUwY64GE/A==";
       };
     };
     "resolve-1.1.7" = {
@@ -29732,13 +30785,13 @@ let
         sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
       };
     };
-    "resolve-1.10.0" = {
+    "resolve-1.10.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.10.0";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz";
-        sha512 = "3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz";
+        sha512 = "KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==";
       };
     };
     "resolve-1.7.1" = {
@@ -29759,13 +30812,13 @@ let
         sha1 = "00a9f7387556e27038eae232caa372a6a59b665a";
       };
     };
-    "resolve-dependencies-2.2.2" = {
+    "resolve-dependencies-2.2.3" = {
       name = "resolve-dependencies";
       packageName = "resolve-dependencies";
-      version = "2.2.2";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve-dependencies/-/resolve-dependencies-2.2.2.tgz";
-        sha512 = "lZARvM5mDaVOBUNam2fbaHYydBBPMlMt6jjlQYvD8D2N//SOlq6iqqFrCWsYkBGYtXgix4EAiTFuZLpt5lXQtA==";
+        url = "https://registry.npmjs.org/resolve-dependencies/-/resolve-dependencies-2.2.3.tgz";
+        sha512 = "EIZcqEE3q+fWNapzpQ2iiCPal+J7TsLfLnoeGq4h5L4GYjnf4xKzVHN7VBjLGgOJwUs/Z+a6nqA80AhwP7IPlQ==";
       };
     };
     "resolve-dir-1.0.1" = {
@@ -29921,6 +30974,33 @@ let
         sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
       };
     };
+    "retext-english-3.0.2" = {
+      name = "retext-english";
+      packageName = "retext-english";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-english/-/retext-english-3.0.2.tgz";
+        sha512 = "iWffdWUvJngqaRlE570SaYRgQbn4/QVBfGa/XseEBuBazymnyW24o37oLPY0vm+PJdLmDghnjZX0UbkZSZF0Cg==";
+      };
+    };
+    "retext-equality-3.2.0" = {
+      name = "retext-equality";
+      packageName = "retext-equality";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-equality/-/retext-equality-3.2.0.tgz";
+        sha512 = "dzcpZmEQ99ECZs1Y8WhfvJ4kEq+zfrI3ONMUFlSu8DmRJJY3p97v/2ZfVrufhrKlDr/wa902NJiIwupRnZy3/w==";
+      };
+    };
+    "retext-profanities-4.4.0" = {
+      name = "retext-profanities";
+      packageName = "retext-profanities";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-profanities/-/retext-profanities-4.4.0.tgz";
+        sha512 = "Gesb0Act9oeJ5N0KztREitP2E0zo7euzgTu2X4HLP6IJmcrRbRnqNwV11tzNy5JFJzKB1JTJFc7KseojTeGwOA==";
+      };
+    };
     "retry-0.10.1" = {
       name = "retry";
       packageName = "retry";
@@ -30155,6 +31235,15 @@ let
         sha1 = "c52a794bf0db9fad567536e41898f0c9e0a86697";
       };
     };
+    "round-to-3.0.0" = {
+      name = "round-to";
+      packageName = "round-to";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/round-to/-/round-to-3.0.0.tgz";
+        sha512 = "h8xeIC7dRHkY++BGKtXTlO/FifRJdUmW5YObBk/8X9nc/2syNXKN8qUA6OvCgmPdtYlWvDqKZOuxz/CX6dcZNg==";
+      };
+    };
     "router-0.6.2" = {
       name = "router";
       packageName = "router";
@@ -30317,13 +31406,13 @@ let
         sha512 = "JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==";
       };
     };
-    "rxjs-6.5.1" = {
+    "rxjs-6.5.2" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "6.5.1";
+      version = "6.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.1.tgz";
-        sha512 = "y0j31WJc83wPu31vS1VlAFW5JGrnGC+j+TtGAa1fRQphy48+fDYiDmX8tjGloToEsMkxnouOg/1IzXGKkJnZMg==";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz";
+        sha512 = "HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==";
       };
     };
     "s3-stream-upload-2.0.2" = {
@@ -30452,6 +31541,15 @@ let
         sha1 = "612da1c96473fa02dccda92dcd5b4ab164a6772a";
       };
     };
+    "sax-0.5.8" = {
+      name = "sax";
+      packageName = "sax";
+      version = "0.5.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
+        sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
+      };
+    };
     "sax-1.1.4" = {
       name = "sax";
       packageName = "sax";
@@ -30497,15 +31595,6 @@ let
         sha1 = "a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8";
       };
     };
-    "scrollparent-2.0.1" = {
-      name = "scrollparent";
-      packageName = "scrollparent";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/scrollparent/-/scrollparent-2.0.1.tgz";
-        sha1 = "715d5b9cc57760fb22bdccc3befb5bfe06b1a317";
-      };
-    };
     "scuid-1.1.0" = {
       name = "scuid";
       packageName = "scuid";
@@ -30524,13 +31613,13 @@ let
         sha1 = "033d60a3ad20ecf2e00940d14f97823465774335";
       };
     };
-    "secret-handshake-1.1.16" = {
+    "secret-handshake-1.1.18" = {
       name = "secret-handshake";
       packageName = "secret-handshake";
-      version = "1.1.16";
+      version = "1.1.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/secret-handshake/-/secret-handshake-1.1.16.tgz";
-        sha512 = "iJgGEykTXa8772vmYMGM20jYifTV7lg96bFeitGjly99aIEkIKHkiJWb+3KZ98dg4gwtF/6L+XhL/76iBgKhpA==";
+        url = "https://registry.npmjs.org/secret-handshake/-/secret-handshake-1.1.18.tgz";
+        sha512 = "uP8s0ALmbJtjLEShGnJ5HHJSM1+TT8hbUme2/H2grw+WbiofSG6kr6AK1HHOmSublCVNFwfggjnWZXnEPTvIwQ==";
       };
     };
     "secret-stack-5.1.1" = {
@@ -30641,6 +31730,15 @@ let
         sha512 = "WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==";
       };
     };
+    "semver-5.5.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz";
+        sha512 = "4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==";
+      };
+    };
     "semver-5.5.1" = {
       name = "semver";
       packageName = "semver";
@@ -30794,6 +31892,15 @@ let
         sha512 = "E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==";
       };
     };
+    "send-0.17.0" = {
+      name = "send";
+      packageName = "send";
+      version = "0.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.17.0.tgz";
+        sha512 = "NYR0jCuwnBaGA2X5bO3+QDZmmJ+PUCvFCRTED5nx9l/BK3Pr8mD8Ryvk9bw08JJUdXxt2u+tVIGoqJPrHWGqSA==";
+      };
+    };
     "sentence-case-2.1.1" = {
       name = "sentence-case";
       packageName = "sentence-case";
@@ -30803,6 +31910,24 @@ let
         sha1 = "1f6e2dda39c168bf92d13f86d4a918933f667ed4";
       };
     };
+    "sentence-splitter-2.3.2" = {
+      name = "sentence-splitter";
+      packageName = "sentence-splitter";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-2.3.2.tgz";
+        sha512 = "QnpHNykm4nI4T6mT+NoVayh9Ixl5DohYCSVqMgPJsO2WejOcqaYTh4HQOkmzaDzXH3NO5pif4z/hpo2NGtgNlg==";
+      };
+    };
+    "sentence-splitter-3.0.11" = {
+      name = "sentence-splitter";
+      packageName = "sentence-splitter";
+      version = "3.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sentence-splitter/-/sentence-splitter-3.0.11.tgz";
+        sha512 = "8k/74ErjpdvgBVLQ7kI7jbbaqNdgMXVqMF8gWlJan25xfm1mg8cYmHQgMb+zx8xyocm1Dq46af4TpmnKWHr/yA==";
+      };
+    };
     "sentiment-2.1.0" = {
       name = "sentiment";
       packageName = "sentiment";
@@ -30920,6 +32045,15 @@ let
         sha512 = "p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==";
       };
     };
+    "serve-static-1.14.0" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.0.tgz";
+        sha512 = "Kg15ayeXWLhAE5T9adD3xGcEHchIZsDUExIIfSTOzg6kgmIa86NP8NpuOAYKLbPEYU1OQ+KCQrtKh8AG3h7KAQ==";
+      };
+    };
     "serve-static-1.8.1" = {
       name = "serve-static";
       packageName = "serve-static";
@@ -30938,6 +32072,15 @@ let
         sha1 = "f13bf928e42b9c3e79383e61cc3998b5d14e6cdd";
       };
     };
+    "set-blocking-1.0.0" = {
+      name = "set-blocking";
+      packageName = "set-blocking";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-1.0.0.tgz";
+        sha1 = "cd5e5d938048df1ac92dfe92e1f16add656f5ec5";
+      };
+    };
     "set-blocking-2.0.0" = {
       name = "set-blocking";
       packageName = "set-blocking";
@@ -31235,13 +32378,13 @@ let
         sha512 = "Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==";
       };
     };
-    "simple-git-1.110.0" = {
+    "simple-git-1.113.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.110.0";
+      version = "1.113.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.110.0.tgz";
-        sha512 = "UYY0rQkknk0P5eb+KW+03F4TevZ9ou0H+LoGaj7iiVgpnZH4wdj/HTViy/1tNNkmIPcmtxuBqXWiYt2YwlRKOQ==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.113.0.tgz";
+        sha512 = "i9WVsrK2u0G/cASI9nh7voxOk9mhanWY9eGtWBDSYql6m49Yk5/Fan6uZsDr/xmzv8n+eQ8ahKCoEr8cvU3h+g==";
       };
     };
     "simple-markdown-0.4.4" = {
@@ -31424,6 +32567,15 @@ let
         sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
       };
     };
+    "sliced-1.0.1" = {
+      name = "sliced";
+      packageName = "sliced";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz";
+        sha1 = "0b3a662b5d04c3177b1926bea82b03f837a2ef41";
+      };
+    };
     "slide-1.1.6" = {
       name = "slide";
       packageName = "slide";
@@ -31550,13 +32702,13 @@ let
         sha512 = "eCsFKHHE4J2DpD/1NzAtCmkmVDK310OXRtmoW0RlLnld1ESprJ5A/QRJ5Zxx1JbA8gjuwERY5vfUFA8lEJeopA==";
       };
     };
-    "snyk-docker-plugin-1.22.1" = {
+    "snyk-docker-plugin-1.24.1" = {
       name = "snyk-docker-plugin";
       packageName = "snyk-docker-plugin";
-      version = "1.22.1";
+      version = "1.24.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-1.22.1.tgz";
-        sha512 = "4Qj+Fn9uCD7ydl60soVFfDG27ghZ6sCIiVPs5Wr62zgzbpnKCNF2MzXtxmsbZA1QRLKH2YxbJTog1Rvu013akA==";
+        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-1.24.1.tgz";
+        sha512 = "Y130BbrZ5hEPhjR1s57n5m1kNnlh4ydA000nPY4HvXylAX3JWQZR3/HFJ6nCKLes/z1cH19EsSdBNw7+r/N2ag==";
       };
     };
     "snyk-go-parser-1.0.2" = {
@@ -31568,22 +32720,22 @@ let
         sha512 = "vQfrPecK3j5JYwEI5lO0Gsy+QvFN2dHusGecmiXYpQPiyn1QLnYFTBxFIu94buxlxdKtujYkR/lA4dB82LJ8Lw==";
       };
     };
-    "snyk-go-plugin-1.7.0" = {
+    "snyk-go-plugin-1.7.1" = {
       name = "snyk-go-plugin";
       packageName = "snyk-go-plugin";
-      version = "1.7.0";
+      version = "1.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.7.0.tgz";
-        sha512 = "4gGWFiilx3BINIqVau/GGhyOin5Vf0qzL5VYKV3FeZdJ22RBxqO3+NjRwsOzDJdIEgixp+NGV2hnuSKQCGsr9A==";
+        url = "https://registry.npmjs.org/snyk-go-plugin/-/snyk-go-plugin-1.7.1.tgz";
+        sha512 = "jtsK4V/pOiUMfTjM2ASFb2D4u/xOF3zqOteqbtK6N64o0ndQf5D8SMkIRB0APJV5ZjqhPDHzItRyKRtscSkx4Q==";
       };
     };
-    "snyk-gradle-plugin-2.7.1" = {
+    "snyk-gradle-plugin-2.10.1" = {
       name = "snyk-gradle-plugin";
       packageName = "snyk-gradle-plugin";
-      version = "2.7.1";
+      version = "2.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-2.7.1.tgz";
-        sha512 = "Is/I1r4Hy24rFhEZejcBvXyF6pfNtIpfr7jGcPaP4Riqe4yE6TNYnEFNcc02UUcAvI6S/EyOSH6XyJLFSnAugg==";
+        url = "https://registry.npmjs.org/snyk-gradle-plugin/-/snyk-gradle-plugin-2.10.1.tgz";
+        sha512 = "Jl+KSs5aUXO1qSs3kJ2k5RZP4tpDWFbqfo9s2YmRmL56uBzqS0DwwuCrbQvAw9T+7rgnhh6L+W7CjuTDmjwJww==";
       };
     };
     "snyk-module-1.9.1" = {
@@ -31595,13 +32747,13 @@ let
         sha512 = "A+CCyBSa4IKok5uEhqT+hV/35RO6APFNLqk9DRRHg7xW2/j//nPX8wTSZUPF8QeRNEk/sX+6df7M1y6PBHGSHA==";
       };
     };
-    "snyk-mvn-plugin-2.0.1" = {
+    "snyk-mvn-plugin-2.3.0" = {
       name = "snyk-mvn-plugin";
       packageName = "snyk-mvn-plugin";
-      version = "2.0.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.0.1.tgz";
-        sha512 = "TBrdcFXHdYuRYFCvpyUeFC+mCi6SOV3vdxgHrP7JRNnJwO8PYaKCObLJyhpRWa8IaHv/8CjJTmnEbWIh7BPHAA==";
+        url = "https://registry.npmjs.org/snyk-mvn-plugin/-/snyk-mvn-plugin-2.3.0.tgz";
+        sha512 = "LOSiJu+XUPVqKCXcnQPLhlyTGm3ikDwjvYw5fpiEnvjMWkMDd8IfzZqulqreebJDmadUpP7Cn0fabfx7TszqxA==";
       };
     };
     "snyk-nodejs-lockfile-parser-1.13.0" = {
@@ -31613,13 +32765,13 @@ let
         sha512 = "fC1o9SJ+iM+IYeBUYtvCIYh005WAvWMzqhEH3hI4zGPdCYQqGYIfVpXf29aCOKoorkTR345k5g6Etx54+BbrTQ==";
       };
     };
-    "snyk-nuget-plugin-1.9.2" = {
+    "snyk-nuget-plugin-1.10.0" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.9.2";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.9.2.tgz";
-        sha512 = "62muXgrn3oSSMsWT7foBQDqKBFgbXc4XIrZDmzFE0lyuchDYGLM14BO5erAMUbbc/xffXyQaAHi8d1R8LGvf5Q==";
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.10.0.tgz";
+        sha512 = "V69AIWcHw4KrgEFC8kNWoqHo54wZkWGfqyVv+kJjQxARWYmQqV4YL/vxfLAoZ7mDsNXgjPn5M4ZEaeHFCeWcyA==";
       };
     };
     "snyk-paket-parser-1.4.3" = {
@@ -31631,13 +32783,13 @@ let
         sha512 = "6m736zGVoeT/zS9KEtlmqTSPEPjAfLe8iYoQ3AwbyxDhzuLY49lTaV67MyZtGwjhi1x4KBe+XOgeWwyf6Avf/A==";
       };
     };
-    "snyk-php-plugin-1.5.2" = {
+    "snyk-php-plugin-1.5.3" = {
       name = "snyk-php-plugin";
       packageName = "snyk-php-plugin";
-      version = "1.5.2";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.5.2.tgz";
-        sha512 = "s/s9s7mslHjLnzin2BNLGdy/s6tNBfJ4/T/d9JBjsjIwdJFaUKY/ciWwBLNaWt2Aqtyr3DiUcqg3j/pwTKhEDg==";
+        url = "https://registry.npmjs.org/snyk-php-plugin/-/snyk-php-plugin-1.5.3.tgz";
+        sha512 = "iZB3UpleLbeOL1D1bNLMFfh5hSflbQnepxmtXxXSD3S+euAhqJTZz/26QrsUIAtLQ2eHl3LfAXGTp6131tWyGw==";
       };
     };
     "snyk-policy-1.13.5" = {
@@ -31649,13 +32801,13 @@ let
         sha512 = "KI6GHt+Oj4fYKiCp7duhseUj5YhyL/zJOrrJg0u6r59Ux9w8gmkUYT92FHW27ihwuT6IPzdGNEuy06Yv2C9WaQ==";
       };
     };
-    "snyk-python-plugin-1.9.2" = {
+    "snyk-python-plugin-1.10.0" = {
       name = "snyk-python-plugin";
       packageName = "snyk-python-plugin";
-      version = "1.9.2";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.9.2.tgz";
-        sha512 = "Gx5UnADHCxdSfblrbhZV/tbTYTfdkLxS2/TV1KSHiIIlsaAkpuznDKg/6/kT1Qe/AKKlD1h4HqR/fhrNZWrxQw==";
+        url = "https://registry.npmjs.org/snyk-python-plugin/-/snyk-python-plugin-1.10.0.tgz";
+        sha512 = "U88Om9HxKxRp6EQ3Mn/iySr60ozjxzVaui+/Vmv6tcXqAEotstW/q24EBC3wmnRyAxzfZ7qTMQ+6XJxnYSKa2w==";
       };
     };
     "snyk-resolve-1.0.1" = {
@@ -31928,13 +33080,13 @@ let
         sha512 = "UMmCHovws/sxIBZsIRhIl8uRPou/RFDD0vVop81T1hG106NLLgqajKKuHAOtAP6hflnZ0UrVA2VFwddTd/NQyA==";
       };
     };
-    "sodium-native-2.3.0" = {
+    "sodium-native-2.4.2" = {
       name = "sodium-native";
       packageName = "sodium-native";
-      version = "2.3.0";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-2.3.0.tgz";
-        sha512 = "TYId1m2iLXXot2Q3KA6u8Ti9pmL24T2cm8nb9OUGFFmTxdw4I+vnkjcPVA4LT1acw+A86iJkEn+8iV51jcTWUg==";
+        url = "https://registry.npmjs.org/sodium-native/-/sodium-native-2.4.2.tgz";
+        sha512 = "qwHcUnzFpRSGSm6F49j/h5SnxPFBgSNdDwZkAqjvuAoHQIVBFOXYb+oCUTJV80K5hRqSYCihpbX06vbrtPbilg==";
       };
     };
     "sodium-universal-2.0.0" = {
@@ -32054,6 +33206,15 @@ let
         sha1 = "9f704d0d69d9e138a81badf6ebb4fde33d151c61";
       };
     };
+    "source-map-0.1.43" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.1.43";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
+        sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+      };
+    };
     "source-map-0.4.4" = {
       name = "source-map";
       packageName = "source-map";
@@ -32162,6 +33323,15 @@ let
         sha512 = "CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==";
       };
     };
+    "space-separated-tokens-1.1.3" = {
+      name = "space-separated-tokens";
+      packageName = "space-separated-tokens";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.3.tgz";
+        sha512 = "/M5RAdBuQlSDPNfA5ube+fkHbHyY08pMuADLmsAQURzo56w90r681oiOoz3o3ZQyWdSeNucpTFjL+Ggd5qui3w==";
+      };
+    };
     "spark-md5-1.0.1" = {
       name = "spark-md5";
       packageName = "spark-md5";
@@ -32207,6 +33377,15 @@ let
         sha1 = "b00799557eb7fb0c8376c29d44e8a1ea67e57476";
       };
     };
+    "spawn-to-readstream-0.1.3" = {
+      name = "spawn-to-readstream";
+      packageName = "spawn-to-readstream";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spawn-to-readstream/-/spawn-to-readstream-0.1.3.tgz";
+        sha1 = "96768b72739ac64ffa77c8ce2cbf98c2d21d8dbf";
+      };
+    };
     "spdx-correct-3.1.0" = {
       name = "spdx-correct";
       packageName = "spdx-correct";
@@ -32270,6 +33449,24 @@ let
         sha512 = "z/wAiTESw2XVPssY2XRcme4niTc4S5FkkJ4gknudtVoc33Zil8TdTxHy5torRcgqMqksJV2Yz8HQcvtbsnw0mQ==";
       };
     };
+    "speedtest-net-1.5.1" = {
+      name = "speedtest-net";
+      packageName = "speedtest-net";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/speedtest-net/-/speedtest-net-1.5.1.tgz";
+        sha512 = "az10ue3vkUUt49p5ommRO5eKXB5GfzyLehWCNRUnO686GjtdXJcSJFPnluc93UdoWTtWbr4fCVeH9Kka1OpHIA==";
+      };
+    };
+    "split-0.2.10" = {
+      name = "split";
+      packageName = "split";
+      version = "0.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split/-/split-0.2.10.tgz";
+        sha1 = "67097c601d697ce1368f418f06cd201cf0521a57";
+      };
+    };
     "split-0.3.3" = {
       name = "split";
       packageName = "split";
@@ -32297,6 +33494,15 @@ let
         sha1 = "b7e8e0ab51345158b72c1f6dbef2406d51f1d027";
       };
     };
+    "split-lines-2.0.0" = {
+      name = "split-lines";
+      packageName = "split-lines";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-lines/-/split-lines-2.0.0.tgz";
+        sha512 = "gaIdhbqxkB5/VflPXsJwZvEzh/kdwiRPF9iqpkxX4us+lzB8INedFwjCyo6vwuz5x2Ddlnav2zh270CEjCG8mA==";
+      };
+    };
     "split-skip-0.0.1" = {
       name = "split-skip";
       packageName = "split-skip";
@@ -32324,6 +33530,24 @@ let
         sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
       };
     };
+    "split-string-words-1.0.0" = {
+      name = "split-string-words";
+      packageName = "split-string-words";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-string-words/-/split-string-words-1.0.0.tgz";
+        sha1 = "a5e1c7bc96499d3caa000a81d074f32774027ddd";
+      };
+    };
+    "split-transform-stream-0.1.1" = {
+      name = "split-transform-stream";
+      packageName = "split-transform-stream";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-transform-stream/-/split-transform-stream-0.1.1.tgz";
+        sha1 = "825236a78d52a18ff912a631ad3034c15ded5fe3";
+      };
+    };
     "split2-2.2.0" = {
       name = "split2";
       packageName = "split2";
@@ -32369,13 +33593,13 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sqlite3-4.0.6" = {
+    "sqlite3-4.0.7" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "4.0.6";
+      version = "4.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.0.6.tgz";
-        sha512 = "EqBXxHdKiwvNMRCgml86VTL5TK1i0IKiumnfxykX0gh6H6jaKijAXvE9O1N7+omfNSawR2fOmIyJZcfe8HYWpw==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.0.7.tgz";
+        sha512 = "TGEeSBB8O48bEu8KUUMqzeB22WrfTxzhIf0lFm8wLTo3a6yJBonF2sPKMYrYtOne1F1t9AHAEn+DTISq8WebQg==";
       };
     };
     "srt2vtt-1.3.1" = {
@@ -32405,13 +33629,13 @@ let
         sha512 = "6T0jy3Im7sJg2BlX/OKJ4qCvtOMM9Xo3TMd3FrMuAtC+qMob/S6XT5001Its0vWc6/1Thhw4o31F7lT1s7QQKw==";
       };
     };
-    "ssb-client-4.7.2" = {
+    "ssb-client-4.7.4" = {
       name = "ssb-client";
       packageName = "ssb-client";
-      version = "4.7.2";
+      version = "4.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-client/-/ssb-client-4.7.2.tgz";
-        sha512 = "sZPs/i5Zm8f3faJDbYYpBlxocIYi8VR4KksQrHbncYCnCo1n4diBmLx76dNRC3p0rpyqgkX38gMcEVIYe4dYZw==";
+        url = "https://registry.npmjs.org/ssb-client/-/ssb-client-4.7.4.tgz";
+        sha512 = "//zHVdTZ4RTFPl1izXGu6vlinwPhTwio8oJHJ4Zix3AI9L8k6K+Jau9jVwltT1lBfQJmeUIWj7f9X9s8nvOiew==";
       };
     };
     "ssb-config-2.3.9" = {
@@ -32432,13 +33656,13 @@ let
         sha512 = "/4nFP7yj1JD5jrwX9bHG2nipBefl++xXXbNWD14eL+Ohs3X8kdmJeBKnHgiIF7Je4HQOI31OmEIdyyLKum5niQ==";
       };
     };
-    "ssb-ebt-5.6.3" = {
+    "ssb-ebt-5.6.4" = {
       name = "ssb-ebt";
       packageName = "ssb-ebt";
-      version = "5.6.3";
+      version = "5.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-ebt/-/ssb-ebt-5.6.3.tgz";
-        sha512 = "17olprA/zAm6yevoAgNjyl0JpUvZm7pDQm6m5A4zgqroMFG6v1WJkvzIhBMQZdgXkDShe8Ehwl4NBjNmH3lQVw==";
+        url = "https://registry.npmjs.org/ssb-ebt/-/ssb-ebt-5.6.4.tgz";
+        sha512 = "ZNqOECzKyFBJW15N8Fl4iY7MGvb1ZTBxBVjcrQy7NydJn8sbHpC7PUU3QnnNgECwzoEWkuxzkn04GHJHJypo3g==";
       };
     };
     "ssb-friends-3.1.13" = {
@@ -32477,22 +33701,22 @@ let
         sha1 = "9e857d170dff152c53a273eb9004a0a914a106e5";
       };
     };
-    "ssb-keys-7.1.5" = {
+    "ssb-keys-7.1.6" = {
       name = "ssb-keys";
       packageName = "ssb-keys";
-      version = "7.1.5";
+      version = "7.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-7.1.5.tgz";
-        sha512 = "GQ7cgTFROOrQpHjmZdeIrVO15+KImjTCCdM4IaJCAMgEybaXl53wEi2guPqYAskqBggWxYG0VNwXT45JI9nXiA==";
+        url = "https://registry.npmjs.org/ssb-keys/-/ssb-keys-7.1.6.tgz";
+        sha512 = "DCl6BTz7zy7fElWgok1aBvYBfe6aUzafW1Q7z5WkpgdT8H90oqXe2l5DyTd7k77yyg82uDSjPOKfPAE9eBqfug==";
       };
     };
-    "ssb-links-3.0.4" = {
+    "ssb-links-3.0.6" = {
       name = "ssb-links";
       packageName = "ssb-links";
-      version = "3.0.4";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-links/-/ssb-links-3.0.4.tgz";
-        sha512 = "npTjUeg+qH8NgnZqKsRSe5kLCu2KYQs9vxtckBph8Z5/VJX+RAG5a5FlLEOLWv4h//BICe4L7Rpvbxol+39jhQ==";
+        url = "https://registry.npmjs.org/ssb-links/-/ssb-links-3.0.6.tgz";
+        sha512 = "X+Hhj9E1PoGS5fQMBsUMgbULLI+e93kQTrygKs9EL9nUeIOOpMelQ1XDdBUIgP40qHK8esAVVES6dWmba15TfA==";
       };
     };
     "ssb-marked-0.5.4" = {
@@ -32684,6 +33908,15 @@ let
         sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
       };
     };
+    "stampit-1.2.0" = {
+      name = "stampit";
+      packageName = "stampit";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stampit/-/stampit-1.2.0.tgz";
+        sha1 = "51f9c6a08c146473fcd021af551c9f32ed5c7b9d";
+      };
+    };
     "stat-mode-0.2.2" = {
       name = "stat-mode";
       packageName = "stat-mode";
@@ -32693,13 +33926,13 @@ let
         sha1 = "e6c80b623123d7d80cf132ce538f346289072502";
       };
     };
-    "state-toggle-1.0.1" = {
+    "state-toggle-1.0.2" = {
       name = "state-toggle";
       packageName = "state-toggle";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz";
-        sha512 = "Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==";
+        url = "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz";
+        sha512 = "8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==";
       };
     };
     "static-eval-2.0.2" = {
@@ -33062,13 +34295,13 @@ let
         sha1 = "5ea211cd92d228e184294990a6cc97b366a77cb0";
       };
     };
-    "string-kit-0.9.3" = {
+    "string-kit-0.9.4" = {
       name = "string-kit";
       packageName = "string-kit";
-      version = "0.9.3";
+      version = "0.9.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string-kit/-/string-kit-0.9.3.tgz";
-        sha512 = "FlUfMA5VPS6ujLjuD49ScLgywiMfDyrZ+bkBYbM0UEvB+eAqtFFXIANEaeV4XkLnr2w1k3ttYCfCXLiKlcJQfQ==";
+        url = "https://registry.npmjs.org/string-kit/-/string-kit-0.9.4.tgz";
+        sha512 = "B/NRR/m4Lb/DCUGgFqEGx1v6qo/5NQphxgasd+cSm1/pT++V+qb8MkMz81hmtaeh0lkxdxeiL9sCaDXh8MZwUw==";
       };
     };
     "string-length-2.0.0" = {
@@ -33413,6 +34646,15 @@ let
         sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
       };
     };
+    "strip-json-comments-3.0.1" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz";
+        sha512 = "VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==";
+      };
+    };
     "strip-outer-1.0.1" = {
       name = "strip-outer";
       packageName = "strip-outer";
@@ -33467,6 +34709,33 @@ let
         sha512 = "7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==";
       };
     };
+    "stylint-1.5.9" = {
+      name = "stylint";
+      packageName = "stylint";
+      version = "1.5.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stylint/-/stylint-1.5.9.tgz";
+        sha1 = "29f4dc129fa1ca22150cd867223cee2bed5ff6a2";
+      };
+    };
+    "stylus-0.54.5" = {
+      name = "stylus";
+      packageName = "stylus";
+      version = "0.54.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz";
+        sha1 = "42b9560931ca7090ce8515a798ba9e6aa3d6dc79";
+      };
+    };
+    "stylus-supremacy-2.12.7" = {
+      name = "stylus-supremacy";
+      packageName = "stylus-supremacy";
+      version = "2.12.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stylus-supremacy/-/stylus-supremacy-2.12.7.tgz";
+        sha512 = "Z5P0XttU45C+s1F360Bn9pd/5rZrct28NTfhKnrXC33Y7KDWwJCYHvT8Ypwie6Huxnt9W1ffCjBbkZYlk9yXYw==";
+      };
+    };
     "subarg-1.0.0" = {
       name = "subarg";
       packageName = "subarg";
@@ -33611,6 +34880,15 @@ let
         sha512 = "Ts0Mu/A1S1aZxEJNG88I4Oc9rcZSBFNac5e27yh4j2mqbhZSSzR1Ah79EYwSn9Zuh7lrlGD2cVGzw1RKGzyLSg==";
       };
     };
+    "supports-color-4.5.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz";
+        sha1 = "be7a0de484dec5c5cddf8b3d59125044912f635b";
+      };
+    };
     "supports-color-5.5.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -33710,6 +34988,15 @@ let
         sha1 = "c39203a4587385fad3c850a0bd1bcafa081974e3";
       };
     };
+    "symbol-0.2.3" = {
+      name = "symbol";
+      packageName = "symbol";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz";
+        sha1 = "3b9873b8a901e47c6efe21526a3ac372ef28bbc7";
+      };
+    };
     "symbol-observable-1.0.1" = {
       name = "symbol-observable";
       packageName = "symbol-observable";
@@ -33773,13 +35060,22 @@ let
         sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
       };
     };
-    "table-5.2.3" = {
+    "table-4.0.2" = {
+      name = "table";
+      packageName = "table";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/table/-/table-4.0.2.tgz";
+        sha512 = "UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==";
+      };
+    };
+    "table-5.3.2" = {
       name = "table";
       packageName = "table";
-      version = "5.2.3";
+      version = "5.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-5.2.3.tgz";
-        sha512 = "N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==";
+        url = "https://registry.npmjs.org/table/-/table-5.3.2.tgz";
+        sha512 = "gDBrfla2z1JiBio5BE7nudwkjTjPOTduCzJC94fc1JjnuzI+tUsMiDskxFQCskxAtMB2c/ZwD6R2lg65zCptdQ==";
       };
     };
     "table-layout-0.4.4" = {
@@ -34044,6 +35340,15 @@ let
         sha1 = "6b0446856a9b1114d1856ffcbe509cccb0977265";
       };
     };
+    "tempy-0.2.1" = {
+      name = "tempy";
+      packageName = "tempy";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tempy/-/tempy-0.2.1.tgz";
+        sha512 = "LB83o9bfZGrntdqPuRdanIVCPReam9SOZKW0fOy5I9X3A854GGWi0tjCqoXEk84XIEYBc/x9Hq3EFop/H5wJaw==";
+      };
+    };
     "term-size-1.2.0" = {
       name = "term-size";
       packageName = "term-size";
@@ -34116,6 +35421,33 @@ let
         sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
       };
     };
+    "textlint-rule-helper-1.2.0" = {
+      name = "textlint-rule-helper";
+      packageName = "textlint-rule-helper";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-1.2.0.tgz";
+        sha1 = "be68d47a5146b16dd116278c9aeb7bd35631ccda";
+      };
+    };
+    "textlint-rule-helper-2.1.1" = {
+      name = "textlint-rule-helper";
+      packageName = "textlint-rule-helper";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.1.1.tgz";
+        sha512 = "6fxgHzoJVkjl3LaC1b2Egi+5wbhG4i0pU0knJmQujVhxIJ3D3AcQQZPs457xKAi5xKz1WayYeTeJ5jrD/hnO7g==";
+      };
+    };
+    "textlint-util-to-string-1.2.1" = {
+      name = "textlint-util-to-string";
+      packageName = "textlint-util-to-string";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/textlint-util-to-string/-/textlint-util-to-string-1.2.1.tgz";
+        sha1 = "1cf89956d27555a55e9588c06b35a50f0d1d46f9";
+      };
+    };
     "then-fs-2.0.0" = {
       name = "then-fs";
       packageName = "then-fs";
@@ -34206,6 +35538,15 @@ let
         sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
       };
     };
+    "through2-0.4.2" = {
+      name = "through2";
+      packageName = "through2";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz";
+        sha1 = "dbf5866031151ec8352bb6c4db64a2292a840b9b";
+      };
+    };
     "through2-0.6.5" = {
       name = "through2";
       packageName = "through2";
@@ -34467,13 +35808,13 @@ let
         sha512 = "NQPUaywaVC2hzWkBBsTX3sV2XfxU0mc409rJyrA7iCu5DSTjMLUqI+U4KJVSy/Ltp0zgbWMWua471R7zMql9Pw==";
       };
     };
-    "tmp-promise-1.0.5" = {
+    "tmp-promise-1.1.0" = {
       name = "tmp-promise";
       packageName = "tmp-promise";
-      version = "1.0.5";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.0.5.tgz";
-        sha512 = "hOabTz9Tp49wCozFwuJe5ISrOqkECm6kzw66XTP23DuzNU7QS/KiZq5LC9Y7QSy8f1rPSLy4bKaViP0OwGI1cA==";
+        url = "https://registry.npmjs.org/tmp-promise/-/tmp-promise-1.1.0.tgz";
+        sha512 = "8+Ah9aB1IRXCnIOxXZ0uFozV1nMU5xiu7hhFVUSxZ3bYu+psD4TzagCzVbexUCgNNGJnsmNDQlS4nG3mTyoNkw==";
       };
     };
     "tmpl-1.0.4" = {
@@ -34638,6 +35979,33 @@ let
         sha1 = "88defecd43adb2ef598625f0e3d59f7f342941ba";
       };
     };
+    "to-vfile-2.2.0" = {
+      name = "to-vfile";
+      packageName = "to-vfile";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-vfile/-/to-vfile-2.2.0.tgz";
+        sha512 = "saGC8/lWdGrEoBMLUtgzhRHWAkQMP8gdldA3MOAUhBwTGEb1RSMVcflHGSx4ZJsdEZ9o1qDBCPp47LCPrbZWow==";
+      };
+    };
+    "to-vfile-4.0.0" = {
+      name = "to-vfile";
+      packageName = "to-vfile";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-vfile/-/to-vfile-4.0.0.tgz";
+        sha512 = "Y7EDM+uoU8TZxF5ej2mUR0dLO4qbuuNRnJKxEht2QJWEq2421pyG1D1x8YxPKmyTc6nHh7Td/jLGFxYo+9vkLA==";
+      };
+    };
+    "to-vfile-5.0.2" = {
+      name = "to-vfile";
+      packageName = "to-vfile";
+      version = "5.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-vfile/-/to-vfile-5.0.2.tgz";
+        sha512 = "Gp2q0HCUR+4At6c6mvFKug75NP/8Cu5r7ONvEcJJPBGiDT4HeLBrRnPKJbOe84nHJqYhIah2y367Tr2+IUkwMA==";
+      };
+    };
     "toidentifier-1.0.0" = {
       name = "toidentifier";
       packageName = "toidentifier";
@@ -34674,6 +36042,24 @@ let
         sha512 = "y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==";
       };
     };
+    "too-wordy-0.1.6" = {
+      name = "too-wordy";
+      packageName = "too-wordy";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/too-wordy/-/too-wordy-0.1.6.tgz";
+        sha512 = "MV5F74YF9+UYsvwXGXTh+5YP3EqH/ivwWfyFE2/YHWQQxm9jDPmkIC23nkN133Ye4nO3HTXmiMcfGqJ5xRPfOA==";
+      };
+    };
+    "too-wordy-0.2.2" = {
+      name = "too-wordy";
+      packageName = "too-wordy";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/too-wordy/-/too-wordy-0.2.2.tgz";
+        sha512 = "ePZfjs1ajL4b8jT4MeVId+9Ci5hJCzAtNIEXIHyFYmKmQuX+eHC/RNv6tuLMUhrGrhJ+sYWW/lBF/LKILHGZEA==";
+      };
+    };
     "topo-3.0.3" = {
       name = "topo";
       packageName = "topo";
@@ -34863,6 +36249,24 @@ let
         sha512 = "7mV4KbsLMuA6ths3J1wpVUj2PLmLdoNEGnP9fm3kxef4UXYC/A0rL5gKsqtkUaCMuRYUMORyioy8IpBWUBQ1Ig==";
       };
     };
+    "tree-sitter-0.13.23" = {
+      name = "tree-sitter";
+      packageName = "tree-sitter";
+      version = "0.13.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.13.23.tgz";
+        sha512 = "75AiPbMEstv+YK8h4FkAHnmAJ6nNIUj/NFzRvKCHovmwSEKMi8Wc/E/crB4lJnHBOfV/f/DMQjN+e1Y36kagug==";
+      };
+    };
+    "tree-sitter-bash-0.13.9" = {
+      name = "tree-sitter-bash";
+      packageName = "tree-sitter-bash";
+      version = "0.13.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tree-sitter-bash/-/tree-sitter-bash-0.13.9.tgz";
+        sha512 = "b0L+QLS2eeIVrHnnbkFlvO1nElhPwqTxLIwyTeJytPYT0TS50Pe7bP+uPi3gkHT1YajxcauCxX1aDWDiZK1h5Q==";
+      };
+    };
     "trim-0.0.1" = {
       name = "trim";
       packageName = "trim";
@@ -34872,13 +36276,13 @@ let
         sha1 = "5858547f6b290757ee95cccc666fb50084c460dd";
       };
     };
-    "trim-lines-1.1.1" = {
+    "trim-lines-1.1.2" = {
       name = "trim-lines";
       packageName = "trim-lines";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.1.tgz";
-        sha512 = "X+eloHbgJGxczUk1WSjIvn7aC9oN3jVE3rQfRVKcgpavi3jxtCn0VVKtjOBj64Yop96UYn/ujJRpTbCdAF1vyg==";
+        url = "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.2.tgz";
+        sha512 = "3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ==";
       };
     };
     "trim-newlines-1.0.0" = {
@@ -35079,6 +36483,15 @@ let
         sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
       };
     };
+    "turndown-4.0.2" = {
+      name = "turndown";
+      packageName = "turndown";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/turndown/-/turndown-4.0.2.tgz";
+        sha512 = "pqZ6WrHFGnxXC9q2xJ3Qa7EoLAwrojgFRajWZjxTKwbz9vnNnyi8lLjiD5h86UTPOcMlEyHjm6NMhjEDdlc25A==";
+      };
+    };
     "tweetnacl-0.14.5" = {
       name = "tweetnacl";
       packageName = "tweetnacl";
@@ -35106,13 +36519,13 @@ let
         sha1 = "b75bc2df15649bb84e8b9aa3c0669c6c4bce0d25";
       };
     };
-    "twig-1.13.2" = {
+    "twig-1.13.3" = {
       name = "twig";
       packageName = "twig";
-      version = "1.13.2";
+      version = "1.13.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/twig/-/twig-1.13.2.tgz";
-        sha512 = "F7o4sDD2DaIj2II8VrbmDXnompOO6ESNQSh97rtJuif00v5FoUWTlkJE1ZlfeFNAwSCU9rexWsB1+3oF8jmU/Q==";
+        url = "https://registry.npmjs.org/twig/-/twig-1.13.3.tgz";
+        sha512 = "Kjart2102Kf0IdsEmLonSJKcByU7o9uiJhBde3GhrNHrX4XenT5WSKu4Hpkx+rF6Kyppeyd48BKsCREIOPXd/g==";
       };
     };
     "twitter-ng-0.6.2" = {
@@ -35124,6 +36537,15 @@ let
         sha1 = "13707115dd04c9bd1f2c646da976589be4d64bc4";
       };
     };
+    "txt-to-ast-3.0.3" = {
+      name = "txt-to-ast";
+      packageName = "txt-to-ast";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/txt-to-ast/-/txt-to-ast-3.0.3.tgz";
+        sha512 = "/XrQjW0e5Z915m1A0qeXD9tSLDmz8zGjR6imhGDme6rMtXYudFpXXhaToKnM52nPPCNdCh6YQsLLkwbbkFvzVA==";
+      };
+    };
     "type-check-0.3.2" = {
       name = "type-check";
       packageName = "type-check";
@@ -35160,13 +36582,13 @@ let
         sha1 = "b9368a593cc6ef7d0645e78b2f4c64cbecd05e90";
       };
     };
-    "type-is-1.6.16" = {
+    "type-is-1.6.18" = {
       name = "type-is";
       packageName = "type-is";
-      version = "1.6.16";
+      version = "1.6.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz";
-        sha512 = "HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==";
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";
+        sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
     "typechecker-4.7.0" = {
@@ -35196,6 +36618,15 @@ let
         sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     };
+    "typescript-2.9.2" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "2.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz";
+        sha512 = "Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==";
+      };
+    };
     "typescript-3.0.3" = {
       name = "typescript";
       packageName = "typescript";
@@ -35223,6 +36654,15 @@ let
         sha512 = "YycBxUb49UUhdNMU5aJ7z5Ej2XGmaIBL0x34vZ82fn3hGvD+bgrMrVDpatgz2f7YxUMJxMkbWxJZeAvDxVe7Vw==";
       };
     };
+    "typescript-eslint-parser-16.0.1" = {
+      name = "typescript-eslint-parser";
+      packageName = "typescript-eslint-parser";
+      version = "16.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-16.0.1.tgz";
+        sha512 = "IKawLTu4A2xN3aN/cPLxvZ0bhxZHILGDKTZWvWNJ3sLNhJ3PjfMEDQmR2VMpdRPrmWOadgWXRwjLBzSA8AGsaQ==";
+      };
+    };
     "typewise-1.0.3" = {
       name = "typewise";
       packageName = "typewise";
@@ -35295,22 +36735,22 @@ let
         sha512 = "8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==";
       };
     };
-    "uglify-js-3.5.3" = {
+    "uglify-js-3.5.11" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.5.3";
+      version = "3.5.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.3.tgz";
-        sha512 = "rIQPT2UMDnk4jRX+w4WO84/pebU2jiLsjgIyrCktYgSvx28enOE3iYQMr+BD1rHiitWnDmpu0cY/LfIEpKcjcw==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.11.tgz";
+        sha512 = "izPJg8RsSyqxbdnqX36ExpbH3K7tDBsAU/VfNv89VkMFy3z39zFjunQGsSHOlGlyIfGLGprGeosgQno3bo2/Kg==";
       };
     };
-    "uglify-js-3.5.6" = {
+    "uglify-js-3.5.3" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.5.6";
+      version = "3.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.6.tgz";
-        sha512 = "YDKRX8F0Y+Jr7LhoVk0n4G7ltR3Y7qFAj+DtVBthlOgCcIj1hyMigCfousVfn9HKmvJ+qiFlLDwaHx44/e5ZKw==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.3.tgz";
+        sha512 = "rIQPT2UMDnk4jRX+w4WO84/pebU2jiLsjgIyrCktYgSvx28enOE3iYQMr+BD1rHiitWnDmpu0cY/LfIEpKcjcw==";
       };
     };
     "uglify-to-browserify-1.0.2" = {
@@ -35385,15 +36825,6 @@ let
         sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
       };
     };
-    "uint48be-1.0.2" = {
-      name = "uint48be";
-      packageName = "uint48be";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uint48be/-/uint48be-1.0.2.tgz";
-        sha512 = "jNn1eEi81BLiZfJkjbiAKPDMj7iFrturKazqpBu0aJYLr6evgkn+9rgkX/gUwPBj5j2Ri5oUelsqC/S1zmpWBA==";
-      };
-    };
     "uint48be-2.0.1" = {
       name = "uint48be";
       packageName = "uint48be";
@@ -35520,15 +36951,6 @@ let
         sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
       };
     };
-    "underscore-1.8.3" = {
-      name = "underscore";
-      packageName = "underscore";
-      version = "1.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
-        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
-      };
-    };
     "underscore-1.9.1" = {
       name = "underscore";
       packageName = "underscore";
@@ -35538,15 +36960,6 @@ let
         sha512 = "5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==";
       };
     };
-    "underscore-contrib-0.3.0" = {
-      name = "underscore-contrib";
-      packageName = "underscore-contrib";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/underscore-contrib/-/underscore-contrib-0.3.0.tgz";
-        sha1 = "665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7";
-      };
-    };
     "underscore.string-2.3.3" = {
       name = "underscore.string";
       packageName = "underscore.string";
@@ -35646,6 +37059,15 @@ let
         sha1 = "14bc6cd40d98ffff75b405506bad873ecbbac3ba";
       };
     };
+    "unified-4.2.1" = {
+      name = "unified";
+      packageName = "unified";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified/-/unified-4.2.1.tgz";
+        sha1 = "76ff43aa8da430f6e7e4a55c84ebac2ad2cfcd2e";
+      };
+    };
     "unified-6.2.0" = {
       name = "unified";
       packageName = "unified";
@@ -35655,6 +37077,51 @@ let
         sha512 = "1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==";
       };
     };
+    "unified-7.1.0" = {
+      name = "unified";
+      packageName = "unified";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz";
+        sha512 = "lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==";
+      };
+    };
+    "unified-diff-1.0.2" = {
+      name = "unified-diff";
+      packageName = "unified-diff";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified-diff/-/unified-diff-1.0.2.tgz";
+        sha1 = "920b33da9abae087dd444904372e7c3fbd367d85";
+      };
+    };
+    "unified-engine-4.0.1" = {
+      name = "unified-engine";
+      packageName = "unified-engine";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-4.0.1.tgz";
+        sha1 = "9692aa97fd5c4ec36889779e12514bef8e863fc3";
+      };
+    };
+    "unified-engine-6.0.1" = {
+      name = "unified-engine";
+      packageName = "unified-engine";
+      version = "6.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified-engine/-/unified-engine-6.0.1.tgz";
+        sha512 = "iDJYH82TgcezQA4IZzhCNJQx7vBsGk4h9s4Q7Fscrb3qcPsxBqVrVNYez2W3sBVTxuU1bFAhyRpA6ba/R4j93A==";
+      };
+    };
+    "unified-message-control-1.0.4" = {
+      name = "unified-message-control";
+      packageName = "unified-message-control";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified-message-control/-/unified-message-control-1.0.4.tgz";
+        sha512 = "e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==";
+      };
+    };
     "union-0.4.6" = {
       name = "union";
       packageName = "union";
@@ -35745,6 +37212,42 @@ let
         sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
       };
     };
+    "unist-util-filter-0.2.1" = {
+      name = "unist-util-filter";
+      packageName = "unist-util-filter";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-filter/-/unist-util-filter-0.2.1.tgz";
+        sha1 = "e2f7876828903a6a9308e362051f86b14f35b545";
+      };
+    };
+    "unist-util-find-1.0.1" = {
+      name = "unist-util-find";
+      packageName = "unist-util-find";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-find/-/unist-util-find-1.0.1.tgz";
+        sha1 = "1062bbb6928c7a97c6adc89b53745d4c46c222a2";
+      };
+    };
+    "unist-util-inspect-4.1.3" = {
+      name = "unist-util-inspect";
+      packageName = "unist-util-inspect";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-4.1.3.tgz";
+        sha512 = "Fv9R88ZBbDp7mHN+wsbxS1r8VW3unyhZh/F18dcJRQsg0+g3DxNQnMS+AEG/uotB8Md+HMK/TfzSU5lUDWxkZg==";
+      };
+    };
+    "unist-util-is-1.0.0" = {
+      name = "unist-util-is";
+      packageName = "unist-util-is";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-1.0.0.tgz";
+        sha1 = "4c7b3c5c0f6aa963640056fe4af7b5fcfdbb8ef0";
+      };
+    };
     "unist-util-is-2.1.2" = {
       name = "unist-util-is";
       packageName = "unist-util-is";
@@ -35754,6 +37257,33 @@ let
         sha512 = "YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==";
       };
     };
+    "unist-util-map-1.0.4" = {
+      name = "unist-util-map";
+      packageName = "unist-util-map";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-map/-/unist-util-map-1.0.4.tgz";
+        sha512 = "Qv68pQz05hQbjPI+TubZQI5XII5DScRVWaKNc6+qfmHaFGxaGUbkV8i++mM2nk7XgwXE+vei99d/Q2d1tMA3EQ==";
+      };
+    };
+    "unist-util-modify-children-1.1.3" = {
+      name = "unist-util-modify-children";
+      packageName = "unist-util-modify-children";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.3.tgz";
+        sha512 = "Aw3Us+NPrJGYWyLhcaqYzgxd/pryIanDNHVVvwdtTEEQ3Yfa/+sjnT2EeAAHbtTMAaYEdPW3XN6jxbzVWAo/BQ==";
+      };
+    };
+    "unist-util-position-3.0.2" = {
+      name = "unist-util-position";
+      packageName = "unist-util-position";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.2.tgz";
+        sha512 = "npmFu92l/+b1Ao6uGP4I1WFz9hsKv7qleZ4aliw6x0RVu6A9A3tAf57NMpFfzQ02jxRtJZuRn+C8xWT7GWnH0g==";
+      };
+    };
     "unist-util-remove-position-1.1.2" = {
       name = "unist-util-remove-position";
       packageName = "unist-util-remove-position";
@@ -35763,6 +37293,15 @@ let
         sha512 = "XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==";
       };
     };
+    "unist-util-select-1.5.0" = {
+      name = "unist-util-select";
+      packageName = "unist-util-select";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-select/-/unist-util-select-1.5.0.tgz";
+        sha1 = "a93c2be8c0f653827803b81331adec2aa24cd933";
+      };
+    };
     "unist-util-stringify-position-1.1.2" = {
       name = "unist-util-stringify-position";
       packageName = "unist-util-stringify-position";
@@ -35781,6 +37320,15 @@ let
         sha512 = "FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==";
       };
     };
+    "unist-util-visit-children-1.1.2" = {
+      name = "unist-util-visit-children";
+      packageName = "unist-util-visit-children";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-1.1.2.tgz";
+        sha512 = "q4t6aprUcSQ2/+xlswuh2wUKwUUuMmDjSkfwkMjeVwCXc8NqX8g0FSmNf68CznCmbkrsOPDUR0wj14bCFXXqbA==";
+      };
+    };
     "unist-util-visit-parents-2.0.1" = {
       name = "unist-util-visit-parents";
       packageName = "unist-util-visit-parents";
@@ -35790,13 +37338,13 @@ let
         sha512 = "6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==";
       };
     };
-    "universal-user-agent-2.0.3" = {
+    "universal-user-agent-2.1.0" = {
       name = "universal-user-agent";
       packageName = "universal-user-agent";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.0.3.tgz";
-        sha512 = "eRHEHhChCBHrZsA4WEhdgiOKgdvgrMIHwnwnqD0r5C6AO8kwKcG7qSku3iXdhvHL3YvsS9ZkSGN8h/hIpoFC8g==";
+        url = "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.1.0.tgz";
+        sha512 = "8itiX7G05Tu3mGDTdNY2fB4KJ8MgZLS54RdG6PkkfwMAavrXu1mV/lls/GABx9O3Rw4PnTtasxrvbMQoBYY92Q==";
       };
     };
     "universalify-0.1.2" = {
@@ -36042,6 +37590,15 @@ let
         sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
       };
     };
+    "urijs-1.19.1" = {
+      name = "urijs";
+      packageName = "urijs";
+      version = "1.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz";
+        sha512 = "xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==";
+      };
+    };
     "urix-0.1.0" = {
       name = "urix";
       packageName = "urix";
@@ -36096,13 +37653,13 @@ let
         sha512 = "rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==";
       };
     };
-    "url-parse-1.4.6" = {
+    "url-parse-1.4.7" = {
       name = "url-parse";
       packageName = "url-parse";
-      version = "1.4.6";
+      version = "1.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.6.tgz";
-        sha512 = "/B8AD9iQ01seoXmXf9z/MjLZQIdOoYl/+gvsQF6+mpnxaTfG9P7srYaiqaDMyKkR36XMXfhqSHss5MyFAO8lew==";
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz";
+        sha512 = "d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==";
       };
     };
     "url-parse-lax-1.0.0" = {
@@ -36402,13 +37959,13 @@ let
         sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
       };
     };
-    "v8-compile-cache-2.0.2" = {
+    "v8-compile-cache-2.0.3" = {
       name = "v8-compile-cache";
       packageName = "v8-compile-cache";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz";
-        sha512 = "1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw==";
+        url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz";
+        sha512 = "CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==";
       };
     };
     "v8-debug-1.0.1" = {
@@ -36438,13 +37995,13 @@ let
         sha1 = "aab1a1fa30d45f88dd321148875ac02c0b55e5b4";
       };
     };
-    "v8flags-3.1.2" = {
+    "v8flags-3.1.3" = {
       name = "v8flags";
       packageName = "v8flags";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/v8flags/-/v8flags-3.1.2.tgz";
-        sha512 = "MtivA7GF24yMPte9Rp/BWGCYQNaUj86zeYxV/x2RRJMKagImbbv3u8iJC57lNhWLPcGLJmHcHmFWkNsplbbLWw==";
+        url = "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz";
+        sha512 = "amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==";
       };
     };
     "valid-identifier-0.0.2" = {
@@ -36582,13 +38139,13 @@ let
         sha1 = "4a69d7052a47f4ce85503d7641df1cbf40432a94";
       };
     };
-    "vendors-1.0.2" = {
+    "vendors-1.0.3" = {
       name = "vendors";
       packageName = "vendors";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz";
-        sha512 = "w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==";
+        url = "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz";
+        sha512 = "fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==";
       };
     };
     "verror-1.1.0" = {
@@ -36654,6 +38211,15 @@ let
         sha512 = "ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==";
       };
     };
+    "vfile-3.0.1" = {
+      name = "vfile";
+      packageName = "vfile";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz";
+        sha512 = "y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==";
+      };
+    };
     "vfile-find-down-1.0.0" = {
       name = "vfile-find-down";
       packageName = "vfile-find-down";
@@ -36672,6 +38238,15 @@ let
         sha1 = "5604da6fe453b34350637984eb5fe4909e280390";
       };
     };
+    "vfile-find-up-2.0.2" = {
+      name = "vfile-find-up";
+      packageName = "vfile-find-up";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile-find-up/-/vfile-find-up-2.0.2.tgz";
+        sha512 = "kYGgsSNpYjPxcEoud1aHNFfchsV0Z6Pyc8M5LfD1wX/tV0/bn32MKHDfv4fqV9DBLVuw2YSGOs31nRY/42DfUA==";
+      };
+    };
     "vfile-location-2.0.4" = {
       name = "vfile-location";
       packageName = "vfile-location";
@@ -36699,6 +38274,24 @@ let
         sha1 = "21a7009bfe55e24df8ff432aa5bf6f6efa74e418";
       };
     };
+    "vfile-reporter-4.0.0" = {
+      name = "vfile-reporter";
+      packageName = "vfile-reporter";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-4.0.0.tgz";
+        sha1 = "ea6f0ae1342f4841573985e05f941736f27de9da";
+      };
+    };
+    "vfile-reporter-5.1.1" = {
+      name = "vfile-reporter";
+      packageName = "vfile-reporter";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-5.1.1.tgz";
+        sha512 = "A/cfKvfVmeEmAKx1yyOWggCjC/k184Vkl5pVJAw5CEdppHd5FHBVcdyJ1JBSqIdJjJqyhZY4ZD3JycHr/uwmlA==";
+      };
+    };
     "vfile-sort-1.0.0" = {
       name = "vfile-sort";
       packageName = "vfile-sort";
@@ -36708,6 +38301,24 @@ let
         sha1 = "17ee491ba43e8951bb22913fcff32a7dc4d234d4";
       };
     };
+    "vfile-sort-2.2.0" = {
+      name = "vfile-sort";
+      packageName = "vfile-sort";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.0.tgz";
+        sha512 = "RgxLXVWrJBWb2GuP8FsSkqK7HmbjXjnI8qx3nD6NTWhsWaelaKvJuxfh1F1d1lkCPD7imo4zzi8cf6IOMgaTnQ==";
+      };
+    };
+    "vfile-statistics-1.1.2" = {
+      name = "vfile-statistics";
+      packageName = "vfile-statistics";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.2.tgz";
+        sha512 = "16wAC9eEGXdsD35LX9m/iXCRIZyX5LIrDgDtAF92rbATSqsBRbC4n05e0Rj5vt3XRpcKu0UJeWnTxWsSyvNZ+w==";
+      };
+    };
     "vhost-3.0.2" = {
       name = "vhost";
       packageName = "vhost";
@@ -36861,6 +38472,33 @@ let
         sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
       };
     };
+    "vscode-css-languageservice-3.0.13" = {
+      name = "vscode-css-languageservice";
+      packageName = "vscode-css-languageservice";
+      version = "3.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-3.0.13.tgz";
+        sha512 = "RWkO/c/A7iXhHEy3OuEqkCqavDjpD4NF2Ca8vjai+ZtEYNeHrm1ybTnBYLP4Ft1uXvvaaVtYA9HrDjD6+CUONg==";
+      };
+    };
+    "vscode-emmet-helper-1.2.15" = {
+      name = "vscode-emmet-helper";
+      packageName = "vscode-emmet-helper";
+      version = "1.2.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-emmet-helper/-/vscode-emmet-helper-1.2.15.tgz";
+        sha512 = "JplvmMMWSvm/6/dZezix2ADPM49u6YahPYjs/QToohUpomW/2Eb27ecCrkCyOGBPfKLKGiOPHCssss8TSDA9ag==";
+      };
+    };
+    "vscode-html-languageservice-2.1.12" = {
+      name = "vscode-html-languageservice";
+      packageName = "vscode-html-languageservice";
+      version = "2.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-2.1.12.tgz";
+        sha512 = "mIb5VMXM5jI97HzCk2eadI1K//rCEZXte0wBqA7PGXsyJH4KTyJUaYk9MR+mbfpUl2vMi3HZw9GUOLGYLc6l5w==";
+      };
+    };
     "vscode-jsonrpc-3.6.0" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
@@ -36879,6 +38517,15 @@ let
         sha512 = "perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==";
       };
     };
+    "vscode-jsonrpc-4.1.0-next.2" = {
+      name = "vscode-jsonrpc";
+      packageName = "vscode-jsonrpc";
+      version = "4.1.0-next.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.1.0-next.2.tgz";
+        sha512 = "GsBLjP9DxQ42yl1mW9GEIlnSc0+R8mfzhaebwmmTPEJjezD5SPoAo3DFrIAFZha9yvQ1nzZfZlhtVpGQmgxtXg==";
+      };
+    };
     "vscode-languageclient-4.0.1" = {
       name = "vscode-languageclient";
       packageName = "vscode-languageclient";
@@ -36897,6 +38544,15 @@ let
         sha512 = "bxj9nRadNkXYfVG/fjA5a+KA5WaJCeP1F2Tnj3rYFS0pKALZQCPNqk3KO/LdiGFidjyICMG7xoHvYO9J9xosXg==";
       };
     };
+    "vscode-languageserver-4.4.2" = {
+      name = "vscode-languageserver";
+      packageName = "vscode-languageserver";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-4.4.2.tgz";
+        sha512 = "61y8Raevi9EigDgg9NelvT9cUAohiEbUl1LOwQQgOCAaNX62yKny/ddi0uC+FUTm4CzsjhBu+06R+vYgfCYReA==";
+      };
+    };
     "vscode-languageserver-5.2.1" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
@@ -36906,6 +38562,15 @@ let
         sha512 = "GuayqdKZqAwwaCUjDvMTAVRPJOp/SLON3mJ07eGsx/Iq9HjRymhKWztX41rISqDKhHVVyFM+IywICyZDla6U3A==";
       };
     };
+    "vscode-languageserver-5.3.0-next.6" = {
+      name = "vscode-languageserver";
+      packageName = "vscode-languageserver";
+      version = "5.3.0-next.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.3.0-next.6.tgz";
+        sha512 = "7DtEBFc0bkcIaKhhx5Q4ZvIkJ1PAtX0pqTnI6QyA14yLL1TfqSSoNRczamb9khpGbLyN5oje7kBJD1kiOvsM+Q==";
+      };
+    };
     "vscode-languageserver-protocol-3.14.1" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
@@ -36915,6 +38580,15 @@ let
         sha512 = "IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==";
       };
     };
+    "vscode-languageserver-protocol-3.15.0-next.5" = {
+      name = "vscode-languageserver-protocol";
+      packageName = "vscode-languageserver-protocol";
+      version = "3.15.0-next.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.15.0-next.5.tgz";
+        sha512 = "rR7Zo5WZTGSsE9lq7pPSgO+VMhVV8UVq6emrDoQ3x5dUyhLKB2/gbMkGKucQpsKGLtF/NuccCa+3jMsO788HjQ==";
+      };
+    };
     "vscode-languageserver-protocol-3.6.0" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
@@ -36924,6 +38598,15 @@ let
         sha512 = "PN5hVQQQxrtHSZR8UCstqaoI9f2H9JctFTtdIpONWjzQNurWrc48qSXXU/vTfnbSrNou8qrJgkZ4QEZsyozOMA==";
       };
     };
+    "vscode-languageserver-protocol-foldingprovider-2.0.1" = {
+      name = "vscode-languageserver-protocol-foldingprovider";
+      packageName = "vscode-languageserver-protocol-foldingprovider";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol-foldingprovider/-/vscode-languageserver-protocol-foldingprovider-2.0.1.tgz";
+        sha512 = "N8bOS8i0xuQMn/y0bijyefDbOsMl6hiH6LDREYWavTLTM5jbj44EiQfStsbmAv/0eaFKkL/jf5hW7nWwBy2HBw==";
+      };
+    };
     "vscode-languageserver-types-3.14.0" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
@@ -36933,6 +38616,33 @@ let
         sha512 = "lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==";
       };
     };
+    "vscode-languageserver-types-3.15.0-next.1" = {
+      name = "vscode-languageserver-types";
+      packageName = "vscode-languageserver-types";
+      version = "3.15.0-next.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.1.tgz";
+        sha512 = "R0kzmaI8gOGEoU7b9huYQAzgZzRQ/5Q8HKjsIUdfz0MjXcBZ4tr1ik1So1p1O5kGrI1VTCd22Fw/wI7ECGoIPw==";
+      };
+    };
+    "vscode-nls-3.2.5" = {
+      name = "vscode-nls";
+      packageName = "vscode-nls";
+      version = "3.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-nls/-/vscode-nls-3.2.5.tgz";
+        sha512 = "ITtoh3V4AkWXMmp3TB97vsMaHRgHhsSFPsUdzlueSL+dRZbSNTZeOmdQv60kjCV306ghPxhDeoNUEm3+EZMuyw==";
+      };
+    };
+    "vscode-nls-4.1.0" = {
+      name = "vscode-nls";
+      packageName = "vscode-nls";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.0.tgz";
+        sha512 = "zKsFWVzL1wlCezgaI3XiN42IT8DIPM1Qr+G+RBhiU3U0bJCdC8pPELakRCtuVT4wF3gBZjBrUDQ8mowL7hmgwA==";
+      };
+    };
     "vscode-uri-1.0.3" = {
       name = "vscode-uri";
       packageName = "vscode-uri";
@@ -36969,31 +38679,49 @@ let
         sha512 = "gWZsSbfHR2CmMLgpHxj6viwLczUdZ3zdwkXPoEUa7yn34Z8mZJW/fokwhPONgQNTrs3KNcq+zNQA7ED09+fP4A==";
       };
     };
-    "vue-observe-visibility-0.4.3" = {
-      name = "vue-observe-visibility";
-      packageName = "vue-observe-visibility";
-      version = "0.4.3";
+    "vue-eslint-parser-2.0.3" = {
+      name = "vue-eslint-parser";
+      packageName = "vue-eslint-parser";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-observe-visibility/-/vue-observe-visibility-0.4.3.tgz";
-        sha512 = "YyyO3a5OUkgpmC0NEf+xWJR0jVdFWzVbKRDzUumOVMhfr3+jxXEycYNHCM3rEO5lcj3ZNJpDomZEYEx0Wqqh9A==";
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz";
+        sha512 = "ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==";
       };
     };
-    "vue-resize-0.4.5" = {
-      name = "vue-resize";
-      packageName = "vue-resize";
-      version = "0.4.5";
+    "vue-eslint-parser-5.0.0" = {
+      name = "vue-eslint-parser";
+      packageName = "vue-eslint-parser";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-resize/-/vue-resize-0.4.5.tgz";
-        sha512 = "bhP7MlgJQ8TIkZJXAfDf78uJO+mEI3CaLABLjv0WNzr4CcGRGPIAItyWYnP6LsPA4Oq0WE+suidNs6dgpO4RHg==";
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz";
+        sha512 = "JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==";
       };
     };
-    "vue-virtual-scroller-1.0.0-rc.2" = {
-      name = "vue-virtual-scroller";
-      packageName = "vue-virtual-scroller";
-      version = "1.0.0-rc.2";
+    "vue-eslint-parser-6.0.4" = {
+      name = "vue-eslint-parser";
+      packageName = "vue-eslint-parser";
+      version = "6.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-6.0.4.tgz";
+        sha512 = "GYsDsDWwKaGtnkW4nGUxr01wqIO2FB9/QHQTW1Gl5SUr5OyQvpnR90/D+Gq2cIxURX7aJ7+VyD+37Yx9eFwTgw==";
+      };
+    };
+    "vue-onsenui-helper-json-1.0.2" = {
+      name = "vue-onsenui-helper-json";
+      packageName = "vue-onsenui-helper-json";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-onsenui-helper-json/-/vue-onsenui-helper-json-1.0.2.tgz";
+        sha512 = "ikg8ruE17tIXF9mrVvKoOR3oyM9nk0TcmUHyeBWod5ILEH9DRN0+seX4gwsSbjdxMYlIIvmnCFPQeMdlcJqPJQ==";
+      };
+    };
+    "vuetify-helper-json-1.0.0" = {
+      name = "vuetify-helper-json";
+      packageName = "vuetify-helper-json";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-virtual-scroller/-/vue-virtual-scroller-1.0.0-rc.2.tgz";
-        sha512 = "4YFx1a+QDP4f6HW/HBI/qHcmSTlh7BMH6IjEH8WC3ylt499cErl0LpvLLAx9yo3c6NtuK/XvjYXi0vvdxFB5dw==";
+        url = "https://registry.npmjs.org/vuetify-helper-json/-/vuetify-helper-json-1.0.0.tgz";
+        sha512 = "JNjc77FJbWEOk+Y9uzPr8u3cogRivjUE1Ha9DhPruBJutRO1Lf4ZVff44/N37vwC9e9JJGjj7y4JtT2kY7exrw==";
       };
     };
     "w3c-hr-time-1.0.1" = {
@@ -37068,6 +38796,15 @@ let
         sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
       };
     };
+    "weasel-words-0.1.1" = {
+      name = "weasel-words";
+      packageName = "weasel-words";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/weasel-words/-/weasel-words-0.1.1.tgz";
+        sha1 = "7137946585c73fe44882013853bd000c5d687a4e";
+      };
+    };
     "webassemblyjs-1.8.5" = {
       name = "webassemblyjs";
       packageName = "webassemblyjs";
@@ -37095,22 +38832,22 @@ let
         sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
       };
     };
-    "webpack-4.30.0" = {
+    "webpack-4.31.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "4.30.0";
+      version = "4.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.30.0.tgz";
-        sha512 = "4hgvO2YbAFUhyTdlR4FNyt2+YaYBYHavyzjCMbZzgglo02rlKi/pcsEzwCuCpsn1ryzIl1cq/u8ArIKu8JBYMg==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-4.31.0.tgz";
+        sha512 = "n6RVO3X0LbbipoE62akME9K/JI7qYrwwufs20VvgNNpqUoH4860KkaxJTbGq5bgkVZF9FqyyTG/0WPLH3PVNJA==";
       };
     };
-    "webpack-cli-3.3.1" = {
+    "webpack-cli-3.3.2" = {
       name = "webpack-cli";
       packageName = "webpack-cli";
-      version = "3.3.1";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.1.tgz";
-        sha512 = "c2inFU7SM0IttEgF7fK6AaUsbBnORRzminvbyRKS+NlbQHVZdCtzKBlavRL5359bFsywXGRAItA5di/IruC8mg==";
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.2.tgz";
+        sha512 = "FLkobnaJJ+03j5eplxlI0TUxhGCOdfewspIGuvDVtpOlrAuKMFC57K42Ukxqs1tn8947/PM6tP95gQc0DCzRYA==";
       };
     };
     "webpack-core-0.6.9" = {
@@ -37365,6 +39102,15 @@ let
         sha1 = "f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876";
       };
     };
+    "window-size-0.2.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz";
+        sha1 = "b4315bb4214a3d7058ebeee892e13fa24d98b075";
+      };
+    };
     "windows-no-runnable-0.0.6" = {
       name = "windows-no-runnable";
       packageName = "windows-no-runnable";
@@ -37518,13 +39264,13 @@ let
         sha512 = "mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==";
       };
     };
-    "worker-farm-1.6.0" = {
+    "worker-farm-1.7.0" = {
       name = "worker-farm";
       packageName = "worker-farm";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz";
-        sha512 = "6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==";
+        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz";
+        sha512 = "rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==";
       };
     };
     "wrap-ansi-2.1.0" = {
@@ -37599,6 +39345,15 @@ let
         sha512 = "s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==";
       };
     };
+    "write-good-0.11.3" = {
+      name = "write-good";
+      packageName = "write-good";
+      version = "0.11.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-good/-/write-good-0.11.3.tgz";
+        sha512 = "fDKIHO5wCzTLCOGNJl1rzzJrZlTIzfZl8msOoJQZzRhYo0X/tFTm4+2B1zTibFYK01Nnd1kLZBjj4xjcFLePNQ==";
+      };
+    };
     "write-json-file-2.3.0" = {
       name = "write-json-file";
       packageName = "write-json-file";
@@ -37716,6 +39471,24 @@ let
         sha1 = "7f6194154fd1786cf261e68b5488c47127a04977";
       };
     };
+    "x-is-array-0.1.0" = {
+      name = "x-is-array";
+      packageName = "x-is-array";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/x-is-array/-/x-is-array-0.1.0.tgz";
+        sha1 = "de520171d47b3f416f5587d629b89d26b12dc29d";
+      };
+    };
+    "x-is-function-1.0.4" = {
+      name = "x-is-function";
+      packageName = "x-is-function";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/x-is-function/-/x-is-function-1.0.4.tgz";
+        sha1 = "5d294dc3d268cbdd062580e0c5df77a391d1fa1e";
+      };
+    };
     "x-is-string-0.1.0" = {
       name = "x-is-string";
       packageName = "x-is-string";
@@ -37851,13 +39624,13 @@ let
         sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
       };
     };
-    "xmlcreate-1.0.2" = {
+    "xmlcreate-2.0.1" = {
       name = "xmlcreate";
       packageName = "xmlcreate";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmlcreate/-/xmlcreate-1.0.2.tgz";
-        sha1 = "fa6bf762a60a413fb3dd8f4b03c5b269238d308f";
+        url = "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.1.tgz";
+        sha512 = "MjGsXhKG8YjTKrDCXseFo3ClbMGvUD4en29H2Cev1dv4P/chlpw6KdYmlCWDkhosBVKRDjM836+3e3pm1cBNJA==";
       };
     };
     "xmldom-0.1.27" = {
@@ -37942,13 +39715,22 @@ let
         sha1 = "f164263325ae671f53836fb210c7ddbcfda46598";
       };
     };
-    "xstream-11.10.0" = {
+    "xstream-11.11.0" = {
       name = "xstream";
       packageName = "xstream";
-      version = "11.10.0";
+      version = "11.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xstream/-/xstream-11.10.0.tgz";
-        sha512 = "jzFCiRqGtrJi2S1/RPxVFgJwWVBzy4suMPBXlhOi0BJC7VvsXgo2yOHWnOasnj24n2Dlj2Mgfl6fJXPOYmpHFA==";
+        url = "https://registry.npmjs.org/xstream/-/xstream-11.11.0.tgz";
+        sha512 = "0zF3PLsHrmbToPBgX1jYZFNw+t5octSFJgVRH44HGlGBBjY7gscvDQOZvty8IQV15Snia1RcLPECWDfEaE4aXg==";
+      };
+    };
+    "xtend-2.1.2" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz";
+        sha1 = "6efecc2a4dad8e6962c4901b337ce7ba87b5d28b";
       };
     };
     "xtend-3.0.0" = {
@@ -38113,6 +39895,15 @@ let
         sha1 = "03088e9ebf9e756b69751611d2a5ef591482c995";
       };
     };
+    "yargs-4.7.1" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "4.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-4.7.1.tgz";
+        sha1 = "e60432658a3387ff269c028eacde4a512e438dff";
+      };
+    };
     "yargs-6.6.0" = {
       name = "yargs";
       packageName = "yargs";
@@ -38167,6 +39958,24 @@ let
         sha512 = "w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==";
       };
     };
+    "yargs-parser-13.1.0" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "13.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.0.tgz";
+        sha512 = "Yq+32PrijHRri0vVKQEm+ys8mbqWjLiwQkMFNXEENutzLPP0bE4Lcd4iA3OQY5HF+GD3xXxf0MEHb8E4/SA3AA==";
+      };
+    };
+    "yargs-parser-2.4.1" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz";
+        sha1 = "85568de3cf150ff49fa51825f03a8c880ddcc5c4";
+      };
+    };
     "yargs-parser-4.2.1" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -38362,17 +40171,17 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "7.3.8";
+    version = "7.3.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-7.3.8.tgz";
-      sha512 = "5ldU1idvWstmRaavGZen9WRjfjIViERGt8NYuLLI7dgVLYOPF5TyFoTnpT5nxkiCopp4tPIcpbzPV394Bxmdtg==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-7.3.9.tgz";
+      sha512 = "7oJj7CKDlFUbQav1x1CV4xKKcbt0pnxY4unKcm7Q1tVXhu8bU2bc3cDA0aJnbofcYb6TJcd/C2qHgCt78q7edA==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.13.8"
-      sources."@angular-devkit/core-7.3.8"
-      sources."@angular-devkit/schematics-7.3.8"
-      sources."@schematics/angular-7.3.8"
-      sources."@schematics/update-0.13.8"
+      sources."@angular-devkit/architect-0.13.9"
+      sources."@angular-devkit/core-7.3.9"
+      sources."@angular-devkit/schematics-7.3.9"
+      sources."@schematics/angular-7.3.9"
+      sources."@schematics/update-0.13.9"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."JSONStream-1.3.5"
       sources."agent-base-4.2.1"
@@ -38497,11 +40306,11 @@ in
       sources."fs-minipass-1.2.5"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."genfun-5.0.0"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -38647,7 +40456,7 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
@@ -38800,10 +40609,10 @@ in
   asar = nodeEnv.buildNodePackage {
     name = "asar";
     packageName = "asar";
-    version = "1.0.0";
+    version = "2.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/asar/-/asar-1.0.0.tgz";
-      sha512 = "MBiDU5cDr9UWuY2F0zq2fZlnyRq1aOPmJGMas22Qa14K1odpRXL3xkMHPN3uw2hAK5mD89Q+/KidOUtpi4V0Cg==";
+      url = "https://registry.npmjs.org/asar/-/asar-2.0.1.tgz";
+      sha512 = "Vo9yTuUtyFahkVMFaI6uMuX6N7k5DWa6a/8+7ov0/f8Lq9TVR0tUjzSzxQSxT1Y+RJIZgnP7BVb6Uhi+9cjxqA==";
     };
     dependencies = [
       sources."balanced-match-1.0.0"
@@ -38814,18 +40623,17 @@ in
       sources."concat-map-0.0.1"
       sources."cuint-0.2.2"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."once-1.4.0"
-      sources."os-tmpdir-1.0.2"
       sources."path-is-absolute-1.0.1"
-      sources."pify-4.0.1"
-      sources."tmp-0.0.33"
-      sources."tmp-promise-1.0.5"
+      sources."rimraf-2.6.3"
+      sources."tmp-0.1.0"
+      sources."tmp-promise-1.1.0"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -38840,10 +40648,10 @@ in
   azure-functions-core-tools = nodeEnv.buildNodePackage {
     name = "azure-functions-core-tools";
     packageName = "azure-functions-core-tools";
-    version = "2.6.666";
+    version = "2.7.1158";
     src = fetchurl {
-      url = "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-2.6.666.tgz";
-      sha512 = "upfBIn8oNw4gdgeFUwHep+3UTDdiMKOLoKDdKX3n40ymxGundNb4nAI7HhAauz6Hx0bvL8HURojnVCrep5kCeQ==";
+      url = "https://registry.npmjs.org/azure-functions-core-tools/-/azure-functions-core-tools-2.7.1158.tgz";
+      sha512 = "40RPWifao1FogT0OaDM5/VMik1d+rZ/moMitdzTThuiP1n7RAjUzqoVZSeEbOyijTZG++HBLiaIp2gXFv/Gadw==";
     };
     dependencies = [
       sources."agent-base-4.2.1"
@@ -38907,6 +40715,212 @@ in
     production = true;
     bypassCache = true;
   };
+  bash-language-server = nodeEnv.buildNodePackage {
+    name = "bash-language-server";
+    packageName = "bash-language-server";
+    version = "1.5.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-1.5.6.tgz";
+      sha512 = "GqW24myNihrUroXdL40AemizC3lBvr2wOiF0GzxYWqsBsJvi6CQor0Y9t10jOGn11evMhncmR2f2LoQdjsNpqw==";
+    };
+    dependencies = [
+      sources."abab-2.0.0"
+      sources."acorn-5.7.3"
+      (sources."acorn-globals-4.3.2" // {
+        dependencies = [
+          sources."acorn-6.1.1"
+        ];
+      })
+      sources."acorn-walk-6.1.1"
+      sources."ajv-6.10.0"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."array-equal-1.0.0"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."async-limiter-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.8.0"
+      sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bl-1.2.2"
+      sources."brace-expansion-1.1.11"
+      sources."browser-process-hrtime-0.1.3"
+      sources."buffer-alloc-1.2.0"
+      sources."buffer-alloc-unsafe-1.1.0"
+      sources."buffer-fill-1.0.0"
+      sources."caseless-0.12.0"
+      sources."chownr-1.1.1"
+      sources."code-point-at-1.1.0"
+      sources."combined-stream-1.0.7"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."cssom-0.3.6"
+      sources."cssstyle-1.2.2"
+      sources."dashdash-1.14.1"
+      (sources."data-urls-1.1.0" // {
+        dependencies = [
+          sources."whatwg-url-7.0.0"
+        ];
+      })
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.6.0"
+      sources."deep-is-0.1.3"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."domexception-1.0.1"
+      sources."ecc-jsbn-0.1.2"
+      sources."end-of-stream-1.4.1"
+      sources."escodegen-1.11.1"
+      sources."esprima-3.1.3"
+      sources."estraverse-4.2.0"
+      sources."esutils-2.0.2"
+      sources."expand-template-2.0.3"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."fs-constants-1.0.0"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."getpass-0.1.7"
+      sources."github-from-package-0.0.0"
+      sources."glob-7.1.4"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-unicode-2.0.1"
+      sources."html-encoding-sniffer-1.0.2"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.24"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."jsdom-11.12.0"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."left-pad-1.3.0"
+      sources."levn-0.3.0"
+      sources."lodash-4.17.11"
+      sources."lodash.sortby-4.7.0"
+      sources."mime-db-1.40.0"
+      sources."mime-types-2.1.24"
+      sources."mimic-response-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."nan-2.13.2"
+      sources."napi-build-utils-1.0.1"
+      sources."node-abi-2.8.0"
+      sources."noop-logger-0.1.1"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."nwsapi-2.1.4"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."optionator-0.8.2"
+      sources."os-homedir-1.0.2"
+      sources."parse5-4.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."performance-now-2.1.0"
+      sources."pn-1.1.0"
+      sources."prebuild-install-5.3.0"
+      sources."prelude-ls-1.1.2"
+      sources."process-nextick-args-2.0.0"
+      sources."psl-1.1.31"
+      sources."pump-2.0.1"
+      sources."punycode-2.1.1"
+      sources."qs-6.5.2"
+      sources."rc-1.2.8"
+      sources."readable-stream-2.3.6"
+      sources."request-2.88.0"
+      sources."request-promise-core-1.1.2"
+      sources."request-promise-native-1.0.7"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.0"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."simple-concat-1.0.0"
+      sources."simple-get-2.8.1"
+      sources."source-map-0.6.1"
+      sources."sshpk-1.16.1"
+      sources."stealthy-require-1.1.1"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."symbol-tree-3.2.2"
+      (sources."tar-fs-1.16.3" // {
+        dependencies = [
+          sources."pump-1.0.3"
+        ];
+      })
+      sources."tar-stream-1.6.2"
+      sources."to-buffer-1.1.1"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tr46-1.0.1"
+      sources."tree-sitter-0.13.23"
+      sources."tree-sitter-bash-0.13.9"
+      sources."tunnel-agent-0.6.0"
+      sources."turndown-4.0.2"
+      sources."tweetnacl-0.14.5"
+      sources."type-check-0.3.2"
+      sources."uri-js-4.2.2"
+      sources."urijs-1.19.1"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."vscode-jsonrpc-4.0.0"
+      sources."vscode-languageserver-4.4.2"
+      sources."vscode-languageserver-protocol-3.14.1"
+      sources."vscode-languageserver-types-3.14.0"
+      sources."vscode-uri-1.0.6"
+      sources."w3c-hr-time-1.0.1"
+      sources."webidl-conversions-4.0.2"
+      sources."whatwg-encoding-1.0.5"
+      sources."whatwg-mimetype-2.3.0"
+      sources."whatwg-url-6.5.0"
+      sources."which-pm-runs-1.0.0"
+      sources."wide-align-1.1.3"
+      sources."wordwrap-1.0.0"
+      sources."wrappy-1.0.2"
+      sources."ws-5.2.2"
+      sources."xml-name-validator-3.0.0"
+      sources."xtend-4.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A language server for Bash";
+      homepage = "https://github.com/mads-hartmann/bash-language-server#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   bower = nodeEnv.buildNodePackage {
     name = "bower";
     packageName = "bower";
@@ -39023,10 +41037,10 @@ in
       sources."read-pkg-up-1.0.1"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       (sources."rimraf-2.6.3" // {
         dependencies = [
-          sources."glob-7.1.3"
+          sources."glob-7.1.4"
         ];
       })
       sources."semver-5.7.0"
@@ -39076,7 +41090,7 @@ in
       sources."array-map-0.0.0"
       sources."array-reduce-0.0.0"
       sources."asn1.js-4.10.1"
-      (sources."assert-1.4.1" // {
+      (sources."assert-1.5.0" // {
         dependencies = [
           sources."inherits-2.0.1"
           sources."util-0.10.3"
@@ -39135,7 +41149,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-assigned-identifiers-1.2.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."has-1.0.3"
       sources."hash-base-3.0.4"
       sources."hash.js-1.1.7"
@@ -39162,6 +41176,7 @@ in
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."module-deps-6.2.0"
+      sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."os-browserify-0.3.0"
       sources."pako-1.0.10"
@@ -39187,7 +41202,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.1.2"
       sources."sha.js-2.4.11"
@@ -39355,7 +41370,7 @@ in
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-4.0.1"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."got-1.2.2"
       sources."graceful-fs-4.1.15"
       sources."har-schema-2.0.0"
@@ -39372,7 +41387,7 @@ in
       sources."inquirer-0.8.5"
       sources."internal-ip-1.2.0"
       sources."ip-1.1.5"
-      sources."ip-set-1.0.1"
+      sources."ip-set-1.0.2"
       sources."ipaddr.js-1.9.0"
       sources."is-arrayish-0.2.1"
       sources."is-finite-1.0.2"
@@ -39522,7 +41537,7 @@ in
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
       sources."request-2.88.0"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."rimraf-2.6.3"
       sources."router-0.6.2"
       sources."run-parallel-1.1.9"
@@ -39732,14 +41747,14 @@ in
       sources."color-string-1.5.3"
       sources."colornames-1.1.1"
       sources."colors-1.3.3"
-      sources."colorspace-1.1.1"
+      sources."colorspace-1.1.2"
       sources."commander-2.19.0"
       sources."core-util-is-1.0.2"
       sources."debug-3.2.6"
       sources."diagnostics-1.1.1"
       sources."enabled-1.0.2"
       sources."env-variable-0.0.5"
-      sources."eventemitter3-3.1.0"
+      sources."eventemitter3-3.1.2"
       sources."fast-safe-stringify-2.0.6"
       sources."fecha-2.3.3"
       sources."follow-redirects-1.7.0"
@@ -39798,9 +41813,9 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-11.13.7"
+      sources."@types/node-12.0.0"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."ajv-6.10.0"
       sources."ansi-0.3.1"
       sources."ansi-align-2.0.0"
@@ -39877,7 +41892,7 @@ in
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.7"
       sources."component-emitter-1.3.0"
-      sources."compressible-2.0.16"
+      sources."compressible-2.0.17"
       sources."compression-1.7.4"
       sources."concat-map-0.0.1"
       sources."conf-1.4.0"
@@ -39999,7 +42014,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -40124,7 +42139,7 @@ in
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       sources."nanomatch-1.2.13"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
       sources."nopt-4.0.1"
       sources."normalize-package-data-2.5.0"
@@ -40217,14 +42232,14 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-from-4.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
       sources."resumer-0.0.0"
       sources."ret-0.1.15"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -40335,7 +42350,7 @@ in
       sources."tslib-1.9.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."underscore-1.9.1"
       (sources."union-value-1.0.0" // {
         dependencies = [
@@ -40411,7 +42426,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-11.13.7"
+      sources."@types/node-12.0.0"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -40513,7 +42528,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -40617,7 +42632,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
       sources."safe-buffer-5.1.2"
@@ -40743,7 +42758,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.1"
-      sources."@types/node-11.13.7"
+      sources."@types/node-12.0.0"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -40772,7 +42787,7 @@ in
       sources."d-1.0.0"
       sources."debug-3.2.6"
       sources."delayed-stream-1.0.0"
-      sources."es5-ext-0.10.49"
+      sources."es5-ext-0.10.50"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       sources."es6-set-0.1.5"
@@ -40859,7 +42874,7 @@ in
         ];
       })
       sources."which-1.3.1"
-      sources."xstream-11.10.0"
+      sources."xstream-11.11.0"
       sources."yallist-2.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -40874,10 +42889,10 @@ in
   create-react-app = nodeEnv.buildNodePackage {
     name = "create-react-app";
     packageName = "create-react-app";
-    version = "3.0.0";
+    version = "3.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-3.0.0.tgz";
-      sha512 = "0Q54JOwb88ccGTIG6C9KAwY9sO7ZEKVsh3g1BcHr/NvdQjZu8j6jHqQQlgiGZeevjrOhPlPFdUnd2OaNdVGezA==";
+      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-3.0.1.tgz";
+      sha512 = "uOLGMyegGQbm7/kWbHUzsqM16MiehRItBq3WXamzYsKLXdXXAHxEEX57WqcFwd/XybeD/1/KSYkroJdEyk7swA==";
     };
     dependencies = [
       sources."ansi-escapes-3.2.0"
@@ -40912,7 +42927,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fstream-1.0.11"
       sources."fstream-ignore-1.0.5"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."has-flag-3.0.0"
       sources."hyperquest-2.1.3"
@@ -40943,7 +42958,7 @@ in
       sources."restore-cursor-2.0.0"
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-6.0.0"
@@ -41299,7 +43314,7 @@ in
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."global-4.3.2"
       sources."global-dirs-0.1.1"
       sources."got-6.7.1"
@@ -41324,7 +43339,7 @@ in
         ];
       })
       sources."hypercore-crypto-1.0.0"
-      (sources."hypercore-protocol-6.9.0" // {
+      (sources."hypercore-protocol-6.10.0" // {
         dependencies = [
           sources."varint-5.0.0"
         ];
@@ -41448,7 +43463,7 @@ in
       sources."neat-tasks-1.1.1"
       sources."nets-3.2.0"
       sources."network-address-1.1.2"
-      sources."node-gyp-build-3.8.0"
+      sources."node-gyp-build-3.9.0"
       sources."normalize-path-2.1.1"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
@@ -41574,7 +43589,7 @@ in
         ];
       })
       sources."sodium-javascript-0.5.5"
-      sources."sodium-native-2.3.0"
+      sources."sodium-native-2.4.2"
       sources."sodium-universal-2.0.0"
       sources."sorted-array-functions-1.2.0"
       sources."sorted-indexof-1.0.0"
@@ -41885,10 +43900,10 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "5.1.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-5.1.0.tgz";
-      sha512 = "V01evtLxcM9Zy7lkVJBKJo0M0mYt/D9qum8VL+SCvSSfrh6pYyw1K2gaIJaYDIl+r7eZZPXTSY+G8pJDRtAJAg==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.0.0.tgz";
+      sha512 = "ymamj4Gp1dubQaQ/WL8cK4gyXB/1+cY9Ztv9zoEUBjvHe0d07IM92O2V7rgc5AJ/5nOishy4CcJubAMayqix0w==";
     };
     dependencies = [
       sources."JSONStream-1.3.5"
@@ -41897,7 +43912,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.2"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.441.0"
+      sources."aws-sdk-2.453.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
       sources."base64-js-1.3.0"
@@ -41909,7 +43924,7 @@ in
       sources."combined-stream-1.0.7"
       sources."core-util-is-1.0.2"
       sources."dashdash-1.14.1"
-      sources."decimal.js-10.1.1"
+      sources."decimal.js-10.2.0"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.2"
       sources."events-1.1.1"
@@ -42020,7 +44035,7 @@ in
     dependencies = [
       sources."@cnakazawa/watch-1.0.3"
       sources."@sindresorhus/is-0.7.0"
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."ansi-styles-3.2.1"
       sources."anymatch-2.0.0"
       sources."arr-diff-4.0.0"
@@ -42120,7 +44135,11 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."express-4.16.4"
+      (sources."express-4.16.4" // {
+        dependencies = [
+          sources."serve-static-1.13.2"
+        ];
+      })
       (sources."express-ws-4.0.0" // {
         dependencies = [
           sources."ws-5.2.2"
@@ -42212,7 +44231,7 @@ in
       })
       sources."ms-2.0.0"
       sources."nanomatch-1.2.13"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
       sources."node-int64-0.4.0"
       sources."normalize-path-2.1.1"
@@ -42274,7 +44293,16 @@ in
       sources."sane-4.1.0"
       sources."semver-5.7.0"
       sources."send-0.16.2"
-      sources."serve-static-1.13.2"
+      (sources."serve-static-1.14.0" // {
+        dependencies = [
+          sources."http-errors-1.7.2"
+          sources."mime-1.6.0"
+          sources."ms-2.1.1"
+          sources."send-0.17.0"
+          sources."setprototypeof-1.1.1"
+          sources."statuses-1.5.0"
+        ];
+      })
       (sources."set-value-2.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -42350,7 +44378,8 @@ in
       })
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
-      sources."type-is-1.6.16"
+      sources."toidentifier-1.0.0"
+      sources."type-is-1.6.18"
       (sources."union-value-1.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -42470,7 +44499,7 @@ in
         ];
       })
       sources."encodeurl-1.0.2"
-      sources."es5-ext-0.10.49"
+      sources."es5-ext-0.10.50"
       sources."es6-iterator-2.0.3"
       sources."es6-promisify-6.0.1"
       sources."es6-symbol-3.1.1"
@@ -42479,7 +44508,7 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."event-emitter-0.3.5"
-      sources."eventemitter3-3.1.0"
+      sources."eventemitter3-3.1.2"
       (sources."execa-0.10.0" // {
         dependencies = [
           sources."cross-spawn-6.0.5"
@@ -42506,7 +44535,7 @@ in
       sources."for-own-0.1.5"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."glob-base-0.3.0"
@@ -42869,8 +44898,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-0.3.0"
       sources."binary-extensions-1.13.1"
-      sources."binwrap-0.2.0"
-      sources."block-stream-0.0.9"
+      sources."binwrap-0.2.1"
       sources."bluebird-3.5.4"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
@@ -42886,9 +44914,10 @@ in
       sources."chalk-2.1.0"
       (sources."chokidar-2.1.2" // {
         dependencies = [
-          sources."fsevents-1.2.8"
+          sources."fsevents-1.2.9"
         ];
       })
+      sources."chownr-1.1.1"
       (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -42972,9 +45001,9 @@ in
       sources."form-data-2.3.3"
       sources."fragment-cache-0.2.1"
       sources."fs-extra-0.30.0"
+      sources."fs-minipass-1.2.5"
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.4"
-      sources."fstream-1.0.11"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."glob-7.1.1"
@@ -43033,6 +45062,12 @@ in
       sources."mime-types-2.1.24"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
+      (sources."minipass-2.3.5" // {
+        dependencies = [
+          sources."yallist-3.0.3"
+        ];
+      })
+      sources."minizlib-1.2.1"
       sources."mixin-deep-1.3.1"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
@@ -43087,7 +45122,7 @@ in
       sources."ret-0.1.15"
       (sources."rimraf-2.6.3" // {
         dependencies = [
-          sources."glob-7.1.3"
+          sources."glob-7.1.4"
         ];
       })
       sources."safe-buffer-5.1.2"
@@ -43154,7 +45189,11 @@ in
       sources."stealthy-require-1.1.1"
       sources."string_decoder-1.1.1"
       sources."supports-color-4.2.0"
-      sources."tar-2.2.1"
+      (sources."tar-4.4.8" // {
+        dependencies = [
+          sources."yallist-3.0.3"
+        ];
+      })
       (sources."temp-0.8.3" // {
         dependencies = [
           sources."rimraf-2.2.8"
@@ -43396,7 +45435,7 @@ in
       sources."regenerator-runtime-0.11.1"
       sources."repeating-2.0.1"
       sources."require-from-string-1.2.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-from-3.0.0"
       sources."restore-cursor-2.0.0"
       sources."safe-buffer-5.1.2"
@@ -43506,8 +45545,8 @@ in
       sources."flatted-2.0.0"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
-      sources."glob-7.1.3"
-      sources."globals-11.11.0"
+      sources."glob-7.1.4"
+      sources."globals-11.12.0"
       sources."has-flag-3.0.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-4.0.6"
@@ -43553,7 +45592,7 @@ in
       sources."restore-cursor-2.0.0"
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.0"
       sources."shebang-command-1.2.0"
@@ -43569,7 +45608,7 @@ in
       })
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      (sources."table-5.2.3" // {
+      (sources."table-5.3.2" // {
         dependencies = [
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
@@ -43651,8 +45690,8 @@ in
       sources."flatted-2.0.0"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
-      sources."glob-7.1.3"
-      sources."globals-11.11.0"
+      sources."glob-7.1.4"
+      sources."globals-11.12.0"
       sources."has-flag-3.0.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-4.0.6"
@@ -43696,12 +45735,12 @@ in
       sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."regexpp-2.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-from-4.0.0"
       sources."restore-cursor-2.0.0"
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.0"
       sources."shebang-command-1.2.0"
@@ -43717,7 +45756,7 @@ in
       })
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      (sources."table-5.2.3" // {
+      (sources."table-5.3.2" // {
         dependencies = [
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
@@ -43903,7 +45942,7 @@ in
       sources."repeating-2.0.1"
       sources."request-2.88.0"
       sources."request-progress-2.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."restore-cursor-1.0.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -44080,10 +46119,10 @@ in
       sources."read-pkg-up-3.0.0"
       sources."readable-stream-2.3.6"
       sources."redent-2.0.0"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."restore-cursor-2.0.0"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sec-1.0.0"
@@ -44249,9 +46288,9 @@ in
       })
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."get-value-2.0.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."graceful-fs-4.1.15"
@@ -44586,7 +46625,7 @@ in
       sources."microee-0.0.6"
       sources."minilog-3.1.0"
       sources."ms-2.1.1"
-      sources."simple-git-1.110.0"
+      sources."simple-git-1.113.0"
       sources."tabtab-git+https://github.com/mixu/node-tabtab.git"
     ];
     buildInputs = globalBuildInputs;
@@ -44612,7 +46651,6 @@ in
       sources."chloride-test-1.2.4"
       sources."commander-2.20.0"
       sources."debug-4.1.1"
-      sources."deep-equal-1.0.1"
       sources."deep-extend-0.6.0"
       sources."diff-3.5.0"
       sources."discontinuous-range-1.0.0"
@@ -44633,7 +46671,7 @@ in
       sources."is-canonical-base64-1.1.1"
       sources."is-electron-2.2.0"
       sources."is-my-ip-valid-1.0.0"
-      sources."is-my-json-valid-2.19.0"
+      sources."is-my-json-valid-2.20.0"
       sources."is-property-1.0.2"
       sources."is-valid-domain-0.0.9"
       sources."json-buffer-2.0.11"
@@ -44656,13 +46694,13 @@ in
       sources."moo-0.4.3"
       sources."ms-2.1.1"
       sources."multicb-1.2.2"
-      sources."multiserver-3.3.2"
+      sources."multiserver-3.3.3"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
       sources."muxrpc-6.4.2"
       sources."nan-2.13.2"
       sources."nearley-2.16.0"
-      sources."node-gyp-build-3.8.0"
+      sources."node-gyp-build-3.9.0"
       sources."node-polyglot-1.0.0"
       sources."non-private-ip-1.4.4"
       sources."options-0.0.6"
@@ -44709,7 +46747,7 @@ in
       sources."pull-pushable-2.2.0"
       sources."pull-reader-1.3.1"
       sources."pull-skip-footer-0.1.0"
-      sources."pull-stream-3.6.9"
+      sources."pull-stream-3.6.11"
       (sources."pull-through-1.0.18" // {
         dependencies = [
           sources."looper-3.0.0"
@@ -44723,7 +46761,7 @@ in
       sources."remove-markdown-0.1.0"
       sources."ret-0.1.15"
       sources."safe-buffer-5.1.2"
-      sources."secret-handshake-1.1.16"
+      sources."secret-handshake-1.1.18"
       sources."semver-5.7.0"
       sources."separator-escape-0.0.0"
       sources."sha.js-2.4.5"
@@ -44737,15 +46775,15 @@ in
         ];
       })
       sources."sodium-chloride-1.1.2"
-      sources."sodium-native-2.3.0"
+      sources."sodium-native-2.4.2"
       sources."split-buffer-1.0.0"
       sources."ssb-avatar-0.2.0"
-      sources."ssb-client-4.7.2"
+      sources."ssb-client-4.7.4"
       sources."ssb-config-2.3.9"
       sources."ssb-git-0.5.0"
       sources."ssb-git-repo-2.8.3"
       sources."ssb-issues-1.0.0"
-      sources."ssb-keys-7.1.5"
+      sources."ssb-keys-7.1.6"
       sources."ssb-marked-0.6.0"
       (sources."ssb-mentions-0.1.2" // {
         dependencies = [
@@ -44820,7 +46858,7 @@ in
           sources."yargs-parser-7.0.0"
         ];
       })
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."agent-base-4.2.1"
       sources."ajv-6.10.0"
       sources."ansi-align-2.0.0"
@@ -44989,7 +47027,7 @@ in
       sources."get-caller-file-1.0.3"
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."global-dirs-0.1.1"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
@@ -45007,7 +47045,7 @@ in
           sources."ms-2.1.1"
         ];
       })
-      sources."graphql-14.2.1"
+      sources."graphql-14.3.0"
       (sources."graphql-cli-prepare-1.4.19" // {
         dependencies = [
           sources."chalk-2.3.1"
@@ -45157,10 +47195,10 @@ in
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.7"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
       sources."no-case-2.3.2"
-      sources."node-fetch-2.3.0"
+      sources."node-fetch-2.5.0"
       sources."node-request-by-swagger-1.1.4"
       sources."normalize-package-data-2.5.0"
       sources."npm-path-2.0.4"
@@ -45262,13 +47300,13 @@ in
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-from-4.0.0"
       sources."restore-cursor-2.0.0"
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."scuid-1.1.0"
@@ -45335,7 +47373,7 @@ in
       sources."tslib-1.9.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."unique-string-1.0.0"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
@@ -45576,7 +47614,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -45661,7 +47699,7 @@ in
       })
       sources."urix-0.1.0"
       sources."use-3.1.1"
-      sources."v8flags-3.1.2"
+      sources."v8flags-3.1.3"
       sources."which-1.3.1"
     ];
     buildInputs = globalBuildInputs;
@@ -45676,10 +47714,10 @@ in
   gulp = nodeEnv.buildNodePackage {
     name = "gulp";
     packageName = "gulp";
-    version = "4.0.1";
+    version = "4.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gulp/-/gulp-4.0.1.tgz";
-      sha512 = "yDVtVunxrAdsk7rIV/b7lVSBifPN1Eqe6wTjsESGrFcL+MEVzaaeNTkpUuGTUptloSOU+8oJm/lBJbgPV+tMAw==";
+      url = "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz";
+      sha512 = "dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==";
     };
     dependencies = [
       sources."ansi-colors-1.1.0"
@@ -45794,7 +47832,7 @@ in
       sources."each-props-1.3.2"
       sources."end-of-stream-1.4.1"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.49"
+      sources."es5-ext-0.10.50"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.1"
       sources."es6-weak-map-2.0.2"
@@ -45845,11 +47883,11 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
       sources."get-value-2.0.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -45999,7 +48037,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -46113,7 +48151,7 @@ in
       sources."urix-0.1.0"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."v8flags-3.1.2"
+      sources."v8flags-3.1.3"
       sources."validate-npm-package-license-3.0.4"
       sources."value-or-function-3.0.0"
       sources."vinyl-2.2.0"
@@ -46200,7 +48238,7 @@ in
       sources."detect-file-1.0.0"
       sources."each-props-1.3.2"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.49"
+      sources."es5-ext-0.10.50"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.1"
       (sources."expand-brackets-2.1.4" // {
@@ -46375,7 +48413,7 @@ in
       sources."replace-homedir-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -46462,7 +48500,7 @@ in
       sources."urix-0.1.0"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."v8flags-3.1.2"
+      sources."v8flags-3.1.3"
       sources."validate-npm-package-license-3.0.4"
       sources."which-1.3.1"
       sources."which-module-1.0.0"
@@ -46618,7 +48656,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.5.6"
+      sources."uglify-js-3.5.11"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -46644,7 +48682,7 @@ in
       sources."corser-2.0.1"
       sources."debug-3.2.6"
       sources."ecstatic-3.3.1"
-      sources."eventemitter3-3.1.0"
+      sources."eventemitter3-3.1.2"
       sources."follow-redirects-1.7.0"
       sources."he-1.2.0"
       sources."http-proxy-1.17.0"
@@ -46708,7 +48746,7 @@ in
       sources."extsprintf-1.4.0"
       sources."fs.realpath-1.0.0"
       sources."fuzzyset.js-0.0.1"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."hue-sdk-0.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -46757,7 +48795,7 @@ in
       sources."@ionic/utils-stream-0.0.1"
       sources."@ionic/utils-subprocess-0.1.0"
       sources."@ionic/utils-terminal-0.0.1"
-      sources."@types/node-8.10.46"
+      sources."@types/node-8.10.48"
       sources."agent-base-4.2.1"
       (sources."ansi-align-2.0.0" // {
         dependencies = [
@@ -46768,7 +48806,7 @@ in
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
-      sources."ast-types-0.12.3"
+      sources."ast-types-0.12.4"
       sources."astral-regex-1.0.0"
       sources."async-limiter-1.0.0"
       sources."asynckit-0.4.0"
@@ -46847,7 +48885,7 @@ in
           sources."readable-stream-3.3.0"
         ];
       })
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."global-dirs-0.1.1"
       (sources."got-6.7.1" // {
         dependencies = [
@@ -46991,7 +49029,7 @@ in
       sources."rimraf-2.6.3"
       sources."rsvp-3.6.2"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.1.4"
@@ -47186,7 +49224,7 @@ in
       sources."async-limiter-1.0.0"
       sources."chrome-remote-interface-0.26.1"
       sources."commander-2.11.0"
-      sources."node-fetch-2.3.0"
+      sources."node-fetch-2.5.0"
       sources."safe-buffer-5.1.2"
       sources."semver-5.7.0"
       sources."source-map-0.7.3"
@@ -47267,12 +49305,12 @@ in
       sources."fast-json-patch-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."get-func-name-2.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."has-flag-3.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."iterare-1.1.2"
-      (sources."jaeger-client-3.14.4" // {
+      (sources."jaeger-client-3.15.0" // {
         dependencies = [
           sources."opentracing-0.13.0"
         ];
@@ -47321,10 +49359,10 @@ in
   joplin = nodeEnv.buildNodePackage {
     name = "joplin";
     packageName = "joplin";
-    version = "1.0.124";
+    version = "1.0.125";
     src = fetchurl {
-      url = "https://registry.npmjs.org/joplin/-/joplin-1.0.124.tgz";
-      sha512 = "+ADcAggh5HUOZLEW3Q60KcV7Mz86w+2wYrkG6mHtnyJ+nqEdXHWwOG3g61QH9A+3w3vSFDUvEMs6wraGg+ySQQ==";
+      url = "https://registry.npmjs.org/joplin/-/joplin-1.0.125.tgz";
+      sha512 = "UeFp4ZIP1BuAGVwBYetHk6bB/JS8fbVrrUY277Q/dVOW0n9DRz58dTegFIuQBCVQieyKSM71iQudp55SxvW23Q==";
     };
     dependencies = [
       sources."@cronvel/get-pixels-3.3.1"
@@ -47436,7 +49474,7 @@ in
       sources."fast-deep-equal-2.0.1"
       sources."fast-json-stable-stringify-2.0.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fault-1.0.2"
+      sources."fault-1.0.3"
       sources."file-type-10.11.0"
       sources."find-up-2.1.0"
       sources."follow-redirects-1.7.0"
@@ -47459,7 +49497,7 @@ in
       sources."get-stdin-5.0.1"
       sources."getpass-0.1.7"
       sources."github-from-package-0.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -47572,14 +49610,14 @@ in
       sources."nan-2.13.2"
       sources."ndarray-1.0.18"
       sources."ndarray-pack-1.2.1"
-      (sources."needle-2.3.0" // {
+      (sources."needle-2.3.1" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
       })
       sources."nextgen-events-1.1.1"
       sources."no-case-2.3.2"
-      sources."node-abi-2.7.1"
+      sources."node-abi-2.8.0"
       sources."node-bitmap-0.0.1"
       sources."node-emoji-1.10.0"
       sources."node-fetch-1.7.3"
@@ -47591,7 +49629,7 @@ in
       sources."npm-packlist-1.4.1"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
-      sources."nwsapi-2.1.3"
+      sources."nwsapi-2.1.4"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       (sources."object-to-arguments-0.0.8" // {
@@ -47671,15 +49709,11 @@ in
       sources."source-map-0.6.1"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
-      (sources."sqlite3-4.0.6" // {
-        dependencies = [
-          sources."nan-2.10.0"
-        ];
-      })
+      sources."sqlite3-4.0.7"
       sources."sshpk-1.16.1"
       sources."stealthy-require-1.1.1"
       sources."strict-uri-encode-1.1.0"
-      sources."string-kit-0.9.3"
+      sources."string-kit-0.9.4"
       sources."string-padding-1.0.2"
       sources."string-to-stream-1.1.1"
       (sources."string-width-1.0.2" // {
@@ -47749,7 +49783,7 @@ in
       sources."unpack-string-0.0.2"
       sources."upper-case-1.1.3"
       sources."uri-js-4.2.2"
-      sources."url-parse-1.4.6"
+      sources."url-parse-1.4.7"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.3.2"
       sources."valid-url-1.0.9"
@@ -47791,41 +49825,41 @@ in
   jsdoc = nodeEnv.buildNodePackage {
     name = "jsdoc";
     packageName = "jsdoc";
-    version = "3.5.5";
+    version = "3.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.5.5.tgz";
-      sha512 = "6PxB65TAU4WO0Wzyr/4/YhlGovXl0EVYfpKbpSroSj0qBxT4/xod/l40Opkm38dRHRdQgdeY836M0uVnJQG7kg==";
+      url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.1.tgz";
+      sha512 = "mMMsst31b8c7/Z6ewnO6ORIdVMwsobg1enX9b/2XAzW8mM3KuMANRWcMD1KMBq91IAUMOIhC5NsXu7xvNQrRyQ==";
     };
     dependencies = [
-      sources."babylon-7.0.0-beta.19"
+      sources."@babel/parser-7.4.4"
+      sources."argparse-1.0.10"
       sources."bluebird-3.5.4"
-      sources."catharsis-0.8.9"
-      sources."escape-string-regexp-1.0.5"
+      sources."catharsis-0.8.10"
+      sources."entities-1.1.2"
+      sources."escape-string-regexp-2.0.0"
       sources."graceful-fs-4.1.15"
-      sources."js2xmlparser-3.0.0"
-      sources."klaw-2.0.0"
-      sources."marked-0.3.19"
+      sources."js2xmlparser-4.0.0"
+      sources."klaw-3.0.0"
+      sources."linkify-it-2.1.0"
+      sources."lodash-4.17.11"
+      sources."markdown-it-8.4.2"
+      sources."markdown-it-anchor-5.0.2"
+      sources."marked-0.6.2"
+      sources."mdurl-1.0.1"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
-      (sources."requizzle-0.2.1" // {
-        dependencies = [
-          sources."underscore-1.6.0"
-        ];
-      })
-      sources."strip-json-comments-2.0.1"
+      sources."requizzle-0.2.2"
+      sources."sprintf-js-1.0.3"
+      sources."strip-json-comments-3.0.1"
       sources."taffydb-2.6.2"
-      sources."underscore-1.8.3"
-      (sources."underscore-contrib-0.3.0" // {
-        dependencies = [
-          sources."underscore-1.6.0"
-        ];
-      })
-      sources."xmlcreate-1.0.2"
+      sources."uc.micro-1.0.6"
+      sources."underscore-1.9.1"
+      sources."xmlcreate-2.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "An API documentation generator for JavaScript.";
-      homepage = "https://github.com/jsdoc3/jsdoc#readme";
+      homepage = "https://github.com/jsdoc/jsdoc#readme";
       license = "Apache-2.0";
     };
     production = true;
@@ -47858,7 +49892,7 @@ in
       sources."entities-1.0.0"
       sources."exit-0.1.2"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."htmlparser2-3.8.3"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -47901,10 +49935,10 @@ in
   js-beautify = nodeEnv.buildNodePackage {
     name = "js-beautify";
     packageName = "js-beautify";
-    version = "1.9.1";
+    version = "1.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.9.1.tgz";
-      sha512 = "oxxvVZdOdUfzk8IOLBF2XUZvl2GoBEfA+b0of4u2EBY/46NlXasi8JdFvazA5lCrf9/lQhTjyVy2QCUW7iq0MQ==";
+      url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.0.tgz";
+      sha512 = "OMwf/tPDpE/BLlYKqZOhqWsd3/z2N3KOlyn1wsCRGFwViE8LOQTcDtathQvHvZc+q+zWmcNAbwKSC+iJoMaH2Q==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -47915,7 +49949,7 @@ in
       sources."config-chain-1.1.12"
       sources."editorconfig-0.15.3"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
@@ -48058,7 +50092,7 @@ in
       sha512 = "MfU7069e/kLp1e33n3JQ2DAH9UJrs/UYlXbzWgegBTXoGEmVkIzkO3T8ZyIkCTDBWzUeGTCBZV7brdyTcm6LWg==";
     };
     dependencies = [
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."ajv-6.10.0"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
@@ -48071,9 +50105,9 @@ in
       sources."aws4-1.8.0"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."body-parser-1.18.3"
+      sources."body-parser-1.19.0"
       sources."boxen-1.3.0"
-      sources."bytes-3.0.0"
+      sources."bytes-3.1.0"
       sources."camelcase-4.1.0"
       sources."capture-stack-trace-1.0.1"
       sources."caseless-0.12.0"
@@ -48085,8 +50119,12 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.7"
-      sources."compressible-2.0.16"
-      sources."compression-1.7.4"
+      sources."compressible-2.0.17"
+      (sources."compression-1.7.4" // {
+        dependencies = [
+          sources."bytes-3.0.0"
+        ];
+      })
       sources."configstore-3.1.2"
       sources."connect-pause-0.1.1"
       sources."content-disposition-0.5.2"
@@ -48111,13 +50149,20 @@ in
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.1"
-      sources."errorhandler-1.5.0"
+      sources."errorhandler-1.5.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."execa-0.7.0"
       (sources."express-4.16.4" // {
         dependencies = [
+          sources."body-parser-1.18.3"
+          sources."bytes-3.0.0"
+          sources."http-errors-1.6.3"
+          sources."iconv-lite-0.4.23"
+          sources."qs-6.5.2"
+          sources."raw-body-2.3.3"
+          sources."setprototypeof-1.1.0"
           sources."statuses-1.4.0"
         ];
       })
@@ -48149,9 +50194,9 @@ in
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
-      sources."http-errors-1.6.3"
+      sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
-      sources."iconv-lite-0.4.23"
+      sources."iconv-lite-0.4.24"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."inherits-2.0.3"
@@ -48206,7 +50251,7 @@ in
       sources."morgan-1.9.1"
       sources."ms-2.0.0"
       sources."nanoid-2.0.1"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
@@ -48244,13 +50289,17 @@ in
       sources."psl-1.1.31"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.7.0"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.3"
+      sources."raw-body-2.4.0"
       sources."rc-1.2.8"
       sources."registry-auth-token-3.4.0"
       sources."registry-url-3.1.0"
-      sources."request-2.88.0"
+      (sources."request-2.88.0" // {
+        dependencies = [
+          sources."qs-6.5.2"
+        ];
+      })
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."safe-buffer-5.1.2"
@@ -48260,13 +50309,15 @@ in
       sources."semver-diff-2.1.0"
       (sources."send-0.16.2" // {
         dependencies = [
+          sources."http-errors-1.6.3"
+          sources."setprototypeof-1.1.0"
           sources."statuses-1.4.0"
         ];
       })
       sources."serve-static-1.13.2"
       sources."server-destroy-1.0.1"
       sources."set-blocking-2.0.0"
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.1.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -48280,6 +50331,7 @@ in
       sources."supports-color-5.5.0"
       sources."term-size-1.2.0"
       sources."timed-out-4.0.1"
+      sources."toidentifier-1.0.0"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -48287,7 +50339,7 @@ in
       })
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."unique-string-1.0.0"
       sources."unpipe-1.0.0"
       sources."unzip-response-2.0.1"
@@ -48361,7 +50413,7 @@ in
       sha512 = "xckiDqyNi512U4dXGOOSyLKPwek6X/vUizSy2f3geYevbLj+UIdvNwbn7IwfUIL2g1GXEPWt/87qFD1fBbl/Uw==";
     };
     dependencies = [
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."after-0.8.2"
       (sources."anymatch-2.0.0" // {
         dependencies = [
@@ -48391,13 +50443,13 @@ in
       sources."binary-extensions-1.13.1"
       sources."blob-0.0.5"
       sources."bluebird-3.5.4"
-      sources."body-parser-1.18.3"
+      sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-2.3.2"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-fill-1.0.0"
-      sources."bytes-3.0.0"
+      sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
       sources."callsite-1.0.0"
       sources."chokidar-2.1.5"
@@ -48453,7 +50505,7 @@ in
       sources."engine.io-parser-2.1.3"
       sources."ent-2.2.0"
       sources."escape-html-1.0.3"
-      sources."eventemitter3-3.1.0"
+      sources."eventemitter3-3.1.2"
       sources."expand-brackets-2.1.4"
       sources."extend-3.0.2"
       sources."extend-shallow-2.0.1"
@@ -48479,9 +50531,9 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."get-value-2.0.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -48500,9 +50552,9 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."http-errors-1.6.3"
+      sources."http-errors-1.7.2"
       sources."http-proxy-1.17.0"
-      sources."iconv-lite-0.4.23"
+      sources."iconv-lite-0.4.24"
       sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -48535,7 +50587,7 @@ in
       sources."jsonfile-4.0.0"
       sources."kind-of-3.2.2"
       sources."lodash-4.17.11"
-      (sources."log4js-4.1.0" // {
+      (sources."log4js-4.1.1" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.1"
@@ -48573,7 +50625,7 @@ in
           sources."kind-of-6.0.2"
         ];
       })
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."normalize-path-3.0.0"
       sources."object-component-0.0.3"
       sources."object-copy-0.1.0"
@@ -48593,9 +50645,9 @@ in
       sources."process-nextick-args-2.0.0"
       sources."pseudomap-1.0.2"
       sources."qjobs-1.2.0"
-      sources."qs-6.5.2"
+      sources."qs-6.7.0"
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.3"
+      sources."raw-body-2.4.0"
       sources."readable-stream-2.3.6"
       sources."readdirp-2.2.1"
       (sources."regex-not-1.0.2" // {
@@ -48616,7 +50668,7 @@ in
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       sources."set-value-2.0.0"
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.1.1"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."source-map-0.5.7"
@@ -48676,7 +50728,8 @@ in
         ];
       })
       sources."to-regex-range-2.1.1"
-      sources."type-is-1.6.16"
+      sources."toidentifier-1.0.0"
+      sources."type-is-1.6.18"
       sources."ultron-1.1.1"
       (sources."union-value-1.0.0" // {
         dependencies = [
@@ -48746,7 +50799,7 @@ in
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."glob-parent-3.1.0"
       sources."glob-stream-6.1.0"
       sources."graceful-fs-4.1.15"
@@ -48889,7 +50942,7 @@ in
       sources."get-caller-file-1.0.3"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
       sources."has-flag-3.0.0"
@@ -49069,16 +51122,16 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "3.13.3";
+    version = "3.13.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-3.13.3.tgz";
-      sha512 = "0TkG40F02A4wjKraJBztPtj87BjUezFmaZKAha8eLdtngZkSpAdrSANa5K7jnnA8mywmpQwrKJuBmjdNpm9cBw==";
+      url = "https://registry.npmjs.org/lerna/-/lerna-3.13.4.tgz";
+      sha512 = "qTp22nlpcgVrJGZuD7oHnFbTk72j2USFimc2Pj4kC0/rXmcU2xPtCiyuxLl8y6/6Lj5g9kwEuvKDZtSXujjX/A==";
     };
     dependencies = [
       sources."@lerna/add-3.13.3"
       sources."@lerna/batch-packages-3.13.0"
       sources."@lerna/bootstrap-3.13.3"
-      sources."@lerna/changed-3.13.3"
+      sources."@lerna/changed-3.13.4"
       sources."@lerna/check-working-tree-3.13.3"
       sources."@lerna/child-process-3.13.3"
       sources."@lerna/clean-3.13.3"
@@ -49098,7 +51151,7 @@ in
       sources."@lerna/github-client-3.13.3"
       sources."@lerna/global-options-3.13.0"
       sources."@lerna/has-npm-version-3.13.3"
-      sources."@lerna/import-3.13.3"
+      sources."@lerna/import-3.13.4"
       sources."@lerna/init-3.13.3"
       sources."@lerna/link-3.13.3"
       sources."@lerna/list-3.13.3"
@@ -49115,7 +51168,7 @@ in
       sources."@lerna/package-graph-3.13.0"
       sources."@lerna/project-3.13.1"
       sources."@lerna/prompt-3.13.0"
-      sources."@lerna/publish-3.13.3"
+      sources."@lerna/publish-3.13.4"
       sources."@lerna/pulse-till-done-3.13.0"
       sources."@lerna/resolve-symlink-3.13.0"
       sources."@lerna/rimraf-dir-3.13.3"
@@ -49126,14 +51179,24 @@ in
       sources."@lerna/symlink-dependencies-3.13.0"
       sources."@lerna/timer-3.13.0"
       sources."@lerna/validation-error-3.13.0"
-      sources."@lerna/version-3.13.3"
+      sources."@lerna/version-3.13.4"
       sources."@lerna/write-log-file-3.13.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
-      sources."@octokit/endpoint-4.0.0"
+      (sources."@octokit/endpoint-5.1.1" // {
+        dependencies = [
+          sources."is-plain-object-3.0.0"
+          sources."isobject-4.0.0"
+        ];
+      })
       sources."@octokit/plugin-enterprise-rest-2.2.2"
-      sources."@octokit/request-3.0.0"
-      sources."@octokit/rest-16.25.0"
+      (sources."@octokit/request-3.0.2" // {
+        dependencies = [
+          sources."is-plain-object-3.0.0"
+          sources."isobject-4.0.0"
+        ];
+      })
+      sources."@octokit/rest-16.25.3"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."agent-base-4.2.1"
@@ -49172,7 +51235,6 @@ in
       })
       sources."bcrypt-pbkdf-1.0.2"
       sources."before-after-hook-1.4.0"
-      sources."block-stream-0.0.9"
       sources."bluebird-3.5.4"
       sources."brace-expansion-1.1.11"
       (sources."braces-2.3.2" // {
@@ -49369,7 +51431,6 @@ in
       sources."fs-minipass-1.2.5"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fstream-1.0.11"
       (sources."gauge-2.7.4" // {
         dependencies = [
           sources."is-fullwidth-code-point-1.0.0"
@@ -49414,7 +51475,7 @@ in
       sources."git-up-4.0.1"
       sources."git-url-parse-11.1.2"
       sources."gitconfiglocal-1.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."glob-parent-3.1.0"
       sources."glob-to-regexp-0.3.0"
       sources."globby-8.0.2"
@@ -49586,19 +51647,18 @@ in
       sources."nanomatch-1.2.13"
       sources."neo-async-2.6.0"
       sources."nice-try-1.0.5"
-      sources."node-fetch-2.3.0"
+      sources."node-fetch-2.5.0"
       sources."node-fetch-npm-2.0.2"
-      (sources."node-gyp-3.8.0" // {
+      (sources."node-gyp-4.0.0" // {
         dependencies = [
           sources."semver-5.3.0"
-          sources."tar-2.2.1"
         ];
       })
       sources."nopt-3.0.6"
       sources."normalize-package-data-2.5.0"
       sources."normalize-url-3.3.0"
       sources."npm-bundled-1.0.6"
-      sources."npm-lifecycle-2.1.0"
+      sources."npm-lifecycle-2.1.1"
       sources."npm-package-arg-6.1.0"
       sources."npm-packlist-1.4.1"
       sources."npm-pick-manifest-2.2.3"
@@ -49722,7 +51782,7 @@ in
       sources."request-2.88.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       (sources."resolve-cwd-2.0.0" // {
         dependencies = [
           sources."resolve-from-3.0.0"
@@ -49736,7 +51796,7 @@ in
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
       sources."run-queue-1.0.3"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -49855,7 +51915,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."typedarray-0.0.6"
-      (sources."uglify-js-3.5.6" // {
+      (sources."uglify-js-3.5.11" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -49870,7 +51930,7 @@ in
       })
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.1"
-      sources."universal-user-agent-2.0.3"
+      sources."universal-user-agent-2.1.0"
       sources."universalify-0.1.2"
       (sources."unset-value-1.0.0" // {
         dependencies = [
@@ -50037,7 +52097,7 @@ in
       sha512 = "Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==";
     };
     dependencies = [
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       (sources."anymatch-2.0.0" // {
         dependencies = [
           sources."normalize-path-2.1.1"
@@ -50143,7 +52203,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from-0.1.7"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."get-value-2.0.6"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
@@ -50158,7 +52218,7 @@ in
         ];
       })
       sources."http-auth-3.1.3"
-      (sources."http-errors-1.6.3" // {
+      (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."statuses-1.5.0"
         ];
@@ -50188,7 +52248,7 @@ in
       sources."map-stream-0.1.0"
       sources."map-visit-1.0.0"
       sources."micromatch-3.1.10"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."mime-db-1.40.0"
       sources."mime-types-2.1.24"
       sources."mixin-deep-1.3.1"
@@ -50196,7 +52256,7 @@ in
       sources."ms-2.0.0"
       sources."nan-2.13.2"
       sources."nanomatch-1.2.13"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."normalize-path-3.0.0"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
@@ -50236,19 +52296,26 @@ in
       sources."ret-0.1.15"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
-      (sources."send-0.16.2" // {
+      (sources."send-0.17.0" // {
         dependencies = [
-          sources."statuses-1.4.0"
+          sources."ms-2.1.1"
+          sources."statuses-1.5.0"
+        ];
+      })
+      (sources."serve-index-1.9.1" // {
+        dependencies = [
+          sources."http-errors-1.6.3"
+          sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-index-1.9.1"
       (sources."set-value-2.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.1.1"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -50311,6 +52378,7 @@ in
       })
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
+      sources."toidentifier-1.0.0"
       (sources."union-value-1.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -50358,7 +52426,7 @@ in
       sha512 = "C5x12+bwk7m2Sx3U27VZ7h5KP7vIlKfZGCabMi73nBGp0zPHtCaxQTPXDRoX5479EZUvycYJI0aD4h1d4+ds7w==";
     };
     dependencies = [
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."after-0.8.2"
       sources."ajv-6.10.0"
       sources."anymatch-1.3.2"
@@ -50391,9 +52459,9 @@ in
       sources."better-assert-1.0.2"
       sources."binary-extensions-1.13.1"
       sources."blob-0.0.5"
-      sources."body-parser-1.18.3"
+      sources."body-parser-1.19.0"
       sources."braces-1.8.5"
-      sources."bytes-3.0.0"
+      sources."bytes-3.1.0"
       (sources."cache-base-1.0.1" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -50465,6 +52533,13 @@ in
       sources."expand-range-1.8.2"
       (sources."express-4.16.4" // {
         dependencies = [
+          sources."body-parser-1.18.3"
+          sources."bytes-3.0.0"
+          sources."http-errors-1.6.3"
+          sources."iconv-lite-0.4.23"
+          sources."qs-6.5.2"
+          sources."raw-body-2.3.3"
+          sources."setprototypeof-1.1.0"
           sources."statuses-1.4.0"
         ];
       })
@@ -50492,7 +52567,7 @@ in
       sources."forwarded-0.1.2"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."github-slugger-1.2.1"
@@ -50523,9 +52598,9 @@ in
         ];
       })
       sources."html-entities-1.2.1"
-      sources."http-errors-1.6.3"
+      sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
-      sources."iconv-lite-0.4.23"
+      sources."iconv-lite-0.4.24"
       sources."indexof-0.0.1"
       sources."inherits-2.0.3"
       sources."innertext-1.0.3"
@@ -50603,7 +52678,7 @@ in
           sources."kind-of-6.0.2"
         ];
       })
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."normalize-path-2.1.1"
       sources."oauth-sign-0.9.0"
       sources."object-component-0.0.3"
@@ -50646,7 +52721,7 @@ in
       sources."proxy-addr-2.0.5"
       sources."psl-1.1.31"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.7.0"
       (sources."randomatic-3.1.1" // {
         dependencies = [
           sources."is-number-4.0.0"
@@ -50654,7 +52729,7 @@ in
         ];
       })
       sources."range-parser-1.2.0"
-      sources."raw-body-2.3.3"
+      sources."raw-body-2.4.0"
       sources."readable-stream-2.3.6"
       (sources."readdirp-2.2.1" // {
         dependencies = [
@@ -50712,7 +52787,11 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."request-2.88.0"
+      (sources."request-2.88.0" // {
+        dependencies = [
+          sources."qs-6.5.2"
+        ];
+      })
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
       sources."safe-buffer-5.1.2"
@@ -50720,6 +52799,8 @@ in
       sources."safer-buffer-2.1.2"
       (sources."send-0.16.2" // {
         dependencies = [
+          sources."http-errors-1.6.3"
+          sources."setprototypeof-1.1.0"
           sources."statuses-1.4.0"
         ];
       })
@@ -50729,7 +52810,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.1.1"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -50808,6 +52889,7 @@ in
           sources."is-number-3.0.0"
         ];
       })
+      sources."toidentifier-1.0.0"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -50815,7 +52897,7 @@ in
       })
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."uc.micro-1.0.6"
       (sources."union-value-1.0.0" // {
         dependencies = [
@@ -50863,80 +52945,80 @@ in
     src = ../interpreters/clojurescript/lumo;
     dependencies = [
       sources."@babel/code-frame-7.0.0"
-      sources."@babel/core-7.4.3"
-      sources."@babel/generator-7.4.0"
+      sources."@babel/core-7.4.4"
+      sources."@babel/generator-7.4.4"
       sources."@babel/helper-annotate-as-pure-7.0.0"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.1.0"
-      sources."@babel/helper-call-delegate-7.4.0"
-      sources."@babel/helper-create-class-features-plugin-7.4.3"
-      sources."@babel/helper-define-map-7.4.0"
+      sources."@babel/helper-call-delegate-7.4.4"
+      sources."@babel/helper-create-class-features-plugin-7.4.4"
+      sources."@babel/helper-define-map-7.4.4"
       sources."@babel/helper-explode-assignable-expression-7.1.0"
       sources."@babel/helper-function-name-7.1.0"
       sources."@babel/helper-get-function-arity-7.0.0"
-      sources."@babel/helper-hoist-variables-7.4.0"
+      sources."@babel/helper-hoist-variables-7.4.4"
       sources."@babel/helper-member-expression-to-functions-7.0.0"
       sources."@babel/helper-module-imports-7.0.0"
-      sources."@babel/helper-module-transforms-7.4.3"
+      sources."@babel/helper-module-transforms-7.4.4"
       sources."@babel/helper-optimise-call-expression-7.0.0"
       sources."@babel/helper-plugin-utils-7.0.0"
-      sources."@babel/helper-regex-7.4.3"
+      sources."@babel/helper-regex-7.4.4"
       sources."@babel/helper-remap-async-to-generator-7.1.0"
-      sources."@babel/helper-replace-supers-7.4.0"
+      sources."@babel/helper-replace-supers-7.4.4"
       sources."@babel/helper-simple-access-7.1.0"
-      sources."@babel/helper-split-export-declaration-7.4.0"
+      sources."@babel/helper-split-export-declaration-7.4.4"
       sources."@babel/helper-wrap-function-7.2.0"
-      sources."@babel/helpers-7.4.3"
+      sources."@babel/helpers-7.4.4"
       sources."@babel/highlight-7.0.0"
-      sources."@babel/parser-7.4.3"
+      sources."@babel/parser-7.4.4"
       sources."@babel/plugin-external-helpers-7.0.0"
       sources."@babel/plugin-proposal-async-generator-functions-7.2.0"
-      sources."@babel/plugin-proposal-class-properties-7.4.0"
+      sources."@babel/plugin-proposal-class-properties-7.4.4"
       sources."@babel/plugin-proposal-json-strings-7.2.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.4.3"
+      sources."@babel/plugin-proposal-object-rest-spread-7.4.4"
       sources."@babel/plugin-proposal-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.4.0"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.4.4"
       sources."@babel/plugin-syntax-async-generators-7.2.0"
       sources."@babel/plugin-syntax-json-strings-7.2.0"
       sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
       sources."@babel/plugin-syntax-optional-catch-binding-7.2.0"
       sources."@babel/plugin-transform-arrow-functions-7.2.0"
-      sources."@babel/plugin-transform-async-to-generator-7.4.0"
+      sources."@babel/plugin-transform-async-to-generator-7.4.4"
       sources."@babel/plugin-transform-block-scoped-functions-7.2.0"
-      sources."@babel/plugin-transform-block-scoping-7.4.0"
-      sources."@babel/plugin-transform-classes-7.4.3"
+      sources."@babel/plugin-transform-block-scoping-7.4.4"
+      sources."@babel/plugin-transform-classes-7.4.4"
       sources."@babel/plugin-transform-computed-properties-7.2.0"
-      sources."@babel/plugin-transform-destructuring-7.4.3"
-      sources."@babel/plugin-transform-dotall-regex-7.4.3"
+      sources."@babel/plugin-transform-destructuring-7.4.4"
+      sources."@babel/plugin-transform-dotall-regex-7.4.4"
       sources."@babel/plugin-transform-duplicate-keys-7.2.0"
       sources."@babel/plugin-transform-exponentiation-operator-7.2.0"
-      sources."@babel/plugin-transform-for-of-7.4.3"
-      sources."@babel/plugin-transform-function-name-7.4.3"
+      sources."@babel/plugin-transform-for-of-7.4.4"
+      sources."@babel/plugin-transform-function-name-7.4.4"
       sources."@babel/plugin-transform-literals-7.2.0"
       sources."@babel/plugin-transform-member-expression-literals-7.2.0"
       sources."@babel/plugin-transform-modules-amd-7.2.0"
-      sources."@babel/plugin-transform-modules-commonjs-7.4.3"
-      sources."@babel/plugin-transform-modules-systemjs-7.4.0"
+      sources."@babel/plugin-transform-modules-commonjs-7.4.4"
+      sources."@babel/plugin-transform-modules-systemjs-7.4.4"
       sources."@babel/plugin-transform-modules-umd-7.2.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.4.2"
-      sources."@babel/plugin-transform-new-target-7.4.0"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.4.4"
+      sources."@babel/plugin-transform-new-target-7.4.4"
       sources."@babel/plugin-transform-object-super-7.2.0"
-      sources."@babel/plugin-transform-parameters-7.4.3"
+      sources."@babel/plugin-transform-parameters-7.4.4"
       sources."@babel/plugin-transform-property-literals-7.2.0"
-      sources."@babel/plugin-transform-regenerator-7.4.3"
+      sources."@babel/plugin-transform-regenerator-7.4.4"
       sources."@babel/plugin-transform-reserved-words-7.2.0"
-      sources."@babel/plugin-transform-runtime-7.4.3"
+      sources."@babel/plugin-transform-runtime-7.4.4"
       sources."@babel/plugin-transform-shorthand-properties-7.2.0"
       sources."@babel/plugin-transform-spread-7.2.2"
       sources."@babel/plugin-transform-sticky-regex-7.2.0"
-      sources."@babel/plugin-transform-template-literals-7.2.0"
+      sources."@babel/plugin-transform-template-literals-7.4.4"
       sources."@babel/plugin-transform-typeof-symbol-7.2.0"
-      sources."@babel/plugin-transform-unicode-regex-7.4.3"
-      sources."@babel/preset-env-7.4.3"
+      sources."@babel/plugin-transform-unicode-regex-7.4.4"
+      sources."@babel/preset-env-7.4.4"
       sources."@babel/preset-stage-2-7.0.0"
-      sources."@babel/runtime-7.4.3"
-      sources."@babel/template-7.4.0"
-      sources."@babel/traverse-7.4.3"
-      sources."@babel/types-7.4.0"
+      sources."@babel/runtime-7.4.4"
+      sources."@babel/template-7.4.4"
+      sources."@babel/traverse-7.4.4"
+      sources."@babel/types-7.4.4"
       sources."@calebboyd/semaphore-1.3.1"
       sources."@comandeer/babel-plugin-banner-4.1.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
@@ -50947,7 +53029,7 @@ in
       sources."@types/events-3.0.0"
       sources."@types/glob-7.1.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-11.13.7"
+      sources."@types/node-12.0.0"
       sources."@webassemblyjs/ast-1.8.5"
       sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
       sources."@webassemblyjs/helper-api-error-1.8.5"
@@ -51033,7 +53115,7 @@ in
       sources."array-unique-0.2.1"
       sources."arrify-1.0.1"
       sources."asn1.js-4.10.1"
-      (sources."assert-1.4.1" // {
+      (sources."assert-1.5.0" // {
         dependencies = [
           sources."inherits-2.0.1"
           sources."util-0.10.3"
@@ -51137,7 +53219,7 @@ in
       sources."browserify-rsa-4.0.1"
       sources."browserify-sign-4.0.4"
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.5.5"
+      sources."browserslist-4.5.6"
       sources."buffer-5.2.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -51160,7 +53242,7 @@ in
       })
       sources."call-me-maybe-1.0.1"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30000962"
+      sources."caniuse-lite-1.0.30000967"
       sources."caw-2.0.1"
       (sources."chalk-2.4.2" // {
         dependencies = [
@@ -51320,7 +53402,7 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
-      sources."electron-to-chromium-1.3.125"
+      sources."electron-to-chromium-1.3.133"
       sources."elliptic-6.4.1"
       sources."emojis-list-2.1.0"
       sources."end-of-stream-1.4.1"
@@ -51477,19 +53559,19 @@ 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.8"
+      sources."fsevents-1.2.9"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
       sources."get-proxy-2.1.0"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."glob-base-0.3.0"
       sources."glob-parent-2.0.0"
       sources."glob-to-regexp-0.3.0"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
-      sources."globals-11.11.0"
+      sources."globals-11.12.0"
       (sources."globby-8.0.2" // {
         dependencies = [
           sources."pify-3.0.0"
@@ -51684,14 +53766,14 @@ in
         ];
       })
       sources."nice-try-1.0.5"
-      sources."node-fetch-2.3.0"
+      sources."node-fetch-2.5.0"
       (sources."node-libs-browser-2.2.0" // {
         dependencies = [
           sources."buffer-4.9.1"
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.16"
+      sources."node-releases-1.1.18"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-2.1.1"
       (sources."normalize-url-2.0.1" // {
@@ -51872,7 +53954,7 @@ in
       sources."regenerator-transform-0.13.4"
       sources."regex-cache-0.4.4"
       sources."regex-not-1.0.2"
-      sources."regexp-tree-0.1.5"
+      sources."regexp-tree-0.1.6"
       sources."regexpu-core-4.5.4"
       sources."regjsgen-0.5.0"
       (sources."regjsparser-0.6.0" // {
@@ -51887,9 +53969,9 @@ in
       sources."replace-ext-1.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-cwd-2.0.0"
-      (sources."resolve-dependencies-2.2.2" // {
+      (sources."resolve-dependencies-2.2.3" // {
         dependencies = [
           sources."dir-glob-2.2.2"
           sources."globby-9.2.0"
@@ -52136,13 +54218,13 @@ in
       sources."util-0.11.1"
       sources."util-deprecate-1.0.2"
       sources."util.promisify-1.0.0"
-      sources."v8-compile-cache-2.0.2"
+      sources."v8-compile-cache-2.0.3"
       sources."validate-npm-package-license-3.0.4"
       sources."vinyl-2.2.0"
       sources."vm-browserify-0.0.4"
       sources."watchpack-1.6.0"
       sources."wcwidth-1.0.1"
-      (sources."webpack-4.30.0" // {
+      (sources."webpack-4.31.0" // {
         dependencies = [
           sources."arr-diff-4.0.0"
           sources."array-unique-0.3.2"
@@ -52184,7 +54266,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."webpack-cli-3.3.1" // {
+      (sources."webpack-cli-3.3.2" // {
         dependencies = [
           sources."supports-color-5.5.0"
         ];
@@ -52208,7 +54290,7 @@ in
           sources."pinkie-promise-1.0.0"
         ];
       })
-      sources."worker-farm-1.6.0"
+      sources."worker-farm-1.7.0"
       (sources."wrap-ansi-2.1.0" // {
         dependencies = [
           sources."string-width-1.0.2"
@@ -52425,7 +54507,7 @@ in
       })
       (sources."accord-0.28.0" // {
         dependencies = [
-          sources."glob-7.1.3"
+          sources."glob-7.1.4"
           sources."minimatch-3.0.4"
           sources."semver-5.7.0"
           sources."uglify-js-2.8.29"
@@ -52575,7 +54657,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."end-of-stream-0.1.5"
       sources."errno-0.1.7"
-      sources."es5-ext-0.10.49"
+      sources."es5-ext-0.10.50"
       sources."es6-iterator-2.0.3"
       sources."es6-symbol-3.1.1"
       sources."es6-weak-map-2.0.2"
@@ -52707,7 +54789,7 @@ in
           sources."clone-2.1.2"
           sources."clone-stats-1.0.0"
           sources."extend-shallow-1.1.4"
-          sources."glob-7.1.3"
+          sources."glob-7.1.4"
           sources."glob-stream-6.1.0"
           sources."graceful-fs-4.1.15"
           sources."kind-of-1.1.0"
@@ -52944,7 +55026,7 @@ in
       sources."repeat-string-1.6.1"
       sources."replace-ext-1.0.0"
       sources."request-2.81.0"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-options-1.1.0"
       sources."resolve-url-0.2.1"
@@ -53492,7 +55574,7 @@ in
       sources."qs-6.5.2"
       sources."readable-stream-2.3.6"
       sources."request-2.88.0"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."retry-0.10.1"
       sources."rimraf-2.2.8"
       sources."safe-buffer-5.1.2"
@@ -53545,10 +55627,10 @@ in
   node-gyp = nodeEnv.buildNodePackage {
     name = "node-gyp";
     packageName = "node-gyp";
-    version = "3.8.0";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz";
-      sha512 = "3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==";
+      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-4.0.0.tgz";
+      sha512 = "2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -53563,9 +55645,9 @@ in
       sources."aws4-1.8.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."block-stream-0.0.9"
       sources."brace-expansion-1.1.11"
       sources."caseless-0.12.0"
+      sources."chownr-1.1.1"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.7"
       sources."concat-map-0.0.1"
@@ -53581,11 +55663,11 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
+      sources."fs-minipass-1.2.5"
       sources."fs.realpath-1.0.0"
-      sources."fstream-1.0.11"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -53607,6 +55689,8 @@ in
       sources."mime-types-2.1.24"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
+      sources."minipass-2.3.5"
+      sources."minizlib-1.2.1"
       sources."mkdirp-0.5.1"
       sources."nopt-3.0.6"
       sources."npmlog-4.1.2"
@@ -53635,7 +55719,7 @@ in
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
-      sources."tar-2.2.1"
+      sources."tar-4.4.8"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -53650,6 +55734,7 @@ in
       sources."which-1.3.1"
       sources."wide-align-1.1.3"
       sources."wrappy-1.0.2"
+      sources."yallist-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -53663,15 +55748,15 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "3.8.0";
+    version = "4.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.8.0.tgz";
-      sha512 = "bYbpIHyRqZ7sVWXxGpz8QIRug5JZc/hzZH4GbdT9HTZi6WmKCZ8GLvP8OZ9TTiIBvwPFKgtGrlWQSXDAvYdsPw==";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.0.tgz";
+      sha512 = "rGLv++nK20BG8gc0MzzcYe1Nl3p3mtwJ74Q2QD0HTEDKZ6NvOFSelY6s2QBPWIHRR8h7hpad0LiwajfClBJfNg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "Build tool and bindings loader for node-gyp that supports prebuilds";
-      homepage = https://github.com/mafintosh/node-gyp-build;
+      homepage = https://github.com/prebuild/node-gyp-build;
       license = "MIT";
     };
     production = true;
@@ -53687,7 +55772,7 @@ in
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."after-0.8.2"
       sources."ajv-4.11.8"
       sources."ansi-regex-2.1.1"
@@ -53825,10 +55910,10 @@ in
       })
       sources."ms-2.0.0"
       sources."nan-2.13.2"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       (sources."node-pre-gyp-0.6.39" // {
         dependencies = [
-          sources."glob-7.1.3"
+          sources."glob-7.1.4"
           sources."rimraf-2.6.3"
           sources."semver-5.7.0"
         ];
@@ -53875,7 +55960,7 @@ in
           sources."qs-6.4.0"
         ];
       })
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."rimraf-2.2.8"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
@@ -53913,7 +55998,7 @@ in
       sources."tar-2.2.1"
       (sources."tar-pack-3.4.1" // {
         dependencies = [
-          sources."glob-7.1.3"
+          sources."glob-7.1.4"
           sources."rimraf-2.6.3"
         ];
       })
@@ -53922,7 +56007,7 @@ in
       sources."truncate-2.0.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."uid-0.0.2"
       sources."uid-number-0.0.6"
       sources."ultron-1.0.2"
@@ -53965,7 +56050,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Web Inspector based nodeJS debugger";
-      homepage = https://github.com/node-inspector/node-inspector;
+      homepage = http://github.com/node-inspector/node-inspector;
     };
     production = true;
     bypassCache = true;
@@ -53973,10 +56058,10 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.12.0";
+    version = "0.13.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz";
-      sha512 = "4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz";
+      sha512 = "Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -53997,7 +56082,7 @@ in
       sources."fs-minipass-1.2.5"
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."has-unicode-2.0.1"
       sources."iconv-lite-0.4.24"
       sources."ignore-walk-3.0.1"
@@ -54012,7 +56097,7 @@ in
       sources."minizlib-1.2.1"
       sources."mkdirp-0.5.1"
       sources."ms-2.1.1"
-      sources."needle-2.3.0"
+      sources."needle-2.3.1"
       sources."nopt-4.0.1"
       sources."npm-bundled-1.0.6"
       sources."npm-packlist-1.4.1"
@@ -54060,10 +56145,10 @@ in
   nodemon = nodeEnv.buildNodePackage {
     name = "nodemon";
     packageName = "nodemon";
-    version = "1.18.11";
+    version = "1.19.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.18.11.tgz";
-      sha512 = "KdN3tm1zkarlqNo4+W9raU3ihM4H15MVMSE/f9rYDZmFgDHAfAJsomYrHhApAkuUemYjFyEeXlpCOQ2v5gtBEw==";
+      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.19.0.tgz";
+      sha512 = "NHKpb/Je0Urmwi3QPDHlYuFY9m1vaVfTsRZG5X73rY46xPj0JpNe8WhUGQdkDXQDOxrBNIU3JrcflE9Y44EcuA==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -54180,7 +56265,7 @@ in
       })
       sources."for-in-1.0.2"
       sources."fragment-cache-0.2.1"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       (sources."glob-parent-3.1.0" // {
@@ -54420,7 +56505,7 @@ in
       sha512 = "kF95ob7BZSiS1rOuy/QqATVHKCN6tDyybLHiqXYgSGgBcrsE+raYGhQcpS5DaCffl4GecYTNl0ijk6gle2ObXQ==";
     };
     dependencies = [
-      sources."@babel/runtime-7.4.3"
+      sources."@babel/runtime-7.4.4"
       sources."@node-red/editor-api-0.20.5"
       sources."@node-red/editor-client-0.20.5"
       (sources."@node-red/nodes-0.20.5" // {
@@ -54432,7 +56517,7 @@ in
       sources."@node-red/runtime-0.20.5"
       sources."@node-red/util-0.20.5"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."addressparser-1.0.1"
       sources."agent-base-4.2.1"
       sources."ajv-6.10.0"
@@ -54543,7 +56628,7 @@ in
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.1"
       sources."entities-1.1.2"
-      sources."es5-ext-0.10.49"
+      sources."es5-ext-0.10.50"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
       sources."es6-promise-4.2.6"
@@ -54586,7 +56671,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."glob-parent-3.1.0"
       (sources."glob-stream-6.1.0" // {
         dependencies = [
@@ -54706,13 +56791,13 @@ in
       sources."multer-1.4.1"
       sources."mustache-3.0.1"
       sources."nan-2.13.1"
-      (sources."needle-2.3.0" // {
+      (sources."needle-2.3.1" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.1"
         ];
       })
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."next-tick-1.0.0"
       (sources."node-pre-gyp-0.12.0" // {
         dependencies = [
@@ -54835,7 +56920,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."twitter-ng-0.6.2"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."uglify-js-3.5.3"
       sources."uid-safe-2.1.5"
@@ -54966,7 +57051,7 @@ in
       })
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-2.0.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -55071,10 +57156,10 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "3.1.8";
+    version = "3.1.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-3.1.8.tgz";
-      sha512 = "a/gb2RzV35cBZqVvUtOj6NIg5VODXr5V5fLbP5G+LJTxLosWzsV+SXdmaaXKEAjbNPGl7uZrdXlKuBm/8Mp+HA==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-3.1.9.tgz";
+      sha512 = "LRyObEEQJQMXqAie74xa7T137KASU+gHCR7YUN5l6t/O+f2quBoWHnpffR/0dbC8NLqiDIJ7APBJITRCjVQNiw==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
@@ -55387,7 +57472,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-4.0.1"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
@@ -55414,7 +57499,7 @@ in
       })
       sources."internal-ip-1.2.0"
       sources."ip-1.1.5"
-      sources."ip-set-1.0.1"
+      sources."ip-set-1.0.2"
       sources."ipaddr.js-1.9.0"
       sources."is-arrayish-0.2.1"
       sources."is-finite-1.0.2"
@@ -55510,7 +57595,7 @@ in
       sources."readable-stream-2.3.6"
       sources."redent-1.0.0"
       sources."repeating-2.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."restore-cursor-2.0.0"
       sources."reverse-http-1.3.0"
       sources."rimraf-2.6.3"
@@ -55669,7 +57754,7 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."compressible-2.0.16"
+      sources."compressible-2.0.17"
       sources."compression-1.5.2"
       sources."concat-map-0.0.1"
       (sources."connect-2.30.2" // {
@@ -55735,9 +57820,9 @@ in
       sources."engine.io-parser-1.3.2"
       (sources."errorhandler-1.4.3" // {
         dependencies = [
-          sources."accepts-1.3.5"
+          sources."accepts-1.3.7"
           sources."escape-html-1.0.3"
-          sources."negotiator-0.6.1"
+          sources."negotiator-0.6.2"
         ];
       })
       sources."escape-html-1.0.2"
@@ -55773,7 +57858,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-browser-rtc-1.0.2"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -55793,7 +57878,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ip-1.1.5"
-      sources."ip-set-1.0.1"
+      sources."ip-set-1.0.2"
       sources."ipaddr.js-1.0.5"
       sources."is-typedarray-1.0.0"
       sources."isarray-1.0.0"
@@ -56014,7 +58099,7 @@ in
       sources."tsscmp-1.0.5"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."uid-safe-2.1.5"
       sources."ultron-1.0.2"
       sources."uniq-1.0.1"
@@ -56048,10 +58133,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "3.1.1";
+    version = "3.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-3.1.1.tgz";
-      sha512 = "MqSWfZXft1cQ6rFgpGpl8JIY3O8w8TnTplvjuCPMl4zRxAUAz0Gzr7ARYH6czoiTxBIbbhu41GfbsBfgMSGTwA==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-3.2.0.tgz";
+      sha512 = "bujIqiZBgpusV0N/m+PNQ/FAUKc7ue9WqK+FqfN89on44iLEkERYGBWQEZt2a4OMWH4RHzme7muKOQY8ZegD3Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -56086,58 +58171,64 @@ in
       sources."@babel/helper-annotate-as-pure-7.0.0"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.1.0"
       sources."@babel/helper-builder-react-jsx-7.3.0"
-      (sources."@babel/helper-call-delegate-7.4.0" // {
+      (sources."@babel/helper-call-delegate-7.4.4" // {
         dependencies = [
-          sources."@babel/generator-7.4.0"
-          sources."@babel/parser-7.4.3"
-          sources."@babel/traverse-7.4.3"
-          sources."@babel/types-7.4.0"
+          sources."@babel/generator-7.4.4"
+          sources."@babel/parser-7.4.4"
+          sources."@babel/traverse-7.4.4"
+          sources."@babel/types-7.4.4"
           sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/helper-define-map-7.4.0" // {
+      (sources."@babel/helper-define-map-7.4.4" // {
         dependencies = [
-          sources."@babel/types-7.4.0"
+          sources."@babel/types-7.4.4"
         ];
       })
       sources."@babel/helper-explode-assignable-expression-7.1.0"
       sources."@babel/helper-function-name-7.1.0"
       sources."@babel/helper-get-function-arity-7.0.0"
-      (sources."@babel/helper-hoist-variables-7.4.0" // {
+      (sources."@babel/helper-hoist-variables-7.4.4" // {
         dependencies = [
-          sources."@babel/types-7.4.0"
+          sources."@babel/types-7.4.4"
         ];
       })
       sources."@babel/helper-member-expression-to-functions-7.0.0"
       sources."@babel/helper-module-imports-7.0.0"
-      sources."@babel/helper-module-transforms-7.4.3"
+      (sources."@babel/helper-module-transforms-7.4.4" // {
+        dependencies = [
+          sources."@babel/parser-7.4.4"
+          sources."@babel/template-7.4.4"
+          sources."@babel/types-7.4.4"
+        ];
+      })
       sources."@babel/helper-optimise-call-expression-7.0.0"
       sources."@babel/helper-plugin-utils-7.0.0"
-      sources."@babel/helper-regex-7.4.3"
+      sources."@babel/helper-regex-7.4.4"
       sources."@babel/helper-remap-async-to-generator-7.1.0"
-      (sources."@babel/helper-replace-supers-7.4.0" // {
+      (sources."@babel/helper-replace-supers-7.4.4" // {
         dependencies = [
-          sources."@babel/generator-7.4.0"
-          sources."@babel/parser-7.4.3"
-          sources."@babel/traverse-7.4.3"
-          sources."@babel/types-7.4.0"
+          sources."@babel/generator-7.4.4"
+          sources."@babel/parser-7.4.4"
+          sources."@babel/traverse-7.4.4"
+          sources."@babel/types-7.4.4"
           sources."source-map-0.5.7"
         ];
       })
       sources."@babel/helper-simple-access-7.1.0"
-      (sources."@babel/helper-split-export-declaration-7.4.0" // {
+      (sources."@babel/helper-split-export-declaration-7.4.4" // {
         dependencies = [
-          sources."@babel/types-7.4.0"
+          sources."@babel/types-7.4.4"
         ];
       })
       sources."@babel/helper-wrap-function-7.2.0"
-      (sources."@babel/helpers-7.4.3" // {
+      (sources."@babel/helpers-7.4.4" // {
         dependencies = [
-          sources."@babel/generator-7.4.0"
-          sources."@babel/parser-7.4.3"
-          sources."@babel/template-7.4.0"
-          sources."@babel/traverse-7.4.3"
-          sources."@babel/types-7.4.0"
+          sources."@babel/generator-7.4.4"
+          sources."@babel/parser-7.4.4"
+          sources."@babel/template-7.4.4"
+          sources."@babel/traverse-7.4.4"
+          sources."@babel/types-7.4.4"
           sources."source-map-0.5.7"
         ];
       })
@@ -56145,9 +58236,9 @@ in
       sources."@babel/parser-7.3.4"
       sources."@babel/plugin-proposal-async-generator-functions-7.2.0"
       sources."@babel/plugin-proposal-json-strings-7.2.0"
-      sources."@babel/plugin-proposal-object-rest-spread-7.4.3"
+      sources."@babel/plugin-proposal-object-rest-spread-7.4.4"
       sources."@babel/plugin-proposal-optional-catch-binding-7.2.0"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.4.0"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.4.4"
       sources."@babel/plugin-syntax-async-generators-7.2.0"
       sources."@babel/plugin-syntax-flow-7.2.0"
       sources."@babel/plugin-syntax-json-strings-7.2.0"
@@ -56155,35 +58246,35 @@ in
       sources."@babel/plugin-syntax-object-rest-spread-7.2.0"
       sources."@babel/plugin-syntax-optional-catch-binding-7.2.0"
       sources."@babel/plugin-transform-arrow-functions-7.2.0"
-      sources."@babel/plugin-transform-async-to-generator-7.4.0"
+      sources."@babel/plugin-transform-async-to-generator-7.4.4"
       sources."@babel/plugin-transform-block-scoped-functions-7.2.0"
-      sources."@babel/plugin-transform-block-scoping-7.4.0"
-      sources."@babel/plugin-transform-classes-7.4.3"
+      sources."@babel/plugin-transform-block-scoping-7.4.4"
+      sources."@babel/plugin-transform-classes-7.4.4"
       sources."@babel/plugin-transform-computed-properties-7.2.0"
-      sources."@babel/plugin-transform-destructuring-7.4.3"
-      sources."@babel/plugin-transform-dotall-regex-7.4.3"
+      sources."@babel/plugin-transform-destructuring-7.4.4"
+      sources."@babel/plugin-transform-dotall-regex-7.4.4"
       sources."@babel/plugin-transform-duplicate-keys-7.2.0"
       sources."@babel/plugin-transform-exponentiation-operator-7.2.0"
       sources."@babel/plugin-transform-flow-strip-types-7.3.4"
-      sources."@babel/plugin-transform-for-of-7.4.3"
-      sources."@babel/plugin-transform-function-name-7.4.3"
+      sources."@babel/plugin-transform-for-of-7.4.4"
+      sources."@babel/plugin-transform-function-name-7.4.4"
       sources."@babel/plugin-transform-literals-7.2.0"
       sources."@babel/plugin-transform-modules-amd-7.2.0"
       sources."@babel/plugin-transform-modules-commonjs-7.2.0"
-      sources."@babel/plugin-transform-modules-systemjs-7.4.0"
+      sources."@babel/plugin-transform-modules-systemjs-7.4.4"
       sources."@babel/plugin-transform-modules-umd-7.2.0"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.4.2"
-      sources."@babel/plugin-transform-new-target-7.4.0"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.4.4"
+      sources."@babel/plugin-transform-new-target-7.4.4"
       sources."@babel/plugin-transform-object-super-7.2.0"
-      sources."@babel/plugin-transform-parameters-7.4.3"
+      sources."@babel/plugin-transform-parameters-7.4.4"
       sources."@babel/plugin-transform-react-jsx-7.3.0"
-      sources."@babel/plugin-transform-regenerator-7.4.3"
+      sources."@babel/plugin-transform-regenerator-7.4.4"
       sources."@babel/plugin-transform-shorthand-properties-7.2.0"
       sources."@babel/plugin-transform-spread-7.2.2"
       sources."@babel/plugin-transform-sticky-regex-7.2.0"
-      sources."@babel/plugin-transform-template-literals-7.2.0"
+      sources."@babel/plugin-transform-template-literals-7.4.4"
       sources."@babel/plugin-transform-typeof-symbol-7.2.0"
-      sources."@babel/plugin-transform-unicode-regex-7.4.3"
+      sources."@babel/plugin-transform-unicode-regex-7.4.4"
       sources."@babel/preset-env-7.3.4"
       sources."@babel/runtime-7.3.4"
       sources."@babel/template-7.2.2"
@@ -56225,7 +58316,7 @@ in
       sources."array-unique-0.3.2"
       sources."asn1-0.2.4"
       sources."asn1.js-4.10.1"
-      (sources."assert-1.4.1" // {
+      (sources."assert-1.5.0" // {
         dependencies = [
           sources."inherits-2.0.1"
           sources."util-0.10.3"
@@ -56277,7 +58368,7 @@ in
           sources."pako-1.0.10"
         ];
       })
-      sources."browserslist-4.5.5"
+      sources."browserslist-4.5.6"
       (sources."buffer-4.9.1" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -56293,7 +58384,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30000962"
+      sources."caniuse-lite-1.0.30000967"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.5"
@@ -56386,7 +58477,7 @@ in
         ];
       })
       sources."date-now-0.1.4"
-      sources."deasync-0.1.14"
+      sources."deasync-0.1.15"
       sources."debug-4.1.1"
       sources."decode-uri-component-0.2.0"
       sources."deep-is-0.1.3"
@@ -56430,7 +58521,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."editorconfig-0.15.3"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.125"
+      sources."electron-to-chromium-1.3.133"
       sources."elliptic-6.4.1"
       sources."encodeurl-1.0.2"
       sources."entities-1.1.2"
@@ -56475,19 +58566,19 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."function-bind-1.1.1"
       sources."get-port-3.2.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
         ];
       })
       sources."glob-to-regexp-0.3.0"
-      sources."globals-11.11.0"
+      sources."globals-11.12.0"
       sources."graceful-fs-4.1.15"
       sources."grapheme-breaker-0.3.2"
       sources."har-schema-2.0.0"
@@ -56521,7 +58612,7 @@ in
           sources."readable-stream-3.3.0"
         ];
       })
-      sources."http-errors-1.6.3"
+      sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
       sources."https-browserify-1.0.0"
       sources."iconv-lite-0.4.24"
@@ -56576,7 +58667,7 @@ in
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."isstream-0.1.2"
-      sources."js-beautify-1.9.1"
+      sources."js-beautify-1.10.0"
       sources."js-levenshtein-1.1.6"
       sources."js-tokens-4.0.0"
       (sources."js-yaml-3.13.1" // {
@@ -56624,7 +58715,7 @@ in
         ];
       })
       sources."miller-rabin-4.0.1"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."mime-db-1.40.0"
       sources."mime-types-2.1.24"
       sources."mimic-fn-1.2.0"
@@ -56660,13 +58751,13 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.16"
+      sources."node-releases-1.1.18"
       sources."nopt-4.0.1"
       sources."normalize-html-whitespace-0.2.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
-      sources."nwsapi-2.1.3"
+      sources."nwsapi-2.1.4"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-copy-0.1.0"
@@ -56702,7 +58793,7 @@ in
       sources."physical-cpu-count-2.0.0"
       sources."pn-1.1.0"
       sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.14" // {
+      (sources."postcss-7.0.16" // {
         dependencies = [
           sources."supports-color-6.1.0"
         ];
@@ -56768,15 +58859,9 @@ in
       sources."postcss-svgo-4.0.2"
       sources."postcss-unique-selectors-4.0.1"
       sources."postcss-value-parser-3.3.1"
-      (sources."posthtml-0.11.3" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-          sources."isobject-2.1.0"
-          sources."posthtml-parser-0.3.3"
-        ];
-      })
+      sources."posthtml-0.11.4"
       sources."posthtml-parser-0.4.1"
-      sources."posthtml-render-1.1.4"
+      sources."posthtml-render-1.1.5"
       sources."prelude-ls-1.1.2"
       sources."private-0.1.8"
       sources."process-0.11.10"
@@ -56810,7 +58895,7 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."regexp-tree-0.1.5"
+      sources."regexp-tree-0.1.6"
       sources."regexpu-core-4.5.4"
       sources."regjsgen-0.5.0"
       (sources."regjsparser-0.6.0" // {
@@ -56829,7 +58914,7 @@ in
       })
       sources."request-promise-core-1.1.2"
       sources."request-promise-native-1.0.7"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-from-3.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -56844,17 +58929,20 @@ in
       sources."safer-eval-1.3.2"
       sources."sax-1.2.4"
       sources."semver-5.7.0"
-      (sources."send-0.16.2" // {
+      (sources."send-0.17.0" // {
         dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
         ];
       })
       sources."serialize-to-js-1.2.2"
-      sources."serve-static-1.13.2"
+      sources."serve-static-1.14.0"
       sources."set-value-2.0.0"
       sources."setimmediate-1.0.5"
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.1.1"
       sources."sha.js-2.4.11"
       sources."shallow-copy-0.0.1"
       sources."shebang-command-1.2.0"
@@ -56895,7 +58983,7 @@ in
       sources."static-eval-2.0.2"
       sources."static-extend-0.1.2"
       sources."static-module-2.2.5"
-      sources."statuses-1.4.0"
+      sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."stream-browserify-2.0.2"
       sources."stream-http-2.8.3"
@@ -56925,6 +59013,7 @@ in
         ];
       })
       sources."to-regex-range-2.1.1"
+      sources."toidentifier-1.0.0"
       sources."tough-cookie-2.5.0"
       sources."tr46-1.0.1"
       sources."trim-right-1.0.1"
@@ -56976,8 +59065,8 @@ in
       sources."util-deprecate-1.0.2"
       sources."util.promisify-1.0.0"
       sources."uuid-3.3.2"
-      sources."v8-compile-cache-2.0.2"
-      sources."vendors-1.0.2"
+      sources."v8-compile-cache-2.0.3"
+      sources."vendors-1.0.3"
       sources."verror-1.10.0"
       sources."vlq-0.2.3"
       sources."vm-browserify-0.0.4"
@@ -57039,7 +59128,7 @@ in
       sources."array-map-0.0.0"
       sources."array-reduce-0.0.0"
       sources."asn1.js-4.10.1"
-      (sources."assert-1.4.1" // {
+      (sources."assert-1.5.0" // {
         dependencies = [
           sources."inherits-2.0.1"
           sources."util-0.10.3"
@@ -57119,7 +59208,7 @@ in
       sources."function-bind-1.1.1"
       sources."gaze-1.1.3"
       sources."get-assigned-identifiers-1.2.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."globule-1.2.1"
       sources."graceful-fs-4.1.15"
       sources."has-1.0.3"
@@ -57166,6 +59255,7 @@ in
       })
       sources."mute-stream-0.0.8"
       sources."node-static-0.7.11"
+      sources."object-assign-4.1.1"
       sources."once-1.4.0"
       (sources."optimist-0.6.1" // {
         dependencies = [
@@ -57197,7 +59287,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."rimraf-2.6.3"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.1.2"
@@ -57332,7 +59422,7 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."eyes-0.1.8"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."has-ansi-2.0.0"
       sources."i-0.3.6"
       sources."inflight-1.0.6"
@@ -57537,17 +59627,12 @@ in
     };
     dependencies = [
       sources."abstract-leveldown-5.0.0"
-      (sources."aligned-block-file-1.2.0" // {
-        dependencies = [
-          sources."int53-1.0.0"
-          sources."uint48be-2.0.1"
-        ];
-      })
+      sources."aligned-block-file-1.2.0"
       sources."ansi-escapes-1.4.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."anymatch-1.3.2"
-      sources."append-batch-0.0.1"
+      sources."append-batch-0.0.2"
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.5"
       sources."arr-diff-2.0.0"
@@ -57564,7 +59649,7 @@ in
       sources."atob-2.1.2"
       sources."atomic-file-1.1.5"
       sources."attach-ware-1.1.1"
-      sources."bail-1.0.3"
+      sources."bail-1.0.4"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -57594,12 +59679,12 @@ in
         ];
       })
       sources."camelcase-2.1.1"
-      sources."ccount-1.0.3"
+      sources."ccount-1.0.4"
       sources."chalk-1.1.3"
-      sources."character-entities-1.2.2"
-      sources."character-entities-html4-1.1.2"
-      sources."character-entities-legacy-1.1.2"
-      sources."character-reference-invalid-1.1.2"
+      sources."character-entities-1.2.3"
+      sources."character-entities-html4-1.1.3"
+      sources."character-entities-legacy-1.1.3"
+      sources."character-reference-invalid-1.1.3"
       sources."charwise-3.0.1"
       sources."chloride-2.2.14"
       sources."chloride-test-1.2.4"
@@ -57626,7 +59711,7 @@ in
       sources."cli-cursor-1.0.2"
       sources."co-3.1.0"
       sources."code-point-at-1.1.0"
-      sources."collapse-white-space-1.0.4"
+      sources."collapse-white-space-1.0.5"
       sources."collection-visit-1.0.0"
       sources."commander-2.20.0"
       sources."compare-at-paths-1.0.0"
@@ -57702,7 +59787,7 @@ in
         ];
       })
       sources."flumedb-1.0.6"
-      (sources."flumelog-offset-3.3.2" // {
+      (sources."flumelog-offset-3.4.1" // {
         dependencies = [
           sources."looper-4.0.0"
         ];
@@ -57730,7 +59815,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
       sources."get-value-2.0.6"
@@ -57769,7 +59854,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
-      sources."int53-0.2.4"
+      sources."int53-1.0.0"
       sources."ip-1.1.5"
       sources."irregular-plurals-1.4.0"
       (sources."is-accessor-descriptor-1.0.0" // {
@@ -57777,8 +59862,8 @@ in
           sources."kind-of-6.0.2"
         ];
       })
-      sources."is-alphabetical-1.0.2"
-      sources."is-alphanumerical-1.0.2"
+      sources."is-alphabetical-1.0.3"
+      sources."is-alphanumerical-1.0.3"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
       sources."is-callable-1.1.4"
@@ -57789,7 +59874,7 @@ in
         ];
       })
       sources."is-date-object-1.0.1"
-      sources."is-decimal-1.0.2"
+      sources."is-decimal-1.0.3"
       (sources."is-descriptor-1.0.2" // {
         dependencies = [
           sources."kind-of-6.0.2"
@@ -57802,7 +59887,7 @@ in
       sources."is-extglob-1.0.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."is-glob-2.0.1"
-      sources."is-hexadecimal-1.0.2"
+      sources."is-hexadecimal-1.0.3"
       sources."is-number-2.1.0"
       (sources."is-plain-object-2.0.4" // {
         dependencies = [
@@ -57891,7 +59976,7 @@ in
       sources."multiblob-1.13.4"
       sources."multiblob-http-0.4.2"
       sources."multicb-1.2.2"
-      (sources."multiserver-3.3.2" // {
+      (sources."multiserver-3.3.3" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.1"
@@ -57927,12 +60012,12 @@ in
       sources."ncp-2.0.0"
       sources."nearley-2.16.0"
       sources."nice-try-1.0.5"
-      sources."node-abi-2.7.1"
-      sources."node-gyp-build-3.8.0"
+      sources."node-abi-2.8.0"
+      sources."node-gyp-build-3.9.0"
       sources."non-private-ip-1.4.4"
       sources."noop-logger-0.1.1"
       sources."normalize-path-2.1.1"
-      sources."normalize-uri-1.1.1"
+      sources."normalize-uri-1.1.2"
       sources."npm-prefix-1.2.0"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
@@ -58043,7 +60128,7 @@ in
       sources."pull-reader-1.3.1"
       sources."pull-sink-through-0.0.0"
       sources."pull-sort-1.0.2"
-      sources."pull-stream-3.6.9"
+      sources."pull-stream-3.6.11"
       sources."pull-stringify-2.0.0"
       sources."pull-through-1.0.18"
       sources."pull-traverse-1.0.3"
@@ -58132,20 +60217,20 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-1.0.1"
       sources."resumer-0.0.0"
       sources."ret-0.1.15"
       (sources."rimraf-2.6.3" // {
         dependencies = [
-          sources."glob-7.1.3"
+          sources."glob-7.1.4"
         ];
       })
       sources."rng-0.2.2"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
-      sources."secret-handshake-1.1.16"
+      sources."secret-handshake-1.1.18"
       (sources."secret-stack-5.1.1" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -58202,7 +60287,7 @@ in
         ];
       })
       sources."sodium-chloride-1.1.2"
-      sources."sodium-native-2.3.0"
+      sources."sodium-native-2.4.2"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
       sources."source-map-url-0.4.0"
@@ -58214,13 +60299,13 @@ in
           sources."ms-2.1.1"
         ];
       })
-      sources."ssb-client-4.7.2"
+      sources."ssb-client-4.7.4"
       sources."ssb-config-2.3.9"
       sources."ssb-db-18.6.5"
-      sources."ssb-ebt-5.6.3"
+      sources."ssb-ebt-5.6.4"
       sources."ssb-friends-3.1.13"
-      sources."ssb-keys-7.1.5"
-      sources."ssb-links-3.0.4"
+      sources."ssb-keys-7.1.6"
+      sources."ssb-links-3.0.6"
       sources."ssb-msgs-5.2.0"
       (sources."ssb-query-2.3.0" // {
         dependencies = [
@@ -58260,7 +60345,7 @@ in
       sources."supports-color-2.0.0"
       (sources."tape-4.10.1" // {
         dependencies = [
-          sources."glob-7.1.3"
+          sources."glob-7.1.4"
         ];
       })
       (sources."tar-fs-1.16.3" // {
@@ -58284,7 +60369,7 @@ in
       sources."to-space-case-1.0.0"
       sources."to-vfile-1.0.0"
       sources."trim-0.0.1"
-      sources."trim-lines-1.1.1"
+      sources."trim-lines-1.1.2"
       sources."trim-trailing-lines-1.1.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -58293,7 +60378,7 @@ in
       sources."typewise-1.0.3"
       sources."typewise-core-1.2.0"
       sources."typewiselite-1.0.0"
-      sources."uint48be-1.0.2"
+      sources."uint48be-2.0.1"
       sources."ultron-1.0.2"
       sources."unherit-1.1.1"
       sources."unified-2.1.4"
@@ -58374,7 +60459,7 @@ in
     };
     dependencies = [
       sources."@zeit/schemas-2.6.0"
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."ajv-6.5.3"
       sources."ansi-align-2.0.0"
       sources."ansi-regex-3.0.0"
@@ -58395,7 +60480,7 @@ in
       })
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."compressible-2.0.16"
+      sources."compressible-2.0.17"
       sources."compression-1.7.3"
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.2"
@@ -58424,7 +60509,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."npm-run-path-2.0.2"
       sources."on-headers-1.0.2"
       sources."p-finally-1.0.0"
@@ -58480,7 +60565,7 @@ in
     dependencies = [
       sources."CSSselect-0.4.1"
       sources."CSSwhat-0.4.7"
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."after-0.8.1"
       sources."ajv-6.10.0"
       sources."array-flatten-1.1.1"
@@ -58598,7 +60683,7 @@ in
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       sources."nan-0.3.2"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."oauth-sign-0.9.0"
       sources."object-component-0.0.3"
       sources."on-finished-2.3.0"
@@ -58667,7 +60752,7 @@ in
       })
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."unpipe-1.0.0"
       sources."uri-js-4.2.2"
       sources."utf8-2.0.0"
@@ -59080,15 +61165,15 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.153.0";
+    version = "1.163.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.153.0.tgz";
-      sha512 = "RGgh8WvnmJOQqRuYfDAc7nlyw+V1G89q8JmKH3cXF0d+7jrz9o6S0c4TcEuSgC8wZNhqvpRk+W52gPxp3cePNQ==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.163.3.tgz";
+      sha512 = "6J4pzTijED/qpb32vS8G6joWaTys+JavugR3AN+zs3skItFRP1CooQOHYhxhMA6OGb+TF99QpLbzX0nFzkFiMQ==";
     };
     dependencies = [
       sources."@snyk/dep-graph-1.4.1"
       sources."@snyk/gemfile-1.2.0"
-      sources."@types/node-8.10.46"
+      sources."@types/node-8.10.48"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
       sources."agent-base-4.2.1"
@@ -59100,7 +61185,7 @@ in
       sources."archy-1.0.0"
       sources."argparse-1.0.10"
       sources."asap-2.0.6"
-      sources."ast-types-0.12.3"
+      sources."ast-types-0.12.4"
       sources."async-1.5.2"
       sources."balanced-match-1.0.0"
       (sources."boxen-1.3.0" // {
@@ -59182,7 +61267,9 @@ in
           sources."debug-4.1.1"
         ];
       })
-      sources."glob-7.1.3"
+      sources."git-up-4.0.1"
+      sources."git-url-parse-11.1.2"
+      sources."glob-7.1.4"
       sources."global-dirs-0.1.1"
       (sources."got-6.7.1" // {
         dependencies = [
@@ -59227,6 +61314,7 @@ in
       sources."is-promise-2.1.0"
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.1.0"
+      sources."is-ssh-1.3.1"
       sources."is-stream-1.1.0"
       sources."is-wsl-1.1.0"
       sources."isarray-0.0.1"
@@ -59273,13 +61361,14 @@ in
       sources."ms-2.1.1"
       sources."mute-stream-0.0.7"
       sources."nconf-0.10.0"
-      (sources."needle-2.3.0" // {
+      (sources."needle-2.3.1" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
       })
       sources."netmask-1.0.6"
       sources."nice-try-1.0.5"
+      sources."normalize-url-3.3.0"
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
       sources."once-1.4.0"
@@ -59298,6 +61387,8 @@ in
         ];
       })
       sources."pako-1.0.10"
+      sources."parse-path-4.0.1"
+      sources."parse-url-5.0.1"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
       sources."path-key-2.0.1"
@@ -59306,6 +61397,7 @@ in
       sources."prepend-http-1.0.4"
       sources."process-nextick-args-2.0.0"
       sources."promise-7.3.1"
+      sources."protocols-1.4.7"
       sources."proxy-agent-3.1.0"
       sources."proxy-from-env-1.0.0"
       sources."pseudomap-1.0.2"
@@ -59321,7 +61413,7 @@ in
       sources."registry-url-3.1.0"
       sources."restore-cursor-2.0.0"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
@@ -59344,26 +61436,26 @@ in
       sources."signal-exit-3.0.2"
       sources."smart-buffer-4.0.2"
       sources."snyk-config-2.2.1"
-      (sources."snyk-docker-plugin-1.22.1" // {
+      (sources."snyk-docker-plugin-1.24.1" // {
         dependencies = [
           sources."semver-5.7.0"
         ];
       })
       sources."snyk-go-parser-1.0.2"
-      (sources."snyk-go-plugin-1.7.0" // {
+      (sources."snyk-go-plugin-1.7.1" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
       })
-      sources."snyk-gradle-plugin-2.7.1"
+      sources."snyk-gradle-plugin-2.10.1"
       sources."snyk-module-1.9.1"
-      sources."snyk-mvn-plugin-2.0.1"
+      sources."snyk-mvn-plugin-2.3.0"
       sources."snyk-nodejs-lockfile-parser-1.13.0"
-      sources."snyk-nuget-plugin-1.9.2"
+      sources."snyk-nuget-plugin-1.10.0"
       sources."snyk-paket-parser-1.4.3"
-      sources."snyk-php-plugin-1.5.2"
+      sources."snyk-php-plugin-1.5.3"
       sources."snyk-policy-1.13.5"
-      sources."snyk-python-plugin-1.9.2"
+      sources."snyk-python-plugin-1.10.0"
       sources."snyk-resolve-1.0.1"
       (sources."snyk-resolve-deps-4.0.3" // {
         dependencies = [
@@ -59468,7 +61560,7 @@ in
       sha512 = "wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w==";
     };
     dependencies = [
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.7"
       sources."async-limiter-1.0.0"
@@ -59503,7 +61595,7 @@ in
       sources."mime-db-1.40.0"
       sources."mime-types-2.1.24"
       sources."ms-2.1.1"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."object-component-0.0.3"
       sources."parseqs-0.0.5"
       sources."parseuri-0.0.5"
@@ -59534,6 +61626,177 @@ in
     production = true;
     bypassCache = true;
   };
+  speed-test = nodeEnv.buildNodePackage {
+    name = "speed-test";
+    packageName = "speed-test";
+    version = "2.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/speed-test/-/speed-test-2.1.0.tgz";
+      sha512 = "sSmX6yMOwzVmVei9PB08Nd5ZLZ7isXSRG+s7fMZxyjyegvSy77cCrZ39Oo2Kk/KkWW4SSCXiQ8LtFxfP/Ujijw==";
+    };
+    dependencies = [
+      sources."agent-base-4.2.1"
+      sources."ansi-align-2.0.0"
+      sources."ansi-escapes-3.2.0"
+      sources."ansi-regex-3.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."array-find-index-1.0.2"
+      sources."arrify-1.0.1"
+      sources."boxen-1.3.0"
+      sources."camelcase-4.1.0"
+      sources."camelcase-keys-4.2.0"
+      sources."capture-stack-trace-1.0.1"
+      sources."chalk-2.4.2"
+      sources."ci-info-1.6.0"
+      sources."cli-boxes-1.0.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-spinners-2.1.0"
+      sources."clone-1.0.4"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."configstore-3.1.2"
+      sources."create-error-class-3.0.2"
+      sources."cross-spawn-5.1.0"
+      sources."crypto-random-string-1.0.0"
+      sources."currently-unhandled-0.4.1"
+      sources."debug-3.1.0"
+      sources."decamelize-1.2.0"
+      (sources."decamelize-keys-1.1.0" // {
+        dependencies = [
+          sources."map-obj-1.0.1"
+        ];
+      })
+      sources."deep-extend-0.6.0"
+      sources."defaults-1.0.3"
+      sources."dot-prop-4.2.0"
+      sources."draftlog-1.0.12"
+      sources."duplexer3-0.1.4"
+      sources."error-ex-1.3.2"
+      sources."es6-promise-4.2.6"
+      sources."es6-promisify-5.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."execa-0.7.0"
+      sources."find-up-2.1.0"
+      sources."get-stream-3.0.0"
+      sources."global-dirs-0.1.1"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.1.15"
+      sources."has-flag-3.0.0"
+      sources."hosted-git-info-2.7.1"
+      sources."http-proxy-agent-2.1.0"
+      sources."https-proxy-agent-2.2.1"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."indent-string-3.2.0"
+      sources."ini-1.3.5"
+      sources."is-arrayish-0.2.1"
+      sources."is-ci-1.2.1"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-installed-globally-0.1.0"
+      sources."is-npm-1.0.0"
+      sources."is-obj-1.0.1"
+      sources."is-path-inside-1.0.1"
+      sources."is-plain-obj-1.1.0"
+      sources."is-redirect-1.0.0"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."isexe-2.0.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."latest-version-3.1.0"
+      sources."load-json-file-4.0.0"
+      sources."locate-path-2.0.0"
+      sources."log-symbols-2.2.0"
+      sources."log-update-2.3.0"
+      sources."loud-rejection-1.6.0"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.5"
+      sources."make-dir-1.3.0"
+      sources."map-obj-2.0.0"
+      sources."meow-5.0.0"
+      sources."mimic-fn-1.2.0"
+      sources."minimist-1.2.0"
+      sources."minimist-options-3.0.2"
+      sources."ms-2.0.0"
+      sources."normalize-package-data-2.5.0"
+      sources."npm-run-path-2.0.2"
+      sources."onetime-2.0.1"
+      (sources."ora-3.4.0" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."p-finally-1.0.0"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."package-json-4.0.1"
+      sources."parse-json-4.0.0"
+      sources."path-exists-3.0.0"
+      sources."path-is-inside-1.0.2"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.6"
+      sources."path-type-3.0.0"
+      sources."pify-3.0.0"
+      sources."prepend-http-1.0.4"
+      sources."pseudomap-1.0.2"
+      sources."quick-lru-1.1.0"
+      sources."rc-1.2.8"
+      sources."read-pkg-3.0.0"
+      sources."read-pkg-up-3.0.0"
+      sources."redent-2.0.0"
+      sources."registry-auth-token-3.4.0"
+      sources."registry-url-3.1.0"
+      sources."resolve-1.10.1"
+      sources."restore-cursor-2.0.0"
+      sources."round-to-3.0.0"
+      sources."safe-buffer-5.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.0"
+      sources."semver-diff-2.1.0"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.2"
+      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.4"
+      sources."speedtest-net-1.5.1"
+      sources."string-width-2.1.1"
+      sources."strip-ansi-4.0.0"
+      sources."strip-bom-3.0.0"
+      sources."strip-eof-1.0.0"
+      sources."strip-indent-2.0.0"
+      sources."strip-json-comments-2.0.1"
+      sources."supports-color-5.5.0"
+      sources."term-size-1.2.0"
+      sources."timed-out-4.0.1"
+      sources."trim-newlines-2.0.0"
+      sources."unique-string-1.0.0"
+      sources."unzip-response-2.0.1"
+      sources."update-notifier-2.5.0"
+      sources."url-parse-lax-1.0.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."wcwidth-1.0.1"
+      sources."which-1.3.1"
+      sources."widest-line-2.0.1"
+      sources."wrap-ansi-3.0.1"
+      sources."write-file-atomic-2.4.2"
+      sources."xdg-basedir-3.0.0"
+      sources."xml2js-0.4.19"
+      sources."xmlbuilder-9.0.7"
+      sources."yallist-2.1.2"
+      sources."yargs-parser-10.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Test your internet connection speed and ping using speedtest.net from the CLI";
+      homepage = "https://github.com/sindresorhus/speed-test#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   stackdriver-statsd-backend = nodeEnv.buildNodePackage {
     name = "stackdriver-statsd-backend";
     packageName = "stackdriver-statsd-backend";
@@ -59813,10 +62076,10 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-0.24.0"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -59844,7 +62107,7 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      (sources."http-errors-1.6.3" // {
+      (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."statuses-1.5.0"
         ];
@@ -59949,7 +62212,7 @@ in
       sources."memory-cache-0.1.6"
       sources."methods-1.1.2"
       sources."micromatch-3.1.10"
-      sources."mime-1.4.1"
+      sources."mime-1.6.0"
       sources."mime-db-1.40.0"
       sources."mime-types-2.1.24"
       sources."minimatch-3.0.4"
@@ -59975,7 +62238,7 @@ in
       sources."nanomatch-1.2.13"
       sources."native-promise-only-0.8.1"
       sources."neo-async-2.6.0"
-      (sources."nodemon-1.18.11" // {
+      (sources."nodemon-1.19.0" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.1"
@@ -60067,19 +62330,20 @@ in
       sources."sanitize-filename-1.6.1"
       sources."semver-5.7.0"
       sources."semver-diff-2.1.0"
-      (sources."send-0.16.2" // {
+      (sources."send-0.17.0" // {
         dependencies = [
-          sources."statuses-1.4.0"
+          sources."ms-2.1.1"
+          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.13.2"
+      sources."serve-static-1.14.0"
       (sources."set-value-2.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
           sources."is-extendable-0.1.1"
         ];
       })
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.1.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."sigmund-1.0.1"
@@ -60185,12 +62449,13 @@ in
       })
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
+      sources."toidentifier-1.0.0"
       sources."touch-3.1.0"
       sources."traverse-0.6.6"
       sources."truncate-utf8-bytes-1.0.2"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      (sources."uglify-js-3.5.6" // {
+      (sources."uglify-js-3.5.11" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -60262,7 +62527,7 @@ in
       sha256 = "886069ecc5eedf0371b948e8ff66e7f2943c85fe7cfdaa7183e1a3572d55852b";
     };
     dependencies = [
-      sources."@types/node-11.13.7"
+      sources."@types/node-11.13.10"
       sources."ajv-6.10.0"
       sources."ansi-regex-3.0.0"
       sources."argparse-1.0.10"
@@ -60335,7 +62600,7 @@ in
       sources."moment-2.24.0"
       sources."ms-2.1.1"
       sources."nice-try-1.0.5"
-      sources."node-fetch-2.3.0"
+      sources."node-fetch-2.5.0"
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
@@ -60409,7 +62674,7 @@ in
       sources."ws-4.1.0"
       sources."y18n-4.0.0"
       sources."yargs-13.2.2"
-      sources."yargs-parser-13.0.0"
+      sources."yargs-parser-13.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -60438,7 +62703,7 @@ in
       sources."enhanced-resolve-2.3.0"
       sources."errno-0.1.7"
       sources."fs.realpath-1.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -60470,46 +62735,46 @@ in
   textlint = nodeEnv.buildNodePackage {
     name = "textlint";
     packageName = "textlint";
-    version = "11.2.3";
+    version = "11.2.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint/-/textlint-11.2.3.tgz";
-      sha512 = "3bIe/S4Gw1Ln1HNaKRJ+25V4aqDQqtRuLC5GCse/8q4FUGaJYUhqDCVYDR2dXxwcVffPNb01SwSZsSbYcseBgQ==";
+      url = "https://registry.npmjs.org/textlint/-/textlint-11.2.5.tgz";
+      sha512 = "1yEEf0mPEVDfIZII0yWz9VVlo0xF51cfvqHubPtsylxHpQdfgCDX3cLHXhDVT2RTv8lrOGTrudeXtYV3NPoNdQ==";
     };
     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.3"
-      sources."@textlint/kernel-3.1.4"
-      sources."@textlint/linter-formatter-3.1.3"
-      sources."@textlint/markdown-to-ast-6.1.2"
-      sources."@textlint/text-to-ast-3.1.2"
-      sources."@textlint/textlint-plugin-markdown-5.1.4"
-      sources."@textlint/textlint-plugin-text-4.1.4"
-      sources."@textlint/types-1.1.3"
+      sources."@textlint/ast-node-types-4.2.2"
+      sources."@textlint/ast-traverse-2.1.3"
+      sources."@textlint/feature-flag-3.1.3"
+      sources."@textlint/fixer-formatter-3.1.5"
+      sources."@textlint/kernel-3.1.6"
+      sources."@textlint/linter-formatter-3.1.5"
+      sources."@textlint/markdown-to-ast-6.1.3"
+      sources."@textlint/text-to-ast-3.1.3"
+      sources."@textlint/textlint-plugin-markdown-5.1.6"
+      sources."@textlint/textlint-plugin-text-4.1.6"
+      sources."@textlint/types-1.1.5"
       sources."@types/bluebird-3.5.26"
       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."bail-1.0.4"
       sources."balanced-match-1.0.0"
       sources."bluebird-3.5.4"
       sources."boundary-1.0.1"
       sources."brace-expansion-1.1.11"
       sources."buffer-from-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."character-entities-1.2.3"
+      sources."character-entities-legacy-1.1.3"
+      sources."character-reference-invalid-1.1.3"
       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."collapse-white-space-1.0.5"
       sources."concat-map-0.0.1"
       sources."concat-stream-1.6.2"
       sources."core-util-is-1.0.2"
@@ -60526,7 +62791,7 @@ in
       sources."esprima-4.0.1"
       sources."extend-3.0.2"
       sources."fast-levenshtein-2.0.6"
-      sources."fault-1.0.2"
+      sources."fault-1.0.3"
       sources."file-entry-cache-2.0.0"
       sources."find-up-2.1.0"
       sources."flat-cache-1.3.4"
@@ -60534,7 +62799,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-stdin-5.0.1"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
@@ -60543,22 +62808,22 @@ in
       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-alphabetical-1.0.3"
+      sources."is-alphanumerical-1.0.3"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-1.1.6"
       sources."is-callable-1.1.4"
       sources."is-date-object-1.0.1"
-      sources."is-decimal-1.0.2"
+      sources."is-decimal-1.0.3"
       sources."is-file-1.0.0"
       sources."is-fullwidth-code-point-1.0.0"
-      sources."is-hexadecimal-1.0.2"
+      sources."is-hexadecimal-1.0.3"
       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."is-whitespace-character-1.0.3"
+      sources."is-word-character-1.0.3"
       sources."isarray-1.0.0"
       sources."js-yaml-3.13.1"
       sources."json-parse-better-errors-1.0.2"
@@ -60575,7 +62840,7 @@ in
       sources."lodash-4.17.11"
       sources."log-symbols-1.0.2"
       sources."map-like-2.0.0"
-      sources."markdown-escapes-1.0.2"
+      sources."markdown-escapes-1.0.3"
       sources."md5-2.2.1"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
@@ -60625,7 +62890,7 @@ in
       sources."repeat-string-1.6.1"
       sources."replace-ext-1.0.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
       sources."semver-5.7.0"
@@ -60635,7 +62900,7 @@ in
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.4"
       sources."sprintf-js-1.0.3"
-      sources."state-toggle-1.0.1"
+      sources."state-toggle-1.0.2"
       sources."string-width-1.0.2"
       sources."string.prototype.padstart-3.0.0"
       sources."string_decoder-1.1.1"
@@ -60688,13 +62953,708 @@ in
     production = true;
     bypassCache = true;
   };
+  textlint-plugin-latex = nodeEnv.buildNodePackage {
+    name = "textlint-plugin-latex";
+    packageName = "textlint-plugin-latex";
+    version = "1.0.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-plugin-latex/-/textlint-plugin-latex-1.0.4.tgz";
+      sha1 = "9139c65b8da891c983b368a50a286338cd76777a";
+    };
+    dependencies = [
+      sources."@textlint/ast-node-types-4.2.2"
+      sources."txt-to-ast-3.0.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Latex plugin for [textlint](https://github.com/textlint/textlint &#34;textlint&#34;).";
+      homepage = https://github.com/elzup/textlint-plugin-latex;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-abbr-within-parentheses = nodeEnv.buildNodePackage {
+    name = "textlint-rule-abbr-within-parentheses";
+    packageName = "textlint-rule-abbr-within-parentheses";
+    version = "1.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-abbr-within-parentheses/-/textlint-rule-abbr-within-parentheses-1.0.2.tgz";
+      sha1 = "8d49dd02b3a7a88d7e6b32817f9e202c5c6596b9";
+    };
+    dependencies = [
+      sources."define-properties-1.1.3"
+      sources."match-index-1.0.1"
+      sources."object-keys-1.1.1"
+      sources."regexp.prototype.flags-1.2.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule check that abbreviations within parentheses.";
+      homepage = https://github.com/azu/textlint-rule-abbr-within-parentheses;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-alex = nodeEnv.buildNodePackage {
+    name = "textlint-rule-alex";
+    packageName = "textlint-rule-alex";
+    version = "1.3.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-alex/-/textlint-rule-alex-1.3.1.tgz";
+      sha512 = "TP+dtJcCe0+ZR7Gp1E3iJdf3XtOImrEIcUdaQnok4QJJEutZ1dTiP4rCfnyOxz70NZ+2RdBJgZeZZWGhuJzSwA==";
+    };
+    dependencies = [
+      sources."@textlint/ast-node-types-4.2.2"
+      sources."@textlint/types-1.1.5"
+      sources."alex-5.1.0"
+      sources."ansi-align-2.0.0"
+      sources."ansi-regex-3.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."argparse-1.0.10"
+      sources."array-find-index-1.0.2"
+      sources."array-iterate-1.1.3"
+      sources."bail-1.0.4"
+      sources."balanced-match-1.0.0"
+      sources."boundary-1.0.1"
+      (sources."boxen-1.3.0" // {
+        dependencies = [
+          sources."camelcase-4.1.0"
+        ];
+      })
+      sources."brace-expansion-1.1.11"
+      sources."bubble-stream-error-1.0.0"
+      sources."buffer-from-1.1.1"
+      sources."camelcase-2.1.1"
+      sources."camelcase-keys-2.1.0"
+      sources."capture-stack-trace-1.0.1"
+      sources."chalk-2.4.2"
+      sources."character-entities-1.2.3"
+      sources."character-entities-legacy-1.1.3"
+      sources."character-reference-invalid-1.1.3"
+      sources."ci-info-1.6.0"
+      sources."cli-boxes-1.0.0"
+      sources."code-point-at-1.1.0"
+      sources."collapse-white-space-1.0.5"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."concat-map-0.0.1"
+      (sources."concat-stream-1.6.2" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."configstore-3.1.2"
+      sources."core-util-is-1.0.2"
+      sources."create-error-class-3.0.2"
+      sources."cross-spawn-5.1.0"
+      sources."crypto-random-string-1.0.0"
+      sources."currently-unhandled-0.4.1"
+      sources."cuss-1.13.1"
+      sources."debug-0.8.1"
+      sources."decamelize-1.2.0"
+      sources."deep-extend-0.6.0"
+      sources."dot-prop-4.2.0"
+      sources."duplexer-0.1.1"
+      sources."duplexer3-0.1.4"
+      sources."end-of-stream-1.4.1"
+      sources."error-ex-1.3.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-4.0.1"
+      sources."event-stream-3.1.7"
+      sources."execa-0.7.0"
+      sources."extend-3.0.2"
+      sources."fault-1.0.3"
+      sources."find-up-1.1.2"
+      sources."fn-name-2.0.1"
+      sources."format-0.2.2"
+      sources."from-0.1.7"
+      sources."fs.realpath-1.0.0"
+      sources."get-stdin-4.0.1"
+      sources."get-stream-3.0.0"
+      sources."git-diff-tree-1.0.0"
+      sources."git-spawned-stream-0.1.1"
+      sources."glob-7.1.4"
+      sources."global-dirs-0.1.1"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.1.15"
+      sources."has-flag-3.0.0"
+      sources."hosted-git-info-2.7.1"
+      sources."ignore-3.3.10"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."indent-string-2.1.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."is-alphabetical-1.0.3"
+      sources."is-alphanumerical-1.0.3"
+      sources."is-arrayish-0.2.1"
+      sources."is-buffer-1.1.6"
+      sources."is-ci-1.2.1"
+      sources."is-decimal-1.0.3"
+      sources."is-empty-1.2.0"
+      sources."is-finite-1.0.2"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-hexadecimal-1.0.3"
+      sources."is-hidden-1.1.1"
+      sources."is-installed-globally-0.1.0"
+      sources."is-npm-1.0.0"
+      sources."is-obj-1.0.1"
+      sources."is-object-1.0.1"
+      sources."is-path-inside-1.0.1"
+      sources."is-plain-obj-1.1.0"
+      sources."is-redirect-1.0.0"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."is-utf8-0.2.1"
+      sources."is-whitespace-character-1.0.3"
+      sources."is-word-character-1.0.3"
+      sources."isarray-0.0.1"
+      sources."isexe-2.0.0"
+      sources."js-yaml-3.13.1"
+      sources."latest-version-3.1.0"
+      sources."limit-spawn-0.0.3"
+      sources."load-json-file-1.1.0"
+      sources."load-plugin-2.3.0"
+      sources."lodash.difference-4.5.0"
+      sources."lodash.intersection-4.4.0"
+      sources."loud-rejection-1.6.0"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.5"
+      (sources."make-dir-1.3.0" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."map-obj-1.0.1"
+      sources."map-stream-0.1.0"
+      sources."markdown-escapes-1.0.3"
+      sources."mdast-comment-marker-1.1.0"
+      sources."mdast-util-to-nlcst-3.2.2"
+      sources."meow-3.7.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."ms-2.0.0"
+      sources."nlcst-is-literal-1.1.2"
+      sources."nlcst-normalize-2.1.2"
+      sources."nlcst-search-1.5.0"
+      sources."nlcst-to-string-2.0.2"
+      sources."normalize-package-data-2.5.0"
+      sources."npm-prefix-1.2.0"
+      sources."npm-run-path-2.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."object-keys-1.1.1"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."p-finally-1.0.0"
+      sources."package-json-4.0.1"
+      sources."parse-english-4.1.1"
+      sources."parse-entities-1.2.1"
+      sources."parse-json-2.2.0"
+      sources."parse-latin-4.1.1"
+      sources."path-exists-2.1.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-is-inside-1.0.2"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.6"
+      sources."path-type-1.1.0"
+      sources."pause-stream-0.0.11"
+      sources."pify-2.3.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pluralize-7.0.0"
+      sources."prepend-http-1.0.4"
+      sources."process-nextick-args-2.0.0"
+      sources."pseudomap-1.0.2"
+      sources."pump-1.0.3"
+      sources."pump-chain-1.0.0"
+      sources."quotation-1.1.1"
+      sources."rc-1.2.8"
+      sources."read-pkg-1.1.0"
+      sources."read-pkg-up-1.0.1"
+      sources."readable-stream-1.0.34"
+      sources."redent-1.0.0"
+      sources."registry-auth-token-3.4.0"
+      sources."registry-url-3.1.0"
+      sources."remark-frontmatter-1.3.1"
+      sources."remark-message-control-4.1.1"
+      sources."remark-parse-4.0.0"
+      sources."remark-retext-3.1.2"
+      sources."repeat-string-1.6.1"
+      sources."repeating-2.0.1"
+      sources."replace-ext-1.0.0"
+      sources."resolve-1.10.1"
+      sources."resolve-from-4.0.0"
+      sources."retext-english-3.0.2"
+      sources."retext-equality-3.2.0"
+      sources."retext-profanities-4.4.0"
+      sources."safe-buffer-5.1.2"
+      sources."semver-5.7.0"
+      sources."semver-diff-2.1.0"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."shellsubstitute-1.2.0"
+      sources."signal-exit-3.0.2"
+      sources."sliced-1.0.1"
+      (sources."spawn-to-readstream-0.1.3" // {
+        dependencies = [
+          sources."object-keys-0.4.0"
+          sources."through2-0.4.2"
+          sources."xtend-2.1.2"
+        ];
+      })
+      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.4"
+      sources."split-0.2.10"
+      (sources."split-transform-stream-0.1.1" // {
+        dependencies = [
+          sources."bubble-stream-error-0.0.1"
+          sources."object-keys-0.4.0"
+          sources."through2-0.4.2"
+          sources."xtend-2.1.2"
+        ];
+      })
+      sources."sprintf-js-1.0.3"
+      sources."state-toggle-1.0.2"
+      sources."stream-combiner-0.0.4"
+      sources."string-width-2.1.1"
+      sources."string_decoder-0.10.31"
+      sources."strip-ansi-4.0.0"
+      sources."strip-bom-2.0.0"
+      sources."strip-eof-1.0.0"
+      sources."strip-indent-1.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."structured-source-3.0.2"
+      sources."supports-color-5.5.0"
+      sources."term-size-1.2.0"
+      sources."textlint-rule-helper-2.1.1"
+      sources."through-2.3.8"
+      (sources."through2-2.0.5" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."timed-out-4.0.1"
+      sources."to-vfile-2.2.0"
+      sources."trim-0.0.1"
+      sources."trim-newlines-1.0.0"
+      sources."trim-trailing-lines-1.1.1"
+      sources."trough-1.0.3"
+      sources."typedarray-0.0.6"
+      sources."unherit-1.1.1"
+      sources."unified-6.2.0"
+      sources."unified-diff-1.0.2"
+      (sources."unified-engine-4.0.1" // {
+        dependencies = [
+          sources."debug-2.6.9"
+        ];
+      })
+      sources."unified-message-control-1.0.4"
+      sources."unique-string-1.0.0"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-modify-children-1.1.3"
+      sources."unist-util-position-3.0.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-children-1.1.2"
+      sources."unist-util-visit-parents-2.0.1"
+      sources."untildify-2.1.0"
+      sources."unzip-response-2.0.1"
+      sources."update-notifier-2.5.0"
+      sources."url-parse-lax-1.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vfile-2.3.0"
+      sources."vfile-find-up-2.0.2"
+      sources."vfile-location-2.0.4"
+      sources."vfile-message-1.1.1"
+      (sources."vfile-reporter-4.0.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."has-flag-2.0.0"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-4.5.0"
+        ];
+      })
+      sources."vfile-sort-2.2.0"
+      sources."vfile-statistics-1.1.2"
+      sources."which-1.3.1"
+      sources."widest-line-2.0.1"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-2.4.2"
+      sources."x-is-function-1.0.4"
+      sources."x-is-string-0.1.0"
+      sources."xdg-basedir-3.0.0"
+      sources."xtend-4.0.1"
+      sources."yallist-2.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule for alex";
+      homepage = https://github.com/textlint-rule/textlint-rule-alex;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-common-misspellings = nodeEnv.buildNodePackage {
+    name = "textlint-rule-common-misspellings";
+    packageName = "textlint-rule-common-misspellings";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-common-misspellings/-/textlint-rule-common-misspellings-1.0.1.tgz";
+      sha1 = "8c4133cf3bb59aa159199d2c9bced12413365774";
+    };
+    dependencies = [
+      sources."misspellings-1.1.0"
+      sources."textlint-rule-helper-1.2.0"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-visit-1.4.0"
+      sources."unist-util-visit-parents-2.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule to check common misspellings";
+      homepage = https://github.com/io-monad/textlint-rule-common-misspellings;
+      license = "GPL-3.0";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-diacritics = nodeEnv.buildNodePackage {
+    name = "textlint-rule-diacritics";
+    packageName = "textlint-rule-diacritics";
+    version = "0.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-diacritics/-/textlint-rule-diacritics-0.0.2.tgz";
+      sha1 = "9998d2bcd9218edfc8d783db5a49948ca077b612";
+    };
+    dependencies = [
+      sources."match-casing-1.0.1"
+      sources."strip-json-comments-2.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Textlint rule to check correct usage of diacritics";
+      homepage = https://github.com/sapegin/textlint-rule-diacritics;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-en-max-word-count = nodeEnv.buildNodePackage {
+    name = "textlint-rule-en-max-word-count";
+    packageName = "textlint-rule-en-max-word-count";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-en-max-word-count/-/textlint-rule-en-max-word-count-1.0.1.tgz";
+      sha1 = "23325aa4d1311c62586332f186e53040c6445d24";
+    };
+    dependencies = [
+      sources."boundary-1.0.1"
+      sources."buffer-from-1.1.1"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."object-assign-4.1.1"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
+      sources."sentence-splitter-2.3.2"
+      sources."split-string-words-1.0.0"
+      sources."string_decoder-1.1.1"
+      sources."structured-source-3.0.2"
+      sources."textlint-util-to-string-1.2.1"
+      sources."typedarray-0.0.6"
+      sources."unist-util-map-1.0.4"
+      sources."util-deprecate-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule that specify the maximum word count of a sentence.";
+      homepage = https://github.com/azu/textlint-rule-en-max-word-count;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-max-comma = nodeEnv.buildNodePackage {
+    name = "textlint-rule-max-comma";
+    packageName = "textlint-rule-max-comma";
+    version = "1.0.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-max-comma/-/textlint-rule-max-comma-1.0.4.tgz";
+      sha1 = "f555c97e0d3039ca7da06cfd1afad0e5f5899a37";
+    };
+    dependencies = [
+      sources."boundary-1.0.1"
+      sources."buffer-from-1.1.1"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."flatmap-0.0.3"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
+      sources."sentence-splitter-2.3.2"
+      sources."string_decoder-1.1.1"
+      sources."structured-source-3.0.2"
+      sources."typedarray-0.0.6"
+      sources."unist-util-filter-0.2.1"
+      sources."unist-util-is-1.0.0"
+      sources."util-deprecate-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule that limit maxinum comma(,) count of sentence.";
+      homepage = "https://github.com/azu/textlint-rule-max-comma#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-no-start-duplicated-conjunction = nodeEnv.buildNodePackage {
+    name = "textlint-rule-no-start-duplicated-conjunction";
+    packageName = "textlint-rule-no-start-duplicated-conjunction";
+    version = "2.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-no-start-duplicated-conjunction/-/textlint-rule-no-start-duplicated-conjunction-2.0.2.tgz";
+      sha512 = "HydBbkWjnMn4KrnlpnusY1BGjIG+64UySxRCvRphUAIiuJL2nbkdrIIiOjwfQhllKUa7Sf33bs6RAcbEWjZVfg==";
+    };
+    dependencies = [
+      sources."@textlint/ast-node-types-4.2.2"
+      sources."@textlint/types-1.1.5"
+      sources."boundary-1.0.1"
+      sources."buffer-from-1.1.1"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."define-properties-1.1.3"
+      sources."es-abstract-1.13.0"
+      sources."es-to-primitive-1.2.0"
+      sources."function-bind-1.1.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.0"
+      sources."inherits-2.0.3"
+      sources."is-callable-1.1.4"
+      sources."is-date-object-1.0.1"
+      sources."is-regex-1.0.4"
+      sources."is-symbol-1.0.2"
+      sources."isarray-1.0.0"
+      sources."object-assign-4.1.1"
+      sources."object-keys-1.1.1"
+      sources."object.values-1.1.0"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
+      sources."sentence-splitter-3.0.11"
+      sources."string_decoder-1.1.1"
+      sources."structured-source-3.0.2"
+      sources."textlint-rule-helper-2.1.1"
+      sources."typedarray-0.0.6"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-visit-1.4.0"
+      sources."unist-util-visit-parents-2.0.1"
+      sources."util-deprecate-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule that check no start with duplicated conjunction.";
+      homepage = https://github.com/textlint-rule/textlint-rule-no-start-duplicated-conjunction;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-period-in-list-item = nodeEnv.buildNodePackage {
+    name = "textlint-rule-period-in-list-item";
+    packageName = "textlint-rule-period-in-list-item";
+    version = "0.3.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-period-in-list-item/-/textlint-rule-period-in-list-item-0.3.0.tgz";
+      sha512 = "yHTu24dDU8XPxEpQ6NJc4i8OYKiqHmch4XHCvzfrz8nsWaaIa82h5fDiUsMrzEctlXiWcbmNk6Sxbhq+UnHOvg==";
+    };
+    dependencies = [
+      sources."array.prototype.find-2.0.4"
+      sources."boolbase-1.0.0"
+      sources."check-ends-with-period-1.0.1"
+      sources."css-selector-parser-1.3.0"
+      sources."debug-2.6.9"
+      sources."define-properties-1.1.3"
+      sources."emoji-regex-6.5.1"
+      sources."end-with-1.0.2"
+      sources."es-abstract-1.13.0"
+      sources."es-to-primitive-1.2.0"
+      sources."function-bind-1.1.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.0"
+      sources."is-callable-1.1.4"
+      sources."is-date-object-1.0.1"
+      sources."is-regex-1.0.4"
+      sources."is-symbol-1.0.2"
+      sources."ms-2.0.0"
+      sources."nth-check-1.0.2"
+      sources."object-keys-1.1.1"
+      sources."unist-util-select-1.5.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule that check with or without period in list item.";
+      homepage = https://github.com/azu/textlint-rule-period-in-list-item;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-stop-words = nodeEnv.buildNodePackage {
+    name = "textlint-rule-stop-words";
+    packageName = "textlint-rule-stop-words";
+    version = "1.0.13";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-1.0.13.tgz";
+      sha512 = "LYCgL3OcaxFEDWwWo2I4hSg0CR/Ik3HOUjkSiSsVgx54Dnk3/78ajbcEgj+Q7spMmVw2jETqGObhZkMGbQBMYw==";
+    };
+    dependencies = [
+      sources."@textlint/ast-node-types-4.2.2"
+      sources."@textlint/types-1.1.5"
+      sources."boundary-1.0.1"
+      sources."lodash-4.17.11"
+      sources."split-lines-2.0.0"
+      sources."structured-source-3.0.2"
+      sources."textlint-rule-helper-2.1.1"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-visit-1.4.0"
+      sources."unist-util-visit-parents-2.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Textlint rule to find filler words, buzzwords and chiches";
+      homepage = https://github.com/sapegin/textlint-rule-stop-words;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-terminology = nodeEnv.buildNodePackage {
+    name = "textlint-rule-terminology";
+    packageName = "textlint-rule-terminology";
+    version = "1.1.30";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-1.1.30.tgz";
+      sha512 = "PsLiridAdaLyho236adWnTEAbAcxxUsxVqaXWaJce+aRsjCOeyYPBLNRisFGz90KZ0S1NDYT/v5CvzBrgsiuzQ==";
+    };
+    dependencies = [
+      sources."@textlint/ast-node-types-4.2.2"
+      sources."@textlint/types-1.1.5"
+      sources."boundary-1.0.1"
+      sources."lodash-4.17.11"
+      sources."strip-json-comments-2.0.1"
+      sources."structured-source-3.0.2"
+      sources."textlint-rule-helper-2.1.1"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-visit-1.4.0"
+      sources."unist-util-visit-parents-2.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "TextLint rule to check correct terms spelling";
+      homepage = https://github.com/sapegin/textlint-rule-terminology;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-unexpanded-acronym = nodeEnv.buildNodePackage {
+    name = "textlint-rule-unexpanded-acronym";
+    packageName = "textlint-rule-unexpanded-acronym";
+    version = "1.2.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-unexpanded-acronym/-/textlint-rule-unexpanded-acronym-1.2.3.tgz";
+      sha512 = "kkbsbUlI3Gw4VTr79E825+2wuxPG8dM8T4VjEH25zlNhh3j8vpsVDjpbXRkVFl+EvDBCtDZEDaFPwhXy85toVQ==";
+    };
+    dependencies = [
+      sources."array-includes-3.0.3"
+      sources."define-properties-1.1.3"
+      sources."es-abstract-1.13.0"
+      sources."es-to-primitive-1.2.0"
+      sources."function-bind-1.1.1"
+      sources."has-1.0.3"
+      sources."has-symbols-1.0.0"
+      sources."is-callable-1.1.4"
+      sources."is-capitalized-1.0.0"
+      sources."is-date-object-1.0.1"
+      sources."is-regex-1.0.4"
+      sources."is-symbol-1.0.2"
+      sources."object-keys-1.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule that check unexpanded acronym word.";
+      homepage = https://github.com/textlint-rule/textlint-rule-unexpanded-acronym;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  textlint-rule-write-good = nodeEnv.buildNodePackage {
+    name = "textlint-rule-write-good";
+    packageName = "textlint-rule-write-good";
+    version = "1.6.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/textlint-rule-write-good/-/textlint-rule-write-good-1.6.2.tgz";
+      sha1 = "3c79b04091319d4e8be5fb442c596bf500e8493e";
+    };
+    dependencies = [
+      sources."@textlint/ast-node-types-4.2.2"
+      sources."@textlint/types-1.1.5"
+      sources."adverb-where-0.0.9"
+      sources."boundary-1.0.1"
+      sources."define-properties-1.1.3"
+      sources."e-prime-0.10.2"
+      sources."function-bind-1.1.1"
+      sources."has-symbols-1.0.0"
+      sources."no-cliches-0.1.1"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.0"
+      sources."passive-voice-0.1.0"
+      sources."structured-source-3.0.2"
+      sources."textlint-rule-helper-2.1.1"
+      sources."too-wordy-0.1.6"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-visit-1.4.0"
+      sources."unist-util-visit-parents-2.0.1"
+      sources."weasel-words-0.1.1"
+      sources."write-good-0.11.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "textlint rule to check your English style with write good";
+      homepage = https://github.com/textlint-rule/textlint-rule-write-good;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.103.0";
+    version = "0.104.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.103.0.tgz";
-      sha512 = "4WKRHTMt96sp+lX+Hx/eHtN9CWFyejDqr1ikgxZUJIkKEHVglSE7FY8n81NC6yWXqVSjUIQQppaxsoUe26Zi9g==";
+      url = "https://registry.npmjs.org/three/-/three-0.104.0.tgz";
+      sha512 = "q617IMBC5k40U2E9UC4/LtmhzTOOLB1jGMIooUL+QrhZ7abiGCSDrKrpCDt9V8RTl6xw+0FYfA1PYsIPKbQOgg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -60798,7 +63758,7 @@ in
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."moment-2.24.0"
-      sources."mooremachine-2.2.1"
+      sources."mooremachine-2.3.0"
       sources."mute-stream-0.0.8"
       sources."mv-2.1.1"
       sources."nan-2.13.2"
@@ -60914,7 +63874,7 @@ in
       sha512 = "N8E1X543CWEjg0/A70ZnA/kfAfAY/uogILsIuWBhHGxzv9kaJaj7/JCSwDiBH86CPEy37chSgW86KxVeYKsswQ==";
     };
     dependencies = [
-      sources."@types/node-6.14.5"
+      sources."@types/node-6.14.6"
       sources."ansi-0.3.1"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
@@ -60982,13 +63942,47 @@ in
     production = true;
     bypassCache = true;
   };
+  typescript-language-server = nodeEnv.buildNodePackage {
+    name = "typescript-language-server";
+    packageName = "typescript-language-server";
+    version = "0.3.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.3.7.tgz";
+      sha512 = "26VcyfcMGjojsQv0/uDG8ZxUOhCbH6wNZR1buajQv5hZYxNSqiCm+9InMPjozatECpyfphqVc0rc58q3B+dMfw==";
+    };
+    dependencies = [
+      sources."command-exists-1.2.6"
+      sources."commander-2.20.0"
+      sources."crypto-random-string-1.0.0"
+      sources."fs-extra-7.0.1"
+      sources."graceful-fs-4.1.15"
+      sources."jsonfile-4.0.0"
+      sources."p-debounce-1.0.0"
+      sources."temp-dir-1.0.0"
+      sources."tempy-0.2.1"
+      sources."unique-string-1.0.0"
+      sources."universalify-0.1.2"
+      sources."vscode-jsonrpc-4.0.0"
+      sources."vscode-languageserver-4.4.2"
+      sources."vscode-languageserver-protocol-3.14.1"
+      sources."vscode-languageserver-types-3.14.0"
+      sources."vscode-uri-1.0.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Language Server Protocol (LSP) implementation for TypeScript using tsserver";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = true;
+  };
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.5.6";
+    version = "3.5.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.6.tgz";
-      sha512 = "YDKRX8F0Y+Jr7LhoVk0n4G7ltR3Y7qFAj+DtVBthlOgCcIj1hyMigCfousVfn9HKmvJ+qiFlLDwaHx44/e5ZKw==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.11.tgz";
+      sha512 = "izPJg8RsSyqxbdnqX36ExpbH3K7tDBsAU/VfNv89VkMFy3z39zFjunQGsSHOlGlyIfGLGprGeosgQno3bo2/Kg==";
     };
     dependencies = [
       sources."commander-2.20.0"
@@ -61013,7 +64007,7 @@ in
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."after-0.8.2"
       sources."ajv-6.10.0"
       sources."ansi-regex-2.1.1"
@@ -61150,7 +64144,7 @@ in
       sources."get-stream-4.1.0"
       sources."getmac-1.4.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -61186,7 +64180,7 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
-      sources."jquery-3.4.0"
+      sources."jquery-3.4.1"
       sources."jquery-ui-bundle-1.12.1"
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
@@ -61220,7 +64214,7 @@ in
       sources."mkdirp-0.5.1"
       sources."moment-2.24.0"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
       sources."node-cache-4.2.0"
       sources."nopt-1.0.10"
@@ -61287,7 +64281,7 @@ in
       sources."request-2.88.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.1.2"
@@ -61357,7 +64351,7 @@ in
       })
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."typechecker-4.7.0"
       sources."typedarray-0.0.6"
       sources."uid-safe-2.1.5"
@@ -61389,7 +64383,7 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."yargs-parser-13.0.0"
+      sources."yargs-parser-13.1.0"
       sources."yeast-0.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -61401,6 +64395,70 @@ in
     production = true;
     bypassCache = true;
   };
+  vscode-css-languageserver-bin = nodeEnv.buildNodePackage {
+    name = "vscode-css-languageserver-bin";
+    packageName = "vscode-css-languageserver-bin";
+    version = "1.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/vscode-css-languageserver-bin/-/vscode-css-languageserver-bin-1.4.0.tgz";
+      sha512 = "KWrF5f4RYYe8RBDfqb1c0Sdf9xPS2Ly/Z/T18H+uUOMw2QyzIrkxv4bMKy5GFfPm4479k6Ln4ji4UHqSmhGf3g==";
+    };
+    dependencies = [
+      sources."vscode-css-languageservice-3.0.13"
+      sources."vscode-jsonrpc-4.0.0"
+      sources."vscode-languageserver-4.4.2"
+      sources."vscode-languageserver-protocol-3.14.1"
+      sources."vscode-languageserver-protocol-foldingprovider-2.0.1"
+      sources."vscode-languageserver-types-3.14.0"
+      sources."vscode-nls-4.1.0"
+      sources."vscode-uri-1.0.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Binary version published on npm of vscode-css-languageserver extracted from VSCode tree";
+      homepage = "https://github.com/vscode-langservers/vscode-css-languageserver-bin#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  vscode-html-languageserver-bin = nodeEnv.buildNodePackage {
+    name = "vscode-html-languageserver-bin";
+    packageName = "vscode-html-languageserver-bin";
+    version = "1.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/vscode-html-languageserver-bin/-/vscode-html-languageserver-bin-1.4.0.tgz";
+      sha512 = "rDnpvASQwf1dlRaGiu8edo5WlAr4dM3/r/dcPCH4O6UD4+eShhdC1E8IyiSisnJU6bRk+4mDTCgA6cyhGJY2xA==";
+    };
+    dependencies = [
+      sources."typescript-2.9.2"
+      (sources."vscode-css-languageservice-3.0.13" // {
+        dependencies = [
+          sources."vscode-nls-4.1.0"
+        ];
+      })
+      (sources."vscode-html-languageservice-2.1.12" // {
+        dependencies = [
+          sources."vscode-nls-4.1.0"
+        ];
+      })
+      sources."vscode-jsonrpc-4.0.0"
+      sources."vscode-languageserver-4.4.2"
+      sources."vscode-languageserver-protocol-3.14.1"
+      sources."vscode-languageserver-protocol-foldingprovider-2.0.1"
+      sources."vscode-languageserver-types-3.14.0"
+      sources."vscode-nls-3.2.5"
+      sources."vscode-uri-1.0.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Binary version published on npm of vscode-html-languageserver extracted from VSCode tree";
+      homepage = "https://github.com/vscode-langservers/vscode-html-languageserver-bin#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   vue-cli = nodeEnv.buildNodePackage {
     name = "vue-cli";
     packageName = "vue-cli";
@@ -61507,7 +64565,7 @@ in
       sources."get-stream-3.0.0"
       sources."getpass-0.1.7"
       sources."git-clone-0.1.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."got-6.7.1"
       sources."graceful-fs-4.1.15"
       sources."graceful-readlink-1.0.1"
@@ -61611,7 +64669,7 @@ in
       sources."restore-cursor-2.0.0"
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       (sources."seek-bzip-1.0.5" // {
@@ -61657,7 +64715,7 @@ in
       sources."tslib-1.9.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.5.6"
+      sources."uglify-js-3.5.11"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.3.3"
       sources."unyield-0.0.1"
@@ -61691,14 +64749,14 @@ in
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
-    version = "3.6.3";
+    version = "3.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@vue/cli/-/cli-3.6.3.tgz";
-      sha512 = "NnSc/Bhu7E0dOoYuRqWul4BpsJQagI2jTcMfb694g8N7+ZYBOLjqg4MSs6G9Gin+Nx4MrSmmDHq7vGjaa0o1iw==";
+      url = "https://registry.npmjs.org/@vue/cli/-/cli-3.7.0.tgz";
+      sha512 = "X0utEWJTd4khEvAD9DbI1FG5D4hYCCnXFZ+U5uym4g7use2rE8OdmcUHT8pndlIfpBJILt6F1oej7Px99uo6qg==";
     };
     dependencies = [
       sources."@akryum/winattr-3.0.0"
-      sources."@apollographql/apollo-tools-0.3.5"
+      sources."@apollographql/apollo-tools-0.3.6"
       sources."@apollographql/graphql-playground-html-1.6.6"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
@@ -61715,29 +64773,29 @@ in
       sources."@types/accepts-1.3.5"
       sources."@types/body-parser-1.17.0"
       sources."@types/connect-3.4.32"
-      sources."@types/cors-2.8.4"
+      sources."@types/cors-2.8.5"
       sources."@types/events-3.0.0"
       sources."@types/express-4.16.1"
-      sources."@types/express-serve-static-core-4.16.3"
+      sources."@types/express-serve-static-core-4.16.4"
       sources."@types/glob-7.1.1"
       sources."@types/long-4.0.0"
       sources."@types/mime-2.0.1"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-11.13.7"
+      sources."@types/node-12.0.0"
       sources."@types/range-parser-1.2.3"
       sources."@types/serve-static-1.13.2"
       sources."@types/ws-6.0.1"
       sources."@types/zen-observable-0.8.0"
-      sources."@vue/cli-shared-utils-3.6.0"
-      (sources."@vue/cli-ui-3.6.2" // {
+      sources."@vue/cli-shared-utils-3.7.0"
+      (sources."@vue/cli-ui-3.7.0" // {
         dependencies = [
           sources."clone-2.1.2"
         ];
       })
-      sources."@vue/cli-ui-addon-webpack-3.6.3"
-      sources."@vue/cli-ui-addon-widgets-3.6.0"
+      sources."@vue/cli-ui-addon-webpack-3.7.0"
+      sources."@vue/cli-ui-addon-widgets-3.7.0"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.5"
+      sources."accepts-1.3.7"
       sources."aggregate-error-2.2.0"
       sources."ajv-6.10.0"
       sources."ansi-align-2.0.0"
@@ -61750,18 +64808,18 @@ in
         ];
       })
       sources."apollo-cache-1.2.1"
-      (sources."apollo-cache-control-0.5.2" // {
+      sources."apollo-cache-control-0.6.0"
+      sources."apollo-cache-inmemory-1.5.1"
+      sources."apollo-client-2.5.1"
+      sources."apollo-datasource-0.4.0"
+      sources."apollo-engine-reporting-1.1.0"
+      sources."apollo-engine-reporting-protobuf-0.3.0"
+      sources."apollo-env-0.5.0"
+      (sources."apollo-graphql-0.2.1-register.1" // {
         dependencies = [
-          sources."graphql-extensions-0.5.4"
+          sources."apollo-env-0.4.1-register.1"
         ];
       })
-      sources."apollo-cache-inmemory-1.5.1"
-      sources."apollo-client-2.5.1"
-      sources."apollo-datasource-0.3.1"
-      sources."apollo-engine-reporting-1.0.7"
-      sources."apollo-engine-reporting-protobuf-0.2.1"
-      sources."apollo-env-0.4.0"
-      sources."apollo-graphql-0.1.3"
       (sources."apollo-link-1.2.11" // {
         dependencies = [
           sources."ts-invariant-0.3.3"
@@ -61777,18 +64835,14 @@ in
       sources."apollo-link-persisted-queries-0.2.2"
       sources."apollo-link-state-0.4.2"
       sources."apollo-link-ws-1.0.17"
-      sources."apollo-server-caching-0.3.1"
-      sources."apollo-server-core-2.4.8"
-      sources."apollo-server-env-2.2.0"
-      sources."apollo-server-errors-2.2.1"
-      sources."apollo-server-express-2.4.8"
-      sources."apollo-server-plugin-base-0.3.7"
-      (sources."apollo-tracing-0.5.2" // {
-        dependencies = [
-          sources."graphql-extensions-0.5.4"
-        ];
-      })
-      sources."apollo-upload-client-10.0.0"
+      sources."apollo-server-caching-0.4.0"
+      sources."apollo-server-core-2.5.0"
+      sources."apollo-server-env-2.3.0"
+      sources."apollo-server-errors-2.3.0"
+      sources."apollo-server-express-2.5.0"
+      sources."apollo-server-plugin-base-0.4.0"
+      sources."apollo-tracing-0.6.0"
+      sources."apollo-upload-client-10.0.1"
       sources."apollo-utilities-1.2.1"
       sources."arg-4.1.0"
       sources."argparse-1.0.10"
@@ -61806,7 +64860,7 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."ast-types-0.12.3"
+      sources."ast-types-0.12.4"
       sources."async-1.5.2"
       sources."async-each-1.0.3"
       sources."async-limiter-1.0.0"
@@ -61826,11 +64880,9 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
       sources."bl-1.2.2"
-      (sources."body-parser-1.18.3" // {
+      (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."http-errors-1.6.3"
-          sources."setprototypeof-1.1.0"
         ];
       })
       sources."boxen-1.3.0"
@@ -61844,7 +64896,7 @@ in
       sources."buffer-from-1.1.1"
       sources."builtins-1.0.3"
       sources."busboy-0.3.1"
-      sources."bytes-3.0.0"
+      sources."bytes-3.1.0"
       sources."cache-base-1.0.1"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-4.1.0"
@@ -61966,7 +65018,7 @@ in
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.1"
       sources."entities-1.1.2"
-      sources."envinfo-7.2.0"
+      sources."envinfo-7.3.1"
       sources."es-abstract-1.13.0"
       sources."es-to-primitive-1.2.0"
       sources."escape-html-1.0.3"
@@ -61975,7 +65027,7 @@ in
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
       sources."event-pubsub-4.3.0"
-      sources."eventemitter3-3.1.0"
+      sources."eventemitter3-3.1.2"
       sources."exec-sh-0.2.2"
       (sources."execa-1.0.0" // {
         dependencies = [
@@ -62005,7 +65057,13 @@ in
       sources."expand-tilde-2.0.2"
       (sources."express-4.16.4" // {
         dependencies = [
+          sources."body-parser-1.18.3"
+          sources."bytes-3.0.0"
           sources."debug-2.6.9"
+          sources."http-errors-1.6.3"
+          sources."iconv-lite-0.4.23"
+          sources."qs-6.5.2"
+          sources."raw-body-2.3.3"
           sources."setprototypeof-1.1.0"
           sources."statuses-1.4.0"
         ];
@@ -62013,11 +65071,7 @@ in
       sources."express-history-api-fallback-2.2.1"
       sources."extend-3.0.2"
       sources."extend-shallow-2.0.1"
-      (sources."external-editor-3.0.3" // {
-        dependencies = [
-          sources."iconv-lite-0.4.24"
-        ];
-      })
+      sources."external-editor-3.0.3"
       (sources."extglob-2.0.4" // {
         dependencies = [
           sources."define-property-1.0.0"
@@ -62048,12 +65102,12 @@ in
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from2-2.3.0"
-      sources."fs-capacitor-2.0.1"
+      sources."fs-capacitor-2.0.4"
       sources."fs-constants-1.0.0"
       sources."fs-exists-sync-0.1.0"
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."fswin-2.17.1227"
       sources."function-bind-1.1.1"
       sources."generate-function-1.1.0"
@@ -62064,7 +65118,7 @@ in
       sources."getpass-0.1.7"
       sources."git-clone-0.1.0"
       sources."git-config-path-1.0.1"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -62081,14 +65135,14 @@ in
       sources."got-6.7.1"
       sources."graceful-fs-4.1.15"
       sources."graceful-readlink-1.0.1"
-      sources."graphql-14.2.1"
+      sources."graphql-14.3.0"
       sources."graphql-anywhere-4.2.1"
-      sources."graphql-extensions-0.5.7"
+      sources."graphql-extensions-0.6.0"
       sources."graphql-subscriptions-1.1.0"
       sources."graphql-tag-2.10.1"
       sources."graphql-tools-4.0.4"
       sources."graphql-type-json-0.2.4"
-      sources."graphql-upload-8.0.5"
+      sources."graphql-upload-8.0.6"
       sources."growly-1.3.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -62108,7 +65162,7 @@ in
       sources."homedir-polyfill-1.0.3"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
-      sources."iconv-lite-0.4.23"
+      sources."iconv-lite-0.4.24"
       sources."ieee754-1.1.13"
       sources."ignore-4.0.6"
       sources."ignore-by-default-1.0.1"
@@ -62237,16 +65291,16 @@ in
           sources."get-stream-2.3.1"
         ];
       })
-      sources."negotiator-0.6.1"
+      sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
-      sources."node-fetch-2.3.0"
+      sources."node-fetch-2.5.0"
       sources."node-ipc-9.1.1"
       (sources."node-notifier-5.4.0" // {
         dependencies = [
           sources."semver-5.7.0"
         ];
       })
-      (sources."nodemon-1.18.11" // {
+      (sources."nodemon-1.19.0" // {
         dependencies = [
           sources."debug-3.2.6"
           sources."ms-2.1.1"
@@ -62325,7 +65379,7 @@ in
       sources."proto-list-1.2.4"
       (sources."protobufjs-6.8.8" // {
         dependencies = [
-          sources."@types/node-10.14.5"
+          sources."@types/node-10.14.6"
         ];
       })
       sources."proxy-addr-2.0.5"
@@ -62335,18 +65389,13 @@ in
       sources."pstree.remy-1.1.6"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.7.0"
       sources."range-parser-1.2.0"
-      (sources."raw-body-2.3.3" // {
-        dependencies = [
-          sources."http-errors-1.6.3"
-          sources."setprototypeof-1.1.0"
-        ];
-      })
+      sources."raw-body-2.4.0"
       sources."rc-1.2.8"
       sources."readable-stream-2.3.6"
       sources."readdirp-2.2.1"
-      (sources."recast-0.17.5" // {
+      (sources."recast-0.17.6" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -62362,10 +65411,14 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."request-2.88.0"
+      (sources."request-2.88.0" // {
+        dependencies = [
+          sources."qs-6.5.2"
+        ];
+      })
       sources."request-promise-core-1.1.2"
       sources."request-promise-native-1.0.7"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
       sources."ret-0.1.15"
@@ -62373,12 +65426,11 @@ in
       sources."rimraf-2.6.3"
       sources."rss-parser-3.7.0"
       sources."run-async-2.3.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."scrollparent-2.0.1"
       sources."sec-1.0.0"
       (sources."seek-bzip-1.0.5" // {
         dependencies = [
@@ -62545,7 +65597,7 @@ in
       sources."tslib-1.9.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."type-is-1.6.16"
+      sources."type-is-1.6.18"
       sources."unbzip2-stream-1.3.3"
       (sources."undefsafe-2.0.2" // {
         dependencies = [
@@ -62586,9 +65638,6 @@ in
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."vue-cli-plugin-apollo-0.19.2"
-      sources."vue-observe-visibility-0.4.3"
-      sources."vue-resize-0.4.5"
-      sources."vue-virtual-scroller-1.0.0-rc.2"
       sources."watch-1.0.2"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
@@ -62620,6 +65669,917 @@ in
     production = true;
     bypassCache = true;
   };
+  vue-language-server = nodeEnv.buildNodePackage {
+    name = "vue-language-server";
+    packageName = "vue-language-server";
+    version = "0.0.55";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/vue-language-server/-/vue-language-server-0.0.55.tgz";
+      sha512 = "Xo0eM+EKqwTsrZJ3dvKb5Y/fqnIYu4T4d5sROZ58z+vLjXaDeQYGPP0wpQoJsQZfx5Oj0N7Dpcuul0X3KgCGmg==";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.0.0"
+      sources."@babel/highlight-7.0.0"
+      sources."@emmetio/extract-abbreviation-0.1.6"
+      sources."@starptech/expression-parser-0.8.17"
+      sources."@starptech/hast-util-from-webparser-0.8.17"
+      sources."@starptech/prettyhtml-0.8.17"
+      sources."@starptech/prettyhtml-formatter-0.8.17"
+      sources."@starptech/prettyhtml-hast-to-html-0.8.17"
+      sources."@starptech/prettyhtml-hastscript-0.8.17"
+      sources."@starptech/prettyhtml-sort-attributes-0.8.17"
+      sources."@starptech/rehype-minify-whitespace-0.8.17"
+      sources."@starptech/rehype-webparser-0.8.17"
+      sources."@starptech/webparser-0.8.17"
+      sources."@types/node-12.0.0"
+      sources."@types/unist-2.0.3"
+      sources."@types/vfile-3.0.2"
+      sources."@types/vfile-message-1.0.1"
+      sources."abbrev-1.1.1"
+      sources."acorn-6.1.1"
+      sources."acorn-jsx-5.0.1"
+      sources."ajv-6.10.0"
+      sources."ajv-keywords-2.1.1"
+      sources."amdefine-1.0.1"
+      sources."ansi-align-2.0.0"
+      sources."ansi-escapes-3.2.0"
+      sources."ansi-regex-3.0.0"
+      sources."ansi-styles-3.2.1"
+      sources."anymatch-1.3.2"
+      sources."argparse-1.0.10"
+      sources."arr-diff-2.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-find-index-1.0.2"
+      sources."array-iterate-1.1.3"
+      sources."array-unique-0.2.1"
+      sources."arrify-1.0.1"
+      sources."assign-symbols-1.0.0"
+      sources."astral-regex-1.0.0"
+      sources."async-1.5.2"
+      sources."async-each-1.0.3"
+      sources."atob-2.1.2"
+      (sources."babel-code-frame-6.26.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."js-tokens-3.0.2"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."babel-runtime-6.26.0"
+      sources."bail-1.0.4"
+      sources."balanced-match-1.0.0"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."binary-extensions-1.13.1"
+      sources."bootstrap-vue-helper-json-1.1.1"
+      sources."boxen-1.3.0"
+      sources."brace-expansion-1.1.11"
+      sources."braces-1.8.5"
+      sources."buefy-helper-json-1.0.3"
+      sources."buffer-from-1.1.1"
+      (sources."cache-base-1.0.1" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      (sources."caller-path-0.1.0" // {
+        dependencies = [
+          sources."callsites-0.2.0"
+        ];
+      })
+      sources."callsites-3.1.0"
+      sources."camelcase-4.1.0"
+      sources."camelcase-keys-4.2.0"
+      sources."capture-stack-trace-1.0.1"
+      sources."ccount-1.0.4"
+      sources."chalk-2.4.2"
+      sources."character-entities-1.2.3"
+      sources."character-entities-html4-1.1.3"
+      sources."character-entities-legacy-1.1.3"
+      sources."character-reference-invalid-1.1.3"
+      sources."chardet-0.7.0"
+      sources."chokidar-1.5.2"
+      sources."ci-info-1.6.0"
+      sources."circular-json-0.3.3"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."isobject-3.0.1"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."cli-boxes-1.0.0"
+      sources."cli-cursor-2.1.0"
+      sources."cli-width-2.2.0"
+      (sources."cliui-3.2.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."clone-1.0.4"
+      sources."co-4.6.0"
+      sources."code-point-at-1.1.0"
+      sources."collapse-white-space-1.0.5"
+      sources."collection-visit-1.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      (sources."columnify-1.5.4" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."comma-separated-tokens-1.0.6"
+      sources."commander-2.20.0"
+      sources."common-tags-1.8.0"
+      sources."component-emitter-1.3.0"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."config-chain-1.1.12"
+      sources."configstore-3.1.2"
+      sources."copy-descriptor-0.1.1"
+      sources."core-js-2.6.5"
+      sources."core-util-is-1.0.2"
+      sources."create-error-class-3.0.2"
+      sources."cross-spawn-5.1.0"
+      sources."crypto-random-string-1.0.0"
+      sources."css-parse-1.7.0"
+      sources."currently-unhandled-0.4.1"
+      sources."debug-3.2.6"
+      sources."decamelize-1.2.0"
+      (sources."decamelize-keys-1.1.0" // {
+        dependencies = [
+          sources."map-obj-1.0.1"
+        ];
+      })
+      sources."decode-uri-component-0.2.0"
+      sources."deep-extend-0.6.0"
+      sources."deep-is-0.1.3"
+      sources."defaults-1.0.3"
+      (sources."define-property-2.0.2" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."dlv-1.1.2"
+      sources."doctrine-3.0.0"
+      sources."dot-prop-4.2.0"
+      sources."duplexer3-0.1.4"
+      sources."editorconfig-0.15.3"
+      sources."element-helper-json-2.0.5"
+      sources."emoji-regex-7.0.3"
+      sources."error-ex-1.3.2"
+      sources."escape-string-regexp-1.0.5"
+      (sources."eslint-5.16.0" // {
+        dependencies = [
+          sources."cross-spawn-6.0.5"
+          sources."debug-4.1.1"
+          sources."ignore-4.0.6"
+        ];
+      })
+      (sources."eslint-plugin-vue-5.2.2" // {
+        dependencies = [
+          sources."debug-4.1.1"
+          sources."espree-4.1.0"
+          sources."vue-eslint-parser-5.0.0"
+        ];
+      })
+      sources."eslint-scope-4.0.3"
+      sources."eslint-utils-1.3.1"
+      sources."eslint-visitor-keys-1.0.0"
+      sources."espree-5.0.1"
+      sources."esprima-4.0.1"
+      sources."esquery-1.0.1"
+      sources."esrecurse-4.2.1"
+      sources."estraverse-4.2.0"
+      sources."esutils-2.0.2"
+      sources."execa-0.7.0"
+      sources."expand-brackets-0.1.5"
+      sources."expand-range-1.8.2"
+      sources."extend-3.0.2"
+      (sources."extend-shallow-3.0.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."external-editor-3.0.3"
+      sources."extglob-0.3.2"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."fault-1.0.3"
+      sources."figures-2.0.0"
+      sources."file-entry-cache-5.0.1"
+      sources."filename-regex-2.0.1"
+      sources."fill-range-2.2.4"
+      sources."find-up-2.1.0"
+      sources."flat-cache-2.0.1"
+      sources."flatted-2.0.0"
+      sources."fn-name-2.0.1"
+      sources."for-in-1.0.2"
+      sources."for-own-0.1.5"
+      sources."format-0.2.2"
+      sources."fragment-cache-0.2.1"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.9"
+      sources."function-bind-1.1.1"
+      sources."functional-red-black-tree-1.0.1"
+      sources."get-stream-3.0.0"
+      sources."get-value-2.0.6"
+      sources."glob-7.1.4"
+      sources."glob-base-0.3.0"
+      sources."glob-parent-2.0.0"
+      sources."global-dirs-0.1.1"
+      sources."globals-11.12.0"
+      sources."got-6.7.1"
+      sources."graceful-fs-4.1.15"
+      sources."gridsome-helper-json-1.0.3"
+      sources."has-1.0.3"
+      (sources."has-ansi-2.0.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+        ];
+      })
+      sources."has-flag-3.0.0"
+      (sources."has-value-1.0.0" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          sources."is-buffer-1.1.6"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."hast-util-embedded-1.0.2"
+      sources."hast-util-has-property-1.0.2"
+      sources."hast-util-is-body-ok-link-1.0.1"
+      sources."hast-util-is-element-1.0.2"
+      sources."hast-util-parse-selector-2.2.1"
+      sources."hast-util-to-string-1.0.1"
+      sources."hast-util-whitespace-1.0.2"
+      sources."hosted-git-info-2.7.1"
+      sources."html-void-elements-1.0.4"
+      sources."html-whitespace-sensitive-tag-names-1.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-3.3.10"
+      sources."import-fresh-3.0.0"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."indent-string-3.2.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      (sources."inquirer-6.3.1" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."invert-kv-1.0.0"
+      (sources."is-accessor-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-alphabetical-1.0.3"
+      sources."is-alphanumerical-1.0.3"
+      sources."is-arrayish-0.2.1"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-2.0.3"
+      sources."is-ci-1.2.1"
+      (sources."is-data-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-decimal-1.0.3"
+      (sources."is-descriptor-1.0.2" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-dotfile-1.0.3"
+      sources."is-empty-1.2.0"
+      sources."is-equal-shallow-0.1.3"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-1.0.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-glob-2.0.1"
+      sources."is-hexadecimal-1.0.3"
+      sources."is-hidden-1.1.1"
+      sources."is-installed-globally-0.1.0"
+      sources."is-npm-1.0.0"
+      sources."is-number-2.1.0"
+      sources."is-obj-1.0.1"
+      sources."is-object-1.0.1"
+      sources."is-path-inside-1.0.1"
+      sources."is-plain-obj-1.1.0"
+      (sources."is-plain-object-2.0.4" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."is-posix-bracket-0.1.1"
+      sources."is-primitive-2.0.0"
+      sources."is-promise-2.1.0"
+      sources."is-redirect-1.0.0"
+      sources."is-resolvable-1.1.0"
+      sources."is-retry-allowed-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."is-utf8-0.2.1"
+      sources."is-windows-1.0.2"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-2.1.0"
+      sources."js-beautify-1.10.0"
+      sources."js-tokens-4.0.0"
+      sources."js-yaml-3.13.1"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stable-stringify-without-jsonify-1.0.1"
+      sources."json5-2.1.0"
+      sources."jsonc-parser-1.0.3"
+      (sources."kind-of-3.2.2" // {
+        dependencies = [
+          sources."is-buffer-1.1.6"
+        ];
+      })
+      sources."latest-version-3.1.0"
+      sources."lcid-1.0.0"
+      sources."levn-0.3.0"
+      sources."load-json-file-4.0.0"
+      sources."load-plugin-2.3.0"
+      sources."locate-path-2.0.0"
+      sources."lodash-4.17.11"
+      sources."lodash.assign-4.2.0"
+      sources."lodash.assigninwith-4.2.0"
+      sources."lodash.defaults-4.0.1"
+      sources."lodash.iteratee-4.7.0"
+      sources."lodash.merge-4.6.1"
+      sources."lodash.rest-4.0.5"
+      sources."lodash.unescape-4.0.1"
+      sources."loglevel-1.6.1"
+      (sources."loglevel-colored-level-prefix-1.0.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."longest-streak-1.0.0"
+      sources."loud-rejection-1.6.0"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-4.1.5"
+      sources."make-dir-1.3.0"
+      sources."map-cache-0.2.2"
+      sources."map-obj-2.0.0"
+      sources."map-visit-1.0.0"
+      sources."markdown-table-0.4.0"
+      sources."math-random-1.0.4"
+      (sources."meow-5.0.0" // {
+        dependencies = [
+          sources."read-pkg-up-3.0.0"
+        ];
+      })
+      sources."micromatch-2.3.11"
+      sources."mimic-fn-1.2.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."minimist-options-3.0.2"
+      (sources."mixin-deep-1.3.1" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."mout-0.5.0"
+      sources."ms-2.1.1"
+      sources."mute-stream-0.0.7"
+      sources."nan-2.13.2"
+      (sources."nanomatch-1.2.13" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."natural-compare-1.4.0"
+      sources."nice-try-1.0.5"
+      sources."nopt-4.0.1"
+      sources."normalize-package-data-2.5.0"
+      sources."normalize-path-2.1.1"
+      sources."npm-prefix-1.2.0"
+      sources."npm-run-path-2.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."nuxt-helper-json-1.0.0"
+      sources."object-assign-4.1.1"
+      (sources."object-copy-0.1.0" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."is-accessor-descriptor-0.1.6"
+          sources."is-data-descriptor-0.1.4"
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+        ];
+      })
+      (sources."object-visit-1.0.1" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."object.omit-2.0.1"
+      (sources."object.pick-1.3.0" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."once-1.4.0"
+      sources."onetime-2.0.1"
+      sources."optionator-0.8.2"
+      sources."os-homedir-1.0.2"
+      sources."os-locale-1.4.0"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."p-finally-1.0.0"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."package-json-4.0.1"
+      sources."parent-module-1.0.1"
+      sources."parse-entities-1.2.1"
+      sources."parse-gitignore-1.0.1"
+      sources."parse-glob-3.0.4"
+      sources."parse-json-4.0.0"
+      sources."pascalcase-0.1.1"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-is-inside-1.0.2"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.6"
+      sources."path-type-3.0.0"
+      sources."pify-3.0.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      (sources."pkg-conf-1.1.3" // {
+        dependencies = [
+          sources."find-up-1.1.2"
+          sources."load-json-file-1.1.0"
+          sources."parse-json-2.2.0"
+          sources."path-exists-2.1.0"
+          sources."pify-2.3.0"
+          sources."strip-bom-2.0.0"
+        ];
+      })
+      sources."pluralize-7.0.0"
+      sources."posix-character-classes-0.1.1"
+      sources."prelude-ls-1.1.2"
+      sources."prepend-http-1.0.4"
+      sources."preserve-0.2.0"
+      sources."prettier-1.17.0"
+      (sources."prettier-eslint-8.8.2" // {
+        dependencies = [
+          sources."acorn-5.7.3"
+          (sources."acorn-jsx-3.0.1" // {
+            dependencies = [
+              sources."acorn-3.3.0"
+            ];
+          })
+          sources."ajv-5.5.2"
+          sources."chardet-0.4.2"
+          sources."doctrine-2.1.0"
+          sources."eslint-4.19.1"
+          sources."eslint-scope-3.7.3"
+          sources."espree-3.5.4"
+          sources."external-editor-2.2.0"
+          sources."fast-deep-equal-1.1.0"
+          sources."file-entry-cache-2.0.0"
+          sources."flat-cache-1.3.4"
+          sources."inquirer-3.3.0"
+          sources."json-schema-traverse-0.3.1"
+          sources."regexpp-1.1.0"
+          sources."slice-ansi-1.0.0"
+          sources."table-4.0.2"
+          sources."typescript-2.9.2"
+          sources."vue-eslint-parser-2.0.3"
+          sources."write-0.2.1"
+        ];
+      })
+      sources."pretty-format-23.6.0"
+      sources."process-nextick-args-2.0.0"
+      sources."progress-2.0.3"
+      sources."property-information-5.0.1"
+      sources."proto-list-1.2.4"
+      sources."pseudomap-1.0.2"
+      sources."punycode-2.1.1"
+      sources."quick-lru-1.1.0"
+      (sources."randomatic-3.1.1" // {
+        dependencies = [
+          sources."is-number-4.0.0"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."rc-1.2.8"
+      sources."read-pkg-3.0.0"
+      (sources."read-pkg-up-4.0.0" // {
+        dependencies = [
+          sources."find-up-3.0.0"
+          sources."locate-path-3.0.0"
+          sources."p-limit-2.2.0"
+          sources."p-locate-3.0.0"
+          sources."p-try-2.2.0"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      (sources."readdirp-2.2.1" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."debug-2.6.9"
+          (sources."expand-brackets-2.1.4" // {
+            dependencies = [
+              sources."define-property-0.2.5"
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."extglob-2.0.4" // {
+            dependencies = [
+              sources."define-property-1.0.0"
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."isobject-3.0.1"
+          sources."kind-of-6.0.2"
+          sources."micromatch-3.1.10"
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."redent-2.0.0"
+      sources."regenerator-runtime-0.11.1"
+      sources."regex-cache-0.4.4"
+      sources."regex-not-1.0.2"
+      sources."regexpp-2.0.1"
+      sources."registry-auth-token-3.4.0"
+      sources."registry-url-3.1.0"
+      sources."rehype-sort-attribute-values-1.0.1"
+      (sources."remark-5.1.0" // {
+        dependencies = [
+          sources."unified-4.2.1"
+          sources."vfile-1.4.0"
+        ];
+      })
+      sources."remark-parse-1.1.0"
+      sources."remark-stringify-1.1.0"
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.3"
+      sources."repeat-string-1.6.1"
+      sources."replace-ext-1.0.0"
+      sources."require-main-filename-1.0.1"
+      sources."require-relative-0.8.7"
+      (sources."require-uncached-1.0.3" // {
+        dependencies = [
+          sources."resolve-from-1.0.1"
+        ];
+      })
+      sources."resolve-1.10.1"
+      sources."resolve-from-4.0.0"
+      sources."resolve-url-0.2.1"
+      sources."restore-cursor-2.0.0"
+      sources."ret-0.1.15"
+      sources."rimraf-2.6.3"
+      sources."run-async-2.3.0"
+      sources."rx-lite-4.0.8"
+      sources."rx-lite-aggregates-4.0.8"
+      sources."rxjs-6.5.2"
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      sources."safer-buffer-2.1.2"
+      sources."sax-0.5.8"
+      sources."semver-5.7.0"
+      sources."semver-diff-2.1.0"
+      sources."set-blocking-1.0.0"
+      (sources."set-value-2.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."shellsubstitute-1.2.0"
+      sources."sigmund-1.0.1"
+      sources."signal-exit-3.0.2"
+      sources."slice-ansi-2.1.0"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+          sources."ms-2.0.0"
+          sources."source-map-0.5.7"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."snapdragon-util-3.0.1"
+      sources."source-map-0.1.43"
+      sources."source-map-resolve-0.5.2"
+      sources."source-map-url-0.4.0"
+      sources."space-separated-tokens-1.1.3"
+      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.4"
+      sources."split-string-3.1.0"
+      sources."sprintf-js-1.0.3"
+      sources."stampit-1.2.0"
+      (sources."static-extend-0.1.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-buffer-1.1.6"
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."string-width-2.1.1"
+      sources."string_decoder-1.1.1"
+      sources."stringify-entities-1.3.2"
+      sources."strip-ansi-4.0.0"
+      sources."strip-bom-3.0.0"
+      sources."strip-eof-1.0.0"
+      sources."strip-indent-2.0.0"
+      sources."strip-json-comments-2.0.1"
+      (sources."stylint-1.5.9" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."glob-7.0.4"
+          sources."path-is-absolute-1.0.0"
+          sources."strip-ansi-3.0.1"
+          sources."supports-color-2.0.0"
+        ];
+      })
+      (sources."stylus-0.54.5" // {
+        dependencies = [
+          sources."glob-7.0.6"
+        ];
+      })
+      sources."stylus-supremacy-2.12.7"
+      sources."supports-color-5.5.0"
+      sources."symbol-0.2.3"
+      (sources."table-5.3.2" // {
+        dependencies = [
+          sources."ansi-regex-4.1.0"
+          sources."string-width-3.1.0"
+          sources."strip-ansi-5.2.0"
+        ];
+      })
+      sources."term-size-1.2.0"
+      sources."text-table-0.2.0"
+      sources."through-2.3.8"
+      sources."timed-out-4.0.1"
+      sources."tmp-0.0.33"
+      sources."to-object-path-0.3.0"
+      sources."to-regex-3.0.2"
+      (sources."to-regex-range-2.1.1" // {
+        dependencies = [
+          sources."is-number-3.0.0"
+        ];
+      })
+      sources."to-vfile-5.0.2"
+      sources."trim-0.0.1"
+      sources."trim-newlines-2.0.0"
+      sources."trim-trailing-lines-1.1.1"
+      sources."trough-1.0.3"
+      sources."tslib-1.9.3"
+      sources."type-check-0.3.2"
+      sources."typedarray-0.0.6"
+      sources."typescript-3.4.5"
+      (sources."typescript-eslint-parser-16.0.1" // {
+        dependencies = [
+          sources."semver-5.5.0"
+        ];
+      })
+      sources."unherit-1.1.1"
+      sources."unified-7.1.0"
+      (sources."unified-engine-6.0.1" // {
+        dependencies = [
+          sources."to-vfile-4.0.0"
+        ];
+      })
+      (sources."union-value-1.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+          sources."set-value-0.4.3"
+        ];
+      })
+      sources."unique-string-1.0.0"
+      sources."unist-util-find-1.0.1"
+      sources."unist-util-inspect-4.1.3"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-modify-children-1.1.3"
+      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."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+          sources."has-values-0.1.4"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."untildify-2.1.0"
+      sources."unzip-response-2.0.1"
+      sources."update-notifier-2.5.0"
+      sources."uri-js-4.2.2"
+      sources."urix-0.1.0"
+      sources."url-parse-lax-1.0.0"
+      sources."use-3.1.1"
+      sources."user-home-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."validate-npm-package-license-3.0.4"
+      sources."vfile-3.0.1"
+      sources."vfile-location-2.0.4"
+      sources."vfile-message-1.1.1"
+      sources."vfile-reporter-5.1.1"
+      sources."vfile-sort-2.2.0"
+      sources."vfile-statistics-1.1.2"
+      (sources."vscode-css-languageservice-3.0.13" // {
+        dependencies = [
+          sources."vscode-languageserver-types-3.14.0"
+        ];
+      })
+      (sources."vscode-emmet-helper-1.2.15" // {
+        dependencies = [
+          sources."vscode-languageserver-types-3.14.0"
+        ];
+      })
+      sources."vscode-jsonrpc-4.1.0-next.2"
+      sources."vscode-languageserver-5.3.0-next.6"
+      sources."vscode-languageserver-protocol-3.15.0-next.5"
+      sources."vscode-languageserver-types-3.15.0-next.1"
+      sources."vscode-nls-4.1.0"
+      sources."vscode-uri-1.0.6"
+      (sources."vue-eslint-parser-6.0.4" // {
+        dependencies = [
+          sources."debug-4.1.1"
+        ];
+      })
+      sources."vue-onsenui-helper-json-1.0.2"
+      sources."vuetify-helper-json-1.0.0"
+      sources."wcwidth-1.0.1"
+      sources."which-1.3.1"
+      sources."widest-line-2.0.1"
+      sources."window-size-0.2.0"
+      sources."wordwrap-1.0.0"
+      (sources."wrap-ansi-2.1.0" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."wrappy-1.0.2"
+      sources."write-1.0.3"
+      sources."write-file-atomic-2.4.2"
+      sources."x-is-array-0.1.0"
+      sources."x-is-string-0.1.0"
+      sources."xdg-basedir-3.0.0"
+      sources."xtend-4.0.1"
+      sources."y18n-3.2.1"
+      sources."yallist-2.1.2"
+      (sources."yargs-4.7.1" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."camelcase-3.0.0"
+          sources."find-up-1.1.2"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."load-json-file-1.1.0"
+          sources."parse-json-2.2.0"
+          sources."path-exists-2.1.0"
+          sources."path-type-1.1.0"
+          sources."pify-2.3.0"
+          sources."read-pkg-1.1.0"
+          sources."read-pkg-up-1.0.1"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+          sources."strip-bom-2.0.0"
+          sources."yargs-parser-2.4.1"
+        ];
+      })
+      sources."yargs-parser-10.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "vue-language-server";
+      homepage = https://github.com/vuejs/vetur/tree/master/server;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   "@webassemblyjs/cli" = nodeEnv.buildNodePackage {
     name = "_at_webassemblyjs_slash_cli";
     packageName = "@webassemblyjs/cli";
@@ -62742,11 +66702,11 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.0.0"
-      sources."@babel/generator-7.4.0"
+      sources."@babel/generator-7.4.4"
       sources."@babel/highlight-7.0.0"
-      sources."@babel/parser-7.4.3"
-      sources."@babel/template-7.4.0"
-      sources."@babel/types-7.4.0"
+      sources."@babel/parser-7.4.4"
+      sources."@babel/template-7.4.4"
+      sources."@babel/types-7.4.4"
       sources."@webassemblyjs/ast-1.8.5"
       sources."@webassemblyjs/floating-point-hex-parser-1.8.5"
       sources."@webassemblyjs/helper-api-error-1.8.5"
@@ -62819,10 +66779,10 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "4.30.0";
+    version = "4.31.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-4.30.0.tgz";
-      sha512 = "4hgvO2YbAFUhyTdlR4FNyt2+YaYBYHavyzjCMbZzgglo02rlKi/pcsEzwCuCpsn1ryzIl1cq/u8ArIKu8JBYMg==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-4.31.0.tgz";
+      sha512 = "n6RVO3X0LbbipoE62akME9K/JI7qYrwwufs20VvgNNpqUoH4860KkaxJTbGq5bgkVZF9FqyyTG/0WPLH3PVNJA==";
     };
     dependencies = [
       sources."@webassemblyjs/ast-1.8.5"
@@ -62861,7 +66821,7 @@ in
       sources."arr-union-3.1.0"
       sources."array-unique-0.3.2"
       sources."asn1.js-4.10.1"
-      (sources."assert-1.4.1" // {
+      (sources."assert-1.5.0" // {
         dependencies = [
           sources."inherits-2.0.1"
           sources."util-0.10.3"
@@ -63000,9 +66960,9 @@ in
       sources."from2-2.3.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-1.2.8"
+      sources."fsevents-1.2.9"
       sources."get-value-2.0.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -63084,6 +67044,7 @@ in
         ];
       })
       sources."normalize-path-3.0.0"
+      sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -63276,7 +67237,7 @@ in
           sources."source-map-0.6.1"
         ];
       })
-      sources."worker-farm-1.6.0"
+      sources."worker-farm-1.7.0"
       sources."wrappy-1.0.2"
       sources."xtend-4.0.1"
       sources."y18n-4.0.0"
@@ -63294,10 +67255,10 @@ in
   webpack-cli = nodeEnv.buildNodePackage {
     name = "webpack-cli";
     packageName = "webpack-cli";
-    version = "3.3.1";
+    version = "3.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.1.tgz";
-      sha512 = "c2inFU7SM0IttEgF7fK6AaUsbBnORRzminvbyRKS+NlbQHVZdCtzKBlavRL5359bFsywXGRAItA5di/IruC8mg==";
+      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.2.tgz";
+      sha512 = "FLkobnaJJ+03j5eplxlI0TUxhGCOdfewspIGuvDVtpOlrAuKMFC57K42Ukxqs1tn8947/PM6tP95gQc0DCzRYA==";
     };
     dependencies = [
       sources."ansi-regex-3.0.0"
@@ -63599,7 +67560,7 @@ in
       sources."urix-0.1.0"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
-      sources."v8-compile-cache-2.0.2"
+      sources."v8-compile-cache-2.0.3"
       sources."which-1.3.1"
       sources."which-module-2.0.0"
       (sources."wrap-ansi-2.1.0" // {
@@ -63735,13 +67696,13 @@ in
       sources."fs.realpath-1.0.0"
       sources."get-browser-rtc-1.0.2"
       sources."get-stdin-6.0.0"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."he-1.2.0"
       sources."immediate-chunk-store-2.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."ip-1.1.5"
-      sources."ip-set-1.0.1"
+      sources."ip-set-1.0.2"
       sources."ipaddr.js-1.9.0"
       sources."is-ascii-1.0.0"
       sources."is-file-1.0.0"
@@ -63939,7 +67900,7 @@ in
       sources."@babel/runtime-7.3.1"
       sources."@cliqz-oss/firefox-client-0.3.1"
       sources."@cliqz-oss/node-firefox-connect-1.2.1"
-      sources."@types/node-11.13.7"
+      sources."@types/node-12.0.0"
       sources."JSONSelect-0.2.1"
       sources."acorn-5.7.3"
       (sources."acorn-jsx-3.0.1" // {
@@ -63964,7 +67925,7 @@ in
           sources."string-width-3.1.0"
           sources."strip-ansi-5.2.0"
           sources."yargs-13.1.0"
-          sources."yargs-parser-13.0.0"
+          sources."yargs-parser-13.1.0"
         ];
       })
       sources."adm-zip-0.4.13"
@@ -64079,7 +68040,7 @@ in
       sources."cheerio-1.0.0-rc.2"
       (sources."chokidar-2.1.5" // {
         dependencies = [
-          sources."fsevents-1.2.8"
+          sources."fsevents-1.2.9"
           sources."normalize-path-3.0.0"
           sources."upath-1.1.2"
         ];
@@ -64190,7 +68151,7 @@ in
       sources."end-of-stream-1.4.1"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
-      sources."es5-ext-0.10.49"
+      sources."es5-ext-0.10.50"
       sources."es6-error-4.1.1"
       sources."es6-iterator-2.0.3"
       sources."es6-map-0.1.5"
@@ -64319,7 +68280,7 @@ in
         ];
       })
       sources."flat-cache-1.3.4"
-      sources."flatstr-1.0.9"
+      sources."flatstr-1.0.11"
       sources."fluent-syntax-0.10.0"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
@@ -64357,7 +68318,7 @@ in
         ];
       })
       sources."global-dirs-0.1.1"
-      sources."globals-11.11.0"
+      sources."globals-11.12.0"
       (sources."got-6.7.1" // {
         dependencies = [
           sources."get-stream-3.0.0"
@@ -64411,7 +68372,7 @@ in
       sources."is-installed-globally-0.1.0"
       sources."is-mergeable-object-1.1.0"
       sources."is-my-ip-valid-1.0.0"
-      sources."is-my-json-valid-2.19.0"
+      sources."is-my-json-valid-2.20.0"
       sources."is-npm-1.0.0"
       (sources."is-number-3.0.0" // {
         dependencies = [
@@ -64671,7 +68632,7 @@ in
           sources."resolve-from-1.0.1"
         ];
       })
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-from-4.0.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-2.0.0"
@@ -64679,7 +68640,7 @@ in
       sources."rimraf-2.6.3"
       sources."run-async-2.3.0"
       sources."rx-lite-3.1.2"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safe-json-stringify-1.2.0"
       sources."safe-regex-1.1.0"
@@ -64806,7 +68767,7 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      (sources."table-5.2.3" // {
+      (sources."table-5.3.2" // {
         dependencies = [
           sources."ansi-regex-4.1.0"
           sources."is-fullwidth-code-point-2.0.0"
@@ -64971,13 +68932,39 @@ in
     production = true;
     bypassCache = true;
   };
+  write-good = nodeEnv.buildNodePackage {
+    name = "write-good";
+    packageName = "write-good";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/write-good/-/write-good-1.0.1.tgz";
+      sha512 = "wSmjZBTHMOexWmK3AmSORGlWAICD98BF0LORYjkK58tChjjMr/BltpvohCThxmIE2vcHYccXHzSVBd/v8ew71g==";
+    };
+    dependencies = [
+      sources."adverb-where-0.2.1"
+      sources."commander-2.20.0"
+      sources."e-prime-0.10.2"
+      sources."no-cliches-0.2.2"
+      sources."passive-voice-0.1.0"
+      sources."too-wordy-0.2.2"
+      sources."weasel-words-0.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Naive linter for English prose";
+      homepage = "https://github.com/btford/write-good#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   yarn = nodeEnv.buildNodePackage {
     name = "yarn";
     packageName = "yarn";
-    version = "1.15.2";
+    version = "1.16.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yarn/-/yarn-1.15.2.tgz";
-      sha512 = "DhqaGe2FcYKduO42d2hByXk7y8k2k42H3uzYdWBMTvcNcgWKx7xCkJWsVAQikXvaEQN2GyJNrz8CboqUmaBRrw==";
+      url = "https://registry.npmjs.org/yarn/-/yarn-1.16.0.tgz";
+      sha512 = "cfemyGlnWKA1zopUUgebTPf8C4WkPIZ+TJmklwcEAJ4u6oWPtJeAzrsamaGGh/+b1XWe8W51yzAImC4AWbWR1g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -65202,7 +69189,7 @@ in
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       (sources."glob-parent-3.1.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -65487,7 +69474,7 @@ in
           sources."tough-cookie-2.4.3"
         ];
       })
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
       sources."restore-cursor-2.0.0"
@@ -65495,7 +69482,7 @@ in
       sources."root-check-1.0.0"
       sources."run-async-2.3.0"
       sources."rx-4.1.0"
-      sources."rxjs-6.5.1"
+      sources."rxjs-6.5.2"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
@@ -65650,7 +69637,7 @@ in
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."twig-1.13.2"
+      sources."twig-1.13.3"
       sources."typedarray-0.0.6"
       (sources."union-value-1.0.0" // {
         dependencies = [
diff --git a/pkgs/development/node-packages/node-packages-v8.nix b/pkgs/development/node-packages/node-packages-v8.nix
index 61bde8dcc7c..a593036ae2a 100644
--- a/pkgs/development/node-packages/node-packages-v8.nix
+++ b/pkgs/development/node-packages/node-packages-v8.nix
@@ -4,13 +4,13 @@
 
 let
   sources = {
-    "@types/node-8.10.46" = {
+    "@types/node-8.10.48" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "8.10.46";
+      version = "8.10.48";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-8.10.46.tgz";
-        sha512 = "PfnRbk836fFs9T9QnZh0G1k9oC6YXCqIK3LX6vU/6oiXtEBSFCiJFj6UnLZtqIIHTsgMn8Dojq3yhmpwY7QWcw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-8.10.48.tgz";
+        sha512 = "c35YEBTkL4rzXY2ucpSKy+UYHjUBIIkuJbWYbsGIrKLEWU5dgJMmLkkIb3qeC3O3Tpb1ZQCwecscvJTDjDjkRw==";
       };
     };
     "JSV-4.0.2" = {
@@ -832,15 +832,6 @@ let
         sha1 = "fdca871a99713aa00d19e3bbba41c44787a65398";
       };
     };
-    "block-stream-0.0.9" = {
-      name = "block-stream";
-      packageName = "block-stream";
-      version = "0.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
-        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
-      };
-    };
     "boom-2.10.1" = {
       name = "boom";
       packageName = "boom";
@@ -1687,15 +1678,6 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "fstream-1.0.11" = {
-      name = "fstream";
-      packageName = "fstream";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz";
-        sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171";
-      };
-    };
     "galaxy-0.1.12" = {
       name = "galaxy";
       packageName = "galaxy";
@@ -1759,13 +1741,13 @@ let
         sha1 = "1344e694f8d20ef9b29bcbfd1ca5eb4f7a287922";
       };
     };
-    "glob-7.1.3" = {
+    "glob-7.1.4" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.3";
+      version = "7.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz";
-        sha512 = "vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz";
+        sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==";
       };
     };
     "global-modules-0.2.3" = {
@@ -2236,13 +2218,13 @@ let
         sha512 = "gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==";
       };
     };
-    "is-my-json-valid-2.19.0" = {
+    "is-my-json-valid-2.20.0" = {
       name = "is-my-json-valid";
       packageName = "is-my-json-valid";
-      version = "2.19.0";
+      version = "2.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz";
-        sha512 = "mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==";
+        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz";
+        sha512 = "XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA==";
       };
     };
     "is-number-3.0.0" = {
@@ -2911,13 +2893,13 @@ let
         sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
       };
     };
-    "needle-2.3.0" = {
+    "needle-2.3.1" = {
       name = "needle";
       packageName = "needle";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/needle/-/needle-2.3.0.tgz";
-        sha512 = "QBZu7aAFR0522EyaXZM0FZ9GLpq6lvQ3uq8gteiDUp7wKdy0lSd2hPlgFwVuW1CBkfEs9PfDQsQzZghLs/psdg==";
+        url = "https://registry.npmjs.org/needle/-/needle-2.3.1.tgz";
+        sha512 = "CaLXV3W8Vnbps8ZANqDGz7j4x7Yj1LW4TWF/TQuDfj7Cfx4nAPTvw98qgTevtto1oHDrh3pQkaODbqupXlsWTg==";
       };
     };
     "node-appc-0.2.49" = {
@@ -3496,13 +3478,13 @@ let
         sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
       };
     };
-    "resolve-1.10.0" = {
+    "resolve-1.10.1" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.10.0";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz";
-        sha512 = "3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz";
+        sha512 = "KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==";
       };
     };
     "resolve-dir-1.0.1" = {
@@ -3973,15 +3955,6 @@ let
         sha1 = "8030046939b00096e625c0dd6b3905bc7b85709c";
       };
     };
-    "tar-2.2.1" = {
-      name = "tar";
-      packageName = "tar";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz";
-        sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1";
-      };
-    };
     "tar-4.4.8" = {
       name = "tar";
       packageName = "tar";
@@ -4297,13 +4270,13 @@ let
         sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
       };
     };
-    "v8flags-3.1.2" = {
+    "v8flags-3.1.3" = {
       name = "v8flags";
       packageName = "v8flags";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/v8flags/-/v8flags-3.1.2.tgz";
-        sha512 = "MtivA7GF24yMPte9Rp/BWGCYQNaUj86zeYxV/x2RRJMKagImbbv3u8iJC57lNhWLPcGLJmHcHmFWkNsplbbLWw==";
+        url = "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz";
+        sha512 = "amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==";
       };
     };
     "validator-5.2.0" = {
@@ -4619,7 +4592,7 @@ in
       sources."private-0.1.8"
       sources."regenerator-runtime-0.11.1"
       sources."repeating-2.0.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."safe-buffer-5.1.2"
       sources."sax-0.5.8"
       sources."slash-1.0.0"
@@ -4659,7 +4632,7 @@ in
       sha512 = "MMiK5sFfIocNMWCc5PshUCAe6aY4P13/GCmSwudOziA/pFdQMHU8jhu+jU2SSWFug4K1ugeuCwtMXe43oL0PhQ==";
     };
     dependencies = [
-      sources."@types/node-8.10.46"
+      sources."@types/node-8.10.48"
       sources."JSV-4.0.2"
       sources."adal-node-0.1.28"
       sources."ajv-6.10.0"
@@ -4842,7 +4815,7 @@ in
         ];
       })
       sources."github-0.1.6"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."har-schema-2.0.0"
       (sources."har-validator-2.0.6" // {
         dependencies = [
@@ -4862,7 +4835,7 @@ in
       sources."inherits-2.0.3"
       sources."is-buffer-1.1.6"
       sources."is-my-ip-valid-1.0.0"
-      sources."is-my-json-valid-2.19.0"
+      sources."is-my-json-valid-2.20.0"
       sources."is-property-1.0.2"
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
@@ -5260,7 +5233,7 @@ in
       sources."regex-not-1.0.2"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."resolve-1.10.0"
+      sources."resolve-1.10.1"
       sources."resolve-dir-1.0.1"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
@@ -5345,7 +5318,7 @@ in
       })
       sources."urix-0.1.0"
       sources."use-3.1.1"
-      sources."v8flags-3.1.2"
+      sources."v8flags-3.1.3"
       sources."which-1.3.1"
     ];
     buildInputs = globalBuildInputs;
@@ -5360,10 +5333,10 @@ in
   node-gyp = nodeEnv.buildNodePackage {
     name = "node-gyp";
     packageName = "node-gyp";
-    version = "3.8.0";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz";
-      sha512 = "3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==";
+      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-4.0.0.tgz";
+      sha512 = "2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -5378,9 +5351,9 @@ in
       sources."aws4-1.8.0"
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."block-stream-0.0.9"
       sources."brace-expansion-1.1.11"
       sources."caseless-0.12.0"
+      sources."chownr-1.1.1"
       sources."code-point-at-1.1.0"
       sources."combined-stream-1.0.7"
       sources."concat-map-0.0.1"
@@ -5396,11 +5369,11 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
+      sources."fs-minipass-1.2.5"
       sources."fs.realpath-1.0.0"
-      sources."fstream-1.0.11"
       sources."gauge-2.7.4"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
@@ -5422,6 +5395,8 @@ in
       sources."mime-types-2.1.24"
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
+      sources."minipass-2.3.5"
+      sources."minizlib-1.2.1"
       sources."mkdirp-0.5.1"
       sources."nopt-3.0.6"
       sources."npmlog-4.1.2"
@@ -5450,7 +5425,7 @@ in
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
-      sources."tar-2.2.1"
+      sources."tar-4.4.8"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -5465,6 +5440,7 @@ in
       sources."which-1.3.1"
       sources."wide-align-1.1.3"
       sources."wrappy-1.0.2"
+      sources."yallist-3.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -5478,15 +5454,15 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "3.8.0";
+    version = "4.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.8.0.tgz";
-      sha512 = "bYbpIHyRqZ7sVWXxGpz8QIRug5JZc/hzZH4GbdT9HTZi6WmKCZ8GLvP8OZ9TTiIBvwPFKgtGrlWQSXDAvYdsPw==";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.0.tgz";
+      sha512 = "rGLv++nK20BG8gc0MzzcYe1Nl3p3mtwJ74Q2QD0HTEDKZ6NvOFSelY6s2QBPWIHRR8h7hpad0LiwajfClBJfNg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "Build tool and bindings loader for node-gyp that supports prebuilds";
-      homepage = https://github.com/mafintosh/node-gyp-build;
+      homepage = https://github.com/prebuild/node-gyp-build;
       license = "MIT";
     };
     production = true;
@@ -5495,10 +5471,10 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.12.0";
+    version = "0.13.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz";
-      sha512 = "4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.13.0.tgz";
+      sha512 = "Md1D3xnEne8b/HGVQkZZwV27WUi1ZRuZBij24TNaZwUPU3ZAFtvT6xxJGaUVillfmMKnn5oD1HoGsp2Ftik7SQ==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -5519,7 +5495,7 @@ in
       sources."fs-minipass-1.2.5"
       sources."fs.realpath-1.0.0"
       sources."gauge-2.7.4"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."has-unicode-2.0.1"
       sources."iconv-lite-0.4.24"
       sources."ignore-walk-3.0.1"
@@ -5534,7 +5510,7 @@ in
       sources."minizlib-1.2.1"
       sources."mkdirp-0.5.1"
       sources."ms-2.1.1"
-      sources."needle-2.3.0"
+      sources."needle-2.3.1"
       sources."nopt-4.0.1"
       sources."npm-bundled-1.0.6"
       sources."npm-packlist-1.4.1"
@@ -5582,10 +5558,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "3.1.1";
+    version = "3.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-3.1.1.tgz";
-      sha512 = "MqSWfZXft1cQ6rFgpGpl8JIY3O8w8TnTplvjuCPMl4zRxAUAz0Gzr7ARYH6czoiTxBIbbhu41GfbsBfgMSGTwA==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-3.2.0.tgz";
+      sha512 = "bujIqiZBgpusV0N/m+PNQ/FAUKc7ue9WqK+FqfN89on44iLEkERYGBWQEZt2a4OMWH4RHzme7muKOQY8ZegD3Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -5643,7 +5619,7 @@ in
       sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
       sources."getpass-0.1.7"
-      sources."glob-7.1.3"
+      sources."glob-7.1.4"
       sources."graceful-fs-4.1.15"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.3"
diff --git a/pkgs/development/ocaml-modules/cairo2/default.nix b/pkgs/development/ocaml-modules/cairo2/default.nix
index 1213120ce1c..22d000a5fd3 100644
--- a/pkgs/development/ocaml-modules/cairo2/default.nix
+++ b/pkgs/development/ocaml-modules/cairo2/default.nix
@@ -4,11 +4,11 @@
 
 buildDunePackage rec {
   pname = "cairo2";
-  version = "0.6";
+  version = "0.6.1";
 
   src = fetchurl {
     url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
-    sha256 = "1k2q7ipmddqnd2clybj4qb5xwzzrnl2fxnd6kv60dlzgya18lchs";
+    sha256 = "1ik4qf4b9443sliq2z7x9acd40rmzvyzjh3bh98wvjklxbb84a9i";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index fd42cbe20c7..c3e5a272f74 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -2,14 +2,18 @@
 , ppx_tools_versioned, ppx_deriving, re
 }:
 
+if !stdenv.lib.versionAtLeast ocaml.version "4.03"
+then throw "elpi is not available for OCaml ${ocaml.version}"
+else
+
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-elpi-${version}";
-  version = "1.1.0";
+  version = "1.2.0";
   src = fetchFromGitHub {
     owner = "LPCIC";
     repo = "elpi";
     rev = "v${version}";
-    sha256 = "1fd4mqggdcnbhqwrg8r0ikb1j2lv0fc9hv9xfbyjzbzxbjggf5zc";
+    sha256 = "1n4jpidx0vk4y66bhd704ajn8n6f1fd5wsi1shj6wijfmjl14h7s";
   };
 
   buildInputs = [ ocaml findlib ppx_tools_versioned ];
diff --git a/pkgs/development/ocaml-modules/lablgtk3/default.nix b/pkgs/development/ocaml-modules/lablgtk3/default.nix
index 7c6198add62..8ba27248db6 100644
--- a/pkgs/development/ocaml-modules/lablgtk3/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk3/default.nix
@@ -1,16 +1,14 @@
-{ lib, fetchFromGitHub, pkgconfig, buildDunePackage, gtk3, cairo2 }:
+{ lib, fetchurl, pkgconfig, buildDunePackage, gtk3, cairo2 }:
 
 buildDunePackage rec {
-  version = "3.0.beta5";
+  version = "3.0.beta6";
   pname = "lablgtk3";
 
   minimumOCamlVersion = "4.05";
 
-  src = fetchFromGitHub {
-    owner = "garrigue";
-    repo = "lablgtk";
-    rev = version;
-    sha256 = "05n3pjy4496gbgxwbypfm2462njv6dgmvkcv26az53ianpwa4vzz";
+  src = fetchurl {
+    url = "https://github.com/garrigue/lablgtk/releases/download/${version}/lablgtk3-${version}.tbz";
+    sha256 = "1jni5cbp54qs7y0dc5zkm28v2brpfwy5miighv7cy0nmmxrsq520";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/perl-modules/generic/builder.sh b/pkgs/development/perl-modules/generic/builder.sh
index b833ceb3cab..e05cd07708d 100644
--- a/pkgs/development/perl-modules/generic/builder.sh
+++ b/pkgs/development/perl-modules/generic/builder.sh
@@ -22,7 +22,7 @@ preConfigure() {
         fi
     done
 
-    perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags PERL=$(type -P perl) FULLPERL=\"$perl/bin/perl\"
+    perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags PERL=$(type -P perl) FULLPERL=\"$fullperl/bin/perl\"
 }
 
 
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index 20947b1dc33..d32755db990 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, perl, buildPackages, toPerlModule }:
+{ lib, stdenv, perl, buildPerl, toPerlModule }:
 
 { nativeBuildInputs ? [], name, ... } @ attrs:
 
@@ -37,6 +37,6 @@ toPerlModule(stdenv.mkDerivation (
     name = "perl${perl.version}-${name}";
     builder = ./builder.sh;
     nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ];
-    perl = buildPackages.perl;
+    fullperl = buildPerl;
   }
 ))
diff --git a/pkgs/development/python-modules/aiorpcx/default.nix b/pkgs/development/python-modules/aiorpcx/default.nix
index fd853e631a7..a5f54d8e96c 100644
--- a/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/pkgs/development/python-modules/aiorpcx/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aiorpcx";
-  version = "0.10.5";
+  version = "0.17.0";
 
   src = fetchPypi {
     inherit version;
     pname = "aiorpcX";
-    sha256 = "0c4kan020s09ap5qai7p1syxjz2wk6g9ydhxj6fc35s4103x7b91";
+    sha256 = "14np5r75rs0v45vsv20vbzmnv3qisvm9mdllj1j9s1633cvcik0k";
   };
 
   propagatedBuildInputs = [ attrs ];
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index 5326300a146..56850dcf86e 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2a2b83e63b830de3ff01c2992342cfe09f96e410953c85904ee7e301b21fa513";
+    sha256 = "087jk00kv0qsqqspyn015nicvbl627wck3fgx2qhqawvrgqk3xb0";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/asgiref/default.nix b/pkgs/development/python-modules/asgiref/default.nix
index 155ddf8c9f8..a07d370761a 100644
--- a/pkgs/development/python-modules/asgiref/default.nix
+++ b/pkgs/development/python-modules/asgiref/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildPythonPackage, pythonOlder, fetchFromGitHub, async-timeout, pytest, pytest-asyncio }:
 buildPythonPackage rec {
-  version = "2.3.2";
+  version = "3.1.2";
   pname = "asgiref";
 
   disabled = pythonOlder "3.5";
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "django";
     repo = pname;
     rev = version;
-    sha256 = "1ljymmcscyp3bz33kjbhf99k04fbama87vg4069gbgj6lnxjpzav";
+    sha256 = "1y32ys1q07nyri0b053mx24qvkw305iwvqvqgi2fdhx0va8d7qfy";
   };
 
   propagatedBuildInputs = [ async-timeout ];
diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix
index 84c9b21f933..c32719140ea 100644
--- a/pkgs/development/python-modules/av/default.nix
+++ b/pkgs/development/python-modules/av/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
 , numpy
 , ffmpeg_4
 , libav
@@ -10,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "av";
-  version = "6.1.2";
+  version = "6.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eebbb56eeae650b1fc551f94d51aee39b487bf4df73c39daea186c5d2950650f";
+    sha256 = "1wm33qajxcpl9rn7zfb2pwwqn87idb7ic7h5zwy2hgbpjnh3vc2g";
   };
 
-  checkInputs = [ nose numpy ];
+  checkInputs = [ numpy ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ ffmpeg_4 ];
diff --git a/pkgs/development/python-modules/aws-sam-translator/default.nix b/pkgs/development/python-modules/aws-sam-translator/default.nix
index 224e39736a8..a9734745f21 100644
--- a/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy3k
+, pythonOlder
 , boto3
 , enum34
 , jsonschema
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.10.0";
+  version = "1.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0axr4598b1h9kyb5mv104cpn5q667s0g1wkkbqzj66vrqsaa07qf";
+    sha256 = "db872c43bdfbbae9fc8c9201e6a7aeb9a661cda116a94708ab0577b46a38b962";
   };
 
   # Tests are not included in the PyPI package
@@ -22,10 +22,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     boto3
-    enum34
     jsonschema
     six
-  ];
+  ] ++ lib.optionals (pythonOlder "3.4") [ enum34 ];
 
   meta = {
     homepage = https://github.com/awslabs/serverless-application-model;
diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix
index a40238412c6..dbf5a8686cd 100644
--- a/pkgs/development/python-modules/cassandra-driver/default.nix
+++ b/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -21,11 +21,11 @@
 
 buildPythonPackage rec {
   pname = "cassandra-driver";
-  version = "3.17.0";
+  version = "3.17.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1z49z6f9rj9kp1v03s1hs1rg8cj49rh0yk0fc2qi57w7slgy2hkd";
+    sha256 = "1y6pnm7vzg9ip1nbly3i8mmwqmcy8g38ix74vdzvvaxwxil9bmvi";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/channels/default.nix b/pkgs/development/python-modules/channels/default.nix
index ef8456d376c..a3b7e54c57a 100644
--- a/pkgs/development/python-modules/channels/default.nix
+++ b/pkgs/development/python-modules/channels/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "channels";
-  version = "2.1.7";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e13ba874d854ac493ece329dcd9947e82357c15437ac1a90ed1040d0e5b87aad";
+    sha256 = "af7cdba9efb3f55b939917d1b15defb5d40259936013e60660e5e9aff98db4c5";
   };
 
   # Files are missing in the distribution
diff --git a/pkgs/development/python-modules/confluent-kafka/default.nix b/pkgs/development/python-modules/confluent-kafka/default.nix
index 65f6cb291b2..4f9794b034e 100644
--- a/pkgs/development/python-modules/confluent-kafka/default.nix
+++ b/pkgs/development/python-modules/confluent-kafka/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro, futures}:
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, rdkafka, requests, avro3k, avro, futures, enum34 }:
 
 buildPythonPackage rec {
-  version = "0.11.6";
+  version = "1.0.0";
   pname = "confluent-kafka";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dvzlafgr4g0n7382s5bgbls3f9wrgr0yxd70yyxl59wddwzfii7";
+    sha256 = "a7427944af963410479c2aaae27cc9d28db39c9a93299f14dcf16df80092c63a";
   };
 
-  buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ avro futures ]) ;
+  buildInputs = [ rdkafka requests ] ++ (if isPy3k then [ avro3k ] else [ enum34 avro futures ]) ;
 
-  # Tests fail for python3 under this pypi release
-  doCheck = if isPy3k then false else true;
+  # No tests in PyPi Tarball
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Confluent's Apache Kafka client for Python";
diff --git a/pkgs/development/python-modules/cufflinks/default.nix b/pkgs/development/python-modules/cufflinks/default.nix
index 1344ef4d6ae..18693a204c5 100644
--- a/pkgs/development/python-modules/cufflinks/default.nix
+++ b/pkgs/development/python-modules/cufflinks/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, stdenv, fetchPypi
+{ buildPythonPackage, stdenv, fetchPypi, fetchpatch
 , numpy, pandas, plotly, six, colorlover
 , ipython, ipywidgets, nose
 }:
@@ -17,6 +17,14 @@ buildPythonPackage rec {
     ipython ipywidgets
   ];
 
+  patches = [
+    # Plotly 3.8 compatibility. Remove with the next release. See https://github.com/santosjorge/cufflinks/pull/178
+    (fetchpatch {
+      url = "https://github.com/santosjorge/cufflinks/commit/cc4c23c2b45b870f6801d1cb0312948e1f73f424.patch";
+      sha256 = "1psl2h7vscpzvb4idr6s175v8znl2mfhkcyhb1926p4saswmghw1";
+    })
+  ];
+
   checkInputs = [ nose ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/daphne/default.nix b/pkgs/development/python-modules/daphne/default.nix
index da85fbb1d9b..e577617c478 100644
--- a/pkgs/development/python-modules/daphne/default.nix
+++ b/pkgs/development/python-modules/daphne/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub
+{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, fetchpatch
 , asgiref, autobahn, twisted, pytestrunner
 , hypothesis, pytest, pytest-asyncio
 }:
 buildPythonPackage rec {
   pname = "daphne";
-  version = "2.2.5";
+  version = "2.3.0";
 
   disabled = !isPy3k;
 
@@ -12,9 +12,17 @@ buildPythonPackage rec {
     owner = "django";
     repo = pname;
     rev = version;
-    sha256 = "0ixgq1rr3s60bmrwx8qwvlvs3lag1c2nrmg4iy7wcmb8i1ddylqr";
+    sha256 = "020afrvbnid13gkgjpqznl025zpynisa96kybmf8q7m3wp1iq1nl";
   };
 
+  patches = [
+    # Fix compatibility with Hypothesis 4. See: https://github.com/django/daphne/pull/261
+    (fetchpatch {
+      url = "https://github.com/django/daphne/commit/2df5096c5b63a791c209e12198ad89c998869efd.patch";
+      sha256 = "0046krzcn02mihqmsjd80kk5h5flv44nqxpapa17g6dvq3jnb97n";
+    })
+  ];
+
   nativeBuildInputs = [ pytestrunner ];
 
   propagatedBuildInputs = [ asgiref autobahn twisted ];
diff --git a/pkgs/development/python-modules/django-allauth/default.nix b/pkgs/development/python-modules/django-allauth/default.nix
index 331aa46acd0..50922ccded2 100644
--- a/pkgs/development/python-modules/django-allauth/default.nix
+++ b/pkgs/development/python-modules/django-allauth/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "django-allauth";
-  version = "0.38.0";
+  version = "0.39.1";
 
   # no tests on PyPI
   src = fetchFromGitHub {
     owner = "pennersr";
     repo = pname;
     rev = version;
-    sha256 = "17ch8lvq47arkgvwz2fdc89lwvgphsnmjs6wwf5g1m50xclljwmq";
+    sha256 = "1kplkanhj26z3i6p0l1r5lczha4pavcx96vj3kpcp1rvyk1v0f7r";
   };
 
   propagatedBuildInputs = [ requests requests_oauthlib django python3-openid ];
diff --git a/pkgs/development/python-modules/django_guardian/default.nix b/pkgs/development/python-modules/django_guardian/default.nix
index 90b81c8379e..11ad13cb4a1 100644
--- a/pkgs/development/python-modules/django_guardian/default.nix
+++ b/pkgs/development/python-modules/django_guardian/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+{ stdenv, buildPythonPackage, fetchPypi
 , django_environ, mock, django, six
 , pytest, pytestrunner, pytest-django
 }:
 buildPythonPackage rec {
   pname = "django-guardian";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e144bbdfa67f523dc6f70768653a19c0aac29394f947a80dcb8eb7900840637";
+    sha256 = "0fixr2g5amdgqzh0rvfvd7hbxyfd5ra3y3s0fsmp8i1b68p97930";
   };
 
   checkInputs = [ pytest pytestrunner pytest-django django_environ mock ];
@@ -18,6 +18,5 @@ buildPythonPackage rec {
     description = "Per object permissions for Django";
     homepage = https://github.com/django-guardian/django-guardian;
     license = [ licenses.mit licenses.bsd2 ];
-    broken = !isPy3k; # https://github.com/django-guardian/django-guardian/pull/605
   };
 }
diff --git a/pkgs/development/python-modules/fs/default.nix b/pkgs/development/python-modules/fs/default.nix
index d53556f0d07..89e7647aa04 100644
--- a/pkgs/development/python-modules/fs/default.nix
+++ b/pkgs/development/python-modules/fs/default.nix
@@ -19,11 +19,11 @@
 
 buildPythonPackage rec {
   pname = "fs";
-  version = "2.4.4";
+  version = "2.4.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0krf632nz24v2da7g9xivq6l2w9za3vph4vix7mm1k3byzwjnawk";
+    sha256 = "1gv23ns9szdh1dgqzvc0r94qrv8fpjqj0xv99sniy2x3rxs2n0j2";
   };
 
   buildInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/gensim/default.nix b/pkgs/development/python-modules/gensim/default.nix
index 2bd1bfce6f9..93e52c51dda 100644
--- a/pkgs/development/python-modules/gensim/default.nix
+++ b/pkgs/development/python-modules/gensim/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "gensim";
-  version = "3.7.2";
+  version = "3.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1la4y935sdah8ywa7krwy80hcl4n2k8cdx4ncy3dg3y2mdg3vq24";
+    sha256 = "0mp1hbj7ciwpair7z445zj1grfv8c75gby9lih01c3mvw4pff7v2";
   };
 
   propagatedBuildInputs = [ smart_open numpy six scipy ];
diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix
index 38a3724f00a..25a5e7e3ed5 100644
--- a/pkgs/development/python-modules/geopandas/default.nix
+++ b/pkgs/development/python-modules/geopandas/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "geopandas";
-  version = "0.4.1";
+  version = "0.5.0";
   name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "geopandas";
     repo = "geopandas";
     rev = "v${version}";
-    sha256 = "02v3lszxvhpsb0qrqk0kcnf9jss9gdj8az2r97aqx7ya8cwaccxa";
+    sha256 = "0gmqksjgxrng52jvjk0ylkpsg0qriygb10b7n80l28kdz6c0givj";
   };
 
   checkInputs = [ pytest Rtree ];
diff --git a/pkgs/development/python-modules/google_cloud_speech/default.nix b/pkgs/development/python-modules/google_cloud_speech/default.nix
index 81576ad8cc1..5fb1cb65320 100644
--- a/pkgs/development/python-modules/google_cloud_speech/default.nix
+++ b/pkgs/development/python-modules/google_cloud_speech/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "0.36.3";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d77da6086c01375908c8b800808ff83748a34b98313f885bd86df95448304fc";
+    sha256 = "1d0ysapqrcwcyiil7nyh8vbj4i6hk9v23rrm4rdhgm0lwax7i0aj";
   };
 
   propagatedBuildInputs = [ google_api_core ];
diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix
index 1de465cfec0..405b66ce724 100644
--- a/pkgs/development/python-modules/holoviews/default.nix
+++ b/pkgs/development/python-modules/holoviews/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.11.3";
+  version = "1.12.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb03053bfcb96ccef181405b6d3482a5b868f0c7fbaa68b52d25e0071dafd1bc";
+    sha256 = "0i4lfnajz685hlp9m0bjn7s279bv6mm5118b1qmldzqdnvw4s032";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/i3ipc/default.nix b/pkgs/development/python-modules/i3ipc/default.nix
index cf206472cd3..482a51a099e 100644
--- a/pkgs/development/python-modules/i3ipc/default.nix
+++ b/pkgs/development/python-modules/i3ipc/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "i3ipc";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner  = "acrisci";
     repo   = "i3ipc-python";
     rev    = "v${version}";
-    sha256 = "06d7g4d7cnh0vp5diavy3x9wz1w5nwdrb7ipc4g1c3a2wc78862d";
+    sha256 = "0sb525wvwcnikjaqzha94xr97r1gjys30csmaj17swlxgyczxvq5";
   };
 
   propagatedBuildInputs = [ enum-compat ];
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   checkPhase = ''${python.interpreter} run-tests.py'';
 
   meta = with stdenv.lib; {
-    description = "An improved Python library to control i3wm";
+    description = "An improved Python library to control i3wm and sway";
     homepage    = https://github.com/acrisci/i3ipc-python;
     license     = licenses.bsd3;
     maintainers = with maintainers; [ vanzef ];
diff --git a/pkgs/development/python-modules/j2cli/default.nix b/pkgs/development/python-modules/j2cli/default.nix
index 2f8ab29d432..0b3d1981dc6 100644
--- a/pkgs/development/python-modules/j2cli/default.nix
+++ b/pkgs/development/python-modules/j2cli/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "j2cli";
-  version = "0.3.7";
+  version = "0.3.8";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a7b0bdb02a3afb6d2eff40228b2216306332ace4341372310dafd15f938e1afa";
+    sha256 = "1f1a5fzap4ji5l7x8bprrgcpy1071lpa9g5h8jz7iqzgqynkaygi";
   };
 
   buildInputs = [ nose ];
diff --git a/pkgs/development/python-modules/kubernetes/default.nix b/pkgs/development/python-modules/kubernetes/default.nix
index 51e387270be..e154c5c9c0e 100644
--- a/pkgs/development/python-modules/kubernetes/default.nix
+++ b/pkgs/development/python-modules/kubernetes/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "kubernetes";
-  version = "8.0.1";
+  version = "9.0.0";
 
   prePatch = ''
     sed -e 's/sphinx>=1.2.1,!=1.3b1,<1.4 # BSD/sphinx/' -i test-requirements.txt
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0y0aygnd7kpflwdm3zxrmsgws0frk4qwq3lnq92zsiyxcxh8r4i5";
+    sha256 = "1gz3sk4s0gx68xpxjwzp9n2shlxfa9d5j4h7cvmglim9bgasxc58";
   };
 
   checkInputs = [ isort coverage pytest mock sphinx autopep8 pep8 codecov recommonmark nose ];
diff --git a/pkgs/development/python-modules/lark-parser/default.nix b/pkgs/development/python-modules/lark-parser/default.nix
index 5d114fcab9c..33965221cec 100644
--- a/pkgs/development/python-modules/lark-parser/default.nix
+++ b/pkgs/development/python-modules/lark-parser/default.nix
@@ -15,12 +15,11 @@ buildPythonPackage rec {
     sha256 = "1zynj09w361yvbxr4hir681dfnlq1hzniws9dzgmlkvd6jnhjgx3";
   };
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
+  # tests of Nearley support require js2py
+  preCheck = ''
+    rm -r tests/test_nearley
   '';
 
-  doCheck = false; # Requires js2py
-
   meta = {
     description = "A modern parsing library for Python, implementing Earley & LALR(1) and an easy interface";
     homepage = https://github.com/lark-parser/lark;
diff --git a/pkgs/development/python-modules/latexcodec/default.nix b/pkgs/development/python-modules/latexcodec/default.nix
index 785d9f1aa3a..2873c8f9622 100644
--- a/pkgs/development/python-modules/latexcodec/default.nix
+++ b/pkgs/development/python-modules/latexcodec/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "latexcodec";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s4wdbg0w2l8pj3i0y4510i0s04p8nhxcsa2z41bjsv0k66npb81";
+    sha256 = "0wnp3yqcgx0rpy8dz51vh75lbp2qif67da19zi7m3ca98n887hgb";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/leveldb/default.nix b/pkgs/development/python-modules/leveldb/default.nix
new file mode 100644
index 00000000000..4d6336ce757
--- /dev/null
+++ b/pkgs/development/python-modules/leveldb/default.nix
@@ -0,0 +1,19 @@
+{ lib, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "leveldb";
+  version = "0.194";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f6d1y65k6miimic82n8zsx50z9k982mvzp90crwcv1knjrphcww";
+  };
+
+  meta = with lib; {
+    homepage = "https://code.google.com/archive/p/py-leveldb/";
+    description = "Thread-safe Python bindings for LevelDB";
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    license = licenses.bsd3;
+    maintainers = [ maintainers.aanderse ];
+  };
+}
diff --git a/pkgs/development/python-modules/netcdf4/default.nix b/pkgs/development/python-modules/netcdf4/default.nix
index d8131ffc3bd..ee5110995b0 100644
--- a/pkgs/development/python-modules/netcdf4/default.nix
+++ b/pkgs/development/python-modules/netcdf4/default.nix
@@ -3,13 +3,13 @@
 }:
 buildPythonPackage rec {
   pname = "netCDF4";
-  version = "1.5.0.1";
+  version = "1.5.1.2";
 
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db24f7ca724e791574774b2a1e323ce0dfb544957fc6fbdb5d4c368f382b2de9";
+    sha256 = "161pqb7xc9nj0dlnp6ply8c6zv68y1frq619xqfrpmc9s1932jzk";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/ordered-set/default.nix b/pkgs/development/python-modules/ordered-set/default.nix
index d26459acf70..924a2d31b76 100644
--- a/pkgs/development/python-modules/ordered-set/default.nix
+++ b/pkgs/development/python-modules/ordered-set/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "ordered-set";
-  version = "3.1";
+  version = "3.1.1";
 
   checkInputs = [ pytest ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0slg1ys58dzxl96mws3sydzavdzqdk0s2nrc852dphd9kbm07dzr";
+    sha256 = "094pww79pawgmjgwi47r0fji9irb7sr4xc9xwjbb0wwcficaigx7";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index e22c52bb248..222f5137475 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.10.10";
+  version = "8.10.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dabc8cfcff96446b0787ea337739ea286ec3949ec27a4790a9b4587817da5c5f";
+    sha256 = "1rd46dryxkwlha9lfqqwywazlh908ngh6076zz3myhzf8h3dmxnz";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index 253288088c4..55963299f9c 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "3.7.1";
+  version = "3.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gad00c0p56zvmk2yzy03m0f3fcq67q9kdgdfxph2aw905mkwddc";
+    sha256 = "498c35a2a482f7c7937fc2f3681fec653a0191dd21e40e754a6b774234cd167e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/py-radix/default.nix b/pkgs/development/python-modules/py-radix/default.nix
new file mode 100644
index 00000000000..b06de3a27a7
--- /dev/null
+++ b/pkgs/development/python-modules/py-radix/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, coverage
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "py-radix";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "mjschultz";
+    repo = "py-radix";
+    rev = "v${version}";
+    sha256 = "01xyn9lg6laavnzczf5bck1l1c2718ihxx0hvdkclnnxjqhbrqis";
+  };
+
+  doCheck = true;
+  checkInputs = [ coverage nose ];
+
+  meta = with stdenv.lib; {
+    description = "Python radix tree for IPv4 and IPv6 prefix matching";
+    homepage = https://github.com/mjschultz/py-radix;
+    license = with licenses; [ isc bsdOriginal ];
+    maintainers = with maintainers; [ mkg ];
+  };
+}
diff --git a/pkgs/development/python-modules/py3exiv2/default.nix b/pkgs/development/python-modules/py3exiv2/default.nix
index 2a886c4cf91..d3ed2659f6a 100644
--- a/pkgs/development/python-modules/py3exiv2/default.nix
+++ b/pkgs/development/python-modules/py3exiv2/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "py3exiv2";
-  version = "0.6.1";
+  version = "0.7.0";
   disabled = !(isPy3k);
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1j2pkynqdqrxf86qyzrjj76i33ylxfsrqxv4j2x9bkd0hk6x0pa6";
+    sha256 = "1gcvmglyl8ad2f336w88gwkd5djjsxdx1ind9wnlbqc3jn9i05cg";
   };
 
   buildInputs = [ exiv2 boost ];
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
index c5be26bd9b7..1034c9d844d 100644
--- a/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -1,7 +1,7 @@
 { buildPythonPackage, stdenv, lxml, click, fetchFromGitHub, pytest, isPy3k }:
 
 buildPythonPackage rec {
-  version = "0.3.13";
+  version = "0.3.15";
   pname = "pyaxmlparser";
 
   # the PyPI tarball doesn't ship tests.
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "appknox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jfjhxc6b57npsidknxmhj1x813scg47aaw90ybyr90fpdz5rlwk";
+    sha256 = "0p4x21rg8h7alrg2zk6rbgc3fj77fiyky4zzvziz2bp5jpx1pvzp";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 7d0f7da5d96..ff4059d862e 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "PyChromecast";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0jksh7rb4880kni8iw3hb5q9dm5gi40zmx4r2fwydnpfhadhq5af";
+    sha256 = "e1e71e30581e1021b6bdd50a80cfcdcfa86d9082171fdd719c5ca6a77b8a9699";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix
index 42127de2f24..c6f939d319a 100644
--- a/pkgs/development/python-modules/pygtk/default.nix
+++ b/pkgs/development/python-modules/pygtk/default.nix
@@ -4,18 +4,16 @@
 buildPythonPackage rec {
   pname = "pygtk";
   version = "2.24.0";
-  name = pname + "-" + version;
 
   disabled = isPy3k;
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pygtk/2.24/${name}.tar.bz2";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ]
-    ++ stdenv.lib.optional (libglade != null) libglade;
+  buildInputs = stdenv.lib.optional (libglade != null) libglade;
 
   propagatedBuildInputs = [ gtk2 pygobject2 pycairo ];
 
@@ -50,6 +48,13 @@ buildPythonPackage rec {
     rm $out/bin/pygtk-codegen-2.0
     ln -s ${pygobject2}/bin/pygobject-codegen-2.0  $out/bin/pygtk-codegen-2.0
     ln -s ${pygobject2}/lib/${python.libPrefix}/site-packages/pygobject-${pygobject2.version}.pth \
-                  $out/lib/${python.libPrefix}/site-packages/${name}.pth
+                  $out/lib/${python.libPrefix}/site-packages/${pname}-${version}.pth
   '';
+
+  meta = with stdenv.lib; {
+    description = "GTK+-2 bindings";
+    homepage = "https://gitlab.gnome.org/Archive/pygtk";
+    platforms = platforms.all;
+    license = with licenses; [ lgpl21Plus ];
+  };
 }
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index 7bc54cb0ffb..713861deae3 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -32,12 +32,25 @@ let
     "test_set_notBefore"
   ];
 
+  # these tests are extremely tightly wed to the exact output of the openssl cli tool,
+  # including exact punctuation.
+  failingOpenSSL_1_1Tests = [
+    "test_dump_certificate"
+    "test_dump_privatekey_text"
+    "test_dump_certificate_request"
+    "test_export_text"
+  ];
+
   disabledTests = [
     # https://github.com/pyca/pyopenssl/issues/692
     # These tests, we disable always.
     "test_set_default_verify_paths"
     "test_fallback_default_verify_paths"
-  ] ++ (optionals (hasPrefix "libressl" openssl.meta.name) failingLibresslTests);
+  ] ++ (
+    optionals (hasPrefix "libressl" openssl.meta.name) failingLibresslTests
+  ) ++ (
+    optionals (versionAtLeast (getVersion openssl.name) "1.1") failingOpenSSL_1_1Tests
+  );
 
   # Compose the final string expression, including the "-k" and the single quotes.
   testExpression = optionalString (disabledTests != [])
diff --git a/pkgs/development/python-modules/python-gnupg/default.nix b/pkgs/development/python-modules/python-gnupg/default.nix
index 1ecf5fe1061..728a353cec7 100644
--- a/pkgs/development/python-modules/python-gnupg/default.nix
+++ b/pkgs/development/python-modules/python-gnupg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, gnupg1 }:
+{ stdenv, buildPythonPackage, fetchPypi, gnupg }:
 
 buildPythonPackage rec {
   pname   = "python-gnupg";
@@ -12,9 +12,9 @@ buildPythonPackage rec {
   # Let's make the library default to our gpg binary
   patchPhase = ''
     substituteInPlace gnupg.py \
-    --replace "gpgbinary='gpg'" "gpgbinary='${gnupg1}/bin/gpg'"
+    --replace "gpgbinary='gpg'" "gpgbinary='${gnupg}/bin/gpg'"
     substituteInPlace test_gnupg.py \
-    --replace "gpgbinary=GPGBINARY" "gpgbinary='${gnupg1}/bin/gpg'" \
+    --replace "gpgbinary=GPGBINARY" "gpgbinary='${gnupg}/bin/gpg'" \
     --replace "test_search_keys" "disabled__test_search_keys"
   '';
 
diff --git a/pkgs/development/python-modules/python-igraph/default.nix b/pkgs/development/python-modules/python-igraph/default.nix
index a24f3a9fedc..0f20a01e0b2 100644
--- a/pkgs/development/python-modules/python-igraph/default.nix
+++ b/pkgs/development/python-modules/python-igraph/default.nix
@@ -1,22 +1,24 @@
-{ buildPythonPackage, fetchPypi, lib,
-  pkgconfig, igraph }:
+{ buildPythonPackage, fetchPypi, lib, isPy3k
+, pkgconfig, igraph }:
 
 buildPythonPackage rec {
   pname = "python-igraph";
   version = "0.7.1.post6";
 
-  buildInputs = [ pkgconfig igraph ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ igraph ];
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "0xp61zz710qlzhmzbfr65d5flvsi8zf2xy78s6rsszh719wl5sm5";
   };
 
+  doCheck = !isPy3k;
+
   meta = {
     description = "High performance graph data structures and algorithms";
+    homepage = "https://igraph.org/python/";
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.MostAwesomeDude ];
   };
 }
-
-
diff --git a/pkgs/development/python-modules/python-slugify/default.nix b/pkgs/development/python-modules/python-slugify/default.nix
index 39950b97f6c..699d370af75 100644
--- a/pkgs/development/python-modules/python-slugify/default.nix
+++ b/pkgs/development/python-modules/python-slugify/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchPypi, buildPythonPackage, unidecode, regex, isPy3k }:
+{ stdenv, fetchPypi, buildPythonPackage, python, text-unidecode }:
 
 buildPythonPackage rec {
     pname = "python-slugify";
-    version = "2.0.1";
+    version = "3.0.2";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "d3e034397236020498e677a35e5c05dcc6ba1624b608b9ef7e5fe3090ccbd5a8";
+      sha256 = "57163ffb345c7e26063435a27add1feae67fa821f1ef4b2f292c25847575d758";
     };
-    doCheck = !isPy3k;
-    # (only) on python3 unittest loader (loadTestsFromModule) fails
 
-    propagatedBuildInputs = [ unidecode regex ];
+    propagatedBuildInputs = [ text-unidecode ];
+
+    checkPhase = ''
+      ${python.interpreter} test.py
+    '';
 
     meta = with stdenv.lib; {
       homepage = https://github.com/un33k/python-slugify;
diff --git a/pkgs/development/python-modules/pytz/default.nix b/pkgs/development/python-modules/pytz/default.nix
index 0de3e989c24..534bb1618bc 100644
--- a/pkgs/development/python-modules/pytz/default.nix
+++ b/pkgs/development/python-modules/pytz/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytz";
-  version = "2018.9";
+  version = "2019.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c";
+    sha256 = "d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/pytzdata/default.nix b/pkgs/development/python-modules/pytzdata/default.nix
index 9fb057800db..6fa4eb6387d 100644
--- a/pkgs/development/python-modules/pytzdata/default.nix
+++ b/pkgs/development/python-modules/pytzdata/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytzdata";
-  version = "2018.9";
+  version = "2019.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dddaaf4f1717820a6fdcac94057e03c1a15b3829a44d9eaf19988917977db408";
+    sha256 = "f0469062f799c66480fcc7eae69a8270dc83f0e6522c0e70db882d6bd708d378";
   };
 
   # No tests
diff --git a/pkgs/development/python-modules/qdarkstyle/default.nix b/pkgs/development/python-modules/qdarkstyle/default.nix
index 99d9ba8cf8a..425bb21a687 100644
--- a/pkgs/development/python-modules/qdarkstyle/default.nix
+++ b/pkgs/development/python-modules/qdarkstyle/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "qdarkstyle";
-  version = "2.6.5";
+  version = "2.6.8";
 
   src = fetchPypi {
     inherit version;
     pname = "QDarkStyle";
-    sha256 = "96b14cd0440a0f73db4e14c5accdaa08072625d0395ae011d444508cbd73eb9e";
+    sha256 = "18l2ynq2x8jd380nr47xy947c3qdmhv8nnxnan03y5d51azm8yh3";
   };
 
   # No tests available
diff --git a/pkgs/development/python-modules/qtconsole/default.nix b/pkgs/development/python-modules/qtconsole/default.nix
index 941c24033e5..2912ef213c2 100644
--- a/pkgs/development/python-modules/qtconsole/default.nix
+++ b/pkgs/development/python-modules/qtconsole/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "qtconsole";
-  version = "4.4.3";
+  version = "4.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b03n1ixzscm0jw97l4dq5iy4fslnqxq5bb8287xb7n2a1gs26xw";
+    sha256 = "1qqyk5wlaps1m2hb5n2q1gynw2ayqn31dvxwwni4450ygf65arx6";
   };
 
   checkInputs = [ nose ] ++ lib.optionals isPy27 [mock];
diff --git a/pkgs/development/python-modules/qtpy/default.nix b/pkgs/development/python-modules/qtpy/default.nix
index d0bea83ad26..24e607f2849 100644
--- a/pkgs/development/python-modules/qtpy/default.nix
+++ b/pkgs/development/python-modules/qtpy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "QtPy";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gjg7farw6mkmrwqcg6ms7j74g8py2msvawddji4wy8yfvql1ifl";
+    sha256 = "17pdn4d77gjjrsq7m1i6dz9px0dfi6wgaqz2v3sa3crl15spawp9";
   };
 
   # no concrete propagatedBuildInputs as multiple backends are supposed
diff --git a/pkgs/development/python-modules/ropper/default.nix b/pkgs/development/python-modules/ropper/default.nix
index 08c8547edbd..7b07bf3ff05 100644
--- a/pkgs/development/python-modules/ropper/default.nix
+++ b/pkgs/development/python-modules/ropper/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonApplication rec {
   pname = "ropper";
-  version = "1.11.13";
+  version = "1.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "245c6a1c8b294209bed039cd6a389f1e298d3fe6783d48ad9c6b2df3a41f51ee";
+    sha256 = "1aignpxz6rcbf6yxy1gjr708p56i6nqrbgblq24nanssz9rhkyzg";
   };
   # XXX tests rely on user-writeable /dev/shm to obtain process locks and return PermissionError otherwise
   # workaround: sudo chmod 777 /dev/shm
@@ -25,7 +25,7 @@ buildPythonApplication rec {
   propagatedBuildInputs = [ capstone filebytes ];
   meta = with stdenv.lib; {
     homepage = https://scoding.de/ropper/;
-    license = licenses.gpl2;
+    license = licenses.bsd3;
     description = "Show information about files in different file formats";
     maintainers = with maintainers; [ bennofs ];
   };
diff --git a/pkgs/development/python-modules/seabreeze/default.nix b/pkgs/development/python-modules/seabreeze/default.nix
new file mode 100644
index 00000000000..8555c024c76
--- /dev/null
+++ b/pkgs/development/python-modules/seabreeze/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetchFromGitHub
+, buildPythonPackage
+, pyusb
+, numpy
+}:
+
+## Usage
+# In NixOS, simply add the `udev` multiple output to services.udev.packages:
+#   services.udev.packages = [ pkgs.python3Packages.seabreeze.udev ];
+
+buildPythonPackage rec {
+  pname = "seabreeze";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "ap--";
+    repo = "python-seabreeze";
+    rev = "python-seabreeze-v${version}";
+    sha256 = "0bc2s9ic77gz9m40w89snixphxlzib60xa4f49n4zasjrddfz1l8";
+  };
+
+  outputs = [ "out" "udev" ];
+
+  postInstall = ''
+    mkdir -p $udev/lib/udev/rules.d
+    cp misc/10-oceanoptics.rules $udev/lib/udev/rules.d/10-oceanoptics.rules
+  '';
+
+  # underlying c libraries are tested and fail
+  # (c libs are used with anaconda, which we don't care about as we use the alternative path, being that of pyusb).
+  doCheck = false;
+
+  propagatedBuildInputs = [ pyusb numpy ];
+
+  setupPyBuildFlags = [ "--without-cseabreeze" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/ap--/python-seabreeze";
+    description = "A python library to access Ocean Optics spectrometers";
+    maintainers = [];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/service_identity/default.nix b/pkgs/development/python-modules/service_identity/default.nix
index 93e172a4f60..f39dd48232b 100644
--- a/pkgs/development/python-modules/service_identity/default.nix
+++ b/pkgs/development/python-modules/service_identity/default.nix
@@ -1,10 +1,11 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, characteristic
+, pythonOlder
+, cryptography
+, ipaddress
 , pyasn1
 , pyasn1-modules
-, pyopenssl
 , idna
 , attrs
 , pytest
@@ -12,18 +13,18 @@
 
 buildPythonPackage rec {
   pname = "service_identity";
-  version = "17.0.0";
+  version = "18.1.0";
 
   src = fetchFromGitHub {
     owner = "pyca";
     repo = pname;
     rev = version;
-    sha256 = "1fn332fci776m5a7jx8c1jgbm27160ip5qvv8p01c242ag6by5g0";
+    sha256 = "1aw475ksmd4vpl8cwfdcsw2v063nbhnnxpy633sb75iqp9aazhlx";
   };
 
   propagatedBuildInputs = [
-    characteristic pyasn1 pyasn1-modules pyopenssl idna attrs
-  ];
+    pyasn1 pyasn1-modules idna attrs cryptography
+  ] ++ lib.optionals (pythonOlder "3.3") [ ipaddress ];
 
   checkInputs = [ pytest ];
   checkPhase = "py.test";
diff --git a/pkgs/development/python-modules/shodan/default.nix b/pkgs/development/python-modules/shodan/default.nix
index 586edd766cd..cefe7dac221 100644
--- a/pkgs/development/python-modules/shodan/default.nix
+++ b/pkgs/development/python-modules/shodan/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fd68yaqhpay7jxhyc6xkdrak88wdblxs0phgdkngbakx2yaw2y3";
+    sha256 = "06z9h5vxrvqns3yr4jfrxifw0iqdn6ijlnznpmyi8nc18h8yma2a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart_open/default.nix
index f3f7acabfd6..9d2c7162719 100644
--- a/pkgs/development/python-modules/smart_open/default.nix
+++ b/pkgs/development/python-modules/smart_open/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "smart_open";
-  version = "1.8.2";
+  version = "1.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3c16477ad7e8f94ab033630ea31993670ad21153172367db1acb143077d501c";
+    sha256 = "029b0ns6q9vl4pyk1w7jp4dvif1mfgr53a58z1p8zipwnhkfwnih";
   };
 
   # nixpkgs version of moto is >=1.2.0, remove version pin to fix build
diff --git a/pkgs/development/python-modules/streamz/default.nix b/pkgs/development/python-modules/streamz/default.nix
index f779862dc61..87de719025d 100644
--- a/pkgs/development/python-modules/streamz/default.nix
+++ b/pkgs/development/python-modules/streamz/default.nix
@@ -14,19 +14,13 @@
 
 buildPythonPackage rec {
   pname = "streamz";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cfdd42aa62df299f550768de5002ec83112136a34b44441db9d633b2df802fb4";
+    sha256 = "80c9ded1d6e68d3b78339deb6e9baf93a633d84b4a8875221e337ac06890103f";
   };
 
-  # Pytest 4.x fails to collect streamz-dataframe tests.
-  # Removing them in v0.5.0. TODO: re-enable in a future release
-  postPatch = ''
-    rm -rf streamz/dataframe/tests/*.py
-  '';
-
   checkInputs = [ pytest networkx distributed confluent-kafka graphviz ];
   propagatedBuildInputs = [
     tornado
@@ -35,8 +29,9 @@ buildPythonPackage rec {
     six
   ];
 
+  # Disable test_tcp_async because fails on sandbox build
   checkPhase = ''
-    pytest
+    pytest --deselect=streamz/tests/test_sources.py::test_tcp_async
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index 978592366cb..e6941473588 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.21.0";
+  version = "2.27.0";
 
   # Tests require network connectivity and there's no easy way to disable
   # them. ~ C.
@@ -11,7 +11,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "170f76f2502888debf02da580138c840497b9359876ca3838f4692f2f02c9110";
+    sha256 = "0pvypngbmiji92nfs28bmiyl7brsm6cj18d9vhnwyydnzn3nlkl1";
   };
 
   checkInputs = [ unittest2 mock ];
diff --git a/pkgs/development/python-modules/typed-ast/default.nix b/pkgs/development/python-modules/typed-ast/default.nix
index 507f7ec49bd..f540cf72877 100644
--- a/pkgs/development/python-modules/typed-ast/default.nix
+++ b/pkgs/development/python-modules/typed-ast/default.nix
@@ -1,10 +1,10 @@
 { buildPythonPackage, fetchPypi, lib, pythonOlder }:
 buildPythonPackage rec {
   pname = "typed-ast";
-  version = "1.3.4";
+  version = "1.3.5";
   src = fetchPypi{
     inherit pname version;
-    sha256 = "68c362848d9fb71d3c3e5f43c09974a0ae319144634e7a47db62f0f2a54a7fa7";
+    sha256 = "1m7pr6qpana3cvqwiw7mlvrgvmw27ch5mx1592572xhlki8g85ak";
   };
   # Only works with Python 3.3 and newer;
   disabled = pythonOlder "3.3";
diff --git a/pkgs/development/python-modules/zstd/default.nix b/pkgs/development/python-modules/zstd/default.nix
index 54eb4c43ec4..3706fd06a15 100644
--- a/pkgs/development/python-modules/zstd/default.nix
+++ b/pkgs/development/python-modules/zstd/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "zstd";
-  version = "1.3.8.1";
+  version = "1.4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d89e884da59c35e480439f1663cb3cb4cf372e42ba0eb0bdf22b9625414702a3";
+    sha256 = "01prq9rwz1gh42idnj2162w79dzs8gf3ac8pn12lz347w280kjbk";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index c80a14063a5..5a3ee3d8cbd 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -110,12 +110,12 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "21276";
-    gittap = "3.4.1";
-    gittip = "da30e593718d5149f2a3d520c7f79fe1c7ca46ef";
-    rev = "3.4.1";
-    version = "3.4.1";
-    sha256 = "02qfj11j8f37hl46m8h4x9pv161glgdr7q3rfhwmq46px9y7f17p";
+    version_commit = "21707";
+    gittap = "3.5.0";
+    gittip = "75cfab37c6cfd0caffb9a90a949f5e60282bbd6c";
+    rev = "3.5.0";
+    version = "3.5.0";
+    sha256 = "03zm74a4vpip4pzj1s3gm2bdihw0iz47w8sxbhjf74074x1ylpzv";
     cs_ver = "4.0.1";
     cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
   };
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 1e29e4b34f0..e106c6962dc 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -153,7 +153,7 @@ stdenv.mkDerivation rec {
       sed -i -e 's/<.*\*>//g' tools/osx/xcode_locator.m
 
       # don't use system installed Xcode to run clang, use Nix clang instead
-      sed -i -e "s;/usr/bin/xcrun clang;${clang}/bin/clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation;g" \
+      sed -i -e "s;/usr/bin/xcrun clang;${stdenv.cc}/bin/clang $NIX_CFLAGS_COMPILE $NIX_LDFLAGS -framework CoreFoundation;g" \
         scripts/bootstrap/compile.sh \
         src/tools/xcode/realpath/BUILD \
         src/tools/xcode/stdredirect/BUILD \
@@ -256,7 +256,7 @@ stdenv.mkDerivation rec {
     makeWrapper
     which
     customBash
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools clang libcxx CoreFoundation CoreServices Foundation ];
+  ] ++ lib.optionals (stdenv.isDarwin) [ cctools libcxx CoreFoundation CoreServices Foundation ];
 
   # Bazel makes extensive use of symlinks in the WORKSPACE.
   # This causes problems with infinite symlinks if the build output is in the same location as the
diff --git a/pkgs/development/tools/build-managers/buck/default.nix b/pkgs/development/tools/build-managers/buck/default.nix
index 832e8e35164..2cbf3a33a09 100644
--- a/pkgs/development/tools/build-managers/buck/default.nix
+++ b/pkgs/development/tools/build-managers/buck/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "buck";
-  version = "2019.01.10.01";
+  version = "2019.05.06.01";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0987s399v4ba2a3crca12vsg9001xcb5drhqi564ninpa5vxamr2";
+    sha256 = "0bcj1g8hmcpdgz3c2sxglxxq1jn1x0p9dk6hml8ajkn4h82kw12y";
   };
 
   patches = [ ./pex-mtime.patch ];
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 5e03474bf10..99692d1ef50 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper
-, coreutils, jdk, rlwrap, gnupg1compat }:
+, coreutils, jdk, rlwrap, gnupg }:
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       --replace 'LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar' "LEIN_JAR=$out/share/$JARNAME"
     wrapProgram $out/bin/lein \
       --prefix PATH ":" "${stdenv.lib.makeBinPath [ rlwrap coreutils ]}" \
-      --set LEIN_GPG ${gnupg1compat}/bin/gpg \
+      --set LEIN_GPG ${gnupg}/bin/gpg \
       --set JAVA_CMD ${jdk}/bin/java
   '';
 
diff --git a/pkgs/development/tools/build-managers/waf/default.nix b/pkgs/development/tools/build-managers/waf/default.nix
index 50269a74395..f9dc33a36e0 100644
--- a/pkgs/development/tools/build-managers/waf/default.nix
+++ b/pkgs/development/tools/build-managers/waf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "waf-${version}";
-  version = "2.0.14";
+  version = "2.0.15";
 
   src = fetchFromGitLab {
     owner = "ita1024";
     repo = "waf";
     rev = name;
-    sha256 = "006a4wb9i569pahs8ji86hrv58g2hm8xikgchnll3bdqgxllhnrs";
+    sha256 = "0i86dbn6l01n4h4rzyl4mvizqabbqn5w7fywh83z7fxpha13c3bz";
   };
 
   patches = [
diff --git a/pkgs/development/tools/chit/default.nix b/pkgs/development/tools/chit/default.nix
new file mode 100644
index 00000000000..a23a3d45cce
--- /dev/null
+++ b/pkgs/development/tools/chit/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl
+, darwin
+}:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  pname = "chit";
+  version = "0.1.12";
+
+  src = fetchFromGitHub {
+    owner = "peterheesterman";
+    repo = pname;
+    rev = version;
+    sha256 = "17g2p07zhf4n4pjmws0ssfy2mrn0v933ih0vnlr1z2cv9mx8srsl";
+  };
+
+  cargoSha256 = "1jqnnf4jgjpm1i310hda15423nxfw9frgpmc2kbrs66qcsj7avaw";
+
+  nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkgconfig ];
+  buildInputs = []
+  ++ stdenv.lib.optionals stdenv.isLinux [ openssl ]
+  ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices Security ])
+  ;
+
+  # Tests require network access
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Crate help in terminal: A tool for looking up details about rust crates without going to crates.io";
+    longDescription = ''
+      Chit helps answer these questions:
+
+      * Who wrote this crate? What else did they write?
+      * What alternatives are there?
+      * How old is this crate?
+      * What versions are there? When did they come out?
+      * What are the downloads over time?
+      * Should i use this crate?
+      * How mature is it?
+    '';
+    homepage = https://github.com/peterheesterman/chit;
+    license = licenses.mit;
+    maintainers = [ maintainers.lilyball ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 89df5c1241b..babc46115e8 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jenkins-${version}";
-  version = "2.164.2";
+  version = "2.164.3";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "1pmya8g3gs5f9ibbgacdh5f6828jcrydw7v7xmg2j86kwc1vclf8";
+    sha256 = "03m5ykl6kqih9li2fhyq9rf8x8djaj2rgjd2p897zzw5j0grkbx8";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index 07763e3fa68..4bc3f464c1b 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "coursier-${version}";
-  version = "1.1.0-M14-1";
+  version = "1.1.0-M14-4";
 
   src = fetchurl {
     url = "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
-    sha256 = "0km9bxhch2bh7v6yi5jzyvq95fwdmccwqmbiznzhz4iqij8y066w";
+    sha256 = "1rlfqqlinbf472j7ifb8k4zkk2cx543cgnr0hi32qmqmzi0f89r2";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
index 2df390c2f72..2f29fb2fbad 100644
--- a/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
+++ b/pkgs/development/tools/documentation/gnome-doc-utils/default.nix
@@ -1,12 +1,14 @@
-{fetchurl, pkgconfig, libxml2Python, libxslt, intltool
+{ stdenv, fetchurl, pkgconfig, libxml2Python, libxslt, intltool, gnome3
 , python2Packages }:
 
-python2Packages.buildPythonApplication {
-  name = "gnome-doc-utils-0.20.10";
+python2Packages.buildPythonApplication rec {
+  pname = "gnome-doc-utils";
+  version = "0.20.10";
+
   format = "other";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.10.tar.xz;
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb";
   };
 
@@ -20,4 +22,17 @@ python2Packages.buildPythonApplication {
   '';
 
   propagatedBuildInputs = [ libxml2Python ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Collection of documentation utilities for the GNOME project";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-doc-utils";
+    license = with licenses; [ gpl2Plus lgpl2Plus ];
+    platforms = platforms.all;
+  };
 }
diff --git a/pkgs/development/tools/documentation/gtk-doc/default.nix b/pkgs/development/tools/documentation/gtk-doc/default.nix
index c55b2510e65..9d617e67127 100644
--- a/pkgs/development/tools/documentation/gtk-doc/default.nix
+++ b/pkgs/development/tools/documentation/gtk-doc/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, perl, python3, libxml2Python, libxslt, which
-, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool
+, docbook_xml_dtd_43, docbook_xsl, gnome-doc-utils, gettext, itstool, gnome3
 , withDblatex ? false, dblatex
 }:
 
 stdenv.mkDerivation rec {
-  name = "gtk-doc-${version}";
-  version = "1.29";
+  pname = "gtk-doc";
+  version = "1.30";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtk-doc/${version}/${name}.tar.xz";
-    sha256 = "1cc6yl8l275qn3zpjl6f0s4fwmkczngjr9hhsdv74mln4h08wmql";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "17h6nwhis66z4dxjrc833wvfl6pqjp81yfx3fq6x7k1qp2749xm4";
   };
 
   patches = [
@@ -38,11 +38,15 @@ stdenv.mkDerivation rec {
   passthru = {
     # Consumers are expected to copy the m4 files to their source tree, let them reuse the patch
     respect_xml_catalog_files_var_patch = ./respect-xml-catalog-files-var.patch;
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
   };
 
   meta = with stdenv.lib; {
-    homepage = https://www.gtk.org/gtk-doc;
     description = "Tools to extract documentation embedded in GTK+ and GNOME source code";
+    homepage = "https://www.gtk.org/gtk-doc";
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub ];
   };
diff --git a/pkgs/development/tools/icr/default.nix b/pkgs/development/tools/icr/default.nix
index 8fb79a9eabe..668fb2204d6 100644
--- a/pkgs/development/tools/icr/default.nix
+++ b/pkgs/development/tools/icr/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, crystal, shards, which
-, openssl, readline }:
+{ stdenv, fetchFromGitHub, crystal, shards, which, makeWrapper
+, openssl, readline, libyaml }:
 
 stdenv.mkDerivation rec {
   pname = "icr";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner  = "crystal-community";
-    repo   = "icr";
+    repo   = pname;
     rev    = "v${version}";
-    sha256 = "1vavdzgm06ssnxm6mylki6xma0mfsj63n5kivhk1v4pg4xj966w5";
+    sha256 = "0kkdqrxk4f4bqbb84mgjrk9r0fz1hsz95apvjsc49gav4c8xx3mb";
   };
 
   postPatch = ''
@@ -17,17 +17,20 @@ stdenv.mkDerivation rec {
       --replace /usr/local $out
   '';
 
-  buildInputs = [ openssl readline ];
+  buildInputs = [ crystal libyaml openssl readline ];
 
-  nativeBuildInputs = [ crystal shards which ];
+  nativeBuildInputs = [ makeWrapper shards which ];
 
   doCheck = true;
-
   checkTarget = "test";
 
+  postInstall = ''
+    wrapProgram $out/bin/icr --prefix PATH : "${stdenv.lib.makeBinPath [ crystal ]}"
+  '';
+
   meta = with stdenv.lib; {
     description = "Interactive console for the Crystal programming language";
-    homepage = https://github.com/crystal-community/icr;
+    homepage = "https://github.com/crystal-community/icr";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/development/tools/jo/default.nix b/pkgs/development/tools/jo/default.nix
index a730cde042e..2417f4cbfd1 100644
--- a/pkgs/development/tools/jo/default.nix
+++ b/pkgs/development/tools/jo/default.nix
@@ -1,15 +1,14 @@
 {stdenv, fetchFromGitHub, autoreconfHook}:
 
 stdenv.mkDerivation rec {
-  name = "jo-${version}";
-  version = "1.1";
+  pname = "jo";
+  version = "1.2";
 
   src = fetchFromGitHub {
-    owner = "jpmens";
+    owner  = "jpmens";
     repo = "jo";
-
-    rev = "v${version}";
-    sha256="1gn9fa37mfb85dfjznyfgciibf142kp0gisc2l2pnz0zrakbvvy3";
+    rev = version;
+    sha256 ="03b22zb5034ccqyp4ynfzknxagb3jz2dppl0kqz2nv4a08aglpmy";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 0c46ce20d0e..1edd2944eab 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,9 +1,11 @@
 { stdenv, lib, buildPackages
-, fetchurl, zlib, autoreconfHook
+, fetchurl, zlib, autoreconfHook, gettext
 # Enabling all targets increases output size to a multiple.
 , withAllTargets ? false, libbfd, libopcodes
 , enableShared ? true
-, noSysDirs, gold ? true, bison ? null
+, noSysDirs
+, gold ? !stdenv.buildPlatform.isDarwin || stdenv.hostPlatform == stdenv.targetPlatform
+, bison ? null
 , fetchpatch
 }:
 
@@ -61,14 +63,7 @@ stdenv.mkDerivation rec {
     ./0001-x86-Add-a-GNU_PROPERTY_X86_ISA_1_USED-note-if-needed.patch
     ./0001-x86-Properly-merge-GNU_PROPERTY_X86_ISA_1_USED.patch
     ./0001-x86-Properly-add-X86_ISA_1_NEEDED-property.patch
-  ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch
-    ++ lib.optional (stdenv.hostPlatform.isDarwin && stdenv.targetPlatform != stdenv.hostPlatform) [
-    (fetchpatch {
-      url = "https://sourceware.org/bugzilla/attachment.cgi?id=11141";
-      name = "gold-threads.patch";
-      sha256 = "0p26dxpba8n7z3pwjg7qf94f0gzbvwkjq0j9ng1w3sljj0gyaf1j";
-    })
-  ];
+  ] ++ lib.optional stdenv.targetPlatform.isiOS ./support-ios.patch;
 
   outputs = [ "out" "info" "man" ];
 
@@ -78,7 +73,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.targetPlatform.isiOS [
     autoreconfHook
   ];
-  buildInputs = [ zlib ];
+  buildInputs = [ zlib gettext ];
 
   inherit noSysDirs;
 
diff --git a/pkgs/development/tools/misc/gob2/default.nix b/pkgs/development/tools/misc/gob2/default.nix
index 17aa3214ebc..b1e107368ba 100644
--- a/pkgs/development/tools/misc/gob2/default.nix
+++ b/pkgs/development/tools/misc/gob2/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, glib, bison, flex }:
+{ stdenv, fetchurl, pkgconfig, glib, bison, flex, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "gob2-${minVer}.20";
-  minVer = "2.0";
+  pname = "gob2";
+  version = "2.0.20";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gob2/${minVer}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "5fe5d7990fd65b0d4b617ba894408ebaa6df453f2781c15a1cfdf2956c0c5428";
   };
 
@@ -13,9 +13,16 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib bison flex ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
   meta = {
     description = "Preprocessor for making GObjects with inline C code";
-    homepage = https://www.jirka.org/gob.html;
+    homepage = "https://www.jirka.org/gob.html";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index f544f48e57c..264f2aec44d 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perlPackages, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.47.9";
+  name = "help2man-1.47.10";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "1li3b6vifhysc2ckx0d7krwrqb8bk0kzn3k18ff1963hjc1qp7nz";
+    sha256 = "1yywli520246aba12vpgj7bhr1r13swad3xm49a0cygqcgywnwgk";
   };
 
   nativeBuildInputs = [ gettext perlPackages.LocaleGettext ];
diff --git a/pkgs/development/tools/misc/kibana/5.x.nix b/pkgs/development/tools/misc/kibana/5.x.nix
index 0529a276492..782bff68e34 100644
--- a/pkgs/development/tools/misc/kibana/5.x.nix
+++ b/pkgs/development/tools/misc/kibana/5.x.nix
@@ -11,9 +11,9 @@ let
   elasticArch = archOverrides."${arch}" or arch;
   plat = elemAt info 1;
   shas = {
-    "x86_64-linux"  = "1rg4j5jm8mkscrwlbx5qk3qjnblyr8z9x5npvyi73zm0ism0gv4j";
-    "i686-linux"    = "14swgx9sf23pns2pj30yyhd0p0rnykdimdrnj8rb0r1pqszw57qx";
-    "x86_64-darwin" = "10l13r47nx74xicnjgb56nvgvx2al1zx1p8f09pjldaa2gjlll2k";
+    "x86_64-linux"  = "0hzr47hyw54b9j4c33n6f6n3pala6kjhyvinfszgikbghyhb7fsa";
+    "i686-linux"    = "0bka4h31cw10ii4pfygc81pwc3wr32pzw3v4k4bi8rnqbk280fmn";
+    "x86_64-darwin" = "0jqc2g89rqkla0alqxr14sh4pccfn514jrwr7mkjivxdapygh1ll";
   };
 in stdenv.mkDerivation rec {
   name = "kibana-${version}";
diff --git a/pkgs/development/tools/misc/kibana/6.x.nix b/pkgs/development/tools/misc/kibana/6.x.nix
index b7e9dd0aaef..e11dd5040b0 100644
--- a/pkgs/development/tools/misc/kibana/6.x.nix
+++ b/pkgs/development/tools/misc/kibana/6.x.nix
@@ -19,12 +19,12 @@ let
   shas =
     if enableUnfree
     then {
-      "x86_64-linux"  = "039ll00kvrp881cyybb04z90cw68j7p5cspgdxh0bky9lyi9qpwb";
-      "x86_64-darwin" = "0qrakrihcjwn9dic77b0k9ja3zf6nbz534v76xid9gv20md5dds3";
+      "x86_64-linux"  = "1i3zmzxihplwd8n994lfxhhgygdg3qxjqgrj1difa8w3vss0zbfn";
+      "x86_64-darwin" = "09a96ms9id77infxd9xxfs6r7j01mn0rz5yw3g9sl92j9ri7r52c";
     }
     else {
-      "x86_64-linux"  = "1v1fbmfkbnlx043z3yx02gaqqy63bj2ymvcby66n4qq0vlpahvwx";
-      "x86_64-darwin" = "1y4q7a2b9arln94d6sj547qkv3258jlgcz9b342fh6khlbpfjb8c";
+      "x86_64-linux"  = "166rhxr0qlv1yarj2mg1c3b8mxvhl70jhz53azq7ic6laj55q7fk";
+      "x86_64-darwin" = "0ngngkbl036p2mzwhp8qafi3aqzk398a218w12srfqny5n630vdk";
     };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/misc/kibana/7.x.nix b/pkgs/development/tools/misc/kibana/7.x.nix
index 19590239caf..0c3dd9f12c2 100644
--- a/pkgs/development/tools/misc/kibana/7.x.nix
+++ b/pkgs/development/tools/misc/kibana/7.x.nix
@@ -19,12 +19,12 @@ let
   shas =
     if enableUnfree
     then {
-      "x86_64-linux"  = "0awkbnbrffv2m6n9zqv8k4m23g4mril69rmj84ndqpdnv7shrk4l";
-      "x86_64-darwin" = "0mbaya0xq99vfl8bn1wgi4m43c8qjp910bxf26z436km64311pip";
+      "x86_64-linux"  = "1mzycd0ljnkslz9p9jhq279bkpk35r7svhngxjnmsh11ampsvxb8";
+      "x86_64-darwin" = "1bz409njdpmsagh5dg062114wpa96w7pmxwfjsizwksqyyjdwdv7";
     }
     else {
-      "x86_64-linux"  = "0fy8vh0x2p8n2r3n5f67h1r5z75qfx5q4fghgqwnqymray5798v4";
-      "x86_64-darwin" = "0zyhvbwvdj95v2nswx5b83n4cw3zy5a6bkrvypw6k1i833c6v5g7";
+      "x86_64-linux"  = "1x3gjc9xa03m4jfnl5vjxigzcnb8ysnhxgd8618v85x4l0010v38";
+      "x86_64-darwin" = "1nsbmrswv2jv2z7686i2sf6rrmxysbqi5ih6jjrbrqnk64xi18j2";
     };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
index 7dc0809c887..198da09e1d0 100644
--- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
+++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -4,7 +4,7 @@ luarocks.overrideAttrs(old: {
   src = fetchFromGitHub {
     owner = "teto";
     repo = "luarocks";
-    rev = "8fb03a9bc8f4fa079d26c0f02804139bb2578848";
-    sha256 = "09iwjvs9sbk6vwhrh7sijmfpji6wvg5bbdraw7l5lpnr9jj5wy91";
+    rev = "ca52159dcb544161e5bef1e4e366f3da31fa4555";
+    sha256 = "13g7vpyirq51qmmnjsqhhiia9wdnq9aw4da0n3r7l1ar95q168sn";
   };
 })
diff --git a/pkgs/development/tools/misc/msitools/default.nix b/pkgs/development/tools/misc/msitools/default.nix
index 4a5d87fb4f7..5c2b0ad0ee3 100644
--- a/pkgs/development/tools/misc/msitools/default.nix
+++ b/pkgs/development/tools/misc/msitools/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, fetchurl, intltool, glib, pkgconfig, libgsf, libuuid, gcab, bzip2 }:
+{ stdenv, fetchurl, intltool, glib, pkgconfig, libgsf, libuuid, gcab, bzip2, gnome3 }:
 
 stdenv.mkDerivation rec {
+  pname = "msitools";
   version = "0.98";
-  name = "msitools-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/msitools/${version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "19wb3n3nwkpc6bjr0q3f1znaxsfaqgjbdxxnbx8ic8bb5b49hwac";
   };
 
   nativeBuildInputs = [ intltool pkgconfig ];
   buildInputs = [ glib libgsf libuuid gcab bzip2 ];
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Set of programs to inspect and build Windows Installer (.MSI) files";
     homepage = https://wiki.gnome.org/msitools;
diff --git a/pkgs/development/tools/misc/pkg-config/default.nix b/pkgs/development/tools/misc/pkg-config/default.nix
index 81fb7f8b13f..13855eb4e74 100644
--- a/pkgs/development/tools/misc/pkg-config/default.nix
+++ b/pkgs/development/tools/misc/pkg-config/default.nix
@@ -1,24 +1,28 @@
-{stdenv, fetchurl, libiconv, vanilla ? false }:
+{ stdenv, fetchurl, libiconv, vanilla ? false }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "pkg-config-0.29.2";
+  pname = "pkg-config";
+  version = "0.29.2";
 
   setupHook = ./setup-hook.sh;
 
   src = fetchurl {
-    urls = [
-      "https://pkgconfig.freedesktop.org/releases/${name}.tar.gz"
-      "http://fossies.org/linux/misc/${name}.tar.gz"
-    ];
+    url = "https://pkgconfig.freedesktop.org/releases/${pname}-${version}.tar.gz";
     sha256 = "14fmwzki1rlz8bs2p810lk6jqdxsk966d8drgsjmi54cd00rrikg";
   };
-    # Process Requires.private properly, see
-    # http://bugs.freedesktop.org/show_bug.cgi?id=4738.
+
+  # Process Requires.private properly, see
+  # http://bugs.freedesktop.org/show_bug.cgi?id=4738.
   patches = optional (!vanilla) ./requires-private.patch
     ++ optional stdenv.isCygwin ./2.36.3-not-win32.patch;
 
+  # These three tests fail due to a (desired) behavior change from our ./requires-private.patch
+  postPatch = ''
+    rm -f check/check-requires-private check/check-gtk check/missing
+  '';
+
   buildInputs = optional (stdenv.isCygwin || stdenv.isDarwin || stdenv.isSunOS) libiconv;
 
   configureFlags = [ "--with-internal-glib" ]
@@ -31,7 +35,8 @@ stdenv.mkDerivation rec {
          "ac_cv_func_posix_getgrgid_r=yes"
        ];
 
-  doCheck = false; # fails
+  enableParallelBuilding = true;
+  doCheck = true;
 
   postInstall = ''rm -f "$out"/bin/*-pkg-config''; # clean the duplicate file
 
@@ -41,5 +46,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     license = licenses.gpl2Plus;
   };
-
 }
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index ba1b8f27e7c..4e73c820912 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -12,8 +12,16 @@ stdenv.mkDerivation rec {
     sha256 = "173l9yai5yndbyn8nzdl6q11wv4x959bd0w392i82nfsqcz0pfsv";
   };
 
+  configureFlags = [
+    "--program-transform-name='s,^,b,'"
+  ];
+
   doCheck = true;
 
+  postInstall = ''
+    ln -s $out/bin/byacc $out/bin/yacc
+  '';
+
   meta = with stdenv.lib; {
     description = "Berkeley YACC";
     homepage = https://invisible-island.net/byacc/byacc.html;
diff --git a/pkgs/development/tools/proto-contrib/default.nix b/pkgs/development/tools/proto-contrib/default.nix
new file mode 100644
index 00000000000..83668389556
--- /dev/null
+++ b/pkgs/development/tools/proto-contrib/default.nix
@@ -0,0 +1,23 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "proto-contrib";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "emicklei";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ksxic7cypv9gg8q5lkl5bla1n9i65z7b03cx9lwq6252glmf2jk";
+  };
+
+  modSha256 = "19cqz13jd95d5vibd10420gg69ldgf6afc51mkglhafgmmif56b0";
+
+  meta = with lib; {
+    description = "Contributed tools and other packages on top of the Go proto package";
+    homepage = https://github.com/emicklei/proto-contrib;
+    license = licenses.mit;
+    maintainers = with maintainers; [ kalbasit ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
index 9a421129955..3b6c7940384 100644
--- a/pkgs/development/tools/react-native-debugger/default.nix
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -38,11 +38,11 @@ let
   ];
 in stdenv.mkDerivation rec {
   name = "react-native-debugger-${version}";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchurl {
     url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip";
-    sha256 = "0f1wvk1550z4imcs60sv229zllcxpykx4b60bw658idr1xc3c0ix";
+    sha256 = "07mcliy5f3kcqr76izqirqzwb2rwbnl3k1al9dln1izim0lhx06r";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/tools/rubocop/Gemfile b/pkgs/development/tools/rubocop/Gemfile
index f6ab81c8112..18a39cab1c3 100644
--- a/pkgs/development/tools/rubocop/Gemfile
+++ b/pkgs/development/tools/rubocop/Gemfile
@@ -1,3 +1,2 @@
 source 'https://rubygems.org'
-gem 'rake'
 gem 'rubocop'
diff --git a/pkgs/development/tools/rubocop/Gemfile.lock b/pkgs/development/tools/rubocop/Gemfile.lock
index beee9772beb..d477fff7177 100644
--- a/pkgs/development/tools/rubocop/Gemfile.lock
+++ b/pkgs/development/tools/rubocop/Gemfile.lock
@@ -3,29 +3,25 @@ GEM
   specs:
     ast (2.4.0)
     jaro_winkler (1.5.2)
-    parallel (1.12.1)
-    parser (2.5.3.0)
+    parallel (1.17.0)
+    parser (2.6.3.0)
       ast (~> 2.4.0)
-    powerpack (0.1.2)
     rainbow (3.0.0)
-    rake (12.3.2)
-    rubocop (0.62.0)
+    rubocop (0.68.1)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.5, != 2.5.1.1)
-      powerpack (~> 0.1)
       rainbow (>= 2.2.2, < 4.0)
       ruby-progressbar (~> 1.7)
-      unicode-display_width (~> 1.4.0)
+      unicode-display_width (>= 1.4.0, < 1.6)
     ruby-progressbar (1.10.0)
-    unicode-display_width (1.4.1)
+    unicode-display_width (1.5.0)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  rake
   rubocop
 
 BUNDLED WITH
-   1.16.4
+   1.17.2
diff --git a/pkgs/development/tools/rubocop/default.nix b/pkgs/development/tools/rubocop/default.nix
index 2b9792e4df2..288ccfa1524 100644
--- a/pkgs/development/tools/rubocop/default.nix
+++ b/pkgs/development/tools/rubocop/default.nix
@@ -9,7 +9,7 @@ bundlerEnv rec {
 
   meta = with lib; {
     description = "Automatic Ruby code style checking tool";
-    homepage = http://rubocop.readthedocs.io/en/latest/;
+    homepage = "https://docs.rubocop.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ leemachin ];
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/rubocop/gemset.nix b/pkgs/development/tools/rubocop/gemset.nix
index 57146a9a15e..0d8e58fea72 100644
--- a/pkgs/development/tools/rubocop/gemset.nix
+++ b/pkgs/development/tools/rubocop/gemset.nix
@@ -1,5 +1,7 @@
 {
   ast = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
@@ -18,12 +20,14 @@
     version = "1.5.2";
   };
   parallel = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01hj8v1qnyl5ndrs33g8ld8ibk0rbcqdpkpznr04gkbxd11pqn67";
+      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.17.0";
   };
   parser = {
     dependencies = ["ast"];
@@ -31,49 +35,35 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f";
-      type = "gem";
-    };
-    version = "2.5.3.0";
-  };
-  powerpack = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1r51d67wd467rpdfl6x43y84vwm8f5ql9l9m85ak1s2sp3nc5hyv";
+      sha256 = "1pnks149x0fzgqiw53qlmvcd8bi746cxdw03sjljby5s97p1fskn";
       type = "gem";
     };
-    version = "0.1.2";
+    version = "2.6.3.0";
   };
   rainbow = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
-  rake = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sy5a7nh6xjdc9yhcw31jji7ssrf9v5806hn95gbrzr998a2ydjn";
+      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
       type = "gem";
     };
-    version = "12.3.2";
+    version = "3.0.0";
   };
   rubocop = {
-    dependencies = ["jaro_winkler" "parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "ruby-progressbar" "unicode-display_width"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03narxzrpbilwbhr19qklvxhg22i8jkfar4igb1l8m73jydpxfvk";
+      sha256 = "1m1r78w1a4fs73j0x93cv7sms098x24vfp926l5p0nb4vxyhp0xg";
       type = "gem";
     };
-    version = "0.62.0";
+    version = "0.68.1";
   };
   ruby-progressbar = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
@@ -86,9 +76,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bq528fibi8s0jmxz0xzlgzggdq0x4fx46wfqz49478pv8gb2diq";
+      sha256 = "1ssnc6rja9ii97z7m35y4zd0rd7cpv3bija20l7cpd7y4jyyx44q";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.5.0";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index db3a2af8f5b..a9f8a4cd4b3 100644
--- a/pkgs/development/tools/scalafmt/default.nix
+++ b/pkgs/development/tools/scalafmt/default.nix
@@ -2,7 +2,7 @@
 
 let
   baseName = "scalafmt";
-  version = "2.0.0-RC5";
+  version = "2.0.0-RC7";
   deps = stdenv.mkDerivation {
     name = "${baseName}-deps-${version}";
     buildCommand = ''
@@ -13,13 +13,14 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "0y2nja4dj3l7f7m9dxr8xwda8vv27dwj090gfsa78a20vq1d3xxw";
+    outputHash     = "0scz3pp63z6xfj69kvsfr8l3ll9rq95j4xlhlyrzg1vfl1gf41ig";
   };
 in
 stdenv.mkDerivation rec {
   name = "${baseName}-${version}";
 
-  buildInputs = [ jdk makeWrapper deps ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jdk deps ];
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/wabt/default.nix b/pkgs/development/tools/wabt/default.nix
index e607fe2ff14..e9ced0e753a 100644
--- a/pkgs/development/tools/wabt/default.nix
+++ b/pkgs/development/tools/wabt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "wabt-${version}";
-  version = "1.0.10";
+  version = "1.0.11";
 
   src = fetchFromGitHub {
     owner  = "WebAssembly";
     repo   = "wabt";
     rev    = version;
-    sha256 = "0vki02317mbk5f2w9fxyslcrn5rl2sk845rrs318i37wsz6ismp3";
+    sha256 = "0hn88vlqyclpk79v3wg3lrssd9vwhjdgvb41g03jqakygxxgnmp5";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index a3756d27e46..38620863ebf 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yarn";
-  version = "1.15.2";
+  version = "1.16.0";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "0gvg6m0mdppgjp5lg3mz1w19c1zsflhgldzx4hgm3rlrbx3rzmvr";
+    sha256 = "1ki518ppw7bka4bfgvsv9s8x785vy23nvi7ihsw6ivisrg5v0w7w";
   };
 
   buildInputs = [ nodejs ];
diff --git a/pkgs/development/web/twitter-bootstrap/3.nix b/pkgs/development/web/twitter-bootstrap/3.nix
new file mode 100644
index 00000000000..71cda3d3d9f
--- /dev/null
+++ b/pkgs/development/web/twitter-bootstrap/3.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "bootstrap-${version}";
+  version = "3.4.1";
+
+  src = fetchurl {
+    url = "https://github.com/twbs/bootstrap/releases/download/v${version}/bootstrap-${version}-dist.zip";
+    sha256 = "0bnrxyryl4kyq250k4n2lxgkddfs9lxhqd6gq8x3kg9wfz7r75yl";
+  };
+
+  buildInputs = [ unzip ];
+
+  dontBuild = true;
+  installPhase = ''
+    mkdir $out
+    cp -r * $out/
+  '';
+
+  meta = {
+    description = "Front-end framework for faster and easier web development";
+    homepage = https://getbootstrap.com/;
+    license = stdenv.lib.licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/web/twitter-bootstrap/default.nix b/pkgs/development/web/twitter-bootstrap/default.nix
index 7537c2795d2..61e7947a479 100644
--- a/pkgs/development/web/twitter-bootstrap/default.nix
+++ b/pkgs/development/web/twitter-bootstrap/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "bootstrap-${version}";
-  version = "3.3.7";
+  pname = "bootstrap";
+  version = "4.3.1";
 
   src = fetchurl {
-    url = "https://github.com/twbs/bootstrap/releases/download/v${version}/bootstrap-${version}-dist.zip";
-    sha256 = "0yqvg72knl7a0rlszbpk7xf7f0cs3aqf9xbl42ff41yh5pzsi67l";
+    url = "https://github.com/twbs/bootstrap/releases/download/v${version}/${pname}-${version}-dist.zip";
+    sha256 = "08rkg4q8x36k03g1d81brhncrzb98sh8r53a5wg3i4p1nwqgv3w8";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/games/azimuth/default.nix b/pkgs/games/azimuth/default.nix
new file mode 100644
index 00000000000..3370f339fa2
--- /dev/null
+++ b/pkgs/games/azimuth/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchFromGitHub, SDL }:
+
+stdenv.mkDerivation rec {
+  pname = "azimuth";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner  = "mdsteele";
+    repo   = "azimuth";
+    rev    = "v${version}";
+    sha256 = "0yh52i3vfmj5zd7fs1r2xpjy2mknycr5xz6kyixj2qncb25xsm7z";
+  };
+
+  preConfigure = ''
+    substituteInPlace data/azimuth.desktop \
+      --replace Exec=azimuth "Exec=$out/bin/azimuth" \
+      --replace "Version=%AZ_VERSION_NUMBER" "Version=${version}"
+  '';
+
+  makeFlags = [
+    "BUILDTYPE=release"
+  ];
+
+  buildInputs = [ SDL ];
+
+  enableParallelBuilding = true;
+
+  # the game doesn't have an installation procedure
+  installPhase = ''
+    mkdir -p $out/bin
+    cp out/release/host/bin/azimuth $out/bin/azimuth
+    cp out/release/host/bin/editor $out/bin/azimuth-editor
+    cp out/release/host/bin/muse $out/bin/azimuth-muse
+    cp out/release/host/bin/zfxr $out/bin/azimuth-zfxr
+    mkdir -p $out/share/doc/azimuth
+    cp doc/* README.md LICENSE $out/share/doc/azimuth
+    mkdir -p $out/share/icons/hicolor/128x128/apps $out/share/icons/hicolor/64x64/apps $out/share/icons/hicolor/48x48/apps $out/share/icons/hicolor/32x32/apps
+    cp data/icons/icon_128x128.png $out/share/icons/hicolor/128x128/apps/azimuth.png
+    cp data/icons/icon_64x64.png $out/share/icons/hicolor/64x64/apps/azimuth.png
+    cp data/icons/icon_48x48.png $out/share/icons/hicolor/48x48/apps/azimuth.png
+    cp data/icons/icon_32x32.png $out/share/icons/hicolor/32x32/apps/azimuth.png
+    mkdir -p $out/share/applications
+    cp data/azimuth.desktop $out/share/applications
+  '';
+
+  meta = {
+    description = "A metroidvania game using only vectorial graphic";
+    longDescription = ''
+      Azimuth is a metroidvania game, and something of an homage to the previous
+      greats of the genre (Super Metroid in particular). You will need to pilot
+      your ship, explore the inside of the planet, fight enemies, overcome
+      obstacles, and uncover the storyline piece by piece. Azimuth features a
+      huge game world to explore, lots of little puzzles to solve, dozens of
+      weapons and upgrades to find and use, and a wide variety of enemies and
+      bosses to tangle with.
+    '';
+
+    license = stdenv.lib.licenses.gpl3Plus;
+    homepage = https://mdsteele.games/azimuth/index.html;
+    maintainers = with stdenv.lib.maintainers; [ marius851000 ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+}
diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix
index e4ec4dffa1d..5800f8026ac 100644
--- a/pkgs/games/chessx/default.nix
+++ b/pkgs/games/chessx/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "chessx-${version}";
-  version = "1.4.6";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/chessx/chessx-${version}.tgz";
-    sha256 = "1vb838byzmnyglm9mq3khh3kddb9g4g111cybxjzalxxlc81k5dd";
+    sha256 = "09rqyra28w3z9ldw8sx07k5ap3sjlli848p737maj7c240rasc6i";
   };
 
   buildInputs = [
diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix
index 56904ae2dfe..5e476cdc7e9 100644
--- a/pkgs/games/nethack/default.nix
+++ b/pkgs/games/nethack/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison
 , less, makeWrapper
 , buildPackages
-, x11Mode ? false, qtMode ? false, libXaw, libXext, bdftopcf, mkfontdir, pkgconfig, qt5
+, x11Mode ? false, qtMode ? false, libXaw, libXext, libXpm, bdftopcf, mkfontdir, pkgconfig, qt5
 }:
 
 let
@@ -19,18 +19,18 @@ let
   binPath = lib.makeBinPath [ coreutils less ];
 
 in stdenv.mkDerivation rec {
-  version = "3.6.1";
+  version = "3.6.2";
   name = if x11Mode then "nethack-x11-${version}"
          else if qtMode then "nethack-qt-${version}"
          else "nethack-${version}";
 
   src = fetchurl {
-    url = "https://nethack.org/download/3.6.1/nethack-361-src.tgz";
-    sha256 = "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b";
+    url = "https://nethack.org/download/3.6.2/nethack-362-src.tgz";
+    sha256 = "07fvkm3v11a4pjrq2f66vjslljsvk6raal53skn4gqsfdbd0ml7v";
   };
 
   buildInputs = [ ncurses ]
-                ++ lib.optionals x11Mode [ libXaw libXext ]
+                ++ lib.optionals x11Mode [ libXaw libXext libXpm ]
                 ++ lib.optionals qtMode [ gzip qt5.qtbase.bin qt5.qtmultimedia.bin ];
 
   nativeBuildInputs = [ flex bison ]
@@ -72,6 +72,7 @@ in stdenv.mkDerivation rec {
       -e 's,CFLAGS.*QtGui.*,CFLAGS += `pkg-config Qt5Gui --cflags`,' \
       -e 's,CFLAGS+=-DCOMPRESS.*,CFLAGS+=-DCOMPRESS=\\"${gzip}/bin/gzip\\" \\\
         -DCOMPRESS_EXTENSION=\\".gz\\",' \
+      -e 's,moc-qt4,moc,' \
       -i sys/unix/hints/linux-qt4
     ''}
     ${lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform)
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index ef22bd9a3ac..f441ac36add 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -39,16 +39,16 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "4.7";
+    version = "4.8";
     url = "https://dl.winehq.org/wine/source/4.x/wine-${version}.tar.xz";
-    sha256 = "1c5swx6jj0hz9w2jgyl30pdjcq9n62qp1rmqyq1d4q2a6n291jiv";
+    sha256 = "0dd1vw3bq47ypdpflgmmbi68pjw5z3wz26kfwvnkxqbp28fapfa8";
     inherit (stable) mono gecko32 gecko64;
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "1sgyq57dyzchwnvkgx96bcx5rv821s0vidzdyz7x5711j7xmiv70";
+    sha256 = "0npm44zdys78qbqqyvjczqqjdgacpsfds3jxyy1y4yj2xjqzagsq";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/misc/logging/beats/5.x.nix b/pkgs/misc/logging/beats/5.x.nix
index e92613025ff..fb8bb5a85c8 100644
--- a/pkgs/misc/logging/beats/5.x.nix
+++ b/pkgs/misc/logging/beats/5.x.nix
@@ -8,7 +8,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
         owner = "elastic";
         repo = "beats";
         rev = "v${version}";
-        sha256 = "00g90i58c6gnyzszsx7y75vn1350hrkzrsb50xx700jqg9ii8yin";
+        sha256 = "0sslcwjdf7zb9xj2c98jid3rb09l96m22k3af48gppimxg1lkh9b";
       };
 
       goPackagePath = "github.com/elastic/beats";
diff --git a/pkgs/misc/logging/beats/6.x.nix b/pkgs/misc/logging/beats/6.x.nix
index 2cfae05c924..2f7e38692eb 100644
--- a/pkgs/misc/logging/beats/6.x.nix
+++ b/pkgs/misc/logging/beats/6.x.nix
@@ -8,7 +8,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
         owner = "elastic";
         repo = "beats";
         rev = "v${version}";
-        sha256 = "0n1sjngc82b7wysw5aaiqvllq4c8rx2jj7khw4vrypc40f8ahjs5";
+        sha256 = "0if08dxibdnqpsxs8f6hvw147j0j8bavhcm11scn28j9id65absq";
       };
 
       goPackagePath = "github.com/elastic/beats";
@@ -45,5 +45,8 @@ in {
       journal entries from Linuxes with systemd.
     '';
     buildInputs = [ systemd.dev ];
+    postFixup = let libPath = stdenv.lib.makeLibraryPath [ systemd.lib ]; in ''
+      patchelf --set-rpath ${libPath} "$bin/bin/journalbeat"
+    '';
   };
 }
diff --git a/pkgs/misc/logging/beats/7.x.nix b/pkgs/misc/logging/beats/7.x.nix
index 6d00b02d80e..12e08dfeec6 100644
--- a/pkgs/misc/logging/beats/7.x.nix
+++ b/pkgs/misc/logging/beats/7.x.nix
@@ -8,7 +8,7 @@ let beat = package : extraArgs : buildGoPackage (rec {
         owner = "elastic";
         repo = "beats";
         rev = "v${version}";
-        sha256 = "0n1sjngc82b7wysw5aaiqvllq4c8rx2jj7khw4vrypc40f8ahjs5";
+        sha256 = "1ca6a4zm062jpqwhmd8ivvzha1cvrw7mg5342vnmn99xdlr1pk9j";
       };
 
       goPackagePath = "github.com/elastic/beats";
@@ -45,5 +45,8 @@ in {
       journal entries from Linuxes with systemd.
     '';
     buildInputs = [ systemd.dev ];
+    postFixup = let libPath = stdenv.lib.makeLibraryPath [ systemd.lib ]; in ''
+      patchelf --set-rpath ${libPath} "$bin/bin/journalbeat"
+    '';
   };
 }
diff --git a/pkgs/misc/screensavers/xautolock/default.nix b/pkgs/misc/screensavers/xautolock/default.nix
index 8edb618b389..0da198aab78 100644
--- a/pkgs/misc/screensavers/xautolock/default.nix
+++ b/pkgs/misc/screensavers/xautolock/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   name = "xautolock-${version}";
-  version = "2.2-6-ge68d0ed";
+  version = "2.2-7-ga23dd5c";
 
   # This repository contains xautolock-2.2 plus various useful patches that
   # were collected from Debian, etc.
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "peti";
     repo = "xautolock";
     rev = "v${version}";
-    sha256 = "1131ki6zwk94s8j6zqywf8r5kanx3nrjm692rxh8pcz4hv9qp1mz";
+    sha256 = "10j61rl0sx9sh84rjyfyddl73xb5i2cpb17fyrli8kwj39nw0v2g";
   };
 
   nativeBuildInputs = [ imake gccmakedep ];
diff --git a/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix b/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
index 4ec5b5da0a4..9acb7b25a0d 100644
--- a/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
+++ b/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
 
-stdenv.mkDerivation {
-  name = "gtk-engine-murrine-0.98.2";
+stdenv.mkDerivation rec {
+  pname = "gtk-engine-murrine";
+  version = "0.98.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/murrine/0.98/murrine-0.98.2.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "129cs5bqw23i76h3nmc29c9mqkm9460iwc8vkl7hs4xr07h8mip9";
   };
 
@@ -13,6 +14,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A very flexible theme engine";
+    homepage = "https://gitlab.gnome.org/Archive/murrine";
     license = stdenv.lib.licenses.lgpl3;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index d327b7e16fa..97121e2d6ce 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -61,12 +61,12 @@ let
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2019-05-02";
+    version = "2019-05-09";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "7f0954b89ef7c43e5fb7b6490665e9814c8205b2";
-      sha256 = "0pgqgswggf037y49a2yr1p5k3fbw6lq4v9v7ipj6h9y9iklbqzhr";
+      rev = "f444abdfe66696505cb891889b18c4144d12d4ea";
+      sha256 = "1id66swgzkgal2hxppm3ls0asffvmsbz81sl1qvci053jr9mr5d0";
     };
   };
 
@@ -204,12 +204,12 @@ let
 
   CheckAttach = buildVimPluginFrom2Nix {
     pname = "CheckAttach";
-    version = "2018-09-02";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "CheckAttach";
-      rev = "e9167ad91e85d401441b8ac64b8dcbe3d0cf4df7";
-      sha256 = "1xif7lplm35scb36pzh2mq24j2khyzriiaqa2lzhwfilb7nq9c91";
+      rev = "8f0b1350431d1d34655a147e6f1cfe6cb5dda5f7";
+      sha256 = "1z9a40nbdjd3pnp28nfsi2bijsbaiphc0ia816f5flkchn07gmmj";
     };
   };
 
@@ -403,12 +403,12 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-04-25";
+    version = "2019-05-01";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "ae432f278ab78a28452f23cc7d5d516f6271ca2a";
-      sha256 = "0mv8xh2hzvsj4znfnaiwrh9gfijrrnrjcnd4r84lx75jx5bc9zns";
+      rev = "f16b581357a575f37f4c51f6c809e8f2fd98b5bf";
+      sha256 = "17fsngxpfy1m0r76c99xphwlcip85s4fyf9zj3vcdvb69hdgva2s";
     };
   };
 
@@ -606,12 +606,12 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2019-05-02";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "2920687e537c6aa771a3d24986f7a09359558dbe";
-      sha256 = "0x5kslnv82v5hczaywjpbigyqf4n6g2kbr8k9m76c3ajb9p5k13r";
+      rev = "94c7e4c5cac3ce7064fe0fa0737f1893d5b9beb1";
+      sha256 = "1q2v9vnhimrp09s39inx1cvdyaj05vjyyypiyi1fkl82jfcqzfpj";
     };
   };
 
@@ -1037,12 +1037,12 @@ let
 
   ncm2-jedi = buildVimPluginFrom2Nix {
     pname = "ncm2-jedi";
-    version = "2019-03-01";
+    version = "2019-05-09";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2-jedi";
-      rev = "ea0ee18f3b2c3f40c8264fe3c8ab2af7bba9ee53";
-      sha256 = "1c802l3cr6wgidhxfajikzhpq18y5fi2ms3csy7hww87gs7y7qcj";
+      rev = "485520af57aee528a3448d1f26bb7761dd915b0e";
+      sha256 = "1qq5mydg99y2865gx3i3kzk0vl6agx26l8if4nq47wlxnfcbgslv";
     };
   };
 
@@ -1147,12 +1147,12 @@ let
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2019-04-21";
+    version = "2019-05-03";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "924dee18e7ca547e105ab8d800069fc5829b019b";
-      sha256 = "0n9lr63a7dhg3ghi705jshxnq6yx0w145jx2n3zr9435qf31z4xx";
+      rev = "7fe72c5d84765e0af19718a57e24659f81471393";
+      sha256 = "1kpb6ycsnf0sncpixf3016i2aq82wxvm9q9hjcg9bb7d9706s15d";
     };
   };
 
@@ -1169,12 +1169,12 @@ let
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2019-04-21";
+    version = "2019-05-09";
     src = fetchFromGitHub {
       owner = "benekastah";
       repo = "neomake";
-      rev = "2e5755aa7829c429b3d858036621b6807754a6ba";
-      sha256 = "1lrn9bwghm7y03lshfyfxqac5gkh6gl4klw4kccb0grnm2yx5a08";
+      rev = "9575d0f72b82c453281eac697630d85cb097550f";
+      sha256 = "12mbgglszgqrbpwwfxhmiq77h6ml4hd0z4ambrdzzl8hidp73d55";
     };
   };
 
@@ -1268,12 +1268,12 @@ let
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2019-04-23";
+    version = "2019-05-09";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdtree";
-      rev = "3c0633578281463638235597d8208612544606ae";
-      sha256 = "0y82gj9rkqglhx6q9ksxpvpmax0rsxfggad85f6xvmx6iwxv8k1h";
+      rev = "67fa9b3116948466234978aa6287649f98e666bd";
+      sha256 = "0pzkcpqaalx3jncxfd3yf1ml7q5kkw4z1wqshilkr55nrb26chdg";
     };
   };
 
@@ -1477,12 +1477,12 @@ let
 
   rainbow = buildVimPluginFrom2Nix {
     pname = "rainbow";
-    version = "2019-04-17";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "luochen1990";
       repo = "rainbow";
-      rev = "78afcbe5395fac8fab2d4bb122ae638c4485bf69";
-      sha256 = "1j7ymlvlgvwklvxjjm2ab86d1frlss560ms4gs9dh73qyjfjr3p2";
+      rev = "04b7723b810f24152865af656c46e8513489b77a";
+      sha256 = "08qzcy06kr96dj91cdqzp5yn3zjpfcv9miywa6zxvir8vbfkv21d";
     };
   };
 
@@ -1708,12 +1708,12 @@ let
 
   syntastic = buildVimPluginFrom2Nix {
     pname = "syntastic";
-    version = "2019-04-07";
+    version = "2019-05-05";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "syntastic";
-      rev = "9f43dcb5a244faba6aedb6879b75a56c7de4b8ff";
-      sha256 = "1cv643znw51hkgzm0w3sbimasf91v59lrf6vdfqvbcym39705wyv";
+      rev = "29e15407b2b372bf1bad95bf0c5264dc7fdc1882";
+      sha256 = "1vnxm49zjsk0w7n9arpl9pgy5lh7hrqa2392yl68rhk0vvh5fn46";
     };
   };
 
@@ -1873,12 +1873,12 @@ let
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2018-04-30";
+    version = "2019-05-05";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "6fdc3647f72e0a1f321ea6bd092ecd01f7c187ba";
-      sha256 = "1zp3xcmxk6cn38zmxxy5s2wnw9djskwkmspq2s9vqliyhprf9sy3";
+      rev = "1a99766b73783bafb08cfa07d7e29e5387c55189";
+      sha256 = "08vxvx6fabqg725jv7cbdickrxlcw45885jai0hhgclm4hfqvawx";
     };
   };
 
@@ -2170,23 +2170,23 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-05-02";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "a26a46069825ec391b342481b2d45be66887b8a2";
-      sha256 = "14g72yg38vb027xw3bsyzrvq16hbapgqqvhls7p4pf3880v9ngff";
+      rev = "9a1acf144fd63cae6f48a3b445958d737c0b167e";
+      sha256 = "14n3fcmiv733si64226vm72f7gicffrkcq3xadpzzy0n22dnb1hz";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2019-04-11";
+    version = "2019-05-06";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "01b3098642df1bced40473c924c0b6aa37427fe2";
-      sha256 = "14iqcmrsmkf0iv31g5yf3x829bich868qy841xy1812yz9mslrn7";
+      rev = "e6f233231b232b6027cde6aebeeb18d9138e5324";
+      sha256 = "1sb7nb7j7bz0pv1c9bgdy0smhr0jk2b1vbdv9yzghg5lrknpsbr6";
     };
   };
 
@@ -2390,12 +2390,12 @@ let
 
   vim-css-color = buildVimPluginFrom2Nix {
     pname = "vim-css-color";
-    version = "2018-11-20";
+    version = "2019-05-03";
     src = fetchFromGitHub {
       owner = "ap";
       repo = "vim-css-color";
-      rev = "8d640e4c5d89dde55ef79d43fee1c8ecd12495b9";
-      sha256 = "17lmdvxnp1y6wvzfzv9yk962ixc549jc80g0zc820734dp27x0l3";
+      rev = "10eae530889331457b738b28eafcfa3789481fcd";
+      sha256 = "0y9m2jnzz58y5h7r8xgfimha8fz0if2pc760g4qbm922afm3a00a";
     };
   };
 
@@ -2445,12 +2445,12 @@ let
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2019-04-27";
+    version = "2019-05-05";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "ea338f099183c95ecbc2ea7ebde370206573fe94";
-      sha256 = "0az1qpzbv662a12paasx9ci246jy0z5b72chn294254pla595w2b";
+      rev = "5a51bf3d52054990beef3221ec3a03d4ea9188e3";
+      sha256 = "02sfi5138km2gnmv6vx5gff9xkd9bl0wz6n9dx6478syc49a2sai";
     };
   };
 
@@ -2566,23 +2566,23 @@ let
 
   vim-extradite = buildVimPluginFrom2Nix {
     pname = "vim-extradite";
-    version = "2015-09-22";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "int3";
       repo = "vim-extradite";
-      rev = "52326f6d333cdbb9e9c6d6772af87f4f39c00526";
-      sha256 = "0c89i0spvdm9vi65q15qcmsfmwa9rds2wmaq1kf6s7q7ywvs6w8i";
+      rev = "58c77fffbb5d61eb0b87c8b4ef0ad78e9659d621";
+      sha256 = "1mm2icx50q5iyhaz1dypnbqh14s1wsnw8skpxcm1klhqn02zk46f";
     };
   };
 
   vim-fireplace = buildVimPluginFrom2Nix {
     pname = "vim-fireplace";
-    version = "2019-05-01";
+    version = "2019-05-09";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fireplace";
-      rev = "8ccbaf0cfde235126af3346705a4c2945b32cd77";
-      sha256 = "0xzxx9i4c82zrfyak1a3c0sqdjzh2gzw6vyyjpbcwq58dm6hzz16";
+      rev = "f327d6e523975e1544b2effd426b99df25b01d18";
+      sha256 = "0abh80w4xyg1wpc1fra9m68f882x430ky0vjfbp9xsnz3i5xd44c";
     };
   };
 
@@ -2632,12 +2632,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2019-05-03";
+    version = "2019-05-04";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "2bde1d9de608f7086c8b2eaeb3e295107bce9d92";
-      sha256 = "0mb7k1kxkvgyfvfi6x37jsxbbq4f9cm0r5nwvb4c5czi915nahnh";
+      rev = "5d99841b22928f1597d447c68de844989bf9a804";
+      sha256 = "1af7hz2jqkh4lbfkvpyb1hfgxlfk2f2z9idp5f0f8zz8mmbdf6yr";
     };
   };
 
@@ -2698,12 +2698,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-05-03";
+    version = "2019-05-07";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "2c1a85bbd04f40503bb7d1488d5d8eeb14836efb";
-      sha256 = "0x09prxw5ixprjldkw76b4xxqvl6mgqg5j48xl3ldpndg3v92nqg";
+      rev = "c4b419db6c57125e91d6f292daa664b73b155b7b";
+      sha256 = "1whcmgr0isa7np6xmc66jrc68an58677bnpzyrd1y817np5f2336";
     };
   };
 
@@ -2720,23 +2720,23 @@ let
 
   vim-grepper = buildVimPluginFrom2Nix {
     pname = "vim-grepper";
-    version = "2019-04-25";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "9348496c9fe017e5f8f89a71a2772704e3720415";
-      sha256 = "1dl54hmp4jzv3qmdvcdbaq4qm4hnfrrvz55p0zjs808n1fz3jw8w";
+      rev = "e0d101bd8c5be429bebcf8c3f59d01d56389ed9a";
+      sha256 = "10dqkl9n602mfdyzxn9gca5wk6m0ndz1jsmyh2llwpy9mnljgca2";
     };
   };
 
   vim-gutentags = buildVimPluginFrom2Nix {
     pname = "vim-gutentags";
-    version = "2019-03-13";
+    version = "2019-05-06";
     src = fetchFromGitHub {
       owner = "ludovicchabant";
       repo = "vim-gutentags";
-      rev = "4814b6763b3052d5a81652cc8b230eff8c56492b";
-      sha256 = "0jnmn89xvxscnn9lj1vrrhrf2ib9ddbbl36jfpsd3gkmddv8s58a";
+      rev = "eecb136fae97e30d5f01e71f0d3b775c8b017385";
+      sha256 = "0i8hq0qxjrsavs3a7saz5wqibib5qd3lgfbygpclvp24ylisa8vq";
     };
   };
 
@@ -2896,12 +2896,12 @@ let
 
   vim-jade = buildVimPluginFrom2Nix {
     pname = "vim-jade";
-    version = "2019-03-05";
+    version = "2019-05-07";
     src = fetchFromGitHub {
       owner = "digitaltoad";
       repo = "vim-jade";
-      rev = "e83c81f31a8518deda7edf6dcdd8db82580c21f6";
-      sha256 = "1vnwmg14bdwdp3blsdsy3y4jlbm8p56zyj0ws9flcq4wn1827j46";
+      rev = "efed0c8680d22bd16b9dc7e08f5373269b67c45f";
+      sha256 = "0dq0mmx2bg304b24cp337lr29r0f1wkvhq9i3z54bw3x3pbw5hal";
     };
   };
 
@@ -3260,12 +3260,12 @@ let
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2019-04-29";
+    version = "2019-05-05";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "ecf6339e8fc31abd17fff7895ca8218540c52598";
-      sha256 = "03zdjbndrzq4gnlsx5ykagw53112b338sj66lpqip2x1kvlw66gk";
+      rev = "2e342ac8b841934c66a1c9afade42e709a068095";
+      sha256 = "1hzjp9s490k8rcvv74zhjn8k17xn9igxbzxxkxy3n3zxhfd3jw8j";
     };
   };
 
@@ -3282,12 +3282,12 @@ let
 
   vim-pandoc-syntax = buildVimPluginFrom2Nix {
     pname = "vim-pandoc-syntax";
-    version = "2019-04-29";
+    version = "2019-05-05";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-syntax";
-      rev = "22b67a7c67665b97402809195e0ec1d3e8661635";
-      sha256 = "1kxfncw783kw374kn53rq25hw59q6pvx3ypk7s6wxv6cfh2c59kc";
+      rev = "e557ade9aceb4925cd919c412fe9660b8c4f4cba";
+      sha256 = "1msryzjzlv4mil05h17jjy09839dzqp9r11g1f369zxi5hini8g2";
     };
   };
 
@@ -3359,12 +3359,12 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2019-05-01";
+    version = "2019-05-07";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "e8245dbf1746aa59774124de1c77ffc4d8b5b52f";
-      sha256 = "1b9ndv9lm9p39c56ikj0mj6xs857464vicw3bif9k78j4mf2q12y";
+      rev = "aebef2c2e76b88384b1121c237c965e8cf8b3bcb";
+      sha256 = "1nb4i76y6rkznabr9nnnhaibyaig81gjvvpjv2afygllxh3cpqyx";
     };
   };
 
@@ -3381,12 +3381,12 @@ let
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2019-04-06";
+    version = "2019-05-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "00fbe9b87414e13b11dafb0849b2fde9b9cc35f4";
-      sha256 = "06ncrhd0g3q6ps0k0iiqkw7dv70q0rn9109wy1ywvjwpzdpdvvv5";
+      rev = "917d2aef5bc789982ea52bb654ef5784a1ceae7e";
+      sha256 = "1k0f931i1qgfak0qgk5i5gfq4ld49z0x2siahm1yq3wil7x54zrp";
     };
   };
 
@@ -3579,11 +3579,11 @@ let
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2019-05-02";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "d9856e26a552b72238c4f3d65a520b4dcb250b82";
+      rev = "92421f0da36193a2b4dda37b8e9efbf278e93bf5";
       sha256 = "0pafvfhf3xbdqyy7v5y8h2j47k4y1zmscp7rans6vd5rq68k8fwf";
     };
   };
@@ -3766,12 +3766,12 @@ let
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2019-04-16";
+    version = "2019-05-09";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "f54101bb7e190186df39442f87ea66c08e73a1da";
-      sha256 = "13x0jwk8hv6z52dhgh7w6ism2z0pydlhcxh9qpb3yk42mns57pyd";
+      rev = "8e137f223df427e620496f02f0fda6363a76435f";
+      sha256 = "0qj4f597mr20lglvyapviqzn390yiwbaksb2bz42v4s0zh33nahg";
     };
   };
 
@@ -3898,12 +3898,12 @@ let
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2019-04-30";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "da37439234c7bc10afdd23f10b115eade1e8fa30";
-      sha256 = "1vw14naa535nv8bh1dmv8ji5a2qlrlcqi1szljss2kv9p9z5gl4j";
+      rev = "40dbc1643088c0b677857cf7eae9354540b5e955";
+      sha256 = "17df8h7jgkl1q6p2g3328mnd21gvfcjks7zpbr8r5qzbyrm1pl5v";
     };
   };
 
@@ -4019,12 +4019,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-04-26";
+    version = "2019-05-03";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "2e1687bd66c58fc37d47447c411f89895d8db4cd";
-      sha256 = "0rvbp4g9r3jc8rch357arvcw93kribcd5mgn7cgwgmdj7aj4shjq";
+      rev = "ee10671c2b25287196194426607c2684827126f7";
+      sha256 = "04mxx4ww1qmr6918dryfh956lwmyz4nlq4dissms440p4kqf5giv";
     };
   };
 
@@ -4074,12 +4074,12 @@ let
 
   wal-vim = buildVimPluginFrom2Nix {
     pname = "wal-vim";
-    version = "2019-01-04";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "dylanaraps";
       repo = "wal.vim";
-      rev = "64ac52e606a17f7ccf0e185d8e39f78043b34be0";
-      sha256 = "1ji7c61lbz9sv62kq9digb6v6nvmw53bl23gcwc5131nz7sf2gpv";
+      rev = "81652d1384a8491fd0dea53f466d95fef7c9f46e";
+      sha256 = "029nvdwn04hq46nh7q94fazsxf17vhjk07mxhbhdxx1syfw0fslg";
     };
   };
 
@@ -4151,24 +4151,24 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2019-04-13";
+    version = "2019-05-05";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "597e718bd86949cb6ca638a6ae2d288569b1fa11";
-      sha256 = "01apq588m66vxbq32d1bb3yx1gg8w55jznnq8jiz2jvy55csh1gs";
+      rev = "80ae726dfdc87ef25df3225c35d8ba3fd10a36c0";
+      sha256 = "0ds96zhiihkjhsfbxmrh149a656y5xw6fl7v5hih72lzvnplzi5z";
       fetchSubmodules = true;
     };
   };
 
   youcompleteme = buildVimPluginFrom2Nix {
     pname = "youcompleteme";
-    version = "2019-04-27";
+    version = "2019-05-08";
     src = fetchFromGitHub {
       owner = "valloric";
       repo = "youcompleteme";
-      rev = "d691404ae2f7c79ec5d053f2c22a4c775b4bf915";
-      sha256 = "1ijs627q679241qjjajk5nwj664vk7vk1szipjm728m9hf9pk5sx";
+      rev = "f7e0a6cb7580471d1fc1c68ab85467ff207b5dee";
+      sha256 = "0cbv9ahnl70zh3abrr43ijyaqxnprp1kp6bgiwkpi7qzvcbvwzca";
       fetchSubmodules = true;
     };
   };
diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix
index ca44ccb8cd2..89ed98cd0a7 100644
--- a/pkgs/misc/vscode-extensions/cpptools/default.nix
+++ b/pkgs/misc/vscode-extensions/cpptools/default.nix
@@ -68,8 +68,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "cpptools";
     publisher = "ms-vscode";
-    version = "0.22.1";
-    sha256 = "1f79vbp19k1zm2y5djr4vim0h5y5rnm96rg8fx2h9zb8i559230k";
+    version = "0.23.0";
+    sha256 = "1c7qia60fgak5pisl1qzp2kvm1cs30b29rxpydk7j3lqcpqr5ixj";
   };
 
   buildInputs = [
diff --git a/pkgs/misc/vscode-extensions/wakatime/default.nix b/pkgs/misc/vscode-extensions/wakatime/default.nix
index f4c8ca8647d..034866d5b2f 100644
--- a/pkgs/misc/vscode-extensions/wakatime/default.nix
+++ b/pkgs/misc/vscode-extensions/wakatime/default.nix
@@ -8,8 +8,8 @@ in
     mktplcRef = {
       name = "vscode-wakatime";
       publisher = "WakaTime";
-      version = "2.0.9";
-      sha256 = "0fbliim80ydq90c606jhl79fdcmmpb9fs402mvy3g9zmjixspnpb";
+      version = "2.1.0";
+      sha256 = "0a23l8vaj0yghfh9lbi453vjghaxgjmphfjy2s4lgrvq38j4bv9n";
     };
 
     postPatch = ''
diff --git a/pkgs/os-specific/linux/bpftool/default.nix b/pkgs/os-specific/linux/bpftool/default.nix
new file mode 100644
index 00000000000..cc4786ab384
--- /dev/null
+++ b/pkgs/os-specific/linux/bpftool/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl
+, libopcodes, libbfd, libelf
+, linuxPackages_latest
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bpftool";
+  inherit (linuxPackages_latest.kernel) version src;
+
+  buildInputs = [ libopcodes libbfd libelf ];
+
+  preConfigure = ''
+    cd tools/bpf/bpftool
+    substituteInPlace ./Makefile \
+      --replace '/usr/local' "$out" \
+      --replace '/usr'       "$out" \
+      --replace '/sbin'      '/bin'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Debugging/program analysis tool for the eBPF subsystem";
+    license     = [ licenses.gpl2 licenses.bsd2 ];
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index 8965e5d60d7..eb218f36eb4 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "raspberrypi-firmware-${version}";
-  version = "1.20181112";
+  pname = "raspberrypi-firmware";
+  version = "1.20190401";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "firmware";
     rev = version;
-    sha256 = "0jjxr8k8vdziynj8101ikcc9hmm61r2la51nrx6zv8a7j9a4m5zg";
+    sha256 = "13q04n1hf8a52avwfp9dhsn2jpp9ivs1mj37gp0h7a6k9044s2xw";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 87f27a2db07..1e53112d360 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iproute2";
-  version = "5.0.0";
+  version = "5.1.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1fi03lb8dqr8hq633gcqsf6228vsvysxms075j1yyl4nlc17616z";
+    sha256 = "1kvvrz5mlpjxqcm7vl6i8w6l1cb2amp6p5xyq006pgzafc49hnnw";
   };
 
   preConfigure = ''
@@ -50,6 +50,6 @@ stdenv.mkDerivation rec {
     description = "A collection of utilities for controlling TCP/IP networking and traffic control in Linux";
     platforms = platforms.linux;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ eelco fpletz ];
+    maintainers = with maintainers; [ primeos eelco fpletz ];
   };
 }
diff --git a/pkgs/os-specific/linux/kbd/keymaps.nix b/pkgs/os-specific/linux/kbd/keymaps.nix
index ecb7045ed27..32c9f690680 100644
--- a/pkgs/os-specific/linux/kbd/keymaps.nix
+++ b/pkgs/os-specific/linux/kbd/keymaps.nix
@@ -24,7 +24,8 @@
 
     src = fetchurl {
       name = "neo.map";
-      url = "https://svn.neo-layout.org/linux/console/neo.map?r=${version}";
+      url = "https://raw.githubusercontent.com/neo-layout/neo-layout/"
+          + "a0dee06fed824abfad658b7f10e6d907b270be0a/linux/console/neo.map";
       sha256 = "19mfrd31vzpsjiwc7pshxm0b0sz5dd17xrz6k079cy4im1vf0r4g";
     };
 
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 5711e019f95..a735d165299 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -184,6 +184,7 @@ let
       VGA_SWITCHEROO         = yes; # Hybrid graphics support
       DRM_GMA600             = yes;
       DRM_GMA3600            = yes;
+      DRM_VMWGFX_FBCON       = yes;
       # necessary for amdgpu polaris support
       DRM_AMD_POWERPLAY = whenBetween "4.5" "4.9" yes;
       # (experimental) amdgpu support for verde and newer chipsets
@@ -426,6 +427,12 @@ let
 
       VFIO_PCI_VGA = mkIf stdenv.is64bit yes;
 
+      # VirtualBox guest drivers in the kernel conflict with the ones in the
+      # official additions package and prevent the vboxsf module from loading,
+      # so disable them for now.
+      VBOXGUEST = option no;
+      DRM_VBOXVIDEO = option no;
+
     } // optionalAttrs (stdenv.isx86_64 || stdenv.isi686) ({
       XEN = option yes;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index f984c791811..8cf9fa199d9 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.117";
+  version = "4.14.118";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0gzjp731fgasi3nq39zz27h1x6mkvc0hbwjhmn9gyzd7wwsa2md8";
+    sha256 = "05csfas10b3kfj6pn72skxpk211y36bdzk5x63n6dbxrsjmp6zb8";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 826a0c09e2f..08009fe8799 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.41";
+  version = "4.19.42";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "10j7f78220rswdvng2fpmsvri2pqx2hm7q3z2k2cnr2ca2b65plh";
+    sha256 = "09ns4qskl2drg0p9fajy7nbh55anj0qxl7smca9rfxfm21hdf2gq";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 77de1524435..d6afc0f54d3 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.174";
+  version = "4.9.175";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0n2qhvvphv45fckrhvcf58va8mv2j7pg7yvr2yxmbzvz0xlgv17w";
+    sha256 = "032h0zd3rxg34vyp642978pbx66gnx3sfv49qwvbzwlx3zwk916r";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.0.nix b/pkgs/os-specific/linux/kernel/linux-5.0.nix
index 48e72632498..d48b4da3371 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.0.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.0.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.0.14";
+  version = "5.0.15";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0qbcczrrg3v7gm5x534h8fzasp53kimca3x3dzwc084arxv60drf";
+    sha256 = "01zb8lz1lxcff2j8yxzm0ayfazi07c2n7v1i3v8wbq8k9r2vhgjw";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.1.nix b/pkgs/os-specific/linux/kernel/linux-5.1.nix
index 648be21f4cd..235848bb876 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.1.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.1";
+  version = "5.1.1";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0hghjkxgf1p8mfm04a9ckjvyrnp71jp3pbbp0qsx35rzwzk7nsnh";
+    sha256 = "1pcd0npnrjbc01rzmm58gh135w9nm5mf649asqlw50772qa9jkd0";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 1512f47ade4..6210523d62a 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -198,6 +198,10 @@ let
         cp $buildRoot/{.config,Module.symvers} $dev/lib/modules/${modDirVersion}/build
         make modules_prepare $makeFlags "''${makeFlagsArray[@]}" O=$dev/lib/modules/${modDirVersion}/build
 
+        # For reproducibility, removes accidental leftovers from a `cc1` call
+        # from a `try-run` call from the Makefile
+        rm -f $dev/lib/modules/${modDirVersion}/build/.[0-9]*.d
+
         # Keep some extra files on some arches (powerpc, aarch64)
         for f in arch/powerpc/lib/crtsavres.o arch/arm64/kernel/ftrace-mod.o; do
           if [ -f "$buildRoot/$f" ]; then
diff --git a/pkgs/os-specific/linux/libnl/default.nix b/pkgs/os-specific/linux/libnl/default.nix
index 1caf91b0bb6..34d10d3aa5f 100644
--- a/pkgs/os-specific/linux/libnl/default.nix
+++ b/pkgs/os-specific/linux/libnl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, file, lib, fetchFromGitHub, fetchpatch, autoreconfHook, bison, flex, pkgconfig
-, pythonSupport ? true, swig ? null, python}:
+, pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform, swig ? null, python}:
 
 stdenv.mkDerivation rec {
   name = "libnl-${version}";
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 9a4954dc348..ed71f27bdcc 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -27,10 +27,10 @@ rec {
   };
 
   stable_418 = generic {
-    version = "418.56";
-    sha256_64bit = "1cg7927g5ml1rwgpydlrjzr55gza5dfkqkch29bbarpzd7dh0mf4";
-    settingsSha256 = "150c64wbijwyq032ircl1b78q0gwdvfq35gxaqw00d3ac2hjwpsg";
-    persistencedSha256 = "07wh6v8c2si0zwy9j60yzrdn1b1pm0vr9kfvql3jkyjqfn4np44z";
+    version = "418.74";
+    sha256_64bit = "03qj42ppzkc9nphdr9zc12968bb8fc9cpcx5f66y29wnrgg3d1yw";
+    settingsSha256 = "15mbqdx5wyk7iq13kl2vd99lykpil618izwpi1kfldlabxdxsi9d";
+    persistencedSha256 = "0442qbby0r1b6l72wyw0b3iwvln6k20s6dn0zqlpxafnia9bvc8c";
   };
 
   # Last one supporting x86
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index c167edff6e4..4bbb9d92930 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -41,10 +41,7 @@ let
     src =
       if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
-          urls = [
-            "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run"
-            "https://us.download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run"
-          ];
+          url = "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run";
           sha256 = sha256_64bit;
         }
       else if stdenv.hostPlatform.system == "i686-linux" then
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index 8c778e72b70..6b808f0d6a6 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchpatch, fetchFromGitHub, autoreconfHook, libxslt, libxml2
-, docbook_xml_dtd_412, docbook_xsl, gnome-doc-utils, flex, bison
+, docbook_xml_dtd_45, docbook_xsl, gnome-doc-utils, flex, bison
 , pam ? null, glibcCross ? null
 }:
 
@@ -30,12 +30,21 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional (pam != null && stdenv.isLinux) pam;
   nativeBuildInputs = [autoreconfHook libxslt libxml2
-    docbook_xml_dtd_412 docbook_xsl gnome-doc-utils flex bison
+    docbook_xml_dtd_45 docbook_xsl gnome-doc-utils flex bison
     ];
 
   patches =
     [ ./keep-path.patch
+      # Obtain XML resources from XML catalog (patch adapted from gtk-doc)
+      ./respect-xml-catalog-files-var.patch
       dots_in_usernames
+
+      # Check for correct DocBook version during configure
+      # https://github.com/shadow-maint/shadow/pull/162
+      (fetchpatch {
+        url = "https://github.com/shadow-maint/shadow/commit/47797ca6654f79e3de854a6c69db2bdb0516db08.patch";
+        sha256 = "1zn8f6fd26gj5sh60099xqc7mjwgbbkkic5xfigvxa4b90vm8fd7";
+      })
     ];
 
   # The nix daemon often forbids even creating set[ug]id files.
@@ -52,11 +61,6 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     export ac_cv_func_setpgrp_void=yes
     export shadow_cv_logdir=/var/log
-    (
-    head -n -1 "${docbook_xml_dtd_412}/xml/dtd/docbook/catalog.xml"
-    tail -n +3 "${docbook_xsl}/share/xml/docbook-xsl/catalog.xml"
-    ) > xmlcatalog
-    configureFlags="$configureFlags --with-xml-catalog=$PWD/xmlcatalog ";
   '';
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/shadow/respect-xml-catalog-files-var.patch b/pkgs/os-specific/linux/shadow/respect-xml-catalog-files-var.patch
new file mode 100644
index 00000000000..7d922eae71f
--- /dev/null
+++ b/pkgs/os-specific/linux/shadow/respect-xml-catalog-files-var.patch
@@ -0,0 +1,30 @@
+diff --git a/acinclude.m4 b/acinclude.m4
+index dd01f165..e23160ee 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -46,9 +46,21 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
+     ifelse([$3],,,[$3
+ ])dnl
+   else
+-    AC_MSG_RESULT([not found])
+-    ifelse([$4],,
+-       [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
+-       [$4])
++    jh_check_xml_catalog_saved_ifs="$IFS"
++    IFS=' '
++    for f in $XML_CATALOG_FILES; do
++      if [[ -f "$f" ]] && \
++        AC_RUN_LOG([$XMLCATALOG --noout "$f" "$1" >&2]); then
++        jh_found_xmlcatalog=true
++        AC_MSG_RESULT([found])
++        ifelse([$3],,,[$3])
++        break
++      fi
++    done
++    IFS="$jh_check_xml_catalog_saved_ifs"
++    if ! $jh_found_xmlcatalog; then
++      AC_MSG_RESULT([not found])
++      ifelse([$4],,[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],[$4])
++    fi
+   fi
+ ])
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index bf435cc862c..4e49256be9f 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -21,6 +21,11 @@ stdenv.mkDerivation rec {
 
   patches = [ ./install_prefix.patch ];
 
+  # Backported fix for 0.7.13 to build with 5.1, please remove when updating to 0.7.14
+  postPatch = optionalString (versionAtLeast kernel.version "5.1") ''
+    sed -i 's/get_ds()/KERNEL_DS/g' module/spl/spl-vnode.c
+  '';
+
   nativeBuildInputs = [ autoreconfHook ] ++ kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "fortify" "stackprotector" "pic" ];
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index 0aaa31163ac..14458356a79 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -1,41 +1,64 @@
-{ stdenv, fetchurl, pkgconfig, dbus-glib
-, intltool, libxslt, docbook_xsl, udev, libgudev, libusb1
-, useSystemd ? true, systemd, gobject-introspection
+{ stdenv
+, fetchurl
+, pkgconfig
+, dbus-glib
+, intltool
+, libxslt
+, docbook_xsl
+, udev
+, libgudev
+, libusb1
+, gobject-introspection
+, useSystemd ? true, systemd
 }:
 
 stdenv.mkDerivation rec {
-  name = "upower-0.99.9";
+  pname = "upower";
+  version = "0.99.10";
 
   src = fetchurl {
-    url = https://gitlab.freedesktop.org/upower/upower/uploads/2282c7c0e53fb31816b824c9d1f547e8/upower-0.99.9.tar.xz;
-    sha256 = "046ix7j7hmb7ycv8v54668kjsrgjhzwxn299c1d87vdnkd38kfh1";
+    url = https://gitlab.freedesktop.org/upower/upower/uploads/c438511024b9bc5a904f8775cfc8e4c4/upower-0.99.10.tar.xz;
+    sha256 = "17d2bclv5fgma2y3g8bsn9pdvspn1zrzismzdnzfivc0f2wm28k4";
   };
 
-  buildInputs =
-    [ dbus-glib intltool libxslt docbook_xsl udev libgudev libusb1 gobject-introspection ]
-    ++ stdenv.lib.optional useSystemd systemd;
+  nativeBuildInputs = [
+    pkgconfig
+  ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    dbus-glib
+    intltool
+    libxslt
+    docbook_xsl
+    udev
+    libgudev
+    libusb1
+    gobject-introspection
+  ]
+  ++ stdenv.lib.optional useSystemd systemd
+  ;
 
-  configureFlags =
-    [ "--with-backend=linux" "--localstatedir=/var"
-    ]
-    ++ stdenv.lib.optional useSystemd
-    [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
-      "--with-systemdutildir=$(out)/lib/systemd"
-      "--with-udevrulesdir=$(out)/lib/udev/rules.d"
-    ];
-
-  NIX_CFLAGS_LINK = "-lgcc_s";
+  configureFlags = [
+    "--with-backend=linux"
+    "--localstatedir=/var"
+  ]
+  ++ stdenv.lib.optional useSystemd [
+    "--with-systemdsystemunitdir=${placeholder ''out''}/etc/systemd/system"
+    "--with-systemdutildir=${placeholder ''out''}/lib/systemd"
+    "--with-udevrulesdir=${placeholder ''out''}/lib/udev/rules.d"
+  ]
+  ;
 
   doCheck = false; # fails with "env: './linux/integration-test': No such file or directory"
 
-  installFlags = "historydir=$(TMPDIR)/foo";
+  installFlags = [
+    "historydir=$(TMPDIR)/foo"
+  ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://upower.freedesktop.org/;
     description = "A D-Bus service for power management";
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/os-specific/linux/usbutils/default.nix b/pkgs/os-specific/linux/usbutils/default.nix
index 85ef8a1a6cc..2627286ccff 100644
--- a/pkgs/os-specific/linux/usbutils/default.nix
+++ b/pkgs/os-specific/linux/usbutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, substituteAll, autoreconfHook, pkgconfig, libusb1, hwdata , python3 }:
 
 stdenv.mkDerivation rec {
-  name = "usbutils-010";
+  name = "usbutils-012";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/usb/usbutils/${name}.tar.xz";
-    sha256 = "06aag4jfgsfjxk563xsp9ik9nadihmasrr37a1gb0vwqni5kdiv1";
+    sha256 = "0iiy0q7fzikavmdsjsb0sl9kp3gfh701qwyjjccvqh0qz4jlcqw8";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 3e94ba5c1ea..0962bd91132 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -5,14 +5,14 @@ let
   version = lib.concatStringsSep "." ([ majorVersion ]
     ++ lib.optional (patchVersion != "") patchVersion);
   majorVersion = "2.33";
-  patchVersion = "1";
+  patchVersion = "2";
 
 in stdenv.mkDerivation rec {
   name = "util-linux-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/util-linux/v${majorVersion}/${name}.tar.xz";
-    sha256 = "08ggvgrb59m5jbq29950xxirsgv4xj3nwsc7vf82nyg1nvrxjjy1";
+    sha256 = "15yf2dh4jd1kg6066hydlgdhhs2j3na13qld8yx30qngqvmfh6v3";
   };
 
   patches = [
@@ -41,15 +41,19 @@ in stdenv.mkDerivation rec {
     "--disable-use-tty-group"
     "--enable-fs-paths-default=/run/wrappers/bin:/run/current-system/sw/bin:/sbin"
     "--disable-makeinstall-setuid" "--disable-makeinstall-chown"
+    "--disable-su" # provided by shadow
     (lib.withFeature (ncurses != null) "ncursesw")
     (lib.withFeature (systemd != null) "systemd")
     (lib.withFeatureAs (systemd != null)
-       "systemdsystemunitdir" "$(bin)/lib/systemd/system/")
+       "systemdsystemunitdir" "${placeholder "bin"}/lib/systemd/system/")
   ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
        "scanf_cv_type_modifier=ms"
   ;
 
-  makeFlags = "usrbin_execdir=$(bin)/bin usrsbin_execdir=$(bin)/sbin";
+  makeFlags = [
+    "usrbin_execdir=${placeholder "bin"}/bin"
+    "usrsbin_execdir=${placeholder "bin"}/sbin"
+  ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs =
@@ -58,9 +62,7 @@ in stdenv.mkDerivation rec {
 
   doCheck = false; # "For development purpose only. Don't execute on production system!"
 
-  postInstall = ''
-    rm "$bin/bin/su" # su should be supplied by the su package (shadow)
-  '' + lib.optionalString minimal ''
+  postInstall = lib.optionalString minimal ''
     rm -rf $out/share/{locale,doc,bash-completion}
   '';
 
diff --git a/pkgs/os-specific/linux/v4l-utils/default.nix b/pkgs/os-specific/linux/v4l-utils/default.nix
index 83674aa6421..3b5b08ff084 100644
--- a/pkgs/os-specific/linux/v4l-utils/default.nix
+++ b/pkgs/os-specific/linux/v4l-utils/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "v4l-utils-${version}";
-  version = "1.16.5";
+  version = "1.16.6";
 
   src = fetchurl {
     url = "https://linuxtv.org/downloads/v4l-utils/${name}.tar.bz2";
-    sha256 = "06yz34ncrpxshs9w2nqz62xj4wm7hni1fvjnvjhifl1q20jj907d";
+    sha256 = "1bkqlrizx0j2rd6ybam2x17bjrpwzl4v4szmnzm3cmixis3w3npr";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/os-specific/linux/virtualbox/default.nix b/pkgs/os-specific/linux/virtualbox/default.nix
index 9e2dee099ce..f2fd4d4a61a 100644
--- a/pkgs/os-specific/linux/virtualbox/default.nix
+++ b/pkgs/os-specific/linux/virtualbox/default.nix
@@ -9,13 +9,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
-  patches = [
-    ./fix_kerndir.patch
-    ./fix_kbuild.patch
-  ];
-
   KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
-  INCLUDE_BASE = "${virtualbox.modsrc}";
 
   makeFlags = [
     "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch b/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch
deleted file mode 100644
index 242a905c1a0..00000000000
--- a/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-diff --git a/vboxdrv/Makefile b/vboxdrv/Makefile
-index e262c61..4af8dac 100644
---- a/vboxdrv/Makefile
-+++ b/vboxdrv/Makefile
-@@ -131,7 +131,7 @@ ifdef VBOX_WITH_NATIVE_DTRACE
-  MOD_OBJS += SUPDrvDTrace.o
- endif
-
--MOD_INCL  = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
-+MOD_INCL  = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux)
- ifdef VBOX_WITH_NATIVE_DTRACE
-  MOD_INCL += -I/usr/include/linux -I/usr/include
- endif
-@@ -157,7 +157,7 @@ ifdef VBOX_WITH_TEXT_MODMEM_HACK
- endif
-
- # build defs
--MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h \
-+MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h \
-	-fno-omit-frame-pointer -fno-pie
-
- include $(obj)/Makefile.include.footer
-diff --git a/vboxnetadp/Makefile b/vboxnetadp/Makefile
-index e262c61..4af8dac 100644
---- a/vboxnetadp/Makefile
-+++ b/vboxnetadp/Makefile
-@@ -34,7 +34,7 @@ MOD_OBJS += math/gcc/divdi3.o \
-	math/gcc/umoddi3.o
- endif
-
--MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
-+MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux)
- MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX \
-	    -DRT_WITH_VBOX -DVBOX_WITH_HARDENING \
-	    -Wno-declaration-after-statement
-@@ -59,6 +59,6 @@ ifdef VBOX_USE_INSERT_PAGE
- endif
-
- # build defs
--MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie
-+MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie
-
- include $(obj)/Makefile.include.footer
-diff --git a/vboxnetflt/Makefile b/vboxnetflt/Makefile
-index e262c61..4af8dac 100644
---- a/vboxnetflt/Makefile
-+++ b/vboxnetflt/Makefile
-@@ -38,7 +38,7 @@ MOD_OBJS += math/gcc/divdi3.o \
-	math/gcc/umoddi3.o
- endif
-
--MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
-+MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux)
- MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \
-	-DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING \
-	-Wno-declaration-after-statement
-@@ -63,6 +63,6 @@ ifdef VBOX_USE_INSERT_PAGE
- endif
-
- # build defs
--MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie
-+MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie
-
- include $(obj)/Makefile.include.footer
-diff --git a/vboxpci/Makefile b/vboxpci/Makefile
-index e262c61..4af8dac 100644
---- a/vboxpci/Makefile
-+++ b/vboxpci/Makefile
-@@ -38,7 +38,7 @@ MOD_OBJS += math/gcc/divdi3.o       \
-	math/gcc/umoddi3.o
- endif
-
--MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
-+MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux)
- MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX \
-	-DRT_WITH_VBOX -DVBOX_WITH_HARDENING
- ifeq ($(BUILD_TARGET_ARCH),amd64)
-@@ -60,6 +60,6 @@ ifdef VBOX_USE_INSERT_PAGE
- endif
-
- # build defs
--MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie
-+MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie
-
- include $(obj)/Makefile.include.footer
diff --git a/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch b/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch
deleted file mode 100644
index 70ddbbb2ebd..00000000000
--- a/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/vboxdrv/Makefile.include.header b/vboxdrv/Makefile.include.header
-index 8df1eb4d25..5a3e5604e7 100644
---- a/vboxdrv/Makefile.include.header
-+++ b/vboxdrv/Makefile.include.header
-@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
- endif # neq($(KERNELRELEASE),)
-
- # Kernel build folder
--KERN_DIR := /lib/modules/$(KERN_VER)/build
- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-  $(error Error: unable to find the headers of the Linux kernel to build against. \
-           Specify KERN_VER=<version> and run Make again)
-diff --git a/vboxnetadp/Makefile.include.header b/vboxnetadp/Makefile.include.header
-index 8df1eb4d25..5a3e5604e7 100644
---- a/vboxnetadp/Makefile.include.header
-+++ b/vboxnetadp/Makefile.include.header
-@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
- endif # neq($(KERNELRELEASE),)
-
- # Kernel build folder
--KERN_DIR := /lib/modules/$(KERN_VER)/build
- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-  $(error Error: unable to find the headers of the Linux kernel to build against. \
-           Specify KERN_VER=<version> and run Make again)
-diff --git a/vboxnetflt/Makefile.include.header b/vboxnetflt/Makefile.include.header
-index 8df1eb4d25..5a3e5604e7 100644
---- a/vboxnetflt/Makefile.include.header
-+++ b/vboxnetflt/Makefile.include.header
-@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
- endif # neq($(KERNELRELEASE),)
-
- # Kernel build folder
--KERN_DIR := /lib/modules/$(KERN_VER)/build
- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-  $(error Error: unable to find the headers of the Linux kernel to build against. \
-           Specify KERN_VER=<version> and run Make again)
-diff --git a/vboxpci/Makefile.include.header b/vboxpci/Makefile.include.header
-index 8df1eb4d25..5a3e5604e7 100644
---- a/vboxpci/Makefile.include.header
-+++ b/vboxpci/Makefile.include.header
-@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
- endif # neq($(KERNELRELEASE),)
-
- # Kernel build folder
--KERN_DIR := /lib/modules/$(KERN_VER)/build
- ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
-  $(error Error: unable to find the headers of the Linux kernel to build against. \
-           Specify KERN_VER=<version> and run Make again)
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 81143032c91..c6140bd12be 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -182,9 +182,9 @@ in {
     # incompatibleKernelVersion = "4.19";
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "0.8.0-rc4";
+    version = "0.8.0-rc5";
 
-    sha256 = "02cdxf62758smbqy723yqv8lkch1043alvcwhdnvya21ygcgycnw";
+    sha256 = "1944w36rk33mn44zfvc1qbn2sv9h90r25zxnanwvyhss0vgqw73v";
     isUnstable = true;
 
     extraPatches = [
diff --git a/pkgs/servers/demoit/default.nix b/pkgs/servers/demoit/default.nix
index 24eafb98747..93db472270e 100644
--- a/pkgs/servers/demoit/default.nix
+++ b/pkgs/servers/demoit/default.nix
@@ -5,14 +5,14 @@
 
 buildGoPackage rec {
   pname = "demoit";
-  version = "unstable-2019-03-29";
+  version = "unstable-2019-05-10";
   goPackagePath = "github.com/dgageot/demoit";
 
   src = fetchFromGitHub {
     owner = "dgageot";
     repo = "demoit";
-    rev = "ec70fbdf5a5e92fa1c06d8f039f7d388e0237ba2";
-    sha256 = "01584cxlnrc928sw7ldmi0sm7gixmwnawy3c5hd79rqkw8r0gbk0";
+    rev = "c1d4780620ebf083cb4a81b83c80e7547ff7bc23";
+    sha256 = "0l0pw0kzgnrk6a6f4ls3s82icjp7q9djbaxwfpjswbcfdzrsk4p2";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 3882db1124a..15f6be1fa59 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -75,26 +75,24 @@ unwrapped = stdenv.mkDerivation rec {
   };
 };
 
-wrapped-full = with luajitPackages; let
-    luaPkgs =  [
+wrapped-full = runCommand unwrapped.name
+  {
+    nativeBuildInputs = [ makeWrapper ];
+    buildInputs = with luajitPackages; [
       luasec luasocket # trust anchor bootstrap, prefill module
       lfs # prefill module
-      # Almost all is for the 'http' module:
-      http cqueues fifo lpeg lpeg_patterns luaossl compat53 basexx
+      http # for http module; brings lots of deps; some are useful elsewhere
     ];
-  in runCommand unwrapped.name
-  {
-    nativeBuildInputs = [ makeWrapper ];
     preferLocalBuild = true;
     allowSubstitutes = false;
   }
   ''
-    mkdir -p "$out/sbin" "$out/share"
-    makeWrapper '${unwrapped}/sbin/kresd' "$out"/sbin/kresd \
-      --set LUA_PATH  '${concatStringsSep ";" (map getLuaPath  luaPkgs)}' \
-      --set LUA_CPATH '${concatStringsSep ";" (map getLuaCPath luaPkgs)}'
+    mkdir -p "$out"/{bin,share}
+    makeWrapper '${unwrapped}/bin/kresd' "$out"/bin/kresd \
+      --set LUA_PATH  "$LUA_PATH" \
+      --set LUA_CPATH "$LUA_CPATH"
     ln -sr '${unwrapped}/share/man' "$out"/share/
-    ln -sr "$out"/{sbin,bin}
+    ln -sr "$out"/{bin,sbin}
   '';
 
 in result
diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix
index ca8ddbc7af3..82df1f6b988 100644
--- a/pkgs/servers/home-assistant/appdaemon.nix
+++ b/pkgs/servers/home-assistant/appdaemon.nix
@@ -24,10 +24,10 @@ let
       });
 
       jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
-        version = "2.10";
+        version = "2.10.1";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4";
+          sha256 = "065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013";
         };
       });
 
@@ -52,11 +52,11 @@ let
 
 in python.pkgs.buildPythonApplication rec {
   pname = "appdaemon";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = python.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "e2393b5e0bb34e94e61f5debc95ad74c1c6929635b74bf8ba15c22b40cbdec69";
+    sha256 = "623897ce08dc2efe24d04380df36e4b7fb35c0e4007e882857d4047f0b60349d";
   };
 
   propagatedBuildInputs = with python.pkgs; [
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 48fa3793d9a..12240320979 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,2144 +2,826 @@
 # Do not edit!
 
 {
-  version = "0.91.4";
+  version = "0.92.2";
   components = {
     "abode" = ps: with ps; [  ];
-    "abode.alarm_control_panel" = ps: with ps; [  ];
-    "abode.binary_sensor" = ps: with ps; [  ];
-    "abode.camera" = ps: with ps; [  ];
-    "abode.cover" = ps: with ps; [  ];
-    "abode.light" = ps: with ps; [  ];
-    "abode.lock" = ps: with ps; [  ];
-    "abode.sensor" = ps: with ps; [  ];
-    "abode.switch" = ps: with ps; [  ];
-    "acer_projector" = ps: with ps; [  ];
-    "acer_projector.switch" = ps: with ps; [ pyserial ];
+    "acer_projector" = ps: with ps; [ pyserial ];
     "actiontec" = ps: with ps; [  ];
-    "actiontec.device_tracker" = ps: with ps; [  ];
     "ads" = ps: with ps; [  ];
-    "ads.binary_sensor" = ps: with ps; [  ];
-    "ads.light" = ps: with ps; [  ];
-    "ads.sensor" = ps: with ps; [  ];
-    "ads.switch" = ps: with ps; [  ];
     "aftership" = ps: with ps; [  ];
-    "aftership.sensor" = ps: with ps; [  ];
     "air_quality" = ps: with ps; [  ];
-    "airvisual" = ps: with ps; [  ];
-    "airvisual.sensor" = ps: with ps; [ pyairvisual ];
+    "airvisual" = ps: with ps; [ pyairvisual ];
     "aladdin_connect" = ps: with ps; [  ];
-    "aladdin_connect.cover" = ps: with ps; [  ];
     "alarm_control_panel" = ps: with ps; [  ];
     "alarmdecoder" = ps: with ps; [  ];
-    "alarmdecoder.alarm_control_panel" = ps: with ps; [  ];
-    "alarmdecoder.binary_sensor" = ps: with ps; [  ];
-    "alarmdecoder.sensor" = ps: with ps; [  ];
     "alarmdotcom" = ps: with ps; [  ];
-    "alarmdotcom.alarm_control_panel" = ps: with ps; [  ];
     "alert" = ps: with ps; [  ];
     "alexa" = ps: with ps; [ aiohttp-cors ];
-    "alexa.auth" = ps: with ps; [  ];
-    "alexa.const" = ps: with ps; [  ];
-    "alexa.flash_briefings" = ps: with ps; [  ];
-    "alexa.intent" = ps: with ps; [  ];
-    "alexa.smart_home" = ps: with ps; [  ];
     "alpha_vantage" = ps: with ps; [  ];
-    "alpha_vantage.sensor" = ps: with ps; [  ];
-    "amazon_polly" = ps: with ps; [  ];
-    "amazon_polly.tts" = ps: with ps; [ boto3 ];
+    "amazon_polly" = ps: with ps; [ boto3 ];
     "ambient_station" = ps: with ps; [  ];
-    "ambient_station.binary_sensor" = ps: with ps; [  ];
-    "ambient_station.config_flow" = ps: with ps; [  ];
-    "ambient_station.const" = ps: with ps; [  ];
-    "ambient_station.sensor" = ps: with ps; [  ];
     "amcrest" = ps: with ps; [ ha-ffmpeg ];
-    "amcrest.camera" = ps: with ps; [ ha-ffmpeg ];
-    "amcrest.sensor" = ps: with ps; [ ha-ffmpeg ];
-    "amcrest.switch" = ps: with ps; [ ha-ffmpeg ];
+    "ampio" = ps: with ps; [  ];
     "android_ip_webcam" = ps: with ps; [  ];
-    "android_ip_webcam.binary_sensor" = ps: with ps; [  ];
-    "android_ip_webcam.sensor" = ps: with ps; [  ];
-    "android_ip_webcam.switch" = ps: with ps; [  ];
     "androidtv" = ps: with ps; [  ];
-    "androidtv.media_player" = ps: with ps; [  ];
     "anel_pwrctrl" = ps: with ps; [  ];
-    "anel_pwrctrl.switch" = ps: with ps; [  ];
     "anthemav" = ps: with ps; [  ];
-    "anthemav.media_player" = ps: with ps; [  ];
     "apcupsd" = ps: with ps; [  ];
-    "apcupsd.binary_sensor" = ps: with ps; [  ];
-    "apcupsd.sensor" = ps: with ps; [  ];
     "api" = ps: with ps; [ aiohttp-cors ];
-    "api_streams" = ps: with ps; [  ];
     "apns" = ps: with ps; [  ];
-    "apns.notify" = ps: with ps; [  ];
     "apple_tv" = ps: with ps; [ pyatv ];
-    "apple_tv.media_player" = ps: with ps; [ pyatv ];
-    "apple_tv.remote" = ps: with ps; [ pyatv ];
     "aqualogic" = ps: with ps; [  ];
-    "aqualogic.sensor" = ps: with ps; [  ];
-    "aqualogic.switch" = ps: with ps; [  ];
     "aquostv" = ps: with ps; [  ];
-    "aquostv.media_player" = ps: with ps; [  ];
     "arduino" = ps: with ps; [  ];
-    "arduino.sensor" = ps: with ps; [  ];
-    "arduino.switch" = ps: with ps; [  ];
     "arest" = ps: with ps; [  ];
-    "arest.binary_sensor" = ps: with ps; [  ];
-    "arest.sensor" = ps: with ps; [  ];
-    "arest.switch" = ps: with ps; [  ];
-    "arlo" = ps: with ps; [  ];
-    "arlo.alarm_control_panel" = ps: with ps; [  ];
-    "arlo.camera" = ps: with ps; [ ha-ffmpeg ];
-    "arlo.sensor" = ps: with ps; [  ];
-    "aruba" = ps: with ps; [  ];
-    "aruba.device_tracker" = ps: with ps; [ pexpect ];
-    "arwn" = ps: with ps; [  ];
-    "arwn.sensor" = ps: with ps; [ paho-mqtt ];
+    "arlo" = ps: with ps; [ ha-ffmpeg ];
+    "aruba" = ps: with ps; [ pexpect ];
+    "arwn" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
     "asterisk_cdr" = ps: with ps; [  ];
-    "asterisk_cdr.mailbox" = ps: with ps; [  ];
     "asterisk_mbox" = ps: with ps; [  ];
-    "asterisk_mbox.mailbox" = ps: with ps; [  ];
     "asuswrt" = ps: with ps; [  ];
-    "asuswrt.device_tracker" = ps: with ps; [  ];
-    "asuswrt.sensor" = ps: with ps; [  ];
     "august" = ps: with ps; [  ];
-    "august.binary_sensor" = ps: with ps; [  ];
-    "august.camera" = ps: with ps; [  ];
-    "august.lock" = ps: with ps; [  ];
     "aurora" = ps: with ps; [  ];
-    "aurora.binary_sensor" = ps: with ps; [  ];
     "auth" = ps: with ps; [ aiohttp-cors ];
-    "auth.indieauth" = ps: with ps; [  ];
-    "auth.login_flow" = ps: with ps; [  ];
-    "auth.mfa_setup_flow" = ps: with ps; [  ];
-    "automatic" = ps: with ps; [  ];
-    "automatic.device_tracker" = ps: with ps; [ aiohttp-cors ];
-    "automation" = ps: with ps; [  ];
-    "automation.event" = ps: with ps; [  ];
-    "automation.geo_location" = ps: with ps; [  ];
-    "automation.homeassistant" = ps: with ps; [  ];
-    "automation.litejet" = ps: with ps; [  ];
-    "automation.mqtt" = ps: with ps; [ paho-mqtt ];
-    "automation.numeric_state" = ps: with ps; [  ];
-    "automation.state" = ps: with ps; [  ];
-    "automation.sun" = ps: with ps; [  ];
-    "automation.template" = ps: with ps; [  ];
-    "automation.time" = ps: with ps; [  ];
-    "automation.time_pattern" = ps: with ps; [  ];
-    "automation.webhook" = ps: with ps; [ aiohttp-cors ];
-    "automation.zone" = ps: with ps; [  ];
+    "automatic" = ps: with ps; [ aiohttp-cors ];
+    "automation" = ps: with ps; [ aiohttp-cors ];
     "avion" = ps: with ps; [  ];
-    "avion.light" = ps: with ps; [  ];
     "awair" = ps: with ps; [  ];
-    "awair.sensor" = ps: with ps; [  ];
     "aws" = ps: with ps; [  ];
-    "aws.config_flow" = ps: with ps; [  ];
-    "aws.const" = ps: with ps; [  ];
-    "aws.notify" = ps: with ps; [  ];
-    "aws_lambda" = ps: with ps; [  ];
-    "aws_lambda.notify" = ps: with ps; [ boto3 ];
-    "aws_sns" = ps: with ps; [  ];
-    "aws_sns.notify" = ps: with ps; [ boto3 ];
-    "aws_sqs" = ps: with ps; [  ];
-    "aws_sqs.notify" = ps: with ps; [ boto3 ];
     "axis" = ps: with ps; [  ];
-    "axis.binary_sensor" = ps: with ps; [  ];
-    "axis.camera" = ps: with ps; [  ];
-    "axis.config_flow" = ps: with ps; [  ];
-    "axis.const" = ps: with ps; [  ];
-    "axis.device" = ps: with ps; [  ];
-    "axis.errors" = ps: with ps; [  ];
     "baidu" = ps: with ps; [  ];
-    "baidu.tts" = ps: with ps; [  ];
     "bayesian" = ps: with ps; [  ];
-    "bayesian.binary_sensor" = ps: with ps; [  ];
     "bbb_gpio" = ps: with ps; [  ];
-    "bbb_gpio.binary_sensor" = ps: with ps; [  ];
-    "bbb_gpio.switch" = ps: with ps; [  ];
     "bbox" = ps: with ps; [  ];
-    "bbox.device_tracker" = ps: with ps; [  ];
-    "bbox.sensor" = ps: with ps; [  ];
     "bh1750" = ps: with ps; [  ];
-    "bh1750.sensor" = ps: with ps; [  ];
     "binary_sensor" = ps: with ps; [  ];
     "bitcoin" = ps: with ps; [  ];
-    "bitcoin.sensor" = ps: with ps; [  ];
     "blackbird" = ps: with ps; [  ];
-    "blackbird.media_player" = ps: with ps; [  ];
     "blink" = ps: with ps; [  ];
-    "blink.alarm_control_panel" = ps: with ps; [  ];
-    "blink.binary_sensor" = ps: with ps; [  ];
-    "blink.camera" = ps: with ps; [  ];
-    "blink.sensor" = ps: with ps; [  ];
-    "blinksticklight" = ps: with ps; [  ];
-    "blinksticklight.light" = ps: with ps; [ BlinkStick ];
+    "blinksticklight" = ps: with ps; [ BlinkStick ];
     "blinkt" = ps: with ps; [  ];
-    "blinkt.light" = ps: with ps; [  ];
     "blockchain" = ps: with ps; [  ];
-    "blockchain.sensor" = ps: with ps; [  ];
     "bloomsky" = ps: with ps; [  ];
-    "bloomsky.binary_sensor" = ps: with ps; [  ];
-    "bloomsky.camera" = ps: with ps; [  ];
-    "bloomsky.sensor" = ps: with ps; [  ];
-    "bluesound" = ps: with ps; [  ];
-    "bluesound.media_player" = ps: with ps; [ xmltodict ];
+    "bluesound" = ps: with ps; [ xmltodict ];
     "bluetooth_le_tracker" = ps: with ps; [  ];
-    "bluetooth_le_tracker.device_tracker" = ps: with ps; [  ];
-    "bluetooth_tracker" = ps: with ps; [  ];
-    "bluetooth_tracker.device_tracker" = ps: with ps; [ bt_proximity ];
+    "bluetooth_tracker" = ps: with ps; [ bt_proximity ];
     "bme280" = ps: with ps; [  ];
-    "bme280.sensor" = ps: with ps; [  ];
     "bme680" = ps: with ps; [  ];
-    "bme680.sensor" = ps: with ps; [  ];
     "bmw_connected_drive" = ps: with ps; [  ];
-    "bmw_connected_drive.binary_sensor" = ps: with ps; [  ];
-    "bmw_connected_drive.device_tracker" = ps: with ps; [  ];
-    "bmw_connected_drive.lock" = ps: with ps; [  ];
-    "bmw_connected_drive.sensor" = ps: with ps; [  ];
     "bom" = ps: with ps; [  ];
-    "bom.sensor" = ps: with ps; [  ];
-    "bom.weather" = ps: with ps; [  ];
     "braviatv" = ps: with ps; [  ];
-    "braviatv.media_player" = ps: with ps; [  ];
-    "broadlink" = ps: with ps; [  ];
-    "broadlink.sensor" = ps: with ps; [ broadlink ];
-    "broadlink.switch" = ps: with ps; [ broadlink ];
+    "broadlink" = ps: with ps; [ broadlink ];
     "brottsplatskartan" = ps: with ps; [  ];
-    "brottsplatskartan.sensor" = ps: with ps; [  ];
     "browser" = ps: with ps; [  ];
     "brunt" = ps: with ps; [  ];
-    "brunt.cover" = ps: with ps; [  ];
     "bt_home_hub_5" = ps: with ps; [  ];
-    "bt_home_hub_5.device_tracker" = ps: with ps; [  ];
     "bt_smarthub" = ps: with ps; [  ];
-    "bt_smarthub.device_tracker" = ps: with ps; [  ];
     "buienradar" = ps: with ps; [  ];
-    "buienradar.sensor" = ps: with ps; [  ];
-    "buienradar.weather" = ps: with ps; [  ];
-    "caldav" = ps: with ps; [  ];
-    "caldav.calendar" = ps: with ps; [  ];
+    "caldav" = ps: with ps; [ caldav ];
     "calendar" = ps: with ps; [ aiohttp-cors ];
     "camera" = ps: with ps; [ aiohttp-cors ];
-    "camera.const" = ps: with ps; [  ];
-    "camera.prefs" = ps: with ps; [  ];
-    "canary" = ps: with ps; [  ];
-    "canary.alarm_control_panel" = ps: with ps; [  ];
-    "canary.camera" = ps: with ps; [ ha-ffmpeg ];
-    "canary.sensor" = ps: with ps; [  ];
+    "canary" = ps: with ps; [ ha-ffmpeg ];
     "cast" = ps: with ps; [ PyChromecast ];
-    "cast.media_player" = ps: with ps; [ PyChromecast ];
     "cert_expiry" = ps: with ps; [  ];
-    "cert_expiry.sensor" = ps: with ps; [  ];
     "channels" = ps: with ps; [  ];
-    "channels.media_player" = ps: with ps; [  ];
-    "cisco_ios" = ps: with ps; [  ];
-    "cisco_ios.device_tracker" = ps: with ps; [ pexpect ];
+    "cisco_ios" = ps: with ps; [ pexpect ];
     "cisco_mobility_express" = ps: with ps; [  ];
-    "cisco_mobility_express.device_tracker" = ps: with ps; [  ];
+    "cisco_webex_teams" = ps: with ps; [  ];
     "ciscospark" = ps: with ps; [  ];
-    "ciscospark.notify" = ps: with ps; [  ];
     "citybikes" = ps: with ps; [  ];
-    "citybikes.sensor" = ps: with ps; [  ];
     "clementine" = ps: with ps; [  ];
-    "clementine.media_player" = ps: with ps; [  ];
     "clickatell" = ps: with ps; [  ];
-    "clickatell.notify" = ps: with ps; [  ];
     "clicksend" = ps: with ps; [  ];
-    "clicksend.notify" = ps: with ps; [  ];
     "clicksend_tts" = ps: with ps; [  ];
-    "clicksend_tts.notify" = ps: with ps; [  ];
     "climate" = ps: with ps; [  ];
-    "climate.const" = ps: with ps; [  ];
-    "climate.reproduce_state" = ps: with ps; [  ];
     "cloud" = ps: with ps; [ aiohttp-cors ];
-    "cloud.binary_sensor" = ps: with ps; [ aiohttp-cors ];
-    "cloud.const" = ps: with ps; [  ];
-    "cloud.http_api" = ps: with ps; [  ];
-    "cloud.prefs" = ps: with ps; [  ];
-    "cloud.utils" = ps: with ps; [  ];
     "cloudflare" = ps: with ps; [  ];
     "cmus" = ps: with ps; [  ];
-    "cmus.media_player" = ps: with ps; [  ];
     "co2signal" = ps: with ps; [  ];
-    "co2signal.sensor" = ps: with ps; [  ];
     "coinbase" = ps: with ps; [  ];
-    "coinbase.sensor" = ps: with ps; [  ];
-    "coinmarketcap" = ps: with ps; [  ];
-    "coinmarketcap.sensor" = ps: with ps; [ coinmarketcap ];
+    "coinmarketcap" = ps: with ps; [ coinmarketcap ];
     "comed_hourly_pricing" = ps: with ps; [  ];
-    "comed_hourly_pricing.sensor" = ps: with ps; [  ];
     "comfoconnect" = ps: with ps; [  ];
-    "comfoconnect.fan" = ps: with ps; [  ];
-    "comfoconnect.sensor" = ps: with ps; [  ];
     "command_line" = ps: with ps; [  ];
-    "command_line.binary_sensor" = ps: with ps; [  ];
-    "command_line.cover" = ps: with ps; [  ];
-    "command_line.notify" = ps: with ps; [  ];
-    "command_line.sensor" = ps: with ps; [  ];
-    "command_line.switch" = ps: with ps; [  ];
     "concord232" = ps: with ps; [  ];
-    "concord232.alarm_control_panel" = ps: with ps; [  ];
-    "concord232.binary_sensor" = ps: with ps; [  ];
     "config" = ps: with ps; [ aiohttp-cors ];
-    "config.area_registry" = ps: with ps; [  ];
-    "config.auth" = ps: with ps; [  ];
-    "config.automation" = ps: with ps; [  ];
-    "config.config_entries" = ps: with ps; [  ];
-    "config.core" = ps: with ps; [  ];
-    "config.customize" = ps: with ps; [  ];
-    "config.device_registry" = ps: with ps; [  ];
-    "config.entity_registry" = ps: with ps; [  ];
-    "config.group" = ps: with ps; [  ];
-    "config.script" = ps: with ps; [  ];
-    "config.zwave" = ps: with ps; [  ];
     "configurator" = ps: with ps; [  ];
     "conversation" = ps: with ps; [ aiohttp-cors ];
-    "conversation.util" = ps: with ps; [  ];
     "coolmaster" = ps: with ps; [  ];
-    "coolmaster.climate" = ps: with ps; [  ];
     "counter" = ps: with ps; [  ];
     "cover" = ps: with ps; [  ];
     "cppm_tracker" = ps: with ps; [  ];
-    "cppm_tracker.device_tracker" = ps: with ps; [  ];
-    "cpuspeed" = ps: with ps; [  ];
-    "cpuspeed.sensor" = ps: with ps; [ py-cpuinfo ];
+    "cpuspeed" = ps: with ps; [ py-cpuinfo ];
     "crimereports" = ps: with ps; [  ];
-    "crimereports.sensor" = ps: with ps; [  ];
-    "cups" = ps: with ps; [  ];
-    "cups.sensor" = ps: with ps; [ pycups ];
+    "cups" = ps: with ps; [ pycups ];
     "currencylayer" = ps: with ps; [  ];
-    "currencylayer.sensor" = ps: with ps; [  ];
     "daikin" = ps: with ps; [  ];
-    "daikin.climate" = ps: with ps; [  ];
-    "daikin.config_flow" = ps: with ps; [  ];
-    "daikin.const" = ps: with ps; [  ];
-    "daikin.sensor" = ps: with ps; [  ];
-    "daikin.switch" = ps: with ps; [  ];
     "danfoss_air" = ps: with ps; [  ];
-    "danfoss_air.binary_sensor" = ps: with ps; [  ];
-    "danfoss_air.sensor" = ps: with ps; [  ];
-    "danfoss_air.switch" = ps: with ps; [  ];
-    "darksky" = ps: with ps; [  ];
-    "darksky.sensor" = ps: with ps; [ python-forecastio ];
-    "darksky.weather" = ps: with ps; [ python-forecastio ];
+    "darksky" = ps: with ps; [ python-forecastio ];
     "datadog" = ps: with ps; [ datadog ];
     "ddwrt" = ps: with ps; [  ];
-    "ddwrt.device_tracker" = ps: with ps; [  ];
     "deconz" = ps: with ps; [  ];
-    "deconz.binary_sensor" = ps: with ps; [  ];
-    "deconz.climate" = ps: with ps; [  ];
-    "deconz.config_flow" = ps: with ps; [  ];
-    "deconz.const" = ps: with ps; [  ];
-    "deconz.cover" = ps: with ps; [  ];
-    "deconz.deconz_device" = ps: with ps; [  ];
-    "deconz.errors" = ps: with ps; [  ];
-    "deconz.gateway" = ps: with ps; [  ];
-    "deconz.light" = ps: with ps; [  ];
-    "deconz.scene" = ps: with ps; [  ];
-    "deconz.sensor" = ps: with ps; [  ];
-    "deconz.switch" = ps: with ps; [  ];
     "decora" = ps: with ps; [  ];
-    "decora.light" = ps: with ps; [  ];
     "decora_wifi" = ps: with ps; [  ];
-    "decora_wifi.light" = ps: with ps; [  ];
     "default_config" = ps: with ps; [ pynacl aiohttp-cors distro sqlalchemy zeroconf ];
-    "deluge" = ps: with ps; [  ];
-    "deluge.sensor" = ps: with ps; [ deluge-client ];
-    "deluge.switch" = ps: with ps; [ deluge-client ];
+    "deluge" = ps: with ps; [ deluge-client ];
     "demo" = ps: with ps; [ aiohttp-cors ];
-    "demo.air_quality" = ps: with ps; [  ];
-    "demo.alarm_control_panel" = ps: with ps; [  ];
-    "demo.binary_sensor" = ps: with ps; [  ];
-    "demo.calendar" = ps: with ps; [  ];
-    "demo.camera" = ps: with ps; [  ];
-    "demo.climate" = ps: with ps; [  ];
-    "demo.cover" = ps: with ps; [  ];
-    "demo.device_tracker" = ps: with ps; [  ];
-    "demo.fan" = ps: with ps; [  ];
-    "demo.geo_location" = ps: with ps; [  ];
-    "demo.image_processing" = ps: with ps; [  ];
-    "demo.light" = ps: with ps; [  ];
-    "demo.lock" = ps: with ps; [  ];
-    "demo.mailbox" = ps: with ps; [  ];
-    "demo.media_player" = ps: with ps; [  ];
-    "demo.notify" = ps: with ps; [  ];
-    "demo.remote" = ps: with ps; [  ];
-    "demo.sensor" = ps: with ps; [  ];
-    "demo.switch" = ps: with ps; [  ];
-    "demo.tts" = ps: with ps; [  ];
-    "demo.vacuum" = ps: with ps; [  ];
-    "demo.water_heater" = ps: with ps; [  ];
-    "demo.weather" = ps: with ps; [  ];
     "denon" = ps: with ps; [  ];
-    "denon.media_player" = ps: with ps; [  ];
     "denonavr" = ps: with ps; [  ];
-    "denonavr.media_player" = ps: with ps; [  ];
     "deutsche_bahn" = ps: with ps; [  ];
-    "deutsche_bahn.sensor" = ps: with ps; [  ];
     "device_sun_light_trigger" = ps: with ps; [  ];
     "device_tracker" = ps: with ps; [  ];
     "dht" = ps: with ps; [  ];
-    "dht.sensor" = ps: with ps; [  ];
     "dialogflow" = ps: with ps; [ aiohttp-cors ];
     "digital_ocean" = ps: with ps; [ digital-ocean ];
-    "digital_ocean.binary_sensor" = ps: with ps; [ digital-ocean ];
-    "digital_ocean.switch" = ps: with ps; [ digital-ocean ];
     "digitalloggers" = ps: with ps; [  ];
-    "digitalloggers.switch" = ps: with ps; [  ];
     "directv" = ps: with ps; [  ];
-    "directv.media_player" = ps: with ps; [  ];
-    "discogs" = ps: with ps; [  ];
-    "discogs.sensor" = ps: with ps; [ discogs_client ];
-    "discord" = ps: with ps; [  ];
-    "discord.notify" = ps: with ps; [ discordpy ];
+    "discogs" = ps: with ps; [ discogs_client ];
+    "discord" = ps: with ps; [ discordpy ];
     "discovery" = ps: with ps; [ netdisco ];
-    "dlib_face_detect" = ps: with ps; [  ];
-    "dlib_face_detect.image_processing" = ps: with ps; [ face_recognition ];
-    "dlib_face_identify" = ps: with ps; [  ];
-    "dlib_face_identify.image_processing" = ps: with ps; [ face_recognition ];
+    "dlib_face_detect" = ps: with ps; [ face_recognition ];
+    "dlib_face_identify" = ps: with ps; [ face_recognition ];
     "dlink" = ps: with ps; [  ];
-    "dlink.switch" = ps: with ps; [  ];
     "dlna_dmr" = ps: with ps; [  ];
-    "dlna_dmr.media_player" = ps: with ps; [  ];
-    "dnsip" = ps: with ps; [  ];
-    "dnsip.sensor" = ps: with ps; [ aiodns ];
+    "dnsip" = ps: with ps; [ aiodns ];
     "dominos" = ps: with ps; [ aiohttp-cors ];
     "doorbird" = ps: with ps; [  ];
-    "doorbird.camera" = ps: with ps; [  ];
-    "doorbird.switch" = ps: with ps; [  ];
     "dovado" = ps: with ps; [  ];
-    "dovado.notify" = ps: with ps; [  ];
-    "dovado.sensor" = ps: with ps; [  ];
     "downloader" = ps: with ps; [  ];
     "dsmr" = ps: with ps; [  ];
-    "dsmr.sensor" = ps: with ps; [  ];
     "dte_energy_bridge" = ps: with ps; [  ];
-    "dte_energy_bridge.sensor" = ps: with ps; [  ];
     "dublin_bus_transport" = ps: with ps; [  ];
-    "dublin_bus_transport.sensor" = ps: with ps; [  ];
     "duckdns" = ps: with ps; [  ];
     "duke_energy" = ps: with ps; [  ];
-    "duke_energy.sensor" = ps: with ps; [  ];
     "dunehd" = ps: with ps; [  ];
-    "dunehd.media_player" = ps: with ps; [  ];
     "dwd_weather_warnings" = ps: with ps; [  ];
-    "dwd_weather_warnings.sensor" = ps: with ps; [  ];
     "dweet" = ps: with ps; [  ];
-    "dweet.sensor" = ps: with ps; [  ];
     "dyson" = ps: with ps; [  ];
-    "dyson.climate" = ps: with ps; [  ];
-    "dyson.fan" = ps: with ps; [  ];
-    "dyson.sensor" = ps: with ps; [  ];
-    "dyson.vacuum" = ps: with ps; [  ];
     "ebox" = ps: with ps; [  ];
-    "ebox.sensor" = ps: with ps; [  ];
     "ebusd" = ps: with ps; [  ];
-    "ebusd.const" = ps: with ps; [  ];
-    "ebusd.sensor" = ps: with ps; [  ];
     "ecoal_boiler" = ps: with ps; [  ];
-    "ecoal_boiler.sensor" = ps: with ps; [  ];
-    "ecoal_boiler.switch" = ps: with ps; [  ];
     "ecobee" = ps: with ps; [  ];
-    "ecobee.binary_sensor" = ps: with ps; [  ];
-    "ecobee.climate" = ps: with ps; [  ];
-    "ecobee.notify" = ps: with ps; [  ];
-    "ecobee.sensor" = ps: with ps; [  ];
-    "ecobee.weather" = ps: with ps; [  ];
     "econet" = ps: with ps; [  ];
-    "econet.water_heater" = ps: with ps; [  ];
     "ecovacs" = ps: with ps; [  ];
-    "ecovacs.vacuum" = ps: with ps; [  ];
-    "eddystone_temperature" = ps: with ps; [  ];
-    "eddystone_temperature.sensor" = ps: with ps; [ construct ];
+    "eddystone_temperature" = ps: with ps; [ construct ];
     "edimax" = ps: with ps; [  ];
-    "edimax.switch" = ps: with ps; [  ];
     "edp_redy" = ps: with ps; [  ];
-    "edp_redy.sensor" = ps: with ps; [  ];
-    "edp_redy.switch" = ps: with ps; [  ];
     "ee_brightbox" = ps: with ps; [  ];
-    "ee_brightbox.device_tracker" = ps: with ps; [  ];
     "efergy" = ps: with ps; [  ];
-    "efergy.sensor" = ps: with ps; [  ];
     "egardia" = ps: with ps; [  ];
-    "egardia.alarm_control_panel" = ps: with ps; [  ];
-    "egardia.binary_sensor" = ps: with ps; [  ];
     "eight_sleep" = ps: with ps; [  ];
-    "eight_sleep.binary_sensor" = ps: with ps; [  ];
-    "eight_sleep.sensor" = ps: with ps; [  ];
     "eliqonline" = ps: with ps; [  ];
-    "eliqonline.sensor" = ps: with ps; [  ];
     "elkm1" = ps: with ps; [  ];
-    "elkm1.alarm_control_panel" = ps: with ps; [  ];
-    "elkm1.climate" = ps: with ps; [  ];
-    "elkm1.light" = ps: with ps; [  ];
-    "elkm1.scene" = ps: with ps; [  ];
-    "elkm1.sensor" = ps: with ps; [  ];
-    "elkm1.switch" = ps: with ps; [  ];
     "emby" = ps: with ps; [  ];
-    "emby.media_player" = ps: with ps; [  ];
     "emoncms" = ps: with ps; [  ];
-    "emoncms.sensor" = ps: with ps; [  ];
     "emoncms_history" = ps: with ps; [  ];
     "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; [  ];
     "enigma2" = ps: with ps; [  ];
-    "enigma2.media_player" = ps: with ps; [  ];
     "enocean" = ps: with ps; [  ];
-    "enocean.binary_sensor" = ps: with ps; [  ];
-    "enocean.light" = ps: with ps; [  ];
-    "enocean.sensor" = ps: with ps; [  ];
-    "enocean.switch" = ps: with ps; [  ];
     "enphase_envoy" = ps: with ps; [  ];
-    "enphase_envoy.sensor" = ps: with ps; [  ];
     "entur_public_transport" = ps: with ps; [  ];
-    "entur_public_transport.sensor" = ps: with ps; [  ];
     "envirophat" = ps: with ps; [  ];
-    "envirophat.sensor" = ps: with ps; [  ];
     "envisalink" = ps: with ps; [  ];
-    "envisalink.alarm_control_panel" = ps: with ps; [  ];
-    "envisalink.binary_sensor" = ps: with ps; [  ];
-    "envisalink.sensor" = ps: with ps; [  ];
     "ephember" = ps: with ps; [  ];
-    "ephember.climate" = ps: with ps; [  ];
     "epson" = ps: with ps; [  ];
-    "epson.media_player" = ps: with ps; [  ];
-    "eq3btsmart" = ps: with ps; [  ];
-    "eq3btsmart.climate" = ps: with ps; [ construct ];
+    "epsonworkforce" = ps: with ps; [  ];
+    "eq3btsmart" = ps: with ps; [ construct ];
     "esphome" = ps: with ps; [ aioesphomeapi ];
-    "esphome.binary_sensor" = ps: with ps; [ aioesphomeapi ];
-    "esphome.camera" = ps: with ps; [ aioesphomeapi ];
-    "esphome.config_flow" = ps: with ps; [  ];
-    "esphome.cover" = ps: with ps; [ aioesphomeapi ];
-    "esphome.fan" = ps: with ps; [ aioesphomeapi ];
-    "esphome.light" = ps: with ps; [ aioesphomeapi ];
-    "esphome.sensor" = ps: with ps; [ aioesphomeapi ];
-    "esphome.switch" = ps: with ps; [ aioesphomeapi ];
     "etherscan" = ps: with ps; [  ];
-    "etherscan.sensor" = ps: with ps; [  ];
     "eufy" = ps: with ps; [  ];
-    "eufy.light" = ps: with ps; [  ];
-    "eufy.switch" = ps: with ps; [  ];
     "everlights" = ps: with ps; [  ];
-    "everlights.light" = ps: with ps; [  ];
     "evohome" = ps: with ps; [  ];
-    "evohome.climate" = ps: with ps; [  ];
     "facebook" = ps: with ps; [  ];
-    "facebook.notify" = ps: with ps; [  ];
     "facebox" = ps: with ps; [  ];
-    "facebox.image_processing" = ps: with ps; [  ];
     "fail2ban" = ps: with ps; [  ];
-    "fail2ban.sensor" = ps: with ps; [  ];
     "familyhub" = ps: with ps; [  ];
-    "familyhub.camera" = ps: with ps; [  ];
     "fan" = ps: with ps; [  ];
     "fastdotcom" = ps: with ps; [  ];
-    "fastdotcom.sensor" = ps: with ps; [  ];
     "fedex" = ps: with ps; [  ];
-    "fedex.sensor" = ps: with ps; [  ];
     "feedreader" = ps: with ps; [  ];
     "ffmpeg" = ps: with ps; [ ha-ffmpeg ];
-    "ffmpeg.camera" = ps: with ps; [ ha-ffmpeg ];
-    "ffmpeg_motion" = ps: with ps; [  ];
-    "ffmpeg_motion.binary_sensor" = ps: with ps; [ ha-ffmpeg ];
-    "ffmpeg_noise" = ps: with ps; [  ];
-    "ffmpeg_noise.binary_sensor" = ps: with ps; [ ha-ffmpeg ];
+    "ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
+    "ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ];
     "fibaro" = ps: with ps; [  ];
-    "fibaro.binary_sensor" = ps: with ps; [  ];
-    "fibaro.cover" = ps: with ps; [  ];
-    "fibaro.light" = ps: with ps; [  ];
-    "fibaro.scene" = ps: with ps; [  ];
-    "fibaro.sensor" = ps: with ps; [  ];
-    "fibaro.switch" = ps: with ps; [  ];
     "fido" = ps: with ps; [  ];
-    "fido.sensor" = ps: with ps; [  ];
     "file" = ps: with ps; [  ];
-    "file.notify" = ps: with ps; [  ];
-    "file.sensor" = ps: with ps; [  ];
     "filesize" = ps: with ps; [  ];
-    "filesize.sensor" = ps: with ps; [  ];
     "filter" = ps: with ps; [  ];
-    "filter.sensor" = ps: with ps; [  ];
-    "fints" = ps: with ps; [  ];
-    "fints.sensor" = ps: with ps; [ fints ];
-    "fitbit" = ps: with ps; [  ];
-    "fitbit.sensor" = ps: with ps; [ aiohttp-cors ];
+    "fints" = ps: with ps; [ fints ];
+    "fitbit" = ps: with ps; [ aiohttp-cors ];
     "fixer" = ps: with ps; [  ];
-    "fixer.sensor" = ps: with ps; [  ];
     "flexit" = ps: with ps; [  ];
-    "flexit.climate" = ps: with ps; [  ];
     "flic" = ps: with ps; [  ];
-    "flic.binary_sensor" = ps: with ps; [  ];
     "flock" = ps: with ps; [  ];
-    "flock.notify" = ps: with ps; [  ];
     "flunearyou" = ps: with ps; [  ];
-    "flunearyou.sensor" = ps: with ps; [  ];
     "flux" = ps: with ps; [  ];
-    "flux.switch" = ps: with ps; [  ];
     "flux_led" = ps: with ps; [  ];
-    "flux_led.light" = ps: with ps; [  ];
     "folder" = ps: with ps; [  ];
-    "folder.sensor" = ps: with ps; [  ];
     "folder_watcher" = ps: with ps; [ watchdog ];
     "foobot" = ps: with ps; [  ];
-    "foobot.sensor" = ps: with ps; [  ];
     "foscam" = ps: with ps; [  ];
-    "foscam.camera" = ps: with ps; [  ];
     "foursquare" = ps: with ps; [ aiohttp-cors ];
     "free_mobile" = ps: with ps; [  ];
-    "free_mobile.notify" = ps: with ps; [  ];
     "freebox" = ps: with ps; [  ];
-    "freebox.device_tracker" = ps: with ps; [  ];
-    "freebox.sensor" = ps: with ps; [  ];
-    "freebox.switch" = ps: with ps; [  ];
     "freedns" = ps: with ps; [  ];
-    "fritz" = ps: with ps; [  ];
-    "fritz.device_tracker" = ps: with ps; [ fritzconnection ];
+    "fritz" = ps: with ps; [ fritzconnection ];
     "fritzbox" = ps: with ps; [  ];
-    "fritzbox.binary_sensor" = ps: with ps; [  ];
-    "fritzbox.climate" = ps: with ps; [  ];
-    "fritzbox.sensor" = ps: with ps; [  ];
-    "fritzbox.switch" = ps: with ps; [  ];
-    "fritzbox_callmonitor" = ps: with ps; [  ];
-    "fritzbox_callmonitor.sensor" = ps: with ps; [ fritzconnection ];
-    "fritzbox_netmonitor" = ps: with ps; [  ];
-    "fritzbox_netmonitor.sensor" = ps: with ps; [ fritzconnection ];
+    "fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
+    "fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
     "fritzdect" = ps: with ps; [  ];
-    "fritzdect.switch" = ps: with ps; [  ];
     "frontend" = ps: with ps; [ aiohttp-cors ];
-    "frontend.storage" = ps: with ps; [  ];
     "frontier_silicon" = ps: with ps; [  ];
-    "frontier_silicon.media_player" = ps: with ps; [  ];
     "futurenow" = ps: with ps; [  ];
-    "futurenow.light" = ps: with ps; [  ];
     "garadget" = ps: with ps; [  ];
-    "garadget.cover" = ps: with ps; [  ];
     "gc100" = ps: with ps; [  ];
-    "gc100.binary_sensor" = ps: with ps; [  ];
-    "gc100.switch" = ps: with ps; [  ];
     "gearbest" = ps: with ps; [  ];
-    "gearbest.sensor" = ps: with ps; [  ];
     "geizhals" = ps: with ps; [  ];
-    "geizhals.sensor" = ps: with ps; [  ];
     "generic" = ps: with ps; [  ];
-    "generic.camera" = ps: with ps; [  ];
     "generic_thermostat" = ps: with ps; [  ];
-    "generic_thermostat.climate" = ps: with ps; [  ];
+    "geniushub" = ps: with ps; [  ];
     "geo_json_events" = ps: with ps; [  ];
-    "geo_json_events.geo_location" = ps: with ps; [  ];
     "geo_location" = ps: with ps; [  ];
     "geo_rss_events" = ps: with ps; [  ];
-    "geo_rss_events.sensor" = ps: with ps; [  ];
     "geofency" = ps: with ps; [ aiohttp-cors ];
-    "geofency.device_tracker" = ps: with ps; [ aiohttp-cors ];
-    "github" = ps: with ps; [  ];
-    "github.sensor" = ps: with ps; [ PyGithub ];
-    "gitlab_ci" = ps: with ps; [  ];
-    "gitlab_ci.sensor" = ps: with ps; [ python-gitlab ];
+    "github" = ps: with ps; [ PyGithub ];
+    "gitlab_ci" = ps: with ps; [ python-gitlab ];
     "gitter" = ps: with ps; [  ];
-    "gitter.sensor" = ps: with ps; [  ];
     "glances" = ps: with ps; [  ];
-    "glances.sensor" = ps: with ps; [  ];
     "gntp" = ps: with ps; [  ];
-    "gntp.notify" = ps: with ps; [  ];
     "goalfeed" = ps: with ps; [  ];
     "gogogate2" = ps: with ps; [  ];
-    "gogogate2.cover" = ps: with ps; [  ];
     "google" = ps: with ps; [ google_api_python_client httplib2 oauth2client ];
-    "google.calendar" = ps: with ps; [  ];
-    "google.tts" = ps: with ps; [  ];
     "google_assistant" = ps: with ps; [ aiohttp-cors ];
-    "google_assistant.const" = ps: with ps; [  ];
-    "google_assistant.helpers" = ps: with ps; [  ];
-    "google_assistant.http" = ps: with ps; [  ];
-    "google_assistant.smart_home" = ps: with ps; [  ];
-    "google_assistant.trait" = ps: with ps; [  ];
     "google_domains" = ps: with ps; [  ];
     "google_maps" = ps: with ps; [  ];
-    "google_maps.device_tracker" = ps: with ps; [  ];
     "google_pubsub" = ps: with ps; [ google_cloud_pubsub ];
+    "google_translate" = ps: with ps; [  ];
     "google_travel_time" = ps: with ps; [  ];
-    "google_travel_time.sensor" = ps: with ps; [  ];
     "google_wifi" = ps: with ps; [  ];
-    "google_wifi.sensor" = ps: with ps; [  ];
     "googlehome" = ps: with ps; [  ];
-    "googlehome.device_tracker" = ps: with ps; [  ];
-    "googlehome.sensor" = ps: with ps; [  ];
-    "gpmdp" = ps: with ps; [  ];
-    "gpmdp.media_player" = ps: with ps; [ websocket_client ];
+    "gpmdp" = ps: with ps; [ websocket_client ];
     "gpsd" = ps: with ps; [  ];
-    "gpsd.sensor" = ps: with ps; [  ];
     "gpslogger" = ps: with ps; [ aiohttp-cors ];
-    "gpslogger.device_tracker" = ps: with ps; [ aiohttp-cors ];
     "graphite" = ps: with ps; [  ];
     "greeneye_monitor" = ps: with ps; [  ];
-    "greeneye_monitor.sensor" = ps: with ps; [  ];
     "greenwave" = ps: with ps; [  ];
-    "greenwave.light" = ps: with ps; [  ];
     "group" = ps: with ps; [  ];
-    "group.cover" = ps: with ps; [  ];
-    "group.light" = ps: with ps; [  ];
-    "group.notify" = ps: with ps; [  ];
-    "group.reproduce_state" = ps: with ps; [  ];
     "gstreamer" = ps: with ps; [  ];
-    "gstreamer.media_player" = ps: with ps; [  ];
     "gtfs" = ps: with ps; [  ];
-    "gtfs.sensor" = ps: with ps; [  ];
     "gtt" = ps: with ps; [  ];
-    "gtt.sensor" = ps: with ps; [  ];
     "habitica" = ps: with ps; [  ];
-    "habitica.sensor" = ps: with ps; [  ];
     "hangouts" = ps: with ps; [  ];
-    "hangouts.config_flow" = ps: with ps; [  ];
-    "hangouts.const" = ps: with ps; [  ];
-    "hangouts.hangouts_bot" = ps: with ps; [  ];
-    "hangouts.intents" = ps: with ps; [  ];
-    "hangouts.notify" = ps: with ps; [  ];
     "harman_kardon_avr" = ps: with ps; [  ];
-    "harman_kardon_avr.media_player" = ps: with ps; [  ];
     "harmony" = ps: with ps; [  ];
-    "harmony.remote" = ps: with ps; [  ];
     "hassio" = ps: with ps; [ aiohttp-cors ];
-    "hassio.auth" = ps: with ps; [  ];
-    "hassio.const" = ps: with ps; [  ];
-    "hassio.discovery" = ps: with ps; [  ];
-    "hassio.handler" = ps: with ps; [  ];
-    "hassio.http" = ps: with ps; [  ];
-    "hassio.ingress" = ps: with ps; [  ];
     "haveibeenpwned" = ps: with ps; [  ];
-    "haveibeenpwned.sensor" = ps: with ps; [  ];
     "hddtemp" = ps: with ps; [  ];
-    "hddtemp.sensor" = ps: with ps; [  ];
     "hdmi_cec" = ps: with ps; [  ];
-    "hdmi_cec.media_player" = ps: with ps; [  ];
-    "hdmi_cec.switch" = ps: with ps; [  ];
     "heatmiser" = ps: with ps; [  ];
-    "heatmiser.climate" = ps: with ps; [  ];
+    "heos" = ps: with ps; [  ];
     "hikvision" = ps: with ps; [  ];
-    "hikvision.binary_sensor" = ps: with ps; [  ];
     "hikvisioncam" = ps: with ps; [  ];
-    "hikvisioncam.switch" = ps: with ps; [  ];
     "hipchat" = ps: with ps; [  ];
-    "hipchat.notify" = ps: with ps; [  ];
     "history" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "history_graph" = ps: with ps; [ aiohttp-cors sqlalchemy ];
-    "history_stats" = ps: with ps; [  ];
-    "history_stats.sensor" = ps: with ps; [ aiohttp-cors sqlalchemy ];
+    "history_stats" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "hitron_coda" = ps: with ps; [  ];
-    "hitron_coda.device_tracker" = ps: with ps; [  ];
     "hive" = ps: with ps; [  ];
-    "hive.binary_sensor" = ps: with ps; [  ];
-    "hive.climate" = ps: with ps; [  ];
-    "hive.light" = ps: with ps; [  ];
-    "hive.sensor" = ps: with ps; [  ];
-    "hive.switch" = ps: with ps; [  ];
     "hlk_sw16" = ps: with ps; [  ];
-    "hlk_sw16.switch" = ps: with ps; [  ];
     "homeassistant" = ps: with ps; [  ];
-    "homeassistant.scene" = ps: with ps; [  ];
     "homekit" = ps: with ps; [  ];
-    "homekit.const" = ps: with ps; [  ];
-    "homekit.util" = ps: with ps; [  ];
     "homekit_controller" = ps: with ps; [  ];
-    "homekit_controller.alarm_control_panel" = ps: with ps; [  ];
-    "homekit_controller.binary_sensor" = ps: with ps; [  ];
-    "homekit_controller.climate" = ps: with ps; [  ];
-    "homekit_controller.config_flow" = ps: with ps; [  ];
-    "homekit_controller.connection" = ps: with ps; [  ];
-    "homekit_controller.const" = ps: with ps; [  ];
-    "homekit_controller.cover" = ps: with ps; [  ];
-    "homekit_controller.light" = ps: with ps; [  ];
-    "homekit_controller.lock" = ps: with ps; [  ];
-    "homekit_controller.sensor" = ps: with ps; [  ];
-    "homekit_controller.switch" = ps: with ps; [  ];
     "homematic" = ps: with ps; [ pyhomematic ];
-    "homematic.binary_sensor" = ps: with ps; [ pyhomematic ];
-    "homematic.climate" = ps: with ps; [ pyhomematic ];
-    "homematic.cover" = ps: with ps; [ pyhomematic ];
-    "homematic.light" = ps: with ps; [ pyhomematic ];
-    "homematic.lock" = ps: with ps; [ pyhomematic ];
-    "homematic.notify" = ps: with ps; [ pyhomematic ];
-    "homematic.sensor" = ps: with ps; [ pyhomematic ];
-    "homematic.switch" = ps: with ps; [ pyhomematic ];
     "homematicip_cloud" = ps: with ps; [  ];
-    "homematicip_cloud.alarm_control_panel" = ps: with ps; [  ];
-    "homematicip_cloud.binary_sensor" = ps: with ps; [  ];
-    "homematicip_cloud.climate" = ps: with ps; [  ];
-    "homematicip_cloud.config_flow" = ps: with ps; [  ];
-    "homematicip_cloud.const" = ps: with ps; [  ];
-    "homematicip_cloud.cover" = ps: with ps; [  ];
-    "homematicip_cloud.device" = ps: with ps; [  ];
-    "homematicip_cloud.errors" = ps: with ps; [  ];
-    "homematicip_cloud.hap" = ps: with ps; [  ];
-    "homematicip_cloud.light" = ps: with ps; [  ];
-    "homematicip_cloud.sensor" = ps: with ps; [  ];
-    "homematicip_cloud.switch" = ps: with ps; [  ];
-    "homematicip_cloud.weather" = ps: with ps; [  ];
     "homeworks" = ps: with ps; [  ];
-    "homeworks.light" = ps: with ps; [  ];
     "honeywell" = ps: with ps; [  ];
-    "honeywell.climate" = ps: with ps; [  ];
     "hook" = ps: with ps; [  ];
-    "hook.switch" = ps: with ps; [  ];
     "horizon" = ps: with ps; [  ];
-    "horizon.media_player" = ps: with ps; [  ];
     "hp_ilo" = ps: with ps; [  ];
-    "hp_ilo.sensor" = ps: with ps; [  ];
-    "html5" = ps: with ps; [  ];
-    "html5.notify" = ps: with ps; [ aiohttp-cors ];
+    "html5" = ps: with ps; [ aiohttp-cors ];
     "http" = ps: with ps; [ aiohttp-cors ];
-    "http.auth" = ps: with ps; [  ];
-    "http.ban" = ps: with ps; [  ];
-    "http.const" = ps: with ps; [  ];
-    "http.cors" = ps: with ps; [  ];
-    "http.data_validator" = ps: with ps; [  ];
-    "http.real_ip" = ps: with ps; [  ];
-    "http.static" = ps: with ps; [  ];
-    "http.view" = ps: with ps; [  ];
     "htu21d" = ps: with ps; [  ];
-    "htu21d.sensor" = ps: with ps; [  ];
     "huawei_lte" = ps: with ps; [  ];
-    "huawei_lte.device_tracker" = ps: with ps; [  ];
-    "huawei_lte.notify" = ps: with ps; [  ];
-    "huawei_lte.sensor" = ps: with ps; [  ];
     "huawei_router" = ps: with ps; [  ];
-    "huawei_router.device_tracker" = ps: with ps; [  ];
     "hue" = ps: with ps; [ aiohue ];
-    "hue.bridge" = ps: with ps; [  ];
-    "hue.config_flow" = ps: with ps; [  ];
-    "hue.const" = ps: with ps; [  ];
-    "hue.errors" = ps: with ps; [  ];
-    "hue.light" = ps: with ps; [ aiohue ];
     "hunterdouglas_powerview" = ps: with ps; [  ];
-    "hunterdouglas_powerview.scene" = ps: with ps; [  ];
     "hydrawise" = ps: with ps; [  ];
-    "hydrawise.binary_sensor" = ps: with ps; [  ];
-    "hydrawise.sensor" = ps: with ps; [  ];
-    "hydrawise.switch" = ps: with ps; [  ];
     "hydroquebec" = ps: with ps; [  ];
-    "hydroquebec.sensor" = ps: with ps; [  ];
     "hyperion" = ps: with ps; [  ];
-    "hyperion.light" = ps: with ps; [  ];
     "ialarm" = ps: with ps; [  ];
-    "ialarm.alarm_control_panel" = ps: with ps; [  ];
     "icloud" = ps: with ps; [  ];
-    "icloud.device_tracker" = ps: with ps; [  ];
     "idteck_prox" = ps: with ps; [  ];
     "ifttt" = ps: with ps; [ aiohttp-cors pyfttt ];
-    "ifttt.alarm_control_panel" = ps: with ps; [ aiohttp-cors pyfttt ];
     "iglo" = ps: with ps; [  ];
-    "iglo.light" = ps: with ps; [  ];
+    "ign_sismologia" = ps: with ps; [  ];
     "ihc" = ps: with ps; [ defusedxml ];
-    "ihc.binary_sensor" = ps: with ps; [ defusedxml ];
-    "ihc.const" = ps: with ps; [  ];
-    "ihc.ihcdevice" = ps: with ps; [  ];
-    "ihc.light" = ps: with ps; [ defusedxml ];
-    "ihc.sensor" = ps: with ps; [ defusedxml ];
-    "ihc.switch" = ps: with ps; [ defusedxml ];
-    "ihc.util" = ps: with ps; [  ];
     "image_processing" = ps: with ps; [ aiohttp-cors ];
     "imap" = ps: with ps; [  ];
-    "imap.sensor" = ps: with ps; [  ];
     "imap_email_content" = ps: with ps; [  ];
-    "imap_email_content.sensor" = ps: with ps; [  ];
     "influxdb" = ps: with ps; [ influxdb ];
-    "influxdb.sensor" = ps: with ps; [ influxdb ];
     "input_boolean" = ps: with ps; [  ];
     "input_datetime" = ps: with ps; [  ];
     "input_number" = ps: with ps; [  ];
     "input_select" = ps: with ps; [  ];
     "input_text" = ps: with ps; [  ];
     "insteon" = ps: with ps; [  ];
-    "insteon.binary_sensor" = ps: with ps; [  ];
-    "insteon.cover" = ps: with ps; [  ];
-    "insteon.fan" = ps: with ps; [  ];
-    "insteon.light" = ps: with ps; [  ];
-    "insteon.sensor" = ps: with ps; [  ];
-    "insteon.switch" = ps: with ps; [  ];
-    "insteon_local" = ps: with ps; [  ];
-    "insteon_plm" = ps: with ps; [  ];
     "integration" = ps: with ps; [  ];
-    "integration.sensor" = ps: with ps; [  ];
     "intent_script" = ps: with ps; [  ];
-    "introduction" = ps: with ps; [  ];
     "ios" = ps: with ps; [ aiohttp-cors zeroconf ];
-    "ios.notify" = ps: with ps; [ aiohttp-cors zeroconf ];
-    "ios.sensor" = ps: with ps; [ aiohttp-cors zeroconf ];
     "iota" = ps: with ps; [  ];
-    "iota.sensor" = ps: with ps; [  ];
     "iperf3" = ps: with ps; [  ];
-    "iperf3.sensor" = ps: with ps; [  ];
     "ipma" = ps: with ps; [  ];
-    "ipma.config_flow" = ps: with ps; [  ];
-    "ipma.const" = ps: with ps; [  ];
-    "ipma.weather" = ps: with ps; [  ];
     "irish_rail_transport" = ps: with ps; [  ];
-    "irish_rail_transport.sensor" = ps: with ps; [  ];
     "islamic_prayer_times" = ps: with ps; [  ];
-    "islamic_prayer_times.sensor" = ps: with ps; [  ];
     "iss" = ps: with ps; [  ];
-    "iss.binary_sensor" = ps: with ps; [  ];
     "isy994" = ps: with ps; [  ];
-    "isy994.binary_sensor" = ps: with ps; [  ];
-    "isy994.cover" = ps: with ps; [  ];
-    "isy994.fan" = ps: with ps; [  ];
-    "isy994.light" = ps: with ps; [  ];
-    "isy994.lock" = ps: with ps; [  ];
-    "isy994.sensor" = ps: with ps; [  ];
-    "isy994.switch" = ps: with ps; [  ];
     "itach" = ps: with ps; [  ];
-    "itach.remote" = ps: with ps; [  ];
     "itunes" = ps: with ps; [  ];
-    "itunes.media_player" = ps: with ps; [  ];
     "jewish_calendar" = ps: with ps; [  ];
-    "jewish_calendar.sensor" = ps: with ps; [  ];
     "joaoapps_join" = ps: with ps; [  ];
-    "joaoapps_join.notify" = ps: with ps; [  ];
     "juicenet" = ps: with ps; [  ];
-    "juicenet.sensor" = ps: with ps; [  ];
     "kankun" = ps: with ps; [  ];
-    "kankun.switch" = ps: with ps; [  ];
     "keenetic_ndms2" = ps: with ps; [  ];
-    "keenetic_ndms2.device_tracker" = ps: with ps; [  ];
     "keyboard" = ps: with ps; [  ];
     "keyboard_remote" = ps: with ps; [ evdev ];
     "kira" = ps: with ps; [  ];
-    "kira.remote" = ps: with ps; [  ];
-    "kira.sensor" = ps: with ps; [  ];
     "kiwi" = ps: with ps; [  ];
-    "kiwi.lock" = ps: with ps; [  ];
     "knx" = ps: with ps; [  ];
-    "knx.binary_sensor" = ps: with ps; [  ];
-    "knx.climate" = ps: with ps; [  ];
-    "knx.cover" = ps: with ps; [  ];
-    "knx.light" = ps: with ps; [  ];
-    "knx.notify" = ps: with ps; [  ];
-    "knx.scene" = ps: with ps; [  ];
-    "knx.sensor" = ps: with ps; [  ];
-    "knx.switch" = ps: with ps; [  ];
-    "kodi" = ps: with ps; [  ];
-    "kodi.media_player" = ps: with ps; [ jsonrpc-async jsonrpc-websocket ];
-    "kodi.notify" = ps: with ps; [ jsonrpc-async ];
+    "kodi" = ps: with ps; [ jsonrpc-async jsonrpc-websocket ];
     "konnected" = ps: with ps; [ aiohttp-cors ];
-    "konnected.binary_sensor" = ps: with ps; [ aiohttp-cors ];
-    "konnected.const" = ps: with ps; [  ];
-    "konnected.handlers" = ps: with ps; [  ];
-    "konnected.sensor" = ps: with ps; [ aiohttp-cors ];
-    "konnected.switch" = ps: with ps; [ aiohttp-cors ];
     "kwb" = ps: with ps; [  ];
-    "kwb.sensor" = ps: with ps; [  ];
     "lacrosse" = ps: with ps; [  ];
-    "lacrosse.sensor" = ps: with ps; [  ];
     "lametric" = ps: with ps; [  ];
-    "lametric.notify" = ps: with ps; [  ];
     "lannouncer" = ps: with ps; [  ];
-    "lannouncer.notify" = ps: with ps; [  ];
-    "lastfm" = ps: with ps; [  ];
-    "lastfm.sensor" = ps: with ps; [ pylast ];
+    "lastfm" = ps: with ps; [ pylast ];
     "launch_library" = ps: with ps; [  ];
-    "launch_library.sensor" = ps: with ps; [  ];
     "lcn" = ps: with ps; [  ];
-    "lcn.const" = ps: with ps; [  ];
-    "lcn.cover" = ps: with ps; [  ];
-    "lcn.light" = ps: with ps; [  ];
-    "lcn.sensor" = ps: with ps; [  ];
-    "lcn.switch" = ps: with ps; [  ];
     "lg_netcast" = ps: with ps; [  ];
-    "lg_netcast.media_player" = ps: with ps; [  ];
     "lg_soundbar" = ps: with ps; [  ];
-    "lg_soundbar.media_player" = ps: with ps; [  ];
-    "lifx" = ps: with ps; [ aiolifx ];
-    "lifx.light" = ps: with ps; [ aiolifx aiolifx-effects ];
+    "lifx" = ps: with ps; [ aiolifx aiolifx-effects ];
     "lifx_cloud" = ps: with ps; [  ];
-    "lifx_cloud.scene" = ps: with ps; [  ];
     "lifx_legacy" = ps: with ps; [  ];
-    "lifx_legacy.light" = ps: with ps; [  ];
     "light" = ps: with ps; [  ];
     "lightwave" = ps: with ps; [  ];
-    "lightwave.light" = ps: with ps; [  ];
-    "lightwave.switch" = ps: with ps; [  ];
-    "limitlessled" = ps: with ps; [  ];
-    "limitlessled.light" = ps: with ps; [ limitlessled ];
-    "linksys_ap" = ps: with ps; [  ];
-    "linksys_ap.device_tracker" = ps: with ps; [ beautifulsoup4 ];
+    "limitlessled" = ps: with ps; [ limitlessled ];
+    "linksys_ap" = ps: with ps; [ beautifulsoup4 ];
     "linksys_smart" = ps: with ps; [  ];
-    "linksys_smart.device_tracker" = ps: with ps; [  ];
     "linky" = ps: with ps; [  ];
-    "linky.sensor" = ps: with ps; [  ];
     "linode" = ps: with ps; [ linode-api ];
-    "linode.binary_sensor" = ps: with ps; [ linode-api ];
-    "linode.switch" = ps: with ps; [ linode-api ];
-    "linux_battery" = ps: with ps; [  ];
-    "linux_battery.sensor" = ps: with ps; [ batinfo ];
+    "linux_battery" = ps: with ps; [ batinfo ];
     "lirc" = ps: with ps; [  ];
     "litejet" = ps: with ps; [  ];
-    "litejet.light" = ps: with ps; [  ];
-    "litejet.scene" = ps: with ps; [  ];
-    "litejet.switch" = ps: with ps; [  ];
     "liveboxplaytv" = ps: with ps; [  ];
-    "liveboxplaytv.media_player" = ps: with ps; [  ];
     "llamalab_automate" = ps: with ps; [  ];
-    "llamalab_automate.notify" = ps: with ps; [  ];
     "local_file" = ps: with ps; [  ];
-    "local_file.camera" = ps: with ps; [  ];
     "locative" = ps: with ps; [ aiohttp-cors ];
-    "locative.device_tracker" = ps: with ps; [ aiohttp-cors ];
     "lock" = ps: with ps; [  ];
     "lockitron" = ps: with ps; [  ];
-    "lockitron.lock" = ps: with ps; [  ];
     "logbook" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "logentries" = ps: with ps; [  ];
     "logger" = ps: with ps; [  ];
-    "logi_circle" = ps: with ps; [  ];
-    "logi_circle.camera" = ps: with ps; [  ];
-    "logi_circle.sensor" = ps: with ps; [  ];
+    "logi_circle" = ps: with ps; [ ha-ffmpeg ];
     "london_air" = ps: with ps; [  ];
-    "london_air.sensor" = ps: with ps; [  ];
     "london_underground" = ps: with ps; [  ];
-    "london_underground.sensor" = ps: with ps; [  ];
     "loopenergy" = ps: with ps; [  ];
-    "loopenergy.sensor" = ps: with ps; [  ];
     "lovelace" = ps: with ps; [  ];
     "luci" = ps: with ps; [  ];
-    "luci.device_tracker" = ps: with ps; [  ];
     "luftdaten" = ps: with ps; [ luftdaten ];
-    "luftdaten.config_flow" = ps: with ps; [  ];
-    "luftdaten.const" = ps: with ps; [  ];
-    "luftdaten.sensor" = ps: with ps; [ luftdaten ];
     "lupusec" = ps: with ps; [  ];
-    "lupusec.alarm_control_panel" = ps: with ps; [  ];
-    "lupusec.binary_sensor" = ps: with ps; [  ];
-    "lupusec.switch" = ps: with ps; [  ];
     "lutron" = ps: with ps; [  ];
-    "lutron.cover" = ps: with ps; [  ];
-    "lutron.light" = ps: with ps; [  ];
-    "lutron.scene" = ps: with ps; [  ];
-    "lutron.switch" = ps: with ps; [  ];
     "lutron_caseta" = ps: with ps; [  ];
-    "lutron_caseta.cover" = ps: with ps; [  ];
-    "lutron_caseta.light" = ps: with ps; [  ];
-    "lutron_caseta.scene" = ps: with ps; [  ];
-    "lutron_caseta.switch" = ps: with ps; [  ];
     "lw12wifi" = ps: with ps; [  ];
-    "lw12wifi.light" = ps: with ps; [  ];
     "lyft" = ps: with ps; [  ];
-    "lyft.sensor" = ps: with ps; [  ];
     "magicseaweed" = ps: with ps; [  ];
-    "magicseaweed.sensor" = ps: with ps; [  ];
     "mailbox" = ps: with ps; [ aiohttp-cors ];
     "mailgun" = ps: with ps; [ aiohttp-cors ];
-    "mailgun.notify" = ps: with ps; [ aiohttp-cors ];
     "manual" = ps: with ps; [  ];
-    "manual.alarm_control_panel" = ps: with ps; [  ];
-    "manual_mqtt" = ps: with ps; [  ];
-    "manual_mqtt.alarm_control_panel" = ps: with ps; [ paho-mqtt ];
-    "map" = ps: with ps; [  ];
+    "manual_mqtt" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
+    "map" = ps: with ps; [ aiohttp-cors ];
     "marytts" = ps: with ps; [  ];
-    "marytts.tts" = ps: with ps; [  ];
     "mastodon" = ps: with ps; [  ];
-    "mastodon.notify" = ps: with ps; [  ];
     "matrix" = ps: with ps; [ matrix-client ];
-    "matrix.notify" = ps: with ps; [ matrix-client ];
     "maxcube" = ps: with ps; [  ];
-    "maxcube.binary_sensor" = ps: with ps; [  ];
-    "maxcube.climate" = ps: with ps; [  ];
     "media_extractor" = ps: with ps; [ aiohttp-cors youtube-dl-light ];
     "media_player" = ps: with ps; [ aiohttp-cors ];
-    "media_player.const" = ps: with ps; [  ];
-    "media_player.reproduce_state" = ps: with ps; [  ];
     "mediaroom" = ps: with ps; [  ];
-    "mediaroom.media_player" = ps: with ps; [  ];
     "melissa" = ps: with ps; [  ];
-    "melissa.climate" = ps: with ps; [  ];
-    "meraki" = ps: with ps; [  ];
-    "meraki.device_tracker" = ps: with ps; [ aiohttp-cors ];
+    "meraki" = ps: with ps; [ aiohttp-cors ];
     "message_bird" = ps: with ps; [  ];
-    "message_bird.notify" = ps: with ps; [  ];
     "met" = ps: with ps; [  ];
-    "met.weather" = ps: with ps; [  ];
     "meteo_france" = ps: with ps; [  ];
-    "meteo_france.sensor" = ps: with ps; [  ];
-    "meteo_france.weather" = ps: with ps; [  ];
     "metoffice" = ps: with ps; [  ];
-    "metoffice.sensor" = ps: with ps; [  ];
-    "metoffice.weather" = ps: with ps; [  ];
     "mfi" = ps: with ps; [  ];
-    "mfi.sensor" = ps: with ps; [  ];
-    "mfi.switch" = ps: with ps; [  ];
     "mhz19" = ps: with ps; [  ];
-    "mhz19.sensor" = ps: with ps; [  ];
     "microsoft" = ps: with ps; [  ];
-    "microsoft.tts" = ps: with ps; [  ];
     "microsoft_face" = ps: with ps; [ aiohttp-cors ];
-    "microsoft_face_detect" = ps: with ps; [  ];
-    "microsoft_face_detect.image_processing" = ps: with ps; [ aiohttp-cors ];
-    "microsoft_face_identify" = ps: with ps; [  ];
-    "microsoft_face_identify.image_processing" = ps: with ps; [ aiohttp-cors ];
+    "microsoft_face_detect" = ps: with ps; [ aiohttp-cors ];
+    "microsoft_face_identify" = ps: with ps; [ aiohttp-cors ];
     "miflora" = ps: with ps; [  ];
-    "miflora.sensor" = ps: with ps; [  ];
     "mikrotik" = ps: with ps; [  ];
-    "mikrotik.device_tracker" = ps: with ps; [  ];
     "mill" = ps: with ps; [  ];
-    "mill.climate" = ps: with ps; [  ];
     "min_max" = ps: with ps; [  ];
-    "min_max.sensor" = ps: with ps; [  ];
     "mitemp_bt" = ps: with ps; [  ];
-    "mitemp_bt.sensor" = ps: with ps; [  ];
     "mjpeg" = ps: with ps; [  ];
-    "mjpeg.camera" = ps: with ps; [  ];
     "mobile_app" = ps: with ps; [ pynacl aiohttp-cors ];
-    "mobile_app.binary_sensor" = ps: with ps; [ pynacl aiohttp-cors ];
-    "mobile_app.const" = ps: with ps; [  ];
-    "mobile_app.entity" = ps: with ps; [  ];
-    "mobile_app.helpers" = ps: with ps; [  ];
-    "mobile_app.http_api" = ps: with ps; [  ];
-    "mobile_app.notify" = ps: with ps; [ pynacl aiohttp-cors ];
-    "mobile_app.sensor" = ps: with ps; [ pynacl aiohttp-cors ];
-    "mobile_app.webhook" = ps: with ps; [  ];
-    "mobile_app.websocket_api" = ps: with ps; [  ];
     "mochad" = ps: with ps; [  ];
-    "mochad.light" = ps: with ps; [  ];
-    "mochad.switch" = ps: with ps; [  ];
     "modbus" = ps: with ps; [  ];
-    "modbus.binary_sensor" = ps: with ps; [  ];
-    "modbus.climate" = ps: with ps; [  ];
-    "modbus.sensor" = ps: with ps; [  ];
-    "modbus.switch" = ps: with ps; [  ];
     "modem_callerid" = ps: with ps; [  ];
-    "modem_callerid.sensor" = ps: with ps; [  ];
     "mold_indicator" = ps: with ps; [  ];
-    "mold_indicator.sensor" = ps: with ps; [  ];
     "monoprice" = ps: with ps; [  ];
-    "monoprice.media_player" = ps: with ps; [  ];
     "moon" = ps: with ps; [  ];
-    "moon.sensor" = ps: with ps; [  ];
     "mopar" = ps: with ps; [  ];
-    "mopar.lock" = ps: with ps; [  ];
-    "mopar.sensor" = ps: with ps; [  ];
-    "mopar.switch" = ps: with ps; [  ];
     "mpchc" = ps: with ps; [  ];
-    "mpchc.media_player" = ps: with ps; [  ];
-    "mpd" = ps: with ps; [  ];
-    "mpd.media_player" = ps: with ps; [ mpd2 ];
-    "mqtt" = ps: with ps; [ paho-mqtt ];
-    "mqtt.alarm_control_panel" = ps: with ps; [ paho-mqtt ];
-    "mqtt.binary_sensor" = ps: with ps; [ paho-mqtt ];
-    "mqtt.camera" = ps: with ps; [ paho-mqtt ];
-    "mqtt.climate" = ps: with ps; [ paho-mqtt ];
-    "mqtt.config_flow" = ps: with ps; [  ];
-    "mqtt.const" = ps: with ps; [  ];
-    "mqtt.cover" = ps: with ps; [ paho-mqtt ];
-    "mqtt.device_tracker" = ps: with ps; [ paho-mqtt ];
-    "mqtt.discovery" = ps: with ps; [  ];
-    "mqtt.fan" = ps: with ps; [ paho-mqtt ];
-    "mqtt.light" = ps: with ps; [ paho-mqtt ];
-    "mqtt.lock" = ps: with ps; [ paho-mqtt ];
-    "mqtt.sensor" = ps: with ps; [ paho-mqtt ];
-    "mqtt.server" = ps: with ps; [ aiohttp-cors hbmqtt ];
-    "mqtt.subscription" = ps: with ps; [  ];
-    "mqtt.switch" = ps: with ps; [ paho-mqtt ];
-    "mqtt.vacuum" = ps: with ps; [ paho-mqtt ];
-    "mqtt_eventstream" = ps: with ps; [ paho-mqtt ];
-    "mqtt_json" = ps: with ps; [  ];
-    "mqtt_json.device_tracker" = ps: with ps; [ paho-mqtt ];
-    "mqtt_room" = ps: with ps; [  ];
-    "mqtt_room.sensor" = ps: with ps; [ paho-mqtt ];
-    "mqtt_statestream" = ps: with ps; [ paho-mqtt ];
-    "mvglive" = ps: with ps; [  ];
-    "mvglive.sensor" = ps: with ps; [ PyMVGLive ];
+    "mpd" = ps: with ps; [ mpd2 ];
+    "mqtt" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
+    "mqtt_eventstream" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
+    "mqtt_json" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
+    "mqtt_room" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
+    "mqtt_statestream" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
+    "mvglive" = ps: with ps; [ PyMVGLive ];
     "mychevy" = ps: with ps; [  ];
-    "mychevy.binary_sensor" = ps: with ps; [  ];
-    "mychevy.sensor" = ps: with ps; [  ];
     "mycroft" = ps: with ps; [  ];
-    "mycroft.notify" = ps: with ps; [  ];
     "myq" = ps: with ps; [  ];
-    "myq.cover" = ps: with ps; [  ];
     "mysensors" = ps: with ps; [  ];
-    "mysensors.binary_sensor" = ps: with ps; [  ];
-    "mysensors.climate" = ps: with ps; [  ];
-    "mysensors.const" = ps: with ps; [  ];
-    "mysensors.cover" = ps: with ps; [  ];
-    "mysensors.device" = ps: with ps; [  ];
-    "mysensors.device_tracker" = ps: with ps; [  ];
-    "mysensors.gateway" = ps: with ps; [  ];
-    "mysensors.handler" = ps: with ps; [  ];
-    "mysensors.helpers" = ps: with ps; [  ];
-    "mysensors.light" = ps: with ps; [  ];
-    "mysensors.notify" = ps: with ps; [  ];
-    "mysensors.sensor" = ps: with ps; [  ];
-    "mysensors.switch" = ps: with ps; [  ];
-    "mystrom" = ps: with ps; [  ];
-    "mystrom.binary_sensor" = ps: with ps; [ aiohttp-cors ];
-    "mystrom.light" = ps: with ps; [  ];
-    "mystrom.switch" = ps: with ps; [  ];
+    "mystrom" = ps: with ps; [ aiohttp-cors ];
     "mythicbeastsdns" = ps: with ps; [  ];
+    "n26" = ps: with ps; [  ];
     "nad" = ps: with ps; [  ];
-    "nad.media_player" = ps: with ps; [  ];
     "namecheapdns" = ps: with ps; [ defusedxml ];
     "nanoleaf" = ps: with ps; [  ];
-    "nanoleaf.light" = ps: with ps; [  ];
     "neato" = ps: with ps; [ pybotvac ];
-    "neato.camera" = ps: with ps; [ pybotvac ];
-    "neato.switch" = ps: with ps; [ pybotvac ];
-    "neato.vacuum" = ps: with ps; [ pybotvac ];
     "nederlandse_spoorwegen" = ps: with ps; [  ];
-    "nederlandse_spoorwegen.sensor" = ps: with ps; [  ];
     "nello" = ps: with ps; [  ];
-    "nello.lock" = ps: with ps; [  ];
     "ness_alarm" = ps: with ps; [  ];
-    "ness_alarm.alarm_control_panel" = ps: with ps; [  ];
-    "ness_alarm.binary_sensor" = ps: with ps; [  ];
     "nest" = ps: with ps; [  ];
-    "nest.binary_sensor" = ps: with ps; [  ];
-    "nest.camera" = ps: with ps; [  ];
-    "nest.climate" = ps: with ps; [  ];
-    "nest.config_flow" = ps: with ps; [  ];
-    "nest.const" = ps: with ps; [  ];
-    "nest.local_auth" = ps: with ps; [  ];
-    "nest.sensor" = ps: with ps; [  ];
     "netatmo" = ps: with ps; [ aiohttp-cors ];
-    "netatmo.binary_sensor" = ps: with ps; [ aiohttp-cors ];
-    "netatmo.camera" = ps: with ps; [ aiohttp-cors ];
-    "netatmo.climate" = ps: with ps; [ aiohttp-cors ];
-    "netatmo.sensor" = ps: with ps; [ aiohttp-cors ];
-    "netatmo_public" = ps: with ps; [  ];
-    "netatmo_public.sensor" = ps: with ps; [ aiohttp-cors ];
+    "netatmo_public" = ps: with ps; [ aiohttp-cors ];
     "netdata" = ps: with ps; [  ];
-    "netdata.sensor" = ps: with ps; [  ];
     "netgear" = ps: with ps; [  ];
-    "netgear.device_tracker" = ps: with ps; [  ];
     "netgear_lte" = ps: with ps; [  ];
-    "netgear_lte.notify" = ps: with ps; [  ];
-    "netgear_lte.sensor" = ps: with ps; [  ];
-    "netgear_lte.sensor_types" = ps: with ps; [  ];
-    "netio" = ps: with ps; [  ];
-    "netio.switch" = ps: with ps; [ aiohttp-cors ];
+    "netio" = ps: with ps; [ aiohttp-cors ];
     "neurio_energy" = ps: with ps; [  ];
-    "neurio_energy.sensor" = ps: with ps; [  ];
     "nfandroidtv" = ps: with ps; [  ];
-    "nfandroidtv.notify" = ps: with ps; [  ];
     "niko_home_control" = ps: with ps; [  ];
-    "niko_home_control.light" = ps: with ps; [  ];
     "nilu" = ps: with ps; [  ];
-    "nilu.air_quality" = ps: with ps; [  ];
     "nissan_leaf" = ps: with ps; [  ];
-    "nissan_leaf.binary_sensor" = ps: with ps; [  ];
-    "nissan_leaf.device_tracker" = ps: with ps; [  ];
-    "nissan_leaf.sensor" = ps: with ps; [  ];
-    "nissan_leaf.switch" = ps: with ps; [  ];
     "nmap_tracker" = ps: with ps; [  ];
-    "nmap_tracker.device_tracker" = ps: with ps; [  ];
     "nmbs" = ps: with ps; [  ];
-    "nmbs.sensor" = ps: with ps; [  ];
     "no_ip" = ps: with ps; [  ];
     "noaa_tides" = ps: with ps; [  ];
-    "noaa_tides.sensor" = ps: with ps; [  ];
     "norway_air" = ps: with ps; [  ];
-    "norway_air.air_quality" = ps: with ps; [  ];
     "notify" = ps: with ps; [  ];
     "nsw_fuel_station" = ps: with ps; [  ];
-    "nsw_fuel_station.sensor" = ps: with ps; [  ];
     "nsw_rural_fire_service_feed" = ps: with ps; [  ];
-    "nsw_rural_fire_service_feed.geo_location" = ps: with ps; [  ];
     "nuheat" = ps: with ps; [  ];
-    "nuheat.climate" = ps: with ps; [  ];
     "nuimo_controller" = ps: with ps; [  ];
     "nuki" = ps: with ps; [  ];
-    "nuki.lock" = ps: with ps; [  ];
     "nut" = ps: with ps; [  ];
-    "nut.sensor" = ps: with ps; [  ];
     "nx584" = ps: with ps; [  ];
-    "nx584.alarm_control_panel" = ps: with ps; [  ];
-    "nx584.binary_sensor" = ps: with ps; [  ];
     "nzbget" = ps: with ps; [  ];
-    "nzbget.sensor" = ps: with ps; [  ];
+    "oasa_telematics" = ps: with ps; [  ];
     "octoprint" = ps: with ps; [  ];
-    "octoprint.binary_sensor" = ps: with ps; [  ];
-    "octoprint.sensor" = ps: with ps; [  ];
     "oem" = ps: with ps; [  ];
-    "oem.climate" = ps: with ps; [  ];
-    "ohmconnect" = ps: with ps; [  ];
-    "ohmconnect.sensor" = ps: with ps; [ defusedxml ];
+    "ohmconnect" = ps: with ps; [ defusedxml ];
     "onboarding" = ps: with ps; [ aiohttp-cors ];
-    "onboarding.const" = ps: with ps; [  ];
-    "onboarding.views" = ps: with ps; [  ];
     "onewire" = ps: with ps; [  ];
-    "onewire.sensor" = ps: with ps; [  ];
-    "onkyo" = ps: with ps; [  ];
-    "onkyo.media_player" = ps: with ps; [ onkyo-eiscp ];
-    "onvif" = ps: with ps; [  ];
-    "onvif.camera" = ps: with ps; [ ha-ffmpeg ];
+    "onkyo" = ps: with ps; [ onkyo-eiscp ];
+    "onvif" = ps: with ps; [ ha-ffmpeg ];
     "openalpr_cloud" = ps: with ps; [  ];
-    "openalpr_cloud.image_processing" = ps: with ps; [  ];
     "openalpr_local" = ps: with ps; [  ];
-    "openalpr_local.image_processing" = ps: with ps; [  ];
-    "opencv" = ps: with ps; [  ];
-    "opencv.image_processing" = ps: with ps; [ numpy ];
+    "opencv" = ps: with ps; [ numpy ];
     "openevse" = ps: with ps; [  ];
-    "openevse.sensor" = ps: with ps; [  ];
     "openexchangerates" = ps: with ps; [  ];
-    "openexchangerates.sensor" = ps: with ps; [  ];
     "opengarage" = ps: with ps; [  ];
-    "opengarage.cover" = ps: with ps; [  ];
     "openhardwaremonitor" = ps: with ps; [  ];
-    "openhardwaremonitor.sensor" = ps: with ps; [  ];
     "openhome" = ps: with ps; [  ];
-    "openhome.media_player" = ps: with ps; [  ];
     "opensensemap" = ps: with ps; [  ];
-    "opensensemap.air_quality" = ps: with ps; [  ];
     "opensky" = ps: with ps; [  ];
-    "opensky.sensor" = ps: with ps; [  ];
     "opentherm_gw" = ps: with ps; [  ];
-    "opentherm_gw.binary_sensor" = ps: with ps; [  ];
-    "opentherm_gw.climate" = ps: with ps; [  ];
-    "opentherm_gw.sensor" = ps: with ps; [  ];
     "openuv" = ps: with ps; [  ];
-    "openuv.binary_sensor" = ps: with ps; [  ];
-    "openuv.config_flow" = ps: with ps; [  ];
-    "openuv.const" = ps: with ps; [  ];
-    "openuv.sensor" = ps: with ps; [  ];
-    "openweathermap" = ps: with ps; [  ];
-    "openweathermap.sensor" = ps: with ps; [ pyowm ];
-    "openweathermap.weather" = ps: with ps; [ pyowm ];
+    "openweathermap" = ps: with ps; [ pyowm ];
     "opple" = ps: with ps; [  ];
-    "opple.light" = ps: with ps; [  ];
     "orvibo" = ps: with ps; [  ];
-    "orvibo.switch" = ps: with ps; [  ];
     "osramlightify" = ps: with ps; [  ];
-    "osramlightify.light" = ps: with ps; [  ];
-    "otp" = ps: with ps; [  ];
-    "otp.sensor" = ps: with ps; [ pyotp ];
+    "otp" = ps: with ps; [ pyotp ];
     "owlet" = ps: with ps; [  ];
-    "owlet.binary_sensor" = ps: with ps; [  ];
-    "owlet.const" = ps: with ps; [  ];
-    "owlet.sensor" = ps: with ps; [  ];
     "owntracks" = ps: with ps; [ pynacl aiohttp-cors ];
-    "owntracks.config_flow" = ps: with ps; [  ];
-    "owntracks.device_tracker" = ps: with ps; [ pynacl aiohttp-cors ];
     "panasonic_bluray" = ps: with ps; [  ];
-    "panasonic_bluray.media_player" = ps: with ps; [  ];
-    "panasonic_viera" = ps: with ps; [  ];
-    "panasonic_viera.media_player" = ps: with ps; [ wakeonlan ];
-    "pandora" = ps: with ps; [  ];
-    "pandora.media_player" = ps: with ps; [ pexpect ];
+    "panasonic_viera" = ps: with ps; [ wakeonlan ];
+    "pandora" = ps: with ps; [ pexpect ];
     "panel_custom" = ps: with ps; [ aiohttp-cors ];
     "panel_iframe" = ps: with ps; [ aiohttp-cors ];
     "pencom" = ps: with ps; [  ];
-    "pencom.switch" = ps: with ps; [  ];
     "persistent_notification" = ps: with ps; [  ];
     "person" = ps: with ps; [  ];
     "philips_js" = ps: with ps; [  ];
-    "philips_js.media_player" = ps: with ps; [  ];
     "pi_hole" = ps: with ps; [  ];
-    "pi_hole.sensor" = ps: with ps; [  ];
     "picotts" = ps: with ps; [  ];
-    "picotts.tts" = ps: with ps; [  ];
     "piglow" = ps: with ps; [  ];
-    "piglow.light" = ps: with ps; [  ];
     "pilight" = ps: with ps; [  ];
-    "pilight.binary_sensor" = ps: with ps; [  ];
-    "pilight.sensor" = ps: with ps; [  ];
-    "pilight.switch" = ps: with ps; [  ];
     "ping" = ps: with ps; [  ];
-    "ping.binary_sensor" = ps: with ps; [  ];
-    "ping.device_tracker" = ps: with ps; [  ];
     "pioneer" = ps: with ps; [  ];
-    "pioneer.media_player" = ps: with ps; [  ];
     "pjlink" = ps: with ps; [  ];
-    "pjlink.media_player" = ps: with ps; [  ];
     "plant" = ps: with ps; [  ];
     "plex" = ps: with ps; [  ];
-    "plex.media_player" = ps: with ps; [  ];
-    "plex.sensor" = ps: with ps; [  ];
     "plum_lightpad" = ps: with ps; [  ];
-    "plum_lightpad.light" = ps: with ps; [  ];
     "pocketcasts" = ps: with ps; [  ];
-    "pocketcasts.sensor" = ps: with ps; [  ];
     "point" = ps: with ps; [ aiohttp-cors ];
-    "point.alarm_control_panel" = ps: with ps; [  ];
-    "point.binary_sensor" = ps: with ps; [  ];
-    "point.config_flow" = ps: with ps; [  ];
-    "point.const" = ps: with ps; [  ];
-    "point.sensor" = ps: with ps; [  ];
-    "pollen" = ps: with ps; [  ];
-    "pollen.sensor" = ps: with ps; [ numpy ];
+    "pollen" = ps: with ps; [ numpy ];
     "postnl" = ps: with ps; [  ];
-    "postnl.sensor" = ps: with ps; [  ];
     "prezzibenzina" = ps: with ps; [  ];
-    "prezzibenzina.sensor" = ps: with ps; [  ];
     "proliphix" = ps: with ps; [  ];
-    "proliphix.climate" = ps: with ps; [  ];
     "prometheus" = ps: with ps; [ aiohttp-cors prometheus_client ];
     "prowl" = ps: with ps; [  ];
-    "prowl.notify" = ps: with ps; [  ];
     "proximity" = ps: with ps; [  ];
-    "proxy" = ps: with ps; [  ];
-    "proxy.camera" = ps: with ps; [ pillow ];
+    "proxy" = ps: with ps; [ pillow ];
     "ps4" = ps: with ps; [  ];
-    "ps4.config_flow" = ps: with ps; [  ];
-    "ps4.const" = ps: with ps; [  ];
-    "ps4.media_player" = ps: with ps; [  ];
     "pulseaudio_loopback" = ps: with ps; [  ];
-    "pulseaudio_loopback.switch" = ps: with ps; [  ];
-    "push" = ps: with ps; [  ];
-    "push.camera" = ps: with ps; [ aiohttp-cors ];
-    "pushbullet" = ps: with ps; [  ];
-    "pushbullet.notify" = ps: with ps; [ pushbullet ];
-    "pushbullet.sensor" = ps: with ps; [ pushbullet ];
+    "push" = ps: with ps; [ aiohttp-cors ];
+    "pushbullet" = ps: with ps; [ pushbullet ];
     "pushetta" = ps: with ps; [  ];
-    "pushetta.notify" = ps: with ps; [  ];
-    "pushover" = ps: with ps; [  ];
-    "pushover.notify" = ps: with ps; [ python-pushover ];
+    "pushover" = ps: with ps; [ python-pushover ];
     "pushsafer" = ps: with ps; [  ];
-    "pushsafer.notify" = ps: with ps; [  ];
     "pvoutput" = ps: with ps; [  ];
-    "pvoutput.sensor" = ps: with ps; [  ];
     "pyload" = ps: with ps; [  ];
-    "pyload.sensor" = ps: with ps; [  ];
     "python_script" = ps: with ps; [  ];
     "qbittorrent" = ps: with ps; [  ];
-    "qbittorrent.sensor" = ps: with ps; [  ];
     "qnap" = ps: with ps; [  ];
-    "qnap.sensor" = ps: with ps; [  ];
-    "qrcode" = ps: with ps; [  ];
-    "qrcode.image_processing" = ps: with ps; [ pillow ];
+    "qrcode" = ps: with ps; [ pillow ];
     "quantum_gateway" = ps: with ps; [  ];
-    "quantum_gateway.device_tracker" = ps: with ps; [  ];
     "qwikswitch" = ps: with ps; [  ];
-    "qwikswitch.binary_sensor" = ps: with ps; [  ];
-    "qwikswitch.light" = ps: with ps; [  ];
-    "qwikswitch.sensor" = ps: with ps; [  ];
-    "qwikswitch.switch" = ps: with ps; [  ];
     "rachio" = ps: with ps; [  ];
-    "rachio.binary_sensor" = ps: with ps; [  ];
-    "rachio.switch" = ps: with ps; [  ];
     "radarr" = ps: with ps; [  ];
-    "radarr.sensor" = ps: with ps; [  ];
     "radiotherm" = ps: with ps; [  ];
-    "radiotherm.climate" = ps: with ps; [  ];
     "rainbird" = ps: with ps; [  ];
-    "rainbird.sensor" = ps: with ps; [  ];
-    "rainbird.switch" = ps: with ps; [  ];
     "raincloud" = ps: with ps; [  ];
-    "raincloud.binary_sensor" = ps: with ps; [  ];
-    "raincloud.sensor" = ps: with ps; [  ];
-    "raincloud.switch" = ps: with ps; [  ];
     "rainmachine" = ps: with ps; [  ];
-    "rainmachine.binary_sensor" = ps: with ps; [  ];
-    "rainmachine.config_flow" = ps: with ps; [  ];
-    "rainmachine.const" = ps: with ps; [  ];
-    "rainmachine.sensor" = ps: with ps; [  ];
-    "rainmachine.switch" = ps: with ps; [  ];
     "random" = ps: with ps; [  ];
-    "random.binary_sensor" = ps: with ps; [  ];
-    "random.sensor" = ps: with ps; [  ];
     "raspihats" = ps: with ps; [  ];
-    "raspihats.binary_sensor" = ps: with ps; [  ];
-    "raspihats.switch" = ps: with ps; [  ];
     "raspyrfm" = ps: with ps; [  ];
-    "raspyrfm.switch" = ps: with ps; [  ];
     "recollect_waste" = ps: with ps; [  ];
-    "recollect_waste.sensor" = ps: with ps; [  ];
     "recorder" = ps: with ps; [ sqlalchemy ];
-    "recorder.const" = ps: with ps; [  ];
-    "recorder.migration" = ps: with ps; [  ];
-    "recorder.purge" = ps: with ps; [  ];
-    "recorder.util" = ps: with ps; [  ];
     "recswitch" = ps: with ps; [  ];
-    "recswitch.switch" = ps: with ps; [  ];
-    "reddit" = ps: with ps; [  ];
-    "reddit.sensor" = ps: with ps; [ praw ];
+    "reddit" = ps: with ps; [ praw ];
     "rejseplanen" = ps: with ps; [  ];
-    "rejseplanen.sensor" = ps: with ps; [  ];
     "remember_the_milk" = ps: with ps; [ httplib2 ];
     "remote" = ps: with ps; [  ];
     "rest" = ps: with ps; [  ];
-    "rest.binary_sensor" = ps: with ps; [  ];
-    "rest.notify" = ps: with ps; [  ];
-    "rest.sensor" = ps: with ps; [  ];
-    "rest.switch" = ps: with ps; [  ];
     "rest_command" = ps: with ps; [  ];
     "rflink" = ps: with ps; [  ];
-    "rflink.binary_sensor" = ps: with ps; [  ];
-    "rflink.cover" = ps: with ps; [  ];
-    "rflink.light" = ps: with ps; [  ];
-    "rflink.sensor" = ps: with ps; [  ];
-    "rflink.switch" = ps: with ps; [  ];
     "rfxtrx" = ps: with ps; [  ];
-    "rfxtrx.binary_sensor" = ps: with ps; [  ];
-    "rfxtrx.cover" = ps: with ps; [  ];
-    "rfxtrx.light" = ps: with ps; [  ];
-    "rfxtrx.sensor" = ps: with ps; [  ];
-    "rfxtrx.switch" = ps: with ps; [  ];
-    "ring" = ps: with ps; [  ];
-    "ring.binary_sensor" = ps: with ps; [  ];
-    "ring.camera" = ps: with ps; [ ha-ffmpeg ];
-    "ring.sensor" = ps: with ps; [  ];
+    "ring" = ps: with ps; [ ha-ffmpeg ];
     "ripple" = ps: with ps; [  ];
-    "ripple.sensor" = ps: with ps; [  ];
     "ritassist" = ps: with ps; [  ];
-    "ritassist.device_tracker" = ps: with ps; [  ];
     "rmvtransport" = ps: with ps; [  ];
-    "rmvtransport.sensor" = ps: with ps; [  ];
     "rocketchat" = ps: with ps; [  ];
-    "rocketchat.notify" = ps: with ps; [  ];
     "roku" = ps: with ps; [  ];
-    "roku.media_player" = ps: with ps; [  ];
-    "roku.remote" = ps: with ps; [  ];
     "roomba" = ps: with ps; [  ];
-    "roomba.vacuum" = ps: with ps; [  ];
     "route53" = ps: with ps; [ boto3 ];
     "rova" = ps: with ps; [  ];
-    "rova.sensor" = ps: with ps; [  ];
     "rpi_camera" = ps: with ps; [  ];
-    "rpi_camera.camera" = ps: with ps; [  ];
     "rpi_gpio" = ps: with ps; [  ];
-    "rpi_gpio.binary_sensor" = ps: with ps; [  ];
-    "rpi_gpio.cover" = ps: with ps; [  ];
-    "rpi_gpio.switch" = ps: with ps; [  ];
     "rpi_gpio_pwm" = ps: with ps; [  ];
-    "rpi_gpio_pwm.light" = ps: with ps; [  ];
     "rpi_pfio" = ps: with ps; [  ];
-    "rpi_pfio.binary_sensor" = ps: with ps; [  ];
-    "rpi_pfio.switch" = ps: with ps; [  ];
     "rpi_rf" = ps: with ps; [  ];
-    "rpi_rf.switch" = ps: with ps; [  ];
     "rss_feed_template" = ps: with ps; [ aiohttp-cors ];
     "rtorrent" = ps: with ps; [  ];
-    "rtorrent.sensor" = ps: with ps; [  ];
     "russound_rio" = ps: with ps; [  ];
-    "russound_rio.media_player" = ps: with ps; [  ];
     "russound_rnet" = ps: with ps; [  ];
-    "russound_rnet.media_player" = ps: with ps; [  ];
     "ruter" = ps: with ps; [  ];
-    "ruter.sensor" = ps: with ps; [  ];
     "sabnzbd" = ps: with ps; [  ];
-    "sabnzbd.sensor" = ps: with ps; [  ];
-    "samsungtv" = ps: with ps; [  ];
-    "samsungtv.media_player" = ps: with ps; [ wakeonlan ];
+    "samsungtv" = ps: with ps; [ wakeonlan ];
     "satel_integra" = ps: with ps; [  ];
-    "satel_integra.alarm_control_panel" = ps: with ps; [  ];
-    "satel_integra.binary_sensor" = ps: with ps; [  ];
     "scene" = ps: with ps; [  ];
-    "scrape" = ps: with ps; [  ];
-    "scrape.sensor" = ps: with ps; [ beautifulsoup4 ];
+    "scrape" = ps: with ps; [ beautifulsoup4 ];
     "script" = ps: with ps; [  ];
     "scsgate" = ps: with ps; [  ];
-    "scsgate.cover" = ps: with ps; [  ];
-    "scsgate.light" = ps: with ps; [  ];
-    "scsgate.switch" = ps: with ps; [  ];
-    "season" = ps: with ps; [  ];
-    "season.sensor" = ps: with ps; [ ephem ];
+    "season" = ps: with ps; [ ephem ];
     "sendgrid" = ps: with ps; [  ];
-    "sendgrid.notify" = ps: with ps; [  ];
     "sense" = ps: with ps; [  ];
-    "sense.binary_sensor" = ps: with ps; [  ];
-    "sense.sensor" = ps: with ps; [  ];
     "sensehat" = ps: with ps; [  ];
-    "sensehat.light" = ps: with ps; [  ];
-    "sensehat.sensor" = ps: with ps; [  ];
     "sensibo" = ps: with ps; [  ];
-    "sensibo.climate" = ps: with ps; [  ];
     "sensor" = ps: with ps; [  ];
     "serial" = ps: with ps; [  ];
-    "serial.sensor" = ps: with ps; [  ];
     "serial_pm" = ps: with ps; [  ];
-    "serial_pm.sensor" = ps: with ps; [  ];
     "sesame" = ps: with ps; [  ];
-    "sesame.lock" = ps: with ps; [  ];
     "seven_segments" = ps: with ps; [  ];
-    "seven_segments.image_processing" = ps: with ps; [  ];
     "seventeentrack" = ps: with ps; [  ];
-    "seventeentrack.sensor" = ps: with ps; [  ];
     "shell_command" = ps: with ps; [  ];
     "shiftr" = ps: with ps; [ paho-mqtt ];
-    "shodan" = ps: with ps; [  ];
-    "shodan.sensor" = ps: with ps; [ shodan ];
+    "shodan" = ps: with ps; [ shodan ];
     "shopping_list" = ps: with ps; [ aiohttp-cors ];
     "sht31" = ps: with ps; [  ];
-    "sht31.sensor" = ps: with ps; [  ];
     "sigfox" = ps: with ps; [  ];
-    "sigfox.sensor" = ps: with ps; [  ];
     "simplepush" = ps: with ps; [  ];
-    "simplepush.notify" = ps: with ps; [  ];
     "simplisafe" = ps: with ps; [  ];
-    "simplisafe.alarm_control_panel" = ps: with ps; [  ];
-    "simplisafe.config_flow" = ps: with ps; [  ];
-    "simplisafe.const" = ps: with ps; [  ];
     "simulated" = ps: with ps; [  ];
-    "simulated.sensor" = ps: with ps; [  ];
     "sisyphus" = ps: with ps; [  ];
-    "sisyphus.light" = ps: with ps; [  ];
-    "sisyphus.media_player" = ps: with ps; [  ];
     "sky_hub" = ps: with ps; [  ];
-    "sky_hub.device_tracker" = ps: with ps; [  ];
     "skybeacon" = ps: with ps; [  ];
-    "skybeacon.sensor" = ps: with ps; [  ];
     "skybell" = ps: with ps; [  ];
-    "skybell.binary_sensor" = ps: with ps; [  ];
-    "skybell.camera" = ps: with ps; [  ];
-    "skybell.light" = ps: with ps; [  ];
-    "skybell.sensor" = ps: with ps; [  ];
-    "skybell.switch" = ps: with ps; [  ];
     "slack" = ps: with ps; [  ];
-    "slack.notify" = ps: with ps; [  ];
     "sleepiq" = ps: with ps; [  ];
-    "sleepiq.binary_sensor" = ps: with ps; [  ];
-    "sleepiq.sensor" = ps: with ps; [  ];
     "sma" = ps: with ps; [  ];
-    "sma.sensor" = ps: with ps; [  ];
     "smappee" = ps: with ps; [  ];
-    "smappee.sensor" = ps: with ps; [  ];
-    "smappee.switch" = ps: with ps; [  ];
     "smartthings" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.binary_sensor" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.climate" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.config_flow" = ps: with ps; [  ];
-    "smartthings.const" = ps: with ps; [  ];
-    "smartthings.cover" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.fan" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.light" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.lock" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.scene" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.sensor" = ps: with ps; [ aiohttp-cors ];
-    "smartthings.smartapp" = ps: with ps; [  ];
-    "smartthings.switch" = ps: with ps; [ aiohttp-cors ];
     "smhi" = ps: with ps; [  ];
-    "smhi.config_flow" = ps: with ps; [  ];
-    "smhi.const" = ps: with ps; [  ];
-    "smhi.weather" = ps: with ps; [  ];
     "smtp" = ps: with ps; [  ];
-    "smtp.notify" = ps: with ps; [  ];
-    "snapcast" = ps: with ps; [  ];
-    "snapcast.media_player" = ps: with ps; [ snapcast ];
-    "snips" = ps: with ps; [ paho-mqtt ];
-    "snmp" = ps: with ps; [  ];
-    "snmp.device_tracker" = ps: with ps; [ pysnmp ];
-    "snmp.sensor" = ps: with ps; [ pysnmp ];
-    "snmp.switch" = ps: with ps; [ pysnmp ];
+    "snapcast" = ps: with ps; [ snapcast ];
+    "snips" = ps: with ps; [ aiohttp-cors hbmqtt paho-mqtt ];
+    "snmp" = ps: with ps; [ pysnmp ];
     "sochain" = ps: with ps; [  ];
-    "sochain.sensor" = ps: with ps; [  ];
     "socialblade" = ps: with ps; [  ];
-    "socialblade.sensor" = ps: with ps; [  ];
     "solaredge" = ps: with ps; [  ];
-    "solaredge.sensor" = ps: with ps; [  ];
+    "somfy_mylink" = ps: with ps; [  ];
     "sonarr" = ps: with ps; [  ];
-    "sonarr.sensor" = ps: with ps; [  ];
     "songpal" = ps: with ps; [  ];
-    "songpal.media_player" = ps: with ps; [  ];
     "sonos" = ps: with ps; [  ];
-    "sonos.media_player" = ps: with ps; [  ];
     "sony_projector" = ps: with ps; [  ];
-    "sony_projector.switch" = ps: with ps; [  ];
-    "soundtouch" = ps: with ps; [  ];
-    "soundtouch.media_player" = ps: with ps; [ libsoundtouch ];
+    "soundtouch" = ps: with ps; [ libsoundtouch ];
     "spaceapi" = ps: with ps; [ aiohttp-cors ];
     "spc" = ps: with ps; [  ];
-    "spc.alarm_control_panel" = ps: with ps; [  ];
-    "spc.binary_sensor" = ps: with ps; [  ];
     "speedtestdotnet" = ps: with ps; [ speedtest-cli ];
-    "speedtestdotnet.const" = ps: with ps; [  ];
-    "speedtestdotnet.sensor" = ps: with ps; [ speedtest-cli ];
     "spider" = ps: with ps; [  ];
-    "spider.climate" = ps: with ps; [  ];
-    "spider.switch" = ps: with ps; [  ];
     "splunk" = ps: with ps; [  ];
     "spotcrime" = ps: with ps; [  ];
-    "spotcrime.sensor" = ps: with ps; [  ];
-    "spotify" = ps: with ps; [  ];
-    "spotify.media_player" = ps: with ps; [ aiohttp-cors ];
-    "sql" = ps: with ps; [  ];
-    "sql.sensor" = ps: with ps; [ sqlalchemy ];
+    "spotify" = ps: with ps; [ aiohttp-cors ];
+    "sql" = ps: with ps; [ sqlalchemy ];
     "squeezebox" = ps: with ps; [  ];
-    "squeezebox.media_player" = ps: with ps; [  ];
     "srp_energy" = ps: with ps; [  ];
-    "srp_energy.sensor" = ps: with ps; [  ];
     "starlingbank" = ps: with ps; [  ];
-    "starlingbank.sensor" = ps: with ps; [  ];
-    "startca" = ps: with ps; [  ];
-    "startca.sensor" = ps: with ps; [ xmltodict ];
+    "startca" = ps: with ps; [ xmltodict ];
     "statistics" = ps: with ps; [  ];
-    "statistics.sensor" = ps: with ps; [  ];
     "statsd" = ps: with ps; [ statsd ];
     "steam_online" = ps: with ps; [  ];
-    "steam_online.sensor" = ps: with ps; [  ];
+    "stiebel_eltron" = ps: with ps; [  ];
     "stream" = ps: with ps; [ aiohttp-cors av ];
-    "stream.const" = ps: with ps; [  ];
-    "stream.core" = ps: with ps; [  ];
-    "stream.hls" = ps: with ps; [  ];
-    "stream.recorder" = ps: with ps; [  ];
-    "stream.worker" = ps: with ps; [  ];
     "stride" = ps: with ps; [  ];
-    "stride.notify" = ps: with ps; [  ];
     "sun" = ps: with ps; [  ];
     "supervisord" = ps: with ps; [  ];
-    "supervisord.sensor" = ps: with ps; [  ];
+    "supla" = ps: with ps; [  ];
     "swiss_hydrological_data" = ps: with ps; [  ];
-    "swiss_hydrological_data.sensor" = ps: with ps; [  ];
     "swiss_public_transport" = ps: with ps; [  ];
-    "swiss_public_transport.sensor" = ps: with ps; [  ];
     "swisscom" = ps: with ps; [  ];
-    "swisscom.device_tracker" = ps: with ps; [  ];
     "switch" = ps: with ps; [  ];
-    "switch.light" = ps: with ps; [  ];
     "switchbot" = ps: with ps; [  ];
-    "switchbot.switch" = ps: with ps; [  ];
     "switchmate" = ps: with ps; [  ];
-    "switchmate.switch" = ps: with ps; [  ];
     "syncthru" = ps: with ps; [  ];
-    "syncthru.sensor" = ps: with ps; [  ];
     "synology" = ps: with ps; [  ];
-    "synology.camera" = ps: with ps; [  ];
     "synology_chat" = ps: with ps; [  ];
-    "synology_chat.notify" = ps: with ps; [  ];
     "synology_srm" = ps: with ps; [  ];
-    "synology_srm.device_tracker" = ps: with ps; [  ];
     "synologydsm" = ps: with ps; [  ];
-    "synologydsm.sensor" = ps: with ps; [  ];
     "syslog" = ps: with ps; [  ];
-    "syslog.notify" = ps: with ps; [  ];
     "system_health" = ps: with ps; [ aiohttp-cors ];
     "system_log" = ps: with ps; [ aiohttp-cors ];
-    "systemmonitor" = ps: with ps; [  ];
-    "systemmonitor.sensor" = ps: with ps; [ psutil ];
-    "sytadin" = ps: with ps; [  ];
-    "sytadin.sensor" = ps: with ps; [ beautifulsoup4 ];
+    "systemmonitor" = ps: with ps; [ psutil ];
+    "sytadin" = ps: with ps; [ beautifulsoup4 ];
     "tado" = ps: with ps; [  ];
-    "tado.climate" = ps: with ps; [  ];
-    "tado.device_tracker" = ps: with ps; [  ];
-    "tado.sensor" = ps: with ps; [  ];
     "tahoma" = ps: with ps; [  ];
-    "tahoma.binary_sensor" = ps: with ps; [  ];
-    "tahoma.cover" = ps: with ps; [  ];
-    "tahoma.scene" = ps: with ps; [  ];
-    "tahoma.sensor" = ps: with ps; [  ];
-    "tahoma.switch" = ps: with ps; [  ];
     "tank_utility" = ps: with ps; [  ];
-    "tank_utility.sensor" = ps: with ps; [  ];
     "tapsaff" = ps: with ps; [  ];
-    "tapsaff.binary_sensor" = ps: with ps; [  ];
     "tautulli" = ps: with ps; [  ];
-    "tautulli.sensor" = ps: with ps; [  ];
     "tcp" = ps: with ps; [  ];
-    "tcp.binary_sensor" = ps: with ps; [  ];
-    "tcp.sensor" = ps: with ps; [  ];
-    "ted5000" = ps: with ps; [  ];
-    "ted5000.sensor" = ps: with ps; [ xmltodict ];
+    "ted5000" = ps: with ps; [ xmltodict ];
     "teksavvy" = ps: with ps; [  ];
-    "teksavvy.sensor" = ps: with ps; [  ];
-    "telegram" = ps: with ps; [  ];
-    "telegram.notify" = ps: with ps; [ python-telegram-bot ];
-    "telegram_bot" = ps: with ps; [ python-telegram-bot ];
-    "telegram_bot.broadcast" = ps: with ps; [  ];
-    "telegram_bot.polling" = ps: with ps; [  ];
-    "telegram_bot.webhooks" = ps: with ps; [ aiohttp-cors ];
+    "telegram" = ps: with ps; [ aiohttp-cors python-telegram-bot ];
+    "telegram_bot" = ps: with ps; [ aiohttp-cors python-telegram-bot ];
     "tellduslive" = ps: with ps; [  ];
-    "tellduslive.binary_sensor" = ps: with ps; [  ];
-    "tellduslive.config_flow" = ps: with ps; [  ];
-    "tellduslive.const" = ps: with ps; [  ];
-    "tellduslive.cover" = ps: with ps; [  ];
-    "tellduslive.entry" = ps: with ps; [  ];
-    "tellduslive.light" = ps: with ps; [  ];
-    "tellduslive.sensor" = ps: with ps; [  ];
-    "tellduslive.switch" = ps: with ps; [  ];
     "tellstick" = ps: with ps; [  ];
-    "tellstick.cover" = ps: with ps; [  ];
-    "tellstick.light" = ps: with ps; [  ];
-    "tellstick.sensor" = ps: with ps; [  ];
-    "tellstick.switch" = ps: with ps; [  ];
     "telnet" = ps: with ps; [  ];
-    "telnet.switch" = ps: with ps; [  ];
     "temper" = ps: with ps; [  ];
-    "temper.sensor" = ps: with ps; [  ];
     "template" = ps: with ps; [  ];
-    "template.binary_sensor" = ps: with ps; [  ];
-    "template.cover" = ps: with ps; [  ];
-    "template.fan" = ps: with ps; [  ];
-    "template.light" = ps: with ps; [  ];
-    "template.lock" = ps: with ps; [  ];
-    "template.sensor" = ps: with ps; [  ];
-    "template.switch" = ps: with ps; [  ];
-    "tensorflow" = ps: with ps; [  ];
-    "tensorflow.image_processing" = ps: with ps; [ numpy pillow protobuf ];
+    "tensorflow" = ps: with ps; [ numpy pillow protobuf ];
     "tesla" = ps: with ps; [  ];
-    "tesla.binary_sensor" = ps: with ps; [  ];
-    "tesla.climate" = ps: with ps; [  ];
-    "tesla.device_tracker" = ps: with ps; [  ];
-    "tesla.lock" = ps: with ps; [  ];
-    "tesla.sensor" = ps: with ps; [  ];
-    "tesla.switch" = ps: with ps; [  ];
     "tfiac" = ps: with ps; [  ];
-    "tfiac.climate" = ps: with ps; [  ];
     "thermoworks_smoke" = ps: with ps; [  ];
-    "thermoworks_smoke.sensor" = ps: with ps; [  ];
     "thethingsnetwork" = ps: with ps; [  ];
-    "thethingsnetwork.sensor" = ps: with ps; [  ];
     "thingspeak" = ps: with ps; [  ];
     "thinkingcleaner" = ps: with ps; [  ];
-    "thinkingcleaner.sensor" = ps: with ps; [  ];
-    "thinkingcleaner.switch" = ps: with ps; [  ];
     "thomson" = ps: with ps; [  ];
-    "thomson.device_tracker" = ps: with ps; [  ];
     "threshold" = ps: with ps; [  ];
-    "threshold.binary_sensor" = ps: with ps; [  ];
     "tibber" = ps: with ps; [  ];
-    "tibber.notify" = ps: with ps; [  ];
-    "tibber.sensor" = ps: with ps; [  ];
     "tikteck" = ps: with ps; [  ];
-    "tikteck.light" = ps: with ps; [  ];
     "tile" = ps: with ps; [  ];
-    "tile.device_tracker" = ps: with ps; [  ];
     "time_date" = ps: with ps; [  ];
-    "time_date.sensor" = ps: with ps; [  ];
     "timer" = ps: with ps; [  ];
     "tod" = ps: with ps; [  ];
-    "tod.binary_sensor" = ps: with ps; [  ];
-    "todoist" = ps: with ps; [  ];
-    "todoist.calendar" = ps: with ps; [ todoist ];
+    "todoist" = ps: with ps; [ todoist ];
     "tof" = ps: with ps; [  ];
-    "tof.sensor" = ps: with ps; [  ];
     "tomato" = ps: with ps; [  ];
-    "tomato.device_tracker" = ps: with ps; [  ];
     "toon" = ps: with ps; [  ];
-    "toon.binary_sensor" = ps: with ps; [  ];
-    "toon.climate" = ps: with ps; [  ];
-    "toon.config_flow" = ps: with ps; [  ];
-    "toon.const" = ps: with ps; [  ];
-    "toon.sensor" = ps: with ps; [  ];
-    "torque" = ps: with ps; [  ];
-    "torque.sensor" = ps: with ps; [ aiohttp-cors ];
+    "torque" = ps: with ps; [ aiohttp-cors ];
     "totalconnect" = ps: with ps; [  ];
-    "totalconnect.alarm_control_panel" = ps: with ps; [  ];
     "touchline" = ps: with ps; [  ];
-    "touchline.climate" = ps: with ps; [  ];
     "tplink" = ps: with ps; [  ];
-    "tplink.device_tracker" = ps: with ps; [  ];
-    "tplink.light" = ps: with ps; [  ];
-    "tplink.switch" = ps: with ps; [  ];
     "tplink_lte" = ps: with ps; [  ];
-    "tplink_lte.notify" = ps: with ps; [  ];
     "traccar" = ps: with ps; [  ];
-    "traccar.device_tracker" = ps: with ps; [  ];
     "trackr" = ps: with ps; [  ];
-    "trackr.device_tracker" = ps: with ps; [  ];
     "tradfri" = ps: with ps; [  ];
-    "tradfri.config_flow" = ps: with ps; [  ];
-    "tradfri.const" = ps: with ps; [  ];
-    "tradfri.light" = ps: with ps; [  ];
-    "tradfri.sensor" = ps: with ps; [  ];
-    "tradfri.switch" = ps: with ps; [  ];
     "trafikverket_weatherstation" = ps: with ps; [  ];
-    "trafikverket_weatherstation.sensor" = ps: with ps; [  ];
     "transmission" = ps: with ps; [ transmissionrpc ];
-    "transmission.sensor" = ps: with ps; [ transmissionrpc ];
-    "transmission.switch" = ps: with ps; [ transmissionrpc ];
     "transport_nsw" = ps: with ps; [  ];
-    "transport_nsw.sensor" = ps: with ps; [  ];
     "travisci" = ps: with ps; [  ];
-    "travisci.sensor" = ps: with ps; [  ];
-    "trend" = ps: with ps; [  ];
-    "trend.binary_sensor" = ps: with ps; [ numpy ];
+    "trend" = ps: with ps; [ numpy ];
     "tts" = ps: with ps; [ aiohttp-cors mutagen ];
     "tuya" = ps: with ps; [  ];
-    "tuya.climate" = ps: with ps; [  ];
-    "tuya.cover" = ps: with ps; [  ];
-    "tuya.fan" = ps: with ps; [  ];
-    "tuya.light" = ps: with ps; [  ];
-    "tuya.scene" = ps: with ps; [  ];
-    "tuya.switch" = ps: with ps; [  ];
     "twilio" = ps: with ps; [ aiohttp-cors twilio ];
-    "twilio_call" = ps: with ps; [  ];
-    "twilio_call.notify" = ps: with ps; [ aiohttp-cors twilio ];
-    "twilio_sms" = ps: with ps; [  ];
-    "twilio_sms.notify" = ps: with ps; [ aiohttp-cors twilio ];
+    "twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
+    "twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
     "twitch" = ps: with ps; [  ];
-    "twitch.sensor" = ps: with ps; [  ];
     "twitter" = ps: with ps; [  ];
-    "twitter.notify" = ps: with ps; [  ];
     "ubee" = ps: with ps; [  ];
-    "ubee.device_tracker" = ps: with ps; [  ];
     "uber" = ps: with ps; [  ];
-    "uber.sensor" = ps: with ps; [  ];
     "ubus" = ps: with ps; [  ];
-    "ubus.device_tracker" = ps: with ps; [  ];
     "ue_smart_radio" = ps: with ps; [  ];
-    "ue_smart_radio.media_player" = ps: with ps; [  ];
     "uk_transport" = ps: with ps; [  ];
-    "uk_transport.sensor" = ps: with ps; [  ];
-    "unifi" = ps: with ps; [ aiounifi ];
-    "unifi.const" = ps: with ps; [  ];
-    "unifi.controller" = ps: with ps; [  ];
-    "unifi.device_tracker" = ps: with ps; [ pyunifi ];
-    "unifi.errors" = ps: with ps; [  ];
-    "unifi.switch" = ps: with ps; [ aiounifi ];
-    "unifi_direct" = ps: with ps; [  ];
-    "unifi_direct.device_tracker" = ps: with ps; [ pexpect ];
+    "unifi" = ps: with ps; [ aiounifi pyunifi ];
+    "unifi_direct" = ps: with ps; [ pexpect ];
     "universal" = ps: with ps; [  ];
-    "universal.media_player" = ps: with ps; [  ];
-    "upc_connect" = ps: with ps; [  ];
-    "upc_connect.device_tracker" = ps: with ps; [ defusedxml ];
+    "upc_connect" = ps: with ps; [ defusedxml ];
     "upcloud" = ps: with ps; [  ];
-    "upcloud.binary_sensor" = ps: with ps; [  ];
-    "upcloud.switch" = ps: with ps; [  ];
     "updater" = ps: with ps; [ distro ];
     "upnp" = ps: with ps; [  ];
-    "upnp.const" = ps: with ps; [  ];
-    "upnp.device" = ps: with ps; [  ];
-    "upnp.sensor" = ps: with ps; [  ];
     "ups" = ps: with ps; [  ];
-    "ups.sensor" = ps: with ps; [  ];
     "uptime" = ps: with ps; [  ];
-    "uptime.sensor" = ps: with ps; [  ];
     "uptimerobot" = ps: with ps; [  ];
-    "uptimerobot.binary_sensor" = ps: with ps; [  ];
     "uscis" = ps: with ps; [  ];
-    "uscis.sensor" = ps: with ps; [  ];
     "usgs_earthquakes_feed" = ps: with ps; [  ];
-    "usgs_earthquakes_feed.geo_location" = ps: with ps; [  ];
     "usps" = ps: with ps; [  ];
-    "usps.camera" = ps: with ps; [  ];
-    "usps.sensor" = ps: with ps; [  ];
     "utility_meter" = ps: with ps; [  ];
-    "utility_meter.const" = ps: with ps; [  ];
-    "utility_meter.sensor" = ps: with ps; [  ];
     "uvc" = ps: with ps; [  ];
-    "uvc.camera" = ps: with ps; [  ];
     "vacuum" = ps: with ps; [  ];
     "vasttrafik" = ps: with ps; [  ];
-    "vasttrafik.sensor" = ps: with ps; [  ];
     "velbus" = ps: with ps; [  ];
-    "velbus.binary_sensor" = ps: with ps; [  ];
-    "velbus.climate" = ps: with ps; [  ];
-    "velbus.cover" = ps: with ps; [  ];
-    "velbus.sensor" = ps: with ps; [  ];
-    "velbus.switch" = ps: with ps; [  ];
     "velux" = ps: with ps; [  ];
-    "velux.cover" = ps: with ps; [  ];
-    "velux.scene" = ps: with ps; [  ];
     "venstar" = ps: with ps; [  ];
-    "venstar.climate" = ps: with ps; [  ];
     "vera" = ps: with ps; [  ];
-    "vera.binary_sensor" = ps: with ps; [  ];
-    "vera.climate" = ps: with ps; [  ];
-    "vera.cover" = ps: with ps; [  ];
-    "vera.light" = ps: with ps; [  ];
-    "vera.lock" = ps: with ps; [  ];
-    "vera.scene" = ps: with ps; [  ];
-    "vera.sensor" = ps: with ps; [  ];
-    "vera.switch" = ps: with ps; [  ];
     "verisure" = ps: with ps; [  ];
-    "verisure.alarm_control_panel" = ps: with ps; [  ];
-    "verisure.binary_sensor" = ps: with ps; [  ];
-    "verisure.camera" = ps: with ps; [  ];
-    "verisure.lock" = ps: with ps; [  ];
-    "verisure.sensor" = ps: with ps; [  ];
-    "verisure.switch" = ps: with ps; [  ];
     "version" = ps: with ps; [  ];
-    "version.sensor" = ps: with ps; [  ];
     "vesync" = ps: with ps; [  ];
-    "vesync.switch" = ps: with ps; [  ];
     "viaggiatreno" = ps: with ps; [  ];
-    "viaggiatreno.sensor" = ps: with ps; [  ];
     "vizio" = ps: with ps; [  ];
-    "vizio.media_player" = ps: with ps; [  ];
     "vlc" = ps: with ps; [  ];
-    "vlc.media_player" = ps: with ps; [  ];
     "voicerss" = ps: with ps; [  ];
-    "voicerss.tts" = ps: with ps; [  ];
     "volkszaehler" = ps: with ps; [  ];
-    "volkszaehler.sensor" = ps: with ps; [  ];
     "volumio" = ps: with ps; [  ];
-    "volumio.media_player" = ps: with ps; [  ];
     "volvooncall" = ps: with ps; [  ];
-    "volvooncall.binary_sensor" = ps: with ps; [  ];
-    "volvooncall.device_tracker" = ps: with ps; [  ];
-    "volvooncall.lock" = ps: with ps; [  ];
-    "volvooncall.sensor" = ps: with ps; [  ];
-    "volvooncall.switch" = ps: with ps; [  ];
     "vultr" = ps: with ps; [ vultr ];
-    "vultr.binary_sensor" = ps: with ps; [ vultr ];
-    "vultr.sensor" = ps: with ps; [ vultr ];
-    "vultr.switch" = ps: with ps; [ vultr ];
     "w800rf32" = ps: with ps; [  ];
-    "w800rf32.binary_sensor" = ps: with ps; [  ];
     "wake_on_lan" = ps: with ps; [ wakeonlan ];
-    "wake_on_lan.switch" = ps: with ps; [ wakeonlan ];
     "waqi" = ps: with ps; [  ];
-    "waqi.sensor" = ps: with ps; [  ];
     "water_heater" = ps: with ps; [  ];
     "waterfurnace" = ps: with ps; [  ];
-    "waterfurnace.sensor" = ps: with ps; [  ];
     "watson_iot" = ps: with ps; [  ];
-    "waze_travel_time" = ps: with ps; [  ];
-    "waze_travel_time.sensor" = ps: with ps; [ WazeRouteCalculator ];
+    "waze_travel_time" = ps: with ps; [ WazeRouteCalculator ];
     "weather" = ps: with ps; [  ];
     "webhook" = ps: with ps; [ aiohttp-cors ];
     "weblink" = ps: with ps; [  ];
-    "webostv" = ps: with ps; [  ];
-    "webostv.media_player" = ps: with ps; [ websockets ];
-    "webostv.notify" = ps: with ps; [  ];
+    "webostv" = ps: with ps; [ websockets ];
     "websocket_api" = ps: with ps; [ aiohttp-cors ];
-    "websocket_api.auth" = ps: with ps; [  ];
-    "websocket_api.commands" = ps: with ps; [  ];
-    "websocket_api.connection" = ps: with ps; [  ];
-    "websocket_api.const" = ps: with ps; [  ];
-    "websocket_api.decorators" = ps: with ps; [  ];
-    "websocket_api.error" = ps: with ps; [  ];
-    "websocket_api.http" = ps: with ps; [  ];
-    "websocket_api.messages" = ps: with ps; [  ];
-    "websocket_api.permissions" = ps: with ps; [  ];
-    "websocket_api.sensor" = ps: with ps; [  ];
     "wemo" = ps: with ps; [  ];
-    "wemo.binary_sensor" = ps: with ps; [  ];
-    "wemo.fan" = ps: with ps; [  ];
-    "wemo.light" = ps: with ps; [  ];
-    "wemo.switch" = ps: with ps; [  ];
     "whois" = ps: with ps; [  ];
-    "whois.sensor" = ps: with ps; [  ];
     "wink" = ps: with ps; [  ];
-    "wink.alarm_control_panel" = ps: with ps; [  ];
-    "wink.binary_sensor" = ps: with ps; [  ];
-    "wink.climate" = ps: with ps; [  ];
-    "wink.cover" = ps: with ps; [  ];
-    "wink.fan" = ps: with ps; [  ];
-    "wink.light" = ps: with ps; [  ];
-    "wink.lock" = ps: with ps; [  ];
-    "wink.scene" = ps: with ps; [  ];
-    "wink.sensor" = ps: with ps; [  ];
-    "wink.switch" = ps: with ps; [  ];
-    "wink.water_heater" = ps: with ps; [  ];
     "wirelesstag" = ps: with ps; [  ];
-    "wirelesstag.binary_sensor" = ps: with ps; [  ];
-    "wirelesstag.sensor" = ps: with ps; [  ];
-    "wirelesstag.switch" = ps: with ps; [  ];
     "workday" = ps: with ps; [  ];
-    "workday.binary_sensor" = ps: with ps; [  ];
     "worldclock" = ps: with ps; [  ];
-    "worldclock.sensor" = ps: with ps; [  ];
     "worldtidesinfo" = ps: with ps; [  ];
-    "worldtidesinfo.sensor" = ps: with ps; [  ];
     "worxlandroid" = ps: with ps; [  ];
-    "worxlandroid.sensor" = ps: with ps; [  ];
     "wsdot" = ps: with ps; [  ];
-    "wsdot.sensor" = ps: with ps; [  ];
     "wunderground" = ps: with ps; [  ];
-    "wunderground.sensor" = ps: with ps; [  ];
     "wunderlist" = ps: with ps; [  ];
     "x10" = ps: with ps; [  ];
-    "x10.light" = ps: with ps; [  ];
     "xbox_live" = ps: with ps; [  ];
-    "xbox_live.sensor" = ps: with ps; [  ];
     "xeoma" = ps: with ps; [  ];
-    "xeoma.camera" = ps: with ps; [  ];
     "xfinity" = ps: with ps; [  ];
-    "xfinity.device_tracker" = ps: with ps; [  ];
-    "xiaomi" = ps: with ps; [  ];
-    "xiaomi.camera" = ps: with ps; [ ha-ffmpeg ];
-    "xiaomi.device_tracker" = ps: with ps; [  ];
+    "xiaomi" = ps: with ps; [ ha-ffmpeg ];
     "xiaomi_aqara" = ps: with ps; [  ];
-    "xiaomi_aqara.binary_sensor" = ps: with ps; [  ];
-    "xiaomi_aqara.cover" = ps: with ps; [  ];
-    "xiaomi_aqara.light" = ps: with ps; [  ];
-    "xiaomi_aqara.lock" = ps: with ps; [  ];
-    "xiaomi_aqara.sensor" = ps: with ps; [  ];
-    "xiaomi_aqara.switch" = ps: with ps; [  ];
-    "xiaomi_miio" = ps: with ps; [  ];
-    "xiaomi_miio.device_tracker" = ps: with ps; [ construct ];
-    "xiaomi_miio.fan" = ps: with ps; [ construct ];
-    "xiaomi_miio.light" = ps: with ps; [ construct ];
-    "xiaomi_miio.remote" = ps: with ps; [ construct ];
-    "xiaomi_miio.sensor" = ps: with ps; [ construct ];
-    "xiaomi_miio.switch" = ps: with ps; [ construct ];
-    "xiaomi_miio.vacuum" = ps: with ps; [ construct ];
+    "xiaomi_miio" = ps: with ps; [ construct ];
     "xiaomi_tv" = ps: with ps; [  ];
-    "xiaomi_tv.media_player" = ps: with ps; [  ];
-    "xmpp" = ps: with ps; [  ];
-    "xmpp.notify" = ps: with ps; [ slixmpp ];
+    "xmpp" = ps: with ps; [ slixmpp ];
     "xs1" = ps: with ps; [  ];
-    "xs1.climate" = ps: with ps; [  ];
-    "xs1.sensor" = ps: with ps; [  ];
-    "xs1.switch" = ps: with ps; [  ];
     "yale_smart_alarm" = ps: with ps; [  ];
-    "yale_smart_alarm.alarm_control_panel" = ps: with ps; [  ];
     "yamaha" = ps: with ps; [  ];
-    "yamaha.media_player" = ps: with ps; [  ];
     "yamaha_musiccast" = ps: with ps; [  ];
-    "yamaha_musiccast.media_player" = ps: with ps; [  ];
     "yandextts" = ps: with ps; [  ];
-    "yandextts.tts" = ps: with ps; [  ];
     "yeelight" = ps: with ps; [  ];
-    "yeelight.binary_sensor" = ps: with ps; [  ];
-    "yeelight.light" = ps: with ps; [  ];
     "yeelightsunflower" = ps: with ps; [  ];
-    "yeelightsunflower.light" = ps: with ps; [  ];
     "yessssms" = ps: with ps; [  ];
-    "yessssms.notify" = ps: with ps; [  ];
-    "yi" = ps: with ps; [  ];
-    "yi.camera" = ps: with ps; [ ha-ffmpeg ];
-    "yr" = ps: with ps; [  ];
-    "yr.sensor" = ps: with ps; [ xmltodict ];
-    "yweather" = ps: with ps; [  ];
-    "yweather.sensor" = ps: with ps; [ yahooweather ];
-    "yweather.weather" = ps: with ps; [ yahooweather ];
+    "yi" = ps: with ps; [ ha-ffmpeg ];
+    "yr" = ps: with ps; [ xmltodict ];
+    "yweather" = ps: with ps; [ yahooweather ];
     "zabbix" = ps: with ps; [  ];
-    "zabbix.sensor" = ps: with ps; [  ];
     "zamg" = ps: with ps; [  ];
-    "zamg.sensor" = ps: with ps; [  ];
-    "zamg.weather" = ps: with ps; [  ];
     "zengge" = ps: with ps; [  ];
-    "zengge.light" = ps: with ps; [  ];
     "zeroconf" = ps: with ps; [ aiohttp-cors zeroconf ];
-    "zestimate" = ps: with ps; [  ];
-    "zestimate.sensor" = ps: with ps; [ xmltodict ];
+    "zestimate" = ps: with ps; [ xmltodict ];
     "zha" = ps: with ps; [  ];
-    "zha.api" = ps: with ps; [  ];
-    "zha.binary_sensor" = ps: with ps; [  ];
-    "zha.config_flow" = ps: with ps; [  ];
-    "zha.const" = ps: with ps; [  ];
-    "zha.core" = ps: with ps; [  ];
-    "zha.device_entity" = ps: with ps; [  ];
-    "zha.entity" = ps: with ps; [  ];
-    "zha.fan" = ps: with ps; [  ];
-    "zha.light" = ps: with ps; [  ];
-    "zha.sensor" = ps: with ps; [  ];
-    "zha.switch" = ps: with ps; [  ];
     "zhong_hong" = ps: with ps; [  ];
-    "zhong_hong.climate" = ps: with ps; [  ];
     "zigbee" = ps: with ps; [  ];
-    "zigbee.binary_sensor" = ps: with ps; [  ];
-    "zigbee.light" = ps: with ps; [  ];
-    "zigbee.sensor" = ps: with ps; [  ];
-    "zigbee.switch" = ps: with ps; [  ];
     "ziggo_mediabox_xl" = ps: with ps; [  ];
-    "ziggo_mediabox_xl.media_player" = ps: with ps; [  ];
     "zone" = ps: with ps; [  ];
-    "zone.config_flow" = ps: with ps; [  ];
-    "zone.const" = ps: with ps; [  ];
-    "zone.zone" = ps: with ps; [  ];
     "zoneminder" = ps: with ps; [ zm-py ];
-    "zoneminder.binary_sensor" = ps: with ps; [ zm-py ];
-    "zoneminder.camera" = ps: with ps; [ zm-py ];
-    "zoneminder.sensor" = ps: with ps; [ zm-py ];
-    "zoneminder.switch" = ps: with ps; [ zm-py ];
     "zwave" = ps: with ps; [ homeassistant-pyozw pydispatcher ];
-    "zwave.binary_sensor" = ps: with ps; [  ];
-    "zwave.climate" = ps: with ps; [  ];
-    "zwave.config_flow" = ps: with ps; [  ];
-    "zwave.const" = ps: with ps; [  ];
-    "zwave.cover" = ps: with ps; [  ];
-    "zwave.discovery_schemas" = ps: with ps; [  ];
-    "zwave.fan" = ps: with ps; [  ];
-    "zwave.light" = ps: with ps; [  ];
-    "zwave.lock" = ps: with ps; [  ];
-    "zwave.node_entity" = ps: with ps; [  ];
-    "zwave.sensor" = ps: with ps; [  ];
-    "zwave.switch" = ps: with ps; [  ];
-    "zwave.util" = ps: with ps; [  ];
-    "zwave.workaround" = ps: with ps; [  ];
   };
 }
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index d2eb536a11e..6de571b1e0f 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -28,28 +28,20 @@ let
       "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69")
     (mkOverride "bcrypt" "3.1.6"
       "44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea")
-    (self: super: {
-      pyjwt = super.pyjwt.overridePythonAttrs (oldAttrs: rec {
-        version = "1.6.4";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "4ee413b357d53fd3fb44704577afac88e72e878716116270d722723d65b42176";
-        };
-        doCheck = false; # https://github.com/jpadilla/pyjwt/issues/382
-      });
-    })
-    (mkOverride "cryptography" "2.5"
-      "00c4d7gvsymlaw0r13zrm32dcnarmpayjyrh65yymlmr6mrbcij9")
-    (mkOverride "cryptography_vectors" "2.5" # required by cryptography==2.5
-      "15qfl3pnw2f11r0z0zhwl56f6pb60ysav8fxmpnz5p80cfwljdik")
-    (mkOverride "python-slugify" "1.2.6"
-      "7723daf30996db26573176bddcdf5fcb98f66dc70df05c9cb29f2c79b8193245")
+    (mkOverride "pyjwt" "1.7.1"
+      "8d59a976fb773f3e6a39c85636357c4f0e242707394cadadd9814f5cbaa20e96")
+    (mkOverride "cryptography" "2.6.1"
+      "26c821cbeb683facb966045e2064303029d572a87ee69ca5a1bf54bf55f93ca6")
+    (mkOverride "cryptography_vectors" "2.6.1" # required by cryptography==2.6.1
+      "03f38115dccb266dd96538f94067442a877932c2322661bdc5bf2502c76658af")
+    (mkOverride "python-slugify" "3.0.2"
+      "57163ffb345c7e26063435a27add1feae67fa821f1ef4b2f292c25847575d758")
     (mkOverride "pyyaml" "3.13"
       "3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf")
     (mkOverride "requests" "2.21.0"
       "502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e")
-    (mkOverride "ruamel_yaml" "0.15.89"
-      "86d034aa9e2ab3eacc5f75f5cd6a469a2af533b6d9e60ea92edbba540d21b9b7")
+    (mkOverride "ruamel_yaml" "0.15.91"
+      "692f03ed24c8c1d9fa9fd4c045f7ba1c26f1e96edb8bfb4d54854ba26bc02319")
     (mkOverride "voluptuous" "0.11.5"
       "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
     (mkOverride "voluptuous-serialize" "2.1.0"
@@ -67,14 +59,13 @@ let
     # required by home-assistant-frontend
     (self: super: {
       user-agents = super.user-agents.overridePythonAttrs (oldAttrs: rec {
-        version = "1.1.0";
+        version = "2.0.0";
         src = fetchFromGitHub {
           owner = "selwin";
           repo = "python-user-agents";
           rev = "v${version}";
-          sha256 = "14kxd780zhp8718xr1z63xffaj3bvxgr4pldh9sv943m4hvi0gw5";
+          sha256 = "0ix2yajqdnfj433j50dls90mkmqz8m4fiywxg097zwkkc95wm8s4";
         };
-        doCheck = false; # can be dropped for 2.0
       });
     })
 
@@ -118,7 +109,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.91.4";
+  hassVersion = "0.92.2";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -133,7 +124,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "home-assistant";
     rev = version;
-    sha256 = "195pif8lz0qxjsannpi39gxphfb6dkj9lkpah0vjw0pgx753sflv";
+    sha256 = "10kqfj7gi8w0d9jalb4i2w4ifla8jkllymjav74abc4b30y08vmw";
   };
 
   propagatedBuildInputs = [
@@ -145,16 +136,17 @@ in with py.pkgs; buildPythonApplication rec {
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   checkInputs = [
-    asynctest pytest pytest-aiohttp requests-mock pydispatcher
+    asynctest pytest pytest-aiohttp requests-mock pydispatcher aiohue
   ];
 
   checkPhase = ''
     # The components' dependencies are not included, so they cannot be tested
-    py.test --ignore tests/components
+    # test_webhook_create_cloudhook imports hass_nabucasa and is thus excluded
+    py.test --ignore tests/components -k "not test_webhook_create_cloudhook"
     # Some basic components should be tested however
     py.test \
       tests/components/{api,config,configurator,demo,discovery,frontend,group,history,history_graph} \
-      tests/components/{homeassistant,http,introduction,logger,script,shell_command,system_log,websocket_api}
+      tests/components/{homeassistant,http,logger,script,shell_command,system_log,websocket_api}
   '';
 
   makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index f8349c24f7f..9919270a8d0 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-frontend";
-  version = "20190331.0";
+  version = "20190427.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d266a4d3d31af9a50debb99b0e9e9650044698f9157753bec785785057264cf";
+    sha256 = "eb14e7be0ad591ad4623c67db752bc4eb4f4e43ce60bb0f6d1909e9ad9399d91";
   };
 
   propagatedBuildInputs = [ user-agents ];
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
index e61d616d6a7..a2cf2d0386a 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -1,28 +1,30 @@
 #! /usr/bin/env nix-shell
-#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ aiohttp astral async-timeout attrs certifi jinja2 pyjwt cryptography pip pytz pyyaml requests ruamel_yaml voluptuous python-slugify ])"
+#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ attrs ])
 #
 # This script downloads Home Assistant's source tarball.
-# Inside the homeassistant/components directory, each component has an associated .py file,
-# specifying required packages and other components it depends on:
+# Inside the homeassistant/components directory, each integration has an associated manifest.json,
+# specifying required packages and other integrations it depends on:
 #
-# REQUIREMENTS = [ 'package==1.2.3' ]
-# DEPENDENCIES = [ 'component' ]
+#     {
+#       "requirements": [ "package==1.2.3" ],
+#       "dependencies": [ "component" ]
+#     }
 #
-# By parsing the files, a dictionary mapping component to requirements and dependencies is created.
+# By parsing the files, a dictionary mapping integrations to requirements and dependencies is created.
 # For all of these requirements and the dependencies' requirements,
-# Nixpkgs' python3Packages are searched for appropriate names.
-# Then, a Nix attribute set mapping component name to dependencies is created.
+# nixpkgs' python3Packages are searched for appropriate names.
+# Then, a Nix attribute set mapping integration name to dependencies is created.
 
-from urllib.request import urlopen
-import tempfile
 from io import BytesIO
-import tarfile
-import importlib
-import subprocess
-import os
-import sys
 import json
+import pathlib
+import os
 import re
+import subprocess
+import sys
+import tempfile
+import tarfile
+from urllib.request import urlopen
 
 COMPONENT_PREFIX = 'homeassistant.components'
 PKG_SET = 'python3Packages'
@@ -43,22 +45,17 @@ def get_version():
 def parse_components(version='master'):
     components = {}
     with tempfile.TemporaryDirectory() as tmp:
-        with urlopen('https://github.com/home-assistant/home-assistant/archive/{}.tar.gz'.format(version)) as response:
+        with urlopen(f'https://github.com/home-assistant/home-assistant/archive/{version}.tar.gz') as response:
             tarfile.open(fileobj=BytesIO(response.read())).extractall(tmp)
         # Use part of a script from the Home Assistant codebase
-        sys.path.append(tmp + '/home-assistant-{}'.format(version))
-        from script.gen_requirements_all import explore_module
-        for package in explore_module(COMPONENT_PREFIX, True):
-            # Remove 'homeassistant.components.' prefix
-            component = package[len(COMPONENT_PREFIX + '.'):]
-            try:
-                module = importlib.import_module(package)
-                components[component] = {}
-                components[component]['requirements'] = getattr(module, 'REQUIREMENTS', [])
-                components[component]['dependencies'] = getattr(module, 'DEPENDENCIES', [])
-            # If there is an ImportError, the imported file is not the main file of the component
-            except ImportError:
-                continue
+        sys.path.append(os.path.join(tmp, f'home-assistant-{version}'))
+        from script.hassfest.model import Integration
+        integrations = Integration.load_dir(pathlib.Path(
+            os.path.join(tmp, f'home-assistant-{version}', 'homeassistant/components')
+        ))
+        for domain in sorted(integrations):
+            integration = integrations[domain]
+            components[domain] = integration.manifest
     return components
 
 # Recursively get the requirements of a component and its dependencies
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 2993809c556..318f291689f 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, pcre, libxml2, zlib, bzip2, which, file
+{ stdenv, buildPackages, fetchurl, pkgconfig, pcre, libxml2, zlib, bzip2, which, file
 , openssl, enableMagnet ? false, lua5_1 ? null
 , enableMysql ? false, mysql ? null
 , enableLdap ? false, openldap ? null
@@ -28,8 +28,10 @@ stdenv.mkDerivation rec {
     sed -ire '/[$]self->{HOSTNAME} *=/i     if(length($name)==0) { $name = "127.0.0.1" }' tests/LightyTest.pm
   '';
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ pcre libxml2 zlib bzip2 which file openssl ]
+  buildInputs = [ pcre pcre.dev libxml2 zlib bzip2 which file openssl ]
              ++ stdenv.lib.optional enableMagnet lua5_1
              ++ stdenv.lib.optional enableMysql mysql.connector-c
              ++ stdenv.lib.optional enableLdap openldap
@@ -45,6 +47,7 @@ stdenv.mkDerivation rec {
                 ++ stdenv.lib.optional enableExtendedAttrs "--with-attr";
 
   preConfigure = ''
+    export PATH=$PATH:${pcre.dev}/bin
     sed -i "s:/usr/bin/file:${file}/bin/file:g" configure
   '';
 
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 6a0114a6ba5..347ac290378 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -6,8 +6,8 @@ let
     src = fetchFromGitHub {
       owner = "chobits";
       repo = "ngx_http_proxy_connect_module";
-      rev = "8201639082cba702211585b03d4cc7bc51c65167";
-      sha256 = "0z71x3xnlczrr2kq43w3drxj9g14fkk4jz66x921v0yb8r9mnn5a";
+      rev = "18e2520b361ffebde6c08c8119ecfba113a3b53c";
+      sha256 = "1nyil5n2a97nqsqarvnp4bazw4vnxifqizzw5aank4vi9xlq90b2";
     };
 
     patches = [
@@ -32,12 +32,21 @@ in
     inputs = [ pkgs.brotli ];
   };
 
+  coolkit = {
+    src = fetchFromGitHub {
+      owner  = "FRiCKLE";
+      repo   = "ngx_coolkit";
+      rev    = "0.2";
+      sha256 = "1idj0cqmfsdqawjcqpr1fsq670fdki51ksqk2lslfpcs3yrfjpqh";
+    };
+  };
+
   dav = {
     src = fetchFromGitHub {
       owner = "arut";
       repo = "nginx-dav-ext-module";
-      rev = "v0.1.0";
-      sha256 = "1ifahd69vz715g3zim618jbmxb7kcmzykc696grskxm0svpy294k";
+      rev = "v3.0.0";
+      sha256 = "000dm5zk0m1hm1iq60aff5r6y8xmqd7djrwhgnz9ig01xyhnjv9w";
     };
     inputs = [ pkgs.expat ];
   };
@@ -87,6 +96,14 @@ in
     };
   };
 
+  http_proxy_connect_module_v15 = http_proxy_connect_module_generic "proxy_connect_rewrite_1015" // {
+    supports = with lib.versions; version: major version == "1" && minor version == "15";
+  };
+
+  http_proxy_connect_module_v14 = http_proxy_connect_module_generic "proxy_connect_rewrite_1014" // {
+    supports = with lib.versions; version: major version == "1" && minor version == "14";
+  };
+
   ipscrub = {
     src = fetchFromGitHub {
       owner = "masonicboom";
@@ -97,12 +114,30 @@ in
     inputs = [ pkgs.libbsd ];
   };
 
+  limit-speed = {
+    src = fetchFromGitHub {
+      owner = "yaoweibin";
+      repo = "nginx_limit_speed_module";
+      rev = "f77ad4a56fbb134878e75827b40cf801990ed936";
+      sha256 = "0kkrd08zpcwx938i2is07vq6pgjkvn97xzjab0g4zaz8bivgmjp8";
+    };
+  };
+
+  live ={
+    src = fetchFromGitHub {
+      owner = "arut";
+      repo = "nginx-live-module";
+      rev = "5e4a1e3a718e65e5206c24eba00d42b0d1c4b7dd";
+      sha256 = "1kpnhl4b50zim84z22ahqxyxfq4jv8ab85kzsy2n5ciqbyg491lz";
+    };
+  };
+
   lua = {
     src = fetchFromGitHub {
       owner = "openresty";
       repo = "lua-nginx-module";
-      rev = "v0.10.13";
-      sha256 = "19mpc76lfhyyvkfs2n08b4rc9cf2v7rm8fskkf60hsdcf6qna822";
+      rev = "v0.10.14";
+      sha256 = "1vg6pp9n8z42p6f3jqk15gvdyy7mfvs5ssfbiy83bydjx42fq7g0";
     };
     inputs = [ pkgs.luajit ];
     preConfigure = ''
@@ -148,6 +183,24 @@ in
     };
   };
 
+  mpeg-ts ={
+    src = fetchFromGitHub {
+      owner = "arut";
+      repo = "nginx-ts-module";
+      rev = "v0.1.1";
+      sha256 = "12dxcyy6wna1fccl3a9lnsbymd6p4apnwz6c24w74v97qvpfdxqd";
+    };
+  };
+
+  naxsi ={
+    src = fetchFromGitHub {
+      owner = "nbs-system";
+      repo = "naxsi";
+      rev = "0.56";
+      sha256 = "12kn6wbl8xqc19fi05ffprqps4pplg4a6i1cf01xc0d6brx1fg8v";
+    } + "/naxsi_src";
+  };
+
   ngx_aws_auth = {
     src = fetchFromGitHub {
       owner = "anomalizer";
@@ -254,6 +307,24 @@ in
     };
   };
 
+  slowfs-cache = {
+    src = fetchFromGitHub {
+      owner  = "FRiCKLE";
+      repo   = "ngx_slowfs_cache";
+      rev    = "1.10";
+      sha256 = "1gyza02pcws3zqm1phv3ag50db5gnapxyjwy8skjmvawz7p5bmxr";
+    };
+  };
+
+  sorted-querystring = {
+    src = fetchFromGitHub {
+      owner = "wandenberg";
+      repo = "nginx-sorted-querystring-module";
+      rev = "0.3";
+      sha256 = "0p6b0hcws39n27fx4xp9k4hb3pcv7b6kah4qqaj0pzjy3nbp4gj7";
+    };
+  };
+
   statsd = {
     src = fetchFromGitHub {
       owner = "apcera";
@@ -285,8 +356,8 @@ in
     src = fetchFromGitHub {
       owner = "yaoweibin";
       repo = "ngx_http_substitutions_filter_module";
-      rev = "v0.6.4";
-      sha256 = "0q86cv0mfffh43id5xanywyhpd7b0jijrmk8y311c13l9ajrd2rx";
+      rev = "bc58cb11844bc42735bbaef7085ea86ace46d05b";
+      sha256 = "1q5hr3sqys4f365gzjci549rn9ylhgj4xb29ril04zr5vkhzlnar";
     };
   };
 
@@ -303,8 +374,8 @@ in
     src = fetchFromGitHub {
       owner = "yaoweibin";
       repo = "nginx_upstream_check_module";
-      rev = "9aecf15ec379fe98f62355c57b60c0bc83296f04";
-      sha256 = "1cjisxw1wykll683nw09k0i1nvzslp4dr59x58cvarpk43paim2y";
+      rev = "007f76f7adbcbd6abd9352502af1a4ae463def85";
+      sha256 = "1qcg7c9rcl70wr1qf188shnn9s2f7cxnlw05s6scbvlgnf6ik6in";
     };
   };
 
@@ -312,8 +383,8 @@ in
     src = fetchFromGitHub {
       owner = "tarantool";
       repo = "nginx_upstream_module";
-      rev = "v2.7";
-      sha256 = "05dwj0caj910p7kan2qjvm6x2x601igryhny2xzr47hhsk5q1cnx";
+      rev = "v2.7.1";
+      sha256 = "0ya4330in7zjzqw57djv4icpk0n1j98nvf0f8v296yi9rjy054br";
     };
     inputs = [ pkgs.msgpuck.dev pkgs.yajl ];
   };
@@ -327,6 +398,16 @@ in
     };
   };
 
+  video-thumbextractor = {
+    src = fetchFromGitHub {
+      owner = "wandenberg";
+      repo = "nginx-video-thumbextractor-module";
+      rev = "0.9.0";
+      sha256 = "1b0v471mzbcys73pzr7gpvzzhff0cva0l5ff32cv7z1v9c0ypji7";
+    };
+    inputs = [ pkgs.ffmpeg ];
+  };
+
   vts = {
     src = fetchFromGitHub {
       owner = "vozlt";
@@ -335,12 +416,4 @@ in
       sha256 = "1jq2s9k7hah3b317hfn9y3g1q4g4x58k209psrfsqs718a9sw8c7";
     };
   };
-
-  http_proxy_connect_module_v15 = http_proxy_connect_module_generic "proxy_connect_rewrite_1015" // {
-    supports = with lib.versions; version: major version == "1" && minor version == "15";
-  };
-
-  http_proxy_connect_module_v14 = http_proxy_connect_module_generic "proxy_connect_rewrite_1014" // {
-    supports = with lib.versions; version: major version == "1" && minor version == "14";
-  };
 }
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index 094b782abf9..e95fcaa03ef 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perlPackages, makeWrapper, gnupg1 }:
+{ stdenv, fetchurl, perlPackages, makeWrapper, gnupg }:
 
 perlPackages.buildPerlPackage rec {
   name = "SpamAssassin-3.4.2";
@@ -27,7 +27,7 @@ perlPackages.buildPerlPackage rec {
     mv "rules/"* $out/share/spamassassin/
 
     for n in "$out/bin/"*; do
-      wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" --prefix PATH : "${gnupg1}/bin"
+      wrapProgram "$n" --prefix PERL5LIB : "$PERL5LIB" --prefix PATH : "${gnupg}/bin"
     done
   '';
 
diff --git a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
index d165a34d5f6..be7c51a7ef5 100644
--- a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
+++ b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="apache-jena-fuseki";
-    version = "3.10.0";
+    version = "3.11.0";
     name="${baseName}-${version}";
     url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
-    sha256 = "0v7srssivhx0bswvbr8ifaahcknlajwqqhr449v5zzi6nbyc613a";
+    sha256 = "05krsd0arhcl2yqmdp3iq2gwl1sc2adv44xpq9w06cps8bxj6yrb";
   };
   buildInputs = [
     makeWrapper
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index 38305a11bcc..1c8fd508a5a 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -11,36 +11,6 @@ in stdenv.mkDerivation rec {
   name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
-  patches = [
-    # Linux 4.20
-    (fetchpatch {
-      name = "openafs_1_8-do_settimeofday.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=aa80f892ec39e2984818090a6bb2047430836ee2";
-      sha256 = "11zw676zqi9sj3vhp7n7ndxcxhp17cq9g2g41n030mcd3ap4g53h";
-    })
-    (fetchpatch {
-      name = "openafs_1_8-current_kernel_time.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=3c454b39d04f4886536267c211171dae30dc0344";
-      sha256 = "16fl9kp0l95dqm166jx3x4ijbzhf2bc9ilnipn3k1j00mfy4lnia";
-    })
-    # Linux 5.0
-    (fetchpatch {
-      name = "openafs_1_8-ktime_get_coarse_real_ts64.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=21ad6a0c826c150c4227ece50554101641ab4626";
-      sha256 = "0cd2bzfn4gkb68qf27wpgcg9kvaky7kll22b8p2vmw5x4xkckq2y";
-    })
-    (fetchpatch {
-      name = "openafs_1_8-ktime_get_real_ts64.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=b892fb127815bdf72103ae41ee70aadd87931b0c";
-      sha256 = "1xmf2l4g5nb9rhca7zn0swynvq8f9pd0k9drsx9bpnwp662y9l8m";
-    })
-    (fetchpatch {
-      name = "openafs_1_8-super_block.patch";
-      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=3969bbca6017eb0ce6e1c3099b135f210403f661";
-      sha256 = "0cdd76s1h1bhxj0hl7r6mcha1jcy5vhlvc5dc8m2i83a6281yjsa";
-    })
-  ];
-
   nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ]
     ++ kernel.moduleBuildDependencies;
 
diff --git a/pkgs/servers/openafs/1.8/srcs.nix b/pkgs/servers/openafs/1.8/srcs.nix
index ffdbe47220d..d1b23d8bcae 100644
--- a/pkgs/servers/openafs/1.8/srcs.nix
+++ b/pkgs/servers/openafs/1.8/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.8.2";
+  version = "1.8.3";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "13hksffp7k5f89c9lc5g5b1q0pc9h7wyarq3sjyjqam7c513xz95";
+    sha256 = "19ffchxwgqg4wl98l456jdpgq2w8b5izn8hxdsq9hjs0a1nc3nga";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "09n8nymrhpyb0fhahpln2spzhy9pn48hvry35ccqif2jd4wsxdmr";
+      sha256 = "14smdhn1f6f3cbvvwxgjjld0m4b17vqh3rzkxf5apmjsdda21njq";
     })];
 }
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index de81235c26f..821bbc578dc 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -8,14 +8,14 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.15.3.876-ad6e39743";
+  version = "1.15.4.994-107756f7e";
   pname = "plexmediaserver";
   name = "${pname}-${version}";
 
   # Fetch the source
   src = fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/redhat/plexmediaserver-${version}.x86_64.rpm";
-    sha256 = "01g7wccm01kg3nhf3qrmwcn20nkpv0bqz6zqv2gq5v03ps58h6g5";
+    sha256 = "0jm1zzlazy41wnmyda8il03vmn9a5vvsfpxn3valkwiggsnvb2p8";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/search/elasticsearch/5.x.nix b/pkgs/servers/search/elasticsearch/5.x.nix
index 07ebf97ab2b..6142d751dab 100644
--- a/pkgs/servers/search/elasticsearch/5.x.nix
+++ b/pkgs/servers/search/elasticsearch/5.x.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, elk5Version, makeWrapper, jre_headless, utillinux }:
+{ stdenv, fetchurl, elk5Version, makeWrapper, jre_headless
+, utillinux, gnugrep, coreutils }:
 
 with stdenv.lib;
 
@@ -8,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
-    sha256 = "0sm99m4m4mmigj6ll22kyaw7zkp1s2i0mhzx15fzidnybdnlifb4";
+    sha256 = "0zy7awb2cm2fk3c7zc7v8b8pl0jw49awqwpa1jvilmvx6dcml0vb";
   };
 
   patches = [ ./es-home-5.x.patch ./es-classpath-5.x.patch ];
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
 
     wrapProgram $out/bin/elasticsearch \
       --prefix ES_CLASSPATH : "$out/lib/*" \
-      --prefix PATH : "${utillinux}/bin" \
+      --prefix PATH : "${makeBinPath [ utillinux gnugrep coreutils ]}" \
       --set JAVA_HOME "${jre_headless}" \
       --set ES_JVM_OPTIONS "$out/config/jvm.options"
 
diff --git a/pkgs/servers/search/elasticsearch/6.x.nix b/pkgs/servers/search/elasticsearch/6.x.nix
index df7324a73f4..fffc84b2d28 100644
--- a/pkgs/servers/search/elasticsearch/6.x.nix
+++ b/pkgs/servers/search/elasticsearch/6.x.nix
@@ -4,7 +4,7 @@
 , fetchurl
 , makeWrapper
 , jre_headless
-, utillinux
+, utillinux, gnugrep, coreutils
 , autoPatchelfHook
 , zlib
 }:
@@ -19,8 +19,8 @@ stdenv.mkDerivation (rec {
     url = "https://artifacts.elastic.co/downloads/elasticsearch/${name}.tar.gz";
     sha256 =
       if enableUnfree
-      then "1qh6iz3qhw8zcvxfss5w3h89zarwvk6dp5bbbag7c30kh94gkqvv"
-      else "13v8qpslanfn5w81qvbg0aqh510yfbl3x59kisvdkz9ifhjbcavi";
+      then "1a88yyl0x4bsx92m3wjsz1fgm76gbfdzcd4bzp2x652rha667vfh"
+      else "04fa0fk25d5yxcjdj0bwqvdrswgwj31fwjvbq4gpg66c6bqwzcn6";
   };
 
   patches = [ ./es-home-6.x.patch ];
@@ -45,7 +45,7 @@ stdenv.mkDerivation (rec {
     chmod -x $out/bin/*.*
 
     wrapProgram $out/bin/elasticsearch \
-      --prefix PATH : "${utillinux}/bin/" \
+      --prefix PATH : "${makeBinPath [ utillinux gnugrep coreutils ]}" \
       --set JAVA_HOME "${jre_headless}"
 
     wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}"
diff --git a/pkgs/servers/search/elasticsearch/7.x.nix b/pkgs/servers/search/elasticsearch/7.x.nix
index 7ea33935faa..ddb1d2299cb 100644
--- a/pkgs/servers/search/elasticsearch/7.x.nix
+++ b/pkgs/servers/search/elasticsearch/7.x.nix
@@ -4,7 +4,7 @@
 , fetchurl
 , makeWrapper
 , jre_headless
-, utillinux
+, utillinux, gnugrep, coreutils
 , autoPatchelfHook
 , zlib
 }:
@@ -17,12 +17,12 @@ let
   shas =
     if enableUnfree
     then {
-      "x86_64-linux"  = "1fi57xqwgxx0ivjyfvaybzz2k457qw59fn9qr26d86lnkigfxpk8";
-      "x86_64-darwin" = "06hj96d4vl9q24dfx8ffydfs7qd440ys29654jgqp8sp7js7hjxp";
+      "x86_64-linux"  = "1jkfllafcjqhfydsy90jx2ghpv5cmm6gabv206niwg9qc6y6r1ik";
+      "x86_64-darwin" = "1lgyxq3yahdww0wpqmpc1mz57kmk5hy2drb1dha69k9l0ibmjf18";
     }
     else {
-      "x86_64-linux"  = "1jrcdxm1swf8ahkv3h7kyzzhdq9nwwfhimpflzdq2d831fx525y8";
-      "x86_64-darwin" = "119ym2d5fqwba3aq2izh5qj8vxawb7hf183cgg00s1sm1mm8lviv";
+      "x86_64-linux"  = "0pg22wi2xcjla44azfvn9c58r4xq3x9jiwh7qb0d8f3nv30vfd10";
+      "x86_64-darwin" = "0d9xg3bf06mr7mw2bd16gb2xrfjncrhj19846rrj4j5gb2qjz0x2";
     };
 in
 stdenv.mkDerivation (rec {
@@ -56,7 +56,7 @@ stdenv.mkDerivation (rec {
     chmod +x $out/bin/*
 
     wrapProgram $out/bin/elasticsearch \
-      --prefix PATH : "${utillinux}/bin/" \
+      --prefix PATH : "${makeBinPath [ utillinux coreutils gnugrep ]}" \
       --set JAVA_HOME "${jre_headless}"
 
     wrapProgram $out/bin/elasticsearch-plugin --set JAVA_HOME "${jre_headless}"
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index 0cb1dd5bfc1..f45b948a6f7 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -1,12 +1,18 @@
-{ pkgs,  stdenv, fetchurl, unzip, elasticsearch-oss, javaPackages, elk6Version }:
+{ pkgs, lib, stdenv, fetchurl, unzip, javaPackages, elasticsearch }:
 
 let
+  esVersion = elasticsearch.version;
+
+  majorVersion = lib.head (builtins.splitVersion esVersion);
+
   esPlugin = a@{
     pluginName,
     installPhase ? ''
       mkdir -p $out/config
       mkdir -p $out/plugins
-      ES_HOME=$out ${elasticsearch-oss}/bin/elasticsearch-plugin install --batch -v file://$src
+      ln -s ${elasticsearch}/lib $out/lib
+      ES_HOME=$out ${elasticsearch}/bin/elasticsearch-plugin install --batch -v file://$src
+      rm $out/lib
     '',
     ...
   }:
@@ -15,19 +21,22 @@ let
       unpackPhase = "true";
       buildInputs = [ unzip ];
       meta = a.meta // {
-        platforms = elasticsearch-oss.meta.platforms;
+        platforms = elasticsearch.meta.platforms;
         maintainers = (a.meta.maintainers or []) ++ (with stdenv.lib.maintainers; [ offline ]);
       };
     });
 in {
 
-  elasticsearch_analysis_lemmagen = esPlugin rec {
+  analysis-lemmagen = esPlugin rec {
     name = "elasticsearch-analysis-lemmagen-${version}";
     pluginName = "elasticsearch-analysis-lemmagen";
-    version = "${elk6Version}";
+    version = esVersion;
     src = fetchurl {
-      url = "https://github.com/vhyza/elasticsearch-analysis-lemmagen/releases/download/v${version}/${name}-plugin.zip";
-      sha256 = "0mf8lpf40bjpzfj9lkhrg7c3xinzvg7aby3vd6h92g9i676xs8ri";
+      url = "https://github.com/vhyza/${pluginName}/releases/download/v${version}/${name}-plugin.zip";
+      sha256 =
+        if version == "7.0.1" then "155zj9zw81msx976c952nk926ndav1zqhmy2xih6nr82qf0p71hm"
+        else if version == "6.7.2" then "1r176ncjbilkmri2c5rdxh5xqsrn77m1f0p98zs47czwlqh230iq"
+        else throw "unsupported version ${version} for plugin ${pluginName}";
     };
     meta = with stdenv.lib; {
       homepage = https://github.com/vhyza/elasticsearch-analysis-lemmagen;
@@ -39,10 +48,14 @@ in {
   discovery-ec2 = esPlugin rec {
     name = "elasticsearch-discovery-ec2-${version}";
     pluginName = "discovery-ec2";
-    version = "${elk6Version}";
+    version = esVersion;
     src = pkgs.fetchurl {
-      url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/discovery-ec2/discovery-ec2-${elk6Version}.zip";
-      sha256 = "05z4vmi29fzfqzid7fdh6h6pjwgd1dz1mhhjgjz9plpvpzymjiln";
+      url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${version}.zip";
+      sha256 =
+        if version == "7.0.1" then "0nrvralh4fygs0ys2ikg3x08jdyh9276d5w7yfncbbi0xrg9hk6g"
+        else if version == "6.7.2" then "1p0cdz3lfksfd2kvlcj0syxhbx27mimsaw8q4kgjpjjjwqayg523"
+        else if version == "5.6.16" then "1300pfmnlpfm1hh2jgas8j2kqjqiqkxhr8czshj9lx0wl4ciknin"
+        else throw "unsupported version ${version} for plugin ${pluginName}";
     };
     meta = with stdenv.lib; {
       homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/discovery-ec2;
@@ -51,17 +64,65 @@ in {
     };
   };
 
-  search_guard = esPlugin rec {
-    name = "elastic-search-guard-${version}";
+  repository-s3 = esPlugin rec {
+    name = "elasticsearch-repository-s3-${version}";
+    pluginName = "repository-s3";
+    version = esVersion;
+    src = pkgs.fetchurl {
+      url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
+      sha256 =
+        if version == "7.0.1" then "17bf8m1q92j5yhgldckl4hlsfv6qgwwqdc1da9kzgidgky7jwkbc"
+        else if version == "6.7.2" then "1l353zfyv3qziz8xkann9cbzx4wj5s14wnknfw351j6vgdq26l12"
+        else if version == "5.6.16" then "0k3li5xv1270ygb9lqk6ji3nngngl2im3z38k08nd627vxdrzij2"
+        else throw "unsupported version ${version} for plugin ${pluginName}";
+    };
+    meta = with stdenv.lib; {
+      homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/repository-s3;
+      description = "The S3 repository plugin adds support for using AWS S3 as a repository for Snapshot/Restore.";
+      license = licenses.asl20;
+    };
+  };
+
+  repository-gcs = esPlugin rec {
+    name = "elasticsearch-repository-gcs-${version}";
+    pluginName = "repository-gcs";
+    version = esVersion;
+    src = pkgs.fetchurl {
+      url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/${pluginName}/${pluginName}-${esVersion}.zip";
+      sha256 =
+        if version == "7.0.1" then "0a3rc2gggsj7xfncil1s53dmq799lcm82h0yncs94jnb182sbmzc"
+        else if version == "6.7.2" then "0afccbvb7x6y3nrwmal09vpgxyz4lar6lffw4mngalcppsk8irvv"
+        else if version == "5.6.16" then "0hwqx4yhdn4c0ccdpvgrg30ag8hy3mgxgk7h7pibdmzvy7qw7501"
+        else throw "unsupported version ${version} for plugin ${pluginName}";
+    };
+    meta = with stdenv.lib; {
+      homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/repository-gcs;
+      description = "The GCS repository plugin adds support for using Google Cloud Storage as a repository for Snapshot/Restore.";
+      license = licenses.asl20;
+    };
+  };
+
+  search-guard = let
+    majorVersion = lib.head (builtins.splitVersion esVersion);
+  in esPlugin rec {
+    name = "elasticsearch-search-guard-${version}";
     pluginName = "search-guard";
-    version = "${elk6Version}-24.3";
-    src = fetchurl rec {
-      url = "mirror://maven/com/floragunn/search-guard-6/${version}/search-guard-6-${version}.zip";
-      sha256 = "17gif45fbi4vj9qrzv075fkr7d2sp0naa5bjjj9gvfgqyl2flj7g";
+    version =
+      if esVersion == "7.0.1" then "${esVersion}-35.0.0"
+      else if esVersion == "6.7.2" then "${esVersion}-25.1"
+      else if esVersion == "5.6.16" then "${esVersion}-19.3"
+      else throw "unsupported version ${esVersion} for plugin ${pluginName}";
+    src = fetchurl {
+      url = "mirror://maven/com/floragunn/${pluginName}-${majorVersion}/${version}/${pluginName}-${majorVersion}-${version}.zip";
+      sha256 =
+        if version == "7.0.1-35.0.0" then "0wsiqq7j7ph9g2vhhvjmwrh5a2q1wzlysgr75gc35zcvqz6cq8ha"
+        else if version == "6.7.2-25.1" then "119r1zibi0z40mfxrpkx0zzay0yz6c7syqmmw8i2681wmz4nksda"
+        else if version == "5.6.16-19.3" then "1q70anihh89c53fnk8wlq9z5dx094j0f9a0y0v2zsqx18lz9ikmx"
+        else throw "unsupported version ${version} for plugin ${pluginName}";
     };
     meta = with stdenv.lib; {
       homepage = https://github.com/floragunncom/search-guard;
-      description = "Plugin to fetch data from JDBC sources for indexing into Elasticsearch";
+      description = "Elasticsearch plugin that offers encryption, authentication, and authorisation. ";
       license = licenses.asl20;
     };
   };
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index 3e76cd163c8..95551edb138 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   name    = "groonga-${version}";
-  version = "8.1.1";
+  version = "9.0.2";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${name}.tar.gz";
-    sha256 = "0laijnx05xc90jjmza4kq2h8pxn3lgsmn2fgn3zl66fy4fxm1fy4";
+    sha256 = "0ya7jig5lcpsfjmqpprgazhdna9nx2c3w4bw6az1ijg1qyz6h69x";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 6e62aee1375..5e5f9fc07d4 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -101,6 +101,10 @@ let
         wrapProgram $out/bin/initdb --prefix PATH ":" ${glibc.bin}/bin
       '';
 
+    doCheck = true;
+    # autodetection doesn't seem to able to find this, but it's there.
+    checkTarget = "check";
+
     doInstallCheck = false; # needs a running daemon?
 
     disallowedReferences = [ stdenv.cc ];
@@ -157,41 +161,41 @@ let
 in self: {
 
   postgresql_9_4 = self.callPackage generic {
-    version = "9.4.21";
+    version = "9.4.22";
     psqlSchema = "9.4";
-    sha256 = "01k0s3a7qy8639zsjp1bjbfnnymyl0rgyylrjbkm81m0779b8j80";
+    sha256 = "0sy66cl2nkqr1al66f3qy7zsyd3vjpjv0icqbda7bqq4j8mlrann";
     this = self.postgresql_9_4;
     inherit self;
   };
 
   postgresql_9_5 = self.callPackage generic {
-    version = "9.5.16";
+    version = "9.5.17";
     psqlSchema = "9.5";
-    sha256 = "0cg10ri0475vg1c8k1sb5qi4i64hiv9k7crmg15qvvnwsjanqmx4";
+    sha256 = "01gp4d3ngl2809dl652md2n1q4nk27cdbl6i892gvwk901xf7yc8";
     this = self.postgresql_9_5;
     inherit self;
   };
 
   postgresql_9_6 = self.callPackage generic {
-    version = "9.6.12";
+    version = "9.6.13";
     psqlSchema = "9.6";
-    sha256 = "114xay230xia2fagisxahs5fc2mza8hmmkr6ibd7nxllp938931f";
+    sha256 = "197964wb5pc5fx81a6mh9hlcrr9sgr3nqlpmljv6asi9aq0d5gpc";
     this = self.postgresql_9_6;
     inherit self;
   };
 
   postgresql_10 = self.callPackage generic {
-    version = "10.7";
+    version = "10.8";
     psqlSchema = "10.0"; # should be 10, but changing it is invasive
-    sha256 = "1piyfcrcqscjhnnwn91kdvr764s7d0qz4lgygf9bl6qc71ji1vdz";
+    sha256 = "0pfdmy4w95b49w9rkn8dwvzmi2brpqfvbxd04y0k0s0xvymc565i";
     this = self.postgresql_10;
     inherit self;
   };
 
   postgresql_11 = self.callPackage generic {
-    version = "11.2";
+    version = "11.3";
     psqlSchema = "11.1"; # should be 11, but changing it is invasive
-    sha256 = "01clq2lw0v83zh5dc89xdr3mmap0jr37kdkh401ph6f2177bjxi6";
+    sha256 = "0baj61ym7jnl195qcq4hq6225kfz6879j8zx3n148n92zj1f119a";
     this = self.postgresql_11;
     inherit self;
   };
diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index 2fc190d8e00..114c16d297b 100644
--- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, postgresql, msgpack, groonga }:
 
 stdenv.mkDerivation rec {
-  name = "pgroonga-${version}";
-  version = "2.1.8";
+  pname = "pgroonga";
+  version = "2.1.9";
 
   src = fetchurl {
-    url = "https://packages.groonga.org/source/pgroonga/${name}.tar.gz";
-    sha256 = "0k3cxl58rdbs19sv27sk8yhk8ai8r046hyg9araxqiplrxx9y01s";
+    url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "15bix7gqi45nf1ah0sxmlg3aqqrkacn19slp43jiirfnpp74dbnw";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -22,8 +22,13 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A PostgreSQL extension to use Groonga as the index";
-    longDescription = "PGroonga is a PostgreSQL extension to use Groonga as the index. PostgreSQL supports full text search against languages that use only alphabet and digit. It means that PostgreSQL doesn't support full text search against Japanese, Chinese and so on. You can use super fast full text search feature against all languages by installing PGroonga into your PostgreSQL.";
-    homepage = https://pgroonga.github.io/;
+    longDescription = ''
+      PGroonga is a PostgreSQL extension to use Groonga as the index.
+      PostgreSQL supports full text search against languages that use only alphabet and digit.
+      It means that PostgreSQL doesn't support full text search against Japanese, Chinese and so on.
+      You can use super fast full text search feature against all languages by installing PGroonga into your PostgreSQL.
+    '';
+    homepage = "https://pgroonga.github.io/";
     license = licenses.postgresql;
     maintainers = with maintainers; [ DerTim1 ];
   };
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 42df8f62ef5..44d4aad947d 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1430,7 +1430,7 @@ lib.makeScope newScope (self: with self; {
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xcbutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xorgproto }: stdenv.mkDerivation {
+  xcbutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xorgproto, m4 }: stdenv.mkDerivation {
     name = "xcb-util-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1438,12 +1438,12 @@ lib.makeScope newScope (self: with self; {
       sha256 = "1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gperf m4 libxcb xorgproto ];
+    nativeBuildInputs = [ pkgconfig m4 ];
+    buildInputs = [ gperf libxcb xorgproto ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xcbutilcursor = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbutilimage, xcbutilrenderutil, xorgproto }: stdenv.mkDerivation {
+  xcbutilcursor = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xcbutilimage, xcbutilrenderutil, xorgproto, m4 }: stdenv.mkDerivation {
     name = "xcb-util-cursor-0.1.3";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1451,12 +1451,12 @@ lib.makeScope newScope (self: with self; {
       sha256 = "0krr4rcw6r42cncinzvzzdqnmxk3nrgpnadyg2h8k9x10q3hm885";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gperf m4 libxcb xcbutilimage xcbutilrenderutil xorgproto ];
+    nativeBuildInputs = [ pkgconfig m4 ];
+    buildInputs = [ gperf libxcb xcbutilimage xcbutilrenderutil xorgproto ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xcbutilerrors = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbproto, xorgproto }: stdenv.mkDerivation {
+  xcbutilerrors = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xcbproto, xorgproto, m4 }: stdenv.mkDerivation {
     name = "xcb-util-errors-1.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1464,12 +1464,12 @@ lib.makeScope newScope (self: with self; {
       sha256 = "158rm913dg3hxrrhyvvxr8bcm0pjy5jws70dhy2s12w1krv829k8";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gperf m4 libxcb xcbproto xorgproto ];
+    nativeBuildInputs = [ pkgconfig m4 ];
+    buildInputs = [ gperf libxcb xcbproto xorgproto ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xcbutilimage = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbutil, xorgproto }: stdenv.mkDerivation {
+  xcbutilimage = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xcbutil, xorgproto, m4 }: stdenv.mkDerivation {
     name = "xcb-util-image-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1477,12 +1477,12 @@ lib.makeScope newScope (self: with self; {
       sha256 = "1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gperf m4 libxcb xcbutil xorgproto ];
+    nativeBuildInputs = [ pkgconfig m4 ];
+    buildInputs = [ gperf libxcb xcbutil xorgproto ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xcbutilkeysyms = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xorgproto }: stdenv.mkDerivation {
+  xcbutilkeysyms = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xorgproto, m4 }: stdenv.mkDerivation {
     name = "xcb-util-keysyms-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1490,12 +1490,12 @@ lib.makeScope newScope (self: with self; {
       sha256 = "1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gperf m4 libxcb xorgproto ];
+    nativeBuildInputs = [ pkgconfig m4 ];
+    buildInputs = [ gperf libxcb xorgproto ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xcbutilrenderutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xorgproto }: stdenv.mkDerivation {
+  xcbutilrenderutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xorgproto, m4 }: stdenv.mkDerivation {
     name = "xcb-util-renderutil-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1503,12 +1503,12 @@ lib.makeScope newScope (self: with self; {
       sha256 = "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gperf m4 libxcb xorgproto ];
+    nativeBuildInputs = [ pkgconfig m4 ];
+    buildInputs = [ gperf libxcb xorgproto ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xcbutilwm = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xorgproto }: stdenv.mkDerivation {
+  xcbutilwm = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xorgproto, m4 }: stdenv.mkDerivation {
     name = "xcb-util-wm-0.4.1";
     builder = ./builder.sh;
     src = fetchurl {
@@ -1516,8 +1516,8 @@ lib.makeScope newScope (self: with self; {
       sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8";
     };
     hardeningDisable = [ "bindnow" "relro" ];
-    nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ gperf m4 libxcb xorgproto ];
+    nativeBuildInputs = [ pkgconfig m4 ];
+    buildInputs = [ gperf libxcb xorgproto ];
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index bb0d1b59551..2c4d4fb3a5a 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -229,7 +229,8 @@ while (<>) {
 
     push @nativeRequires, "gettext" if $file =~ /USE_GETTEXT/;
     push @requires, "libxslt" if $pkg =~ /libxcb/;
-    push @requires, "gperf", "m4", "xorgproto" if $pkg =~ /xcbutil/;
+    push @nativeRequires, "m4" if $pkg =~ /xcbutil/;
+    push @requires, "gperf", "xorgproto" if $pkg =~ /xcbutil/;
 
     print "REQUIRES $pkg => @requires\n";
     print "NATIVE_REQUIRES $pkg => @nativeRequires\n";
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 068130f9c76..8a1eef6ac1d 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -198,6 +198,9 @@ self: super:
   libXi = super.libXi.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" "doc" ];
     propagatedBuildInputs = [ self.libXfixes ];
+    configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+      "xorg_cv_malloc0_returns_null=no"
+    ];
   });
 
   libXinerama = super.libXinerama.overrideAttrs (attrs: {
diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix
index 0f393c11988..43dd8a40480 100644
--- a/pkgs/shells/tcsh/default.nix
+++ b/pkgs/shells/tcsh/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   name = "tcsh-${version}";
-  version = "6.20.00";
+  version = "6.21.00";
 
   src = fetchurl {
     urls = [
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
       "ftp://ftp.astron.com/pub/tcsh/${name}.tar.gz"
       "ftp://ftp.funet.fi/pub/unix/shells/tcsh/${name}.tar.gz"
     ];
-    sha256 = "17ggxkkn5skl0v1x0j6hbv5l0sgnidfzwv16992sqkdm983fg7dq";
+    sha256 = "0wp9cqkzdj5ahfyg9bn5z1wnyblqyv9vz4sc5aqmj7rp91a34f64";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 6ff2b1636c2..9a2e71e5a40 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2019-05-08";
+  version = "2019-05-11";
   name = "oh-my-zsh-${version}";
-  rev = "b054e25d25aacdde7c64b002147b6cebdd78d0d2";
+  rev = "486fa1010df847bfd8823b4492623afc7c935709";
 
   src = fetchgit { inherit rev;
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    sha256 = "1sn6igxpwrb522agcmxg7m8200gf1h6sf2g6bx988gmhyxys4div";
+    sha256 = "097n64xzdqgqdbgcqnzsk0s9r9yn8ncqbixbsxgpcj29x9hi1dkn";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 76e1c351ff4..8cb0ad79587 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -165,6 +165,7 @@ let
     branch = str;
     homepage = either (listOf str) str;
     downloadPage = str;
+    changelog = either (listOf str) str;
     license = either (listOf lib.types.attrs) (either lib.types.attrs str);
     maintainers = listOf (attrsOf str);
     priority = int;
diff --git a/pkgs/tools/X11/arandr/default.nix b/pkgs/tools/X11/arandr/default.nix
index f33d03b6d15..5baba117157 100644
--- a/pkgs/tools/X11/arandr/default.nix
+++ b/pkgs/tools/X11/arandr/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, xrandr, python2Packages }:
+{ stdenv, fetchurl, gobject-introspection, gtk3, xrandr, python3Packages }:
 
 let
-  inherit (python2Packages) buildPythonApplication docutils pygtk;
+  inherit (python3Packages) buildPythonApplication docutils pygobject3;
 in buildPythonApplication rec {
-  name = "arandr-0.1.9";
+  name = "arandr-0.1.10";
 
   src = fetchurl {
     url = "https://christian.amsuess.com/tools/arandr/files/${name}.tar.gz";
-    sha256 = "1i3f1agixxbfy4kxikb2b241p7c2lg73cl9wqfvlwz3q6zf5faxv";
+    sha256 = "135q0llvm077jil2fr92ssw3p095m4r8jfj0lc5rr3m71n4srj6v";
   };
 
   patchPhase = ''
@@ -18,7 +18,12 @@ in buildPythonApplication rec {
   doCheck = false;
 
   buildInputs = [ docutils ];
-  propagatedBuildInputs = [ xrandr pygtk ];
+  nativeBuildInputs = [ gobject-introspection gtk3 ];
+  propagatedBuildInputs = [ xrandr pygobject3 ];
+
+  makeWrapperArgs = [
+    "--set GI_TYPELIB_PATH $GI_TYPELIB_PATH"
+  ];
 
   meta = {
     homepage = http://christian.amsuess.com/tools/arandr/;
diff --git a/pkgs/tools/audio/mp3cat/default.nix b/pkgs/tools/audio/mp3cat/default.nix
new file mode 100644
index 00000000000..19f670793ba
--- /dev/null
+++ b/pkgs/tools/audio/mp3cat/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "mp3cat";
+  version = "0.5";
+
+  src = fetchFromGitHub {
+    owner = "tomclegg";
+    repo = pname;
+    rev = version;
+    sha256 = "0n6hjg2wgd06m561zc3ib5w2m3pwpf74njv2b2w4sqqh5md2ymfr";
+  };
+
+  makeFlags = [
+    "PREFIX=${placeholder ''out''}"
+  ];
+
+  installTargets = [
+    "install_bin"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A command line program which concatenates MP3 files";
+    longDescription = ''
+      A command line program which concatenates MP3 files, mp3cat
+      only outputs MP3 frames with valid headers, even if there is extra garbage
+      in its input stream
+    '';
+    homepage = https://github.com/tomclegg/mp3cat;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.omnipotententity ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/backup/duply/default.nix b/pkgs/tools/backup/duply/default.nix
index 0ccc964c3e6..d476b797f38 100644
--- a/pkgs/tools/backup/duply/default.nix
+++ b/pkgs/tools/backup/duply/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, coreutils, python2, duplicity, gawk, gnupg1, bash
+{ stdenv, fetchurl, coreutils, python2, duplicity, gawk, gnupg, bash
 , gnugrep, txt2man, makeWrapper, which
 }:
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/share/man/man1"
     install -vD duply "$out/bin"
     wrapProgram "$out/bin/duply" --set PATH \
-        ${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg1 bash gnugrep txt2man which ]}
+        ${stdenv.lib.makeBinPath [ coreutils python2 duplicity gawk gnupg bash gnugrep txt2man which ]}
     "$out/bin/duply" txt2man > "$out/share/man/man1/duply.1"
   '';
 
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index 4a2ba2fcb94..ffdbcf463ea 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -24,17 +24,17 @@ stdenv.mkDerivation rec {
     ./CVE-2016-3189.patch
   ];
 
-
   postPatch = ''
     sed -i -e '/<sys\\stat\.h>/s|\\|/|' bzip2.c
   '';
 
-
   outputs = [ "bin" "dev" "out" "man" ];
 
   configureFlags =
     stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "High-quality data compression program";
     license = licenses.bsdOriginal;
diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix
index 3ca56e91a9e..3f2497cd8d2 100644
--- a/pkgs/tools/compression/lz4/default.nix
+++ b/pkgs/tools/compression/lz4/default.nix
@@ -1,18 +1,26 @@
-{ stdenv, fetchFromGitHub, valgrind
+{ stdenv, fetchFromGitHub, valgrind, fetchpatch
 , enableStatic ? false, enableShared ? true
 }:
 
 stdenv.mkDerivation rec {
-  name = "lz4-${version}";
+  pname = "lz4";
   version = "1.9.1";
 
   src = fetchFromGitHub {
     sha256 = "1l1caxrik1hqs40vj3bpv1pikw6b74cfazv5c0v6g48zpcbmshl0";
     rev = "v${version}";
-    repo = "lz4";
-    owner = "lz4";
+    repo = pname;
+    owner = pname;
   };
 
+  patches = [
+    # Fix detection of Darwin
+    (fetchpatch {
+      url = "https://github.com/lz4/lz4/commit/024216ef7394b6411eeaa5b52d0cec9953a44249.patch";
+      sha256 = "0j0j2pr6pkplxf083hlwl5q4cfp86q3wd8mc64bcfcr7ysc5pzl3";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
   buildInputs = stdenv.lib.optional doCheck valgrind;
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index ebb9db8670e..47906389d58 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, attr, acl, zlib, libuuid, e2fsprogs, lzo
-, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt, zstd, python3, python3Packages
+, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt, zstd, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -12,10 +12,17 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    pkgconfig asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt python3 python3Packages.setuptools
+    pkgconfig asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
+    python3 python3.pkgs.setuptools
   ];
 
-  buildInputs = [ attr acl zlib libuuid e2fsprogs lzo zstd ];
+  buildInputs = [ attr acl zlib libuuid e2fsprogs lzo zstd python3 ];
+
+  # for python cross-compiling
+  _PYTHON_HOST_PLATFORM = stdenv.hostPlatform.config;
+  postConfigure = ''
+    export LDSHARED="$LD -shared"
+  '';
 
   # gcc bug with -O1 on ARM with gcc 4.8
   # This should be fine on all platforms so apply universally
diff --git a/pkgs/tools/graphics/viu/default.nix b/pkgs/tools/graphics/viu/default.nix
index 1d554b1faf6..5de5b7e5be5 100644
--- a/pkgs/tools/graphics/viu/default.nix
+++ b/pkgs/tools/graphics/viu/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "viu";
-  version = "0.1";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "atanunq";
     repo = "viu";
     rev = "v${version}";
-    sha256 = "1j2sr8mhnbyzm168spzr4mk8gkjlfqh993b80sf2zv2sy83p8gfv";
+    sha256 = "0p4ibvv0qrflqdc2bi9rjn7yhn01ncxrpqpxmh8cbq67rbvm7jnx";
   };
 
-  cargoSha256 = "14pf2xvkk9qqq9qj5agxmfl3npgy6my961yfzv7p977712kdakh3";
+  cargoSha256 = "1h9dm2hhld2079dnx4x5nzkn3ivk6g5ijhv49jxnc200mx4mr1s5";
 
   meta = with lib; {
     description = "A command-line application to view images from the terminal written in Rust";
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
index 6d6c6d5d576..c762334c1b7 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "ibus-typing-booster-${version}";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "mike-fabian";
     repo = "ibus-typing-booster";
     rev = version;
-    sha256 = "1d32p9k9vp64rpmj2cs3552ak9jn54vyi2hqdpzag33v16cydsl4";
+    sha256 = "09zlrkbv1bh6h08an5wihbsl8qqawxhdp2vcbjqrx2v8gqm1zidm";
   };
 
   patches = [ ./hunspell-dirs.patch ];
diff --git a/pkgs/tools/misc/aptly/default.nix b/pkgs/tools/misc/aptly/default.nix
index 4571ee24fba..2dac9bd60c9 100644
--- a/pkgs/tools/misc/aptly/default.nix
+++ b/pkgs/tools/misc/aptly/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, gnupg1compat, bzip2, xz, graphviz }:
+{ stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, gnupg, bzip2, xz, graphviz }:
 
 let
 
@@ -34,7 +34,7 @@ buildGoPackage {
     mkdir -p $bin/share/bash-completion/completions
     ln -s ${aptlyCompletionSrc}/aptly $bin/share/bash-completion/completions
     wrapProgram "$bin/bin/aptly" \
-      --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg1compat bzip2 xz graphviz ]}"
+      --prefix PATH ":" "${stdenv.lib.makeBinPath [ gnupg bzip2 xz graphviz ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/coreutils/coreutils-8.31-musl-cross.patch b/pkgs/tools/misc/coreutils/coreutils-8.31-musl-cross.patch
new file mode 100644
index 00000000000..02b0b85db31
--- /dev/null
+++ b/pkgs/tools/misc/coreutils/coreutils-8.31-musl-cross.patch
@@ -0,0 +1,1153 @@
+From 453ff940449bbbde9ec00f0bbf82a359c5598fc7 Mon Sep 17 00:00:00 2001
+From: Bruno Haible <bruno@clisp.org>
+Date: Sat, 23 Mar 2019 23:00:52 +0100
+Subject: [PATCH 1/1] Support cross-compilation to musl libc.
+
+Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
+
+* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
+musl libc.
+* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
+* m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
+* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
+* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
+* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
+* m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
+* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
+* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
+* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
+* m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
+* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
+* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
+* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.  // removed
+* m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.  // removed
+* m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.  // removed
+* m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.  // removed
+* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
+* m4/log.m4 (gl_FUNC_LOG): Likewise.  // removed
+* m4/logf.m4 (gl_FUNC_LOGF): Likewise.  // removed
+* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.  // removed
+* m4/log10.m4 (gl_FUNC_LOG10): Likewise.  // removed
+* m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.  // removed
+* m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.  // removed
+* m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.  // removed
+* m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.  // removed
+* m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.  // removed
+* m4/log2.m4 (gl_FUNC_LOG2): Likewise.  // removed
+* m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.  // removed
+* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
+* m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
+* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
+* m4/modf.m4 (gl_FUNC_MODF): Likewise.  // removed
+* m4/modff.m4 (gl_FUNC_MODFF): Likewise.  // removed
+* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.  // removed
+* m4/perror.m4 (gl_FUNC_PERROR): Likewise.
+* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
+gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
+gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
+gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
+gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
+* m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.  // removed
+* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
+* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
+* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.  // removed
+* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.  // removed
+* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.  // removed
+* m4/rintl.m4 (gl_FUNC_RINTL): Likewise.  // removed
+* m4/round.m4 (gl_FUNC_ROUND): Likewise.  // removed
+* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.  // removed
+* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.  // removed
+* m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
+* m4/signbit.m4 (gl_SIGNBIT): Likewise.
+* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
+* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
+* m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
+* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
+* m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
+* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.    // removed
+* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.  // removed
+* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.  // removed
+* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
+* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
+* m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
+* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
+* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
+---
+ m4/calloc.m4           |  4 ++-
+ m4/canonicalize.m4     |  4 ++-
+ m4/chown.m4            | 22 +++++++------
+ m4/d-ino.m4            | 16 +++++-----
+ m4/fdopendir.m4        | 12 ++++---
+ m4/fnmatch.m4          | 18 ++++++++---
+ m4/fpurge.m4           | 24 +++++++++-----
+ m4/getcwd-abort-bug.m4 | 11 +++++--
+ m4/getcwd.m4           |  4 ++-
+ m4/getdelim.m4         | 40 ++++++++++++++----------
+ m4/getgroups.m4        |  6 +++-
+ m4/getline.m4          | 38 +++++++++++++---------
+ m4/gettimeofday.m4     |  4 ++-
+ m4/link-follow.m4      |  4 ++-
+ m4/malloc.m4           |  4 +--
+ m4/mkdir.m4            |  4 ++-
+ m4/mkstemp.m4          |  4 ++-
+ m4/perror.m4           | 12 ++++---
+ m4/printf.m4           | 22 ++++++++++++-
+ m4/putenv.m4           |  4 ++-
+ m4/realloc.m4          |  4 +--
+ m4/setenv.m4           |  4 ++-
+ m4/signbit.m4          |  6 +++-
+ m4/sleep.m4            |  4 ++-
+ m4/stpncpy.m4          | 14 +++++++--
+ m4/strerror.m4         |  6 +++-
+ m4/strtod.m4           | 10 +++---
+ m4/strtold.m4          |  9 ++++--
+ m4/tzset.m4            |  4 ++-
+ m4/ungetc.m4           | 18 ++++++-----
+ m4/usleep.m4           |  4 ++-
+ m4/utimes.m4           | 10 +++---
+ m4/wcwidth.m4          | 12 ++++---
+ 76 files changed, 461 insertions(+), 157 deletions(-)
+
+diff --git a/m4/calloc.m4 b/m4/calloc.m4
+index 012a5bf..d76535d 100644
+--- a/m4/calloc.m4
++++ b/m4/calloc.m4
+@@ -1,4 +1,4 @@
+-# calloc.m4 serial 18
++# calloc.m4 serial 19
+
+ # Copyright (C) 2004-2019 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+@@ -40,6 +40,8 @@ AC_DEFUN([_AC_FUNC_CALLOC_IF],
+        [case "$host_os" in
+                          # Guess yes on glibc systems.
+           *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
++                         # Guess yes on musl systems.
++          *-musl*)       ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+                          # Guess yes on native Windows.
+           mingw*)        ac_cv_func_calloc_0_nonnull="guessing yes" ;;
+                          # If we don't know, assume the worst.
+diff --git a/m4/canonicalize.m4 b/m4/canonicalize.m4
+index 5b6e25d..b61747b 100644
+--- a/m4/canonicalize.m4
++++ b/m4/canonicalize.m4
+@@ -1,4 +1,4 @@
+-# canonicalize.m4 serial 29
++# canonicalize.m4 serial 30
+
+ dnl Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc.
+
+@@ -113,6 +113,8 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS],
+      [case "$host_os" in
+                        # Guess yes on glibc systems.
+         *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;;
++                       # Guess yes on musl systems.
++        *-musl*)       gl_cv_func_realpath_works="guessing yes" ;;
+                        # Guess no on native Windows.
+         mingw*)        gl_cv_func_realpath_works="guessing no" ;;
+                        # If we don't know, assume the worst.
+diff --git a/m4/chown.m4 b/m4/chown.m4
+index ecfc0c0..b798325 100644
+--- a/m4/chown.m4
++++ b/m4/chown.m4
+@@ -1,4 +1,4 @@
+-# serial 30
++# serial 32
+ # Determine whether we need the chown wrapper.
+
+ dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2019 Free Software
+@@ -109,10 +109,12 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN],
+         [gl_cv_func_chown_slash_works=yes],
+         [gl_cv_func_chown_slash_works=no],
+         [case "$host_os" in
+-                   # Guess yes on glibc systems.
+-           *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;;
+-                   # If we don't know, assume the worst.
+-           *)      gl_cv_func_chown_slash_works="guessing no" ;;
++                    # Guess yes on glibc systems.
++           *-gnu*)  gl_cv_func_chown_slash_works="guessing yes" ;;
++                    # Guess yes on musl systems.
++           *-musl*) gl_cv_func_chown_slash_works="guessing yes" ;;
++                    # If we don't know, assume the worst.
++           *)       gl_cv_func_chown_slash_works="guessing no" ;;
+          esac
+         ])
+       rm -f conftest.link conftest.file])
+@@ -145,10 +147,12 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN],
+         [gl_cv_func_chown_ctime_works=yes],
+         [gl_cv_func_chown_ctime_works=no],
+         [case "$host_os" in
+-                   # Guess yes on glibc systems.
+-           *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;;
+-                   # If we don't know, assume the worst.
+-           *)      gl_cv_func_chown_ctime_works="guessing no" ;;
++                    # Guess yes on glibc systems.
++           *-gnu*)  gl_cv_func_chown_ctime_works="guessing yes" ;;
++                    # Guess yes on musl systems.
++           *-musl*) gl_cv_func_chown_ctime_works="guessing yes" ;;
++                    # If we don't know, assume the worst.
++           *)       gl_cv_func_chown_ctime_works="guessing no" ;;
+          esac
+         ])
+       rm -f conftest.file])
+diff --git a/m4/d-ino.m4 b/m4/d-ino.m4
+index f1420cc..87dcacc 100644
+--- a/m4/d-ino.m4
++++ b/m4/d-ino.m4
+@@ -1,4 +1,4 @@
+-# serial 18
++# serial 19
+
+ dnl From Jim Meyering.
+ dnl
+@@ -40,12 +40,14 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO],
+            [gl_cv_struct_dirent_d_ino=yes],
+            [gl_cv_struct_dirent_d_ino=no],
+            [case "$host_os" in
+-                           # Guess yes on glibc systems with Linux kernel.
+-              linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;;
+-                           # Guess no on native Windows.
+-              mingw*)      gl_cv_struct_dirent_d_ino="guessing no" ;;
+-                           # If we don't know, assume the worst.
+-              *)           gl_cv_struct_dirent_d_ino="guessing no" ;;
++                            # Guess yes on glibc systems with Linux kernel.
++              linux*-gnu*)  gl_cv_struct_dirent_d_ino="guessing yes" ;;
++                            # Guess yes on musl systems with Linux kernel.
++              linux*-musl*) gl_cv_struct_dirent_d_ino="guessing yes" ;;
++                            # Guess no on native Windows.
++              mingw*)       gl_cv_struct_dirent_d_ino="guessing no" ;;
++                            # If we don't know, assume the worst.
++              *)            gl_cv_struct_dirent_d_ino="guessing no" ;;
+             esac
+            ])])
+    case "$gl_cv_struct_dirent_d_ino" in
+diff --git a/m4/fdopendir.m4 b/m4/fdopendir.m4
+index 0490551..b2b3b03 100644
+--- a/m4/fdopendir.m4
++++ b/m4/fdopendir.m4
+@@ -1,4 +1,4 @@
+-# serial 10
++# serial 11
+ # See if we need to provide fdopendir.
+
+ dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
+@@ -45,10 +45,12 @@ DIR *fdopendir (int);
+          [gl_cv_func_fdopendir_works=yes],
+          [gl_cv_func_fdopendir_works=no],
+          [case "$host_os" in
+-                    # Guess yes on glibc systems.
+-            *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;;
+-                    # If we don't know, assume the worst.
+-            *)      gl_cv_func_fdopendir_works="guessing no" ;;
++                     # Guess yes on glibc systems.
++            *-gnu*)  gl_cv_func_fdopendir_works="guessing yes" ;;
++                     # Guess yes on musl systems.
++            *-musl*) gl_cv_func_fdopendir_works="guessing yes" ;;
++                     # If we don't know, assume the worst.
++            *)       gl_cv_func_fdopendir_works="guessing no" ;;
+           esac
+          ])])
+     case "$gl_cv_func_fdopendir_works" in
+diff --git a/m4/fnmatch.m4 b/m4/fnmatch.m4
+index c264ca7..75ba55b 100644
+--- a/m4/fnmatch.m4
++++ b/m4/fnmatch.m4
+@@ -1,4 +1,4 @@
+-# Check for fnmatch - serial 13.  -*- coding: utf-8 -*-
++# Check for fnmatch - serial 14.  -*- coding: utf-8 -*-
+
+ # Copyright (C) 2000-2007, 2009-2019 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+@@ -14,6 +14,7 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
+   m4_divert_text([DEFAULTS], [gl_fnmatch_required=POSIX])
+
+   AC_REQUIRE([gl_FNMATCH_H])
++  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+   gl_fnmatch_required_lowercase=`
+     echo $gl_fnmatch_required | LC_ALL=C tr '[[A-Z]]' '[[a-z]]'
+   `
+@@ -117,12 +118,19 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
+             ]])],
+          [eval "$gl_fnmatch_cache_var=yes"],
+          [eval "$gl_fnmatch_cache_var=no"],
+-         [eval "$gl_fnmatch_cache_var=\"guessing no\""])
++         [case "$host_os" in
++                     # Guess yes on musl systems.
++            *-musl*) eval "$gl_fnmatch_cache_var=\"guessing yes\"" ;;
++                     # Guess no otherwise, even on glibc systems.
++            *)       eval "$gl_fnmatch_cache_var=\"guessing no\"" ;;
++          esac
++         ])
+       ])
+     eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\""
+-    if test "$gl_fnmatch_result" != yes; then
+-      REPLACE_FNMATCH=1
+-    fi
++    case "$gl_fnmatch_result" in
++      *yes) ;;
++      *) REPLACE_FNMATCH=1 ;;
++    esac
+   fi
+   if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then
+     gl_REPLACE_FNMATCH_H
+diff --git a/m4/fpurge.m4 b/m4/fpurge.m4
+index cb21f56..6c5b3e9 100644
+--- a/m4/fpurge.m4
++++ b/m4/fpurge.m4
+@@ -1,4 +1,4 @@
+-# fpurge.m4 serial 8
++# fpurge.m4 serial 9
+ dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -7,12 +7,13 @@ dnl with or without modifications, as long as this notice is preserved.
+ AC_DEFUN([gl_FUNC_FPURGE],
+ [
+   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
++  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+   AC_CHECK_FUNCS_ONCE([fpurge])
+   AC_CHECK_FUNCS_ONCE([__fpurge])
+   AC_CHECK_DECLS([fpurge], , , [[#include <stdio.h>]])
+   if test "x$ac_cv_func_fpurge" = xyes; then
+     HAVE_FPURGE=1
+-    # Detect BSD bug.  Only cygwin 1.7 is known to be immune.
++    # Detect BSD bug.  Only cygwin 1.7 and musl are known to be immune.
+     AC_CACHE_CHECK([whether fpurge works], [gl_cv_func_fpurge_works],
+       [AC_RUN_IFELSE(
+          [AC_LANG_PROGRAM(
+@@ -48,11 +49,20 @@ AC_DEFUN([gl_FUNC_FPURGE],
+                return 13;
+              return 0;
+             ])],
+-      [gl_cv_func_fpurge_works=yes], [gl_cv_func_fpurge_works=no],
+-      [gl_cv_func_fpurge_works='guessing no'])])
+-    if test "x$gl_cv_func_fpurge_works" != xyes; then
+-      REPLACE_FPURGE=1
+-    fi
++         [gl_cv_func_fpurge_works=yes],
++         [gl_cv_func_fpurge_works=no],
++         [case "$host_os" in
++                     # Guess yes on musl systems.
++            *-musl*) gl_cv_func_fpurge_works="guessing yes" ;;
++                     # Guess no otherwise.
++            *)       gl_cv_func_fpurge_works="guessing no" ;;
++          esac
++         ])
++      ])
++    case "$gl_cv_func_fpurge_works" in
++      *yes) ;;
++      *) REPLACE_FPURGE=1 ;;
++    esac
+   else
+     HAVE_FPURGE=0
+   fi
+diff --git a/m4/getcwd-abort-bug.m4 b/m4/getcwd-abort-bug.m4
+index f0f24a5..7227f08 100644
+--- a/m4/getcwd-abort-bug.m4
++++ b/m4/getcwd-abort-bug.m4
+@@ -1,4 +1,4 @@
+-# serial 9
++# serial 11
+ # Determine whether getcwd aborts when the length of the working directory
+ # name is unusually large.  Any length between 4k and 16k trigger the bug
+ # when using glibc-2.4.90-9 or older.
+@@ -13,6 +13,7 @@
+ # gl_FUNC_GETCWD_ABORT_BUG([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+ AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG],
+ [
++  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+   AC_CHECK_DECLS_ONCE([getcwd])
+   AC_CHECK_HEADERS_ONCE([unistd.h])
+   AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ])
+@@ -142,7 +143,13 @@ main ()
+         else
+           gl_cv_func_getcwd_abort_bug=no
+         fi],
+-       [gl_cv_func_getcwd_abort_bug=yes])
++       [case "$host_os" in
++                   # Guess no on musl systems.
++          *-musl*) gl_cv_func_getcwd_abort_bug="guessing no" ;;
++                   # Guess yes otherwise, even on glibc systems.
++          *)       gl_cv_func_getcwd_abort_bug="guessing yes"
++        esac
++       ])
+     ])
+   AS_IF([test $gl_cv_func_getcwd_abort_bug = yes], [$1], [$2])
+ ])
+diff --git a/m4/getcwd.m4 b/m4/getcwd.m4
+index 4929b51..625171a 100644
+--- a/m4/getcwd.m4
++++ b/m4/getcwd.m4
+@@ -6,7 +6,7 @@
+ # with or without modifications, as long as this notice is preserved.
+
+ # Written by Paul Eggert.
+-# serial 16
++# serial 17
+
+ AC_DEFUN([gl_FUNC_GETCWD_NULL],
+   [
+@@ -50,6 +50,8 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL],
+         [[case "$host_os" in
+                            # Guess yes on glibc systems.
+             *-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";;
++                           # Guess yes on musl systems.
++            *-musl*)       gl_cv_func_getcwd_null="guessing yes";;
+                            # Guess yes on Cygwin.
+             cygwin*)       gl_cv_func_getcwd_null="guessing yes";;
+                            # If we don't know, assume the worst.
+diff --git a/m4/getdelim.m4 b/m4/getdelim.m4
+index bf17c57..e77c379 100644
+--- a/m4/getdelim.m4
++++ b/m4/getdelim.m4
+@@ -1,4 +1,4 @@
+-# getdelim.m4 serial 12
++# getdelim.m4 serial 13
+
+ dnl Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc.
+ dnl
+@@ -11,6 +11,7 @@ AC_PREREQ([2.59])
+ AC_DEFUN([gl_FUNC_GETDELIM],
+ [
+   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
++  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+   dnl Persuade glibc <stdio.h> to declare getdelim().
+   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+@@ -21,9 +22,10 @@ AC_DEFUN([gl_FUNC_GETDELIM],
+   if test $ac_cv_func_getdelim = yes; then
+     HAVE_GETDELIM=1
+     dnl Found it in some library.  Verify that it works.
+-    AC_CACHE_CHECK([for working getdelim function], [gl_cv_func_working_getdelim],
+-    [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
+-    AC_RUN_IFELSE([AC_LANG_SOURCE([[
++    AC_CACHE_CHECK([for working getdelim function],
++      [gl_cv_func_working_getdelim],
++      [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
++       AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #    include <stdio.h>
+ #    include <stdlib.h>
+ #    include <string.h>
+@@ -53,25 +55,31 @@ AC_DEFUN([gl_FUNC_GETDELIM],
+       fclose (in);
+       return 0;
+     }
+-    ]])], [gl_cv_func_working_getdelim=yes] dnl The library version works.
+-    , [gl_cv_func_working_getdelim=no] dnl The library version does NOT work.
+-    , dnl We're cross compiling. Assume it works on glibc2 systems.
+-      [AC_EGREP_CPP([Lucky GNU user],
+-         [
++    ]])],
++         [gl_cv_func_working_getdelim=yes],
++         [gl_cv_func_working_getdelim=no],
++         [dnl We're cross compiling.
++          dnl Guess it works on glibc2 systems and musl systems.
++          AC_EGREP_CPP([Lucky GNU user],
++            [
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+  #if (__GLIBC__ >= 2) && !defined __UCLIBC__
+   Lucky GNU user
+  #endif
+ #endif
+-         ],
+-         [gl_cv_func_working_getdelim="guessing yes"],
+-         [gl_cv_func_working_getdelim="guessing no"])]
+-    )])
++            ],
++            [gl_cv_func_working_getdelim="guessing yes"],
++            [case "$host_os" in
++               *-musl*) gl_cv_func_working_getdelim="guessing yes" ;;
++               *)       gl_cv_func_working_getdelim="guessing no" ;;
++             esac
++            ])
++         ])
++      ])
+     case "$gl_cv_func_working_getdelim" in
+-      *no)
+-        REPLACE_GETDELIM=1
+-        ;;
++      *yes) ;;
++      *) REPLACE_GETDELIM=1 ;;
+     esac
+   else
+     HAVE_GETDELIM=0
+diff --git a/m4/getgroups.m4 b/m4/getgroups.m4
+index 2ce986e..c93447b 100644
+--- a/m4/getgroups.m4
++++ b/m4/getgroups.m4
+@@ -1,4 +1,4 @@
+-# serial 21
++# serial 22
+
+ dnl From Jim Meyering.
+ dnl A wrapper around AC_FUNC_GETGROUPS.
+@@ -42,6 +42,8 @@ AC_DEFUN([AC_FUNC_GETGROUPS],
+          [case "$host_os" in # ((
+                            # Guess yes on glibc systems.
+             *-gnu* | gnu*) ac_cv_func_getgroups_works="guessing yes" ;;
++                           # Guess yes on musl systems.
++            *-musl*)       ac_cv_func_getgroups_works="guessing yes" ;;
+                            # If we don't know, assume the worst.
+             *)             ac_cv_func_getgroups_works="guessing no" ;;
+           esac
+@@ -95,6 +97,8 @@ AC_DEFUN([gl_FUNC_GETGROUPS],
+           [case "$host_os" in
+                             # Guess yes on glibc systems.
+              *-gnu* | gnu*) gl_cv_func_getgroups_works="guessing yes" ;;
++                            # Guess yes on musl systems.
++             *-musl*)       gl_cv_func_getgroups_works="guessing yes" ;;
+                             # If we don't know, assume the worst.
+              *)             gl_cv_func_getgroups_works="guessing no" ;;
+            esac
+diff --git a/m4/getline.m4 b/m4/getline.m4
+index 5b2ead2..32f771c 100644
+--- a/m4/getline.m4
++++ b/m4/getline.m4
+@@ -1,4 +1,4 @@
+-# getline.m4 serial 28
++# getline.m4 serial 29
+
+ dnl Copyright (C) 1998-2003, 2005-2007, 2009-2019 Free Software Foundation,
+ dnl Inc.
+@@ -16,6 +16,7 @@ dnl to do with the function we need.
+ AC_DEFUN([gl_FUNC_GETLINE],
+ [
+   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
++  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+   dnl Persuade glibc <stdio.h> to declare getline().
+   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+@@ -28,9 +29,10 @@ AC_DEFUN([gl_FUNC_GETLINE],
+                  gl_getline_needs_run_time_check=yes],
+                 [am_cv_func_working_getline=no])
+   if test $gl_getline_needs_run_time_check = yes; then
+-    AC_CACHE_CHECK([for working getline function], [am_cv_func_working_getline],
+-    [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
+-    AC_RUN_IFELSE([AC_LANG_SOURCE([[
++    AC_CACHE_CHECK([for working getline function],
++      [am_cv_func_working_getline],
++      [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
++       AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #    include <stdio.h>
+ #    include <stdlib.h>
+ #    include <string.h>
+@@ -61,21 +63,28 @@ AC_DEFUN([gl_FUNC_GETLINE],
+       fclose (in);
+       return 0;
+     }
+-    ]])], [am_cv_func_working_getline=yes] dnl The library version works.
+-    , [am_cv_func_working_getline=no] dnl The library version does NOT work.
+-    , dnl We're cross compiling. Assume it works on glibc2 systems.
+-      [AC_EGREP_CPP([Lucky GNU user],
+-         [
++    ]])],
++         [am_cv_func_working_getline=yes],
++         [am_cv_func_working_getline=no],
++         [dnl We're cross compiling.
++          dnl Guess it works on glibc2 systems and musl systems.
++          AC_EGREP_CPP([Lucky GNU user],
++            [
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+  #if (__GLIBC__ >= 2) && !defined __UCLIBC__
+   Lucky GNU user
+  #endif
+ #endif
+-         ],
+-         [am_cv_func_working_getline="guessing yes"],
+-         [am_cv_func_working_getline="guessing no"])]
+-    )])
++            ],
++            [am_cv_func_working_getline="guessing yes"],
++            [case "$host_os" in
++               *-musl*) am_cv_func_working_getline="guessing yes" ;;
++               *)       am_cv_func_working_getline="guessing no" ;;
++             esac
++            ])
++         ])
++      ])
+   fi
+
+   if test $ac_cv_have_decl_getline = no; then
+@@ -83,7 +92,8 @@ AC_DEFUN([gl_FUNC_GETLINE],
+   fi
+
+   case "$am_cv_func_working_getline" in
+-    *no)
++    *yes) ;;
++    *)
+       dnl Set REPLACE_GETLINE always: Even if we have not found the broken
+       dnl getline function among $LIBS, it may exist in libinet and the
+       dnl executable may be linked with -linet.
+diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4
+index d29b4bf..5e2ef6f 100644
+--- a/m4/gettimeofday.m4
++++ b/m4/gettimeofday.m4
+@@ -1,4 +1,4 @@
+-# serial 25
++# serial 26
+
+ # Copyright (C) 2001-2003, 2005, 2007, 2009-2019 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+@@ -105,6 +105,8 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER],
+       case "$host_os" in
+                        # Guess all is fine on glibc systems.
+         *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;;
++                       # Guess all is fine on musl systems.
++        *-musl*)       gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                        # Guess no on native Windows.
+         mingw*)        gl_cv_func_gettimeofday_clobber="guessing no" ;;
+                        # If we don't know, assume the worst.
+diff --git a/m4/link-follow.m4 b/m4/link-follow.m4
+index cbd2dca..8ac7301 100644
+--- a/m4/link-follow.m4
++++ b/m4/link-follow.m4
+@@ -1,4 +1,4 @@
+-# serial 20
++# serial 21
+ dnl Run a program to determine whether link(2) follows symlinks.
+ dnl Set LINK_FOLLOWS_SYMLINKS accordingly.
+
+@@ -88,6 +88,8 @@ AC_DEFUN([gl_FUNC_LINK_FOLLOWS_SYMLINK],
+             case "$host_os" in
+                                   # On glibc/Linux we know the result.
+               linux*-gnu* | gnu*) gl_cv_func_link_follows_symlink="guessing no" ;;
++                                  # On musl/Linux we know the result.
++              linux*-musl*)       gl_cv_func_link_follows_symlink="guessing no" ;;
+                                   # Otherwise, we don't know.
+               *)                  gl_cv_func_link_follows_symlink=unknown ;;
+             esac
+diff --git a/m4/malloc.m4 b/m4/malloc.m4
+index b9b8d4b..c469c45 100644
+--- a/m4/malloc.m4
++++ b/m4/malloc.m4
+@@ -1,4 +1,4 @@
+-# malloc.m4 serial 17
++# malloc.m4 serial 19
+ dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -32,7 +32,7 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF],
+        [ac_cv_func_malloc_0_nonnull=no],
+        [case "$host_os" in
+           # Guess yes on platforms where we know the result.
+-          *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \
++          *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \
+           | hpux* | solaris* | cygwin* | mingw*)
+             ac_cv_func_malloc_0_nonnull="guessing yes" ;;
+           # If we don't know, assume the worst.
+diff --git a/m4/mkdir.m4 b/m4/mkdir.m4
+index 4cd9590..366a3cd 100644
+--- a/m4/mkdir.m4
++++ b/m4/mkdir.m4
+@@ -1,4 +1,4 @@
+-# serial 14
++# serial 15
+
+ # Copyright (C) 2001, 2003-2004, 2006, 2008-2019 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+@@ -62,6 +62,8 @@ AC_DEFUN([gl_FUNC_MKDIR],
+       [case "$host_os" in
+                         # Guess yes on glibc systems.
+          *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
++                        # Guess yes on musl systems.
++         *-musl*)       gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;;
+                         # Guess no on native Windows.
+          mingw*)        gl_cv_func_mkdir_trailing_dot_works="guessing no" ;;
+                         # If we don't know, assume the worst.
+diff --git a/m4/mkstemp.m4 b/m4/mkstemp.m4
+index ae24c3b..1b15c2e 100644
+--- a/m4/mkstemp.m4
++++ b/m4/mkstemp.m4
+@@ -1,4 +1,4 @@
+-#serial 25
++#serial 26
+
+ # Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+@@ -59,6 +59,8 @@ AC_DEFUN([gl_FUNC_MKSTEMP],
+           [case "$host_os" in
+                             # Guess yes on glibc systems.
+              *-gnu* | gnu*) gl_cv_func_working_mkstemp="guessing yes" ;;
++                            # Guess yes on musl systems.
++             *-musl*)       gl_cv_func_working_mkstemp="guessing yes" ;;
+                             # Guess no on native Windows.
+              mingw*)        gl_cv_func_working_mkstemp="guessing no" ;;
+                             # If we don't know, assume the worst.
+diff --git a/m4/perror.m4 b/m4/perror.m4
+index 335be72..08e2db1 100644
+--- a/m4/perror.m4
++++ b/m4/perror.m4
+@@ -1,4 +1,4 @@
+-# perror.m4 serial 7
++# perror.m4 serial 8
+ dnl Copyright (C) 2008-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -48,10 +48,12 @@ AC_DEFUN([gl_FUNC_PERROR],
+             rm -rf conftest.txt1 conftest.txt2],
+            [gl_cv_func_perror_works=no],
+            [case "$host_os" in
+-                      # Guess yes on native Windows.
+-              mingw*) gl_cv_func_perror_works="guessing yes" ;;
+-                      # Otherwise guess no.
+-              *)      gl_cv_func_perror_works="guessing no" ;;
++                       # Guess yes on musl systems.
++              *-musl*) gl_cv_func_perror_works="guessing yes" ;;
++                       # Guess yes on native Windows.
++              mingw*)  gl_cv_func_perror_works="guessing yes" ;;
++                       # Otherwise guess no.
++              *)       gl_cv_func_perror_works="guessing no" ;;
+             esac
+            ])
+         ])
+diff --git a/m4/printf.m4 b/m4/printf.m4
+index cbf6ae4..6d2280e 100644
+--- a/m4/printf.m4
++++ b/m4/printf.m4
+@@ -1,4 +1,4 @@
+-# printf.m4 serial 60
++# printf.m4 serial 61
+ dnl Copyright (C) 2003, 2007-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -62,6 +62,8 @@ int main ()
+ changequote(,)dnl
+                                  # Guess yes on glibc systems.
+            *-gnu* | gnu*)        gl_cv_func_printf_sizes_c99="guessing yes";;
++                                 # Guess yes on musl systems.
++           *-musl*)              gl_cv_func_printf_sizes_c99="guessing yes";;
+                                  # Guess yes on FreeBSD >= 5.
+            freebsd[1-4].*)       gl_cv_func_printf_sizes_c99="guessing no";;
+            freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
+@@ -240,6 +242,8 @@ int main ()
+ changequote(,)dnl
+                                  # Guess yes on glibc systems.
+            *-gnu* | gnu*)        gl_cv_func_printf_infinite="guessing yes";;
++                                 # Guess yes on musl systems.
++           *-musl*)              gl_cv_func_printf_infinite="guessing yes";;
+                                  # Guess yes on FreeBSD >= 6.
+            freebsd[1-5].*)       gl_cv_func_printf_infinite="guessing no";;
+            freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
+@@ -457,6 +461,8 @@ int main ()
+ changequote(,)dnl
+                                          # Guess yes on glibc systems.
+                    *-gnu* | gnu*)        gl_cv_func_printf_infinite_long_double="guessing yes";;
++                                         # Guess yes on musl systems.
++                   *-musl*)              gl_cv_func_printf_infinite_long_double="guessing yes";;
+                                          # Guess yes on FreeBSD >= 6.
+                    freebsd[1-5].*)       gl_cv_func_printf_infinite_long_double="guessing no";;
+                    freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
+@@ -575,6 +581,8 @@ int main ()
+                [gl_cv_func_printf_directive_a="guessing yes"],
+                [gl_cv_func_printf_directive_a="guessing no"])
+              ;;
++                                 # Guess yes on musl systems.
++           *-musl*)              gl_cv_func_printf_directive_a="guessing yes";;
+                                  # Guess no on Android.
+            linux*-android*)      gl_cv_func_printf_directive_a="guessing no";;
+                                  # Guess no on native Windows.
+@@ -625,6 +633,8 @@ int main ()
+ changequote(,)dnl
+                                  # Guess yes on glibc systems.
+            *-gnu* | gnu*)        gl_cv_func_printf_directive_f="guessing yes";;
++                                 # Guess yes on musl systems.
++           *-musl*)              gl_cv_func_printf_directive_f="guessing yes";;
+                                  # Guess yes on FreeBSD >= 6.
+            freebsd[1-5].*)       gl_cv_func_printf_directive_f="guessing no";;
+            freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
+@@ -960,6 +970,8 @@ changequote(,)dnl
+          case "$host_os" in
+                             # Guess yes on glibc systems.
+            *-gnu* | gnu*)   gl_cv_func_printf_flag_zero="guessing yes";;
++                            # Guess yes on musl systems.
++           *-musl*)         gl_cv_func_printf_flag_zero="guessing yes";;
+                             # Guess yes on BeOS.
+            beos*)           gl_cv_func_printf_flag_zero="guessing yes";;
+                             # Guess no on Android.
+@@ -1206,6 +1218,8 @@ changequote(,)dnl
+          case "$host_os" in
+                                  # Guess yes on glibc systems.
+            *-gnu* | gnu*)        gl_cv_func_snprintf_truncation_c99="guessing yes";;
++                                 # Guess yes on musl systems.
++           *-musl*)              gl_cv_func_snprintf_truncation_c99="guessing yes";;
+                                  # Guess yes on FreeBSD >= 5.
+            freebsd[1-4].*)       gl_cv_func_snprintf_truncation_c99="guessing no";;
+            freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
+@@ -1308,6 +1322,8 @@ int main ()
+ changequote(,)dnl
+                                  # Guess yes on glibc systems.
+            *-gnu* | gnu*)        gl_cv_func_snprintf_retval_c99="guessing yes";;
++                                 # Guess yes on musl systems.
++           *-musl*)              gl_cv_func_snprintf_retval_c99="guessing yes";;
+                                  # Guess yes on FreeBSD >= 5.
+            freebsd[1-4].*)       gl_cv_func_snprintf_retval_c99="guessing no";;
+            freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
+@@ -1400,6 +1416,8 @@ changequote(,)dnl
+          case "$host_os" in
+                                  # Guess yes on glibc systems.
+            *-gnu* | gnu*)        gl_cv_func_snprintf_directive_n="guessing yes";;
++                                 # Guess yes on musl systems.
++           *-musl*)              gl_cv_func_snprintf_directive_n="guessing yes";;
+                                  # Guess yes on FreeBSD >= 5.
+            freebsd[1-4].*)       gl_cv_func_snprintf_directive_n="guessing no";;
+            freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";;
+@@ -1554,6 +1572,8 @@ changequote(,)dnl
+          case "$host_os" in
+                                  # Guess yes on glibc systems.
+            *-gnu* | gnu*)        gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
++                                 # Guess yes on musl systems.
++           *-musl*)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+                                  # Guess yes on FreeBSD >= 5.
+            freebsd[1-4].*)       gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
+            freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+diff --git a/m4/putenv.m4 b/m4/putenv.m4
+index f8960f6..342ba26 100644
+--- a/m4/putenv.m4
++++ b/m4/putenv.m4
+@@ -1,4 +1,4 @@
+-# putenv.m4 serial 22
++# putenv.m4 serial 23
+ dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -36,6 +36,8 @@ AC_DEFUN([gl_FUNC_PUTENV],
+              [case "$host_os" in
+                                # Guess yes on glibc systems.
+                 *-gnu* | gnu*) gl_cv_func_svid_putenv="guessing yes" ;;
++                               # Guess yes on musl systems.
++                *-musl*)       gl_cv_func_svid_putenv="guessing yes" ;;
+                                # Guess no on native Windows.
+                 mingw*)        gl_cv_func_svid_putenv="guessing no" ;;
+                                # If we don't know, assume the worst.
+diff --git a/m4/realloc.m4 b/m4/realloc.m4
+index f9f15ad..93066e8 100644
+--- a/m4/realloc.m4
++++ b/m4/realloc.m4
+@@ -1,4 +1,4 @@
+-# realloc.m4 serial 15
++# realloc.m4 serial 17
+ dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -32,7 +32,7 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF],
+        [ac_cv_func_realloc_0_nonnull=no],
+        [case "$host_os" in
+           # Guess yes on platforms where we know the result.
+-          *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \
++          *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \
+           | hpux* | solaris* | cygwin* | mingw*)
+             ac_cv_func_realloc_0_nonnull="guessing yes" ;;
+           # If we don't know, assume the worst.
+diff --git a/m4/setenv.m4 b/m4/setenv.m4
+index 6101274..a8f83d6 100644
+--- a/m4/setenv.m4
++++ b/m4/setenv.m4
+@@ -1,4 +1,4 @@
+-# setenv.m4 serial 27
++# setenv.m4 serial 28
+ dnl Copyright (C) 2001-2004, 2006-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -37,6 +37,8 @@ AC_DEFUN([gl_FUNC_SETENV],
+       [case "$host_os" in
+                         # Guess yes on glibc systems.
+          *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;;
++                        # Guess yes on musl systems.
++         *-musl*)       gl_cv_func_setenv_works="guessing yes" ;;
+                         # If we don't know, assume the worst.
+          *)             gl_cv_func_setenv_works="guessing no" ;;
+        esac
+diff --git a/m4/signbit.m4 b/m4/signbit.m4
+index bf5bce5..f7f2f3d 100644
+--- a/m4/signbit.m4
++++ b/m4/signbit.m4
+@@ -1,4 +1,4 @@
+-# signbit.m4 serial 16
++# signbit.m4 serial 17
+ dnl Copyright (C) 2007-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -31,6 +31,8 @@ AC_DEFUN([gl_SIGNBIT],
+         [case "$host_os" in
+                           # Guess yes on glibc systems.
+            *-gnu* | gnu*) gl_cv_func_signbit="guessing yes" ;;
++                          # Guess yes on musl systems.
++           *-musl*)       gl_cv_func_signbit="guessing yes" ;;
+                           # Guess yes on native Windows.
+            mingw*)        gl_cv_func_signbit="guessing yes" ;;
+                           # If we don't know, assume the worst.
+@@ -62,6 +64,8 @@ AC_DEFUN([gl_SIGNBIT],
+         [case "$host_os" in
+                           # Guess yes on glibc systems.
+            *-gnu* | gnu*) gl_cv_func_signbit_gcc="guessing yes" ;;
++                          # Guess yes on musl systems.
++           *-musl*)       gl_cv_func_signbit_gcc="guessing yes" ;;
+                           # Guess yes on mingw, no on MSVC.
+            mingw*)        if test -n "$GCC"; then
+                             gl_cv_func_signbit_gcc="guessing yes"
+diff --git a/m4/sleep.m4 b/m4/sleep.m4
+index 5f71cc7..7bab467 100644
+--- a/m4/sleep.m4
++++ b/m4/sleep.m4
+@@ -1,4 +1,4 @@
+-# sleep.m4 serial 9
++# sleep.m4 serial 10
+ dnl Copyright (C) 2007-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -48,6 +48,8 @@ handle_alarm (int sig)
+       [case "$host_os" in
+                         # Guess yes on glibc systems.
+          *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;;
++                        # Guess yes on musl systems.
++         *-musl*)       gl_cv_func_sleep_works="guessing yes" ;;
+                         # Guess no on native Windows.
+          mingw*)        gl_cv_func_sleep_works="guessing no" ;;
+                         # If we don't know, assume the worst.
+diff --git a/m4/stpncpy.m4 b/m4/stpncpy.m4
+index 83425dd..f8e1a7c 100644
+--- a/m4/stpncpy.m4
++++ b/m4/stpncpy.m4
+@@ -1,4 +1,4 @@
+-# stpncpy.m4 serial 16
++# stpncpy.m4 serial 17
+ dnl Copyright (C) 2002-2003, 2005-2007, 2009-2019 Free Software Foundation,
+ dnl Inc.
+ dnl This file is free software; the Free Software Foundation
+@@ -7,6 +7,8 @@ dnl with or without modifications, as long as this notice is preserved.
+
+ AC_DEFUN([gl_FUNC_STPNCPY],
+ [
++  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
++
+   dnl Persuade glibc <string.h> to declare stpncpy().
+   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
+
+@@ -69,12 +71,18 @@ int main ()
+ ]])],
+         [gl_cv_func_stpncpy=yes],
+         [gl_cv_func_stpncpy=no],
+-        [AC_EGREP_CPP([Thanks for using GNU], [
++        [dnl Guess yes on glibc systems and musl systems.
++         AC_EGREP_CPP([Thanks for using GNU], [
+ #include <features.h>
+ #ifdef __GNU_LIBRARY__
+   Thanks for using GNU
+ #endif
+-], [gl_cv_func_stpncpy="guessing yes"], [gl_cv_func_stpncpy="guessing no"])
++],         [gl_cv_func_stpncpy="guessing yes"],
++           [case "$host_os" in
++              *-musl*) gl_cv_func_stpncpy="guessing yes" ;;
++              *)       gl_cv_func_stpncpy="guessing no" ;;
++            esac
++           ])
+         ])
+     ])
+     case "$gl_cv_func_stpncpy" in
+diff --git a/m4/strerror.m4 b/m4/strerror.m4
+index b452f7f..2c90f31 100644
+--- a/m4/strerror.m4
++++ b/m4/strerror.m4
+@@ -1,4 +1,4 @@
+-# strerror.m4 serial 19
++# strerror.m4 serial 20
+ dnl Copyright (C) 2002, 2007-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -26,6 +26,8 @@ AC_DEFUN([gl_FUNC_STRERROR],
+         [case "$host_os" in
+                           # Guess yes on glibc systems.
+            *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;;
++                          # Guess yes on musl systems.
++           *-musl*)       gl_cv_func_working_strerror="guessing yes" ;;
+                           # If we don't know, assume the worst.
+            *)             gl_cv_func_working_strerror="guessing no" ;;
+          esac
+@@ -80,6 +82,8 @@ AC_DEFUN([gl_FUNC_STRERROR_0],
+       [case "$host_os" in
+                         # Guess yes on glibc systems.
+          *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
++                        # Guess yes on musl systems.
++         *-musl*)       gl_cv_func_strerror_0_works="guessing yes" ;;
+                         # Guess yes on native Windows.
+          mingw*)        gl_cv_func_strerror_0_works="guessing yes" ;;
+                         # If we don't know, assume the worst.
+diff --git a/m4/strtod.m4 b/m4/strtod.m4
+index 9912217..d68ab75 100644
+--- a/m4/strtod.m4
++++ b/m4/strtod.m4
+@@ -1,4 +1,4 @@
+-# strtod.m4 serial 24
++# strtod.m4 serial 25
+ dnl Copyright (C) 2002-2003, 2006-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -115,9 +115,11 @@ numeric_equal (double x, double y)
+            ],
+            [gl_cv_func_strtod_works="guessing yes"],
+            [case "$host_os" in
+-                      # Guess yes on native Windows.
+-              mingw*) gl_cv_func_strtod_works="guessing yes" ;;
+-              *)      gl_cv_func_strtod_works="guessing no" ;;
++                       # Guess yes on musl systems.
++              *-musl*) gl_cv_func_strtod_works="guessing yes" ;;
++                       # Guess yes on native Windows.
++              mingw*)  gl_cv_func_strtod_works="guessing yes" ;;
++              *)       gl_cv_func_strtod_works="guessing no" ;;
+             esac
+            ])
+         ])
+diff --git a/m4/strtold.m4 b/m4/strtold.m4
+index 16b4eda..17125fe 100644
+--- a/m4/strtold.m4
++++ b/m4/strtold.m4
+@@ -1,4 +1,4 @@
+-# strtold.m4 serial 2
++# strtold.m4 serial 4
+ dnl Copyright (C) 2002-2003, 2006-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -98,7 +98,12 @@ numeric_equal (long double x, long double y)
+ #endif
+            ],
+            [gl_cv_func_strtold_works="guessing yes"],
+-           [gl_cv_func_strtod_works="guessing no"])
++           [case "$host_os" in
++                       # Guess yes on musl systems.
++              *-musl*) gl_cv_func_strtold_works="guessing yes" ;;
++              *)       gl_cv_func_strtold_works="guessing no" ;;
++            esac
++           ])
+         ])
+       ])
+     case "$gl_cv_func_strtold_works" in
+diff --git a/m4/tzset.m4 b/m4/tzset.m4
+index 1278801..afdfa8e 100644
+--- a/m4/tzset.m4
++++ b/m4/tzset.m4
+@@ -1,4 +1,4 @@
+-# serial 11
++# serial 12
+
+ # Copyright (C) 2003, 2007, 2009-2019 Free Software Foundation, Inc.
+ # This file is free software; the Free Software Foundation
+@@ -70,6 +70,8 @@ main ()
+        [case "$host_os" in
+                          # Guess all is fine on glibc systems.
+           *-gnu* | gnu*) gl_cv_func_tzset_clobber="guessing no" ;;
++                         # Guess all is fine on musl systems.
++          *-musl*)       gl_cv_func_tzset_clobber="guessing no" ;;
+                          # Guess no on native Windows.
+           mingw*)        gl_cv_func_tzset_clobber="guessing no" ;;
+                          # If we don't know, assume the worst.
+diff --git a/m4/ungetc.m4 b/m4/ungetc.m4
+index ab8757b..08baf33 100644
+--- a/m4/ungetc.m4
++++ b/m4/ungetc.m4
+@@ -1,4 +1,4 @@
+-# ungetc.m4 serial 6
++# ungetc.m4 serial 7
+ dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -41,12 +41,16 @@ AC_DEFUN_ONCE([gl_FUNC_UNGETC_WORKS],
+            remove ("conftest.tmp");])],
+         [gl_cv_func_ungetc_works=yes], [gl_cv_func_ungetc_works=no],
+         [case "$host_os" in
+-                                       # Guess yes on glibc and bionic systems.
+-           *-gnu* | gnu* | *-android*) gl_cv_func_ungetc_works="guessing yes" ;;
+-                                       # Guess yes on native Windows.
+-           mingw*)                     gl_cv_func_ungetc_works="guessing yes" ;;
+-                                       # If we don't know, assume the worst.
+-           *)                          gl_cv_func_ungetc_works="guessing no" ;;
++                          # Guess yes on glibc systems.
++           *-gnu* | gnu*) gl_cv_func_ungetc_works="guessing yes" ;;
++                          # Guess yes on musl systems.
++           *-musl*)       gl_cv_func_ungetc_works="guessing yes" ;;
++                          # Guess yes on bionic systems.
++           *-android*)    gl_cv_func_ungetc_works="guessing yes" ;;
++                          # Guess yes on native Windows.
++           mingw*)        gl_cv_func_ungetc_works="guessing yes" ;;
++                          # If we don't know, assume the worst.
++           *)             gl_cv_func_ungetc_works="guessing no" ;;
+          esac
+         ])
+     ])
+diff --git a/m4/usleep.m4 b/m4/usleep.m4
+index 59605a8..4a6bff0 100644
+--- a/m4/usleep.m4
++++ b/m4/usleep.m4
+@@ -1,4 +1,4 @@
+-# usleep.m4 serial 5
++# usleep.m4 serial 6
+ dnl Copyright (C) 2009-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -31,6 +31,8 @@ AC_DEFUN([gl_FUNC_USLEEP],
+         [case "$host_os" in
+                           # Guess yes on glibc systems.
+            *-gnu* | gnu*) gl_cv_func_usleep_works="guessing yes" ;;
++                          # Guess yes on musl systems.
++           *-musl*)       gl_cv_func_usleep_works="guessing yes" ;;
+                           # Guess no on native Windows.
+            mingw*)        gl_cv_func_usleep_works="guessing no" ;;
+                           # If we don't know, assume the worst.
+diff --git a/m4/utimes.m4 b/m4/utimes.m4
+index 7209b6d..5806d8f 100644
+--- a/m4/utimes.m4
++++ b/m4/utimes.m4
+@@ -1,5 +1,5 @@
+ # Detect some bugs in glibc's implementation of utimes.
+-# serial 5
++# serial 6
+
+ dnl Copyright (C) 2003-2005, 2009-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+@@ -143,9 +143,11 @@ main ()
+        [gl_cv_func_working_utimes=yes],
+        [gl_cv_func_working_utimes=no],
+        [case "$host_os" in
+-                  # Guess no on native Windows.
+-          mingw*) gl_cv_func_working_utimes="guessing no" ;;
+-          *)      gl_cv_func_working_utimes="guessing no" ;;
++                   # Guess yes on musl systems.
++          *-musl*) gl_cv_func_working_utimes="guessing yes" ;;
++                   # Guess no on native Windows.
++          mingw*)  gl_cv_func_working_utimes="guessing no" ;;
++          *)       gl_cv_func_working_utimes="guessing no" ;;
+         esac
+        ])
+     ])
+diff --git a/m4/wcwidth.m4 b/m4/wcwidth.m4
+index baa2002..3952fd2 100644
+--- a/m4/wcwidth.m4
++++ b/m4/wcwidth.m4
+@@ -1,4 +1,4 @@
+-# wcwidth.m4 serial 27
++# wcwidth.m4 serial 28
+ dnl Copyright (C) 2006-2019 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -98,9 +98,13 @@ int main ()
+           [
+ changequote(,)dnl
+            case "$host_os" in
+-                                        # Guess yes on glibc and AIX 7 systems.
+-             *-gnu* | gnu* | aix[7-9]*) gl_cv_func_wcwidth_works="guessing yes";;
+-             *)                         gl_cv_func_wcwidth_works="guessing no";;
++                            # Guess yes on glibc systems.
++             *-gnu* | gnu*) gl_cv_func_wcwidth_works="guessing yes";;
++                            # Guess yes on musl systems.
++             *-musl*)       gl_cv_func_wcwidth_works="guessing yes";;
++                            # Guess yes on AIX 7 systems.
++             aix[7-9]*)     gl_cv_func_wcwidth_works="guessing yes";;
++             *)             gl_cv_func_wcwidth_works="guessing no";;
+            esac
+ changequote([,])dnl
+           ])
+--
+1.9.1
+
+
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 9cc48f44646..f83a2b94071 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, buildPackages
-, autoreconfHook, texinfo, fetchurl, perl, xz, libiconv, gmp ? null
+, autoreconfHook, bison, texinfo, fetchurl, perl, xz, libiconv, gmp ? null
 , aclSupport ? stdenv.isLinux, acl ? null
 , attrSupport ? stdenv.isLinux, attr ? null
 , selinuxSupport? false, libselinux ? null, libsepol ? null
@@ -24,7 +24,9 @@ stdenv.mkDerivation rec {
     sha256 = "1zg9m79x1i2nifj4kb0waf9x3i5h6ydkypkjnbsb9rnwis8rqypz";
   };
 
-  patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch;
+  patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch
+         # Fix compilation in musl-cross environments. To be removed in coreutils-8.32.
+         ++ optional stdenv.hostPlatform.isMusl ./coreutils-8.31-musl-cross.patch;
 
   postPatch = ''
     # The test tends to fail on btrfs,f2fs and maybe other unusual filesystems.
@@ -55,7 +57,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "info" ];
 
-  nativeBuildInputs = [ perl xz.bin ];
+  nativeBuildInputs = [ perl xz.bin ]
+    ++ optionals stdenv.hostPlatform.isCygwin [ autoreconfHook texinfo ]   # due to patch
+    ++ optionals stdenv.hostPlatform.isMusl [ autoreconfHook bison ];   # due to patch
   configureFlags = [ "--with-packager=https://NixOS.org" ]
     ++ optional (singleBinary != false)
       ("--enable-single-binary" + optionalString (isString singleBinary) "=${singleBinary}")
@@ -73,7 +77,6 @@ stdenv.mkDerivation rec {
     ++ optional aclSupport acl
     ++ optional attrSupport attr
     ++ optional withOpenssl openssl
-    ++ optionals stdenv.hostPlatform.isCygwin [ autoreconfHook texinfo ]   # due to patch
     ++ optionals selinuxSupport [ libselinux libsepol ]
        # TODO(@Ericson2314): Investigate whether Darwin could benefit too
     ++ optional (stdenv.hostPlatform != stdenv.buildPlatform && stdenv.hostPlatform.libc != "glibc") libiconv;
@@ -132,4 +135,7 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.eelco ];
   };
 
+} // optionalAttrs stdenv.hostPlatform.isMusl {
+  # Work around a bogus warning in conjunction with musl.
+  NIX_CFLAGS_COMPILE = "-Wno-error";
 }
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index b4272dac531..22da00da9fc 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchgit, python3Packages, docutils, help2man
 , acl, apktool, binutils-unwrapped, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, db, diffutils, dtc
-, e2fsprogs, file, findutils, fontforge-fonttools, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg1, gnutar
+, e2fsprogs, file, findutils, fontforge-fonttools, fpc, gettext, ghc, ghostscriptX, giflib, gnumeric, gnupg, gnutar
 , gzip, imagemagick, jdk, libarchive, libcaca, llvm, lz4, mono, openssh, pdftk, pgpdump, poppler_utils, sng, sqlite
 , squashfsTools, tcpdump, unoconv, unzip, xxd, xz
 , enableBloat ? false
@@ -41,7 +41,7 @@ python3Packages.buildPythonApplication rec {
       dtc e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
       libarchive libcaca lz4 pgpdump progressbar33 sng sqlite squashfsTools unzip xxd xz
     ] ++ lib.optionals enableBloat [
-      apktool cbfstool colord fpc ghc ghostscriptX giflib gnupg1 gnumeric imagemagick
+      apktool cbfstool colord fpc ghc ghostscriptX giflib gnupg gnumeric imagemagick
       llvm jdk mono openssh pdftk poppler_utils tcpdump unoconv
       python3Packages.guestfs
     ];
diff --git a/pkgs/tools/misc/docker-ls/default.nix b/pkgs/tools/misc/docker-ls/default.nix
index 359b450b5fe..f6bc091c14a 100644
--- a/pkgs/tools/misc/docker-ls/default.nix
+++ b/pkgs/tools/misc/docker-ls/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "docker-ls-${version}";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "mayflower";
     repo = "docker-ls";
     rev = "v${version}";
-    sha256 = "1dhadi1s3nm3r8q5a0m59fy4jdya8p7zvm22ci7ifm3mmw960xly";
+    sha256 = "1hb9b0jhaf01zlmkm353mz608kwb79dzic3gvb2fhyrh8d17w2iv";
   };
 
   goPackagePath = "github.com/mayflower/docker-ls";
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 43682d9c847..963086b717a 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ethtool-${version}";
-  version = "5.0";
+  version = "5.1";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "16gfkf001mdid1vjrxwri7fs4iwiy6d4lkrssljr2n13y0xj7m7c";
+    sha256 = "11rkvb1nga9hdiycw0hjn6lh1sfy4p4yzcl4fw5jjrb5xhgsrzk5";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/ffsend/Cargo.lock.patch b/pkgs/tools/misc/ffsend/Cargo.lock.patch
new file mode 100644
index 00000000000..4d95a43cfb0
--- /dev/null
+++ b/pkgs/tools/misc/ffsend/Cargo.lock.patch
@@ -0,0 +1,13 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 2344bfd..08413d8 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -614,7 +614,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ 
+ [[package]]
+ name = "ffsend"
+-version = "0.2.45"
++version = "0.2.46"
+ dependencies = [
+  "chbs 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
+  "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/pkgs/tools/misc/ffsend/default.nix b/pkgs/tools/misc/ffsend/default.nix
index 9eaba1e8d3f..2eca6de7b61 100644
--- a/pkgs/tools/misc/ffsend/default.nix
+++ b/pkgs/tools/misc/ffsend/default.nix
@@ -1,34 +1,41 @@
 { stdenv, fetchFromGitLab, rustPlatform, cmake, pkgconfig, openssl
 , darwin
 
-, x11Support ? stdenv.isLinux
+, x11Support ? stdenv.isLinux || stdenv.hostPlatform.isBSD
 , xclip ? null, xsel ? null
 , preferXsel ? false # if true and xsel is non-null, use it instead of xclip
 }:
 
-assert (x11Support && stdenv.isLinux) -> xclip != null || xsel != null;
+let
+  usesX11 = stdenv.isLinux || stdenv.hostPlatform.isBSD;
+in
+
+assert (x11Support && usesX11) -> xclip != null || xsel != null;
 
 with rustPlatform;
 
 buildRustPackage rec {
   pname = "ffsend";
-  version = "0.2.45";
+  version = "0.2.46";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "ffsend";
     rev = "v${version}";
-    sha256 = "1rhbpkalbbklbg0bq3xzbqw918ymqjnwhib3agzqd7477hrh1bkr";
+    sha256 = "048kmhy8l2dy7v1b3vzlhcw5qhnz82y1wki6wpd2nz8siyd7dnpi";
   };
 
-  cargoSha256 = "1218v6rm1j545764g8rkpanwafjzk1c7f5x22v9ivzm0b6lmnm56";
+  cargoSha256 = "09i44vpxbww972zyv393xxwk7wz26cnqzq4gi1mg4703h02jkpjk";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ]
   ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices Security AppKit ])
   ;
 
-  preBuild = stdenv.lib.optionalString (x11Support && stdenv.isLinux) (
+  # Patch for v0.2.45 only
+  patches = [ ./Cargo.lock.patch ];
+
+  preBuild = stdenv.lib.optionalString (x11Support && usesX11) (
     if preferXsel && xsel != null then ''
       export XSEL_PATH="${xsel}/bin/xsel"
     '' else ''
@@ -54,6 +61,6 @@ buildRustPackage rec {
     homepage = https://gitlab.com/timvisee/ffsend;
     license = licenses.gpl3;
     maintainers = [ maintainers.lilyball ];
-    platforms = platforms.darwin ++ platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix
index ed31d01f09d..14858428ee9 100644
--- a/pkgs/tools/misc/file/default.nix
+++ b/pkgs/tools/misc/file/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "file-${version}";
-  version = "5.36";
+  version = "5.37";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.astron.com/pub/file/${name}.tar.gz"
       "https://distfiles.macports.org/file/${name}.tar.gz"
     ];
-    sha256 = "0ya330cdkvfi2d28h8gvhghj4gnhysmifmryysl0a97xq2884q7v";
+    sha256 = "0zz0p9bqnswfx0c16j8k62ivjq1m16x10xqv4hy9lcyxyxkkkhg9";
   };
 
   nativeBuildInputs = stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) file;
diff --git a/pkgs/tools/misc/getopt/builder.sh b/pkgs/tools/misc/getopt/builder.sh
deleted file mode 100644
index a220ad0c66f..00000000000
--- a/pkgs/tools/misc/getopt/builder.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-source $stdenv/setup
-installFlags="prefix=$out"
-makeFlags="CFLAGS=-DWITHOUT_GETTEXT LIBCGETOPT=0"
-genericBuild
diff --git a/pkgs/tools/misc/getopt/default.nix b/pkgs/tools/misc/getopt/default.nix
index 8221bec6cca..62414a60475 100644
--- a/pkgs/tools/misc/getopt/default.nix
+++ b/pkgs/tools/misc/getopt/default.nix
@@ -1,15 +1,19 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "getopt-1.1.4";
-  builder = ./builder.sh;
+stdenv.mkDerivation rec {
+  pname = "getopt";
+  version = "1.1.6";
   src = fetchurl {
-    url = http://tarballs.nixos.org/getopt-1.1.4.tar.gz;
-    sha256 = "1arvjfzw6p310zbgv629w5hkyslrj44imf3r3s2r4ry2jfcks221";
+    url = "http://frodo.looijaard.name/system/files/software/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "1zn5kp8ar853rin0ay2j3p17blxy16agpp8wi8wfg4x98b31vgyh";
   };
-  preBuild = ''
-    export buildFlags=CC="$CC" # for darwin
-  '';
+
+  makeFlags = [
+    "WITHOUT_GETTEXT=1"
+    "LIBCGETOPT=0"
+    "prefix=${placeholder "out"}"
+    "CC:=$(CC)"
+  ];
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index fa1729b929c..ec1c5897ed7 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, flex, bison, python
+{ stdenv, fetchgit, flex, bison, python, autoconf, automake, gnulib, libtool
 , gettext, ncurses, libusb, freetype, qemu, lvm2, unifont, pkgconfig
 , fuse # only needed for grub-mount
 , zfs ? null
@@ -31,7 +31,7 @@ let
   canEfi = any (system: stdenv.hostPlatform.system == system) (mapAttrsToList (name: _: name) efiSystemsBuild);
   inPCSystems = any (system: stdenv.hostPlatform.system == system) (mapAttrsToList (name: _: name) pcSystems);
 
-  version = "2.02";
+  version = "2.04-rc1";
 
 in (
 
@@ -42,28 +42,18 @@ assert !(efiSupport && xenSupport);
 stdenv.mkDerivation rec {
   name = "grub-${version}";
 
-  src = fetchurl {
-    url = "mirror://gnu/grub/${name}.tar.xz";
-    sha256 = "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1";
+  src = fetchgit {
+    url = "git://git.savannah.gnu.org/grub.git";
+    rev = name;
+    sha256 = "0xkcfxs0hbzvi33kg4abkayl8b7gym9sv8ljbwlh2kpz8i4kmnk0";
   };
 
   patches = [
     ./fix-bash-completion.patch
-    # This patch makes grub compatible with the XFS sparse inode
-    # feature introduced by xfsprogs-4.16.
-    # to be removed in grub-2.03
-    (fetchpatch {
-      url = https://git.savannah.gnu.org/cgit/grub.git/patch/?id=cda0a857dd7a27cd5d621747464bfe71e8727fff;
-      sha256 = "0k9qrkdxwdqk6sz05q9smqwjr6pvgc9adx1mlf0807g4im91xnm0";
-    })
-    ./relocation-not-implemented.diff
   ];
-  postPatch = ''
-    substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts'
-  '';
 
-  nativeBuildInputs = [ bison flex python pkgconfig ];
-  buildInputs = [ ncurses libusb freetype gettext lvm2 fuse ]
+  nativeBuildInputs = [ bison flex python pkgconfig autoconf automake ];
+  buildInputs = [ ncurses libusb freetype gettext lvm2 fuse libtool ]
     ++ optional doCheck qemu
     ++ optional zfsSupport zfs;
 
@@ -91,6 +81,15 @@ stdenv.mkDerivation rec {
            -e's/qemu-system-i386/qemu-system-x86_64 -nodefaults/g'
 
       unset CPP # setting CPP intereferes with dependency calculation
+
+      cp -r ${gnulib} $PWD/gnulib
+      chmod u+w -R $PWD/gnulib
+
+      patchShebangs .
+
+      ./bootstrap --no-git --gnulib-srcdir=$PWD/gnulib
+
+      substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts'
     '';
 
   configureFlags = [ "--enable-grub-mount" ] # dep of os-prober
diff --git a/pkgs/tools/misc/grub/relocation-not-implemented.diff b/pkgs/tools/misc/grub/relocation-not-implemented.diff
deleted file mode 100644
index 0b7bf947d14..00000000000
--- a/pkgs/tools/misc/grub/relocation-not-implemented.diff
+++ /dev/null
@@ -1,25 +0,0 @@
-https://git.savannah.gnu.org/cgit/grub.git/commit/util?id=842c390469e2c2e10b5
-diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
-index a2bb054..39d7efb 100644
---- a/util/grub-mkimagexx.c
-+++ b/util/grub-mkimagexx.c
-@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections,
- 		  break;
- 
- 		case R_X86_64_PC32:
-+		case R_X86_64_PLT32:
- 		  {
- 		    grub_uint32_t *t32 = (grub_uint32_t *) target;
- 		    *t32 = grub_host_to_target64 (grub_target_to_host32 (*t32)
-diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
-index 9179285..a79271f 100644
---- a/util/grub-module-verifier.c
-+++ b/util/grub-module-verifier.c
-@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = {
-       -1
-     }, (int[]){
-       R_X86_64_PC32,
-+      R_X86_64_PLT32,
-       -1
-     }
-   },
diff --git a/pkgs/tools/misc/hackertyper/default.nix b/pkgs/tools/misc/hackertyper/default.nix
new file mode 100644
index 00000000000..dc3cd68fac6
--- /dev/null
+++ b/pkgs/tools/misc/hackertyper/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, ncurses }:
+
+stdenv.mkDerivation rec {
+  pname = "hackertyper";
+  version = "20190226";
+
+  src = fetchFromGitHub {
+    owner  = "Hurricane996";
+    repo   = "Hackertyper";
+    rev    = "dc017270777f12086271bb5a1162d0f3613903c4";
+    sha256 = "0szkkkxspmfq1z2n4nldj2c9jn6jgiqik085rx1wkks0zgcdcgy1";
+  };
+
+
+  makeFlags = [ "PREFIX=$(out)" ];
+  buildInputs = [ ncurses ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+  '';
+
+
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/hackertyper -v
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A C rewrite of hackertyper.net";
+    homepage = "https://github.com/Hurricane996/Hackertyper";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.marius851000 ];
+  };
+}
diff --git a/pkgs/tools/misc/hdf4/default.nix b/pkgs/tools/misc/hdf4/default.nix
index eb57cc45f6a..bd3bebc881e 100644
--- a/pkgs/tools/misc/hdf4/default.nix
+++ b/pkgs/tools/misc/hdf4/default.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
     export DYLD_LIBRARY_PATH=$(pwd)/bin
   '';
 
-  excludedTests = [
+  excludedTests = stdenv.lib.optionals stdenv.isDarwin [
     "MFHDF_TEST-hdftest"
     "MFHDF_TEST-hdftest-shared"
     "HDP-dumpsds-18"
diff --git a/pkgs/tools/misc/logstash/5.x.nix b/pkgs/tools/misc/logstash/5.x.nix
index 058a8472bf2..7834bc96bef 100644
--- a/pkgs/tools/misc/logstash/5.x.nix
+++ b/pkgs/tools/misc/logstash/5.x.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
-    sha256 = "0qcq4c4nysdscbjrikhw653xwbi4dwscynjzyndsp8l21vl81x7p";
+    sha256 = "0sax9p2bwjdrcvkm1mgvljdjn2qkyjd5i8rzajdn3n98gqin1la0";
   };
 
   dontBuild         = true;
diff --git a/pkgs/tools/misc/logstash/6.x.nix b/pkgs/tools/misc/logstash/6.x.nix
index 359c714228e..be26aee03b9 100644
--- a/pkgs/tools/misc/logstash/6.x.nix
+++ b/pkgs/tools/misc/logstash/6.x.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
     url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
     sha256 =
       if enableUnfree
-      then "18j2n6gnhfjmb6skhhrzs0d1zwa1aj9jv37rqvg4w3fimnm8p0sh"
-      else "181x8y6izrh587a6d1qipgj8wk71v4fggypkzjkns4my00nki42y";
+      then "178shgxwc9kw9w9vwsvwxp8m8r6lssaw1i32vvmx9na01b4w5m4p"
+      else "0gyq97qsg7fys9cc5yj4kpcf3xxvdd5qgzal368yg9swps37g5yj";
   };
 
   dontBuild         = true;
diff --git a/pkgs/tools/misc/logstash/7.x.nix b/pkgs/tools/misc/logstash/7.x.nix
index bb4a6b1436b..aa768e532b8 100644
--- a/pkgs/tools/misc/logstash/7.x.nix
+++ b/pkgs/tools/misc/logstash/7.x.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
     url = "https://artifacts.elastic.co/downloads/logstash/${name}.tar.gz";
     sha256 =
       if enableUnfree
-      then "1dzk9amg23vbkj92wx529i1m2rrfjc0gzkbg6w3f6xaix5zch0vp"
-      else "07q2gbd3xidcklid5ny22zpb3q5v0z3k2kva6g214k7rnkr9bhyy";
+      then "0ls7ia4ldyb7kslmjqhszb30bkammdm5nydc5y7r41zl1zjlhfgc"
+      else "1mpmfnc57vpjk8x3vibamz8lgq163msf20m1bail4hbwhwsmms9i";
   };
 
   dontBuild         = true;
diff --git a/pkgs/tools/misc/osinfo-db-tools/default.nix b/pkgs/tools/misc/osinfo-db-tools/default.nix
index bd7b036a65a..9b45680ffca 100644
--- a/pkgs/tools/misc/osinfo-db-tools/default.nix
+++ b/pkgs/tools/misc/osinfo-db-tools/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db-tools";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.gz";
-    sha256 = "08zpjq1g27n6wmmqwxws95w045warhg9bxcv1phvkdcrddf15q3y";
+    sha256 = "1pihjwajmahldxi3isnq6wcsbwj0hsnq8z5kp3w4j615ygrn0cgl";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/tools/misc/qt5ct/default.nix b/pkgs/tools/misc/qt5ct/default.nix
index 77331a7f025..ddd4ae5ce05 100644
--- a/pkgs/tools/misc/qt5ct/default.nix
+++ b/pkgs/tools/misc/qt5ct/default.nix
@@ -4,11 +4,11 @@ let inherit (stdenv.lib) getDev; in
 
 stdenv.mkDerivation rec {
   pname = "qt5ct";
-  version = "0.38";
+  version = "0.39";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0p0317z79h906qwaf0p8ga6lmr1dlabkx12gn31bv9lnp9f55jwg";
+    sha256 = "069y6c17gfics8rz3rdsn2x2hb39m4qka08ygwpxa8gqppffqs9p";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/tools/misc/shell-hist/default.nix b/pkgs/tools/misc/shell-hist/default.nix
new file mode 100644
index 00000000000..b44cbf100e8
--- /dev/null
+++ b/pkgs/tools/misc/shell-hist/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage {
+  pname = "shell-hist";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "jamesmunns";
+    repo = "shell-hist";
+    rev = "158de8c3908b49530ecd76bf6e65c210f351ef82";
+    sha256 = "0kc128xnnp1d56if70vfv0w3qnwhljhbnvzwwb7hfm3x2m0vqrqf";
+  };
+
+  cargoSha256 = "1nqnkzwqk879qy1261g1gds668xz6islhzq7chzhilaqpmvf6039";
+
+  meta = with lib; {
+    description = "Inspect your shell history";
+    homepage = "https://github.com/jamesmunns/shell-hist";
+    license = with licenses; [ mit /* or */ asl20 ];
+    maintainers = [ maintainers.spacekookie ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix
index 2cdb8aff472..6e431fdc98e 100644
--- a/pkgs/tools/misc/tlp/default.nix
+++ b/pkgs/tools/misc/tlp/default.nix
@@ -15,13 +15,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "tlp-${version}";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "linrunner";
     repo = "TLP";
     rev = version;
-    sha256 = "1msldl6y8fpvxa9p87lv3hvgxwk2vpiahqmapq485ihdjkshc558";
+    sha256 = "0vm31ca6kdak9xzwskz7a8hvdp67drfh2zcdwlz3260r8r2ypgg1";
   };
 
   outRef = placeholder "out";
diff --git a/pkgs/tools/misc/tmuxinator/default.nix b/pkgs/tools/misc/tmuxinator/default.nix
index d7f7c9f1669..ab2edf7be4e 100644
--- a/pkgs/tools/misc/tmuxinator/default.nix
+++ b/pkgs/tools/misc/tmuxinator/default.nix
@@ -8,8 +8,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "tmuxinator";
-  version = "0.13.0";
-  source.sha256 = "0jyyih8w8b30czfv0dc642vj8yp8iqyci89hjb2279xmmigjzmwc";
+  version = "1.1.0";
+  source.sha256 = "9f4a4fd0242c82844f9af109d2c03b6870060d7e30603e6d9bd017aee5380ec0";
 
   erubis = buildRubyGem rec {
     inherit ruby;
diff --git a/pkgs/tools/misc/ttyplot/default.nix b/pkgs/tools/misc/ttyplot/default.nix
index 53a0e0a2992..78aeab00a50 100644
--- a/pkgs/tools/misc/ttyplot/default.nix
+++ b/pkgs/tools/misc/ttyplot/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "ttyplot-${version}";
-  version = "1.2";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "tenox7";
     repo = "ttyplot";
     rev = version;
-    sha256 = "1xaqzm71w2n0q532wpa3w818mvjvch3h34m2aq7pldkyk09frjxh";
+    sha256 = "19qm0hx9ljdw9qg78lydn3c627xy7xnx3knq5f7caw9lf0cdp7kf";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/up/default.nix b/pkgs/tools/misc/up/default.nix
index c09c5ad12f0..01b62eed56c 100644
--- a/pkgs/tools/misc/up/default.nix
+++ b/pkgs/tools/misc/up/default.nix
@@ -1,18 +1,17 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   name = "up-${version}";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "akavel";
     repo = "up";
     rev = "v${version}";
-    sha256 = "171bwbk2c7jbi51xdawzv7qy71492mfs9z5j0a5j52qmnr4vjjgs";
+    sha256 = "1psixyymk98z52yy92lwb75yfins45dw6rif9cxwd7yiascwg2if";
   };
 
-  goPackagePath = "github.com/akavel/up";
-  goDeps = ./deps.nix;
+  modSha256 = "0nfs190rzabphhhyacypz3ic5c4ajlqpx9jiiincs0vxfkmfwnjd";
 
   meta = with lib; {
     description = "Ultimate Plumber is a tool for writing Linux pipes with instant live preview";
diff --git a/pkgs/tools/misc/up/deps.nix b/pkgs/tools/misc/up/deps.nix
deleted file mode 100644
index 439dc5df9d4..00000000000
--- a/pkgs/tools/misc/up/deps.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/gdamore/encoding";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/encoding";
-      rev = "b23993cbb6353f0e6aa98d0ee318a34728f628b9";
-      sha256 = "0d7irqpx2fa9vkxgkhf04yiwazsm10fxh0yk86x5crflhph5fv8a";
-    };
-  }
-  {
-    goPackagePath = "github.com/gdamore/tcell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gdamore/tcell";
-      rev = "017915a4d77dabd7af10ab539e618a735d4b9c0a";
-      sha256 = "19ymkgcvcp9sz2jrfi7h6l720w5yw9hy3wnw975w2ih45j1ypqdh";
-    };
-  }
-  {
-    goPackagePath = "github.com/lucasb-eyer/go-colorful";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lucasb-eyer/go-colorful";
-      rev = "12d3b2882a08d1abc9488e34f3e1ae35165f2d07";
-      sha256 = "1w95axfn1a6rz31xrks77ingr9mdkqyr7mh0glv664kz1wg2h0gw";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "3fb116b820352b7f0c281308a4d6250c22d94e27";
-      sha256 = "084hplr4n4g5nvp70clljk428hc963460xz0ggcj3xdi4w7hhsvv";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "b20a3daf6a39840c202fd42cc23d53607162b045";
-      sha256 = "0crivpncmh22696d5cy7k15ll5yqfjcigk0xy73wb6g1q6vnfxs7";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "aea12ed6721610dc6ed40141676d7ab0a1dac9e9";
-      sha256 = "17p5k37bnzj6wfh000y7xpvxyv2wsfa3db9sm8da2frjvn7jgbp2";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "6f44c5a2ea40ee3593d98cdcc905cc1fdaa660e2";
-      sha256 = "00mwzxly5isgf0glz7k3k2dkyqkjfc4z55qxajx4lgcp3h8xn9xj";
-    };
-  }
-]
diff --git a/pkgs/tools/misc/uutils-coreutils/default.nix b/pkgs/tools/misc/uutils-coreutils/default.nix
index 70f304134d9..a32ce090ecd 100644
--- a/pkgs/tools/misc/uutils-coreutils/default.nix
+++ b/pkgs/tools/misc/uutils-coreutils/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub, rustPlatform, cargo, cmake, sphinx, lib, prefix ? "uutils-" }:
 
 rustPlatform.buildRustPackage {
-  name = "uutils-coreutils-2018-09-30";
+  name = "uutils-coreutils-2019-05-03";
   src = fetchFromGitHub {
     owner = "uutils";
     repo = "coreutils";
-    rev = "a161b7e803aef08455ae0547dccd9210e38a4574";
-    sha256 = "19j40cma7rz6yf5j6nyid8qslbcmrnxdk6by53hflal2qx3g555z";
+    rev = "036dd812958ace22d973acf7b370f58072049dac";
+    sha256 = "0d9w3iiphhsk7l5l34682wayp90rgq5a3d94l3qdvhcqkfmpg727";
   };
 
   # too many impure/platform-dependent tests
   doCheck = false;
 
-  cargoSha256 = "1a9k7i4829plkxgsflmpji3mrw2i1vln6jsnhxmkl14h554yi5j4";
+  cargoSha256 = "0qnpx2xhckb45q8cgn0xh31dg5k73hqp5mz5zg3micmg7as4b621";
 
   makeFlags =
     [ "CARGO=${cargo}/bin/cargo" "PREFIX=$(out)" "PROFILE=release" "INSTALLDIR_MAN=$(out)/share/man/man1" ]
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 724979439d4..98dc79fbe11 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -19,11 +19,11 @@ buildPythonPackage rec {
   # The websites youtube-dl deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2019.04.30";
+  version = "2019.05.11";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1s43adnky8ayhjwmgmiqy6rmmygd4c23v36jhy2lzr2jpn8l53z1";
+    sha256 = "1y272jgdqwhf2njzqfln80zb2pmw83rvp6lxza6wghb7cld249j1";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix
index f031cf09884..586961c0df7 100644
--- a/pkgs/tools/networking/amass/default.nix
+++ b/pkgs/tools/networking/amass/default.nix
@@ -1,25 +1,23 @@
-{ buildGoPackage
+{ buildGoModule
 , fetchFromGitHub
 , fetchpatch
 , lib
 }:
 
-buildGoPackage rec {
-  name = "amass-${version}";
-  version = "2.9.1";
-
-  goPackagePath = "github.com/OWASP/Amass";
+buildGoModule rec {
+  pname = "amass";
+  version = "2.9.11";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = version;
-    sha256 = "07vs741vmhi735ba26wscldwdx0i2yamr2g8bq7jr3sjik8ncd29";
+    sha256 = "1mbxxj7cjypxdn80svgmq9yvzaj2x0y1lcbglzzmlqj3r0j265mr";
   };
 
-  outputs = [ "bin" "out" "wordlists" ];
+  modSha256 = "028ln760xaxlsk074x1i5fqi1334rw2bpz7fg520q6m13d9w86hw";
 
-  goDeps = ./deps.nix;
+  outputs = [ "out" "wordlists" ];
 
   postInstall = ''
     mkdir -p $wordlists
diff --git a/pkgs/tools/networking/amass/deps.nix b/pkgs/tools/networking/amass/deps.nix
deleted file mode 100644
index c81a603e39c..00000000000
--- a/pkgs/tools/networking/amass/deps.nix
+++ /dev/null
@@ -1,343 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-
-  {
-    goPackagePath = "cloud.google.com/go";
-    fetch = {
-      type = "git";
-      url = "https://code.googlesource.com/gocloud";
-      rev = "v0.34.0";
-      sha256 = "1kclgclwar3r37zbvb9gg3qxbgzkb50zk3s9778zlh2773qikmai";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/PuerkitoBio/fetchbot";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/fetchbot";
-      rev = "v1.1.2";
-      sha256 = "1xw8jszjmhf8wsyc02wfplyvvcaq3wjwbzr131afcsvc4i4nlrqq";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/PuerkitoBio/goquery";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/goquery";
-      rev = "v1.4.1";
-      sha256 = "11010z9ask21r0dskvm2pbh3z8951bnpcqg8aqa213if4h34gaa2";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/andybalholm/cascadia";
-    fetch = {
-      type = "git";
-      url = "https://github.com/andybalholm/cascadia";
-      rev = "v1.0.0";
-      sha256 = "09j8cavbhqqdxjqrkwbc40g8p0i49zf3184rpjm5p2rjbprcghcc";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/asaskevich/EventBus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/asaskevich/EventBus";
-      rev = "d46933a94f05";
-      sha256 = "130mjlsc6jf17zdx8ymhxis70a13l2zbjmjzgvjdr6pb0jzxsqha";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/caffix/cloudflare-roundtripper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/caffix/cloudflare-roundtripper";
-      rev = "4c29d231c9cb";
-      sha256 = "0i8z9p8wfvjphsgj88jcgpbyyb10hq24a72df4kdw7xl6189chra";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/cenkalti/backoff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cenkalti/backoff";
-      rev = "v2.1.1";
-      sha256 = "1mf4lsl3rbb8kk42x0mrhzzy4ikqy0jf6nxpzhkr02rdgwh6rjk8";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/dghubble/go-twitter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dghubble/go-twitter";
-      rev = "7fd79e2bcc65";
-      sha256 = "0vk66ndhwvqq23v5xfla9npcrrxgphp318n7hn8vaw7zayznmfy7";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/dghubble/sling";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dghubble/sling";
-      rev = "v1.2.0";
-      sha256 = "0ns17xy7xig3zdcjqkxn33nzar1ybqpw2arc016i5vv09b1yypj6";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "v1.7.0";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/go-ini/ini";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-ini/ini";
-      rev = "v1.41.0";
-      sha256 = "1pm4s8j5azafvminc7ll0ncvfznwn9cvq2zhmxri5waffwr1sdxg";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "v1.2.0";
-      sha256 = "0kf4b59rcbb1cchfny2dm9jyznp8ri2hsb14n8iak1q8986xa0ab";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/google/go-querystring";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-querystring";
-      rev = "v1.0.0";
-      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/google/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/uuid";
-      rev = "v1.1.0";
-      sha256 = "0yx4kiafyshdshrmrqcf2say5mzsviz7r94a0y1l6xfbkkyvnc86";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "v1.4.0";
-      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/irfansharif/cfilter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/irfansharif/cfilter";
-      rev = "v0.1.1";
-      sha256 = "0hfxp57m37wygqy3y72fm9ydvfymkmqnif48spssc3zqaqvhcgkz";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/johnnadratowski/golang-neo4j-bolt-driver";
-    fetch = {
-      type = "git";
-      url = "https://github.com/johnnadratowski/golang-neo4j-bolt-driver";
-      rev = "c68f22031e42";
-      sha256 = "0v9cxzmj5r0zkh8p61rbknrw17zbciy3fvmg9d6srg1hb7wizp5c";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "v0.1.0";
-      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.4";
-      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/miekg/dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/miekg/dns";
-      rev = "v1.0.8";
-      sha256 = "1vmgkpmwlqg6pwrpvjbn4h4al6af5fjvwwnacyv18hvlfd3fyfmx";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/qasaur/gremgo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/qasaur/gremgo";
-      rev = "fa23ada7c5da";
-      sha256 = "1cqz1zqwvcgnq3dfv9zcyjgmla8d9vbh0s31x8iv2r8jdzfgqik4";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/robertkrimen/otto";
-    fetch = {
-      type = "git";
-      url = "https://github.com/robertkrimen/otto";
-      rev = "15f95af6e78d";
-      sha256 = "07j7l340lmqwpfscwyb8llk3k37flvs20a4a8vzc85f16xyd9npf";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/satori/go.uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/satori/go.uuid";
-      rev = "v1.2.0";
-      sha256 = "1j4s5pfg2ldm35y8ls8jah4dya2grfnx2drb4jcbjsyrp4cm5yfb";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/temoto/robotstxt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/temoto/robotstxt";
-      rev = "9e4646fa7053";
-      sha256 = "0hv3c8kbsqdbqwmkb5f2gllzxiqzld09fwmk2ljr3ikh4irqazx0";
-    };
-  }
-
-  {
-    goPackagePath = "github.com/temoto/robotstxt-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/temoto/robotstxt-go";
-      rev = "9e4646fa7053";
-      sha256 = "0hv3c8kbsqdbqwmkb5f2gllzxiqzld09fwmk2ljr3ikh4irqazx0";
-    };
-  }
-
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "c126467f60eb";
-      sha256 = "0xvvzwxqi1dbrnsvq00klx4bnjalf90haf1slnxzrdmbadyp992q";
-    };
-  }
-
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "1e06a53dbb7e";
-      sha256 = "0lpqqvdccby48nixihvmn8ig1z48b950m1bxfqxn78air308qc3j";
-    };
-  }
-
-  {
-    goPackagePath = "golang.org/x/oauth2";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/oauth2";
-      rev = "99b60b757ec1";
-      sha256 = "119py9nia7957kf51gg9qvh34d18jb1a293zwfgvdf5inl1ja6y6";
-    };
-  }
-
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "37e7f081c4d4";
-      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
-    };
-  }
-
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "e072cadbbdc8";
-      sha256 = "17l1diq0526zpdpwfmjs7w9w8sg6prv6sjnvmg869yrj26b1xdcc";
-    };
-  }
-
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "4d8a0ac9f66c";
-      sha256 = "12cyxcijjsdg4wxl8hvxfbwdkqapvl1f7994963i6rf0qvh41qym";
-    };
-  }
-
-  {
-    goPackagePath = "google.golang.org/appengine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/appengine";
-      rev = "v1.4.0";
-      sha256 = "06zl7w4sxgdq2pl94wy9ncii6h0z3szl4xpqds0sv3b3wbdlhbnn";
-    };
-  }
-
-  {
-    goPackagePath = "gopkg.in/sourcemap.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/sourcemap.v1";
-      rev = "v1.0.5";
-      sha256 = "08rf2dl13hbnm3fq2cm0nnsspy9fhf922ln23cz5463cv7h62as4";
-    };
-  }
-]
diff --git a/pkgs/tools/networking/axel/default.nix b/pkgs/tools/networking/axel/default.nix
index 8a0efbb1943..68dfb089865 100644
--- a/pkgs/tools/networking/axel/default.nix
+++ b/pkgs/tools/networking/axel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "axel-${version}";
-  version = "2.16.1";
+  version = "2.17.1";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/a/axel/axel_${version}.orig.tar.gz";
-    sha256 = "0v3hgqrpqqqkj8ghaky88a0wpnpwqd72vd04ywlbhgfzfkfrllk4";
+  url = "https://github.com/axel-download-accelerator/axel/releases/download/v${version}/${name}.tar.xz";
+    sha256 = "1mwyps6yvrjxp7mpzc0a2hwr2pw050c63fc9aqjzdzjjw123dfrn";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/networking/davix/default.nix b/pkgs/tools/networking/davix/default.nix
index 74aa30bb95e..e69e012f644 100644
--- a/pkgs/tools/networking/davix/default.nix
+++ b/pkgs/tools/networking/davix/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, cmake, pkgconfig, openssl, libxml2, boost, python3, libuuid }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.2";
+  version = "0.7.3";
   name = "davix-${version}";
   nativeBuildInputs = [ cmake pkgconfig python3 ];
   buildInputs = [ openssl libxml2 boost libuuid ];
 
-  # using the url below since the 0.7.2 release did carry a broken CMake file,
+  # using the url below since the 0.7.3 release did carry a broken CMake file,
   # supposedly fixed in the next release
   # https://github.com/cern-fts/davix/issues/40
   src = fetchurl {
     url = "http://grid-deployment.web.cern.ch/grid-deployment/dms/lcgutil/tar/davix/${version}/davix-${version}.tar.gz";
-    sha256 = "1w1q7r6r5j5f23ra4qhx3x29w9z9xal23c2azazpfmcz88hkkmhz";
+    sha256 = "12ij7p1ahgvicqmccrvpd0iw1909qmpbc3nk58gdm866f9p2find";
   };
 
 
diff --git a/pkgs/tools/networking/i2pd/default.nix b/pkgs/tools/networking/i2pd/default.nix
index 8c71018ba86..dfe8f6d1d60 100644
--- a/pkgs/tools/networking/i2pd/default.nix
+++ b/pkgs/tools/networking/i2pd/default.nix
@@ -11,13 +11,13 @@ stdenv.mkDerivation rec {
 
   name = pname + "-" + version;
   pname = "i2pd";
-  version = "2.24.0";
+  version = "2.25.0";
 
   src = fetchFromGitHub {
     owner = "PurpleI2P";
     repo = pname;
     rev = version;
-    sha256 = "1gn8i3jxy6zwrqxmkzc1n55sw29jxdjr4ihv33q2kcp7b90b4wsq";
+    sha256 = "1jqfgpwg83prikjg67farl854mhyjiy4lz6i8kahp765m6kp8gaq";
   };
 
   buildInputs = with stdenv.lib; [ boost zlib openssl ]
diff --git a/pkgs/tools/networking/jnettop/default.nix b/pkgs/tools/networking/jnettop/default.nix
index 19626174ba4..47aeb8574b6 100644
--- a/pkgs/tools/networking/jnettop/default.nix
+++ b/pkgs/tools/networking/jnettop/default.nix
@@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "1855np7c4b0bqzhf1l1dyzxb90fpnvrirdisajhci5am6als31z9";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ autoconf libpcap ncurses glib ];
+  nativeBuildInputs = [ pkgconfig autoconf ];
+  buildInputs = [ libpcap ncurses glib ];
 
   patches = [
     ./no-dns-resolution.patch
diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix
index 8bebe973522..062d6e2d0a9 100644
--- a/pkgs/tools/networking/netsniff-ng/default.nix
+++ b/pkgs/tools/networking/netsniff-ng/default.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchFromGitHub, makeWrapper, bison, flex, geoip, geolite-legacy
 , libcli, libnet, libnetfilter_conntrack, libnl, libpcap, libsodium
-, liburcu, ncurses, perl, pkgconfig, zlib }:
+, liburcu, ncurses, pkgconfig, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "netsniff-ng-${version}";
-  version = "0.6.5";
+  pname = "netsniff-ng";
+  version = "0.6.6";
 
   # Upstream recommends and supports git
   src = fetchFromGitHub rec {
-    repo = "netsniff-ng";
-    owner = repo;
+    repo = pname;
+    owner = pname;
     rev = "v${version}";
-    sha256 = "0bcbdiik69g6jnravkkid8gxw2akg01i372msc5x1w9fh9wh2phw";
+    sha256 = "0spp8dl4i5xcqfbqxxcpdf3gwcmyf4ywl1dd79w6gzbr07p894p5";
   };
 
-  patches = [ ./glibc-2.26.patch ];
-
-  buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl
-    libnetfilter_conntrack libpcap libsodium liburcu ncurses perl
-    pkgconfig zlib makeWrapper ];
+  nativeBuildInputs = [ pkgconfig makeWrapper bison flex ];
+  buildInputs = [
+    geoip geolite-legacy libcli libnet libnl
+    libnetfilter_conntrack libpcap libsodium liburcu ncurses zlib
+  ];
 
   # ./configure is not autoGNU but some home-brewn magic
   configurePhase = ''
diff --git a/pkgs/tools/networking/netsniff-ng/glibc-2.26.patch b/pkgs/tools/networking/netsniff-ng/glibc-2.26.patch
deleted file mode 100644
index 2ee7b478e9b..00000000000
--- a/pkgs/tools/networking/netsniff-ng/glibc-2.26.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/built_in.h b/built_in.h
-index da04dbd..7acc183 100644
---- a/built_in.h
-+++ b/built_in.h
-@@ -10,6 +10,7 @@
- #include <endian.h>
- #include <byteswap.h>
- #include <asm/byteorder.h>
-+#include <string.h>
- 
- typedef uint64_t	u64;
- typedef uint32_t	u32;
-diff --git a/staging/tools.c b/staging/tools.c
-index 9d2d1be..909b059 100644
---- a/staging/tools.c
-+++ b/staging/tools.c
-@@ -55,6 +55,7 @@
- ////////////////////////////////////////////////////////////////////////////////////////////
- 
- #include "mz.h"
-+#include <stdint.h>
- 
- #define CMP_INT(a, b) ((a) < (b) ? -1 : (a) > (b))
- #define IPV6_MAX_RANGE_LEN strlen("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128")
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 79913d43968..c60a409fba5 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -54,20 +54,13 @@ in stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./fix-paths.patch;
-      inherit iputils kmod openconnect ethtool coreutils dbus;
+      inherit iputils kmod openconnect ethtool gnused dbus;
       inherit (stdenv) shell;
     })
 
     # Meson does not support using different directories during build and
     # for installation like Autotools did with flags passed to make install.
     ./fix-install-paths.patch
-
-    # Our gobject-introspection patches make the shared library paths absolute
-    # in the GIR files. When building docs, the library is not yet installed,
-    # though, so we need to replace the absolute path with a local one during build.
-    # We are replacing the variables in postPatch since substituteAll does not support
-    # placeholders.
-    ./fix-docs-build.patch
   ];
 
   buildInputs = [
@@ -91,10 +84,15 @@ in stdenv.mkDerivation rec {
   postPatch = ''
     patchShebangs ./tools
     patchShebangs libnm/generate-setting-docs.py
+  '';
 
-    substituteInPlace libnm/meson.build \
-      --subst-var-by DOCS_LD_PRELOAD "${libredirect}/lib/libredirect.so" \
-      --subst-var-by DOCS_NIX_REDIRECTS "${placeholder "out"}/lib/libnm.so.0=$PWD/build/libnm/libnm.so.0"
+  preBuild = ''
+    # Our gobject-introspection patches make the shared library paths absolute
+    # in the GIR files. When building docs, the library is not yet installed,
+    # though, so we need to replace the absolute path with a local one during build.
+    # We are using a symlink that will be overridden during installation.
+    mkdir -p ${placeholder "out"}/lib
+    ln -s $PWD/libnm/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0
   '';
 
   postInstall = ''
diff --git a/pkgs/tools/networking/network-manager/fix-docs-build.patch b/pkgs/tools/networking/network-manager/fix-docs-build.patch
deleted file mode 100644
index 45e18c42fbe..00000000000
--- a/pkgs/tools/networking/network-manager/fix-docs-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libnm/meson.build
-+++ b/libnm/meson.build
-@@ -262,6 +262,8 @@
-     'env', '-i',
-     'GI_TYPELIB_PATH=' + gi_typelib_path,
-     'LD_LIBRARY_PATH=' + ld_library_path,
-+    'LD_PRELOAD=' + '@DOCS_LD_PRELOAD@',
-+    'NIX_REDIRECTS=' + '@DOCS_NIX_REDIRECTS@',
-   ]
- 
-   name = 'nm-property-docs.xml'
diff --git a/pkgs/tools/networking/network-manager/fix-paths.patch b/pkgs/tools/networking/network-manager/fix-paths.patch
index 58e3fc6dc5d..938fcbdc771 100644
--- a/pkgs/tools/networking/network-manager/fix-paths.patch
+++ b/pkgs/tools/networking/network-manager/fix-paths.patch
@@ -19,7 +19,7 @@
  ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end"
  DRIVERS=="?*", GOTO="nm_drivers_end"
 -PROGRAM="/bin/sh -c 'ethtool -i $1 | sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c"
-+PROGRAM="@shell@ -c '@ethtool@/bin/ethtool -i $1 | @coreutils@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c"
++PROGRAM="@shell@ -c '@ethtool@/bin/ethtool -i $1 | @gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", RESULT=="?*", ENV{ID_NET_DRIVER}="%c"
  
  LABEL="nm_drivers_end"
 --- a/data/NetworkManager.service.in
diff --git a/pkgs/tools/networking/tgt/default.nix b/pkgs/tools/networking/tgt/default.nix
index 9f3075b374e..4491d183aad 100644
--- a/pkgs/tools/networking/tgt/default.nix
+++ b/pkgs/tools/networking/tgt/default.nix
@@ -2,7 +2,7 @@
 , docbook_xsl }:
 
 let
-  version = "1.0.76";
+  version = "1.0.77";
 in stdenv.mkDerivation rec {
   name = "tgt-${version}";
 
@@ -10,7 +10,7 @@ in stdenv.mkDerivation rec {
     owner = "fujita";
     repo = "tgt";
     rev = "v${version}";
-    sha256 = "1q01ay0zn5gmy6df1iw1ic11p8zygxlp0r3nd887vvvjvlp3xrvc";
+    sha256 = "1qhck8v5057wn9nb1nsq6dzhvqzz51x8i3n0p1x36zbsmdjy2ajw";
   };
 
   buildInputs = [ libxslt systemd libaio docbook_xsl ];
diff --git a/pkgs/tools/networking/ubridge/default.nix b/pkgs/tools/networking/ubridge/default.nix
index 91ab22a3c5a..715a480e28d 100644
--- a/pkgs/tools/networking/ubridge/default.nix
+++ b/pkgs/tools/networking/ubridge/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "ubridge-${version}";
-  version = "0.9.14";
+  version = "0.9.15";
 
   src = fetchFromGitHub {
     owner = "GNS3";
     repo = "ubridge";
     rev = "v${version}";
-    sha256 = "1m3j9jfj8fm0532jhaagqgsyr241j6z9wn8lgrl7q3973rhiahfs";
+    sha256 = "0fl07zyall04map6v2l1bclqh8y3rrhsx61s2v0sr8b00j201jg4";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/bitwarden_rs/default.nix b/pkgs/tools/security/bitwarden_rs/default.nix
index 2dbbd93e13b..d22a2773fd9 100644
--- a/pkgs/tools/security/bitwarden_rs/default.nix
+++ b/pkgs/tools/security/bitwarden_rs/default.nix
@@ -1,23 +1,24 @@
-{ lib, rustPlatform, fetchFromGitHub, pkgconfig, openssl }:
+{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, openssl, Security, CoreServices }:
 
 rustPlatform.buildRustPackage rec {
   pname = "bitwarden_rs";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "dani-garcia";
     repo = pname;
     rev = version;
-    sha256 = "0jz9r6ck6sfz4ig95x0ja6g5ikyq6z0xw1zn9zf4kxha4klqqbkx";
+    sha256 = "14c2blzkmdd9s0gpf6b7y141yx9s2v2gmwy5l1lgqjhi3h6jpcqr";
   };
 
-  buildInputs = [ pkgconfig openssl ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ Security CoreServices ];
 
   RUSTC_BOOTSTRAP = 1;
 
-  cargoSha256 = "02xrz7vq8nan70f07xyf335blfmdc6gaz9sbfjipsi1drgfccf09";
+  cargoSha256 = "038l6alcdc0g4avpbzxgd2k09nr3wrsbry763bq2c77qqgwldj8r";
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "An unofficial lightweight implementation of the Bitwarden server API using Rust and SQLite";
     homepage = https://github.com/dani-garcia/bitwarden_rs;
     license = licenses.gpl3;
diff --git a/pkgs/tools/security/bitwarden_rs/vault.nix b/pkgs/tools/security/bitwarden_rs/vault.nix
index 1f7f23049d0..f5ddfe9ea58 100644
--- a/pkgs/tools/security/bitwarden_rs/vault.nix
+++ b/pkgs/tools/security/bitwarden_rs/vault.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwarden_rs-vault";
-  version = "2.9.0";
+  version = "2.10.0";
 
   src = fetchurl {
     url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
-    sha256 = "0kh7nqd688ilw73n4pw3s6fahghwbhiql548js6cdwsp4car3vbb";
+    sha256 = "0i0hdh8sxqfyhdv4h696cf595bmkg47bww4ixlvy51h6i14v5pn7";
   };
 
   buildCommand = ''
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
index 3144665e4ec..5170805e3f6 100644
--- a/pkgs/tools/security/opensc/default.nix
+++ b/pkgs/tools/security/opensc/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, zlib, readline, openssl
 , libiconv, pcsclite, libassuan, libXt
 , docbook_xsl, libxslt, docbook_xml_dtd_412
-, Carbon
+, Carbon, PCSC
+, withApplePCSC ? stdenv.isDarwin
 }:
 
 stdenv.mkDerivation rec {
@@ -17,9 +18,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoreconfHook zlib readline openssl pcsclite libassuan
+    autoreconfHook zlib readline openssl libassuan
     libXt libxslt libiconv docbook_xml_dtd_412
-  ] ++ stdenv.lib.optional stdenv.isDarwin Carbon;
+  ]
+  ++ stdenv.lib.optional stdenv.isDarwin Carbon
+  ++ (if withApplePCSC then [ PCSC ] else [ pcsclite ]);
 
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
@@ -34,9 +37,17 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sysconfdir=/etc"
     "--with-xsl-stylesheetsdir=${docbook_xsl}/xml/xsl/docbook"
-    "--with-pcsc-provider=${stdenv.lib.getLib pcsclite}/lib/libpcsclite.so"
+    "--with-pcsc-provider=${
+      if withApplePCSC then
+        "${PCSC}/Library/Frameworks/PCSC.framework/PCSC"
+      else
+        "${stdenv.lib.getLib pcsclite}/lib/libpcsclite${stdenv.hostPlatform.extensions.sharedLibrary}"
+      }"
   ];
 
+  PCSC_CFLAGS = stdenv.lib.optionalString withApplePCSC
+    "-I${PCSC}/Library/Frameworks/PCSC.framework/Headers";
+
   installFlags = [
     "sysconfdir=$(out)/etc"
     "completiondir=$(out)/etc"
diff --git a/pkgs/tools/security/polkit-gnome/default.nix b/pkgs/tools/security/polkit-gnome/default.nix
index bfb3fb63b14..55991169968 100644
--- a/pkgs/tools/security/polkit-gnome/default.nix
+++ b/pkgs/tools/security/polkit-gnome/default.nix
@@ -1,13 +1,10 @@
 { stdenv, fetchurl, polkit, gtk3, pkgconfig, intltool }:
-
-let
+stdenv.mkDerivation rec {
+  pname = "polkit-gnome";
   version = "0.105";
 
-in stdenv.mkDerivation rec {
-  name = "polkit-gnome-${version}";
-
   src = fetchurl {
-    url = "mirror://gnome/sources/polkit-gnome/${version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/polkit-gnome/${version}/${pname}-${version}.tar.xz";
     sha256 = "0sckmcbxyj6sbrnfc5p5lnw27ccghsid6v6wxq09mgxqcd4lk10p";
   };
 
@@ -20,12 +17,12 @@ in stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $out/etc/xdg/autostart
     substituteAll ${./polkit-gnome-authentication-agent-1.desktop} $out/etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop
-    '';
+  '';
 
   meta = {
-    homepage = https://hal.freedesktop.org/docs/PolicyKit/;
+    homepage = "https://gitlab.gnome.org/Archive/policykit-gnome";
     description = "A dbus session bus service that is used to bring up authentication dialogs";
-    license = stdenv.lib.licenses.gpl2;
+    license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ phreedom ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/security/signing-party/default.nix b/pkgs/tools/security/signing-party/default.nix
index 29af5a5cc0a..8148692327e 100644
--- a/pkgs/tools/security/signing-party/default.nix
+++ b/pkgs/tools/security/signing-party/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitLab, autoconf, automake, makeWrapper
 , python3, perl, perlPackages
-, libmd, gnupg1, which, getopt, libpaper, nettools, qprint
+, libmd, gnupg, which, getopt, libpaper, nettools, qprint
 , sendmailPath ? "/run/wrappers/bin/sendmail" }:
 
 let
@@ -45,7 +45,7 @@ in stdenv.mkDerivation rec {
   # Perl is required for it's pod2man.
   # Python and Perl are required for patching the script interpreter paths.
   nativeBuildInputs = [ autoconf automake makeWrapper ];
-  buildInputs = [ python3 perl perlPackages.GnuPGInterface libmd gnupg1 ];
+  buildInputs = [ python3 perl perlPackages.GnuPGInterface libmd gnupg ];
 
   postInstall = ''
     # Install all tools which aren't handled by 'make install'.
@@ -126,59 +126,59 @@ in stdenv.mkDerivation rec {
         TextTemplate MIMETools MailTools TimeDate NetIDNEncode ]
         ++ GnuPGInterfaceRuntimeDependencies)} \
       --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ nettools gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ nettools gnupg ]}"
 
     wrapProgram $out/bin/gpg-key2latex --set PERL5LIB \
       ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \
       --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 libpaper ]}"
+      "${stdenv.lib.makeBinPath [ gnupg libpaper ]}"
 
     wrapProgram $out/bin/gpg-key2ps --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ which gnupg1 libpaper ]}"
+      "${stdenv.lib.makeBinPath [ which gnupg libpaper ]}"
 
     wrapProgram $out/bin/gpg-mailkeys --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 qprint ]}"
+      "${stdenv.lib.makeBinPath [ gnupg qprint ]}"
 
     wrapProgram $out/bin/gpgdir --set PERL5LIB \
       ${with perlPackages; makePerlPath ([
         TermReadKey ]
         ++ GnuPGInterfaceRuntimeDependencies)} \
       --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ gnupg ]}"
 
     wrapProgram $out/bin/gpglist --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ gnupg ]}"
 
     wrapProgram $out/bin/gpgparticipants --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ getopt gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ getopt gnupg ]}"
 
 #    wrapProgram $out/bin/gpgparticipants-prefill
 
     wrapProgram $out/bin/gpgsigs --set PERL5LIB \
       ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \
       --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ gnupg ]}"
 
     wrapProgram $out/bin/gpgwrap --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ gnupg ]}"
 
 #    wrapProgram $out/bin/keyanalyze --set PERL5LIB \
 
     wrapProgram $out/bin/keyart --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ gnupg ]}"
 
     wrapProgram $out/bin/keylookup --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ gnupg ]}"
 
     wrapProgram $out/bin/pgp-clean --set PERL5LIB \
       ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \
       --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ gnupg ]}"
 
     wrapProgram $out/bin/pgp-fixkey --set PERL5LIB \
       ${perlPackages.makePerlPath GnuPGInterfaceRuntimeDependencies} \
       --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ gnupg1 ]}"
+      "${stdenv.lib.makeBinPath [ gnupg ]}"
 
 #    wrapProgram $out/bin/pgpring
 
diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix
index a07a374c5d8..f159dd27c42 100644
--- a/pkgs/tools/security/tboot/default.nix
+++ b/pkgs/tools/security/tboot/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "tboot-${version}";
-  version = "1.9.6";
+  version = "1.9.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/tboot/${name}.tar.gz";
-    sha256 = "0f9afz260xhycpd0x5zz6jn8ha14i8j98rck0fhb55l1rbbfwm8v";
+    sha256 = "06f0ggl6vrb5ghklblvh2ixgmmjv31rkp1vfj9qm497iqwq9ac00";
   };
 
   patches = [ ./tboot-add-well-known-secret-option-to-lcp_writepol.patch ];
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 86cc6221a5c..1aa42dc75f3 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "vault-${version}";
-  version = "1.1.0";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "11hyqqpfz839ipqv534vvljyarnr9wn98rzvyfwnx2lq76h2adqn";
+    sha256 = "1916zqmh4cam9nw3k95wiqizlpkbbm5qhfz4lblqba8pzc2y9v32";
   };
 
   nativeBuildInputs = [ go gox removeReferencesTo ];
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index 08457efe740..7fcb9fc10bd 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.9.0";
+  version = "3.10.0";
   name = "yara-${version}";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "1a707nx1py1q1z9fc18c93gjd4k5k6k53a93qw09jlcc67xk2sz7";
+    sha256 = "1qxqk324cyvi4n09s79786ciig1gdyhs9dnsm07hf95a3kh6w5z2";
   };
 
   buildInputs = [ autoconf automake libtool pcre]
diff --git a/pkgs/tools/security/zmap/default.nix b/pkgs/tools/security/zmap/default.nix
new file mode 100644
index 00000000000..f98b4295e9e
--- /dev/null
+++ b/pkgs/tools/security/zmap/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, libjson, json_c, gengetopt, flex, byacc, gmp
+, libpcap
+}:
+
+stdenv.mkDerivation rec {
+  pname = "zmap";
+  version = "2.1.1";
+
+  src = fetchFromGitHub {
+    owner = "zmap";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yaahaiawkjk020hvsb8pndbrk8k10wxkfba1irp12a4sj6rywcs";
+  };
+
+  cmakeFlags = [ "-DRESPECT_INSTALL_PREFIX_CONFIG=ON" ];
+  dontUseCmakeBuildDir = true;
+
+  nativeBuildInputs = [ cmake pkgconfig gengetopt flex byacc ];
+  buildInputs = [ libjson json_c gmp libpcap ];
+
+  outputs = [ "out" "man" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://zmap.io/;
+    license = licenses.asl20;
+    description = "Fast single packet network scanner designed for Internet-wide network surveys";
+    maintainers = with maintainers; [ ma27 ];
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index e19d5fba99f..662b87f3e85 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "acpica-tools-${version}";
-  version = "20190405";
+  version = "20190509";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "0d4hajb3d82laf74m2xa91kqkjwmym08r25jf0hly1jbbh7cl0fy";
+    sha256 = "06k22kfnjzf3mpvrb7xl2pfnh28q3n8wcgdjchl1j2hik5pan97i";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
diff --git a/pkgs/tools/system/bfs/default.nix b/pkgs/tools/system/bfs/default.nix
index c3cbaf98a87..a0575067482 100644
--- a/pkgs/tools/system/bfs/default.nix
+++ b/pkgs/tools/system/bfs/default.nix
@@ -2,17 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "bfs-${version}";
-  version = "1.3.3";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     repo = "bfs";
     owner = "tavianator";
     rev = version;
-    sha256 = "0yjbv6j5sn2yq57rx50h284krxyx5gcviwv8ac7zxwr2qggn8lqy";
+    sha256 = "1y5w8gws4j1i334ap4rsl64scr0hlyrdkdl7ffaghs8fqa6mjmsb";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isLinux [ libcap acl ];
 
+  # Disable LTO on darwin. See https://github.com/NixOS/nixpkgs/issues/19098
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile --replace "-flto -DNDEBUG" "-DNDEBUG"
+  '';
+
   makeFlags = [ "PREFIX=$(out)" ];
   buildFlags = [ "release" ]; # "release" enables compiler optimizations
 
diff --git a/pkgs/tools/system/journalbeat/default.nix b/pkgs/tools/system/journalbeat/default.nix
index 20951fe5240..0f13d2d3da1 100644
--- a/pkgs/tools/system/journalbeat/default.nix
+++ b/pkgs/tools/system/journalbeat/default.nix
@@ -1,24 +1,9 @@
-{ lib, pkgs, buildGoPackage, fetchFromGitHub, makeWrapper }:
-
-let
-
-  libPath = lib.makeLibraryPath [ pkgs.systemd.lib ];
-
-in buildGoPackage rec {
+{ lib, systemd, buildGoPackage, fetchFromGitHub, makeWrapper }:
 
+buildGoPackage rec {
   name = "journalbeat-${version}";
   version = "5.6.8";
 
-  goPackagePath = "github.com/mheese/journalbeat";
-
-  buildInputs = [ makeWrapper pkgs.systemd ];
-
-  postInstall = ''
-    wrapProgram $bin/bin/journalbeat \
-      --argv0 journalbeat \
-      --prefix LD_LIBRARY_PATH : ${libPath}
-  '';
-
   src = fetchFromGitHub {
     owner = "mheese";
     repo = "journalbeat";
@@ -26,6 +11,14 @@ in buildGoPackage rec {
     sha256 = "1vgpwnwqjc93nvdpcd52748bwl3r371jb55l17bsgdzrmlcyfm8a";
   };
 
+  goPackagePath = "github.com/mheese/journalbeat";
+
+  buildInputs = [ systemd.dev ];
+
+  postFixup = let libPath = lib.makeLibraryPath [ systemd.lib ]; in ''
+    patchelf --set-rpath ${libPath} "$bin/bin/journalbeat"
+  '';
+
   meta = with lib; {
     homepage = https://github.com/mheese/journalbeat;
     description = "Journalbeat is a log shipper from systemd/journald to Logstash/Elasticsearch";
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index a31ce8f65e4..eec36e8f090 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "stress-ng-${version}";
-  version = "0.09.57";
+  pname = "stress-ng";
+  version = "0.09.58";
 
   src = fetchurl {
-    url = "https://kernel.ubuntu.com/~cking/tarballs/stress-ng/${name}.tar.xz";
-    sha256 = "0xp55m1kif8hcjdcdhgaarghqf1gz5fa24qwl6zpmxkzl6bn002x";
+    url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "1rlll6wl0i0m21idfr3xr99pfgnb9wf9i35hsb0frmrpcvls06za";
   };
 
   # All platforms inputs then Linux-only ones
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
       attr keyutils libaio libapparmor libcap lksctp-tools
     ];
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace Makefile --replace "/usr" ""
   '';
 
@@ -27,25 +27,39 @@ stdenv.mkDerivation rec {
   # mystery, though. :-(
   enableParallelBuilding = (!stdenv.isi686);
 
-  installFlags = [ "DESTDIR=$(out)" ];
+  installFlags = [ "DESTDIR=${placeholder "out"}" ];
 
   meta = with stdenv.lib; {
     description = "Stress test a computer system";
     longDescription = ''
-      Stress test a system in various selectable ways, exercising both various
-      physical subsystems and various operating system kernel interfaces:
-      - over 130 different stress tests
-      - over 70 CPU specific stress tests that exercise floating point,
-        integer, bit manipulation and control flow
-      - over 20 virtual memory stress tests
-      stress-ng was originally intended to make a machine work hard and trip
-      hardware issues such as thermal overruns as well as operating system
-      bugs that only occur when a system is being thrashed hard.
+      stress-ng will stress test a computer system in various selectable ways. It
+      was designed to exercise various physical subsystems of a computer as well as
+      the various operating system kernel interfaces. Stress-ng features:
+
+        * over 210 stress tests
+        * over 50 CPU specific stress tests that exercise floating point, integer,
+          bit manipulation and control flow
+        * over 20 virtual memory stress tests
+        * portable: builds on Linux, Solaris, *BSD, Minix, Android, MacOS X,
+          Debian Hurd, Haiku, Windows Subsystem for Linux and SunOs/Dilos with
+          gcc, clang, tcc and pcc.
+
+      stress-ng was originally intended to make a machine work hard and trip hardware
+      issues such as thermal overruns as well as operating system bugs that only
+      occur when a system is being thrashed hard. Use stress-ng with caution as some
+      of the tests can make a system run hot on poorly designed hardware and also can
+      cause excessive system thrashing which may be difficult to stop.
+
+      stress-ng can also measure test throughput rates; this can be useful to observe
+      performance changes across different operating system releases or types of
+      hardware. However, it has never been intended to be used as a precise benchmark
+      test suite, so do NOT use it in this manner.
     '';
-    homepage = https://kernel.ubuntu.com/~cking/stress-ng/;
-    downloadPage = https://kernel.ubuntu.com/~cking/tarballs/stress-ng/;
+    homepage = "https://kernel.ubuntu.com/~cking/stress-ng/";
+    downloadPage = "https://kernel.ubuntu.com/~cking/tarballs/stress-ng/";
+    changelog = "https://kernel.ubuntu.com/git/cking/stress-ng.git/plain/debian/changelog?h=V${version}";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ c0bw3b ];
-    platforms = platforms.linux; # TODO: fix https://github.com/NixOS/nixpkgs/pull/50506#issuecomment-439635963
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/patchutils/0.3.3.nix b/pkgs/tools/text/patchutils/0.3.3.nix
new file mode 100644
index 00000000000..b324137be6a
--- /dev/null
+++ b/pkgs/tools/text/patchutils/0.3.3.nix
@@ -0,0 +1,7 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "0.3.3";
+  sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i";
+  patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one
+})
diff --git a/pkgs/tools/text/patchutils/default.nix b/pkgs/tools/text/patchutils/default.nix
index 238676020e8..eab0e98f95c 100644
--- a/pkgs/tools/text/patchutils/default.nix
+++ b/pkgs/tools/text/patchutils/default.nix
@@ -1,26 +1,6 @@
-{ stdenv, fetchurl }:
+{ callPackage, ... } @ args:
 
-stdenv.mkDerivation rec {
-  name = "patchutils-0.3.3";
-
-  src = fetchurl {
-    url = "http://cyberelk.net/tim/data/patchutils/stable/${name}.tar.xz";
-    sha256 = "0g5df00cj4nczrmr4k791l7la0sq2wnf8rn981fsrz1f3d2yix4i";
-  };
-
-  patches = [ ./drop-comments.patch ]; # we would get into a cycle when using fetchpatch on this one
-
-  hardeningDisable = [ "format" ];
-
-  doCheck = false; # fails
-
-  meta = with stdenv.lib; {
-    description = "Tools to manipulate patch files";
-    homepage = http://cyberelk.net/tim/software/patchutils;
-    license = licenses.gpl2Plus;
-    platforms = platforms.all;
-    executables = [ "combinediff" "dehtmldiff" "editdiff" "espdiff"
-      "filterdiff" "fixcvsdiff" "flipdiff" "grepdiff" "interdiff" "lsdiff"
-      "recountdiff" "rediff" "splitdiff" "unwrapdiff" ];
-  };
-}
+callPackage ./generic.nix (args // rec {
+  version = "0.3.4";
+  sha256 = "0xp8mcfyi5nmb5a2zi5ibmyshxkb1zv1dgmnyn413m7ahgdx8mfg";
+})
diff --git a/pkgs/tools/text/patchutils/generic.nix b/pkgs/tools/text/patchutils/generic.nix
new file mode 100644
index 00000000000..87d925e333f
--- /dev/null
+++ b/pkgs/tools/text/patchutils/generic.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl
+, version, sha256, patches ? []
+, ...
+}:
+stdenv.mkDerivation rec {
+  pname = "patchutils";
+  inherit version patches;
+
+  src = fetchurl {
+    url = "http://cyberelk.net/tim/data/patchutils/stable/${pname}-${version}.tar.xz";
+    inherit sha256;
+  };
+
+  hardeningDisable = [ "format" ];
+
+  doCheck = false; # fails
+
+  meta = with stdenv.lib; {
+    description = "Tools to manipulate patch files";
+    homepage = http://cyberelk.net/tim/software/patchutils;
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
+    executables = [ "combinediff" "dehtmldiff" "editdiff" "espdiff"
+      "filterdiff" "fixcvsdiff" "flipdiff" "grepdiff" "interdiff" "lsdiff"
+      "recountdiff" "rediff" "splitdiff" "unwrapdiff" ];
+  };
+}
diff --git a/pkgs/tools/text/transifex-client/default.nix b/pkgs/tools/text/transifex-client/default.nix
index c765a801348..9a11b5fba57 100644
--- a/pkgs/tools/text/transifex-client/default.nix
+++ b/pkgs/tools/text/transifex-client/default.nix
@@ -17,7 +17,7 @@ buildPythonApplication rec {
   prePatch = ''
     substituteInPlace requirements.txt --replace "urllib3<1.24" "urllib3<2.0" \
       --replace "six==1.11.0" "six<2.0.0" \
-      --replace "python-slugify==1.2.6" "python-slugify<3.0.0"
+      --replace "python-slugify==1.2.6" "python-slugify<4.0.0"
   '';
 
   # Requires external resources
diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix
index 1a0a9b877bf..69fde7784f5 100644
--- a/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -126,8 +126,6 @@ in buildEnv {
       patchCnfLua "./texmfcnf.lua"
 
       mkdir $out/share/texmf-local
-
-      rm updmap.cfg
     )
   '' +
     # updmap.cfg seems like not needing changes
@@ -216,7 +214,7 @@ in buildEnv {
     texlinks.sh "$out/bin" && wrapBin
     (perl `type -P fmtutil.pl` --sys --all || true) | grep '^fmtutil' # too verbose
     #texlinks.sh "$out/bin" && wrapBin # do we need to regenerate format links?
-    perl `type -P updmap.pl` --sys --syncwithtrees --force
+    echo y | perl `type -P updmap.pl` --sys --syncwithtrees --force
     perl `type -P mktexlsr.pl` ./share/texmf-* # to make sure
   '' +
     # install (wrappers for) scripts, based on a list from upstream texlive
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5c55325fa70..23021c99d1d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -157,6 +157,8 @@ in
 
   deadcode = callPackage ../development/tools/deadcode { };
 
+  proto-contrib = callPackage ../development/tools/proto-contrib {};
+
   demoit = callPackage ../servers/demoit { };
 
   diffPlugins = (callPackage ../build-support/plugins.nix {}).diffPlugins;
@@ -672,7 +674,9 @@ in
 
   bcachefs-tools = callPackage ../tools/filesystems/bcachefs-tools { };
 
-  bitwarden_rs = callPackage ../tools/security/bitwarden_rs { };
+  bitwarden_rs = callPackage ../tools/security/bitwarden_rs {
+    inherit (darwin.apple_sdk.frameworks) Security CoreServices;
+  };
 
   bitwarden_rs-vault = callPackage ../tools/security/bitwarden_rs/vault.nix { };
 
@@ -976,6 +980,8 @@ in
     metricbeat5
     packetbeat5;
 
+  journalbeat5 = callPackage ../tools/system/journalbeat { };
+
   inherit (callPackages ../misc/logging/beats/6.x.nix {
     # XXX: this is failing with Go 1.12. Error is related to cgo, an
     # update to this package might fix it.
@@ -1002,6 +1008,7 @@ in
   heartbeat = heartbeat6;
   metricbeat = metricbeat6;
   packetbeat = packetbeat6;
+  journalbeat = journalbeat6;
 
   bfr = callPackage ../tools/misc/bfr { };
 
@@ -1684,6 +1691,8 @@ in
 
   mp3blaster = callPackage ../applications/audio/mp3blaster { };
 
+  mp3cat = callPackage ../tools/audio/mp3cat {};
+
   mp3fs = callPackage ../tools/filesystems/mp3fs { };
 
   mpdas = callPackage ../tools/audio/mpdas { };
@@ -1753,6 +1762,8 @@ in
 
   shab = callPackage ../tools/text/shab { };
 
+  shell-hist = callPackage ../tools/misc/shell-hist { };
+
   simg2img = callPackage ../tools/filesystems/simg2img { };
 
   snipes = callPackage ../games/snipes { };
@@ -2023,6 +2034,8 @@ in
 
   checkinstall = callPackage ../tools/package-management/checkinstall { };
 
+  chit = callPackage ../development/tools/chit { };
+
   chkrootkit = callPackage ../tools/security/chkrootkit { };
 
   chrony = callPackage ../tools/networking/chrony { };
@@ -2645,25 +2658,44 @@ in
   evemu = callPackage ../tools/system/evemu { };
 
   # The latest version used by elasticsearch, logstash, kibana and the the beats from elastic.
-  elk5Version = "5.6.9";
-  elk6Version = "6.7.1";
-  elk7Version = "7.0.0";
+  elk5Version = "5.6.16";
+  elk6Version = "6.7.2";
+  elk7Version = "7.0.1";
 
-  elasticsearch5 = callPackage ../servers/search/elasticsearch/5.x.nix { };
-  elasticsearch6 = callPackage ../servers/search/elasticsearch/6.x.nix { };
+  elasticsearch5 = callPackage ../servers/search/elasticsearch/5.x.nix {
+    utillinux = utillinuxMinimal;
+  };
+  elasticsearch6 = callPackage ../servers/search/elasticsearch/6.x.nix {
+    utillinux = utillinuxMinimal;
+  };
   elasticsearch6-oss = callPackage ../servers/search/elasticsearch/6.x.nix {
     enableUnfree = false;
+    utillinux = utillinuxMinimal;
+  };
+  elasticsearch7 = callPackage ../servers/search/elasticsearch/7.x.nix {
+    utillinux = utillinuxMinimal;
   };
-  elasticsearch7 = callPackage ../servers/search/elasticsearch/7.x.nix { };
   elasticsearch7-oss = callPackage ../servers/search/elasticsearch/7.x.nix {
     enableUnfree = false;
+    utillinux = utillinuxMinimal;
   };
   elasticsearch = elasticsearch6;
   elasticsearch-oss = elasticsearch6-oss;
 
   elasticsearchPlugins = recurseIntoAttrs (
-    callPackage ../servers/search/elasticsearch/plugins.nix { }
+    callPackage ../servers/search/elasticsearch/plugins.nix {
+      elasticsearch = elasticsearch-oss;
+    }
   );
+  elasticsearch5Plugins = elasticsearchPlugins.override {
+    elasticsearch = elasticsearch5;
+  };
+  elasticsearch6Plugins = elasticsearchPlugins.override {
+    elasticsearch = elasticsearch6-oss;
+  };
+  elasticsearch7Plugins = elasticsearchPlugins.override {
+    elasticsearch = elasticsearch7-oss;
+  };
 
   elasticsearch-curator = with (python3.override {
     packageOverrides = self: super: {
@@ -3428,6 +3460,8 @@ in
     stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   };
 
+  hackertyper = callPackage ../tools/misc/hackertyper { };
+
   haveged = callPackage ../tools/security/haveged { };
 
   habitat = callPackage ../applications/networking/cluster/habitat { };
@@ -3787,8 +3821,6 @@ in
 
   joplin-desktop = callPackage ../applications/misc/joplin-desktop { };
 
-  journalbeat = callPackage ../tools/system/journalbeat { };
-
   journaldriver = callPackage ../tools/misc/journaldriver { };
 
   jp = callPackage ../development/tools/jp { };
@@ -4497,6 +4529,8 @@ in
     withMinimal = false;
   };
 
+  mkclean = callPackage ../applications/video/mkclean {};
+
   mkcue = callPackage ../tools/cd-dvd/mkcue { };
 
   mkp224o = callPackage ../tools/security/mkp224o { };
@@ -4849,6 +4883,10 @@ in
 
   ola = callPackage ../applications/misc/ola { };
 
+  olive-editor = libsForQt5.callPackage ../applications/video/olive-editor { 
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation;
+  };
+
   omping = callPackage ../applications/networking/omping { };
 
   onioncircuits = callPackage ../tools/security/onioncircuits { };
@@ -4893,7 +4931,7 @@ in
   openresolv = callPackage ../tools/networking/openresolv { };
 
   opensc = callPackage ../tools/security/opensc {
-    inherit (darwin.apple_sdk.frameworks) Carbon;
+    inherit (darwin.apple_sdk.frameworks) Carbon PCSC;
   };
 
   opensm = callPackage ../tools/networking/opensm { };
@@ -5008,6 +5046,8 @@ in
 
   patchutils = callPackage ../tools/text/patchutils { };
 
+  patchutils_0_3_3 = callPackage ../tools/text/patchutils/0.3.3.nix { };
+
   parted = callPackage ../tools/misc/parted { };
 
   paulstretch = callPackage ../applications/audio/paulstretch { };
@@ -6223,7 +6263,8 @@ in
     libX11 = xorg.libX11;
   };
 
-  twitterBootstrap3 = callPackage ../development/web/twitter-bootstrap {};
+  twitterBootstrap3 = callPackage ../development/web/twitter-bootstrap/3.nix {};
+  twitterBootstrap4 = callPackage ../development/web/twitter-bootstrap {};
   twitterBootstrap = twitterBootstrap3;
 
   txr = callPackage ../tools/misc/txr { stdenv = clangStdenv; };
@@ -6840,6 +6881,8 @@ in
 
   zxing = callPackage ../tools/graphics/zxing {};
 
+  zmap = callPackage ../tools/security/zmap { };
+
 
   ### SHELLS
 
@@ -8219,7 +8262,7 @@ in
   mesos = callPackage ../applications/networking/cluster/mesos {
     sasl = cyrus_sasl;
     inherit (pythonPackages) python boto setuptools wrapPython;
-    pythonProtobuf = pythonPackages.protobuf;
+    pythonProtobuf = pythonPackages.protobuf.override { protobuf = protobuf3_6; };
     perf = linuxPackages.perf;
   };
 
@@ -8719,13 +8762,16 @@ in
 
   bam = callPackage ../development/tools/build-managers/bam {};
 
-  bazel_0_4 = callPackage ../development/tools/build-managers/bazel/0.4.nix { };
+  bazel_0_4 = callPackage ../development/tools/build-managers/bazel/0.4.nix {
+    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
+  };
   bazel = callPackage ../development/tools/build-managers/bazel {
     inherit (darwin) cctools;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
     buildJdk = jdk8;
     buildJdkName = "jdk8";
     runJdk = jdk11;
+    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   };
 
   bazel-buildtools = callPackage ../development/tools/build-managers/bazel/buildtools { };
@@ -8787,6 +8833,8 @@ in
   buildkite-agent2 = callPackage ../development/tools/continuous-integration/buildkite-agent/2.x.nix { };
   buildkite-agent3 = callPackage ../development/tools/continuous-integration/buildkite-agent/3.x.nix { };
 
+  bpftool = callPackage ../os-specific/linux/bpftool { };
+
   byacc = callPackage ../development/tools/parsing/byacc { };
 
   cadre = callPackage ../development/tools/cadre { };
@@ -10515,12 +10563,10 @@ in
   gsettings-qt = libsForQt5.callPackage ../development/libraries/gsettings-qt { };
 
   gst_all_1 = recurseIntoAttrs(callPackage ../development/libraries/gstreamer {
-    callPackage = pkgs.newScope (pkgs // { libav = pkgs.ffmpeg; });
+    callPackage = newScope { libav = pkgs.ffmpeg; };
   });
 
-  gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer {
-    bison = bison2;
-  };
+  gstreamer = callPackage ../development/libraries/gstreamer/legacy/gstreamer { };
 
   gst-plugins-base = callPackage ../development/libraries/gstreamer/legacy/gst-plugins-base {
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
@@ -10556,13 +10602,9 @@ in
               then callPackage ../development/libraries/gnu-efi { }
             else null;
 
-  gnutls = callPackage
-    (if stdenv.isDarwin
-      # Avoid > 3.5.10 due to frameworks for now; see discussion on:
-      # https://github.com/NixOS/nixpkgs/commit/d6454e6a1
-      then ../development/libraries/gnutls/3.5.10.nix
-      else ../development/libraries/gnutls/3.6.nix)
-    { };
+  gnutls = callPackage ../development/libraries/gnutls/default.nix {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   gnutls-kdh = callPackage ../development/libraries/gnutls-kdh/3.5.nix {
     gperf = gperf_3_0;
@@ -15145,6 +15187,7 @@ in
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
         kernelPatches.modinst_arg_list_too_long
+        kernelPatches.export_kernel_fpu_functions
       ];
   };
 
@@ -15152,6 +15195,7 @@ in
     kernelPatches = [
       kernelPatches.bridge_stp_helper
       kernelPatches.modinst_arg_list_too_long
+      kernelPatches.export_kernel_fpu_functions
     ];
   };
 
@@ -16027,8 +16071,12 @@ in
   docbook_xml_ebnf_dtd = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook-ebnf { };
 
   inherit (callPackages ../data/sgml+xml/stylesheets/xslt/docbook-xsl { })
-    docbook_xsl
-    docbook_xsl_ns;
+    docbook-xsl-nons
+    docbook-xsl-ns;
+
+  # TODO: move this to aliases
+  docbook_xsl = docbook-xsl-nons;
+  docbook_xsl_ns = docbook-xsl-ns;
 
   documentation-highlighter = callPackage ../misc/documentation-highlighter { };
 
@@ -16391,7 +16439,7 @@ in
   stix-two = callPackage ../data/fonts/stix-two { };
 
   inherit (callPackages ../data/fonts/gdouros { })
-    symbola aegyptus akkadian anatolian maya unidings musica analecta textfonts aegan abydos;
+    aegan aegyptus akkadian assyrian eemusic maya symbola textfonts unidings;
 
   iana-etc = callPackage ../data/misc/iana-etc { };
 
@@ -16743,7 +16791,7 @@ in
 
   awesome-4-0 = callPackage ../applications/window-managers/awesome {
     cairo = cairo.override { xcbSupport = true; };
-    luaPackages = luaPackages.override { inherit lua; };
+    inherit (texFunctions) fontsConf;
   };
   awesome = awesome-4-0;
 
@@ -20577,6 +20625,8 @@ in
     xwayland = null;
   };
 
+  chatterino2 = libsForQt5.callPackage ../applications/networking/instant-messengers/chatterino2 {};
+
   weston = callPackage ../applications/window-managers/weston {
     freerdp = freerdp_legacy;
   };
@@ -21077,6 +21127,8 @@ in
 
   atanks = callPackage ../games/atanks {};
 
+  azimuth = callPackage ../games/azimuth {};
+
   ballAndPaddle = callPackage ../games/ball-and-paddle {
     guile = guile_1_8;
   };
@@ -21170,7 +21222,8 @@ in
 
   digikam = libsForQt5.callPackage ../applications/graphics/digikam {
     inherit (plasma5) oxygen;
-    inherit (kdeApplications) kcalcore;
+    inherit (kdeApplications) akonadi-contacts kcalcore;
+    ffmpeg = ffmpeg_4;
     opencv3 = opencv3WithoutCuda;
   };
 
@@ -21423,7 +21476,10 @@ in
 
   nethack = callPackage ../games/nethack { };
 
-  nethack-qt = callPackage ../games/nethack { qtMode = true; };
+  nethack-qt = callPackage ../games/nethack {
+    qtMode = true;
+    stdenv = gccStdenv;
+  };
 
   nethack-x11 = callPackage ../games/nethack { x11Mode = true; };
 
@@ -22821,7 +22877,7 @@ in
 
   ### SCIENCE/ROBOTICS
 
-  apmplanner2 = libsForQt59.callPackage ../applications/science/robotics/apmplanner2 { };
+  apmplanner2 = libsForQt511.callPackage ../applications/science/robotics/apmplanner2 { };
 
   ### MISC
 
@@ -23972,8 +24028,10 @@ in
     stdenv = crossLibcStdenv;
     };
 
-	omnisharp-roslyn = callPackage ../development/tools/omnisharp-roslyn { };
+  omnisharp-roslyn = callPackage ../development/tools/omnisharp-roslyn { };
 
   wasmtime = callPackage ../development/interpreters/wasmtime {};
 
+  bemenu = callPackage ../applications/misc/bemenu { };
+
 }
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index b51af519f93..c26f031a089 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -151,10 +151,11 @@ with self; {
       cc lutf8lib.c $CFLAGS -o utf8.so
     '';
 
-    # There's no need to separate *.lua and *.so, I guess?  TODO: conventions?
+    # The hook in ../development/lua-modules/generic/default.nix
+    # is strict about share vs. lib for _PATH and _CPATH.
     installPhase = ''
-      install -Dt "$out/lib/lua/${lua.luaversion}/compat53" \
-        compat53/*.lua *.so
+      install -Dt "$out/share/lua/${lua.luaversion}/compat53" compat53/*.lua
+      install -Dt "$out/lib/lua/${lua.luaversion}/compat53" *.so
     '';
 
     meta = with stdenv.lib; {
@@ -192,38 +193,6 @@ with self; {
     };
   };
 
-  http = buildLuaPackage rec {
-    version = "0.2";
-    name = "http-${version}";
-
-    src = fetchFromGitHub {
-      owner = "daurnimator";
-      repo = "lua-http";
-      rev = "v${version}";
-      sha256 = "0a8vsj49alaf1fkhv51n5mgpjq8izfff3shcjs8xk7p2bc46vd7i";
-    };
-
-    /* TODO: separate docs derivation? (pandoc is heavy)
-    nativeBuildInputs = [ pandoc ];
-    makeFlags = [ "-C doc" "lua-http.html" "lua-http.3" ];
-    */
-
-    buildPhase = ":";
-    installPhase = ''
-      install -Dt "$out/lib/lua/${lua.luaversion}/http" \
-        http/*.lua
-      install -Dt "$out/lib/lua/${lua.luaversion}/http/compat" \
-        http/compat/*.lua
-    '';
-
-    meta = with stdenv.lib; {
-      description = "HTTP library for lua";
-      homepage = "https://daurnimator.github.io/lua-http/${version}/";
-      license = licenses.mit;
-      maintainers = with maintainers; [ vcunat ];
-    };
-  };
-
   luacyrussasl = buildLuaPackage rec {
     version = "1.1.0";
     name = "lua-cyrussasl-${version}";
@@ -419,12 +388,13 @@ with self; {
       sha256 = "0wv8l7f7na7kw5xn8mjik2wpxbizl7zvvp5s7fcwvz9kl5jdpk5b";
     };
 
+    propagatedBuildInputs = [ luasocket ];
     buildInputs = [ openssl ];
 
     preBuild = ''
       makeFlagsArray=(
         ${platformString}
-        LUAPATH="$out/lib/lua/${lua.luaversion}"
+        LUAPATH="$out/share/lua/${lua.luaversion}"
         LUACPATH="$out/lib/lua/${lua.luaversion}"
         INC_PATH="-I${lua}/include"
         LIB_PATH="-L$out/lib");
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 8d3e01c8e9c..f1d695c7f78 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6,7 +6,7 @@
    be almost as much code as the function itself. */
 
 {config, pkgs, fetchurl, fetchFromGitHub, stdenv, gnused, perl, overrides,
-  buildPackages}:
+  buildPerl}:
 
 # cpan2nix assumes that perl-packages.nix will be used only with perl 5.28.2 or above
 assert stdenv.lib.versionAtLeast perl.version "5.28.2";
@@ -37,7 +37,7 @@ let
     });
 
   buildPerlPackage = callPackage ../development/perl-modules/generic {
-    inherit toPerlModule;
+    inherit buildPerl;
   };
 
   # Helper functions for packages that use Module::Build to build.
@@ -9015,6 +9015,7 @@ let
     postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
       substituteInPlace Makefile.PL --replace 'if has_module' 'if 0; #'
     '';
+    doCheck = !stdenv.isDarwin;
     meta = with stdenv.lib; {
       description = "The World-Wide Web library for Perl";
       license = with licenses; [ artistic1 gpl1Plus ];
@@ -14820,8 +14821,8 @@ let
 
     # use native libraries from the host when running build commands
     postConfigure = if cross then let
-      host_perl = buildPackages.perl;
-      host_self = buildPackages.perlPackages.TermReadKey;
+      host_perl = buildPerl;
+      host_self = buildPerl.pkgs.TermReadKey;
       perl_lib = "${host_perl}/lib/perl5/${host_perl.version}";
       self_lib = "${host_self}/lib/perl5/site_perl/${host_perl.version}";
     in ''
@@ -14830,7 +14831,7 @@ let
 
     # TermReadKey uses itself in the build process
     nativeBuildInputs = if cross then [
-      buildPackages.perlPackages.TermReadKey
+      buildPerl.pkgs.TermReadKey
     ] else [];
   };
 
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 2cbdd0aee5c..63886bac857 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -347,12 +347,12 @@ let
   };
 
   phpstan = mkDerivation rec {
-    version = "0.11.5";
+    version = "0.11.6";
     pname = "phpstan";
 
     src = pkgs.fetchurl {
       url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-      sha256 = "13akllfr5dav0y61i4ym5ww8z32ynwj5lpvsfiwx6z52avmcrc29";
+      sha256 = "016zm9ynh0zi40kclvzql7zxs3pl69cacln2c7n3gsicpswr0qa4";
     };
 
     phases = [ "installPhase" ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 2c9f6d78a5a..d9ebd75b5c1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -665,6 +665,8 @@ in {
 
   py-lru-cache = callPackage ../development/python-modules/py-lru-cache { };
 
+  py-radix = callPackage ../development/python-modules/py-radix { };
+
   pydbus = callPackage ../development/python-modules/pydbus { };
 
   pydocstyle = callPackage ../development/python-modules/pydocstyle { };
@@ -3097,6 +3099,8 @@ in {
 
   lektor = callPackage ../development/python-modules/lektor { };
 
+  leveldb = callPackage ../development/python-modules/leveldb { };
+
   python-oauth2 = callPackage ../development/python-modules/python-oauth2 { };
 
   python_openzwave = callPackage ../development/python-modules/python_openzwave {
@@ -4273,6 +4277,8 @@ in {
 
   seaborn = callPackage ../development/python-modules/seaborn { };
 
+  seabreeze = callPackage ../development/python-modules/seabreeze { };
+
   selenium = callPackage ../development/python-modules/selenium { };
 
   serpy = callPackage ../development/python-modules/serpy { };
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index 2640cade2e5..bc822b466c9 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -31,7 +31,7 @@ let
     buildPackages.gcc = nativePlatforms;
     coreutils = nativePlatforms;
     haskell.packages.ghcHEAD.hello = nativePlatforms;
-    haskell.packages.ghc844.hello = nativePlatforms;
+    haskellPackages.hello = nativePlatforms;
   };
 
   linuxCommon = lib.recursiveUpdate gnuCommon {