about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2019-04-30 15:52:19 +0200
committerFrederik Rietdijk <fridh@fridh.nl>2019-04-30 15:52:19 +0200
commit3462fe27d9232c6e7e3472dc7fcc4c1561f9166d (patch)
tree5de7964838367fd02aef2b55ac7cb3e67ab7ddf9
parent84a15876a3a9f92b6ba53a7ac18a7fd96f405bf9 (diff)
parent2e7c7dad92f4967c90c37a59894a301e2d073daf (diff)
downloadnixlib-3462fe27d9232c6e7e3472dc7fcc4c1561f9166d.tar
nixlib-3462fe27d9232c6e7e3472dc7fcc4c1561f9166d.tar.gz
nixlib-3462fe27d9232c6e7e3472dc7fcc4c1561f9166d.tar.bz2
nixlib-3462fe27d9232c6e7e3472dc7fcc4c1561f9166d.tar.lz
nixlib-3462fe27d9232c6e7e3472dc7fcc4c1561f9166d.tar.xz
nixlib-3462fe27d9232c6e7e3472dc7fcc4c1561f9166d.tar.zst
nixlib-3462fe27d9232c6e7e3472dc7fcc4c1561f9166d.zip
Merge staging-next into staging
-rw-r--r--README.md8
-rw-r--r--doc/languages-frameworks/haskell.section.md6
-rw-r--r--maintainers/maintainer-list.nix15
-rw-r--r--maintainers/scripts/luarocks-packages.csv5
-rwxr-xr-xmaintainers/scripts/update-luarocks-packages2
-rw-r--r--nixos/doc/manual/configuration/x-windows.xml26
-rw-r--r--nixos/doc/manual/release-notes/rl-1909.xml8
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/programs/browserpass.nix10
-rw-r--r--nixos/modules/programs/sway.nix6
-rw-r--r--nixos/modules/rename.nix3
-rw-r--r--nixos/modules/security/apparmor.nix10
-rw-r--r--nixos/modules/services/cluster/kubernetes/default.nix7
-rw-r--r--nixos/modules/services/logging/journalwatch.nix42
-rw-r--r--nixos/modules/services/misc/gitea.nix15
-rw-r--r--nixos/modules/services/misc/jellyfin.nix60
-rw-r--r--nixos/modules/services/misc/nzbget.nix96
-rw-r--r--nixos/modules/services/monitoring/grafana.nix2
-rw-r--r--nixos/modules/services/networking/ejabberd.nix28
-rw-r--r--nixos/modules/services/networking/zeronet.nix13
-rw-r--r--nixos/modules/services/security/sks.nix24
-rw-r--r--nixos/modules/services/system/earlyoom.nix15
-rw-r--r--nixos/modules/services/web-apps/documize.nix171
-rw-r--r--nixos/modules/services/x11/window-managers/i3.nix5
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl18
-rw-r--r--nixos/modules/system/boot/luksroot.nix3
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/ejabberd.nix262
-rw-r--r--nixos/tests/jellyfin.nix16
-rw-r--r--nixos/tests/nzbget.nix26
-rw-r--r--nixos/tests/prosody.nix68
-rw-r--r--nixos/tests/xmpp-sendmessage.nix46
-rw-r--r--pkgs/applications/accessibility/mousetweaks/default.nix49
-rw-r--r--pkgs/applications/audio/calf/default.nix13
-rw-r--r--pkgs/applications/audio/dragonfly-reverb/default.nix16
-rw-r--r--pkgs/applications/audio/soundkonverter/default.nix97
-rw-r--r--pkgs/applications/audio/timemachine/default.nix8
-rw-r--r--pkgs/applications/editors/ghostwriter/default.nix8
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix40
-rw-r--r--pkgs/applications/misc/1password/default.nix6
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/evopedia/default.nix30
-rw-r--r--pkgs/applications/misc/font-manager/correct-post-install.patch13
-rw-r--r--pkgs/applications/misc/font-manager/default.nix8
-rw-r--r--pkgs/applications/misc/kanboard/default.nix12
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix7
-rw-r--r--pkgs/applications/misc/onboard/default.nix7
-rw-r--r--pkgs/applications/misc/onboard/fix-paths.patch11
-rw-r--r--pkgs/applications/misc/zola/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix8
-rw-r--r--pkgs/applications/networking/flent/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/matrique/default.nix55
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix62
-rw-r--r--pkgs/applications/networking/ipfs/default.nix13
-rw-r--r--pkgs/applications/networking/ipfs/deps.nix2190
-rw-r--r--pkgs/applications/office/kexi/default.nix11
-rw-r--r--pkgs/applications/office/skrooge/default.nix4
-rw-r--r--pkgs/applications/office/zim/default.nix4
-rw-r--r--pkgs/applications/radio/cubicsdr/default.nix29
-rw-r--r--pkgs/applications/science/biology/aragorn/default.nix28
-rw-r--r--pkgs/applications/science/logic/cedille/default.nix72
-rw-r--r--pkgs/applications/science/math/R/default.nix16
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix7
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix16
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix5
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix8
-rw-r--r--pkgs/applications/window-managers/sway/default.nix1
-rw-r--r--pkgs/applications/window-managers/sway/load-configuration-from-etc.patch42
-rw-r--r--pkgs/build-support/appimage/default.nix2
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix4
-rw-r--r--pkgs/data/fonts/nahid-fonts/default.nix26
-rw-r--r--pkgs/desktops/enlightenment/efl.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch11
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/3.28.nix29
-rw-r--r--pkgs/desktops/gnustep/libobjc2/default.nix11
-rw-r--r--pkgs/desktops/mate/marco/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-session-manager/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-system-monitor/default.nix4
-rw-r--r--pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix5
-rw-r--r--pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch11
-rw-r--r--pkgs/desktops/plasma-5/default.nix1
-rw-r--r--pkgs/desktops/plasma-5/discover.nix20
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/sources.json4
-rw-r--r--pkgs/development/compilers/ghc/8.6.5.nix8
-rw-r--r--pkgs/development/compilers/ghc/8.8.1.nix230
-rw-r--r--pkgs/development/compilers/jetbrains-jdk/default.nix24
-rw-r--r--pkgs/development/compilers/openjdk/8.nix3
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix14
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix14
-rw-r--r--pkgs/development/compilers/sbcl/bootstrap.nix4
-rw-r--r--pkgs/development/compilers/sbcl/default.nix4
-rw-r--r--pkgs/development/compilers/swi-prolog/default.nix39
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix58
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml120
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1803
-rw-r--r--pkgs/development/idris-modules/glfw.nix6
-rw-r--r--pkgs/development/idris-modules/idris-wrapper.nix8
-rw-r--r--pkgs/development/interpreters/lua-5/5.1.nix76
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.nix95
-rw-r--r--pkgs/development/interpreters/lua-5/build-lua-package.nix3
-rw-r--r--pkgs/development/interpreters/lua-5/default.nix65
-rw-r--r--pkgs/development/interpreters/lua-5/interpreter.nix (renamed from pkgs/development/interpreters/lua-5/5.3.nix)72
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-html.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-text.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/3.7-html.nix18
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix18
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix18
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/3.7-text.nix18
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/default.nix12
-rwxr-xr-xpkgs/development/interpreters/python/cpython/docs/generate.sh2
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix4
-rw-r--r--pkgs/development/libraries/accountsservice/no-create-dirs.patch12
-rw-r--r--pkgs/development/libraries/appstream/qt.nix11
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix52
-rw-r--r--pkgs/development/libraries/audio/libmysofa/default.nix4
-rw-r--r--pkgs/development/libraries/dav1d/default.nix4
-rw-r--r--pkgs/development/libraries/kproperty/default.nix4
-rw-r--r--pkgs/development/libraries/kreport/default.nix4
-rw-r--r--pkgs/development/libraries/libqmatrixclient/default.nix42
-rw-r--r--pkgs/development/libraries/nlopt/default.nix15
-rw-r--r--pkgs/development/libraries/qca-qt5/default.nix7
-rw-r--r--pkgs/development/libraries/qca-qt5/move-project.patch20
-rw-r--r--pkgs/development/libraries/qtkeychain/default.nix12
-rw-r--r--pkgs/development/libraries/snappy/default.nix5
-rw-r--r--pkgs/development/libraries/uriparser/default.nix2
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix424
-rw-r--r--pkgs/development/lua-modules/overrides.nix7
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/ojquery/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/tyxml/default.nix28
-rw-r--r--pkgs/development/python-modules/box2d/default.nix3
-rw-r--r--pkgs/development/python-modules/breathe/default.nix4
-rw-r--r--pkgs/development/python-modules/caldav/default.nix21
-rw-r--r--pkgs/development/python-modules/cli-helpers/default.nix4
-rw-r--r--pkgs/development/python-modules/django-picklefield/default.nix14
-rw-r--r--pkgs/development/python-modules/ezdxf/default.nix12
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix8
-rw-r--r--pkgs/development/python-modules/pyhamcrest/default.nix4
-rw-r--r--pkgs/development/python-modules/python-efl/default.nix4
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix4
-rw-r--r--pkgs/development/ruby-modules/solargraph/Gemfile.lock32
-rw-r--r--pkgs/development/ruby-modules/solargraph/gemset.nix90
-rw-r--r--pkgs/development/tools/analysis/autoflake/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/bazelisk/default.nix4
-rw-r--r--pkgs/development/tools/coursier/default.nix6
-rw-r--r--pkgs/development/tools/dep/default.nix4
-rw-r--r--pkgs/development/tools/electron/5.x.nix77
-rw-r--r--pkgs/development/tools/flatpak-builder/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix12
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix4
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/default.nix41
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch46
-rw-r--r--pkgs/development/tools/rust/rustup/default.nix21
-rw-r--r--pkgs/games/crispy-doom/default.nix4
-rw-r--r--pkgs/games/gzdoom/default.nix4
-rw-r--r--pkgs/misc/vim-plugins/generated.nix155
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names7
-rw-r--r--pkgs/misc/vscode-extensions/wakatime/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/i2c-oops.patch12
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.0.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix4
-rw-r--r--pkgs/os-specific/linux/service-wrapper/default.nix3
-rwxr-xr-xpkgs/os-specific/linux/service-wrapper/service-wrapper.sh29
-rw-r--r--pkgs/servers/computing/slurm/default.nix4
-rw-r--r--pkgs/servers/dico/default.nix15
-rw-r--r--pkgs/servers/dns/bind/default.nix12
-rw-r--r--pkgs/servers/documize-community/default.nix6
-rw-r--r--pkgs/servers/freeradius/default.nix4
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/http/nginx/stable.nix4
-rw-r--r--pkgs/servers/jellyfin/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nosql/eventstore/create-deps.sh34
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix83
-rw-r--r--pkgs/servers/nosql/eventstore/deps.nix532
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/tools/X11/xlayoutdisplay/default.nix10
-rw-r--r--pkgs/tools/admin/acme.sh/default.nix11
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/backup/dedup/default.nix29
-rw-r--r--pkgs/tools/filesystems/mergerfs/default.nix4
-rw-r--r--pkgs/tools/graphics/argyllcms/default.nix4
-rw-r--r--pkgs/tools/misc/pazi/cargo-lock.patch13
-rw-r--r--pkgs/tools/misc/pazi/default.nix24
-rw-r--r--pkgs/tools/misc/staruml/default.nix8
-rw-r--r--pkgs/tools/misc/yad/default.nix42
-rw-r--r--pkgs/tools/misc/z-lua/default.nix28
-rw-r--r--pkgs/tools/networking/atftp/default.nix4
-rw-r--r--pkgs/tools/networking/dd-agent/README.md17
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-agent-deps.nix (renamed from pkgs/tools/networking/dd-agent/deps.nix)34
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-agent.nix (renamed from pkgs/tools/networking/dd-agent/6.nix)6
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix14
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-process-agent.nix4
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/httplz/cargo-lock.patch1211
-rw-r--r--pkgs/tools/networking/httplz/default.nix26
-rw-r--r--pkgs/tools/networking/openvpn/default.nix36
-rw-r--r--pkgs/tools/networking/socat/default.nix2
-rw-r--r--pkgs/tools/networking/socat/speed-type-fix.patch13
-rw-r--r--pkgs/tools/networking/strongswan/default.nix11
-rw-r--r--pkgs/tools/networking/wol/default.nix22
-rw-r--r--pkgs/tools/security/browserpass/2.nix43
-rw-r--r--pkgs/tools/security/browserpass/2deps.nix39
-rw-r--r--pkgs/tools/security/browserpass/default.nix27
-rw-r--r--pkgs/tools/security/browserpass/deps.nix93
-rw-r--r--pkgs/tools/security/kwalletcli/default.nix50
-rw-r--r--pkgs/tools/security/mfoc/default.nix27
-rw-r--r--pkgs/tools/security/mfoc/mf_mini.patch96
-rw-r--r--pkgs/tools/system/augeas/default.nix4
-rw-r--r--pkgs/tools/system/journalwatch/default.nix20
-rw-r--r--pkgs/tools/system/netdata/default.nix7
-rw-r--r--pkgs/tools/text/peco/deps.nix4
-rw-r--r--pkgs/tools/text/qgrep/default.nix27
-rw-r--r--pkgs/tools/text/sd/default.nix24
-rw-r--r--pkgs/top-level/all-packages.nix97
-rw-r--r--pkgs/top-level/haskell-packages.nix11
-rw-r--r--pkgs/top-level/lua-packages.nix60
-rw-r--r--pkgs/top-level/ocaml-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix4
-rw-r--r--pkgs/top-level/release.nix6
237 files changed, 8477 insertions, 2706 deletions
diff --git a/README.md b/README.md
index 29c023e4dcdf..8cdbb73595bf 100644
--- a/README.md
+++ b/README.md
@@ -12,12 +12,12 @@ build daemon as so-called channels. To get channel information via git, add
 ```
 
 For stability and maximum binary package support, it is recommended to maintain
-custom changes on top of one of the channels, e.g. `nixos-18.09` for the latest
+custom changes on top of one of the channels, e.g. `nixos-19.03` for the latest
 release and `nixos-unstable` for the latest successful build of master:
 
 ```
 % git remote update channels
-% git rebase channels/nixos-18.09
+% git rebase channels/nixos-19.03
 ```
 
 For pull requests, please rebase onto nixpkgs `master`.
@@ -31,9 +31,9 @@ For pull requests, please rebase onto nixpkgs `master`.
 * [Manual (NixOS)](https://nixos.org/nixos/manual/)
 * [Community maintained wiki](https://nixos.wiki/)
 * [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
-* [Continuous package builds for 18.09 release](https://hydra.nixos.org/jobset/nixos/release-18.09)
+* [Continuous package builds for 19.03 release](https://hydra.nixos.org/jobset/nixos/release-19.03)
 * [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
-* [Tests for 18.09 release](https://hydra.nixos.org/job/nixos/release-18.09/tested#tabs-constituents)
+* [Tests for 19.03 release](https://hydra.nixos.org/job/nixos/release-19.03/tested#tabs-constituents)
 
 Communication:
 
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md
index b36cf67b51c0..d832716c0308 100644
--- a/doc/languages-frameworks/haskell.section.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -55,7 +55,7 @@ package `haskell-pandoc`, for example, installs both a library and an
 application. You can install and use Haskell executables just like any other
 program in Nixpkgs, but using Haskell libraries for development is a bit
 trickier and we'll address that subject in great detail in section [How to
-create a development environment].
+create a development environment](#how-to-create-a-development-environment).
 
 Attribute paths are deterministic inside of Nixpkgs, but the path necessary to
 reach Nixpkgs varies from system to system. We dodged that problem by giving
@@ -127,7 +127,7 @@ Also, the attributes `haskell.compiler.ghcXYC` and
 
 A simple development environment consists of a Haskell compiler and one or both
 of the tools `cabal-install` and `stack`. We saw in section
-[How to install Haskell packages] how you can install those programs into your
+[How to install Haskell packages](#how-to-install-haskell-packages) how you can install those programs into your
 user profile:
 ```shell
 nix-env -f "<nixpkgs>" -iA haskellPackages.ghc haskellPackages.cabal-install
@@ -162,7 +162,7 @@ nix-shell -p haskell.compiler.ghc784
 to bring GHC 7.8.4 into `$PATH`. Alternatively, you can use Stack instead of
 `nix-shell` directly to select compiler versions and other build tools
 per-project. It uses `nix-shell` under the hood when Nix support is turned on.
-See [How to build a Haskell project using Stack].
+See [How to build a Haskell project using Stack](#how-to-build-a-haskell-project-using-stack).
 
 If you're using `cabal-install`, re-running `cabal configure` inside the spawned
 shell switches your build to use that compiler instead. If you're working on
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 921000bd71ee..cd03d063cd64 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -197,6 +197,11 @@
     github = "aij";
     name = "Ivan Jager";
   };
+  ajs124 = {
+    email = "nix@ajs124.de";
+    github = "ajs124";
+    name = "Andreas Schrägle";
+  };
   ajgrf = {
     email = "a@ajgrf.com";
     github = "ajgrf";
@@ -578,6 +583,11 @@
     github = "bbarker";
     name = "Brandon Elam Barker";
   };
+  bbigras = {
+    email = "bigras.bruno@gmail.com";
+    github = "bbigras";
+    name = "Bruno Bigras";
+  };
   bcarrell = {
     email = "brandoncarrell@gmail.com";
     github = "bcarrell";
@@ -2911,6 +2921,11 @@
     github = "marcweber";
     name = "Marc Weber";
   };
+	marenz = {
+		email = "marenz@arkom.men";
+		github = "marenz2569";
+		name = "Markus Schmidl";
+	};
   markus1189 = {
     email = "markus1189@gmail.com";
     github = "markus1189";
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index 035a0d891cca..c51c663a5413 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -14,14 +14,19 @@ ltermbox,
 lua-cmsgpack,
 lua_cliargs,
 lua-iconv,
+lua-messagepack,
 lua-term,
+lua-toml,
 luabitop,
 luaevent,
 luacheck
 luaffi,,http://luarocks.org/dev,
 luuid,
 penlight,
+rapidjson,
 say,
+std__debug,std._debug,
+std_normalize,std.normalize,
 luv,
 luasystem,
 mediator_lua,,http://luarocks.org/manifests/teto
diff --git a/maintainers/scripts/update-luarocks-packages b/maintainers/scripts/update-luarocks-packages
index 4b94343233e4..aee74dae10cd 100755
--- a/maintainers/scripts/update-luarocks-packages
+++ b/maintainers/scripts/update-luarocks-packages
@@ -81,7 +81,7 @@ function convert_pkg () {
 		server=" --server=$3"
 	fi
 
-    version="${3:-}"
+    version="${4:-}"
 
     echo "looking at $lua_pkg_name (version $version) from server [$server]" >&2
     cmd="luarocks nix $server $lua_pkg_name $version"
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index 3bcb288b5ebf..798d1fbdfd85 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -67,6 +67,32 @@
 <xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true;
 </programlisting>
  </para>
+ <simplesect xml:id="sec-x11-auto-login">
+  <title>Auto-login</title>
+  <para>
+  The x11 login screen can be skipped entirely, automatically logging you into
+  your window manager and desktop environment when you boot your computer.
+  </para>
+  <para>
+  This is especially helpful if you have disk encryption enabled. Since you
+  already have to provide a password to decrypt your disk, entering a second
+  password to login can be redundant.
+  </para>
+  <para>
+  To enable auto-login, you need to define your default window manager and
+  desktop environment. If you wanted no desktop environment and i3 as your your
+  window manager, you'd define:
+<programlisting>
+<xref linkend="opt-services.xserver.desktopManager.default"/> = "none";
+<xref linkend="opt-services.xserver.windowManager.default"/> = "i3";
+</programlisting>
+  And, finally, to enable auto-login for a user <literal>johndoe</literal>:
+<programlisting>
+<xref linkend="opt-services.xserver.displayManager.auto.enable"/> = true;
+<xref linkend="opt-services.xserver.displayManager.auto.user"/> = "johndoe";
+</programlisting>
+  </para>
+ </simplesect>
  <simplesect xml:id="sec-x11-graphics-cards-nvidia">
   <title>Proprietary NVIDIA drivers</title>
   <para>
diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index 2dc2dc41ff24..b16297da7ce6 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -83,6 +83,14 @@
       The same applies to ModemManager where modem-manager.service is now called ModemManager.service again.
     </para>
    </listitem>
+   <listitem>
+    <para>
+      The <option>services.nzbget.configFile</option> and <option>services.nzbget.openFirewall</option>
+      options were removed as they are managed internally by the nzbget. The
+      <option>services.nzbget.dataDir</option> option hadn't actually been used by
+      the module for some time and so was removed as cleanup.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index fca4a20eee63..56c44a43c6e3 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -414,6 +414,7 @@
   ./services/misc/ihaskell.nix
   ./services/misc/irkerd.nix
   ./services/misc/jackett.nix
+  ./services/misc/jellyfin.nix
   ./services/misc/logkeys.nix
   ./services/misc/leaps.nix
   ./services/misc/lidarr.nix
diff --git a/nixos/modules/programs/browserpass.nix b/nixos/modules/programs/browserpass.nix
index 47b9d1ccb1f6..e1456d3c1848 100644
--- a/nixos/modules/programs/browserpass.nix
+++ b/nixos/modules/programs/browserpass.nix
@@ -26,16 +26,6 @@ with lib;
       # brave
       "opt/brave/native-messaging-hosts/${appId}".source = source "hosts/chromium";
       "opt/brave/policies/managed/${appId}".source = source "policies/chromium";
-    }
-    # As with the v2 backwards compatibility in the pkgs.browserpass
-    # declaration, this part can be removed once the browser extension
-    # auto-updates to v3 (planned 2019-04-13, see
-    # https://github.com/browserpass/browserpass-native/issues/31)
-    // {
-      "chromium/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json";
-      "chromium/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json";
-      "opt/chrome/native-messaging-hosts/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-host.json";
-      "opt/chrome/policies/managed/com.dannyvankooten.browserpass.json".source = "${pkgs.browserpass}/etc/chrome-policy.json";
     };
     nixpkgs.config.firefox.enableBrowserpass = true;
   };
diff --git a/nixos/modules/programs/sway.nix b/nixos/modules/programs/sway.nix
index 457faaa3c102..b4f03151cdc1 100644
--- a/nixos/modules/programs/sway.nix
+++ b/nixos/modules/programs/sway.nix
@@ -78,9 +78,9 @@ in {
     environment = {
       systemPackages = [ swayJoined ] ++ cfg.extraPackages;
       etc = {
-        "sway/config".source = "${swayPackage}/etc/sway/config";
-        #"sway/security.d".source = "${swayPackage}/etc/sway/security.d/";
-        #"sway/config.d".source = "${swayPackage}/etc/sway/config.d/";
+        "sway/config".source = mkOptionDefault "${swayPackage}/etc/sway/config";
+        #"sway/security.d".source = mkOptionDefault "${swayPackage}/etc/sway/security.d/";
+        #"sway/config.d".source = mkOptionDefault "${swayPackage}/etc/sway/config.d/";
       };
     };
     security.pam.services.swaylock = {};
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index f6c112d9cfab..70807ccf7cd8 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -45,6 +45,9 @@ with lib;
     (mkRemovedOptionModule [ "services" "neo4j" "port" ] "Use services.neo4j.http.listenAddress instead.")
     (mkRemovedOptionModule [ "services" "neo4j" "boltPort" ] "Use services.neo4j.bolt.listenAddress instead.")
     (mkRemovedOptionModule [ "services" "neo4j" "httpsPort" ] "Use services.neo4j.https.listenAddress instead.")
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "configFile" ] "The configuration of nzbget is now managed by users through the web interface.")
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "dataDir" ] "The data directory for nzbget is now /var/lib/nzbget.")
+    (mkRemovedOptionModule [ "services" "misc" "nzbget" "openFirewall" ] "The port used by nzbget is managed through the web interface so you should adjust your firewall rules accordingly.")
     (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "user" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a user setting.")
     (mkRemovedOptionModule [ "services" "prometheus" "alertmanager" "group" ] "The alertmanager service is now using systemd's DynamicUser mechanism which obviates a group setting.")
     (mkRenamedOptionModule [ "services" "tor" "relay" "portSpec" ] [ "services" "tor" "relay" "port" ])
diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix
index d323a158a4df..4512a7a80f6d 100644
--- a/nixos/modules/security/apparmor.nix
+++ b/nixos/modules/security/apparmor.nix
@@ -33,7 +33,12 @@ in
        paths = concatMapStrings (s: " -I ${s}/etc/apparmor.d")
          ([ pkgs.apparmor-profiles ] ++ cfg.packages);
      in {
-       wantedBy = [ "local-fs.target" ];
+       after = [ "local-fs.target" ];
+       before = [ "sysinit.target" ];
+       wantedBy = [ "multi-user.target" ];
+       unitConfig = {
+         DefaultDependencies = "no";
+       };
        serviceConfig = {
          Type = "oneshot";
          RemainAfterExit = "yes";
@@ -43,6 +48,9 @@ in
          ExecStop = map (p:
            ''${pkgs.apparmor-parser}/bin/apparmor_parser -Rv "${p}"''
          ) cfg.profiles;
+         ExecReload = map (p:
+           ''${pkgs.apparmor-parser}/bin/apparmor_parser --reload ${paths} "${p}"''
+         ) cfg.profiles;
        };
      };
    };
diff --git a/nixos/modules/services/cluster/kubernetes/default.nix b/nixos/modules/services/cluster/kubernetes/default.nix
index 192c893f8a16..5e46bfc4240f 100644
--- a/nixos/modules/services/cluster/kubernetes/default.nix
+++ b/nixos/modules/services/cluster/kubernetes/default.nix
@@ -273,11 +273,10 @@ in {
         wantedBy = [ "kube-control-plane-online.target" ];
         after = [ "kube-scheduler.service" "kube-controller-manager.service" ];
         before = [ "kube-control-plane-online.target" ];
-        environment.KUBECONFIG = cfg.lib.mkKubeConfig "default" cfg.kubeconfig;
-        path = [ pkgs.kubectl ];
+        path = [ pkgs.curl ];
         preStart = ''
-          until kubectl get --raw=/healthz 2>/dev/null; do
-            echo kubectl get --raw=/healthz: exit status $?
+          until curl -Ssf ${cfg.apiserverAddress}/healthz do
+            echo curl -Ssf ${cfg.apiserverAddress}/healthz: exit status $?
             sleep 3
           done
         '';
diff --git a/nixos/modules/services/logging/journalwatch.nix b/nixos/modules/services/logging/journalwatch.nix
index d0824df38ae3..576c646c0f58 100644
--- a/nixos/modules/services/logging/journalwatch.nix
+++ b/nixos/modules/services/logging/journalwatch.nix
@@ -4,6 +4,8 @@ with lib;
 let
   cfg = config.services.journalwatch;
   user = "journalwatch";
+  # for journal access
+  group = "systemd-journal";
   dataDir = "/var/lib/${user}";
 
   journalwatchConfig = pkgs.writeText "config" (''
@@ -31,6 +33,17 @@ let
 
   '') filterBlocks);
 
+  # can't use joinSymlinks directly, because when we point $XDG_CONFIG_HOME
+  # to the /nix/store path, we still need the subdirectory "journalwatch" inside that
+  # to match journalwatch's expectations
+  journalwatchConfigDir = pkgs.runCommand "journalwatch-config"
+    { preferLocalBuild = true; allowSubstitutes = false; }
+    ''
+      mkdir -p $out/journalwatch
+      ln -sf ${journalwatchConfig} $out/journalwatch/config
+      ln -sf ${journalwatchPatterns} $out/journalwatch/patterns
+    '';
+
 
 in {
   options = {
@@ -199,33 +212,38 @@ in {
 
     users.users.${user} = {
       isSystemUser = true;
-      createHome = true;
       home = dataDir;
-      # for journal access
-      group = "systemd-journal";
+      group = group;
     };
 
+    systemd.tmpfiles.rules = [
+      # present since NixOS 19.09: remove old stateful symlink join directory,
+      # which has been replaced with the journalwatchConfigDir store path
+      "R ${dataDir}/config"
+    ];
+
     systemd.services.journalwatch = {
+
       environment = {
+        # journalwatch stores the last processed timpestamp here
+        # the share subdirectory is historic now that config home lives in /nix/store,
+        # but moving this in a backwards-compatible way is much more work than what's justified
+        # for cleaning that up.
         XDG_DATA_HOME = "${dataDir}/share";
-        XDG_CONFIG_HOME = "${dataDir}/config";
+        XDG_CONFIG_HOME = journalwatchConfigDir;
       };
       serviceConfig = {
         User = user;
+        Group = group;
         Type = "oneshot";
-        PermissionsStartOnly = true;
+        # requires a relative directory name to create beneath /var/lib
+        StateDirectory = user;
+        StateDirectoryMode = 0750;
         ExecStart = "${pkgs.python3Packages.journalwatch}/bin/journalwatch mail";
         # lowest CPU and IO priority, but both still in best-effort class to prevent starvation
         Nice=19;
         IOSchedulingPriority=7;
       };
-      preStart = ''
-        chown -R ${user}:systemd-journal ${dataDir}
-        chmod -R u+rwX,go-w ${dataDir}
-        mkdir -p ${dataDir}/config/journalwatch
-        ln -sf ${journalwatchConfig} ${dataDir}/config/journalwatch/config
-        ln -sf ${journalwatchPatterns} ${dataDir}/config/journalwatch/patterns
-      '';
     };
 
     systemd.timers.journalwatch = {
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index be4d38719785..6fd4183bd6b4 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -8,6 +8,7 @@ let
   pg = config.services.postgresql;
   useMysql = cfg.database.type == "mysql";
   usePostgresql = cfg.database.type == "postgres";
+  useSqlite = cfg.database.type == "sqlite3";
   configFile = pkgs.writeText "app.ini" ''
     APP_NAME = ${cfg.appName}
     RUN_USER = ${cfg.user}
@@ -15,11 +16,15 @@ let
 
     [database]
     DB_TYPE = ${cfg.database.type}
-    HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port}
-    NAME = ${cfg.database.name}
-    USER = ${cfg.database.user}
-    PASSWD = #dbpass#
-    PATH = ${cfg.database.path}
+    ${optionalString (usePostgresql || useMysql) ''
+      HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port}
+      NAME = ${cfg.database.name}
+      USER = ${cfg.database.user}
+      PASSWD = #dbpass#
+    ''}
+    ${optionalString useSqlite ''
+      PATH = ${cfg.database.path}
+    ''}
     ${optionalString usePostgresql ''
       SSL_MODE = disable
     ''}
diff --git a/nixos/modules/services/misc/jellyfin.nix b/nixos/modules/services/misc/jellyfin.nix
new file mode 100644
index 000000000000..7f38dd0ff233
--- /dev/null
+++ b/nixos/modules/services/misc/jellyfin.nix
@@ -0,0 +1,60 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.jellyfin;
+in
+{
+  options = {
+    services.jellyfin = {
+      enable = mkEnableOption "Jellyfin Media Server";
+
+      user = mkOption {
+        type = types.str;
+        default = "jellyfin";
+        description = "User account under which Jellyfin runs.";
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "jellyfin";
+        description = "Group under which jellyfin runs.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.jellyfin = {
+      description = "Jellyfin Media Server";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = rec {
+        User = cfg.user;
+        Group = cfg.group;
+        StateDirectory = "jellyfin";
+        CacheDirectory = "jellyfin";
+        ExecStart = "${pkgs.jellyfin}/bin/jellyfin --datadir '/var/lib/${StateDirectory}' --cachedir '/var/cache/${CacheDirectory}'";
+        Restart = "on-failure";
+      };
+    };
+
+    users.users = mkIf (cfg.user == "jellyfin") {
+      jellyfin.group = cfg.group;
+    };
+
+    users.groups = mkIf (cfg.group == "jellyfin") {
+      jellyfin = {};
+    };
+
+    assertions = [
+      {
+        assertion = !config.services.emby.enable;
+        message = "Emby and Jellyfin are incompatible, you cannot enable both";
+      }
+    ];
+  };
+
+  meta.maintainers = with lib.maintainers; [ minijackson ];
+}
diff --git a/nixos/modules/services/misc/nzbget.nix b/nixos/modules/services/misc/nzbget.nix
index 6ab98751c57b..eb7b4c05d82d 100644
--- a/nixos/modules/services/misc/nzbget.nix
+++ b/nixos/modules/services/misc/nzbget.nix
@@ -4,32 +4,34 @@ with lib;
 
 let
   cfg = config.services.nzbget;
-  dataDir = builtins.dirOf cfg.configFile;
-in {
-  options = {
-    services.nzbget = {
-      enable = mkEnableOption "NZBGet";
+  pkg = pkgs.nzbget;
+  stateDir = "/var/lib/nzbget";
+  configFile = "${stateDir}/nzbget.conf";
+  configOpts = concatStringsSep " " (mapAttrsToList (name: value: "-o ${name}=${value}") nixosOpts);
 
-      package = mkOption {
-        type = types.package;
-        default = pkgs.nzbget;
-        defaultText = "pkgs.nzbget";
-        description = "The NZBGet package to use";
-      };
+  nixosOpts = {
+    # allows nzbget to run as a "simple" service
+    OutputMode = "loggable";
+    # use journald for logging
+    WriteLog = "none";
+    ErrorTarget = "screen";
+    WarningTarget = "screen";
+    InfoTarget = "screen";
+    DetailTarget = "screen";
+    # required paths
+    ConfigTemplate = "${pkg}/share/nzbget/nzbget.conf";
+    WebDir = "${pkg}/share/nzbget/webui";
+    # nixos handles package updates
+    UpdateCheck = "none";
+  };
 
-      dataDir = mkOption {
-        type = types.str;
-        default = "/var/lib/nzbget";
-        description = "The directory where NZBGet stores its configuration files.";
-      };
+in
+{
+  # interface
 
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Open ports in the firewall for the NZBGet web interface
-        '';
-      };
+  options = {
+    services.nzbget = {
+      enable = mkEnableOption "NZBGet";
 
       user = mkOption {
         type = types.str;
@@ -42,15 +44,11 @@ in {
         default = "nzbget";
         description = "Group under which NZBGet runs";
       };
-
-      configFile = mkOption {
-        type = types.str;
-        default = "/var/lib/nzbget/nzbget.conf";
-        description = "Path for NZBGet's config file. (If this doesn't exist, the default config template is copied here.)";
-      };
     };
   };
 
+  # implementation
+
   config = mkIf cfg.enable {
     systemd.services.nzbget = {
       description = "NZBGet Daemon";
@@ -61,50 +59,26 @@ in {
         p7zip
       ];
       preStart = ''
-        cfgtemplate=${cfg.package}/share/nzbget/nzbget.conf
-        if [ ! -f ${cfg.configFile} ]; then
-          echo "${cfg.configFile} not found. Copying default config $cfgtemplate to ${cfg.configFile}"
-          install -m 0700 $cfgtemplate ${cfg.configFile}
-          echo "Setting temporary \$MAINDIR variable in default config required in order to allow nzbget to complete initial start"
-          echo "Remember to change this to a proper value once NZBGet startup has been completed"
-          sed -i -e 's/MainDir=.*/MainDir=\/tmp/g' ${cfg.configFile}
+        if [ ! -f ${configFile} ]; then
+          ${pkgs.coreutils}/bin/install -m 0700 ${pkg}/share/nzbget/nzbget.conf ${configFile}
         fi
       '';
 
-      script = ''
-        args="--daemon --configfile ${cfg.configFile}"
-        # The script in preStart (above) copies nzbget's config template to datadir on first run, containing paths that point to the nzbget derivation installed at the time.
-        # These paths break when nzbget is upgraded & the original derivation is garbage collected. If such broken paths are found in the config file, override them to point to
-        # the currently installed nzbget derivation.
-        cfgfallback () {
-          local hit=`grep -Po "(?<=^$1=).*+" "${cfg.configFile}" | sed 's/[ \t]*$//'` # Strip trailing whitespace
-          ( test $hit && test -e $hit ) || {
-            echo "In ${cfg.configFile}, valid $1 not found; falling back to $1=$2"
-            args+=" -o $1=$2"
-          }
-        }
-        cfgfallback ConfigTemplate ${cfg.package}/share/nzbget/nzbget.conf
-        cfgfallback WebDir ${cfg.package}/share/nzbget/webui
-        ${cfg.package}/bin/nzbget $args
-      '';
-
       serviceConfig = {
-        StateDirectory = dataDir;
-        StateDirectoryMode = "0700";
-        Type = "forking";
+        StateDirectory = "nzbget";
+        StateDirectoryMode = "0750";
         User = cfg.user;
         Group = cfg.group;
-        PermissionsStartOnly = "true";
+        UMask = "0002";
         Restart = "on-failure";
+        ExecStart = "${pkg}/bin/nzbget --server --configfile ${stateDir}/nzbget.conf ${configOpts}";
+        ExecStop = "${pkg}/bin/nzbget --quit";
       };
     };
 
-    networking.firewall = mkIf cfg.openFirewall {
-      allowedTCPPorts = [ 8989 ];
-    };
-
     users.users = mkIf (cfg.user == "nzbget") {
       nzbget = {
+        home = stateDir;
         group = cfg.group;
         uid = config.ids.uids.nzbget;
       };
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index 85879cfe0b33..5d3f2e6ac28f 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -177,7 +177,7 @@ let
       folder = mkOption {
         type = types.str;
         default = "";
-        description = "Add dashboards to the speciied folder";
+        description = "Add dashboards to the specified folder";
       };
       type = mkOption {
         type = types.str;
diff --git a/nixos/modules/services/networking/ejabberd.nix b/nixos/modules/services/networking/ejabberd.nix
index ef5e2cee6f20..6a38f85c48a2 100644
--- a/nixos/modules/services/networking/ejabberd.nix
+++ b/nixos/modules/services/networking/ejabberd.nix
@@ -11,7 +11,7 @@ let
     ${cfg.ctlConfig}
   '';
 
-  ectl = ''${cfg.package}/bin/ejabberdctl ${if cfg.configFile == null then "" else "--config ${cfg.configFile}"} --ctl-config "${ctlcfg}" --spool "${cfg.spoolDir}" --logs "${cfg.logsDir}"'';
+  ectl = ''${cfg.package}/bin/ejabberdctl ${optionalString (cfg.configFile != null) "--config ${cfg.configFile}"} --ctl-config "${ctlcfg}" --spool "${cfg.spoolDir}" --logs "${cfg.logsDir}"'';
 
   dumps = lib.escapeShellArgs cfg.loadDumps;
 
@@ -111,28 +111,17 @@ in {
       description = "ejabberd server";
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
-      path = [ pkgs.findutils pkgs.coreutils pkgs.runit ] ++ lib.optional cfg.imagemagick pkgs.imagemagick;
+      path = [ pkgs.findutils pkgs.coreutils ] ++ lib.optional cfg.imagemagick pkgs.imagemagick;
 
       serviceConfig = {
-        ExecStart = ''${ectl} foreground'';
-        # FIXME: runit is used for `chpst` -- can we get rid of this?
-        ExecStop = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} stop'';
-        ExecReload = ''${pkgs.runit}/bin/chpst -u "${cfg.user}:${cfg.group}" ${ectl} reload_config'';
         User = cfg.user;
         Group = cfg.group;
-        PermissionsStartOnly = true;
+        ExecStart = "${ectl} foreground";
+        ExecStop = "${ectl} stop";
+        ExecReload = "${ectl} reload_config";
       };
 
       preStart = ''
-        mkdir -p -m750 "${cfg.logsDir}"
-        chown "${cfg.user}:${cfg.group}" "${cfg.logsDir}"
-
-        mkdir -p -m750 "/var/lock/ejabberdctl"
-        chown "${cfg.user}:${cfg.group}" "/var/lock/ejabberdctl"
-
-        mkdir -p -m750 "${cfg.spoolDir}"
-        chown -R "${cfg.user}:${cfg.group}" "${cfg.spoolDir}"
-
         if [ -z "$(ls -A '${cfg.spoolDir}')" ]; then
           touch "${cfg.spoolDir}/.firstRun"
         fi
@@ -149,13 +138,18 @@ in {
           for src in ${dumps}; do
             find "$src" -type f | while read dump; do
               echo "Loading configuration dump at $dump"
-              chpst -u "${cfg.user}:${cfg.group}" ${ectl} load "$dump"
+              ${ectl} load "$dump"
             done
           done
         fi
       '';
     };
 
+    systemd.tmpfiles.rules = [
+      "d '${cfg.logsDir}' 0750 ${cfg.user} ${cfg.group} -"
+      "d '${cfg.spoolDir}' 0700 ${cfg.user} ${cfg.group} -"
+    ];
+
     security.pam.services.ejabberd = {};
 
   };
diff --git a/nixos/modules/services/networking/zeronet.nix b/nixos/modules/services/networking/zeronet.nix
index 8b60799891ca..611a51c74ce2 100644
--- a/nixos/modules/services/networking/zeronet.nix
+++ b/nixos/modules/services/networking/zeronet.nix
@@ -5,13 +5,15 @@ let
 
   zConfFile = pkgs.writeTextFile {
     name = "zeronet.conf";
-    
+
     text = ''
       [global]
       data_dir = ${cfg.dataDir}
       log_dir = ${cfg.logDir}
     '' + lib.optionalString (cfg.port != null) ''
       ui_port = ${toString cfg.port}
+    '' + lib.optionalString (cfg.fileserverPort != null) ''
+      fileserver_port = ${toString cfg.fileserverPort}
     '' + lib.optionalString (cfg.torAlways) ''
       tor = always
     '' + cfg.extraConfig;
@@ -41,6 +43,15 @@ in with lib; {
       description = "Optional zeronet web UI port.";
     };
 
+    fileserverPort = mkOption {
+      # Not optional: when absent zeronet tries to write one to the
+      # read-only config file and crashes
+      type = types.int;
+      default = 12261;
+      example = 12261;
+      description = "Zeronet fileserver port.";
+    };
+
     tor = mkOption {
       type = types.bool;
       default = false;
diff --git a/nixos/modules/services/security/sks.nix b/nixos/modules/services/security/sks.nix
index 8136a5c763a9..1b7a2ad13980 100644
--- a/nixos/modules/services/security/sks.nix
+++ b/nixos/modules/services/security/sks.nix
@@ -116,20 +116,22 @@ in {
           ${lib.optionalString (cfg.webroot != null)
             "ln -sfT \"${cfg.webroot}\" web"}
           mkdir -p dump
-          # Check that both database configs are symlinks before overwriting them
-          if [ -e KDB/DB_CONFIG ] && [ ! -L KBD/DB_CONFIG ]; then
-            echo "KDB/DB_CONFIG exists but is not a symlink." >&2
-            exit 1
-          fi
-          if [ -e PTree/DB_CONFIG ] && [ ! -L PTree/DB_CONFIG ]; then
-            echo "PTree/DB_CONFIG exists but is not a symlink." >&2
-            exit 1
-          fi
-          ln -sf ${dbConfig} KDB/DB_CONFIG
-          ln -sf ${dbConfig} PTree/DB_CONFIG
           ${sksPkg}/bin/sks build dump/*.gpg -n 10 -cache 100 || true #*/
           ${sksPkg}/bin/sks cleandb || true
           ${sksPkg}/bin/sks pbuild -cache 20 -ptree_cache 70 || true
+          # Check that both database configs are symlinks before overwriting them
+          # TODO: The initial build will be without DB_CONFIG, but this will
+          # hopefully not cause any significant problems. It might be better to
+          # create both directories manually but we have to check that this does
+          # not affect the initial build of the DB.
+          for CONFIG_FILE in KDB/DB_CONFIG PTree/DB_CONFIG; do
+            if [ -e $CONFIG_FILE ] && [ ! -L $CONFIG_FILE ]; then
+              echo "$CONFIG_FILE exists but is not a symlink." >&2
+              echo "Please remove $PWD/$CONFIG_FILE manually to continue." >&2
+              exit 1
+            fi
+            ln -sf ${dbConfig} $CONFIG_FILE
+          done
         '';
         serviceConfig = {
           WorkingDirectory = "~";
diff --git a/nixos/modules/services/system/earlyoom.nix b/nixos/modules/services/system/earlyoom.nix
index daa46838bfa8..39d1bf274bd2 100644
--- a/nixos/modules/services/system/earlyoom.nix
+++ b/nixos/modules/services/system/earlyoom.nix
@@ -63,6 +63,17 @@ in
           Enable debugging messages.
         '';
       };
+
+      notificationsCommand = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "sudo -u example_user DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send";
+        description = ''
+          Command used to send notifications.
+
+          See <link xlink:href="https://github.com/rfjakob/earlyoom#notifications">README</link> for details.
+        '';
+      };
     };
   };
 
@@ -88,7 +99,9 @@ in
           -s ${toString ecfg.freeSwapThreshold} \
           ${optionalString ecfg.useKernelOOMKiller "-k"} \
           ${optionalString ecfg.ignoreOOMScoreAdjust "-i"} \
-          ${optionalString ecfg.enableDebugInfo "-d"}
+          ${optionalString ecfg.enableDebugInfo "-d"} \
+          ${optionalString (ecfg.notificationsCommand != null)
+            "-N ${escapeShellArg ecfg.notificationsCommand}"}
         '';
       };
     };
diff --git a/nixos/modules/services/web-apps/documize.nix b/nixos/modules/services/web-apps/documize.nix
index 206617b0e5ac..37359869cb64 100644
--- a/nixos/modules/services/web-apps/documize.nix
+++ b/nixos/modules/services/web-apps/documize.nix
@@ -3,65 +3,136 @@
 with lib;
 
 let
-
   cfg = config.services.documize;
 
-in
+  mkParams = optional: concatMapStrings (name: let
+    predicate = optional -> cfg.${name} != null;
+    template = " -${name} '${toString cfg.${name}}'";
+  in optionalString predicate template);
 
-  {
-    options.services.documize = {
-      enable = mkEnableOption "Documize Wiki";
+in {
+  options.services.documize = {
+    enable = mkEnableOption "Documize Wiki";
 
-      offline = mkEnableOption "Documize offline mode";
+    package = mkOption {
+      type = types.package;
+      default = pkgs.documize-community;
+      description = ''
+        Which package to use for documize.
+      '';
+    };
 
-      package = mkOption {
-        default = pkgs.documize-community;
-        type = types.package;
-        description = ''
-          Which package to use for documize.
-        '';
-      };
+    salt = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      example = "3edIYV6c8B28b19fh";
+      description = ''
+        The salt string used to encode JWT tokens, if not set a random value will be generated.
+      '';
+    };
 
-      db = mkOption {
-        type = types.str;
-        example = "host=localhost port=5432 sslmode=disable user=admin password=secret dbname=documize";
-        description = ''
-          The DB connection string to use for the database.
-        '';
-      };
+    cert = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        The <filename>cert.pem</filename> file used for https.
+      '';
+    };
 
-      dbtype = mkOption {
-        type = types.enum [ "postgresql" "percona" "mariadb" "mysql" ];
-        description = ''
-          Which database to use for storage.
-        '';
-      };
+    key = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        The <filename>key.pem</filename> file used for https.
+      '';
+    };
 
-      port = mkOption {
-        type = types.port;
-        example = 3000;
-        description = ''
-          Which TCP port to serve.
-        '';
-      };
+    port = mkOption {
+      type = types.port;
+      default = 5001;
+      description = ''
+        The http/https port number.
+      '';
+    };
+
+    forcesslport = mkOption {
+      type = types.nullOr types.port;
+      default = null;
+      description = ''
+        Redirect given http port number to TLS.
+      '';
+    };
+
+    offline = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Set <literal>true</literal> for offline mode.
+      '';
+      apply = v: if true == v then 1 else 0;
+    };
+
+    dbtype = mkOption {
+      type = types.enum [ "mysql" "percona" "mariadb" "postgresql" "sqlserver" ];
+      default = "postgresql";
+      description = ''
+        Specify the database provider:
+        <simplelist type='inline'>
+          <member><literal>mysql</literal></member>
+          <member><literal>percona</literal></member>
+          <member><literal>mariadb</literal></member>
+          <member><literal>postgresql</literal></member>
+          <member><literal>sqlserver</literal></member>
+        </simplelist>
+      '';
     };
 
-    config = mkIf cfg.enable {
-      systemd.services.documize-server = {
-        wantedBy = [ "multi-user.target" ];
-
-        script = ''
-          ${cfg.package}/bin/documize \
-            -db "${cfg.db}" \
-            -dbtype ${cfg.dbtype} \
-            -port ${toString cfg.port} \
-            -offline ${if cfg.offline then "1" else "0"}
-        '';
-
-        serviceConfig = {
-          Restart = "always";
-          DynamicUser = "yes";
-        };
+    db = mkOption {
+      type = types.str;
+      description = ''
+        Database specific connection string for example:
+        <itemizedlist>
+        <listitem><para>MySQL/Percona/MariaDB:
+          <literal>user:password@tcp(host:3306)/documize</literal>
+        </para></listitem>
+        <listitem><para>MySQLv8+:
+          <literal>user:password@tcp(host:3306)/documize?allowNativePasswords=true</literal>
+        </para></listitem>
+        <listitem><para>PostgreSQL:
+          <literal>host=localhost port=5432 dbname=documize user=admin password=secret sslmode=disable</literal>
+        </para></listitem>
+        <listitem><para>MSSQL:
+          <literal>sqlserver://username:password@localhost:1433?database=Documize</literal> or
+          <literal>sqlserver://sa@localhost/SQLExpress?database=Documize</literal>
+        </para></listitem>
+        </itemizedlist>
+      '';
+    };
+
+    location = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      description = ''
+        reserved
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.documize-server = {
+      description = "Documize Wiki";
+      documentation = [ https://documize.com/ ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        ExecStart = concatStringsSep " " [
+          "${cfg.package}/bin/documize"
+          (mkParams false [ "db" "dbtype" "port" ])
+          (mkParams true [ "offline" "location" "forcesslport" "key" "cert" "salt" ])
+        ];
+        Restart = "always";
+        DynamicUser = "yes";
       };
     };
-  }
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/i3.nix b/nixos/modules/services/x11/window-managers/i3.nix
index c9b0669e7ba5..0ef55d5f2c03 100644
--- a/nixos/modules/services/x11/window-managers/i3.nix
+++ b/nixos/modules/services/x11/window-managers/i3.nix
@@ -60,12 +60,15 @@ in
         ${cfg.extraSessionCommands}
 
         ${cfg.package}/bin/i3 ${optionalString (cfg.configFile != null)
-          "-c \"${cfg.configFile}\""
+          "-c /etc/i3/config"
         } &
         waitPID=$!
       '';
     }];
     environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages;
+    environment.etc."i3/config" = mkIf (cfg.configFile != null) {
+      source = cfg.configFile;
+    };
   };
 
   imports = [
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 397b308b7311..8ff00fa11dc7 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -166,24 +166,6 @@ while (my ($unit, $state) = each %{$activePrev}) {
 
     if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) {
         if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") {
-            # Ignore (i.e. never stop) these units:
-            if ($unit eq "system.slice") {
-                # TODO: This can be removed a few months after 18.09 is out
-                # (i.e. after everyone switched away from 18.03).
-                # Problem: Restarting (stopping) system.slice would not only
-                # stop X11 but also most system units/services. We obviously
-                # don't want this happening to users when they switch from 18.03
-                # to 18.09 or nixos-unstable.
-                # Reason: The following change in systemd:
-                # https://github.com/systemd/systemd/commit/d8e5a9338278d6602a0c552f01f298771a384798
-                # The commit adds system.slice to the perpetual units, which
-                # means removing the unit file and adding it to the source code.
-                # This is done so that system.slice can't be stopped anymore but
-                # in our case it ironically would cause this script to stop
-                # system.slice because the unit was removed (and an older
-                # systemd version is still running).
-                next;
-            }
             my $unitInfo = parseUnit($prevUnitFile);
             $unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes");
         }
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index aa4a5f8abcce..3841074f0433 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -87,6 +87,9 @@ let
     mkdir -p /crypt-ramfs
     mount -t ramfs none /crypt-ramfs
 
+    # Cryptsetup locking directory
+    mkdir -p /run/cryptsetup
+
     # For Yubikey salt storage
     mkdir -p /crypt-storage
 
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 016e695b3ada..5639b2668c30 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -72,6 +72,7 @@ in
   #ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
   ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
   ecryptfs = handleTest ./ecryptfs.nix {};
+  ejabberd = handleTest ./ejabberd.nix {};
   elk = handleTestOn ["x86_64-linux"] ./elk.nix {};
   env = handleTest ./env.nix {};
   etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
@@ -172,6 +173,7 @@ in
   nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
   novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
   nsd = handleTest ./nsd.nix {};
+  nzbget = handleTest ./nzbget.nix {};
   openldap = handleTest ./openldap.nix {};
   opensmtpd = handleTest ./opensmtpd.nix {};
   openssh = handleTest ./openssh.nix {};
diff --git a/nixos/tests/ejabberd.nix b/nixos/tests/ejabberd.nix
new file mode 100644
index 000000000000..0691dfe780d2
--- /dev/null
+++ b/nixos/tests/ejabberd.nix
@@ -0,0 +1,262 @@
+import ./make-test.nix ({ pkgs, ... }: {
+  name = "ejabberd";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ ajs124 ];
+  };
+  nodes = {
+    client = { nodes, pkgs, ... }: {
+      environment.systemPackages = [
+        (pkgs.callPackage ./xmpp-sendmessage.nix { connectTo = nodes.server.config.networking.primaryIPAddress; })
+      ];
+    };
+    server = { config, pkgs, ... }: {
+      networking.extraHosts = ''
+        ${config.networking.primaryIPAddress} example.com
+      '';
+
+      services.ejabberd = {
+        enable = true;
+        configFile = "/etc/ejabberd.yml";
+      };
+
+      environment.etc."ejabberd.yml" = {
+        user = "ejabberd";
+        mode = "0600";
+        text = ''
+          loglevel: 3
+
+          hosts:
+            - "example.com"
+
+          listen:
+            -
+              port: 5222
+              module: ejabberd_c2s
+              zlib: false
+              max_stanza_size: 65536
+              shaper: c2s_shaper
+              access: c2s
+            -
+              port: 5269
+              ip: "::"
+              module: ejabberd_s2s_in
+            -
+              port: 5347
+              ip: "127.0.0.1"
+              module: ejabberd_service
+              access: local
+              shaper_rule: fast
+              ip: "127.0.0.1"
+
+          ## Disabling digest-md5 SASL authentication. digest-md5 requires plain-text
+          ## password storage (see auth_password_format option).
+          disable_sasl_mechanisms: "digest-md5"
+
+          ## Outgoing S2S options
+          ## Preferred address families (which to try first) and connect timeout
+          ## in seconds.
+          outgoing_s2s_families:
+             - ipv4
+             - ipv6
+
+          ## auth_method: Method used to authenticate the users.
+          ## The default method is the internal.
+          ## If you want to use a different method,
+          ## comment this line and enable the correct ones.
+          auth_method: internal
+
+          ## Store the plain passwords or hashed for SCRAM:
+          ## auth_password_format: plain
+          auth_password_format: scram
+
+          ###'  TRAFFIC SHAPERS
+          shaper:
+            # in B/s
+            normal: 1000000
+            fast: 50000000
+
+          ## This option specifies the maximum number of elements in the queue
+          ## of the FSM. Refer to the documentation for details.
+          max_fsm_queue: 1000
+
+          ###'   ACCESS CONTROL LISTS
+          acl:
+            ## The 'admin' ACL grants administrative privileges to XMPP accounts.
+            ## You can put here as many accounts as you want.
+            admin:
+               user:
+                 - "root": "example.com"
+
+            ## Local users: don't modify this.
+            local:
+              user_regexp: ""
+
+            ## Loopback network
+            loopback:
+              ip:
+                - "127.0.0.0/8"
+                - "::1/128"
+                - "::FFFF:127.0.0.1/128"
+
+          ###'  SHAPER RULES
+          shaper_rules:
+            ## Maximum number of simultaneous sessions allowed for a single user:
+            max_user_sessions: 10
+            ## Maximum number of offline messages that users can have:
+            max_user_offline_messages:
+              - 5000: admin
+              - 1024
+            ## For C2S connections, all users except admins use the "normal" shaper
+            c2s_shaper:
+              - none: admin
+              - normal
+            ## All S2S connections use the "fast" shaper
+            s2s_shaper: fast
+
+          ###'  ACCESS RULES
+          access_rules:
+            ## This rule allows access only for local users:
+            local:
+              - allow: local
+            ## Only non-blocked users can use c2s connections:
+            c2s:
+              - deny: blocked
+              - allow
+            ## Only admins can send announcement messages:
+            announce:
+              - allow: admin
+            ## Only admins can use the configuration interface:
+            configure:
+              - allow: admin
+            ## Only accounts of the local ejabberd server can create rooms:
+            muc_create:
+              - allow: local
+            ## Only accounts on the local ejabberd server can create Pubsub nodes:
+            pubsub_createnode:
+              - allow: local
+            ## In-band registration allows registration of any possible username.
+            ## To disable in-band registration, replace 'allow' with 'deny'.
+            register:
+              - allow
+            ## Only allow to register from localhost
+            trusted_network:
+              - allow: loopback
+
+          ## ===============
+          ## API PERMISSIONS
+          ## ===============
+          ##
+          ## This section allows you to define who and using what method
+          ## can execute commands offered by ejabberd.
+          ##
+          ## By default "console commands" section allow executing all commands
+          ## issued using ejabberdctl command, and "admin access" section allows
+          ## users in admin acl that connect from 127.0.0.1 to  execute all
+          ## commands except start and stop with any available access method
+          ## (ejabberdctl, http-api, xmlrpc depending what is enabled on server).
+          ##
+          ## If you remove "console commands" there will be one added by
+          ## default allowing executing all commands, but if you just change
+          ## permissions in it, version from config file will be used instead
+          ## of default one.
+          ##
+          api_permissions:
+            "console commands":
+              from:
+                - ejabberd_ctl
+              who: all
+              what: "*"
+
+          language: "en"
+
+          ###'  MODULES
+          ## Modules enabled in all ejabberd virtual hosts.
+          modules:
+            mod_adhoc: {}
+            mod_announce: # recommends mod_adhoc
+              access: announce
+            mod_blocking: {} # requires mod_privacy
+            mod_caps: {}
+            mod_carboncopy: {}
+            mod_client_state: {}
+            mod_configure: {} # requires mod_adhoc
+            ## mod_delegation: {} # for xep0356
+            mod_echo: {}
+            #mod_irc:
+            #  host: "irc.@HOST@"
+            #  default_encoding: "utf-8"
+            ## mod_bosh: {}
+            ## mod_http_fileserver:
+            ##   docroot: "/var/www"
+            ##   accesslog: "/var/log/ejabberd/access.log"
+            #mod_http_upload:
+            #  thumbnail: false # otherwise needs the identify command from ImageMagick installed
+            #  put_url: "https://@HOST@:5444"
+            ##   # docroot: "@HOME@/upload"
+            #mod_http_upload_quota:
+            #  max_days: 14
+            mod_last: {}
+            ## XEP-0313: Message Archive Management
+            ## You might want to setup a SQL backend for MAM because the mnesia database is
+            ## limited to 2GB which might be exceeded on large servers
+            mod_mam: {}
+            mod_muc:
+              host: "muc.@HOST@"
+              access:
+                - allow
+              access_admin:
+                - allow: admin
+              access_create: muc_create
+              access_persistent: muc_create
+            mod_muc_admin: {}
+            mod_muc_log: {}
+            mod_offline:
+              access_max_user_messages: max_user_offline_messages
+            mod_ping: {}
+            ## mod_pres_counter:
+            ##   count: 5
+            ##   interval: 60
+            mod_privacy: {}
+            mod_private: {}
+            mod_roster:
+                versioning: true
+            mod_shared_roster: {}
+            mod_stats: {}
+            mod_time: {}
+            mod_vcard:
+              search: false
+            mod_vcard_xupdate: {}
+            ## Convert all avatars posted by Android clients from WebP to JPEG
+            mod_avatar: {}
+            #  convert:
+            #    webp: jpeg
+            mod_version: {}
+            mod_stream_mgmt: {}
+            ##   The module for S2S dialback (XEP-0220). Please note that you cannot
+            ##   rely solely on dialback if you want to federate with other servers,
+            ##   because a lot of servers have dialback disabled and instead rely on
+            ##   PKIX authentication. Make sure you have proper certificates installed
+            ##   and check your accessibility at https://check.messaging.one/
+            mod_s2s_dialback: {}
+            mod_pubsub:
+              plugins:
+                - "pep"
+            mod_push: {}
+        '';
+      };
+
+      networking.firewall.enable = false;
+    };
+  };
+
+  testScript = { nodes, ... }: ''
+    $server->waitForUnit('ejabberd.service');
+    $server->succeed('su ejabberd -s $(which ejabberdctl) status|grep started') =~ /ejabberd is running/;
+    $server->succeed('su ejabberd -s $(which ejabberdctl) register azurediamond example.com hunter2');
+    $server->succeed('su ejabberd -s $(which ejabberdctl) register cthon98 example.com nothunter2');
+    $server->fail('su ejabberd -s $(which ejabberdctl) register asdf wrong.domain');
+    $client->succeed('send-message');
+    $server->succeed('su ejabberd -s $(which ejabberdctl) unregister cthon98 example.com');
+    $server->succeed('su ejabberd -s $(which ejabberdctl) unregister azurediamond example.com');
+  '';
+})
diff --git a/nixos/tests/jellyfin.nix b/nixos/tests/jellyfin.nix
new file mode 100644
index 000000000000..b60c6eb94f46
--- /dev/null
+++ b/nixos/tests/jellyfin.nix
@@ -0,0 +1,16 @@
+import ./make-test.nix ({ lib, ...}:
+
+{
+  name = "jellyfin";
+  meta.maintainers = with lib.maintainers; [ minijackson ];
+
+  machine =
+    { ... }:
+    { services.jellyfin.enable = true; };
+
+  testScript = ''
+    $machine->waitForUnit('jellyfin.service');
+    $machine->waitForOpenPort('8096');
+    $machine->succeed("curl --fail http://localhost:8096/");
+  '';
+})
diff --git a/nixos/tests/nzbget.nix b/nixos/tests/nzbget.nix
new file mode 100644
index 000000000000..042ccec98cf6
--- /dev/null
+++ b/nixos/tests/nzbget.nix
@@ -0,0 +1,26 @@
+import ./make-test.nix ({ pkgs, ...} : {
+  name = "nzbget";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ aanderse flokli ];
+  };
+
+  nodes = {
+    server = { ... }: {
+      services.nzbget.enable = true;
+
+      # hack, don't add (unfree) unrar to nzbget's path,
+      # so we can run this test in CI
+      systemd.services.nzbget.path = pkgs.stdenv.lib.mkForce [ pkgs.p7zip ];
+    };
+  };
+
+  testScript = ''
+    startAll;
+
+    $server->waitForUnit("nzbget.service");
+    $server->waitForUnit("network.target");
+    $server->waitForOpenPort(6789);
+    $server->succeed("curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789 | grep -q 'This file is part of nzbget'");
+    $server->succeed("${pkgs.nzbget}/bin/nzbget -n -o ControlIP=127.0.0.1 -o ControlPort=6789 -o ControlPassword=tegbzn6789 -V");
+  '';
+})
diff --git a/nixos/tests/prosody.nix b/nixos/tests/prosody.nix
index 61ae5bb38ed9..a39bae7898dc 100644
--- a/nixos/tests/prosody.nix
+++ b/nixos/tests/prosody.nix
@@ -9,70 +9,30 @@ import ./make-test.nix {
       extraConfig = ''
         storage = "sql"
       '';
+      virtualHosts.test = {
+        domain = "example.com";
+        enabled = true;
+      };
     };
-    environment.systemPackages = let
-      sendMessage = pkgs.writeScriptBin "send-message" ''
-        #!/usr/bin/env python3
-        # Based on the sleekxmpp send_client example, look there for more details:
-        # https://github.com/fritzy/SleekXMPP/blob/develop/examples/send_client.py
-        import sleekxmpp
-
-        class SendMsgBot(sleekxmpp.ClientXMPP):
-            """
-            A basic SleekXMPP bot that will log in, send a message,
-            and then log out.
-            """
-            def __init__(self, jid, password, recipient, message):
-                sleekxmpp.ClientXMPP.__init__(self, jid, password)
-
-                self.recipient = recipient
-                self.msg = message
-
-                self.add_event_handler("session_start", self.start, threaded=True)
-
-            def start(self, event):
-                self.send_presence()
-                self.get_roster()
-
-                self.send_message(mto=self.recipient,
-                                  mbody=self.msg,
-                                  mtype='chat')
-
-                self.disconnect(wait=True)
-
-
-        if __name__ == '__main__':
-            xmpp = SendMsgBot("test1@localhost", "test1", "test2@localhost", "Hello World!")
-            xmpp.register_plugin('xep_0030') # Service Discovery
-            xmpp.register_plugin('xep_0199') # XMPP Ping
-
-            # TODO: verify certificate
-            # If you want to verify the SSL certificates offered by a server:
-            # xmpp.ca_certs = "path/to/ca/cert"
-
-            if xmpp.connect(('localhost', 5222)):
-                xmpp.process(block=True)
-            else:
-                print("Unable to connect.")
-                sys.exit(1)
-      '';
-    in [ (pkgs.python3.withPackages (ps: [ ps.sleekxmpp ])) sendMessage ];
+    environment.systemPackages = [
+      (pkgs.callPackage ./xmpp-sendmessage.nix {})
+    ];
   };
 
   testScript = ''
     $machine->waitForUnit('prosody.service');
     $machine->succeed('prosodyctl status') =~ /Prosody is running/;
 
-    # set password to 'test' (it's asked twice)
-    $machine->succeed('yes test1 | prosodyctl adduser test1@localhost');
+    # set password to 'nothunter2' (it's asked twice)
+    $machine->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
     # set password to 'y'
-    $machine->succeed('yes | prosodyctl adduser test2@localhost');
-    # correct password to 'test2'
-    $machine->succeed('yes test2 | prosodyctl passwd test2@localhost');
+    $machine->succeed('yes | prosodyctl adduser azurediamond@example.com');
+    # correct password to 'hunter2'
+    $machine->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
 
     $machine->succeed("send-message");
 
-    $machine->succeed('prosodyctl deluser test1@localhost');
-    $machine->succeed('prosodyctl deluser test2@localhost');
+    $machine->succeed('prosodyctl deluser cthon98@example.com');
+    $machine->succeed('prosodyctl deluser azurediamond@example.com');
   '';
 }
diff --git a/nixos/tests/xmpp-sendmessage.nix b/nixos/tests/xmpp-sendmessage.nix
new file mode 100644
index 000000000000..2a075a018134
--- /dev/null
+++ b/nixos/tests/xmpp-sendmessage.nix
@@ -0,0 +1,46 @@
+{ writeScriptBin, python3, connectTo ? "localhost" }:
+writeScriptBin "send-message" ''
+  #!${(python3.withPackages (ps: [ ps.sleekxmpp ])).interpreter}
+  # Based on the sleekxmpp send_client example, look there for more details:
+  # https://github.com/fritzy/SleekXMPP/blob/develop/examples/send_client.py
+  import sleekxmpp
+
+  class SendMsgBot(sleekxmpp.ClientXMPP):
+      """
+      A basic SleekXMPP bot that will log in, send a message,
+      and then log out.
+      """
+      def __init__(self, jid, password, recipient, message):
+          sleekxmpp.ClientXMPP.__init__(self, jid, password)
+
+          self.recipient = recipient
+          self.msg = message
+
+          self.add_event_handler("session_start", self.start, threaded=True)
+
+      def start(self, event):
+          self.send_presence()
+          self.get_roster()
+
+          self.send_message(mto=self.recipient,
+                            mbody=self.msg,
+                            mtype='chat')
+
+          self.disconnect(wait=True)
+
+
+  if __name__ == '__main__':
+      xmpp = SendMsgBot("cthon98@example.com", "nothunter2", "azurediamond@example.com", "hey, if you type in your pw, it will show as stars")
+      xmpp.register_plugin('xep_0030') # Service Discovery
+      xmpp.register_plugin('xep_0199') # XMPP Ping
+
+      # TODO: verify certificate
+      # If you want to verify the SSL certificates offered by a server:
+      # xmpp.ca_certs = "path/to/ca/cert"
+
+      if xmpp.connect(('${connectTo}', 5222)):
+          xmpp.process(block=True)
+      else:
+          print("Unable to connect.")
+          sys.exit(1)
+''
diff --git a/pkgs/applications/accessibility/mousetweaks/default.nix b/pkgs/applications/accessibility/mousetweaks/default.nix
new file mode 100644
index 000000000000..e4fd66679a79
--- /dev/null
+++ b/pkgs/applications/accessibility/mousetweaks/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, fetchurl, pkgconfig
+, glib, gtk3, gnome3, gsettings-desktop-schemas, wrapGAppsHook
+, libX11, libXtst, libXfixes, libXcursor
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mousetweaks";
+  version = "3.32.0";
+
+  src = fetchurl {
+   url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+   sha256 = "005fhmvb45sa9mq17dpa23n1xnspiissx5rnpiy7hiqmy3g5rg8f";
+  };
+
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+
+  buildInputs = [
+    glib gtk3 gsettings-desktop-schemas
+    libX11 libXtst libXfixes libXcursor
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Provides mouse accessibility enhancements for the GNOME desktop";
+    longDescription = ''
+      Mousetweaks provides mouse accessibility enhancements for the GNOME
+      desktop. These enhancements are:
+
+      - It offers a way to perform the various clicks without using any
+      physical mouse buttons. (Hover Click)
+
+      - It allows users to perform a secondary click by keeping the primary
+      mouse button pressed for a predetermined amount of time. (Simulated
+      Secondary Click)
+
+      The features can be activated and configured through the Universal Access
+      panel of the GNOME Control Center.
+    '';
+    homepage = https://wiki.gnome.org/Projects/Mousetweaks;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.johnazoidberg ];
+  };
+}
diff --git a/pkgs/applications/audio/calf/default.nix b/pkgs/applications/audio/calf/default.nix
index 94b43fc544ac..ba49682e7ead 100644
--- a/pkgs/applications/audio/calf/default.nix
+++ b/pkgs/applications/audio/calf/default.nix
@@ -3,21 +3,14 @@
 
 stdenv.mkDerivation rec {
   name = "calf-${version}";
-  version = "0.90.0";
+  version = "0.90.2";
 
   src = fetchurl {
     url = "https://calf-studio-gear.org/files/${name}.tar.gz";
-    sha256 = "0dijv2j7vlp76l10s4v8gbav26ibaqk8s24ci74vrc398xy00cib";
+    sha256 = "0bn4j1klw2yfxz8clbmasaydifq25rdfsv0n6iisxrzcj1lx7sgh";
   };
 
-  patches = [
-    # Fix memory leak in limiter
-    # https://github.com/flathub/com.github.wwmm.pulseeffects/issues/12
-    (fetchpatch {
-      url = https://github.com/calf-studio-gear/calf/commit/7afdefc0d0489a6227fd10f15843d81dc82afd62.patch;
-      sha256 = "056662iw6hp4ykwk4jyrzg5yarcn17ni97yc060y5kcnzy29ddg6";
-    })
-  ];
+  enableParallelBuilding = true;
 
   buildInputs = [
     cairo expat fftwSinglePrec fluidsynth glib gtk2 libjack2 ladspaH
diff --git a/pkgs/applications/audio/dragonfly-reverb/default.nix b/pkgs/applications/audio/dragonfly-reverb/default.nix
index 1710931aa229..494f512752bb 100644
--- a/pkgs/applications/audio/dragonfly-reverb/default.nix
+++ b/pkgs/applications/audio/dragonfly-reverb/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchFromGitHub, libjack2, libGL, pkgconfig, xorg }:
 
 stdenv.mkDerivation rec {
-  name = "dragonfly-reverb-${src.rev}";
+  pname = "dragonfly-reverb";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "michaelwillis";
     repo = "dragonfly-reverb";
-    rev = "1.0.0";
-    sha256 = "05m4hd8lg0a7iiia6cbiw5qmc4p8vbkxp2qh7ywaabawiwa9r24x";
+    rev = version;
+    sha256 = "060g4ddh1z222n39wqj8jxj0zgmpjrgraw76qgyg6xkn15cn9q9y";
     fetchSubmodules = true;
   };
 
@@ -21,15 +22,20 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
+    mkdir -p $out/bin
     mkdir -p $out/lib/lv2/
-    cp -a bin/DragonflyReverb.lv2/ $out/lib/lv2/
+    mkdir -p $out/lib/vst/
+    cd bin
+    cp -a DragonflyReverb        $out/bin/
+    cp -a DragonflyReverb-vst.so $out/lib/vst/
+    cp -a DragonflyReverb.lv2/   $out/lib/lv2/
   '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/michaelwillis/dragonfly-reverb;
     description = "A hall-style reverb based on freeverb3 algorithms";
     maintainers = [ maintainers.magnetophon ];
-    license = licenses.gpl2;
+    license = licenses.gpl3;
     platforms = ["x86_64-linux"];
   };
 }
diff --git a/pkgs/applications/audio/soundkonverter/default.nix b/pkgs/applications/audio/soundkonverter/default.nix
new file mode 100644
index 000000000000..df5806b50b9e
--- /dev/null
+++ b/pkgs/applications/audio/soundkonverter/default.nix
@@ -0,0 +1,97 @@
+# currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery
+{
+  mkDerivation, fetchFromGitHub, lib, makeWrapper,
+  cmake, extra-cmake-modules, pkgconfig,
+  libkcddb, kconfig, kconfigwidgets, ki18n, kdelibs4support, kio, solid, kwidgetsaddons, kxmlgui,
+  qtbase, phonon, 
+  taglib,
+  # optional backends
+  withCD ? true, cdparanoia,
+  withFlac ? true, flac,
+  withMidi ? true, fluidsynth, timidity,
+  withSpeex ? false, speex,
+  withVorbis ? true, vorbis-tools, vorbisgain,
+  withMp3 ? true, lame, mp3gain,
+  withAac ? true, faad2, aacgain,
+  withUnfreeAac ? false, faac,
+  withFfmpeg ? true, ffmpeg-full,
+  withMplayer ? false, mplayer,
+  withSox ? true, sox,
+  withOpus ? true, opusTools,
+  withTwolame ? false, twolame,
+  withApe ? false, mac,
+  withWavpack ? false, wavpack
+}:
+
+assert withAac -> withFfmpeg || withUnfreeAac;
+assert withUnfreeAac -> withAac;
+
+let runtimeDeps = []
+    ++ lib.optional withCD cdparanoia
+    ++ lib.optional withFlac flac
+    ++ lib.optional withSpeex speex
+    ++ lib.optional withFfmpeg ffmpeg-full
+    ++ lib.optional withMplayer mplayer
+    ++ lib.optional withSox sox
+    ++ lib.optional withOpus opusTools
+    ++ lib.optional withTwolame twolame
+    ++ lib.optional withApe mac
+    ++ lib.optional withWavpack wavpack
+    ++ lib.optional withUnfreeAac faac
+    ++ lib.optionals withMidi [ fluidsynth timidity ]
+    ++ lib.optionals withVorbis [ vorbis-tools vorbisgain ]
+    ++ lib.optionals withMp3 [ lame mp3gain ]
+    ++ lib.optionals withAac [  faad2 aacgain ];
+
+in 
+mkDerivation rec {
+  name = "soundkonverter";
+  version = "3.0.1";
+  src = fetchFromGitHub {
+    owner = "dfaust";
+    repo = "soundkonverter";
+    rev = "v" + version;
+    sha256 = "1g2khdsjmsi4zzynkq8chd11cbdhjzmi37r9jhpal0b730nq9x7l";
+  };
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig kdelibs4support makeWrapper ];
+  propagatedBuildInputs = [ libkcddb kconfig kconfigwidgets ki18n kdelibs4support kio solid kwidgetsaddons kxmlgui qtbase phonon];
+  buildInputs = [ taglib ] ++ runtimeDeps;
+  # encoder plugins go to ${out}/lib so they're found by kbuildsycoca5
+  cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ]; 
+  sourceRoot = "source/src";
+  # add runt-time deps to PATH
+  postInstall = ''
+    wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps }
+    '';
+  meta = {
+    license = lib.licenses.gpl2;
+    maintainers = [ lib.maintainers.schmittlauch ];
+    description = "Audio file converter, CD ripper and Replay Gain tool";
+    longDescription = ''
+      soundKonverter is a frontend to various audio converters.
+      
+      The key features are:
+      - Audio file conversion
+      - Replay Gain calculation
+      - CD ripping
+      
+      soundKonverter supports reading and writing tags and covers for many formats, so they are preserved when converting files.
+      
+      It is extendable by plugins and supports many backends including:
+      
+      - Audio file conversion
+        Backends: faac, faad, ffmpeg, flac, lame, mplayer, neroaac, timidity, fluidsynth, vorbistools, opustools, sox, twolame,
+        flake, mac, shorten, wavpack and speex
+        Formats: ogg vorbis, mp3, flac, wma, aac, ac3, opus, alac, mp2, als, amr nb, amr wb, ape, speex, m4a, mp1, musepack shorten,
+        tta, wavpack, ra, midi, mod, 3gp, rm, avi, mkv, ogv, mpeg, mov, mp4, flv, wmv and rv
+      
+      - Replay Gain calculation
+        Backends: aacgain, metaflac, mp3gain, vorbisgain, wvgain, mpcgain
+        Formats: aac, mp3, flac, ogg vorbis, wavpack, musepack
+      
+      - CD ripping
+        Backends: cdparanoia
+      '';
+  };
+}
diff --git a/pkgs/applications/audio/timemachine/default.nix b/pkgs/applications/audio/timemachine/default.nix
index 643f50752985..8c7ed20e7482 100644
--- a/pkgs/applications/audio/timemachine/default.nix
+++ b/pkgs/applications/audio/timemachine/default.nix
@@ -3,13 +3,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "timemachine-${version}";
-  version = "0.3.1";
+  pname = "timemachine";
+  version = "0.3.3";
   src = fetchFromGitHub {
     owner = "swh";
     repo = "timemachine";
-    rev = "1966d8524d4e4c47c525473bab3b010a168adc98";
-    sha256 = "0w5alysixnvlkfl79wf7vs5wsw2vgxl3gqxxcm0zbmhjdpmjpcal";
+    rev = "v${version}";
+    sha256 = "1jsvd29wiqigxyqxl2xjklla11fwyjy68vqivcnlr9f2af4ylym8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/editors/ghostwriter/default.nix b/pkgs/applications/editors/ghostwriter/default.nix
index 65645dcc9693..a65954d7d2ae 100644
--- a/pkgs/applications/editors/ghostwriter/default.nix
+++ b/pkgs/applications/editors/ghostwriter/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebkit, hunspell }:
+{ stdenv, fetchFromGitHub, qmake, pkgconfig, qttools, qtwebengine, hunspell }:
 
 stdenv.mkDerivation rec {
   pname = "ghostwriter";
-  version = "1.7.4";
+  version = "1.8.0";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "wereturtle";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pqlr08z5syqcq5p282asxwzrrm7c1w94baxyb467swh8yp3fj5m";
+    sha256 = "13yn82m1l2pq93wbl569a2lzpc3sn8a8g30hsgdch1l9xlmhwran";
   };
 
   nativeBuildInputs = [ qmake pkgconfig qttools ];
 
-  buildInputs = [ qtwebkit hunspell ];
+  buildInputs = [ qtwebengine hunspell ];
 
   meta = with stdenv.lib; {
     description = "A cross-platform, aesthetic, distraction-free Markdown editor";
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 584c12d5ff63..ba3958a43d19 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -250,12 +250,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.2"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "1rlqnnv6b7lg18si31zd97ixnslwp8j6imkkjq0j5n9sydsr8xzj"; /* updated by script */
+      sha256 = "0x4fmbarckw60issrwk3cd65x5xjkxwrw4xq1qgfzmxfqhzbzvz8"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -263,12 +263,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2018.3.4"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "10sw41kkf2k60xjpwgc73i182y7px3dmqz2awnrl4gffdb9jgzmy"; /* updated by script */
+      sha256 = "0w6hasb8vcbxdqmb0pngwr2jg0w14prqb4v7blraa5jf1xyyiayd"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -276,12 +276,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0aq3x5aixh86h1zvvwrbr2f1nnqdpfvlsadd2ckmf5s5kghvg5r9"; /* updated by script */
+      sha256 = "0b8msq0raczm657rhbyqi702zv4zs66yd6dcm7s0l54hnas5ia9r"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -289,12 +289,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "0zyw88dd2v4igp080l99cyq6h0bmyri8a50fjp69ripiz9qaawx1"; /* updated by script */
+      sha256 = "0xbdn1q0a2ksb7z26n2l889m6z0lh3b45clya7rdfl4jv2gkiaaq"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -302,12 +302,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "0fsdf090cwwrsq3azknc9rpwwsl71cvsx4flivnqwfakb6rh4f1j"; /* updated by script */
+      sha256 = "1pglvklbj4w6pmc7ffbjwwfqh7fad54yfx87m9plqk80rmpjzxfi"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -315,12 +315,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "1bv2a16wsc9j82w14qfrfjgszwkihk0jwp8bp8z9618q04c8vmgf"; /* updated by script */
+      sha256 = "100whawwj1kiq870dsmkx33qv5ygjpr9977jkbavhqjnc1zhwl1r"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -328,12 +328,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "173qm2g6pjga2jlw8sa59bxw543b56r56ikqwv2wp0jq5z61v26f"; /* updated by script */
+      sha256 = "1zz579kmskvgsjv2lriglxkdlx33mmfv2liw1b9iilspga59izld"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -341,12 +341,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0gjphdzdxgvflkzaakf3c1wnig86lxhxyx6xk6rg40yj6f2hzi47"; /* updated by script */
+      sha256 = "0hcij77j4zb1y1vls5nvxq3lmqrbppm3ml0p9nagbjipy2rmp838"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -367,12 +367,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2018.3.5"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "1gykag8fsfqxv0d6fipn18hhpdvn4qxva2kkb0v330vp73wm2i2w"; /* updated by script */
+      sha256 = "0asg0x8xcjyydy0p1fdlhpcwfckdf9719460pv5zwc7yfd8z61yd"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -380,12 +380,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "0r6a9g8ydnxf805gn2wajnwkcyfn0xksbsrs8wq6j4ghipkhscxj"; /* updated by script */
+      sha256 = "05lrsjk45l4xqjyinsqlnfr36qnv1nrgg2sskgi0bfjbdrfv9xrv"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index 6de7c3daed19..d1c54efe89d5 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -7,19 +7,19 @@ stdenv.mkDerivation rec {
     if stdenv.hostPlatform.system == "i686-linux" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
-        sha256 = "14qx69fq1a3h93h167nhwp6gxka8r34295p82kim9grijrx5zz5f";
+        sha256 = "1jwkvj6xxfgn08j6wzwcra3p1dp04vblzr2g5s1y3bj4r7gs4gax";
         stripRoot = false;
       }
     else if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
-        sha256 = "1jh1sk07k3whbr0rvc4kf221wskcdbk0zpxaj49qbwq1d89cjnpg";
+        sha256 = "1svic2b2msbwzfx3qxfglxp0jjzy3p3v78273wab942zh822ld8b";
         stripRoot = false;
       }
     else if stdenv.hostPlatform.system == "x86_64-darwin" then
       fetchzip {
         url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.zip";
-        sha256 = "1s6gw2qwsbhj4z9nrwrxs776y45ingpfp9533qz0gc1pk7ia99js";
+        sha256 = "03bnwn06066hvp0n30260mhvkjr60dl93nj9l7p6a0ndcv7w77r8";
         stripRoot = false;
       }
     else throw "Architecture not supported";
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 626b62ed7d0c..2552cf18f078 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   name = "dbeaver-ce-${version}";
-  version = "6.0.2";
+  version = "6.0.3";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "12zqz9zi4jryvlk1rjxfl4jdj4a6n00018yyk95glfdrxda2xyib";
+    sha256 = "0pcf8p9nmbj6kf32zrjjrfyxb07x37h56zm3s5gdf1jk2hvrarvl";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/evopedia/default.nix b/pkgs/applications/misc/evopedia/default.nix
deleted file mode 100644
index 69767c11d6aa..000000000000
--- a/pkgs/applications/misc/evopedia/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, bzip2, qt4, qmake4Hook, libX11 }:
-
-stdenv.mkDerivation rec {
-  name = "evopedia-${version}";
-  version = "0.4.4";
-
-  src = fetchFromGitHub {
-    owner = "evopedia";
-    repo = "evopedia_qt";
-    rev = "v${version}";
-    sha256 = "0snp5qiywj306kfaywvkl7j34fivgxcb8dids1lzmbqq5xcpqqvc";
-  };
-
-  buildInputs = [ bzip2 qt4 libX11 ];
-  nativeBuildInputs = [ qmake4Hook ];
-
-  postInstall = ''
-    # Patch the `evopedia.desktop' file.
-    substituteInPlace $out/share/applications/evopedia.desktop \
-        --replace '/usr/bin/evopedia' $out/bin/evopedia
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Offline Wikipedia Viewer";
-    homepage = http://www.evopedia.info;
-    license = licenses.gpl3Plus;
-    maintainers = [ maintainers.qknight ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/font-manager/correct-post-install.patch b/pkgs/applications/misc/font-manager/correct-post-install.patch
deleted file mode 100644
index 47e9800d2657..000000000000
--- a/pkgs/applications/misc/font-manager/correct-post-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/meson_post_install.py b/meson_post_install.py
-index 8d00e70..c28d19e 100644
---- a/meson_post_install.py
-+++ b/meson_post_install.py
-@@ -7,7 +7,7 @@ prefix = environ['MESON_INSTALL_PREFIX']
- data_dir = path.join(prefix, 'share')
- schema_dir = path.join(data_dir, 'glib-2.0', 'schemas')
- 
--if not environ['DESTDIR']:
-+if not environ.get('DESTDIR'):
-     print('Compiling gsettings schemas...')
-     call(['glib-compile-schemas', schema_dir])
-     print('Updating desktop database...')
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index f8a02d2f78c6..f00d6cfc60da 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "FontManager";
     repo = "master";
-    rev = "cc057f3e93f5b1033b04decee03cdb44177e48b3";
-    sha256 = "1xg80bi2465p5r8zfmb34iga9yqs3is1k4f13hw0ligvhb58gas0";
+    rev = version;
+    sha256 = "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g";
   };
 
   nativeBuildInputs = [
@@ -38,10 +38,6 @@ stdenv.mkDerivation rec {
     gnome3.adwaita-icon-theme
   ];
 
-  patches = [
-   ./correct-post-install.patch
-  ];
-
   mesonFlags = [
     "-Ddisable_pycompile=true"
   ];
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index 7995c8875b82..ecfcc7717281 100644
--- a/pkgs/applications/misc/kanboard/default.nix
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   name = "kanboard-${version}";
-  version = "1.0.48";
+  version = "1.2.9";
 
-  src = fetchzip {
-    url = "https://github.com/kanboard/kanboard/releases/download/v${version}/${name}.zip";
-    sha256 = "0ipyijlfcnfqlz9n20wcnaf9pw404a675x404pm9h2n4ld8x6m5v";
+  src = fetchFromGitHub {
+    owner = "kanboard";
+    repo = "kanboard";
+    rev = "v${version}";
+    sha256 = "1hdr95cpxgdzrzhffs63gdl0g7122ma2zg8bkqwp42p5xphx0xan";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index d15926ba6fb7..b92a7ac476c9 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -20,12 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdeconnect";
-  version = "1.3.3";
-  name = "${pname}-${version}";
+  version = "1.3.4";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-${version}.tar.xz";
-    sha256 = "1vac0mw1myrswr61adv7lgif0c4wzw5wnsj0sqxj6msp4l4pfgsg";
+    url = "mirror://kde/stable/${pname}/${version}/${pname}-kde-${version}.tar.xz";
+    sha256 = "12ijvp86wm6k81dggypxh3c0dmwg5mczxy43ra8rgv63aavmf42h";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index dbd79ba3e1b3..de2f86e9f9a2 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -1,5 +1,6 @@
 { fetchurl
 , stdenv
+, substituteAll
 , aspellWithDicts
 , at-spi2-core ? null
 , atspiSupport ? true
@@ -16,6 +17,7 @@
 , intltool
 , isocodes
 , libcanberra-gtk3
+, mousetweaks
 , udev
 , libxkbcommon
 , pkgconfig
@@ -38,6 +40,10 @@ in python3.pkgs.buildPythonApplication rec {
   };
 
   patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit mousetweaks;
+    })
     # Allow loading hunspell dictionaries installed in NixOS system path
     ./hunspell-use-xdg-datadirs.patch
   ];
@@ -79,6 +85,7 @@ in python3.pkgs.buildPythonApplication rec {
     hunspell
     isocodes
     libcanberra-gtk3
+    mousetweaks
     udev
     libxkbcommon
     wrapGAppsHook
diff --git a/pkgs/applications/misc/onboard/fix-paths.patch b/pkgs/applications/misc/onboard/fix-paths.patch
new file mode 100644
index 000000000000..64acc9b138c4
--- /dev/null
+++ b/pkgs/applications/misc/onboard/fix-paths.patch
@@ -0,0 +1,11 @@
+--- a/Onboard/ClickSimulator.py
++++ b/Onboard/ClickSimulator.py
+@@ -479,7 +479,7 @@ class CSMousetweaks(ConfigObject, ClickSimulator):
+         self._daemon_running_notify_callbacks = []
+
+     def _launch_daemon(self, delay):
+-        self.launcher.launch_delayed(["mousetweaks"], delay)
++        self.launcher.launch_delayed(["@mousetweaks@/bin/mousetweaks"], delay)
+
+     def _set_connection(self, active):
+         ''' Update interface object, state and notify listeners '''
diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix
index 6fc7de1d4d57..f945da612748 100644
--- a/pkgs/applications/misc/zola/default.nix
+++ b/pkgs/applications/misc/zola/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zola";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "getzola";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11y5gb6lx040ax4b16fr3whkj4vmv8hlkvb50h58gs77payglf6l";
+    sha256 = "02lr1n3gf0agj8x451ndyvv16lq7rccazp4nz9zy0pzwxwrlwhra";
   };
 
-  cargoSha256 = "19hqkj27dbsy4pi0i8mjjlhi4351yifvc6zln6scc2nd60p251h6";
+  cargoSha256 = "003dhh41fh337k3djibpj6hyd16xprbgws3lbp7x37p4lx7qlnfy";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ];
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index c4699a87ef63..a8adf3deb5b5 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -6,20 +6,20 @@ buildGoPackage rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
      running in development environment and try to serve assets from the
      source tree, which is not there once build completes.  */
-  version = "0.7.13";
-  rev = "67cd823b2a07c7bb2bcb919c0963e8f23e22d57e";
+  version = "0.8.1";
+  rev = "9ce987dd0eeb66df993f8d232b57ff3e4d380dda";
 
   src = fetchFromGitHub {
     owner  = "windmilleng";
     repo   = "tilt";
     rev    = "${rev}";
-    sha256 = "0cfmdd6wsczcmy6fkd418rvancx4qy1c3pzq9jbfsy4innhh51j7";
+    sha256 = "0ybzj2csmjc7zlkprcyy5cnh9dxgngcx3wd6n43kawi5db0lvjn4";
   };
 
   goPackagePath = "github.com/windmilleng/tilt";
   subPackages = [ "cmd/tilt" ];
 
-  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-04-18");
+  buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2019-04-29");
 
   meta = with stdenv.lib; {
     description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";
diff --git a/pkgs/applications/networking/flent/default.nix b/pkgs/applications/networking/flent/default.nix
index 2f97b39da60f..bc0a519a0eee 100644
--- a/pkgs/applications/networking/flent/default.nix
+++ b/pkgs/applications/networking/flent/default.nix
@@ -14,6 +14,8 @@ buildPythonApplication rec {
 
   buildInputs = [ sphinx ];
 
+  checkInputs = [ procps ];
+
   propagatedBuildInputs = [
     matplotlib
     procps
diff --git a/pkgs/applications/networking/instant-messengers/matrique/default.nix b/pkgs/applications/networking/instant-messengers/matrique/default.nix
deleted file mode 100644
index 91ba8e7175ce..000000000000
--- a/pkgs/applications/networking/instant-messengers/matrique/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchFromGitLab, fetchFromGitHub, qmake
-, qtquickcontrols2, qtmultimedia, qtgraphicaleffects
-, libqmatrixclient
-}:
-
-let
-
-  libqmatrixclient_git = libqmatrixclient.overrideDerivation (oldAttrs: {
-    name = "libqmatrixclient-git-for-matrique";
-    src = fetchFromGitHub {
-      owner = "QMatrixClient";
-      repo = "libqmatrixclient";
-      rev = "d9ff200f";
-      sha256 = "0qxkffg1499wnn8rbndq6z51sz6hiij2pkp40cvs530sl0zg0c69";
-    };
-  });
-
-  SortFilterProxyModel = fetchFromGitLab {
-    owner = "b0";
-    repo = "SortFilterProxyModel";
-    rev = "3c2c125c";
-    sha256 = "1494dvq7kiq0ymf5f9hr47pw80zv3m3dncnaw1pnzs7mhkf2s5fr";
-  };
-
-in stdenv.mkDerivation rec {
-  name = "matrique-${version}";
-  version = "250";
-
-  src = fetchFromGitLab {
-    owner = "b0";
-    repo = "matrique";
-    rev = version;
-    sha256 = "0l7ag2q3l8ixczwc43igvkkl81g5s5j032gzizmgpzb1bjpdgry7";
-  };
-
-  postPatch = ''
-    rm -r include/*
-    ln -sf ${libqmatrixclient_git.src} include/libqmatrixclient
-    ln -sf ${SortFilterProxyModel} include/SortFilterProxyModel
-  '';
-
-  nativeBuildInputs = [ qmake ];
-  buildInputs = [
-    qtquickcontrols2 qtmultimedia qtgraphicaleffects
-    libqmatrixclient_git
-  ];
-
-  meta = with stdenv.lib; {
-    inherit (src.meta) homepage;
-    description = "A glossy client for Matrix";
-    maintainers = with maintainers; [ fpletz ];
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 55b24f71fb64..9271dc6ba4db 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -1,36 +1,42 @@
-{ stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake
-, qttools, libqmatrixclient }:
+{ stdenv, lib, fetchFromGitHub, cmake
+, qtbase, qtquickcontrols, qtkeychain, qtmultimedia, qttools
+, libqmatrixclient_0_4, libqmatrixclient_0_5 }:
 
-stdenv.mkDerivation rec {
-  name = "quaternion-${version}";
-  version = "0.0.9.3";
+let
+  generic = version: sha256: prefix: library: stdenv.mkDerivation rec {
+    name = "quaternion-${version}";
 
-  src = fetchFromGitHub {
-    owner  = "QMatrixClient";
-    repo   = "Quaternion";
-    rev    = "v${version}";
-    sha256 = "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3";
-  };
+    src = fetchFromGitHub {
+      owner = "QMatrixClient";
+      repo  = "Quaternion";
+      rev   = "${prefix}${version}";
+      inherit sha256;
+    };
 
-  buildInputs = [ qtbase qtquickcontrols qttools libqmatrixclient ];
+    buildInputs = [ qtbase qtmultimedia qtquickcontrols qtkeychain qttools library ];
 
-  nativeBuildInputs = [ cmake ];
+    nativeBuildInputs = [ cmake ];
 
-  postInstall = if stdenv.isDarwin then ''
-    mkdir -p $out/Applications
-    mv $out/bin/quaternion.app $out/Applications
-    rmdir $out/bin || :
-  '' else ''
-    substituteInPlace $out/share/applications/quaternion.desktop \
-      --replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
-  '';
+    postInstall = if stdenv.isDarwin then ''
+      mkdir -p $out/Applications
+      mv $out/bin/quaternion.app $out/Applications
+      rmdir $out/bin || :
+    '' else ''
+      substituteInPlace $out/share/applications/quaternion.desktop \
+        --replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
+    '';
 
-  meta = with lib; {
-    description = "Cross-platform desktop IM client for the Matrix protocol";
-    homepage    = https://matrix.org/docs/projects/client/quaternion.html;
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ peterhoeg ];
-    inherit (qtbase.meta) platforms;
-    inherit version;
+    meta = with lib; {
+      description = "Cross-platform desktop IM client for the Matrix protocol";
+      homepage    = https://matrix.org/docs/projects/client/quaternion.html;
+      license     = licenses.gpl3;
+      maintainers = with maintainers; [ peterhoeg ];
+      inherit (qtbase.meta) platforms;
+      inherit version;
+    };
   };
+
+in rec {
+  quaternion     = generic "0.0.9.4"     "12mkwiqqbi4774kwl7gha72jyf0jf547acy6rw8ry249zl4lja54" "" libqmatrixclient_0_5;
+  quaternion-git = quaternion;
 }
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index 28eec458ee03..7b4d40a5a633 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -1,24 +1,19 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "ipfs-${version}";
-  version = "0.4.19";
+  version = "0.4.20";
   rev = "v${version}";
 
   goPackagePath = "github.com/ipfs/go-ipfs";
 
-  extraSrcPaths = [
-    (fetchgx {
-      inherit name src;
-      sha256 = "0bj2kzxjssp7szp1wr9pp08bsi55jgf0k7gi4h70phlib2q673j2";
-    })
-  ];
+  goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "go-ipfs";
     inherit rev;
-    sha256 = "061mgkawimhw3gq506h8m6kw50a2v26qysa5kc5jdqgaqx5yvqh4";
+    sha256 = "1xnjn4pcgknywfndrp2zwln3v1msaffhhfiym5mdz543rsxav0yp";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/ipfs/deps.nix b/pkgs/applications/networking/ipfs/deps.nix
new file mode 100644
index 000000000000..181b55d28d94
--- /dev/null
+++ b/pkgs/applications/networking/ipfs/deps.nix
@@ -0,0 +1,2190 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/dgraph-io/badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgraph-io/badger";
+      rev = "1fcc96ec";
+      sha256 = "09sdr64ay8wbw4m8a7dppha357wx2395vpni554353v7b22gyk59";
+    };
+  }
+  {
+    goPackagePath = "bazil.org/fuse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bazil/fuse";
+      rev = "65cc252bf669";
+      sha256 = "0qjm9yrhc5h632wwhklqzhalid4lxcm9iwsqs3jahp303rm27vpk";
+    };
+  }
+  {
+    goPackagePath = "github.com/AndreasBriese/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/AndreasBriese/bbloom";
+      rev = "343706a395b7";
+      sha256 = "0pz4wph915gm2b0admq4bc5d2ir218s954z27gmc86l0rik13a5d";
+    };
+  }
+  {
+    goPackagePath = "github.com/Kubuxu/go-os-helper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Kubuxu/go-os-helper";
+      rev = "v0.0.1";
+      sha256 = "08v88ylhvv65hdqr2pp94qf2ncppzib5sx66fv432vhgkz00ddyr";
+    };
+  }
+  {
+    goPackagePath = "github.com/Kubuxu/gocovmerge";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Kubuxu/gocovmerge";
+      rev = "7ecaa51963cd";
+      sha256 = "0xbx83h44hsiidmr69sn4k0zn7bmbwcna76fn0akjb5il1r4bjyr";
+    };
+  }
+  {
+    goPackagePath = "github.com/Stebalien/go-bitfield";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Stebalien/go-bitfield";
+      rev = "076a62f9ce6e";
+      sha256 = "17iqkx2dyh6ykgapgvbyrm8c15qw24pspjhi3ww2sx4y0qhkycf4";
+    };
+  }
+  {
+    goPackagePath = "github.com/aead/siphash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aead/siphash";
+      rev = "v1.0.1";
+      sha256 = "01kd1z82sc4nh3nj9c25aryyp396s7jrqc2kz9d7qq1vy2hdbznc";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "3a771d992973";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+    };
+  }
+  {
+    goPackagePath = "github.com/blang/semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/blang/semver";
+      rev = "v3.5.1";
+      sha256 = "13ws259bwcibkclbr82ilhk6zadm63kxklxhk12wayklj8ghhsmy";
+    };
+  }
+  {
+    goPackagePath = "github.com/bren2010/proquint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bren2010/proquint";
+      rev = "38337c27106d";
+      sha256 = "1ws3hb27n4c4mfp2pfj9nc59ch6dv93333a83n7qazf74lhf8ixl";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/btcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/btcd";
+      rev = "306aecffea32";
+      sha256 = "130np0bfic9q7ga8a9y5gd3amy6mgfb7igd3lgicikjclfhiqwf4";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/btclog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/btclog";
+      rev = "84c8d2346e9f";
+      sha256 = "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/btcutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/btcutil";
+      rev = "4c204d697803";
+      sha256 = "16s27k8xnvhlpv0ibs60sqgnyn3zhnvprv1647svmzs3rwcsqgvp";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/go-socks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/go-socks";
+      rev = "4720035b7bfd";
+      sha256 = "18cv2icj059lq4s99p6yh91hlas5f2gi3f1p4c10sjgwrs933d7b";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/goleveldb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/goleveldb";
+      rev = "7834afc9e8cd";
+      sha256 = "0gy156sn2cy2maii3p058f7q60gjdbmba34i9qvk8msxlg7hlfjv";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/snappy-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/snappy-go";
+      rev = "0bdef8d06723";
+      sha256 = "00i5fsb1wf2dwal1jfwbpk9a7cbzjyg7rnz2xib3qfz9h82kd4jw";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/websocket";
+      rev = "31079b680792";
+      sha256 = "0xpkf257ml6fpfdgv7hxxc41n0d5yxxm3njm50qpzp7j71l9cjwa";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/winsvc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/winsvc";
+      rev = "v1.0.0";
+      sha256 = "0nsw8y86a5hzr2a3j6ch9myrpccj5bnsgaxpgajhzfk5d31xlw1z";
+    };
+  }
+  {
+    goPackagePath = "github.com/cenkalti/backoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cenkalti/backoff";
+      rev = "v2.1.1";
+      sha256 = "1mf4lsl3rbb8kk42x0mrhzzy4ikqy0jf6nxpzhkr02rdgwh6rjk8";
+    };
+  }
+  {
+    goPackagePath = "github.com/cheekybits/genny";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cheekybits/genny";
+      rev = "v1.0.0";
+      sha256 = "1pcir5ic86713aqa51581rfb67rgc3m0c72ddjfcp3yakv9vyq87";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/cskr/pubsub";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cskr/pubsub";
+      rev = "v1.0.2";
+      sha256 = "0wr8cg5axrlz9xg33r9dqvkp5ix9q8h8c7qw78mj22qprwh3zj9f";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/davidlazar/go-crypto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davidlazar/go-crypto";
+      rev = "dcfb0a7ac018";
+      sha256 = "1lir8slwykn0h5bg5lj22qsdg4kw09kcqlks974g1428d42rqlcp";
+    };
+  }
+  {
+    goPackagePath = "github.com/dgryski/go-farm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-farm";
+      rev = "3adb47b1fb0f";
+      sha256 = "04bkvr6xvfh83cn83gqzyxx45wbk3j1bdpgrck0b424x48z2x4jh";
+    };
+  }
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev = "v1.0.0";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
+    };
+  }
+  {
+    goPackagePath = "github.com/elgris/jsondiff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/elgris/jsondiff";
+      rev = "765b5c24c302";
+      sha256 = "0jm1q0s531hmkqdx8jqphfpmzysn44aphkpwlzqwp3hkz89g4d4q";
+    };
+  }
+  {
+    goPackagePath = "github.com/facebookgo/atomicfile";
+    fetch = {
+      type = "git";
+      url = "https://github.com/facebookgo/atomicfile";
+      rev = "2de1f203e7d5";
+      sha256 = "1vsx6r6y601jxvjqc8msbpr5v1037dfxxdd8h1q3s8wm6xhvj2v6";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-check/check";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-check/check";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.2.1";
+      sha256 = "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/mock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/mock";
+      rev = "v1.2.0";
+      sha256 = "12ddj2g8ab87id6n2n67vnbhq6p8dvgsq1pzpqfriym4dk8w54fg";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.3.0";
+      sha256 = "0dm1ip7742qz2k1cr6ywy0av6mpcxd2kc4ayfqi8cxz3ai7zhbdr";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/snappy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/snappy";
+      rev = "2e65f85255db";
+      sha256 = "05w6mpc4qcy0pv8a2bzng8nf4s5rf5phfang4jwy9rgf808q0nxf";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.2.0";
+      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/uuid";
+      rev = "v1.1.1";
+      sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
+    };
+  }
+  {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0766667cb4d1";
+      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev = "v1.4.0";
+      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
+    };
+  }
+  {
+    goPackagePath = "github.com/gxed/go-shellwords";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gxed/go-shellwords";
+      rev = "v1.0.3";
+      sha256 = "1pg7pl25wvpl2dbpyrv9p1r7prnqimxlf6136vn0dfm54j2x4mnr";
+    };
+  }
+  {
+    goPackagePath = "github.com/gxed/hashland";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gxed/hashland";
+      rev = "v0.0.1";
+      sha256 = "1b921dh9i6zw7y8jfzwvrmdbhnwid12a5z1zjawslfq2vvsajwmm";
+    };
+  }
+  {
+    goPackagePath = "github.com/gxed/pubsub";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gxed/pubsub";
+      rev = "26ebdf44f824";
+      sha256 = "0q0r6bvimjxwi3yd0w2wjkx1x8m0d9pwi25b7n4s4g10h36rabjp";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/errwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/errwrap";
+      rev = "v1.0.0";
+      sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-multierror";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-multierror";
+      rev = "v1.0.0";
+      sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.1";
+      sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+    };
+  }
+  {
+    goPackagePath = "github.com/hsanjuan/go-libp2p-gostream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hsanjuan/go-libp2p-gostream";
+      rev = "v0.0.31";
+      sha256 = "0q4k1ahns9j061iajp8525330mwgbdv5mnyzldpg64r5c2igp9qf";
+    };
+  }
+  {
+    goPackagePath = "github.com/hsanjuan/go-libp2p-http";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hsanjuan/go-libp2p-http";
+      rev = "v0.0.2";
+      sha256 = "0pq80qvhm2f53gx438ws5nnj1r2ara48radzxc5br57scp2bjlgk";
+    };
+  }
+  {
+    goPackagePath = "github.com/huin/goupnp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/huin/goupnp";
+      rev = "v1.0.0";
+      sha256 = "12f7rigf1f4xh1an1qis61xkj5s1r8ygk48zahf3n4gaqxmgm7i6";
+    };
+  }
+  {
+    goPackagePath = "github.com/huin/goutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/huin/goutil";
+      rev = "1ca381bf3150";
+      sha256 = "0alhyacsfqic2wxyqn4gvk9wzjl4pkmy8rhvqjk84xsghgx5xf12";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/bbloom";
+      rev = "v0.0.1";
+      sha256 = "0ji1dgxvg338wx2agh0ld9x6wwr6zc8zwjxs5mwdb99p56dc34nz";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/dir-index-html";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/dir-index-html";
+      rev = "v1.0.3";
+      sha256 = "1asd58w53i97jxk2r1asy8h5lgq0086lnjq3gi7fs20xvgv20bfy";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-bitswap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-bitswap";
+      rev = "v0.0.4";
+      sha256 = "0998qyxzp5frmkf5kjqxrhdwl4c0i7a2kh24rldix934afbmfz3r";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-block-format";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-block-format";
+      rev = "v0.0.2";
+      sha256 = "1j73r946z0gs98a2r1z7q3vkpk8v7wqwc68x8c3ngiff9sijq1kf";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-blockservice";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-blockservice";
+      rev = "v0.0.3";
+      sha256 = "1c2fnrqlvg16xf7jla1x38qi56yw61w1ms70kghhafmw008bgkvn";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-cid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-cid";
+      rev = "v0.0.1";
+      sha256 = "11hdrac0wf82m69fkpwby1mg2k7swmw884rv3250i0kymwi93lak";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-cidutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-cidutil";
+      rev = "v0.0.1";
+      sha256 = "00bdn7cg7rg8amh8zaqakf6phd14sn2z9kw73cscfhpyg9di1p9h";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-datastore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-datastore";
+      rev = "v0.0.3";
+      sha256 = "147nnmgb2b4iiky4hsn5wn4hk0kp39xs1yj3blm2gxxxkmjqsdk4";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-detect-race";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-detect-race";
+      rev = "v0.0.1";
+      sha256 = "0rqb0q66d7z852j5mhlr025dz698c44w014g4mx587amr1rvwqna";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ds-badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ds-badger";
+      rev = "v0.0.3";
+      sha256 = "0bl7zh8gmas54577v501n17z1254f1yaggkgslz9qjz4rihq4wq1";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ds-flatfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ds-flatfs";
+      rev = "v0.0.2";
+      sha256 = "1z6z717pkv2yqb0wdhw73vir253305wkqcg5pln8km8kl2fjwwyi";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ds-leveldb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ds-leveldb";
+      rev = "v0.0.2";
+      sha256 = "0x70z31g0l04lm6nsv1p0wnhdwqvck2pzy59ygfxk707n0x5vqpc";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ds-measure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ds-measure";
+      rev = "v0.0.1";
+      sha256 = "1ndb10x5g95g8kapfr116qa3cav2xcwwm4dppp99bi15kq1yk742";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-fs-lock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-fs-lock";
+      rev = "v0.0.1";
+      sha256 = "02mr83xkflf0sjrii11pd9k4a4545jggqgq6pdpsmkx2r3b01j2q";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-addr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-addr";
+      rev = "v0.0.1";
+      sha256 = "02f7vhf6kra7h58ny71zfb0k5q9mz6yplypnk36i6gv4fn5v9c5i";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-blockstore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-blockstore";
+      rev = "v0.0.1";
+      sha256 = "0vw6i4n9xss21yri5wkj9pvzapm9yqgxh5l6vq2858n50xz72r31";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-blocksutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-blocksutil";
+      rev = "v0.0.1";
+      sha256 = "06bip9adk70i0g0hkf4aczvhkhd3s31x19668ls26dl62rq9h7di";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-chunker";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-chunker";
+      rev = "v0.0.1";
+      sha256 = "19p8a4xfi62fj5nw7ad81yppn0slq3pddk0gb0c3zydaxcjkhzw6";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-cmdkit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-cmdkit";
+      rev = "v0.0.1";
+      sha256 = "1aqdpszvibkm1h7p852ajzb9gjgsz5jlk4j2s9j8q1wbmz3vslms";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-cmds";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-cmds";
+      rev = "v0.0.5";
+      sha256 = "1b302hvah5scykcjn5al9a6jf7sygqi6snd664a6sxf2xgpwk0s8";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-config";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-config";
+      rev = "v0.0.1";
+      sha256 = "055igsi5bv312p2590dvpr9d290c4c0cwbzvwv52l7j60v79vlkc";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-delay";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-delay";
+      rev = "v0.0.1";
+      sha256 = "0a5acj622sk1hibnh893mya4h86nsy1dan0wlh9q444c04iqpviw";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-ds-help";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-ds-help";
+      rev = "v0.0.1";
+      sha256 = "173kmvyk2f5f1p30avb8nzvkcmq9xkdfpydavqw3bxg0yq0714ic";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-exchange-interface";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-exchange-interface";
+      rev = "v0.0.1";
+      sha256 = "12h4pj5g9d1j5gmd8gf774fqwkx0x5cm3pg7c81hi0f43x5lrmwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-exchange-offline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-exchange-offline";
+      rev = "v0.0.1";
+      sha256 = "0nlb5llmj9kjas2p5jqg2x3krk5jm40xd36k0g5l87c992dy7f0i";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-files";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-files";
+      rev = "v0.0.2";
+      sha256 = "12554whcmg60rgnzyd7673hgxnrs1j176lw8839wf260pjq6rs39";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-flags";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-flags";
+      rev = "v0.0.1";
+      sha256 = "0pf9nq0n6nlfxbfhn9v46a2s7kkkwmvl04si8ihz08nahanb13r6";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-posinfo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-posinfo";
+      rev = "v0.0.1";
+      sha256 = "0hh88i9sk5h53z2xx2nwxrpcx0r0jhlb5sq54x5qyhp5mjfqbyi2";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-pq";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-pq";
+      rev = "v0.0.1";
+      sha256 = "05q7b7g49ni59c6593v51kkkd6ppc2ipkfsx05qbfg8md9r7a93x";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-routing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-routing";
+      rev = "v0.0.1";
+      sha256 = "15vvvc0z5sbyhmwl3nfrpziiy3gsivb02xcalsz6mxvam68xy4x5";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-util";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-util";
+      rev = "v0.0.1";
+      sha256 = "1j87wqxh8ap5qqvnhnhz3zg6fn50axnnd69wqg287hh36xcpy6ss";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipld-cbor";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipld-cbor";
+      rev = "v0.0.1";
+      sha256 = "0zppzca1ar8pqrzi68ysx4ih1mnhlyrg046xwj7sggr4aki1fh5j";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipld-format";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipld-format";
+      rev = "v0.0.1";
+      sha256 = "0lb4wp30jlamk604bagzf28zf2hm2b4lxnayqvq7rh0jxhbdb61d";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipld-git";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipld-git";
+      rev = "v0.0.1";
+      sha256 = "0d5kl3kvam1hv589cg9cg1dkjyanzp727zrnzyjnrysv3fk8yv66";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipns";
+      rev = "v0.0.1";
+      sha256 = "1r9531v35336sf36s8pzi3jiyqd22ld9p7xpaznzmp57ygwfxlwj";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-log";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-log";
+      rev = "v0.0.1";
+      sha256 = "0r3pk46g9vjjb9ljaxda18w488xa9vyj30g23y9vprknkd9dqfgw";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-merkledag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-merkledag";
+      rev = "v0.0.3";
+      sha256 = "0j7dgca9vyhj6ra074cddblcjkxh1c1k51krch09lqxxjwasgg60";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-metrics-interface";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-metrics-interface";
+      rev = "v0.0.1";
+      sha256 = "09xc71175sfnqlizkbw066jagnbag9ihvs240z6g6dm2yx3w5xgy";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-metrics-prometheus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-metrics-prometheus";
+      rev = "v0.0.2";
+      sha256 = "1z1zwjj0a3gyzs4r25b9kl7z3kmsqp3jskvy7x02a3v1dlr3nkfp";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-mfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-mfs";
+      rev = "v0.0.4";
+      sha256 = "13jjxbfjl6wd89nxqibvp8q3hd2vzh0vpfhp3vrbapghkzp08rbb";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-path";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-path";
+      rev = "v0.0.3";
+      sha256 = "019zpy92k2rilkhn928jf91d8y3x8cxcw04mc2pxv5ja29nkyc91";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-todocounter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-todocounter";
+      rev = "v0.0.1";
+      sha256 = "1nsf56hh6n2y3m14b1ismcpsyi65ffxa5i6ks6il9qppm21mm5nx";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-unixfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-unixfs";
+      rev = "v0.0.4";
+      sha256 = "0fbqqi9h2xalnyc58ppaiyac3qd6hb4ycn46wwnr7idp0z7wxl5j";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-verifcid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-verifcid";
+      rev = "v0.0.1";
+      sha256 = "06ii8934s52d9n1lvzx29didh667pm2i7qdag443vqn0ilmkjvh9";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/hang-fds";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/hang-fds";
+      rev = "v0.0.1";
+      sha256 = "0axgmx1vcqsvys4vhqfrixfss2vk3qly1cqlm0aqrlhscggflkn4";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/interface-go-ipfs-core";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/interface-go-ipfs-core";
+      rev = "v0.0.6";
+      sha256 = "13sr18vzsfsik1nnkdcmi7afagbcnzh95mxzlbss366x802g8d8q";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/iptb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/iptb";
+      rev = "v1.4.0";
+      sha256 = "0nfiqf1k114ydp6c37yq4qn6j3bmw94wvc096vfljq8493jr8jvv";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/iptb-plugins";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/iptb-plugins";
+      rev = "v0.0.2";
+      sha256 = "10kyvjhmlvza3xlmfvwhndscjm6807pmk9nld7d2660mvh18w626";
+    };
+  }
+  {
+    goPackagePath = "github.com/jackpal/gateway";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jackpal/gateway";
+      rev = "v1.0.5";
+      sha256 = "1ird5xmizj632l3dq24s2xgb8w1dn6v8xznlqz252gvngyr2gjl1";
+    };
+  }
+  {
+    goPackagePath = "github.com/jackpal/go-nat-pmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jackpal/go-nat-pmp";
+      rev = "v1.0.1";
+      sha256 = "0sr23mcxbv9f65is4p1amb5yn026p7cfamlwpb2f8q218idwy3zk";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-cienv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-cienv";
+      rev = "1bb1476777ec";
+      sha256 = "0mk04dk572gdd0y63vark0362y42w7kbwdlmmw9bg78qmmiikjb3";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-context";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-context";
+      rev = "d14ea06fba99";
+      sha256 = "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-is-domain";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-is-domain";
+      rev = "v1.0.2";
+      sha256 = "1cf4qmlg54975z5j7njyqsq0vr8gsxzg85c5iys08nr3cizr7551";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-random";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-random";
+      rev = "123a90aedc0c";
+      sha256 = "0kgx19m8p76rmin8s8y6j1padciv1dx37qzy7jkh9bw49ai3haw3";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-random-files";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-random-files";
+      rev = "31b3f20ebded";
+      sha256 = "0d52wwzgxxh2a1bwmixfa6nfhhqdq6l9g4s6kmsdnc6kqf38c818";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-temp-err-catcher";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-temp-err-catcher";
+      rev = "aac704a3f4f2";
+      sha256 = "1fyqkcggnrzwxa8iii15g60w2jikdm26sr7l36km7y0nc2kvf7jc";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/goprocess";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/goprocess";
+      rev = "b497e2f366b8";
+      sha256 = "1lnvkzki7vnqn5c4m6bigk0k85haicmg27w903kwg30rdvblm82s";
+    };
+  }
+  {
+    goPackagePath = "github.com/jessevdk/go-flags";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jessevdk/go-flags";
+      rev = "1679536dcc89";
+      sha256 = "15jgsymwg0wjslxrw391sw7qzwwjcnjxiiksq84z7ng9sqy96c1c";
+    };
+  }
+  {
+    goPackagePath = "github.com/jonboulle/clockwork";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jonboulle/clockwork";
+      rev = "v0.1.0";
+      sha256 = "1pqxhsdavbp1n5grgyx2j6ylvql2fzn2cvpsgkc8li69dil7sibl";
+    };
+  }
+  {
+    goPackagePath = "github.com/jrick/logrotate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jrick/logrotate";
+      rev = "v1.0.0";
+      sha256 = "0srl6figwjqpi3nbp7br8sxpmvh4v8lzbny1b4lar4ny0156p5nl";
+    };
+  }
+  {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.2.1";
+      sha256 = "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/errcheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/errcheck";
+      rev = "v1.1.0";
+      sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/kkdai/bstream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kkdai/bstream";
+      rev = "f391b8402d23";
+      sha256 = "1hd9caz0yf3r8kciw2pqwrsr8z4w0rhbqv1z7iq08d0542s05j3z";
+    };
+  }
+  {
+    goPackagePath = "github.com/koron/go-ssdp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/koron/go-ssdp";
+      rev = "4a0ed625a78b";
+      sha256 = "11d1xf07xs4j7qbxpndxbrfk2zk48k9fa3cxnhfb5lh24bd4sa0f";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-addr-util";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-addr-util";
+      rev = "v0.0.1";
+      sha256 = "1kjdk5214l8gna7f4hvb0iwmmlzsfccjankkxjmil80ibhcvjw60";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-buffer-pool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-buffer-pool";
+      rev = "v0.0.1";
+      sha256 = "1239hkhckgx1fzd43k56q3c0283p1mjl8w7i2j4xymvs6f6q6ygi";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-conn-security";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-conn-security";
+      rev = "v0.0.1";
+      sha256 = "0z1zw0aq5jcks0vcdm5zxjyz9z6c6jklm0s74gc2m7jfs2jj2r5r";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-conn-security-multistream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-conn-security-multistream";
+      rev = "v0.0.1";
+      sha256 = "19slvlmapzs952gfn4aym4dg0l49x0vpn5v696vf80v2k00ipa32";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-flow-metrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-flow-metrics";
+      rev = "v0.0.1";
+      sha256 = "04zrwl579qkhiw3b655cw7lnlp2yvq1xl3f1rkxnhx8llwsy3x49";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p";
+      rev = "v0.0.12";
+      sha256 = "04hm36fi45jpq5zjl1a7jlyq82adwwrgvvgnkllppq2zg85mlvvi";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-autonat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-autonat";
+      rev = "v0.0.4";
+      sha256 = "03523s4kdwswgfnwly5ynld2lny142j8xl6mr88vni4xn7pijn1l";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-autonat-svc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-autonat-svc";
+      rev = "v0.0.5";
+      sha256 = "0plph1nnh0ig9d54hizpiyhfrlrwhb1ylx6pry5jcppgpxngi79c";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-blankhost";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-blankhost";
+      rev = "v0.0.1";
+      sha256 = "1q29b880l95811ara95187y9pmqq542bxh50cg0ykwzfj94xgla4";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-circuit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-circuit";
+      rev = "v0.0.4";
+      sha256 = "1bnwjf3p5r8ng360l2fjx0szdiwm2yfiifjkwflin00hx0gzyq7d";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-connmgr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-connmgr";
+      rev = "v0.0.1";
+      sha256 = "07kvnhavr4k1birgqp9c4y0yl1ii3pl1cc8pn4dzci87krachz2z";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-crypto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-crypto";
+      rev = "v0.0.1";
+      sha256 = "0wgq0ayg1656gvmi4d1nwgq7dbnyyb30xp3z571q495mmq483fbk";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-daemon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-daemon";
+      rev = "v0.0.6";
+      sha256 = "0pq6557ykbi3a8pasvm9zlhdysrq6h1fj48z4imv2gq30nmy3l6l";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-discovery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-discovery";
+      rev = "v0.0.1";
+      sha256 = "06h621llfx7bmkcnrkkxb3j85221albf18ig8mbh9c8wrpmsi438";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-host";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-host";
+      rev = "v0.0.1";
+      sha256 = "102qyl7qkmq8p1gpxbfi5z2lrd8mysji28fx25ma4h312ci96rqz";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-interface-connmgr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-interface-connmgr";
+      rev = "v0.0.1";
+      sha256 = "107khappq5w48p17s22cp7djd5ii1bbg968wsa9bq9znzxdkzm43";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-interface-pnet";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-interface-pnet";
+      rev = "v0.0.1";
+      sha256 = "1kqxm4rpcss2ajfnc3gzww4ng5pjj5qc0szr5x2vz15vvx2kp9bi";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-kad-dht";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-kad-dht";
+      rev = "v0.0.7";
+      sha256 = "1nbq4240vnd3sfmiy8ry6pwnnf2k7hnwn1ln32mgqq32dywx664r";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-kbucket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-kbucket";
+      rev = "v0.1.1";
+      sha256 = "0pgy89mp9r23axs8gapnkzks89q7539l2g46r6ffyd4a675qampg";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-loggables";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-loggables";
+      rev = "v0.0.1";
+      sha256 = "15whxhipm06fnd8ky7gxf59bvbw2wxl44g0v2dbnbr2j9a2n5ivv";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-metrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-metrics";
+      rev = "v0.0.1";
+      sha256 = "14wvnmcwr40iwbpvfwdcbb6cff7rcrhqf42z32aqjhisp32irn1x";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-nat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-nat";
+      rev = "v0.0.4";
+      sha256 = "179d5jj4sznjns9p17gmrd86pf7ba7k4qq5kiv17ra4b666kd88f";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-net";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-net";
+      rev = "v0.0.2";
+      sha256 = "0cfi57hvkz6yhi2nw63p2p7fnaw91zrcphxmchk2a4xn5rnwgjak";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-netutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-netutil";
+      rev = "v0.0.1";
+      sha256 = "1zzkfddfmja6dsk8nxybi5cccd2v38sahp8xx676a38g3ydvqvs6";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-peer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-peer";
+      rev = "v0.0.1";
+      sha256 = "0hixdbj47njyzj885fzm9dlylw21g406yqxfidag2qrn06b2qicl";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-peerstore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-peerstore";
+      rev = "v0.0.2";
+      sha256 = "1asfl9sp3mi5pg9gpy45wvsc8hpdf48i7ml37sh5sjmn30aj4f6i";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-pnet";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-pnet";
+      rev = "v0.0.1";
+      sha256 = "1gh2hw0dbywwp7vr4n9xws8nxraa00rigzxa86g8nf50n9cdq2cr";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-protocol";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-protocol";
+      rev = "v0.0.1";
+      sha256 = "18fhmhfsdzw7dd618y4344qka08zq4b5jzpdgxbglar9dkkralg7";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-pubsub";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-pubsub";
+      rev = "v0.0.1";
+      sha256 = "1n67ajql9527mzrc06jk4rb3xb63vmlnzx6i4aywcfn66pjg9kmh";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-pubsub-router";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-pubsub-router";
+      rev = "v0.0.3";
+      sha256 = "1cjscq213ky11vzdalcfnkqkj2s53npymzjvv6ahn34c6bidan4s";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-quic-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-quic-transport";
+      rev = "v0.0.3";
+      sha256 = "0kiisb35fvblg4xaz188by4rn90chynzm94f83prqq7h9y9b3s5s";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-record";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-record";
+      rev = "v0.0.1";
+      sha256 = "131zjkplylwam3gnw8f9lfvjgzi8xbjhb2qf57fys4c89pz868mg";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-routing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-routing";
+      rev = "v0.0.1";
+      sha256 = "09mm12abdzy6k1dw3ix8v2c8w3warc52jazvwwwvwhlq924jzdp0";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-routing-helpers";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-routing-helpers";
+      rev = "v0.0.2";
+      sha256 = "0lxpf1vzhapj2q18wv5g7kkqhnwz1b08lyxjp57qa33z5j4jclgw";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-secio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-secio";
+      rev = "v0.0.1";
+      sha256 = "1v51whaww3bv14kl7gpapq6ld6m6v7w9cipkflh8czpgrs096yyq";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-swarm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-swarm";
+      rev = "v0.0.2";
+      sha256 = "0v75wb96rddjxd8faqri076xba5ffqg4bpddw16k4bw8kk2b46w0";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-transport";
+      rev = "v0.0.4";
+      sha256 = "0pgyxzb489xzcm9q11br6sgsz166cw65xhfcksy3yy5n0c1c6mvb";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-transport-upgrader";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-transport-upgrader";
+      rev = "v0.0.1";
+      sha256 = "0czy16zvbz2k9jn8w7iddf7xph3bn054abxybjxm4dhp7g83mf65";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-maddr-filter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-maddr-filter";
+      rev = "v0.0.1";
+      sha256 = "039qj86k4dam6kch52kcdk5dsg36gfrfwambqjg1nv2xaq8j1hx8";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-mplex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-mplex";
+      rev = "v0.0.1";
+      sha256 = "1f0h2hmh4c0xvv1fsjciyc8v7sn0ymanr9my2smr6z1nar7nziqn";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-msgio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-msgio";
+      rev = "v0.0.1";
+      sha256 = "1my8w8k7c3mz2aazsg45q7nlr4ywmix6jspri2sv7fqrs1kjxrjm";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-nat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-nat";
+      rev = "v0.0.3";
+      sha256 = "19ihybcpmz2wpi6mk3rhgjbv4cgiiang92d9ym3xw7y3iv8mlzc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-reuseport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-reuseport";
+      rev = "v0.0.1";
+      sha256 = "1qbxhycckjv7mazg06llbx9708f1z4453yaxxp4641gwcrbns7zk";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-reuseport-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-reuseport-transport";
+      rev = "v0.0.2";
+      sha256 = "14lqhdkx5nmrvislim7qlvnx78dnfngxvcrll9d851r04p703qrn";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-stream-muxer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-stream-muxer";
+      rev = "v0.0.1";
+      sha256 = "1swqw77jn00a7cl3lb7x5wyybhv4mkqk36z407ihid44gds7djqh";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-tcp-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-tcp-transport";
+      rev = "v0.0.2";
+      sha256 = "0qrl4mgs16wnc0dnwg3x2k3mlv9grzl8maclbkq22vqk34c5in4y";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-testutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-testutil";
+      rev = "v0.0.1";
+      sha256 = "1jmqk6cyp52fgmayx0dwas27rswrvn9lpsiv6bnabhz1gvb91ahp";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-ws-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-ws-transport";
+      rev = "v0.0.2";
+      sha256 = "1j321z8m82a43v70jmglh2v0hv1wmgsizr5zrlgwqsx3wsih9phx";
+    };
+  }
+  {
+    goPackagePath = "github.com/lucas-clemente/quic-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lucas-clemente/quic-go";
+      rev = "v0.11.1";
+      sha256 = "1vhswcbiyaq94rwc6vd8vl13x3lfwilpfw7kqx7bflxj7zvvd18y";
+    };
+  }
+  {
+    goPackagePath = "github.com/marten-seemann/qtls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/marten-seemann/qtls";
+      rev = "v0.2.3";
+      sha256 = "0b9p7bwkm9hfg1mb565q4nw5k7xyks0z2xagz5fp95azy2psbnfg";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.1.1";
+      sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.5";
+      sha256 = "114d5xm8rfxplzd7nxz97gfngb4bhqy102szl084d1afcxsvm4aa";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "v0.0.4";
+      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/mgutz/ansi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mgutz/ansi";
+      rev = "9520e82c474b";
+      sha256 = "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j";
+    };
+  }
+  {
+    goPackagePath = "github.com/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev = "v1.1.4";
+      sha256 = "17apnm7q5v7bhmpvrk3rbi0gjqk8z3cwkm90q1dfzrfvbvp71z5d";
+    };
+  }
+  {
+    goPackagePath = "github.com/minio/blake2b-simd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/minio/blake2b-simd";
+      rev = "3f5f724cb5b1";
+      sha256 = "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd";
+    };
+  }
+  {
+    goPackagePath = "github.com/minio/sha256-simd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/minio/sha256-simd";
+      rev = "2d45a736cd16";
+      sha256 = "1hfhpy8fczd0mnwvxkp2nk3dydv1nzqx59ig8ajqjraq6kli66p5";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mr-tron/base58";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mr-tron/base58";
+      rev = "v1.1.0";
+      sha256 = "00w28mhinf8dvzrh71dijryfhrggi7j9wqiiyddpk41ixx3rmfy4";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-base32";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-base32";
+      rev = "v0.0.3";
+      sha256 = "1f4pjnqw4687p8l7vr1qaq6g6i9pcr80fc4pk2kpgrcwzpd1lprg";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multiaddr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multiaddr";
+      rev = "v0.0.1";
+      sha256 = "1r1w4036bpi97xb70833bpdpdhqm5gl6m8fllfdxqbg10ab1a938";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multiaddr-dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multiaddr-dns";
+      rev = "v0.0.2";
+      sha256 = "1fnv7lbd7q1kssaxp2fgrvj9dhn5aiqspd4090iqwys5hjr1xvmf";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multiaddr-net";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multiaddr-net";
+      rev = "v0.0.1";
+      sha256 = "1075xs6gbiblfbwgf84yvg1nrywmvvrrxzqa8wp9j75zyakab81p";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multibase";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multibase";
+      rev = "v0.0.1";
+      sha256 = "083adnq79pyxhngv91saygh076196qin1nw1vppz7nk04zw4aymg";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multicodec";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multicodec";
+      rev = "v0.1.6";
+      sha256 = "08wnxhb4rd7rln2mzxnhv3csy19l9qgf5dx3437x4zsgkaqabb96";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multihash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multihash";
+      rev = "v0.0.1";
+      sha256 = "1aw4ra22g3l98bk7c3h1n968vi5a3gk528g4byj3xig76r0r731n";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multistream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multistream";
+      rev = "v0.0.1";
+      sha256 = "1k79w7zd92cs9sjvsr31vi6n3j30xqz83mb3a3pqva11wl1gbnlz";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/ginkgo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/ginkgo";
+      rev = "v1.7.0";
+      sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/gomega";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/gomega";
+      rev = "v1.4.3";
+      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+    };
+  }
+  {
+    goPackagePath = "github.com/opentracing/opentracing-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opentracing/opentracing-go";
+      rev = "v1.0.2";
+      sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/polydawn/refmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/polydawn/refmt";
+      rev = "df39d6c2d992";
+      sha256 = "07hj5wimwgwj8xzzbvk0y7d6fmqf44d7fjicp1digh4kvjsbg3dz";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "v0.9.2";
+      sha256 = "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "5c3871d89910";
+      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "4724e9255275";
+      sha256 = "0pcx8hlnrxx5nnmpk786cn99rsgqk1jrd3c9f6fsx8qd8y5iwjy6";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "1dc9a6cbc91a";
+      sha256 = "1zlv1x30xp7z5c3vn5vp870v4bjim0zcidzc3mr2l3xhazc0svab";
+    };
+  }
+  {
+    goPackagePath = "github.com/rs/cors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rs/cors";
+      rev = "v1.6.0";
+      sha256 = "12j838rj6xl9y1xqs1mnh9zkc3dkpn94iqkp6jkdkxw631aa94dr";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.0.5";
+      sha256 = "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "b2de0cb4f26d";
+      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "a17d461953aa";
+      sha256 = "1942lhpv7c16dq27wjj2cjxsgra5lpsnxn52a9zvj8d0nip8nhq6";
+    };
+  }
+  {
+    goPackagePath = "github.com/spaolacci/murmur3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spaolacci/murmur3";
+      rev = "f09979ecbc72";
+      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.1";
+      sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.0";
+      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "github.com/syndtr/goleveldb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/syndtr/goleveldb";
+      rev = "v1.0.0";
+      sha256 = "042k0gbzs5waqpxmd7nv5h93mlva861s66c3s9gfg1fym5dx4vmd";
+    };
+  }
+  {
+    goPackagePath = "github.com/texttheater/golang-levenshtein";
+    fetch = {
+      type = "git";
+      url = "https://github.com/texttheater/golang-levenshtein";
+      rev = "d188e65d659e";
+      sha256 = "0dmaxmwz2vx2v51hybjpcwz260apaq3v8gm84ran38fcs8xl529c";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev = "v1.20.0";
+      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
+    };
+  }
+  {
+    goPackagePath = "github.com/warpfork/go-wish";
+    fetch = {
+      type = "git";
+      url = "https://github.com/warpfork/go-wish";
+      rev = "5ad1f5abf436";
+      sha256 = "1jns04jdb07f695ipf0pfal2k7ss47jxgdi2ahqmskzglb26zm62";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/base32";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/base32";
+      rev = "c30ac30633cc";
+      sha256 = "060jj8j9rnm3m47vv7jfz9ddybch3ryvn1p9vhc63bqn73knalhf";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/cbor";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/cbor";
+      rev = "63513f603b11";
+      sha256 = "0v3kgzk8grz17my2vhv12qi9dgpx3z86hy9ff1c4qw83mg8hm67s";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/chunker";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/chunker";
+      rev = "fe64bd25879f";
+      sha256 = "13q4flp9iwwyi0izqar786h42713rf3m22qlvg0masbmdi69qjr2";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-ctrlnet";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-ctrlnet";
+      rev = "f564fbbdaa95";
+      sha256 = "1ni4fb9bbaiicy8yd9w8i442v94k59czlmpvjqg0y5am67x73gxk";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-keyspace";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-keyspace";
+      rev = "5b898ac5add1";
+      sha256 = "0fkk7i7qxwbz1g621mm6a6inb69lr57cyc9ayyfiwhnjwfz78rbb";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-logging";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-logging";
+      rev = "0457bb6b88fc";
+      sha256 = "1bl180mhg03hdqhyr5sfjcg16ns2ppal625g9ag5m10l2pvlwnqn";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-notifier";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-notifier";
+      rev = "097c5d47330f";
+      sha256 = "081h4a33603n0mlh53by1mg21rr42xjvxk7r10x8l4v671bq0kha";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-smux-multiplex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-smux-multiplex";
+      rev = "v3.0.16";
+      sha256 = "0y696zqrbdyvz9gkxd9armhxa82z2fg0wpm8yqp7swyxdsg15f8k";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-smux-multistream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-smux-multistream";
+      rev = "v2.0.2";
+      sha256 = "0sbxmn56fx1py6nijk9prkm4rqswynsw68frvlm11w5m57szi5pj";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-smux-yamux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-smux-yamux";
+      rev = "v2.0.9";
+      sha256 = "046nx0d9974shd6y3ic2dznij0yzaijp6z6g46kpa4iwf2w41jwk";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-sysinfo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-sysinfo";
+      rev = "4a357d4b90b1";
+      sha256 = "0s6yjp9incc579wbbga33vq0hcanv8j2xh9l90ya0r4fihz39jiq";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/mafmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/mafmt";
+      rev = "v1.2.8";
+      sha256 = "0sr602pbxid3ncfd8v0dgjd1a79qg3k4bzniq811jjdq9zm9jccv";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/mdns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/mdns";
+      rev = "ef14215e6b30";
+      sha256 = "17hid8s9asqyqgbw20wp4ip5sy03b5sayzld2i09w9l42217502q";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/multiaddr-filter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/multiaddr-filter";
+      rev = "e903e4adabd7";
+      sha256 = "0ksd8vnp207dvphmhrazwldj8if900fnyc1pqa9pfvj04qp92640";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/tar-utils";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/tar-utils";
+      rev = "8c6c8ba81d5c";
+      sha256 = "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/timecache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/timecache";
+      rev = "cfcb2f1abfee";
+      sha256 = "0nnra7ivq7cj34rj2ib8hgfdpik3smr1hy7x18svhfin8z1xsj2s";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/yamux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/yamux";
+      rev = "v1.1.5";
+      sha256 = "08a4v0akdxg16g6mi32ixsldjbg3pp3j4x0xicaxc4fd6cfmi1wv";
+    };
+  }
+  {
+    goPackagePath = "go4.org";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go4org/go4";
+      rev = "ce4c26f7be8e";
+      sha256 = "0lzvmspdqqf251lrgawnss2wn3bnd3pj89xjxlvpgg6q0853580j";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "8dd112bcdc25";
+      sha256 = "0gbcz7gxmgg88s28vb90dsp1vdq0har7zvg2adsqbp8bm05x9q6b";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "c95aed5357e7";
+      sha256 = "0b1vjnzd67sp9lggs0yn9qfgp6f5djqgx40lyncd7j720q04kk2h";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "42b317875d0f";
+      sha256 = "0mrjhk7al7yyh76x9flvxy4jm5jyqh2fxbxagpaazxn1xdgkaif3";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "b6889370fb10";
+      sha256 = "01c1ag1qr95iksp38rypfbrlk6sdqjhk7jgj3qf342ndhvqb08sa";
+    };
+  }
+  {
+    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 = "90fa682c2a6e";
+      sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "a5947ffaace3";
+      sha256 = "1bgn7j704mf891qcwcbqzr5sq9ar7z2a81887k8pp0b1g2giwgfz";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev = "11092d34479b";
+      sha256 = "12qcrjq658zga5fj4n0wgm11pzpr3gafwg25cinl5qcq4p9cnl0r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/airbrake/gobrake.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/airbrake/gobrake.v2";
+      rev = "v2.0.9";
+      sha256 = "1x06f7n7qlyzqgyz0sdfcidf3w4ldn6zs6qx2mhibggk2z4whcjw";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/cheggaaa/pb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/cheggaaa/pb.v1";
+      rev = "v1.0.28";
+      sha256 = "13a66cqbpdif804qj12z9ad8r24va9q41gfk71qbc4zg1wsxs3rh";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/gemnasium/logrus-airbrake-hook.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2";
+      rev = "v2.1.2";
+      sha256 = "0sbg0dn6cysmf8f2bi209jwl4jnpiwp4rdghnxlzirw3c32ms5y5";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/tomb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/tomb.v1";
+      rev = "dd632973f1e7";
+      sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.1";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
+  {
+    goPackagePath = "gotest.tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gotestyourself/gotest.tools";
+      rev = "v2.1.0";
+      sha256 = "11k6hmfhaf0qxpddp3i5kfpacdx51q6pv4n1kn3jnf1hjs0yny2k";
+    };
+  }
+  {
+    goPackagePath = "gotest.tools/gotestsum";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gotestyourself/gotestsum";
+      rev = "v0.3.3";
+      sha256 = "0wkh49yixvh5y1z96sanjfyvd7c63pvryz605lz0hzdbvcwciy7i";
+    };
+  }
+]
diff --git a/pkgs/applications/office/kexi/default.nix b/pkgs/applications/office/kexi/default.nix
index 66fde2497e3f..784126ba3d87 100644
--- a/pkgs/applications/office/kexi/default.nix
+++ b/pkgs/applications/office/kexi/default.nix
@@ -9,12 +9,12 @@
 
 mkDerivation rec {
   pname = "kexi";
-  version = "3.1.0";
+  version = "3.2.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1ysj44qq75wglw4d080l3gfw47695gapf29scxhb1g3py55csmbd";
+    sha256 = "1zy1q7q9rfdaws3rwf3my22ywkn6g747s3ixfcg9r80mm2g3z0bs";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
@@ -29,13 +29,6 @@ mkDerivation rec {
 
   propagatedUserEnvPkgs = [ kproperty ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://phabricator.kde.org/file/data/6iwzltiifyqwjnzbvyo6/PHID-FILE-li4a7j35wkdkm2qdtnp4/D11503.diff";
-      sha256 = "0yj717m4x1zb4xjy1ayhz78xkxpawxgsvjgvf5iw81jnlr8absq9";
-    })
-  ];
-
   meta = with lib; {
     description = "A open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker";
     longDescription = ''
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index 9b417a8a5b63..eee6c7de4e5f 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   name = "skrooge-${version}";
-  version = "2.18.0";
+  version = "2.19.1";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
-    sha256 = "00zk152clnmq8rjjnrxmd7lfflf2pnzljaw73bjjsb6r6vkxywa6";
+    sha256 = "04pajy540vwff1y84ndrnscvlggiwfkr6w65g4hpa75cg7m169ya";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 81c254763d3a..c31284c2747f 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -9,11 +9,11 @@
 
 python3Packages.buildPythonApplication rec {
   name = "zim-${version}";
-  version = "0.70";
+  version = "0.71.0";
 
   src = fetchurl {
     url = "http://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "1g1xj86iph1a2k4n9yykq0gipbd5jdd7fsh9qpv4v2h5lggadjdd";
+    sha256 = "0mr3911ls5zp3z776ysrdm3sg89zg29r3ip23msydcdbl8wymw30";
   };
 
   buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ];
diff --git a/pkgs/applications/radio/cubicsdr/default.nix b/pkgs/applications/radio/cubicsdr/default.nix
new file mode 100644
index 000000000000..07bf0a542fa3
--- /dev/null
+++ b/pkgs/applications/radio/cubicsdr/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, cmake, fftw, hamlib, libpulseaudio, libGL, libX11, liquid-dsp,
+  pkgconfig, soapysdr-with-plugins, wxGTK, enableDigitalLab ? false }:
+
+stdenv.mkDerivation rec {
+  name = "cubicsdr-${version}";
+  version = "0.2.5";
+
+  src = fetchFromGitHub {
+    owner = "cjcliffe";
+    repo = "CubicSDR";
+    rev = version;
+    sha256 = "1ihbn18bzdcdvwpa4hnb55ns38bj4b8xy53hkmra809f9qpbcjhn";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ fftw hamlib libpulseaudio libGL libX11 liquid-dsp soapysdr-with-plugins wxGTK ];
+
+  cmakeFlags = [ "-DUSE_HAMLIB=ON" ]
+    ++ stdenv.lib.optional enableDigitalLab "-DENABLE_DIGITAL_LAB=ON";
+
+  meta = with stdenv.lib; {
+    homepage = https://cubicsdr.com;
+    description = "Software Defined Radio application";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ lasandell ];
+    platforms = platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/science/biology/aragorn/default.nix b/pkgs/applications/science/biology/aragorn/default.nix
new file mode 100644
index 000000000000..a5f0ebc18abd
--- /dev/null
+++ b/pkgs/applications/science/biology/aragorn/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  version = "1.2.38";
+  pname = "aragorn";
+
+  src = fetchurl {
+    url = "http://mbio-serv2.mbioekol.lu.se/ARAGORN/Downloads/${pname}${version}.tgz";
+    sha256 = "09i1rg716smlbnixfm7q1ml2mfpaa2fpn3hwjg625ysmfwwy712b";
+  };
+
+  buildPhase = ''
+    gcc -O3 -ffast-math -finline-functions -o aragorn aragorn${version}.c
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin && cp aragorn $out/bin
+    mkdir -p $out/man/1 && cp aragorn.1 $out/man/1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Detects tRNA, mtRNA, and tmRNA genes in nucleotide sequences";
+    homepage = http://mbio-serv2.mbioekol.lu.se/ARAGORN/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.bzizou ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/cedille/default.nix b/pkgs/applications/science/logic/cedille/default.nix
index 0817ebe0654b..e27173651913 100644
--- a/pkgs/applications/science/logic/cedille/default.nix
+++ b/pkgs/applications/science/logic/cedille/default.nix
@@ -1,50 +1,70 @@
-{ stdenv, lib, fetchFromGitHub, alex, happy, Agda, agdaIowaStdlib,
-  buildPlatform, buildPackages, ghcWithPackages, fetchpatch }:
-let
-  options-patch =
-    fetchpatch {
-      url = https://github.com/cedille/cedille/commit/ee62b0fabde6c4f7299a3778868519255cc4a64f.patch;
-      name = "options.patch";
-      sha256 = "19xzn9sqpfnfqikqy1x9lb9mb6722kbgvrapl6cf8ckcw8cfj8cz";
-      };
-in
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, texinfo
+, alex
+, happy
+, Agda
+, buildPlatform
+, buildPackages
+, ghcWithPackages
+}:
+
 stdenv.mkDerivation rec {
-  version = "1.0.0";
-  name = "cedille-${version}";
+  version = "1.1.1";
+  pname = "cedille";
+
   src = fetchFromGitHub {
     owner = "cedille";
     repo = "cedille";
     rev = "v${version}";
-    sha256 = "08c2vgg8i6l3ws7hd5gsj89mki36lxm7x7s8hi1qa5gllq04a832";
+    sha256 = "17j7an5bharc8q1pj06615zmflipjdd0clf67cnfdhsmqwzf6l9r";
+    fetchSubmodules = true;
   };
-  buildInputs = [ alex happy Agda (ghcWithPackages (ps: [ps.ieee])) ];
 
-  patches = [options-patch];
+  nativeBuildInputs = [ texinfo alex happy ];
+  buildInputs = [ Agda (ghcWithPackages (ps: [ps.ieee])) ];
 
   LANG = "en_US.UTF-8";
   LOCALE_ARCHIVE =
     lib.optionalString (buildPlatform.libc == "glibc")
       "${buildPackages.glibcLocales}/lib/locale/locale-archive";
 
+  patches = [
+    # texinfo direntry fix. See: https://github.com/cedille/cedille/pull/86
+    (fetchpatch {
+      url = "https://github.com/cedille/cedille/commit/c058f42179a635c7b6179772c30f0eba4ac53724.patch";
+      sha256 = "02qd86k5bdrygjzh2k0j0q5qk4nk2vwnsz7nvlssvysbvsmiba7x";
+    })
+  ];
+
   postPatch = ''
     patchShebangs create-libraries.sh
-    cp -r ${agdaIowaStdlib.src} ial
-    chmod -R 755 ial
+    patchShebangs docs/src/compile-docs.sh
   '';
 
-  outputs = ["out" "lib"];
+  # We regenerate the info file in order to fix the direntry
+  preBuild = ''
+    rm -f docs/info/cedille-info-main.info
+  '';
+
+  buildFlags = [ "all" "cedille-docs" ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    mv cedille $out/bin/cedille
-    mv lib $lib
+    install -Dm755 -t $out/bin/ cedille
+    install -Dm755 -t $out/bin/ core/cedille-core
+    install -Dm644 -t $out/share/info docs/info/cedille-info-main.info
+
+    mkdir -p $out/lib/
+    cp -r lib/ $out/lib/cedille/
   '';
 
-  meta = {
-    description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory.";
+  meta = with stdenv.lib; {
+    description = "An interactive theorem-prover and dependently typed programming language, based on extrinsic (aka Curry-style) type theory";
     homepage = https://cedille.github.io/;
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.mpickering ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.mit;
+    maintainers = with maintainers; [ marsam mpickering ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 7c32641e9c30..ed107765b467 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, bzip2, gfortran, libX11, libXmu, libXt, libjpeg, libpng
 , libtiff, ncurses, pango, pcre, perl, readline, tcl, texLive, tk, xz, zlib
 , less, texinfo, graphviz, icu, pkgconfig, bison, imake, which, jdk, openblas
-, curl, Cocoa, Foundation, libobjc, libcxx, tzdata
+, curl, Cocoa, Foundation, libobjc, libcxx, tzdata, fetchpatch
 , withRecommendedPackages ? true
 , enableStrictBarrier ? false
 , javaSupport ? (!stdenv.hostPlatform.isAarch32 && !stdenv.hostPlatform.isAarch64)
 }:
 
 stdenv.mkDerivation rec {
-  name = "R-3.5.3";
+  name = "R-3.6.0";
 
   src = fetchurl {
     url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-    sha256 = "1337irx9y0r3jm1rcq1dcwnxsgfhnvgjs5wadcyh17vhpnvkgyib";
+    sha256 = "02bmylmzrm9sdidirmwy233lghmd2346z725ca71ari68lzarz1n";
   };
 
   dontUseImakeConfigure = true;
@@ -25,7 +25,13 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa Foundation libobjc libcxx ]
     ++ stdenv.lib.optional javaSupport jdk;
 
-  patches = [ ./no-usr-local-search-paths.patch ];
+  patches = [
+    ./no-usr-local-search-paths.patch
+    (fetchpatch {
+      url = "https://github.com/wch/r-source/commit/aeb75e12863019be06fe6c762ab705bf5ed8b38c.patch";
+      sha256 = "03xv1g1yw1dbhx4paw6pn6hkawj8sny86km3748l1vnasbham82g";
+      })
+  ];
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace "-install_name libR.dylib" "-install_name $out/lib/R/lib/libR.dylib"
@@ -108,6 +114,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     hydraPlatforms = platforms.linux;
 
-    maintainers = [ maintainers.peti ];
+    maintainers = with maintainers; [ peti timokau ];
   };
 }
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index 755a60940388..3232d08aa339 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "geogebra-${version}";
-  version = "5-0-472-0";
+  version = "5-0-535-0";
 
   preferLocalBuild = true;
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
       "https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
       "http://web.archive.org/https://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2"
     ];
-    sha256 = "1f56k5r5wf2l27sgp2vjpvx7wl72gizwxs0a6hngk15nzzka87v9";
+    sha256 = "1mbjwa9isw390i0k1yh6r9wmh8zkczian0v25w2vxb2a8vv0hjk0";
   };
 
   srcIcon = fetchurl {
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index c729e441c1ce..cea2586179e3 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -134,6 +134,13 @@ stdenv.mkDerivation rec {
       url = "https://git.sagemath.org/sage.git/patch?id=d3483110474591ea6cc8e3210cd884f3e0018b3e";
       sha256 = "028i6h8l8npwzx5z0ax0rcywl85gc83qw1jf93zf523msdfcsk0n";
     })
+
+    # https://trac.sagemath.org/ticket/27738
+    (fetchpatch {
+      name = "R-3.6.0.patch";
+      url = "https://git.sagemath.org/sage.git/patch/?h=8b7dbd0805d02d0e8674a272e161ceb24a637966";
+      sha256 = "1c81f13z1w62s06yvp43gz6vkp8mxcs289n6l4gj9xj10slimzff";
+    })
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index f5cac00a5bb7..b1ff15163375 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "33.0.0";
+  version = "33.1.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "0bphwjjpcj86phcx795wdy5b0ivwh5mvbvi5288pql88x6x0jjk9";
+    sha256 = "130hh6m7cv2x9jv51qclnfg3dldxhfzhzhf6sqibfhynaj65m09i";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index b634625206a6..719626fe40a8 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -200,14 +200,14 @@ rec {
   # Get revisions from
   # https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
 
-  docker_18_09 = dockerGen rec {
-    version = "18.09.2";
-    rev = "62479626f213818ba5b4565105a05277308587d5"; # git commit
-    sha256 = "05kvpy1c4g661xfds6dfzb8r5q76ndblxjykfj06had18pv0xxd4";
-    runcRev = "09c8266bf2fcf9519a651b04ae54c967b9ab86ec";
-    runcSha256 = "08h45vs1f25byapqzy6x42r86m232z166v6z81gc2a3id8v0nzia";
-    containerdRev = "9754871865f7fe2f4e74d43e2fc7ccd237edcbce";
-    containerdSha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya";
+  docker_18_09 = makeOverridable dockerGen {
+    version = "18.09.5";
+    rev = "e8ff056dbcfadaeca12a5f508b0cec281126c01d";
+    sha256 = "16nd9vg2286m6v47fjq2zicmfvi8vwiwn24yylxia8b9mk417kdb";
+    runcRev = "2b18fe1d885ee5083ef9f0838fee39b62d653e30";
+    runcSha256 = "0g0d9mh5fcvsjgddiyw98ph5zpz5ivlwy89m45jxwbzkxb21gy7w";
+    containerdRev = "bb71b10fd8f58240ca47fbb579b9d1028eea7c84";
+    containerdSha256 = "0npbzixf3c0jvzm159vygvkydrr8h36c9sq50yv0mdinrys2bvg0";
     tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
     tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
   };
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 908e888503e7..04fead5209c0 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -47,9 +47,10 @@ stdenv.mkDerivation rec {
     sha256 = "08frr1fdjx8qcfh3fafn10kibdwbvkqqvfl7hpqbm7i9dg4f1zlq";
   };
 
+  nativeBuildInputs = [ python2 pkgconfig flex bison ];
   buildInputs =
-    [ python2 zlib pkgconfig glib ncurses perl pixman
-      vde2 texinfo flex bison makeWrapper lzo snappy
+    [ zlib glib ncurses perl pixman
+      vde2 texinfo makeWrapper lzo snappy
       gnutls nettle curl
     ]
     ++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 364771de80fd..fa86257a1a95 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -42,17 +42,17 @@ with luaPackages; stdenv.mkDerivation rec {
   cmakeFlags = "-DOVERRIDE_VERSION=${version}";
 
   GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
+  # LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags
+  # below for how awesome finds the libraries it needs at runtime.
   LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
-  LUA_PATH  = "?.lua;${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
+  LUA_PATH  = "${lgi}/share/lua/${lua.luaversion}/?.lua;;";
 
   postInstall = ''
     wrapProgram $out/bin/awesome \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --add-flags '--search ${lgi}/lib/lua/${lua.luaversion}' \
       --add-flags '--search ${lgi}/share/lua/${lua.luaversion}' \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LUA_PATH ';'  "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua" \
-      --prefix LUA_CPATH ';' "${lgi}/lib/lua/${lua.luaversion}/?.so"
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
 
     wrapProgram $out/bin/awesome-client \
       --prefix PATH : "${which}/bin"
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index ad06b1ee832c..3299811c4978 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
       sha256 = "0r583nmqvq43ib93yv6flw8pj833v32lbs0q0xld56s3rnzvvdcp";
     })
     ./sway-config-no-nix-store-references.patch
+    ./load-configuration-from-etc.patch
   ];
 
   nativeBuildInputs = [ pkgconfig meson ninja scdoc ];
diff --git a/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch b/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch
new file mode 100644
index 000000000000..26a3d40d66cb
--- /dev/null
+++ b/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch
@@ -0,0 +1,42 @@
+From 26f9c65ef037892977a824f0d7d7111066856b53 Mon Sep 17 00:00:00 2001
+From: Michael Weiss <dev.primeos@gmail.com>
+Date: Sat, 27 Apr 2019 14:26:16 +0200
+Subject: [PATCH] Load configs from /etc but fallback to /nix/store
+
+This change will load all configuration files from /etc, to make it easy
+to override them, but fallback to /nix/store/.../etc/sway/config to make
+Sway work out-of-the-box with the default configuration on non NixOS
+systems.
+---
+ meson.build   | 3 ++-
+ sway/config.c | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 02b5d606..c03a9c0f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -129,7 +129,8 @@ if scdoc.found()
+ 	endforeach
+ endif
+ 
+-add_project_arguments('-DSYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
++add_project_arguments('-DSYSCONFDIR="/@0@"'.format(sysconfdir), language : 'c')
++add_project_arguments('-DNIX_SYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
+ 
+ version = '"@0@"'.format(meson.project_version())
+ if git.found()
+diff --git a/sway/config.c b/sway/config.c
+index 4cd21bbc..dd855753 100644
+--- a/sway/config.c
++++ b/sway/config.c
+@@ -317,6 +317,7 @@ static char *get_config_path(void) {
+ 		"$XDG_CONFIG_HOME/i3/config",
+ 		SYSCONFDIR "/sway/config",
+ 		SYSCONFDIR "/i3/config",
++		NIX_SYSCONFDIR "/sway/config",
+ 	};
+ 
+ 	char *config_home = getenv("XDG_CONFIG_HOME");
+-- 
+2.19.2
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index f0c0faa8cdab..c17274295c96 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -49,10 +49,12 @@ rec {
   } // (removeAttrs args (builtins.attrNames (builtins.functionArgs wrapAppImage))));
 
   wrapType1 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
+    inherit name extraPkgs;
     src = extractType1 { inherit name src; };
   });
 
   wrapType2 = args@{ name, src, extraPkgs ? pkgs: [], ... }: wrapAppImage (args // {
+    inherit name extraPkgs;
     src = extractType2 { inherit name src; };
   });
 
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 5a3d308b492e..0676d3c0e1f6 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchzip }:
 
 let
-  version = "2.2.0";
+  version = "2.2.1";
 in fetchzip rec {
   name = "iosevka-bin-${version}";
 
@@ -12,7 +12,7 @@ in fetchzip rec {
     unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
   '';
 
-  sha256 = "038jpax2kgpknqzlg4iip4213f5lbs99iixsxccxy1bg4w7liqsa";
+  sha256 = "0d5ys9k8adj9v1hpwbmjqshzpjlnyj81xwp0328vc5q8pvjcfly6";
 
   meta = with stdenv.lib; {
     homepage = https://be5invis.github.io/Iosevka/;
diff --git a/pkgs/data/fonts/nahid-fonts/default.nix b/pkgs/data/fonts/nahid-fonts/default.nix
new file mode 100644
index 000000000000..31c0f5590bd5
--- /dev/null
+++ b/pkgs/data/fonts/nahid-fonts/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "nahid-fonts";
+  version = "0.3.0";
+
+  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
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/rastikerdar/nahid-font;
+    description = "A Persian (Farsi) Font - قلم (فونت) فارسی ناهید";
+    license = licenses.free;
+    platforms = platforms.all;
+    maintainers = [ maintainers.linarcx ];
+  };
+}
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index ea4e6cd1f1c9..0ab50bd53f05 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.21.1";
+  version = "1.22.1";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
-    sha256 = "0a5907h896pvpix7a6idc2fspzy6d78xrzf84k8y9fyvnd14nxs4";
+    sha256 = "04mfjvaxi36b7r6kn4n0nq2gj97cbldk9iqnr5pf8jnm8plyblr0";
   };
 
   nativeBuildInputs = [ pkgconfig gtk3 ];
@@ -29,9 +29,6 @@ stdenv.mkDerivation rec {
     harfbuzz jbig2dec librsvg dbus alsaLib poppler ghostscript libraw libspectre xineLib libwebp curl libdrm
     libinput utillinux fribidi SDL2 ];
 
-  # as of 1.21.0 compilation will fail due to -Werror=format-security
-  hardeningDisable = [ "format" ];
-
   # ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++
   configureFlags = [
     "--enable-sdl"
@@ -54,6 +51,10 @@ stdenv.mkDerivation rec {
 
   patches = [ ./efl-elua.patch ];
 
+  postPatch = ''
+    patchShebangs src/lib/elementary/config_embed
+  '';
+
   # bin/edje_cc creates $HOME/.run, which would break build of reverse dependencies.
   setupHook = writeText "setupHook.sh" ''
     export HOME="$TEMPDIR"
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
index f51270bcbd20..a6528c95c19c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix
@@ -13,6 +13,7 @@
 , libgnomekbd
 , lcms2
 , libpulseaudio
+, mousetweaks
 , alsaLib
 , libcanberra-gtk3
 , upower
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./fix-paths.patch;
-      inherit tzdata;
+      inherit tzdata mousetweaks;
     })
   ];
 
diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
index 2229302cab7c..272656fae78c 100644
--- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/fix-paths.patch
@@ -13,3 +13,14 @@
  
  typedef struct _TzDB TzDB;
  typedef struct _TzLocation TzLocation;
+--- a/plugins/mouse/gsd-mouse-manager.c
++++ b/plugins/mouse/gsd-mouse-manager.c
+@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
+         gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
+
+         if (run_daemon || manager->priv->mousetweaks_daemon_running)
+-                comm = g_strdup_printf ("mousetweaks %s",
++                comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
+                                         run_daemon ? "" : "-s");
+         else
+                 return;
diff --git a/pkgs/desktops/gnome-3/core/mutter/3.28.nix b/pkgs/desktops/gnome-3/core/mutter/3.28.nix
index 30d082e07e29..9be383220e6e 100644
--- a/pkgs/desktops/gnome-3/core/mutter/3.28.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/3.28.nix
@@ -1,5 +1,5 @@
 { fetchFromGitLab, stdenv, substituteAll, pkgconfig, gnome3, intltool, gobject-introspection, upower, cairo
-, glib, gtk3, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3
+, glib, gtk3, pango, cogl, clutter, libstartup_notification, zenity, libcanberra-gtk3, fetchpatch
 , gsettings-desktop-schemas, gnome-desktop, wrapGAppsHook
 , libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libinput
 , geocode-glib, libgudev, libwacom, xwayland, autoreconfHook }:
@@ -21,6 +21,33 @@ stdenv.mkDerivation rec {
       src = ./fix-paths-328.patch;
       inherit zenity;
     })
+
+    # https://bugzilla.redhat.com/show_bug.cgi?id=1700337
+    # https://gitlab.gnome.org/GNOME/mutter/merge_requests/133
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0070-clutter-Add-API-to-retrieve-the-physical-size-of-abs.patch";
+      sha256 = "11xg0clrqwvssy2r6hv4iya8g87z2v5f47fimd2b4hha6ki3g1is";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0071-backends-Add-MetaInputMapper.patch";
+      sha256 = "1kcp42hg8sy1q21w5586gdgmi95nf36829kkfswbah61h6bkb518";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0072-backends-Delegate-on-MetaInputMapper-for-unmapped-di.patch";
+      sha256 = "0zf4yxhq5s3dnzmn15mx4yb978g27ij4vmq055my9p7xgh6h9ga8";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0073-backends-Add-MetaInputMapper-method-to-lookup-device.patch";
+      sha256 = "0dnb2hqx5in6x9ar6wnr1hy3bg2wdcl3wbdx4jn66c7bi7s1k5zd";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0074-backends-Turn-builtin-touchscreen-on-off-together-wi.patch";
+      sha256 = "17fvs7j5ws4sz6fkch93gjlik0nm4z426w4n348gyw5llh0r76pg";
+    })
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/mutter328/raw/fff28bebda02111b4c534952465ff967ba7efced/f/0075-backends-Update-to-new-output-setting-for-tablets-to.patch";
+      sha256 = "141p3an83s042f67fw2fqmr79i5g634ndrbpd8cs47fd4wwiwpj5";
+    })
   ];
 
   configureFlags = [
diff --git a/pkgs/desktops/gnustep/libobjc2/default.nix b/pkgs/desktops/gnustep/libobjc2/default.nix
index 3aba235b3a79..b238623eb09a 100644
--- a/pkgs/desktops/gnustep/libobjc2/default.nix
+++ b/pkgs/desktops/gnustep/libobjc2/default.nix
@@ -1,20 +1,17 @@
 { stdenv, lib, fetchFromGitHub, cmake }:
 
-let
-  version = "1.8.1";
-in
-
 stdenv.mkDerivation rec {
-  name = "libobjc2-${version}";
+  pname = "libobjc2";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "gnustep";
     repo = "libobjc2";
     rev = "v${version}";
-    sha256 = "12v9pjg97h56mb114cqd22q1pdwhmxrgdw5hal74ddlrhiq1nzvi";
+    sha256 = "00pscl3ly3rv6alf9vk70kxnnxq2rfgpc1ylcv6cgjs9jxdnrqmn";
   };
 
-  buildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
 
diff --git a/pkgs/desktops/mate/marco/default.nix b/pkgs/desktops/mate/marco/default.nix
index c9dfb37d7676..3719225fe8f7 100644
--- a/pkgs/desktops/mate/marco/default.nix
+++ b/pkgs/desktops/mate/marco/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "marco-${version}";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1i1pi1z9mrb6564mxcwb93jqpdppfv58c2viwmicsixis62hv5wx";
+    sha256 = "1j7pvq8ndyl2x8jmh95sj69cnf0q9qsjn7lkr3jz6hk103mga82f";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-session-manager/default.nix b/pkgs/desktops/mate/mate-session-manager/default.nix
index 6fc18b887261..3448e8327f5b 100644
--- a/pkgs/desktops/mate/mate-session-manager/default.nix
+++ b/pkgs/desktops/mate/mate-session-manager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-session-manager-${version}";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1kpfmgay01gm74paaxccs3lim4jfb4hsm7i85jfdypr51985pwyj";
+    sha256 = "1ix8picxgc28m5zd0ww3zvzw6rz38wvzsrbqw28hghrfg926h6ig";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-system-monitor/default.nix b/pkgs/desktops/mate/mate-system-monitor/default.nix
index 9c496bfae60f..f7cdf036cebf 100644
--- a/pkgs/desktops/mate/mate-system-monitor/default.nix
+++ b/pkgs/desktops/mate/mate-system-monitor/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mate-system-monitor-${version}";
-  version = "1.22.0";
+  version = "1.22.1";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0rs0n5ivmvi355fp3ymcp1jj2sz9viw31475aw7zh7s1l7dn969x";
+    sha256 = "0yh1sh5snd7ivchh6l9rbn1s7ia4j5ihhzhqkyjnhr8ln59dvcbm";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
index 1dfa64ae3732..eeca04eff4e8 100644
--- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
+++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
@@ -22,6 +22,7 @@
 , libxml2
 , libxslt
 , meson
+, mousetweaks
 , networkmanager
 , ninja
 , nss
@@ -30,12 +31,12 @@
 , pkgconfig
 , polkit
 , python3
+, stdenv
 , substituteAll
 , systemd
 , tzdata
 , upower
 , wrapGAppsHook
-, stdenv
 }:
 
 stdenv.mkDerivation rec {
@@ -63,7 +64,7 @@ stdenv.mkDerivation rec {
   patches = let patchPath = "${src2}/debian/patches"; in [
     (substituteAll {
       src = ./fix-paths.patch;
-      inherit tzdata;
+      inherit tzdata mousetweaks;
     })
     "${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch"
     "${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch"
diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch b/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
index 2229302cab7c..272656fae78c 100644
--- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
+++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch
@@ -13,3 +13,14 @@
  
  typedef struct _TzDB TzDB;
  typedef struct _TzLocation TzLocation;
+--- a/plugins/mouse/gsd-mouse-manager.c
++++ b/plugins/mouse/gsd-mouse-manager.c
+@@ -118,7 +118,7 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
+         gboolean run_daemon = dwell_click_enabled || secondary_click_enabled;
+
+         if (run_daemon || manager->priv->mousetweaks_daemon_running)
+-                comm = g_strdup_printf ("mousetweaks %s",
++                comm = g_strdup_printf ("@mousetweaks@/bin/mousetweaks %s",
+                                         run_daemon ? "" : "-s");
+         else
+                 return;
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 2c99713bcd4a..d1bd9e957f71 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -102,6 +102,7 @@ let
       breeze-qt5 = callPackage ./breeze-qt5.nix {};
       breeze-grub = callPackage ./breeze-grub.nix {};
       breeze-plymouth = callPackage ./breeze-plymouth {};
+      discover = callPackage ./discover.nix {};
       kactivitymanagerd = callPackage ./kactivitymanagerd.nix {};
       kde-cli-tools = callPackage ./kde-cli-tools.nix {};
       kde-gtk-config = callPackage ./kde-gtk-config { inherit gsettings-desktop-schemas; };
diff --git a/pkgs/desktops/plasma-5/discover.nix b/pkgs/desktops/plasma-5/discover.nix
new file mode 100644
index 000000000000..a859285e0789
--- /dev/null
+++ b/pkgs/desktops/plasma-5/discover.nix
@@ -0,0 +1,20 @@
+{
+  mkDerivation,
+  extra-cmake-modules, gettext, kdoctools, python,
+  appstream-qt, discount, flatpak, fwupd, ostree, packagekit-qt, pcre, utillinux,
+  qtquickcontrols2,
+  karchive, kconfig, kcrash, kdbusaddons, kdeclarative, kio, kirigami2, kitemmodels,
+  knewstuff, kwindowsystem, kxmlgui, plasma-framework
+}:
+
+mkDerivation {
+  name = "discover";
+  nativeBuildInputs = [ extra-cmake-modules gettext kdoctools python ];
+  buildInputs = [
+    # discount is needed for libmarkdown
+    appstream-qt discount flatpak fwupd ostree packagekit-qt pcre utillinux
+    qtquickcontrols2
+    karchive kconfig kcrash kdbusaddons kdeclarative kio kirigami2 kitemmodels knewstuff kwindowsystem kxmlgui
+    plasma-framework
+  ];
+}
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
index 32ace2a817a0..03febb6aa355 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/sources.json
+++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
@@ -5,7 +5,7 @@
         "hotspot": {
           "aarch64": {
             "build": "7",
-            "sha256": "ac367f3261fb53508c07f7eeb767b11ab53681b7613b81b6b7030c4db00b1aa8",
+            "sha256": "894a846600ddb0df474350037a2fb43e3343dc3606809a20c65e750580d8f2b9",
             "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.3_7.tar.gz",
             "version": "11.0.3"
           },
@@ -33,7 +33,7 @@
         "hotspot": {
           "aarch64": {
             "build": "7",
-            "sha256": "4af5b7d6678d03f2207029a7c610d81b1f016462c1dfcd8153a227b1df973a42",
+            "sha256": "de31fab70640c6d5099de5fc8fa8b4d6b484a7352fa48a9fafbdc088ca708564",
             "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.3_7.tar.gz",
             "version": "11.0.3"
           },
diff --git a/pkgs/development/compilers/ghc/8.6.5.nix b/pkgs/development/compilers/ghc/8.6.5.nix
index 1cbfa7e65936..e891ff42ff60 100644
--- a/pkgs/development/compilers/ghc/8.6.5.nix
+++ b/pkgs/development/compilers/ghc/8.6.5.nix
@@ -84,12 +84,12 @@ let
 
 in
 stdenv.mkDerivation (rec {
-  version = "8.6.4.20190406";
+  version = "8.6.5";
   name = "${targetPrefix}ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/8.6.5-rc1/ghc-${version}-src.tar.xz";
-    sha256 = "1zschidlaj80fl9flnlfhvlvy75cks3hz31cfxyyz935m3xyayxv";
+    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
+    sha256 = "0qg3zsmbk4rkwkc3jpas3zs74qaxmw4sp4v1mhsbj0a0dzls2jjd";
   };
 
   enableParallelBuilding = true;
@@ -228,7 +228,7 @@ stdenv.mkDerivation (rec {
     inherit enableShared;
 
     # Our Cabal compiler name
-    haskellCompilerName = "ghc-8.6.4.20190406";
+    haskellCompilerName = "ghc-${version}";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/ghc/8.8.1.nix b/pkgs/development/compilers/ghc/8.8.1.nix
new file mode 100644
index 000000000000..9772d045b765
--- /dev/null
+++ b/pkgs/development/compilers/ghc/8.8.1.nix
@@ -0,0 +1,230 @@
+{ stdenv, pkgsBuildTarget, targetPackages
+
+# build-tools
+, bootPkgs
+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx
+
+, libiconv ? null, ncurses
+
+, # GHC can be built with system libffi or a bundled one.
+  libffi ? null
+
+, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
+, # 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.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+
+, # Whetherto build terminfo.
+  enableTerminfo ? !stdenv.targetPlatform.isWindows
+
+, # 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"
+
+, # 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/
+  disableLargeAddressSpace ? stdenv.targetPlatform.isDarwin && stdenv.targetPlatform.isAarch64
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+let
+  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = stdenv.lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    BuildFlavour = ${ghcFlavour}
+    ifneq \"\$(BuildFlavour)\" \"\"
+    include mk/flavours/\$(BuildFlavour).mk
+    endif
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+    CrossCompilePrefix = ${targetPrefix}
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+    ++ [libffi]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+  toolsForTarget = [
+    pkgsBuildTarget.targetPackages.stdenv.cc
+  ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+in
+stdenv.mkDerivation (rec {
+  version = "8.8.0.20190424";
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/~ghc/8.8.1-alpha1/ghc-${version}-src.tar.xz";
+    sha256 = "1lwzy4q9hhaayamr1ij3lk8l7zdwfqza5b2racylp7xn2y9wanl9";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  postPatch = "patchShebangs .";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
+  '' + stdenv.lib.optionalString targetPlatform.isMusl ''
+      echo "patching llvm-targets for musl targets..."
+      echo "Cloning these existing '*-linux-gnu*' targets:"
+      grep linux-gnu llvm-targets | sed 's/^/  /'
+      echo "(go go gadget sed)"
+      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
+      echo "llvm-targets now contains these '*-linux-musl*' targets:"
+      grep linux-musl llvm-targets | sed 's/^/  /'
+
+      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
+      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
+      for x in configure aclocal.m4; do
+        substituteInPlace $x \
+          --replace '*-android*|*-gnueabi*)' \
+                    '*-android*|*-gnueabi*|*-musleabi*)'
+      done
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${targetPackages.libffi.dev}/include" "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+    "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+    "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
+    "--disable-large-address-space"
+  ];
+
+  # Make sure we never relax`$PATH` and hooks support for compatability.
+  strictDeps = true;
+
+  # Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
+	dontAddExtraLibs = true;
+
+  nativeBuildInputs = [
+    perl autoconf automake m4 python3 sphinx
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = [ perl ] ++ (libDeps hostPlatform);
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  hardeningDisable = [ "format" ] ++ stdenv.lib.optional stdenv.targetPlatform.isMusl "pie";
+
+  postInstall = ''
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+    inherit enableShared;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-${version}";
+  };
+
+  meta = {
+    homepage = http://haskell.org/ghc;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+    inherit (ghc.meta) license platforms;
+  };
+
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix
index 62934dd9eeb3..08e3ec4f445f 100644
--- a/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -1,19 +1,19 @@
 { stdenv, lib, fetchurl, file, glib, libxml2, libav_0_8, ffmpeg, libxslt
 , libGL , xorg, alsaLib, fontconfig, freetype, pango, gtk2, cairo
-, gdk_pixbuf, atk }:
+, gdk_pixbuf, atk, zlib }:
 
 # TODO: Investigate building from source instead of patching binaries.
 # TODO: Binary patching for not just x86_64-linux but also x86_64-darwin i686-linux
 
 let drv = stdenv.mkDerivation rec {
   pname = "jetbrainsjdk";
-  version = "202b1483.37";
+  version = "164";
   name = pname + "-" + version;
 
   src = if stdenv.hostPlatform.system == "x86_64-linux" then
     fetchurl {
-      url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk8u${version}_linux_x64.tar.gz";
-      sha256 = "12l81g8zhaymh4rzyfl9nyzmpkgzc7wrphm3j4plxx129yn9i7d7";
+      url = "https://bintray.com/jetbrains/intellij-jdk/download_file?file_path=jbrsdk-11_0_2-linux-x64-b${version}.tar.gz";
+      sha256 = "121yzgvkfx7lq0k9s8wjnhz09a564br5y7zlkxgh191sbm2i7zdi";
     }
   else
     throw "unsupported system: ${stdenv.hostPlatform.system}";
@@ -29,16 +29,7 @@ let drv = stdenv.mkDerivation rec {
     jrePath=$out/jre
   '';
 
-  postFixup = let
-    arch = "amd64";
-    rSubPaths = [
-      "lib/${arch}/jli"
-      "lib/${arch}/server"
-      "lib/${arch}/xawt"
-      "lib/${arch}"
-    ];
-    in ''
-    rpath+="''${rpath:+:}${stdenv.lib.concatStringsSep ":" (map (a: "$jrePath/${a}") rSubPaths)}"
+  postFixup = ''
     find $out -type f -perm -0100 \
         -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
         --set-rpath "$rpath" {} \;
@@ -47,10 +38,11 @@ let drv = stdenv.mkDerivation rec {
 
   rpath = lib.makeLibraryPath ([
     stdenv.cc.cc stdenv.cc.libc glib libxml2 libav_0_8 ffmpeg libxslt libGL
-    alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk
+    alsaLib fontconfig freetype pango gtk2 cairo gdk_pixbuf atk zlib
+    (placeholder "out")
   ] ++ (with xorg; [
     libX11 libXext libXtst libXi libXp libXt libXrender libXxf86vm
-  ]));
+  ])) + ":${placeholder "out"}/lib/jli";
 
   passthru.home = drv;
 
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index 832954dd67f2..952c5d1bf6ae 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -95,6 +95,9 @@ let
       ./swing-use-gtk-jdk8.patch
     ];
 
+    # Hotspot cares about the host(!) version otherwise
+    DISABLE_HOTSPOT_OS_VERSION_CHECK = "ok";
+
     preConfigure = ''
       chmod +x configure
       substituteInPlace configure --replace /bin/bash "${bash}/bin/bash"
diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
index 81f4ef3c7dba..d9ee5010f7cf 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
@@ -2,13 +2,13 @@
 # jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "201";
-  buildVersion = "09";
-  sha256.i686-linux = "1f9n93zmkggchaxkchp4bqasvxznn96zjci34f52h7v392jkzqac";
-  sha256.x86_64-linux = "0w730v2q0iaxf2lprabwmy7129byrs0hhdbwas575p1xmk00qw6b";
-  sha256.armv7l-linux = "0y6bvq93lsf21v6ca536dpfhkk5ljsj7c6di0qzkban37bivj0si";
-  sha256.aarch64-linux = "1bybysgg9llqzllsmdszmmb73v5az2l1shxn6lxwv3wwiazpf47q";
-  releaseToken = "42970487e3af4f5aa5bca3f542482c60";
+  patchVersion = "211";
+  buildVersion = "12";
+  sha256.i686-linux = "0mdrljs0rw9s4pvaa3sn791nqgdrp8749z3qn80y7hhad74kvsnp";
+  sha256.x86_64-linux = "13b6qk4sn8jdhxa22na9d2aazm4yjh6yxrlxr189gxy3619y9dy0";
+  sha256.armv7l-linux = "1ij1x925k7lyp5f98gy8r0xfr41qhczf2rb74plwwmrccc1k00p5";
+  sha256.aarch64-linux = "041r615qj9qy34a9gxm8968qlmf060ba2as5w97v86mbik4rca05";
+  releaseToken = "478a62b7d4e34b78b671c754eaaf38ab";
   jceName = "jce_policy-8.zip";
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
 }
diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
index 0263bdde8d28..9fab02ab5361 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
@@ -2,13 +2,13 @@
 # jce download url: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "202";
-  buildVersion = "09";
-  sha256.i686-linux = "19np392dwdqdq39lmm10607w2h042lrm5953fnsfh1bb9jli1pgj";
-  sha256.x86_64-linux = "1q4l8pymjvsvxfwaw0rdcnhryh1la2bvg5f4d4my41ka390k4p4s";
-  sha256.armv7l-linux = "06aljl7dqmmhmp7xswgvkcgh9mam71wnqydg9yb3hkcc443cm581";
-  sha256.aarch64-linux = "12v9ndv7a2c9zqq6ai2vsgwad0lzmf4c6jxy4p9miapmhjzx5vii";
-  releaseToken = "42970487e3af4f5aa5bca3f542482c60";
+  patchVersion = "212";
+  buildVersion = "10";
+  sha256.i686-linux = "03dj9q0bi3ib731f4zl9hylkrgw417h6qlg2wi7nw71b0fqhijn1";
+  sha256.x86_64-linux = "1yzddxzfh6h14bpzis1abp52x4jjljg8a3zyqz483q6qm05caq1i";
+  sha256.armv7l-linux = "0x333alkqdx8mmiirair7g5iiwif5v9ka4j3qr0f42ilvmk8csnx";
+  sha256.aarch64-linux = "0vcbdvcsl8rm47i07s93jmrrs5laibf937d8vacjqqgh9bbhsr2c";
+  releaseToken = "59066701cf1a433da9770636fbc4c9aa";
   jceName = "jce_policy-8.zip";
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
 }
diff --git a/pkgs/development/compilers/sbcl/bootstrap.nix b/pkgs/development/compilers/sbcl/bootstrap.nix
index ee662d39e451..056ad7454600 100644
--- a/pkgs/development/compilers/sbcl/bootstrap.nix
+++ b/pkgs/development/compilers/sbcl/bootstrap.nix
@@ -3,9 +3,9 @@
 let
   options = rec {
     x86_64-darwin = rec {
-      version = "1.1.8";
+      version = "1.2.11";
       system = "x86-64-darwin";
-      sha256 = "006pr88053wclvbjfjdypnbiw8wymbzdzi7a6kbkpdfn4zf5943j";
+      sha256 = "0lh4gpvi8hl6g6b9321g5pwh8sk3218i7h4lx7p3vd9z0cf3lz85";
     };
     x86_64-linux = rec {
       version = "1.3.16";
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index bca506169889..469d7847409f 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "1a4c84b6qqi4w4l1zzhnhnywk73j3wb0gjgghzcw0h5syqbqzy8z";
+    sha256 = "08z62qba0kmm15k93s2rq7ipi769895g8iwigcp20qjh6amwnwph";
   };
 
   buildInputs = [texinfo];
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index 1aea771e4996..97b4a627540c 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -1,22 +1,30 @@
-{ stdenv, fetchurl, jdk, gmp, readline, openssl, libjpeg, unixODBC, zlib
+{ stdenv, fetchgit, jdk, gmp, readline, openssl, libjpeg, unixODBC, zlib
 , libXinerama, libarchive, db, pcre, libedit, libossp_uuid, libXft, libXpm
 , libSM, libXt, freetype, pkgconfig, fontconfig, makeWrapper ? stdenv.isDarwin
+, git, cacert, cmake, libyaml
+, extraLibraries ? [ jdk unixODBC libXpm libSM libXt freetype fontconfig ]
+, extraPacks     ? []
 }:
 
 let
-  version = "7.6.4";
+  version = "8.1.4";
+  packInstall = swiplPath: pack:
+    ''${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/pack\"), silent(true), interactive(false)])." -t "halt."
+    '';
 in
 stdenv.mkDerivation {
   name = "swi-prolog-${version}";
 
-  src = fetchurl {
-    url = "http://www.swi-prolog.org/download/stable/src/swipl-${version}.tar.gz";
-    sha256 = "14bq4sqs61maqpnmgy6687jjj0shwc27cpfsqbf056nrssmplg9d";
+  src = fetchgit {
+    url = "https://github.com/SWI-Prolog/swipl-devel";
+    rev = "V${version}";
+    sha256 = "0qxa6f5dypwczxajlf0l736adbjb17cbak3qsh5g04hpv2bxm6dh";
   };
 
-  buildInputs = [ jdk gmp readline openssl libjpeg unixODBC libXinerama
-    libarchive db pcre libedit libossp_uuid libXft libXpm libSM libXt
-    zlib freetype pkgconfig fontconfig ]
+  buildInputs = [ cacert git cmake gmp readline openssl
+    libarchive libyaml db pcre libedit libossp_uuid
+    zlib pkgconfig ]
+  ++ extraLibraries
   ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
 
   hardeningDisable = [ "format" ];
@@ -27,7 +35,20 @@ stdenv.mkDerivation {
     "--enable-shared"
   ];
 
-  buildFlags = "world";
+  installPhase = ''
+    mkdir -p $out
+    mkdir build
+    cd build
+    ${cmake}/bin/cmake -DCMAKE_INSTALL_PREFIX=$out ..
+    cd ../
+    make
+    make install
+    make clean
+    mkdir -p $out/lib/swipl/pack
+  ''
+  + builtins.concatStringsSep "\n"
+  ( builtins.map (packInstall "$out") extraPacks
+  );
 
   # For macOS: still not fixed in upstream: "abort trap 6" when called
   # through symlink, so wrap binary.
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 46230a532f05..783edb599f76 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1282,4 +1282,10 @@ self: super: {
   # Break out of pandoc >=2.0 && <2.7 (https://github.com/pbrisbin/yesod-markdown/pull/65)
   yesod-markdown = doJailbreak super.yesod-markdown;
 
+  # These packages needs network 3.x, which is not in LTS-13.x.
+  network-bsd = super.network-bsd.override { network = self.network_3_0_1_1; };
+  lambdabot-core = super.lambdabot-core.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
+  lambdabot-reference-plugins = super.lambdabot-reference-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
+  lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; socks = self.socks_0_6_0; connection = self.connection_0_3_0; haskell-src-exts = self.haskell-src-exts_1_21_0; });
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index b5fe837cec57..8d0582a8d067 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -4,8 +4,8 @@ with haskellLib;
 
 self: super: {
 
-  # This compiler version needs llvm 5.x.
-  llvmPackages = pkgs.llvmPackages_5;
+  # This compiler version needs llvm 6.x.
+  llvmPackages = pkgs.llvmPackages_6;
 
   # Disable GHC 8.6.x core libraries.
   array = null;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
new file mode 100644
index 000000000000..2b58e5ce5e23
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -0,0 +1,58 @@
+{ pkgs, haskellLib }:
+
+with haskellLib;
+
+self: super: {
+
+  # This compiler version needs llvm 7.x.
+  llvmPackages = pkgs.llvmPackages_7;
+
+  # Disable GHC 8.8.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-boot = null;
+  ghc-boot-th = null;
+  ghc-compact = null;
+  ghc-heap = null;
+  ghc-prim = null;
+  ghci = null;
+  haskeline = null;
+  hpc = null;
+  integer-gmp = null;
+  libiserv = null;
+  mtl = null;
+  parsec = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  stm = null;
+  template-haskell = null;
+  terminfo = null;
+  text = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+  # Ignore overly restrictive upper version bounds.
+  doctest = doJailbreak super.doctest;
+
+  # These packages don't work and need patching and/or an update.
+  primitive = overrideSrc (doJailbreak super.primitive) {
+    version = "20180530-git";
+    src = pkgs.fetchFromGitHub {
+      owner = "haskell";
+      repo = "primitive";
+      rev = "97964182881aa0419546e0bb188b2d17e4468324";
+      sha256 = "1p1pinca33vd10iy7hl20c1fc99vharcgcai6z3ngqbq50k2pd3q";
+    };
+  };
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index f8a5c0bb5737..0795ca0f7238 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -1,6 +1,6 @@
 # pkgs/development/haskell-modules/configuration-hackage2nix.yaml
 
-compiler: ghc-8.6.4
+compiler: ghc-8.6.5
 
 core-packages:
   - array-0.5.3.0
@@ -12,13 +12,13 @@ core-packages:
   - deepseq-1.4.4.0
   - directory-1.3.3.0
   - filepath-1.4.2.1
-  - ghc-8.6.4
-  - ghc-boot-8.6.4
-  - ghc-boot-th-8.6.4
+  - ghc-8.6.5
+  - ghc-boot-8.6.5
+  - ghc-boot-th-8.6.5
   - ghc-compact-0.1.0.0
-  - ghc-heap-8.6.4
+  - ghc-heap-8.6.5
   - ghc-prim-0.5.3
-  - ghci-8.6.4
+  - ghci-8.6.5
   - haskeline-0.7.4.3
   - hpc-0.6.0.3
   - integer-gmp-1.0.2.0
@@ -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.18
+  # LTS Haskell 13.19
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -179,7 +179,7 @@ default-package-overrides:
   - amazonka-waf ==1.6.1
   - amazonka-workspaces ==1.6.1
   - amazonka-xray ==1.6.1
-  - amqp ==0.18.1
+  - amqp ==0.18.2
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.8.2
   - ansi-wl-pprint ==0.6.8.2
@@ -269,7 +269,7 @@ default-package-overrides:
   - bencode ==0.6.0.0
   - between ==0.11.0.0
   - bibtex ==0.1.0.6
-  - bifunctors ==5.5.3
+  - bifunctors ==5.5.4
   - bimap ==0.3.3
   - bimap-server ==0.1.0.1
   - binary-bits ==0.5
@@ -316,7 +316,7 @@ default-package-overrides:
   - boolean-normal-forms ==0.0.1
   - boolsimplifier ==0.1.8
   - bordacount ==0.1.0.0
-  - boring ==0.1
+  - boring ==0.1.1
   - both ==0.1.1.0
   - bound ==2.0.1
   - BoundedChan ==1.0.3.0
@@ -563,7 +563,7 @@ default-package-overrides:
   - DAV ==1.3.3
   - dbcleaner ==0.1.3
   - DBFunctor ==0.1.1.1
-  - dbus ==1.2.5
+  - dbus ==1.2.6
   - debian-build ==0.10.1.2
   - debug ==0.1.1
   - debug-trace-var ==0.2.0
@@ -579,7 +579,7 @@ default-package-overrides:
   - dependent-sum-template ==0.0.0.6
   - deque ==0.2.7
   - deriveJsonNoPrefix ==0.1.0.1
-  - deriving-compat ==0.5.4
+  - deriving-compat ==0.5.5
   - derulo ==1.0.5
   - detour-via-sci ==1.0.0
   - dhall ==1.19.1
@@ -651,7 +651,7 @@ default-package-overrides:
   - ekg-statsd ==0.2.4.0
   - elerea ==2.9.0
   - elf ==0.29
-  - eliminators ==0.5
+  - eliminators ==0.5.1
   - elm2nix ==0.1.1
   - elm-core-sources ==1.0.0
   - elm-export ==0.6.0.1
@@ -698,7 +698,7 @@ default-package-overrides:
   - explicit-exception ==0.1.9.2
   - exp-pairs ==0.2.0.0
   - extensible-exceptions ==0.1.1.4
-  - extra ==1.6.14
+  - extra ==1.6.15
   - extractable-singleton ==0.0.1
   - extrapolate ==0.3.3
   - fail ==4.9.0.0
@@ -725,7 +725,7 @@ default-package-overrides:
   - fileplow ==0.1.0.0
   - filter-logger ==0.6.0.0
   - filtrable ==0.1.1.0
-  - fin ==0.0.1
+  - fin ==0.0.2
   - FindBin ==0.0.5
   - fingertree ==0.1.4.2
   - finite-typelits ==0.1.4.2
@@ -788,7 +788,7 @@ default-package-overrides:
   - general-games ==1.1.1
   - generic-arbitrary ==0.1.0
   - generic-data ==0.3.0.0
-  - generic-deriving ==1.12.3
+  - generic-deriving ==1.12.4
   - generic-lens ==1.1.0.0
   - GenericPretty ==1.2.2
   - generic-random ==1.2.0.0
@@ -896,7 +896,7 @@ default-package-overrides:
   - HandsomeSoup ==0.4.2
   - hapistrano ==0.3.9.2
   - happy ==1.19.9
-  - hasbolt ==0.1.3.2
+  - hasbolt ==0.1.3.3
   - hashable ==1.2.7.0
   - hashable-time ==0.2.0.2
   - hashids ==1.0.2.4
@@ -918,9 +918,9 @@ default-package-overrides:
   - haskell-src-meta ==0.8.2
   - haskey-btree ==0.3.0.0
   - haskoin-core ==0.8.4
-  - hasql ==1.3.0.3
+  - hasql ==1.3.0.5
   - hasql-optparse-applicative ==0.3.0.3
-  - hasql-pool ==0.5.0.1
+  - hasql-pool ==0.5.0.2
   - hasql-transaction ==0.7.1
   - hasty-hamiltonian ==1.3.2
   - haxl ==2.0.1.1
@@ -963,7 +963,7 @@ default-package-overrides:
   - hmatrix-gsl ==0.19.0.1
   - hmatrix-gsl-stats ==0.4.1.7
   - hmatrix-morpheus ==0.1.1.2
-  - hmatrix-vector-sized ==0.1.1.2
+  - hmatrix-vector-sized ==0.1.1.3
   - hmpfr ==0.4.4
   - hoauth2 ==1.8.4
   - Hoed ==0.5.1
@@ -1130,7 +1130,7 @@ default-package-overrides:
   - IntervalMap ==0.6.1.1
   - intervals ==0.8.1
   - intset-imperative ==0.1.0.0
-  - invariant ==0.5.1
+  - invariant ==0.5.2
   - invertible ==0.2.0.5
   - io-choice ==0.0.7
   - io-machine ==0.2.0.0
@@ -1212,7 +1212,7 @@ default-package-overrides:
   - leancheck ==0.8.0
   - leancheck-instances ==0.0.3
   - leapseconds-announced ==2017.1.0.1
-  - lens ==4.17
+  - lens ==4.17.1
   - lens-action ==0.2.3
   - lens-aeson ==1.0.2
   - lens-datetime ==0.3
@@ -1264,7 +1264,7 @@ default-package-overrides:
   - long-double ==0.1
   - loop ==0.3.0
   - lrucaching ==0.3.3
-  - lsp-test ==0.5.1.1
+  - lsp-test ==0.5.1.2
   - lucid ==2.9.11
   - lucid-extras ==0.1.0.1
   - lxd-client-config ==0.1.0.1
@@ -1414,7 +1414,7 @@ default-package-overrides:
   - netwire ==5.0.3
   - netwire-input ==0.0.7
   - netwire-input-glfw ==0.0.10
-  - network ==2.8.0.0
+  - network ==2.8.0.1
   - network-anonymous-i2p ==0.10.0
   - network-anonymous-tor ==0.11.0
   - network-attoparsec ==0.12.2
@@ -1485,7 +1485,7 @@ default-package-overrides:
   - options ==1.2.1.1
   - optparse-applicative ==0.14.3.0
   - optparse-generic ==1.3.0
-  - optparse-simple ==0.1.1.1
+  - optparse-simple ==0.1.1.2
   - optparse-text ==0.1.1.0
   - overhang ==1.0.0
   - packcheck ==0.4.1
@@ -1574,13 +1574,13 @@ default-package-overrides:
   - polynomials-bernstein ==1.1.2
   - polyparse ==1.12.1
   - pooled-io ==0.0.2.2
-  - port-utils ==0.2.0.0
+  - port-utils ==0.2.1.0
   - posix-paths ==0.2.1.6
   - possibly ==1.0.0.0
   - postgresql-binary ==0.12.1.2
   - postgresql-libpq ==0.9.4.2
   - postgresql-schema ==0.1.14
-  - postgresql-simple ==0.6.1
+  - postgresql-simple ==0.6.2
   - postgresql-simple-migration ==0.1.14.0
   - postgresql-simple-queue ==1.0.1
   - postgresql-simple-url ==0.2.1.0
@@ -1650,6 +1650,7 @@ default-package-overrides:
   - QuickCheck ==2.12.6.1
   - quickcheck-arbitrary-adt ==0.3.1.0
   - quickcheck-assertions ==0.3.0
+  - quickcheck-classes ==0.6.0.0
   - quickcheck-instances ==0.3.19
   - quickcheck-io ==0.2.0
   - quickcheck-simple ==0.1.0.4
@@ -1687,7 +1688,7 @@ default-package-overrides:
   - rebase ==1.3.1
   - record-dot-preprocessor ==0.1.5
   - records-sop ==0.1.0.2
-  - recursion-schemes ==5.1.2
+  - recursion-schemes ==5.1.3
   - reducers ==3.12.3
   - refact ==0.3.0.2
   - references ==0.3.3.1
@@ -1825,7 +1826,7 @@ default-package-overrides:
   - servant-tracing ==0.1.0.2
   - servant-websockets ==1.1.0
   - servant-yaml ==0.1.0.1
-  - serverless-haskell ==0.8.6
+  - serverless-haskell ==0.8.7
   - serversession ==1.0.1
   - serversession-frontend-wai ==1.0
   - servius ==1.2.3.0
@@ -1921,7 +1922,7 @@ default-package-overrides:
   - storable-record ==0.0.4
   - storable-tuple ==0.0.3.3
   - storablevector ==0.2.13
-  - store ==0.5.0.1
+  - store ==0.5.1.0
   - store-core ==0.4.4
   - Strafunski-StrategyLib ==5.0.1.0
   - stratosphere ==0.29.1
@@ -2052,13 +2053,13 @@ default-package-overrides:
   - threads ==0.5.1.6
   - threepenny-gui ==0.8.3.0
   - th-reify-compat ==0.0.1.5
-  - th-reify-many ==0.1.8
+  - th-reify-many ==0.1.9
   - throttle-io-stream ==0.2.0.1
   - throwable-exceptions ==0.1.0.9
   - th-strict-compat ==0.1.0.1
   - th-utilities ==0.2.1.0
   - thyme ==0.3.5.5
-  - tidal ==1.0.11
+  - tidal ==1.0.13
   - tile ==0.3.0.0
   - time-compat ==0.1.0.3
   - timeit ==2.0
@@ -2066,7 +2067,7 @@ default-package-overrides:
   - time-lens ==0.4.0.2
   - time-locale-compat ==0.1.1.5
   - time-locale-vietnamese ==1.0.0.0
-  - time-parsers ==0.1.2.0
+  - time-parsers ==0.1.2.1
   - time-qq ==0.0.1.0
   - timerep ==2.0.0.2
   - timer-wheel ==0.1.0
@@ -2080,7 +2081,7 @@ default-package-overrides:
   - tls-session-manager ==0.0.0.2
   - tmapchan ==0.0.3
   - tmapmvar ==0.0.4
-  - tmp-postgres ==0.1.1.1
+  - tmp-postgres ==0.1.2.2
   - token-bucket ==0.1.0.1
   - tomland ==0.5.0
   - tostring ==0.2.1.1
@@ -2180,7 +2181,7 @@ default-package-overrides:
   - validity-vector ==0.2.0.2
   - valor ==0.1.0.0
   - vault ==0.3.1.2
-  - vec ==0.1
+  - vec ==0.1.1
   - vector ==0.12.0.2
   - vector-algorithms ==0.8.0.1
   - vector-binary-instances ==0.2.5.1
@@ -2223,9 +2224,9 @@ default-package-overrides:
   - wai-slack-middleware ==0.2.0
   - wai-transformers ==0.1.0
   - wai-websockets ==3.0.1.2
-  - warp ==3.2.26
-  - warp-tls ==3.2.4.3
-  - warp-tls-uid ==0.2.0.5
+  - warp ==3.2.27
+  - warp-tls ==3.2.5
+  - warp-tls-uid ==0.2.0.6
   - wave ==0.1.5
   - wcwidth ==0.0.2
   - web3 ==0.8.3.1
@@ -2309,7 +2310,7 @@ default-package-overrides:
   - yesod ==1.6.0
   - yesod-alerts ==0.1.2.0
   - yesod-auth ==1.6.6
-  - yesod-auth-hashdb ==1.7.1
+  - yesod-auth-hashdb ==1.7.1.1
   - yesod-auth-oauth2 ==0.6.1.1
   - yesod-bin ==1.6.0.3
   - yesod-core ==1.6.14
@@ -2322,8 +2323,8 @@ default-package-overrides:
   - yesod-gitrev ==0.2.1
   - yesod-markdown ==0.12.6.1
   - yesod-newsfeed ==1.6.1.0
-  - yesod-paginator ==1.1.0.1
-  - yesod-persistent ==1.6.0.1
+  - yesod-paginator ==1.1.0.2
+  - yesod-persistent ==1.6.0.2
   - yesod-recaptcha2 ==0.3.0
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.0.1
@@ -2341,7 +2342,7 @@ default-package-overrides:
   - zeromq4-patterns ==0.3.1.0
   - zim-parser ==0.2.1.0
   - zip ==1.2.0
-  - zip-archive ==0.4
+  - zip-archive ==0.4.1
   - zippers ==0.2.5
   - zip-stream ==0.2.0.1
   - zlib ==0.6.2
@@ -2391,13 +2392,15 @@ extra-packages:
   - mtl < 2.2                           # newer versions require transformers > 0.4.x, which we cannot provide in GHC 7.8.x
   - mtl-prelude < 2                     # required for to build postgrest on mtl 2.1.x platforms
   - network == 2.6.3.1                  # newer versions don't compile with GHC 7.4.x and below
+  - network == 3.0.*                    # required by network-bsd, HTTP, and many others (2019-04-30)
   - parallel == 3.2.0.3                 # newer versions don't work with GHC 6.12.3
+  - patience ^>= 0.1                    # required by chell-0.4.x
   - persistent >=2.5 && <2.8            # pre-lts-11.x versions neeed by git-annex 6.20180227
   - persistent-sqlite < 2.7             # pre-lts-11.x versions neeed by git-annex 6.20180227
   - primitive == 0.5.1.*                # required to build alex with GHC 6.12.3
   - proto-lens == 0.2.*                 # required for tensorflow-proto-0.1.x on GHC 8.2.x
-  - proto-lens-protoc == 0.2.*          # required for tensorflow-proto-0.1.x on GHC 8.2.x
   - proto-lens-protobuf-types == 0.2.*  # required for tensorflow-proto-0.1.x on GHC 8.2.x
+  - proto-lens-protoc == 0.2.*          # required for tensorflow-proto-0.1.x on GHC 8.2.x
   - QuickCheck < 2                      # required by test-framework-quickcheck and its users
   - resourcet ==1.1.*                   # pre-lts-11.x versions neeed by git-annex 6.20180227
   - seqid < 0.2                         # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
@@ -2413,7 +2416,6 @@ extra-packages:
   - yesod-persistent < 1.5              # pre-lts-11.x versions neeed by git-annex 6.20180227
   - yesod-static ^>= 1.5                # pre-lts-11.x versions neeed by git-annex 6.20180227
   - yesod-test ^>= 1.5                  # pre-lts-11.x versions neeed by git-annex 6.20180227
-  - patience ^>= 0.1                    # required by chell-0.4.x
 
 package-maintainers:
   peti:
@@ -2599,7 +2601,7 @@ dont-distribute-packages:
   - XML
 
 broken-packages:
-  # these packages don't compile
+  # These packages don't compile or depend on packages that don't compile.
   - 3dmodels
   - 4Blocks
   - a50
@@ -3173,6 +3175,7 @@ broken-packages:
   - blockhash
   - Blogdown
   - blogination
+  - BlogLiterately-diagrams
   - bloodhound
   - bloodhound-amazonka-auth
   - bloomfilter-redis
@@ -3228,6 +3231,9 @@ broken-packages:
   - brok
   - broker-haskell
   - bronyradiogermany-streaming
+  - brotli
+  - brotli-conduit
+  - brotli-streams
   - browscap
   - bson-generic
   - bson-generics
@@ -3278,6 +3284,7 @@ broken-packages:
   - c2hsc
   - cabal-audit
   - cabal-bundle-clib
+  - cabal-cache
   - cabal-cargs
   - cabal-constraints
   - cabal-db
@@ -4020,9 +4027,11 @@ broken-packages:
   - dia-base
   - dia-functions
   - diagrams-boolean
+  - diagrams-builder
   - diagrams-canvas
   - diagrams-graphviz
   - diagrams-gtk
+  - diagrams-haddock
   - diagrams-hsqml
   - diagrams-html5
   - diagrams-pandoc
@@ -4600,6 +4609,7 @@ broken-packages:
   - frag
   - Frames-beam
   - Frames-dsv
+  - Frames-map-reduce
   - franchise
   - Frank
   - freddy
@@ -4731,6 +4741,7 @@ broken-packages:
   - generic-tree
   - generic-xml
   - generic-xmlpickler
+  - generics-eot
   - genericserialize
   - genesis
   - genesis-test
@@ -5232,6 +5243,7 @@ broken-packages:
   - haskell-src-exts-prisms
   - haskell-src-exts-qq
   - haskell-src-exts-sc
+  - haskell-src-exts-simple
   - haskell-src-meta-mwotton
   - haskell-stack-trace-plugin
   - haskell-token-utils
@@ -5567,6 +5579,7 @@ broken-packages:
   - HLearn-datastructures
   - HLearn-distributions
   - hledger-chart
+  - hledger-flow
   - hledger-irr
   - hledger-vty
   - hlibBladeRF
@@ -5717,6 +5730,7 @@ broken-packages:
   - HROOT-math
   - HROOT-tree
   - hs-blake2
+  - hs-brotli
   - hs-carbon-examples
   - hs-cdb
   - hs-conllu
@@ -6056,6 +6070,7 @@ broken-packages:
   - ihaskell-diagrams
   - ihaskell-display
   - ihaskell-gnuplot
+  - ihaskell-graphviz
   - ihaskell-hatex
   - ihaskell-hvega
   - ihaskell-inline-r
@@ -6361,6 +6376,7 @@ broken-packages:
   - kmp-dfa
   - knead
   - knead-arithmetic
+  - knit-haskell
   - knots
   - koellner-phonetic
   - korfu
@@ -6527,6 +6543,7 @@ broken-packages:
   - libconfig
   - libcspm
   - libexpect
+  - libffi-dynamic
   - libGenI
   - libhbb
   - libinfluxdb
@@ -6767,6 +6784,7 @@ broken-packages:
   - manifolds
   - manifolds-core
   - map-exts
+  - map-reduce-folds
   - map-syntax
   - Mapping
   - mappy
@@ -7174,7 +7192,6 @@ broken-packages:
   - netwire-vinylglfw-examples
   - network-address
   - network-anonymous-i2p
-  - network-bsd
   - network-builder
   - network-bytestring
   - network-connection
@@ -7584,6 +7601,7 @@ broken-packages:
   - pipes-async
   - pipes-attoparsec-streaming
   - pipes-bgzf
+  - pipes-brotli
   - pipes-cacophony
   - pipes-cereal
   - pipes-cereal-plus
@@ -7661,6 +7679,7 @@ broken-packages:
   - polh-lexicon
   - polimorf
   - Pollutocracy
+  - poly
   - poly-control
   - polydata
   - polydata-core
@@ -7797,6 +7816,7 @@ broken-packages:
   - proteome
   - proto-lens-combinators
   - proto-lens-descriptors
+  - proto3-suite
   - protobuf-native
   - protocol-buffers-descriptor-fork
   - protocol-buffers-fork
@@ -7833,6 +7853,7 @@ broken-packages:
   - purescript-iso
   - purescript-tsd-gen
   - push-notify
+  - push-notify-apn
   - push-notify-ccs
   - push-notify-general
   - pusher-haskell
@@ -8295,6 +8316,7 @@ broken-packages:
   - scenegraph
   - schedevr
   - schedule-planner
+  - scheduler
   - schedyield
   - schematic
   - scholdoc
@@ -8865,10 +8887,12 @@ broken-packages:
   - streamdeck
   - streamed
   - streaming-benchmarks
+  - streaming-brotli
   - streaming-cassava
   - streaming-concurrency
   - streaming-conduit
   - streaming-fft
+  - streaming-lzma
   - streaming-osm
   - streaming-pcap
   - streaming-png
@@ -9029,6 +9053,7 @@ broken-packages:
   - tasty-jenkins-xml
   - tasty-laws
   - tasty-lens
+  - tasty-quickcheck-laws
   - tasty-stats
   - tasty-tap
   - tasty-travis
@@ -9209,6 +9234,7 @@ broken-packages:
   - tkhs
   - tkyprof
   - tls-extra
+  - tmp-postgres
   - tn
   - to-haskell
   - to-string-class
@@ -9417,6 +9443,7 @@ broken-packages:
   - unity-testresult-parser
   - unitym-yesod
   - universe
+  - universe-dependent-sum
   - universe-instances-extended
   - universe-th
   - universum
@@ -9528,6 +9555,7 @@ broken-packages:
   - vector-bytestring
   - vector-clock
   - vector-conduit
+  - vector-endian
   - vector-extras
   - vector-functorlazy
   - vector-heterogenous
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 1035064f90ea..e13edb352684 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2009,6 +2009,8 @@ self: {
        executableHaskellDepends = [ base BlogLiterately ];
        description = "Include images in blog posts with inline diagrams code";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Blogdown" = callPackage
@@ -6230,6 +6232,8 @@ self: {
        executableHaskellDepends = [ base foldl Frames random text vinyl ];
        description = "Frames wrapper for map-reduce-folds and some extra folds helpers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Frank" = callPackage
@@ -9125,20 +9129,20 @@ self: {
 
   "HTab" = callPackage
     ({ mkDerivation, base, cmdargs, containers, deepseq, hylolib, mtl
-     , strict
+     , random, strict
      }:
      mkDerivation {
        pname = "HTab";
-       version = "1.6.3";
-       sha256 = "0c0igscng6gqhabmvvgappsbzbhkpybcx7vr8yd72pqh988ml4zv";
+       version = "1.7.2";
+       sha256 = "1xn2ljw97j625l5q7a9chqscdbi4cj29zg1yy4jz4mcivzwbjqii";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         base cmdargs containers deepseq hylolib mtl strict
+         base cmdargs containers deepseq hylolib mtl random strict
        ];
        description = "Tableau based theorem prover for hybrid logics";
-       license = "GPL";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
@@ -15875,8 +15879,8 @@ self: {
     ({ mkDerivation, base, containers, QuickCheck }:
      mkDerivation {
        pname = "QuickCheck-safe";
-       version = "0.1.0.5";
-       sha256 = "0l8wp2np4mlbybzwcz8g4r9d8c65yljnvizs3g1rvig4b65j283l";
+       version = "0.1.0.6";
+       sha256 = "1f868s6iq66m4m305xrx3mfw46zvzaahkvz6xjlqzk0cragai1kp";
        libraryHaskellDepends = [ base containers QuickCheck ];
        description = "Safe reimplementation of QuickCheck's core";
        license = stdenv.lib.licenses.mit;
@@ -19665,25 +19669,26 @@ self: {
      }) {};
 
   "Villefort" = callPackage
-    ({ mkDerivation, base, bytestring, concurrent-extra, convertible
-     , directory, filepath, HDBC, HDBC-sqlite3, hspec, MissingH, mtl
-     , process, QuickCheck, random, scotty, split, strict, text, time
-     , transformers, unbounded-delays, unix, uri-encode, webdriver
+    ({ mkDerivation, aeson, base, bytestring, concurrent-extra
+     , convertible, directory, filepath, HDBC, HDBC-sqlite3, hspec
+     , MissingH, mtl, process, QuickCheck, random, scotty, split, strict
+     , text, time, transformers, unbounded-delays, unix, uri-encode
+     , webdriver
      }:
      mkDerivation {
        pname = "Villefort";
-       version = "0.1.2.17";
-       sha256 = "17ga54kclbcr6vpiy6q5yws9535j9sg6isqggx05kz3hsa7nllbz";
+       version = "0.1.2.19";
+       sha256 = "1n6371yvlb39dzi4apcb4am2cyqpm26c2d258idyii4v7s5j0rq0";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring convertible directory filepath HDBC HDBC-sqlite3
-         MissingH mtl process random scotty split strict text time
-         transformers unix uri-encode
+         aeson base bytestring convertible directory filepath HDBC
+         HDBC-sqlite3 MissingH mtl process random scotty split strict text
+         time transformers unix uri-encode
        ];
        executableHaskellDepends = [
-         base HDBC HDBC-sqlite3 mtl random scotty split text time
+         base HDBC HDBC-sqlite3 random scotty split text time
        ];
        testHaskellDepends = [
          base concurrent-extra HDBC HDBC-sqlite3 hspec mtl QuickCheck
@@ -21160,6 +21165,8 @@ self: {
        pname = "accelerate-bignum";
        version = "0.2.0.0";
        sha256 = "0xhnd39fb17kb7q5z9z8svn8zlv6j1wxrbkv3vij4f1q2hkqkl0p";
+       revision = "1";
+       editedCabalFile = "0lfsmhky8shyy9xhm0j2as91vrmqqrrn9r0fsv2ljc4xjklg723r";
        libraryHaskellDepends = [
          accelerate accelerate-llvm accelerate-llvm-native
          accelerate-llvm-ptx base ghc-prim llvm-hs-pure template-haskell
@@ -21328,6 +21335,8 @@ self: {
        pname = "accelerate-fft";
        version = "1.2.0.0";
        sha256 = "19p9d59vdd3nq97xjprlb6fz2ajlk6gl37cdyvrm9inag4nnk6lp";
+       revision = "2";
+       editedCabalFile = "096vhbwbkyvjx8znjqnb3lz43kzqq0x7kcfv1gmmbjjrcmwaj2y5";
        libraryHaskellDepends = [
          accelerate accelerate-llvm accelerate-llvm-native
          accelerate-llvm-ptx base bytestring carray containers cuda cufft
@@ -21436,8 +21445,8 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-llvm";
-       version = "1.2.0.0";
-       sha256 = "110zfxqi0lkhg7pk42qvd87qn442r6z264zj7q46jf8ia60l2cdq";
+       version = "1.2.0.1";
+       sha256 = "1cv5s7fgkdd3m95vy2rrq2kvzyzxx6vwgsc5nqcmfdp00z8znjhk";
        libraryHaskellDepends = [
          abstract-deque accelerate base bytestring chaselev-deque containers
          data-default-class deepseq directory dlist exceptions filepath
@@ -21453,17 +21462,18 @@ self: {
   "accelerate-llvm-native" = callPackage
     ({ mkDerivation, accelerate, accelerate-llvm, base, bytestring
      , c2hs, Cabal, cereal, containers, directory, dlist, filepath, ghc
-     , ghc-prim, hashable, libffi, llvm-hs, llvm-hs-pure, mtl
-     , template-haskell, time, unique, unix, vector
+     , ghc-prim, hashable, libffi, llvm-hs, llvm-hs-pure, lockfree-queue
+     , mtl, template-haskell, time, unique, unix, vector
      }:
      mkDerivation {
        pname = "accelerate-llvm-native";
-       version = "1.2.0.0";
-       sha256 = "089j8ic6ns6656a55byiilrj9jvs535jvx4f2m8x1qhgz9q968vb";
+       version = "1.2.0.1";
+       sha256 = "0sml5rj3dnxlv14i4xbs1sadnprjga1iws7fl7sxkyjzxqc04vrj";
        libraryHaskellDepends = [
          accelerate accelerate-llvm base bytestring Cabal cereal containers
          directory dlist filepath ghc ghc-prim hashable libffi llvm-hs
-         llvm-hs-pure mtl template-haskell time unique unix vector
+         llvm-hs-pure lockfree-queue mtl template-haskell time unique unix
+         vector
        ];
        libraryToolDepends = [ c2hs ];
        testHaskellDepends = [ accelerate base ];
@@ -21481,10 +21491,8 @@ self: {
      }:
      mkDerivation {
        pname = "accelerate-llvm-ptx";
-       version = "1.2.0.0";
-       sha256 = "1rh0kq10mwn4zd8f5sp19pah2hmmcansaqqssz79183znzfiviz5";
-       revision = "1";
-       editedCabalFile = "1fcgs1wcknqnj7wr907ixwlrzwgfnl1bmyr5j4d58bm2xrspid7m";
+       version = "1.2.0.1";
+       sha256 = "0c9hl19v4si0lnah4l63kqhpxz16zy0wi3cg28gz00mxzgqilivs";
        libraryHaskellDepends = [
          accelerate accelerate-llvm base bytestring containers cuda deepseq
          directory dlist file-embed filepath hashable llvm-hs llvm-hs-pure
@@ -22861,6 +22869,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aeson_1_4_3_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat, base-orphans
+     , base16-bytestring, bytestring, containers, deepseq, Diff
+     , directory, dlist, filepath, generic-deriving, ghc-prim, hashable
+     , hashable-time, integer-logarithms, primitive, QuickCheck
+     , quickcheck-instances, scientific, tagged, tasty, tasty-golden
+     , tasty-hunit, tasty-quickcheck, template-haskell, text
+     , th-abstraction, time, time-locale-compat, unordered-containers
+     , uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "1.4.3.0";
+       sha256 = "068caag4pfn9cmmdksv5yxblzffs0nws8vvhzk54pk99nh7sqr35";
+       libraryHaskellDepends = [
+         attoparsec base base-compat bytestring containers deepseq dlist
+         ghc-prim hashable primitive scientific tagged template-haskell text
+         th-abstraction time time-locale-compat unordered-containers
+         uuid-types vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base-compat base-orphans base16-bytestring
+         bytestring containers Diff directory dlist filepath
+         generic-deriving ghc-prim hashable hashable-time integer-logarithms
+         QuickCheck quickcheck-instances scientific tagged tasty
+         tasty-golden tasty-hunit tasty-quickcheck template-haskell text
+         time time-locale-compat unordered-containers uuid-types vector
+       ];
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson-applicative" = callPackage
     ({ mkDerivation, aeson, base, text, unordered-containers }:
      mkDerivation {
@@ -27627,33 +27668,6 @@ self: {
      }:
      mkDerivation {
        pname = "amqp";
-       version = "0.18.1";
-       sha256 = "0j728d7q013gcqv0m6vpm401hnpbmzzb3i6br8kpxybdjzmy4y26";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base binary bytestring clock connection containers
-         data-binary-ieee754 monad-control network network-uri split stm
-         text vector
-       ];
-       executableHaskellDepends = [ base containers xml ];
-       testHaskellDepends = [
-         base binary bytestring clock connection containers
-         data-binary-ieee754 hspec hspec-expectations network network-uri
-         split stm text vector
-       ];
-       description = "Client library for AMQP servers (currently only RabbitMQ)";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "amqp_0_18_2" = callPackage
-    ({ mkDerivation, base, binary, bytestring, clock, connection
-     , containers, data-binary-ieee754, hspec, hspec-expectations
-     , monad-control, network, network-uri, split, stm, text, vector
-     , xml
-     }:
-     mkDerivation {
-       pname = "amqp";
        version = "0.18.2";
        sha256 = "0sp7c9vbgaxc5rhfc402q52djr0qpqgmfklhcrx45av2rqymkyxv";
        isLibrary = true;
@@ -27671,7 +27685,6 @@ self: {
        ];
        description = "Client library for AMQP servers (currently only RabbitMQ)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amqp-conduit" = callPackage
@@ -30183,15 +30196,15 @@ self: {
      }) {debian-mirror = null; help = null;};
 
   "archive-sig" = callPackage
-    ({ mkDerivation, base, bytestring, composition-prelude, directory
-     , filepath
+    ({ mkDerivation, base, bytestring, composition-prelude
+     , dir-traverse
      }:
      mkDerivation {
        pname = "archive-sig";
-       version = "0.2.0.0";
-       sha256 = "1imbailszvxahmhxg9g0qrygi6433gmyg5pby3zq9k5gcc16mmy2";
+       version = "0.2.0.1";
+       sha256 = "1x7kpyxfhn4i9c9wrxwda53qyj4jgw9vd3wfrzxvdfj5wdrdn79d";
        libraryHaskellDepends = [
-         base bytestring composition-prelude directory filepath
+         base bytestring composition-prelude dir-traverse
        ];
        description = "Backpack signature for archive libraries";
        license = stdenv.lib.licenses.bsd3;
@@ -30574,6 +30587,37 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "arithmoi_0_9_0_0" = callPackage
+    ({ mkDerivation, array, base, containers, deepseq, exact-pi, gauge
+     , ghc-prim, integer-gmp, integer-logarithms, QuickCheck, random
+     , semirings, smallcheck, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck, transformers, vector
+     }:
+     mkDerivation {
+       pname = "arithmoi";
+       version = "0.9.0.0";
+       sha256 = "0c1s93kf44ghhnvzhmnld4visx59pwvadfiww9smqisgjl6mpsa3";
+       configureFlags = [ "-f-llvm" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base containers deepseq exact-pi ghc-prim integer-gmp
+         integer-logarithms random semirings transformers vector
+       ];
+       testHaskellDepends = [
+         base containers exact-pi integer-gmp QuickCheck semirings
+         smallcheck tasty tasty-hunit tasty-quickcheck tasty-smallcheck
+         transformers vector
+       ];
+       benchmarkHaskellDepends = [
+         array base containers deepseq gauge integer-logarithms random
+         vector
+       ];
+       description = "Efficient basic number-theoretic functions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "arity-generic-liftA" = callPackage
     ({ mkDerivation, base, doctest }:
      mkDerivation {
@@ -32279,8 +32323,10 @@ self: {
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.2.5.12";
-       sha256 = "174nxhkfb1qvlfxjifrb1pqfrh4na64wvfrnblzpfp03di0hbh3m";
+       version = "3.2.5.13";
+       sha256 = "040ac4pw1f4nfrydqx56jv0mzap306sbr76kd164vi2n8y4a09cz";
+       revision = "1";
+       editedCabalFile = "1by5wg58g69r8xcp3nds4s5w2n3zjb1gshgsxi4fg52gfjq0wlfh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -32510,8 +32556,8 @@ self: {
      }:
      mkDerivation {
        pname = "attoparsec-data";
-       version = "1.0.4";
-       sha256 = "03pgzx7l9hh8233r8afhgbk0adw58pln3si83vmrv1h6d8s2x4nr";
+       version = "1.0.4.1";
+       sha256 = "01avy1bbiam401mm6196h0a1m5wrki4a3xrdss6hr6x986l6w2yc";
        libraryHaskellDepends = [
          attoparsec attoparsec-time base base-prelude bytestring scientific
          text time uuid
@@ -36751,16 +36797,16 @@ self: {
 
   "bifunctors" = callPackage
     ({ mkDerivation, base, base-orphans, comonad, containers, hspec
-     , hspec-discover, QuickCheck, semigroups, tagged, template-haskell
+     , hspec-discover, QuickCheck, tagged, template-haskell
      , th-abstraction, transformers, transformers-compat
      }:
      mkDerivation {
        pname = "bifunctors";
-       version = "5.5.3";
-       sha256 = "1jn9rxg643xnlhrknmjz88nblcpsr45xwjkwwnn5nxpasa7m4d6l";
+       version = "5.5.4";
+       sha256 = "134vn71wd194175k2fcdvd0ak2bdmdbk6ql5lls4byff7zs2rmi9";
        libraryHaskellDepends = [
-         base base-orphans comonad containers semigroups tagged
-         template-haskell th-abstraction transformers
+         base base-orphans comonad containers tagged template-haskell
+         th-abstraction transformers
        ];
        testHaskellDepends = [
          base hspec QuickCheck template-haskell transformers
@@ -38556,8 +38602,8 @@ self: {
      }:
      mkDerivation {
        pname = "bioinformatics-toolkit";
-       version = "0.6.0";
-       sha256 = "1w6c8gi8vss8wz94hwv5vap2ss6qzm7la9p9dxplcw7yz3q5c47w";
+       version = "0.7.0";
+       sha256 = "1wdxlpi24c5axy8d0b9hq8wqr58ikbqy9cwrixi9dc1yya6c2mxg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty attoparsec base bytestring bytestring-lexing
@@ -41168,10 +41214,8 @@ self: {
      }:
      mkDerivation {
        pname = "boring";
-       version = "0.1";
-       sha256 = "0r263cc8bdwsaw33x96fgd8npsma9a2ffv6mfz9z72d7qclhimkk";
-       revision = "2";
-       editedCabalFile = "1jxaby4cagbhii194x9x0j75ms1v5bm14sx7d19zz3844mh9qyci";
+       version = "0.1.1";
+       sha256 = "1v33mj4rqg0l7161ajmd35k73n66cscg7wsnmb84z0wp1wxlmhwg";
        libraryHaskellDepends = [
          adjunctions base base-compat constraints fin generics-sop streams
          tagged transformers transformers-compat vec
@@ -41282,10 +41326,8 @@ self: {
      }:
      mkDerivation {
        pname = "bound-extras";
-       version = "0";
-       sha256 = "0j010sbdm0bc9dq4lsyw1vb2x0j6gcjxp7ywjn8izdh6yqr2r3qq";
-       revision = "1";
-       editedCabalFile = "0qcxcpn8hdmkg3mqz80i0j9jrym2pk11k5hyjhqbmrqlhf3fr7qw";
+       version = "0.0.1";
+       sha256 = "0f49yqz5s5h4f3m3i7kpm2fqnd42nl4dbl24lvm6z3nb8qrx6ynq";
        libraryHaskellDepends = [
          base bound deepseq hashable transformers
        ];
@@ -42037,6 +42079,8 @@ self: {
        ];
        description = "Brotli (RFC7932) compression and decompression";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {libbrotlidec = null; libbrotlienc = null;};
 
   "brotli-conduit" = callPackage
@@ -42057,6 +42101,8 @@ self: {
        ];
        description = "Conduit interface for Brotli (RFC7932) compression";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "brotli-streams" = callPackage
@@ -42075,6 +42121,8 @@ self: {
        ];
        description = "IO-Streams interface for Brotli (RFC7932) compression";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "browscap" = callPackage
@@ -43465,6 +43513,17 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "bytestring-substring" = callPackage
+    ({ mkDerivation, base, bytestring, pipes, primitive }:
+     mkDerivation {
+       pname = "bytestring-substring";
+       version = "0.1";
+       sha256 = "1vn1r8m0ldydnrazyckkn4lpv3g5ns37j91a5649jnrprjpy08dn";
+       libraryHaskellDepends = [ base bytestring pipes primitive ];
+       description = "break bytestrings up into substrings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bytestring-time" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, Cabal, hspec
      , QuickCheck, text, time
@@ -43956,6 +44015,41 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-cache" = callPackage
+    ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3
+     , antiope-core, antiope-s3, base, bytestring, conduit-extra
+     , containers, cryptonite, deepseq, directory, exceptions, filepath
+     , generic-lens, hedgehog, hspec, hspec-discover, http-types
+     , hw-hedgehog, hw-hspec-hedgehog, lens, mtl, optparse-applicative
+     , process, raw-strings-qq, resourcet, selective, stringsearch, tar
+     , temporary, text, time, unliftio, zlib
+     }:
+     mkDerivation {
+       pname = "cabal-cache";
+       version = "1.0.0.1";
+       sha256 = "030hnkbs3cpcab7yczh12f6zmngwnbl4jgy73hkaipwkzc1qw0sc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson amazonka amazonka-core amazonka-s3 antiope-core antiope-s3
+         base bytestring conduit-extra containers cryptonite deepseq
+         directory exceptions filepath generic-lens http-types lens mtl
+         optparse-applicative process resourcet selective stringsearch tar
+         temporary text time unliftio zlib
+       ];
+       executableHaskellDepends = [ base optparse-applicative ];
+       testHaskellDepends = [
+         aeson antiope-core antiope-s3 base bytestring filepath generic-lens
+         hedgehog hspec hw-hedgehog hw-hspec-hedgehog lens raw-strings-qq
+         text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "CI Assistant for Haskell projects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-cargs" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-lenses, cmdargs
      , directory, filepath, lens, system-fileio, system-filepath, tasty
@@ -50919,6 +51013,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "clock_0_8" = callPackage
+    ({ mkDerivation, base, criterion, tasty, tasty-quickcheck }:
+     mkDerivation {
+       pname = "clock";
+       version = "0.8";
+       sha256 = "0539w9bjw6xbfv9v6aq9hijszxqdnqhilwpbwpql1400ji95r8q8";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base tasty tasty-quickcheck ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "High-resolution clock functions: monotonic, realtime, cputime";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "clock-extras" = callPackage
     ({ mkDerivation, base, clock, hspec }:
      mkDerivation {
@@ -56678,6 +56786,8 @@ self: {
        pname = "control-monad-omega";
        version = "0.3.1";
        sha256 = "11hirysr76i01qj8rm22xjcrv2qwxgwjlrqqyd1dsnnvypn9hfrq";
+       revision = "1";
+       editedCabalFile = "029v5j0mnlzzn6my7jgw26gdm5fbs2h7y395zk1q7r5bfar00q58";
        libraryHaskellDepends = [ base ];
        description = "A breadth-first list monad";
        license = stdenv.lib.licenses.publicDomain;
@@ -57620,8 +57730,10 @@ self: {
      }:
      mkDerivation {
        pname = "cpkg";
-       version = "0.1.2.1";
-       sha256 = "1wn084r71fq3kx5qjvsg7l7v4njsfxbp1s4rv7f3dgyh7h36xgjj";
+       version = "0.1.3.1";
+       sha256 = "1myivznx5p2c8zw5frvp9drj7gidanq39r7lh11xyxg4rsw1y89n";
+       revision = "1";
+       editedCabalFile = "1ww05lik01k44xfrmjjs542qd66afisx6gglwqsylil86hjbs6gp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -60174,6 +60286,29 @@ self: {
        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";
+       editedCabalFile = "0y08nr4p6rad1393l0373s4ivq2zvgm8xv0axh5bi6n95j2khkqz";
+       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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cudd" = callPackage
     ({ mkDerivation, array, base, c2hs, cudd, mtl, transformers }:
      mkDerivation {
@@ -63669,8 +63804,8 @@ self: {
      }:
      mkDerivation {
        pname = "dbus";
-       version = "1.2.5";
-       sha256 = "0s4j3j02iggvhzys9rnhr7m49dq8f5asv398jvsaibarjpdicnib";
+       version = "1.2.6";
+       sha256 = "0qqa6ch7113fygrx0fl3xr1lr8hik6c4y2r05q36pzaknhxsywgl";
        libraryHaskellDepends = [
          base bytestring cereal conduit containers deepseq exceptions
          filepath lens network parsec random split template-haskell text
@@ -65427,14 +65562,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "deque_0_4_2" = callPackage
+  "deque_0_4_2_1" = callPackage
     ({ mkDerivation, base, mtl, QuickCheck, quickcheck-instances
      , rerebase, strict-list, tasty, tasty-hunit, tasty-quickcheck
      }:
      mkDerivation {
        pname = "deque";
-       version = "0.4.2";
-       sha256 = "0zqz8akmkrkwcfkqmspr5dbk5dzhlsh7raxfvda40xhiwyni1cpf";
+       version = "0.4.2.1";
+       sha256 = "0w7d2z43flj739l3qd5vkn4bcz1ci3f24g92ky33z2gvkfiwvw9x";
        libraryHaskellDepends = [ base mtl strict-list ];
        testHaskellDepends = [
          QuickCheck quickcheck-instances rerebase tasty tasty-hunit
@@ -65665,8 +65800,8 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-compat";
-       version = "0.5.4";
-       sha256 = "0kd76zvaj84391k9847q3zdvw5hlkdw3qwncysfbsvsh4g9glqwr";
+       version = "0.5.5";
+       sha256 = "1y1xy5w6ar4p6kc7g67fh93ccwnjnj81l6py1lkxlp8x4x5hpbca";
        libraryHaskellDepends = [
          base containers ghc-boot-th ghc-prim template-haskell
          th-abstraction transformers transformers-compat
@@ -65949,8 +66084,8 @@ self: {
      }:
      mkDerivation {
        pname = "df1";
-       version = "0.3";
-       sha256 = "1qiy2xxri3vdqhy78ccan7phrlfdkb2ndvrj8grlhbzycmai64i3";
+       version = "0.3.1";
+       sha256 = "0a1fpi9r6nivjxlknfyfkwdgnq5m6qmf68z46m3xjvy0md40caij";
        libraryHaskellDepends = [
          attoparsec base bytestring containers text time
        ];
@@ -66101,24 +66236,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall_1_21_0" = callPackage
+  "dhall_1_22_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , bytestring, case-insensitive, cborg, cborg-json, containers
      , contravariant, criterion, cryptonite, deepseq, Diff, directory
-     , doctest, dotgen, exceptions, filepath, haskeline, http-client
-     , http-client-tls, http-types, lens-family-core, megaparsec, memory
-     , mockery, mtl, optparse-applicative, parsers, prettyprinter
-     , prettyprinter-ansi-terminal, QuickCheck, quickcheck-instances
-     , repline, scientific, serialise, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, transformers
-     , unordered-containers, uri-encode, vector
+     , doctest, dotgen, exceptions, filepath, foldl, haskeline
+     , http-client, http-client-tls, http-types, lens-family-core
+     , megaparsec, memory, mockery, mtl, optparse-applicative, parsers
+     , 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
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.21.0";
-       sha256 = "03nzp79mmivnyg6s179abf8bj8j60hkng9kgbmfjzvwlfrpwq8lv";
-       revision = "1";
-       editedCabalFile = "0ap1490jks9hmwf73vlrj7bsfrf4m5yvgqxx3ix57w23ia5gy662";
+       version = "1.22.0";
+       sha256 = "0f80vxry3vns6kyviradvpn32nkcl51lva5j2naakdg9kgcq4xxz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -66134,8 +66267,9 @@ self: {
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base bytestring cborg containers deepseq directory doctest filepath
-         mockery prettyprinter QuickCheck quickcheck-instances serialise
-         tasty tasty-hunit tasty-quickcheck text transformers vector
+         foldl mockery prettyprinter QuickCheck quickcheck-instances
+         serialise tasty tasty-hunit tasty-quickcheck text transformers
+         turtle vector
        ];
        benchmarkHaskellDepends = [
          base bytestring containers criterion directory serialise text
@@ -66166,14 +66300,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-bash_1_0_19" = callPackage
+  "dhall-bash_1_0_20" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.19";
-       sha256 = "11933vw6khyhggdp6a3ib4c3qln6cmrm9ng9cc7mjmm3vpc11l7x";
+       version = "1.0.20";
+       sha256 = "1nqiyvyj0dw1a6shy9bb1qxzjrnh8544hsa2c6rwg2j36f0lk73d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -66234,23 +66368,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall-json_1_2_7" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall
-     , optparse-applicative, tasty, tasty-hunit, text
-     , unordered-containers, vector, yaml
+  "dhall-json_1_2_8" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , dhall, exceptions, optparse-applicative, scientific, tasty
+     , tasty-hunit, text, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.2.7";
-       sha256 = "1wg3cdp1m11lqkz9qs1f5payjbxq8lph31nangrzkgxcrs7s3z0i";
+       version = "1.2.8";
+       sha256 = "0s5iygh9rfmhx3v62dnfr55xz60rjvnicrq9ydspy129mhf0zzgd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base dhall optparse-applicative text unordered-containers
        ];
        executableHaskellDepends = [
-         aeson aeson-pretty base bytestring dhall optparse-applicative text
-         vector yaml
+         aeson aeson-pretty base bytestring containers dhall exceptions
+         optparse-applicative scientific text unordered-containers vector
+         yaml
        ];
        testHaskellDepends = [
          aeson base bytestring dhall tasty tasty-hunit text
@@ -66318,6 +66453,22 @@ self: {
        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";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base dhall optparse-applicative text
+       ];
+       description = "Template text using Dhall";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-to-cabal" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, contravariant
      , dhall, Diff, directory, filepath, hashable, microlens
@@ -66429,8 +66580,8 @@ self: {
     ({ mkDerivation, base, bytestring, di-core, exceptions, unix }:
      mkDerivation {
        pname = "di-handle";
-       version = "1.0";
-       sha256 = "1v4jn1dvvfa6nbqx34hhjg47lbjafkmdps8aalq3n5sah99iy26d";
+       version = "1.0.1";
+       sha256 = "070gxs75f3wvvalw81y3af5dm76hnv89rwlh6j5dks9m8mm9pgqq";
        libraryHaskellDepends = [
          base bytestring di-core exceptions unix
        ];
@@ -66571,6 +66722,8 @@ self: {
        ];
        description = "hint-based build service for the diagrams graphics EDSL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "diagrams-cairo" = callPackage
@@ -66724,6 +66877,8 @@ self: {
        ];
        description = "Preprocessor for embedding diagrams in Haddock documentation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "diagrams-hsqml" = callPackage
@@ -67890,6 +68045,24 @@ self: {
        broken = true;
      }) {};
 
+  "dir-traverse" = callPackage
+    ({ mkDerivation, base, composition-prelude, criterion, directory
+     , dirstream, dlist, filepath, pipes, pipes-safe, system-filepath
+     }:
+     mkDerivation {
+       pname = "dir-traverse";
+       version = "0.1.0.0";
+       sha256 = "1sxw6hr8ajs7gxqp7kwj5v635wb7m0gxix37navp3gddr34jhan2";
+       libraryHaskellDepends = [
+         base composition-prelude directory dlist filepath
+       ];
+       benchmarkHaskellDepends = [
+         base criterion dirstream pipes pipes-safe system-filepath
+       ];
+       description = "Simple directory traversal library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "direct-binary-files" = callPackage
     ({ mkDerivation, base, bytestring, mtl }:
      mkDerivation {
@@ -68205,8 +68378,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "0.8.2";
-       sha256 = "0ig8qwz0qgr41x5rk59npgkyd9d2g15xvmhnq4igxzaql0b2f0pl";
+       version = "0.8.3";
+       sha256 = "15nm4dp20ch27wf86s0z3qd98419hhc988dmbv4z9qhq0f8sdcmb";
        libraryHaskellDepends = [
          aeson async base base64-bytestring bytestring containers
          data-default http-client iso8601-time JuicyPixels MonadRandom req
@@ -73526,8 +73699,8 @@ self: {
      }:
      mkDerivation {
        pname = "eliminators";
-       version = "0.5";
-       sha256 = "0d1d2pp8r2gai25q898v30gb5r82pjzi9smqndn27p1bk9xlqzzr";
+       version = "0.5.1";
+       sha256 = "0kqgfsa736sahcsgsjgyh7h1lwxzyn4z85klybmj7gffg9lz4rl1";
        libraryHaskellDepends = [
          base extra singleton-nats singletons template-haskell
          th-abstraction th-desugar
@@ -78020,22 +78193,6 @@ self: {
 
   "extra" = callPackage
     ({ mkDerivation, base, clock, directory, filepath, process
-     , QuickCheck, time, unix
-     }:
-     mkDerivation {
-       pname = "extra";
-       version = "1.6.14";
-       sha256 = "170jmwx2wnpa6bs92pcijm4ib4hq0vs4582s6v63wrcn1m9l21m6";
-       libraryHaskellDepends = [
-         base clock directory filepath process time unix
-       ];
-       testHaskellDepends = [ base directory filepath QuickCheck unix ];
-       description = "Extra functions I use";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "extra_1_6_15" = callPackage
-    ({ mkDerivation, base, clock, directory, filepath, process
      , QuickCheck, semigroups, time, unix
      }:
      mkDerivation {
@@ -78048,7 +78205,6 @@ self: {
        testHaskellDepends = [ base directory filepath QuickCheck unix ];
        description = "Extra functions I use";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "extract-dependencies" = callPackage
@@ -78508,8 +78664,8 @@ self: {
      }:
      mkDerivation {
        pname = "faktory";
-       version = "1.0.0.0";
-       sha256 = "10dvgxipik8pw2cibmw65887ri1zssy2ha72r6x57flgkr0jal0j";
+       version = "1.0.1.0";
+       sha256 = "0vkg1siaiq6dj1i0dnfdcdswr7fw4shn92wyfj8lxrj6krmfjrni";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79008,8 +79164,8 @@ self: {
      }:
      mkDerivation {
        pname = "fay";
-       version = "0.24.0.2";
-       sha256 = "00qm6n8ali6inqmm64mrcz414iwiin8zwpavq5w1hnrmvzlbazg5";
+       version = "0.24.0.3";
+       sha256 = "07ys208iiy28hmhc098yx2vj3rzwwxqi0q7l4xx4q61albmryf08";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -79550,15 +79706,15 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
-  "fedora-haskell-tools_0_7" = callPackage
+  "fedora-haskell-tools_0_8" = callPackage
     ({ mkDerivation, base, csv, directory, fedora-dists, filepath, HTTP
      , optparse-applicative, process, simple-cmd, simple-cmd-args, split
      , time, unix
      }:
      mkDerivation {
        pname = "fedora-haskell-tools";
-       version = "0.7";
-       sha256 = "1c6pn63jn2afbnr0ink4sblhh4ggvgan9h4fk8l6bpg7g6wm68kp";
+       version = "0.8";
+       sha256 = "03wk335dpkbcdgxqsjiavnqc43jkw8gh7y41dyfwivwd9mr32y2w";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -80830,10 +80986,8 @@ self: {
      }:
      mkDerivation {
        pname = "fin";
-       version = "0.0.1";
-       sha256 = "0mqs6qayj2n54siz3bpab9z6sk9030wdaxgvgg9g36983yaqmlil";
-       revision = "1";
-       editedCabalFile = "056d22f1j1xv5ka2qr7a3z5ad5w1im76qdf77v6dqdi4vaz52vd1";
+       version = "0.0.2";
+       sha256 = "1fdykzyqc43648ka7z3jg3dciyb71ipp67ya521mp6zk9is2fx5i";
        libraryHaskellDepends = [ base deepseq hashable ];
        testHaskellDepends = [ base inspection-testing tagged ];
        description = "Nat and Fin: peano naturals and finite numbers";
@@ -84753,19 +84907,16 @@ self: {
      }) {};
 
   "freq" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, gauge
-     , hedgehog, primitive
+    ({ mkDerivation, base, binary, bytestring, containers, deepseq
+     , gauge, hedgehog, primitive
      }:
      mkDerivation {
        pname = "freq";
-       version = "0.1.0.4";
-       sha256 = "1h5lhsnm89g4g46sqiym2zf855skinirygqllf9grj6vk4qbls9n";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.1.1";
+       sha256 = "1n86njmj2y8qgfg3z1rw8p74glqkm36lm2zigv299fzlhqxsx907";
        libraryHaskellDepends = [
-         base bytestring containers deepseq primitive
+         base binary bytestring containers deepseq primitive
        ];
-       executableHaskellDepends = [ base bytestring containers ];
        testHaskellDepends = [ base bytestring containers hedgehog ];
        benchmarkHaskellDepends = [ base bytestring containers gauge ];
        description = "Are you ready to get freaky?";
@@ -87341,20 +87492,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "generic-data_0_6_0_0" = callPackage
-    ({ mkDerivation, base, base-orphans, contravariant, generic-lens
-     , one-liner, show-combinators, tasty, tasty-hunit
+  "generic-data_0_6_0_1" = callPackage
+    ({ mkDerivation, base, base-orphans, contravariant, criterion
+     , deepseq, generic-lens, one-liner, show-combinators, tasty
+     , tasty-hunit
      }:
      mkDerivation {
        pname = "generic-data";
-       version = "0.6.0.0";
-       sha256 = "0aiz7m78ysmx31754g28x0zls1kds12p2h3n35k7mxf7g1lla6fx";
+       version = "0.6.0.1";
+       sha256 = "0qahlf5vsnpy306xr9mpjif5hq21xzyw067051sfxv5k27gx4f1k";
        libraryHaskellDepends = [
          base base-orphans contravariant show-combinators
        ];
        testHaskellDepends = [
          base generic-lens one-liner tasty tasty-hunit
        ];
+       benchmarkHaskellDepends = [ base criterion deepseq ];
        description = "Deriving instances with GHC.Generics and related utilities";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -87407,8 +87560,8 @@ self: {
      }:
      mkDerivation {
        pname = "generic-deriving";
-       version = "1.12.3";
-       sha256 = "14k6yilr8x3ymwmgv51rjkqnzgm64b538gi80lj3z8p6wfjdgvfv";
+       version = "1.12.4";
+       sha256 = "0vdg9qdq35jl3m11a87wk8cq1y71qm4i1g1b2pxki0wk70yw20a4";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell th-abstraction
        ];
@@ -87659,6 +87812,8 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "A library for generic programming that aims to be easy to understand";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "generics-mrsop" = callPackage
@@ -89552,8 +89707,8 @@ self: {
     ({ mkDerivation, base, cpphs, ghc, happy }:
      mkDerivation {
        pname = "ghc-parser";
-       version = "0.2.0.2";
-       sha256 = "1130fpddf3jx84k558gsc83j3166qy15jp878w2d3lwgzxjcqx5v";
+       version = "0.2.0.3";
+       sha256 = "0j0injpah571chhgm2gzrim7908l859mgppvxp966bwla3i7j1aj";
        libraryHaskellDepends = [ base ghc ];
        libraryToolDepends = [ cpphs happy ];
        description = "Haskell source parser from GHC";
@@ -93218,6 +93373,8 @@ self: {
        pname = "gloss-accelerate";
        version = "2.0.0.1";
        sha256 = "106z8kax0m3hzk0381l8m7gxdapl3wf0fdr1ljwb5fgcjc00pac2";
+       revision = "1";
+       editedCabalFile = "0349yyzxn7r82mz4vr71dibzp0sh45b4a06hm0c0z9d7vlxj0sjj";
        libraryHaskellDepends = [ accelerate base gloss gloss-rendering ];
        description = "Extras to interface Gloss and Accelerate";
        license = stdenv.lib.licenses.bsd3;
@@ -93363,8 +93520,8 @@ self: {
        pname = "gloss-raster-accelerate";
        version = "2.0.0.0";
        sha256 = "1i0qx9wybr66i1x4n3p8ai2z6qx0k5lac422mhh4rvimcjx2bc9d";
-       revision = "2";
-       editedCabalFile = "0k0a562qa8khj39zpgp4sr8kh8h2q4krjjhbvpbsll4r83067ahj";
+       revision = "3";
+       editedCabalFile = "0nk901zy01x7v7faa20j0yawqfw3nfl27xr19ip7bn3agmq4sqq2";
        libraryHaskellDepends = [
          accelerate base colour-accelerate gloss gloss-accelerate
        ];
@@ -96913,8 +97070,8 @@ self: {
      }:
      mkDerivation {
        pname = "grammatical-parsers";
-       version = "0.3.2";
-       sha256 = "1xmxjds8jpg8q3vmmrypcz3gcjwv9sxyxmpkcrlrjm0wziv175x7";
+       version = "0.4";
+       sha256 = "0cn912rq65k234y12wwbh07wfps107i43s374lddajb853jq3wr6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -98453,6 +98610,36 @@ self: {
        broken = true;
      }) {};
 
+  "grpc-haskell" = callPackage
+    ({ mkDerivation, async, base, bytestring, clock, containers
+     , criterion, grpc-haskell-core, managed, pipes, proto3-suite
+     , proto3-wire, QuickCheck, random, safe, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, transformers, turtle, unix
+     }:
+     mkDerivation {
+       pname = "grpc-haskell";
+       version = "0.0.0.0";
+       sha256 = "1d1njhrg6sfwy9f6xaxj0p8bbp2g6qjsa4cq7zq43h3vc1lkb0ii";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base bytestring grpc-haskell-core managed proto3-suite
+         proto3-wire
+       ];
+       testHaskellDepends = [
+         async base bytestring clock containers managed pipes proto3-suite
+         QuickCheck safe tasty tasty-hunit tasty-quickcheck text time
+         transformers turtle unix
+       ];
+       benchmarkHaskellDepends = [
+         async base bytestring criterion proto3-suite random
+       ];
+       description = "Haskell implementation of gRPC layered on shared C library";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {grpc-haskell-core = null;};
+
   "gruff" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , FTGL, gtk, gtkglext, mtl, old-locale, OpenGL, OpenGLRaw, parallel
@@ -99932,8 +100119,8 @@ self: {
      }:
      mkDerivation {
        pname = "hablo";
-       version = "1.0.0.0";
-       sha256 = "19lhchfvkyqjfbr7i07y6a26dyk19w83s0qa6drgnr6zqsvdqkg8";
+       version = "1.0.1.0";
+       sha256 = "1jbbh8d2xdcdgm4kq4yn6i6h9g996m2zqklg8s5b5h5jlzk7hfvs";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -103762,28 +103949,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt";
-       version = "0.1.3.2";
-       sha256 = "14sq3iqbrfkwyswdka2285cdhwx3c6srfhn5qb7yw1nfjx2bdb1i";
-       revision = "4";
-       editedCabalFile = "0h38mjkr3cqhsr9hwf2wj27mknnxyb2y3swzp18s7q4vmrb1ijyz";
-       libraryHaskellDepends = [
-         base binary bytestring connection containers data-binary-ieee754
-         data-default network text transformers
-       ];
-       testHaskellDepends = [
-         base bytestring containers hex hspec QuickCheck text
-       ];
-       description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hasbolt_0_1_3_3" = callPackage
-    ({ mkDerivation, base, binary, bytestring, connection, containers
-     , data-binary-ieee754, data-default, hex, hspec, network
-     , QuickCheck, text, transformers
-     }:
-     mkDerivation {
-       pname = "hasbolt";
        version = "0.1.3.3";
        sha256 = "1l1p9iz9k8i1car5cd6cfd2bpidkrfbr2354hxvg8gpnw1i5jsbb";
        libraryHaskellDepends = [
@@ -103795,7 +103960,6 @@ self: {
        ];
        description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hasbolt-extras" = callPackage
@@ -105314,23 +105478,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp_0_10_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, data-default
-     , directory, filepath, hashable, haskell-lsp-types, hslogger, hspec
-     , hspec-discover, lens, mtl, network-uri, parsec, QuickCheck
-     , quickcheck-instances, sorted-list, stm, text, time, transformers
-     , unordered-containers, vector, yi-rope
+  "haskell-lsp_0_11_0_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, sorted-list, stm, text, time
+     , transformers, unordered-containers, vector, yi-rope
      }:
      mkDerivation {
        pname = "haskell-lsp";
-       version = "0.10.0.0";
-       sha256 = "01vfpv4zi6h9rdn39l7rx3y0mm2gsabwsf5ny2dbrca8x7462vys";
+       version = "0.11.0.0";
+       sha256 = "09zpslvlqw68ywwlfmygyf5qsgfwxbiqijlxmjfc3j8annb8zcwz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring containers data-default directory filepath
-         hashable haskell-lsp-types hslogger lens mtl network-uri parsec
-         sorted-list stm text time unordered-containers yi-rope
+         aeson async base bytestring containers data-default directory
+         filepath hashable haskell-lsp-types hslogger lens mtl network-uri
+         parsec sorted-list stm text time unordered-containers yi-rope
        ];
        executableHaskellDepends = [
          aeson base bytestring containers data-default directory filepath
@@ -105387,15 +105551,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp-types_0_10_0_0" = callPackage
+  "haskell-lsp-types_0_11_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, filepath
      , hashable, lens, network-uri, scientific, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-lsp-types";
-       version = "0.10.0.0";
-       sha256 = "03k8sip1mgcpr93075cpylp7d9h956vxx6dpcli1r46filbb88an";
+       version = "0.11.0.0";
+       sha256 = "019kaw306hjnb98d1g9dq2q9r169qrqaxrxbkbjq083plxxjg6cx";
        libraryHaskellDepends = [
          aeson base bytestring data-default filepath hashable lens
          network-uri scientific text unordered-containers
@@ -105986,11 +106150,13 @@ self: {
     ({ mkDerivation, base, haskell-src-exts }:
      mkDerivation {
        pname = "haskell-src-exts-simple";
-       version = "1.20.0.0";
-       sha256 = "0p79ppmwb14lj2a1wy42zgm3z3zk5jbyn7rfgwxsyw2g424bw1dk";
+       version = "1.21.0.0";
+       sha256 = "0h8m1w995mpdca9is7lwv9n1w7khr5cnxzam21x7w47i546wm9rm";
        libraryHaskellDepends = [ base haskell-src-exts ];
        description = "A simplified view on the haskell-src-exts AST";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-src-exts-util" = callPackage
@@ -108326,36 +108492,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.3.0.3";
-       sha256 = "01vl4p67yhcm8cmbmajgyd7ggj3p5f6350f8sky8kv3dn31wg6ji";
-       revision = "2";
-       editedCabalFile = "14063k0dald0i2cqk70kdja1df587vn8vrzgw3rb62nxwycr0r9b";
-       libraryHaskellDepends = [
-         attoparsec base base-prelude bytestring bytestring-strict-builder
-         contravariant contravariant-extras data-default-class dlist
-         hashable hashtables loch-th mtl placeholders postgresql-binary
-         postgresql-libpq profunctors text text-builder transformers vector
-       ];
-       testHaskellDepends = [
-         bug data-default-class QuickCheck quickcheck-instances rebase
-         rerebase tasty tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ bug criterion rerebase ];
-       description = "An efficient PostgreSQL driver and a flexible mapping API";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hasql_1_3_0_5" = callPackage
-    ({ mkDerivation, attoparsec, base, base-prelude, bug, bytestring
-     , bytestring-strict-builder, contravariant, contravariant-extras
-     , criterion, data-default-class, dlist, hashable, hashtables
-     , loch-th, mtl, placeholders, postgresql-binary, postgresql-libpq
-     , profunctors, QuickCheck, quickcheck-instances, rebase, rerebase
-     , tasty, tasty-hunit, tasty-quickcheck, text, text-builder
-     , transformers, vector
-     }:
-     mkDerivation {
-       pname = "hasql";
        version = "1.3.0.5";
        sha256 = "0qs2x4gbaffrxndivb4237vxc6qrzn2rs5kbf04n4d6py9cdhbjv";
        libraryHaskellDepends = [
@@ -108371,7 +108507,6 @@ self: {
        benchmarkHaskellDepends = [ bug criterion rerebase ];
        description = "An efficient PostgreSQL driver and a flexible mapping API";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hasql-backend" = callPackage
@@ -108520,8 +108655,8 @@ self: {
     ({ mkDerivation, base-prelude, hasql, hspec, resource-pool, time }:
      mkDerivation {
        pname = "hasql-pool";
-       version = "0.5.0.1";
-       sha256 = "1isnn3klvqcr13wvq6fsj3b5sysjs6xlll9s3ysihd1x4v87zii8";
+       version = "0.5.0.2";
+       sha256 = "12289a6xn7gn58s8009bwcjffvr5ipycyb2ixzkxbigaxjbprar4";
        libraryHaskellDepends = [ base-prelude hasql resource-pool time ];
        testHaskellDepends = [ base-prelude hasql hspec ];
        description = "A pool of connections for Hasql";
@@ -110543,8 +110678,8 @@ self: {
        pname = "hedgehog";
        version = "0.6.1";
        sha256 = "0xz10ycdm5vk9nrcym1fi83k19frfwqz18bz8bnpzwvaj0j41yfj";
-       revision = "3";
-       editedCabalFile = "11ifv3yymhrzin3cmlrw298lyggqc1sxmbw6n5kpjrv8cnkw28x6";
+       revision = "4";
+       editedCabalFile = "0iaqqdv4qvkzw1vasnz829k9lh7mz5nkqr8i803rilwnq40xgipx";
        libraryHaskellDepends = [
          ansi-terminal async base bytestring concurrent-output containers
          directory exceptions lifted-async mmorph monad-control mtl
@@ -113498,10 +113633,8 @@ self: {
      }:
      mkDerivation {
        pname = "hindent";
-       version = "5.2.7";
-       sha256 = "06p7rn689ynlxxgpy7ix8r69zwz4iwp7rfvcjxa6kxayfiq3hc2w";
-       revision = "2";
-       editedCabalFile = "14fdsaybp9jyhgcr5q4zl3cnhbll2q732gz52qwbmvk0q5y0zad0";
+       version = "5.3.0";
+       sha256 = "0wkfik7mvqskk23kyh7ybgnlh3j9j1ym7d3ncahsbli9w654b7xg";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -113520,7 +113653,7 @@ self: {
        ];
        benchmarkHaskellDepends = [
          base bytestring criterion deepseq directory exceptions ghc-prim
-         haskell-src-exts utf8-string
+         haskell-src-exts mtl utf8-string
        ];
        description = "Extensible Haskell pretty printer";
        license = stdenv.lib.licenses.bsd3;
@@ -114393,6 +114526,27 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "hjugement-protocol" = callPackage
+    ({ mkDerivation, base, bytestring, containers, cryptonite, hashable
+     , memory, mmorph, QuickCheck, random, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hjugement-protocol";
+       version = "0.0.0.20190428";
+       sha256 = "1a4lyysd63y9r3cg4vjn1zxwf3s6vrngl3d93l7pdabhvfpmdkjb";
+       libraryHaskellDepends = [
+         base bytestring containers cryptonite memory mmorph random text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base containers hashable QuickCheck random tasty tasty-hunit
+         tasty-quickcheck text transformers unordered-containers
+       ];
+       description = "A cryptographic protocol for the Majority Judgment";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "hkdf" = callPackage
     ({ mkDerivation, base, byteable, bytestring, cryptohash, hspec }:
      mkDerivation {
@@ -114637,6 +114791,8 @@ self: {
        ];
        description = "An hledger workflow focusing on automated statement import and classification";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hledger-iadd" = callPackage
@@ -115455,8 +115611,8 @@ self: {
      }:
      mkDerivation {
        pname = "hmatrix-vector-sized";
-       version = "0.1.1.2";
-       sha256 = "0zj31xm0d2d7bzky9qxxs5jb5snjivdjknghpwmf8s1b85zim646";
+       version = "0.1.1.3";
+       sha256 = "1p4222rq9xm8admm3811hgb32q1nin9y35bm4c121yhz6c0ic5cg";
        libraryHaskellDepends = [ base hmatrix vector vector-sized ];
        testHaskellDepends = [
          base ghc-typelits-knownnat hedgehog hmatrix vector vector-sized
@@ -118570,6 +118726,8 @@ self: {
        ];
        description = "Compression and decompression in the brotli format";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {brotlidec = null; brotlienc = null; libbrotlidec = null; 
          libbrotlienc = null;};
 
@@ -121005,6 +121163,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hslua-module-system" = callPackage
+    ({ mkDerivation, base, directory, hslua, tasty, tasty-hunit
+     , temporary, text
+     }:
+     mkDerivation {
+       pname = "hslua-module-system";
+       version = "0.1.0.1";
+       sha256 = "1qkp8pdnh8s7wh2yfpbfg1vbr7qpywa1gsz06chmwkyva0clx2cq";
+       libraryHaskellDepends = [ base directory hslua temporary ];
+       testHaskellDepends = [ base hslua tasty tasty-hunit text ];
+       description = "Lua module wrapper around Haskell's System module";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hslua-module-text" = callPackage
     ({ mkDerivation, base, bytestring, hslua, tasty, tasty-hunit, text
      }:
@@ -127398,8 +127570,8 @@ self: {
      }:
      mkDerivation {
        pname = "hylolib";
-       version = "1.5.3";
-       sha256 = "1jpmgpw7cln4r1y4jc4rn17b8wm3vw4dbbzj1fcvljdi73z5yg4b";
+       version = "1.5.4";
+       sha256 = "0vznqq8z4f42plidagmg2d099gvfk3pwv4xclar8d0gp6dsbks6v";
        libraryHaskellDepends = [
          array base containers mtl pretty random uniplate
        ];
@@ -128573,14 +128745,15 @@ self: {
      , cmdargs, containers, directory, filepath, ghc, ghc-boot
      , ghc-parser, ghc-paths, haskeline, haskell-src-exts, here, hlint
      , hspec, hspec-contrib, http-client, http-client-tls, HUnit
-     , ipython-kernel, mtl, parsec, process, random, setenv, shelly
-     , split, stm, strict, system-argv0, text, transformers, unix
-     , unordered-containers, utf8-string, uuid, vector
+     , ipython-kernel, mtl, parsec, process, random, raw-strings-qq
+     , setenv, shelly, split, stm, strict, system-argv0, text, time
+     , transformers, unix, unordered-containers, utf8-string, uuid
+     , vector
      }:
      mkDerivation {
        pname = "ihaskell";
-       version = "0.9.1.0";
-       sha256 = "1r71bijgfcsgsymg9aqjkgplg8c9g65zddr7dqf7d3mv2bpb5ain";
+       version = "0.10.0.0";
+       sha256 = "0fmz0l2mpl6qwh4c00ppryxs2nfacmi1n3k21645v62vyhk0favp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -128589,15 +128762,15 @@ self: {
          directory filepath ghc ghc-boot ghc-parser ghc-paths haskeline
          haskell-src-exts hlint http-client http-client-tls ipython-kernel
          mtl parsec process random shelly split stm strict system-argv0 text
-         transformers unix unordered-containers utf8-string uuid vector
+         time transformers unix unordered-containers utf8-string uuid vector
        ];
        executableHaskellDepends = [
          aeson base bytestring containers directory ghc ipython-kernel
-         process strict text transformers unix
+         process strict text transformers unix unordered-containers
        ];
        testHaskellDepends = [
-         base directory ghc ghc-paths here hspec hspec-contrib HUnit setenv
-         shelly text transformers
+         base directory ghc ghc-paths here hspec hspec-contrib HUnit
+         raw-strings-qq setenv shelly text transformers
        ];
        description = "A Haskell backend kernel for the IPython project";
        license = stdenv.lib.licenses.mit;
@@ -128710,6 +128883,19 @@ self: {
        broken = true;
      }) {};
 
+  "ihaskell-graphviz" = callPackage
+    ({ mkDerivation, base, bytestring, ihaskell, process }:
+     mkDerivation {
+       pname = "ihaskell-graphviz";
+       version = "0.1.0.0";
+       sha256 = "1min39vd75rn7vwpmggf8a30fhlv5zphhmckb5a4g6lqg5v1kf1y";
+       libraryHaskellDepends = [ base bytestring ihaskell process ];
+       description = "IHaskell display instance for GraphViz (external binary)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ihaskell-hatex" = callPackage
     ({ mkDerivation, base, HaTeX, ihaskell, text }:
      mkDerivation {
@@ -128845,8 +129031,8 @@ self: {
      }:
      mkDerivation {
        pname = "ihaskell-widgets";
-       version = "0.2.3.2";
-       sha256 = "18kp3s534k241ld1s0ds5hln47pc863dfs3i6r9w67adnf6qhff8";
+       version = "0.2.3.3";
+       sha256 = "1b4v8ng9y9n9wkadjj06iab71gbqkfr7plxxn1a9fn6qgnnlmdg8";
        libraryHaskellDepends = [
          aeson base containers ihaskell ipython-kernel scientific singletons
          text unix unordered-containers vector vinyl
@@ -131475,21 +131661,18 @@ self: {
   "invariant" = callPackage
     ({ mkDerivation, array, base, bifunctors, comonad, containers
      , contravariant, ghc-prim, hspec, hspec-discover, profunctors
-     , QuickCheck, semigroups, StateVar, stm, tagged, template-haskell
+     , QuickCheck, StateVar, stm, tagged, template-haskell
      , th-abstraction, transformers, transformers-compat
      , unordered-containers
      }:
      mkDerivation {
        pname = "invariant";
-       version = "0.5.1";
-       sha256 = "0aqj7z55632qdg45074kgn9qfdxzb0a2f8lgjzr0l0i4mm2rr37b";
-       revision = "1";
-       editedCabalFile = "100gsacbpal53khj94m5qs4aq70hbsp4dz4065czfm49ysd4yqq4";
+       version = "0.5.2";
+       sha256 = "0k3rh5gzga9snj8piqpsix5h9437kmbam75sax7aa6pirhxx0dw0";
        libraryHaskellDepends = [
          array base bifunctors comonad containers contravariant ghc-prim
-         profunctors semigroups StateVar stm tagged template-haskell
-         th-abstraction transformers transformers-compat
-         unordered-containers
+         profunctors StateVar stm tagged template-haskell th-abstraction
+         transformers transformers-compat unordered-containers
        ];
        testHaskellDepends = [ base hspec QuickCheck template-haskell ];
        testToolDepends = [ hspec-discover ];
@@ -132167,6 +132350,30 @@ self: {
        broken = true;
      }) {};
 
+  "ipython-kernel_0_10_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, cereal-text
+     , containers, cryptonite, directory, filepath, memory, mtl, process
+     , temporary, text, transformers, unordered-containers, uuid
+     , zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "ipython-kernel";
+       version = "0.10.0.0";
+       sha256 = "1dqvii2h0vc32ladxmrzli5ch5m3is41bgalas34fh0gcc00p7qa";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cereal cereal-text containers cryptonite
+         directory filepath memory mtl process temporary text transformers
+         unordered-containers uuid zeromq4-haskell
+       ];
+       description = "A library for creating kernels for IPython frontends";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "irc" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, HUnit, QuickCheck
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -137682,6 +137889,18 @@ self: {
        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
     ({ mkDerivation, base, kind-apply }:
      mkDerivation {
@@ -137709,6 +137928,23 @@ self: {
        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 = [
+         base kind-generics template-haskell th-abstraction
+       ];
+       testHaskellDepends = [ base kind-generics ];
+       description = "Template Haskell support for generating `GenericK` instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "kinds" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -137763,6 +137999,29 @@ self: {
        broken = true;
      }) {};
 
+  "kleene_0_1" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat, bytestring
+     , containers, lattices, MemoTrie, QuickCheck, range-set-list
+     , regex-applicative, semigroupoids, step-function, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "kleene";
+       version = "0.1";
+       sha256 = "00w1gywdhqyy2k3y238gfjs9h2w4pjanmi45bna5lj215n0jb0hg";
+       revision = "1";
+       editedCabalFile = "0cirgqhbwz849szrzmyvs47pzja9wnmz5rc2ccylgdikkv4mg3bb";
+       libraryHaskellDepends = [
+         attoparsec base base-compat bytestring containers lattices MemoTrie
+         QuickCheck range-set-list regex-applicative semigroupoids
+         step-function text transformers
+       ];
+       description = "Kleene algebra";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "kmeans" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -137889,6 +138148,8 @@ self: {
        ];
        description = "a minimal Rmarkdown sort-of-thing for haskell, by way of Pandoc";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "knob" = callPackage
@@ -138645,8 +138906,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot";
-       version = "5.1.0.4";
-       sha256 = "1pywangzqf85pqhh5sn10vpk0wrd7ff5p29jrsi6sxdz5lyb7svk";
+       version = "5.2";
+       sha256 = "1ay873mnp4jzjsawxm6k17h6ciyw022a3fviqm83d0l6d1yjnyzm";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -138665,22 +138926,22 @@ self: {
     ({ mkDerivation, base, binary, bytestring, containers
      , dependent-map, dependent-sum, dependent-sum-template, directory
      , edit-distance, filepath, haskeline, hslogger, HTTP, lifted-base
-     , monad-control, mtl, network, parsec, prim-uniq, random, random-fu
-     , random-source, regex-tdfa, SafeSemaphore, split, syb
-     , template-haskell, time, transformers, transformers-base, unix
-     , utf8-string, zlib
+     , monad-control, mtl, network, network-bsd, parsec, prim-uniq
+     , random, random-fu, random-source, regex-tdfa, SafeSemaphore
+     , split, syb, template-haskell, time, transformers
+     , transformers-base, unix, utf8-string, zlib
      }:
      mkDerivation {
        pname = "lambdabot-core";
-       version = "5.1.0.4";
-       sha256 = "1cnp0w47fp0s1zlyb0d90xj5ynwfmlnzm5inc5lhbichwgqcwfzk";
+       version = "5.2";
+       sha256 = "1wh87wwb8hk3hn2lmdqi1hv77qbdmwqcwjslichygmvac8fjhjss";
        libraryHaskellDepends = [
          base binary bytestring containers dependent-map dependent-sum
          dependent-sum-template directory edit-distance filepath haskeline
-         hslogger HTTP lifted-base monad-control mtl network parsec
-         prim-uniq random random-fu random-source regex-tdfa SafeSemaphore
-         split syb template-haskell time transformers transformers-base unix
-         utf8-string zlib
+         hslogger HTTP lifted-base monad-control mtl network network-bsd
+         parsec prim-uniq random random-fu random-source regex-tdfa
+         SafeSemaphore split syb template-haskell time transformers
+         transformers-base unix utf8-string zlib
        ];
        description = "Lambdabot core functionality";
        license = "GPL";
@@ -138698,8 +138959,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-haskell-plugins";
-       version = "5.1.0.4";
-       sha256 = "19fl14c1j7p9qaf26g1qkmxvmw9r7hvxqmp9jxmmwbp7xlc3664v";
+       version = "5.2";
+       sha256 = "0slq4bfkjpb13k9r9dzfhzsaz39f4ji81f8zfqs37b3r6vfvabbb";
        libraryHaskellDepends = [
          array arrows base bytestring containers data-memocombinators
          directory filepath haskell-src-exts-simple hoogle HTTP IOSpec
@@ -138721,8 +138982,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-irc-plugins";
-       version = "5.1.0.4";
-       sha256 = "0kscksdqjysk9amxwb1xjh475pbwq22mf9as5kqwn72c8s75ngaf";
+       version = "5.2";
+       sha256 = "0m0dmggmri8imzm15qf5xhzha5ww0qxzg9r3w826z57fwpsql5kh";
        libraryHaskellDepends = [
          base bytestring containers directory filepath lambdabot-core
          lifted-base mtl network SafeSemaphore split time
@@ -138733,7 +138994,7 @@ self: {
      }) {};
 
   "lambdabot-misc-plugins" = callPackage
-    ({ mkDerivation, base, bytestring, containers, filepath, hstatsd
+    ({ mkDerivation, base, bytestring, containers, filepath
      , lambdabot-core, lifted-base, mtl, network, network-uri, parsec
      , process, random, random-fu, random-source, regex-tdfa
      , SafeSemaphore, split, tagsoup, template-haskell, time
@@ -138741,14 +139002,13 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-misc-plugins";
-       version = "5.1.0.4";
-       sha256 = "169grwgg5x63qhls16c7xd0p78da38r275mar27il78az7qfgn8d";
+       version = "5.2";
+       sha256 = "1bl33np4ajiasafchqp2cf0jgb4r8s5phh2nifd82wqg4g4ajw6a";
        libraryHaskellDepends = [
-         base bytestring containers filepath hstatsd lambdabot-core
-         lifted-base mtl network network-uri parsec process random random-fu
-         random-source regex-tdfa SafeSemaphore split tagsoup
-         template-haskell time transformers transformers-base unix
-         utf8-string zlib
+         base bytestring containers filepath lambdabot-core lifted-base mtl
+         network network-uri parsec process random random-fu random-source
+         regex-tdfa SafeSemaphore split tagsoup template-haskell time
+         transformers transformers-base unix utf8-string zlib
        ];
        description = "Lambdabot miscellaneous plugins";
        license = "GPL";
@@ -138761,8 +139021,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-novelty-plugins";
-       version = "5.1.0.4";
-       sha256 = "1m6n0asp8pn12wif5jv0nvjipzgh7mzzxa17j4mzd7mdqi4dma7z";
+       version = "5.2";
+       sha256 = "171zx2sicl2c5i0mq2aj82dy146i474l18958qw6nwnx9qxc023a";
        libraryHaskellDepends = [
          base binary brainfuck bytestring containers dice directory
          lambdabot-core misfortune process random-fu regex-tdfa unlambda
@@ -138778,8 +139038,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-reference-plugins";
-       version = "5.1.0.4";
-       sha256 = "0qavp784p5qdb2plhhgk1idrjxcazzn4a94pg8syymb24fzjvm1w";
+       version = "5.2";
+       sha256 = "0z4hx2knj7y5cslrx3rbd2gzm1qyan4gi1v45c91nlg2g54z5cf3";
        libraryHaskellDepends = [
          base bytestring containers HTTP lambdabot-core mtl network
          network-uri oeis process regex-tdfa split tagsoup utf8-string
@@ -138794,8 +139054,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambdabot-social-plugins";
-       version = "5.1.0.4";
-       sha256 = "0kjjsnrrsrcdvkn75dsbw7afx8y87i36i6lk54hs6cg88zndailz";
+       version = "5.2";
+       sha256 = "04gg7cnzahqfy69sp0wr0h1kgy6l0m0dkjbynrx2rmi5w6v4zgkl";
        libraryHaskellDepends = [
          base binary bytestring containers lambdabot-core mtl split time
        ];
@@ -138807,8 +139067,8 @@ self: {
     ({ mkDerivation, base, oeis, QuickCheck, QuickCheck-safe }:
      mkDerivation {
        pname = "lambdabot-trusted";
-       version = "5.1.0.4";
-       sha256 = "1mlyhxc93d3466xhxqlyzg1c8988spzbyk4d5l0c05l1m0xlq77j";
+       version = "5.2";
+       sha256 = "0cc1x3yxmpnhgl47y8zvbhqiryp3db30b0i89h0zb112kf8mvw5k";
        libraryHaskellDepends = [ base oeis QuickCheck QuickCheck-safe ];
        description = "Lambdabot trusted code";
        license = "GPL";
@@ -140816,6 +141076,32 @@ self: {
        broken = true;
      }) {};
 
+  "lattices_2" = callPackage
+    ({ mkDerivation, base, base-compat, containers, deepseq, hashable
+     , integer-logarithms, QuickCheck, quickcheck-instances
+     , semigroupoids, tagged, tasty, tasty-quickcheck, transformers
+     , universe-base, universe-reverse-instances, unordered-containers
+     }:
+     mkDerivation {
+       pname = "lattices";
+       version = "2";
+       sha256 = "050c66rrzh5p204jyqmysyhm419f8pasi0mlbwv3n167y0fnr8xq";
+       libraryHaskellDepends = [
+         base base-compat containers deepseq hashable integer-logarithms
+         QuickCheck semigroupoids tagged transformers universe-base
+         universe-reverse-instances unordered-containers
+       ];
+       testHaskellDepends = [
+         base base-compat containers QuickCheck quickcheck-instances tasty
+         tasty-quickcheck transformers universe-base
+         universe-reverse-instances unordered-containers
+       ];
+       description = "Fine-grained library for constructing and manipulating lattices";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "launchpad-control" = callPackage
     ({ mkDerivation, array, base, containers, hmidi, mtl, transformers
      }:
@@ -141753,20 +142039,20 @@ self: {
      , tagged, template-haskell, test-framework, test-framework-hunit
      , test-framework-quickcheck2, test-framework-th, text
      , th-abstraction, transformers, transformers-compat
-     , unordered-containers, vector, void
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "lens";
-       version = "4.17";
-       sha256 = "1k087zfy10rijr3cikalj8p58d8ypfmhb4d29bsbw8qhakg68dj7";
+       version = "4.17.1";
+       sha256 = "1gpkc53l2cggnfrgg5k4ih82rycjbdvpj9pnbi5cq8ms0dbvs4a7";
        setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
        libraryHaskellDepends = [
          array base base-orphans bifunctors bytestring call-stack comonad
          containers contravariant distributive exceptions filepath free
          ghc-prim hashable kan-extensions mtl parallel profunctors
-         reflection semigroupoids semigroups tagged template-haskell text
+         reflection semigroupoids tagged template-haskell text
          th-abstraction transformers transformers-compat
-         unordered-containers vector void
+         unordered-containers vector
        ];
        testHaskellDepends = [
          base bytestring containers deepseq directory doctest filepath
@@ -142609,6 +142895,8 @@ self: {
        librarySystemDepends = [ ffi ];
        description = "LibFFI interface with dynamic bidirectional type-driven binding generation";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {ffi = null;};
 
   "libgit" = callPackage
@@ -147426,8 +147714,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.5.1.1";
-       sha256 = "03dvkh8i6mkmcv1pvaqlr9pava14qxbd31my4hjvs37xzm6dw22b";
+       version = "0.5.1.2";
+       sha256 = "1fc58krsm2q92azkcq57xdj7ngqvkqbvngjcr3plf0793xdarxj8";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -147444,7 +147732,7 @@ self: {
        broken = true;
      }) {};
 
-  "lsp-test_0_5_1_3" = callPackage
+  "lsp-test_0_5_2_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , bytestring, conduit, conduit-parse, containers, data-default
      , Diff, directory, filepath, haskell-lsp, hspec, lens, mtl
@@ -147453,10 +147741,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.5.1.3";
-       sha256 = "1ksjsxf5y9jx7j8rbfsvc667p7ikvvvscvjaa97mps8aci5izv48";
-       revision = "1";
-       editedCabalFile = "1aa59vpfa5an1fx3xq92lzg9k7wkwbxncmx04zkwdidwh5i2p4pg";
+       version = "0.5.2.0";
+       sha256 = "1yy9d2jljxiq869qq588b7pmdrv4z0fpb8aq3i5anwzk6bgw4lx2";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -149697,6 +149983,8 @@ self: {
        ];
        description = "foldl wrappers for map-reduce";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "map-syntax" = callPackage
@@ -150218,7 +150506,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "massiv_0_3_0_1" = callPackage
+  "massiv_0_3_1_0" = callPackage
     ({ mkDerivation, async, base, bytestring, Cabal, cabal-doctest
      , containers, data-default, data-default-class, deepseq, doctest
      , exceptions, hspec, primitive, QuickCheck, scheduler
@@ -150226,8 +150514,8 @@ self: {
      }:
      mkDerivation {
        pname = "massiv";
-       version = "0.3.0.1";
-       sha256 = "175dhcpv9gki3rb9vr1xig1sw6hams20clxql9y61xfhv0hryj0v";
+       version = "0.3.1.0";
+       sha256 = "0hjfnp8w3yk1kfx2avmfv3cbhrzyh89nw5zlm0r5fpgdx3gmkn6k";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq exceptions primitive
@@ -153125,22 +153413,22 @@ self: {
   "mighttpd2" = callPackage
     ({ mkDerivation, array, async, auto-update, base, byteorder
      , bytestring, case-insensitive, conduit, conduit-extra, directory
-     , filepath, hspec, http-client, http-date, http-types, io-choice
-     , network, old-locale, parsec, resourcet, streaming-commons, time
+     , filepath, hspec, http-client, http-date, http-types, network
+     , old-locale, parsec, resourcet, streaming-commons, time
      , transformers, unix, unix-time, unordered-containers, wai
      , wai-app-file-cgi, wai-http2-extra, wai-logger, warp
      }:
      mkDerivation {
        pname = "mighttpd2";
-       version = "3.4.3";
-       sha256 = "0afa25kaagdznfg1kbm5hbmlfk75p7rws0x9fjb505wrr12jipbh";
+       version = "3.4.4";
+       sha256 = "0n73zr3scn6sgqwaqjzcm3gybf2j0nwdcfq4cmsq9wanc5naz1pd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async auto-update base byteorder bytestring case-insensitive
          conduit conduit-extra directory filepath http-date http-types
-         io-choice network parsec resourcet streaming-commons unix unix-time
+         network parsec resourcet streaming-commons unix unix-time
          unordered-containers wai wai-app-file-cgi warp
        ];
        executableHaskellDepends = [
@@ -153709,8 +153997,8 @@ self: {
      }:
      mkDerivation {
        pname = "minitypeset-opengl";
-       version = "0.1.0.0";
-       sha256 = "06fh4j0sfpd8w576s04a6bg6h4c7lsk7zm85dlcfhlghyg2gwri1";
+       version = "0.2.0.1";
+       sha256 = "0vf2npnm4zpslwqr051v4im82h5al5nl9mq5f68pk03limgrf8ik";
        libraryHaskellDepends = [
          base containers filepath OpenGL stb-truetype
        ];
@@ -154312,6 +154600,34 @@ self: {
        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
+     }:
+     mkDerivation {
+       pname = "mmark";
+       version = "0.0.7.0";
+       sha256 = "0g7mx3xvvj8vgcids231zlz9kp7z3zjrq4xfhdm0wk0v1k51dflx";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base case-insensitive containers deepseq dlist email-validate
+         foldl hashable html-entity-map lucid megaparsec microlens
+         microlens-th modern-uri mtl parser-combinators text text-metrics
+         unordered-containers yaml
+       ];
+       testHaskellDepends = [
+         aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri
+         QuickCheck text
+       ];
+       benchmarkHaskellDepends = [ base criterion text weigh ];
+       description = "Strict markdown processor for writers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmark-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
      , ghc-syntax-highlighter, gitrev, lucid, megaparsec, mmark
@@ -154366,6 +154682,20 @@ self: {
        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 = [
+         base mtl transformers transformers-compat
+       ];
+       description = "Monad morphisms";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmtf" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-msgpack, deepseq, hspec, http-conduit, QuickCheck, text
@@ -156966,6 +157296,22 @@ self: {
        broken = true;
      }) {};
 
+  "morpheus-graphql" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , mtl, scientific, text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "morpheus-graphql";
+       version = "0.0.1";
+       sha256 = "1a9wkpsj8850abpz2z5cphphllpwzdc1l38ljfghd79y278cc1zm";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring containers mtl scientific text
+         transformers unordered-containers vector
+       ];
+       description = "Morpheus GraphQL";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "morphisms" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -157264,12 +157610,12 @@ self: {
      , daemons, directory, exceptions, filepath, gi-glib, gi-gobject
      , gi-gst, haskell-gi-base, haskell-gi-overloading, lens, MissingH
      , mtl, network, random, resourcet, simple-ui, template-haskell
-     , text, utf8-string, vty
+     , text, unix, utf8-string, vty
      }:
      mkDerivation {
        pname = "mp";
-       version = "1.0.2";
-       sha256 = "07npcr1rjypjbxrv3hccqfac3piq00psc7yxgh7iw8pl8izqrwl7";
+       version = "1.1.0";
+       sha256 = "1msy52c1702q16pmbzc69iyj7bj9xdh4c72d15sigblh9hwvipmm";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -157277,7 +157623,7 @@ self: {
          async base binary ConfigFile containers daemons directory
          exceptions filepath gi-glib gi-gobject gi-gst haskell-gi-base
          haskell-gi-overloading lens MissingH mtl network random resourcet
-         simple-ui template-haskell text utf8-string vty
+         simple-ui template-haskell text unix utf8-string vty
        ];
        description = "Music player for linux";
        license = stdenv.lib.licenses.gpl2;
@@ -157783,6 +158129,19 @@ self: {
        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
     ({ mkDerivation, base, monad-control, mtl, transformers
      , transformers-base
@@ -158082,6 +158441,25 @@ self: {
        broken = true;
      }) {};
 
+  "multi-containers" = callPackage
+    ({ mkDerivation, base, containers, directory, extra, filepath
+     , hspec
+     }:
+     mkDerivation {
+       pname = "multi-containers";
+       version = "0.1.0.0";
+       sha256 = "1ig4i2jbkmap3iy8kdqwfr3n3jx30dy66x9lq03nlkxxpi0p1y93";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers ];
+       executableHaskellDepends = [
+         base containers directory extra filepath
+       ];
+       testHaskellDepends = [ base containers hspec ];
+       description = "A few variants of multimaps";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "multi-instance" = callPackage
     ({ mkDerivation, base, doctest }:
      mkDerivation {
@@ -158476,6 +158854,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "multiprocess" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "multiprocess";
+       version = "0.0.0";
+       sha256 = "06f1yq4x9jc7cv8nxsqbm47xbv6b2cp1q8xkbhlqr9dbz8cvf5my";
+       libraryHaskellDepends = [ base ];
+       description = "Multiprocess architecture library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "multirec" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -161626,17 +162015,18 @@ self: {
      }) {};
 
   "network" = callPackage
-    ({ mkDerivation, base, bytestring, directory, doctest, hspec, HUnit
-     , unix
+    ({ mkDerivation, base, bytestring, directory, doctest, hspec
+     , hspec-discover, HUnit, unix
      }:
      mkDerivation {
        pname = "network";
-       version = "2.8.0.0";
-       sha256 = "00skcish0xmm67ax999nv1nll9rm3gqmn92099iczd73nxl55468";
+       version = "2.8.0.1";
+       sha256 = "0im8k51rw3ahmr23ny10pshwbz09jfg0fdpam0hzf2hgxnzmvxb1";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [
          base bytestring directory doctest hspec HUnit
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Low-level networking interface";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -161657,6 +162047,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "network_3_1_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, directory, hspec
+     , hspec-discover, HUnit
+     }:
+     mkDerivation {
+       pname = "network";
+       version = "3.1.0.0";
+       sha256 = "0xskqnv90h8lc663ilprwgsmx9nv7534kwsv9acxlcfvqy1nnq4s";
+       libraryHaskellDepends = [ base bytestring deepseq ];
+       testHaskellDepends = [ base bytestring directory hspec HUnit ];
+       testToolDepends = [ hspec-discover ];
+       description = "Low-level networking interface";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-address" = callPackage
     ({ mkDerivation, base, Cabal, QuickCheck, test-framework
      , test-framework-quickcheck2
@@ -161823,8 +162229,6 @@ self: {
        libraryHaskellDepends = [ base deepseq network ];
        description = "POSIX network database (<netdb.h>) API";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "network-builder" = callPackage
@@ -167667,8 +168071,8 @@ self: {
      }:
      mkDerivation {
        pname = "optparse-applicative-simple";
-       version = "1.0.3";
-       sha256 = "07v47fa2yc3rxdn1lbgbsq8ggfd7zlknz2ib8wf628g95n0dl7ya";
+       version = "1.1";
+       sha256 = "0v6nwgk94ax0k281fyxfi42njfi0rw36vrhak9i8k7h5z43xkfr3";
        libraryHaskellDepends = [
          attoparsec attoparsec-data base-prelude optparse-applicative text
        ];
@@ -167725,24 +168129,6 @@ self: {
      }:
      mkDerivation {
        pname = "optparse-simple";
-       version = "0.1.1.1";
-       sha256 = "0nqr81q5rvzpgl3r79rrmf30jzkds8gwdir2w1c9775jy2wslssl";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base githash optparse-applicative template-haskell transformers
-       ];
-       testHaskellDepends = [ base bytestring directory ];
-       description = "Simple interface to optparse-applicative";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "optparse-simple_0_1_1_2" = callPackage
-    ({ mkDerivation, base, bytestring, directory, githash
-     , optparse-applicative, template-haskell, transformers
-     }:
-     mkDerivation {
-       pname = "optparse-simple";
        version = "0.1.1.2";
        sha256 = "1r00hkri42vyx552l8hcd1779fxiyl9w4k0pql915zsprirn8w82";
        isLibrary = true;
@@ -167753,7 +168139,6 @@ self: {
        testHaskellDepends = [ base bytestring directory ];
        description = "Simple interface to optparse-applicative";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "optparse-text" = callPackage
@@ -169197,10 +169582,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.4.0";
-       sha256 = "15vfqpfkw4wnsg98804l5ylqbc926s2j5z4ik5zhval4d3kiamgz";
-       revision = "3";
-       editedCabalFile = "11ajbgw8icgvn8ylfpgnd4sxivlxx2f58363va1gar1kipf7gkar";
+       version = "0.3.4.1";
+       sha256 = "19hs4akqsg7nlspnbdbyncq8irj0a3h8akmyfzxmi2yb35x7c8ny";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -175171,6 +175554,8 @@ self: {
        ];
        description = "Brotli (RFC7932) compressors and decompressors for the Pipes package";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pipes-bytestring" = callPackage
@@ -177463,20 +177848,22 @@ self: {
      }) {};
 
   "poly" = callPackage
-    ({ mkDerivation, base, QuickCheck, quickcheck-classes, semirings
-     , tasty, tasty-quickcheck, vector
+    ({ mkDerivation, base, primitive, QuickCheck, quickcheck-classes
+     , semirings, tasty, tasty-quickcheck, vector
      }:
      mkDerivation {
        pname = "poly";
-       version = "0.1.0.0";
-       sha256 = "1aipcajm5vg7ircpds2sg7ryvhid77hc56hsk146i5hyblnb4wbw";
-       libraryHaskellDepends = [ base semirings vector ];
+       version = "0.2.0.0";
+       sha256 = "19jdm2508ncwcci8bi9hwpaak3cymhbynnk3whmh0g6rny6zdla4";
+       libraryHaskellDepends = [ base primitive semirings vector ];
        testHaskellDepends = [
          base QuickCheck quickcheck-classes semirings tasty tasty-quickcheck
          vector
        ];
        description = "Polynomials";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "poly-arity" = callPackage
@@ -177642,8 +178029,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy";
-       version = "0.1.1.0";
-       sha256 = "02x99b3pral2sclx4zizib9a7yrnahg0d5kc4w37yk15mpr5lmys";
+       version = "0.1.2.0";
+       sha256 = "18713nqrijbciwhazy7nvs3zizkxz2cs3c7q8xkc5j4bgk90vsxm";
        libraryHaskellDepends = [
          base mtl random syb template-haskell transformers
        ];
@@ -177659,6 +178046,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "polysemy-plugin" = callPackage
+    ({ mkDerivation, base, ghc, ghc-tcplugins-extra, hspec, polysemy }:
+     mkDerivation {
+       pname = "polysemy-plugin";
+       version = "0.1.0.0";
+       sha256 = "0zsgvb5l740a1mxjrjaxmzlcqd9qvzx973slnvb299z0l2h322fr";
+       libraryHaskellDepends = [ base ghc ghc-tcplugins-extra polysemy ];
+       testHaskellDepends = [
+         base ghc ghc-tcplugins-extra hspec polysemy
+       ];
+       description = "Disambiguate obvious uses of effects";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "polyseq" = callPackage
     ({ mkDerivation, array, base, bytestring, cgi, containers
      , free-theorems, haskell-src, mtl, network, old-locale, old-time
@@ -177743,8 +178144,10 @@ self: {
      }:
      mkDerivation {
        pname = "pomaps";
-       version = "0.0.2.0";
-       sha256 = "08mlj61archpiqq8375gi5ha9mpxgpnsfpsx3kqja92dgj0aq5q6";
+       version = "0.0.2.1";
+       sha256 = "1p0sqh87scpff1j4q4mpb3dyml0vsh2yrhdc7hv0rbm0vhy2bvla";
+       revision = "1";
+       editedCabalFile = "0v1s35ddx697rzgp08p6brn801w7gky73w1qll3d10vy4qbhs435";
        libraryHaskellDepends = [
          base containers deepseq ghc-prim lattices
        ];
@@ -178042,8 +178445,8 @@ self: {
     ({ mkDerivation, async, base, hspec, network, stm, transformers }:
      mkDerivation {
        pname = "port-utils";
-       version = "0.2.0.0";
-       sha256 = "1lvalwbizmvrrpbl2l1lblbv0c3qln1ln61x61zn26jxq2h8p7g1";
+       version = "0.2.1.0";
+       sha256 = "1phpf6n7bjg3a22syh45xsiczqlay82z3isdn6dq5alxdaa31y5n";
        libraryHaskellDepends = [ base network ];
        testHaskellDepends = [ async base hspec network stm transformers ];
        description = "Utilities for creating and waiting on ports";
@@ -178733,8 +179136,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-simple";
-       version = "0.6.1";
-       sha256 = "0hc3zarmykf0hvc5jr0rm66z4kar73zp737m4vg0y2nc2k5yp9m8";
+       version = "0.6.2";
+       sha256 = "15pkflx48mgv4fjmnagyfh06q065k8m8c98bysc3gm6m4srz5ypv";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring bytestring-builder
          case-insensitive containers hashable Only postgresql-libpq
@@ -180610,6 +181013,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "primitive-atomic" = callPackage
+    ({ mkDerivation, base, primitive }:
+     mkDerivation {
+       pname = "primitive-atomic";
+       version = "0.1.0.0";
+       sha256 = "0qprxv3y1ayrdz9spgg1vkx5jkh0p5pz49c3gaaxcz8v0pdk0bzv";
+       libraryHaskellDepends = [ base primitive ];
+       testHaskellDepends = [ base primitive ];
+       description = "Wrappers for primops around atomic operations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "primitive-checked" = callPackage
     ({ mkDerivation, base, primitive }:
      mkDerivation {
@@ -182033,8 +182448,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.7.0";
-       sha256 = "0a46lqc77l4dlimvqf57n48zf0qschk04xyjbvyhcj4yw9jn9jdn";
+       version = "5.8.0";
+       sha256 = "0dzil48ayfy30cx1mxhp712nibr7qc3hn2pkc11nawkf2g73552f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -182502,6 +182917,69 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proto3-suite" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
+     , base64-bytestring, binary, bytestring, cereal, containers
+     , contravariant, deepseq, doctest, filepath, foldl, hashable
+     , haskell-src, insert-ordered-containers, lens, mtl
+     , neat-interpolation, optparse-generic, parsec, parsers, pretty
+     , pretty-show, proto3-wire, QuickCheck, quickcheck-instances
+     , range-set-list, safe, semigroups, swagger2, system-filepath
+     , tasty, tasty-hunit, tasty-quickcheck, text, transformers, turtle
+     , vector
+     }:
+     mkDerivation {
+       pname = "proto3-suite";
+       version = "0.3.0.0";
+       sha256 = "1dmblb640jc2smm023py3sg49k07v85qmalir5swkj154vlszgli";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec base base64-bytestring binary
+         bytestring cereal containers contravariant deepseq filepath foldl
+         hashable haskell-src insert-ordered-containers lens mtl
+         neat-interpolation parsec parsers pretty pretty-show proto3-wire
+         QuickCheck quickcheck-instances safe semigroups swagger2
+         system-filepath text transformers turtle vector
+       ];
+       executableHaskellDepends = [
+         base containers optparse-generic proto3-wire range-set-list
+         system-filepath text turtle
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base64-bytestring bytestring cereal
+         containers doctest pretty-show proto3-wire QuickCheck semigroups
+         swagger2 tasty tasty-hunit tasty-quickcheck text transformers
+         turtle vector
+       ];
+       description = "A low level library for writing out data in the Protocol Buffers wire format";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "proto3-wire" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, deepseq
+     , doctest, hashable, QuickCheck, safe, tasty, tasty-hunit
+     , tasty-quickcheck, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "proto3-wire";
+       version = "1.0.0";
+       sha256 = "1r090s4mqmx0ixr8y6xyzkgcwv0sfjwah7jhb4vr75zpzsvx0bqk";
+       libraryHaskellDepends = [
+         base bytestring cereal containers deepseq hashable QuickCheck safe
+         text unordered-containers
+       ];
+       testHaskellDepends = [
+         base bytestring cereal doctest QuickCheck tasty tasty-hunit
+         tasty-quickcheck text
+       ];
+       description = "A low-level implementation of the Protocol Buffers (version 3) wire format";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "protobuf" = callPackage
     ({ mkDerivation, base, base-orphans, bytestring, cereal, containers
      , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged
@@ -183778,6 +184256,8 @@ self: {
        testHaskellDepends = [ aeson base hspec ];
        description = "Send push notifications to mobile iOS devices";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "push-notify-ccs" = callPackage
@@ -184627,6 +185107,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "quadratic-irrational_0_1_0" = callPackage
+    ({ mkDerivation, arithmoi, base, containers, directory, doctest
+     , filepath, mtl, numbers, QuickCheck, tasty, tasty-quickcheck
+     , transformers
+     }:
+     mkDerivation {
+       pname = "quadratic-irrational";
+       version = "0.1.0";
+       sha256 = "0kfgvixvcawfhw4vv0zg2r0d6hrlak01q9isqc3n3lc63qaifxgy";
+       libraryHaskellDepends = [ arithmoi base containers transformers ];
+       testHaskellDepends = [
+         arithmoi base directory doctest filepath mtl numbers QuickCheck
+         tasty tasty-quickcheck
+       ];
+       description = "An implementation of quadratic irrationals";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "quandl-api" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring
      , http-conduit, http-types, syb, text, time, time-locale-compat
@@ -185071,6 +185570,29 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-classes";
+       version = "0.6.0.0";
+       sha256 = "02ssvvhi87ggyxi3jsg2h1xirwqyydda88n5ax4imfljvig366cy";
+       libraryHaskellDepends = [
+         aeson base base-orphans bifunctors containers fail primitive
+         QuickCheck semigroupoids semigroups semirings tagged transformers
+       ];
+       testHaskellDepends = [
+         aeson base base-orphans containers primitive QuickCheck
+         semigroupoids tagged tasty tasty-quickcheck transformers vector
+       ];
+       description = "QuickCheck common typeclasses";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "quickcheck-classes_0_6_1_0" = callPackage
+    ({ mkDerivation, aeson, base, base-orphans, bifunctors, containers
+     , fail, primitive, QuickCheck, semigroupoids, semigroups, semirings
+     , tagged, tasty, tasty-quickcheck, transformers, vector
+     }:
+     mkDerivation {
+       pname = "quickcheck-classes";
        version = "0.6.1.0";
        sha256 = "01mqsffks1d0wf3vwrlmalqxqha2gfqa389gqq0zr5b9y7ka5a8h";
        libraryHaskellDepends = [
@@ -188797,8 +189319,8 @@ self: {
      }:
      mkDerivation {
        pname = "recursion-schemes";
-       version = "5.1.2";
-       sha256 = "0mya8lijdnxw3vm0dqp878gqmd3qfymk1dnp6hqihbvsnzm5l910";
+       version = "5.1.3";
+       sha256 = "0a0mkwy3sxg5f1mdlblpn0xl3lwgilnmzs94jqab0pqx9gjkc5xj";
        libraryHaskellDepends = [
          base base-orphans comonad free template-haskell th-abstraction
          transformers
@@ -194295,8 +194817,8 @@ self: {
      }:
      mkDerivation {
        pname = "ron-rdt";
-       version = "0.5";
-       sha256 = "0djqbr5wiillk0ksbhvnswrxq3jz8cfd7m2kw0g1207kd29vvbd3";
+       version = "0.6";
+       sha256 = "0npd4fh3flywfrpnwfsfpss4zbzd9jj9xsbpxlcc4hhjh45x1b6b";
        libraryHaskellDepends = [
          base containers Diff hashable integer-gmp mtl ron text time
          transformers unordered-containers
@@ -194312,8 +194834,8 @@ self: {
      }:
      mkDerivation {
        pname = "ron-schema";
-       version = "0.5";
-       sha256 = "13i7hnl3l890r5y106b957nlvv3v2h6l2gmkq77pizlqlyv73jzi";
+       version = "0.6";
+       sha256 = "07nn74vwx26flam7klwfvj4yz5mqh8d5flf5ps7wxxfn70z3g4yg";
        libraryHaskellDepends = [
          base bytestring containers hedn integer-gmp megaparsec mtl ron
          ron-rdt template-haskell text transformers
@@ -194329,8 +194851,8 @@ self: {
      }:
      mkDerivation {
        pname = "ron-storage";
-       version = "0.6";
-       sha256 = "07bnvlamw8cdw9s8fra9fd1jz3sw203jnimj2ad50rahn2r3zrnq";
+       version = "0.7";
+       sha256 = "0wqvbnylz2wx85c7qfqzima3axif6r65vc0iwl8lrmxpif2zs41c";
        libraryHaskellDepends = [
          base bytestring containers directory filepath integer-gmp mtl
          network-info ron ron-rdt stm text transformers
@@ -195595,6 +196117,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "safe-decimal" = callPackage
+    ({ mkDerivation, base, deepseq, exceptions, hspec, hspec-discover
+     , QuickCheck, scientific
+     }:
+     mkDerivation {
+       pname = "safe-decimal";
+       version = "0.1.0.0";
+       sha256 = "10y618swfxvz38fm95i6jbki5ax6w6xxhrdizqlrbwnqdjlsj681";
+       revision = "1";
+       editedCabalFile = "0449df25rah097rsbrbkb8sb4n80yms06isg0g8mp7v8ah4ssrs3";
+       libraryHaskellDepends = [ base deepseq exceptions scientific ];
+       testHaskellDepends = [ base deepseq hspec QuickCheck scientific ];
+       testToolDepends = [ hspec-discover ];
+       description = "Safe and very efficient arithmetic operations on fixed decimal point numbers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "safe-exceptions" = callPackage
     ({ mkDerivation, base, deepseq, exceptions, hspec, transformers
      , void
@@ -197438,6 +197977,8 @@ self: {
        ];
        description = "Work stealing scheduler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "schedyield" = callPackage
@@ -197843,8 +198384,8 @@ self: {
        pname = "scotty";
        version = "0.11.3";
        sha256 = "14570k1klrlwra58zz7ip3j41nc75gaswrp8m4xwlrjzgpdqm70a";
-       revision = "1";
-       editedCabalFile = "0pcaw6wr8nqs7pl64pb00zxd359np5x35159lqkqlcziiv0n2g3b";
+       revision = "2";
+       editedCabalFile = "0d5ls120fq9xfdsdzj1xgfh2prpcz46i4kc54r6pd6ncpnkfalyi";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring case-insensitive
          data-default-class exceptions fail http-types monad-control mtl
@@ -202684,35 +203225,6 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.8.6";
-       sha256 = "1ji1rkgrygsmrvgpirvc1pr2rw2xq15ff1v86ckwn7gcb9q8z7jy";
-       libraryHaskellDepends = [
-         aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
-         amazonka-s3 base bytestring case-insensitive http-types iproute
-         lens network network-simple text time unix unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
-         amazonka-s3 base bytestring case-insensitive hspec hspec-discover
-         http-types iproute lens network network-simple raw-strings-qq text
-         time unix unordered-containers
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Deploying Haskell code onto AWS Lambda using Serverless";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "serverless-haskell_0_8_7" = callPackage
-    ({ mkDerivation, aeson, aeson-casing, aeson-extra, amazonka-core
-     , amazonka-kinesis, amazonka-s3, base, bytestring, case-insensitive
-     , hspec, hspec-discover, http-types, iproute, lens, network
-     , network-simple, raw-strings-qq, text, time, unix
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "serverless-haskell";
        version = "0.8.7";
        sha256 = "0q73j6n6552ajv5sm52rbcj4kk86wjmvrh6khci1nbln4wxgbwq2";
        libraryHaskellDepends = [
@@ -204609,18 +205121,17 @@ self: {
 
   "shift" = callPackage
     ({ mkDerivation, ansi-terminal, base, binary, bytestring
-     , composition-prelude, microlens, optparse-applicative
-     , system-fileio, system-filepath, text, turtle
+     , composition-prelude, directory, filepath, optparse-applicative
      }:
      mkDerivation {
        pname = "shift";
-       version = "0.2.1.1";
-       sha256 = "1sxzgbdha8caf4xhsma45wiqagzga1zifkp14a5s01a2013pdizm";
+       version = "0.2.1.2";
+       sha256 = "1g3qvk3b6qiawrjvzxv6nbr71zxb8c5rsi4agjhq8d1d6g9m9f42";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         ansi-terminal base binary bytestring composition-prelude microlens
-         optparse-applicative system-fileio system-filepath text turtle
+         ansi-terminal base binary bytestring composition-prelude directory
+         filepath optparse-applicative
        ];
        description = "A tool to quickly switch between directories";
        license = stdenv.lib.licenses.mit;
@@ -206071,8 +206582,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-ui";
-       version = "0.1.1";
-       sha256 = "1phag0frz7l4xgrgjc72x9iwjl1z1l6mpz7lnifjgn7zp3wdkwzs";
+       version = "0.1.2";
+       sha256 = "106fcxl97gnkpv2bc50bg5zv8j7f1cdyxbl1l99p3rsq6wr6mr0m";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base data-default-class exceptions lens mtl stm template-haskell
@@ -210060,6 +210571,19 @@ self: {
        broken = true;
      }) {softfloat = null;};
 
+  "solar" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "solar";
+       version = "0.1.0.0";
+       sha256 = "1dyg4g89bxnik3hqzqbwmlv6278w8d6gpmjwm06af248vn34kvhk";
+       revision = "1";
+       editedCabalFile = "0r4786crxih8z4dwi0grpga2kp8ivvnmwa0lhddmn16bfqwa16s9";
+       libraryHaskellDepends = [ base time ];
+       description = "Simple library for solar calculations";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "solga" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hashable
      , hspec, hspec-wai, hspec-wai-json, http-types, QuickCheck
@@ -212818,6 +213342,33 @@ self: {
        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
+     , process, regex-pcre, SafeSemaphore, stack, temporary, text, time
+     }:
+     mkDerivation {
+       pname = "stack2nix";
+       version = "0.2.3";
+       sha256 = "0vc87jb5vam47ghh2bzs20wfsnxjs133j9qrxa6kzbw0s2ff75p3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base bytestring 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;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "stackage" = callPackage
     ({ mkDerivation, base, stackage-build-plan, stackage-cabal
      , stackage-cli, stackage-install, stackage-sandbox, stackage-setup
@@ -213259,8 +213810,8 @@ self: {
      }:
      mkDerivation {
        pname = "standalone-haddock";
-       version = "1.1.4.5";
-       sha256 = "1ssfxkzjpprjn9smrgrgskr07zjj8zjs2wgvzcfpk9j0nvps0p9d";
+       version = "1.3.0.0";
+       sha256 = "1s9b2frpsgvc7nghi314adga8z8rmj1x40j7cic2m3m88nqz3g77";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -214777,57 +215328,6 @@ self: {
      }:
      mkDerivation {
        pname = "store";
-       version = "0.5.0.1";
-       sha256 = "0dpm7752p8lhlwq5nlhqxwq1c5nyi97rnj83j2im3i9wvs2qb3i3";
-       libraryHaskellDepends = [
-         array async base base-orphans base64-bytestring bifunctors
-         bytestring containers contravariant cryptohash deepseq directory
-         filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp
-         lifted-base monad-control mono-traversable network primitive
-         resourcet safe semigroups smallcheck store-core syb
-         template-haskell text th-lift th-lift-instances th-orphans
-         th-reify-many th-utilities time transformers unordered-containers
-         vector void
-       ];
-       testHaskellDepends = [
-         array async base base-orphans base64-bytestring bifunctors
-         bytestring cereal cereal-vector clock containers contravariant
-         criterion cryptohash deepseq directory filepath free ghc-prim
-         hashable hspec hspec-smallcheck integer-gmp lifted-base
-         monad-control mono-traversable network primitive resourcet safe
-         semigroups smallcheck store-core syb template-haskell text th-lift
-         th-lift-instances th-orphans th-reify-many th-utilities time
-         transformers unordered-containers vector vector-binary-instances
-         void weigh
-       ];
-       benchmarkHaskellDepends = [
-         array async base base-orphans base64-bytestring bifunctors
-         bytestring containers contravariant criterion cryptohash deepseq
-         directory filepath free ghc-prim hashable hspec hspec-smallcheck
-         integer-gmp lifted-base monad-control mono-traversable network
-         primitive resourcet safe semigroups smallcheck store-core syb
-         template-haskell text th-lift th-lift-instances th-orphans
-         th-reify-many th-utilities time transformers unordered-containers
-         vector void
-       ];
-       description = "Fast binary serialization";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "store_0_5_1_0" = callPackage
-    ({ mkDerivation, array, async, base, base-orphans
-     , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
-     , clock, containers, contravariant, criterion, cryptohash, deepseq
-     , directory, filepath, free, ghc-prim, hashable, hspec
-     , hspec-smallcheck, integer-gmp, lifted-base, monad-control
-     , mono-traversable, network, primitive, resourcet, safe, semigroups
-     , smallcheck, store-core, syb, template-haskell, text, th-lift
-     , th-lift-instances, th-orphans, th-reify-many, th-utilities, time
-     , transformers, unordered-containers, vector
-     , vector-binary-instances, void, weigh
-     }:
-     mkDerivation {
-       pname = "store";
        version = "0.5.1.0";
        sha256 = "0r15b04vxfca45a0rv1n4lcd6zpxhlhc9gmg9if17r1bm63x59hr";
        revision = "1";
@@ -214865,7 +215365,6 @@ self: {
        ];
        description = "Fast binary serialization";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "store-core" = callPackage
@@ -215320,6 +215819,8 @@ self: {
        ];
        description = "Streaming interface for Brotli (RFC7932) compression";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "streaming-bytestring" = callPackage
@@ -215503,6 +216004,8 @@ self: {
        ];
        description = "Streaming interface for LZMA/XZ compression";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "streaming-osm" = callPackage
@@ -220052,6 +220555,8 @@ self: {
        pname = "tagged";
        version = "0.8.6";
        sha256 = "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md";
+       revision = "1";
+       editedCabalFile = "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -221380,6 +221885,8 @@ self: {
        testHaskellDepends = [ base QuickCheck tasty ];
        description = "Pre-built tasty trees for checking lawful class properties using QuickCheck";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tasty-rerun" = callPackage
@@ -224401,7 +224908,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "text-show_3_8" = callPackage
+  "text-show_3_8_1" = callPackage
     ({ mkDerivation, array, base, base-compat-batteries, base-orphans
      , bifunctors, bytestring, bytestring-builder, containers
      , contravariant, criterion, deepseq, deriving-compat
@@ -224412,10 +224919,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-show";
-       version = "3.8";
-       sha256 = "1yqmyfmnnph28v0c0rkh0z38xaxrrsljf1zg6zccqw322frw9fsi";
-       revision = "1";
-       editedCabalFile = "03q739smdz7z0nnx6pg7d58mmq65y7abhdxwy57akf7pichnw13b";
+       version = "3.8.1";
+       sha256 = "18qaa89pfxqkwk7zpcr7r07b733dvl5ggnmcrl2cf9v9rza1gxiw";
        libraryHaskellDepends = [
          array base base-compat-batteries bifunctors bytestring
          bytestring-builder containers contravariant generic-deriving
@@ -224827,6 +225332,21 @@ self: {
        license = stdenv.lib.licenses.isc;
      }) {};
 
+  "th-abstraction_0_3_1_0" = callPackage
+    ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
+     mkDerivation {
+       pname = "th-abstraction";
+       version = "0.3.1.0";
+       sha256 = "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb";
+       libraryHaskellDepends = [
+         base containers ghc-prim template-haskell
+       ];
+       testHaskellDepends = [ base containers template-haskell ];
+       description = "Nicer interface for reified information about data types";
+       license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "th-alpha" = callPackage
     ({ mkDerivation, base, containers, derive, mmorph, mtl, tasty
      , tasty-hunit, tasty-quickcheck, template-haskell, th-desugar
@@ -225106,12 +225626,30 @@ self: {
        pname = "th-lift";
        version = "0.7.11";
        sha256 = "131360zxb0hazbqwbkk6ab2p77jkxr79bwwm618mrwrwkm3x2g6m";
+       revision = "1";
+       editedCabalFile = "0whppp0p9df3fphv6pyg8f70bnm2kpyb3ylznknrklsl5vn2c49d";
+       libraryHaskellDepends = [
+         base ghc-prim template-haskell th-abstraction
+       ];
+       testHaskellDepends = [ base ghc-prim template-haskell ];
+       description = "Derive Template Haskell's Lift class for datatypes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "th-lift_0_8" = callPackage
+    ({ mkDerivation, base, ghc-prim, template-haskell, th-abstraction
+     }:
+     mkDerivation {
+       pname = "th-lift";
+       version = "0.8";
+       sha256 = "1594v53fqah949nazqrjhy17gxhvc43v2ffrk93bfhdy07wgikia";
        libraryHaskellDepends = [
          base ghc-prim template-haskell th-abstraction
        ];
        testHaskellDepends = [ base ghc-prim template-haskell ];
        description = "Derive Template Haskell's Lift class for datatypes";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "th-lift-instances_0_1_11" = callPackage
@@ -225231,22 +225769,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-reify-many";
-       version = "0.1.8";
-       sha256 = "0hzy6hvhvcd6i60vx5cp2b7ggmnnjh9rx4h8bm8xw4grglcaxjnf";
-       libraryHaskellDepends = [
-         base containers mtl safe template-haskell th-expand-syns
-       ];
-       testHaskellDepends = [ base template-haskell ];
-       description = "Recurseively reify template haskell datatype info";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "th-reify-many_0_1_9" = callPackage
-    ({ mkDerivation, base, containers, mtl, safe, template-haskell
-     , th-expand-syns
-     }:
-     mkDerivation {
-       pname = "th-reify-many";
        version = "0.1.9";
        sha256 = "0hxf56filzqnyrc8q7766vai80y6cgrrbrczx6n93caskl1dv2gq";
        libraryHaskellDepends = [
@@ -225255,7 +225777,6 @@ self: {
        testHaskellDepends = [ base template-haskell ];
        description = "Recurseively reify template haskell datatype info";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "th-sccs" = callPackage
@@ -226196,25 +226717,6 @@ self: {
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.0.11";
-       sha256 = "1lpb5233s48hfb9qjwm18c7mv31i8fw0vxqqia8kxlqdhmfcz5ri";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bifunctors bytestring clock colour containers hosc mwc-random
-         network parsec template-haskell text transformers vector
-       ];
-       testHaskellDepends = [ base containers microspec parsec ];
-       description = "Pattern language for improvised music";
-       license = stdenv.lib.licenses.gpl3;
-     }) {};
-
-  "tidal_1_0_13" = callPackage
-    ({ mkDerivation, base, bifunctors, bytestring, clock, colour
-     , containers, hosc, microspec, mwc-random, network, parsec
-     , template-haskell, text, transformers, vector
-     }:
-     mkDerivation {
-       pname = "tidal";
        version = "1.0.13";
        sha256 = "0m28z3mlp6q51znzjgw1hsfy8g4npsxl8bydm8hm9dslqc7gdi7j";
        enableSeparateDataOutput = true;
@@ -226225,7 +226727,6 @@ self: {
        testHaskellDepends = [ base containers microspec parsec ];
        description = "Pattern language for improvised music";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tidal-midi" = callPackage
@@ -226609,10 +227110,8 @@ self: {
      }:
      mkDerivation {
        pname = "time-parsers";
-       version = "0.1.2.0";
-       sha256 = "091wpcqj1kjvyjgj1y1invn0g5lhdxc92az2bcbwbrpq2c7x8l2f";
-       revision = "3";
-       editedCabalFile = "0im963wjcmwf6ii9a00mbi8lhmx5cy7cs6rmp0qi2j2jddba78j2";
+       version = "0.1.2.1";
+       sha256 = "102k6l9888kbgng045jk170qjbmdnwv2lbzlc12ncybfk2yk7wdv";
        libraryHaskellDepends = [ base parsers template-haskell time ];
        testHaskellDepends = [
          attoparsec base bifunctors parsec parsers tasty tasty-hunit
@@ -227689,16 +228188,17 @@ self: {
      }) {};
 
   "tmp-postgres" = callPackage
-    ({ mkDerivation, base, bytestring, directory, hspec, hspec-discover
-     , network, postgresql-simple, process, temporary, unix
+    ({ mkDerivation, async, base, bytestring, directory, hspec
+     , hspec-discover, network, port-utils, postgresql-simple, process
+     , temporary, unix
      }:
      mkDerivation {
        pname = "tmp-postgres";
-       version = "0.1.1.1";
-       sha256 = "0qz85flbg2ihkcsjdhambgj07xrz75pgpiz8wpapj0gnady5ap9c";
+       version = "0.1.2.2";
+       sha256 = "1lsf8ydf21dql452jk3x6maicip65r4jyb9xd5a98687j798bm6n";
        libraryHaskellDepends = [
-         base bytestring directory network postgresql-simple process
-         temporary unix
+         async base bytestring directory network port-utils
+         postgresql-simple process temporary unix
        ];
        testHaskellDepends = [
          base bytestring directory hspec hspec-discover postgresql-simple
@@ -227707,6 +228207,8 @@ self: {
        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
@@ -228172,8 +228674,8 @@ self: {
      }:
      mkDerivation {
        pname = "tomlcheck";
-       version = "0.1.0.39";
-       sha256 = "1kz3bbrymh23b8iadq8baircqh11r3q3zv75390ymxiz3ns26vh8";
+       version = "0.1.0.40";
+       sha256 = "0r56fzmngylwcnykhn22hnlaj553m5l29rsjplmlhy3b2rdb10hj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -229657,6 +230159,20 @@ self: {
        broken = true;
      }) {};
 
+  "treap" = callPackage
+    ({ mkDerivation, base, deepseq, doctest, Glob, hspec, hspec-core
+     , mersenne-random-pure64
+     }:
+     mkDerivation {
+       pname = "treap";
+       version = "0.0.0.0";
+       sha256 = "0zq2jislk5fg7lshya6iivcksxh5wgb54kgllgqqra07w0sp6bd9";
+       libraryHaskellDepends = [ base deepseq mersenne-random-pure64 ];
+       testHaskellDepends = [ base doctest Glob hspec hspec-core ];
+       description = "Efficient implementation of the implicit treap data structure";
+       license = stdenv.lib.licenses.mpl20;
+     }) {};
+
   "tree-diff" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base
      , base-compat, bytestring, containers, generics-sop, hashable
@@ -234308,8 +234824,8 @@ self: {
      }:
      mkDerivation {
        pname = "universe-dependent-sum";
-       version = "1.1";
-       sha256 = "1psnj7xk5ig7ghvxr6awz60117y6xdwxd8i4jbxivgfrp5ixp85f";
+       version = "1.1.0.1";
+       sha256 = "1mfvfh7rnk8lnd5lgxbhi40y31sar11dmgh5s7g2kgsprzmg1qpi";
        libraryHaskellDepends = [
          base dependent-sum template-haskell th-abstraction transformers
          universe-base
@@ -234319,6 +234835,8 @@ self: {
        ];
        description = "Universe instances for types from dependent-sum";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "universe-instances-base" = callPackage
@@ -237404,17 +237922,15 @@ self: {
   "vec" = callPackage
     ({ mkDerivation, adjunctions, base, base-compat, criterion, deepseq
      , distributive, fin, hashable, inspection-testing, lens
-     , semigroupoids, tagged, vector
+     , semigroupoids, tagged, transformers, vector
      }:
      mkDerivation {
        pname = "vec";
-       version = "0.1";
-       sha256 = "0m70ld5vy96vca4wdm45q1ixwznl3yfj8jzil2kjfkzzac5fym5y";
-       revision = "3";
-       editedCabalFile = "093q5qlhlia12ckhvax322lyy3sb554pg46ghabvsvx8znixw2hh";
+       version = "0.1.1";
+       sha256 = "1ryc6jshm26dh21xlf4wg4fhkw035bxx4smd3xyisjqm7nncq7n5";
        libraryHaskellDepends = [
          adjunctions base base-compat deepseq distributive fin hashable lens
-         semigroupoids
+         semigroupoids transformers
        ];
        testHaskellDepends = [ base fin inspection-testing tagged ];
        benchmarkHaskellDepends = [ base criterion fin vector ];
@@ -237666,6 +238182,8 @@ self: {
        doHaddock = false;
        description = "Storable vectors with cpu-independent representation";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "vector-extras" = callPackage
@@ -239318,21 +239836,20 @@ self: {
     ({ mkDerivation, array, attoparsec, attoparsec-conduit, base
      , bytestring, case-insensitive, conduit, conduit-extra, containers
      , data-default-class, directory, doctest, filepath, hspec, HTTP
-     , http-client, http-conduit, http-date, http-types, io-choice
-     , lifted-base, mime-types, network, process, sockaddr, static-hash
-     , text, transformers, unix, wai, wai-conduit, warp, word8
+     , http-client, http-conduit, http-date, http-types, mime-types
+     , network, process, sockaddr, static-hash, text, transformers, unix
+     , wai, wai-conduit, warp, word8
      }:
      mkDerivation {
        pname = "wai-app-file-cgi";
-       version = "3.1.6";
-       sha256 = "1w2hmy0q8dvg575sxmc69f9x7pcf1fx6lypzxsaxyfyazvhi4krc";
+       version = "3.1.7";
+       sha256 = "17cj50p16adyzqr28f28ll64g3gr8ri756dngrdgly0g7060fg53";
        libraryHaskellDepends = [
          array attoparsec attoparsec-conduit base bytestring
          case-insensitive conduit conduit-extra containers
          data-default-class directory filepath http-client http-conduit
-         http-date http-types io-choice lifted-base mime-types network
-         process sockaddr static-hash text transformers unix wai wai-conduit
-         warp word8
+         http-date http-types mime-types network process sockaddr
+         static-hash text transformers unix wai wai-conduit warp word8
        ];
        testHaskellDepends = [
          base bytestring conduit conduit-extra directory doctest filepath
@@ -239578,6 +240095,36 @@ self: {
        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
+     }:
+     mkDerivation {
+       pname = "wai-extra";
+       version = "3.0.26";
+       sha256 = "1vax87kchm92az0f4axn793bavp8pwjh7a9mc1lwwwni678h35gq";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base base64-bytestring bytestring
+         case-insensitive containers cookie data-default-class deepseq
+         directory fast-logger http-types http2 iproute network old-locale
+         resourcet streaming-commons text time transformers unix unix-compat
+         vault void wai wai-logger word8 zlib
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive cookie fast-logger hspec
+         http-types http2 HUnit resourcet text time transformers wai zlib
+       ];
+       description = "Provides some basic WAI handlers and middleware";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-frontend-monadcgi" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, cgi
      , containers, http-types, transformers, wai
@@ -241153,13 +241700,13 @@ self: {
      , bytestring, case-insensitive, containers, directory, doctest
      , gauge, ghc-prim, hashable, hspec, http-client, http-date
      , http-types, http2, HUnit, iproute, lifted-base, network, process
-     , QuickCheck, silently, simple-sendfile, stm, streaming-commons
-     , text, time, transformers, unix, unix-compat, vault, wai, word8
+     , QuickCheck, simple-sendfile, stm, streaming-commons, text, time
+     , transformers, unix, unix-compat, vault, wai, word8
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.2.26";
-       sha256 = "1s83313cs6w84a8yfwqkixfz4a94aszma4phsqv7x1ivi9b3i8sc";
+       version = "3.2.27";
+       sha256 = "0p2w88q0zd55ms20qylipbi0qzbf324i9r8b9qqxyds5yc1anq76";
        libraryHaskellDepends = [
          array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers ghc-prim hashable http-date http-types
@@ -241170,7 +241717,7 @@ self: {
          array async auto-update base bsb-http-chunked bytestring
          case-insensitive containers directory doctest ghc-prim hashable
          hspec http-client http-date http-types http2 HUnit iproute
-         lifted-base network process QuickCheck silently simple-sendfile stm
+         lifted-base network process QuickCheck simple-sendfile stm
          streaming-commons text time transformers unix unix-compat vault wai
          word8
        ];
@@ -241248,8 +241795,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp-tls";
-       version = "3.2.4.3";
-       sha256 = "17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4";
+       version = "3.2.5";
+       sha256 = "1z98jxn1l9mp6hh2jja6cz48nx8zvp5iqrr23wmbp235vva4llmf";
        libraryHaskellDepends = [
          base bytestring cryptonite data-default-class network
          streaming-commons tls tls-session-manager wai warp
@@ -241259,24 +241806,6 @@ self: {
      }) {};
 
   "warp-tls-uid" = callPackage
-    ({ mkDerivation, base, bytestring, network, streaming-commons, unix
-     , wai, warp, warp-tls
-     }:
-     mkDerivation {
-       pname = "warp-tls-uid";
-       version = "0.2.0.5";
-       sha256 = "1b3kxpbai9nxqqv9kww4cr1vgaa0cz4fpkd3pfmj0hin10hr6mmq";
-       libraryHaskellDepends = [
-         base bytestring network streaming-commons unix wai warp warp-tls
-       ];
-       testHaskellDepends = [
-         base bytestring network streaming-commons unix wai warp warp-tls
-       ];
-       description = "set group and user id before running server";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "warp-tls-uid_0_2_0_6" = callPackage
     ({ mkDerivation, base, bytestring, data-default, network
      , streaming-commons, tls, unix, wai, warp, warp-tls, x509
      }:
@@ -241294,7 +241823,6 @@ self: {
        ];
        description = "set group and user id before running server";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "warped" = callPackage
@@ -244596,8 +245124,8 @@ self: {
     ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "writer-cps-transformers";
-       version = "0.5.6.0";
-       sha256 = "132qd8rvvksjr8klvgr3y2acmlsw9jvirlfl8hdm3ipi4i7hy4fr";
+       version = "0.5.6.1";
+       sha256 = "071jiwdpjh5d7nm5jfgmk0lgpms0x3bijwjh25nnpy7q7lfczskn";
        libraryHaskellDepends = [ base transformers ];
        doHaddock = false;
        description = "WriteT and RWST monad transformers";
@@ -244893,6 +245421,21 @@ self: {
        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 = [
+         base bytestring connection network websockets
+       ];
+       description = "Secure WebSocket (WSS) clients";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wx" = callPackage
     ({ mkDerivation, base, stm, time, wxcore }:
      mkDerivation {
@@ -248893,8 +249436,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth-hashdb";
-       version = "1.7.1";
-       sha256 = "1rfz2xanm6d70fx8ywh8j8py8003akzgi10s9n7syqm8kaj2fvqd";
+       version = "1.7.1.1";
+       sha256 = "0a1mz7nfrrgw0dalfbj72kd76nbgr9in63zrpijl4nd1p1j99br5";
        libraryHaskellDepends = [
          aeson base bytestring persistent text yesod-auth yesod-core
          yesod-form yesod-persistent
@@ -249538,8 +250081,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-fay";
-       version = "0.9.0";
-       sha256 = "186mxq6b5hl0ylsx9lajisywkc9klvbfbhq39pq497wk519ppc8s";
+       version = "0.10.0";
+       sha256 = "1qpcfiscwhb5rcdm335v6qi17rjxc0zc0qpv26lmyikdslj4jr9s";
        libraryHaskellDepends = [
          aeson base bytestring data-default directory fay fay-dom filepath
          monad-loops process pureMD5 shakespeare template-haskell text
@@ -249918,26 +250461,6 @@ self: {
 
   "yesod-paginator" = callPackage
     ({ mkDerivation, base, blaze-markup, doctest, hspec, path-pieces
-     , persistent, safe, text, transformers, uri-encode, yesod-core
-     , yesod-test
-     }:
-     mkDerivation {
-       pname = "yesod-paginator";
-       version = "1.1.0.1";
-       sha256 = "140b4cikshl5f229awnp5jcbnyln0bmzlqjfcwxzxssxwnviy93f";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base blaze-markup path-pieces persistent safe text transformers
-         uri-encode yesod-core
-       ];
-       testHaskellDepends = [ base doctest hspec yesod-core yesod-test ];
-       description = "A pagination approach for yesod";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "yesod-paginator_1_1_0_2" = callPackage
-    ({ mkDerivation, base, blaze-markup, doctest, hspec, path-pieces
      , persistent, QuickCheck, quickcheck-classes, safe, text
      , transformers, uri-encode, yesod-core, yesod-test
      }:
@@ -249957,7 +250480,6 @@ self: {
        ];
        description = "A pagination approach for yesod";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-paypal-rest" = callPackage
@@ -250004,27 +250526,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-persistent";
-       version = "1.6.0.1";
-       sha256 = "0kxxm43d64lp4p7kmmpc9c0rany9nblf5dd1424m8wg3105cr2kl";
-       libraryHaskellDepends = [
-         base blaze-builder conduit persistent persistent-template
-         resource-pool resourcet transformers yesod-core
-       ];
-       testHaskellDepends = [
-         base blaze-builder conduit hspec persistent persistent-sqlite text
-         wai-extra yesod-core
-       ];
-       description = "Some helpers for using Persistent from Yesod";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-persistent_1_6_0_2" = callPackage
-    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
-     , persistent-sqlite, persistent-template, resource-pool, resourcet
-     , text, transformers, wai-extra, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-persistent";
        version = "1.6.0.2";
        sha256 = "17adw0aaj29ia7ii3jka301442860b5wvfrms079q973gzahz5fd";
        libraryHaskellDepends = [
@@ -250037,7 +250538,6 @@ self: {
        ];
        description = "Some helpers for using Persistent from Yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-platform" = callPackage
@@ -250615,6 +251115,32 @@ self: {
        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 = [
+         attoparsec base blaze-builder blaze-html bytestring
+         case-insensitive conduit containers cookie hspec-core html-conduit
+         http-types HUnit network pretty-show semigroups text time
+         transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testHaskellDepends = [
+         base bytestring containers cookie hspec html-conduit http-types
+         HUnit text unliftio wai wai-extra xml-conduit yesod-core yesod-form
+       ];
+       description = "integration testing for WAI/Yesod Applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-test-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, hspec
      , http-types, HUnit, text, transformers, wai, wai-test
@@ -252405,32 +252931,6 @@ self: {
      }:
      mkDerivation {
        pname = "zip-archive";
-       version = "0.4";
-       sha256 = "06fs9959w807iy4xmngpnv1rps5sr1kqr2pd7b3iw6xfjlfskgjz";
-       revision = "1";
-       editedCabalFile = "1y4i0xblglhkj6nv2p0r2xgw8gqrhnsamkh7d389z68sf9zpgl6c";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base binary bytestring containers digest directory filepath
-         mtl pretty text time unix zlib
-       ];
-       testHaskellDepends = [
-         base bytestring directory filepath HUnit process temporary time
-         unix
-       ];
-       testToolDepends = [ unzip which ];
-       description = "Library for creating and modifying zip archives";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) unzip; inherit (pkgs) which;};
-
-  "zip-archive_0_4_1" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
-     , digest, directory, filepath, HUnit, mtl, pretty, process
-     , temporary, text, time, unix, unzip, which, zlib
-     }:
-     mkDerivation {
-       pname = "zip-archive";
        version = "0.4.1";
        sha256 = "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5";
        revision = "1";
@@ -252448,7 +252948,6 @@ self: {
        testToolDepends = [ unzip which ];
        description = "Library for creating and modifying zip archives";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) unzip; inherit (pkgs) which;};
 
   "zip-conduit" = callPackage
diff --git a/pkgs/development/idris-modules/glfw.nix b/pkgs/development/idris-modules/glfw.nix
index 535f549a5ebe..882058bb1856 100644
--- a/pkgs/development/idris-modules/glfw.nix
+++ b/pkgs/development/idris-modules/glfw.nix
@@ -10,8 +10,14 @@ build-idris-package  {
 
   idrisDeps = [ effects ];
 
+  nativeBuildInputs = [ pkgs.pkgconfig ];
   extraBuildInputs = [ pkgs.glfw ];
 
+  postPatch = ''
+    substituteInPlace src/MakefileGlfw \
+      --replace glfw3 "glfw3 gl"
+  '';
+
   src = fetchFromGitHub {
     owner = "eckart";
     repo = "glfw-idris";
diff --git a/pkgs/development/idris-modules/idris-wrapper.nix b/pkgs/development/idris-modules/idris-wrapper.nix
index f395bcd95d7c..4e1d2f9c82eb 100644
--- a/pkgs/development/idris-modules/idris-wrapper.nix
+++ b/pkgs/development/idris-modules/idris-wrapper.nix
@@ -1,4 +1,4 @@
-{ lib, symlinkJoin, makeWrapper, idris-no-deps, gcc, gmp }:
+{ stdenv, lib, symlinkJoin, makeWrapper, idris-no-deps, gmp }:
 
 symlinkJoin {
   inherit (idris-no-deps) name src meta;
@@ -6,7 +6,9 @@ symlinkJoin {
   buildInputs = [ makeWrapper ];
   postBuild = ''
     wrapProgram $out/bin/idris \
-      --run 'export IDRIS_CC=''${IDRIS_CC:-${lib.getBin gcc}/bin/gcc}' \
-      --suffix LIBRARY_PATH : ${lib.makeLibraryPath [ gmp ]}
+      --run 'export IDRIS_CC=''${IDRIS_CC:-${stdenv.cc}/bin/cc}' \
+      --set NIX_CC_WRAPPER_${stdenv.cc.infixSalt}_TARGET_HOST 1 \
+      --prefix NIX_CFLAGS_COMPILE " " "-I${lib.getDev gmp}/include" \
+      --prefix NIX_CFLAGS_LINK " " "-L${lib.getLib gmp}/lib"
   '';
 }
diff --git a/pkgs/development/interpreters/lua-5/5.1.nix b/pkgs/development/interpreters/lua-5/5.1.nix
deleted file mode 100644
index b2948b392d5e..000000000000
--- a/pkgs/development/interpreters/lua-5/5.1.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{ stdenv, fetchurl, readline
-, self
-, callPackage
-, packageOverrides ? (self: super: {})
-}:
-
-let
-  dsoPatch = fetchurl {
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lua-arch.patch?h=packages/lua51";
-    sha256 = "11fcyb4q55p4p7kdb8yp85xlw8imy14kzamp2khvcyxss4vw8ipw";
-    name = "lua-arch.patch";
-  };
-  luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;};
-in
-stdenv.mkDerivation rec {
-  name = "lua-${version}";
-  version = "5.1.5";
-  luaversion = "5.1";
-
-  src = fetchurl {
-    url = "https://www.lua.org/ftp/${name}.tar.gz";
-    sha256 = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333";
-  };
-
-  LuaPathSearchPaths    = luaPackages.getLuaPathList luaversion;
-  LuaCPathSearchPaths   = luaPackages.getLuaCPathList luaversion;
-  setupHook = luaPackages.lua-setup-hook LuaPathSearchPaths LuaCPathSearchPaths;
-
-  buildInputs = [ readline ];
-
-  patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch ])
-    ++ [ ./5.1.0004-Fix-stack-overflow-in-vararg-functions.patch ];
-
-  configurePhase =
-    if stdenv.isDarwin
-    then ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" CC="$CC" )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' )
-  '' else ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDFLAGS="-fPIC" CC="$CC" AR="$AR q" RANLIB="$RANLIB" )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.5.1 liblua.so.5.1.5" INSTALL_DATA='cp -d' )
-  '';
-
-  postInstall = ''
-    mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig"
-    sed <"etc/lua.pc" >"$out/lib/pkgconfig/lua.pc" -e "s|^prefix=.*|prefix=$out|"
-    mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/"
-    rmdir $out/{share,lib}/lua/5.1 $out/{share,lib}/lua
-  '';
-
-  passthru = rec {
-    buildEnv = callPackage ./wrapper.nix {
-      lua=self;
-      inherit (luaPackages) requiredLuaModules;
-    };
-    withPackages = import ./with-packages.nix { inherit buildEnv luaPackages;};
-    pkgs = luaPackages;
-    interpreter = "${self}/bin/lua";
-  };
-
-  meta = {
-    homepage = http://www.lua.org;
-    description = "Powerful, fast, lightweight, embeddable scripting language";
-    longDescription = ''
-      Lua combines simple procedural syntax with powerful data
-      description constructs based on associative arrays and extensible
-      semantics. Lua is dynamically typed, runs by interpreting bytecode
-      for a register-based virtual machine, and has automatic memory
-      management with incremental garbage collection, making it ideal
-      for configuration, scripting, and rapid prototyping.
-    '';
-    license = stdenv.lib.licenses.mit;
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
-    hydraPlatforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/interpreters/lua-5/5.2.nix b/pkgs/development/interpreters/lua-5/5.2.nix
deleted file mode 100644
index e89a2cbece6d..000000000000
--- a/pkgs/development/interpreters/lua-5/5.2.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{ stdenv, fetchurl, readline
-# compiles compatibility layer with lua5.1
-, compat ? false
-, callPackage
-, self
-, packageOverrides ? (self: super: {})
-}:
-
-let
-  dsoPatch = fetchurl {
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/liblua.so.patch?h=packages/lua52";
-    sha256 = "1by1dy4ql61f5c6njq9ibf9kaqm3y633g2q8j54iyjr4cxvqwqz9";
-    name = "lua-arch.patch";
-  };
-  luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;};
-in
-stdenv.mkDerivation rec {
-  name = "lua-${version}";
-  luaversion = "5.2";
-  version = "${luaversion}.4";
-
-  LuaPathSearchPaths    = luaPackages.getLuaPathList luaversion;
-  LuaCPathSearchPaths   = luaPackages.getLuaCPathList luaversion;
-  setupHook = luaPackages.lua-setup-hook LuaPathSearchPaths LuaCPathSearchPaths;
-
-  src = fetchurl {
-    url = "https://www.lua.org/ftp/${name}.tar.gz";
-    sha256 = "0jwznq0l8qg9wh5grwg07b5cy3lzngvl5m2nl1ikp6vqssmf9qmr";
-  };
-
-  buildInputs = [ readline ];
-
-  patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [ dsoPatch ];
-
-
-  passthru = rec {
-    buildEnv = callPackage ./wrapper.nix {
-      lua = self;
-      inherit (luaPackages) requiredLuaModules;
-    };
-    withPackages = import ./with-packages.nix { inherit buildEnv luaPackages;};
-    pkgs = luaPackages;
-    interpreter = "${self}/bin/lua";
-  };
-
-  enableParallelBuilding = true;
-
-  configurePhase =
-    if stdenv.isDarwin
-    then ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version}  CC="$CC" )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' )
-  '' else ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} CC="$CC" AR="$AR q" RANLIB="$RANLIB" )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}" INSTALL_DATA='cp -d' )
-  '';
-
-  postInstall = ''
-    mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig"
-    mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/"
-    rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua
-    mkdir -p "$out/lib/pkgconfig"
-    cat >"$out/lib/pkgconfig/lua.pc" <<EOF
-    prefix=$out
-    libdir=$out/lib
-    includedir=$out/include
-    INSTALL_BIN=$out/bin
-    INSTALL_INC=$out/include
-    INSTALL_LIB=$out/lib
-    INSTALL_MAN=$out/man/man1
-
-    Name: Lua
-    Description: An Extensible Extension Language
-    Version: ${version}
-    Requires:
-    Libs: -L$out/lib -llua -lm
-    Cflags: -I$out/include
-    EOF
-  '';
-
-  meta = {
-    homepage = http://www.lua.org;
-    description = "Powerful, fast, lightweight, embeddable scripting language";
-    longDescription = ''
-      Lua combines simple procedural syntax with powerful data
-      description constructs based on associative arrays and extensible
-      semantics. Lua is dynamically typed, runs by interpreting bytecode
-      for a register-based virtual machine, and has automatic memory
-      management with incremental garbage collection, making it ideal
-      for configuration, scripting, and rapid prototyping.
-    '';
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/interpreters/lua-5/build-lua-package.nix b/pkgs/development/interpreters/lua-5/build-lua-package.nix
index 6b356831b3bb..bc41d86256b2 100644
--- a/pkgs/development/interpreters/lua-5/build-lua-package.nix
+++ b/pkgs/development/interpreters/lua-5/build-lua-package.nix
@@ -150,6 +150,9 @@ builtins.removeAttrs attrs ["disabled" "checkInputs"] // {
   installPhase = attrs.installPhase or ''
     runHook preInstall
 
+    # work around failing luarocks test for Write access
+    mkdir -p $out
+
     # luarocks make assumes sources are available in cwd
     # After the build is complete, it also installs the rock.
     # If no argument is given, it looks for a rockspec in the current directory
diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix
new file mode 100644
index 000000000000..fb709227180f
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/default.nix
@@ -0,0 +1,65 @@
+# similar to interpreters/python/default.nix
+{ stdenv, lib, callPackage, fetchurl }:
+let
+  dsoPatch51 = fetchurl {
+    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lua-arch.patch?h=packages/lua51";
+    sha256 = "11fcyb4q55p4p7kdb8yp85xlw8imy14kzamp2khvcyxss4vw8ipw";
+    name = "lua-arch.patch";
+  };
+
+  dsoPatch52 = fetchurl {
+    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/liblua.so.patch?h=packages/lua52";
+    sha256 = "1by1dy4ql61f5c6njq9ibf9kaqm3y633g2q8j54iyjr4cxvqwqz9";
+    name = "lua-arch.patch";
+  };
+
+in rec {
+
+  lua5_3 = callPackage ./interpreter.nix {
+    sourceVersion = { major = "5"; minor = "3"; patch = "5"; };
+    hash = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac";
+    patches = lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ;
+    postConfigure = lib.optionalString (!stdenv.isDarwin) ''
+      cat ${./lua-5.3-dso.make} >> src/Makefile
+      sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile
+    '';
+
+    postBuild = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+      ( cd src; make $makeFlags "''${makeFlagsArray[@]}" liblua.so )
+    '';
+  };
+
+  lua5_3_compat = lua5_3.override({
+    compat = true;
+  });
+
+
+  lua5_2 = callPackage ./interpreter.nix {
+    sourceVersion = { major = "5"; minor = "2"; patch = "4"; };
+    hash = "0jwznq0l8qg9wh5grwg07b5cy3lzngvl5m2nl1ikp6vqssmf9qmr";
+    patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [ dsoPatch52 ];
+  };
+
+  lua5_2_compat = lua5_2.override({
+    compat = true;
+  });
+
+
+  lua5_1 = callPackage ./interpreter.nix {
+    sourceVersion = { major = "5"; minor = "1"; patch = "5"; };
+    hash = "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333";
+    patches = (if stdenv.isDarwin then [ ./5.1.darwin.patch ] else [ dsoPatch51 ])
+      ++ [ ./5.1.0004-Fix-stack-overflow-in-vararg-functions.patch ];
+  };
+
+  luajit_2_0 = import ../luajit/2.0.nix {
+    self = luajit_2_0;
+    inherit callPackage lib;
+  };
+
+  luajit_2_1 = import ../luajit/2.1.nix {
+    self = luajit_2_1;
+    inherit callPackage lib;
+  };
+
+}
diff --git a/pkgs/development/interpreters/lua-5/5.3.nix b/pkgs/development/interpreters/lua-5/interpreter.nix
index c1fdc0fd9904..26db917c9002 100644
--- a/pkgs/development/interpreters/lua-5/5.3.nix
+++ b/pkgs/development/interpreters/lua-5/interpreter.nix
@@ -1,19 +1,24 @@
-{ stdenv, fetchurl, readline, compat ? false
+{ stdenv, fetchurl, readline
+, compat ? false
 , callPackage
-, self
 , packageOverrides ? (self: super: {})
+, sourceVersion
+, hash
+, patches ? []
+, postConfigure ? null
+, postBuild ? null
 }:
 let
-  luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;};
-in
-stdenv.mkDerivation rec {
-  name = "lua-${version}";
-  luaversion = "5.3";
-  version = "${luaversion}.5";
+luaPackages = callPackage ../../lua-modules {lua=self; overrides=packageOverrides;};
+
+self = stdenv.mkDerivation rec {
+  pname = "lua";
+  luaversion = with sourceVersion; "${major}.${minor}";
+  version = "${luaversion}.${sourceVersion.patch}";
 
   src = fetchurl {
-    url = "https://www.lua.org/ftp/${name}.tar.gz";
-    sha256 = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac";
+    url = "https://www.lua.org/ftp/${pname}-${luaversion}.tar.gz";
+    sha256 = hash;
   };
 
   LuaPathSearchPaths    = luaPackages.getLuaPathList luaversion;
@@ -22,29 +27,43 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline ];
 
-  patches = if stdenv.isDarwin then [ ./5.2.darwin.patch ] else [];
-
-  configurePhase =
-    if stdenv.isDarwin
-    then ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version}  CC="$CC" )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.${version}.dylib" INSTALL_DATA='cp -d' )
-  '' else ''
-    makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" LDFLAGS="-fPIC" V=${luaversion} R=${version} CC="$CC" AR="$AR q" RANLIB="$RANLIB" )
-    installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}" INSTALL_DATA='cp -d' )
-    cat ${./lua-5.3-dso.make} >> src/Makefile
-    sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile
-  '';
+  inherit patches;
+
+  # see configurePhase for additional flags (with space)
+  makeFlags = [
+    "INSTALL_TOP=${placeholder "out"}"
+    "INSTALL_MAN=${placeholder "out"}/share/man/man1"
+    "R=${version}"
+    "LDFLAGS=-fPIC"
+    "V=${luaversion}"
+  ] ++ (if stdenv.isDarwin then [
+    "PLAT=macosx"
+  ] else [
+    "PLAT=linux"
+  ])
+  ;
+
+  configurePhase = ''
+    runHook preConfigure
 
-  postBuild = stdenv.lib.optionalString (! stdenv.isDarwin) ''
-    ( cd src; make liblua.so "''${makeFlagsArray[@]}" )
+    makeFlagsArray+=(CFLAGS="-DLUA_USE_LINUX -O2 -fPIC${if compat then " -DLUA_COMPAT_ALL" else ""}" )
+    makeFlagsArray+=(${stdenv.lib.optionalString stdenv.isDarwin "CC=\"$CC\""})
+
+    installFlagsArray=( TO_BIN="lua luac" INSTALL_DATA='cp -d' \
+      TO_LIB="${if stdenv.isDarwin then "liblua.${version}.dylib" else "liblua.a liblua.so liblua.so.${luaversion} liblua.so.${version}"}" )
+
+    runHook postConfigure
   '';
+  inherit postConfigure;
+
+  inherit postBuild;
 
   postInstall = ''
     mkdir -p "$out/share/doc/lua" "$out/lib/pkgconfig"
     mv "doc/"*.{gif,png,css,html} "$out/share/doc/lua/"
     rmdir $out/{share,lib}/lua/${luaversion} $out/{share,lib}/lua
     mkdir -p "$out/lib/pkgconfig"
+
     cat >"$out/lib/pkgconfig/lua.pc" <<EOF
     prefix=$out
     libdir=$out/lib
@@ -88,4 +107,5 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
   };
-}
+};
+in self
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
index 7727b984d969..73d1e0ea9fd7 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
@@ -3,10 +3,10 @@
 { stdenv, fetchurl, lib }:
 
 stdenv.mkDerivation rec {
-  name = "python27-docs-html-2.7.3";
+  name = "python27-docs-html-2.7.16";
   src = fetchurl {
-    url = http://docs.python.org/ftp/python/doc/2.7.3/python-2.7.3-docs-html.tar.bz2;
-    sha256 = "1hg92n0mzl9w6j33b2h0bf2vy6fsxnpxfdc3qw760vcm0y00155j";
+    url = http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-html.tar.bz2;
+    sha256 = "1razs1grzhai65ihaiyph8kz6ncjkgp1gsn3c8v7kanf13lqim02";
   };
   installPhase = ''
     mkdir -p $out/share/doc/python27
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
index 0c9673b7d7a9..54c0954ae5d0 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
@@ -3,10 +3,10 @@
 { stdenv, fetchurl, lib }:
 
 stdenv.mkDerivation rec {
-  name = "python27-docs-pdf-a4-2.7.3";
+  name = "python27-docs-pdf-a4-2.7.16";
   src = fetchurl {
-    url = http://docs.python.org/ftp/python/doc/2.7.3/python-2.7.3-docs-pdf-a4.tar.bz2;
-    sha256 = "13da88panq5b6qfhf8k4dgqgxkg4ydcac5cx69a3f35s1w90xdjr";
+    url = http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-a4.tar.bz2;
+    sha256 = "14ml1ynrlbhg43737bdsb8k5y39wsffqj4iwhylhb8n8l5dplfdq";
   };
   installPhase = ''
     mkdir -p $out/share/doc/python27
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
index 9b0018e7cd78..059908029c0b 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
@@ -3,10 +3,10 @@
 { stdenv, fetchurl, lib }:
 
 stdenv.mkDerivation rec {
-  name = "python27-docs-pdf-letter-2.7.3";
+  name = "python27-docs-pdf-letter-2.7.16";
   src = fetchurl {
-    url = http://docs.python.org/ftp/python/doc/2.7.3/python-2.7.3-docs-pdf-letter.tar.bz2;
-    sha256 = "0x41phsdrpivhzkchswsliyx3a10n7gzc9irkrw6rz22j81bfydg";
+    url = http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-pdf-letter.tar.bz2;
+    sha256 = "019i8n48m71mn31v8d85kkwyqfgcgqnqh506y4a7fcgf656bajs0";
   };
   installPhase = ''
     mkdir -p $out/share/doc/python27
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
index b7bcfb51d29a..53c5aa3b629b 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
@@ -3,10 +3,10 @@
 { stdenv, fetchurl, lib }:
 
 stdenv.mkDerivation rec {
-  name = "python27-docs-text-2.7.3";
+  name = "python27-docs-text-2.7.16";
   src = fetchurl {
-    url = http://docs.python.org/ftp/python/doc/2.7.3/python-2.7.3-docs-text.tar.bz2;
-    sha256 = "1rxlb3jhh3892y65i45nk1y2lx981fr22a5hmfkp9gvjvdykjnzp";
+    url = http://docs.python.org/ftp/python/doc/2.7.16/python-2.7.16-docs-text.tar.bz2;
+    sha256 = "1da7swlykvc013684nywycinfz3v8dqkcmv0zj8p7l5lyi5mq03r";
   };
   installPhase = ''
     mkdir -p $out/share/doc/python27
diff --git a/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix b/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix
new file mode 100644
index 000000000000..5a6dcc63225e
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/docs/3.7-html.nix
@@ -0,0 +1,18 @@
+# This file was generated and will be overwritten by ./generate.sh
+
+{ stdenv, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  name = "python37-docs-html-3.7.2";
+  src = fetchurl {
+    url = http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-html.tar.bz2;
+    sha256 = "19wbrawpdam09fmyipfy92sxwn1rl93v8jkfqsfx028qhvzf0422";
+  };
+  installPhase = ''
+    mkdir -p $out/share/doc/python37
+    cp -R ./ $out/share/doc/python37/html
+  '';
+  meta = {
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix b/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix
new file mode 100644
index 000000000000..a122d7519f5d
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-a4.nix
@@ -0,0 +1,18 @@
+# This file was generated and will be overwritten by ./generate.sh
+
+{ stdenv, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  name = "python37-docs-pdf-a4-3.7.2";
+  src = fetchurl {
+    url = http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-a4.tar.bz2;
+    sha256 = "0vdx762m30hjaabn6w88awcj2qpbz0b6z59zn9wmamd35k59lfba";
+  };
+  installPhase = ''
+    mkdir -p $out/share/doc/python37
+    cp -R ./ $out/share/doc/python37/pdf-a4
+  '';
+  meta = {
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix b/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix
new file mode 100644
index 000000000000..4473f2e351c4
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/docs/3.7-pdf-letter.nix
@@ -0,0 +1,18 @@
+# This file was generated and will be overwritten by ./generate.sh
+
+{ stdenv, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  name = "python37-docs-pdf-letter-3.7.2";
+  src = fetchurl {
+    url = http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-pdf-letter.tar.bz2;
+    sha256 = "17g57vlyvqx0k916q84q2pcx7y8myw0fda9fvg9kh0ph930c837x";
+  };
+  installPhase = ''
+    mkdir -p $out/share/doc/python37
+    cp -R ./ $out/share/doc/python37/pdf-letter
+  '';
+  meta = {
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix b/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix
new file mode 100644
index 000000000000..d9d21bfe3a57
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/docs/3.7-text.nix
@@ -0,0 +1,18 @@
+# This file was generated and will be overwritten by ./generate.sh
+
+{ stdenv, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  name = "python37-docs-text-3.7.2";
+  src = fetchurl {
+    url = http://docs.python.org/ftp/python/doc/3.7.2/python-3.7.2-docs-text.tar.bz2;
+    sha256 = "0h50rlr8jclwfxa106b42q2vn2ynp219c4zsy5qz65n5m3b7y1g2";
+  };
+  installPhase = ''
+    mkdir -p $out/share/doc/python37
+    cp -R ./ $out/share/doc/python37/text
+  '';
+  meta = {
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/development/interpreters/python/cpython/docs/default.nix b/pkgs/development/interpreters/python/cpython/docs/default.nix
index 60e0a0bf1e6e..a538f731473b 100644
--- a/pkgs/development/interpreters/python/cpython/docs/default.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/default.nix
@@ -7,23 +7,35 @@ pythonDocs = {
     python27 = import ./2.7-html.nix {
       inherit stdenv fetchurl lib;
     };
+    python37 = import ./3.7-html.nix {
+      inherit stdenv fetchurl lib;
+    };
   };
   pdf_a4 = {
     recurseForDerivations = true;
     python27 = import ./2.7-pdf-a4.nix {
       inherit stdenv fetchurl lib;
     };
+    python37 = import ./3.7-pdf-a4.nix {
+      inherit stdenv fetchurl lib;
+    };
   };
   pdf_letter = {
     recurseForDerivations = true;
     python27 = import ./2.7-pdf-letter.nix {
       inherit stdenv fetchurl lib;
     };
+    python37 = import ./3.7-pdf-letter.nix {
+      inherit stdenv fetchurl lib;
+    };
   };
   text = {
     recurseForDerivations = true;
     python27 = import ./2.7-text.nix {
       inherit stdenv fetchurl lib;
     };
+    python37 = import ./3.7-text.nix {
+      inherit stdenv fetchurl lib;
+    };
   };
 }; in pythonDocs
diff --git a/pkgs/development/interpreters/python/cpython/docs/generate.sh b/pkgs/development/interpreters/python/cpython/docs/generate.sh
index bebefc10ccd0..a4b2e0893fcd 100755
--- a/pkgs/development/interpreters/python/cpython/docs/generate.sh
+++ b/pkgs/development/interpreters/python/cpython/docs/generate.sh
@@ -2,7 +2,7 @@
 
 TYPES="html pdf-a4 pdf-letter text"
 URL=http://docs.python.org/ftp/python/doc/VERSION/python-VERSION-docs-TYPE.tar.bz2
-VERSIONS=$(curl http://www.python.org/download/releases/ 2>/dev/null | grep "releases/[123456789]"| cut -d/ -f4 |grep -v "^[12].[012345]" |grep -v "^1.6.1")
+VERSIONS=$(for major in 2 3; do curl https://docs.python.org/$major/archives/ 2>/dev/null | perl -l -n -e'/<a href="python-([23].[0-9].[0-9]+)-docs-html.tar.bz2/ && print $1' | tail -n 1; done)
 echo "Generating expressions for:
 ${VERSIONS}
 "
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index b42240a26c4e..c20167138b72 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "accountsservice-${version}";
-  version = "0.6.54";
+  version = "0.6.55";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
-    sha256 = "1b115n0a4yfa06kgxc69qfc1rc0w4frgs3id3029czkrhhn0ds96";
+    sha256 = "16wwd633jak9ajyr1f1h047rmd09fhf3kzjz6g5xjsz0lwcj8azz";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper meson ninja python3 ];
diff --git a/pkgs/development/libraries/accountsservice/no-create-dirs.patch b/pkgs/development/libraries/accountsservice/no-create-dirs.patch
index ef1a59b0249f..0333f925d267 100644
--- a/pkgs/development/libraries/accountsservice/no-create-dirs.patch
+++ b/pkgs/development/libraries/accountsservice/no-create-dirs.patch
@@ -1,15 +1,15 @@
 diff --git a/meson_post_install.py b/meson_post_install.py
-index ba95055..17f7926 100644
+index 5cc2dc4..dd27ad5 100644
 --- a/meson_post_install.py
 +++ b/meson_post_install.py
 @@ -9,8 +9,8 @@ localstatedir = os.path.normpath(destdir + os.sep + sys.argv[1])
  # FIXME: meson will not track the creation of these directories
  #        https://github.com/mesonbuild/meson/blob/master/mesonbuild/scripts/uninstall.py#L39
  dst_dirs = [
--  os.path.join(localstatedir, 'lib', 'AccountsService', 'icons'),
--  os.path.join(localstatedir, 'lib', 'AccountsService', 'users'),
-+  #os.path.join(localstatedir, 'lib', 'AccountsService', 'icons'),
-+  #os.path.join(localstatedir, 'lib', 'AccountsService', 'users'),
+-  (os.path.join(localstatedir, 'lib', 'AccountsService', 'icons'), 0o775),
+-  (os.path.join(localstatedir, 'lib', 'AccountsService', 'users'), 0o700),
++#  (os.path.join(localstatedir, 'lib', 'AccountsService', 'icons'), 0o775),
++#  (os.path.join(localstatedir, 'lib', 'AccountsService', 'users'), 0o700),
  ]
  
- for dst_dir in dst_dirs:
+ for (dst_dir, dst_dir_mode) in dst_dirs:
diff --git a/pkgs/development/libraries/appstream/qt.nix b/pkgs/development/libraries/appstream/qt.nix
index c5a251cd5f9f..0013764d7791 100644
--- a/pkgs/development/libraries/appstream/qt.nix
+++ b/pkgs/development/libraries/appstream/qt.nix
@@ -1,5 +1,7 @@
 { stdenv, appstream, qtbase, qttools }:
 
+# TODO: look into using the libraries from the regular appstream derivation as we keep duplicates here
+
 stdenv.mkDerivation rec {
   name = "appstream-qt-${version}";
   inherit (appstream) version src prePatch;
@@ -10,15 +12,6 @@ stdenv.mkDerivation rec {
 
   mesonFlags = appstream.mesonFlags ++ [ "-Dqt=true" ];
 
-  postInstall = ''
-    rm -rf $out/{bin,etc,include/appstream,lib/pkgconfig,lib/libappstream.so*,share}
-  '';
-
-  preFixup = ''
-    patchelf --add-needed ${appstream}/lib/libappstream.so.4 \
-      $out/lib/libAppStreamQt.so
-  '';
-
   meta = appstream.meta // {
     description = "Software metadata handling library - Qt";
  };
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index 3670bfd74784..7ef4feab188d 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
 
 stdenv.mkDerivation rec {
-  version = "9.200.8";
+  version = "9.300.2";
   name = "armadillo-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "09fcl6dgxg9203spplr7fwsbms3dvil5h5k3k6vfw7n7sm6ns3p2";
+    sha256 = "1d2nsbspj9vzgzb6w2vgjv2wzidjzc8sr8wkz2zl7wxpgspl299n";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index cff960b29a73..7f7ef3336a4c 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -1,21 +1,28 @@
-{ stdenv, symlinkJoin, fetchurl, fetchFromGitHub, autoconf, boost, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl, python, rapidjson, snappy, thrift, which, zlib, zstd }:
+{ stdenv, fetchurl, fetchFromGitHub, autoconf, boost, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl, python, rapidjson, snappy, thrift, uriparser, which, zlib, zstd }:
 
 let
   parquet-testing = fetchFromGitHub {
     owner = "apache";
     repo = "parquet-testing";
-    rev = "46ae2605c2de306f5740587107dcf333a527f2d1";
-    sha256 = "07ps745gas2zcfmg56m3vwl63yyzmalnxwb5dc40vd004cx5hdik";
+    rev = "8991d0b58d5a59925c87dd2a0bdb59a5a4a16bd4";
+    sha256 = "00js5d1s98y3ianrvh1ggrd157yfmia4g55jx9xmfcz4a8mcbawx";
+  };
+
+  # Enable non-bundled uriparser
+  # Introduced in https://github.com/apache/arrow/pull/4092
+  Finduriparser_cmake = fetchurl {
+    url = https://raw.githubusercontent.com/apache/arrow/af4f52961209a5f1b43a19483536285c957e3bed/cpp/cmake_modules/Finduriparser.cmake;
+    sha256 = "1cylrw00n2nkc2c49xk9j3rrza351rpravxgpw047vimcw0sk93s";
   };
 in
 
 stdenv.mkDerivation rec {
   name = "arrow-cpp-${version}";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchurl {
     url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    sha256 = "163s4i2cywq95jgrxbaq48qwmww0ibkq61k1aad4w9z9vpjfgnil";
+    sha256 = "06irh5zx6lc7jjf6hpz1vzk0pvbdx08lcirc8cp8ksb8j7fpfamc";
   };
 
   sourceRoot = "apache-arrow-${version}/cpp";
@@ -26,36 +33,31 @@ stdenv.mkDerivation rec {
     ];
 
   nativeBuildInputs = [ cmake autoconf /* for vendored jemalloc */ ];
-  buildInputs = [ boost double-conversion glog python.pkgs.python python.pkgs.numpy ];
+  buildInputs = [
+    boost brotli double-conversion flatbuffers gflags glog gtest lz4 rapidjson
+    snappy thrift uriparser zlib zstd python.pkgs.python python.pkgs.numpy
+  ];
 
   preConfigure = ''
-    substituteInPlace cmake_modules/FindThrift.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
-    substituteInPlace cmake_modules/FindBrotli.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
-    substituteInPlace cmake_modules/FindGLOG.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
     substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
-    substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+
+    cp ${Finduriparser_cmake} cmake_modules/Finduriparser.cmake
 
     patchShebangs build-support/
-  '';
 
-  BROTLI_HOME = symlinkJoin { name="brotli-wrap"; paths = [ brotli.lib brotli.dev ]; };
-  DOUBLE_CONVERSION_HOME = double-conversion;
-  FLATBUFFERS_HOME = flatbuffers;
-  GFLAGS_HOME = gflags;
-  GLOG_HOME = glog;
-  GTEST_HOME = symlinkJoin { name="gtest-wrap"; paths = [ gtest gtest.dev ]; };
-  LZ4_HOME = symlinkJoin { name="lz4-wrap"; paths = [ lz4 lz4.dev ]; };
-  RAPIDJSON_HOME = rapidjson;
-  SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
-  THRIFT_HOME = thrift;
-  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib zlib.dev ]; };
-  ZSTD_HOME = zstd;
+    # Fix build for ARROW_USE_SIMD=OFF
+    # https://jira.apache.org/jira/browse/ARROW-5007
+    sed -i src/arrow/util/sse-util.h -e '1i#include "arrow/util/logging.h"'
+    sed -i src/arrow/util/neon-util.h -e '1i#include "arrow/util/logging.h"'
+  '';
 
   cmakeFlags = [
     "-DARROW_BUILD_TESTS=ON"
-    "-DARROW_PYTHON=ON"
+    "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
     "-DARROW_PARQUET=ON"
-  ];
+    "-DARROW_PYTHON=ON"
+    "-Duriparser_SOURCE=SYSTEM"
+  ] ++ stdenv.lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
 
   doInstallCheck = true;
   PARQUET_TEST_DATA = if doInstallCheck then "${parquet-testing}/data" else null;
diff --git a/pkgs/development/libraries/audio/libmysofa/default.nix b/pkgs/development/libraries/audio/libmysofa/default.nix
index d802d70adf3b..0f9f5f5aac68 100644
--- a/pkgs/development/libraries/audio/libmysofa/default.nix
+++ b/pkgs/development/libraries/audio/libmysofa/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libmysofa-${version}";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner = "hoene";
     repo = "libmysofa";
     rev = "v${version}";
-    sha256 = "160gcmsn6dwaca29bs95nsgjdalwc299lip0h37k3jcbxxkchgsh";
+    sha256 = "0si0z7cfw6xcs3dkrb4zini55xpxwfp27yl8lbx39gx2pf8v2jls";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix
index 4b94f673a652..49536687a931 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.2.2";
+  version = "0.3.0";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "130yjr82w0az4xsdcmcjdwkhd0sin5pm6q6s9dyn5yhrwfx1vf0p";
+    sha256 = "08vysa3naqjfvld9w1k6l6hby4xfn4l2gvnfnan498g5nss4050h";
   };
 
   nativeBuildInputs = [ meson ninja nasm ];
diff --git a/pkgs/development/libraries/kproperty/default.nix b/pkgs/development/libraries/kproperty/default.nix
index 455fb5a711c0..c49402b74e86 100644
--- a/pkgs/development/libraries/kproperty/default.nix
+++ b/pkgs/development/libraries/kproperty/default.nix
@@ -7,12 +7,12 @@
 
 mkDerivation rec {
   pname = "kproperty";
-  version = "3.1.0";
+  version = "3.2.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "18qlwp7ajpx16bd0lfzqfx8y9cbrs8k4nax3cr30wj5sd3l8xpky";
+    sha256 = "1yldfsdamk4dag8dyryjn5n9j2pzi42s79kkafymfnbifhnhrbv7";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/kreport/default.nix b/pkgs/development/libraries/kreport/default.nix
index 256989992c5a..fc9c77e8fd61 100644
--- a/pkgs/development/libraries/kreport/default.nix
+++ b/pkgs/development/libraries/kreport/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "kreport";
-  version = "3.1.0";
+  version = "3.2.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "0v7krpfx0isij9wzwam28fqn039i4wcznbplvnvl6hsykdi8ar1v";
+    sha256 = "1mycsvkz5rphi9df2i4ch4ykvprd4m76acsdzs3zis2ljrqnsw92";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/libqmatrixclient/default.nix b/pkgs/development/libraries/libqmatrixclient/default.nix
index 160ce9fcabf6..a81e4ff07803 100644
--- a/pkgs/development/libraries/libqmatrixclient/default.nix
+++ b/pkgs/development/libraries/libqmatrixclient/default.nix
@@ -1,26 +1,32 @@
 { stdenv, fetchFromGitHub, cmake
-, qtbase }:
+, qtbase, qtmultimedia }:
 
-stdenv.mkDerivation rec {
-  name = "libqmatrixclient-${version}";
-  version = "0.4.2.1";
+let
+  generic = version: sha256: prefix: stdenv.mkDerivation rec {
+    name = "libqmatrixclient-${version}";
 
-  src = fetchFromGitHub {
-    owner  = "QMatrixClient";
-    repo   = "libqmatrixclient";
-    rev    = "v${version}";
-    sha256 = "056hvp2m74wx72yd8vai18siddj9l8bhrvrkc4ia4cwjsqw02kid";
-  };
+    src = fetchFromGitHub {
+      owner = "QMatrixClient";
+      repo  = "libqmatrixclient";
+      rev   = "${prefix}${version}";
+      inherit sha256;
+    };
 
-  buildInputs = [ qtbase ];
+    buildInputs = [ qtbase qtmultimedia ];
 
-  nativeBuildInputs = [ cmake ];
+    nativeBuildInputs = [ cmake ];
 
-  meta = with stdenv.lib; {
-    description= "A Qt5 library to write cross-platfrom clients for Matrix";
-    homepage = https://matrix.org/docs/projects/sdk/libqmatrixclient.html;
-    license = licenses.lgpl21;
-    platforms = with platforms; linux ++ darwin;
-    maintainers = with maintainers; [ peterhoeg ];
+    meta = with stdenv.lib; {
+      description= "A Qt5 library to write cross-platfrom clients for Matrix";
+      homepage = https://matrix.org/docs/projects/sdk/libqmatrixclient.html;
+      license = licenses.lgpl21;
+      platforms = with platforms; linux ++ darwin;
+      maintainers = with maintainers; [ peterhoeg ];
+    };
   };
+
+in rec {
+  libqmatrixclient_0_4 = generic "0.4.2.1" "056hvp2m74wx72yd8vai18siddj9l8bhrvrkc4ia4cwjsqw02kid" "v";
+  libqmatrixclient_0_5 = generic "0.5.1.2" "0vvpm1vlqfvhgfvavifrj4998g8v33hp5xjf0n8zfsmg4lxlnfg1" "";
+  libqmatrixclient = libqmatrixclient_0_4;
 }
diff --git a/pkgs/development/libraries/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix
index bbbc818db63d..e9b89e83907f 100644
--- a/pkgs/development/libraries/nlopt/default.nix
+++ b/pkgs/development/libraries/nlopt/default.nix
@@ -1,12 +1,14 @@
-{ fetchurl, stdenv, octave ? null, cmake }:
+{ stdenv, fetchFromGitHub, cmake, octave ? null }:
 
 stdenv.mkDerivation rec {
-  name = "nlopt-${version}";
-  version = "2.5.0";
+  pname = "nlopt";
+  version = "2.6.1";
 
-  src = fetchurl {
-    url = "https://github.com/stevengj/nlopt/archive/v${version}.tar.gz";
-    sha256 = "1bmlsdzkw8xbigiihffyb0kdaqbyfn7dr8s5pdgavy7z05bpmpf6";
+  src = fetchFromGitHub {
+    owner = "stevengj";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1k6x14lgyfhfqpbs7xx8mrgklp8l6jkkcs39zgi2sj3kg6n0hdc9";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -30,7 +32,6 @@ stdenv.mkDerivation rec {
     description = "Free open-source library for nonlinear optimization";
     license = stdenv.lib.licenses.lgpl21Plus;
     hydraPlatforms = stdenv.lib.platforms.linux;
-    broken = (octave != null);              # cannot cope with Octave 4.x
   };
 
 }
diff --git a/pkgs/development/libraries/qca-qt5/default.nix b/pkgs/development/libraries/qca-qt5/default.nix
index 6e190a656f63..79b105a2d1c8 100644
--- a/pkgs/development/libraries/qca-qt5/default.nix
+++ b/pkgs/development/libraries/qca-qt5/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, cmake, openssl, pkgconfig, qtbase }:
 
 stdenv.mkDerivation rec {
-  name = "qca-qt5-2.1.3";
+  pname = "qca-qt5";
+  version = "2.2.1";
 
   src = fetchurl {
-    url = "http://download.kde.org/stable/qca/2.1.3/src/qca-2.1.3.tar.xz";
-    sha256 = "0lz3n652z208daxypdcxiybl0a9fnn6ida0q7fh5f42269mdhgq0";
+    url = "http://download.kde.org/stable/qca/${version}/qca-${version}.tar.xz";
+    sha256 = "00kv1vsrc8fp556hm8s6yw3240vx3l4067q6vfxrb3gdwgcd45np";
   };
 
   buildInputs = [ openssl qtbase ];
diff --git a/pkgs/development/libraries/qca-qt5/move-project.patch b/pkgs/development/libraries/qca-qt5/move-project.patch
index 2a109a3aa3c7..dcecb83d7db9 100644
--- a/pkgs/development/libraries/qca-qt5/move-project.patch
+++ b/pkgs/development/libraries/qca-qt5/move-project.patch
@@ -1,19 +1,17 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 453fd8a..5f6ee11 100644
+index 2f2b5d0..971dee3 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -6,13 +6,13 @@ if(NOT CMAKE_INSTALL_PREFIX)
+@@ -6,10 +6,11 @@ if(NOT CMAKE_INSTALL_PREFIX)
    unset(CMAKE_INSTALL_PREFIX CACHE)
  endif(NOT CMAKE_INSTALL_PREFIX)
-
+ 
 -project(qca)
-
- if(NOT APPLE)
-   cmake_minimum_required(VERSION 2.8.12)
- else()
-   cmake_minimum_required(VERSION 3.0)
- endif()
+ 
+ cmake_minimum_required(VERSION 3.4)
+ 
 +project(qca)
-
++
  set(QCA_LIB_MAJOR_VERSION "2")
- set(QCA_LIB_MINOR_VERSION "1")
+ set(QCA_LIB_MINOR_VERSION "2")
+ set(QCA_LIB_PATCH_VERSION "1")
diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix
index 2e5371e285bc..3de84d859111 100644
--- a/pkgs/development/libraries/qtkeychain/default.nix
+++ b/pkgs/development/libraries/qtkeychain/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchFromGitHub, cmake, qt4 ? null
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, qt4 ? null
 , withQt5 ? false, qtbase ? null, qttools ? null
 , darwin ? null
+, libsecret
 }:
 
 assert withQt5 -> qtbase != null;
@@ -22,11 +23,14 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) [ pkgconfig ] # for finding libsecret
+  ;
 
-  buildInputs = if withQt5 then [ qtbase qttools ] else [ qt4 ]
+  buildInputs = stdenv.lib.optional (!stdenv.isDarwin) [ libsecret ]
+    ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ])
     ++ stdenv.lib.optional stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-         CoreFoundation Security
+      CoreFoundation Security
     ])
   ;
 
diff --git a/pkgs/development/libraries/snappy/default.nix b/pkgs/development/libraries/snappy/default.nix
index 32c93b192ef0..36077d71126a 100644
--- a/pkgs/development/libraries/snappy/default.nix
+++ b/pkgs/development/libraries/snappy/default.nix
@@ -19,6 +19,11 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_SKIP_BUILD_RPATH=OFF" ];
 
+  postInstall = ''
+    substituteInPlace "$out"/lib/cmake/Snappy/SnappyTargets.cmake \
+      --replace 'INTERFACE_INCLUDE_DIRECTORIES "''${_IMPORT_PREFIX}/include"' 'INTERFACE_INCLUDE_DIRECTORIES "'$dev'"'
+  '';
+
   checkTarget = "test";
 
   doCheck = true;
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index a4f99b942eae..89efdc006a54 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       API documentation is available on uriparser website.
     '';
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ bosu ];
   };
 }
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index db3f41edaffa..c8fc051f7a97 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -14,13 +14,13 @@ ansicolors = buildLuarocksPackage {
   pname = "ansicolors";
   version = "1.0.2-3";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/ansicolors-1.0.2-3.src.rock;
       sha256 = "1mhmr090y5394x1j8p44ws17sdwixn5a0r4i052bkfgk3982cqfz";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/kikito/ansicolors.lua";
@@ -34,13 +34,13 @@ argparse = buildLuarocksPackage {
   pname = "argparse";
   version = "0.6.0-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/argparse-0.6.0-1.src.rock;
       sha256 = "10ic5wppyghd1lmgwgl0lb40pv8z9fi9i87080axxg8wsr19y0p4";
-   };
+  };
   disabled = ( luaOlder "5.1") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/mpeterv/argparse";
@@ -54,13 +54,13 @@ basexx = buildLuarocksPackage {
   pname = "basexx";
   version = "0.4.0-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/basexx-0.4.0-1.src.rock;
       sha256 = "1px8yrxg1qkk3kzdqj3siry742jdv4ysp2dmicxi15mkynqpjlzz";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/aiq/basexx";
@@ -74,13 +74,13 @@ dkjson = buildLuarocksPackage {
   pname = "dkjson";
   version = "2.5-2";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/dkjson-2.5-2.src.rock;
       sha256 = "1qy9bzqnb9pf9d48hik4iq8h68aw3270kmax7mmpvvpw7kkyp483";
-   };
+  };
   disabled = ( luaOlder "5.1") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://dkolf.de/src/dkjson-lua.fsl/";
@@ -94,13 +94,13 @@ fifo = buildLuarocksPackage {
   pname = "fifo";
   version = "0.2-0";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/fifo-0.2-0.src.rock;
       sha256 = "082c5g1m8brnsqj5gnjs65bm7z50l6b05cfwah14lqaqsr5a5pjk";
-   };
-
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  };
+  
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/daurnimator/fifo.lua";
@@ -114,13 +114,13 @@ inspect = buildLuarocksPackage {
   pname = "inspect";
   version = "3.1.1-0";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/inspect-3.1.1-0.src.rock;
       sha256 = "0k4g9ahql83l4r2bykfs6sacf9l1wdpisav2i0z55fyfcdv387za";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/kikito/inspect.lua";
@@ -134,13 +134,13 @@ lgi = buildLuarocksPackage {
   pname = "lgi";
   version = "0.9.2-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/lgi-0.9.2-1.src.rock;
       sha256 = "07ajc5pdavp785mdyy82n0w6d592n96g95cvq025d6i0bcm2cypa";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="make";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "make";
 
   meta = {
     homepage = "https://github.com/pavouk/lgi";
@@ -154,13 +154,13 @@ lpeg_patterns = buildLuarocksPackage {
   pname = "lpeg_patterns";
   version = "0.5-0";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/lpeg_patterns-0.5-0.src.rock;
       sha256 = "0mlw4nayrsdxrh98i26avz5i4170a9brciybw88kks496ra36v8f";
-   };
-
-  propagatedBuildInputs = [lua lpeg  ];
-  buildType="builtin";
+  };
+  
+  propagatedBuildInputs = [ lua lpeg ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/daurnimator/lpeg_patterns/archive/v0.5.zip";
@@ -174,13 +174,13 @@ lpty = buildLuarocksPackage {
   pname = "lpty";
   version = "1.2.2-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/lpty-1.2.2-1.src.rock;
       sha256 = "1vxvsjgjfirl6ranz6k4q4y2dnxqh72bndbk400if22x8lqbkxzm";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="make";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "make";
 
   meta = {
     homepage = "http://www.tset.de/lpty/";
@@ -194,13 +194,13 @@ lrexlib-gnu = buildLuarocksPackage {
   pname = "lrexlib-gnu";
   version = "2.9.0-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/lrexlib-gnu-2.9.0-1.src.rock;
       sha256 = "036rda4rji1pbnbxk1nzjy5zmigdsiacqbzrbvciwq3lrxa2j5s2";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/rrthomas/lrexlib";
@@ -214,13 +214,13 @@ lrexlib-posix = buildLuarocksPackage {
   pname = "lrexlib-posix";
   version = "2.9.0-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/lrexlib-posix-2.9.0-1.src.rock;
       sha256 = "0ifpybf4m94g1nk70l0f5m45gph0rbp5wrxrl1hnw8ibv3mc1b1r";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/rrthomas/lrexlib";
@@ -234,13 +234,13 @@ ltermbox = buildLuarocksPackage {
   pname = "ltermbox";
   version = "0.2-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/ltermbox-0.2-1.src.rock;
       sha256 = "08jqlmmskbi1ml1i34dlmg6hxcs60nlm32dahpxhcrgjnfihmyn8";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://code.google.com/p/termbox";
@@ -254,12 +254,12 @@ lua-cmsgpack = buildLuarocksPackage {
   pname = "lua-cmsgpack";
   version = "0.4.0-0";
 
-  knownRockspec = ( fetchurl {
+         knownRockspec = (fetchurl {
       url    = https://luarocks.org/lua-cmsgpack-0.4.0-0.rockspec;
       sha256 = "10cvr6knx3qvjcw1q9v05f2qy607mai7lbq321nx682aa0n1fzin";
-   }).outPath;
+  }).outPath;
 
-   src =  fetchgit ( removeAttrs (builtins.fromJSON ''{
+       src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "git://github.com/antirez/lua-cmsgpack.git",
   "rev": "57b1f90cf6cec46450e87289ed5a676165d31071",
   "date": "2018-06-14T11:56:56+02:00",
@@ -267,10 +267,10 @@ lua-cmsgpack = buildLuarocksPackage {
   "fetchSubmodules": true
 }
  '') ["date"]) ;
-
+       
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/antirez/lua-cmsgpack";
@@ -284,13 +284,13 @@ lua_cliargs = buildLuarocksPackage {
   pname = "lua_cliargs";
   version = "3.0-2";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/lua_cliargs-3.0-2.src.rock;
       sha256 = "0qqdnw00r16xbyqn4w1xwwpg9i9ppc3c1dcypazjvdxaj899hy9w";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/amireh/lua_cliargs";
@@ -304,13 +304,13 @@ lua-iconv = buildLuarocksPackage {
   pname = "lua-iconv";
   version = "7-3";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/lua-iconv-7-3.src.rock;
       sha256 = "03xibhcqwihyjhxnzv367q4bfmzmffxl49lmjsq77g0prw8v0q83";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://ittner.github.com/lua-iconv/";
@@ -320,23 +320,43 @@ lua-iconv = buildLuarocksPackage {
     };
   };
 };
+lua-messagepack = buildLuarocksPackage {
+  pname = "lua-messagepack";
+  version = "0.5.1-2";
+
+  src = fetchurl {
+      url    = https://luarocks.org/lua-messagepack-0.5.1-2.src.rock;
+      sha256 = "0bsdzdd24p9z3j4z1avw7qaqx87baa1pm58v275pw4h6n72z492g";
+  };
+  disabled = ( luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
+
+  meta = {
+    homepage = "http://fperrad.frama.io/lua-MessagePack/";
+    description="a pure Lua implementation of the MessagePack serialization format";
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
 lua-term = buildLuarocksPackage {
   pname = "lua-term";
   version = "0.7-1";
 
-  knownRockspec = ( fetchurl {
+         knownRockspec = (fetchurl {
       url    = https://luarocks.org/lua-term-0.7-1.rockspec;
       sha256 = "0r9g5jw7pqr1dyj6w58dqlr7y7l0jp077n8nnji4phf10biyrvg2";
-   }).outPath;
+  }).outPath;
 
-   src =  fetchurl {
+       src = fetchurl {
       url    = https://github.com/hoelzro/lua-term/archive/0.07.tar.gz;
       sha256 = "0c3zc0cl3a5pbdn056vnlan16g0wimv0p9bq52h7w507f72x18f1";
-   };
-
-
-
-  buildType="builtin";
+  };
+       
+  
+    
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/hoelzro/lua-term";
@@ -346,21 +366,21 @@ lua-term = buildLuarocksPackage {
     };
   };
 };
-luaevent = buildLuarocksPackage {
-  pname = "luaevent";
-  version = "0.4.6-1";
+lua-toml = buildLuarocksPackage {
+  pname = "lua-toml";
+  version = "2.0-1";
 
-  src =  fetchurl {
-      url    = https://luarocks.org/luaevent-0.4.6-1.src.rock;
-      sha256 = "0chq09nawiz00lxd6pkdqcb8v426gdifjw6js3ql0lx5vqdkb6dz";
-   };
+  src = fetchurl {
+      url    = https://luarocks.org/lua-toml-2.0-1.src.rock;
+      sha256 = "0lyqlnydqbplq82brw9ipqy9gijin6hj1wc46plz994pg4i2c74m";
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
-    homepage = "https://github.com/harningt/luaevent";
-    description="libevent binding for Lua";
+    homepage = "https://github.com/jonstoler/lua-toml";
+    description="toml decoder/encoder for Lua";
     license = {
       fullName = "MIT";
     };
@@ -370,12 +390,12 @@ luabitop = buildLuarocksPackage {
   pname = "luabitop";
   version = "1.0.2-3";
 
-  knownRockspec = ( fetchurl {
+         knownRockspec = (fetchurl {
       url    = https://luarocks.org/luabitop-1.0.2-3.rockspec;
       sha256 = "07y2h11hbxmby7kyhy3mda64w83p4a6p7y7rzrjqgc0r56yjxhcc";
-   }).outPath;
+  }).outPath;
 
-   src =  fetchgit ( removeAttrs (builtins.fromJSON ''{
+       src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "git://github.com/LuaDist/luabitop.git",
   "rev": "81bb23b0e737805442033535de8e6d204d0e5381",
   "date": "2013-02-18T16:36:42+01:00",
@@ -383,10 +403,10 @@ luabitop = buildLuarocksPackage {
   "fetchSubmodules": true
 }
  '') ["date"]) ;
-
+       
   disabled = ( luaOlder "5.1") || ( luaAtLeast "5.3");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://bitop.luajit.org/";
@@ -396,17 +416,37 @@ luabitop = buildLuarocksPackage {
     };
   };
 };
+luaevent = buildLuarocksPackage {
+  pname = "luaevent";
+  version = "0.4.6-1";
+
+  src = fetchurl {
+      url    = https://luarocks.org/luaevent-0.4.6-1.src.rock;
+      sha256 = "0chq09nawiz00lxd6pkdqcb8v426gdifjw6js3ql0lx5vqdkb6dz";
+  };
+  disabled = ( luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
+
+  meta = {
+    homepage = "https://github.com/harningt/luaevent";
+    description="libevent binding for Lua";
+    license = {
+      fullName = "MIT";
+    };
+  };
+};
 luacheck = buildLuarocksPackage {
   pname = "luacheck";
   version = "0.23.0-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/luacheck-0.23.0-1.src.rock;
       sha256 = "0akj61c7k1na2mggsckvfn9a3ljfp4agnmr9gp3mac4vin99a1cl";
-   };
+  };
   disabled = ( luaOlder "5.1") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [lua argparse luafilesystem  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua argparse luafilesystem ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/mpeterv/luacheck";
@@ -420,13 +460,13 @@ luaffi = buildLuarocksPackage {
   pname = "luaffi";
   version = "scm-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = http://luarocks.org/dev/luaffi-scm-1.src.rock;
       sha256 = "0dia66w8sgzw26bwy36gzyb2hyv7kh9n95lh5dl0158rqa6fsf26";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/facebook/luaffifb";
@@ -440,13 +480,13 @@ luuid = buildLuarocksPackage {
   pname = "luuid";
   version = "20120509-2";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/luuid-20120509-2.src.rock;
       sha256 = "08q54x0m51w89np3n117h2a153wsgv3qayabd8cz6i55qm544hkg";
-   };
+  };
   disabled = ( luaOlder "5.2") || ( luaAtLeast "5.4");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#luuid";
@@ -460,19 +500,19 @@ penlight = buildLuarocksPackage {
   pname = "penlight";
   version = "1.5.4-1";
 
-  knownRockspec = ( fetchurl {
+         knownRockspec = (fetchurl {
       url    = https://luarocks.org/penlight-1.5.4-1.rockspec;
       sha256 = "07mhsk9kmdxg4i2w4mrnnd2zs34bgggi9gigfplakxin96sa6c0p";
-   }).outPath;
+  }).outPath;
 
-   src =  fetchurl {
+       src = fetchurl {
       url    = http://stevedonovan.github.io/files/penlight-1.5.4.zip;
       sha256 = "138f921p6kdqkmf4pz115phhj0jsqf28g33avws80d2vq2ixqm8q";
-   };
-
-
-  propagatedBuildInputs = [luafilesystem  ];
-  buildType="builtin";
+  };
+       
+  
+  propagatedBuildInputs = [ luafilesystem ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://stevedonovan.github.com/Penlight";
@@ -482,23 +522,43 @@ penlight = buildLuarocksPackage {
     };
   };
 };
+rapidjson = buildLuarocksPackage {
+  pname = "rapidjson";
+  version = "0.5.1-1";
+
+  src = fetchurl {
+      url    = https://luarocks.org/rapidjson-0.5.1-1.src.rock;
+      sha256 = "0hnqsixnbz95cvm9q5dn0lr0qjvhqw4llw6l1sjswwk0am4yybay";
+  };
+  disabled = ( luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];  
+  buildType = "cmake";
+
+  meta = {
+    homepage = "https://github.com/xpol/lua-rapidjson";
+    description="Json module based on the very fast RapidJSON.";
+    license = {
+      fullName = "MIT";
+    };
+  };
+};
 say = buildLuarocksPackage {
   pname = "say";
   version = "1.3-1";
 
-  knownRockspec = ( fetchurl {
+         knownRockspec = (fetchurl {
       url    = https://luarocks.org/say-1.3-1.rockspec;
       sha256 = "0bknglb0qwd6r703wp3hcb6z2xxd14kq4md3sg9al3b28fzxbhdv";
-   }).outPath;
+  }).outPath;
 
-   src =  fetchurl {
+       src = fetchurl {
       url    = https://github.com/Olivine-Labs/say/archive/v1.3-1.tar.gz;
       sha256 = "1jh76mxq9dcmv7kps2spwcc6895jmj2sf04i4y9idaxlicvwvs13";
-   };
-
+  };
+       
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/busted/";
@@ -508,23 +568,57 @@ say = buildLuarocksPackage {
     };
   };
 };
-luv = buildLuarocksPackage {
-  pname = "luv";
-  version = "1.22.0-1";
+std__debug = buildLuarocksPackage {
+  pname = "std._debug";
+  version = "1.0.1-1";
 
-  knownRockspec = ( fetchurl {
-      url    = https://luarocks.org/luv-1.22.0-1.rockspec;
-      sha256 = "0yxjy9wj4aqbv1my8fkciy2xar5si6bcsszipgyls24rl6lnmga3";
-   }).outPath;
+  src = fetchurl {
+      url    = https://luarocks.org/std._debug-1.0.1-1.src.rock;
+      sha256 = "1qkcc5rph3ns9mzrfsa1671pb3hzbzfnaxvyw7zdly2b7ll88svz";
+  };
+  disabled = ( luaOlder "5.1") || ( luaAtLeast "5.5");
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
-   src =  fetchurl {
-      url    = https://github.com/luvit/luv/releases/download/1.22.0-1/luv-1.22.0-1.tar.gz;
-      sha256 = "1xvz4a0r6kd1xqxwm55g9n6imprxb79600x7dhyillrz7p5nm217";
-   };
+  meta = {
+    homepage = "http://lua-stdlib.github.io/_debug";
+    description="Debug Hints Library";
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
+std_normalize = buildLuarocksPackage {
+  pname = "std.normalize";
+  version = "2.0.2-1";
+
+  src = fetchurl {
+      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 ];  
+  buildType = "builtin";
+
+  meta = {
+    homepage = "https://lua-stdlib.github.io/normalize";
+    description="Normalized Lua Functions";
+    license = {
+      fullName = "MIT/X11";
+    };
+  };
+};
+luv = buildLuarocksPackage {
+  pname = "luv";
+  version = "1.26.0-0";
 
+  src = fetchurl {
+      url    = https://luarocks.org/luv-1.26.0-0.src.rock;
+      sha256 = "005yzcxlribnc45qr1g7q4psakximb9fbz07k6yzy1d94mhcxxr7";
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="cmake";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "cmake";
 
   meta = {
     homepage = "https://github.com/luvit/luv";
@@ -538,13 +632,13 @@ luasystem = buildLuarocksPackage {
   pname = "luasystem";
   version = "0.2.1-0";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/luasystem-0.2.1-0.src.rock;
       sha256 = "091xmp8cijgj0yzfsjrn7vljwznjnjn278ay7z9pjwpwiva0diyi";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/luasystem/";
@@ -558,13 +652,13 @@ mediator_lua = buildLuarocksPackage {
   pname = "mediator_lua";
   version = "1.1.2-0";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = http://luarocks.org/manifests/teto/mediator_lua-1.1.2-0.src.rock;
       sha256 = "18j49vvs94yfk4fw0xsq4v3j4difr6c99gfba0kxairmcqamd1if";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/mediator_lua/";
@@ -578,13 +672,13 @@ mpack = buildLuarocksPackage {
   pname = "mpack";
   version = "1.0.7-0";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = http://luarocks.org/manifests/teto/mpack-1.0.7-0.src.rock;
       sha256 = "0nq4ixaminkc7fwfpivysyv0al3j5dffsvgdrnwnqdg3w7jgfbw7";
-   };
-
-
-  buildType="builtin";
+  };
+  
+    
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/libmpack/libmpack-lua/releases/download/1.0.7/libmpack-lua-1.0.7.tar.gz";
@@ -598,13 +692,13 @@ nvim-client = buildLuarocksPackage {
   pname = "nvim-client";
   version = "0.1.0-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/nvim-client-0.1.0-1.src.rock;
       sha256 = "1p57mrvm0ny3yi5cydr3z9qwzyg124rjp5w7vdflf2i23z39mkma";
-   };
+  };
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua mpack luv coxpcall  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua mpack luv coxpcall ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "https://github.com/neovim/lua-client/archive/0.1.0-1.tar.gz";
@@ -618,19 +712,19 @@ busted = buildLuarocksPackage {
   pname = "busted";
   version = "2.0.rc13-0";
 
-  knownRockspec = ( fetchurl {
+         knownRockspec = (fetchurl {
       url    = https://luarocks.org/busted-2.0.rc13-0.rockspec;
       sha256 = "0hrvhg1324q5ra6cpjh1y3by6lrzs0ljah4jl48l8xlgw1z9z1q5";
-   }).outPath;
+  }).outPath;
 
-   src =  fetchurl {
+       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  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua lua_cliargs luafilesystem luasystem dkjson say luassert lua-term penlight mediator_lua ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/busted/";
@@ -644,19 +738,19 @@ luassert = buildLuarocksPackage {
   pname = "luassert";
   version = "1.7.11-0";
 
-  knownRockspec = ( fetchurl {
+         knownRockspec = (fetchurl {
       url    = https://luarocks.org/luassert-1.7.11-0.rockspec;
       sha256 = "12zgybcv8acjzvjdbxd1764s1vxbksxdv9fkvsymcsdmppxkbd0s";
-   }).outPath;
+  }).outPath;
 
-   src =  fetchurl {
+       src = fetchurl {
       url    = https://github.com/Olivine-Labs/luassert/archive/v1.7.11.tar.gz;
       sha256 = "1vwq3wqj9cjyz9lnf1n38yhpcglr2h40v3n9096i8vcpmyvdb3ka";
-   };
-
+  };
+       
   disabled = ( luaOlder "5.1");
-  propagatedBuildInputs = [lua say  ];
-  buildType="builtin";
+  propagatedBuildInputs = [ lua say ];  
+  buildType = "builtin";
 
   meta = {
     homepage = "http://olivinelabs.com/busted/";
@@ -670,13 +764,13 @@ coxpcall = buildLuarocksPackage {
   pname = "coxpcall";
   version = "1.17.0-1";
 
-  src =  fetchurl {
+  src = fetchurl {
       url    = https://luarocks.org/manifests/hisham/coxpcall-1.17.0-1.src.rock;
       sha256 = "0n1jmda4g7x06458596bamhzhcsly6x0p31yp6q3jz4j11zv1zhi";
-   };
-
-
-  buildType="builtin";
+  };
+  
+    
+  buildType = "builtin";
 
   meta = {
     homepage = "http://keplerproject.github.io/coxpcall";
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index a0ea365c7a56..0cf0c70faa10 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -68,4 +68,11 @@ with super;
       platforms = pkgs.lib.platforms.linux;
     };
   });
+
+  rapidjson = super.rapidjson.overrideAttrs(oa: {
+    preBuild = ''
+      sed -i '/set(CMAKE_CXX_FLAGS/d' CMakeLists.txt
+      sed -i '/set(CMAKE_C_FLAGS/d' CMakeLists.txt
+    '';
+  });
  }
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index ec63e58fbb65..d35a57f6b4bc 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, which, ocsigen_server, ocsigen_deriving, ocaml, lwt_camlp4,
+{ stdenv, fetchzip, which, ocsigen_server, ocsigen_deriving, ocaml, lwt_camlp4,
   lwt_react, cryptokit,
   ipaddr, ocamlnet, ocaml_pcre,
   opaline, ppx_tools, ppx_deriving, findlib
@@ -11,12 +11,12 @@
 stdenv.mkDerivation rec
 {
   pname = "eliom";
-  version = "6.4.0";
+  version = "6.7.0";
   name = "${pname}-${version}";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/ocsigen/eliom/archive/${version}.tar.gz";
-    sha256 = "1ad7ympvj0cb51d9kbp4naxkld3gv8cfp4a037a5dr55761zdhdh";
+    sha256 = "0mrlpvjaihpsf2xr6p1gs0sz4cwzkknf5b1s32bhmqq5qzsh4j8k";
   };
 
   patches = [ ./camlp4.patch ];
diff --git a/pkgs/development/ocaml-modules/ojquery/default.nix b/pkgs/development/ocaml-modules/ojquery/default.nix
deleted file mode 100644
index 6b0eefe195f1..000000000000
--- a/pkgs/development/ocaml-modules/ojquery/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchgit, ocaml, findlib, ocamlbuild, js_of_ocaml, js_of_ocaml-camlp4, camlp4, ocaml_lwt, react }:
-
-if stdenv.lib.versionAtLeast ocaml.version "4.06"
-then throw "ojquery is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  version = "0.1";
-  name = "ocaml-ojquery-${version}";
-  src = fetchgit {
-    url = https://github.com/ocsigen/ojquery.git;
-    rev = "refs/tags/${version}";
-    sha256 = "1n01bsk4car40p94fk1ssvww0inqapwwhdylmrb7vv40drsdldp1";
-  };
-
-  buildInputs = [ ocaml findlib ocamlbuild js_of_ocaml-camlp4 camlp4 ];
-  propagatedBuildInputs = [ js_of_ocaml ocaml_lwt react ];
-
-  createFindlibDestdir = true;
-
-  meta = {
-    description = "jQuery Binding for Eliom";
-    homepage = http://ocsigen.org/ojquery/;
-    license = stdenv.lib.licenses.lgpl3;
-    platforms = ocaml.meta.platforms or [];
-    maintainers = with stdenv.lib.maintainers; [ vbgl ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/tyxml/default.nix b/pkgs/development/ocaml-modules/tyxml/default.nix
index 0a8947f3324a..94bcdb45f328 100644
--- a/pkgs/development/ocaml-modules/tyxml/default.nix
+++ b/pkgs/development/ocaml-modules/tyxml/default.nix
@@ -1,34 +1,20 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, uutf, markup, ppx_tools_versioned, re
-, withP4 ? true
-, camlp4 ? null
-}:
+{ lib, buildDunePackage, fetchurl, re, uutf }:
 
-assert stdenv.lib.versionAtLeast ocaml.version "4.02";
-
-stdenv.mkDerivation rec {
+buildDunePackage rec {
   pname = "tyxml";
-  version = "4.2.0";
-  name = "ocaml${ocaml.version}-${pname}-${version}";
+  version = "4.3.0";
 
-  src = fetchzip {
-    url = "https://github.com/ocsigen/tyxml/archive/${version}.tar.gz";
-    sha256 = "1zrkrmxyj5a2cdh4b9zr9anwfk320wv3x0ynxnyxl5za2ix8sld8";
+  src = fetchurl {
+    url = "https://github.com/ocsigen/tyxml/releases/download/${version}/tyxml-${version}.tbz";
+    sha256 = "1hxzppfvsdls2y8qiwvz31hmffzh2hgglf01am1vzf2f31mxf6vf";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ppx_tools_versioned markup ]
-  ++ stdenv.lib.optional withP4 camlp4;
-
   propagatedBuildInputs = [ uutf re ];
 
-  createFindlibDestdir = true;
-
-  configureFlags = stdenv.lib.optional withP4 "--enable-syntax";
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = http://ocsigen.org/tyxml/;
     description = "A library that makes it almost impossible for your OCaml programs to generate wrong XML output, using static typing";
     license = licenses.lgpl21;
-    platforms = ocaml.meta.platforms or [];
     maintainers = with maintainers; [
       gal_bolle vbgl
       ];
diff --git a/pkgs/development/python-modules/box2d/default.nix b/pkgs/development/python-modules/box2d/default.nix
index f1bd87126795..5870bdcdb732 100644
--- a/pkgs/development/python-modules/box2d/default.nix
+++ b/pkgs/development/python-modules/box2d/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchPypi
 , swig2
-, pkgs-box2d
 , isPy3k
 }:
 
@@ -20,7 +19,7 @@ buildPythonPackage rec {
     sed -i "s/'Box2D.tests' : 'tests'//" setup.py
   '';
 
-  buildInputs = [ swig2 pkgs-box2d ];
+  nativeBuildInputs = [ swig2 ];
 
   # tests not included with pypi release
   doCheck = false;
diff --git a/pkgs/development/python-modules/breathe/default.nix b/pkgs/development/python-modules/breathe/default.nix
index f7b09b96fb16..453a046c54f2 100644
--- a/pkgs/development/python-modules/breathe/default.nix
+++ b/pkgs/development/python-modules/breathe/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchPypi, buildPythonPackage, docutils, six, sphinx, isPy3k }:
 
 buildPythonPackage rec {
-  version = "4.11.1";
+  version = "4.12.0";
   pname = "breathe";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mps0cfli6iq2gqsv3d24fs1cp7sq7crd9ji6lw63b9r40998ylv";
+    sha256 = "1wmxppzyvfd5gab72qi3gainibrdk4xi8nsfp5z5h49xgzi84mnq";
   };
 
   propagatedBuildInputs = [ docutils six sphinx ];
diff --git a/pkgs/development/python-modules/caldav/default.nix b/pkgs/development/python-modules/caldav/default.nix
new file mode 100644
index 000000000000..027bc1784d1c
--- /dev/null
+++ b/pkgs/development/python-modules/caldav/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi
+, tzlocal, requests, vobject, lxml }:
+
+buildPythonPackage rec {
+  pname = "caldav";
+  version = "0.6.0";
+
+  propagatedBuildInputs = [ tzlocal requests vobject lxml ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ll9knpc50yxx858hrvfnapdi2a6g1pz9cnjhwffry2x7r4ckarz";
+  };
+
+  meta = with lib; {
+    description = "This project is a CalDAV (RFC4791) client library for Python.";
+    homepage = "https://pythonhosted.org/caldav/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ marenz ];
+  };
+}
diff --git a/pkgs/development/python-modules/cli-helpers/default.nix b/pkgs/development/python-modules/cli-helpers/default.nix
index f2817d0fd325..f929180406b3 100644
--- a/pkgs/development/python-modules/cli-helpers/default.nix
+++ b/pkgs/development/python-modules/cli-helpers/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "cli_helpers";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7c2038bba0c41f41acae0f6e660ff3b00d69f55d9d968f024952cace78111e12";
+    sha256 = "0p9yklddpplncr765h6qrii1dgvvlqxj25n5400dwqas9lmij4fj";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/django-picklefield/default.nix b/pkgs/development/python-modules/django-picklefield/default.nix
index 683c0bc0cebc..4bcd767bd63d 100644
--- a/pkgs/development/python-modules/django-picklefield/default.nix
+++ b/pkgs/development/python-modules/django-picklefield/default.nix
@@ -1,17 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, django }:
 
 buildPythonPackage rec {
   pname = "django-picklefield";
   version = "2.0";
 
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f1733a8db1b6046c0d7d738e785f9875aa3c198215de11993463a9339aa4ea24";
+  };
+
+  propagatedBuildInputs = [ django ];
+
   meta = {
     description = "A pickled object field for Django";
     homepage = https://github.com/gintas/django-picklefield;
     license = lib.licenses.mit;
   };
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "f1733a8db1b6046c0d7d738e785f9875aa3c198215de11993463a9339aa4ea24";
-  };
 }
diff --git a/pkgs/development/python-modules/ezdxf/default.nix b/pkgs/development/python-modules/ezdxf/default.nix
index 317c16d52754..94fca96b455b 100644
--- a/pkgs/development/python-modules/ezdxf/default.nix
+++ b/pkgs/development/python-modules/ezdxf/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub, pyparsing, pytest }:
+{ stdenv, buildPythonPackage, pythonOlder, fetchFromGitHub, pyparsing, pytest }:
 
 buildPythonPackage rec {
-  version = "0.8.8";
+  version = "0.9";
   pname = "ezdxf";
 
+  disabled = pythonOlder "3.5";
+
   src = fetchFromGitHub {
     owner = "mozman";
     repo = "ezdxf";
     rev = "v${version}";
-    sha256 = "0ap6f6vy71s3y0a048r5ca98i7p8nc9l0mx3mngvvpvjij7j3fcf";
+    sha256 = "1ggimjd9060b696sgzgxy9j9sl45wh9qbxnf0035qclafshprlzl";
   };
 
-  buildInputs = [ pytest ];
-  checkPhase = "python -m unittest discover -s tests";
+  checkInputs = [ pytest ];
+  checkPhase = "pytest tests integration_tests";
 
   propagatedBuildInputs = [ pyparsing ];
 
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index d8e04f56146e..eccbd9c0d159 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -1,20 +1,22 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, pytz
-, six
+, isPy3k
+, passlib
 }:
 
 buildPythonPackage rec {
   pname = "pg8000";
   version = "1.13.1";
 
+  disabled = !isPy3k;
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "2208c7aaffe8d61f5c4ccbefeb74ba033003899e64aee37c0eb98aadae8b9c6b";
   };
 
-  propagatedBuildInputs = [ pytz six ];
+  propagatedBuildInputs = [ passlib ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/tlocke/pg8000;
diff --git a/pkgs/development/python-modules/pyhamcrest/default.nix b/pkgs/development/python-modules/pyhamcrest/default.nix
index f452d0599362..18540aca50eb 100644
--- a/pkgs/development/python-modules/pyhamcrest/default.nix
+++ b/pkgs/development/python-modules/pyhamcrest/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildPythonApplication, fetchPypi
+{ stdenv, buildPythonPackage, fetchPypi
 , mock, pytest
 , six
 }:
-buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "PyHamcrest";
   version = "1.9.0";
 
diff --git a/pkgs/development/python-modules/python-efl/default.nix b/pkgs/development/python-modules/python-efl/default.nix
index 48dbc9b710a7..47e269c2ff50 100644
--- a/pkgs/development/python-modules/python-efl/default.nix
+++ b/pkgs/development/python-modules/python-efl/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   name = "python-efl-${version}";
-  version = "1.21.0";
+  version = "1.22.0";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.xz";
-    sha256 = "08x2cv8hnf004c3711250wrax21ffj5y8951pvk77h98als4pq47";
+    sha256 = "1qhy63c3fs2bxkx2np5z14hyxbr12ii030crsjnhpbyw3mic0s63";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index 7c45659220cb..f14200b3542b 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -81,11 +81,11 @@ in buildPythonPackage rec {
      cmake
      utillinux
      which
-  ];
+  ] ++ lib.optionals cudaSupport [ cudatoolkit_joined ];
 
   buildInputs = [
      numpy.blas
-  ] ++ lib.optionals cudaSupport [ cudatoolkit_joined cudnn ]
+  ] ++ lib.optionals cudaSupport [ cudnn ]
     ++ lib.optionals stdenv.isLinux [ numactl ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
index a936dd25d925..121c01f72af5 100644
--- a/pkgs/development/ruby-modules/solargraph/Gemfile.lock
+++ b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
@@ -2,32 +2,32 @@ GEM
   remote: https://rubygems.org/
   specs:
     ast (2.4.0)
-    eventmachine (1.2.7)
+    backport (1.0.0)
     htmlentities (4.3.4)
-    jaro_winkler (1.5.1)
+    jaro_winkler (1.5.2)
     kramdown (1.17.0)
-    mini_portile2 (2.3.0)
-    nokogiri (1.8.5)
-      mini_portile2 (~> 2.3.0)
-    parallel (1.12.1)
-    parser (2.5.3.0)
+    mini_portile2 (2.4.0)
+    nokogiri (1.10.3)
+      mini_portile2 (~> 2.4.0)
+    parallel (1.17.0)
+    parser (2.6.3.0)
       ast (~> 2.4.0)
-    powerpack (0.1.2)
     rainbow (3.0.0)
     reverse_markdown (1.1.0)
       nokogiri
-    rubocop (0.60.0)
+    rubocop (0.68.0)
       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)
-    solargraph (0.29.1)
-      eventmachine (~> 1.2, >= 1.2.5)
+    solargraph (0.32.1)
+      backport (~> 1.0)
+      bundler (>= 1.17.2)
       htmlentities (~> 4.3, >= 4.3.4)
+      jaro_winkler (~> 1.5)
       kramdown (~> 1.16)
       parser (~> 2.3)
       reverse_markdown (~> 1.0, >= 1.0.5)
@@ -37,8 +37,8 @@ GEM
       yard (~> 0.9)
     thor (0.20.3)
     tilt (2.0.9)
-    unicode-display_width (1.4.0)
-    yard (0.9.16)
+    unicode-display_width (1.5.0)
+    yard (0.9.19)
 
 PLATFORMS
   ruby
@@ -47,4 +47,4 @@ DEPENDENCIES
   solargraph!
 
 BUNDLED WITH
-   1.17.1
+   1.17.2
diff --git a/pkgs/development/ruby-modules/solargraph/gemset.nix b/pkgs/development/ruby-modules/solargraph/gemset.nix
index bfb5496444af..75bb266246ac 100644
--- a/pkgs/development/ruby-modules/solargraph/gemset.nix
+++ b/pkgs/development/ruby-modules/solargraph/gemset.nix
@@ -1,5 +1,7 @@
 {
   ast = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
@@ -7,15 +9,19 @@
     };
     version = "2.4.0";
   };
-  eventmachine = {
+  backport = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wh9aqb0skz80fhfn66lbpr4f86ya2z5rx6gm5xlfhd05bj1ch4r";
+      sha256 = "00kwxnj4jwjkf5ji473qsz0nq4kjsx6p6hzlm8iwbbylv22hf2xy";
       type = "gem";
     };
-    version = "1.2.7";
+    version = "1.0.0";
   };
   htmlentities = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
@@ -24,14 +30,18 @@
     version = "4.3.4";
   };
   jaro_winkler = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rr797nqz081bfk30m2apj5h24bg5d1jr1c8p3xwx4hbwsrbclah";
+      sha256 = "1zz27z88qznix4r65gd9h56gl177snlfpgv10b0s69vi8qpl909l";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.5.2";
   };
   kramdown = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1n1c4jmrh5ig8iv1rw81s4mw4xsp4v97hvf8zkigv4hn5h542qjq";
@@ -40,48 +50,50 @@
     version = "1.17.0";
   };
   mini_portile2 = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13d32jjadpjj6d2wdhkfpsmy68zjx90p49bgf8f7nkpz86r1fr11";
+      sha256 = "15zplpfw3knqifj9bpf604rb3wc1vhq6363pd6lvhayng8wql5vy";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.4.0";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0byyxrazkfm29ypcx5q4syrv126nvjnf7z6bqi01sqkv4llsi4qz";
+      sha256 = "02bjydih0j515szfv9mls195cvpyidh6ixm7dwbl3s2sbaxxk5s4";
       type = "gem";
     };
-    version = "1.8.5";
+    version = "1.10.3";
   };
   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"];
+    groups = ["default"];
+    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 = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
@@ -91,6 +103,8 @@
   };
   reverse_markdown = {
     dependencies = ["nokogiri"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0w7y5n74daajvl9gixr91nh8670d7mkgspkk3ql71m8azq3nffbg";
@@ -99,15 +113,19 @@
     version = "1.1.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 = "1ivk049z3mp12nc6v1wn35bsq1g7nz1i2r4xwzqf0v25hm2v7n1i";
+      sha256 = "171bczfafdmyz1lj6mgz2wdzz8i42w10zw2wj5j13y2f6hp687ca";
       type = "gem";
     };
-    version = "0.60.0";
+    version = "0.68.0";
   };
   ruby-progressbar = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1cv2ym3rl09svw8940ny67bav7b2db4ms39i4raaqzkf59jmhglk";
@@ -116,15 +134,19 @@
     version = "1.10.0";
   };
   solargraph = {
-    dependencies = ["eventmachine" "htmlentities" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
+    dependencies = ["backport" "htmlentities" "jaro_winkler" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12sy1rdz2fk3aba43701qp1250xm8w26rlizypd6h5rnmmqm5q54";
+      sha256 = "1bsv0x9hhxwki7v8x99wzxcl1spgwrsxqd6alpb2y0wf9lsakabl";
       type = "gem";
     };
-    version = "0.29.1";
+    version = "0.32.1";
   };
   thor = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "1yhrnp9x8qcy5vc7g438amd5j9sw83ih7c30dr6g6slgw9zj3g29";
@@ -133,6 +155,8 @@
     version = "0.20.3";
   };
   tilt = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
       sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
@@ -141,19 +165,23 @@
     version = "2.0.9";
   };
   unicode-display_width = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0040bsdpcmvp8w31lqi2s9s4p4h031zv52401qidmh25cgyh4a57";
+      sha256 = "1ssnc6rja9ii97z7m35y4zd0rd7cpv3bija20l7cpd7y4jyyx44q";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   yard = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lmmr1839qgbb3zxfa7jf5mzy17yjl1yirwlgzdhws4452gqhn67";
+      sha256 = "1w0i13a0vsw4jmlj59xn64rdsqcsl9r3rmjjgdca5i51m1q4ix6v";
       type = "gem";
     };
-    version = "0.9.16";
+    version = "0.9.19";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/analysis/autoflake/default.nix b/pkgs/development/tools/analysis/autoflake/default.nix
index c30c3555100a..a8b8a965256f 100644
--- a/pkgs/development/tools/analysis/autoflake/default.nix
+++ b/pkgs/development/tools/analysis/autoflake/default.nix
@@ -3,12 +3,12 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "autoflake";
-  version = "1.2";
+  version = "1.3";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c103e63466f11db3617167a2c68ff6a0cda35b940222920631c6eeec6b67e807";
+    sha256 = "0wzrvrn6279fijg8jkqbs6313f7b5ll5d22pk5s0fc1fp2wyanbb";
   };
 
   propagatedBuildInputs = [ pyflakes ];
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 5e3b001b6a08..8ab655bc4bd3 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.97.0";
+  version = "0.98.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "1y6mdm7ph9k3vv8n8hzxr3rqa6bfkh4yn9bcxb7qq67v08dlvx6r";
+    sha256 = "13ry3bmgm3xy24kasx843dwd1nsv7nyd174696iaz2c64z46bbfm";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/bazelisk/default.nix b/pkgs/development/tools/bazelisk/default.nix
index 86748b716e6e..3b4869636399 100644
--- a/pkgs/development/tools/bazelisk/default.nix
+++ b/pkgs/development/tools/bazelisk/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazelisk";
-  version = "0.0.3";
+  version = "0.0.4";
 
   src = fetchFromGitHub {
     owner = "philwo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1rkpw9izpav3ysb9fpbdf0m1wqrs3vl87s9zjjmfsjm5dfhxss72";
+    sha256 = "1hi4jmkqy1fjn91q72qlfvm63plz5jqb4hw4c1qv9ddqjgwrmxr3";
   };
 
   modSha256 = "1f73j6ryidzi3kfy3rhsqx047vzwvzaqcsl7ykhg87rn2l2s7fdl";
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index bd9dbbb71742..07763e3fa68c 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-M10";
+  version = "1.1.0-M14-1";
 
   src = fetchurl {
-    url = "https://github.com/coursier/coursier/raw/v${version}/coursier";
-    sha256 = "14iq0717vdm0mj0196idc724vmxp1y0f3gfn41sbqahfhvcx05y8";
+    url = "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
+    sha256 = "0km9bxhch2bh7v6yi5jzyvq95fwdmccwqmbiznzhz4iqij8y066w";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/dep/default.nix b/pkgs/development/tools/dep/default.nix
index 283193a485cd..a486d786c374 100644
--- a/pkgs/development/tools/dep/default.nix
+++ b/pkgs/development/tools/dep/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "dep-${version}";
-  version = "0.5.0";
+  version = "0.5.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/golang/dep";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "golang";
     repo = "dep";
-    sha256 = "1p35995w2f8rp4cxhcwnhdv26ajx6gxx9pm2ijb5sjy2pwhw5c6j";
+    sha256 = "1a5vq5v3ikg6iysbywxr5hcjnbv76nzhk50rd3iq3v2fnyq38dv2";
   };
 
   buildFlagsArray = ("-ldflags=-s -w -X main.commitHash=${rev} -X main.version=${version}");
diff --git a/pkgs/development/tools/electron/5.x.nix b/pkgs/development/tools/electron/5.x.nix
new file mode 100644
index 000000000000..ba97587c5af7
--- /dev/null
+++ b/pkgs/development/tools/electron/5.x.nix
@@ -0,0 +1,77 @@
+{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, libuuid, at-spi2-atk, at-spi2-core }:
+
+let
+  version = "5.0.0";
+  name = "electron-${version}";
+
+  throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
+
+  meta = with stdenv.lib; {
+    description = "Cross platform desktop application shell";
+    homepage = https://github.com/electron/electron;
+    license = licenses.mit;
+    maintainers = with maintainers; [ travisbhartwell manveru ];
+    platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ];
+  };
+
+  linux = {
+    inherit name version meta;
+    src = {
+      i686-linux = fetchurl {
+        url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-ia32.zip";
+        sha256 = "01320qv0x18rmjn6ibbs49pd04d58rz5dac509lxxay8nfb14gdp";
+      };
+      x86_64-linux = fetchurl {
+        url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
+        sha256 = "0mkc8r5xggkzdypyq4hxigmjl6d1jn0139l8nwj1vr224ggnskhn";
+      };
+      armv7l-linux = fetchurl {
+        url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-armv7l.zip";
+        sha256 = "1w767yxm3b6sj52z0wnzr4vfn0m8n2jdjhj3ksmq6qrv401vvib3";
+      };
+      aarch64-linux = fetchurl {
+        url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-arm64.zip";
+        sha256 = "1nvpfkrizkmr6xxb2ls19p9mhgpms65ws09bx3l8sqq6275916jk";
+      };
+    }.${stdenv.hostPlatform.system} or throwSystem;
+
+    buildInputs = [ unzip makeWrapper ];
+
+    buildCommand = ''
+      mkdir -p $out/lib/electron $out/bin
+      unzip -d $out/lib/electron $src
+      ln -s $out/lib/electron/electron $out/bin
+
+      fixupPhase
+
+      patchelf \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "${atomEnv.libPath}:${stdenv.lib.makeLibraryPath [ libuuid at-spi2-atk at-spi2-core ]}:$out/lib/electron" \
+        $out/lib/electron/electron
+
+      wrapProgram $out/lib/electron/electron \
+        --prefix LD_PRELOAD : ${stdenv.lib.makeLibraryPath [ libXScrnSaver ]}/libXss.so.1
+    '';
+  };
+
+  darwin = {
+    inherit name version meta;
+
+    src = fetchurl {
+      url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
+      sha256 = "07s2cq4ffpx86pjxrh1hcvk3r85saxqi3kkbbfkg9r1bbq8zbapm";
+    };
+
+    buildInputs = [ unzip ];
+
+    buildCommand = ''
+      mkdir -p $out/Applications
+      unzip $src
+      mv Electron.app $out/Applications
+      mkdir -p $out/bin
+      ln -s $out/Applications/Electron.app/Contents/MacOs/Electron $out/bin/electron
+    '';
+  };
+in
+
+  stdenv.mkDerivation (if stdenv.isDarwin then darwin else linux)
diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix
index d4fa99c48258..5f8aaf07d730 100644
--- a/pkgs/development/tools/flatpak-builder/default.nix
+++ b/pkgs/development/tools/flatpak-builder/default.nix
@@ -37,7 +37,7 @@
 }:
 
 let
-  version = "1.0.5";
+  version = "1.0.6";
 in stdenv.mkDerivation rec {
   name = "flatpak-builder-${version}";
 
@@ -45,7 +45,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${name}.tar.xz";
-    sha256 = "1l5hpxkc7f3mp9v8wyagpbc8vvfn0m0jq8rsk1h7vwyyjmijv6mb";
+    sha256 = "1fw9lzf9cy3fnnvn9q3g0schxcj7kaj6kjijhrmcmsfcnzbjlmrv";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix b/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
index 139ffef186b5..ff59fa7cf8a3 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
@@ -1,11 +1,19 @@
-{ stdenv, ocaml, findlib, dune, js_of_ocaml-compiler
+{ stdenv, fetchFromGitHub, ocaml, findlib, dune, js_of_ocaml-compiler
 , camlp4, ocsigen_deriving
 }:
 
 stdenv.mkDerivation rec {
+	version = "3.2.1";
 	name = "js_of_ocaml-camlp4-${version}"; 
 
-	inherit (js_of_ocaml-compiler) version src installPhase meta;
+	src = fetchFromGitHub {
+		owner = "ocsigen";
+		repo = "js_of_ocaml";
+		rev = version;
+		sha256 = "1v2hfq0ra9j07yz6pj6m03hrvgys4vmx0gclchv94yywpb2wc7ik";
+	};
+
+	inherit (js_of_ocaml-compiler) installPhase meta;
 
 	buildInputs = [ ocaml findlib dune camlp4 ocsigen_deriving ];
 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 94be7132b796..c5a345f505b7 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -8,13 +8,13 @@ else
 
 stdenv.mkDerivation rec {
 	name = "js_of_ocaml-compiler-${version}";
-	version = "3.2.1";
+	version = "3.3.0";
 
 	src = fetchFromGitHub {
 		owner = "ocsigen";
 		repo = "js_of_ocaml";
 		rev = version;
-		sha256 = "1v2hfq0ra9j07yz6pj6m03hrvgys4vmx0gclchv94yywpb2wc7ik";
+		sha256 = "0bg8x2s3f24c8ia2g293ikd5yg0yjw3hkdgdql59c8k2amqin8f8";
 	};
 
 	buildInputs = [ ocaml findlib dune cmdliner cppo ];
diff --git a/pkgs/development/tools/omnisharp-roslyn/default.nix b/pkgs/development/tools/omnisharp-roslyn/default.nix
new file mode 100644
index 000000000000..6f8b4f824b3f
--- /dev/null
+++ b/pkgs/development/tools/omnisharp-roslyn/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, fetchurl
+, mono5
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+
+  name = "omnisharp-roslyn-${version}";
+  version = "1.32.8";
+  
+  src = fetchurl {
+    url = "https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v${version}/omnisharp-mono.tar.gz";
+    sha256 = "0k2a4awmzb7ppll2skyzaa94n3hxqm35ffibl0sygldk3symzwgp";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  preUnpack = ''
+    mkdir src
+    cd src
+    sourceRoot=.
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cd ..
+		cp -r src $out/
+    ls -al $out/src
+    makeWrapper ${mono5}/bin/mono $out/bin/omnisharp \
+    --add-flags "$out/src/OmniSharp.exe"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OmniSharp based on roslyn workspaces";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ tesq0 ];
+  };
+
+}
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 88fd212dad2e..3e2128ff0850 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "0.4.11";
+  version = "0.4.12";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "051hy2320mqdxvafhafwnk1n8q2sq2d7jyhx5bbxvqmjjm55lg8h";
+    sha256 = "0m57v7mh7wdl0rdbad7vkvcgy93p9gcb971wap8i5nzjvzmp4wlb";
   };
 
-  cargoSha256 = "0d1j01nrq5j0yrgd85lnvg1mzalcd8xadkza3yvwnqzf554idrcy";
+  cargoSha256 = "1wvqxj2w02d6zhyw3z5v0w4bfmbmldh63ygmvfxa3ngfb36gcacz";
 
   meta = with stdenv.lib; {
     description = "A utility and Cargo subcommand designed to let people expand macros in their Rust source code";
diff --git a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
index 60f29fccdc34..74da8d6102e7 100644
--- a/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
+++ b/pkgs/development/tools/rust/rustup/0001-dynamically-patchelf-binaries.patch
@@ -1,32 +1,25 @@
-From c21cc756b69a5f33c8a7758b746a816f40f55932 Mon Sep 17 00:00:00 2001
-From: Leon Isenberg <ljli@users.noreply.github.com>
-Date: Sat, 28 Oct 2017 17:58:17 +0200
-Subject: [PATCH] nix customization: patchelf installed binaries
-
----
- src/rustup-dist/src/component/package.rs | 21 ++++++++++++++++++++-
- 1 file changed, 20 insertions(+), 1 deletion(-)
-
-diff --git a/src/rustup-dist/src/component/package.rs b/src/rustup-dist/src/component/package.rs
-index 70c54dcd..f0318986 100644
---- a/src/rustup-dist/src/component/package.rs
-+++ b/src/rustup-dist/src/component/package.rs
-@@ -100,7 +100,10 @@ impl Package for DirectoryPackage {
-             let src_path = root.join(&path);
- 
+diff --git a/src/dist/component/package.rs b/src/dist/component/package.rs
+index e0fdea28..38d9d0e4 100644
+--- a/src/dist/component/package.rs
++++ b/src/dist/component/package.rs
+@@ -104,10 +104,11 @@ impl Package for DirectoryPackage {
              match &*part.0 {
--                "file" => builder.copy_file(path.clone(), &src_path)?,
-+                "file" => {
-+                    builder.copy_file(path.clone(), &src_path)?;
+                 "file" => {
+                     if self.copy {
+-                        builder.copy_file(path.clone(), &src_path)?
++                        builder.copy_file(path.clone(), &src_path)?;
+                     } else {
+-                        builder.move_file(path.clone(), &src_path)?
++                        builder.move_file(path.clone(), &src_path)?;
+                     }
 +                    nix_patchelf_if_needed(&target.prefix().path().join(path.clone()), &src_path)
-+                }
-                 "dir" => builder.copy_dir(path.clone(), &src_path)?,
-                 _ => return Err(ErrorKind::CorruptComponent(name.to_owned()).into()),
-             }
-@@ -118,6 +121,22 @@ impl Package for DirectoryPackage {
+                 }
+                 "dir" => {
+                     if self.copy {
+@@ -132,6 +133,22 @@ impl Package for DirectoryPackage {
      }
  }
- 
+
 +fn nix_patchelf_if_needed(dest_path: &Path, src_path: &Path) {
 +    let is_bin = if let Some(p) = src_path.parent() {
 +        p.ends_with("bin")
@@ -46,6 +39,3 @@ index 70c54dcd..f0318986 100644
  // On Unix we need to set up the file permissions correctly so
  // binaries are executable and directories readable. This shouldn't be
  // necessary: the source files *should* have the right permissions,
--- 
-2.17.1
-
diff --git a/pkgs/development/tools/rust/rustup/default.nix b/pkgs/development/tools/rust/rustup/default.nix
index 1177423869c1..3eb0760b2220 100644
--- a/pkgs/development/tools/rust/rustup/default.nix
+++ b/pkgs/development/tools/rust/rustup/default.nix
@@ -3,17 +3,17 @@
 , pkgconfig, curl, Security }:
 
 rustPlatform.buildRustPackage rec {
-  name = "rustup-${version}";
-  version = "1.17.0";
+  pname = "rustup";
+  version = "1.18.1";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rustup.rs";
     rev = version;
-    sha256 = "1mf92z89wqqaj3cg2cqf6basvcz47krldmy8ianfkzp323fimqmn";
+    sha256 = "0932n708ikxzjv7y78zcrnnnps3rgimsnpaximhm9vmjjnkdgm7x";
   };
 
-  cargoSha256 = "0y7kbihdrpd35dw24qqqzmccvjdy6arka10p5rnv38d420f1bpzd";
+  cargoSha256 = "0kw8a9prqjf939g0h8ryyhlm1n84fwdycvl0nkykkwlfqd6hh9hb";
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -49,9 +49,16 @@ rustPlatform.buildRustPackage rec {
     # tries to create .rustup
     export HOME=$(mktemp -d)
     mkdir -p "$out/share/"{bash-completion/completions,fish/vendor_completions.d,zsh/site-functions}
-    $out/bin/rustup completions bash > "$out/share/bash-completion/completions/rustup"
-    $out/bin/rustup completions fish > "$out/share/fish/vendor_completions.d/rustup.fish"
-    $out/bin/rustup completions zsh >  "$out/share/zsh/site-functions/_rustup"
+
+    # generate completion scripts for rustup
+    $out/bin/rustup completions bash rustup > "$out/share/bash-completion/completions/rustup"
+    $out/bin/rustup completions fish rustup > "$out/share/fish/vendor_completions.d/rustup.fish"
+    $out/bin/rustup completions zsh rustup >  "$out/share/zsh/site-functions/_rustup"
+
+    # generate completion scripts for cargo
+    # Note: fish completion script is not supported.
+    $out/bin/rustup completions bash cargo > "$out/share/bash-completion/completions/cargo"
+    $out/bin/rustup completions zsh cargo >  "$out/share/zsh/site-functions/_cargo"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/crispy-doom/default.nix b/pkgs/games/crispy-doom/default.nix
index 8b549d93fb22..5178474ef9e7 100644
--- a/pkgs/games/crispy-doom/default.nix
+++ b/pkgs/games/crispy-doom/default.nix
@@ -1,10 +1,10 @@
 { stdenv, autoreconfHook, pkgconfig, SDL2, SDL2_mixer, SDL2_net, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "crispy-doom-5.5.1";
+  name = "crispy-doom-5.5.2";
   src = fetchurl {
     url = "https://github.com/fabiangreffrath/crispy-doom/archive/${name}.tar.gz";
-    sha256 = "0qnqyyjnclmwls34m7nk8lpvpaffdmhxshlarsiggcsn9py96kns";
+    sha256 = "1pdk7p3r1xskdfcp86jf1n2cny78fyk36z4gbx19h57csc4d5c3a";
   };
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ SDL2 SDL2_mixer SDL2_net ];
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index dff122d8b803..755781b8bd46 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "gzdoom-${version}";
-  version = "3.7.2";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
     rev = "g${version}";
-    sha256 = "1kjvjg218d2jk7mzlzihaa90fji4wm5zfix7ikm18wx83hcsgby3";
+    sha256 = "1054g9n5rdnkkfrxvaybki4clfvr9fbhza4jbg53h4vwxahmjmbx";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index d097f6ea0114..6625502a1630 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-04-17";
+    version = "2019-04-26";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "fcc2c3ba71afa2a7965f3c1e9ec8c03381178180";
-      sha256 = "1xwm7rn9jz4xa4hyky07skqhlc9g13zggckyi6g3hq4qhamzjsvw";
+      rev = "737ed31de5be0c50502d820421726b8a707d1a58";
+      sha256 = "16641pvxs98s4jvry3dkap3nijzxganc5fn241mhzd954s2k6wwp";
     };
   };
 
@@ -403,12 +403,12 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-04-21";
+    version = "2019-04-25";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "91a7df99f0f7fc992c0d1a97bc69b931aea3d728";
-      sha256 = "0s4gvyrp7gm5gs3wk14hmss91gy1hppwn9vqbfs8hwpxamm76b9f";
+      rev = "ae432f278ab78a28452f23cc7d5d516f6271ca2a";
+      sha256 = "0mv8xh2hzvsj4znfnaiwrh9gfijrrnrjcnd4r84lx75jx5bc9zns";
     };
   };
 
@@ -448,12 +448,12 @@ let
 
   deoplete-go = buildVimPluginFrom2Nix {
     pname = "deoplete-go";
-    version = "2019-03-02";
+    version = "2019-04-27";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-go";
-      rev = "cb8504f09a04fac9325a5e2aa4a11c2400b1312d";
-      sha256 = "1jw3mp3h4klwr6y0w298w91wl222njwv1ars3cfh1zms8y7iii56";
+      rev = "33e229d2d9b61aab0c11ebc07aae41282731bdef";
+      sha256 = "0i8nhz41ik568gimy1f0vjwq473x0hzszi7g4yvjry00lkg4sjq6";
       fetchSubmodules = true;
     };
   };
@@ -527,12 +527,12 @@ let
 
   direnv-vim = buildVimPluginFrom2Nix {
     pname = "direnv-vim";
-    version = "2019-03-17";
+    version = "2019-04-25";
     src = fetchFromGitHub {
       owner = "direnv";
       repo = "direnv.vim";
-      rev = "8b5d37e9b334c855eb2669ca56b28423a40c3365";
-      sha256 = "1cpy7ih7fkdp8f4vxna2qwbhf1g7pspiayqhs9g1kxmycvbqnsjk";
+      rev = "15c0d2c91d65f95f90c30d21d9ea11bc8ee51def";
+      sha256 = "1k9ipwiayp5i31slr1119az0wylqsnaf5zz04x7bcpclaaajgzfk";
     };
   };
 
@@ -1268,12 +1268,12 @@ let
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2019-04-16";
+    version = "2019-04-23";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdtree";
-      rev = "e126b8745dc40931ae8da03d92c78264e8e4b029";
-      sha256 = "1f43a04alrb5k5k7kys3i6ld7cxzcz9yz6il95z0xi9lwbb8mnid";
+      rev = "3c0633578281463638235597d8208612544606ae";
+      sha256 = "0y82gj9rkqglhx6q9ksxpvpmax0rsxfggad85f6xvmx6iwxv8k1h";
     };
   };
 
@@ -1290,12 +1290,12 @@ let
 
   nim-vim = buildVimPluginFrom2Nix {
     pname = "nim-vim";
-    version = "2018-12-16";
+    version = "2019-04-26";
     src = fetchFromGitHub {
       owner = "zah";
       repo = "nim.vim";
-      rev = "21731384b8f0675e3d666e98dd6625508c30f3af";
-      sha256 = "15l897xyli4wr5adgciizqnpqv80l95ykf2xq5kvc4icgj93gwga";
+      rev = "88f5e708a739fb26be6364ab2fabadf9fffb8d7b";
+      sha256 = "0ja8qx9c5g7k4phllvk3vz6s62iwpwsn40w6c32sybjs98jkrw7y";
     };
   };
 
@@ -1774,12 +1774,12 @@ let
 
   targets-vim = buildVimPluginFrom2Nix {
     pname = "targets-vim";
-    version = "2019-03-18";
+    version = "2019-04-24";
     src = fetchFromGitHub {
       owner = "wellle";
       repo = "targets.vim";
-      rev = "5915a1a3cef7c60dbea2ff50153417e5f6371952";
-      sha256 = "1013d1rkdg6ddnsf0j033q0a14aq65jbv2wrkj1d6i5jr4zjh3f0";
+      rev = "53a5adc5e23b2dcc6a11397fd47b75ff8e0b664a";
+      sha256 = "142gac4appj7iswwxaflimjxxb0sdpkqhcinrv7nnxnwdmpnhzak";
     };
   };
 
@@ -1818,23 +1818,23 @@ let
 
   tlib_vim = buildVimPluginFrom2Nix {
     pname = "tlib_vim";
-    version = "2019-03-15";
+    version = "2019-04-27";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tlib_vim";
-      rev = "9609c3e3879c00339121e0f1aeedbc9211c15fe7";
-      sha256 = "1g52n5zy0yi343nyh74i4bsg1mxhhkv927r5fcsqgwdvgwzx2jw6";
+      rev = "19c98450af64fd9d875e009e0868cb119db01755";
+      sha256 = "0b95rvlfiiqh3lbmb8kmhq77iyvgsg1ayxp64fdn5809sj4avl79";
     };
   };
 
   traces-vim = buildVimPluginFrom2Nix {
     pname = "traces-vim";
-    version = "2019-04-04";
+    version = "2019-04-27";
     src = fetchFromGitHub {
       owner = "markonm";
       repo = "traces.vim";
-      rev = "1220a0ca044ce9a1622ec2aa60d0d9ef5e801cb4";
-      sha256 = "0j7yhhgfl1ymqkl5lp9vqm3w9l2jkf863xpffw9f0ddmjmk3b7am";
+      rev = "971d0f6c293002bea7c90773c8fd67f4345ddf7c";
+      sha256 = "0aj5x96g4ngir73h79brmijw5gikz6vgbblpbd3np64nb3h86a7c";
     };
   };
 
@@ -2170,12 +2170,12 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-04-18";
+    version = "2019-04-26";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "ead2cd63bbe4ceec161f9634c8b52048551f91b4";
-      sha256 = "0x0mv047r2li57l2b9cdlpdjl5fy0qhcs973w40kwp8pxnzrs332";
+      rev = "28ed36a9ec9c9bc35bec81c42cfbf8cf5e76b231";
+      sha256 = "0a5cgkwwhrdxfh1mf1x5vph132s4cmmdy9h88yhzz1jpw0x8322d";
     };
   };
 
@@ -2533,12 +2533,12 @@ let
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2019-04-17";
+    version = "2019-04-25";
     src = fetchFromGitHub {
       owner = "elixir-lang";
       repo = "vim-elixir";
-      rev = "7e00da6033b7847c6bb71df18f852342946eab42";
-      sha256 = "0v3agkkdwpzi8gys1nysrm6jisjd42v5ipbvd5w5kn3qhr28n1d5";
+      rev = "8e4782f439b5c8adbfe6d368c21bd4bf5db4cd3a";
+      sha256 = "02ikcdpffcwipzlpcjmrsnr7rxm6632x2qhxw0m22727pzqbmrmc";
     };
   };
 
@@ -2632,12 +2632,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2019-04-06";
+    version = "2019-04-24";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "1ac2c707e53b4f598ce6502c7bd9a028f1ec5ce4";
-      sha256 = "1r63zfba81adwsxqxqasjcpszdn2r4snbpj52d9p6sb4lqf84qg9";
+      rev = "16b7a060a3e20b8e159783f42ce4aa79a158208c";
+      sha256 = "0jg8xcp69134kgjib2pknh0ibsqcc8bcfdi1cw7nb16p3w2s2fzp";
     };
   };
 
@@ -2698,12 +2698,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-04-21";
+    version = "2019-04-27";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "c166037dbe06980199b0f93b0d10f8cdb7340c01";
-      sha256 = "0m824gqh99ga82r3prn3c84vm7k5c75vsnwbi29jfky564v3m8p6";
+      rev = "3e9a29279627d1ac50a855376b5da4dc0f809356";
+      sha256 = "0jyy3hgw8z1c372qd4672p5zpbxnq0l4w2dd4s07div6wxxs9cdh";
     };
   };
 
@@ -2720,12 +2720,12 @@ let
 
   vim-grepper = buildVimPluginFrom2Nix {
     pname = "vim-grepper";
-    version = "2019-04-08";
+    version = "2019-04-25";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "b67c78ab929d0bd68c5a00df9d9271d0a82e0705";
-      sha256 = "1wbinfkrzv9rfr5in7q0y3554gibb1rsv95qa4yinf2qasx78x6f";
+      rev = "9348496c9fe017e5f8f89a71a2772704e3720415";
+      sha256 = "1dl54hmp4jzv3qmdvcdbaq4qm4hnfrrvz55p0zjs808n1fz3jw8w";
     };
   };
 
@@ -3084,12 +3084,12 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2019-04-19";
+    version = "2019-04-24";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "c0514ddfdc9b1205e6f0952bf19b8d7105972a52";
-      sha256 = "04w46nv8bqqc7kjxhs63blwqs787n0x3kgy5xrgg7h20vwbq5a5s";
+      rev = "9616bcb14c0128a6722806dafe2b6f325fa0c26f";
+      sha256 = "10vsmcifjinqd26rw4fk94l4pymqzsqm66d8gwdqpp3jkx5birwg";
     };
   };
 
@@ -3106,12 +3106,12 @@ let
 
   vim-markdown = buildVimPluginFrom2Nix {
     pname = "vim-markdown";
-    version = "2019-04-12";
+    version = "2019-04-22";
     src = fetchFromGitHub {
       owner = "plasticboy";
       repo = "vim-markdown";
-      rev = "f71f25b87df3bd2a5315fdf432f0de3c35434345";
-      sha256 = "0ak01032ya2lcsb45q1vm04q4fs5gdwax1y0r581ic1vxspzk7r3";
+      rev = "fa52c903ec03002a1f9003ba41572bfe75d29fee";
+      sha256 = "0dy2a11ypqqqlxjrjbw7jp8gwxfa97ws7s35xyf0jfgn3a93jizw";
     };
   };
 
@@ -3260,12 +3260,12 @@ let
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2019-02-12";
+    version = "2019-04-25";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "660f556d1fdcede2900b12a09e1452fc5414ee82";
-      sha256 = "1vafc1c1sh7gd5pg8vlmjjzlvywij5li0rjn7z40wn0r578qzx3k";
+      rev = "89ebe3cf92b4502cb3b3f5a25f96b27456af5825";
+      sha256 = "0d6x3js259xcs0440izrplhly9vg5dsx1fwf4dxgqr17dvd48l06";
     };
   };
 
@@ -3359,12 +3359,12 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2019-03-29";
+    version = "2019-04-23";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "a55b6aa3aa797c989a4979a13a5bd2ae11cfd4a5";
-      sha256 = "0mgxbyz1yimavay54s6a5hv88d497qngp4i06g248d0qf3ivyvrv";
+      rev = "9fd5c11a20f88525088c8635a3bc6a25ec4c05c7";
+      sha256 = "1b9ndv9lm9p39c56ikj0mj6xs857464vicw3bif9k78j4mf2q12y";
     };
   };
 
@@ -3403,12 +3403,12 @@ let
 
   vim-puppet = buildVimPluginFrom2Nix {
     pname = "vim-puppet";
-    version = "2018-11-15";
+    version = "2019-04-23";
     src = fetchFromGitHub {
       owner = "rodjek";
       repo = "vim-puppet";
-      rev = "4793b074ddbfc05ed0189e19de343870611e4bdc";
-      sha256 = "0q24dmbdsskz97xhdig9r9m7l8hyyzsmza1b0m7bc2y269fsiim0";
+      rev = "b2ae19b3ef397ed7404bf15051cbc5ff655b893e";
+      sha256 = "1hidg2cqls9qy0lazahxi26gyj4lwncpc3vzy4m9xjd3y1lmlqri";
     };
   };
 
@@ -3447,23 +3447,23 @@ let
 
   vim-repeat = buildVimPluginFrom2Nix {
     pname = "vim-repeat";
-    version = "2018-07-02";
+    version = "2019-04-26";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-repeat";
-      rev = "43d2678fa59d068c815d8298331c195e850ff5a7";
-      sha256 = "0nb20503ka95qbx0mwhhni15drc86gfcd6kg92nf65llrvyfivk0";
+      rev = "0b9b5e742f67bc81ae4a1f79318549d3afc90b13";
+      sha256 = "0wmcamz41pinpgpksi7nac2v1s9ysl4jlpb01pa7amb8nz92i7jy";
     };
   };
 
   vim-rhubarb = buildVimPluginFrom2Nix {
     pname = "vim-rhubarb";
-    version = "2019-03-20";
+    version = "2019-04-24";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rhubarb";
-      rev = "57a350e6327af0074c4bc0d30b62662dfdb993af";
-      sha256 = "1vgcy8xc8v0g5g4h1h6dcl0ggg2rxp2pisxj04w5d78qf8b48njc";
+      rev = "70713ca031f882bd13ac7ffb163fb7e7a0a52b0c";
+      sha256 = "10x1n5jrrmw01rqh0qnyyx7f9l5qmzhfby8gkd5vpjx84kpabzqs";
     };
   };
 
@@ -3722,12 +3722,12 @@ let
 
   vim-table-mode = buildVimPluginFrom2Nix {
     pname = "vim-table-mode";
-    version = "2019-03-22";
+    version = "2019-04-25";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-table-mode";
-      rev = "a40ef26c5cc1806d3faae829fa149506715ce56f";
-      sha256 = "0fis0w3xpsg4wfss61vydic6zisg5bdyvb0wcaf5z4fs5sk380x6";
+      rev = "865563f78506b8090d3839644bc667493b4b68f4";
+      sha256 = "0544dlnqpm3r6amlww9pa5991js1rs5qblhqqfagwdaxaxpzxa64";
     };
   };
 
@@ -3863,6 +3863,17 @@ let
     };
   };
 
+  vim-visual-multi = buildVimPluginFrom2Nix {
+    pname = "vim-visual-multi";
+    version = "2019-04-23";
+    src = fetchFromGitHub {
+      owner = "mg979";
+      repo = "vim-visual-multi";
+      rev = "b29d535fae1b27308b7cf75c2d27e8b0c929a381";
+      sha256 = "09mhcnb8798lb28bc2xpbxkyic3zkypybxbr5p5xniq4d2hmqmx1";
+    };
+  };
+
   vim-visualstar = buildVimPluginFrom2Nix {
     pname = "vim-visualstar";
     version = "2015-08-27";
@@ -4008,12 +4019,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-04-20";
+    version = "2019-04-26";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "3deabe2c16c9231703b58c5c24e16e0ceebebf40";
-      sha256 = "1xazc1z8lrz0084v54fv238sbvz9pfpskm6z259ma00y8iswz0ds";
+      rev = "2e1687bd66c58fc37d47447c411f89895d8db4cd";
+      sha256 = "0rvbp4g9r3jc8rch357arvcw93kribcd5mgn7cgwgmdj7aj4shjq";
     };
   };
 
@@ -4152,12 +4163,12 @@ let
 
   youcompleteme = buildVimPluginFrom2Nix {
     pname = "youcompleteme";
-    version = "2019-04-10";
+    version = "2019-04-24";
     src = fetchFromGitHub {
       owner = "valloric";
       repo = "youcompleteme";
-      rev = "9dee2b4e3f5de5f8b9fdc4790eac35eb2c40257a";
-      sha256 = "12i3wzcy19c5gc8xc5i0qhjl4wn7jwy2abgbx9x2cbgamjl4yzh0";
+      rev = "2ae00449e5d7505102bb63d4bc28abb5e0744829";
+      sha256 = "16xsrnlyrzjsx4sr30xbk4bh37yrw0bwkdfvlahicsh6x9fz9sxj";
       fetchSubmodules = true;
     };
   };
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index a23ce78bd458..6324064c18fa 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -31,8 +31,8 @@ Chiel92/vim-autoformat
 chikatoike/concealedyank.vim
 chikatoike/sourcemap.vim
 chrisbra/CheckAttach
-chrisbra/Recover.vim
 chrisbra/csv.vim
+chrisbra/Recover.vim
 chrisbra/unicode.vim
 chrisgeo/sparkup
 chriskempson/base16-vim
@@ -41,8 +41,8 @@ christoomey/vim-tmux-navigator
 cocopon/iceberg.vim
 ctjhoa/spacevim
 ctrlpvim/ctrlp.vim
-dag/vim-fish
 dag/vim2hs
+dag/vim-fish
 dannyob/quickfixstatus
 davidhalter/jedi-vim
 derekelkins/agda-vim
@@ -191,6 +191,7 @@ mbbill/undotree
 megaannum/forms
 megaannum/self
 mfukar/robotframework-vim
+mg979/vim-visual-multi
 mhinz/vim-grepper
 mhinz/vim-janah
 mhinz/vim-sayonara
@@ -352,6 +353,7 @@ vim-scripts/changeColorScheme.vim
 vim-scripts/Colour-Sampler-Pack
 vim-scripts/emodeline
 vim-scripts/Improved-AnsiEsc
+vim-scripts/jdaddy.vim
 vim-scripts/matchit.zip
 vim-scripts/mayansmoke
 vim-scripts/PreserveNoEOL
@@ -360,7 +362,6 @@ vim-scripts/Rename
 vim-scripts/ReplaceWithRegister
 vim-scripts/tabmerge
 vim-scripts/taglist.vim
-vim-scripts/jdaddy.vim
 vim-scripts/wombat256.vim
 vim-scripts/YankRing.vim
 vim-utils/vim-husk
diff --git a/pkgs/misc/vscode-extensions/wakatime/default.nix b/pkgs/misc/vscode-extensions/wakatime/default.nix
index 7d80fb798be9..6bff59e4f039 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 = "1.3.0";
-      sha256 = "1g0k2hl3wb1rnjxvp7a1j6m200z92878ifb17h2ll69rlpmwcfqr";
+      version = "2.0.7";
+      sha256 = "049m57s8hcaa3q812331vgpaibkidf3x221hyxpglfk3sarxvqwv";
     };
 
     postPatch = ''
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index ee0a02763d14..a1a15bab0fea 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2019-03-12";
+  version = "2019-04-16";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
-    rev = "20190312";
-    sha256 = "1wk8l75rg7idvsyli29a1fii4xwz3vnm8d65fjw8d3azihdrhbyy";
+    rev = "20190416";
+    sha256 = "1grsxch5x65piqm8zswa7za3zccwxk0sxdm5qpgidmmq729xq3py";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -15,6 +15,10 @@ stdenv.mkDerivation rec {
   # Firmware blobs do not need fixing and should not be modified
   dontFixup = true;
 
+  outputHashMode = "recursive";
+  outputHashAlgo = "sha256";
+  outputHash = "1fh6gwdx4paswhpyx8z43kf41l9svicp6ji06pdfhsnbx2l859zi";
+
   meta = with stdenv.lib; {
     description = "Binary firmware collection packaged by kernel.org";
     homepage = http://packages.debian.org/sid/firmware-linux-nonfree;
diff --git a/pkgs/os-specific/linux/kernel/i2c-oops.patch b/pkgs/os-specific/linux/kernel/i2c-oops.patch
deleted file mode 100644
index 2d4f25cec68d..000000000000
--- a/pkgs/os-specific/linux/kernel/i2c-oops.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c b/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
-index 1d645c9ab417bf..cac262a912c124 100644
---- a/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
-+++ b/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
-@@ -337,7 +337,8 @@ static const struct dmi_system_id i2c_hid_dmi_desc_override_table[] = {
-			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "FlexBook edge11 - M-FBE11"),
-		},
-		.driver_data = (void *)&sipodev_desc
--	}
-+	},
-+	{ }	/* Terminate list */
- };
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 84789b7389e5..b78540c44df9 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.113";
+  version = "4.14.114";
 
   # 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 = "1hnsmlpfbcy52dax7g194ksr9179kpigj1y5k44jkwmagziz4kdj";
+    sha256 = "05cyq4id1l3z8hhfs7ril9qc92pfx9h9pgvwl18q1lf8mg7ispmp";
   };
 } // (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 ed3d80f23796..cf952184cccb 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.36";
+  version = "4.19.37";
 
   # 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 = "1g7jcgg4889vj567jjl0q7ycksnm05xxzfd3jj6ji7bz2w4ba25q";
+    sha256 = "0rcwzzbm4853rhsj5mkya0asi6bhsg3mhh9r9ihps31cqc7b7c7c";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 1698c9d70942..7ffe5dc88f11 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.178";
+  version = "4.4.179";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0g84g808v7zjnfm1nh7ba0swa4n2bfw8m7h5qgmknjwrnwi8qnf3";
+    sha256 = "1l979wmxridq9psjlhmgkax3bi769pvmmvdgf0j2y67gclkrssic";
   };
 } // (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 4857e80292dc..87b9036dc9af 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.170";
+  version = "4.9.171";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "078k8dz3nmici7rs7x25h4vr1qaa588zwymv4gs722wfzi07p21k";
+    sha256 = "00bznn1x8rq0wgjpl8sbp0cp4mzpbzjdnf2rvm8rinklpy9dj723";
   };
 } // (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 594c89f232b0..2af5541a57cb 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.9";
+  version = "5.0.10";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0n5s0nwk786qyzwkjs5sv0ldhi8wry6xrsy9vldxp17qbcvv2j07";
+    sha256 = "0xjycbjlzpgskqnwcjml60vkbg7r8fsijdj6ypmhpry7q8ii677a";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 191957338530..7888ac6af44c 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "5.1-rc6";
-  modDirVersion = "5.1.0-rc6";
+  version = "5.1-rc7";
+  modDirVersion = "5.1.0-rc7";
   extraMeta.branch = "5.1";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "0s751wb4xdcnljid03a3gi9pkql7fcvixh32aiclbmfz6gyvbykv";
+    sha256 = "05085j84kn3mf5s2hy8i9jgvnglpr9v918kmc9lmpn5vq7frh9s1";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index e02cd0545a4c..4c338b37deca 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -57,8 +57,4 @@ rec {
       sha256 = "1l8xq02rd7vakxg52xm9g4zng0ald866rpgm8kjlh88mwwyjkrwv";
     };
   };
-
-  # Fix kernel OOPS on boot: https://github.com/NixOS/nixpkgs/issues/60126
-  # Remove with the next release.
-  i2c-oops = { name = "i2c-oops"; patch = ./i2c-oops.patch; };
 }
diff --git a/pkgs/os-specific/linux/service-wrapper/default.nix b/pkgs/os-specific/linux/service-wrapper/default.nix
index 8adb2e5413c4..f2ed3c4a7834 100644
--- a/pkgs/os-specific/linux/service-wrapper/default.nix
+++ b/pkgs/os-specific/linux/service-wrapper/default.nix
@@ -2,7 +2,7 @@
 
 let
   name = "service-wrapper-${version}";
-  version = "16.04.0"; # Ajar to Ubuntu Release
+  version = "19.04"; # Akin to Ubuntu Release
 in
 runCommand "${name}" {
   script = substituteAll {
@@ -17,6 +17,7 @@ runCommand "${name}" {
     license     = licenses.gpl2Plus;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ DerTim1 ];
+    # Shellscript has been modified but upstream source is: https://git.launchpad.net/ubuntu/+source/init-system-helpers
   };
 }
 ''
diff --git a/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh b/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh
index 460bf678e6ac..a7c3bc9758b1 100755
--- a/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh
+++ b/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh
@@ -41,7 +41,7 @@ is_ignored_file() {
 	return 1
 }
 
-VERSION=$(@coreutils@/bin/basename $0)" ver. 0.91-ubuntu1"
+VERSION=$(@coreutils@/bin/basename $0)" ver. 19-04"
 USAGE="Usage: "$(@coreutils@/bin/basename $0)" < option > | --status-all | \
 [ service_name [ command | --full-restart ] ]"
 SERVICE=
@@ -133,29 +133,6 @@ while [ $# -gt 0 ]; do
    esac
 done
 
-# Operate against system upstart, not session
-unset UPSTART_SESSION
-if [ -r "/etc/init/${SERVICE}.conf" ] && which initctl >/dev/null \
-   && initctl version 2>/dev/null | grep -q upstart \
-   && initctl status ${SERVICE} 2>/dev/null 1>/dev/null
-then
-   # Upstart configuration exists for this job and we're running on upstart
-   case "${ACTION}" in
-      start|stop|status|reload)
-         # Action is a valid upstart action
-         exec ${ACTION} ${SERVICE} ${OPTIONS}
-      ;;
-      restart|force-reload)
-        # Map restart to the usual sysvinit behavior.
-        # Map force-reload to restart as per Debian policy 9.3.2,
-        # since there is no way to know if "reload" is supported
-         stop ${SERVICE} ${OPTIONS} || :
-         exec start ${SERVICE} ${OPTIONS}
-      ;;
-   esac
-fi
-
-
 run_via_sysvinit() {
    # Otherwise, use the traditional sysvinit
    if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
@@ -198,7 +175,7 @@ then
    fi
 
    case "${ACTION}" in
-      restart|status)
+      restart|status|try-restart)
          exec systemctl $sctl_args ${ACTION} ${UNIT}
       ;;
       start|stop)
@@ -214,7 +191,7 @@ then
          exec systemctl $sctl_args ${ACTION} ${UNIT}
       ;;
       reload)
-         _canreload="$(SYSTEMCTL -p CanReload show ${UNIT} 2>/dev/null)"
+         _canreload="$(systemctl -p CanReload show ${UNIT} 2>/dev/null)"
          if [ "$_canreload" = "CanReload=no" ]; then
             # The reload action falls back to the sysv init script just in case
             # the systemd service file does not (yet) support reload for a
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index 7a01342e5ac0..477f340e067a 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   name = "slurm-${version}";
-  version = "18.08.6.2";
+  version = "18.08.7.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${builtins.replaceStrings ["."] ["-"] name}";
-    sha256 = "0py1795jrgip00k46gr9f9y49gpv5478kc3v68d90nl158fngixc";
+    sha256 = "13asdirygkp0mmi2da0094c9h180nl7nb7nkj4j9d842xzw21454";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix
index d64f59158815..d2a6dc9df157 100644
--- a/pkgs/servers/dico/default.nix
+++ b/pkgs/servers/dico/default.nix
@@ -2,25 +2,20 @@
 , guile, python, pcre, libffi, groff }:
 
 stdenv.mkDerivation rec {
-  name = "dico-2.7";
+  pname = "dico";
+  version = "2.9";
 
   src = fetchurl {
-    url = "mirror://gnu/dico/${name}.tar.xz";
-    sha256 = "0dg4aacnmlf3ljssd7dwh8z5644xzq8k1501mbsx8nz8p8a9mbsq";
+    url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0i9xqhy3h5nlizcmav4mv5ay8ivdgn4l4k0k7fxix3fsc87nijyr";
   };
 
   hardeningDisable = [ "format" ];
 
-  # XXX: Add support for GNU SASL.
   buildInputs =
     [ libtool gettext zlib readline gsasl guile python pcre libffi groff ];
 
-  # dicod fails to load modules, so the tests fail
-  doCheck = false;
-
-  preBuild = ''
-    sed -i -e '/gets is a security/d' gnu/stdio.in.h
-  '';
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "Flexible dictionary server and client implementing RFC 2229";
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 683eacee61a3..068834140048 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,4 +1,4 @@
-{ config, stdenv, lib, fetchurl
+{ config, stdenv, lib, fetchurl, fetchpatch
 , perl
 , libcap, libtool, libxml2, openssl
 , enablePython ? config.bind.enablePython or false, python3 ? null
@@ -21,6 +21,16 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
 
   patches = [ ./dont-keep-configure-flags.patch ./remove-mkdir-var.patch ] ++
+    [
+      # Workaround for missing atomic operations on aarch64. Upstream added the
+      # below patch after the release. Can probably be dropped with the next
+      # version.
+      (fetchpatch {
+        name = "client-atomics-as-refcount.patch";
+        url = https://gitlab.isc.org/isc-projects/bind9/commit/d72f436b7d7c697b262968c48c2d7643069ab17f.diff;
+        sha256 = "0sidlab9wcv21751fbq3h9m4wy6hk7frag9ar2jndw8rn3axr2qy";
+      })
+    ] ++
     stdenv.lib.optional stdenv.isDarwin ./darwin-openssl-linking-fix.patch;
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/servers/documize-community/default.nix b/pkgs/servers/documize-community/default.nix
index 4f1a420c9109..2df905463117 100644
--- a/pkgs/servers/documize-community/default.nix
+++ b/pkgs/servers/documize-community/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "documize-community";
-  version = "2.2.1";
+  version = "2.4.1";
 
   src = fetchFromGitHub {
     owner = "documize";
     repo = "community";
     rev = "v${version}";
-    sha256 = "09s5js0zb3mh3g5qz8f3l2cqjn01kjb35kinfv932nf2rfyrmyqz";
+    sha256 = "1spj8awyv37gmrm49py3wz7590r7rz63qizgifdzjbvacadavm0c";
   };
 
   goPackagePath = "github.com/documize/community";
@@ -37,7 +37,7 @@ buildGoPackage rec {
   meta = with lib; {
     description = "Open source Confluence alternative for internal & external docs built with Golang + EmberJS";
     license = licenses.agpl3;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ma27 elseym ];
     homepage = https://www.documize.com/;
   };
 }
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index df2130777bb8..ed36b33bdebc 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -43,11 +43,11 @@ assert withRest -> curl != null && withJson;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "freeradius-${version}";
-  version = "3.0.17";
+  version = "3.0.19";
 
   src = fetchurl {
     url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz";
-    sha256 = "0bc35knv46z729l4h22rirqns5v6jb0fzcffnjayhs8wjysfkfyy";
+    sha256 = "0v5b46rq878093ff549ijccy98md1l7l4rvshjxs672il0zvq5i4";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index d2ec9aa6adf3..abbf171daa96 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix (args // {
-  version = "1.15.12";
-  sha256 = "1giavdph0jqhywdkj4650s5qhz6qfd6nrv74k9q005yy2ym90nrx";
+  version = "1.16.0";
+  sha256 = "0i8krbi1pc39myspwlvb8ck969c8207hz84lh3qyg5w7syx7dlsg";
 })
diff --git a/pkgs/servers/http/nginx/stable.nix b/pkgs/servers/http/nginx/stable.nix
index f4cb22a38f61..ffc6f81fdc24 100644
--- a/pkgs/servers/http/nginx/stable.nix
+++ b/pkgs/servers/http/nginx/stable.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "1.14.2";
-  sha256 = "15wppq12qmq8acjs35xfj61czhf9cdc0drnl5mm8hcg3aihryb80";
+  version = "1.16.0";
+  sha256 = "0i8krbi1pc39myspwlvb8ck969c8207hz84lh3qyg5w7syx7dlsg";
 })
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index d429da78a32f..f92314b2123a 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.3.0";
+  version = "10.3.1";
 
   # Impossible to build anything offline with dotnet
   src = fetchurl {
     url = "https://github.com/jellyfin/jellyfin/releases/download/v${version}/jellyfin_${version}_portable.tar.gz";
-    sha256 = "1q9rvyza5zi1kqg9301zrd0fnxzdwknyagpjc9r1cpqfx3yasnkc";
+    sha256 = "1j6jyrbc0ha348y63wk5jv9wjcjydma9cr3jxva1y85pjrmm7z90";
   };
 
   buildInputs = [
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     description = "The Free Software Media System";
     homepage = https://jellyfin.github.io/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ nyanloutre ];
+    maintainers = with maintainers; [ nyanloutre minijackson ];
   };
 }
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index ba5ba8725bc5..3ded244b9fbf 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "6.1.4";
+  version = "6.1.6";
   name = "grafana-${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -11,12 +11,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "0a0k66vbsi2704pb5vr8mjr7n3v5dapnfhqxkrw6biicj8ahka30";
+    sha256 = "12fj3j1w37nm8p2h4af38wbxkvm0pzf1zsjx8wpj0zrxanbigpjg";
   };
 
   srcStatic = fetchurl {
     url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "1wamnvv2jiyi6cyw9p65j2hm3si345asfwl7kjg7drx0vn08ks6g";
+    sha256 = "1dg2gjmym06x8wj2xmygsww622k86cq07kbxvp8j8h17br4imj4k";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 3138cc8ee1e3..3e3bd8a46532 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nextcloud-${version}";
-  version = "15.0.6";
+  version = "15.0.7";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "1k1c0wlrhdpkvwf7iq8yjxd8gqmmj7dyd913rqzrg9jbnvz5jc82";
+    sha256 = "0jcxza0p1vc9dhf2mimvyy1j25nzv02srghdsp6108573yamhq9y";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nosql/eventstore/create-deps.sh b/pkgs/servers/nosql/eventstore/create-deps.sh
new file mode 100644
index 000000000000..da73bcf1e3b6
--- /dev/null
+++ b/pkgs/servers/nosql/eventstore/create-deps.sh
@@ -0,0 +1,34 @@
+# 1. create a log with `dotnet restore -v m MyPackage.sln > mypackage-restore.log
+# 2. then call ./create-deps.sh mypackage-restore.log
+
+urlbase="https://www.nuget.org/api/v2/package"
+cat << EOL
+{ fetchurl }: let
+
+  fetchNuGet = { name, version, sha256 }: fetchurl {
+    inherit sha256;
+    url = "$urlbase/\${name}/\${version}";
+  };
+
+in [
+EOL
+IFS=''
+while read line; do
+  if echo $line | grep -q "Installing "; then
+    name=$(echo $line | sed -r 's/  Installing ([^ ]+) (.+)./\1/')
+    version=$(echo $line | sed -r 's/  Installing ([^ ]+) (.+)./\2/')
+    sha256=$(nix-prefetch-url "$urlbase/$name/$version" 2>/dev/null)
+    cat << EOL
+
+  (fetchNuGet {
+    name = "$name";
+    version = "$version";
+    sha256 = "$sha256";
+  })
+EOL
+  fi
+done < $1
+cat << EOL
+
+]
+EOL
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
index 7880c6db7fd9..f3035e131409 100644
--- a/pkgs/servers/nosql/eventstore/default.nix
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -1,43 +1,75 @@
-{ stdenv, fetchFromGitHub, git, mono, v8, runtimeShell }:
+{ stdenv
+, fetchFromGitHub
+, fetchurl
+, makeWrapper
+, dotnet-sdk
+, mono
+, Nuget
+}:
 
-# There are some similarities with the pinta derivation. We should
-# have a helper to make it easy to package these Mono apps.
+let
+
+  deps = import ./deps.nix { inherit fetchurl; };
+
+in
 
 stdenv.mkDerivation rec {
+
   name = "EventStore-${version}";
-  version = "4.1.1";
+  version = "5.0.0";
+
   src = fetchFromGitHub {
-    owner  = "EventStore";
-    repo   = "EventStore";
-    rev    = "oss-v${version}";
-    sha256 = "1069ncb9ps1wi71yw1fzkfd9rfsavccw8xj3a3miwd9x72w8636f";
+    owner = "EventStore";
+    repo = "EventStore";
+    rev = "oss-v${version}";
+    sha256 = "1qdnkaxiryyz8yhwqncmshsg8wi4v69dcxnvgvl4hn81zsj6fasw";
   };
 
+  buildInputs = [
+    makeWrapper
+    dotnet-sdk
+    mono
+    Nuget
+  ];
+
+  # that dependency seems to not be required for building, but pulls in libcurl which fails to be located.
+  # see: https://github.com/EventStore/EventStore/issues/1897
+  patchPhase = ''
+    for f in $(find . -iname "*.csproj"); do
+      sed -i '/Include="Microsoft.SourceLink.GitHub"/d' $f
+    done
+  '';
+
   buildPhase = ''
-    mkdir -p src/libs/x64/nixos
-    pushd src/EventStore.Projections.v8Integration
-    cc -o ../libs/x64/nixos/libjs1.so -fPIC -lv8 -shared -std=c++0x *.cpp
-    popd
+    mkdir home
+    export HOME=$PWD/home
+    export DOTNET_CLI_TELEMETRY_OPTOUT=1
+    export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
+    export FrameworkPathOverride=${mono}/lib/mono/4.7.1-api
+
+    # disable default-source so nuget does not try to download from online-repo
+    nuget sources Disable -Name "nuget.org"
+    # add all dependencies to a source called 'nixos'
+    for package in ${toString deps}; do
+      nuget add $package -Source nixos
+    done
 
-    patchShebangs build.sh
-    ./build.sh ${version} release nixos
+    dotnet restore --source nixos src/EventStore.sln
+    dotnet build --no-restore -c Release src/EventStore.sln
   '';
 
   installPhase = ''
-    mkdir -p $out/{bin,lib/eventstore/clusternode}
-    cp -r bin/clusternode/* $out/lib/eventstore/clusternode/
-    cat > $out/bin/clusternode << EOF
-    #!${runtimeShell}
-    exec ${mono}/bin/mono $out/lib/eventstore/clusternode/EventStore.ClusterNode.exe "\$@"
-    EOF
-    chmod +x $out/bin/clusternode
+    mkdir -p $out/{bin,lib/eventstore}
+    cp -r bin/Release/* $out/lib/eventstore
+    makeWrapper "${mono}/bin/mono" $out/bin/eventstored \
+      --add-flags "$out/lib/eventstore/EventStore.ClusterNode/net471/EventStore.ClusterNode.exe"
   '';
 
-  nativeBuildInputs = [ git ];
-  buildInputs = [ v8 mono ];
+  doCheck = true;
 
-  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
-  dontStrip = true;
+  checkPhase = ''
+    dotnet test src/EventStore.Projections.Core.Tests/EventStore.Projections.Core.Tests.csproj -- RunConfiguration.TargetPlatform=x64
+  '';
 
   meta = {
     homepage = https://geteventstore.com/;
@@ -46,4 +78,5 @@ stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
     platforms = [ "x86_64-linux" ];
   };
+
 }
diff --git a/pkgs/servers/nosql/eventstore/deps.nix b/pkgs/servers/nosql/eventstore/deps.nix
new file mode 100644
index 000000000000..937bd8181441
--- /dev/null
+++ b/pkgs/servers/nosql/eventstore/deps.nix
@@ -0,0 +1,532 @@
+{ fetchurl }: let
+
+  fetchNuGet = { name, version, sha256 }: fetchurl {
+    inherit sha256;
+    url = "https://www.nuget.org/api/v2/package/${name}/${version}";
+  };
+
+in [
+
+  (fetchNuGet {
+    name = "YamlDotNet";
+    version = "5.2.1";
+    sha256 = "0nb34qcdhs5qn4783idg28f2kr89vaiyjn4v2barhv7i75zhym6y";
+  })
+
+  (fetchNuGet {
+    name = "NLog";
+    version = "4.5.10";
+    sha256 = "0d4yqxrhqn2k36h3v1f5pn6qqlagbzg67v6gvxqhz3s4zyc3b8rg";
+  })
+
+  (fetchNuGet {
+    name = "Newtonsoft.Json";
+    version = "11.0.2";
+    sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Tasks.Extensions";
+    version = "4.3.0";
+    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.CodeCoverage";
+    version = "15.9.0";
+    sha256 = "10v5xrdilnm362g9545qxvlrbwc9vn65jhpb1i0jlhyqsj6bfwzg";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.Encoding.Extensions";
+    version = "4.3.0";
+    sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
+  })
+
+  (fetchNuGet {
+    name = "protobuf-net";
+    version = "2.4.0";
+    sha256 = "106lxm9afga7ihlknyy7mlfplyq40mrndksqrsn8ia2a47fbqqld";
+  })
+
+  (fetchNuGet {
+    name = "NUnit3TestAdapter";
+    version = "3.10.0";
+    sha256 = "0ahzfk9y2dq0wl91ll5hss89hqw7la85ndll5030nslizsgm5q2i";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Principal.Windows";
+    version = "4.5.0";
+    sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86";
+  })
+
+  (fetchNuGet {
+    name = "NUnit";
+    version = "3.11.0";
+    sha256 = "0mmc8snwjjmbkhk6cv5c0ha77czzy9bca4q59244rxciw9sxk1cz";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.DispatchProxy";
+    version = "4.5.0";
+    sha256 = "0v9sg38h91aljvjyc77m1y5v34p50hjdbxvvxwa1whlajhafadcn";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NET.Test.Sdk";
+    version = "15.9.0";
+    sha256 = "0g7wjgiigs4v8qa32g9ysqgx8bx55dzmbxfkc4ic95mpd1vkjqxw";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "2.1.0";
+    sha256 = "0nmdnkmwyxj8cp746hs9an57zspqlmqdm55b00i7yk8a22s6akxz";
+  })
+
+  (fetchNuGet {
+    name = "HdrHistogram";
+    version = "2.5.0";
+    sha256 = "1s2np7m3pp17rgambax9a3x5pd2grx74cr325q3xapjz2gd58sj1";
+  })
+
+  (fetchNuGet {
+    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
+    version = "4.3.0";
+    sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.XmlDocument";
+    version = "4.3.0";
+    sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.ReaderWriter";
+    version = "4.3.0";
+    sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.RegularExpressions";
+    version = "4.3.0";
+    sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Extensions";
+    version = "4.3.0";
+    sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+  })
+
+  (fetchNuGet {
+    name = "System.Private.ServiceModel";
+    version = "4.5.3";
+    sha256 = "0nyw9m9dj327hn0qb0jmgwpch0f40jv301fk4mrchga8g99xbpng";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Emit.ILGeneration";
+    version = "4.3.0";
+    sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Csp";
+    version = "4.3.0";
+    sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Cng";
+    version = "4.3.0";
+    sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
+  })
+
+  (fetchNuGet {
+    name = "System.Globalization.Calendars";
+    version = "4.3.0";
+    sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
+  })
+
+  (fetchNuGet {
+    name = "System.Linq";
+    version = "4.3.0";
+    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.Build.Tasks.Git";
+    version = "1.0.0-beta-63127-02";
+    sha256 = "10avjhp4vjbmix4rwacbw6cim2d4kbmz64q4n7r6zz94395l61b6";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.SourceLink.Common";
+    version = "1.0.0-beta-63127-02";
+    sha256 = "0y29xx3x9nd14n1sr8ycxhf6y1a83pv3sayfxjib8wi6s866lagb";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.SourceLink.GitHub";
+    version = "1.0.0-beta-63127-02";
+    sha256 = "1096d5n7mfvgm1apdmafjkxkqray6r2cw6zjhhxj2zn98836w1n2";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Numerics";
+    version = "4.3.0";
+    sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System.Security.Cryptography.Apple";
+    version = "4.3.0";
+    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Primitives";
+    version = "4.3.0";
+    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.FileSystem.Primitives";
+    version = "4.3.0";
+    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+  })
+
+  (fetchNuGet {
+    name = "NETStandard.Library";
+    version = "2.0.3";
+    sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y";
+  })
+
+  (fetchNuGet {
+    name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1x0g58pbpjrmj2x2qw17rdwwnrcl0wvim2hdwz48lixvwvp22n9c";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.Requests";
+    version = "4.3.0";
+    sha256 = "0pcznmwqqk0qzp0gf4g4xw7arhb0q8v9cbzh3v8h8qp6rjcr339a";
+  })
+
+  (fetchNuGet {
+    name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "0q0n5q1r1wnqmr5i5idsrd9ywl33k0js4pngkwq9p368mbxp8x1w";
+  })
+
+  (fetchNuGet {
+    name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "15gsm1a8jdmgmf8j5v1slfz8ks124nfdhk2vxs2rw3asrxalg8hi";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.Http";
+    version = "4.3.4";
+    sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl";
+  })
+
+  (fetchNuGet {
+    name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1cpx56mcfxz7cpn57wvj18sjisvzq8b5vd9rw16ihd2i6mcp3wa1";
+  })
+
+  (fetchNuGet {
+    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1m9z1k9kzva9n9kwinqxl97x2vgl79qhqjlv17k9s2ymcyv2bwr6";
+  })
+
+  (fetchNuGet {
+    name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1dm8fifl7rf1gy7lnwln78ch4rw54g0pl5g1c189vawavll7p6rj";
+  })
+
+  (fetchNuGet {
+    name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "096ch4n4s8k82xga80lfmpimpzahd2ip1mgwdqgar0ywbbl6x438";
+  })
+
+  (fetchNuGet {
+    name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "0404wqrc7f2yc0wxv71y3nnybvqx8v4j9d47hlscxy759a525mc3";
+  })
+
+  (fetchNuGet {
+    name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "1n06gxwlinhs0w7s8a94r1q3lwqzvynxwd3mp10ws9bg6gck8n4r";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.Security";
+    version = "4.3.2";
+    sha256 = "1aw1ca1vssqrillrh4qkarx0lxwc8wcaqdkfdima8376wb98j2q8";
+  })
+
+  (fetchNuGet {
+    name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "0rwpqngkqiapqc5c2cpkj7idhngrgss5qpnqg0yh40mbyflcxf8i";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "1.1.0";
+    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection";
+    version = "4.3.0";
+    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+  })
+
+  (fetchNuGet {
+    name = "System.Collections";
+    version = "4.3.0";
+    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.Debug";
+    version = "4.3.0";
+    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.Tracing";
+    version = "4.3.0";
+    sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+  })
+
+  (fetchNuGet {
+    name = "System.Globalization";
+    version = "4.3.0";
+    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Targets";
+    version = "1.1.0";
+    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.ThreadPool";
+    version = "4.3.0";
+    sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
+  })
+
+  (fetchNuGet {
+    name = "System.IO";
+    version = "4.3.0";
+    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Principal";
+    version = "4.3.0";
+    sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.Primitives";
+    version = "4.3.0";
+    sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.WebHeaderCollection";
+    version = "4.3.0";
+    sha256 = "0ms3ddjv1wn8sqa5qchm245f3vzzif6l6fx5k92klqpn7zf4z562";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Claims";
+    version = "4.3.0";
+    sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
+  })
+
+  (fetchNuGet {
+    name = "System.Resources.ResourceManager";
+    version = "4.3.0";
+    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+  })
+
+  (fetchNuGet {
+    name = "System.Collections.Concurrent";
+    version = "4.3.0";
+    sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime";
+    version = "4.3.0";
+    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading";
+    version = "4.3.0";
+    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Tasks";
+    version = "4.3.0";
+    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "1.1.1";
+    sha256 = "164wycgng4mi9zqi2pnsf1pq6gccbqvw6ib916mqizgjmd8f44pj";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System";
+    version = "4.3.0";
+    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System.Net.Http";
+    version = "4.3.0";
+    sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System.Net.Security";
+    version = "4.3.0";
+    sha256 = "0dnqjhw445ay3chpia9p6vy4w2j6s9vy3hxszqvdanpvvyaxijr3";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.2";
+    sha256 = "0zy5r25jppz48i2bkg8b9lfig24xixg6nm3xyr1379zdnqnpm8f6";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.Win32.Primitives";
+    version = "4.3.0";
+    sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.DiagnosticSource";
+    version = "4.3.0";
+    sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.XmlSerializer";
+    version = "4.3.0";
+    sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912";
+  })
+
+  (fetchNuGet {
+    name = "System.Globalization.Extensions";
+    version = "4.3.0";
+    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.FileSystem";
+    version = "4.3.0";
+    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Extensions";
+    version = "4.3.0";
+    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Handles";
+    version = "4.3.0";
+    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.InteropServices";
+    version = "4.3.0";
+    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Algorithms";
+    version = "4.3.0";
+    sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Encoding";
+    version = "4.3.0";
+    sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
+  })
+
+  (fetchNuGet {
+    name = "System.ServiceModel.Primitives";
+    version = "4.5.3";
+    sha256 = "1v90pci049cn44y0km885k1vrilhb34w6q2zva4y6f3ay84klrih";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Primitives";
+    version = "4.3.0";
+    sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.X509Certificates";
+    version = "4.3.0";
+    sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.Encoding";
+    version = "4.3.0";
+    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Emit";
+    version = "4.3.0";
+    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.TypeExtensions";
+    version = "4.4.0";
+    sha256 = "0n9r1w4lp2zmadyqkgp4sk9wy90sj4ygq4dh7kzamx26i9biys5h";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Emit.Lightweight";
+    version = "4.3.0";
+    sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
+  })
+
+]
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 68e13d085497..6b4753941265 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-04-26";
+  version = "2019-04-29";
   name = "oh-my-zsh-${version}";
-  rev = "f5b2d9c7ce8ced5a4ec67a4ecfa877e6951124ef";
+  rev = "d16adb6a9f9b0ea46121f48751a012f0511b465b";
 
   src = fetchgit { inherit rev;
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    sha256 = "17d837kyw16g91cnmdpdvhl2sgi3cb7fzligwwzjyp0y7kbiy3n4";
+    sha256 = "0sps2jcsh8x91xzm1zixmi4fij0agzg8m4scyf8sgb6mn41y92rx";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/tools/X11/xlayoutdisplay/default.nix b/pkgs/tools/X11/xlayoutdisplay/default.nix
index 5983cd3e663a..30903e448563 100644
--- a/pkgs/tools/X11/xlayoutdisplay/default.nix
+++ b/pkgs/tools/X11/xlayoutdisplay/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, xorg, boost, cmake, gtest }:
 
 stdenv.mkDerivation rec {
-  name = "xlayoutdisplay-${version}";
-  version = "1.0.2";
+  pname = "xlayoutdisplay";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "alex-courtis";
-    repo = "xlayoutdisplay";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1cqn98lpx9rkfhavbqalaaljw351hvqsrszgqnwvcyq05vq26dwx";
+    sha256 = "0wm6a48ym0wn2w0872mfq40ghajfrg1bccj1g342w899qh5x3bc4";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
       --replace 'fprintf(lidStateFile, contents);' \
                 'fputs(contents, lidStateFile);'
 
+    substituteInPlace CMakeLists.txt --replace "set(Boost_USE_STATIC_LIBS ON)" ""
   '';
 
   meta = with stdenv.lib; {
@@ -30,5 +31,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/alex-courtis/xlayoutdisplay;
     maintainers = with maintainers; [ dtzWill ];
     license = licenses.asl20;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/acme.sh/default.nix b/pkgs/tools/admin/acme.sh/default.nix
index fc4f5e8843e4..371a86f77246 100644
--- a/pkgs/tools/admin/acme.sh/default.nix
+++ b/pkgs/tools/admin/acme.sh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute }:
+{ stdenv, lib, fetchFromGitHub, makeWrapper, curl, openssl, socat, iproute, unixtools }:
 stdenv.mkDerivation rec {
   name = "acme.sh-${version}";
   version = "2.8.0";
@@ -16,7 +16,14 @@ stdenv.mkDerivation rec {
     mkdir -p $out $out/bin $out/libexec
     cp -R $src/* $_
     makeWrapper $out/libexec/acme.sh $out/bin/acme.sh \
-      --prefix PATH : "${lib.makeBinPath [ socat openssl curl iproute ]}"
+      --prefix PATH : "${
+        lib.makeBinPath [
+          socat
+          openssl
+          curl
+          (if stdenv.isLinux then iproute else unixtools.netstat)
+        ]
+      }"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 36def731afc7..d4107d678019 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "abcMIDI-${version}";
-  version = "2019.03.30";
+  version = "2019.04.22";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${name}.zip";
-    sha256 = "05a2n3l6l4ds9vi05hldw7fc6hx9avdh8jbiakazzmyvcsysr12x";
+    sha256 = "18w6sny8hc9yswqxqw5rvv5j07a50q8aaih73d74asm3nwf71rl1";
   };
 
   # There is also a file called "makefile" which seems to be preferred by the standard build phase
diff --git a/pkgs/tools/backup/dedup/default.nix b/pkgs/tools/backup/dedup/default.nix
new file mode 100644
index 000000000000..fdeacf91dd04
--- /dev/null
+++ b/pkgs/tools/backup/dedup/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, lz4, snappy, openmp }:
+
+stdenv.mkDerivation rec {
+  pname = "dedup";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "https://dl.2f30.org/releases/${pname}-${version}.tar.gz";
+    sha256 = "0wd4cnzhqk8l7byp1y16slma6r3i1qglwicwmxirhwdy1m7j5ijy";
+  };
+
+  makeFlags = [
+    "CC:=$(CC)"
+    "PREFIX=${placeholder "out"}"
+    "MANPREFIX=${placeholder "out"}/share/man"
+    # These are likely wrong on some platforms, please report!
+    "OPENMPCFLAGS=-fopenmp"
+    "OPENMPLDLIBS=-lgomp"
+  ];
+
+  buildInputs = [ lz4 snappy openmp ];
+
+  meta = with stdenv.lib; {
+    description = "data deduplication program";
+    homepage = https://git.2f30.org/dedup/file/README.html;
+    license = with licenses; [ bsd0 isc ];
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/tools/filesystems/mergerfs/default.nix b/pkgs/tools/filesystems/mergerfs/default.nix
index d84855ebb305..3a8d1d646be8 100644
--- a/pkgs/tools/filesystems/mergerfs/default.nix
+++ b/pkgs/tools/filesystems/mergerfs/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" "XATTR_AVAILABLE=1" ];
 
+  postFixup = ''
+    ln -s $out/bin/mergerfs $out/bin/mount.fuse.mergerfs
+  '';
+
   meta = {
     description = "A FUSE based union filesystem";
     homepage = https://github.com/trapexit/mergerfs;
diff --git a/pkgs/tools/graphics/argyllcms/default.nix b/pkgs/tools/graphics/argyllcms/default.nix
index aa1137eeeff1..679704197c65 100644
--- a/pkgs/tools/graphics/argyllcms/default.nix
+++ b/pkgs/tools/graphics/argyllcms/default.nix
@@ -2,7 +2,7 @@
 , libXrender, libXext, libtiff, libjpeg, libpng, libXScrnSaver, writeText
 , libXdmcp, libXau, lib, openssl }:
 let
-  version = "2.0.1";
+  version = "2.1.0";
  in
 stdenv.mkDerivation rec {
   name = "argyllcms-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     # Kind of flacky URL, it was reaturning 406 and inconsistent binaries for a
     # while on me. It might be good to find a mirror
     url = "https://www.argyllcms.com/Argyll_V${version}_src.zip";
-    sha256 = "0a7m5mwvy74db34hvqsgy296469x3139qj5gfj4zqpnz0iyxhkny";
+    sha256 = "02zxy6ipp84hrd1p5nspp3f9dzphr0qwlq8s557jn746cf866bv3";
 
     # The argyllcms web server doesn't like curl ...
     curlOpts = "--user-agent 'Mozilla/5.0'";
diff --git a/pkgs/tools/misc/pazi/cargo-lock.patch b/pkgs/tools/misc/pazi/cargo-lock.patch
new file mode 100644
index 000000000000..4be7aa44c9c7
--- /dev/null
+++ b/pkgs/tools/misc/pazi/cargo-lock.patch
@@ -0,0 +1,13 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 074b0ca..22f3bc5 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -286,7 +286,7 @@ dependencies = [
+ 
+ [[package]]
+ name = "pazi"
+-version = "0.1.0"
++version = "0.2.0"
+ dependencies = [
+  "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
+  "crossbeam-channel 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/pkgs/tools/misc/pazi/default.nix b/pkgs/tools/misc/pazi/default.nix
new file mode 100644
index 000000000000..0e9ea7f0d868
--- /dev/null
+++ b/pkgs/tools/misc/pazi/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "pazi";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "euank";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "12z2vyzmyxfq1krbbrjar7c2gvyq1969v16pb2pm7f4g4k24g0c8";
+  };
+
+  cargoSha256 = "0mgjl5vazk5z1859lb2va9af9yivz47jw4b01rjr4mq67v9jfld1";
+
+  cargoPatches = [ ./cargo-lock.patch ];
+
+  meta = with stdenv.lib; {
+    description = "An autojump \"zap to directory\" helper";
+    homepage = https://github.com/euank/pazi;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ bbigras ];
+  };
+}
diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix
index a7518625771f..dcbee0e343ec 100644
--- a/pkgs/tools/misc/staruml/default.nix
+++ b/pkgs/tools/misc/staruml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper
 , dpkg, patchelf
 , gtk2, glib, gdk_pixbuf, alsaLib, nss, nspr, GConf, cups, libgcrypt, dbus, systemd
-, libXdamage }:
+, libXdamage, expat }:
 
 let
   inherit (stdenv) lib;
   LD_LIBRARY_PATH = lib.makeLibraryPath
-    [ glib gtk2 gdk_pixbuf alsaLib nss nspr GConf cups libgcrypt dbus libXdamage ];
+    [ glib gtk2 gdk_pixbuf alsaLib nss nspr GConf cups libgcrypt dbus libXdamage expat ];
 in
 stdenv.mkDerivation rec {
   version = "2.8.1";
@@ -21,9 +21,7 @@ stdenv.mkDerivation rec {
       sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0";
     };
 
-  buildInputs = [ dpkg ];
-
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper dpkg ];
 
   unpackPhase = ''
     mkdir pkg
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index 9992c9db99e1..946a07d17b46 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -1,31 +1,40 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk2, hicolor-icon-theme
-, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, pkgconfig, intltool, autoreconfHook, wrapGAppsHook
+, gtk3, hicolor-icon-theme, netpbm }:
 
 stdenv.mkDerivation rec {
-  name = "yad-0.40.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/yad-dialog/files/${name}.tar.xz";
-    sha256 = "1x0fsv8nfkm8lchdawnf3zw79jaqbnvhv87sk5r8g86knv8vgl62";
+  pname = "yad";
+  version = "0.42.0";
+
+  src = fetchFromGitHub {
+    owner = "v1cont";
+    repo = "yad";
+    rev = "v${version}";
+    sha256 = "0ym8pgbzx7ydk5rmi2kwwdyzi6pdpcps86i0c20cqcjmqh8kdl36";
   };
 
   configureFlags = [
     "--enable-icon-browser"
+    "--with-gtk=gtk3"
+    "--with-rgb=${placeholder "out"}/share/yad/rgb.txt"
   ];
 
-  # for gcc5: c11 inline semantics breaks the build
-  NIX_CFLAGS_COMPILE = "-fgnu89-inline";
-
-  buildInputs = [ gtk2 hicolor-icon-theme ];
+  buildInputs = [ gtk3 hicolor-icon-theme ];
 
-  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig intltool wrapGAppsHook ];
 
   postPatch = ''
     sed -i src/file.c -e '21i#include <glib/gprintf.h>'
     sed -i src/form.c -e '21i#include <stdlib.h>'
+
+    # there is no point to bring in the whole netpbm package just for this file
+    install -Dm644 ${netpbm}/share/netpbm/misc/rgb.txt $out/share/yad/rgb.txt
   '';
 
-  meta = {
+  postAutoreconf = ''
+    intltoolize
+  '';
+
+  meta = with stdenv.lib; {
     homepage = https://sourceforge.net/projects/yad-dialog/;
     description = "GUI dialog tool for shell scripts";
     longDescription = ''
@@ -34,9 +43,8 @@ stdenv.mkDerivation rec {
       dialogs, pop-up menu in notification icon and more.
     '';
 
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [ smironov ];
-    license = stdenv.lib.licenses.gpl3;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ smironov ];
+    platforms = with platforms; linux;
   };
 }
-
diff --git a/pkgs/tools/misc/z-lua/default.nix b/pkgs/tools/misc/z-lua/default.nix
new file mode 100644
index 000000000000..495ea3925fd6
--- /dev/null
+++ b/pkgs/tools/misc/z-lua/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, lua }:
+
+stdenv.mkDerivation rec {
+  pname = "z-lua";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "skywind3000";
+    repo = "z.lua";
+    rev = "v${version}";
+    sha256 = "1f8iafv81xsypa78prazq6k2xz8az09kjhl97vn330drxkcpj7i7";
+  };
+
+  dontBuild = true;
+
+  buildInputs = [ lua ];
+
+  installPhase = ''
+    install -Dm755 z.lua $out/bin/z
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/skywind3000/z.lua;
+    description = "A new cd command that helps you navigate faster by learning your habits";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/tools/networking/atftp/default.nix b/pkgs/tools/networking/atftp/default.nix
index 068e68875468..e6d5abc17618 100644
--- a/pkgs/tools/networking/atftp/default.nix
+++ b/pkgs/tools/networking/atftp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "atftp-${version}";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/atftp/${name}.tar.gz";
-    sha256 = "0bgr31gbnr3qx4ixf8hz47l58sh3367xhcnfqd8233fvr84nyk5f";
+    sha256 = "0hah3fhzl6vfs381883vbvf4d13cdhsyf0x7ncbl55wz9rkq1l0s";
   };
 
   buildInputs = [ readline tcp_wrappers pcre makeWrapper gcc ];
diff --git a/pkgs/tools/networking/dd-agent/README.md b/pkgs/tools/networking/dd-agent/README.md
index b04af72aef10..8cff23b9574c 100644
--- a/pkgs/tools/networking/dd-agent/README.md
+++ b/pkgs/tools/networking/dd-agent/README.md
@@ -1,8 +1,17 @@
-To update v6 (v5 is deprecated and should be removed):
+To update datadog-agent v6 (v5 is deprecated and should be removed):
 
-1. Bump `version`, `rev`, `sha256` and `payloadVersion` in `6.nix`
+1. Bump `version`, `rev`, `sha256` and `payloadVersion` in `datadog-agent.nix`
 2. `git clone https://github.com/DataDog/datadog-agent.git && cd datadog-agent`
 3. `git checkout <tag>`
 4. `nix-env -i -f https://github.com/nixcloud/dep2nix/archive/master.tar.gz`
-5. `deps2nix`
-6. `cp deps.nix $NIXPKGS/pkgs/tools/networking/dd-agent/deps.nix`
+5. `dep2nix`
+6. `cp deps.nix $NIXPKGS/pkgs/tools/networking/dd-agent/datadog-agent-deps.nix`
+
+To update datadog-process-agent:
+
+1. Bump `version`, `rev` and `sha256` in `datadog-process-agent.nix`
+2. `git clone https://github.com/DataDog/datadog-process-agent.git && cd datadog-process-agent`
+3. `git checkout <tag>`
+4. `nix-env -i -f https://github.com/nixcloud/dep2nix/archive/master.tar.gz`
+5. `dep2nix`
+6. `cp deps.nix $NIXPKGS/pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix`
diff --git a/pkgs/tools/networking/dd-agent/deps.nix b/pkgs/tools/networking/dd-agent/datadog-agent-deps.nix
index 5da6741c6407..1121ec0405c1 100644
--- a/pkgs/tools/networking/dd-agent/deps.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-agent-deps.nix
@@ -32,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/DataDog/gohai";
-      rev =  "bc98f936c76570e79c1c7e739425ff22ab2ee4a3";
-      sha256 = "1r59b6qpjnv399hm6pqfklm47hapkjwy9cp92frb3mhfz0wf9djl";
+      rev =  "43b075bb9705588cd89c71363d6d72937e3020c7";
+      sha256 = "195z5g8gdxcx4cq51p2xqha3j8m7mk5d5lr6i3hbaxp948hgc8dh";
     };
   }
   {
@@ -50,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/DataDog/viper";
-      rev =  "23ced3bc6b3751855704445e48da2c53075ade86";
-      sha256 = "1zzf4mqpmk47p3395k2v8q6wi7lnqxr0l55vv4zk9gpqqyifbm9m";
+      rev =  "v1.5.0";
+      sha256 = "1sv0xvmfaif7zpfwk0j6qf11hxnfdsb2zfj63b9zx7l0zzhjzh06";
     };
   }
   {
@@ -397,15 +397,6 @@
     };
   }
   {
-    goPackagePath  = "github.com/geoffgarside/ber";
-    fetch = {
-      type = "git";
-      url = "https://github.com/geoffgarside/ber";
-      rev =  "0b763e6b6fb1cb7422c29cd9195a3abf625651fb";
-      sha256 = "04k9k6805mvgp6gxs53frvlpp45hvkvrpj1jl1hc27ldwv5gpjrk";
-    };
-  }
-  {
     goPackagePath  = "github.com/ghodss/yaml";
     fetch = {
       type = "git";
@@ -685,15 +676,6 @@
     };
   }
   {
-    goPackagePath  = "github.com/k-sone/snmpgo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/k-sone/snmpgo";
-      rev =  "de09377ff34857b08afdc16ea8c7c2929eb1fc6e";
-      sha256 = "0fia82msxviawcp5w4j4ll9n7z3gfjjvigqcq0d94cshj9ras10j";
-    };
-  }
-  {
     goPackagePath  = "github.com/kardianos/osext";
     fetch = {
       type = "git";
@@ -1057,9 +1039,9 @@
     goPackagePath  = "github.com/spf13/cast";
     fetch = {
       type = "git";
-      url = "https://github.com/spf13/cast";
-      rev =  "8965335b8c7107321228e3e3702cab9832751bac";
-      sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2";
+      url = "https://github.com/DataDog/cast";
+      rev =  "1ee8c8bd14a3d768a7ff681617ed56bc6c204940";
+      sha256 = "0sgqmhicy672250cxgqd8zlni3qlj57r8liyiaq15g9spyhflhl0";
     };
   }
   {
@@ -1368,4 +1350,4 @@
       sha256 = "1wpqijsvf8s4iqjrrzgbxi3gay6vaglscyq14vxma4iacg8fx1jk";
     };
   }
-]
+]
\ No newline at end of file
diff --git a/pkgs/tools/networking/dd-agent/6.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix
index 0c0c4212b6aa..d751b32a869c 100644
--- a/pkgs/tools/networking/dd-agent/6.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix
@@ -6,14 +6,14 @@ let
 
 in buildGoPackage rec {
   name = "datadog-agent-${version}";
-  version = "6.10.1";
+  version = "6.11.0";
   owner   = "DataDog";
   repo    = "datadog-agent";
 
   src = fetchFromGitHub {
     inherit owner repo;
     rev    = "${version}";
-    sha256 = "1yxwlf0kwjhadq6f1p9z100d363x1s1xzni3rw42m08mzx9fr469";
+    sha256 = "1gvawsrm3qlrciahnqa9793hwm586jiccmnz1pp0z889508wbg07";
   };
 
   subPackages = [
@@ -23,7 +23,7 @@ in buildGoPackage rec {
     "cmd/py-launcher"
     "cmd/trace-agent"
   ];
-  goDeps = ./deps.nix;
+  goDeps = ./datadog-agent-deps.nix;
   goPackagePath = "github.com/${owner}/${repo}";
 
   # Explicitly set this here to allow it to be overridden.
diff --git a/pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix b/pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix
index ca6b3dcee420..2a81702feee9 100644
--- a/pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-process-agent-deps.nix
@@ -23,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/DataDog/datadog-agent";
-      rev =  "4aa90bd394b62b0d3e3f15703c6e459c1c477fbc";
-      sha256 = "13zvg8ykakq97bw0kd2gj4s9gfjpx23d3c51w1jpa1raqwhgqi8z";
+      rev =  "d7712d570b91f4f97af9f155ad1c676921d8325d";
+      sha256 = "1gi921z79la4hjhm8xhl4jz167200qljvhhsy4blj4vinkgfpm8w";
     };
   }
   {
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/DataDog/gopsutil";
-      rev =  "c8f74f1344dd41bc49ec4d3c2377c526aaedfd20";
-      sha256 = "0r8al83apxrq1v6s2mq0p8h3c4z4n5g7ax8vcvs70pq0czy2fvgp";
+      rev =  "233cd0cf42c26d835ed6f0e46f2103432a88b526";
+      sha256 = "0rvxs1jjzv3j834dns28zr25bznarjmpgdy0z6gpimnq5nyicys5";
     };
   }
   {
@@ -50,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/DataDog/viper";
-      rev =  "23ced3bc6b3751855704445e48da2c53075ade86";
-      sha256 = "1zzf4mqpmk47p3395k2v8q6wi7lnqxr0l55vv4zk9gpqqyifbm9m";
+      rev =  "v1.5.0";
+      sha256 = "1sv0xvmfaif7zpfwk0j6qf11hxnfdsb2zfj63b9zx7l0zzhjzh06";
     };
   }
   {
@@ -666,4 +666,4 @@
       sha256 = "0bcsb7s4wlmrja35zvz4s10cf3w7dfn2ckjv6apxd1ykdjxnsk71";
     };
   }
-]
+]
\ No newline at end of file
diff --git a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
index b5010c28cb51..2e4ff9ab732f 100644
--- a/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-process-agent.nix
@@ -2,14 +2,14 @@
 
 buildGoPackage rec {
   name = "datadog-process-agent-${version}";
-  version = "6.10.0";
+  version = "6.11.0";
   owner   = "DataDog";
   repo    = "datadog-process-agent";
 
   src = fetchFromGitHub {
     inherit owner repo;
     rev    = "${version}";
-    sha256 = "16lr1gp6n0aph8zikk5kmaib9i5b1jbndxlxfi84bd9f8lhvmkhk";
+    sha256 = "1max3gp1isb30fjy55bkp9dsd8al31a968pmnr1h8wg2pycvgyif";
   };
 
   goDeps = ./datadog-process-agent-deps.nix;
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 47ed55f914cf..b0102a557c22 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   # when updating this to >=7, check, see previous reverts:
   # nix-build -A nixos.tests.networking.scripted.macvlan.x86_64-linux nixos/release-combined.nix
-  name = "dhcpcd-7.2.0";
+  name = "dhcpcd-7.2.1";
 
   src = fetchurl {
     url = "mirror://roy/dhcpcd/${name}.tar.xz";
-    sha256 = "0hmjxix7jmbbzgjw8chxgp6kzmwf5sxdimb35i1cnsm830rmbzsz";
+    sha256 = "1s2gli943v9vblp553h76xd8y0hmfps3fj0k75kibhk3ymrjcw97";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/httplz/cargo-lock.patch b/pkgs/tools/networking/httplz/cargo-lock.patch
new file mode 100644
index 000000000000..d1640ebc43df
--- /dev/null
+++ b/pkgs/tools/networking/httplz/cargo-lock.patch
@@ -0,0 +1,1211 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..ff2d50d
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,1205 @@
++[[package]]
++name = "adler32"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "antidote"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "atty"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "autocfg"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "base64"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "base64"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bitflags"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bitflags"
++version = "1.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "brotli-sys"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "brotli2"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "brotli-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "build_const"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "byteorder"
++version = "1.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "bzip2"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "bzip2-sys"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.35"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "clap"
++version = "2.33.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "cloudabi"
++version = "0.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "core-foundation"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crc"
++version = "1.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "crc32fast"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ctrlc"
++version = "3.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "dtoa"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "embed-resource"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "vswhom 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "flate2"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "fuchsia-cprng"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "gcc"
++version = "0.3.55"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "httparse"
++version = "1.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "https"
++version = "1.5.0"
++dependencies = [
++ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ctrlc 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "embed-resource 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "flate2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iron 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazysort 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "md6 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rfsapi 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "trivial_colours 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "hyper"
++version = "0.10.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "hyper-native-tls"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "idna"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "iron"
++version = "0.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "modifier 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "plugin 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "itoa"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "language-tags"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "lazy_static"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "lazy_static"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "lazysort"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "libc"
++version = "0.2.53"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "log"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "log"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "md6"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "memchr"
++version = "2.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "mime"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "mime_guess"
++version = "1.8.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "miniz-sys"
++version = "0.1.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "miniz_oxide"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "miniz_oxide_c_api"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "miniz_oxide 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "modifier"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "native-tls"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "nix"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.1.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "num_cpus"
++version = "1.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "numtoa"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "openssl"
++version = "0.9.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "phf"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_codegen"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.7.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "pkg-config"
++version = "0.3.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "plugin"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "quote"
++version = "0.3.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rand"
++version = "0.4.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "rand_hc"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_isaac"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_jitter"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_os"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_pcg"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rand_xorshift"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rdrand"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.54"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "redox_termios"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex"
++version = "1.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rfsapi"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "safemem"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "schannel"
++version = "0.1.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "security-framework"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "security-framework-sys"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "serde"
++version = "0.9.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "serde_codegen_internals"
++version = "0.14.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_derive"
++version = "0.9.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "serde_json"
++version = "0.9.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "siphasher"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "smallvec"
++version = "0.6.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "syn"
++version = "0.11.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "synom"
++version = "0.11.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "tempdir"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "termion"
++version = "1.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "thread_local"
++version = "0.3.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "time"
++version = "0.1.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "traitobject"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "trivial_colours"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "typeable"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "typemap"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "ucd-util"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicase"
++version = "1.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicase"
++version = "2.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "unicode-width"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unicode-xid"
++version = "0.0.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "unsafe-any"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "url"
++version = "1.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "utf8-ranges"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "vcpkg"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "vec_map"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "version_check"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "void"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "vswhom"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "vswhom-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "vswhom-sys"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi"
++version = "0.3.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
++name = "winreg"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[metadata]
++"checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
++"checksum aho-corasick 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f484ae0c99fec2e858eb6134949117399f222608d84cadb3f58c1f97c2364c"
++"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++"checksum antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5"
++"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
++"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
++"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
++"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
++"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
++"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
++"checksum brotli-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd"
++"checksum brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e"
++"checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
++"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
++"checksum bzip2 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b"
++"checksum bzip2-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6584aa36f5ad4c9247f5323b0a42f37802b37a836f0ad87084d7a33961abe25f"
++"checksum cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)" = "5e5f3fee5eeb60324c2781f1e41286bdee933850fff9b3c672587fed5ec58c83"
++"checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4"
++"checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9"
++"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
++"checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67"
++"checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d"
++"checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
++"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
++"checksum ctrlc 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5531b7f0698d9220b4729f8811931dbe0e91a05be2f7b3245fdc50dd856bae26"
++"checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd"
++"checksum embed-resource 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee11dd277e159f3a7845341f8c800899cf918a366956e31dd52f35eff638a403"
++"checksum flate2 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f87e68aa82b2de08a6e037f1385455759df6e445a8df5e005b4297191dbf18aa"
++"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
++"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
++"checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
++"checksum hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273"
++"checksum hyper-native-tls 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "72332e4a35d3059583623b50e98e491b78f8b96c5521fcb3f428167955aa56e8"
++"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
++"checksum iron 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d8e17268922834707e1c29e8badbf9c712c9c43378e1b6a3388946baff10be2"
++"checksum itoa 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8324a32baf01e2ae060e9de58ed0bc2320c9a2833491ee36cd3b4c414de4db8c"
++"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
++"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
++"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
++"checksum lazysort 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e22ff43b231e0e2f87d74984e53ebc73b90ae13397e041214fb07efc64168f"
++"checksum libc 0.2.53 (registry+https://github.com/rust-lang/crates.io-index)" = "ec350a9417dfd244dc9a6c4a71e13895a4db6b92f0b106f07ebbc3f3bc580cee"
++"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
++"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
++"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++"checksum md6 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "54e5826684849cecd3fa05a6a5052c50a3542f163a9917ff0b91379426a2e45d"
++"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
++"checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
++"checksum mime_guess 1.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2d4c0961143b8efdcfa29c3ae63281601b446a4a668165454b6c90f8024954c5"
++"checksum miniz-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "0300eafb20369952951699b68243ab4334f4b10a88f411c221d444b36c40e649"
++"checksum miniz_oxide 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c468f2369f07d651a5d0bb2c9079f8488a66d5466efe42d0c5c6466edcb7f71e"
++"checksum miniz_oxide_c_api 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b7fe927a42e3807ef71defb191dc87d4e24479b221e67015fe38ae2b7b447bab"
++"checksum modifier 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41f5c9112cb662acd3b204077e0de5bc66305fa8df65c8019d5adb10e9ab6e58"
++"checksum native-tls 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f74dbadc8b43df7864539cedb7bc91345e532fdd913cfdc23ad94f4d2d40fbc0"
++"checksum nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "46f0f3210768d796e8fa79ec70ee6af172dacbe7147f5e69be5240a47778302b"
++"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
++"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
++"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
++"checksum numtoa 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef"
++"checksum openssl 0.9.24 (registry+https://github.com/rust-lang/crates.io-index)" = "a3605c298474a3aa69de92d21139fb5e2a81688d308262359d85cdd0d12a7985"
++"checksum openssl-sys 0.9.43 (registry+https://github.com/rust-lang/crates.io-index)" = "33c86834957dd5b915623e94f2f4ab2c70dd8f6b70679824155d5ae21dbd495d"
++"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
++"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
++"checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
++"checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
++"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
++"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
++"checksum plugin 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "1a6a0dc3910bc8db877ffed8e457763b317cf880df4ae19109b9f77d277cf6e0"
++"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
++"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
++"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
++"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
++"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
++"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
++"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
++"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
++"checksum rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b9ea758282efe12823e0d952ddb269d2e1897227e464919a554f2a03ef1b832"
++"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
++"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
++"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
++"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
++"checksum redox_syscall 0.1.54 (registry+https://github.com/rust-lang/crates.io-index)" = "12229c14a0f65c4f1cb046a3b52047cdd9da1f4b30f8a39c5063c8bae515e252"
++"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
++"checksum regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "8f0a0bcab2fd7d1d7c54fa9eae6f43eddeb9ce2e7352f8518a814a4f65d60c58"
++"checksum regex-syntax 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "dcfd8681eebe297b81d98498869d4aae052137651ad7b96822f09ceb690d0a96"
++"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
++"checksum rfsapi 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1b6fbc119d00459f80252adb96e554766d75de071ed5d3c49f46a000d137cd49"
++"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
++"checksum schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339"
++"checksum security-framework 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "dfa44ee9c54ce5eecc9de7d5acbad112ee58755239381f687e564004ba4a2332"
++"checksum security-framework-sys 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "5421621e836278a0b139268f36eee0dc7e389b784dc3f79d8f11aabadf41bead"
++"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
++"checksum serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af"
++"checksum serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc888bd283bd2420b16ad0d860e35ad8acb21941180a83a189bb2046f9d00400"
++"checksum serde_derive 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "978fd866f4d4872084a81ccc35e275158351d3b9fe620074e7d7504b816b74ba"
++"checksum serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ad8bcf487be7d2e15d3d543f04312de991d631cfe1b43ea0ade69e6a8a5b16a1"
++"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
++"checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
++"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
++"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
++"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
++"checksum termion 1.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dde0593aeb8d47accea5392b39350015b5eccb12c0d98044d856983d89548dea"
++"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
++"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
++"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
++"checksum trivial_colours 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7153365ea16c5a0ce2eebc4da1b33339a6b21d90c49f670e82130639656bb458"
++"checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
++"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
++"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
++"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
++"checksum unicase 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41d17211f887da8e4a70a45b9536f26fc5de166b81e2d5d80de4a17fd22553bd"
++"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
++"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
++"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
++"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
++"checksum unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
++"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
++"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
++"checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
++"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
++"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
++"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
++"checksum vswhom 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
++"checksum vswhom-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc2f5402d3d0e79a069714f7b48e3ecc60be7775a2c049cb839457457a239532"
++"checksum winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770"
++"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++"checksum winreg 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a"
diff --git a/pkgs/tools/networking/httplz/default.nix b/pkgs/tools/networking/httplz/default.nix
new file mode 100644
index 000000000000..21fc08a39a9e
--- /dev/null
+++ b/pkgs/tools/networking/httplz/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, rustPlatform, pkgs }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "httplz";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "thecoshman";
+    repo = "http";
+    rev = "v${version}";
+    sha256 = "0mb2wifz8pba03bdpiqadih33jimhg9crs4b72rcyfmj9l8fd1ba";
+  };
+
+  buildInputs = with pkgs; [ openssl pkgconfig ];
+
+  cargoBuildFlags = [ "--bin httplz" ];
+  cargoPatches = [ ./cargo-lock.patch ];
+  cargoSha256 = "0cy23smal6y5qj6a202zf7l76vwkpzvcjmlbq0ffyph3gq07ps7b";
+
+  meta = with stdenv.lib; {
+    description = "A basic http server for hosting a folder fast and simply";
+    homepage = https://github.com/thecoshman/http;
+    license = licenses.mit;
+    maintainers = with maintainers; [ bbigras ];
+  };
+}
diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix
index 44bbb3779d04..3bcb1460a700 100644
--- a/pkgs/tools/networking/openvpn/default.nix
+++ b/pkgs/tools/networking/openvpn/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, iproute, lzo, openssl, pam, pkgconfig
-, useSystemd ? stdenv.isLinux, systemd ? null
+{ stdenv, fetchurl, pkgconfig
+, iproute, lzo, openssl, pam
+, useSystemd ? stdenv.isLinux, systemd ? null, utillinux ? null
 , pkcs11Support ? false, pkcs11helper ? null,
 }:
 
@@ -8,7 +9,15 @@ assert pkcs11Support -> (pkcs11helper != null);
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
+let
+  # There is some fairly brittle string substitutions going on to replace paths,
+  # so please verify this script in case you are upgrading it
+  update-resolved = fetchurl {
+    url = "https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/v1.2.7/update-systemd-resolved";
+    sha256 = "12zfzh42apwbj7ks5kfxf3far7kaghlby4yapbhn00q8pbdlw7pq";
+  };
+
+in stdenv.mkDerivation rec {
   name = "openvpn-${version}";
   version = "2.4.7";
 
@@ -18,6 +27,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
+
   buildInputs = [ lzo openssl ]
                   ++ optionals stdenv.isLinux [ pam iproute ]
                   ++ optional useSystemd systemd
@@ -35,17 +45,27 @@ stdenv.mkDerivation rec {
     cp -r sample/sample-config-files/ $out/share/doc/openvpn/examples
     cp -r sample/sample-keys/ $out/share/doc/openvpn/examples
     cp -r sample/sample-scripts/ $out/share/doc/openvpn/examples
+
+    ${optionalString useSystemd ''
+      install -Dm755 ${update-resolved} $out/libexec/update-systemd-resolved
+
+      substituteInPlace $out/libexec/update-systemd-resolved \
+        --replace '/usr/bin/env bash' '${stdenv.shell} -e' \
+        --replace 'busctl call'       '${getBin systemd}/bin/busctl call' \
+        --replace '(ip '              '(${getBin iproute}/bin/ip ' \
+        --replace 'logger '           '${getBin utillinux}/bin/logger '
+    ''}
   '';
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A robust and highly flexible tunneling application";
-    homepage = https://openvpn.net/;
     downloadPage = "https://openvpn.net/index.php/open-source/downloads.html";
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.viric ];
-    platforms = stdenv.lib.platforms.unix;
+    homepage = https://openvpn.net/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.unix;
     updateWalker = true;
   };
 }
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 834ea1bd873d..ec62c105c62c 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0jnhjijyq74g3wa4ph0am83z6vq7qna7ac0xqjma8s4197z3zmhd";
   };
 
+  patches = stdenv.lib.optional stdenv.isDarwin ./speed-type-fix.patch;
+
   postPatch = ''
     patchShebangs test.sh
     substituteInPlace test.sh \
diff --git a/pkgs/tools/networking/socat/speed-type-fix.patch b/pkgs/tools/networking/socat/speed-type-fix.patch
new file mode 100644
index 000000000000..58e4c716bba0
--- /dev/null
+++ b/pkgs/tools/networking/socat/speed-type-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/xio-termios.h b/xio-termios.h
+index a288a2f..9858aab 100644
+--- a/xio-termios.h
++++ b/xio-termios.h
+@@ -148,7 +148,7 @@ extern int xiotermiosflag_applyopt(int fd, struct opt *opt);
+ extern int xiotermios_value(int fd, int word, tcflag_t mask, tcflag_t value);
+ extern int xiotermios_char(int fd, int n, unsigned char c);
+ #ifdef HAVE_TERMIOS_ISPEED
+-extern int xiotermios_speed(int fd, int n, unsigned int speed);
++extern int xiotermios_speed(int fd, int n, speed_t speed);
+ #endif
+ extern int xiotermios_spec(int fd, int optcode);
+ extern int xiotermios_flush(int fd);
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index ff276c0d18a1..8cd76b9ca4e6 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -34,10 +34,7 @@ stdenv.mkDerivation rec {
     ++ optionals enableTNC [ trousers sqlite libxml2 ]
     ++ optionals stdenv.isLinux [ systemd.dev pam iptables ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ SystemConfiguration ])
-    ++ optionals enableNetworkManager [ networkmanager ]
-    # ad-hoc fix for https://github.com/NixOS/nixpkgs/pull/51787
-    # Remove when the above PR lands in master
-    ++ [ libpcap ];
+    ++ optionals enableNetworkManager [ networkmanager ];
 
   patches = [
     ./ext_auth-path.patch
@@ -56,10 +53,6 @@ stdenv.mkDerivation rec {
     substituteInPlace src/libcharon/plugins/resolve/resolve_handler.c --replace "/sbin/resolvconf" "${openresolv}/sbin/resolvconf"
     '';
 
-  preConfigure = ''
-    configureFlagsArray+=("--with-systemdsystemunitdir=$out/etc/systemd/system")
-  '';
-
   configureFlags =
     [ "--enable-swanctl"
       "--enable-cmd"
@@ -74,7 +67,7 @@ stdenv.mkDerivation rec {
       "--enable-curl" ]
     ++ optionals stdenv.isLinux [
       "--enable-farp" "--enable-dhcp"
-      "--enable-systemd"
+      "--enable-systemd" "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
       "--enable-xauth-pam"
       "--enable-forecast"
       "--enable-connmark"
diff --git a/pkgs/tools/networking/wol/default.nix b/pkgs/tools/networking/wol/default.nix
index 5349abec1614..570d800311e2 100644
--- a/pkgs/tools/networking/wol/default.nix
+++ b/pkgs/tools/networking/wol/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  name = "wol-${version}";
+  pname = "wol";
   version = "0.7.1";
-  proj = "wake-on-lan";
-
-  enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "mirror://sourceforge/${proj}/${name}.tar.gz";
+    url = "mirror://sourceforge/wake-on-lan/${pname}-${version}.tar.gz";
     sha256 = "08i6l5lr14mh4n3qbmx6kyx7vjqvzdnh3j9yfvgjppqik2dnq270";
   };
 
-  meta = {
+  # for pod2man in order to get a manpage
+  nativeBuildInputs = [ perl ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     description = "Implements Wake On LAN functionality in a small program";
     homepage = https://sourceforge.net/projects/wake-on-lan/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ makefu ];
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ makefu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/browserpass/2.nix b/pkgs/tools/security/browserpass/2.nix
deleted file mode 100644
index fdbd757449a6..000000000000
--- a/pkgs/tools/security/browserpass/2.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-{ stdenv, buildGoPackage, fetchFromGitHub, gnupg }:
-
-buildGoPackage rec {
-  name = "browserpass-${version}";
-  version = "2.0.22";
-
-  goPackagePath = "github.com/dannyvankooten/browserpass";
-
-  goDeps = ./2deps.nix;
-
-  src = fetchFromGitHub {
-    repo = "browserpass";
-    owner = "dannyvankooten";
-    rev = version;
-    sha256 = "05cacrx08k99c5zra7ksdik9xxn3vih3x6in7536zs5gm55mkbfx";
-  };
-
-  postPatch = ''
-    substituteInPlace browserpass.go                                           \
-      --replace /usr/local/bin/gpg ${gnupg}/bin/gpg
-  '';
-
-  postInstall = ''
-      host_file="$bin/bin/browserpass"
-      mkdir -p "$bin/etc"
-
-      sed -e "s!%%replace%%!$host_file!" go/src/${goPackagePath}/chrome/host.json > chrome-host.json
-      sed -e "s!%%replace%%!$host_file!" go/src/${goPackagePath}/firefox/host.json > firefox-host.json
-
-      install chrome-host.json $bin/etc/
-      install -D firefox-host.json $bin/lib/mozilla/native-messaging-hosts/com.dannyvankooten.browserpass.json
-      install go/src/${goPackagePath}/chrome/policy.json $bin/etc/chrome-policy.json
-  '';
-
-  meta = with stdenv.lib; {
-    description = "A Chrome & Firefox extension for zx2c4's pass";
-    homepage = https://github.com/dannyvankooten/browserpass;
-    license = licenses.mit;
-    platforms = with platforms; linux ++ darwin ++ openbsd;
-    maintainers = with maintainers; [ rvolosatovs ];
-  };
-}
diff --git a/pkgs/tools/security/browserpass/2deps.nix b/pkgs/tools/security/browserpass/2deps.nix
deleted file mode 100644
index 631463a69d11..000000000000
--- a/pkgs/tools/security/browserpass/2deps.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/gokyle/twofactor";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gokyle/twofactor";
-      rev = "eaad1884d40f9cabff98a57a524c17afd00c9fe7";
-      sha256 = "07kvga6f2b56kpy52a3xk16garvlqz950s350dax97x7cayba95g";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-zglob";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-zglob";
-      rev = "4959821b481786922ac53e7ef25c61ae19fb7c36";
-      sha256 = "0rwkdw143kphpmingsrw1zp030zf3p08f64h347jpdm4lz8z5449";
-    };
-  }
-  {
-    goPackagePath = "github.com/sahilm/fuzzy";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sahilm/fuzzy";
-      rev = "a154b19bb758dcdd6ede58dc11ea53c2950527b2";
-      sha256 = "0jkw6474d5ik2fq2zznqxj4y3p42z47r7mbg856ln5wyara2sg0l";
-    };
-  }
-  {
-    goPackagePath = "rsc.io/qr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rsc/qr";
-      rev = "48b2ede4844e13f1a2b7ce4d2529c9af7e359fc5";
-      sha256 = "1npxy32glnkvsp0871972jzjzgkwaqmbv6jsj9wgqsa1s2jr004p";
-    };
-  }
-]
diff --git a/pkgs/tools/security/browserpass/default.nix b/pkgs/tools/security/browserpass/default.nix
index 055444d5566d..4e602804405b 100644
--- a/pkgs/tools/security/browserpass/default.nix
+++ b/pkgs/tools/security/browserpass/default.nix
@@ -1,12 +1,5 @@
-{ lib, callPackage, buildGoPackage, fetchFromGitHub, makeWrapper, gnupg }:
-let
-  # For backwards compatibility with v2 of the browser extension, we embed v2
-  # of the native host in v3. Because the extension will auto-update when it
-  # is released, this code can be removed from that point on.
-  # Don't forget to remove v2 references down below and the v2 files in this
-  # folder
-  v2 = callPackage ./2.nix {};
-in buildGoPackage rec {
+{ lib, callPackage, buildGoModule, fetchFromGitHub, makeWrapper, gnupg }:
+buildGoModule rec {
   pname = "browserpass";
   version = "3.0.6";
 
@@ -19,8 +12,7 @@ in buildGoPackage rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  goPackagePath = "github.com/browserpass/browserpass-native";
-  goDeps = ./deps.nix;
+  modSha256 = "13yw7idgw8l48yvm4jjha0kbx6q22m2zp13y006mikavynqsr5kj";
 
   postPatch = ''
     # Because this Makefile will be installed to be used by the user, patch
@@ -31,10 +23,9 @@ in buildGoPackage rec {
     sed -i -e 's/INSTALL :=.*/INSTALL := install/' Makefile
   '';
 
-  DESTDIR = placeholder "bin";
+  DESTDIR = placeholder "out";
 
   postConfigure = ''
-    cd "go/src/$goPackagePath"
     make configure
   '';
 
@@ -45,16 +36,12 @@ in buildGoPackage rec {
   installPhase = ''
     make install
 
-    wrapProgram $bin/bin/browserpass \
+    wrapProgram $out/bin/browserpass \
       --suffix PATH : ${lib.makeBinPath [ gnupg ]}
 
     # This path is used by our firefox wrapper for finding native messaging hosts
-    mkdir -p $bin/lib/mozilla/native-messaging-hosts
-    ln -s $bin/lib/browserpass/hosts/firefox/*.json $bin/lib/mozilla/native-messaging-hosts
-
-    # These can be removed too, see comment up top
-    ln -s ${lib.getBin v2}/etc $bin/etc
-    ln -s ${lib.getBin v2}/lib/mozilla/native-messaging-hosts/* $bin/lib/mozilla/native-messaging-hosts
+    mkdir -p $out/lib/mozilla/native-messaging-hosts
+    ln -s $out/lib/browserpass/hosts/firefox/*.json $out/lib/mozilla/native-messaging-hosts
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/security/browserpass/deps.nix b/pkgs/tools/security/browserpass/deps.nix
deleted file mode 100644
index 334a189ad404..000000000000
--- a/pkgs/tools/security/browserpass/deps.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.1";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-    };
-  }
-  {
-    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "v1.0.2";
-      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-zglob";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-zglob";
-      rev = "v0.0.1";
-      sha256 = "1sncdyq5fbd42al4amyy91h7vlzm3wm6c9vl8za2pjgfgsd581fz";
-    };
-  }
-  {
-    goPackagePath = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev = "v1.0.0";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath = "github.com/rifflock/lfshook";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rifflock/lfshook";
-      rev = "b9218ef580f5";
-      sha256 = "0wxqjcjfg8c0klmdgmbw3ckagby3wg9rkga9ihd4fsf05x5scxrc";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "v1.4.0";
-      sha256 = "1y1qjcg19z7q9sy32rhc148kdql2aw7xkcm9d6r1blrl0mdgpx0w";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.1.1";
-      sha256 = "0iph0qmpyqg4kwv8jsx6a56a7hhqq8swrazv40ycxk9rzr0s8yls";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "c2843e01d9a2";
-      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "fead79001313";
-      sha256 = "12vwl6sv6w7q0dyvynjhbp67242rhh77d6nlsb22ajr8rf17c63i";
-    };
-  }
-]
diff --git a/pkgs/tools/security/kwalletcli/default.nix b/pkgs/tools/security/kwalletcli/default.nix
index 52e8ab8cf570..fedf3421fb1c 100644
--- a/pkgs/tools/security/kwalletcli/default.nix
+++ b/pkgs/tools/security/kwalletcli/default.nix
@@ -1,48 +1,48 @@
-{
-  mkDerivation, fetchurl, lib,
-  pkgconfig,
-  kcoreaddons, ki18n, kwallet,
-  mksh
-}:
-
-let
+{ mkDerivation, fetchFromGitHub, lib, makeWrapper, pkgconfig
+, kcoreaddons, ki18n, kwallet, mksh, pinentry_qt5 }:
+
+mkDerivation rec {
   pname = "kwalletcli";
   version = "3.02";
-in
-mkDerivation rec {
-  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://www.mirbsd.org/MirOS/dist/hosted/kwalletcli/${name}.tar.gz";
-    sha256 = "05njayi07996ljfl8a6frlk2s60grk5w27f0f445nmvd5n0bzgpn";
+  src = fetchFromGitHub {
+    owner = "MirBSD";
+    repo = pname;
+    rev = "${pname}-${lib.replaceStrings [ "." ] [ "_" ] version}";
+    sha256 = "1gq45afb5nmmjfqxglv7wvcxcjd9822pc7nysq0350jmmmqwb474";
   };
 
   postPatch = ''
     substituteInPlace GNUmakefile \
-      --replace '-I/usr/include/KF5/KCoreAddons' '-I${kcoreaddons.dev}/include/KF5/KCoreAddons' \
-      --replace '-I/usr/include/KF5/KI18n'       '-I${ki18n.dev}/include/KF5/KI18n' \
-      --replace '-I/usr/include/KF5/KWallet'     '-I${kwallet.dev}/include/KF5/KWallet' \
-      --replace /usr/bin                         $out/bin \
-      --replace /usr/share/man                   $out/share/man
+      --replace -I/usr/include/KF5/KCoreAddons -I${kcoreaddons.dev}/include/KF5/KCoreAddons \
+      --replace -I/usr/include/KF5/KI18n       -I${ki18n.dev}/include/KF5/KI18n \
+      --replace -I/usr/include/KF5/KWallet     -I${kwallet.dev}/include/KF5/KWallet \
+      --replace /usr/bin                       $out/bin \
+      --replace /usr/share/man                 $out/share/man
+
+    substituteInPlace pinentry-kwallet \
+      --replace '/usr/bin/env mksh' ${mksh}/bin/mksh
   '';
 
   makeFlags = [ "KDE_VER=5" ];
 
-  # we need this when building against qt 5.8+
-  NIX_CFLAGS_COMPILE = [ "-std=c++11" ];
-
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ makeWrapper pkgconfig ];
   # if using just kwallet, cmake will be added as a buildInput and fail the build
   propagatedBuildInputs = [ kcoreaddons ki18n (lib.getLib kwallet) ];
-  propagatedUserEnvPkgs = [ mksh ];
 
   preInstall = ''
     mkdir -p $out/bin $out/share/man/man1
   '';
 
+  postInstall = ''
+    wrapProgram $out/bin/pinentry-kwallet \
+      --prefix PATH : $out/bin:${lib.makeBinPath [ pinentry_qt5 ]} \
+      --set-default PINENTRY pinentry-qt
+  '';
+
   meta = with lib; {
     description = "Command-Line Interface to the KDE Wallet";
-    homepage = http://www.mirbsd.org/kwalletcli.htm;
+    homepage = https://www.mirbsd.org/kwalletcli.htm;
     license = licenses.miros;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/tools/security/mfoc/default.nix b/pkgs/tools/security/mfoc/default.nix
index 278818e88b54..1ae18e343537 100644
--- a/pkgs/tools/security/mfoc/default.nix
+++ b/pkgs/tools/security/mfoc/default.nix
@@ -1,17 +1,28 @@
-{ stdenv, fetchurl, pkgconfig, libnfc }:
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, libnfc }:
 
 stdenv.mkDerivation rec {
-  name = "mfoc-${version}";
-  version = "0.10.6";
+  pname = "mfoc";
+  version = "0.10.7";
 
-  src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mfoc/${name}.tar.gz";
-    sha1 = "3adce3029dce9124ff3bc7d0fad86fa0c374a9e3";
+  src = fetchFromGitHub {
+    owner = "nfc-tools";
+    repo = pname;
+    rev = "${pname}-${version}";
+    sha256 = "0hbg1fn4000qdg1cfc7y8l0vh1mxlxcz7gapkcq54xp2l6kk1z65";
   };
 
-  patches = [./mf_mini.patch];
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/nfc-tools/mfoc/commit/f13efb0a6deb1d97ba945d555a6a5d6be89b593f.patch";
+      sha256 = "109gqzp8rdsjvj0nra686vy0dpd2bl6q5v9m4v98cpxkbz496450";
+    })
+    (fetchpatch {
+      url = "https://github.com/nfc-tools/mfoc/commit/00eae36f891bc4580103e3b54f0bb5228af2cdef.patch";
+      sha256 = "1w56aj96g776f37j53jmf3hk21x4mqik3l2bmghrdp8drixc8bzk";
+    })
+  ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libnfc ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/mfoc/mf_mini.patch b/pkgs/tools/security/mfoc/mf_mini.patch
deleted file mode 100644
index 02bd656d6025..000000000000
--- a/pkgs/tools/security/mfoc/mf_mini.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-diff --git a/src/mfoc.c b/src/mfoc.c
-index 0cb917d..195de68 100644
---- a/src/mfoc.c
-+++ b/src/mfoc.c
-@@ -93,8 +93,8 @@ int main(int argc, char *const argv[])
-     {0x58, 0x7e, 0xe5, 0xf9, 0x35, 0x0f},
-     {0xa0, 0x47, 0x8c, 0xc3, 0x90, 0x91},
-     {0x53, 0x3c, 0xb6, 0xc7, 0x23, 0xf6},
--    {0x8f, 0xd0, 0xa4, 0xf2, 0x56, 0xe9}
--
-+    {0x8f, 0xd0, 0xa4, 0xf2, 0x56, 0xe9},
-+    {0xb4, 0xc1, 0x32, 0x43, 0x9e, 0xef}
-   };
- 
-   mftag		t;
-@@ -219,12 +219,31 @@ int main(int argc, char *const argv[])
-     goto error;
-   }
- 
--  // Save tag's block size (b4K)
--  t.b4K = (t.nt.nti.nai.abtAtqa[1] == 0x02);
-   t.authuid = (uint32_t) bytes_to_num(t.nt.nti.nai.abtUid + t.nt.nti.nai.szUidLen - 4, 4);
- 
--  t.num_blocks = (t.b4K) ? 0xff : 0x3f;
--  t.num_sectors = t.b4K ? NR_TRAILERS_4k : NR_TRAILERS_1k;
-+  // Get Mifare Classic type from SAK
-+  // see http://www.nxp.com/documents/application_note/AN10833.pdf Section 3.2
-+  switch (t.nt.nti.nai.btSak)
-+  {
-+    case 0x08:
-+      printf("Found Mifare Classic 1k tag\n");
-+      t.num_sectors = NR_TRAILERS_1k;
-+      t.num_blocks = NR_BLOCKS_1k;
-+      break;
-+    case 0x09:
-+      printf("Found Mifare Classic Mini tag\n");
-+      t.num_sectors = NR_TRAILERS_MINI;
-+      t.num_blocks = NR_BLOCKS_MINI;
-+      break;
-+    case 0x18:
-+      printf("Found Mifare Classic 4k tag\n");
-+      t.num_sectors = NR_TRAILERS_4k;
-+      t.num_blocks = NR_BLOCKS_4k;
-+      break;
-+    defaul:
-+      ERR("Cannot determine card type from SAK");
-+      goto error;
-+  }
- 
-   t.sectors = (void *) calloc(t.num_sectors, sizeof(sector));
-   if (t.sectors == NULL) {
-@@ -564,7 +583,7 @@ void usage(FILE *stream, int errno)
-   fprintf(stream, "  k     try the specified key in addition to the default keys\n");
- //	fprintf(stream, "  D     number of distance probes, default is 20\n");
- //	fprintf(stream, "  S     number of sets with keystreams, default is 5\n");
--  fprintf(stream, "  P     number of probes per sector, instead of default of 20\n");
-+  fprintf(stream, "  P     number of probes per sector, instead of default of 150\n");
-   fprintf(stream, "  T     nonce tolerance half-range, instead of default of 20\n        (i.e., 40 for the total range, in both directions)\n");
- //	fprintf(stream, "  s     specify the list of sectors to crack, for example -s 0,1,3,5\n");
-   fprintf(stream, "  O     file in which the card contents will be written (REQUIRED)\n");
-diff --git a/src/mfoc.h b/src/mfoc.h
-index b411670..532e834 100644
---- a/src/mfoc.h
-+++ b/src/mfoc.h
-@@ -2,11 +2,21 @@
- #define TRY_KEYS                50
- 
- // Number of trailers == number of sectors
--// 16x64b = 16
-+// Mifare Classic 1k 16x64b = 16
- #define NR_TRAILERS_1k  (16)
--// 32x64b + 8*256b = 40
-+// Mifare Classic Mini
-+#define NR_TRAILERS_MINI (5)
-+// Mifare Classic 4k 32x64b + 8*256b = 40
- #define NR_TRAILERS_4k  (40)
- 
-+// Number of blocks
-+// Mifare Classic 1k
-+#define NR_BLOCKS_1k 0x3f
-+// Mifare Classic Mini
-+#define NR_BLOCKS_MINI 0x13
-+// Mifare Classic 4k
-+#define NR_BLOCKS_4k 0xff
-+
- #define MAX_FRAME_LEN 264
- 
- // Used for counting nonce distances, explore [nd-value, nd+value]
-@@ -46,7 +56,6 @@ typedef struct {
-   uint8_t        num_sectors;
-   uint8_t        num_blocks;
-   uint32_t       authuid;
--  bool           b4K;
- } mftag;
- 
- typedef struct {
diff --git a/pkgs/tools/system/augeas/default.nix b/pkgs/tools/system/augeas/default.nix
index 4ba876668223..a8fca06c3618 100644
--- a/pkgs/tools/system/augeas/default.nix
+++ b/pkgs/tools/system/augeas/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "augeas-${version}";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchurl {
     url = "http://download.augeas.net/${name}.tar.gz";
-    sha256 = "1c507qj6dfn2dnsl27w94zs9r45xrgm07y8bqba9ry2s0psfhg1r";
+    sha256 = "11ybhb13wkkilsn7b416a1dn61m1xrq0lbdpkhp5w61jrk4l469j";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ readline libxml2 ];
diff --git a/pkgs/tools/system/journalwatch/default.nix b/pkgs/tools/system/journalwatch/default.nix
index 473d245618fa..e0aaee31217c 100644
--- a/pkgs/tools/system/journalwatch/default.nix
+++ b/pkgs/tools/system/journalwatch/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, buildPythonPackage, fetchurl, pythonOlder, systemd, pytest }:
+{ stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder, systemd, pytest }:
 
 buildPythonPackage rec {
   pname = "journalwatch";
-  name = "${pname}-${version}";
   version = "1.1.0";
   disabled = pythonOlder "3.3";
 
-
-  src = fetchurl {
-    url = "https://github.com/The-Compiler/${pname}/archive/v${version}.tar.gz";
-    sha512 = "3hvbgx95hjfivz9iv0hbhj720wvm32z86vj4a60lji2zdfpbqgr2b428lvg2cpvf71l2xn6ca5v0hzyz57qylgwqzgfrx7hqhl5g38s";
+  src = fetchFromGitHub {
+    owner = "The-Compiler";
+    repo = pname;
+    rev = "v${version}";
+    sha512 = "11g2f1w9lfqw6zxxyg7qrqpb914s6w71j0gnpw7qr7cak2l5jlf2l39dlg30y55rw7jgmf0yg77wwzd0c430mq1n6q1v8w86g1rwkzb";
   };
 
   # can be removed post 1.1.0
@@ -20,14 +20,10 @@ buildPythonPackage rec {
 
 
   doCheck = true;
-
+  checkInputs = [ pytest ];
   checkPhase = ''
-    pytest test_journalwatch.py
-  '';
-
-  buildInputs = [
     pytest
-  ];
+  '';
 
   propagatedBuildInputs = [
     systemd
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index cb22022dc431..ec30c1d070cd 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, zlib, libuuid, libossp_uuid, CoreFoundation, IOKit }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, zlib, libuuid, libossp_uuid, CoreFoundation, IOKit, lm_sensors }:
 
 stdenv.mkDerivation rec{
   version = "1.11.1";
@@ -23,6 +23,11 @@ stdenv.mkDerivation rec{
       $out/libexec/netdata/plugins.d/apps.plugin.org
   '';
 
+  preConfigure = ''
+    substituteInPlace collectors/python.d.plugin/python_modules/third_party/lm_sensors.py \
+      --replace 'ctypes.util.find_library("sensors")' '"${lm_sensors.out}/lib/libsensors${stdenv.hostPlatform.extensions.sharedLibrary}"'
+  '';
+
   configureFlags = [
     "--localstatedir=/var"
     "--sysconfdir=/etc"
diff --git a/pkgs/tools/text/peco/deps.nix b/pkgs/tools/text/peco/deps.nix
index 1b884ef995e8..29bae2de5b51 100644
--- a/pkgs/tools/text/peco/deps.nix
+++ b/pkgs/tools/text/peco/deps.nix
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "abe82ce5fb7a42fbd6784a5ceb71aff977e09ed8";
-      sha256 = "156i8apkga8b3272kjhapyqwspgcfkrr9kpqwc5lii43k4swghpv";
+      rev = "e2050e41c8847748ec5288741c0b19a8cb26d084";
+      sha256 = "181b1df2b6fcn5wizq2qqxl1kwqbih5k15n08rx3bcz36q34n23s";
     };
   }
   {
diff --git a/pkgs/tools/text/qgrep/default.nix b/pkgs/tools/text/qgrep/default.nix
new file mode 100644
index 000000000000..5f0e7461361d
--- /dev/null
+++ b/pkgs/tools/text/qgrep/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "1.1";
+  pname = "qgrep";
+
+  src = fetchFromGitHub {
+    owner = "zeux";
+    repo = "qgrep";
+    rev = "v${version}";
+    sha256 = "046ccw34vz2k5jn6gyxign5gs2qi7i50jy9b74wqv7sjf5zayrh0";
+    fetchSubmodules = true;
+  };
+
+  installPhase = '' 
+    install -Dm755 qgrep $out/bin/qgrep
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fast regular expression grep for source code with incremental index updates";
+    homepage = https://github.com/zeux/qgrep;
+    license = licenses.mit;
+    maintainers = [ maintainers.yrashk ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/text/sd/default.nix b/pkgs/tools/text/sd/default.nix
new file mode 100644
index 000000000000..6a279b834661
--- /dev/null
+++ b/pkgs/tools/text/sd/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "sd";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "chmln";
+    repo = pname;
+    rev = "sd-${version}";
+    sha256 = "1y44qizciir75d1srwm1mlskhflab2b6153d19vblw410in82f5d";
+  };
+
+  cargoSha256 = "1gls68lw8a2c3gsav70l2wasrgav68q5w1nf50jsrbqq9kb4i7nb";
+
+  meta = with stdenv.lib; {
+    description = "Intuitive find & replace CLI (sed alternative)";
+    homepage = https://github.com/chmln/sd;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.amar1729 ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index daf9dd2a8b15..79b693b989c4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -84,7 +84,7 @@ in
     by Hydra.
   '';
 
-  tests = recurseIntoAttrs (callPackages ../test {});
+  tests = callPackages ../test {};
 
   ### Nixpkgs maintainer tools
 
@@ -1025,9 +1025,14 @@ in
     charles4
   ;
 
-  libqmatrixclient = libsForQt5.callPackage ../development/libraries/libqmatrixclient { };
+  inherit (libsForQt5.callPackage ../development/libraries/libqmatrixclient { })
+    libqmatrixclient_0_4
+    libqmatrixclient_0_5
+    libqmatrixclient;
 
-  quaternion = libsForQt5.callPackage ../applications/networking/instant-messengers/quaternion { };
+  inherit (libsForQt5.callPackage ../applications/networking/instant-messengers/quaternion { })
+    quaternion
+    quaternion-git;
 
   tensor = libsForQt5.callPackage ../applications/networking/instant-messengers/tensor { };
 
@@ -1332,6 +1337,10 @@ in
 
   ddate = callPackage ../tools/misc/ddate { };
 
+  dedup = callPackage ../tools/backup/dedup {
+    inherit (llvmPackages) openmp;
+  };
+
   dehydrated = callPackage ../tools/admin/dehydrated { };
 
   deis = callPackage ../development/tools/deis {};
@@ -1661,6 +1670,10 @@ in
 
   monetdb = callPackage ../servers/sql/monetdb { };
 
+  mousetweaks = callPackage ../applications/accessibility/mousetweaks {
+    inherit (pkgs.xorg) libX11 libXtst libXfixes;
+  };
+
   mp3blaster = callPackage ../applications/audio/mp3blaster { };
 
   mp3fs = callPackage ../tools/filesystems/mp3fs { };
@@ -2583,6 +2596,8 @@ in
 
   wl-clipboard = callPackage ../tools/misc/wl-clipboard { };
 
+  z-lua = callPackage ../tools/misc/z-lua { };
+
   zabbix-cli = callPackage ../tools/misc/zabbix-cli { };
 
   zzuf = callPackage ../tools/security/zzuf { };
@@ -3525,6 +3540,8 @@ in
 
   httping = callPackage ../tools/networking/httping {};
 
+  httplz = callPackage ../tools/networking/httplz { };
+
   httpfs2 = callPackage ../tools/filesystems/httpfs { };
 
   httpstat = callPackage ../tools/networking/httpstat { };
@@ -4546,6 +4563,8 @@ in
 
   nabi = callPackage ../tools/inputmethods/nabi { };
 
+  nahid-fonts = callPackage ../data/fonts/nahid-fonts { };
+
   namazu = callPackage ../tools/text/namazu { };
 
   nano-wallet = libsForQt5.callPackage ../applications/altcoins/nano-wallet { };
@@ -4963,6 +4982,8 @@ in
 
   paulstretch = callPackage ../applications/audio/paulstretch { };
 
+  pazi = callPackage ../tools/misc/pazi { };
+
   pell = callPackage ../applications/misc/pell { };
 
   pepper = callPackage ../tools/admin/salt/pepper { };
@@ -5301,6 +5322,7 @@ in
   qdigidoc = libsForQt5.callPackage ../tools/security/qdigidoc { } ;
   esteidfirefoxplugin = callPackage ../applications/networking/browsers/mozilla-plugins/esteidfirefoxplugin { };
 
+  qgrep = callPackage ../tools/text/qgrep {};
 
   qhull = callPackage ../development/libraries/qhull { };
 
@@ -5598,6 +5620,8 @@ in
 
   scrypt = callPackage ../tools/security/scrypt { };
 
+  sd = callPackage ../tools/text/sd { };
+
   sdate = callPackage ../tools/misc/sdate { };
 
   sdcv = callPackage ../applications/misc/sdcv { };
@@ -5765,6 +5789,8 @@ in
 
   sonata = callPackage ../applications/audio/sonata { };
 
+  soundkonverter = kdeApplications.callPackage ../applications/audio/soundkonverter {};
+
   souper = callPackage ../development/compilers/souper { };
 
   sparsehash = callPackage ../development/libraries/sparsehash { };
@@ -7306,7 +7332,7 @@ in
 
   haskell = callPackage ./haskell-packages.nix { };
 
-  haskellPackages = dontRecurseIntoAttrs (haskell.packages.ghc864.override {
+  haskellPackages = dontRecurseIntoAttrs (haskell.packages.ghc865.override {
     overrides = haskell.packageOverrides;
   });
 
@@ -7661,6 +7687,8 @@ in
 
   llvmPackages_latest = llvmPackages_8;
 
+  lorri = throw "lorri is not stable yet. Please go to https://github.com/target/lorri and follow the installation instructions there, for the time being.";
+
   manticore = callPackage ../development/compilers/manticore { };
 
   mercury = callPackage ../development/compilers/mercury { };
@@ -8102,24 +8130,10 @@ in
 
   wabt = callPackage ../development/tools/wabt { };
 
-  ### LUA MODULES
-  lua5_1 = callPackage ../development/interpreters/lua-5/5.1.nix {
-    self = lua5_1;
-  };
-  lua5_2 = callPackage ../development/interpreters/lua-5/5.2.nix {
-    self = lua5_2;
-  };
-  lua5_2_compat = callPackage ../development/interpreters/lua-5/5.2.nix {
-    compat = true;
-    self = lua5_2_compat;
-  };
-  lua5_3 = callPackage ../development/interpreters/lua-5/5.3.nix {
-    self = lua5_3;
-  };
-  lua5_3_compat = callPackage ../development/interpreters/lua-5/5.3.nix {
-    compat = true;
-    self = lua5_3_compat;
-  };
+  ### LUA interpreters
+  luaInterpreters = callPackage ./../development/interpreters/lua-5 {};
+  inherit (luaInterpreters) lua5_1 lua5_2 lua5_2_compat lua5_3 lua5_3_compat luajit_2_1 luajit_2_0;
+
   lua5 = lua5_2_compat;
   lua = lua5;
 
@@ -8130,17 +8144,6 @@ in
 
   luaPackages = lua52Packages;
 
-  # override instead ?
-  luajit_2_0 = import ../development/interpreters/luajit/2.0.nix {
-    self = luajit_2_0;
-    inherit (super) callPackage lib;
-  };
-
-  luajit_2_1 = import ../development/interpreters/luajit/2.1.nix {
-    self = luajit_2_1;
-    inherit (super) callPackage lib;
-  };
-
   luajit = luajit_2_1;
 
   luarocks = luaPackages.luarocks;
@@ -8625,9 +8628,12 @@ in
 
   awf = callPackage ../development/tools/misc/awf { };
 
-  electron = callPackage ../development/tools/electron { };
+  electron_5 = callPackage ../development/tools/electron/5.x.nix { };
+
+  electron_4 = callPackage ../development/tools/electron { };
 
   electron_3 = callPackage ../development/tools/electron/3.x.nix { };
+  electron = electron_4;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
@@ -13971,8 +13977,7 @@ in
   elasticmq = callPackage ../servers/elasticmq { };
 
   eventstore = callPackage ../servers/nosql/eventstore {
-    mono = mono4;
-    v8 = v8_6_x;
+    Nuget = dotnetPackages.Nuget;
   };
 
   exim = callPackage ../servers/mail/exim { };
@@ -15041,7 +15046,6 @@ in
       [ kernelPatches.bridge_stp_helper
         kernelPatches.cpu-cgroup-v2."4.9"
         kernelPatches.modinst_arg_list_too_long
-        kernelPatches.i2c-oops
       ];
   };
 
@@ -15052,7 +15056,6 @@ in
         # when adding a new linux version
         kernelPatches.cpu-cgroup-v2."4.11"
         kernelPatches.modinst_arg_list_too_long
-        kernelPatches.i2c-oops
       ];
   };
 
@@ -15060,7 +15063,6 @@ in
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
         kernelPatches.modinst_arg_list_too_long
-        kernelPatches.i2c-oops
       ];
   };
 
@@ -16974,6 +16976,8 @@ in
 
   ctop = callPackage ../tools/system/ctop { };
 
+  cubicsdr = callPackage ../applications/radio/cubicsdr { wxGTK = wxGTK31; };
+
   cuneiform = callPackage ../tools/graphics/cuneiform {};
 
   curseradio = callPackage ../applications/audio/curseradio { };
@@ -17013,7 +17017,7 @@ in
   dbvisualizer = callPackage ../applications/misc/dbvisualizer {};
 
   dd-agent = callPackage ../tools/networking/dd-agent/5.nix { };
-  datadog-agent = callPackage ../tools/networking/dd-agent/6.nix {
+  datadog-agent = callPackage ../tools/networking/dd-agent/datadog-agent.nix {
     pythonPackages = datadog-integrations-core {};
   };
   datadog-process-agent = callPackage ../tools/networking/dd-agent/datadog-process-agent.nix { };
@@ -17446,8 +17450,6 @@ in
 
   evilvte = callPackage ../applications/misc/evilvte (config.evilvte or {});
 
-  evopedia = callPackage ../applications/misc/evopedia { };
-
   exercism = callPackage ../applications/misc/exercism { };
 
   go-motion = callPackage ../development/tools/go-motion { };
@@ -18858,7 +18860,8 @@ in
 
   mm-common = callPackage ../development/libraries/mm-common { };
 
-  matrique = libsForQt5.callPackage ../applications/networking/instant-messengers/matrique { };
+  # Renamed
+  matrique = spectral;
 
   mpc-qt = libsForQt5.callPackage ../applications/video/mpc-qt { };
 
@@ -21918,7 +21921,7 @@ in
   inherit (kdeFrameworks) kded kinit frameworkintegration;
 
   inherit (plasma5)
-    bluedevil breeze-gtk breeze-qt5 breeze-grub breeze-plymouth
+    bluedevil breeze-gtk breeze-qt5 breeze-grub breeze-plymouth discover
     kactivitymanagerd kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5
     kinfocenter kmenuedit kscreen kscreenlocker ksshaskpass ksysguard
     kwallet-pam kwayland-integration kwin kwrited milou oxygen plasma-browser-integration
@@ -21980,6 +21983,8 @@ in
 
   ants = callPackage ../applications/science/biology/ants { };
 
+  aragorn = callPackage ../applications/science/biology/aragorn { };
+
   archimedes = callPackage ../applications/science/electronics/archimedes {
     stdenv = overrideCC stdenv gcc49;
   };
@@ -23894,7 +23899,9 @@ in
   newlib = callPackage ../development/misc/newlib { };
   newlibCross = callPackage ../development/misc/newlib {
     stdenv = crossLibcStdenv;
-  };
+    };
+
+	omnisharp-roslyn = callPackage ../development/tools/omnisharp-roslyn { };
 
   wasmtime = callPackage ../development/interpreters/wasmtime {};
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 35a6fafa51a0..86e8228f1870 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -71,6 +71,12 @@ in {
       buildLlvmPackages = buildPackages.llvmPackages_6;
       llvmPackages = pkgs.llvmPackages_6;
     };
+    ghc881 = callPackage ../development/compilers/ghc/8.8.1.nix {
+      bootPkgs = packages.ghc863Binary;
+      inherit (buildPackages.python3Packages) sphinx;
+      buildLlvmPackages = buildPackages.llvmPackages_7;
+      llvmPackages = pkgs.llvmPackages_7;
+    };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
       bootPkgs = packages.ghc863Binary;
       inherit (buildPackages.python3Packages) sphinx;
@@ -140,6 +146,11 @@ in {
       ghc = bh.compiler.ghc865;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.6.x.nix { };
     };
+    ghc881 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc881;
+      ghc = bh.compiler.ghc881;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.8.x.nix { };
+    };
     ghcHEAD = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghcHEAD;
       ghc = bh.compiler.ghcHEAD;
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 20773fb66d32..b51af519f938 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -386,7 +386,7 @@ with self; {
       sha256 = "0p5583vidsm7s97zihf47c34vscwgbl86axrnj44j328v45kxb2z";
     };
 
-    propagatedBuildInputs = [ std.normalize bit32 ];
+    propagatedBuildInputs = [ std_normalize bit32 ];
 
     buildPhase = ''
       ${lua}/bin/lua build-aux/luke \
@@ -782,64 +782,6 @@ with self; {
     };
   };
 
-  std._debug = buildLuaPackage rec {
-    name = "std._debug-${version}";
-    version = "1.0";
-
-    src = fetchFromGitHub {
-      owner = "lua-stdlib";
-      repo = "_debug";
-      rev = "v${version}";
-      sha256 = "01kfs6k9j9zy4bvk13jx18ssfsmhlciyrni1x32qmxxf4wxyi65n";
-    };
-
-    # No Makefile.
-    dontBuild = true;
-
-    installPhase = ''
-      mkdir -p $out/share/lua/${lua.luaversion}/std
-      cp -r lib/std/_debug $out/share/lua/${lua.luaversion}/std/
-    '';
-
-    meta = with stdenv.lib; {
-      description = "Manage an overall debug state, and associated hint substates.";
-      homepage    = https://lua-stdlib.github.io/_debug;
-      license     = licenses.mit;
-      maintainers = with maintainers; [ lblasc ];
-      platforms   = platforms.unix;
-    };
-  };
-
-  std.normalize = buildLuaPackage rec {
-    name = "std.normalize-${version}";
-    version = "2.0.1";
-
-    src = fetchFromGitHub {
-      owner = "lua-stdlib";
-      repo = "normalize";
-      rev = "v${version}";
-      sha256 = "1yz96r28d2wcgky6by92a21755bf4wzpn65rdv2ps0fxywgw5rda";
-    };
-
-    propagatedBuildInputs = [ std._debug ];
-
-    # No Makefile.
-    dontBuild = true;
-
-    installPhase = ''
-      mkdir -p $out/share/lua/${lua.luaversion}/std
-      cp -r lib/std/normalize $out/share/lua/${lua.luaversion}/std/
-    '';
-
-    meta = with stdenv.lib; {
-      description = "Normalized Lua Functions";
-      homepage    = https://lua-stdlib.github.io/normalize;
-      license     = licenses.mit;
-      maintainers = with maintainers; [ lblasc ];
-      platforms   = platforms.unix;
-    };
-  };
-
   vicious = toLuaModule(stdenv.mkDerivation rec {
     name = "vicious-${version}";
     version = "2.3.1";
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index c0089186275f..44ee8a0c9492 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -560,10 +560,6 @@ let
 
     odoc = callPackage ../development/ocaml-modules/odoc { };
 
-    ojquery = callPackage ../development/ocaml-modules/ojquery {
-      ocaml_lwt = lwt3;
-    };
-
     omd = callPackage ../development/ocaml-modules/omd { };
 
     opam-file-format = callPackage ../development/ocaml-modules/opam-file-format { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index bf74cdc7b0a7..6e7a41f94687 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1156,6 +1156,8 @@ in {
 
   bitstruct = callPackage ../development/python-modules/bitstruct { };
 
+  caldav = callPackage ../development/python-modules/caldav { };
+
   caldavclientlibrary-asynk = callPackage ../development/python-modules/caldavclientlibrary-asynk { };
 
   biopython = callPackage ../development/python-modules/biopython { };
@@ -1314,7 +1316,7 @@ in {
 
   bottle = callPackage ../development/python-modules/bottle { };
 
-  box2d = callPackage ../development/python-modules/box2d { pkgs-box2d = pkgs.box2d; };
+  box2d = callPackage ../development/python-modules/box2d { };
 
   branca = callPackage ../development/python-modules/branca { };
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index d18c1dbd2e7f..3437f620c74a 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -71,6 +71,7 @@ let
               jobs.transmission-gtk.x86_64-darwin
 
               # Tests
+              /*
               jobs.tests.cc-wrapper.x86_64-darwin
               jobs.tests.cc-wrapper-clang.x86_64-darwin
               jobs.tests.cc-wrapper-libcxx.x86_64-darwin
@@ -79,6 +80,7 @@ let
               jobs.tests.stdenv-inputs.x86_64-darwin
               jobs.tests.macOSSierraShared.x86_64-darwin
               jobs.tests.patch-shebangs.x86_64-darwin
+              */
             ];
         } else null;
 
@@ -104,6 +106,7 @@ let
               jobs.thunderbird.x86_64-linux
               jobs.unar.x86_64-linux
 
+              /*
               jobs.tests.cc-wrapper.x86_64-linux
               jobs.tests.cc-wrapper-gcc7.x86_64-linux
               jobs.tests.cc-wrapper-gcc8.x86_64-linux
@@ -124,6 +127,7 @@ let
               jobs.tests.cc-multilib-clang.x86_64-linux
               jobs.tests.stdenv-inputs.x86_64-linux
               jobs.tests.patch-shebangs.x86_64-linux
+              */
             ]
             ++ lib.collect lib.isDerivation jobs.stdenvBootstrapTools
             ++ lib.optionals supportDarwin [
@@ -138,6 +142,7 @@ let
               jobs.vim.x86_64-darwin
               jobs.inkscape.x86_64-darwin
               jobs.qt5.qtmultimedia.x86_64-darwin
+              /*
               jobs.tests.cc-wrapper.x86_64-darwin
               jobs.tests.cc-wrapper-gcc7.x86_64-darwin
               # jobs.tests.cc-wrapper-gcc8.x86_64-darwin
@@ -154,6 +159,7 @@ let
               jobs.tests.stdenv-inputs.x86_64-darwin
               jobs.tests.macOSSierraShared.x86_64-darwin
               jobs.tests.patch-shebangs.x86_64-darwin
+              */
             ];
         };