summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2018-12-31 14:21:42 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2018-12-31 14:21:42 +0100
commit19905c4c9aa2d94b74458f9527acbe1d269afa99 (patch)
tree8c8c673109227b941e866f7e6a50f9a106afa98c /pkgs
parent6bab2984ff5f959588c485443e5087de690bdc8a (diff)
parent070290bda7972072a531c7e79a29bd005ebb84df (diff)
downloadnixpkgs-19905c4c9aa2d94b74458f9527acbe1d269afa99.tar
nixpkgs-19905c4c9aa2d94b74458f9527acbe1d269afa99.tar.gz
nixpkgs-19905c4c9aa2d94b74458f9527acbe1d269afa99.tar.bz2
nixpkgs-19905c4c9aa2d94b74458f9527acbe1d269afa99.tar.lz
nixpkgs-19905c4c9aa2d94b74458f9527acbe1d269afa99.tar.xz
nixpkgs-19905c4c9aa2d94b74458f9527acbe1d269afa99.tar.zst
nixpkgs-19905c4c9aa2d94b74458f9527acbe1d269afa99.zip
Merge staging-next into staging
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/cadence/default.nix2
-rw-r--r--pkgs/applications/audio/lollypop/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix4
-rw-r--r--pkgs/applications/audio/picard/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/default.nix3
-rw-r--r--pkgs/applications/graphics/digikam/default.nix5
-rw-r--r--pkgs/applications/graphics/k3d/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cherrytree/default.nix4
-rw-r--r--pkgs/applications/misc/cool-retro-term/default.nix4
-rw-r--r--pkgs/applications/misc/gramps/default.nix4
-rw-r--r--pkgs/applications/misc/hyper/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix11
-rw-r--r--pkgs/applications/misc/octoprint/plugins.nix22
-rw-r--r--pkgs/applications/misc/polybar/default.nix12
-rw-r--r--pkgs/applications/misc/qlcplus/default.nix4
-rw-r--r--pkgs/applications/misc/rescuetime/default.nix10
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix13
-rw-r--r--pkgs/applications/networking/browsers/luakit/default.nix5
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix7
-rw-r--r--pkgs/applications/networking/dropbox/default.nix2
-rw-r--r--pkgs/applications/networking/feedreaders/newsboat/default.nix29
-rw-r--r--pkgs/applications/networking/instant-messengers/blink/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/scudcloud/default.nix2
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix17
-rw-r--r--pkgs/applications/networking/irc/quassel/qt5_11.patch72
-rw-r--r--pkgs/applications/networking/irc/quassel/source.nix9
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/mime.patch29
-rw-r--r--pkgs/applications/networking/p2p/synapse-bt/default.nix8
-rw-r--r--pkgs/applications/networking/sync/desync/default.nix6
-rw-r--r--pkgs/applications/networking/sync/desync/deps.nix233
-rw-r--r--pkgs/applications/science/electronics/verilog/default.nix6
-rw-r--r--pkgs/applications/science/logic/why3/default.nix10
-rw-r--r--pkgs/applications/science/math/gap/default.nix92
-rw-r--r--pkgs/applications/science/math/sage/default.nix15
-rw-r--r--pkgs/applications/science/math/sage/patches/dont-test-guess-gaproot.patch13
-rw-r--r--pkgs/applications/science/math/sage/patches/numpy-1.15.1.patch911
-rw-r--r--pkgs/applications/science/math/sage/sage-env.nix1
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix30
-rw-r--r--pkgs/applications/science/math/sage/sage-tests.nix12
-rw-r--r--pkgs/applications/science/math/sage/sage.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cola/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/hub/default.nix6
-rw-r--r--pkgs/applications/version-management/peru/default.nix8
-rw-r--r--pkgs/applications/video/openshot-qt/default.nix2
-rw-r--r--pkgs/applications/virtualization/looking-glass-client/default.nix12
-rw-r--r--pkgs/applications/virtualization/virt-manager/qt.nix6
-rw-r--r--pkgs/applications/window-managers/dwm/dwm-status.nix18
-rw-r--r--pkgs/build-support/docker/examples.nix9
-rw-r--r--pkgs/data/fonts/material-design-icons/default.nix38
-rw-r--r--pkgs/data/icons/zafiro-icons/default.nix5
-rw-r--r--pkgs/data/themes/qogir/default.nix31
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix2
-rw-r--r--pkgs/development/compilers/chicken/4/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch (renamed from pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch)0
-rw-r--r--pkgs/development/compilers/chicken/4/chicken.nix (renamed from pkgs/development/compilers/chicken/default.nix)0
-rw-r--r--pkgs/development/compilers/chicken/4/default.nix21
-rw-r--r--pkgs/development/compilers/chicken/4/egg2nix.nix (renamed from pkgs/development/tools/egg2nix/default.nix)0
-rw-r--r--pkgs/development/compilers/chicken/4/eggDerivation.nix (renamed from pkgs/development/compilers/chicken/eggDerivation.nix)5
-rw-r--r--pkgs/development/compilers/chicken/4/eggs.nix (renamed from pkgs/development/tools/egg2nix/chicken-eggs.nix)0
-rw-r--r--pkgs/development/compilers/chicken/4/eggs.scm (renamed from pkgs/development/tools/egg2nix/chicken-eggs.scm)0
-rw-r--r--pkgs/development/compilers/chicken/4/fetchegg/builder.sh (renamed from pkgs/build-support/fetchegg/builder.sh)0
-rw-r--r--pkgs/development/compilers/chicken/4/fetchegg/default.nix (renamed from pkgs/build-support/fetchegg/default.nix)0
-rw-r--r--pkgs/development/compilers/chicken/4/overrides.nix (renamed from pkgs/development/compilers/chicken/overrides.nix)0
-rw-r--r--pkgs/development/compilers/chicken/4/setup-hook.sh (renamed from pkgs/development/compilers/chicken/setup-hook.sh)0
-rw-r--r--pkgs/development/compilers/chicken/5/chicken.nix62
-rw-r--r--pkgs/development/compilers/chicken/5/default.nix21
-rw-r--r--pkgs/development/compilers/chicken/5/egg2nix.nix29
-rw-r--r--pkgs/development/compilers/chicken/5/eggDerivation.nix41
-rw-r--r--pkgs/development/compilers/chicken/5/eggs.nix91
-rw-r--r--pkgs/development/compilers/chicken/5/eggs.scm3
-rw-r--r--pkgs/development/compilers/chicken/5/fetchegg/builder.sh10
-rw-r--r--pkgs/development/compilers/chicken/5/fetchegg/default.nix25
-rw-r--r--pkgs/development/compilers/chicken/5/overrides.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/setup-hook.sh6
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix6
-rw-r--r--pkgs/development/compilers/urn/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix1
-rw-r--r--pkgs/development/interpreters/picolisp/default.nix40
-rw-r--r--pkgs/development/libraries/alembic/default.nix4
-rw-r--r--pkgs/development/libraries/allegro/allegro4-mesa-18.2.5.patch26
-rw-r--r--pkgs/development/libraries/allegro/default.nix1
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/aspell/dictionaries.nix4
-rw-r--r--pkgs/development/libraries/capstone/default.nix4
-rw-r--r--pkgs/development/libraries/editline/default.nix11
-rw-r--r--pkgs/development/libraries/exiv2/default.nix28
-rw-r--r--pkgs/development/libraries/fflas-ffpack/default.nix10
-rw-r--r--pkgs/development/libraries/gvfs/default.nix13
-rw-r--r--pkgs/development/libraries/libaom/default.nix21
-rw-r--r--pkgs/development/libraries/libmkv/default.nix5
-rw-r--r--pkgs/development/libraries/libogg/default.nix6
-rw-r--r--pkgs/development/libraries/libs3/default.nix13
-rw-r--r--pkgs/development/libraries/mp4v2/default.nix8
-rw-r--r--pkgs/development/libraries/pipewire/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix27
-rw-r--r--pkgs/development/python-modules/aioamqp/default.nix4
-rw-r--r--pkgs/development/python-modules/clize/default.nix23
-rw-r--r--pkgs/development/python-modules/cysignals/default.nix8
-rw-r--r--pkgs/development/python-modules/dependency-injector/default.nix15
-rw-r--r--pkgs/development/python-modules/flask-jwt-extended/default.nix4
-rw-r--r--pkgs/development/python-modules/goobook/default.nix29
-rw-r--r--pkgs/development/python-modules/intervaltree/default.nix4
-rw-r--r--pkgs/development/python-modules/od/default.nix23
-rw-r--r--pkgs/development/python-modules/opt-einsum/default.nix31
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix41
-rw-r--r--pkgs/development/python-modules/pyro-ppl/default.nix38
-rw-r--r--pkgs/development/python-modules/qtconsole/default.nix2
-rw-r--r--pkgs/development/python-modules/shippai/default.nix4
-rw-r--r--pkgs/development/python-modules/unidiff/default.nix21
-rw-r--r--pkgs/development/python-modules/update-copyright/default.nix22
-rw-r--r--pkgs/development/python-modules/x256/default.nix22
-rw-r--r--pkgs/development/python-modules/zc_lockfile/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/tup/default.nix12
-rw-r--r--pkgs/development/tools/detect-secrets/default.nix34
-rw-r--r--pkgs/development/tools/doctl/default.nix6
-rw-r--r--pkgs/development/tools/elm2nix/default.nix24
-rw-r--r--pkgs/development/tools/misc/lit/default.nix4
-rw-r--r--pkgs/development/tools/misc/strace/default.nix6
-rw-r--r--pkgs/development/tools/solarus-quest-editor/default.nix23
-rw-r--r--pkgs/development/tools/solarus-quest-editor/patches/fix-install.patch16
-rw-r--r--pkgs/development/tools/solarus-quest-editor/patches/partial-f285beab62594f73e57190c49848c848487214cf.patch33
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix10
-rw-r--r--pkgs/development/web/nodejs/v11.nix10
-rw-r--r--pkgs/development/web/nodejs/v6.nix4
-rw-r--r--pkgs/development/web/nodejs/v8.nix4
-rw-r--r--pkgs/games/crispy-doom/default.nix4
-rw-r--r--pkgs/games/dhewm3/default.nix4
-rw-r--r--pkgs/games/solarus/default.nix6
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix6
-rw-r--r--pkgs/misc/frescobaldi/default.nix5
-rw-r--r--pkgs/misc/vim-plugins/build-vim-plugin.nix60
-rw-r--r--pkgs/misc/vim-plugins/default.nix10
-rw-r--r--pkgs/misc/vim-plugins/generated.nix1318
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix179
-rwxr-xr-xpkgs/misc/vim-plugins/update.py12
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names2
-rw-r--r--pkgs/misc/vim-plugins/vim-utils.nix136
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix22
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix7
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix7
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix7
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix6
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix7
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix7
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix7
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix12
-rw-r--r--pkgs/servers/http/tomcat/default.nix16
-rw-r--r--pkgs/servers/monitoring/plugins/esxi.nix4
-rw-r--r--pkgs/servers/sql/cockroachdb/default.nix4
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix4
-rw-r--r--pkgs/shells/fish/default.nix24
-rw-r--r--pkgs/tools/compression/zstd/default.nix4
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix4
-rw-r--r--pkgs/tools/misc/gif-for-cli/default.nix26
-rw-r--r--pkgs/tools/misc/ideviceinstaller/default.nix30
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix43
-rw-r--r--pkgs/tools/networking/wget/default.nix4
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix8
-rw-r--r--pkgs/tools/package-management/nix/default.nix5
-rw-r--r--pkgs/tools/package-management/opkg/default.nix4
-rw-r--r--pkgs/tools/security/bettercap/default.nix7
-rw-r--r--pkgs/tools/security/bettercap/deps.nix104
-rw-r--r--pkgs/tools/security/sshguard/default.nix4
-rw-r--r--pkgs/tools/text/ansifilter/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix56
-rw-r--r--pkgs/top-level/python-packages.nix19
174 files changed, 2751 insertions, 2295 deletions
diff --git a/pkgs/applications/audio/cadence/default.nix b/pkgs/applications/audio/cadence/default.nix
index f7fa9dbd861..ef7eeab4b60 100644
--- a/pkgs/applications/audio/cadence/default.nix
+++ b/pkgs/applications/audio/cadence/default.nix
@@ -25,7 +25,7 @@
     DESTDIR=$(out)
   '';
 
-  propagatedBuildInputs = with python3Packages; [ pyqt5 ];
+  propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit ];
 
   postInstall = ''
     # replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 29edf818ce7..6a065b0d9af 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "0.9.906";
+  version = "0.9.908";
 
   format = "other";
   doCheck = false;
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "1blfq3vdzs3ji3sr1z6dn5c2f8w93zv2k7aa5xpfpfnds4zfd3q6";
+    sha256 = "0sjhp0lw41qdp5jah9shq69ga43rkxi3vijm57x8w147nj87ch7c";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index 26cef8dc5ec..211e5db43c7 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.31.3";
+  version = "3.31.7";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "060kvwlch2jgiriafly8y03fp8gpbw9xiwhq8ncdij390a03iz8n";
+    sha256 = "0z3lqjncczlddfwdsfqninh2i8dz0kis8lhqfpdzdxhhmxlgmi20";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index 3dae0ca5d7c..e7c2c2e3634 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -4,11 +4,11 @@ let
   pythonPackages = python3Packages;
 in pythonPackages.buildPythonApplication rec {
   pname = "picard";
-  version = "2.0.4";
+  version = "2.1";
 
   src = fetchurl {
     url = "http://ftp.musicbrainz.org/pub/musicbrainz/picard/picard-${version}.tar.gz";
-    sha256 = "0ds3ylpqn717fnzcjrfn05v5xram01bj6n3hwn9igmkd1jgf8vhc";
+    sha256 = "054a37q5828q59jzml4npkyczsp891d89kawgsif9kwpi0dxa06c";
   };
 
   buildInputs = [ gettext ];
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 6690e4c9c1b..26fc44cc6b1 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -86,6 +86,9 @@ let
       license = with licenses; [ asl20 vim ];
       maintainers = with maintainers; [ manveru garbas rvolosatovs ];
       platforms   = platforms.unix;
+      # `lua: bad light userdata pointer`
+      # https://nix-cache.s3.amazonaws.com/log/9ahcb52905d9d417zsskjpc331iailpq-neovim-unwrapped-0.2.2.drv
+      broken = stdenv.isAarch64;
     };
   };
 
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index fb99d3e3832..e7621414b06 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -6,7 +6,7 @@
 , qtbase
 , qtxmlpatterns
 , qtsvg
-, qtwebkit
+, qtwebengine
 
 , kcalcore
 , kconfigwidgets
@@ -84,7 +84,7 @@ mkDerivation rec {
     qtbase
     qtxmlpatterns
     qtsvg
-    qtwebkit
+    qtwebengine
 
     kcalcore
     kconfigwidgets
@@ -105,6 +105,7 @@ mkDerivation rec {
     "-DENABLE_MYSQLSUPPORT=1"
     "-DENABLE_INTERNALMYSQL=1"
     "-DENABLE_MEDIAPLAYER=1"
+    "-DENABLE_QWEBENGINE=on"
   ];
 
   preFixup = ''
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index a4b509704a7..301dc902dce 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -39,6 +39,10 @@ stdenv.mkDerivation rec {
 
   #doCheck = false;
 
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-deprecated-declarations"
+  ];
+
   meta = with stdenv.lib; {
     description = "A 3D editor with support for procedural editing";
     homepage = http://www.k-3d.org/;
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 6da1cdefa70..7b01f5c53d7 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional (!unrarSupport) ./dont_build_unrar_plugin.patch;
 
   prePatch = ''
-    sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5}/share/sip/PyQt5':"  \
+    sed -i "/pyqt_sip_dir/ s:=.*:= '${python2Packages.pyqt5_with_qtwebkit}/share/sip/PyQt5':"  \
       setup/build_environment.py
 
     # Remove unneeded files and libs
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils wrapGAppsHook
   ] ++ (with python2Packages; [
     apsw cssselect cssutils dateutil dnspython html5-parser lxml mechanize netifaces pillow
-    python pyqt5 sip
+    python pyqt5_with_qtwebkit sip
     regex msgpack
     # the following are distributed with calibre, but we use upstream instead
     odfpy
diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix
index cf93096c787..78059191c2c 100644
--- a/pkgs/applications/misc/cherrytree/default.nix
+++ b/pkgs/applications/misc/cherrytree/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "cherrytree-${version}";
-  version = "0.38.6";
+  version = "0.38.7";
 
   src = fetchurl {
     url = "https://www.giuspen.com/software/${name}.tar.xz";
-    sha256 = "0b83ygv0y4lrclsyagmllkwiia62xkwij14i6z53avba191jvhma";
+    sha256 = "1ls7vz993hj5gd99imlrzahxznfg6fa4n77ikkj79va4csw9b892";
   };
 
   buildInputs = with pythonPackages;
diff --git a/pkgs/applications/misc/cool-retro-term/default.nix b/pkgs/applications/misc/cool-retro-term/default.nix
index 1c2045f4141..766161e521c 100644
--- a/pkgs/applications/misc/cool-retro-term/default.nix
+++ b/pkgs/applications/misc/cool-retro-term/default.nix
@@ -2,14 +2,14 @@
 , qtquickcontrols, qtgraphicaleffects, qmake }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.1";
+  version = "1.1.0";
   name = "cool-retro-term-${version}";
 
   src = fetchFromGitHub {
     owner = "Swordfish90";
     repo = "cool-retro-term";
     rev = version;
-    sha256 = "1ah54crqv13xsg9cvlwmgyhz90xjjy3vy8pbn9i0vc0ljmpgkqd5";
+    sha256 = "0gmigjpc19q7l94q4wzbrxh7cdb6zk3zscaijzwsz9364wsgzb47";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 920bec56a9b..db18ff73412 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -9,7 +9,7 @@
 let
   inherit (pythonPackages) python buildPythonApplication;
 in buildPythonApplication rec {
-  version = "5.0.0";
+  version = "5.0.1";
   name = "gramps-${version}";
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -27,7 +27,7 @@ in buildPythonApplication rec {
     owner = "gramps-project";
     repo = "gramps";
     rev = "v${version}";
-    sha256 = "056l4ihmd3gdsiv6wwv4ckgh8bfzd5nii6z4afsdn2nmjbj4hw9m";
+    sha256 = "1jz1fbjj6byndvir7qxzhd2ryirrd5h2kwndxpp53xdc05z1i8g7";
   };
 
   pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
diff --git a/pkgs/applications/misc/hyper/default.nix b/pkgs/applications/misc/hyper/default.nix
index 5e1626e12c5..2a26d7ecf27 100644
--- a/pkgs/applications/misc/hyper/default.nix
+++ b/pkgs/applications/misc/hyper/default.nix
@@ -11,11 +11,11 @@ let
   ];
 in
 stdenv.mkDerivation rec {
-  version = "2.0.0";
+  version = "2.1.0";
   name = "hyper-${version}";
   src = fetchurl {
     url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb";
-    sha256 = "04241kjy65pnp5q9z901910rmvcx18x0qaqfl31i0l4c2xj83ws0";
+    sha256 = "0ss0ip6yc7sd8b1lx504nxckqmxjiqcz105wi3226nzyan489q3g";
   };
   buildInputs = [ dpkg ];
   unpackPhase = ''
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index d4f59272c9c..c91b9f6fb06 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, pkgconfig, freetype, harfbuzz, openjpeg
+{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, freetype, harfbuzz, openjpeg
 , jbig2dec, libjpeg , darwin
 , enableX11 ? true, libX11, libXext, libXi, libXrandr
 , enableCurl ? true, curl, openssl
@@ -24,7 +24,14 @@ in stdenv.mkDerivation rec {
 
   patches =
     # Use shared libraries to decrease size
-       stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
+    [( fetchpatch
+      {
+          name = "CVE-2018-18662";
+          url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=164ddc22ee0d5b63a81d5148f44c37dd132a9356";
+          sha256 = "1jkzh20n3b854871h86cy5y7fvy0d5wyqy51b3fg6gj3a0jqpzzd";
+      }
+    )]
+    ++ stdenv.lib.optional (!stdenv.isDarwin) ./mupdf-1.14-shared_libs.patch
     ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch
   ;
 
diff --git a/pkgs/applications/misc/octoprint/plugins.nix b/pkgs/applications/misc/octoprint/plugins.nix
index 2e3bc058280..327a59618c2 100644
--- a/pkgs/applications/misc/octoprint/plugins.nix
+++ b/pkgs/applications/misc/octoprint/plugins.nix
@@ -2,6 +2,8 @@
 
 let
   buildPlugin = args: python2Packages.buildPythonPackage (args // {
+    pname = "OctoPrintPlugin-${args.pname}";
+    inherit (args) version;
     propagatedBuildInputs = (args.propagatedBuildInputs or []) ++ [ octoprint ];
     # none of the following have tests
     doCheck = false;
@@ -13,7 +15,7 @@ let
     m3d-fio = self.m33-fio; # added 2016-08-13
 
     m33-fio = buildPlugin rec {
-      name = "M33-Fio-${version}";
+      pname = "M33-Fio";
       version = "1.21";
 
       src = fetchFromGitHub {
@@ -36,16 +38,15 @@ let
       '';
 
       meta = with stdenv.lib; {
-        homepage = https://github.com/donovan6000/M33-Fio;
         description = "OctoPrint plugin for the Micro 3D printer";
-        platforms = platforms.all;
+        homepage = https://github.com/donovan6000/M33-Fio;
         license = licenses.gpl3;
         maintainers = with maintainers; [ abbradar ];
       };
     };
 
     mqtt = buildPlugin rec {
-      name = "OctoPrint-MQTT-${version}";
+      pname = "MQTT";
       version = "0.8.0";
 
       src = fetchFromGitHub {
@@ -58,16 +59,15 @@ let
       propagatedBuildInputs = with python2Packages; [ paho-mqtt ];
 
       meta = with stdenv.lib; {
-        homepage = https://github.com/OctoPrint/OctoPrint-MQTT;
         description = "Publish printer status MQTT";
-        platforms = platforms.all;
+        homepage = https://github.com/OctoPrint/OctoPrint-MQTT;
         license = licenses.agpl3;
         maintainers = with maintainers; [ peterhoeg ];
       };
     };
 
     titlestatus = buildPlugin rec {
-      name = "OctoPrint-TitleStatus-${version}";
+      pname = "TitleStatus";
       version = "0.0.4";
 
       src = fetchFromGitHub {
@@ -78,16 +78,15 @@ let
       };
 
       meta = with stdenv.lib; {
-        homepage = https://github.com/MoonshineSG/OctoPrint-TitleStatus;
         description = "Show printers status in window title";
-        platforms = platforms.all;
+        homepage = https://github.com/MoonshineSG/OctoPrint-TitleStatus;
         license = licenses.agpl3;
         maintainers = with maintainers; [ abbradar ];
       };
     };
 
     stlviewer = buildPlugin rec {
-      name = "OctoPrint-STLViewer-${version}";
+      pname = "STLViewer";
       version = "0.4.1";
 
       src = fetchFromGitHub {
@@ -98,9 +97,8 @@ let
       };
 
       meta = with stdenv.lib; {
-        homepage = https://github.com/jneilliii/Octoprint-STLViewer;
         description = "A simple stl viewer tab for OctoPrint";
-        platforms = platforms.all;
+        homepage = https://github.com/jneilliii/Octoprint-STLViewer;
         license = licenses.agpl3;
         maintainers = with maintainers; [ abbradar ];
       };
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index 0310b1a2f74..9e2beb5b07c 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -1,4 +1,4 @@
-{ cairo, cmake, fetchgit, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
+{ cairo, cmake, fetchFromGitHub, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
 , python2, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage
 , xcbutilrenderutil, xcbutilwm, xcbutilxrm, makeWrapper
 
@@ -26,11 +26,13 @@ assert i3GapsSupport -> ! i3Support     && jsoncpp != null && i3-gaps != null;
 
 stdenv.mkDerivation rec {
     name = "polybar-${version}";
-    version = "3.2.1";
-    src = fetchgit {
-      url = "https://github.com/jaagr/polybar";
+    version = "3.3.0";
+    src = fetchFromGitHub {
+      owner = "jaagr";
+      repo = "polybar";
       rev = version;
-      sha256 = "1z45swj2l0h8x8li7prl963cgl6zm3birsswpij8qwcmjaj5l8vz";
+      sha256 = "18hrsbq62na2i4rlwbs2ih7v9shnayg76nw14i6az28wpf8kx4rr";
+      fetchSubmodules = true;
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/qlcplus/default.nix b/pkgs/applications/misc/qlcplus/default.nix
index eae3216c964..878de748dec 100644
--- a/pkgs/applications/misc/qlcplus/default.nix
+++ b/pkgs/applications/misc/qlcplus/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   name = "qlcplus-${version}";
-  version = "4.11.2";
+  version = "4.12.0";
 
   src = fetchFromGitHub {
     owner = "mcallegari";
     repo = "qlcplus";
     rev = "QLC+_${version}";
-    sha256 = "0ry7j8d5mm3h3mzd49xqlagnldmfhfr6plwk73pz62hxr4j58s6w";
+    sha256 = "056ccgcz3rpbic2hqg4r1rq8svq7070j2h6l3hbb1p8h3qxwamzh";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
index d9cd85d5098..b934788cdbe 100644
--- a/pkgs/applications/misc/rescuetime/default.nix
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, lib, fetchurl, dpkg, patchelf, qt4, libXtst, libXext, libX11, makeWrapper, libXScrnSaver }:
+{ stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, makeWrapper, libXScrnSaver }:
 
 let
   src =
     if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
       name = "rescuetime-installer.deb";
       url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb";
-      sha256 = "06q1jwqsrjvlj820dd4vl80jznwafsqshsg0p6si8qx4721blryz";
+      sha256 = "136ci4q0ns0qzikndlkbab947m47zv2nmnn8mda2374ip43kn6ri";
     } else fetchurl {
       name = "rescuetime-installer.deb";
       url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
-      sha256 = "0b56iglg8g45biddwsdn1hmx9gsz4kxr64civwyy7f69f022ppab";
+      sha256 = "1cw10lr7hrsr9xvq3wv1wkyk7jqsgfnnlkq4km9kxr39f51hv6na";
     };
 in stdenv.mkDerivation {
   # https://www.rescuetime.com/updates/linux_release_notes.html
-  name = "rescuetime-2.10.0.1322";
+  name = "rescuetime-2.14.2.1";
   inherit src;
   buildInputs = [ dpkg makeWrapper ];
   # avoid https://github.com/NixOS/patchelf/issues/99
@@ -29,7 +29,7 @@ in stdenv.mkDerivation {
 
     ${patchelf}/bin/patchelf \
       --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${lib.makeLibraryPath [ qt4 libXtst libXext libX11 libXScrnSaver ]}" \
+      --set-rpath "${lib.makeLibraryPath [ qt5.qtbase libXtst libXext libX11 libXScrnSaver ]}" \
       $out/bin/rescuetime
   '';
   meta = with lib; {
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index 3c56a6a046f..825b52cda7f 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
+{ lib, stdenv, fetchurl, fetchsvn, makeWrapper, makeDesktopItem, jdk, jre, ant
 , gtk3, gsettings-desktop-schemas, p7zip, libXxf86vm }:
 
 let
@@ -74,16 +74,15 @@ let
 in rec {
 
   application = mkSweetHome3D rec {
-    version = "5.4";
+    version = "6.0";
     module = "SweetHome3D";
     name = stdenv.lib.toLower module + "-application-" + version;
     description = "Design and visualize your future home";
     license = stdenv.lib.licenses.gpl2Plus;
-    src = fetchcvs {
-      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
-      sha256 = "09sk4svmaiw8dabcya3407iq5yjwxbss8pik1rzalrlds2428vyw";
-      module = module;
-      tag = "V_" + d2u version;
+    src = fetchsvn {
+      url = "https://svn.code.sf.net/p/sweethome3d/code/tags/V_" + d2u version + "/SweetHome3D/";
+      sha256 = "1l4kc1c2iwkggmcdb2wksb4vrh97ll804vc51yawhdlq9g567ky9";
+      rev = "6647";
     };
     desktopName = "Sweet Home 3D";
     icons = {
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
index 7142ba6140b..f55d129df21 100644
--- a/pkgs/applications/networking/browsers/luakit/default.nix
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchFromGitHub, pkgconfig, wrapGAppsHook, makeWrapper
 ,help2man, lua5, luafilesystem, luajit, sqlite
-,webkitgtk, gtk3, gst_all_1}:
+,webkitgtk, gtk3, gst_all_1, glib-networking}:
 
 let
   lualibs = [luafilesystem];
@@ -27,7 +27,8 @@ in stdenv.mkDerivation rec {
     gst_all_1.gstreamer gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly
     gst_all_1.gst-libav
-                ];
+    glib-networking # TLS support
+  ];
 
   postPatch =
     #Kind of ugly seds here. There must be a better solution.
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 5e44bb8cbef..1be4f1c4c52 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -4,7 +4,6 @@
 , libxslt, gst_all_1 ? null
 , withPdfReader        ? true
 , withMediaPlayback    ? true
-, withWebEngineDefault ? true
 }:
 
 assert withMediaPlayback -> gst_all_1 != null;
@@ -39,7 +38,7 @@ in python3Packages.buildPythonApplication rec {
   ] ++ lib.optionals withMediaPlayback (with gst_all_1; [
     gst-plugins-base gst-plugins-good
     gst-plugins-bad gst-plugins-ugly gst-libav
-  ]) ++ lib.optional (!withWebEngineDefault) python3Packages.qtwebkit-plugins;
+  ]);
 
   nativeBuildInputs = [
     makeWrapper wrapGAppsHook asciidoc
@@ -90,10 +89,6 @@ in python3Packages.buildPythonApplication rec {
     done
   '';
 
-  postFixup = lib.optionalString (! withWebEngineDefault) ''
-    wrapProgram $out/bin/qutebrowser --add-flags "--backend webkit"
-  '';
-
   meta = with stdenv.lib; {
     homepage    = https://github.com/The-Compiler/qutebrowser;
     description = "Keyboard-focused browser with a minimal GUI";
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 9862fe7576d..ce3141f0ef3 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -7,7 +7,7 @@ assert lib.elem stdenv.hostPlatform.system platforms;
 # Dropbox client to bootstrap installation.
 # The client is self-updating, so the actual version may be newer.
 let
-  version = "55.4.171";
+  version = "63.4.107";
 
   arch = {
     "x86_64-linux" = "x86_64";
diff --git a/pkgs/applications/networking/feedreaders/newsboat/default.nix b/pkgs/applications/networking/feedreaders/newsboat/default.nix
index e7ea7eea7ba..7ed0e8e137f 100644
--- a/pkgs/applications/networking/feedreaders/newsboat/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsboat/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchurl, stfl, sqlite, curl, gettext, pkgconfig, libxml2, json_c, ncurses
-, asciidoc, docbook_xml_dtd_45, libxslt, docbook_xsl, libiconv, makeWrapper }:
+{ stdenv, rustPlatform, fetchurl, stfl, sqlite, curl, gettext, pkgconfig, libxml2, json_c, ncurses
+, asciidoc, docbook_xml_dtd_45, libxslt, docbook_xsl, libiconv, Security, makeWrapper }:
 
-stdenv.mkDerivation rec {
+rustPlatform.buildRustPackage rec {
   name = "newsboat-${version}";
-  version = "2.13";
+  version = "2.14";
 
   src = fetchurl {
     url = "https://newsboat.org/releases/${version}/${name}.tar.xz";
-    sha256 = "0pik1d98ydzqi6055vdbkjg5krwifbk2hy2f5jp5p1wcy2s16dn7";
+    sha256 = "13bdwnwxa66c69lqhb02basff0aa6q1jhl7fgahcxmdy7snbmg37";
   };
 
+  cargoSha256 = "11s50qy1b833r2b5kr1wx9imi9h7s00c0hs36ricgbd0xw7n76hd";
+
   prePatch = ''
     substituteInPlace Makefile --replace "|| true" ""
     # Allow other ncurses versions on Darwin
@@ -18,18 +20,25 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkgconfig asciidoc docbook_xml_dtd_45 libxslt docbook_xsl ]
-                      ++ stdenv.lib.optional stdenv.isDarwin [ makeWrapper libiconv ];
+    ++ stdenv.lib.optional stdenv.isDarwin [ makeWrapper libiconv ];
+
+  buildInputs = [ stfl sqlite curl gettext libxml2 json_c ncurses ]
+    ++ stdenv.lib.optional stdenv.isDarwin Security;
 
-  buildInputs = [ stfl sqlite curl gettext libxml2 json_c ncurses ];
+  postBuild = ''
+    make
+  '';
 
-  makeFlags = [ "prefix=$(out)" ];
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
 
   doCheck = true;
-  checkTarget = "test";
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
+  checkPhase = ''
+    make test
+  '';
 
   postInstall = ''
+    make prefix="$out" install
     cp -r contrib $out
   '' + stdenv.lib.optionalString stdenv.isDarwin ''
     for prog in $out/bin/*; do
diff --git a/pkgs/applications/networking/instant-messengers/blink/default.nix b/pkgs/applications/networking/instant-messengers/blink/default.nix
index 63dec91dad9..bbdb2ae79f8 100644
--- a/pkgs/applications/networking/instant-messengers/blink/default.nix
+++ b/pkgs/applications/networking/instant-messengers/blink/default.nix
@@ -16,7 +16,7 @@ pythonPackages.buildPythonApplication rec {
     sed -i 's|@out@|'"''${out}"'|g' blink/resources.py
   '';
 
-  propagatedBuildInputs = with pythonPackages; [ pyqt5 cjson sipsimple twisted google_api_python_client ];
+  propagatedBuildInputs = with pythonPackages; [ pyqt5_with_qtwebkit cjson sipsimple twisted google_api_python_client ];
 
   buildInputs = [ pythonPackages.cython zlib libvncserver libvpx ];
 
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix
index e304c139eea..61e8c2b58d9 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-hangouts/default.nix
@@ -2,22 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "purple-hangouts-hg-${version}";
-  version = "2018-03-28";
+  version = "2018-12-02";
 
   src = fetchhg {
     url = "https://bitbucket.org/EionRobb/purple-hangouts/";
-    rev = "0e137e6bf9e95c5a0bd282f3ad4a5bd00a6968ab";
-    sha256 = "04vjgz6qyd9ilv1c6n08r45vc683vxs1rgfwhh65pag6q4rbzlb9";
+    rev = "cccf2f6";
+    sha256 = "1zd1rlzqvw1zkb0ydyz039n3xa1kv1f20a4l6rkm9a8sp6rpf3pi";
   };
 
   buildInputs = [ pidgin glib json-glib protobuf protobufc ];
 
-  installPhase = ''
-    install -Dm755 -t $out/lib/pidgin/ libhangouts.so
-    for size in 16 22 24 48; do
-      install -TDm644 hangouts$size.png $out/share/pixmaps/pidgin/protocols/$size/hangouts.png
-    done
-  '';
+  PKG_CONFIG_PURPLE_PLUGINDIR = "${placeholder "out"}/lib/purple-2";
+  PKG_CONFIG_PURPLE_DATADIR = "${placeholder "out"}/share";
 
   meta = with stdenv.lib; {
     homepage = https://bitbucket.org/EionRobb/purple-hangouts;
diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
index 441bc020868..54959383f08 100644
--- a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
+++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
@@ -9,7 +9,7 @@ in python3Packages.buildPythonPackage {
     sha256 = "e0d1cb72115d0fda17db92d28be51558ad8fe250972683fac3086dbe8d350d22";
   };
 
-  propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python jsmin ];
+  propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit dbus-python jsmin ];
 
   meta = with stdenv.lib; {
     description = "Non-official desktop client for Slack";
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index 9de39442227..ce6215908ae 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -4,7 +4,7 @@
 , tag ? "" # tag added to the package name
 , static ? false # link statically
 
-, stdenv, fetchurl, cmake, makeWrapper, dconf
+, stdenv, fetchFromGitHub, cmake, makeWrapper, dconf
 , qtbase, qtscript
 , phonon, libdbusmenu, qca-qt5
 
@@ -30,12 +30,17 @@ assert !buildClient -> !withKDE; # KDE is used by the client only
 
 let
   edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
-  source = import ./source.nix { inherit fetchurl; };
 
 in with stdenv; mkDerivation rec {
-  inherit (source) src version;
-
   name = "quassel${tag}-${version}";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "quassel";
+    repo = "quassel";
+    rev = version;
+    sha256 = "1jnmc0xky91h81xjjgwg5zylfns0f1pvjy2rv39wlah890k143zr";
+  };
 
   enableParallelBuilding = true;
 
@@ -71,8 +76,6 @@ in with stdenv; mkDerivation rec {
           --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
     '';
 
-  patches = [ ./qt5_11.patch ];
-
   meta = with stdenv.lib; {
     homepage = https://quassel-irc.org/;
     description = "Qt/KDE distributed IRC client suppporting a remote daemon";
@@ -83,7 +86,7 @@ in with stdenv; mkDerivation rec {
       combination of screen and a text-based IRC client such
       as WeeChat, but graphical (based on Qt4/KDE4 or Qt5/KF5).
     '';
-    license = stdenv.lib.licenses.gpl3;
+    license = licenses.gpl3;
     maintainers = with maintainers; [ phreedom ttuegel ];
     repositories.git = https://github.com/quassel/quassel.git;
     inherit (qtbase.meta) platforms;
diff --git a/pkgs/applications/networking/irc/quassel/qt5_11.patch b/pkgs/applications/networking/irc/quassel/qt5_11.patch
deleted file mode 100644
index 45e43d7f96b..00000000000
--- a/pkgs/applications/networking/irc/quassel/qt5_11.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62 Mon Sep 17 00:00:00 2001
-From: Manuel Nickschas <sputnick@quassel-irc.org>
-Date: Thu, 3 May 2018 23:19:34 +0200
-Subject: [PATCH] cmake: Fix build with Qt 5.11
-
-Qt 5.11 removes the qt5_use_modules function, so add a copy. If
-present, the Qt-provided function will be used instead.
-
-Closes GH-355.
----
- cmake/QuasselMacros.cmake | 38 ++++++++++++++++++++++++++++++++++++++
- 1 file changed, 38 insertions(+)
-
-diff --git a/cmake/QuasselMacros.cmake b/cmake/QuasselMacros.cmake
-index 652c0042..d77ba1cf 100644
---- a/cmake/QuasselMacros.cmake
-+++ b/cmake/QuasselMacros.cmake
-@@ -5,6 +5,9 @@
- # The qt4_use_modules function was taken from CMake's Qt4Macros.cmake:
- # (C) 2005-2009 Kitware, Inc.
- #
-+# The qt5_use_modules function was taken from Qt 5.10.1 (and modified):
-+# (C) 2005-2011 Kitware, Inc.
-+#
- # Redistribution and use is allowed according to the terms of the BSD license.
- # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
- 
-@@ -43,6 +46,41 @@ function(qt4_use_modules _target _link_type)
-     endforeach()
- endfunction()
- 
-+# Qt 5.11 removed the qt5_use_modules function, so we need to provide it until we can switch to a modern CMake version.
-+# If present, the Qt-provided version will be used automatically instead.
-+function(qt5_use_modules _target _link_type)
-+    if (NOT TARGET ${_target})
-+        message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.")
-+    endif()
-+    if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" )
-+        set(_qt5_modules ${ARGN})
-+        set(_qt5_link_type ${_link_type})
-+    else()
-+        set(_qt5_modules ${_link_type} ${ARGN})
-+    endif()
-+
-+    if ("${_qt5_modules}" STREQUAL "")
-+        message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.")
-+    endif()
-+    foreach(_module ${_qt5_modules})
-+        if (NOT Qt5${_module}_FOUND)
-+            find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH)
-+            if (NOT Qt5${_module}_FOUND)
-+                message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
-+            endif()
-+        endif()
-+        target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES})
-+        set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS})
-+        set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS})
-+        if (Qt5_POSITION_INDEPENDENT_CODE
-+                AND (CMAKE_VERSION VERSION_LESS 2.8.12
-+                    AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
-+                    OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)))
-+            set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE})
-+        endif()
-+    endforeach()
-+endfunction()
-+
- # Some wrappers for simplifying dual-Qt support
- 
- function(qt_use_modules)
--- 
-2.16.2
-
diff --git a/pkgs/applications/networking/irc/quassel/source.nix b/pkgs/applications/networking/irc/quassel/source.nix
deleted file mode 100644
index 20daba78899..00000000000
--- a/pkgs/applications/networking/irc/quassel/source.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ fetchurl }:
-
-rec {
-  version = "0.12.5";
-  src = fetchurl {
-    url = "https://github.com/quassel/quassel/archive/${version}.tar.gz";
-    sha256 = "04f42x87a4wkj3va3wnmj2jl7ikqqa7d7nmypqpqwalzpzk7kxwv";
-  };
-}
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index 47cb83dee76..a783cb2af3f 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -31,11 +31,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "claws-mail-${version}";
-  version = "3.17.1";
+  version = "3.17.2";
 
   src = fetchurl {
     url = "http://www.claws-mail.org/download.php?file=releases/claws-mail-${version}.tar.xz";
-    sha256 = "1wknxbwyzm5xjh3cqmddcxmvp1rkp301qga5n5rgfi7vcd0myyvm";
+    sha256 = "1hb17kpvfl8f1y49zan0wvf4awapxg13bqbqwrbhq2n4xp445kr5";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/mime.patch b/pkgs/applications/networking/mailreaders/claws-mail/mime.patch
index 62f5df4b69a..2ff4269c332 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/mime.patch
+++ b/pkgs/applications/networking/mailreaders/claws-mail/mime.patch
@@ -1,15 +1,28 @@
---- a/src/procmime.c	2015-10-01 23:02:16.629908590 -0700
-+++ b/src/procmime.c	2015-10-01 23:02:46.932001337 -0700
-@@ -1196,11 +1196,7 @@
+diff --git a/src/procmime.c b/src/procmime.c
+index bd3239e..06a3b26 100644
+--- a/src/procmime.c
++++ b/src/procmime.c
+@@ -1144,20 +1144,16 @@ GList *procmime_get_mime_type_list(void)
+ 	MimeType *mime_type;
+ 	gboolean fp_is_glob_file = TRUE;
+ 
  	if (mime_type_list) 
  		return mime_type_list;
- 	
+-	
 -#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)
--	if ((fp = procmime_fopen(DATAROOTDIR "/mime/globs", "rb")) == NULL) 
+-	if ((fp = claws_fopen(DATAROOTDIR "/mime/globs", "rb")) == NULL) 
 -#else
--	if ((fp = procmime_fopen("/usr/share/mime/globs", "rb")) == NULL) 
+-	if ((fp = claws_fopen("/usr/share/mime/globs", "rb")) == NULL) 
 -#endif
-+	if ((fp = procmime_fopen("@MIMEROOTDIR@/mime/globs", "rb")) == NULL) 
++
++	if ((fp = claws_fopen("@MIMEROOTDIR@/mime/globs", "rb")) == NULL)
  	{
  		fp_is_glob_file = FALSE;
- 		if ((fp = procmime_fopen("/etc/mime.types", "rb")) == NULL) {
+ 		if ((fp = claws_fopen("/etc/mime.types", "rb")) == NULL) {
+ 			if ((fp = claws_fopen(SYSCONFDIR "/mime.types", "rb")) 
+ 				== NULL) {
+ 				FILE_OP_ERROR(SYSCONFDIR "/mime.types", 
+ 					"claws_fopen");
+ 				return NULL;
+ 			}
+
diff --git a/pkgs/applications/networking/p2p/synapse-bt/default.nix b/pkgs/applications/networking/p2p/synapse-bt/default.nix
index 2c257a1294a..8622b374100 100644
--- a/pkgs/applications/networking/p2p/synapse-bt/default.nix
+++ b/pkgs/applications/networking/p2p/synapse-bt/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "synapse-bt-unstable-${version}";
-  version = "2018-06-04";
+  version = "2018-10-17";
 
   src = fetchFromGitHub {
     owner = "Luminarys";
     repo = "synapse";
-    rev = "ec8f23a14af21426ab0c4f8953dd954f747850ab";
-    sha256 = "0d1rrwnk333zz9g8s40i75xgdkpz6a1j01ajsh32yvzvbi045zkw";
+    rev = "76d5e9a23ad00c25cfd0469b1adb479b9ded113a";
+    sha256 = "1lsfvcsmbsg51v8c2hkpwkx0zg25sdjc3q7x72b5bwwnw9l0iglz";
   };
 
-  cargoSha256 = "1psrmgf6ddzqwx7gf301rx84asfnvxpsvkx2fan453v65819k960";
+  cargoSha256 = "1sc8c0w2dbvcdv16idw02y35x0jx5ff6ddzij09pmqjx55zgsjf7";
 
   buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/applications/networking/sync/desync/default.nix b/pkgs/applications/networking/sync/desync/default.nix
index e8cca04203b..6dcd451533a 100644
--- a/pkgs/applications/networking/sync/desync/default.nix
+++ b/pkgs/applications/networking/sync/desync/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "desync-${version}";
-  version = "0.3.0";
+  version = "0.4.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/folbricht/desync";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "folbricht";
     repo = "desync";
-    sha256 = "1h2i6ai7q1mg2ysd3cnas96rb8g0bpp1v3hh7ip9nrfxhlplyyda";
+    sha256 = "17qh0g1paa7212j761q9z246k10a3xrwd8fgiizw3lr9adn50kdk";
   };
 
   goDeps = ./deps.nix;
@@ -21,7 +21,7 @@ buildGoPackage rec {
     longDescription = "An alternate implementation of the casync protocol and storage mechanism with a focus on production-readiness";
     homepage = https://github.com/folbricht/desync;
     license = licenses.bsd3;
-    platforms = platforms.unix; # windows temporarily broken in 0.3.0 release
+    platforms = platforms.unix; # *may* work on Windows, but varies between releases.
     maintainers = [ maintainers.chaduffy ];
   };
 }
diff --git a/pkgs/applications/networking/sync/desync/deps.nix b/pkgs/applications/networking/sync/desync/deps.nix
index 2342fb76f0c..7f5f3251d16 100644
--- a/pkgs/applications/networking/sync/desync/deps.nix
+++ b/pkgs/applications/networking/sync/desync/deps.nix
@@ -1,129 +1,312 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
 [
+
   {
     goPackagePath = "github.com/datadog/zstd";
     fetch = {
       type = "git";
       url = "https://github.com/datadog/zstd";
-      rev = "940731c8fc259059120b0e617a69d54dcd7c3eee";
-      sha256 = "04nmljnk54xm2k4ydhdiidazk3765jk8h4hvcsymkrsggrfyrjfx";
+      rev = "v1.3.4";
+      sha256 = "06wphl43ji23c0cmmm6fd3wszbwq36mdp1jarak2a6hmxl6yf0b8";
     };
   }
+
+  {
+    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/dchest/siphash";
     fetch = {
       type = "git";
       url = "https://github.com/dchest/siphash";
-      rev = "34f201214d993633bb24f418ba11736ab8b55aa7";
-      sha256 = "08s076y7vmjqnq7jz0762hkm896r6r31v8b31a3gy0n8rfa01k8k";
+      rev = "v1.2.0";
+      sha256 = "01qhv9zd9l6p7pwf1fj022mp9s5496rk4lnm3yvpjsiwp6k4af8c";
     };
   }
+
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
+    };
+  }
+
   {
     goPackagePath = "github.com/folbricht/tempfile";
     fetch = {
       type = "git";
       url = "https://github.com/folbricht/tempfile";
-      rev = "ee190cb5934293f187a9d43ee34de7d5cf9ceb83";
+      rev = "v0.0.1";
       sha256 = "0vz08qvbniqxc24vhmcbq5ncnz97ncp4jbxgcf0hziazxfp114z3";
     };
   }
+
   {
     goPackagePath = "github.com/go-ini/ini";
     fetch = {
       type = "git";
       url = "https://github.com/go-ini/ini";
-      rev = "fa25069db393aecc09b71267d0489b357781c860";
-      sha256 = "0fs1c48hni5gc1fyz65d138jpmqm1sqpb7vw5vhx0j6lmj1nf45z";
+      rev = "v1.38.2";
+      sha256 = "0xbnw1nd22q6k863n5gs0nxld15w0p8qxbhfky85akcb5rk1vwi9";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0210a2f0f73c";
+      sha256 = "1n80xjfc1dkxs8h8mkpw83n89wi5n7hzc3rxhwjs76rkxpq3rc9j";
     };
   }
+
   {
     goPackagePath = "github.com/hanwen/go-fuse";
     fetch = {
       type = "git";
       url = "https://github.com/hanwen/go-fuse";
-      rev = "1d35017e97018335f348413b3aeed67468d80f7b";
+      rev = "1d35017e9701";
       sha256 = "11rggvkd6lc5lcpsfvc9iip4z9cingzpkpshaskv2cirbxdynyi8";
     };
   }
+
+  {
+    goPackagePath = "github.com/inconshreveable/mousetrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/inconshreveable/mousetrap";
+      rev = "v1.0.0";
+      sha256 = "1mn0kg48xkd74brf48qf5hzp0bc6g8cf5a77w895rl3qnlpfw152";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.2.1";
+      sha256 = "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h";
+    };
+  }
+
   {
     goPackagePath = "github.com/kr/fs";
     fetch = {
       type = "git";
       url = "https://github.com/kr/fs";
-      rev = "1455def202f6e05b95cc7bfc7e8ae67ae5141eba";
+      rev = "v0.1.0";
       sha256 = "11zg176x9hr9q7fsk95r6q0wf214gg4czy02slax4x56n79g6a7q";
     };
   }
+
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.0.9";
+      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.4";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "v0.0.3";
+      sha256 = "0lc39b6xrxv7h3v3y1kgz49cgi5qxwlygs715aam6ba35m48yi7g";
+    };
+  }
+
   {
     goPackagePath = "github.com/minio/minio-go";
     fetch = {
       type = "git";
       url = "https://github.com/minio/minio-go";
-      rev = "f01ef22c977052d716c74724874f932a16f047bb";
-      sha256 = "0pn1likcwnzb2j4hi4r1ib3xlp31h2vgwyc7xnm1iv7f8l4gk2hc";
+      rev = "v6.0.6";
+      sha256 = "0bgivqw1n1189lksp85djw1rqcan2axyh4jv9q54iclrjkpbab37";
     };
   }
+
   {
     goPackagePath = "github.com/mitchellh/go-homedir";
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/go-homedir";
-      rev = "ae18d6b8b3205b561c79e8e5f69bff09736185f4";
+      rev = "v1.0.0";
       sha256 = "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq";
     };
   }
+
   {
     goPackagePath = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "c059e472caf75dbe73903f6521a20abac245b17f";
-      sha256 = "07xg8ym776j2w0k8445ii82lx8yz358cp1z96r739y13i1anqdzi";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
     };
   }
+
   {
     goPackagePath = "github.com/pkg/sftp";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/sftp";
-      rev = "08de04f133f27844173471167014e1a753655ac8";
-      sha256 = "090q4xmjbllwl3rpj1hzp0iw3qw1yvp6r3kf5cgw44ai57z96271";
+      rev = "v1.8.2";
+      sha256 = "040flbir6sv213xzs75vkd5fd7bmm3fqxfcnsx8fr77zkn52hm4m";
     };
   }
+
+  {
+    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/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "7c9eb446e3cf";
+      sha256 = "1dix6qgaj6kw38hicy3zs3lvacl1kn0n267b3xw0vvdkqf1v0395";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "ef6db91d284a";
+      sha256 = "16znlpsms8z2qc3airawyhzvrzcp70p9bx375i19bg489hgchxb7";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "v0.0.3";
+      sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.2";
+      sha256 = "005598piihl3l83a71ahj10cpq9pbhjck4xishx1b4dzc02r9xr2";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.2.2";
+      sha256 = "0dlszlshlxbmmfxj5hlwgv3r22x0y1af45gn1vd198nvvs3pnvfs";
+    };
+  }
+
   {
     goPackagePath = "golang.org/x/crypto";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "0e37d006457bf46f9e6692014ba72ef82c33022c";
-      sha256 = "1fj8rvrhgv5j8pmckzphvm3sqkzhcqp3idkxvgv13qrjdfycsa5r";
+      rev = "0709b304e793";
+      sha256 = "0i05s09y5pavmfh71fgih7syxg58x7a4krgd8am6d3mnahnmab5c";
     };
   }
+
   {
     goPackagePath = "golang.org/x/net";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "2f5d2388922f370f4355f327fcf4cfe9f5583908";
-      sha256 = "03s92ygxfrd2c1m4697sd6iksgbar6c007w1yf3h6wmd79vr5dxs";
+      rev = "161cd47e91fd";
+      sha256 = "0254ld010iijygbzykib2vags1dc0wlmcmhgh4jl8iny159lhbcv";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "1d60e4601c6f";
+      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
     };
   }
+
   {
     goPackagePath = "golang.org/x/sys";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "d47a0f3392421c5624713c9a19fe781f651f8a50";
-      sha256 = "01dqcv7vnynwhlmb28fn50svjb9kfj04nk7frvf7mh4jd3qnrsnv";
+      rev = "49385e6e1522";
+      sha256 = "0spbldahns09fdxkxflb1x24f8k2awdlnr6k5i7ci4fqd19r1dv4";
     };
   }
+
   {
     goPackagePath = "golang.org/x/text";
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "905a57155faa8230500121607930ebb9dd8e139c";
-      sha256 = "1qlvvb44j9ss3mkb5035i20xsd6sm0n05sqpqbi8gjw64g086zcb";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+
+  {
+    goPackagePath = "gopkg.in/cheggaaa/pb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/cheggaaa/pb.v1";
+      rev = "v1.0.25";
+      sha256 = "0vxqiw6f3xyv0zy3g4lksf8za0z8i0hvfpw92hqimsy84f79j3dp";
+    };
+  }
+
+  {
+    goPackagePath = "gopkg.in/ini.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/ini.v1";
+      rev = "v1.38.2";
+      sha256 = "0xbnw1nd22q6k863n5gs0nxld15w0p8qxbhfky85akcb5rk1vwi9";
     };
   }
 ]
diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix
index f31685b68ea..c4268b54c20 100644
--- a/pkgs/applications/science/electronics/verilog/default.nix
+++ b/pkgs/applications/science/electronics/verilog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "iverilog-${version}";
-  version = "2017.08.12";
+  version = "2018.12.15";
 
   src = fetchFromGitHub {
     owner = "steveicarus";
     repo = "iverilog";
-    rev = "ac87138c44cd6089046668c59a328b4d14c16ddc";
-    sha256 = "1npv0533h0h2wxrxkgiaxqiasw2p4kj2vv5bd69w5xld227xcwpg";
+    rev = "7cd078e7ab184069b3b458fe6df7e83962254816";
+    sha256 = "1zc7lsa77dbsxjfz7vdgclmg97r0kw08xss7yfs4vyv5v5gnn98d";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 58609e856c3..c22c15b3a4b 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -2,17 +2,17 @@
 
 stdenv.mkDerivation rec {
   name    = "why3-${version}";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchurl {
-    url    = https://gforge.inria.fr/frs/download.php/file/37767/why3-1.1.0.tar.gz;
-    sha256 = "199ziq8mv3r24y3dd1n2r8k2gy09p7kdyyhkg9qn1vzfd2fxwzc1";
+    url = https://gforge.inria.fr/frs/download.php/file/37842/why3-1.1.1.tar.gz;
+    sha256 = "065ix1ill009bxg7w27s8wq47vn03vbr63hsaa79arv31d96izny";
   };
 
   buildInputs = (with ocamlPackages; [
       ocaml findlib num lablgtk ocamlgraph zarith menhir ]) ++
-    stdenv.lib.optionals (ocamlPackages.ocaml == coq.ocaml ) [
-      coq coq.camlp5
+    stdenv.lib.optionals (ocamlPackages.ocaml == coq.ocamlPackages.ocaml ) [
+      coq ocamlPackages.camlp5
     ];
 
   installTargets = [ "install" "install-lib" ];
diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix
index 2927701dbd7..f6a9f58b176 100644
--- a/pkgs/applications/science/math/gap/default.nix
+++ b/pkgs/applications/science/math/gap/default.nix
@@ -1,6 +1,8 @@
 { stdenv
+, lib
 , fetchurl
 , fetchpatch
+, makeWrapper
 , m4
 , gmp
 # don't remove any packages -- results in a ~1.3G size increase
@@ -11,24 +13,17 @@
 stdenv.mkDerivation rec {
   pname = "gap";
   # https://www.gap-system.org/Releases/
-  # newer versions (4.9.0) are available, but still considered beta (https://github.com/gap-system/gap/wiki/GAP-4.9-release-notes)
-  version = "4r8p10";
-  pkgVer = "2018_01_15-13_02";
-  name = "${pname}-${version}";
-
-  src = let
-    # 4r8p10 -> 48
-    majorminor = stdenv.lib.replaceStrings ["r"] [""] (
-      builtins.head (stdenv.lib.splitString "p" version) # 4r8p10 -> 4r8
-    );
-  in
-    fetchurl {
-    url = "https://www.gap-system.org/pub/gap/gap${majorminor}/tar.bz2/gap${version}_${pkgVer}.tar.bz2";
-    sha256 = "0wzfdjnn6sfiaizbk5c7x44rhbfayis4lf57qbqqg84c7dqlwr6f";
+  version = "4.10.0";
+
+  src = fetchurl {
+    url = "https://www.gap-system.org/pub/gap/gap-${lib.versions.major version}.${lib.versions.minor version}/tar.bz2/gap-${version}.tar.bz2";
+    sha256 = "1dmb8v4p7j1nnf7sx8sg54b49yln36bi9acwp7w1d3a1nxj17ird";
   };
 
   # remove all non-essential packages (which take up a lot of space)
-  preConfigure = stdenv.lib.optionalString (!keepAllPackages) ''
+  preConfigure = ''
+    patchShebangs .
+  '' + lib.optionalString (!keepAllPackages) ''
     find pkg -type d -maxdepth 1 -mindepth 1 \
        -not -name 'GAPDoc-*' \
        -not -name 'autpgrp*' \
@@ -37,26 +32,63 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [ "--with-gmp=system" ];
-  buildInputs = [ m4 gmp ];
+
+  buildInputs = [
+    m4
+    gmp
+  ];
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
 
   patches = [
-    #  fix infinite loop in writeandcheck() when writing an error message fails.
+    # bugfix: https://github.com/gap-system/gap/pull/3102
+    (fetchpatch {
+      name = "fix-infinite-loop-in-writeandcheck.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0001-a-version-of-the-writeandcheck.patch-from-Sage-that-.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098";
+      sha256 = "1zkv8bbiw3jdn54sqqvfkdkfsd7jxzq0bazwsa14g4sh2265d28j";
+    })
+
+    # needed for libgap (sage): https://github.com/gap-system/gap/pull/3043
     (fetchpatch {
-      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/writeandcheck.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
-      sha256 = "1r1511x4kc2i2mbdq1b61rb6p3misvkf1v5qy3z6fmn6vqwziaz1";
+      name = "add-error-messages-helper.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0002-kernel-add-helper-function-for-writing-error-message.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098";
+      sha256 = "0c4ry5znb6hwwp8ld6k62yw8w6cqldflw3x49bbzizbmipfpidh5";
+    })
+
+    # needed for libgap (sage): https://github.com/gap-system/gap/pull/3096
+    (fetchpatch {
+      name = "gap-enter.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/0003-Prototype-for-GAP_Enter-Leave-macros-to-bracket-use-.patch?id=5e61d7b6a0da3aa53d8176fa1fb9353cc559b098";
+      sha256 = "12fg8mb8rm6khsz1r4k3k26jrkx4q1rv13hcrfnlhn0m7iikvc3q";
     })
   ];
 
-  doCheck = true;
-  checkTarget = "testinstall";
   # "teststandard" is a superset of testinstall. It takes ~1h instead of ~1min.
   # tests are run twice, once with all packages loaded and once without
   # checkTarget = "teststandard";
 
-  preCheck = ''
+  doInstallCheck = true;
+  installCheckTarget = "testinstall";
+
+  preInstallCheck = ''
     # gap tests check that the home directory exists
     export HOME="$TMP/gap-home"
     mkdir -p "$HOME"
+
+    # make sure gap is in PATH
+    export PATH="$out/bin:$PATH"
+
+    # make sure we don't accidentally use the wrong gap binary
+    rm -r bin
+
+    # like the defaults the Makefile, but use gap from PATH instead of the
+    # one from builddir
+    installCheckFlagsArray+=(
+      "TESTGAP=gap --quitonbreak -b -m 100m -o 1g -q -x 80 -r -A"
+      "TESTGAPauto=gap --quitonbreak -b -m 100m -o 1g -q -x 80 -r"
+    )
   '';
 
   postCheck = ''
@@ -78,14 +110,20 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p "$out/bin" "$out/share/gap/"
 
-    cp -r . "$out/share/gap/build-dir"
+    mkdir -p "$out/share/gap"
+    echo "Copying files to target directory"
+    cp -ar . "$out/share/gap/build-dir"
 
-    sed -e "/GAP_DIR=/aGAP_DIR='$out/share/gap/build-dir/'" -i "$out/share/gap/build-dir/bin/gap.sh"
+    makeWrapper "$out/share/gap/build-dir/bin/gap.sh" "$out/bin/gap" \
+      --set GAP_DIR $out/share/gap/build-dir
+  '';
 
-    ln -s "$out/share/gap/build-dir/bin/gap.sh" "$out/bin/gap"
+  preFixup = ''
+    # patchelf won't strip references to the build dir if it still exists
+    rm -rf pkg
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Computational discrete algebra system";
     maintainers = with maintainers;
     [
@@ -96,7 +134,7 @@ stdenv.mkDerivation rec {
     # keeping all packages increases the package size considerably, wchich
     # is why a local build is preferable in that situation. The timeframe
     # is reasonable and that way the binary cache doesn't get overloaded.
-    hydraPlatforms = stdenv.lib.optionals (!keepAllPackages) meta.platforms;
+    hydraPlatforms = lib.optionals (!keepAllPackages) meta.platforms;
     license = licenses.gpl2;
     homepage = http://gap-system.org/;
   };
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index 46e60a2b81e..dfdf210eec0 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -70,7 +70,7 @@ let
   sage-env = callPackage ./sage-env.nix {
     sagelib = python.pkgs.sagelib;
     inherit env-locations;
-    inherit python rWrapper ecl singular palp flint pynac pythonEnv;
+    inherit python ecl singular palp flint pynac pythonEnv;
     pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig
   };
 
@@ -124,19 +124,6 @@ let
     ignoreCollisions = true;
   } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible
 
-  # needs to be rWrapper, standard "R" doesn't include default packages
-  rWrapper = pkgs.rWrapper.override {
-    # https://trac.sagemath.org/ticket/25674
-    R = pkgs.R.overrideAttrs (attrs: rec {
-      name = "R-3.4.4";
-      doCheck = false;
-      src = fetchurl {
-        url = "http://cran.r-project.org/src/base/R-3/${name}.tar.gz";
-        sha256 = "0dq3jsnwsb5j3fhl0wi3p5ycv8avf8s5j1y4ap3d2mkjmcppvsdk";
-      };
-    });
-  };
-
   arb = pkgs.arb.override { inherit flint; };
 
   singular = pkgs.singular.override { inherit flint; };
diff --git a/pkgs/applications/science/math/sage/patches/dont-test-guess-gaproot.patch b/pkgs/applications/science/math/sage/patches/dont-test-guess-gaproot.patch
new file mode 100644
index 00000000000..32b877428d5
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/dont-test-guess-gaproot.patch
@@ -0,0 +1,13 @@
+diff --git a/src/sage/libs/gap/util.pyx b/src/sage/libs/gap/util.pyx
+index 5ff67107c1..1318df86fd 100644
+--- a/src/sage/libs/gap/util.pyx
++++ b/src/sage/libs/gap/util.pyx
+@@ -165,7 +165,7 @@ def _guess_gap_root():
+     EXAMPLES::
+ 
+         sage: from sage.libs.gap.util import _guess_gap_root
+-        sage: _guess_gap_root()
++        sage: _guess_gap_root() # not tested (not necessary on nixos)
+         The gap-4.5.5.spkg (or later) seems to be not installed!
+         ...
+     """
diff --git a/pkgs/applications/science/math/sage/patches/numpy-1.15.1.patch b/pkgs/applications/science/math/sage/patches/numpy-1.15.1.patch
deleted file mode 100644
index 9e855ba4ad9..00000000000
--- a/pkgs/applications/science/math/sage/patches/numpy-1.15.1.patch
+++ /dev/null
@@ -1,911 +0,0 @@
-diff --git a/src/doc/en/faq/faq-usage.rst b/src/doc/en/faq/faq-usage.rst
-index 2347a1190d..f5b0fe71a4 100644
---- a/src/doc/en/faq/faq-usage.rst
-+++ b/src/doc/en/faq/faq-usage.rst
-@@ -338,7 +338,7 @@ ints. For example::
-     sage: RealNumber = float; Integer = int
-     sage: from scipy import stats
-     sage: stats.ttest_ind(list([1,2,3,4,5]),list([2,3,4,5,.6]))
--    Ttest_indResult(statistic=0.076752955645333687, pvalue=0.94070490247380478)
-+    Ttest_indResult(statistic=0.0767529..., pvalue=0.940704...)
-     sage: stats.uniform(0,15).ppf([0.5,0.7])
-     array([  7.5,  10.5])
- 
-diff --git a/src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst b/src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst
-index 314811c42b..e5f54ec4c2 100644
---- a/src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst
-+++ b/src/doc/en/thematic_tutorials/numerical_sage/cvxopt.rst
-@@ -48,11 +48,13 @@ we could do the following.
-     sage: B = numpy.array([1.0]*5)
-     sage: B.shape=(5,1)
-     sage: print(B)
--    [[ 1.]
--     [ 1.]
--     [ 1.]
--     [ 1.]
--     [ 1.]]
-+    [[1.]
-+     [1.]
-+     [1.]
-+     [1.]
-+     [1.]]
-+
-+
-     sage: print(A)
-     [ 2.00e+00  3.00e+00     0         0         0    ]
-     [ 3.00e+00     0      4.00e+00     0      6.00e+00]
-diff --git a/src/doc/en/thematic_tutorials/numerical_sage/numpy.rst b/src/doc/en/thematic_tutorials/numerical_sage/numpy.rst
-index 5b89cd75ee..e50b2ea5d4 100644
---- a/src/doc/en/thematic_tutorials/numerical_sage/numpy.rst
-+++ b/src/doc/en/thematic_tutorials/numerical_sage/numpy.rst
-@@ -84,7 +84,7 @@ well as take slices
-     sage: l[3]
-     3.0
-     sage: l[3:6]
--    array([ 3.,  4.,  5.])
-+    array([3., 4., 5.])
- 
- You can do basic arithmetic operations
- 
-@@ -147,11 +147,11 @@ also do matrix vector multiplication, and matrix addition
-     sage: n = numpy.matrix([[1,2],[3,4]],dtype=float)
-     sage: v = numpy.array([[1],[2]],dtype=float)
-     sage: n*v
--    matrix([[  5.],
--            [ 11.]])
-+    matrix([[ 5.],
-+            [11.]])
-     sage: n+n
--    matrix([[ 2.,  4.],
--            [ 6.,  8.]])
-+    matrix([[2., 4.],
-+            [6., 8.]])
- 
- If ``n`` was created with :meth:`numpy.array`, then to do matrix vector
- multiplication, you would use ``numpy.dot(n,v)``.
-@@ -170,11 +170,11 @@ to manipulate
-             22.,  23.,  24.])
-     sage: n.shape=(5,5)
-     sage: n
--    array([[  0.,   1.,   2.,   3.,   4.],
--           [  5.,   6.,   7.,   8.,   9.],
--           [ 10.,  11.,  12.,  13.,  14.],
--           [ 15.,  16.,  17.,  18.,  19.],
--           [ 20.,  21.,  22.,  23.,  24.]])
-+    array([[ 0.,  1.,  2.,  3.,  4.],
-+           [ 5.,  6.,  7.,  8.,  9.],
-+           [10., 11., 12., 13., 14.],
-+           [15., 16., 17., 18., 19.],
-+           [20., 21., 22., 23., 24.]])
- 
- This changes the one-dimensional array into a `5\times 5` array.
- 
-@@ -187,8 +187,8 @@ NumPy arrays can be sliced as well
-     sage: n=numpy.array(range(25),dtype=float)
-     sage: n.shape=(5,5)
-     sage: n[2:4,1:3]
--    array([[ 11.,  12.],
--           [ 16.,  17.]])
-+    array([[11., 12.],
-+           [16., 17.]])
- 
- It is important to note that the sliced matrices are references to
- the original
-@@ -224,8 +224,8 @@ Some particularly useful commands are
- 
-     sage: x=numpy.arange(0,2,.1,dtype=float)
-     sage: x
--    array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9,  1. ,
--            1.1,  1.2,  1.3,  1.4,  1.5,  1.6,  1.7,  1.8,  1.9])
-+    array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,
-+           1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9])
- 
- You can see that :meth:`numpy.arange` creates an array of floats increasing by 0.1
- from 0 to 2. There is a useful command :meth:`numpy.r_` that is best explained by example
-@@ -240,10 +240,11 @@ from 0 to 2. There is a useful command :meth:`numpy.r_` that is best explained b
-     sage: Integer=int
-     sage: n=r_[0.0:5.0]
-     sage: n
--    array([ 0.,  1.,  2.,  3.,  4.])
-+    array([0., 1., 2., 3., 4.])
-     sage: n=r_[0.0:5.0, [0.0]*5]
-     sage: n
--    array([ 0.,  1.,  2.,  3.,  4.,  0.,  0.,  0.,  0.,  0.])
-+    array([0., 1., 2., 3., 4., 0., 0., 0., 0., 0.])
-+
- 
- :meth:`numpy.r_` provides a shorthand for constructing NumPy arrays efficiently.
- Note in the above ``0.0:5.0`` was shorthand for ``0.0, 1.0, 2.0, 3.0, 4.0``.
-@@ -255,7 +256,7 @@ intervals. We can do this as follows
- ::
- 
-     sage: r_[0.0:5.0:11*j]
--    array([ 0. ,  0.5,  1. ,  1.5,  2. ,  2.5,  3. ,  3.5,  4. ,  4.5,  5. ])
-+    array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5, 5. ])
- 
- The notation ``0.0:5.0:11*j`` expands to a list of 11 equally space
- points between 0 and 5 including both endpoints. Note that ``j`` is the
-@@ -287,23 +288,23 @@ an equally spaced grid with `\Delta x = \Delta y = .25` for
-     sage: y=numpy.r_[0.0:1.0:5*j]
-     sage: xx,yy= meshgrid(x,y)
-     sage: xx
--    array([[ 0.  ,  0.25,  0.5 ,  0.75,  1.  ],
--           [ 0.  ,  0.25,  0.5 ,  0.75,  1.  ],
--           [ 0.  ,  0.25,  0.5 ,  0.75,  1.  ],
--           [ 0.  ,  0.25,  0.5 ,  0.75,  1.  ],
--           [ 0.  ,  0.25,  0.5 ,  0.75,  1.  ]])
-+    array([[0.  , 0.25, 0.5 , 0.75, 1.  ],
-+           [0.  , 0.25, 0.5 , 0.75, 1.  ],
-+           [0.  , 0.25, 0.5 , 0.75, 1.  ],
-+           [0.  , 0.25, 0.5 , 0.75, 1.  ],
-+           [0.  , 0.25, 0.5 , 0.75, 1.  ]])
-     sage: yy
--    array([[ 0.  ,  0.  ,  0.  ,  0.  ,  0.  ],
--           [ 0.25,  0.25,  0.25,  0.25,  0.25],
--           [ 0.5 ,  0.5 ,  0.5 ,  0.5 ,  0.5 ],
--           [ 0.75,  0.75,  0.75,  0.75,  0.75],
--           [ 1.  ,  1.  ,  1.  ,  1.  ,  1.  ]])
-+    array([[0.  , 0.  , 0.  , 0.  , 0.  ],
-+           [0.25, 0.25, 0.25, 0.25, 0.25],
-+           [0.5 , 0.5 , 0.5 , 0.5 , 0.5 ],
-+           [0.75, 0.75, 0.75, 0.75, 0.75],
-+           [1.  , 1.  , 1.  , 1.  , 1.  ]])
-     sage: f(xx,yy)
--    array([[ 0.    ,  0.0625,  0.25  ,  0.5625,  1.    ],
--           [ 0.0625,  0.125 ,  0.3125,  0.625 ,  1.0625],
--           [ 0.25  ,  0.3125,  0.5   ,  0.8125,  1.25  ],
--           [ 0.5625,  0.625 ,  0.8125,  1.125 ,  1.5625],
--           [ 1.    ,  1.0625,  1.25  ,  1.5625,  2.    ]])
-+    array([[0.    , 0.0625, 0.25  , 0.5625, 1.    ],
-+           [0.0625, 0.125 , 0.3125, 0.625 , 1.0625],
-+           [0.25  , 0.3125, 0.5   , 0.8125, 1.25  ],
-+           [0.5625, 0.625 , 0.8125, 1.125 , 1.5625],
-+           [1.    , 1.0625, 1.25  , 1.5625, 2.    ]])
- 
- You can see that :meth:`numpy.meshgrid` produces a pair of matrices, here denoted
- `xx` and `yy`, such that `(xx[i,j],yy[i,j])` has coordinates
-@@ -324,7 +325,7 @@ equation `Ax=b` do
-     sage: b=numpy.array(range(1,6))
-     sage: x=linalg.solve(A,b)
-     sage: numpy.dot(A,x)
--    array([ 1.,  2.,  3.,  4., 5.])
-+    array([1., 2., 3., 4., 5.])
- 
- This creates a random 5x5 matrix ``A``, and solves `Ax=b` where
- ``b=[0.0,1.0,2.0,3.0,4.0]``. There are many other routines in the :mod:`numpy.linalg`
-diff --git a/src/sage/calculus/riemann.pyx b/src/sage/calculus/riemann.pyx
-index 60f37f7557..4ac3dedf1d 100644
---- a/src/sage/calculus/riemann.pyx
-+++ b/src/sage/calculus/riemann.pyx
-@@ -1191,30 +1191,30 @@ cpdef complex_to_spiderweb(np.ndarray[COMPLEX_T, ndim = 2] z_values,
-         sage: zval = numpy.array([[0, 1, 1000],[.2+.3j,1,-.3j],[0,0,0]],dtype = numpy.complex128)
-         sage: deriv = numpy.array([[.1]],dtype = numpy.float64)
-         sage: complex_to_spiderweb(zval, deriv,deriv, 4,4,[0,0,0],1,False,0.001)
--        array([[[ 1.,  1.,  1.],
--                [ 1.,  1.,  1.],
--                [ 1.,  1.,  1.]],
-+        array([[[1., 1., 1.],
-+                [1., 1., 1.],
-+                [1., 1., 1.]],
-         <BLANKLINE>
--               [[ 1.,  1.,  1.],
--                [ 0.,  0.,  0.],
--                [ 1.,  1.,  1.]],
-+               [[1., 1., 1.],
-+                [0., 0., 0.],
-+                [1., 1., 1.]],
-         <BLANKLINE>
--               [[ 1.,  1.,  1.],
--                [ 1.,  1.,  1.],
--                [ 1.,  1.,  1.]]])
-+               [[1., 1., 1.],
-+                [1., 1., 1.],
-+                [1., 1., 1.]]])
- 
-         sage: complex_to_spiderweb(zval, deriv,deriv, 4,4,[0,0,0],1,True,0.001)
--        array([[[ 1.        ,  1.        ,  1.        ],
--                [ 1.        ,  0.05558355,  0.05558355],
--                [ 0.17301243,  0.        ,  0.        ]],
-+        array([[[1.        , 1.        , 1.        ],
-+                [1.        , 0.05558355, 0.05558355],
-+                [0.17301243, 0.        , 0.        ]],
-         <BLANKLINE>
--               [[ 1.        ,  0.96804683,  0.48044583],
--                [ 0.        ,  0.        ,  0.        ],
--                [ 0.77351965,  0.5470393 ,  1.        ]],
-+               [[1.        , 0.96804683, 0.48044583],
-+                [0.        , 0.        , 0.        ],
-+                [0.77351965, 0.5470393 , 1.        ]],
-         <BLANKLINE>
--               [[ 1.        ,  1.        ,  1.        ],
--                [ 1.        ,  1.        ,  1.        ],
--                [ 1.        ,  1.        ,  1.        ]]])
-+               [[1.        , 1.        , 1.        ],
-+                [1.        , 1.        , 1.        ],
-+                [1.        , 1.        , 1.        ]]])
-      """
-     cdef Py_ssize_t i, j, imax, jmax
-     cdef FLOAT_T x, y, mag, arg, width, target, precision, dmag, darg
-@@ -1279,14 +1279,14 @@ cpdef complex_to_rgb(np.ndarray[COMPLEX_T, ndim = 2] z_values):
-         sage: from sage.calculus.riemann import complex_to_rgb
-         sage: import numpy
-         sage: complex_to_rgb(numpy.array([[0, 1, 1000]], dtype = numpy.complex128))
--        array([[[ 1.        ,  1.        ,  1.        ],
--                [ 1.        ,  0.05558355,  0.05558355],
--                [ 0.17301243,  0.        ,  0.        ]]])
-+        array([[[1.        , 1.        , 1.        ],
-+                [1.        , 0.05558355, 0.05558355],
-+                [0.17301243, 0.        , 0.        ]]])
- 
-         sage: complex_to_rgb(numpy.array([[0, 1j, 1000j]], dtype = numpy.complex128))
--        array([[[ 1.        ,  1.        ,  1.        ],
--                [ 0.52779177,  1.        ,  0.05558355],
--                [ 0.08650622,  0.17301243,  0.        ]]])
-+        array([[[1.        , 1.        , 1.        ],
-+                [0.52779177, 1.        , 0.05558355],
-+                [0.08650622, 0.17301243, 0.        ]]])
- 
- 
-     TESTS::
-diff --git a/src/sage/combinat/fully_packed_loop.py b/src/sage/combinat/fully_packed_loop.py
-index 0a9bd61267..d2193cc2d6 100644
---- a/src/sage/combinat/fully_packed_loop.py
-+++ b/src/sage/combinat/fully_packed_loop.py
-@@ -72,11 +72,11 @@ def _make_color_list(n, colors=None,  color_map=None, randomize=False):
-         sage: _make_color_list(5, ['blue', 'red'])
-         ['blue', 'red', 'blue', 'red', 'blue']
-         sage: _make_color_list(5, color_map='summer')
--        [(0.0, 0.5, 0.40000000000000002),
--         (0.25098039215686274, 0.62549019607843137, 0.40000000000000002),
--         (0.50196078431372548, 0.75098039215686274, 0.40000000000000002),
--         (0.75294117647058822, 0.87647058823529411, 0.40000000000000002),
--         (1.0, 1.0, 0.40000000000000002)]
-+        [(0.0, 0.5, 0.4),
-+         (0.25098039215686274, 0.6254901960784314, 0.4),
-+         (0.5019607843137255, 0.7509803921568627, 0.4),
-+         (0.7529411764705882, 0.8764705882352941, 0.4),
-+         (1.0, 1.0, 0.4)]
-         sage: _make_color_list(8, ['blue', 'red'], randomize=True)
-         ['blue', 'blue', 'red', 'blue', 'red', 'red', 'red', 'blue']
-     """
-diff --git a/src/sage/finance/time_series.pyx b/src/sage/finance/time_series.pyx
-index 28779365df..3ab0282861 100644
---- a/src/sage/finance/time_series.pyx
-+++ b/src/sage/finance/time_series.pyx
-@@ -111,8 +111,8 @@ cdef class TimeSeries:
- 
-             sage: import numpy
-             sage: v = numpy.array([[1,2], [3,4]], dtype=float); v
--            array([[ 1.,  2.],
--                   [ 3.,  4.]])
-+            array([[1., 2.],
-+                   [3., 4.]])
-             sage: finance.TimeSeries(v)
-             [1.0000, 2.0000, 3.0000, 4.0000]
-             sage: finance.TimeSeries(v[:,0])
-@@ -2100,14 +2100,14 @@ cdef class TimeSeries:
- 
-             sage: w[0] = 20
-             sage: w
--            array([ 20. ,  -3. ,   4.5,  -2. ])
-+            array([20. , -3. ,  4.5, -2. ])
-             sage: v
-             [20.0000, -3.0000, 4.5000, -2.0000]
- 
-         If you want a separate copy do not give the ``copy=False`` option. ::
- 
-             sage: z = v.numpy(); z
--            array([ 20. ,  -3. ,   4.5,  -2. ])
-+            array([20. , -3. ,  4.5, -2. ])
-             sage: z[0] = -10
-             sage: v
-             [20.0000, -3.0000, 4.5000, -2.0000]
-diff --git a/src/sage/functions/hyperbolic.py b/src/sage/functions/hyperbolic.py
-index aff552f450..7a6df931e7 100644
---- a/src/sage/functions/hyperbolic.py
-+++ b/src/sage/functions/hyperbolic.py
-@@ -214,7 +214,7 @@ class Function_coth(GinacFunction):
-             sage: import numpy
-             sage: a = numpy.arange(2, 5)
-             sage: coth(a)
--            array([ 1.03731472,  1.00496982,  1.00067115])
-+            array([1.03731472, 1.00496982, 1.00067115])
-         """
-         return 1.0 / tanh(x)
- 
-@@ -267,7 +267,7 @@ class Function_sech(GinacFunction):
-             sage: import numpy
-             sage: a = numpy.arange(2, 5)
-             sage: sech(a)
--            array([ 0.26580223,  0.09932793,  0.03661899])
-+            array([0.26580223, 0.09932793, 0.03661899])
-         """
-         return 1.0 / cosh(x)
- 
-@@ -318,7 +318,7 @@ class Function_csch(GinacFunction):
-             sage: import numpy
-             sage: a = numpy.arange(2, 5)
-             sage: csch(a)
--            array([ 0.27572056,  0.09982157,  0.03664357])
-+            array([0.27572056, 0.09982157, 0.03664357])
-         """
-         return 1.0 / sinh(x)
- 
-@@ -586,7 +586,7 @@ class Function_arccoth(GinacFunction):
-             sage: import numpy
-             sage: a = numpy.arange(2,5)
-             sage: acoth(a)
--            array([ 0.54930614,  0.34657359,  0.25541281])
-+            array([0.54930614, 0.34657359, 0.25541281])
-         """
-         return arctanh(1.0 / x)
- 
-diff --git a/src/sage/functions/orthogonal_polys.py b/src/sage/functions/orthogonal_polys.py
-index ed6365bef4..99b8b04dad 100644
---- a/src/sage/functions/orthogonal_polys.py
-+++ b/src/sage/functions/orthogonal_polys.py
-@@ -810,12 +810,12 @@ class Func_chebyshev_T(ChebyshevFunction):
-             sage: z2 = numpy.array([[1,2],[1,2]])
-             sage: z3 = numpy.array([1,2,3.])
-             sage: chebyshev_T(1,z)
--            array([ 1.,  2.])
-+            array([1., 2.])
-             sage: chebyshev_T(1,z2)
--            array([[ 1.,  2.],
--                   [ 1.,  2.]])
-+            array([[1., 2.],
-+                   [1., 2.]])
-             sage: chebyshev_T(1,z3)
--            array([ 1.,  2.,  3.])
-+            array([1., 2., 3.])
-             sage: chebyshev_T(z,0.1)
-             array([ 0.1 , -0.98])
-         """
-@@ -1095,12 +1095,12 @@ class Func_chebyshev_U(ChebyshevFunction):
-             sage: z2 = numpy.array([[1,2],[1,2]])
-             sage: z3 = numpy.array([1,2,3.])
-             sage: chebyshev_U(1,z)
--            array([ 2.,  4.])
-+            array([2., 4.])
-             sage: chebyshev_U(1,z2)
--            array([[ 2.,  4.],
--                   [ 2.,  4.]])
-+            array([[2., 4.],
-+                   [2., 4.]])
-             sage: chebyshev_U(1,z3)
--            array([ 2.,  4.,  6.])
-+            array([2., 4., 6.])
-             sage: chebyshev_U(z,0.1)
-             array([ 0.2 , -0.96])
-         """
-diff --git a/src/sage/functions/other.py b/src/sage/functions/other.py
-index 1883daa3e6..9885222817 100644
---- a/src/sage/functions/other.py
-+++ b/src/sage/functions/other.py
-@@ -389,7 +389,7 @@ class Function_ceil(BuiltinFunction):
-             sage: import numpy
-             sage: a = numpy.linspace(0,2,6)
-             sage: ceil(a)
--            array([ 0.,  1.,  1.,  2.,  2.,  2.])
-+            array([0., 1., 1., 2., 2., 2.])
- 
-         Test pickling::
- 
-@@ -553,7 +553,7 @@ class Function_floor(BuiltinFunction):
-             sage: import numpy
-             sage: a = numpy.linspace(0,2,6)
-             sage: floor(a)
--            array([ 0.,  0.,  0.,  1.,  1.,  2.])
-+            array([0., 0., 0., 1., 1., 2.])
-             sage: floor(x)._sympy_()
-             floor(x)
- 
-@@ -869,7 +869,7 @@ def sqrt(x, *args, **kwds):
-             sage: import numpy
-             sage: a = numpy.arange(2,5)
-             sage: sqrt(a)
--            array([ 1.41421356,  1.73205081,  2.        ])
-+            array([1.41421356, 1.73205081, 2.        ])
-         """
-         if isinstance(x, float):
-             return math.sqrt(x)
-diff --git a/src/sage/functions/spike_function.py b/src/sage/functions/spike_function.py
-index 1e021de3fe..56635ca98f 100644
---- a/src/sage/functions/spike_function.py
-+++ b/src/sage/functions/spike_function.py
-@@ -157,7 +157,7 @@ class SpikeFunction:
-             sage: S = spike_function([(-3,4),(-1,1),(2,3)]); S
-             A spike function with spikes at [-3.0, -1.0, 2.0]
-             sage: P = S.plot_fft_abs(8)
--            sage: p = P[0]; p.ydata
-+            sage: p = P[0]; p.ydata  # abs tol 1e-8
-             [5.0, 5.0, 3.367958691924177, 3.367958691924177, 4.123105625617661, 4.123105625617661, 4.759921664218055, 4.759921664218055]
-         """
-         w = self.vector(samples = samples, xmin=xmin, xmax=xmax)
-@@ -176,8 +176,8 @@ class SpikeFunction:
-             sage: S = spike_function([(-3,4),(-1,1),(2,3)]); S
-             A spike function with spikes at [-3.0, -1.0, 2.0]
-             sage: P = S.plot_fft_arg(8)
--            sage: p = P[0]; p.ydata
--            [0.0, 0.0, -0.211524990023434..., -0.211524990023434..., 0.244978663126864..., 0.244978663126864..., -0.149106180027477..., -0.149106180027477...]
-+            sage: p = P[0]; p.ydata  # abs tol 1e-8
-+            [0.0, 0.0, -0.211524990023434, -0.211524990023434, 0.244978663126864, 0.244978663126864, -0.149106180027477, -0.149106180027477]
-         """
-         w = self.vector(samples = samples, xmin=xmin, xmax=xmax)
-         xmin, xmax = self._ranges(xmin, xmax)
-diff --git a/src/sage/functions/trig.py b/src/sage/functions/trig.py
-index 501e7ff6b6..5f760912f0 100644
---- a/src/sage/functions/trig.py
-+++ b/src/sage/functions/trig.py
-@@ -724,7 +724,7 @@ class Function_arccot(GinacFunction):
-             sage: import numpy
-             sage: a = numpy.arange(2, 5)
-             sage: arccot(a)
--            array([ 0.46364761,  0.32175055,  0.24497866])
-+            array([0.46364761, 0.32175055, 0.24497866])
-         """
-         return math.pi/2 - arctan(x)
- 
-@@ -780,7 +780,7 @@ class Function_arccsc(GinacFunction):
-             sage: import numpy
-             sage: a = numpy.arange(2, 5)
-             sage: arccsc(a)
--            array([ 0.52359878,  0.33983691,  0.25268026])
-+            array([0.52359878, 0.33983691, 0.25268026])
-         """
-         return arcsin(1.0/x)
- 
-@@ -838,7 +838,7 @@ class Function_arcsec(GinacFunction):
-             sage: import numpy
-             sage: a = numpy.arange(2, 5)
-             sage: arcsec(a)
--            array([ 1.04719755,  1.23095942,  1.31811607])
-+            array([1.04719755, 1.23095942, 1.31811607])
-         """
-         return arccos(1.0/x)
- 
-@@ -913,13 +913,13 @@ class Function_arctan2(GinacFunction):
-             sage: a = numpy.linspace(1, 3, 3)
-             sage: b = numpy.linspace(3, 6, 3)
-             sage: atan2(a, b)
--            array([ 0.32175055,  0.41822433,  0.46364761])
-+            array([0.32175055, 0.41822433, 0.46364761])
- 
-             sage: atan2(1,a)
--            array([ 0.78539816,  0.46364761,  0.32175055])
-+            array([0.78539816, 0.46364761, 0.32175055])
- 
-             sage: atan2(a, 1)
--            array([ 0.78539816,  1.10714872,  1.24904577])
-+            array([0.78539816, 1.10714872, 1.24904577])
- 
-         TESTS::
- 
-diff --git a/src/sage/matrix/constructor.pyx b/src/sage/matrix/constructor.pyx
-index 12136f1773..491bf22e62 100644
---- a/src/sage/matrix/constructor.pyx
-+++ b/src/sage/matrix/constructor.pyx
-@@ -503,8 +503,8 @@ def matrix(*args, **kwds):
-         [7 8 9]
-         Full MatrixSpace of 3 by 3 dense matrices over Integer Ring
-         sage: n = matrix(QQ, 2, 2, [1, 1/2, 1/3, 1/4]).numpy(); n
--        array([[ 1.        ,  0.5       ],
--               [ 0.33333333,  0.25      ]])
-+        array([[1.        , 0.5       ],
-+               [0.33333333, 0.25      ]])
-         sage: matrix(QQ, n)
-         [  1 1/2]
-         [1/3 1/4]
-diff --git a/src/sage/matrix/matrix_double_dense.pyx b/src/sage/matrix/matrix_double_dense.pyx
-index 66e54a79a4..0498334f4b 100644
---- a/src/sage/matrix/matrix_double_dense.pyx
-+++ b/src/sage/matrix/matrix_double_dense.pyx
-@@ -606,6 +606,9 @@ cdef class Matrix_double_dense(Matrix_dense):
-             [ 3.0 + 9.0*I 4.0 + 16.0*I 5.0 + 25.0*I]
-             [6.0 + 36.0*I 7.0 + 49.0*I 8.0 + 64.0*I]
-             sage: B.condition()
-+            doctest:warning
-+            ...
-+            ComplexWarning: Casting complex values to real discards the imaginary part
-             203.851798...
-             sage: B.condition(p='frob')
-             203.851798...
-@@ -654,9 +657,7 @@ cdef class Matrix_double_dense(Matrix_dense):
-             True
-             sage: B = A.change_ring(CDF)
-             sage: B.condition()
--            Traceback (most recent call last):
--            ...
--            LinAlgError: Singular matrix
-+            +Infinity
- 
-         Improper values of ``p`` are caught.  ::
- 
-@@ -2519,7 +2520,7 @@ cdef class Matrix_double_dense(Matrix_dense):
-             sage: P.is_unitary(algorithm='orthonormal')
-             Traceback (most recent call last):
-             ...
--            ValueError: failed to create intent(cache|hide)|optional array-- must have defined dimensions but got (0,)
-+            error: ((lwork==-1)||(lwork >= MAX(1,2*n))) failed for 3rd keyword lwork: zgees:lwork=0
- 
-         TESTS::
- 
-@@ -3635,8 +3636,8 @@ cdef class Matrix_double_dense(Matrix_dense):
-             [0.0 1.0 2.0]
-             [3.0 4.0 5.0]
-             sage: m.numpy()
--            array([[ 0.,  1.,  2.],
--                   [ 3.,  4.,  5.]])
-+            array([[0., 1., 2.],
-+                   [3., 4., 5.]])
- 
-         Alternatively, numpy automatically calls this function (via
-         the magic :meth:`__array__` method) to convert Sage matrices
-@@ -3647,16 +3648,16 @@ cdef class Matrix_double_dense(Matrix_dense):
-             [0.0 1.0 2.0]
-             [3.0 4.0 5.0]
-             sage: numpy.array(m)
--            array([[ 0.,  1.,  2.],
--                   [ 3.,  4.,  5.]])
-+            array([[0., 1., 2.],
-+                   [3., 4., 5.]])
-             sage: numpy.array(m).dtype
-             dtype('float64')
-             sage: m = matrix(CDF, 2, range(6)); m
-             [0.0 1.0 2.0]
-             [3.0 4.0 5.0]
-             sage: numpy.array(m)
--            array([[ 0.+0.j,  1.+0.j,  2.+0.j],
--                   [ 3.+0.j,  4.+0.j,  5.+0.j]])
-+            array([[0.+0.j, 1.+0.j, 2.+0.j],
-+                   [3.+0.j, 4.+0.j, 5.+0.j]])
-             sage: numpy.array(m).dtype
-             dtype('complex128')
- 
-diff --git a/src/sage/matrix/special.py b/src/sage/matrix/special.py
-index ccbd208810..c3f9a65093 100644
---- a/src/sage/matrix/special.py
-+++ b/src/sage/matrix/special.py
-@@ -706,7 +706,7 @@ def diagonal_matrix(arg0=None, arg1=None, arg2=None, sparse=True):
- 
-         sage: import numpy
-         sage: entries = numpy.array([1.2, 5.6]); entries
--        array([ 1.2,  5.6])
-+        array([1.2, 5.6])
-         sage: A = diagonal_matrix(3, entries); A
-         [1.2 0.0 0.0]
-         [0.0 5.6 0.0]
-@@ -716,7 +716,7 @@ def diagonal_matrix(arg0=None, arg1=None, arg2=None, sparse=True):
- 
-         sage: j = numpy.complex(0,1)
-         sage: entries = numpy.array([2.0+j, 8.1, 3.4+2.6*j]); entries
--        array([ 2.0+1.j ,  8.1+0.j ,  3.4+2.6j])
-+        array([2. +1.j , 8.1+0.j , 3.4+2.6j])
-         sage: A = diagonal_matrix(entries); A
-         [2.0 + 1.0*I         0.0         0.0]
-         [        0.0         8.1         0.0]
-diff --git a/src/sage/modules/free_module_element.pyx b/src/sage/modules/free_module_element.pyx
-index 37d92c1282..955d083b34 100644
---- a/src/sage/modules/free_module_element.pyx
-+++ b/src/sage/modules/free_module_element.pyx
-@@ -988,7 +988,7 @@ cdef class FreeModuleElement(Vector):   # abstract base class
-             sage: v.numpy()
-             array([1, 2, 5/6], dtype=object)
-             sage: v.numpy(dtype=float)
--            array([ 1.        ,  2.        ,  0.83333333])
-+            array([1.        , 2.        , 0.83333333])
-             sage: v.numpy(dtype=int)
-             array([1, 2, 0])
-             sage: import numpy
-@@ -999,7 +999,7 @@ cdef class FreeModuleElement(Vector):   # abstract base class
-         be more efficient but may have unintended consequences::
- 
-             sage: v.numpy(dtype=None)
--            array([ 1.        ,  2.        ,  0.83333333])
-+            array([1.        , 2.        , 0.83333333])
- 
-             sage: w = vector(ZZ, [0, 1, 2^63 -1]); w
-             (0, 1, 9223372036854775807)
-diff --git a/src/sage/modules/vector_double_dense.pyx b/src/sage/modules/vector_double_dense.pyx
-index 39fc2970de..2badf98284 100644
---- a/src/sage/modules/vector_double_dense.pyx
-+++ b/src/sage/modules/vector_double_dense.pyx
-@@ -807,13 +807,13 @@ cdef class Vector_double_dense(FreeModuleElement):
- 
-             sage: v = vector(CDF,4,range(4))
-             sage: v.numpy()
--            array([ 0.+0.j,  1.+0.j,  2.+0.j,  3.+0.j])
-+            array([0.+0.j, 1.+0.j, 2.+0.j, 3.+0.j])
-             sage: v = vector(CDF,0)
-             sage: v.numpy()
-             array([], dtype=complex128)
-             sage: v = vector(RDF,4,range(4))
-             sage: v.numpy()
--            array([ 0.,  1.,  2.,  3.])
-+            array([0., 1., 2., 3.])
-             sage: v = vector(RDF,0)
-             sage: v.numpy()
-             array([], dtype=float64)
-@@ -823,11 +823,11 @@ cdef class Vector_double_dense(FreeModuleElement):
-             sage: import numpy
-             sage: v = vector(CDF, 3, range(3))
-             sage: v.numpy()
--            array([ 0.+0.j,  1.+0.j,  2.+0.j])
-+            array([0.+0.j, 1.+0.j, 2.+0.j])
-             sage: v.numpy(dtype=numpy.float64)
--            array([ 0.,  1.,  2.])
-+            array([0., 1., 2.])
-             sage: v.numpy(dtype=numpy.float32)
--            array([ 0.,  1.,  2.], dtype=float32)
-+            array([0., 1., 2.], dtype=float32)
-         """
-         if dtype is None or dtype is self._vector_numpy.dtype:
-             from copy import copy
-diff --git a/src/sage/plot/complex_plot.pyx b/src/sage/plot/complex_plot.pyx
-index ad9693da62..758fb709b7 100644
---- a/src/sage/plot/complex_plot.pyx
-+++ b/src/sage/plot/complex_plot.pyx
-@@ -61,9 +61,9 @@ cdef inline double mag_to_lightness(double r):
- 
-         sage: from sage.plot.complex_plot import complex_to_rgb
-         sage: complex_to_rgb([[0, 1, 10]])
--        array([[[ 0.        ,  0.        ,  0.        ],
--                [ 0.77172568,  0.        ,  0.        ],
--                [ 1.        ,  0.22134776,  0.22134776]]])
-+        array([[[0.        , 0.        , 0.        ],
-+                [0.77172568, 0.        , 0.        ],
-+                [1.        , 0.22134776, 0.22134776]]])
-     """
-     return atan(log(sqrt(r)+1)) * (4/PI) - 1
- 
-@@ -82,13 +82,13 @@ def complex_to_rgb(z_values):
- 
-         sage: from sage.plot.complex_plot import complex_to_rgb
-         sage: complex_to_rgb([[0, 1, 1000]])
--        array([[[ 0.        ,  0.        ,  0.        ],
--                [ 0.77172568,  0.        ,  0.        ],
--                [ 1.        ,  0.64421177,  0.64421177]]])
-+        array([[[0.        , 0.        , 0.        ],
-+                [0.77172568, 0.        , 0.        ],
-+                [1.        , 0.64421177, 0.64421177]]])
-         sage: complex_to_rgb([[0, 1j, 1000j]])
--        array([[[ 0.        ,  0.        ,  0.        ],
--                [ 0.38586284,  0.77172568,  0.        ],
--                [ 0.82210588,  1.        ,  0.64421177]]])
-+        array([[[0.        , 0.        , 0.        ],
-+                [0.38586284, 0.77172568, 0.        ],
-+                [0.82210588, 1.        , 0.64421177]]])
-     """
-     import numpy
-     cdef unsigned int i, j, imax, jmax
-diff --git a/src/sage/plot/histogram.py b/src/sage/plot/histogram.py
-index 5d28473731..fc4b2046c0 100644
---- a/src/sage/plot/histogram.py
-+++ b/src/sage/plot/histogram.py
-@@ -53,10 +53,17 @@ class Histogram(GraphicPrimitive):
-         """
-         import numpy as np
-         self.datalist=np.asarray(datalist,dtype=float)
-+        if 'normed' in options:
-+            from sage.misc.superseded import deprecation
-+            deprecation(25260, "the 'normed' option is deprecated. Use 'density' instead.")
-         if 'linestyle' in options:
-             from sage.plot.misc import get_matplotlib_linestyle
-             options['linestyle'] = get_matplotlib_linestyle(
-                     options['linestyle'], return_type='long')
-+        if options.get('range', None):
-+            # numpy.histogram performs type checks on "range" so this must be
-+            # actual floats
-+            options['range'] = [float(x) for x in options['range']]
-         GraphicPrimitive.__init__(self, options)
- 
-     def get_minmax_data(self):
-@@ -80,10 +87,14 @@ class Histogram(GraphicPrimitive):
-             {'xmax': 4.0, 'xmin': 0, 'ymax': 2, 'ymin': 0}
- 
-         TESTS::
--
-             sage: h = histogram([10,3,5], normed=True)[0]
--            sage: h.get_minmax_data()  # rel tol 1e-15
--            {'xmax': 10.0, 'xmin': 3.0, 'ymax': 0.4761904761904765, 'ymin': 0}
-+            doctest:warning...:
-+            DeprecationWarning: the 'normed' option is deprecated. Use 'density' instead.
-+            See https://trac.sagemath.org/25260 for details.
-+            sage: h.get_minmax_data()
-+            doctest:warning ...:
-+            VisibleDeprecationWarning: Passing `normed=True` on non-uniform bins has always been broken, and computes neither the probability density function nor the probability mass function. The result is only correct if the bins are uniform, when density=True will produce the same result anyway. The argument will be removed in a future version of numpy.
-+            {'xmax': 10.0, 'xmin': 3.0, 'ymax': 0.476190476190..., 'ymin': 0}
-         """
-         import numpy
- 
-@@ -152,7 +163,7 @@ class Histogram(GraphicPrimitive):
-                 'rwidth': 'The relative width of the bars as a fraction of the bin width',
-                 'cumulative': '(True or False) If True, then a histogram is computed in which each bin gives the counts in that bin plus all bins for smaller values.  Negative values give a reversed direction of accumulation.',
-                 'range': 'A list [min, max] which define the range of the histogram. Values outside of this range are treated as outliers and omitted from counts.',
--                'normed': 'Deprecated alias for density',
-+                'normed': 'Deprecated. Use density instead.',
-                 'density': '(True or False) If True, the counts are normalized to form a probability density. (n/(len(x)*dbin)',
-                 'weights': 'A sequence of weights the same length as the data list. If supplied, then each value contributes its associated weight to the bin count.',
-                 'stacked': '(True or False) If True, multiple data are stacked on top of each other.',
-@@ -199,7 +210,7 @@ class Histogram(GraphicPrimitive):
-             subplot.hist(self.datalist.transpose(), **options)
- 
- 
--@options(aspect_ratio='automatic',align='mid', weights=None, range=None, bins=10, edgecolor='black')
-+@options(aspect_ratio='automatic', align='mid', weights=None, range=None, bins=10, edgecolor='black')
- def histogram(datalist, **options):
-     """
-     Computes and draws the histogram for list(s) of numerical data.
-@@ -231,8 +242,9 @@ def histogram(datalist, **options):
-     - ``linewidth`` -- (float) width of the lines defining the bars
-     - ``linestyle`` -- (default: 'solid') Style of the line. One of 'solid'
-       or '-', 'dashed' or '--', 'dotted' or ':', 'dashdot' or '-.'
--    - ``density`` -- (boolean - default: False) If True, the counts are
--      normalized to form a probability density.
-+    - ``density`` -- (boolean - default: False) If True, the result is the
-+      value of the probability density function at the bin, normalized such
-+      that the integral over the range is 1.
-     - ``range`` -- A list [min, max] which define the range of the
-       histogram. Values outside of this range are treated as outliers and
-       omitted from counts
-diff --git a/src/sage/plot/line.py b/src/sage/plot/line.py
-index 23f5e61446..3b1b51d7cf 100644
---- a/src/sage/plot/line.py
-+++ b/src/sage/plot/line.py
-@@ -502,14 +502,12 @@ def line2d(points, **options):
-     from sage.plot.all import Graphics
-     from sage.plot.plot import xydata_from_point_list
-     from sage.rings.all import CC, CDF
-+    points = list(points) # make sure points is a python list
-     if points in CC or points in CDF:
-         pass
-     else:
--        try:
--            if not points:
--                return Graphics()
--        except ValueError: # numpy raises a ValueError if not empty
--            pass
-+        if len(points) == 0:
-+            return Graphics()
-     xdata, ydata = xydata_from_point_list(points)
-     g = Graphics()
-     g._set_extra_kwds(Graphics._extract_kwds_for_show(options))
-diff --git a/src/sage/plot/plot_field.py b/src/sage/plot/plot_field.py
-index 0025098a8d..23c80902f3 100644
---- a/src/sage/plot/plot_field.py
-+++ b/src/sage/plot/plot_field.py
-@@ -49,9 +49,10 @@ class PlotField(GraphicPrimitive):
-             sage: r.xpos_array
-             [0.0, 0.0, 1.0, 1.0]
-             sage: r.yvec_array
--            masked_array(data = [0.0 0.70710678118... 0.70710678118... 0.89442719...],
--                         mask = [False False False False],
--                   fill_value = 1e+20)
-+            masked_array(data=[0.0, 0.70710678118..., 0.70710678118...,
-+                               0.89442719...],
-+                         mask=[False, False, False, False],
-+                   fill_value=1e+20)
- 
-         TESTS:
- 
-diff --git a/src/sage/plot/streamline_plot.py b/src/sage/plot/streamline_plot.py
-index f3da57c370..3806f4b32f 100644
---- a/src/sage/plot/streamline_plot.py
-+++ b/src/sage/plot/streamline_plot.py
-@@ -38,16 +38,14 @@ class StreamlinePlot(GraphicPrimitive):
-             sage: r.options()['plot_points']
-             2
-             sage: r.xpos_array
--            array([ 0.,  1.])
-+            array([0., 1.])
-             sage: r.yvec_array
--            masked_array(data =
--             [[1.0 1.0]
--             [0.5403023058681398 0.5403023058681398]],
--                         mask =
--             [[False False]
--             [False False]],
--                   fill_value = 1e+20)
--            <BLANKLINE>
-+            masked_array(
-+              data=[[1.0, 1.0],
-+                    [0.5403023058681398, 0.5403023058681398]],
-+              mask=[[False, False],
-+                    [False, False]],
-+              fill_value=1e+20)
- 
-         TESTS:
- 
-diff --git a/src/sage/probability/probability_distribution.pyx b/src/sage/probability/probability_distribution.pyx
-index 1b119e323f..3290b00695 100644
---- a/src/sage/probability/probability_distribution.pyx
-+++ b/src/sage/probability/probability_distribution.pyx
-@@ -130,7 +130,17 @@ cdef class ProbabilityDistribution:
-              0.0,
-              1.4650000000000003]
-             sage: b
--            [0.0, 0.20000000000000001, 0.40000000000000002, 0.60000000000000009, 0.80000000000000004, 1.0, 1.2000000000000002, 1.4000000000000001, 1.6000000000000001, 1.8, 2.0]
-+            [0.0,
-+             0.2,
-+             0.4,
-+             0.6000000000000001,
-+             0.8,
-+             1.0,
-+             1.2000000000000002,
-+             1.4000000000000001,
-+             1.6,
-+             1.8,
-+             2.0]
-         """
-         import pylab
-         l = [float(self.get_random_element()) for _ in range(num_samples)]
-diff --git a/src/sage/rings/rational.pyx b/src/sage/rings/rational.pyx
-index 12ca1b222b..9bad7dae0c 100644
---- a/src/sage/rings/rational.pyx
-+++ b/src/sage/rings/rational.pyx
-@@ -1041,7 +1041,7 @@ cdef class Rational(sage.structure.element.FieldElement):
-             dtype('O')
- 
-             sage: numpy.array([1, 1/2, 3/4])
--            array([ 1.  ,  0.5 ,  0.75])
-+            array([1.  , 0.5 , 0.75])
-         """
-         if mpz_cmp_ui(mpq_denref(self.value), 1) == 0:
-             if mpz_fits_slong_p(mpq_numref(self.value)):
-diff --git a/src/sage/rings/real_mpfr.pyx b/src/sage/rings/real_mpfr.pyx
-index 9b90c8833e..1ce05b937d 100644
---- a/src/sage/rings/real_mpfr.pyx
-+++ b/src/sage/rings/real_mpfr.pyx
-@@ -1439,7 +1439,7 @@ cdef class RealNumber(sage.structure.element.RingElement):
- 
-             sage: import numpy
-             sage: numpy.arange(10.0)
--            array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.])
-+            array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
-             sage: numpy.array([1.0, 1.1, 1.2]).dtype
-             dtype('float64')
-             sage: numpy.array([1.000000000000000000000000000000000000]).dtype
-diff --git a/src/sage/schemes/elliptic_curves/height.py b/src/sage/schemes/elliptic_curves/height.py
-index de31fe9883..7a33ea6f5b 100644
---- a/src/sage/schemes/elliptic_curves/height.py
-+++ b/src/sage/schemes/elliptic_curves/height.py
-@@ -1627,18 +1627,18 @@ class EllipticCurveCanonicalHeight:
-         even::
- 
-             sage: H.wp_on_grid(v,4)
--            array([[ 25.43920182,   5.28760943,   5.28760943,  25.43920182],
--            [  6.05099485,   1.83757786,   1.83757786,   6.05099485],
--            [  6.05099485,   1.83757786,   1.83757786,   6.05099485],
--            [ 25.43920182,   5.28760943,   5.28760943,  25.43920182]])
-+            array([[25.43920182,  5.28760943,  5.28760943, 25.43920182],
-+                   [ 6.05099485,  1.83757786,  1.83757786,  6.05099485],
-+                   [ 6.05099485,  1.83757786,  1.83757786,  6.05099485],
-+                   [25.43920182,  5.28760943,  5.28760943, 25.43920182]])
- 
-         The array of values on the half-grid::
- 
-             sage: H.wp_on_grid(v,4,True)
--            array([[ 25.43920182,   5.28760943],
--            [  6.05099485,   1.83757786],
--            [  6.05099485,   1.83757786],
--            [ 25.43920182,   5.28760943]])
-+            array([[25.43920182,  5.28760943],
-+                   [ 6.05099485,  1.83757786],
-+                   [ 6.05099485,  1.83757786],
-+                   [25.43920182,  5.28760943]])
-         """
-         tau = self.tau(v)
-         fk, err = self.fk_intervals(v, 15, CDF)
-diff --git a/src/sage/symbolic/ring.pyx b/src/sage/symbolic/ring.pyx
-index 9da38002e8..d61e74bf82 100644
---- a/src/sage/symbolic/ring.pyx
-+++ b/src/sage/symbolic/ring.pyx
-@@ -1136,7 +1136,7 @@ cdef class NumpyToSRMorphism(Morphism):
-         sage: cos(numpy.int('2'))
-         cos(2)
-         sage: numpy.cos(numpy.int('2'))
--        -0.41614683654714241
-+        -0.4161468365471424
-     """
-     cdef _intermediate_ring
- 
diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix
index c071f894550..d5e057d5335 100644
--- a/pkgs/applications/science/math/sage/sage-env.nix
+++ b/pkgs/applications/science/math/sage/sage-env.nix
@@ -77,6 +77,7 @@ let
     singular
     giac
     palp
+    # needs to be rWrapper since the default `R` doesn't include R's default libraries
     rWrapper
     gfan
     cddlib
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 5dc73e26a59..be41c7219cc 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -9,14 +9,14 @@
 # all get the same sources with the same patches applied.
 
 stdenv.mkDerivation rec {
-  version = "8.4";
+  version = "8.5";
   name = "sage-src-${version}";
 
   src = fetchFromGitHub {
     owner = "sagemath";
     repo = "sage";
     rev = version;
-    sha256 = "0gips1hagiz9m7s21bg5as8hrrm2x5k47h1bsq0pc46iplfwmv2d";
+    sha256 = "08mb9626phsls2phdzqxsnp2df5pn5qr72m0mm4nncby26pwn19c";
   };
 
   # Patches needed because of particularities of nix or the way this is packaged.
@@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
     # tests) are also run. That is necessary to test dochtml individually. See
     # https://trac.sagemath.org/ticket/26110 for an upstream discussion.
     ./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
+
+    ./patches/dont-test-guess-gaproot.patch
   ];
 
   # Patches needed because of package updates. We could just pin the versions of
@@ -68,6 +70,7 @@ stdenv.mkDerivation rec {
     );
   in [
     # New glpk version has new warnings, filter those out until upstream sage has found a solution
+    # Should be fixed with glpk > 4.65.
     # https://trac.sagemath.org/ticket/24824
     ./patches/pari-stackwarn.patch # not actually necessary since the pari upgrade, but necessary for the glpk patch to apply
     (fetchpatch {
@@ -76,32 +79,9 @@ stdenv.mkDerivation rec {
       stripLen = 1;
     })
 
-    # https://trac.sagemath.org/ticket/25260
-    ./patches/numpy-1.15.1.patch
-
     # https://trac.sagemath.org/ticket/26315
     ./patches/giac-1.5.0.patch
 
-    # needed for ntl update
-    # https://trac.sagemath.org/ticket/25532
-    (fetchpatch {
-      name = "lcalc-c++11.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/sagemath-lcalc-c++11.patch?h=packages/sagemath&id=0e31ae526ab7c6b5c0bfacb3f8b1c4fd490035aa";
-      sha256 = "0p5wnvbx65i7cp0bjyaqgp4rly8xgnk12pqwaq3dqby0j2bk6ijb";
-    })
-
-    (fetchpatch {
-      name = "cython-0.29.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=f77de1d0e7f90ee12761140500cb8cbbb789ab20";
-      sha256 = "14wrpy8jgbnpza1j8a2nx8y2r946y82pll1fv3cn6gpfmm6640l3";
-    })
-    # https://trac.sagemath.org/ticket/26360
-    (fetchpatch {
-      name = "arb-2.15.1.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=30cc778d46579bd0c7537ed33e8d7a4f40fd5c31";
-      sha256 = "13vc2q799dh745sm59xjjabllfj0sfjzcacf8k59kwj04x755d30";
-    })
-
     # https://trac.sagemath.org/ticket/26326
     # needs to be split because there is a merge commit in between
     (fetchSageDiff {
diff --git a/pkgs/applications/science/math/sage/sage-tests.nix b/pkgs/applications/science/math/sage/sage-tests.nix
index 1f400db18fc..12433e12fe9 100644
--- a/pkgs/applications/science/math/sage/sage-tests.nix
+++ b/pkgs/applications/science/math/sage/sage-tests.nix
@@ -3,7 +3,12 @@
 , sage-with-env
 , makeWrapper
 , files ? null # "null" means run all tests
-, longTests ? true # run tests marked as "long time"
+, longTests ? true # run tests marked as "long time" (roughly doubles runtime)
+# Run as many tests as possible in approximately n seconds. This will give each
+# file to test a "time budget" and stop tests if it is exceeded. 300 is the
+# upstream default value.
+# https://trac.sagemath.org/ticket/25270 for details.
+, timeLimit ? null
 }:
 
 # for a quick test of some source files:
@@ -14,6 +19,7 @@ let
   runAllTests = files == null;
   testArgs = if runAllTests then "--all" else testFileList;
   patienceSpecifier = if longTests then "--long" else "";
+  timeSpecifier = if timeLimit == null then "" else "--short ${toString timeLimit}";
   relpathToArg = relpath: lib.escapeShellArg "${src}/${relpath}"; # paths need to be absolute
   testFileList = lib.concatStringsSep " " (map relpathToArg files);
 in
@@ -45,7 +51,7 @@ stdenv.mkDerivation rec {
     export HOME="$TMPDIR/sage-home"
     mkdir -p "$HOME"
 
-    # "--long" tests are in the order of 1h, without "--long" its 1/2h
-    "sage" -t --timeout=0 --nthreads "$NIX_BUILD_CORES" --optional=sage ${patienceSpecifier} ${testArgs}
+    echo "Running sage tests with arguments ${timeSpecifier} ${patienceSpecifier} ${testArgs}"
+    "sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs}
   '';
 }
diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix
index ac255643a34..541b9cb36dc 100644
--- a/pkgs/applications/science/math/sage/sage.nix
+++ b/pkgs/applications/science/math/sage/sage.nix
@@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
 
   passthru = {
     tests = sage-tests;
+    quicktest = sage-tests.override { longTests = false; timeLimit = 600; }; # as many tests as possible in ~10m
     doc = sagedoc;
     lib = sage-with-env.env.lib;
     kernelspec = jupyter-kernel-definition;
diff --git a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
index 4b15d03d200..039da03efb1 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cola/default.nix
@@ -2,6 +2,7 @@
 
 let
   inherit (pythonPackages) buildPythonApplication pyqt5 sip pyinotify;
+
 in buildPythonApplication rec {
   name = "git-cola-${version}";
   version = "3.2";
diff --git a/pkgs/applications/version-management/git-and-tools/hub/default.nix b/pkgs/applications/version-management/git-and-tools/hub/default.nix
index acb82253406..c6e62265b95 100644
--- a/pkgs/applications/version-management/git-and-tools/hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hub/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "hub-${version}";
-  version = "2.6.1";
+  version = "2.7.0";
 
   goPackagePath = "github.com/github/hub";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "github";
     repo = "hub";
     rev = "v${version}";
-    sha256 = "1gq8nmzdsqicjgam3h48l0dad46dn9mx9blr1413rc2cp9qmg7d4";
+    sha256 = "1p90m1xp3jahs5y0lp0qfmfa7wqn7gxyygn7x45a6cbf2zzlb86l";
   };
 
   nativeBuildInputs = [ groff ronn utillinux ];
@@ -26,7 +26,7 @@ buildGoPackage rec {
   postInstall = ''
     cd go/src/${goPackagePath}
     install -D etc/hub.zsh_completion "$bin/share/zsh/site-functions/_hub"
-    install -D etc/hub.bash_completion.sh "$bin/etc/bash_completion.d/hub.bash_completion.sh"
+    install -D etc/hub.bash_completion.sh "$bin/share/bash-completion/completions/hub"
     install -D etc/hub.fish_completion  "$bin/share/fish/vendor_completions.d/hub.fish"
 
     make man-pages
diff --git a/pkgs/applications/version-management/peru/default.nix b/pkgs/applications/version-management/peru/default.nix
index 225dd367609..8b68dddfceb 100644
--- a/pkgs/applications/version-management/peru/default.nix
+++ b/pkgs/applications/version-management/peru/default.nix
@@ -1,14 +1,16 @@
 { stdenv, fetchFromGitHub, python3Packages }:
 
 python3Packages.buildPythonApplication rec {
-  name = "peru-${version}";
-  version = "1.1.4";
+  pname = "peru";
+  version = "1.2.0";
+
+  disabled = python3Packages.pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "buildinspace";
     repo = "peru";
     rev = "${version}";
-    sha256 = "0mzmi797f2h2wy36q4ab701ixl5zy4m0pp1wp9abwdfg2y6qhmnk";
+    sha256 = "0p4j51m89glx12cd65lcnbwpvin0v49wkhrx06755skr7v37pm2a";
   };
 
   propagatedBuildInputs = with python3Packages; [ pyyaml docopt ];
diff --git a/pkgs/applications/video/openshot-qt/default.nix b/pkgs/applications/video/openshot-qt/default.nix
index 0905ef5481b..6f113817058 100644
--- a/pkgs/applications/video/openshot-qt/default.nix
+++ b/pkgs/applications/video/openshot-qt/default.nix
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
 
   buildInputs = [ gtk3 ];
 
-  propagatedBuildInputs = with python3Packages; [ libopenshot pyqt5 requests sip httplib2 pyzmq ];
+  propagatedBuildInputs = with python3Packages; [ libopenshot pyqt5_with_qtwebkit requests sip httplib2 pyzmq ];
 
 
   preConfigure = ''
diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix
index 36d8e1ca70a..ca8e4985016 100644
--- a/pkgs/applications/virtualization/looking-glass-client/default.nix
+++ b/pkgs/applications/virtualization/looking-glass-client/default.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchFromGitHub
-, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice-protocol, fontconfig
+, cmake, pkgconfig, SDL2, SDL, SDL2_ttf, openssl, spice-protocol, fontconfig
 , libX11, freefont_ttf, nettle, libconfig
 }:
 
 stdenv.mkDerivation rec {
   name = "looking-glass-client-${version}";
-  version = "a11";
+  version = "a12";
 
   src = fetchFromGitHub {
     owner = "gnif";
     repo = "LookingGlass";
     rev = version;
-    sha256 = "0q4isn86pl5wddf6h8qd62fw3577ns2sd2myzw969sbl796bwcil";
+    sha256 = "0r6bvl9q94039r6ff4f2bg8si95axx9w8bf1h1qr5730d2kv5yxq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [
     SDL SDL2 SDL2_ttf openssl spice-protocol fontconfig
-    libX11 freefont_ttf nettle libconfig
+    libX11 freefont_ttf nettle libconfig cmake
   ];
 
   enableParallelBuilding = true;
@@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
   sourceRoot = "source/client";
 
   installPhase = ''
-    mkdir -p $out
-    mv bin $out/
+    mkdir -p $out/bin
+    mv looking-glass-client $out/bin
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix
index c8af6a1ccf5..c1dbad94250 100644
--- a/pkgs/applications/virtualization/virt-manager/qt.nix
+++ b/pkgs/applications/virtualization/virt-manager/qt.nix
@@ -1,17 +1,18 @@
 { mkDerivation, lib, fetchFromGitHub, cmake, pkgconfig
 , qtbase, qtmultimedia, qtsvg, qttools, krdc
 , libvncserver, libvirt, pcre, pixman, qtermwidget, spice-gtk, spice-protocol
+, libselinux, libsepol, utillinux
 }:
 
 mkDerivation rec {
   name = "virt-manager-qt-${version}";
-  version = "0.60.88";
+  version = "0.70.91";
 
   src = fetchFromGitHub {
     owner  = "F1ash";
     repo   = "qt-virt-manager";
     rev    = "${version}";
-    sha256 = "0hd5d8zdghc5clv8pa4h9zigshdrarfpmzyvrq56rjkm13lrdz52";
+    sha256 = "1z2kq88lljvr24z1kizvg3h7ckf545h4kjhhrjggkr0w4wjjwr43";
   };
 
   cmakeFlags = [
@@ -22,6 +23,7 @@ mkDerivation rec {
   buildInputs = [
     qtbase qtmultimedia qtsvg krdc
     libvirt libvncserver pcre pixman qtermwidget spice-gtk spice-protocol
+    libselinux libsepol utillinux
   ];
 
   nativeBuildInputs = [ cmake pkgconfig qttools ];
diff --git a/pkgs/applications/window-managers/dwm/dwm-status.nix b/pkgs/applications/window-managers/dwm/dwm-status.nix
index d846ab7e29d..2a8f1d67f6e 100644
--- a/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/pkgs/applications/window-managers/dwm/dwm-status.nix
@@ -1,30 +1,30 @@
 { stdenv, lib, rustPlatform, fetchFromGitHub, dbus, gdk_pixbuf, libnotify, makeWrapper, pkgconfig, xorg
-, enableAlsaUtils ? true, alsaUtils, bash, coreutils }:
+, enableAlsaUtils ? true, alsaUtils, coreutils
+, enableNetwork ? true, dnsutils, iproute, wirelesstools }:
 
 let
-  binPath = stdenv.lib.makeBinPath [
-    alsaUtils bash coreutils
-  ];
+  bins = lib.optionals enableAlsaUtils [ alsaUtils coreutils ]
+    ++ lib.optionals enableNetwork [ dnsutils iproute wirelesstools ];
 in
 
 rustPlatform.buildRustPackage rec {
   name = "dwm-status-${version}";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "Gerschtli";
     repo = "dwm-status";
     rev = version;
-    sha256 = "0mfzpyacd7i6ipbjwyl1zc0x3lnz0f4qqzsmsb07p047z95mw4v6";
+    sha256 = "02gvlxv6ylx4mdkf59crm2zyahiz1zd4cr5zz29dnhx7r7738i9a";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [ dbus gdk_pixbuf libnotify xorg.libX11 ];
 
-  cargoSha256 = "1cngcacsbzijs55k4kz8fidki3p8jblk3v5s21hjsn4glzjdbkmm";
+  cargoSha256 = "1khknf1bjs80cc2n4jnpilf8cc15crykhhyvvff6q4ay40353gr6";
 
-  postInstall = lib.optionalString enableAlsaUtils ''
-    wrapProgram $out/bin/dwm-status --prefix "PATH" : "${binPath}"
+  postInstall = lib.optionalString (bins != [])  ''
+    wrapProgram $out/bin/dwm-status --prefix "PATH" : "${stdenv.lib.makeBinPath bins}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 090bfafa085..a5a65fb2a40 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -176,4 +176,13 @@ rec {
       ];
     };
   };
+
+  # 12. example of running something as root on top of a parent image
+  # Regression test related to PR #52109
+  runAsRootParentImage = buildImage {
+    name = "runAsRootParentImage";
+    tag = "latest";
+    runAsRoot = "touch /example-file";
+    fromImage = bash;
+  };
 }
diff --git a/pkgs/data/fonts/material-design-icons/default.nix b/pkgs/data/fonts/material-design-icons/default.nix
new file mode 100644
index 00000000000..c6e48cccb8c
--- /dev/null
+++ b/pkgs/data/fonts/material-design-icons/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "material-design-icons-${version}";
+  version = "3.2.89";
+
+  src = fetchFromGitHub {
+    owner  = "Templarian";
+    repo   = "MaterialDesign-Webfont";
+    rev    = "v${version}";
+    sha256 = "1rxaiiij96kqncsrlkyp109m36v28cgxild7z04k4jh79fvmhjvn";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/{eot,svg,truetype,woff,woff2}
+    cp fonts/*.eot $out/share/fonts/eot/
+    cp fonts/*.svg $out/share/fonts/svg/
+    cp fonts/*.ttf $out/share/fonts/truetype/
+    cp fonts/*.woff $out/share/fonts/woff/
+    cp fonts/*.woff2 $out/share/fonts/woff2/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "3200+ Material Design Icons from the Community";
+    longDescription = ''
+      Material Design Icons' growing icon collection allows designers and
+      developers targeting various platforms to download icons in the format,
+      color and size they need for any project.
+    '';
+    homepage = https://materialdesignicons.com;
+    license = with licenses; [
+      asl20  # for icons from: https://github.com/google/material-design-icons
+      ofl
+    ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ vlaci ];
+  };
+}
diff --git a/pkgs/data/icons/zafiro-icons/default.nix b/pkgs/data/icons/zafiro-icons/default.nix
index 1614f6cd3d8..c75f1c5ea0f 100644
--- a/pkgs/data/icons/zafiro-icons/default.nix
+++ b/pkgs/data/icons/zafiro-icons/default.nix
@@ -1,15 +1,14 @@
 { stdenv, fetchFromGitHub, gtk3 }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
   pname = "zafiro-icons";
-  version = "0.7.7";
+  version = "0.8";
 
   src = fetchFromGitHub {
     owner = "zayronxio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0471gf4s32dhcm3667l1bnam04jk4miw3c6s557vix59rih1y71p";
+    sha256 = "05g94ln3xfp8adw09fckjaml1dpl1simphyhd407lx2mmwkgw6rh";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/themes/qogir/default.nix b/pkgs/data/themes/qogir/default.nix
new file mode 100644
index 00000000000..ee1808cd68e
--- /dev/null
+++ b/pkgs/data/themes/qogir/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, gdk_pixbuf, librsvg, gtk-engine-murrine }:
+
+stdenv.mkDerivation rec {
+  pname = "qogir-theme";
+  version = "2018-11-12";
+
+  src = fetchFromGitHub {
+    owner = "vinceliuice";
+    repo = pname;
+    rev = version;
+    sha256 = "16hzgdl7d6jrd3gq0kmxad46gijc4hlxzy2rs3gqsfxqfj32nhqz";
+  };
+
+  buildInputs = [ gdk_pixbuf librsvg ];
+
+  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+
+  installPhase = ''
+    patchShebangs .
+    mkdir -p $out/share/themes
+    name= ./Install -d $out/share/themes
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A flat Design theme for GTK based desktop environments";
+    homepage = https://vinceliuice.github.io/Qogir-theme;
+    license = licenses.gpl3;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
index c420c9fb643..57cd48c6f27 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Battery plugin for Xfce panel";
+    description = "A simple XFCE panel plugin that lets the user run an alarm at a specified time or at the end of a specified countdown period";
     platforms = platforms.linux;
     license = licenses.gpl2;
     maintainers = [ ];
diff --git a/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch b/pkgs/development/compilers/chicken/4/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
index ca72ba0119f..ca72ba0119f 100644
--- a/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
+++ b/pkgs/development/compilers/chicken/4/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/4/chicken.nix
index ceeff56330b..ceeff56330b 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/4/chicken.nix
diff --git a/pkgs/development/compilers/chicken/4/default.nix b/pkgs/development/compilers/chicken/4/default.nix
new file mode 100644
index 00000000000..8d29c7c9a2b
--- /dev/null
+++ b/pkgs/development/compilers/chicken/4/default.nix
@@ -0,0 +1,21 @@
+{ newScope } :
+let
+  callPackage = newScope self;
+
+  self = {
+    pkgs = self;
+
+    fetchegg = callPackage ./fetchegg { };
+
+    eggDerivation = callPackage ./eggDerivation.nix { };
+
+    chicken = callPackage ./chicken.nix {
+      bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
+    };
+
+    chickenEggs = callPackage ./eggs.nix { };
+
+    egg2nix = callPackage ./egg2nix.nix { };
+  };
+
+in self
diff --git a/pkgs/development/tools/egg2nix/default.nix b/pkgs/development/compilers/chicken/4/egg2nix.nix
index d0f3b8a4e26..d0f3b8a4e26 100644
--- a/pkgs/development/tools/egg2nix/default.nix
+++ b/pkgs/development/compilers/chicken/4/egg2nix.nix
diff --git a/pkgs/development/compilers/chicken/eggDerivation.nix b/pkgs/development/compilers/chicken/4/eggDerivation.nix
index 2a14a997e57..4dc7ebe6671 100644
--- a/pkgs/development/compilers/chicken/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/4/eggDerivation.nix
@@ -17,9 +17,8 @@ let
 in
 stdenv.mkDerivation ({
   name = "chicken-${name}";
-  propagatedBuildInputs = buildInputs ++ [ chicken ];
-  propagatedUserEnvPkgs = buildInputs ++ [ chicken ];
-  buildInputs = [ makeWrapper ];
+  propagatedBuildInputs = buildInputs;
+  buildInputs = [ makeWrapper chicken ];
 
   CSC_OPTIONS = stdenv.lib.concatStringsSep " " cscOptions;
 
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.nix b/pkgs/development/compilers/chicken/4/eggs.nix
index 1f786f127c9..1f786f127c9 100644
--- a/pkgs/development/tools/egg2nix/chicken-eggs.nix
+++ b/pkgs/development/compilers/chicken/4/eggs.nix
diff --git a/pkgs/development/tools/egg2nix/chicken-eggs.scm b/pkgs/development/compilers/chicken/4/eggs.scm
index d847ae9e29b..d847ae9e29b 100644
--- a/pkgs/development/tools/egg2nix/chicken-eggs.scm
+++ b/pkgs/development/compilers/chicken/4/eggs.scm
diff --git a/pkgs/build-support/fetchegg/builder.sh b/pkgs/development/compilers/chicken/4/fetchegg/builder.sh
index 20466106309..20466106309 100644
--- a/pkgs/build-support/fetchegg/builder.sh
+++ b/pkgs/development/compilers/chicken/4/fetchegg/builder.sh
diff --git a/pkgs/build-support/fetchegg/default.nix b/pkgs/development/compilers/chicken/4/fetchegg/default.nix
index d4d33a5593c..d4d33a5593c 100644
--- a/pkgs/build-support/fetchegg/default.nix
+++ b/pkgs/development/compilers/chicken/4/fetchegg/default.nix
diff --git a/pkgs/development/compilers/chicken/overrides.nix b/pkgs/development/compilers/chicken/4/overrides.nix
index 9fdda9b6d9f..9fdda9b6d9f 100644
--- a/pkgs/development/compilers/chicken/overrides.nix
+++ b/pkgs/development/compilers/chicken/4/overrides.nix
diff --git a/pkgs/development/compilers/chicken/setup-hook.sh b/pkgs/development/compilers/chicken/4/setup-hook.sh
index b0d9b53b537..b0d9b53b537 100644
--- a/pkgs/development/compilers/chicken/setup-hook.sh
+++ b/pkgs/development/compilers/chicken/4/setup-hook.sh
diff --git a/pkgs/development/compilers/chicken/5/chicken.nix b/pkgs/development/compilers/chicken/5/chicken.nix
new file mode 100644
index 00000000000..ff0faf40839
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/chicken.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
+
+let
+  version = "5.0.0";
+  platform = with stdenv;
+    if isDarwin then "macosx"
+    else if isCygwin then "cygwin"
+    else if (isFreeBSD || isOpenBSD) then "bsd"
+    else if isSunOS then "solaris"
+    else "linux"; # Should be a sane default
+  lib = stdenv.lib;
+in
+stdenv.mkDerivation {
+  name = "chicken-${version}";
+
+  binaryVersion = 9;
+
+  src = fetchurl {
+    url = "https://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz";
+    sha256 = "15b5yrzfa8aimzba79x7v6y282f898rxqxfxrr446sjx9jwlpfd8";
+  };
+
+  setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
+
+  buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
+  installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
+
+  buildInputs = [
+    makeWrapper
+  ] ++ (lib.ifEnable (bootstrap-chicken != null) [
+    bootstrap-chicken
+  ]);
+
+  postInstall = ''
+    for f in $out/bin/*
+    do
+      wrapProgram $f \
+        --prefix PATH : ${stdenv.cc}/bin
+    done
+
+    mv $out/var/lib/chicken $out/lib
+    rmdir $out/var/lib
+    rmdir $out/var
+  '';
+
+  # TODO: Assert csi -R files -p '(pathname-file (repository-path))' == binaryVersion
+
+  meta = {
+    homepage = http://www.call-cc.org/;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ the-kenny ];
+    platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
+    description = "A portable compiler for the Scheme programming language";
+    longDescription = ''
+      CHICKEN is a compiler for the Scheme programming language.
+      CHICKEN produces portable and efficient C, supports almost all
+      of the R5RS Scheme language standard, and includes many
+      enhancements and extensions. CHICKEN runs on Linux, macOS,
+      Windows, and many Unix flavours.
+    '';
+  };
+}
diff --git a/pkgs/development/compilers/chicken/5/default.nix b/pkgs/development/compilers/chicken/5/default.nix
new file mode 100644
index 00000000000..8d29c7c9a2b
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/default.nix
@@ -0,0 +1,21 @@
+{ newScope } :
+let
+  callPackage = newScope self;
+
+  self = {
+    pkgs = self;
+
+    fetchegg = callPackage ./fetchegg { };
+
+    eggDerivation = callPackage ./eggDerivation.nix { };
+
+    chicken = callPackage ./chicken.nix {
+      bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
+    };
+
+    chickenEggs = callPackage ./eggs.nix { };
+
+    egg2nix = callPackage ./egg2nix.nix { };
+  };
+
+in self
diff --git a/pkgs/development/compilers/chicken/5/egg2nix.nix b/pkgs/development/compilers/chicken/5/egg2nix.nix
new file mode 100644
index 00000000000..21e12849b3a
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/egg2nix.nix
@@ -0,0 +1,29 @@
+{ stdenv, eggDerivation, fetchFromGitHub, chickenEggs }:
+
+# Note: This mostly reimplements the default.nix already contained in
+# the tarball. Is there a nicer way than duplicating code?
+
+let
+  version = "c5-git";
+in
+eggDerivation {
+  src = fetchFromGitHub {
+    owner = "corngood";
+    repo = "egg2nix";
+    rev = "chicken-5";
+    sha256 = "1vfnhbcnyakywgjafhs0k5kpsdnrinzvdjxpz3fkwas1jsvxq3d1";
+  };
+
+  name = "egg2nix-${version}";
+  buildInputs = with chickenEggs; [
+    args matchable
+  ];
+
+  meta = {
+    description = "Generate nix-expression from CHICKEN scheme eggs";
+    homepage = https://github.com/the-kenny/egg2nix;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.the-kenny ];
+  };
+}
diff --git a/pkgs/development/compilers/chicken/5/eggDerivation.nix b/pkgs/development/compilers/chicken/5/eggDerivation.nix
new file mode 100644
index 00000000000..3dc1c4afce9
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/eggDerivation.nix
@@ -0,0 +1,41 @@
+{ stdenv, chicken, makeWrapper }:
+{ name, src
+, buildInputs ? []
+, chickenInstallFlags ? []
+, cscOptions          ? []
+, ...} @ args:
+
+let
+  overrides = import ./overrides.nix;
+  baseName = (builtins.parseDrvName name).name;
+  override = if builtins.hasAttr baseName overrides
+   then
+     builtins.getAttr baseName overrides
+   else
+     {};
+in
+stdenv.mkDerivation ({
+  name = "chicken-${name}";
+  propagatedBuildInputs = buildInputs;
+  buildInputs = [ makeWrapper chicken ];
+
+  CSC_OPTIONS = stdenv.lib.concatStringsSep " " cscOptions;
+
+  installPhase = ''
+    runHook preInstall
+
+    export CHICKEN_INSTALL_PREFIX=$out
+    export CHICKEN_INSTALL_REPOSITORY=$out/lib/chicken/${toString chicken.binaryVersion}
+    chicken-install ${stdenv.lib.concatStringsSep " " chickenInstallFlags}
+
+    for f in $out/bin/*
+    do
+      wrapProgram $f \
+        --prefix CHICKEN_REPOSITORY_PATH : "$out/lib/chicken/${toString chicken.binaryVersion}/:$CHICKEN_REPOSITORY_PATH" \
+        --prefix CHICKEN_INCLUDE_PATH : "$CHICKEN_INCLUDE_PATH:$out/share/" \
+        --prefix PATH : "$out/bin:${chicken}/bin:$CHICKEN_REPOSITORY_PATH"
+    done
+
+    runHook postInstall
+  '';
+} // (builtins.removeAttrs args ["name" "buildInputs"]) // override)
diff --git a/pkgs/development/compilers/chicken/5/eggs.nix b/pkgs/development/compilers/chicken/5/eggs.nix
new file mode 100644
index 00000000000..04f7551f32d
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/eggs.nix
@@ -0,0 +1,91 @@
+{ pkgs, stdenv }:
+rec {
+  inherit (pkgs) eggDerivation fetchegg;
+
+  args = eggDerivation {
+    name = "args-1.6.0";
+
+    src = fetchegg {
+      name = "args";
+      version = "1.6.0";
+      sha256 = "1y9sznh4kxqxvhd8k44bjx0s7xspp52sx4bn8i8i0f8lwch6r2g4";
+    };
+
+    buildInputs = [
+      srfi-1
+      srfi-13
+      srfi-37
+    ];
+  };
+
+  matchable = eggDerivation {
+    name = "matchable-1.0";
+
+    src = fetchegg {
+      name = "matchable";
+      version = "1.0";
+      sha256 = "01vy2ppq3sq0wirvsvl3dh0bwa5jqs1i6rdjdd7pnwj4nncxd1ga";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  srfi-1 = eggDerivation {
+    name = "srfi-1-0.5";
+
+    src = fetchegg {
+      name = "srfi-1";
+      version = "0.5";
+      sha256 = "0gh1h406xbxwm5gvc5znc93nxp9xjbhyqf7zzga08k5y6igxrlvk";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  srfi-13 = eggDerivation {
+    name = "srfi-13-0.2";
+
+    src = fetchegg {
+      name = "srfi-13";
+      version = "0.2";
+      sha256 = "0jazbdnn9bjm7wwxqq7xzqxc9zfvaapq565rf1czj6ayl96yvk3n";
+    };
+
+    buildInputs = [
+      srfi-14
+    ];
+  };
+
+  srfi-14 = eggDerivation {
+    name = "srfi-14-0.2";
+
+    src = fetchegg {
+      name = "srfi-14";
+      version = "0.2";
+      sha256 = "13nm4nn1d52nkvhjizy26z3s6q41x1ml4zm847xzf86x1zwvymni";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  srfi-37 = eggDerivation {
+    name = "srfi-37-1.4";
+
+    src = fetchegg {
+      name = "srfi-37";
+      version = "1.4";
+      sha256 = "17f593497n70gldkj6iab6ilgryiqar051v6azn1szhnm1lk7dwd";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+}
+
diff --git a/pkgs/development/compilers/chicken/5/eggs.scm b/pkgs/development/compilers/chicken/5/eggs.scm
new file mode 100644
index 00000000000..b743d6e3229
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/eggs.scm
@@ -0,0 +1,3 @@
+;; Eggs used by egg2nix
+args
+matchable
diff --git a/pkgs/development/compilers/chicken/5/fetchegg/builder.sh b/pkgs/development/compilers/chicken/5/fetchegg/builder.sh
new file mode 100644
index 00000000000..d9adf510f22
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/fetchegg/builder.sh
@@ -0,0 +1,10 @@
+source $stdenv/setup
+
+header "exporting egg ${eggName} (version $version) into $out"
+
+mkdir -p $out
+CHICKEN_EGG_CACHE=. chicken-install -r "${eggName}:${version}"
+rm ${eggName}/{STATUS,TIMESTAMP}
+cp -r ${eggName}/* $out/
+
+stopNest
diff --git a/pkgs/development/compilers/chicken/5/fetchegg/default.nix b/pkgs/development/compilers/chicken/5/fetchegg/default.nix
new file mode 100644
index 00000000000..24bfbd7a30f
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/fetchegg/default.nix
@@ -0,0 +1,25 @@
+# Fetches a chicken egg from henrietta using `chicken-install -r'
+# See: http://wiki.call-cc.org/chicken-projects/egg-index-5.html
+
+{ stdenvNoCC, chicken }:
+{ name, version, md5 ? "", sha256 ? "" }:
+
+if md5 != "" then
+  throw "fetchegg does not support md5 anymore, please use sha256"
+else
+stdenvNoCC.mkDerivation {
+  name = "chicken-${name}-export";
+  builder = ./builder.sh;
+  nativeBuildInputs = [ chicken ];
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = sha256;
+
+  inherit version;
+
+  eggName = name;
+
+  impureEnvVars = stdenvNoCC.lib.fetchers.proxyImpureEnvVars;
+}
+
diff --git a/pkgs/development/compilers/chicken/5/overrides.nix b/pkgs/development/compilers/chicken/5/overrides.nix
new file mode 100644
index 00000000000..2c63c085104
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/overrides.nix
@@ -0,0 +1,2 @@
+{
+}
diff --git a/pkgs/development/compilers/chicken/5/setup-hook.sh b/pkgs/development/compilers/chicken/5/setup-hook.sh
new file mode 100644
index 00000000000..2447aeb0cea
--- /dev/null
+++ b/pkgs/development/compilers/chicken/5/setup-hook.sh
@@ -0,0 +1,6 @@
+addChickenRepositoryPath() {
+    addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_PATH "$1/lib/chicken/9/"
+    addToSearchPathWithCustomDelimiter : CHICKEN_INCLUDE_PATH "$1/share/"
+}
+
+addEnvHooks "$targetOffset" addChickenRepositoryPath
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index d6dd0601e62..042cd783360 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -7,13 +7,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "nextpnr-${version}";
-  version = "2018.10.17";
+  version = "2018.12.29";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "nextpnr";
-    rev    = "529a595157a2eef24f8529b0de0c504a40ed503b";
-    sha256 = "06yp89rpvb2s4zc1qkbcp76kqwkk9s8j2ckblqw547dy5ah2cl7h";
+    rev    = "eb456ef476e8342b4709d71cbff6ef22a714d6ec";
+    sha256 = "1gw9r8c6wyfhbzhm3hz1xpbq8ax27qnjwlrimzcykrr9r1cykiik";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/compilers/urn/default.nix b/pkgs/development/compilers/urn/default.nix
index 5add2ae4cc5..d5f0dcbec29 100644
--- a/pkgs/development/compilers/urn/default.nix
+++ b/pkgs/development/compilers/urn/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "0.7.1";
+  version = "0.7.2";
   # Build a sort of "union package" with all the native dependencies we
   # have: Lua (or LuaJIT), readline, etc. Then, we can depend on this
   # and refer to ${urn-rt} instead of ${lua}, ${readline}, etc.
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "urn";
     repo = "urn";
     rev = "v${version}";
-    sha256 = "1vw0sljrczbwl7fl5d3frbpklb0larzyp7s7mwwprkb07b027sd5";
+    sha256 = "0nclr3d8ap0y5cg36i7g4ggdqci6m5q27y9f26b57km8p266kcpy";
   };
 
   buildInputs = [ makeWrapper ];
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 088e2d5f9ce..c780564d801 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -87,6 +87,7 @@ self: super: {
   psqueues = dontCheck super.psqueues;    # won't cope with QuickCheck 2.12.x
   system-fileio = dontCheck super.system-fileio;  # avoid dependency on broken "patience"
   unicode-transforms = dontCheck super.unicode-transforms;
+  RSA = dontCheck super.RSA; # https://github.com/GaloisInc/RSA/issues/14 
   monad-par = dontCheck super.monad-par;  # https://github.com/simonmar/monad-par/issues/66
 
   # https://github.com/jgm/skylighting/issues/55
diff --git a/pkgs/development/interpreters/picolisp/default.nix b/pkgs/development/interpreters/picolisp/default.nix
index 37a5bdd0ce9..058a83b6b43 100644
--- a/pkgs/development/interpreters/picolisp/default.nix
+++ b/pkgs/development/interpreters/picolisp/default.nix
@@ -1,22 +1,26 @@
-{ stdenv, fetchurl, jdk }:
+{ stdenv, fetchurl, jdk, makeWrapper }:
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "picoLisp-${version}";
-  version = "16.12";
+  version = "18.12";
   src = fetchurl {
     url = "https://www.software-lab.de/${name}.tgz";
-    sha256 = "1k3x6mvk9b34iiyml142bzh3gf241f25ywjlaagbxzb9vklpws75";
+    sha256 = "0hvgq2vc03bki528jqn95xmvv7mw8xx832spfczhxc16wwbrnrhk";
   };
-  buildInputs = optional stdenv.is64bit jdk;
-  patchPhase = optionalString stdenv.isAarch32 ''
-    sed -i s/-m32//g Makefile
-    cat >>Makefile <<EOF
-    ext.o: ext.c
-    	\$(CC) \$(CFLAGS) -fPIC -D_OS='"\$(OS)"' \$*.c
-    ht.o: ht.c
-    	\$(CC) \$(CFLAGS) -fPIC -D_OS='"\$(OS)"' \$*.c
-    EOF
+  buildInputs = [makeWrapper] ++ optional stdenv.is64bit jdk;
+  patchPhase = ''
+    sed -i "s/which java/command -v java/g" mkAsm
+
+    ${optionalString stdenv.isAarch32 ''
+      sed -i s/-m32//g Makefile
+      cat >>Makefile <<EOF
+      ext.o: ext.c
+        \$(CC) \$(CFLAGS) -fPIC -D_OS='"\$(OS)"' \$*.c
+      ht.o: ht.c
+        \$(CC) \$(CFLAGS) -fPIC -D_OS='"\$(OS)"' \$*.c
+      EOF
+    ''}
   '';
   sourceRoot = ''picoLisp/src${optionalString stdenv.is64bit "64"}'';
   installPhase = ''
@@ -27,11 +31,13 @@ stdenv.mkDerivation rec {
     ln -s "$out/share/picolisp/build-dir" "$out/lib/picolisp"
     ln -s "$out/lib/picolisp/bin/picolisp" "$out/bin/picolisp"
 
-    cat >"$out/bin/pil" <<EOF
-    #! /bin/sh
-    exec $out/bin/picolisp $out/lib/picolisp/lib.l @lib/misc.l @lib/btree.l @lib/db.l @lib/pilog.l
-    EOF
-    chmod +x "$out/bin/pil"
+
+    makeWrapper $out/bin/picolisp $out/bin/pil \
+      --add-flags "$out/lib/picolisp/lib.l" \
+      --add-flags "@lib/misc.l" \
+      --add-flags "@lib/btree.l" \
+      --add-flags "@lib/db.l" \
+      --add-flags "@lib/pilog.l"
 
     mkdir -p "$out/share/emacs"
     ln -s "$out/lib/picolisp/lib/el" "$out/share/emacs/site-lisp"
diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix
index 7dd0fcb5590..48ca86aaa4b 100644
--- a/pkgs/development/libraries/alembic/default.nix
+++ b/pkgs/development/libraries/alembic/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   name = "alembic-${version}";
-  version = "1.7.9";
+  version = "1.7.10";
 
   src = fetchFromGitHub {
     owner = "alembic";
     repo = "alembic";
     rev = "${version}";
-    sha256 = "0xyclln1m4079akr31vib242912004lln678prda0qwmwvsdrf7z";
+    sha256 = "186wwlbz90gmzr4vsykk4z8bgkd45yhbyfpn8bqwidf9fcimcr2a";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/pkgs/development/libraries/allegro/allegro4-mesa-18.2.5.patch b/pkgs/development/libraries/allegro/allegro4-mesa-18.2.5.patch
new file mode 100644
index 00000000000..c49ebb550f3
--- /dev/null
+++ b/pkgs/development/libraries/allegro/allegro4-mesa-18.2.5.patch
@@ -0,0 +1,26 @@
+--- a/addons/allegrogl/include/alleggl.h
++++ b/addons/allegrogl/include/alleggl.h
+@@ -63,9 +63,11 @@ typedef __int64 INT64;
+ /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
+ #define __glext_h_
+ #define __glxext_h_
++#define __glx_glxext_h_
+ #include <GL/gl.h>
+ #undef  __glext_h_
+ #undef  __glxext_h_
++#undef  __glx_glxext_h_
+ 
+ #endif /* ALLEGRO_MACOSX */
+ 
+--- a/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h
++++ b/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h
+@@ -1,7 +1,9 @@
+ /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */
+ #define __glxext_h_
++#define __glx_glxext_h_
+ #include <GL/glx.h>
+ #undef __glxext_h_
++#undef __glx_glxext_h_
+ 
+ #ifndef GLX_VERSION_1_3
+ #define AGLX_VERSION_1_3
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index f53aa873b48..133c0726acb 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    ./allegro4-mesa-18.2.5.patch
     ./nix-unstable-sandbox-fix.patch
   ];
 
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index f9d8736ea20..811dfc47194 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, symlinkJoin, fetchurl, fetchFromGitHub, boost, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest_static, lz4, perl, python, rapidjson, snappy, thrift, which, zlib, zstd }:
+{ stdenv, symlinkJoin, fetchurl, fetchFromGitHub, boost, brotli, cmake, double-conversion, flatbuffers, gflags, glog, gtest, lz4, perl, python, rapidjson, snappy, thrift, which, zlib, zstd }:
 
 let
   parquet-testing = fetchFromGitHub {
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
   FLATBUFFERS_HOME = flatbuffers;
   GFLAGS_HOME = gflags;
   GLOG_HOME = glog;
-  GTEST_HOME = symlinkJoin { name="gtest-wrap"; paths = [ gtest_static gtest_static.dev ]; };
+  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 ]; };
diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix
index d62e22fe0e0..4e23001fc9f 100644
--- a/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/pkgs/development/libraries/aspell/dictionaries.nix
@@ -146,11 +146,11 @@ in rec {
   };
 
   en = buildDict rec {
-    shortName = "en-2016.06.26-0";
+    shortName = "en-2018.04.16-0";
     fullName = "English";
     src = fetchurl {
       url = "mirror://gnu/aspell/dict/en/aspell6-${shortName}.tar.bz2";
-      sha256 = "1clzsfq2cbgp6wvfr2qwfsd2nziipml5m5vqm45r748wczlxihv1";
+      sha256 = "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i";
     };
   };
 
diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix
index 880a2824fb0..d9bf5bd2220 100644
--- a/pkgs/development/libraries/capstone/default.nix
+++ b/pkgs/development/libraries/capstone/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "capstone-${version}";
-  version = "3.0.5";
+  version = "4.0";
 
   src = fetchurl {
     url    = "https://github.com/aquynh/capstone/archive/${version}.tar.gz";
-    sha256 = "1wbd1g3r32ni6zd9vwrq3kn7fdp9y8qwn9zllrrbk8n5wyaxcgci";
+    sha256 = "0yp6y5m3v674i2pq6s804ikvz43gzgsjwq1maqhmj3b730b4dii6";
   };
 
   configurePhase = '' patchShebangs make.sh '';
diff --git a/pkgs/development/libraries/editline/default.nix b/pkgs/development/libraries/editline/default.nix
index 90e3ee9af5b..4e228f8f432 100644
--- a/pkgs/development/libraries/editline/default.nix
+++ b/pkgs/development/libraries/editline/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook }:
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "editline-${version}";
@@ -10,6 +10,15 @@ stdenv.mkDerivation rec {
     sha256 = "0a751dp34mk9hwv59ss447csknpm5i5cgd607m3fqf24rszyhbf2";
   };
 
+  patches = [
+    # will be in 1.17.0
+    (fetchpatch {
+      name = "redisplay-clear-screen.patch";
+      url = "https://github.com/troglobit/editline/commit/a4b67d226829a55bc8501f36708d5e104a52fbe4.patch";
+      sha256 = "0dbgdqxa4x9wgr9kx89ql74np4qq6fzdbph9j9c65ns3gnaanjkw";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
 
   outputs = [ "out" "dev" "man" "doc" ];
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index c26a2a20a81..ea782fc6986 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -2,38 +2,16 @@
 , autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "exiv2-0.26.2018.06.09";
+  name = "exiv2-0.26.2018.12.30";
 
     #url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz";
   src = fetchFromGitHub rec {
     owner = "exiv2";
     repo  = "exiv2";
-    rev = "4aa57ad";
-    sha256 = "1kblpxbi4wlb0l57xmr7g23zn9adjmfswhs6kcwmd7skwi2yivcd";
+    rev = "f5d0b25"; # https://github.com/Exiv2/exiv2/commits/0.26
+    sha256 = "1blaz3g8dlij881g14nv2nsgr984wy6ypbwgi2pixk978p0gm70i";
   };
 
-  patches = [
-    (fetchurl rec {
-      name = "CVE-2017-9239.patch";
-      url = let patchname = "0006-1296-Fix-submitted.patch";
-          in "https://src.fedoraproject.org/lookaside/pkgs/exiv2/${patchname}"
-          + "/sha512/${sha512}/${patchname}";
-      sha512 = "3f9242dbd4bfa9dcdf8c9820243b13dc14990373a800c4ebb6cf7eac5653cfef"
-             + "e6f2c47a94fbee4ed24f0d8c2842729d721f6100a2b215e0f663c89bfefe9e32";
-    })
-    # Two backports from master, submitted as https://github.com/Exiv2/exiv2/pull/398
-    (fetchpatch {
-      name = "CVE-2018-12264.diff";
-      url = "https://github.com/vcunat/exiv2/commit/fd18e853.diff";
-      sha256 = "0y7ahh45lpaiazjnfllndfaa5pyixh6z4kcn2ywp7qy4ra7qpwdr";
-    })
-    (fetchpatch {
-      name = "CVE-2018-12265.diff";
-      url = "https://github.com/vcunat/exiv2/commit/9ed1671bd4.diff";
-      sha256 = "1cn446pfcgsh1bn9vxikkkcy1cqq7ghz2w291h1094ydqg6w7q6w";
-    })
-  ];
-
   postPatch = "patchShebangs ./src/svn_version.sh";
 
   preConfigure = "make config"; # needed because not using tarball
diff --git a/pkgs/development/libraries/fflas-ffpack/default.nix b/pkgs/development/libraries/fflas-ffpack/default.nix
index bf7630608f7..2dd58e64585 100644
--- a/pkgs/development/libraries/fflas-ffpack/default.nix
+++ b/pkgs/development/libraries/fflas-ffpack/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, givaro, pkgconfig, blas
+, fetchpatch
 , gmpxx
 , optimize ? false # impure
 }:
@@ -14,6 +15,15 @@ stdenv.mkDerivation rec {
     sha256 = "1cqhassj2dny3gx0iywvmnpq8ca0d6m82xl5rz4mb8gaxr2kwddl";
   };
 
+  patches = [
+    # https://github.com/linbox-team/fflas-ffpack/issues/146
+    (fetchpatch {
+      name = "fix-flaky-test-fgemm-check.patch";
+      url = "https://github.com/linbox-team/fflas-ffpack/commit/d8cd67d91a9535417a5cb193cf1540ad6758a3db.patch";
+      sha256 = "1gnfc616fvnlr0smvz6lb2d445vn8fgv6vqcr6pwm3dj4wa6v3b3";
+    })
+  ];
+
   checkInputs = [
     gmpxx
   ];
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 05f11580455..f7fda1a382f 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -2,7 +2,7 @@
 , glib, libgudev, udisks2, libgcrypt, libcap, polkit
 , libgphoto2, avahi, libarchive, fuse, libcdio
 , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, samba, libmtp
-, gnomeSupport ? false, gnome, makeWrapper, gcr
+, gnomeSupport ? false, gnome, gcr, wrapGAppsHook
 , libimobiledevice, libbluray, libcdio-paranoia, libnfs, openssh
 , libsecret, libgdata, python3
 }:
@@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     meson ninja python3
-    pkgconfig gettext makeWrapper
+    pkgconfig gettext wrapGAppsHook
     libxml2 libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
@@ -40,6 +40,7 @@ in stdenv.mkDerivation rec {
     # ToDo: a ligther version of libsoup to have FTP/HTTP support?
   ] ++ stdenv.lib.optionals gnomeSupport (with gnome; [
     libsoup gcr
+    glib-networking # TLS support
     gnome-online-accounts libsecret libgdata
   ]);
 
@@ -57,14 +58,6 @@ in stdenv.mkDerivation rec {
   doCheck = false; # fails with "ModuleNotFoundError: No module named 'gi'"
   doInstallCheck = doCheck;
 
-  preFixup = ''
-    for f in $out/libexec/*; do
-      wrapProgram $f \
-        ${stdenv.lib.optionalString gnomeSupport "--prefix GIO_EXTRA_MODULES : \"${stdenv.lib.getLib gnome.dconf}/lib/gio/modules\""} \
-        --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-    done
-  '';
-
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index a08a1e33523..f6ff7e75895 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, yasm, perl, cmake, pkgconfig, python3Packages }:
+{ stdenv, fetchgit, yasm, perl, cmake, pkgconfig, python3, writeText }:
 
 stdenv.mkDerivation rec {
   name = "libaom-${version}";
@@ -10,8 +10,23 @@ stdenv.mkDerivation rec {
     sha256 = "07h2vhdiq7c3fqaz44rl4vja3dgryi6n7kwbwbj1rh485ski4j82";
   };
 
-  buildInputs = [ perl yasm ];
-  nativeBuildInputs = [ cmake pkgconfig python3Packages.python ];
+  nativeBuildInputs = [
+    yasm perl cmake pkgconfig python3
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+  ];
+
+  preConfigure = ''
+    # build uses `git describe` to set the build version
+    cat > $NIX_BUILD_TOP/git << "EOF"
+    #!${stdenv.shell}
+    echo v${version}
+    EOF
+    chmod +x $NIX_BUILD_TOP/git
+    export PATH=$NIX_BUILD_TOP:$PATH
+  '';
 
   meta = with stdenv.lib; {
     description = "AV1 Bitstream and Decoding Library";
diff --git a/pkgs/development/libraries/libmkv/default.nix b/pkgs/development/libraries/libmkv/default.nix
index 48e710c208f..9c89d2e8d7b 100644
--- a/pkgs/development/libraries/libmkv/default.nix
+++ b/pkgs/development/libraries/libmkv/default.nix
@@ -15,6 +15,11 @@ stdenv.mkDerivation rec {
   preConfigure = "sh bootstrap.sh";
 
   meta = {
+    description = "Abandoned library. Alternative lightweight Matroska muxer written for HandBrake";
+    longDescription = ''
+      Library was meant to be an alternative to the official libmatroska library.
+      It is written in plain C, and intended to be very portable.
+    '';
     homepage = https://github.com/saintdev/libmkv;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.wmertens ];
diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix
index 8bf62890fac..71a8e528771 100644
--- a/pkgs/development/libraries/libogg/default.nix
+++ b/pkgs/development/libraries/libogg/default.nix
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "doc" ];
 
   meta = with stdenv.lib; {
+    description = "Media container library to manipulate Ogg files";
+    longDescription = ''
+      Library to work with Ogg multimedia container format.
+      Ogg is flexible file storage and streaming format that supports
+      plethora of codecs. Open format free for anyone to use.
+    '';
     homepage = https://xiph.org/ogg/;
     license = licenses.bsd3;
     maintainers = [ maintainers.ehmry ];
diff --git a/pkgs/development/libraries/libs3/default.nix b/pkgs/development/libraries/libs3/default.nix
index 540d84dc244..dfec4bc4897 100644
--- a/pkgs/development/libraries/libs3/default.nix
+++ b/pkgs/development/libraries/libs3/default.nix
@@ -1,26 +1,23 @@
 { stdenv, fetchFromGitHub, curl, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "libs3-2017-06-01";
+  name = "libs3-2018-12-03";
 
   src = fetchFromGitHub {
     owner = "bji";
     repo = "libs3";
-    rev = "fd8b149044e429ad30dc4c918f0713cdd40aadd2";
-    sha256 = "0a4c9rsd3wildssvnvph6cd11adn0p3rd4l02z03lvxkjhm20gw3";
+    rev = "111dc30029f64bbf82031f3e160f253a0a63c119";
+    sha256 = "1ahf08hc7ql3fazfmlyj9vrhq7cvarsmgn2v8149y63zr1fl61hs";
   };
 
   buildInputs = [ curl libxml2 ];
 
-  # added to fix build with gcc7, review on update
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=format-truncation" ];
-
-  DESTDIR = "\${out}";
+  makeFlags = [ "DESTDIR=$(out)" ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/bji/libs3;
     description = "A library for interfacing with amazon s3";
-    license = licenses.lgpl3;
+    license = licenses.lgpl3Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix
index e55d9989bff..51081f25bf2 100644
--- a/pkgs/development/libraries/mp4v2/default.nix
+++ b/pkgs/development/libraries/mp4v2/default.nix
@@ -25,8 +25,14 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
+    description = "Abandoned library. Provides functions to read, create, and modify mp4 files";
+    longDescription = ''
+      MP4v2 library provides an API to work with mp4 files
+      as defined by ISO-IEC:14496-1:2001 MPEG-4 Systems.
+      This container format is derived from Apple's QuickTime format.
+    '';
     homepage = https://code.google.com/archive/p/mp4v2/;
-    maintainers = [ ];
+    maintainers = [ lib.maintainers.Anton-Latukha ];
     platforms = lib.platforms.unix;
     license = lib.licenses.mpl11;
   };
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 96b5239b7db..dc9fe52cf51 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "0.2.3";
+  version = "0.2.5";
 
   fontsConf = makeFontsConf {
     fontDirectories = [ freefont_ttf ];
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
     owner = "PipeWire";
     repo = "pipewire";
     rev = version;
-    sha256 = "1y04brfi5bv4y0hdyqzrcbayr674njf6a5hiwjfv2yi6lazkqv1k";
+    sha256 = "0hxm89ps6p75zm7rndrdr715p4ixx4f521fkjkyi7q2wh0b769s7";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
@@ -31,7 +31,7 @@ in stdenv.mkDerivation rec {
 
   mesonFlags = [
     "-Ddocs=true"
-    "-Dgstreamer=true"
+    "-Dgstreamer=enabled"
   ];
 
   PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
index 528fe5ed073..ce3b048e764 100644
--- a/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -87,14 +87,37 @@ stdenv.mkDerivation rec {
     cp -r lib $out/
     cp -r include $out/
     cp -r share $out/
+    ''
+    + stdenv.lib.optionalString stdenv.isDarwin ''
+    # The fixDarwinDylibNames in nixpkgs can't seem to fix all the libraries.
+    # We manually fix them up here.
+    fixDarwinDylibNames() {
+        local flags=()
+        local old_id
+
+        for fn in "$@"; do
+            flags+=(-change "$PWD/lib/$(basename "$fn")" "$fn")
+        done
+
+        for fn in "$@"; do
+            if [ -L "$fn" ]; then continue; fi
+            echo "$fn: fixing dylib"
+            install_name_tool -id "$fn" "''${flags[@]}" "$fn"
+        done
+    }
 
+    fixDarwinDylibNames $(find "$out" -name "*.dylib")
+    ''
+    + stdenv.lib.optionalString (!stdenv.isDarwin) ''
     # Fix rpaths
     cd $out
     find -name \*.so\* -type f -exec \
       patchelf --set-rpath "$out/lib:${stdenv.lib.makeLibraryPath buildInputs}" {} \;
-
+    ''
+    +
+    ''
     runHook postInstall
-  '';
+    '';
 
   nativeBuildInputs = [ cmake ]
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
diff --git a/pkgs/development/python-modules/aioamqp/default.nix b/pkgs/development/python-modules/aioamqp/default.nix
index e1130ccd693..d7cd453c93d 100644
--- a/pkgs/development/python-modules/aioamqp/default.nix
+++ b/pkgs/development/python-modules/aioamqp/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "aioamqp";
-  version = "0.11.0";
+  version = "0.12.0";
 
   meta = {
     homepage = https://github.com/polyconseil/aioamqp;
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7f1eb9e0f1b7c7e21a3a6ca498c3daafdfc3e95b4a1a0633fd8d6ba2dfcab777";
+    sha256 = "17vrl6jajr81bql7kjgq0zkxy225px97z4g9wmbhbbnvzn1p92c0";
   };
 
   buildInputs = lib.optionals isPy33 [ asyncio ];
diff --git a/pkgs/development/python-modules/clize/default.nix b/pkgs/development/python-modules/clize/default.nix
index d2eac77a14b..ef7047afe7d 100644
--- a/pkgs/development/python-modules/clize/default.nix
+++ b/pkgs/development/python-modules/clize/default.nix
@@ -3,6 +3,13 @@
 , fetchPypi
 , dateutil
 , sigtools
+, six
+, attrs
+, od
+, docutils
+, repeated_test
+, unittest2
+, pygments
 }:
 
 buildPythonPackage rec {
@@ -14,8 +21,20 @@ buildPythonPackage rec {
     sha256 = "dbcfba5571dc30aaf90dc98fc279e2aab69d0f8f3665fc0394fbc10a87a2be60";
   };
 
-  buildInputs = [ dateutil ];
-  propagatedBuildInputs = [ sigtools ];
+  checkInputs = [ 
+    dateutil
+    pygments
+    repeated_test
+    unittest2
+  ];
+  
+  propagatedBuildInputs = [ 
+    attrs
+    docutils
+    od
+    sigtools
+    six
+  ];
 
   meta = with stdenv.lib; {
     description = "Command-line argument parsing for Python";
diff --git a/pkgs/development/python-modules/cysignals/default.nix b/pkgs/development/python-modules/cysignals/default.nix
index 0999248b089..f9d7ba8a851 100644
--- a/pkgs/development/python-modules/cysignals/default.nix
+++ b/pkgs/development/python-modules/cysignals/default.nix
@@ -9,11 +9,11 @@ assert pariSupport -> pari != null;
 
 buildPythonPackage rec {
   pname = "cysignals";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yh4lyrinhxxra42p0k4hiyjdrqjmifg4gnmf4bky5wa0mqnyai6";
+    sha256 = "1hnkcrrxgh6g8a197v2yw61xz43iyv81jbl6jpy19ql3k66w81zx";
   };
 
   # explicit check:
@@ -22,9 +22,9 @@ buildPythonPackage rec {
     "fortify"
   ];
 
-  # currently fails, probably because of formatting changes in gdb 8.0
-  # https://trac.sagemath.org/ticket/24692
+  # known failure: https://github.com/sagemath/cysignals/blob/582dbf6a7b0f9ade0abe7a7b8720b7fb32435c3c/testgdb.py#L5
   doCheck = false;
+  checkTarget = "check-install";
 
   preCheck = ''
     # Make sure cysignals-CSI is in PATH
diff --git a/pkgs/development/python-modules/dependency-injector/default.nix b/pkgs/development/python-modules/dependency-injector/default.nix
index b31194bf17c..ec55fed377b 100644
--- a/pkgs/development/python-modules/dependency-injector/default.nix
+++ b/pkgs/development/python-modules/dependency-injector/default.nix
@@ -1,19 +1,26 @@
-{ stdenv, buildPythonPackage, fetchPypi, six, unittest2 }:
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k, six, unittest2 }:
+
+let
+  testPath =
+    if isPy3k
+    then "test_*_py3.py"
+    else "test_*_py2_py3.py";
+in
 
 buildPythonPackage rec {
   pname = "dependency-injector";
-  version = "3.14.2";
+  version = "3.14.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f478a26e9bf3111ce98bbfb8502af274643947f87a7e12a6481a35eaa693062b";
+    sha256 = "07366palyav9bawyq2b1gi76iamjkq6r5akzzbqv8s930sxq6yim";
   };
 
   propagatedBuildInputs = [ six ];
   checkInputs = [ unittest2 ];
 
   checkPhase = ''
-    unit2 discover tests/unit
+    unit2 discover -s tests/unit -p "${testPath}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/flask-jwt-extended/default.nix b/pkgs/development/python-modules/flask-jwt-extended/default.nix
index b14ec9e3eb2..8b20146f212 100644
--- a/pkgs/development/python-modules/flask-jwt-extended/default.nix
+++ b/pkgs/development/python-modules/flask-jwt-extended/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-JWT-Extended";
-  version = "3.13.1";
+  version = "3.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10qz3ljr2kpd93al2km6iijxp23z33kvvwd0y5bc840f86b4mra8";
+    sha256 = "133s9js7j1b2m6vv56a2xd9in0rmx5zrdp4r005qwbvr5qxld39s";
   };
 
   propagatedBuildInputs = [ flask pyjwt werkzeug ];
diff --git a/pkgs/development/python-modules/goobook/default.nix b/pkgs/development/python-modules/goobook/default.nix
index 4a3c3dc3bcb..e63c97c6793 100644
--- a/pkgs/development/python-modules/goobook/default.nix
+++ b/pkgs/development/python-modules/goobook/default.nix
@@ -1,39 +1,24 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, isPy3k
-, oauth2client
-, gdata
-, google_api_python_client
-, simplejson
-, httplib2
-, keyring
-, six
-, rsa
+{ stdenv, buildPythonPackage, fetchPypi, isPy3k
+, google_api_python_client, simplejson, oauth2client
 }:
 
 buildPythonPackage rec {
   pname = "goobook";
-  version = "3.1";
-  disabled = isPy3k;
+  version = "3.3";
+  disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "139a98d646d5c5963670944d5cfcc1a107677ee11fa98329221bd600457fda6d";
+    sha256 = "0sanlki1rcqvhbds7a049v2kzglgpm761i728115mdracw0s6i3h";
   };
 
-  propagatedBuildInputs = [ oauth2client gdata google_api_python_client simplejson httplib2 keyring six rsa ];
-
-  preConfigure = ''
-    sed -i '/distribute/d' setup.py
-  '';
+  propagatedBuildInputs = [ google_api_python_client simplejson oauth2client ];
 
   meta = with stdenv.lib; {
     description = "Search your google contacts from the command-line or mutt";
     homepage    = https://pypi.python.org/pypi/goobook;
     license     = licenses.gpl3;
-    maintainers = with maintainers; [ lovek323 hbunke ];
+    maintainers = with maintainers; [ primeos ];
     platforms   = platforms.unix;
   };
-
 }
diff --git a/pkgs/development/python-modules/intervaltree/default.nix b/pkgs/development/python-modules/intervaltree/default.nix
index 47cb354a7fe..b60eb0c7327 100644
--- a/pkgs/development/python-modules/intervaltree/default.nix
+++ b/pkgs/development/python-modules/intervaltree/default.nix
@@ -2,12 +2,12 @@
 , python, pytest, sortedcontainers }:
 
 buildPythonPackage rec {
-  version = "2.1.0";
+  version = "3.0.2";
   pname = "intervaltree";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc";
+    sha256 = "0wz234g6irlm4hivs2qzmnywk0ss06ckagwh15nflkyb3p462kyb";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/od/default.nix b/pkgs/development/python-modules/od/default.nix
new file mode 100644
index 00000000000..0aaa40e1758
--- /dev/null
+++ b/pkgs/development/python-modules/od/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi, unittest2, repeated_test }:
+
+buildPythonPackage rec {
+  pname = "od";
+  version = "1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1az30snc3w6s4k1pi7mspcv8y0kp3ihf3ly44z517nszmz9lrjfi";
+  };
+
+  checkInputs = [
+    repeated_test
+    unittest2
+  ];
+
+  meta = with lib; {
+    description = "Shorthand syntax for building OrderedDicts";
+    homepage = https://github.com/epsy/od;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/opt-einsum/default.nix b/pkgs/development/python-modules/opt-einsum/default.nix
new file mode 100644
index 00000000000..c28105d4e49
--- /dev/null
+++ b/pkgs/development/python-modules/opt-einsum/default.nix
@@ -0,0 +1,31 @@
+{ buildPythonPackage, fetchPypi, lib, numpy, pytest, pytestpep8, pytestcov }:
+buildPythonPackage rec {
+  version = "2.3.2";
+  pname = "opt_einsum";
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "0ny3v8x83mzpwmqjdzqhzy2pzwyy4wx01r1h9i29xw3yvas69m6k";
+  };
+
+  checkInputs = [
+    pytest
+    pytestpep8
+    pytestcov
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  meta = {
+    description = "Optimizing NumPy's einsum function with order optimization and GPU support.";
+    homepage = http://optimized-einsum.readthedocs.io;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 14d7bddbb70..2d2c04d5fb2 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -1,30 +1,21 @@
 { lib, fetchurl, fetchpatch, pythonPackages, pkgconfig
-, qmake, lndir, qtbase, qtsvg, qtwebkit, qtwebengine, dbus
-, withWebSockets ? false, qtwebsockets
+, qmake, lndir, qtbase, qtsvg, qtwebengine, dbus
 , withConnectivity ? false, qtconnectivity
+, withWebKit ? false, qtwebkit
+, withWebSockets ? false, qtwebsockets
 }:
 
 let
-  pname = "PyQt";
-  version = "5.11.3";
 
   inherit (pythonPackages) buildPythonPackage python isPy3k dbus-python enum34;
 
   sip = pythonPackages.sip.override { sip-module = "PyQt5.sip"; };
 
-in buildPythonPackage {
-  pname = pname;
-  version = version;
+in buildPythonPackage rec {
+  pname = "PyQt";
+  version = "5.11.3";
   format = "other";
 
-  meta = with lib; {
-    description = "Python bindings for Qt5";
-    homepage    = http://www.riverbankcomputing.co.uk;
-    license     = licenses.gpl3;
-    platforms   = platforms.mesaPlatforms;
-    maintainers = with maintainers; [ sander ];
-  };
-
   src = fetchurl {
     url = "mirror://sourceforge/pyqt/PyQt5/PyQt-${version}/PyQt5_gpl-${version}.tar.gz";
     sha256 = "0wqh4srqkcc03rvkwrcshaa028psrq58xkys6npnyhqxc0apvdf9";
@@ -36,9 +27,11 @@ in buildPythonPackage {
 
   buildInputs = [ dbus sip ];
 
-  propagatedBuildInputs = [
-    qtbase qtsvg qtwebkit qtwebengine
-  ] ++ lib.optional (!isPy3k) enum34 ++ lib.optional withWebSockets qtwebsockets ++ lib.optional withConnectivity qtconnectivity;
+  propagatedBuildInputs = [ qtbase qtsvg qtwebengine ]
+    ++ lib.optional (!isPy3k) enum34
+    ++ lib.optional withConnectivity qtconnectivity
+    ++ lib.optional withWebKit qtwebkit
+    ++ lib.optional withWebSockets qtwebsockets;
 
   configurePhase = ''
     runHook preConfigure
@@ -49,10 +42,6 @@ in buildPythonPackage {
 
     export PYTHONPATH=$PYTHONPATH:$out/${python.sitePackages}
 
-    substituteInPlace configure.py \
-      --replace 'install_dir=pydbusmoddir' "install_dir='$out/${python.sitePackages}/dbus/mainloop'" \
-      --replace "ModuleMetadata(qmake_QT=['webkitwidgets'])" "ModuleMetadata(qmake_QT=['webkitwidgets', 'printsupport'])"
-
     ${python.executable} configure.py  -w \
       --confirm-license \
       --dbus=${dbus.dev}/include/dbus-1.0 \
@@ -74,4 +63,12 @@ in buildPythonPackage {
   '';
 
   enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "Python bindings for Qt5";
+    homepage    = http://www.riverbankcomputing.co.uk;
+    license     = licenses.gpl3;
+    platforms   = platforms.mesaPlatforms;
+    maintainers = with maintainers; [ sander ];
+  };
 }
diff --git a/pkgs/development/python-modules/pyro-ppl/default.nix b/pkgs/development/python-modules/pyro-ppl/default.nix
new file mode 100644
index 00000000000..f3bc353fe0e
--- /dev/null
+++ b/pkgs/development/python-modules/pyro-ppl/default.nix
@@ -0,0 +1,38 @@
+{ buildPythonPackage, fetchPypi, lib, pytorch, contextlib2
+, graphviz, networkx, six, opt-einsum, tqdm }:
+buildPythonPackage rec {
+  version = "0.3.0";
+  pname = "pyro-ppl";
+
+  src = fetchPypi {
+    inherit version pname;
+    sha256 = "0shsnc5bia9k1fzmqnwwbm1x5qvac3zrq4lvyhg27rjgpcamvb9l";
+  };
+
+  propagatedBuildInputs = [
+    pytorch
+    contextlib2
+    # TODO(tom): graphviz pulls in a lot of dependencies - make
+    # optional when some time to figure out how.
+    graphviz
+    networkx
+    six
+    opt-einsum
+    tqdm
+  ];
+
+  # pyro not shipping tests do simple smoke test instead
+  checkPhase = ''
+    python -c "import pyro"
+    python -c "import pyro.distributions"
+    python -c "import pyro.infer"
+    python -c "import pyro.optim"
+  '';
+
+  meta = {
+    description = "A Python library for probabilistic modeling and inference";
+    homepage = http://pyro.ai;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ teh ];
+  };
+}
diff --git a/pkgs/development/python-modules/qtconsole/default.nix b/pkgs/development/python-modules/qtconsole/default.nix
index ef322bd7980..07b5a316961 100644
--- a/pkgs/development/python-modules/qtconsole/default.nix
+++ b/pkgs/development/python-modules/qtconsole/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     description = "Jupyter Qt console";
     homepage = http://jupyter.org/;
     license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux; # fails on Darwin
+    platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/development/python-modules/shippai/default.nix b/pkgs/development/python-modules/shippai/default.nix
index ffb221ffdc5..7682d208603 100644
--- a/pkgs/development/python-modules/shippai/default.nix
+++ b/pkgs/development/python-modules/shippai/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   pname = "shippai";
   # Please make sure that vdirsyncer still builds if you update this package.
-  version = "0.2.4";
+  version = "0.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "87cc9899212d917031853becd7cb14808181289c3c329b1418e9b4b6aae93c80";
+    sha256 = "0r6iwvmay8ygn2m15pyjrk9am4mfpk7rkf0lcbcb15pnabixlyzj";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/unidiff/default.nix b/pkgs/development/python-modules/unidiff/default.nix
new file mode 100644
index 00000000000..81e9019f489
--- /dev/null
+++ b/pkgs/development/python-modules/unidiff/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  pname = "unidiff";
+  version = "0.5.5";
+
+  # PyPI tarball doesn't ship tests
+  src = fetchFromGitHub {
+    owner = "matiasb";
+    repo = "python-unidiff";
+    rev = "v${version}";
+    sha256 = "1nvi7s1nn5p7j6aql1nkn2kiadnfby98yla5m3jq8xwsx0aplwdm";
+  };
+
+  meta = with lib; {
+    description = "Unified diff python parsing/metadata extraction library";
+    homepage = https://github.com/matiasb/python-unidiff;
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/python-modules/update-copyright/default.nix b/pkgs/development/python-modules/update-copyright/default.nix
new file mode 100644
index 00000000000..9ff1137fb56
--- /dev/null
+++ b/pkgs/development/python-modules/update-copyright/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "update-copyright";
+  version = "0.6.2";
+
+  disabled = !isPy3k;
+
+  # Has no tests
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17ybdgbdc62yqhda4kfy1vcs1yzp78d91qfhj5zbvz1afvmvdk7z";
+  };
+
+  meta = with lib; {
+    description = "An automatic copyright update tool";
+    homepage = http://blog.tremily.us/posts/update-copyright;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/x256/default.nix b/pkgs/development/python-modules/x256/default.nix
new file mode 100644
index 00000000000..55a3ad7d0cc
--- /dev/null
+++ b/pkgs/development/python-modules/x256/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "x256";
+  version = "0.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00g02b9a6jsl377xb5fmxvkjff3lalw21n430a4zalqyv76dnmgq";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Find the nearest xterm 256 color index for an RGB";
+    homepage = https://github.com/magarcia/python-x256;
+    license = licenses.mit;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/zc_lockfile/default.nix b/pkgs/development/python-modules/zc_lockfile/default.nix
index c51f5ebf049..110b7000e73 100644
--- a/pkgs/development/python-modules/zc_lockfile/default.nix
+++ b/pkgs/development/python-modules/zc_lockfile/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "zc.lockfile";
-  version = "1.3.0";
+  version = "1.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "96cb13769e042988ea25d23d44cf09342ea0f887083d0f9736968f3617665853";
+    sha256 = "0lrj2zdr06sff7i151710jbbnnhx4phdc0qpns8jkarpd62f7a4m";
   };
 
   buildInputs = [ mock ];
diff --git a/pkgs/development/tools/build-managers/tup/default.nix b/pkgs/development/tools/build-managers/tup/default.nix
index fd27d927bd5..19256e39c33 100644
--- a/pkgs/development/tools/build-managers/tup/default.nix
+++ b/pkgs/development/tools/build-managers/tup/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchFromGitHub, fuse, pkgconfig }:
+{ stdenv, fetchFromGitHub, fuse, pkgconfig, pcre }:
 
 stdenv.mkDerivation rec {
   name = "tup-${version}";
-  version = "0.7.5";
+  version = "0.7.8";
 
   src = fetchFromGitHub {
     owner = "gittup";
     repo = "tup";
     rev = "v${version}";
-    sha256 = "0jzp1llq6635ldb7j9qb29j2k0x5mblimdqg3179dvva1hv0ia23";
+    sha256 = "07dmz712zbs5kayf98kywp7blssgh0y2gc1623jbsynmqwi77mcb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ fuse ];
+  buildInputs = [ fuse pcre ];
 
   configurePhase = ''
-    sed -i 's/`git describe`/v${version}/g' Tupfile
+    sed -i 's/`git describe`/v${version}/g' src/tup/link.sh
+    sed -i 's/pcre-confg/pkg-config pcre/g' Tupfile Tuprules.tup
   '';
 
   # Regular tup builds require fusermount to have suid, which nix cannot
@@ -23,6 +24,7 @@ stdenv.mkDerivation rec {
   # generate' instead
   buildPhase = ''
     ./build.sh
+    ./build/tup init
     ./build/tup generate script.sh
     ./script.sh
   '';
diff --git a/pkgs/development/tools/detect-secrets/default.nix b/pkgs/development/tools/detect-secrets/default.nix
new file mode 100644
index 00000000000..c341e2eb710
--- /dev/null
+++ b/pkgs/development/tools/detect-secrets/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildPythonApplication, fetchFromGitHub, isPy27, pyyaml, unidiff, configparser, enum34, future, functools32, mock, pytest }:
+
+buildPythonApplication rec {
+  pname = "detect-secrets";
+  version = "0.11.0";
+
+  # PyPI tarball doesn't ship tests
+  src = fetchFromGitHub {
+    owner = "Yelp";
+    repo = "detect-secrets";
+    rev = "v${version}";
+    sha256 = "11r11q6d8aajqqnhhz4lsa93qf1x745331kl9jd3z4y4w91l4gdz";
+  };
+
+  propagatedBuildInputs = [ pyyaml unidiff ]
+    ++ lib.optionals isPy27 [ configparser enum34 future functools32 ];
+
+  checkInputs = [ mock pytest ];
+
+  # deselect tests which require git setup
+  checkPhase = ''
+    PYTHONPATH=$PWD:$PYTHONPATH pytest \
+      --deselect tests/main_test.py::TestMain \
+      --deselect tests/pre_commit_hook_test.py::TestPreCommitHook \
+      --deselect tests/core/baseline_test.py::TestInitializeBaseline
+  '';
+
+  meta = with lib; {
+    description = "An enterprise friendly way of detecting and preventing secrets in code";
+    homepage = https://github.com/Yelp/detect-secrets;
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index be852066bfc..6acc977247c 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -4,8 +4,8 @@ buildGoPackage rec {
   name = "doctl-${version}";
   version = "${major}.${minor}.${patch}";
   major = "1";
-  minor = "8";
-  patch = "0";
+  minor = "12";
+  patch = "2";
   goPackagePath = "github.com/digitalocean/doctl";
 
   excludedPackages = ''\(doctl-gen-doc\|install-doctl\|release-doctl\)'';
@@ -21,7 +21,7 @@ buildGoPackage rec {
     owner = "digitalocean";
     repo   = "doctl";
     rev    = "v${version}";
-    sha256 = "1h94qagbni8cvzdparmgx3m9qcnbwbk0kjlvy9jzxfd3vcpbg38j";
+    sha256 = "01li9ywzvmzmhqgk9a5li2wkqmdn7jl8pqz2rn7dnay4fr2259fv";
   };
 
   meta = {
diff --git a/pkgs/development/tools/elm2nix/default.nix b/pkgs/development/tools/elm2nix/default.nix
new file mode 100644
index 00000000000..2d4ebc37b0c
--- /dev/null
+++ b/pkgs/development/tools/elm2nix/default.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, aeson, ansi-wl-pprint, async, base, binary
+, bytestring, containers, data-default, directory, filepath, here
+, mtl, optparse-applicative, process, req, stdenv, text
+, transformers, unordered-containers
+}:
+mkDerivation {
+  pname = "elm2nix";
+  version = "0.1.0";
+  sha256 = "9ec1f1f694a38b466ebd03aaa1a035bbdb9bdae390be5b9a030611bcbfd91890";
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson async base binary bytestring containers data-default
+    directory filepath here mtl process req text transformers
+    unordered-containers
+  ];
+  executableHaskellDepends = [
+    ansi-wl-pprint base directory here optparse-applicative
+  ];
+  testHaskellDepends = [ base ];
+  homepage = "https://github.com/domenkozar/elm2nix#readme";
+  description = "Turn your Elm project into buildable Nix project";
+  license = stdenv.lib.licenses.bsd3;
+}
diff --git a/pkgs/development/tools/misc/lit/default.nix b/pkgs/development/tools/misc/lit/default.nix
index 60f256c2dda..9784308b010 100644
--- a/pkgs/development/tools/misc/lit/default.nix
+++ b/pkgs/development/tools/misc/lit/default.nix
@@ -2,11 +2,11 @@
 
 python2.pkgs.buildPythonApplication rec {
   pname = "lit";
-  version = "0.6.0";
+  version = "0.7.1";
 
   src = python2.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1png3jgbhrw8a602gy6rnzvjcrj8w2p2kk6szdg9lz42zr090lgb";
+    sha256 = "ecef2833aef7f411cb923dac109c7c9dcc7dbe7cafce0650c1e8d19c243d955f";
   };
 
   # Non-standard test suite. Needs custom checkPhase.
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index e2022156870..4b6dc50a931 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "strace-${version}";
-  version = "4.25";
+  version = "4.26";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${name}.tar.xz";
-    sha256 = "00f7zagfh3np5gwi0z7hi7zjd7s5nixcaq7z78n87dvhakkgi1fn";
+    sha256 = "070yz8xii8gnb4psiz628zwm5srh266sfb06f7f1qzagxzz2ykbw";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://strace.io/;
     description = "A system call tracer for Linux";
-    license = licenses.bsd3;
+    license =  with licenses; [ lgpl21Plus gpl2Plus ]; # gpl2Plus is for the test suite
     platforms = platforms.linux;
     maintainers = with maintainers; [ jgeerds globin ];
   };
diff --git a/pkgs/development/tools/solarus-quest-editor/default.nix b/pkgs/development/tools/solarus-quest-editor/default.nix
index 5a340d30949..991edf9b568 100644
--- a/pkgs/development/tools/solarus-quest-editor/default.nix
+++ b/pkgs/development/tools/solarus-quest-editor/default.nix
@@ -1,36 +1,23 @@
 { stdenv, fetchFromGitLab, cmake, luajit,
   SDL2, SDL2_image, SDL2_ttf, physfs,
   openal, libmodplug, libvorbis, solarus,
-  qtbase, qttools, fetchpatch }:
+  qtbase, qttools, fetchpatch, glm }:
 
 stdenv.mkDerivation rec {
   name = "solarus-quest-editor-${version}";
-  version = "1.5.3";
+  version = "1.6.0";
     
   src = fetchFromGitLab {
     owner = "solarus-games";
     repo = "solarus-quest-editor";
-    rev = "v1.5.3";
-    sha256 = "1b9mg04yy4pnrl745hbc82rz79k0f8ci3wv7gvsm3a998q8m98si";
+    rev = "v${version}";
+    sha256 = "1a7816kaljfh9ynzy9g36mqzzv2p800nnbrja73q6vjfrsv3vq4c";
   };
   
   buildInputs = [ cmake luajit SDL2
     SDL2_image SDL2_ttf physfs
     openal libmodplug libvorbis
-    solarus qtbase qttools ];
-    
-  patches = [
-    ./patches/fix-install.patch
-
-    # Next two patches should be fine to remove for next release.
-    # This commit fixes issues AND adds features *sighs*
-    ./patches/partial-f285beab62594f73e57190c49848c848487214cf.patch
-
-    (fetchpatch {
-      url = https://gitlab.com/solarus-games/solarus-quest-editor/commit/8f308463030c18cd4f7c8a6052028fff3b7ca35a.patch;
-      sha256 = "1jq48ghhznrp47q9lq2rhh48a1z4aylyy4qaniaqyfyq3vihrchr";
-    })
-  ];
+    solarus qtbase qttools glm ];
 
   meta = with stdenv.lib; {
     description = "The editor for the Zelda-like ARPG game engine, Solarus";
diff --git a/pkgs/development/tools/solarus-quest-editor/patches/fix-install.patch b/pkgs/development/tools/solarus-quest-editor/patches/fix-install.patch
deleted file mode 100644
index 98c26c1a706..00000000000
--- a/pkgs/development/tools/solarus-quest-editor/patches/fix-install.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-# Description Fix CMakeLists.txt to install binaries. Fixed in 1.5 upstream.
-# Author "Nathan R. Moore <natedevv@gmail.com>"
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -359,6 +359,11 @@
-   "${MODPLUG_LIBRARY}"
- )
- 
-+# Set files to install
-+install(TARGETS solarus-quest-editor
-+    RUNTIME DESTINATION bin
-+)
-+
- # Platform specific.
- 
- # Windows: disable the console.
diff --git a/pkgs/development/tools/solarus-quest-editor/patches/partial-f285beab62594f73e57190c49848c848487214cf.patch b/pkgs/development/tools/solarus-quest-editor/patches/partial-f285beab62594f73e57190c49848c848487214cf.patch
deleted file mode 100644
index 73e817fcfbe..00000000000
--- a/pkgs/development/tools/solarus-quest-editor/patches/partial-f285beab62594f73e57190c49848c848487214cf.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f285beab62594f73e57190c49848c848487214cf Mon Sep 17 00:00:00 2001
-From: stdgregwar <gregoirehirt@gmail.com>
-Date: Sun, 1 Jul 2018 00:00:41 +0200
-Subject: [PATCH] Shader previewer base
-
-
-diff --git a/include/widgets/tileset_view.h b/include/widgets/tileset_view.h
-index 615f432..799a4c6 100644
---- a/include/widgets/tileset_view.h
-+++ b/include/widgets/tileset_view.h
-@@ -23,6 +23,7 @@
- #include "pattern_separation.h"
- #include <QGraphicsView>
- #include <QPointer>
-+#include <QMenu>
- 
- class QAction;
- 
-diff --git a/src/widgets/text_editor.cpp b/src/widgets/text_editor.cpp
-index 4f2ff68..90080a9 100644
---- a/src/widgets/text_editor.cpp
-+++ b/src/widgets/text_editor.cpp
-@@ -26,6 +26,7 @@
- #include <QList>
- #include <QPlainTextEdit>
- #include <QScrollBar>
-+#include <QAction>
- #include <QTextStream>
- #include <QUndoStack>
- 
--- 
-2.18.0
-
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index e5c52f620ac..8ff02dfe718 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -12,12 +12,16 @@ with stdenv.lib;
 { enableNpm ? true, version, sha256, patches ? [] } @args:
 
 let
-
   inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
 
+  majorVersion = versions.major version;
+  minorVersion = versions.minor version;
+
   baseName = if enableNpm then "nodejs" else "nodejs-slim";
 
-  sharedLibDeps = { inherit openssl zlib libuv; } // (optionalAttrs (!stdenv.isDarwin) { inherit http-parser; });
+  useSharedHttpParser = !stdenv.isDarwin && versionOlder "${majorVersion}.${minorVersion}" "11.4";
+
+  sharedLibDeps = { inherit openssl zlib libuv; } // (optionalAttrs useSharedHttpParser { inherit http-parser; });
 
   sharedConfigureFlags = concatMap (name: [
     "--shared-${name}"
@@ -102,7 +106,7 @@ in
     passthru.updateScript = import ./update.nix {
       inherit stdenv writeScript coreutils gnugrep jq curl common-updater-scripts gnupg nix;
       inherit (stdenv) lib;
-      majorVersion = with stdenv.lib; elemAt (splitString "." version) 0;
+      inherit majorVersion;
     };
 
     meta = {
diff --git a/pkgs/development/web/nodejs/v11.nix b/pkgs/development/web/nodejs/v11.nix
new file mode 100644
index 00000000000..b5ff17a67a1
--- /dev/null
+++ b/pkgs/development/web/nodejs/v11.nix
@@ -0,0 +1,10 @@
+{ stdenv, callPackage, lib, openssl, enableNpm ? true }:
+
+let
+  buildNodejs = callPackage ./nodejs.nix { inherit openssl; };
+in
+  buildNodejs {
+    inherit enableNpm;
+    version = "11.5.0";
+    sha256 = "07fdpl8wzkcdd8iyaiwf2ah1rgishk2hrl0g73i8aggwplrl69fx";
+  }
diff --git a/pkgs/development/web/nodejs/v6.nix b/pkgs/development/web/nodejs/v6.nix
index 7250613e862..c15e4b39a0d 100644
--- a/pkgs/development/web/nodejs/v6.nix
+++ b/pkgs/development/web/nodejs/v6.nix
@@ -5,6 +5,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "6.14.4";
-    sha256 = "03zc6jhid6jyi871zlcrkjqffmrpxh01z2xfsl3xp2vzg2czqjws";
+    version = "6.15.1";
+    sha256 = "1hi9h54ni7m1lmhfqvwxdny969j31mixxlxsiyl00l2bj25fbgf3";
   }
diff --git a/pkgs/development/web/nodejs/v8.nix b/pkgs/development/web/nodejs/v8.nix
index 4e6ba7945ec..64ee5d504be 100644
--- a/pkgs/development/web/nodejs/v8.nix
+++ b/pkgs/development/web/nodejs/v8.nix
@@ -5,6 +5,6 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "8.12.0";
-    sha256 = "16j1rrxkhmvpcw689ndw1raql1gz4jqn7n82z55zn63c05cgz7as";
+    version = "8.14.1";
+    sha256 = "16vb5baw6nk71n7jfbyd9x8qi0kbkzv2bw1rczy7dyyz7n08gpxi";
   }
diff --git a/pkgs/games/crispy-doom/default.nix b/pkgs/games/crispy-doom/default.nix
index 6b6aad25141..730c7f764cc 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.3";
+  name = "crispy-doom-5.4";
   src = fetchurl {
     url = "https://github.com/fabiangreffrath/crispy-doom/archive/${name}.tar.gz";
-    sha256 = "1d6pha540rwmnari2yys6bhfhm21aaz7n4p1341n8w14vagwv3ik";
+    sha256 = "0kks7vzp6cwmfv2s39z09vl9w897i8xijg1s8lfbg17viq8azb3x";
   };
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ SDL2 SDL2_mixer SDL2_net ];
diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix
index 0d0cb8a11fd..8b92c2e9d6f 100644
--- a/pkgs/games/dhewm3/default.nix
+++ b/pkgs/games/dhewm3/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "dhewm3-${version}";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "dhewm";
     repo = "dhewm3";
     rev = version;
-    sha256 = "1s64xr1ir4d2z01fhldy577b0x80nd1k6my7y1hxp57lggr8dy5y";
+    sha256 = "0wsabvh1x4g12xmhzs2m2pgri2q9sir1w3m2r7fpy6kzxp32hqdk";
   };
 
   # Add libGLU_combined linking
diff --git a/pkgs/games/solarus/default.nix b/pkgs/games/solarus/default.nix
index 23abadf66ae..1049b10d0b1 100644
--- a/pkgs/games/solarus/default.nix
+++ b/pkgs/games/solarus/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "solarus-${version}";
-  version = "1.5.3";
+  version = "1.6.0";
 
   src = fetchFromGitLab {
     owner = "solarus-games";
     repo = "solarus";
-    rev = "v1.5.3";
-    sha256 = "035hkdw3a1ryasj5wfa1xla1xmpnc3hjp4s20sl9ywip41675vaz";
+    rev = "v1.6.0";
+    sha256 = "0mlpa1ijaxy84f7xjgs2kjnpm035b8q9ckva6lg14q49gzy10fr2";
   };
 
   buildInputs = [ cmake luajit SDL2
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 68176ff427e..b720bf142d4 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -20,13 +20,13 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "dolphin-emu-${version}";
-  version = "2018-09-24";
+  version = "2018-12-25";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "97b1a9bb2a0c29f0f68963483156d5285e1fb1d5";
-    sha256 = "0dwc4l7a7r1f65gh1rhxa854xsknrgp62rr3a0y67lk3xf5y38d7";
+    rev = "ca2a2c98f252d21dc609d26f4264a43ed091b8fe";
+    sha256 = "0903hp7fkh08ggjx8zrsvwhh1x8bprv3lh2d8yci09al1cqqj5cb";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/misc/frescobaldi/default.nix b/pkgs/misc/frescobaldi/default.nix
index af4c54d9d0d..2b38ed57c28 100644
--- a/pkgs/misc/frescobaldi/default.nix
+++ b/pkgs/misc/frescobaldi/default.nix
@@ -11,7 +11,10 @@ python3Packages.buildPythonApplication rec {
     sha256 = "1yn18pwsjxpxz5j3yfysmaif8k0vqahj5c7ays9cxsylpg9hl7jd";
   };
 
-  propagatedBuildInputs = with python3Packages; [ lilypond pygame python-ly poppler-qt5 ];
+  propagatedBuildInputs = with python3Packages; [
+    lilypond pygame python-ly sip
+    pyqt5_with_qtwebkit (poppler-qt5.override { pyqt5 = pyqt5_with_qtwebkit; })
+  ];
 
   # no tests in shipped with upstream
   doCheck = false;
diff --git a/pkgs/misc/vim-plugins/build-vim-plugin.nix b/pkgs/misc/vim-plugins/build-vim-plugin.nix
new file mode 100644
index 00000000000..fe60ad21c75
--- /dev/null
+++ b/pkgs/misc/vim-plugins/build-vim-plugin.nix
@@ -0,0 +1,60 @@
+{ stdenv
+, rtpPath ? "share/vim-plugins"
+, vim
+}:
+
+rec {
+  addRtp = path: attrs: derivation:
+    derivation // { rtp = "${derivation}/${path}"; } // {
+      overrideAttrs = f: buildVimPlugin (attrs // f attrs);
+    };
+
+  buildVimPlugin = attrs@{
+    name ? "${attrs.pname}-${attrs.version}",
+    namePrefix ? "vimplugin-",
+    src,
+    unpackPhase ? "",
+    configurePhase ? "",
+    buildPhase ? "",
+    preInstall ? "",
+    postInstall ? "",
+    path ? (builtins.parseDrvName name).name,
+    addonInfo ? null,
+    ...
+  }:
+    addRtp "${rtpPath}/${path}" attrs (stdenv.mkDerivation (attrs // {
+      name = namePrefix + name;
+
+      inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
+
+      installPhase = ''
+        runHook preInstall
+
+        target=$out/${rtpPath}/${path}
+        mkdir -p $out/${rtpPath}
+        cp -r . $target
+
+        # build help tags
+        if [ -d "$target/doc" ]; then
+          echo "Building help tags"
+          if ! ${vim}/bin/vim -N -u NONE -i NONE -n -E -s -c "helptags $target/doc" +quit!; then
+            echo "Failed to build help tags!"
+            exit 1
+          fi
+        else
+          echo "No docs available"
+        fi
+
+        if [ -n "$addonInfo" ]; then
+          echo "$addonInfo" > $target/addon-info.json
+        fi
+
+        runHook postInstall
+      '';
+    }));
+
+  buildVimPluginFrom2Nix = attrs: buildVimPlugin ({
+    buildPhase = ":";
+    configurePhase =":";
+  } // attrs);
+}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index f5053c2ec6e..b30413ac79c 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -5,8 +5,8 @@ let
 
   inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix;
 
-  generated = callPackage ./generated.nix {
-    inherit buildVimPluginFrom2Nix;
+  plugins = callPackage ./generated.nix {
+    inherit buildVimPluginFrom2Nix overrides;
   };
 
   # TL;DR
@@ -22,10 +22,8 @@ let
     inherit llvmPackages;
   };
 
-  overriden = generated // (overrides generated);
-
-  aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib overriden);
+  aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib plugins);
 
 in
 
-overriden // aliases
+plugins // aliases
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index ebb8f1868ff..b8573a9367a 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -1,9 +1,12 @@
 # This file has been generated by ./pkgs/misc/vim-plugins/update.py. Do not edit!
-{ buildVimPluginFrom2Nix, fetchFromGitHub }:
+{ lib, buildVimPluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }:
 
+let
+  packages = ( self:
 {
   a-vim = buildVimPluginFrom2Nix {
-    name = "a-vim-2010-11-06";
+    pname = "a-vim";
+    version = "2010-11-06";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "a.vim";
@@ -13,7 +16,8 @@
   };
 
   ack-vim = buildVimPluginFrom2Nix {
-    name = "ack-vim-2018-02-27";
+    pname = "ack-vim";
+    version = "2018-02-27";
     src = fetchFromGitHub {
       owner = "mileszs";
       repo = "ack.vim";
@@ -23,7 +27,8 @@
   };
 
   acp = buildVimPluginFrom2Nix {
-    name = "acp-2013-02-05";
+    pname = "acp";
+    version = "2013-02-05";
     src = fetchFromGitHub {
       owner = "eikenb";
       repo = "acp";
@@ -33,7 +38,8 @@
   };
 
   agda-vim = buildVimPluginFrom2Nix {
-    name = "agda-vim-2018-11-10";
+    pname = "agda-vim";
+    version = "2018-11-10";
     src = fetchFromGitHub {
       owner = "derekelkins";
       repo = "agda-vim";
@@ -43,7 +49,8 @@
   };
 
   alchemist-vim = buildVimPluginFrom2Nix {
-    name = "alchemist-vim-2018-12-07";
+    pname = "alchemist-vim";
+    version = "2018-12-07";
     src = fetchFromGitHub {
       owner = "slashmili";
       repo = "alchemist.vim";
@@ -53,17 +60,19 @@
   };
 
   ale = buildVimPluginFrom2Nix {
-    name = "ale-2018-12-10";
+    pname = "ale";
+    version = "2018-12-20";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "2cfa09e02d65cd06649fb1ae5f988b7a110a124d";
-      sha256 = "0sbbm6wwdwqbkfxkwbiijnsazdarmr6ahs2ha58s780fhkhvf2lp";
+      rev = "73ca1e71918a0b50b7bbcbed91857c3618ad93cc";
+      sha256 = "0q2wmpprr6mva6k7d8280cpf8ia6g7fbzw309fb0291y7241v5j1";
     };
   };
 
   align = buildVimPluginFrom2Nix {
-    name = "align-2012-08-08";
+    pname = "align";
+    version = "2012-08-08";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "align";
@@ -73,7 +82,8 @@
   };
 
   argtextobj-vim = buildVimPluginFrom2Nix {
-    name = "argtextobj-vim-2010-10-18";
+    pname = "argtextobj-vim";
+    version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "argtextobj.vim";
@@ -83,7 +93,8 @@
   };
 
   auto-pairs = buildVimPluginFrom2Nix {
-    name = "auto-pairs-2018-09-23";
+    pname = "auto-pairs";
+    version = "2018-09-23";
     src = fetchFromGitHub {
       owner = "jiangmiao";
       repo = "auto-pairs";
@@ -93,7 +104,8 @@
   };
 
   autoload_cscope-vim = buildVimPluginFrom2Nix {
-    name = "autoload_cscope-vim-2011-01-28";
+    pname = "autoload_cscope-vim";
+    version = "2011-01-28";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "autoload_cscope.vim";
@@ -103,17 +115,19 @@
   };
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
-    name = "awesome-vim-colorschemes-2018-10-30";
+    pname = "awesome-vim-colorschemes";
+    version = "2018-12-16";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "21d1c93da95d58bead99f3226f9447f5b035afe1";
-      sha256 = "1niwwyxgq7k7mbi05lnpz12lbmn9mam9x4qvzxcbvxsqqp2zzsj8";
+      rev = "680930f34bf5d4007dbaee66aba2dd688cbb3098";
+      sha256 = "0jk4fm2ivf6r91yra7ddyxfbh2swf315zvmrm5ym605xcsiwv0nw";
     };
   };
 
   base16-vim = buildVimPluginFrom2Nix {
-    name = "base16-vim-2018-11-30";
+    pname = "base16-vim";
+    version = "2018-11-30";
     src = fetchFromGitHub {
       owner = "chriskempson";
       repo = "base16-vim";
@@ -123,7 +137,8 @@
   };
 
   bats-vim = buildVimPluginFrom2Nix {
-    name = "bats-vim-2013-07-03";
+    pname = "bats-vim";
+    version = "2013-07-03";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "bats.vim";
@@ -133,7 +148,8 @@
   };
 
   calendar-vim = buildVimPluginFrom2Nix {
-    name = "calendar-vim-2018-11-02";
+    pname = "calendar-vim";
+    version = "2018-11-02";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "calendar.vim";
@@ -143,17 +159,19 @@
   };
 
   caw-vim = buildVimPluginFrom2Nix {
-    name = "caw-vim-2018-11-07";
+    pname = "caw-vim";
+    version = "2018-12-25";
     src = fetchFromGitHub {
       owner = "tyru";
       repo = "caw.vim";
-      rev = "e186d64b6f5f8c39c15eb07f0e2798ce05d25fe3";
-      sha256 = "1wakgc5q2yj1gymn18ri660rwdwvrb1j5d6j8mr189gnhkr9isk4";
+      rev = "98805a60aef339e55e5b917fdb9f69c74e8d8340";
+      sha256 = "0nn3dg3lnbnfwgvxpjbalw9ff876798jrzlkrnzqkvrwxv6k7ks5";
     };
   };
 
   changeColorScheme-vim = buildVimPluginFrom2Nix {
-    name = "changeColorScheme-vim-2010-10-18";
+    pname = "changeColorScheme-vim";
+    version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "changeColorScheme.vim";
@@ -163,7 +181,8 @@
   };
 
   CheckAttach = buildVimPluginFrom2Nix {
-    name = "CheckAttach-2018-09-02";
+    pname = "CheckAttach";
+    version = "2018-09-02";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "CheckAttach";
@@ -173,7 +192,8 @@
   };
 
   clang_complete = buildVimPluginFrom2Nix {
-    name = "clang_complete-2018-09-19";
+    pname = "clang_complete";
+    version = "2018-09-19";
     src = fetchFromGitHub {
       owner = "Rip-Rip";
       repo = "clang_complete";
@@ -183,7 +203,8 @@
   };
 
   clighter8 = buildVimPluginFrom2Nix {
-    name = "clighter8-2018-07-25";
+    pname = "clighter8";
+    version = "2018-07-25";
     src = fetchFromGitHub {
       owner = "bbchung";
       repo = "clighter8";
@@ -193,7 +214,8 @@
   };
 
   Colour-Sampler-Pack = buildVimPluginFrom2Nix {
-    name = "Colour-Sampler-Pack-2012-11-30";
+    pname = "Colour-Sampler-Pack";
+    version = "2012-11-30";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "Colour-Sampler-Pack";
@@ -203,7 +225,8 @@
   };
 
   command-t = buildVimPluginFrom2Nix {
-    name = "command-t-2018-09-19";
+    pname = "command-t";
+    version = "2018-09-19";
     src = fetchFromGitHub {
       owner = "wincent";
       repo = "command-t";
@@ -214,7 +237,8 @@
   };
 
   committia-vim = buildVimPluginFrom2Nix {
-    name = "committia-vim-2018-10-23";
+    pname = "committia-vim";
+    version = "2018-10-23";
     src = fetchFromGitHub {
       owner = "rhysd";
       repo = "committia.vim";
@@ -224,7 +248,8 @@
   };
 
   concealedyank-vim = buildVimPluginFrom2Nix {
-    name = "concealedyank-vim-2013-03-24";
+    pname = "concealedyank-vim";
+    version = "2013-03-24";
     src = fetchFromGitHub {
       owner = "chikatoike";
       repo = "concealedyank.vim";
@@ -234,7 +259,8 @@
   };
 
   context_filetype-vim = buildVimPluginFrom2Nix {
-    name = "context_filetype-vim-2018-08-30";
+    pname = "context_filetype-vim";
+    version = "2018-08-30";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "context_filetype.vim";
@@ -244,7 +270,8 @@
   };
 
   cosco-vim = buildVimPluginFrom2Nix {
-    name = "cosco-vim-2018-08-07";
+    pname = "cosco-vim";
+    version = "2018-08-07";
     src = fetchFromGitHub {
       owner = "lfilho";
       repo = "cosco.vim";
@@ -254,7 +281,8 @@
   };
 
   cpsm = buildVimPluginFrom2Nix {
-    name = "cpsm-2018-09-08";
+    pname = "cpsm";
+    version = "2018-09-08";
     src = fetchFromGitHub {
       owner = "nixprime";
       repo = "cpsm";
@@ -264,7 +292,8 @@
   };
 
   csapprox = buildVimPluginFrom2Nix {
-    name = "csapprox-2013-07-27";
+    pname = "csapprox";
+    version = "2013-07-27";
     src = fetchFromGitHub {
       owner = "godlygeek";
       repo = "csapprox";
@@ -274,7 +303,8 @@
   };
 
   csv-vim = buildVimPluginFrom2Nix {
-    name = "csv-vim-2018-10-04";
+    pname = "csv-vim";
+    version = "2018-10-04";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "csv.vim";
@@ -284,7 +314,8 @@
   };
 
   ctrlp-cmatcher = buildVimPluginFrom2Nix {
-    name = "ctrlp-cmatcher-2015-10-15";
+    pname = "ctrlp-cmatcher";
+    version = "2015-10-15";
     src = fetchFromGitHub {
       owner = "JazzCore";
       repo = "ctrlp-cmatcher";
@@ -294,7 +325,8 @@
   };
 
   ctrlp-py-matcher = buildVimPluginFrom2Nix {
-    name = "ctrlp-py-matcher-2017-11-01";
+    pname = "ctrlp-py-matcher";
+    version = "2017-11-01";
     src = fetchFromGitHub {
       owner = "FelikZ";
       repo = "ctrlp-py-matcher";
@@ -304,7 +336,8 @@
   };
 
   ctrlp-z = buildVimPluginFrom2Nix {
-    name = "ctrlp-z-2015-10-17";
+    pname = "ctrlp-z";
+    version = "2015-10-17";
     src = fetchFromGitHub {
       owner = "amiorin";
       repo = "ctrlp-z";
@@ -314,7 +347,8 @@
   };
 
   ctrlp-vim = buildVimPluginFrom2Nix {
-    name = "ctrlp-vim-2018-11-22";
+    pname = "ctrlp-vim";
+    version = "2018-11-22";
     src = fetchFromGitHub {
       owner = "ctrlpvim";
       repo = "ctrlp.vim";
@@ -324,7 +358,8 @@
   };
 
   denite-extra = buildVimPluginFrom2Nix {
-    name = "denite-extra-2018-09-20";
+    pname = "denite-extra";
+    version = "2018-09-20";
     src = fetchFromGitHub {
       owner = "chemzqm";
       repo = "denite-extra";
@@ -334,7 +369,8 @@
   };
 
   denite-git = buildVimPluginFrom2Nix {
-    name = "denite-git-2018-07-19";
+    pname = "denite-git";
+    version = "2018-07-19";
     src = fetchFromGitHub {
       owner = "chemzqm";
       repo = "denite-git";
@@ -344,38 +380,42 @@
   };
 
   denite-nvim = buildVimPluginFrom2Nix {
-    name = "denite-nvim-2018-12-11";
+    pname = "denite-nvim";
+    version = "2018-12-24";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "cb1daf74c51b1670ee3914c95f85ba3852525e17";
-      sha256 = "02m77q14s4y12r300ndml6nc8xwb8q15838l47j9bh1h8sz5b7al";
+      rev = "f20cd55d249712dd4d5ab7c2b9d8b7f0005c6290";
+      sha256 = "0g31p4n1hvl0vxn7gczbkfs6bvfhabmyfggcc5sfsd27chf49q43";
     };
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
-    name = "deol-nvim-2018-10-12";
+    pname = "deol-nvim";
+    version = "2018-12-25";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "04a5295ebad2df1a2141b85dc0b78cc51ea86fb4";
-      sha256 = "1v5qip8kzrsq8qmmjrvhm15d9wrn48iz2s62qddcgvc0sdzk1y64";
+      rev = "04afcdd5f63153fe14795d1141fae1eb2bb5be42";
+      sha256 = "1pqxscisx2rymn13z7k988n5bskbi00g3hsy711bnjnazq1wdzib";
     };
   };
 
   deoplete-clang = buildVimPluginFrom2Nix {
-    name = "deoplete-clang-2018-07-01";
+    pname = "deoplete-clang";
+    version = "2018-12-24";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-clang";
-      rev = "3c4f14127b363ba9eac43d3506a563e2c8da0f97";
-      sha256 = "1qi8flm0pbxw19fwj8nh4wpcmmzpwlqy5pmn4cmhn6j7b5vsm32i";
+      rev = "3353ddfb956841c4d0e5a43db5184504a62c066f";
+      sha256 = "07qhv2lqx4k27fhd4zhxpg0l9s8r83q5147sfh9knpbyawg5hw3i";
       fetchSubmodules = true;
     };
   };
 
   deoplete-go = buildVimPluginFrom2Nix {
-    name = "deoplete-go-2018-11-23";
+    pname = "deoplete-go";
+    version = "2018-11-23";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-go";
@@ -386,18 +426,20 @@
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix {
-    name = "deoplete-jedi-2018-12-03";
+    pname = "deoplete-jedi";
+    version = "2018-12-24";
     src = fetchFromGitHub {
       owner = "zchee";
       repo = "deoplete-jedi";
-      rev = "583ee29a0a0fe6206f3f106b8866ff2b663fde74";
-      sha256 = "0lbiwk6fc1z9i3sx4y62gsl3yr8pzv09s4wwxq1k8cziddbiypig";
+      rev = "73c11875fbfaabf6c0b455596cb3f9dfe5d86595";
+      sha256 = "0xaa56d4scihzz2cwg9zqkv36jwpivnska936z9wq0fpr253yzxc";
       fetchSubmodules = true;
     };
   };
 
   deoplete-julia = buildVimPluginFrom2Nix {
-    name = "deoplete-julia-2018-06-11";
+    pname = "deoplete-julia";
+    version = "2018-06-11";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "deoplete-julia";
@@ -407,7 +449,8 @@
   };
 
   deoplete-rust = buildVimPluginFrom2Nix {
-    name = "deoplete-rust-2017-07-18";
+    pname = "deoplete-rust";
+    version = "2017-07-18";
     src = fetchFromGitHub {
       owner = "sebastianmarkow";
       repo = "deoplete-rust";
@@ -417,7 +460,8 @@
   };
 
   deoplete-ternjs = buildVimPluginFrom2Nix {
-    name = "deoplete-ternjs-2018-11-29";
+    pname = "deoplete-ternjs";
+    version = "2018-11-29";
     src = fetchFromGitHub {
       owner = "carlitux";
       repo = "deoplete-ternjs";
@@ -427,27 +471,30 @@
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix {
-    name = "deoplete-nvim-2018-12-11";
+    pname = "deoplete-nvim";
+    version = "2018-12-27";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "04159b053ae83933d67225c53c36d98e516fa729";
-      sha256 = "1d0r7jfs0b2rc1pmavn0yfqqdq9by6cd404a0vfa44ya05zrz115";
+      rev = "dc745e2a97025310c5439d304b5a8486550384bc";
+      sha256 = "1y6ygh3qvcgzxj1kg2lw9mxpa7y3q4cbkhryg771863nxg66wdzs";
     };
   };
 
   dhall-vim = buildVimPluginFrom2Nix {
-    name = "dhall-vim-2018-12-12";
+    pname = "dhall-vim";
+    version = "2018-12-26";
     src = fetchFromGitHub {
       owner = "vmchale";
       repo = "dhall-vim";
-      rev = "ef31cfee6d8c555d44d282e4cec1367512ad7fe9";
-      sha256 = "0r7y614xld5spgpa4c8ms4rm1p8xzsayp91j4jiqhxn6ly6igv7f";
+      rev = "54a0f463d098abf72c76a233a6a3f0f9dd069dfe";
+      sha256 = "0yacjv7kv79yilsyij43m378shzln0qra5c3nc5g2mc2i9hxcial";
     };
   };
 
   direnv-vim = buildVimPluginFrom2Nix {
-    name = "direnv-vim-2018-11-10";
+    pname = "direnv-vim";
+    version = "2018-11-10";
     src = fetchFromGitHub {
       owner = "direnv";
       repo = "direnv.vim";
@@ -457,7 +504,8 @@
   };
 
   echodoc-vim = buildVimPluginFrom2Nix {
-    name = "echodoc-vim-2018-12-09";
+    pname = "echodoc-vim";
+    version = "2018-12-09";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
@@ -467,7 +515,8 @@
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix {
-    name = "editorconfig-vim-2018-11-15";
+    pname = "editorconfig-vim";
+    version = "2018-11-15";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
@@ -478,7 +527,8 @@
   };
 
   elm-vim = buildVimPluginFrom2Nix {
-    name = "elm-vim-2018-11-13";
+    pname = "elm-vim";
+    version = "2018-11-13";
     src = fetchFromGitHub {
       owner = "elmcast";
       repo = "elm-vim";
@@ -488,7 +538,8 @@
   };
 
   emmet-vim = buildVimPluginFrom2Nix {
-    name = "emmet-vim-2018-11-29";
+    pname = "emmet-vim";
+    version = "2018-11-29";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "emmet-vim";
@@ -499,7 +550,8 @@
   };
 
   ensime-vim = buildVimPluginFrom2Nix {
-    name = "ensime-vim-2018-10-10";
+    pname = "ensime-vim";
+    version = "2018-10-10";
     src = fetchFromGitHub {
       owner = "ensime";
       repo = "ensime-vim";
@@ -509,17 +561,19 @@
   };
 
   falcon = buildVimPluginFrom2Nix {
-    name = "falcon-2018-11-30";
+    pname = "falcon";
+    version = "2018-12-21";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "070f2132266d85059f36496ed277527d5b8f00a1";
-      sha256 = "0jzibr1k0l4kbhlg7398fln6rmpwayjbj0hpy4v84gr51pa2di5r";
+      rev = "92489daf912f33c743fb07b170a563aa53a8a0a6";
+      sha256 = "1a3yahjvp98icfv6a6d0z0v70rb9i0580iik2jjbcdmbri5jbnj2";
     };
   };
 
   fastfold = buildVimPluginFrom2Nix {
-    name = "fastfold-2018-09-24";
+    pname = "fastfold";
+    version = "2018-09-24";
     src = fetchFromGitHub {
       owner = "konfekt";
       repo = "fastfold";
@@ -529,17 +583,19 @@
   };
 
   ferret = buildVimPluginFrom2Nix {
-    name = "ferret-2018-12-04";
+    pname = "ferret";
+    version = "2018-12-25";
     src = fetchFromGitHub {
       owner = "wincent";
       repo = "ferret";
-      rev = "fbef13c37f0083ecbcec131c2a8f62079f3cdacb";
-      sha256 = "1ajrwg5fg3myhazsdfprlj50qlw25jk1viy1cny6mzhbvmb80qln";
+      rev = "890a01f85a5ac50ad16f151aacd828b31cbe6889";
+      sha256 = "0882mxa5n1cbvq4vzxnv2d5id3lxbv23anjrilbnkklgk1i5fq47";
     };
   };
 
   flake8-vim = buildVimPluginFrom2Nix {
-    name = "flake8-vim-2017-02-17";
+    pname = "flake8-vim";
+    version = "2017-02-17";
     src = fetchFromGitHub {
       owner = "andviro";
       repo = "flake8-vim";
@@ -550,7 +606,8 @@
   };
 
   floobits-neovim = buildVimPluginFrom2Nix {
-    name = "floobits-neovim-2018-08-01";
+    pname = "floobits-neovim";
+    version = "2018-08-01";
     src = fetchFromGitHub {
       owner = "floobits";
       repo = "floobits-neovim";
@@ -560,7 +617,8 @@
   };
 
   forms = buildVimPluginFrom2Nix {
-    name = "forms-2012-11-28";
+    pname = "forms";
+    version = "2012-11-28";
     src = fetchFromGitHub {
       owner = "megaannum";
       repo = "forms";
@@ -570,7 +628,8 @@
   };
 
   fugitive-gitlab-vim = buildVimPluginFrom2Nix {
-    name = "fugitive-gitlab-vim-2018-07-04";
+    pname = "fugitive-gitlab-vim";
+    version = "2018-07-04";
     src = fetchFromGitHub {
       owner = "shumphrey";
       repo = "fugitive-gitlab.vim";
@@ -580,7 +639,8 @@
   };
 
   fzf-vim = buildVimPluginFrom2Nix {
-    name = "fzf-vim-2018-12-11";
+    pname = "fzf-vim";
+    version = "2018-12-11";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
@@ -590,7 +650,8 @@
   };
 
   ghcmod-vim = buildVimPluginFrom2Nix {
-    name = "ghcmod-vim-2016-06-19";
+    pname = "ghcmod-vim";
+    version = "2016-06-19";
     src = fetchFromGitHub {
       owner = "eagletmt";
       repo = "ghcmod-vim";
@@ -600,7 +661,8 @@
   };
 
   gist-vim = buildVimPluginFrom2Nix {
-    name = "gist-vim-2018-11-09";
+    pname = "gist-vim";
+    version = "2018-11-09";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "gist-vim";
@@ -610,7 +672,8 @@
   };
 
   gitv = buildVimPluginFrom2Nix {
-    name = "gitv-2018-11-24";
+    pname = "gitv";
+    version = "2018-11-24";
     src = fetchFromGitHub {
       owner = "gregsexton";
       repo = "gitv";
@@ -620,7 +683,8 @@
   };
 
   goyo-vim = buildVimPluginFrom2Nix {
-    name = "goyo-vim-2017-05-31";
+    pname = "goyo-vim";
+    version = "2017-05-31";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "goyo.vim";
@@ -630,7 +694,8 @@
   };
 
   gruvbox = buildVimPluginFrom2Nix {
-    name = "gruvbox-2018-02-25";
+    pname = "gruvbox";
+    version = "2018-02-25";
     src = fetchFromGitHub {
       owner = "morhetz";
       repo = "gruvbox";
@@ -640,7 +705,8 @@
   };
 
   gundo-vim = buildVimPluginFrom2Nix {
-    name = "gundo-vim-2017-05-09";
+    pname = "gundo-vim";
+    version = "2017-05-09";
     src = fetchFromGitHub {
       owner = "sjl";
       repo = "gundo.vim";
@@ -650,7 +716,8 @@
   };
 
   haskell-vim = buildVimPluginFrom2Nix {
-    name = "haskell-vim-2018-05-22";
+    pname = "haskell-vim";
+    version = "2018-05-22";
     src = fetchFromGitHub {
       owner = "neovimhaskell";
       repo = "haskell-vim";
@@ -660,7 +727,8 @@
   };
 
   hasksyn = buildVimPluginFrom2Nix {
-    name = "hasksyn-2014-09-04";
+    pname = "hasksyn";
+    version = "2014-09-04";
     src = fetchFromGitHub {
       owner = "travitch";
       repo = "hasksyn";
@@ -670,7 +738,8 @@
   };
 
   hlint-refactor-vim = buildVimPluginFrom2Nix {
-    name = "hlint-refactor-vim-2015-12-05";
+    pname = "hlint-refactor-vim";
+    version = "2015-12-05";
     src = fetchFromGitHub {
       owner = "mpickering";
       repo = "hlint-refactor-vim";
@@ -680,7 +749,8 @@
   };
 
   iceberg-vim = buildVimPluginFrom2Nix {
-    name = "iceberg-vim-2018-10-17";
+    pname = "iceberg-vim";
+    version = "2018-10-17";
     src = fetchFromGitHub {
       owner = "cocopon";
       repo = "iceberg.vim";
@@ -690,7 +760,8 @@
   };
 
   idris-vim = buildVimPluginFrom2Nix {
-    name = "idris-vim-2017-12-04";
+    pname = "idris-vim";
+    version = "2017-12-04";
     src = fetchFromGitHub {
       owner = "idris-hackers";
       repo = "idris-vim";
@@ -700,7 +771,8 @@
   };
 
   Improved-AnsiEsc = buildVimPluginFrom2Nix {
-    name = "Improved-AnsiEsc-2015-08-26";
+    pname = "Improved-AnsiEsc";
+    version = "2015-08-26";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "Improved-AnsiEsc";
@@ -710,7 +782,8 @@
   };
 
   incsearch-easymotion-vim = buildVimPluginFrom2Nix {
-    name = "incsearch-easymotion-vim-2016-01-18";
+    pname = "incsearch-easymotion-vim";
+    version = "2016-01-18";
     src = fetchFromGitHub {
       owner = "haya14busa";
       repo = "incsearch-easymotion.vim";
@@ -720,7 +793,8 @@
   };
 
   incsearch-vim = buildVimPluginFrom2Nix {
-    name = "incsearch-vim-2017-11-24";
+    pname = "incsearch-vim";
+    version = "2017-11-24";
     src = fetchFromGitHub {
       owner = "haya14busa";
       repo = "incsearch.vim";
@@ -730,7 +804,8 @@
   };
 
   intero-neovim = buildVimPluginFrom2Nix {
-    name = "intero-neovim-2018-08-07";
+    pname = "intero-neovim";
+    version = "2018-08-07";
     src = fetchFromGitHub {
       owner = "parsonsmatt";
       repo = "intero-neovim";
@@ -740,7 +815,8 @@
   };
 
   iosvkem = buildVimPluginFrom2Nix {
-    name = "iosvkem-2018-08-26";
+    pname = "iosvkem";
+    version = "2018-08-26";
     src = fetchFromGitHub {
       owner = "neutaaaaan";
       repo = "iosvkem";
@@ -750,7 +826,8 @@
   };
 
   jedi-vim = buildVimPluginFrom2Nix {
-    name = "jedi-vim-2018-12-03";
+    pname = "jedi-vim";
+    version = "2018-12-03";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
@@ -761,7 +838,8 @@
   };
 
   Jenkinsfile-vim-syntax = buildVimPluginFrom2Nix {
-    name = "Jenkinsfile-vim-syntax-2018-11-25";
+    pname = "Jenkinsfile-vim-syntax";
+    version = "2018-11-25";
     src = fetchFromGitHub {
       owner = "martinda";
       repo = "Jenkinsfile-vim-syntax";
@@ -771,17 +849,19 @@
   };
 
   julia-vim = buildVimPluginFrom2Nix {
-    name = "julia-vim-2018-12-11";
+    pname = "julia-vim";
+    version = "2018-12-29";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "b81e1486d0a46b52e73763ee6e6ea1f28a3573d1";
-      sha256 = "0lgjib5rni8rqiv3qkfxj204j6ccqrsnp7d7nij5bhqli3d2hryi";
+      rev = "1c7c08776e4ad0753fe956d170f9a53239a691f5";
+      sha256 = "0nbjfs60vdlzsd2njgb60hn4gbnzbxvmz6c1wfhg27kvn4wwpyfz";
     };
   };
 
   last256 = buildVimPluginFrom2Nix {
-    name = "last256-2017-06-10";
+    pname = "last256";
+    version = "2017-06-10";
     src = fetchFromGitHub {
       owner = "sk1418";
       repo = "last256";
@@ -791,7 +871,8 @@
   };
 
   latex-box = buildVimPluginFrom2Nix {
-    name = "latex-box-2015-06-01";
+    pname = "latex-box";
+    version = "2015-06-01";
     src = fetchFromGitHub {
       owner = "latex-box-team";
       repo = "latex-box";
@@ -801,7 +882,8 @@
   };
 
   lightline-vim = buildVimPluginFrom2Nix {
-    name = "lightline-vim-2018-12-12";
+    pname = "lightline-vim";
+    version = "2018-12-12";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "lightline.vim";
@@ -811,7 +893,8 @@
   };
 
   limelight-vim = buildVimPluginFrom2Nix {
-    name = "limelight-vim-2016-06-23";
+    pname = "limelight-vim";
+    version = "2016-06-23";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "limelight.vim";
@@ -821,7 +904,8 @@
   };
 
   lushtags = buildVimPluginFrom2Nix {
-    name = "lushtags-2017-04-19";
+    pname = "lushtags";
+    version = "2017-04-19";
     src = fetchFromGitHub {
       owner = "mkasa";
       repo = "lushtags";
@@ -831,7 +915,8 @@
   };
 
   matchit-zip = buildVimPluginFrom2Nix {
-    name = "matchit-zip-2010-10-18";
+    pname = "matchit-zip";
+    version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "matchit.zip";
@@ -841,7 +926,8 @@
   };
 
   mayansmoke = buildVimPluginFrom2Nix {
-    name = "mayansmoke-2010-10-18";
+    pname = "mayansmoke";
+    version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "mayansmoke";
@@ -851,7 +937,8 @@
   };
 
   molokai = buildVimPluginFrom2Nix {
-    name = "molokai-2015-11-11";
+    pname = "molokai";
+    version = "2015-11-11";
     src = fetchFromGitHub {
       owner = "tomasr";
       repo = "molokai";
@@ -861,17 +948,19 @@
   };
 
   ncm2 = buildVimPluginFrom2Nix {
-    name = "ncm2-2018-12-08";
+    pname = "ncm2";
+    version = "2018-12-27";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2";
-      rev = "40d1eb9b52805e0e81bbaac4bb87788007ad19de";
-      sha256 = "1awbzm3vgp31afjlbagxjzzxxgwmy2axhnyhcal7x1rk93cr78iw";
+      rev = "ec1b0c917d1b2086bff1b67b86ff54cfaf4aadd0";
+      sha256 = "18nbr7d7y60l87q8rc4r85ngknbf1x5q5zmnxicxh6xrkl1hmf58";
     };
   };
 
   ncm2-bufword = buildVimPluginFrom2Nix {
-    name = "ncm2-bufword-2018-12-06";
+    pname = "ncm2-bufword";
+    version = "2018-12-06";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2-bufword";
@@ -880,8 +969,20 @@
     };
   };
 
+  ncm2-jedi = buildVimPluginFrom2Nix {
+    pname = "ncm2-jedi";
+    version = "2018-07-18";
+    src = fetchFromGitHub {
+      owner = "ncm2";
+      repo = "ncm2-jedi";
+      rev = "0418d5ca8d4fe6996500eb04517a946f7de83d34";
+      sha256 = "1rbwxsycrn3nis9mj08k70hb174z7cw9p610r6nd8lv4zk1h341z";
+    };
+  };
+
   ncm2-path = buildVimPluginFrom2Nix {
-    name = "ncm2-path-2018-09-12";
+    pname = "ncm2-path";
+    version = "2018-09-12";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2-path";
@@ -891,7 +992,8 @@
   };
 
   ncm2-tmux = buildVimPluginFrom2Nix {
-    name = "ncm2-tmux-2018-12-06";
+    pname = "ncm2-tmux";
+    version = "2018-12-06";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2-tmux";
@@ -901,17 +1003,19 @@
   };
 
   ncm2-ultisnips = buildVimPluginFrom2Nix {
-    name = "ncm2-ultisnips-2018-08-01";
+    pname = "ncm2-ultisnips";
+    version = "2018-12-29";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2-ultisnips";
-      rev = "15432d7933cfb855599442a67d6f39ddb706c737";
-      sha256 = "0ixajh08fd5dgdz4h1sdxgiaind1nksk1d4lwyb6n4ijf672pms2";
+      rev = "304f0c6d911991a1c6dbcba4de12e55a029a02c7";
+      sha256 = "1ny3fazx70853zdw5nj7yjqwjj7ggb7f6hh2nym6ks9dmfpfp486";
     };
   };
 
   neco-ghc = buildVimPluginFrom2Nix {
-    name = "neco-ghc-2018-05-13";
+    pname = "neco-ghc";
+    version = "2018-05-13";
     src = fetchFromGitHub {
       owner = "eagletmt";
       repo = "neco-ghc";
@@ -921,7 +1025,8 @@
   };
 
   neco-look = buildVimPluginFrom2Nix {
-    name = "neco-look-2018-11-09";
+    pname = "neco-look";
+    version = "2018-11-09";
     src = fetchFromGitHub {
       owner = "ujihisa";
       repo = "neco-look";
@@ -931,7 +1036,8 @@
   };
 
   neco-syntax = buildVimPluginFrom2Nix {
-    name = "neco-syntax-2017-10-01";
+    pname = "neco-syntax";
+    version = "2017-10-01";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-syntax";
@@ -941,7 +1047,8 @@
   };
 
   neco-vim = buildVimPluginFrom2Nix {
-    name = "neco-vim-2018-10-30";
+    pname = "neco-vim";
+    version = "2018-10-30";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
@@ -951,7 +1058,8 @@
   };
 
   neocomplete-vim = buildVimPluginFrom2Nix {
-    name = "neocomplete-vim-2018-11-19";
+    pname = "neocomplete-vim";
+    version = "2018-11-19";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neocomplete.vim";
@@ -961,7 +1069,8 @@
   };
 
   neodark-vim = buildVimPluginFrom2Nix {
-    name = "neodark-vim-2018-10-17";
+    pname = "neodark-vim";
+    version = "2018-10-17";
     src = fetchFromGitHub {
       owner = "KeitaNakamura";
       repo = "neodark.vim";
@@ -971,17 +1080,19 @@
   };
 
   neoformat = buildVimPluginFrom2Nix {
-    name = "neoformat-2018-09-22";
+    pname = "neoformat";
+    version = "2018-12-30";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "5ea3abc08f3f0db3600e9f6f36f096c64bffdc07";
-      sha256 = "0yb2mias9pc4f2hgb5lrc7k5xs3pq96c6zsahd74jb1hcjb5j5sw";
+      rev = "e83470ab925a76c9f1bde4904c682c49ae4f939e";
+      sha256 = "0mxfg2pcrcy4198klvib188zipb38bxg2pf3nypsngcsbmxql0yv";
     };
   };
 
   neoinclude-vim = buildVimPluginFrom2Nix {
-    name = "neoinclude-vim-2018-05-21";
+    pname = "neoinclude-vim";
+    version = "2018-05-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neoinclude.vim";
@@ -991,17 +1102,19 @@
   };
 
   neomake = buildVimPluginFrom2Nix {
-    name = "neomake-2018-12-15";
+    pname = "neomake";
+    version = "2018-12-27";
     src = fetchFromGitHub {
       owner = "benekastah";
       repo = "neomake";
-      rev = "b84769baf9f04e1018ca16bb5d22287500c25e43";
-      sha256 = "0wfh0332yczq42pr2fyv5bv3ryf09021n1nsfrgiyrcy00k62r4j";
+      rev = "dc894f78ea9466aae2281fec081fd76f6f19d0c8";
+      sha256 = "1j6k80p5s02xznkk8hd3d74mgwz9n3kyvrnaf4f43v392a23k70r";
     };
   };
 
   neomru-vim = buildVimPluginFrom2Nix {
-    name = "neomru-vim-2018-11-29";
+    pname = "neomru-vim";
+    version = "2018-11-29";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neomru.vim";
@@ -1011,7 +1124,8 @@
   };
 
   neosnippet-snippets = buildVimPluginFrom2Nix {
-    name = "neosnippet-snippets-2018-09-30";
+    pname = "neosnippet-snippets";
+    version = "2018-09-30";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet-snippets";
@@ -1021,7 +1135,8 @@
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix {
-    name = "neosnippet-vim-2018-12-03";
+    pname = "neosnippet-vim";
+    version = "2018-12-03";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
@@ -1031,7 +1146,8 @@
   };
 
   neovim-sensible = buildVimPluginFrom2Nix {
-    name = "neovim-sensible-2017-09-20";
+    pname = "neovim-sensible";
+    version = "2017-09-20";
     src = fetchFromGitHub {
       owner = "jeffkreeftmeijer";
       repo = "neovim-sensible";
@@ -1041,7 +1157,8 @@
   };
 
   neoyank-vim = buildVimPluginFrom2Nix {
-    name = "neoyank-vim-2018-12-03";
+    pname = "neoyank-vim";
+    version = "2018-12-03";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neoyank.vim";
@@ -1051,17 +1168,19 @@
   };
 
   nerdcommenter = buildVimPluginFrom2Nix {
-    name = "nerdcommenter-2018-12-03";
+    pname = "nerdcommenter";
+    version = "2018-12-26";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdcommenter";
-      rev = "d24868bc85de599ee2424ca93aa5f6991bd3128c";
-      sha256 = "1xrnngrn537757as4jfiaamjq7yymgh8cdbciiwpc6a2qpiscmdb";
+      rev = "371e4d0e099abb86a3016fefd1efae28a4e13856";
+      sha256 = "0rdfjkd85w1d22mnfxy4ly35d7vi7q09i32hypxnhk7120hjmzdg";
     };
   };
 
   nerdtree = buildVimPluginFrom2Nix {
-    name = "nerdtree-2018-12-12";
+    pname = "nerdtree";
+    version = "2018-12-12";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdtree";
@@ -1071,7 +1190,8 @@
   };
 
   nerdtree-git-plugin = buildVimPluginFrom2Nix {
-    name = "nerdtree-git-plugin-2018-11-15";
+    pname = "nerdtree-git-plugin";
+    version = "2018-11-15";
     src = fetchFromGitHub {
       owner = "albfan";
       repo = "nerdtree-git-plugin";
@@ -1081,17 +1201,19 @@
   };
 
   nim-vim = buildVimPluginFrom2Nix {
-    name = "nim-vim-2018-12-13";
+    pname = "nim-vim";
+    version = "2018-12-16";
     src = fetchFromGitHub {
       owner = "zah";
       repo = "nim.vim";
-      rev = "358e2e013056af5ad09b3e2963e3390db8677680";
-      sha256 = "0ygyxcbbf6vqimzi71gdq40xx7kyi03yc73h5lyycnzwqc7wyxm2";
+      rev = "21731384b8f0675e3d666e98dd6625508c30f3af";
+      sha256 = "15l897xyli4wr5adgciizqnpqv80l95ykf2xq5kvc4icgj93gwga";
     };
   };
 
   nvim-cm-racer = buildVimPluginFrom2Nix {
-    name = "nvim-cm-racer-2017-07-27";
+    pname = "nvim-cm-racer";
+    version = "2017-07-27";
     src = fetchFromGitHub {
       owner = "roxma";
       repo = "nvim-cm-racer";
@@ -1101,7 +1223,8 @@
   };
 
   nvim-completion-manager = buildVimPluginFrom2Nix {
-    name = "nvim-completion-manager-2018-07-27";
+    pname = "nvim-completion-manager";
+    version = "2018-07-27";
     src = fetchFromGitHub {
       owner = "roxma";
       repo = "nvim-completion-manager";
@@ -1111,17 +1234,19 @@
   };
 
   nvim-yarp = buildVimPluginFrom2Nix {
-    name = "nvim-yarp-2018-09-14";
+    pname = "nvim-yarp";
+    version = "2018-12-23";
     src = fetchFromGitHub {
       owner = "roxma";
       repo = "nvim-yarp";
-      rev = "5443ac06b3989baa9262adec810503e0234c316e";
-      sha256 = "0b6gmsbgzgwidl0rpkwzr2l1qxd9aw5pvj8izflf6gz36r2irszq";
+      rev = "1524cf7988d1e1ed7475ead3654987f64943a1f0";
+      sha256 = "1iblb9hy4svbabhkid1qh7v085dkpq7dwg4aj38d8xvhj9b7mf6v";
     };
   };
 
   nvimdev-nvim = buildVimPluginFrom2Nix {
-    name = "nvimdev-nvim-2018-11-07";
+    pname = "nvimdev-nvim";
+    version = "2018-11-07";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvimdev.nvim";
@@ -1131,7 +1256,8 @@
   };
 
   onehalf = buildVimPluginFrom2Nix {
-    name = "onehalf-2018-10-21";
+    pname = "onehalf";
+    version = "2018-10-21";
     src = fetchFromGitHub {
       owner = "sonph";
       repo = "onehalf";
@@ -1141,7 +1267,8 @@
   };
 
   open-browser-vim = buildVimPluginFrom2Nix {
-    name = "open-browser-vim-2018-11-29";
+    pname = "open-browser-vim";
+    version = "2018-11-29";
     src = fetchFromGitHub {
       owner = "tyru";
       repo = "open-browser.vim";
@@ -1151,7 +1278,8 @@
   };
 
   papercolor-theme = buildVimPluginFrom2Nix {
-    name = "papercolor-theme-2018-09-04";
+    pname = "papercolor-theme";
+    version = "2018-09-04";
     src = fetchFromGitHub {
       owner = "NLKNguyen";
       repo = "papercolor-theme";
@@ -1161,7 +1289,8 @@
   };
 
   peskcolor-vim = buildVimPluginFrom2Nix {
-    name = "peskcolor-vim-2016-06-11";
+    pname = "peskcolor-vim";
+    version = "2016-06-11";
     src = fetchFromGitHub {
       owner = "andsild";
       repo = "peskcolor.vim";
@@ -1171,7 +1300,8 @@
   };
 
   pig-vim = buildVimPluginFrom2Nix {
-    name = "pig-vim-2017-06-08";
+    pname = "pig-vim";
+    version = "2017-06-08";
     src = fetchFromGitHub {
       owner = "motus";
       repo = "pig.vim";
@@ -1181,7 +1311,8 @@
   };
 
   pony-vim-syntax = buildVimPluginFrom2Nix {
-    name = "pony-vim-syntax-2017-09-26";
+    pname = "pony-vim-syntax";
+    version = "2017-09-26";
     src = fetchFromGitHub {
       owner = "dleonard0";
       repo = "pony-vim-syntax";
@@ -1191,7 +1322,8 @@
   };
 
   PreserveNoEOL = buildVimPluginFrom2Nix {
-    name = "PreserveNoEOL-2013-06-14";
+    pname = "PreserveNoEOL";
+    version = "2013-06-14";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "PreserveNoEOL";
@@ -1201,7 +1333,8 @@
   };
 
   psc-ide-vim = buildVimPluginFrom2Nix {
-    name = "psc-ide-vim-2018-03-11";
+    pname = "psc-ide-vim";
+    version = "2018-03-11";
     src = fetchFromGitHub {
       owner = "frigoeu";
       repo = "psc-ide-vim";
@@ -1211,7 +1344,8 @@
   };
 
   purescript-vim = buildVimPluginFrom2Nix {
-    name = "purescript-vim-2018-12-10";
+    pname = "purescript-vim";
+    version = "2018-12-10";
     src = fetchFromGitHub {
       owner = "raichoo";
       repo = "purescript-vim";
@@ -1221,7 +1355,8 @@
   };
 
   python-mode = buildVimPluginFrom2Nix {
-    name = "python-mode-2018-04-29";
+    pname = "python-mode";
+    version = "2018-04-29";
     src = fetchFromGitHub {
       owner = "python-mode";
       repo = "python-mode";
@@ -1231,7 +1366,8 @@
   };
 
   quickfixstatus = buildVimPluginFrom2Nix {
-    name = "quickfixstatus-2011-09-03";
+    pname = "quickfixstatus";
+    version = "2011-09-03";
     src = fetchFromGitHub {
       owner = "dannyob";
       repo = "quickfixstatus";
@@ -1241,7 +1377,8 @@
   };
 
   rainbow = buildVimPluginFrom2Nix {
-    name = "rainbow-2018-07-31";
+    pname = "rainbow";
+    version = "2018-07-31";
     src = fetchFromGitHub {
       owner = "luochen1990";
       repo = "rainbow";
@@ -1251,7 +1388,8 @@
   };
 
   rainbow_parentheses-vim = buildVimPluginFrom2Nix {
-    name = "rainbow_parentheses-vim-2013-03-05";
+    pname = "rainbow_parentheses-vim";
+    version = "2013-03-05";
     src = fetchFromGitHub {
       owner = "kien";
       repo = "rainbow_parentheses.vim";
@@ -1261,7 +1399,8 @@
   };
 
   random-vim = buildVimPluginFrom2Nix {
-    name = "random-vim-2010-10-18";
+    pname = "random-vim";
+    version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "random.vim";
@@ -1271,17 +1410,19 @@
   };
 
   ranger-vim = buildVimPluginFrom2Nix {
-    name = "ranger-vim-2018-11-30";
+    pname = "ranger-vim";
+    version = "2018-12-21";
     src = fetchFromGitHub {
       owner = "rafaqz";
       repo = "ranger.vim";
-      rev = "9ba30ca2f219bc0eaa02102573de8f8ba33078f2";
-      sha256 = "0dccb5rsvazqlxiqcwxb8w4093j9c2klgd30d90nf7vaz40a4988";
+      rev = "0bd9e8122f79655f58142389c595513b855cf05d";
+      sha256 = "0vpfdn01vy065hpc9ii56dsx35cxpmw2k6cidjdl0czy30vyjy94";
     };
   };
 
   Recover-vim = buildVimPluginFrom2Nix {
-    name = "Recover-vim-2018-10-22";
+    pname = "Recover-vim";
+    version = "2018-10-22";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "Recover.vim";
@@ -1291,7 +1432,8 @@
   };
 
   Rename = buildVimPluginFrom2Nix {
-    name = "Rename-2011-08-31";
+    pname = "Rename";
+    version = "2011-08-31";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "Rename";
@@ -1301,7 +1443,8 @@
   };
 
   ReplaceWithRegister = buildVimPluginFrom2Nix {
-    name = "ReplaceWithRegister-2014-10-31";
+    pname = "ReplaceWithRegister";
+    version = "2014-10-31";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "ReplaceWithRegister";
@@ -1311,7 +1454,8 @@
   };
 
   riv-vim = buildVimPluginFrom2Nix {
-    name = "riv-vim-2018-10-17";
+    pname = "riv-vim";
+    version = "2018-10-17";
     src = fetchFromGitHub {
       owner = "Rykka";
       repo = "riv.vim";
@@ -1321,7 +1465,8 @@
   };
 
   robotframework-vim = buildVimPluginFrom2Nix {
-    name = "robotframework-vim-2017-04-14";
+    pname = "robotframework-vim";
+    version = "2017-04-14";
     src = fetchFromGitHub {
       owner = "mfukar";
       repo = "robotframework-vim";
@@ -1331,7 +1476,8 @@
   };
 
   rtorrent-syntax-file = buildVimPluginFrom2Nix {
-    name = "rtorrent-syntax-file-2016-03-19";
+    pname = "rtorrent-syntax-file";
+    version = "2016-03-19";
     src = fetchFromGitHub {
       owner = "ccarpita";
       repo = "rtorrent-syntax-file";
@@ -1341,17 +1487,19 @@
   };
 
   rust-vim = buildVimPluginFrom2Nix {
-    name = "rust-vim-2018-11-29";
+    pname = "rust-vim";
+    version = "2018-12-23";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "fabad27559c5bde02e0f0a855d07d9dda9aef9a9";
-      sha256 = "0b05hn75ahhk2yz5mgjn2vr68391f53cdfdrav23zx0jfqibd4vf";
+      rev = "c6312525ce948e603aec827fba8842a5dea92a9c";
+      sha256 = "11ki4zfnnizvdpymddxb7l1qmx1090xn5hiwhxifsrlg1c0dn3dp";
     };
   };
 
   self = buildVimPluginFrom2Nix {
-    name = "self-2014-05-28";
+    pname = "self";
+    version = "2014-05-28";
     src = fetchFromGitHub {
       owner = "megaannum";
       repo = "self";
@@ -1361,7 +1509,8 @@
   };
 
   shabadou-vim = buildVimPluginFrom2Nix {
-    name = "shabadou-vim-2016-07-19";
+    pname = "shabadou-vim";
+    version = "2016-07-19";
     src = fetchFromGitHub {
       owner = "osyo-manga";
       repo = "shabadou.vim";
@@ -1371,7 +1520,8 @@
   };
 
   sourcemap-vim = buildVimPluginFrom2Nix {
-    name = "sourcemap-vim-2012-09-19";
+    pname = "sourcemap-vim";
+    version = "2012-09-19";
     src = fetchFromGitHub {
       owner = "chikatoike";
       repo = "sourcemap.vim";
@@ -1381,17 +1531,19 @@
   };
 
   Spacegray-vim = buildVimPluginFrom2Nix {
-    name = "Spacegray-vim-2018-06-21";
+    pname = "Spacegray-vim";
+    version = "2018-12-27";
     src = fetchFromGitHub {
       owner = "ajh17";
       repo = "Spacegray.vim";
-      rev = "f9e5205319cbb5c598bbf02b16c3d05277817f81";
-      sha256 = "1s32zf75ybqs9jjjvqk5z4x9a6lr43gjbwlgw8k01qf4lsxkzkn9";
+      rev = "63c9e2f75a084ba1fc136973d5d6e1f00fffad88";
+      sha256 = "0djjabb2qp5d0sszdy1pacw4j4h9r03208pzxn5kwg6i660gajak";
     };
   };
 
   spacevim = buildVimPluginFrom2Nix {
-    name = "spacevim-2018-03-29";
+    pname = "spacevim";
+    version = "2018-03-29";
     src = fetchFromGitHub {
       owner = "ctjhoa";
       repo = "spacevim";
@@ -1401,7 +1553,8 @@
   };
 
   sparkup = buildVimPluginFrom2Nix {
-    name = "sparkup-2012-06-11";
+    pname = "sparkup";
+    version = "2012-06-11";
     src = fetchFromGitHub {
       owner = "chrisgeo";
       repo = "sparkup";
@@ -1411,7 +1564,8 @@
   };
 
   splice-vim = buildVimPluginFrom2Nix {
-    name = "splice-vim-2017-09-03";
+    pname = "splice-vim";
+    version = "2017-09-03";
     src = fetchFromGitHub {
       owner = "sjl";
       repo = "splice.vim";
@@ -1421,7 +1575,8 @@
   };
 
   supertab = buildVimPluginFrom2Nix {
-    name = "supertab-2017-11-14";
+    pname = "supertab";
+    version = "2017-11-14";
     src = fetchFromGitHub {
       owner = "ervandew";
       repo = "supertab";
@@ -1431,7 +1586,8 @@
   };
 
   swift-vim = buildVimPluginFrom2Nix {
-    name = "swift-vim-2018-09-12";
+    pname = "swift-vim";
+    version = "2018-09-12";
     src = fetchFromGitHub {
       owner = "keith";
       repo = "swift.vim";
@@ -1441,7 +1597,8 @@
   };
 
   syntastic = buildVimPluginFrom2Nix {
-    name = "syntastic-2018-11-24";
+    pname = "syntastic";
+    version = "2018-11-24";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "syntastic";
@@ -1451,7 +1608,8 @@
   };
 
   tabmerge = buildVimPluginFrom2Nix {
-    name = "tabmerge-2010-10-18";
+    pname = "tabmerge";
+    version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "tabmerge";
@@ -1461,7 +1619,8 @@
   };
 
   tabpagebuffer-vim = buildVimPluginFrom2Nix {
-    name = "tabpagebuffer-vim-2014-09-30";
+    pname = "tabpagebuffer-vim";
+    version = "2014-09-30";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "tabpagebuffer.vim";
@@ -1471,7 +1630,8 @@
   };
 
   tabular = buildVimPluginFrom2Nix {
-    name = "tabular-2016-05-04";
+    pname = "tabular";
+    version = "2016-05-04";
     src = fetchFromGitHub {
       owner = "godlygeek";
       repo = "tabular";
@@ -1481,7 +1641,8 @@
   };
 
   tagbar = buildVimPluginFrom2Nix {
-    name = "tagbar-2017-12-17";
+    pname = "tagbar";
+    version = "2017-12-17";
     src = fetchFromGitHub {
       owner = "majutsushi";
       repo = "tagbar";
@@ -1491,7 +1652,8 @@
   };
 
   taglist-vim = buildVimPluginFrom2Nix {
-    name = "taglist-vim-2010-10-18";
+    pname = "taglist-vim";
+    version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "taglist.vim";
@@ -1501,17 +1663,19 @@
   };
 
   targets-vim = buildVimPluginFrom2Nix {
-    name = "targets-vim-2018-11-01";
+    pname = "targets-vim";
+    version = "2018-12-21";
     src = fetchFromGitHub {
       owner = "wellle";
       repo = "targets.vim";
-      rev = "4a5e9c09ec2ba63c8cd16b433453e41c22efab22";
-      sha256 = "1fi1mrbqk23i6vrm9i0y9b7hdvg90fpk3gr36lr7mmpqf3p902aj";
+      rev = "55c9c40e47af660677725b68fcfe7e88d9985889";
+      sha256 = "0jywlb5yxkyxn6vrdd3vd7q522llr2jplcl9yf97v89x3kmwpbqy";
     };
   };
 
   tender-vim = buildVimPluginFrom2Nix {
-    name = "tender-vim-2017-03-14";
+    pname = "tender-vim";
+    version = "2017-03-14";
     src = fetchFromGitHub {
       owner = "jacoborus";
       repo = "tender.vim";
@@ -1521,7 +1685,8 @@
   };
 
   tern_for_vim = buildVimPluginFrom2Nix {
-    name = "tern_for_vim-2017-11-27";
+    pname = "tern_for_vim";
+    version = "2017-11-27";
     src = fetchFromGitHub {
       owner = "ternjs";
       repo = "tern_for_vim";
@@ -1531,7 +1696,8 @@
   };
 
   thumbnail-vim = buildVimPluginFrom2Nix {
-    name = "thumbnail-vim-2017-04-24";
+    pname = "thumbnail-vim";
+    version = "2017-04-24";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "thumbnail.vim";
@@ -1541,7 +1707,8 @@
   };
 
   tlib_vim = buildVimPluginFrom2Nix {
-    name = "tlib_vim-2018-04-08";
+    pname = "tlib_vim";
+    version = "2018-04-08";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tlib_vim";
@@ -1551,17 +1718,19 @@
   };
 
   traces-vim = buildVimPluginFrom2Nix {
-    name = "traces-vim-2018-12-13";
+    pname = "traces-vim";
+    version = "2018-12-25";
     src = fetchFromGitHub {
       owner = "markonm";
       repo = "traces.vim";
-      rev = "46e01b6159a21c89695b9d03ea3529ddc92d3b1f";
-      sha256 = "0a77qx12kg4hmfz5zb2ng7lhd855gichs9qjrvich32v04qb2rwv";
+      rev = "7fd6019cd817842ec45836c2cec575e3c21fedca";
+      sha256 = "19pdpipng98s7kypkflfaxkhcskrppyb6714xf7y86adi1d2vly1";
     };
   };
 
   tslime-vim = buildVimPluginFrom2Nix {
-    name = "tslime-vim-2018-07-23";
+    pname = "tslime-vim";
+    version = "2018-07-23";
     src = fetchFromGitHub {
       owner = "jgdavey";
       repo = "tslime.vim";
@@ -1571,17 +1740,19 @@
   };
 
   tsuquyomi = buildVimPluginFrom2Nix {
-    name = "tsuquyomi-2018-10-31";
+    pname = "tsuquyomi";
+    version = "2018-12-26";
     src = fetchFromGitHub {
       owner = "Quramy";
       repo = "tsuquyomi";
-      rev = "bdd034d06ed47176ec1ee0bd3dae5bc0aeb053e3";
-      sha256 = "119dxmkarbh0b0k4l59mxr19shks4mv96j3mbz02q0kdq18bgrdq";
+      rev = "fd47e1ac75ee3a09e13a3b7a8f609907c2b6b542";
+      sha256 = "09rivi64z7lhkan7hd7kdg2r1p3l2iplyc9vs1l6dqk3cp9i5rh0";
     };
   };
 
   typescript-vim = buildVimPluginFrom2Nix {
-    name = "typescript-vim-2018-10-17";
+    pname = "typescript-vim";
+    version = "2018-10-17";
     src = fetchFromGitHub {
       owner = "leafgarland";
       repo = "typescript-vim";
@@ -1591,7 +1762,8 @@
   };
 
   ultisnips = buildVimPluginFrom2Nix {
-    name = "ultisnips-2018-04-30";
+    pname = "ultisnips";
+    version = "2018-04-30";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
@@ -1601,7 +1773,8 @@
   };
 
   undotree = buildVimPluginFrom2Nix {
-    name = "undotree-2018-10-15";
+    pname = "undotree";
+    version = "2018-10-15";
     src = fetchFromGitHub {
       owner = "mbbill";
       repo = "undotree";
@@ -1611,7 +1784,8 @@
   };
 
   unite-vim = buildVimPluginFrom2Nix {
-    name = "unite-vim-2018-12-14";
+    pname = "unite-vim";
+    version = "2018-12-14";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "unite.vim";
@@ -1621,7 +1795,8 @@
   };
 
   verilog_systemverilog-vim = buildVimPluginFrom2Nix {
-    name = "verilog_systemverilog-vim-2018-12-08";
+    pname = "verilog_systemverilog-vim";
+    version = "2018-12-08";
     src = fetchFromGitHub {
       owner = "vhda";
       repo = "verilog_systemverilog.vim";
@@ -1631,17 +1806,19 @@
   };
 
   vim = buildVimPluginFrom2Nix {
-    name = "vim-2018-11-25";
+    pname = "vim";
+    version = "2018-12-22";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "f24e259073994b4f76d125332954d26748fcc581";
-      sha256 = "13xpw4b75ws5h2s5x2rahz39sl13pzz7h4yv3lq6azw9m2msy0v6";
+      rev = "88b2e4086966a36beebd146b67f83e19079142c9";
+      sha256 = "14l1vkja1179b10ikg7i39z4vi5zm1c5call54sa5jb5c68fjbvr";
     };
   };
 
   vim-abolish = buildVimPluginFrom2Nix {
-    name = "vim-abolish-2018-11-25";
+    pname = "vim-abolish";
+    version = "2018-11-25";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-abolish";
@@ -1651,7 +1828,8 @@
   };
 
   vim-addon-actions = buildVimPluginFrom2Nix {
-    name = "vim-addon-actions-2018-01-18";
+    pname = "vim-addon-actions";
+    version = "2018-01-18";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-actions";
@@ -1661,7 +1839,8 @@
   };
 
   vim-addon-async = buildVimPluginFrom2Nix {
-    name = "vim-addon-async-2017-03-20";
+    pname = "vim-addon-async";
+    version = "2017-03-20";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-async";
@@ -1671,7 +1850,8 @@
   };
 
   vim-addon-background-cmd = buildVimPluginFrom2Nix {
-    name = "vim-addon-background-cmd-2015-12-11";
+    pname = "vim-addon-background-cmd";
+    version = "2015-12-11";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-background-cmd";
@@ -1681,7 +1861,8 @@
   };
 
   vim-addon-commenting = buildVimPluginFrom2Nix {
-    name = "vim-addon-commenting-2013-06-10";
+    pname = "vim-addon-commenting";
+    version = "2013-06-10";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-commenting";
@@ -1691,7 +1872,8 @@
   };
 
   vim-addon-completion = buildVimPluginFrom2Nix {
-    name = "vim-addon-completion-2015-02-10";
+    pname = "vim-addon-completion";
+    version = "2015-02-10";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-completion";
@@ -1701,7 +1883,8 @@
   };
 
   vim-addon-errorformats = buildVimPluginFrom2Nix {
-    name = "vim-addon-errorformats-2014-11-05";
+    pname = "vim-addon-errorformats";
+    version = "2014-11-05";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-errorformats";
@@ -1711,17 +1894,19 @@
   };
 
   vim-addon-goto-thing-at-cursor = buildVimPluginFrom2Nix {
-    name = "vim-addon-goto-thing-at-cursor-2012-01-10";
+    pname = "vim-addon-goto-thing-at-cursor";
+    version = "2018-12-28";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-goto-thing-at-cursor";
-      rev = "f052e094bdb351829bf72ae3435af9042e09a6e4";
-      sha256 = "1ksm2b0j80zn8sz2y227bpcx4jsv76lwgr2gpgy2drlyqhn2vlv0";
+      rev = "53cab03c46649d123bb481cd6793179ef255fc55";
+      sha256 = "069j1m75fnkhqyyww2z21dnkg613k97145vgga4dkh2a0fakrs4q";
     };
   };
 
   vim-addon-local-vimrc = buildVimPluginFrom2Nix {
-    name = "vim-addon-local-vimrc-2015-03-19";
+    pname = "vim-addon-local-vimrc";
+    version = "2015-03-19";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-local-vimrc";
@@ -1731,7 +1916,8 @@
   };
 
   vim-addon-manager = buildVimPluginFrom2Nix {
-    name = "vim-addon-manager-2018-07-27";
+    pname = "vim-addon-manager";
+    version = "2018-07-27";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-manager";
@@ -1741,7 +1927,8 @@
   };
 
   vim-addon-mru = buildVimPluginFrom2Nix {
-    name = "vim-addon-mru-2013-08-08";
+    pname = "vim-addon-mru";
+    version = "2013-08-08";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-mru";
@@ -1751,7 +1938,8 @@
   };
 
   vim-addon-mw-utils = buildVimPluginFrom2Nix {
-    name = "vim-addon-mw-utils-2018-03-09";
+    pname = "vim-addon-mw-utils";
+    version = "2018-03-09";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-mw-utils";
@@ -1761,7 +1949,8 @@
   };
 
   vim-addon-nix = buildVimPluginFrom2Nix {
-    name = "vim-addon-nix-2017-09-11";
+    pname = "vim-addon-nix";
+    version = "2017-09-11";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-nix";
@@ -1771,7 +1960,8 @@
   };
 
   vim-addon-other = buildVimPluginFrom2Nix {
-    name = "vim-addon-other-2014-07-15";
+    pname = "vim-addon-other";
+    version = "2014-07-15";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-other";
@@ -1781,7 +1971,8 @@
   };
 
   vim-addon-php-manual = buildVimPluginFrom2Nix {
-    name = "vim-addon-php-manual-2015-01-01";
+    pname = "vim-addon-php-manual";
+    version = "2015-01-01";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-php-manual";
@@ -1791,7 +1982,8 @@
   };
 
   vim-addon-signs = buildVimPluginFrom2Nix {
-    name = "vim-addon-signs-2013-04-19";
+    pname = "vim-addon-signs";
+    version = "2013-04-19";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-signs";
@@ -1801,7 +1993,8 @@
   };
 
   vim-addon-sql = buildVimPluginFrom2Nix {
-    name = "vim-addon-sql-2017-02-11";
+    pname = "vim-addon-sql";
+    version = "2017-02-11";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-sql";
@@ -1811,7 +2004,8 @@
   };
 
   vim-addon-syntax-checker = buildVimPluginFrom2Nix {
-    name = "vim-addon-syntax-checker-2017-06-26";
+    pname = "vim-addon-syntax-checker";
+    version = "2017-06-26";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-syntax-checker";
@@ -1821,7 +2015,8 @@
   };
 
   vim-addon-toggle-buffer = buildVimPluginFrom2Nix {
-    name = "vim-addon-toggle-buffer-2012-01-13";
+    pname = "vim-addon-toggle-buffer";
+    version = "2012-01-13";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-toggle-buffer";
@@ -1831,7 +2026,8 @@
   };
 
   vim-addon-xdebug = buildVimPluginFrom2Nix {
-    name = "vim-addon-xdebug-2014-08-29";
+    pname = "vim-addon-xdebug";
+    version = "2014-08-29";
     src = fetchFromGitHub {
       owner = "MarcWeber";
       repo = "vim-addon-xdebug";
@@ -1841,17 +2037,19 @@
   };
 
   vim-airline = buildVimPluginFrom2Nix {
-    name = "vim-airline-2018-12-10";
+    pname = "vim-airline";
+    version = "2018-12-18";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "e3cfd3643b0f4c9650d5eb23912fef12d88e7a60";
-      sha256 = "0s7v5wfsqvq94yhgqiqr1nrfya6fvbrb5n0qwnq7shwva94pwwwr";
+      rev = "72888d87ea57761f21c9f67cd0c0faa5904795eb";
+      sha256 = "0k3c6p3xy6514n1n347ci4q9xjm9wwqirpdysam6f7r39crgmfhd";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
-    name = "vim-airline-themes-2018-11-15";
+    pname = "vim-airline-themes";
+    version = "2018-11-15";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
@@ -1861,7 +2059,8 @@
   };
 
   vim-android = buildVimPluginFrom2Nix {
-    name = "vim-android-2018-07-31";
+    pname = "vim-android";
+    version = "2018-07-31";
     src = fetchFromGitHub {
       owner = "hsanson";
       repo = "vim-android";
@@ -1871,7 +2070,8 @@
   };
 
   vim-anzu = buildVimPluginFrom2Nix {
-    name = "vim-anzu-2018-02-28";
+    pname = "vim-anzu";
+    version = "2018-02-28";
     src = fetchFromGitHub {
       owner = "osyo-manga";
       repo = "vim-anzu";
@@ -1881,7 +2081,8 @@
   };
 
   vim-auto-save = buildVimPluginFrom2Nix {
-    name = "vim-auto-save-2017-11-08";
+    pname = "vim-auto-save";
+    version = "2017-11-08";
     src = fetchFromGitHub {
       owner = "907th";
       repo = "vim-auto-save";
@@ -1891,17 +2092,19 @@
   };
 
   vim-autoformat = buildVimPluginFrom2Nix {
-    name = "vim-autoformat-2018-12-10";
+    pname = "vim-autoformat";
+    version = "2018-12-19";
     src = fetchFromGitHub {
       owner = "Chiel92";
       repo = "vim-autoformat";
-      rev = "c203080645936e73b2124040bc963386eeb44f5e";
-      sha256 = "0gzmmnzzj6hvcz216vgq46mp4lnp95f788pmhh3njq9l8rn28hd9";
+      rev = "4f993fad63f98b844a5bd728c5a963c0da404e1a";
+      sha256 = "12c8yqwwm7n63r3gpl5zc5qd9mq3xdzk4rj4s91ni5x6njirpjzf";
     };
   };
 
   vim-bazel = buildVimPluginFrom2Nix {
-    name = "vim-bazel-2018-01-11";
+    pname = "vim-bazel";
+    version = "2018-01-11";
     src = fetchFromGitHub {
       owner = "bazelbuild";
       repo = "vim-bazel";
@@ -1911,7 +2114,8 @@
   };
 
   vim-better-whitespace = buildVimPluginFrom2Nix {
-    name = "vim-better-whitespace-2018-06-11";
+    pname = "vim-better-whitespace";
+    version = "2018-06-11";
     src = fetchFromGitHub {
       owner = "ntpeters";
       repo = "vim-better-whitespace";
@@ -1921,7 +2125,8 @@
   };
 
   vim-buffergator = buildVimPluginFrom2Nix {
-    name = "vim-buffergator-2018-05-02";
+    pname = "vim-buffergator";
+    version = "2018-05-02";
     src = fetchFromGitHub {
       owner = "jeetsukumaran";
       repo = "vim-buffergator";
@@ -1931,7 +2136,8 @@
   };
 
   vim-bufferline = buildVimPluginFrom2Nix {
-    name = "vim-bufferline-2016-02-09";
+    pname = "vim-bufferline";
+    version = "2016-02-09";
     src = fetchFromGitHub {
       owner = "bling";
       repo = "vim-bufferline";
@@ -1941,7 +2147,8 @@
   };
 
   vim-closetag = buildVimPluginFrom2Nix {
-    name = "vim-closetag-2018-12-08";
+    pname = "vim-closetag";
+    version = "2018-12-08";
     src = fetchFromGitHub {
       owner = "alvan";
       repo = "vim-closetag";
@@ -1951,17 +2158,19 @@
   };
 
   vim-codefmt = buildVimPluginFrom2Nix {
-    name = "vim-codefmt-2018-12-14";
+    pname = "vim-codefmt";
+    version = "2018-12-29";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "62c09d51dd5fda2cbd579a3c4f261bbf34a1f655";
-      sha256 = "10bv35xm0qs44sff5nkp3pvvvi1fh339m4a2fcnnz2bbd0nal8dl";
+      rev = "54d1eacb2e96f6862894bff53a48846b6470e870";
+      sha256 = "1j88my182dwlvwrnfpkdgda4qgam28l7hdmmfgjh6h745ax0mghg";
     };
   };
 
   vim-coffee-script = buildVimPluginFrom2Nix {
-    name = "vim-coffee-script-2018-02-27";
+    pname = "vim-coffee-script";
+    version = "2018-02-27";
     src = fetchFromGitHub {
       owner = "kchmck";
       repo = "vim-coffee-script";
@@ -1971,7 +2180,8 @@
   };
 
   vim-colemak = buildVimPluginFrom2Nix {
-    name = "vim-colemak-2016-10-16";
+    pname = "vim-colemak";
+    version = "2016-10-16";
     src = fetchFromGitHub {
       owner = "kalbasit";
       repo = "vim-colemak";
@@ -1981,7 +2191,8 @@
   };
 
   vim-colors-solarized = buildVimPluginFrom2Nix {
-    name = "vim-colors-solarized-2011-05-09";
+    pname = "vim-colors-solarized";
+    version = "2011-05-09";
     src = fetchFromGitHub {
       owner = "altercation";
       repo = "vim-colors-solarized";
@@ -1991,7 +2202,8 @@
   };
 
   vim-colorschemes = buildVimPluginFrom2Nix {
-    name = "vim-colorschemes-2018-11-20";
+    pname = "vim-colorschemes";
+    version = "2018-11-20";
     src = fetchFromGitHub {
       owner = "flazz";
       repo = "vim-colorschemes";
@@ -2001,7 +2213,8 @@
   };
 
   vim-colorstepper = buildVimPluginFrom2Nix {
-    name = "vim-colorstepper-2016-01-28";
+    pname = "vim-colorstepper";
+    version = "2016-01-28";
     src = fetchFromGitHub {
       owner = "jonbri";
       repo = "vim-colorstepper";
@@ -2011,7 +2224,8 @@
   };
 
   vim-commentary = buildVimPluginFrom2Nix {
-    name = "vim-commentary-2018-07-27";
+    pname = "vim-commentary";
+    version = "2018-07-27";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-commentary";
@@ -2021,7 +2235,8 @@
   };
 
   vim-css-color = buildVimPluginFrom2Nix {
-    name = "vim-css-color-2018-11-20";
+    pname = "vim-css-color";
+    version = "2018-11-20";
     src = fetchFromGitHub {
       owner = "ap";
       repo = "vim-css-color";
@@ -2031,7 +2246,8 @@
   };
 
   vim-cursorword = buildVimPluginFrom2Nix {
-    name = "vim-cursorword-2017-10-19";
+    pname = "vim-cursorword";
+    version = "2017-10-19";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "vim-cursorword";
@@ -2041,7 +2257,8 @@
   };
 
   vim-cute-python = buildVimPluginFrom2Nix {
-    name = "vim-cute-python-2016-04-04";
+    pname = "vim-cute-python";
+    version = "2016-04-04";
     src = fetchFromGitHub {
       owner = "ehamberg";
       repo = "vim-cute-python";
@@ -2051,7 +2268,8 @@
   };
 
   vim-devicons = buildVimPluginFrom2Nix {
-    name = "vim-devicons-2018-06-21";
+    pname = "vim-devicons";
+    version = "2018-06-21";
     src = fetchFromGitHub {
       owner = "ryanoasis";
       repo = "vim-devicons";
@@ -2061,7 +2279,8 @@
   };
 
   vim-dirdiff = buildVimPluginFrom2Nix {
-    name = "vim-dirdiff-2018-01-31";
+    pname = "vim-dirdiff";
+    version = "2018-01-31";
     src = fetchFromGitHub {
       owner = "will133";
       repo = "vim-dirdiff";
@@ -2071,7 +2290,8 @@
   };
 
   vim-dirvish = buildVimPluginFrom2Nix {
-    name = "vim-dirvish-2018-12-04";
+    pname = "vim-dirvish";
+    version = "2018-12-04";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
@@ -2081,7 +2301,8 @@
   };
 
   vim-dispatch = buildVimPluginFrom2Nix {
-    name = "vim-dispatch-2018-10-31";
+    pname = "vim-dispatch";
+    version = "2018-10-31";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dispatch";
@@ -2091,7 +2312,8 @@
   };
 
   vim-docbk = buildVimPluginFrom2Nix {
-    name = "vim-docbk-2015-04-01";
+    pname = "vim-docbk";
+    version = "2015-04-01";
     src = fetchFromGitHub {
       owner = "jhradilek";
       repo = "vim-docbk";
@@ -2101,7 +2323,8 @@
   };
 
   vim-easy-align = buildVimPluginFrom2Nix {
-    name = "vim-easy-align-2017-06-03";
+    pname = "vim-easy-align";
+    version = "2017-06-03";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-easy-align";
@@ -2111,7 +2334,8 @@
   };
 
   vim-easygit = buildVimPluginFrom2Nix {
-    name = "vim-easygit-2018-07-08";
+    pname = "vim-easygit";
+    version = "2018-07-08";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "vim-easygit";
@@ -2121,7 +2345,8 @@
   };
 
   vim-easymotion = buildVimPluginFrom2Nix {
-    name = "vim-easymotion-2018-06-04";
+    pname = "vim-easymotion";
+    version = "2018-06-04";
     src = fetchFromGitHub {
       owner = "easymotion";
       repo = "vim-easymotion";
@@ -2131,7 +2356,8 @@
   };
 
   vim-easytags = buildVimPluginFrom2Nix {
-    name = "vim-easytags-2015-07-01";
+    pname = "vim-easytags";
+    version = "2015-07-01";
     src = fetchFromGitHub {
       owner = "xolox";
       repo = "vim-easytags";
@@ -2141,7 +2367,8 @@
   };
 
   vim-eighties = buildVimPluginFrom2Nix {
-    name = "vim-eighties-2016-12-15";
+    pname = "vim-eighties";
+    version = "2016-12-15";
     src = fetchFromGitHub {
       owner = "justincampbell";
       repo = "vim-eighties";
@@ -2151,17 +2378,19 @@
   };
 
   vim-elixir = buildVimPluginFrom2Nix {
-    name = "vim-elixir-2018-12-12";
+    pname = "vim-elixir";
+    version = "2018-12-28";
     src = fetchFromGitHub {
       owner = "elixir-lang";
       repo = "vim-elixir";
-      rev = "7e65a353ea332c79c348ac0d4487cb19529759cd";
-      sha256 = "1vgg348m95q0l67fz6wfzp6aamj7aq16dq17xx7n6qdz7nys0q1f";
+      rev = "c1c3dca09f68970ee0fcb48d5022bc2de1a294a5";
+      sha256 = "0f77gljvfzfzgp9kdscv2f04wdysaflk3vknd1pdc5gkz0m77qiy";
     };
   };
 
   vim-eunuch = buildVimPluginFrom2Nix {
-    name = "vim-eunuch-2018-09-09";
+    pname = "vim-eunuch";
+    version = "2018-09-09";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
@@ -2171,7 +2400,8 @@
   };
 
   vim-expand-region = buildVimPluginFrom2Nix {
-    name = "vim-expand-region-2013-08-19";
+    pname = "vim-expand-region";
+    version = "2013-08-19";
     src = fetchFromGitHub {
       owner = "terryma";
       repo = "vim-expand-region";
@@ -2181,7 +2411,8 @@
   };
 
   vim-extradite = buildVimPluginFrom2Nix {
-    name = "vim-extradite-2015-09-22";
+    pname = "vim-extradite";
+    version = "2015-09-22";
     src = fetchFromGitHub {
       owner = "int3";
       repo = "vim-extradite";
@@ -2191,7 +2422,8 @@
   };
 
   vim-fireplace = buildVimPluginFrom2Nix {
-    name = "vim-fireplace-2018-06-01";
+    pname = "vim-fireplace";
+    version = "2018-06-01";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fireplace";
@@ -2201,7 +2433,8 @@
   };
 
   vim-flagship = buildVimPluginFrom2Nix {
-    name = "vim-flagship-2018-08-15";
+    pname = "vim-flagship";
+    version = "2018-08-15";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-flagship";
@@ -2211,7 +2444,8 @@
   };
 
   vim-flake8 = buildVimPluginFrom2Nix {
-    name = "vim-flake8-2018-09-21";
+    pname = "vim-flake8";
+    version = "2018-09-21";
     src = fetchFromGitHub {
       owner = "nvie";
       repo = "vim-flake8";
@@ -2221,7 +2455,8 @@
   };
 
   vim-ft-diff_fold = buildVimPluginFrom2Nix {
-    name = "vim-ft-diff_fold-2013-02-10";
+    pname = "vim-ft-diff_fold";
+    version = "2013-02-10";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-ft-diff_fold";
@@ -2231,27 +2466,30 @@
   };
 
   vim-fugitive = buildVimPluginFrom2Nix {
-    name = "vim-fugitive-2018-11-22";
+    pname = "vim-fugitive";
+    version = "2018-12-29";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "2564c37d0a2ade327d6381fef42d84d9fad1d057";
-      sha256 = "1bwqyl644wv26ys27hxj9wx57mfp1090cmp7acd7inbxypd0bgdb";
+      rev = "682b2acdac89dccbb3f4a449ac2d20283eb7c26a";
+      sha256 = "02hrlidpfqhrz60ddhfwdj2kh5w33b2sq8cw9icbdhqbr6z1w3bl";
     };
   };
 
   vim-ghost = buildVimPluginFrom2Nix {
-    name = "vim-ghost-2018-12-12";
+    pname = "vim-ghost";
+    version = "2018-12-30";
     src = fetchFromGitHub {
       owner = "raghur";
       repo = "vim-ghost";
-      rev = "26209657da7ea040c635b36331793a04694f4921";
-      sha256 = "16gg487mxqw58s5np2a9a1kjy6kp5f0fmk60d444ymbjblv6gaix";
+      rev = "cc54b45b9bd9610d2fc2bdbc4c6c0ed215a50dbb";
+      sha256 = "1ri35acv3wysklz7ghazsn1lp440m4szzxqmzwyz03ybwshbyfaf";
     };
   };
 
   vim-gista = buildVimPluginFrom2Nix {
-    name = "vim-gista-2017-02-20";
+    pname = "vim-gista";
+    version = "2017-02-20";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "vim-gista";
@@ -2261,7 +2499,8 @@
   };
 
   vim-gitbranch = buildVimPluginFrom2Nix {
-    name = "vim-gitbranch-2017-05-27";
+    pname = "vim-gitbranch";
+    version = "2017-05-27";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "vim-gitbranch";
@@ -2271,17 +2510,19 @@
   };
 
   vim-gitgutter = buildVimPluginFrom2Nix {
-    name = "vim-gitgutter-2018-12-13";
+    pname = "vim-gitgutter";
+    version = "2018-12-15";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "5c636b128ed40f3ed926d18adb307e01dfc082f8";
-      sha256 = "014ylh6cmrfw7qp6nrjz0dr4f5v09fmmfi729kpkf97lx79sd37i";
+      rev = "1d422b9f98194e38bc56e54192c9bc66d95c21f1";
+      sha256 = "1xv4brbhpxx23q2wklxxclzj9n1fi34m2rj0syf7ggp9fy7y50dk";
     };
   };
 
   vim-github-dashboard = buildVimPluginFrom2Nix {
-    name = "vim-github-dashboard-2018-09-03";
+    pname = "vim-github-dashboard";
+    version = "2018-09-03";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-github-dashboard";
@@ -2291,17 +2532,19 @@
   };
 
   vim-go = buildVimPluginFrom2Nix {
-    name = "vim-go-2018-12-12";
+    pname = "vim-go";
+    version = "2018-12-29";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "30cdcf3c1e4d0be92115f40ea3197a2effde0c27";
-      sha256 = "1yszm8c1hqgs9pbdlff49yc08zg5qwvvy8plzvvd1hp6pir7q5kw";
+      rev = "cbdd072534c0b59dfa8c1d69c73b053364cc9cbd";
+      sha256 = "12sh9q52rp095la0ligvmij4s2bnzz8wk2hgwfwkhbfnla44ch7d";
     };
   };
 
   vim-grammarous = buildVimPluginFrom2Nix {
-    name = "vim-grammarous-2018-09-13";
+    pname = "vim-grammarous";
+    version = "2018-09-13";
     src = fetchFromGitHub {
       owner = "rhysd";
       repo = "vim-grammarous";
@@ -2311,17 +2554,19 @@
   };
 
   vim-grepper = buildVimPluginFrom2Nix {
-    name = "vim-grepper-2018-11-08";
+    pname = "vim-grepper";
+    version = "2018-12-22";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "4a47e20c98eee758b905a2cd7ca29f433c08e7e7";
-      sha256 = "14lwf5fmpqd0d6gywld6jmvis1r73i9ib4zlxlb3xkzx6di8kp5a";
+      rev = "9b62e6bdd9de9fe027363bbde68e9e32d937cfa0";
+      sha256 = "15j65qcnyfdkzyyv7504anaic891v5kvnqszcz37y5j15zjs5c02";
     };
   };
 
   vim-gutentags = buildVimPluginFrom2Nix {
-    name = "vim-gutentags-2018-11-17";
+    pname = "vim-gutentags";
+    version = "2018-11-17";
     src = fetchFromGitHub {
       owner = "ludovicchabant";
       repo = "vim-gutentags";
@@ -2331,7 +2576,8 @@
   };
 
   vim-hardtime = buildVimPluginFrom2Nix {
-    name = "vim-hardtime-2017-03-31";
+    pname = "vim-hardtime";
+    version = "2017-03-31";
     src = fetchFromGitHub {
       owner = "takac";
       repo = "vim-hardtime";
@@ -2341,7 +2587,8 @@
   };
 
   vim-haskellconceal = buildVimPluginFrom2Nix {
-    name = "vim-haskellconceal-2017-06-15";
+    pname = "vim-haskellconceal";
+    version = "2017-06-15";
     src = fetchFromGitHub {
       owner = "twinside";
       repo = "vim-haskellconceal";
@@ -2351,17 +2598,19 @@
   };
 
   vim-haskellConcealPlus = buildVimPluginFrom2Nix {
-    name = "vim-haskellConcealPlus-2018-08-07";
+    pname = "vim-haskellConcealPlus";
+    version = "2018-12-26";
     src = fetchFromGitHub {
       owner = "enomsg";
       repo = "vim-haskellConcealPlus";
-      rev = "12608ecab20c3eda9a89a55931397b5e020f38a4";
-      sha256 = "0i75casdf20l22s1p669nfk67f10d6ry0i76bbwbn0anq66hn7n0";
+      rev = "1d64dd2cdd1e99689e3d79e7ada151213acd5450";
+      sha256 = "0jsfg941qdpibzcg0ypf0nvabmv1bpwgzgzda7hjy1jcai4yrw1g";
     };
   };
 
   vim-hdevtools = buildVimPluginFrom2Nix {
-    name = "vim-hdevtools-2018-11-19";
+    pname = "vim-hdevtools";
+    version = "2018-11-19";
     src = fetchFromGitHub {
       owner = "bitc";
       repo = "vim-hdevtools";
@@ -2371,7 +2620,8 @@
   };
 
   vim-hier = buildVimPluginFrom2Nix {
-    name = "vim-hier-2011-08-27";
+    pname = "vim-hier";
+    version = "2011-08-27";
     src = fetchFromGitHub {
       owner = "jceb";
       repo = "vim-hier";
@@ -2381,7 +2631,8 @@
   };
 
   vim-highlightedyank = buildVimPluginFrom2Nix {
-    name = "vim-highlightedyank-2018-10-08";
+    pname = "vim-highlightedyank";
+    version = "2018-10-08";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-highlightedyank";
@@ -2391,7 +2642,8 @@
   };
 
   vim-hindent = buildVimPluginFrom2Nix {
-    name = "vim-hindent-2018-07-31";
+    pname = "vim-hindent";
+    version = "2018-07-31";
     src = fetchFromGitHub {
       owner = "alx741";
       repo = "vim-hindent";
@@ -2401,7 +2653,8 @@
   };
 
   vim-hoogle = buildVimPluginFrom2Nix {
-    name = "vim-hoogle-2018-03-04";
+    pname = "vim-hoogle";
+    version = "2018-03-04";
     src = fetchFromGitHub {
       owner = "Twinside";
       repo = "vim-hoogle";
@@ -2411,7 +2664,8 @@
   };
 
   vim-husk = buildVimPluginFrom2Nix {
-    name = "vim-husk-2015-11-29";
+    pname = "vim-husk";
+    version = "2015-11-29";
     src = fetchFromGitHub {
       owner = "vim-utils";
       repo = "vim-husk";
@@ -2421,7 +2675,8 @@
   };
 
   vim-iced-coffee-script = buildVimPluginFrom2Nix {
-    name = "vim-iced-coffee-script-2013-12-26";
+    pname = "vim-iced-coffee-script";
+    version = "2013-12-26";
     src = fetchFromGitHub {
       owner = "noc7c9";
       repo = "vim-iced-coffee-script";
@@ -2431,7 +2686,8 @@
   };
 
   vim-indent-guides = buildVimPluginFrom2Nix {
-    name = "vim-indent-guides-2018-05-14";
+    pname = "vim-indent-guides";
+    version = "2018-05-14";
     src = fetchFromGitHub {
       owner = "nathanaelkane";
       repo = "vim-indent-guides";
@@ -2441,7 +2697,8 @@
   };
 
   vim-indent-object = buildVimPluginFrom2Nix {
-    name = "vim-indent-object-2018-04-08";
+    pname = "vim-indent-object";
+    version = "2018-04-08";
     src = fetchFromGitHub {
       owner = "michaeljsmith";
       repo = "vim-indent-object";
@@ -2451,7 +2708,8 @@
   };
 
   vim-ipython = buildVimPluginFrom2Nix {
-    name = "vim-ipython-2015-06-23";
+    pname = "vim-ipython";
+    version = "2015-06-23";
     src = fetchFromGitHub {
       owner = "ivanov";
       repo = "vim-ipython";
@@ -2461,7 +2719,8 @@
   };
 
   vim-isort = buildVimPluginFrom2Nix {
-    name = "vim-isort-2018-08-22";
+    pname = "vim-isort";
+    version = "2018-08-22";
     src = fetchFromGitHub {
       owner = "fisadev";
       repo = "vim-isort";
@@ -2471,7 +2730,8 @@
   };
 
   vim-jade = buildVimPluginFrom2Nix {
-    name = "vim-jade-2018-09-10";
+    pname = "vim-jade";
+    version = "2018-09-10";
     src = fetchFromGitHub {
       owner = "digitaltoad";
       repo = "vim-jade";
@@ -2481,7 +2741,8 @@
   };
 
   vim-janah = buildVimPluginFrom2Nix {
-    name = "vim-janah-2018-10-01";
+    pname = "vim-janah";
+    version = "2018-10-01";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-janah";
@@ -2491,27 +2752,30 @@
   };
 
   vim-javacomplete2 = buildVimPluginFrom2Nix {
-    name = "vim-javacomplete2-2018-12-14";
+    pname = "vim-javacomplete2";
+    version = "2018-12-28";
     src = fetchFromGitHub {
       owner = "artur-shaik";
       repo = "vim-javacomplete2";
-      rev = "e896e0b249f6115a921cb27aaabdb688374d9f21";
-      sha256 = "0lqhb5kgswvsni456nmskrmn9lrnxwg523x5yaylm8s71w3kv1a6";
+      rev = "5a4d405c9e23e0a295aa965d18bd0b36b06de600";
+      sha256 = "04clpab5zb0xk061i4i2yw91582ra12bnk1kkk2mmrldk1dr43xa";
     };
   };
 
   vim-javascript = buildVimPluginFrom2Nix {
-    name = "vim-javascript-2018-08-29";
+    pname = "vim-javascript";
+    version = "2018-12-23";
     src = fetchFromGitHub {
       owner = "pangloss";
       repo = "vim-javascript";
-      rev = "dd84369d731bcb8feee0901cbb9b63a2b219bf28";
-      sha256 = "1ca0dd4niy0lkdslgzfjp8pbr7szx6mgzax451r1c479dkmhh4cl";
+      rev = "50c135735611946707d04757fdc0cde5537659ae";
+      sha256 = "175w6a5x8wcssd5ix32gmyc4s4v7l4nmhhzvs28n3lwias8cm2q9";
     };
   };
 
   vim-jinja = buildVimPluginFrom2Nix {
-    name = "vim-jinja-2016-11-16";
+    pname = "vim-jinja";
+    version = "2016-11-16";
     src = fetchFromGitHub {
       owner = "lepture";
       repo = "vim-jinja";
@@ -2521,7 +2785,8 @@
   };
 
   vim-jsbeautify = buildVimPluginFrom2Nix {
-    name = "vim-jsbeautify-2018-10-23";
+    pname = "vim-jsbeautify";
+    version = "2018-10-23";
     src = fetchFromGitHub {
       owner = "maksimr";
       repo = "vim-jsbeautify";
@@ -2532,7 +2797,8 @@
   };
 
   vim-jsdoc = buildVimPluginFrom2Nix {
-    name = "vim-jsdoc-2018-05-05";
+    pname = "vim-jsdoc";
+    version = "2018-05-05";
     src = fetchFromGitHub {
       owner = "heavenshell";
       repo = "vim-jsdoc";
@@ -2542,7 +2808,8 @@
   };
 
   vim-json = buildVimPluginFrom2Nix {
-    name = "vim-json-2018-01-10";
+    pname = "vim-json";
+    version = "2018-01-10";
     src = fetchFromGitHub {
       owner = "elzr";
       repo = "vim-json";
@@ -2552,7 +2819,8 @@
   };
 
   vim-jsonnet = buildVimPluginFrom2Nix {
-    name = "vim-jsonnet-2018-10-08";
+    pname = "vim-jsonnet";
+    version = "2018-10-08";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-jsonnet";
@@ -2562,7 +2830,8 @@
   };
 
   vim-lastplace = buildVimPluginFrom2Nix {
-    name = "vim-lastplace-2017-06-13";
+    pname = "vim-lastplace";
+    version = "2017-06-13";
     src = fetchFromGitHub {
       owner = "farmergreg";
       repo = "vim-lastplace";
@@ -2572,7 +2841,8 @@
   };
 
   vim-latex-live-preview = buildVimPluginFrom2Nix {
-    name = "vim-latex-live-preview-2018-09-25";
+    pname = "vim-latex-live-preview";
+    version = "2018-09-25";
     src = fetchFromGitHub {
       owner = "xuhdev";
       repo = "vim-latex-live-preview";
@@ -2582,7 +2852,8 @@
   };
 
   vim-lawrencium = buildVimPluginFrom2Nix {
-    name = "vim-lawrencium-2018-11-04";
+    pname = "vim-lawrencium";
+    version = "2018-11-04";
     src = fetchFromGitHub {
       owner = "ludovicchabant";
       repo = "vim-lawrencium";
@@ -2592,7 +2863,8 @@
   };
 
   vim-leader-guide = buildVimPluginFrom2Nix {
-    name = "vim-leader-guide-2018-10-06";
+    pname = "vim-leader-guide";
+    version = "2018-10-06";
     src = fetchFromGitHub {
       owner = "hecal3";
       repo = "vim-leader-guide";
@@ -2602,7 +2874,8 @@
   };
 
   vim-ledger = buildVimPluginFrom2Nix {
-    name = "vim-ledger-2017-12-12";
+    pname = "vim-ledger";
+    version = "2017-12-12";
     src = fetchFromGitHub {
       owner = "ledger";
       repo = "vim-ledger";
@@ -2612,7 +2885,8 @@
   };
 
   vim-localvimrc = buildVimPluginFrom2Nix {
-    name = "vim-localvimrc-2018-11-06";
+    pname = "vim-localvimrc";
+    version = "2018-11-06";
     src = fetchFromGitHub {
       owner = "embear";
       repo = "vim-localvimrc";
@@ -2622,7 +2896,8 @@
   };
 
   vim-logreview = buildVimPluginFrom2Nix {
-    name = "vim-logreview-2017-07-08";
+    pname = "vim-logreview";
+    version = "2017-07-08";
     src = fetchFromGitHub {
       owner = "andreshazard";
       repo = "vim-logreview";
@@ -2631,8 +2906,20 @@
     };
   };
 
+  vim-lsc = buildVimPluginFrom2Nix {
+    pname = "vim-lsc";
+    version = "2018-12-26";
+    src = fetchFromGitHub {
+      owner = "natebosch";
+      repo = "vim-lsc";
+      rev = "a2acc5f5850960f94ce2b73f58bbb07971565d0e";
+      sha256 = "0s53hq5mplkfh4cd4rhlvxxc7inpc9n15ap1pzbqjvnp71xcmlh1";
+    };
+  };
+
   vim-maktaba = buildVimPluginFrom2Nix {
-    name = "vim-maktaba-2018-12-13";
+    pname = "vim-maktaba";
+    version = "2018-12-13";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-maktaba";
@@ -2642,17 +2929,19 @@
   };
 
   vim-markdown = buildVimPluginFrom2Nix {
-    name = "vim-markdown-2018-10-24";
+    pname = "vim-markdown";
+    version = "2018-12-29";
     src = fetchFromGitHub {
       owner = "plasticboy";
       repo = "vim-markdown";
-      rev = "52ee2eb68a706972a1840ca036035033046568d6";
-      sha256 = "1w186rbnhk1y6sqqrwvgfs4xigf2c1f1xhjlhvmmb174cp5c84v2";
+      rev = "efba8a8508c107b809bca5293c2aad7d3ff5283b";
+      sha256 = "00xkn48167phsrmimm493vvzip0nlw6zm5qs0hfiav9xk901rxc5";
     };
   };
 
   vim-misc = buildVimPluginFrom2Nix {
-    name = "vim-misc-2015-05-21";
+    pname = "vim-misc";
+    version = "2015-05-21";
     src = fetchFromGitHub {
       owner = "xolox";
       repo = "vim-misc";
@@ -2662,17 +2951,19 @@
   };
 
   vim-monokai-pro = buildVimPluginFrom2Nix {
-    name = "vim-monokai-pro-2018-12-03";
+    pname = "vim-monokai-pro";
+    version = "2018-12-27";
     src = fetchFromGitHub {
       owner = "phanviet";
       repo = "vim-monokai-pro";
-      rev = "6c96cbc25e48de53b2b984863ab8bb722ee52d3e";
-      sha256 = "1nsr3n0rz0rwsk92hwg9391plkpilcnv159q4ag4fdrjv1n2v16d";
+      rev = "39fcf3b418fc3a01e604cbb5f9c08d79d7d957c0";
+      sha256 = "1k0n9chmilppsiyxhz1ig0ywimbnl4qpzib6ris1cy6kjnl4mdyq";
     };
   };
 
   vim-multiple-cursors = buildVimPluginFrom2Nix {
-    name = "vim-multiple-cursors-2018-10-16";
+    pname = "vim-multiple-cursors";
+    version = "2018-10-16";
     src = fetchFromGitHub {
       owner = "terryma";
       repo = "vim-multiple-cursors";
@@ -2682,17 +2973,19 @@
   };
 
   vim-nerdtree-tabs = buildVimPluginFrom2Nix {
-    name = "vim-nerdtree-tabs-2018-05-05";
+    pname = "vim-nerdtree-tabs";
+    version = "2018-12-21";
     src = fetchFromGitHub {
       owner = "jistr";
       repo = "vim-nerdtree-tabs";
-      rev = "5fc6c6857028a07e8fe50f0adef28fb20218776b";
-      sha256 = "051m4jb8jcc9rbafp995hmf4q6zn07bwh7anra6k1cr14i9lasaa";
+      rev = "07d19f0299762669c6f93fbadb8249da6ba9de62";
+      sha256 = "16iqhp5l6xvq0k8bq9ngqfhish1fwggpmvd7ni1fh5dqr00iii9x";
     };
   };
 
   vim-niceblock = buildVimPluginFrom2Nix {
-    name = "vim-niceblock-2018-09-06";
+    pname = "vim-niceblock";
+    version = "2018-09-06";
     src = fetchFromGitHub {
       owner = "kana";
       repo = "vim-niceblock";
@@ -2702,7 +2995,8 @@
   };
 
   vim-nix = buildVimPluginFrom2Nix {
-    name = "vim-nix-2018-08-27";
+    pname = "vim-nix";
+    version = "2018-08-27";
     src = fetchFromGitHub {
       owner = "LnL7";
       repo = "vim-nix";
@@ -2712,7 +3006,8 @@
   };
 
   vim-obsession = buildVimPluginFrom2Nix {
-    name = "vim-obsession-2018-09-17";
+    pname = "vim-obsession";
+    version = "2018-09-17";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-obsession";
@@ -2722,7 +3017,8 @@
   };
 
   vim-one = buildVimPluginFrom2Nix {
-    name = "vim-one-2018-07-22";
+    pname = "vim-one";
+    version = "2018-07-22";
     src = fetchFromGitHub {
       owner = "rakr";
       repo = "vim-one";
@@ -2732,7 +3028,8 @@
   };
 
   vim-operator-replace = buildVimPluginFrom2Nix {
-    name = "vim-operator-replace-2015-02-24";
+    pname = "vim-operator-replace";
+    version = "2015-02-24";
     src = fetchFromGitHub {
       owner = "kana";
       repo = "vim-operator-replace";
@@ -2742,7 +3039,8 @@
   };
 
   vim-operator-surround = buildVimPluginFrom2Nix {
-    name = "vim-operator-surround-2018-11-01";
+    pname = "vim-operator-surround";
+    version = "2018-11-01";
     src = fetchFromGitHub {
       owner = "rhysd";
       repo = "vim-operator-surround";
@@ -2752,7 +3050,8 @@
   };
 
   vim-operator-user = buildVimPluginFrom2Nix {
-    name = "vim-operator-user-2015-02-17";
+    pname = "vim-operator-user";
+    version = "2015-02-17";
     src = fetchFromGitHub {
       owner = "kana";
       repo = "vim-operator-user";
@@ -2762,7 +3061,8 @@
   };
 
   vim-orgmode = buildVimPluginFrom2Nix {
-    name = "vim-orgmode-2018-07-25";
+    pname = "vim-orgmode";
+    version = "2018-07-25";
     src = fetchFromGitHub {
       owner = "jceb";
       repo = "vim-orgmode";
@@ -2772,7 +3072,8 @@
   };
 
   vim-pager = buildVimPluginFrom2Nix {
-    name = "vim-pager-2015-08-26";
+    pname = "vim-pager";
+    version = "2015-08-26";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "vim-pager";
@@ -2782,7 +3083,8 @@
   };
 
   vim-pandoc = buildVimPluginFrom2Nix {
-    name = "vim-pandoc-2018-10-07";
+    pname = "vim-pandoc";
+    version = "2018-10-07";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
@@ -2792,7 +3094,8 @@
   };
 
   vim-pandoc-after = buildVimPluginFrom2Nix {
-    name = "vim-pandoc-after-2017-11-21";
+    pname = "vim-pandoc-after";
+    version = "2017-11-21";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-after";
@@ -2802,7 +3105,8 @@
   };
 
   vim-pandoc-syntax = buildVimPluginFrom2Nix {
-    name = "vim-pandoc-syntax-2017-04-13";
+    pname = "vim-pandoc-syntax";
+    version = "2017-04-13";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-syntax";
@@ -2812,7 +3116,8 @@
   };
 
   vim-pathogen = buildVimPluginFrom2Nix {
-    name = "vim-pathogen-2018-12-13";
+    pname = "vim-pathogen";
+    version = "2018-12-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-pathogen";
@@ -2822,7 +3127,8 @@
   };
 
   vim-peekaboo = buildVimPluginFrom2Nix {
-    name = "vim-peekaboo-2017-03-20";
+    pname = "vim-peekaboo";
+    version = "2017-03-20";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-peekaboo";
@@ -2832,7 +3138,8 @@
   };
 
   vim-pencil = buildVimPluginFrom2Nix {
-    name = "vim-pencil-2017-06-14";
+    pname = "vim-pencil";
+    version = "2017-06-14";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-pencil";
@@ -2842,7 +3149,8 @@
   };
 
   vim-plug = buildVimPluginFrom2Nix {
-    name = "vim-plug-2018-11-03";
+    pname = "vim-plug";
+    version = "2018-11-03";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
@@ -2852,7 +3160,8 @@
   };
 
   vim-plugin-AnsiEsc = buildVimPluginFrom2Nix {
-    name = "vim-plugin-AnsiEsc-2018-05-10";
+    pname = "vim-plugin-AnsiEsc";
+    version = "2018-05-10";
     src = fetchFromGitHub {
       owner = "powerman";
       repo = "vim-plugin-AnsiEsc";
@@ -2862,17 +3171,19 @@
   };
 
   vim-polyglot = buildVimPluginFrom2Nix {
-    name = "vim-polyglot-2018-10-10";
+    pname = "vim-polyglot";
+    version = "2018-12-26";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "ec1c94306953b678bb36572897bd218fe6c76506";
-      sha256 = "1n3s52ncmdbhygrdycrnqk9sj42413q0ah1q8a7s6q4z6zdm4scz";
+      rev = "c161994e9607399a7b365ab274592bfc4f100306";
+      sha256 = "19gdy7l87hm0i8jiic02v1xb3b660lsprankfgny9za8hk4kq3cq";
     };
   };
 
   vim-prettyprint = buildVimPluginFrom2Nix {
-    name = "vim-prettyprint-2016-07-16";
+    pname = "vim-prettyprint";
+    version = "2016-07-16";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-prettyprint";
@@ -2882,7 +3193,8 @@
   };
 
   vim-projectionist = buildVimPluginFrom2Nix {
-    name = "vim-projectionist-2018-10-21";
+    pname = "vim-projectionist";
+    version = "2018-10-21";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
@@ -2892,7 +3204,8 @@
   };
 
   vim-ps1 = buildVimPluginFrom2Nix {
-    name = "vim-ps1-2017-10-20";
+    pname = "vim-ps1";
+    version = "2017-10-20";
     src = fetchFromGitHub {
       owner = "PProvost";
       repo = "vim-ps1";
@@ -2902,7 +3215,8 @@
   };
 
   vim-puppet = buildVimPluginFrom2Nix {
-    name = "vim-puppet-2018-11-15";
+    pname = "vim-puppet";
+    version = "2018-11-15";
     src = fetchFromGitHub {
       owner = "rodjek";
       repo = "vim-puppet";
@@ -2912,7 +3226,8 @@
   };
 
   vim-qml = buildVimPluginFrom2Nix {
-    name = "vim-qml-2018-07-22";
+    pname = "vim-qml";
+    version = "2018-07-22";
     src = fetchFromGitHub {
       owner = "peterhoeg";
       repo = "vim-qml";
@@ -2922,7 +3237,8 @@
   };
 
   vim-quickrun = buildVimPluginFrom2Nix {
-    name = "vim-quickrun-2018-11-27";
+    pname = "vim-quickrun";
+    version = "2018-11-27";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-quickrun";
@@ -2932,7 +3248,8 @@
   };
 
   vim-racer = buildVimPluginFrom2Nix {
-    name = "vim-racer-2018-08-26";
+    pname = "vim-racer";
+    version = "2018-08-26";
     src = fetchFromGitHub {
       owner = "racer-rust";
       repo = "vim-racer";
@@ -2942,7 +3259,8 @@
   };
 
   vim-repeat = buildVimPluginFrom2Nix {
-    name = "vim-repeat-2018-07-02";
+    pname = "vim-repeat";
+    version = "2018-07-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-repeat";
@@ -2952,7 +3270,8 @@
   };
 
   vim-rhubarb = buildVimPluginFrom2Nix {
-    name = "vim-rhubarb-2018-11-16";
+    pname = "vim-rhubarb";
+    version = "2018-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rhubarb";
@@ -2962,7 +3281,8 @@
   };
 
   vim-ruby = buildVimPluginFrom2Nix {
-    name = "vim-ruby-2018-12-11";
+    pname = "vim-ruby";
+    version = "2018-12-11";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
@@ -2972,7 +3292,8 @@
   };
 
   vim-sayonara = buildVimPluginFrom2Nix {
-    name = "vim-sayonara-2017-03-13";
+    pname = "vim-sayonara";
+    version = "2017-03-13";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-sayonara";
@@ -2982,7 +3303,8 @@
   };
 
   vim-scala = buildVimPluginFrom2Nix {
-    name = "vim-scala-2017-11-10";
+    pname = "vim-scala";
+    version = "2017-11-10";
     src = fetchFromGitHub {
       owner = "derekwyatt";
       repo = "vim-scala";
@@ -2992,7 +3314,8 @@
   };
 
   vim-scouter = buildVimPluginFrom2Nix {
-    name = "vim-scouter-2014-08-10";
+    pname = "vim-scouter";
+    version = "2014-08-10";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-scouter";
@@ -3002,17 +3325,19 @@
   };
 
   vim-scriptease = buildVimPluginFrom2Nix {
-    name = "vim-scriptease-2018-11-03";
+    pname = "vim-scriptease";
+    version = "2018-12-19";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-scriptease";
-      rev = "c443ccb2bc8a0e460753a45b9ed44d7722d1a070";
-      sha256 = "11r8nhjydjinqffqfdb6pn1pkh4yqckjazckn9m7j4r6r2hga10h";
+      rev = "386f19cd92f7b30cd830784ae22ebbe7033564aa";
+      sha256 = "122bnx9j1pdgpkfph48l4zngak1hjlijbksim05iypi7sd0bvix9";
     };
   };
 
   vim-sensible = buildVimPluginFrom2Nix {
-    name = "vim-sensible-2018-10-27";
+    pname = "vim-sensible";
+    version = "2018-10-27";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sensible";
@@ -3022,7 +3347,8 @@
   };
 
   vim-signature = buildVimPluginFrom2Nix {
-    name = "vim-signature-2018-07-06";
+    pname = "vim-signature";
+    version = "2018-07-06";
     src = fetchFromGitHub {
       owner = "kshenoy";
       repo = "vim-signature";
@@ -3032,17 +3358,19 @@
   };
 
   vim-signify = buildVimPluginFrom2Nix {
-    name = "vim-signify-2018-11-16";
+    pname = "vim-signify";
+    version = "2018-12-27";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-signify";
-      rev = "ea87e05e6fcbbaece63aac4e9c1c23adb881b86c";
-      sha256 = "11d2xlc8j2mqx8s6h1z1pgr5dq0k2xr010qg8viw34z0pnfkah25";
+      rev = "14f7fda00013a11213c767f82f5f03a2e735ba06";
+      sha256 = "0mdai71b46wh5wzlpcxc6fyznrqyl6anz6fxx67z9scp7fa72kni";
     };
   };
 
   vim-sleuth = buildVimPluginFrom2Nix {
-    name = "vim-sleuth-2018-08-19";
+    pname = "vim-sleuth";
+    version = "2018-08-19";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
@@ -3052,7 +3380,8 @@
   };
 
   vim-smalls = buildVimPluginFrom2Nix {
-    name = "vim-smalls-2015-05-02";
+    pname = "vim-smalls";
+    version = "2015-05-02";
     src = fetchFromGitHub {
       owner = "t9md";
       repo = "vim-smalls";
@@ -3062,7 +3391,8 @@
   };
 
   vim-snipmate = buildVimPluginFrom2Nix {
-    name = "vim-snipmate-2017-04-20";
+    pname = "vim-snipmate";
+    version = "2017-04-20";
     src = fetchFromGitHub {
       owner = "garbas";
       repo = "vim-snipmate";
@@ -3072,7 +3402,8 @@
   };
 
   vim-snippets = buildVimPluginFrom2Nix {
-    name = "vim-snippets-2018-12-14";
+    pname = "vim-snippets";
+    version = "2018-12-14";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
@@ -3082,7 +3413,8 @@
   };
 
   vim-solidity = buildVimPluginFrom2Nix {
-    name = "vim-solidity-2018-04-17";
+    pname = "vim-solidity";
+    version = "2018-04-17";
     src = fetchFromGitHub {
       owner = "tomlion";
       repo = "vim-solidity";
@@ -3092,7 +3424,8 @@
   };
 
   vim-sort-motion = buildVimPluginFrom2Nix {
-    name = "vim-sort-motion-2018-07-15";
+    pname = "vim-sort-motion";
+    version = "2018-07-15";
     src = fetchFromGitHub {
       owner = "christoomey";
       repo = "vim-sort-motion";
@@ -3102,7 +3435,8 @@
   };
 
   vim-speeddating = buildVimPluginFrom2Nix {
-    name = "vim-speeddating-2018-10-31";
+    pname = "vim-speeddating";
+    version = "2018-10-31";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-speeddating";
@@ -3112,17 +3446,19 @@
   };
 
   vim-startify = buildVimPluginFrom2Nix {
-    name = "vim-startify-2018-12-08";
+    pname = "vim-startify";
+    version = "2018-12-29";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-startify";
-      rev = "5cd4faf2c681c36edfae3aa907d0ab720ff9c6e5";
-      sha256 = "0zs1sxwpi24lfiaz5k5wglm642qrmd8krcv8vjrvg222jq4inhlf";
+      rev = "36db232426c675b6995656aee197e258b933ec34";
+      sha256 = "16mkdk3wyph1c546qs663gy4bl0yk5ga04wsbni66g5bax55mc36";
     };
   };
 
   vim-stylish-haskell = buildVimPluginFrom2Nix {
-    name = "vim-stylish-haskell-2018-08-31";
+    pname = "vim-stylish-haskell";
+    version = "2018-08-31";
     src = fetchFromGitHub {
       owner = "nbouscal";
       repo = "vim-stylish-haskell";
@@ -3132,7 +3468,8 @@
   };
 
   vim-stylishask = buildVimPluginFrom2Nix {
-    name = "vim-stylishask-2018-07-05";
+    pname = "vim-stylishask";
+    version = "2018-07-05";
     src = fetchFromGitHub {
       owner = "alx741";
       repo = "vim-stylishask";
@@ -3142,7 +3479,8 @@
   };
 
   vim-surround = buildVimPluginFrom2Nix {
-    name = "vim-surround-2018-07-23";
+    pname = "vim-surround";
+    version = "2018-07-23";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
@@ -3152,7 +3490,8 @@
   };
 
   vim-SyntaxRange = buildVimPluginFrom2Nix {
-    name = "vim-SyntaxRange-2018-03-09";
+    pname = "vim-SyntaxRange";
+    version = "2018-03-09";
     src = fetchFromGitHub {
       owner = "inkarkat";
       repo = "vim-SyntaxRange";
@@ -3162,7 +3501,8 @@
   };
 
   vim-table-mode = buildVimPluginFrom2Nix {
-    name = "vim-table-mode-2018-10-21";
+    pname = "vim-table-mode";
+    version = "2018-10-21";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-table-mode";
@@ -3172,7 +3512,8 @@
   };
 
   vim-tabpagecd = buildVimPluginFrom2Nix {
-    name = "vim-tabpagecd-2013-11-29";
+    pname = "vim-tabpagecd";
+    version = "2013-11-29";
     src = fetchFromGitHub {
       owner = "kana";
       repo = "vim-tabpagecd";
@@ -3182,7 +3523,8 @@
   };
 
   vim-tbone = buildVimPluginFrom2Nix {
-    name = "vim-tbone-2018-06-28";
+    pname = "vim-tbone";
+    version = "2018-06-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-tbone";
@@ -3192,27 +3534,30 @@
   };
 
   vim-terraform = buildVimPluginFrom2Nix {
-    name = "vim-terraform-2018-11-19";
+    pname = "vim-terraform";
+    version = "2018-12-25";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "9e40fa4f0c38bd4b008a720b3e86c6726846378f";
-      sha256 = "0m5bcmilz6dn67gkka183vkqakpppwgpa8zbwg8qz03fs0mdb98r";
+      rev = "259481e063e79392c25f293f8459462f942dd6f9";
+      sha256 = "0w3kwjd5ywnjkkc3cn765ra8mqqmxvk328b0d14b9hndyhs6v8gi";
     };
   };
 
   vim-test = buildVimPluginFrom2Nix {
-    name = "vim-test-2018-11-22";
+    pname = "vim-test";
+    version = "2018-12-24";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "c4b732003d120d60a2fc009423e34d80fb212651";
-      sha256 = "1s3y44lgxfivhnjkm8xx6gnqs2xqf53p1l3hbs04z07v57xfg0ml";
+      rev = "fceb803bcde722b8a678251defb34f456affb3e3";
+      sha256 = "0g750rrxcgxvimxcpcz9xkjgsdbwnqc3wjvw056ghyy6mvsvq0wj";
     };
   };
 
   vim-textobj-multiblock = buildVimPluginFrom2Nix {
-    name = "vim-textobj-multiblock-2014-06-02";
+    pname = "vim-textobj-multiblock";
+    version = "2014-06-02";
     src = fetchFromGitHub {
       owner = "osyo-manga";
       repo = "vim-textobj-multiblock";
@@ -3222,7 +3567,8 @@
   };
 
   vim-themis = buildVimPluginFrom2Nix {
-    name = "vim-themis-2017-12-27";
+    pname = "vim-themis";
+    version = "2017-12-27";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-themis";
@@ -3232,7 +3578,8 @@
   };
 
   vim-tmux-navigator = buildVimPluginFrom2Nix {
-    name = "vim-tmux-navigator-2018-11-03";
+    pname = "vim-tmux-navigator";
+    version = "2018-11-03";
     src = fetchFromGitHub {
       owner = "christoomey";
       repo = "vim-tmux-navigator";
@@ -3242,7 +3589,8 @@
   };
 
   vim-toml = buildVimPluginFrom2Nix {
-    name = "vim-toml-2018-11-27";
+    pname = "vim-toml";
+    version = "2018-11-27";
     src = fetchFromGitHub {
       owner = "cespare";
       repo = "vim-toml";
@@ -3252,7 +3600,8 @@
   };
 
   vim-trailing-whitespace = buildVimPluginFrom2Nix {
-    name = "vim-trailing-whitespace-2017-09-23";
+    pname = "vim-trailing-whitespace";
+    version = "2017-09-23";
     src = fetchFromGitHub {
       owner = "bronson";
       repo = "vim-trailing-whitespace";
@@ -3262,7 +3611,8 @@
   };
 
   vim-tsx = buildVimPluginFrom2Nix {
-    name = "vim-tsx-2017-03-16";
+    pname = "vim-tsx";
+    version = "2017-03-16";
     src = fetchFromGitHub {
       owner = "ianks";
       repo = "vim-tsx";
@@ -3272,17 +3622,19 @@
   };
 
   vim-unimpaired = buildVimPluginFrom2Nix {
-    name = "vim-unimpaired-2018-07-26";
+    pname = "vim-unimpaired";
+    version = "2018-12-20";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-unimpaired";
-      rev = "d6325994b3c16ce36fd494c47dae4dab8d21a3da";
-      sha256 = "0l5g3xq0azplaq3i2rblg8d61czpj47k0126zi8x48na9sj0aslv";
+      rev = "9da253e92ca8444be9f67a5b0086c9213b8772e9";
+      sha256 = "0s5jvc618nncsc4dzgr30nf2xfm71jpdsxq90gnxm1730fyln8f3";
     };
   };
 
   vim-vinegar = buildVimPluginFrom2Nix {
-    name = "vim-vinegar-2018-08-06";
+    pname = "vim-vinegar";
+    version = "2018-08-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-vinegar";
@@ -3292,7 +3644,8 @@
   };
 
   vim-visualstar = buildVimPluginFrom2Nix {
-    name = "vim-visualstar-2015-08-27";
+    pname = "vim-visualstar";
+    version = "2015-08-27";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-visualstar";
@@ -3302,7 +3655,8 @@
   };
 
   vim-vue = buildVimPluginFrom2Nix {
-    name = "vim-vue-2018-11-11";
+    pname = "vim-vue";
+    version = "2018-11-11";
     src = fetchFromGitHub {
       owner = "posva";
       repo = "vim-vue";
@@ -3312,17 +3666,19 @@
   };
 
   vim-wakatime = buildVimPluginFrom2Nix {
-    name = "vim-wakatime-2018-11-25";
+    pname = "vim-wakatime";
+    version = "2018-12-19";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "fe33dfaf90d339ef54310c154e66970ef08c8611";
-      sha256 = "1wnsld5fy464s8wfz78d27hdlmk3bimyawmvvqg7h8drm3b24zbx";
+      rev = "227099fba9c60f58c520ec055c79335405d11668";
+      sha256 = "011wjh5iwcp0ixbyfry2rgjiwz46dc1iilhi6zlixkf3lk2qbfih";
     };
   };
 
   vim-watchdogs = buildVimPluginFrom2Nix {
-    name = "vim-watchdogs-2017-12-03";
+    pname = "vim-watchdogs";
+    version = "2017-12-03";
     src = fetchFromGitHub {
       owner = "osyo-manga";
       repo = "vim-watchdogs";
@@ -3332,7 +3688,8 @@
   };
 
   vim-wordy = buildVimPluginFrom2Nix {
-    name = "vim-wordy-2018-03-10";
+    pname = "vim-wordy";
+    version = "2018-03-10";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-wordy";
@@ -3342,7 +3699,8 @@
   };
 
   vim-xdebug = buildVimPluginFrom2Nix {
-    name = "vim-xdebug-2012-08-15";
+    pname = "vim-xdebug";
+    version = "2012-08-15";
     src = fetchFromGitHub {
       owner = "joonty";
       repo = "vim-xdebug";
@@ -3352,7 +3710,8 @@
   };
 
   vim-xkbswitch = buildVimPluginFrom2Nix {
-    name = "vim-xkbswitch-2017-03-27";
+    pname = "vim-xkbswitch";
+    version = "2017-03-27";
     src = fetchFromGitHub {
       owner = "lyokha";
       repo = "vim-xkbswitch";
@@ -3362,7 +3721,8 @@
   };
 
   vim-yapf = buildVimPluginFrom2Nix {
-    name = "vim-yapf-2018-10-04";
+    pname = "vim-yapf";
+    version = "2018-10-04";
     src = fetchFromGitHub {
       owner = "mindriot101";
       repo = "vim-yapf";
@@ -3372,7 +3732,8 @@
   };
 
   vim2hs = buildVimPluginFrom2Nix {
-    name = "vim2hs-2014-04-16";
+    pname = "vim2hs";
+    version = "2014-04-16";
     src = fetchFromGitHub {
       owner = "dag";
       repo = "vim2hs";
@@ -3382,7 +3743,8 @@
   };
 
   vimoutliner = buildVimPluginFrom2Nix {
-    name = "vimoutliner-2018-07-04";
+    pname = "vimoutliner";
+    version = "2018-07-04";
     src = fetchFromGitHub {
       owner = "vimoutliner";
       repo = "vimoutliner";
@@ -3392,7 +3754,8 @@
   };
 
   vimpreviewpandoc = buildVimPluginFrom2Nix {
-    name = "vimpreviewpandoc-2018-11-05";
+    pname = "vimpreviewpandoc";
+    version = "2018-11-05";
     src = fetchFromGitHub {
       owner = "tex";
       repo = "vimpreviewpandoc";
@@ -3402,7 +3765,8 @@
   };
 
   vimproc-vim = buildVimPluginFrom2Nix {
-    name = "vimproc-vim-2018-10-11";
+    pname = "vimproc-vim";
+    version = "2018-10-11";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "vimproc.vim";
@@ -3412,7 +3776,8 @@
   };
 
   vimshell-vim = buildVimPluginFrom2Nix {
-    name = "vimshell-vim-2018-06-02";
+    pname = "vimshell-vim";
+    version = "2018-06-02";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "vimshell.vim";
@@ -3422,17 +3787,19 @@
   };
 
   vimtex = buildVimPluginFrom2Nix {
-    name = "vimtex-2018-12-12";
+    pname = "vimtex";
+    version = "2018-12-28";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "6165a4421e7605a96d9b6c83f3ac853bf2f90a03";
-      sha256 = "01yp79w53wyxqjd1dnba069pmj1b56nl52x2r3mfzzldm1p5gx4k";
+      rev = "2433268711e72735700687f2d4aa785305c9d025";
+      sha256 = "1zppdlaj9sbq4qhxmydw38pzajyddl2g319zyzbi4a0g1p4b2hqf";
     };
   };
 
   vimux = buildVimPluginFrom2Nix {
-    name = "vimux-2017-10-24";
+    pname = "vimux";
+    version = "2017-10-24";
     src = fetchFromGitHub {
       owner = "benmills";
       repo = "vimux";
@@ -3442,7 +3809,8 @@
   };
 
   vimwiki = buildVimPluginFrom2Nix {
-    name = "vimwiki-2018-10-12";
+    pname = "vimwiki";
+    version = "2018-10-12";
     src = fetchFromGitHub {
       owner = "vimwiki";
       repo = "vimwiki";
@@ -3452,7 +3820,8 @@
   };
 
   vissort-vim = buildVimPluginFrom2Nix {
-    name = "vissort-vim-2014-01-31";
+    pname = "vissort-vim";
+    version = "2014-01-31";
     src = fetchFromGitHub {
       owner = "navicore";
       repo = "vissort.vim";
@@ -3462,7 +3831,8 @@
   };
 
   vundle = buildVimPluginFrom2Nix {
-    name = "vundle-2018-02-03";
+    pname = "vundle";
+    version = "2018-02-03";
     src = fetchFromGitHub {
       owner = "gmarik";
       repo = "vundle";
@@ -3472,7 +3842,8 @@
   };
 
   wal-vim = buildVimPluginFrom2Nix {
-    name = "wal-vim-2018-06-04";
+    pname = "wal-vim";
+    version = "2018-06-04";
     src = fetchFromGitHub {
       owner = "dylanaraps";
       repo = "wal.vim";
@@ -3482,7 +3853,8 @@
   };
 
   webapi-vim = buildVimPluginFrom2Nix {
-    name = "webapi-vim-2018-03-14";
+    pname = "webapi-vim";
+    version = "2018-03-14";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "webapi-vim";
@@ -3492,7 +3864,8 @@
   };
 
   wombat256-vim = buildVimPluginFrom2Nix {
-    name = "wombat256-vim-2010-10-18";
+    pname = "wombat256-vim";
+    version = "2010-10-18";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "wombat256.vim";
@@ -3502,7 +3875,8 @@
   };
 
   workflowish = buildVimPluginFrom2Nix {
-    name = "workflowish-2015-12-03";
+    pname = "workflowish";
+    version = "2015-12-03";
     src = fetchFromGitHub {
       owner = "lukaszkorecki";
       repo = "workflowish";
@@ -3512,7 +3886,8 @@
   };
 
   xptemplate = buildVimPluginFrom2Nix {
-    name = "xptemplate-2017-12-06";
+    pname = "xptemplate";
+    version = "2017-12-06";
     src = fetchFromGitHub {
       owner = "drmingdrmer";
       repo = "xptemplate";
@@ -3522,7 +3897,8 @@
   };
 
   xterm-color-table-vim = buildVimPluginFrom2Nix {
-    name = "xterm-color-table-vim-2014-01-01";
+    pname = "xterm-color-table-vim";
+    version = "2014-01-01";
     src = fetchFromGitHub {
       owner = "guns";
       repo = "xterm-color-table.vim";
@@ -3532,7 +3908,8 @@
   };
 
   YankRing-vim = buildVimPluginFrom2Nix {
-    name = "YankRing-vim-2015-07-29";
+    pname = "YankRing-vim";
+    version = "2015-07-29";
     src = fetchFromGitHub {
       owner = "vim-scripts";
       repo = "YankRing.vim";
@@ -3542,7 +3919,8 @@
   };
 
   yats-vim = buildVimPluginFrom2Nix {
-    name = "yats-vim-2018-12-15";
+    pname = "yats-vim";
+    version = "2018-12-15";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
@@ -3553,18 +3931,20 @@
   };
 
   youcompleteme = buildVimPluginFrom2Nix {
-    name = "youcompleteme-2018-12-12";
+    pname = "youcompleteme";
+    version = "2018-12-28";
     src = fetchFromGitHub {
       owner = "valloric";
       repo = "youcompleteme";
-      rev = "0790dc99b441f3c12fb205faf56054ccf0f4c234";
-      sha256 = "0nc629x7gsqqjmdy2psj7x3z1py3hksifwbf3fq9m9kr23zhl6ql";
+      rev = "c209cdbbfcc90c9ab8fa078beb2fe668743b4d0e";
+      sha256 = "0gq66mcrz4xrn3x6mccgm08gz3cjgb99649548wz8rs5nafvid6r";
       fetchSubmodules = true;
     };
   };
 
   YUNOcommit-vim = buildVimPluginFrom2Nix {
-    name = "YUNOcommit-vim-2014-11-26";
+    pname = "YUNOcommit-vim";
+    version = "2014-11-26";
     src = fetchFromGitHub {
       owner = "esneider";
       repo = "YUNOcommit.vim";
@@ -3574,7 +3954,8 @@
   };
 
   zeavim-vim = buildVimPluginFrom2Nix {
-    name = "zeavim-vim-2018-03-22";
+    pname = "zeavim-vim";
+    version = "2018-03-22";
     src = fetchFromGitHub {
       owner = "KabbAmine";
       repo = "zeavim.vim";
@@ -3584,7 +3965,8 @@
   };
 
   zenburn = buildVimPluginFrom2Nix {
-    name = "zenburn-2018-04-29";
+    pname = "zenburn";
+    version = "2018-04-29";
     src = fetchFromGitHub {
       owner = "jnurmine";
       repo = "zenburn";
@@ -3594,7 +3976,8 @@
   };
 
   zig-vim = buildVimPluginFrom2Nix {
-    name = "zig-vim-2018-12-12";
+    pname = "zig-vim";
+    version = "2018-12-12";
     src = fetchFromGitHub {
       owner = "zig-lang";
       repo = "zig.vim";
@@ -3604,7 +3987,8 @@
   };
 
   zoomwintab-vim = buildVimPluginFrom2Nix {
-    name = "zoomwintab-vim-2018-04-14";
+    pname = "zoomwintab-vim";
+    version = "2018-04-14";
     src = fetchFromGitHub {
       owner = "troydm";
       repo = "zoomwintab.vim";
@@ -3612,4 +3996,6 @@
       sha256 = "04pv7mmlz9ccgzfg8sycqxplaxpbyh7pmhwcw47b2xwnazjz49d6";
     };
   };
-}
\ No newline at end of file
+
+});
+in lib.fix' (lib.extends overrides packages)
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index e7d95fb50b5..307681111ac 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -1,10 +1,9 @@
-{config, lib, stdenv
-, python, cmake, vim, vimUtils, ruby
+{ lib, stdenv
+, python, cmake, vim, ruby
 , which, fetchgit, llvmPackages, rustPlatform
 , xkb_switch, fzf, skim
 , python3, boost, icu, ncurses
 , ycmd, rake
-, pythonPackages, python3Packages
 , substituteAll
 , languagetool
 , Cocoa, CoreFoundation, CoreServices
@@ -17,34 +16,22 @@
 , impl, iferr, gocode, gocode-gomod, go-tools
 }:
 
-let
-
-  _skim = skim;
-
-in
-
-generated:
-
-with generated;
-
-{
+self: super: {
 
   vim2nix = buildVimPluginFrom2Nix {
     name = "vim2nix";
     src = ./vim2nix;
-    dependencies = ["vim-addon-manager"];
+    dependencies = with super; [ vim-addon-manager ];
   };
 
   fzfWrapper = buildVimPluginFrom2Nix {
     name = fzf.name;
     src = fzf.src;
-    dependencies = [];
   };
 
   skim = buildVimPluginFrom2Nix {
-    name = _skim.name;
-    src = _skim.vim;
-    dependencies = [];
+    name = skim.name;
+    src = skim.vim;
   };
 
   LanguageClient-neovim = let
@@ -70,7 +57,6 @@ with generated;
     name = "LanguageClient-neovim-2018-09-07";
     src = LanguageClient-neovim-src;
 
-    dependencies = [];
     propogatedBuildInputs = [ LanguageClient-neovim-bin ];
 
     preFixup = ''
@@ -87,10 +73,9 @@ with generated;
       rev = "69cce66defdf131958f152ea7a7b26c21ca9d009";
       sha256 = "1363b2fmv69axrl2hm74dmx51cqd8k7rk116890qllnapzw1zjgc";
     };
-    dependencies = [];
   };
 
-  clang_complete = clang_complete.overrideAttrs(old: {
+  clang_complete = super.clang_complete.overrideAttrs(old: {
     # In addition to the arguments you pass to your compiler, you also need to
     # specify the path of the C++ std header (if you are using C++).
     # These usually implicitly set by cc-wrapper around clang (pkgs/build-support/cc-wrapper).
@@ -107,14 +92,14 @@ with generated;
     '';
   });
 
-  clighter8 = clighter8.overrideAttrs(old: {
+  clighter8 = super.clighter8.overrideAttrs(old: {
     preFixup = ''
       sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc.lib}/lib/libclang.so')|" \
         -i "$out"/share/vim-plugins/clighter8/plugin/clighter8.vim
     '';
   });
 
-  command-t = command-t.overrideAttrs(old: {
+  command-t = super.command-t.overrideAttrs(old: {
     buildInputs = [ ruby rake ];
     buildPhase = ''
       rake make
@@ -122,7 +107,7 @@ with generated;
     '';
   });
 
-  cpsm = cpsm.overrideAttrs(old: {
+  cpsm = super.cpsm.overrideAttrs(old: {
     buildInputs = [
       python3
       stdenv
@@ -138,7 +123,7 @@ with generated;
     '';
   });
 
-  ctrlp-cmatcher = ctrlp-cmatcher.overrideAttrs(old: {
+  ctrlp-cmatcher = super.ctrlp-cmatcher.overrideAttrs(old: {
     buildInputs = [ python ];
     buildPhase = ''
       patchShebangs .
@@ -146,7 +131,7 @@ with generated;
     '';
   });
 
-  deoplete-go = deoplete-go.overrideAttrs(old: {
+  deoplete-go = super.deoplete-go.overrideAttrs(old: {
     buildInputs = [ python3 ];
     buildPhase = ''
       pushd ./rplugin/python3/deoplete/ujson
@@ -156,114 +141,106 @@ with generated;
    '';
   });
 
-  ensime-vim = ensime-vim.overrideAttrs(old: {
+  ensime-vim = super.ensime-vim.overrideAttrs(old: {
     passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
-    dependencies = ["vimproc" "vimshell" "self" "forms"];
-  });
-
-  forms = forms.overrideAttrs(old: {
-    dependencies = ["self"];
+    dependencies = with super; [ vimproc-vim vimshell-vim super.self forms ];
   });
 
-  gist-vim = gist-vim.overrideAttrs(old: {
-    dependencies = ["webapi-vim"];
+  forms = super.forms.overrideAttrs(old: {
+    dependencies = with super; [ super.self ];
   });
 
-  gitv = gitv.overrideAttrs(old: {
-    dependencies = ["gitv"];
+  gist-vim = super.gist-vim.overrideAttrs(old: {
+    dependencies = with super; [ webapi-vim ];
   });
 
-  ncm2 = ncm2.overrideAttrs(old: {
-    dependencies = ["nvim-yarp"];
+  ncm2 = super.ncm2.overrideAttrs(old: {
+    dependencies = with super; [ nvim-yarp ];
   });
 
-  ncm2-ultisnips = ncm2-ultisnips.overrideAttrs(old: {
-    dependencies = ["ultisnips"];
+  ncm2-jedi = super.ncm2-jedi.overrideAttrs(old: {
+    dependencies = with super; [ nvim-yarp ncm2 ];
+    passthru.python3Dependencies = ps: with ps; [ jedi ];
   });
 
-  taglist-vim = taglist-vim.overrideAttrs(old: {
-    setSourceRoot = ''
-      export sourceRoot=taglist
-      mkdir taglist
-      mv doc taglist
-      mv plugin taglist
-    '';
+  ncm2-ultisnips = super.ncm2-ultisnips.overrideAttrs(old: {
+    dependencies = with super; [ ultisnips ];
   });
 
-  vimshell-vim = vimshell-vim.overrideAttrs(old: {
-    dependencies = [ "vimproc-vim" ];
+  vimshell-vim = super.vimshell-vim.overrideAttrs(old: {
+    dependencies = with super; [ vimproc-vim ];
   });
 
-  vim-addon-manager = vim-addon-manager.overrideAttrs(old: {
+  vim-addon-manager = super.vim-addon-manager.overrideAttrs(old: {
     buildInputs = stdenv.lib.optional stdenv.isDarwin Cocoa;
   });
 
-  vim-addon-actions = vim-addon-actions.overrideAttrs(old: {
-    dependencies = [ "vim-addon-mw-utils" "tlib" ];
+  vim-addon-actions = super.vim-addon-actions.overrideAttrs(old: {
+    dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
 
-  vim-addon-async = vim-addon-async.overrideAttrs(old: {
-    dependencies = [ "vim-addon-signs" ];
+  vim-addon-async = super.vim-addon-async.overrideAttrs(old: {
+    dependencies = with super; [ vim-addon-signs ];
   });
 
-  vim-addon-background-cmd = vim-addon-background-cmd.overrideAttrs(old: {
-    dependencies = [ "vim-addon-mw-utils" ];
+  vim-addon-background-cmd = super.vim-addon-background-cmd.overrideAttrs(old: {
+    dependencies = with super; [ vim-addon-mw-utils ];
   });
 
-  vim-addon-completion = vim-addon-completion.overrideAttrs(old: {
-    dependencies = [ "tlib" ];
+  vim-addon-completion = super.vim-addon-completion.overrideAttrs(old: {
+    dependencies = with super; [ tlib_vim ];
   });
 
-  vim-addon-goto-thing-at-cursor = vim-addon-goto-thing-at-cursor.overrideAttrs(old: {
-    dependencies = [ "tlib" ];
+  vim-addon-goto-thing-at-cursor = super.vim-addon-goto-thing-at-cursor.overrideAttrs(old: {
+    dependencies = with super; [ tlib_vim ];
   });
 
-  vim-addon-mru = vim-addon-mru.overrideAttrs(old: {
-    dependencies = ["vim-addon-other" "vim-addon-mw-utils"];
+  vim-addon-mru = super.vim-addon-mru.overrideAttrs(old: {
+    dependencies = with super; [ vim-addon-other vim-addon-mw-utils ];
   });
 
-  vim-addon-nix = vim-addon-nix.overrideAttrs(old: {
-    dependencies = [
-      "vim-addon-completion"
-      "vim-addon-goto-thing-at-cursor"
-      "vim-addon-errorformats"
-      "vim-addon-actions"
-      "vim-addon-mw-utils" "tlib"
+  vim-addon-nix = super.vim-addon-nix.overrideAttrs(old: {
+    dependencies = with super; [
+      vim-addon-completion
+      vim-addon-goto-thing-at-cursor
+      vim-addon-errorformats
+      vim-addon-actions
+      vim-addon-mw-utils tlib_vim
     ];
   });
 
-  vim-addon-sql = vim-addon-sql.overrideAttrs(old: {
-    dependencies = ["vim-addon-completion" "vim-addon-background-cmd" "tlib"];
+  vim-addon-sql = super.vim-addon-sql.overrideAttrs(old: {
+    dependencies = with super; [ vim-addon-completion vim-addon-background-cmd tlib_vim ];
   });
 
-  vim-addon-syntax-checker = vim-addon-syntax-checker.overrideAttrs(old: {
-    dependencies = ["vim-addon-mw-utils" "tlib"];
+  vim-addon-syntax-checker = super.vim-addon-syntax-checker.overrideAttrs(old: {
+    dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
 
-  vim-addon-toggle-buffer = vim-addon-toggle-buffer.overrideAttrs(old: {
-    dependencies = [ "vim-addon-mw-utils" "tlib" ];
+  vim-addon-toggle-buffer = super.vim-addon-toggle-buffer.overrideAttrs(old: {
+    dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
 
-  vim-addon-xdebug = vim-addon-xdebug.overrideAttrs(old: {
-    dependencies = [ "WebAPI" "vim-addon-mw-utils" "vim-addon-signs" "vim-addon-async" ];
+  vim-addon-xdebug = super.vim-addon-xdebug.overrideAttrs(old: {
+    dependencies = with super; [ webapi-vim vim-addon-mw-utils vim-addon-signs vim-addon-async ];
   });
 
-  vim-bazel = vim-bazel.overrideAttrs(old: {
-    dependencies = ["maktaba"];
+  vim-bazel = super.vim-bazel.overrideAttrs(old: {
+    dependencies = with super; [ vim-maktaba ];
   });
 
-  vim-codefmt = vim-codefmt.overrideAttrs(old: {
-    dependencies = ["maktaba"];
+  vim-codefmt = super.vim-codefmt.overrideAttrs(old: {
+    dependencies = with super; [ vim-maktaba ];
   });
 
-  vim-easytags = vim-easytags.overrideAttrs(old: {
-    dependencies = ["vim-misc"];
+  vim-easytags = super.vim-easytags.overrideAttrs(old: {
+    dependencies = with super; [ vim-misc ];
   });
 
   # change the go_bin_path to point to a path in the nix store. See the code in
   # fatih/vim-go here
   # https://github.com/fatih/vim-go/blob/155836d47052ea9c9bac81ba3e937f6f22c8e384/autoload/go/path.vim#L154-L159
-  vim-go = vim-go.overrideAttrs(old: let
+  vim-go = super.vim-go.overrideAttrs(old: let
     binPath = lib.makeBinPath [
       asmfmt
       delve
@@ -291,7 +268,7 @@ with generated;
     '';
   });
 
-  vim-grammarous = vim-grammarous.overrideAttrs(old: {
+  vim-grammarous = super.vim-grammarous.overrideAttrs(old: {
     # use `:GrammarousCheck` to initialize checking
     # In neovim, you also want to use set
     #   let g:grammarous#show_first_error = 1
@@ -304,31 +281,31 @@ with generated;
     ];
   });
 
-  vim-hier = vim-hier.overrideAttrs(old: {
+  vim-hier = super.vim-hier.overrideAttrs(old: {
     buildInputs = [ vim ];
   });
 
-  vim-isort = vim-isort.overrideAttrs(old: {
+  vim-isort = super.vim-isort.overrideAttrs(old: {
     postPatch = ''
       substituteInPlace ftplugin/python_vimisort.vim \
-        --replace 'import vim' 'import vim; import sys; sys.path.append("${pythonPackages.isort}/${python.sitePackages}")'
+        --replace 'import vim' 'import vim; import sys; sys.path.append("${python.pkgs.isort}/${python.sitePackages}")'
     '';
   });
 
-  vim-snipmate = vim-snipmate.overrideAttrs(old: {
-    dependencies = ["vim-addon-mw-utils" "tlib"];
+  vim-snipmate = super.vim-snipmate.overrideAttrs(old: {
+    dependencies = with super; [ vim-addon-mw-utils tlib_vim ];
   });
 
 
-  vim-wakatime = vim-wakatime.overrideAttrs(old: {
+  vim-wakatime = super.vim-wakatime.overrideAttrs(old: {
     buildInputs = [ python ];
   });
 
-  vim-xdebug = vim-xdebug.overrideAttrs(old: {
+  vim-xdebug = super.vim-xdebug.overrideAttrs(old: {
     postInstall = false;
   });
 
-  vim-xkbswitch = vim-xkbswitch.overrideAttrs(old: {
+  vim-xkbswitch = super.vim-xkbswitch.overrideAttrs(old: {
     patchPhase = ''
       substituteInPlace plugin/xkbswitch.vim \
         --replace /usr/local/lib/libxkbswitch.so ${xkb_switch}/lib/libxkbswitch.so
@@ -336,14 +313,14 @@ with generated;
     buildInputs = [ xkb_switch ];
   });
 
-  vim-yapf = vim-yapf.overrideAttrs(old: {
+  vim-yapf = super.vim-yapf.overrideAttrs(old: {
     buildPhase = ''
       substituteInPlace ftplugin/python_yapf.vim \
-        --replace '"yapf"' '"${python3Packages.yapf}/bin/yapf"'
+        --replace '"yapf"' '"${python3.pkgs.yapf}/bin/yapf"'
     '';
   });
 
-  vimproc-vim = vimproc-vim.overrideAttrs(old: {
+  vimproc-vim = super.vimproc-vim.overrideAttrs(old: {
     buildInputs = [ which ];
 
     buildPhase = ''
@@ -355,11 +332,11 @@ with generated;
     '';
   });
 
-  YankRing-vim = YankRing-vim.overrideAttrs(old: {
+  YankRing-vim = super.YankRing-vim.overrideAttrs(old: {
     sourceRoot = ".";
   });
 
-  youcompleteme = youcompleteme.overrideAttrs(old: {
+  youcompleteme = super.youcompleteme.overrideAttrs(old: {
     buildPhase = ''
       substituteInPlace plugin/youcompleteme.vim \
         --replace "'ycm_path_to_python_interpreter', '''" \
@@ -378,9 +355,9 @@ with generated;
     };
   });
 
-  jedi-vim = jedi-vim.overrideAttrs(old: {
+  jedi-vim = super.jedi-vim.overrideAttrs(old: {
     # checking for python3 support in vim would be neat, too, but nobody else seems to care
-    buildInputs = [ python3Packages.jedi ];
+    buildInputs = [ python3.pkgs.jedi ];
     meta = {
       description = "code-completion for python using python-jedi";
       license = stdenv.lib.licenses.mit;
diff --git a/pkgs/misc/vim-plugins/update.py b/pkgs/misc/vim-plugins/update.py
index 3f5e255ae21..d3412822fdf 100755
--- a/pkgs/misc/vim-plugins/update.py
+++ b/pkgs/misc/vim-plugins/update.py
@@ -296,8 +296,10 @@ def generate_nix(plugins: List[Tuple[str, str, Plugin]]):
         f.write(header)
         f.write(
             """
-{ buildVimPluginFrom2Nix, fetchFromGitHub }:
+{ lib, buildVimPluginFrom2Nix, fetchFromGitHub, overrides ? (self: super: {}) }:
 
+let
+  packages = ( self:
 {"""
         )
         for owner, repo, plugin in sorted_plugins:
@@ -309,7 +311,8 @@ def generate_nix(plugins: List[Tuple[str, str, Plugin]]):
             f.write(
                 f"""
   {plugin.normalized_name} = buildVimPluginFrom2Nix {{
-    name = "{plugin.normalized_name}-{plugin.version}";
+    pname = "{plugin.normalized_name}";
+    version = "{plugin.version}";
     src = fetchFromGitHub {{
       owner = "{owner}";
       repo = "{repo}";
@@ -319,7 +322,10 @@ def generate_nix(plugins: List[Tuple[str, str, Plugin]]):
   }};
 """
             )
-        f.write("}")
+        f.write("""
+});
+in lib.fix' (lib.extends overrides packages)
+""")
     print("updated generated.nix")
 
 
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 7bb07aa3e9d..119a996b5bd 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -192,11 +192,13 @@ mkasa/lushtags
 morhetz/gruvbox
 motus/pig.vim
 mpickering/hlint-refactor-vim
+natebosch/vim-lsc
 nathanaelkane/vim-indent-guides
 navicore/vissort.vim
 nbouscal/vim-stylish-haskell
 ncm2/ncm2
 ncm2/ncm2-bufword
+ncm2/ncm2-jedi
 ncm2/ncm2-path
 ncm2/ncm2-tmux
 ncm2/ncm2-ultisnips
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix
index 7122e2a4230..61e89521c8c 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/misc/vim-plugins/vim-utils.nix
@@ -1,4 +1,4 @@
-{stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText, writeScriptBin
+{stdenv, vim, vimPlugins, vim_configurable, neovim, buildEnv, writeText, writeScriptBin
 , nix-prefetch-hg, nix-prefetch-git }:
 
 /*
@@ -150,23 +150,35 @@ vim_with_plugins can be installed like any other application within Nix.
 let
   inherit (stdenv) lib;
 
-  toNames = x:
-      if builtins.isString x then [x]
-      else (lib.optional (x ? name) x.name)
-            ++ (x.names or []);
-  findDependenciesRecursively = {knownPlugins, names}:
+  # transitive closure of plugin dependencies
+  transitiveClosure = knownPlugins: plugin:
+  let
+    # vam puts out a list of strings as the dependency list, we need to be able to deal with that.
+    # Because of that, "plugin" may be a string or a derivation. If it is a string, it is resolved
+    # using `knownPlugins`. Otherwise `knownPlugins` can be null.
+    knownPlugins' = if knownPlugins == null then vimPlugins else knownPlugins;
+    pluginDrv = if builtins.isString plugin then knownPlugins'.${plugin} else plugin;
+  in
+    [ pluginDrv ] ++ (
+      lib.unique (builtins.concatLists (map (transitiveClosure knownPlugins) pluginDrv.dependencies or []))
+    );
 
-    let depsOf = name: (builtins.getAttr name knownPlugins).dependencies or [];
+  findDependenciesRecursively = knownPlugins: plugins: lib.concatMap (transitiveClosure knownPlugins) plugins;
 
-        recurseNames = path: names: lib.concatMap (name: recurse ([name]++path)) names;
+  attrnamesToPlugins = { knownPlugins, names }:
+    map (name: if builtins.isString name then knownPlugins.${name} else name) knownPlugins;
 
-        recurse = path:
-          let name = builtins.head path;
-          in if builtins.elem name (builtins.tail path)
-            then throw "recursive vim dependencies"
-            else [name] ++ recurseNames path (depsOf name);
+  pluginToAttrname = plugin:
+    plugin.pname;
+
+  pluginsToAttrnames = plugins: map pluginToAttrname plugins;
+
+  vamDictToNames = x:
+      if builtins.isString x then [x]
+      else (lib.optional (x ? name) x.name)
+            ++ (x.names or []);
 
-    in lib.uniqList { inputList = recurseNames [] names; };
+  rtpPath = "share/vim-plugins";
 
   vimrcFile = {
     packages ? null,
@@ -183,11 +195,11 @@ let
       (let
         knownPlugins = pathogen.knownPlugins or vimPlugins;
 
-        plugins = map (name: knownPlugins.${name}) (findDependenciesRecursively { inherit knownPlugins; names = pathogen.pluginNames; });
+        plugins = findDependenciesRecursively knownPlugins pathogen.pluginNames;
 
         pluginsEnv = buildEnv {
           name = "pathogen-plugin-env";
-          paths = map (x: "${x}/${vimPlugins.rtpPath}") plugins;
+          paths = map (x: "${x}/${rtpPath}") plugins;
         };
       in
       ''
@@ -228,7 +240,7 @@ let
       (let
         knownPlugins = vam.knownPlugins or vimPlugins;
 
-        names = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; };
+        plugins = findDependenciesRecursively knownPlugins (lib.concatMap vamDictToNames vam.pluginDictionaries);
 
         # Vim almost reads JSON, so eventually JSON support should be added to Nix
         # TODO: proper quoting
@@ -242,9 +254,9 @@ let
       in assert builtins.hasAttr "vim-addon-manager" knownPlugins;
       ''
         let g:nix_plugin_locations = {}
-        ${lib.concatMapStrings (name: ''
-          let g:nix_plugin_locations['${name}'] = "${knownPlugins.${name}.rtp}"
-        '') names}
+        ${lib.concatMapStrings (plugin: ''
+          let g:nix_plugin_locations['${plugin.pname}'] = "${plugin.rtp}"
+        '') plugins}
         let g:nix_plugin_locations['vim-addon-manager'] = "${knownPlugins."vim-addon-manager".rtp}"
 
         let g:vim_addon_manager = {}
@@ -281,8 +293,18 @@ let
       (let
         link = (packageName: dir: pluginPath: "ln -sf ${pluginPath}/share/vim-plugins/* $out/pack/${packageName}/${dir}");
         packageLinks = (packageName: {start ? [], opt ? []}:
+        let
+          # `nativeImpl` expects packages to be derivations, not strings (as
+          # opposed to older implementations that have to maintain backwards
+          # compatibility). Therefore we don't need to deal with "knownPlugins"
+          # and can simply pass `null`.
+          depsOfOptionalPlugins = lib.subtractLists opt (findDependenciesRecursively null opt);
+          startWithDeps = findDependenciesRecursively null start;
+        in
           ["mkdir -p $out/pack/${packageName}/start"]
-          ++ (builtins.map (link packageName "start") start)
+          # To avoid confusion, even dependencies of optional plugins are added
+          # to `start` (except if they are explicitly listed as optional plugins).
+          ++ (builtins.map (link packageName "start") (lib.unique (startWithDeps ++ depsOfOptionalPlugins)))
           ++ ["mkdir -p $out/pack/${packageName}/opt"]
           ++ (builtins.map (link packageName "opt") opt)
         );
@@ -381,62 +403,11 @@ rec {
     '';
   };
 
-  rtpPath = "share/vim-plugins";
-
-  vimHelpTags = ''
-  vimHelpTags(){
-    if [ -d "$1/doc" ]; then
-      ${vim}/bin/vim -N -u NONE -i NONE -n -E -s -c "helptags $1/doc" +quit! || echo "docs to build failed"
-    fi
-  }
-  '';
-
-  addRtp = path: attrs: derivation:
-    derivation // { rtp = "${derivation}/${path}"; } // {
-      overrideAttrs = f: buildVimPlugin (attrs // f attrs);
-    };
-
-  buildVimPlugin = a@{
-    name,
-    namePrefix ? "vimplugin-",
-    src,
-    unpackPhase ? "",
-    configurePhase ? "",
-    buildPhase ? "",
-    preInstall ? "",
-    postInstall ? "",
-    path ? (builtins.parseDrvName name).name,
-    addonInfo ? null,
-    ...
-  }:
-    addRtp "${rtpPath}/${path}" a (stdenv.mkDerivation (a // {
-      name = namePrefix + name;
-
-      inherit unpackPhase configurePhase buildPhase addonInfo preInstall postInstall;
-
-      installPhase = ''
-        runHook preInstall
-
-        target=$out/${rtpPath}/${path}
-        mkdir -p $out/${rtpPath}
-        cp -r . $target
-        ${vimHelpTags}
-        vimHelpTags $target
-        if [ -n "$addonInfo" ]; then
-          echo "$addonInfo" > $target/addon-info.json
-        fi
-
-        runHook postInstall
-      '';
-    }));
-
   vim_with_vim2nix = vim_configurable.customize { name = "vim"; vimrcConfig.vam.pluginDictionaries = [ "vim-addon-vim2nix" ]; };
 
-  buildVimPluginFrom2Nix = a: buildVimPlugin ({
-    buildPhase = ":";
-    configurePhase =":";
-  } // a);
+  inherit (import ./build-vim-plugin.nix { inherit stdenv rtpPath vim; }) buildVimPlugin buildVimPluginFrom2Nix;
 
+  # used to figure out which python dependencies etc. neovim needs
   requiredPlugins = {
     packages ? {},
     givenKnownPlugins ? null,
@@ -450,13 +421,13 @@ rec {
                      if vam != null && vam ? knownPlugins then vam.knownPlugins else
                      if pathogen != null && pathogen ? knownPlugins then pathogen.knownPlugins else
                      vimPlugins;
-      pathogenNames = map (name: knownPlugins.${name}) (findDependenciesRecursively { inherit knownPlugins; names = pathogen.pluginNames; });
-      vamNames = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; };
-      names = (lib.optionals (pathogen != null) pathogenNames) ++
-              (lib.optionals (vam != null) vamNames);
-      nonNativePlugins = map (name: knownPlugins.${name}) names ++ (lib.optionals (plug != null) plug.plugins);
+      pathogenPlugins = findDependenciesRecursively knownPlugins pathogen.pluginNames;
+      vamPlugins = findDependenciesRecursively knownPlugins (lib.concatMap vamDictToNames vam.pluginDictionaries);
+      nonNativePlugins = (lib.optionals (pathogen != null) pathogenPlugins)
+                      ++ (lib.optionals (vam != null) vamPlugins)
+                      ++ (lib.optionals (plug != null) plug.plugins);
       nativePluginsConfigs = lib.attrsets.attrValues packages;
-      nativePlugins = lib.concatMap ({start?[], opt?[]}: start++opt) nativePluginsConfigs;
+      nativePlugins = lib.concatMap ({start?[], opt?[], knownPlugins?vimPlugins}: start++opt) nativePluginsConfigs;
     in
       nativePlugins ++ nonNativePlugins;
 
@@ -481,4 +452,9 @@ rec {
     name = "vim-with-vim-addon-nix";
     vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-nix ];
   };
+
+  # only neovim makes use of `requiredPlugins`, test this here
+  test_nvim_with_vim_nix_using_pathogen = neovim.override {
+    configure.pathogen.pluginNames = [ "vim-nix" ];
+  };
 }
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index c23a2148143..71574998885 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -1,30 +1,22 @@
-{ stdenv, fetchurl, xar, xz, cpio, pkgs, python, lib }:
+{ stdenv, fetchurl, xar, cpio, pkgs, python, pbzx, lib }:
 
 let
-  # TODO: make this available to other packages and generalize the unpacking a bit
-  # from https://gist.github.com/pudquick/ff412bcb29c9c1fa4b8d
-  # This isn't needed until we get to SDK 10.11, but that presents other challenges
-  # unpbzx = fetchurl {
-  #   url    = "https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py";
-  #   sha256 = "0jgp6qbfl36i0jlz7as5zk2w20z4ca8wlrhdw49lwsld6wi3rfhc";
-  # };
-
   # sadly needs to be exported because security_tool needs it
   sdk = stdenv.mkDerivation rec {
-    version = "10.10";
+    version = "10.12";
     name    = "MacOS_SDK-${version}";
 
-    # This URL comes from https://swscan.apple.com/content/catalogs/others/index-10.10.merged-1.sucatalog, which we found by:
+    # This URL comes from https://swscan.apple.com/content/catalogs/others/index-10.12.merged-1.sucatalog, which we found by:
     #  1. Google: site:swscan.apple.com and look for a name that seems appropriate for your version
     #  2. In the resulting file, search for a file called DevSDK ending in .pkg
     #  3. ???
     #  4. Profit
     src = fetchurl {
-      url    = "http://swcdn.apple.com/content/downloads/22/52/031-45139/hcjjv7cm4n6yqk56ict73qqw15ikm5iaql/DevSDK_OSX1010.pkg";
-      sha256 = "08bxa93zw7r4vzs28j9giq2qyk3b68ky6jx1bb9850gflr3nvgq1";
+      url    = "http://swcdn.apple.com/content/downloads/28/09/091-29862/pafhn2u002b9slnrxzy9p86rpedycnjhb5/DevSDK_OSX1012.pkg";
+      sha256 = "1sggc70rypqwcjwr7ciavw8sczwll16cwqxdxrbw7r2qvy3b0nhx";
     };
 
-    buildInputs = [ xar xz cpio python ];
+    buildInputs = [ xar cpio python pbzx ];
 
     phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
     outputs = [ "out" "dev" "man" ];
@@ -37,7 +29,7 @@ let
       start="$(pwd)"
       mkdir -p $out
       cd $out
-      cat $start/Payload | gzip -d | cpio -idm
+      pbzx -n $start/Payload | cpio -idm
 
       mv usr/* .
       rmdir usr
diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
index 19755c270be..ba80ab923bd 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
@@ -32,8 +32,11 @@ appleDerivation {
 
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
-    mkdir -p $out/bin/
-    install Products/Release/* $out/bin/
+    for f in Products/Release/*; do
+      if [ -f $f ]; then
+        install -D $file $out/bin/$(basename $f)
+      done
+    done
 
     for n in 1 8; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix
index 5d9781f3aa4..8d44a17f6ed 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/basic_cmds/default.nix
@@ -13,8 +13,11 @@ appleDerivation rec {
 
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
-    mkdir -p $out/bin/
-    install Products/Release/* $out/bin/
+    for f in Products/Release/*; do
+      if [ -f $f ]; then
+        install -D $file $out/usr/bin/$(basename $f)
+      fi
+    done
 
     for n in 1; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 09f275b8234..a1440c93709 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -232,7 +232,7 @@ let
       hfs = pkgs.darwin.hfs.override { headersOnly = true; };
     };
     libutil         = applePackage "libutil"           "osx-10.12.6"     "0lqdxaj82h8yjbjm856jjz9k2d96k0viimi881akfng08xk1246y" {};
-    libunwind       = applePackage "libunwind"         "osx-10.12.6"     "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk10" {};
+    libunwind       = applePackage "libunwind"         "osx-10.12.6"     "0miffaa41cv0lzf8az5k1j1ng8jvqvxcr4qrlkf3xyj479arbk1b" {};
     mDNSResponder   = applePackage "mDNSResponder"     "osx-10.12.6"     "02ms1p8zlgmprzn65jzr7yaqxykh3zxjcrw0c06aayim6h0dsqfy" {};
     objc4           = applePackage "objc4"             "osx-10.12.6"     "1cj1vhbcs9pkmag2ms8wslagicnq9bxi2qjkszmp3ys7z7ccrbwz" {};
     ppp             = applePackage "ppp"               "osx-10.12.6"     "1kcc2nc4x1kf8sz0a23i6nfpvxg381kipi0qdisrp8x9z2gbkxb8" {};
diff --git a/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix
index 4220c50d61c..b2d8522f326 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/developer_cmds/default.nix
@@ -10,8 +10,11 @@ appleDerivation rec {
 
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
-    mkdir -p $out/bin/
-    install Products/Release/* $out/bin/
+    for f in Products/Release/*; do
+      if [ -f $f ]; then
+        install -D $f $out/bin/$(basename $f)
+      fi
+    done
 
     for n in 1; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
index fa77329008d..4da9144bbe1 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
@@ -22,8 +22,10 @@ appleDerivation {
   installPhase = ''
     install -D Products/Release/libdisk.a $out/lib/libdisk.a
     rm Products/Release/libdisk.a
-    for bin in Products/Release/*; do
-      install -D $bin $out/bin/$(basename $bin)
+    for f in Products/Release/*; do
+      if [ -f $f ]; then
+        install -D $file $out/bin/$(basename $f)
+      done
     done
   '';
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix
index a723f8b71ac..96dae723b2e 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/file_cmds/default.nix
@@ -19,8 +19,11 @@ appleDerivation rec {
 
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
-    mkdir -p $out/bin/
-    install Products/Release/* $out/bin
+    for f in Products/Release/*; do
+      if [ -f $f ]; then
+        install -D $file $out/bin/$(basename $f)
+      done
+    done
 
     for n in 1; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix b/pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix
index 134994002ee..ab294b143d3 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/hfs/default.nix
@@ -2,7 +2,7 @@
 
 appleDerivation {
   installPhase = lib.optionalString headersOnly ''
-    mkdir -p $out/include
-    cp core/*.h $out/include
+    mkdir -p $out/include/hfs
+    cp core/*.h $out/include/hfs
   '';
 }
diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
index dccc83a70bf..9dc5150ac2f 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
@@ -20,8 +20,11 @@ appleDerivation rec {
 
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
-    mkdir -p $out/bin/
-    install Products/Release/* $out/bin/
+    for f in Products/Release/*; do
+      if [ -f $f ]; then
+        install -D $file $out/bin/$(basename $f)
+      done
+    done
 
     for n in 1 5; do
       mkdir -p $out/share/man/man$n
diff --git a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix
index bec05ef8575..5b2322915dc 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/shell_cmds/default.nix
@@ -28,8 +28,11 @@ appleDerivation rec {
 
   # temporary install phase until xcodebuild has "install" support
   installPhase = ''
-    mkdir -p $out/usr/bin
-    install Products/Release/* $out/usr/bin
+    for f in Products/Release/*; do
+      if [ -f $f ]; then
+        install -D $f $out/usr/bin/$(basename $f)
+      fi
+    done
 
     export DSTROOT=$out
     export SRCROOT=$PWD
diff --git a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
index 91abb3ca07a..14d7a5e3b32 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
@@ -13,9 +13,10 @@ appleDerivation {
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
     for f in Products/Release/*; do
-      install -D $f $out/bin/$(basename $f)
+      if [ -f $f ]; then
+        install -D $f $out/bin/$(basename $f)
+      fi
     done
   '';
 
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 5f04b220b4b..bebfe402af0 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.90";
+  version = "4.14.91";
 
   # 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 = "1jl6l7zi5dl1ahxj30m4wmnd05s61rxn8yfjkkc4mr45634x07hc";
+    sha256 = "1ad6dkvfvqabr4d1vb8li06zbc1dikd2w31b13x8x4b0865pqn3a";
   };
 } // (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 cb4a89a6419..a9e11449d18 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.12";
+  version = "4.19.13";
 
   # 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 = "0xwvk6989glrpfc6irzf1lh3lvcckms72ngja9dpyqb2km9sr0ad";
+    sha256 = "1hn0mimh0x13gin28l6dfic21533ja8zlihkg43c8gz183y7f2pm";
   };
 } // (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 99b82522be3..5cca257cef2 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.147";
+  version = "4.9.148";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "10hxxcwa9lgsdz0k6229fly9r7iyqv9xq838zx8s7bd12qrrfb59";
+    sha256 = "1559i06mcsa1d0kfnf6q1k5fldz2pbkrpg4snwddxa1508diarv0";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index dc41c2e5f15..2ff0d5d2620 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -61,11 +61,11 @@ rec {
   # Reverts a change related to the overlayfs overhaul in 4.19
   # https://github.com/NixOS/nixpkgs/issues/48828#issuecomment-445208626
   revert-vfs-dont-open-real = rec {
-	name = "revert-vfs-dont-open-real";
-	patch = fetchpatch {
-	  name = name + ".patch";
-	  url = https://github.com/samueldr/linux/commit/ee23fa215caaa8102f4ab411d39fcad5858147f2.patch;
-	  sha256 = "0bp4jryihg1y2sl8zlj6w7vvnxj0kmb6xdy42hpvdv43kb6ngiaq";
-	};
+    name = "revert-vfs-dont-open-real";
+    patch = fetchpatch {
+      name = name + ".patch";
+      url = https://github.com/samueldr/linux/commit/ee23fa215caaa8102f4ab411d39fcad5858147f2.patch;
+      sha256 = "0bp4jryihg1y2sl8zlj6w7vvnxj0kmb6xdy42hpvdv43kb6ngiaq";
+    };
   };
 }
diff --git a/pkgs/servers/http/tomcat/default.nix b/pkgs/servers/http/tomcat/default.nix
index 8fe34cd6183..40d865e2f56 100644
--- a/pkgs/servers/http/tomcat/default.nix
+++ b/pkgs/servers/http/tomcat/default.nix
@@ -32,25 +32,25 @@ let
 in {
   tomcat7 = common {
     versionMajor = "7";
-    versionMinor = "0.82";
-    sha256 = "0vb7c5i50ral4rr39ss95k7cxnzd7fs21zd7f97d1f3qslzwl69g";
+    versionMinor = "0.92";
+    sha256 = "0j015mf15drl92kvgyi1ppzjziw0k1rwvfnih8r20h92ylk8mznk";
   };
 
   tomcat8 = common {
     versionMajor = "8";
-    versionMinor = "0.47";
-    sha256 = "0xv4v3i08rwzfmz7rkhglq5cbjgnfava8dw0i33vsp7dk162a4g4";
+    versionMinor = "0.53";
+    sha256 = "1ymp5n6xjqzpqjjlwql195v8r5fsmry7nfax46bafkjw8b24g80r";
   };
 
   tomcat85 = common {
     versionMajor = "8";
-    versionMinor = "5.23";
-    sha256 = "1qnww70x75c0qf2wn8mkpz5lszggjnh78dpb4chyw2fnbm3wxain";
+    versionMinor = "5.35";
+    sha256 = "0n6agr2wn8m5mv0asz73hy2194n9rk7mh5wsp2pz7aq0andbhh5s";
   };
 
   tomcat9 = common {
     versionMajor = "9";
-    versionMinor = "0.2";
-    sha256 = "0aaykzi0b2xsdmjp60ihcjzh1m95p0a79kn5l2v7vgbkyg449638";
+    versionMinor = "0.13";
+    sha256 = "1rsrnmkkrbzrj56jk2wh8hrr79kfkk3fz1j0abk3midn1jnbgxxq";
   };
 }
diff --git a/pkgs/servers/monitoring/plugins/esxi.nix b/pkgs/servers/monitoring/plugins/esxi.nix
index e458e130ba4..888cef61fcb 100644
--- a/pkgs/servers/monitoring/plugins/esxi.nix
+++ b/pkgs/servers/monitoring/plugins/esxi.nix
@@ -6,13 +6,13 @@ let
 
 in python2Packages.buildPythonApplication rec {
   name = "${pName}-${version}";
-  version = "20161013";
+  version = "20181001";
 
   src = fetchFromGitHub {
     owner  = "Napsty";
     repo   = bName;
     rev    = version;
-    sha256 = "19zybcg62dqcinixnp1p8zw916x3w7xvy6dlsmn347iigfa5s55s";
+    sha256 = "0azfacxcnnxxfqzrhh29k8cnjyr88gz35bi6h8fq931fl3plv10l";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/sql/cockroachdb/default.nix b/pkgs/servers/sql/cockroachdb/default.nix
index 6f4b10759e3..c1c70955d1f 100644
--- a/pkgs/servers/sql/cockroachdb/default.nix
+++ b/pkgs/servers/sql/cockroachdb/default.nix
@@ -13,13 +13,13 @@ let
 in
 buildGoPackage rec {
   name = "cockroach-${version}";
-  version = "2.1.1";
+  version = "2.1.3";
 
   goPackagePath = "github.com/cockroachdb/cockroach";
 
   src = fetchurl {
     url = "https://binaries.cockroachdb.com/cockroach-v${version}.src.tgz";
-    sha256 = "1z34zlwznh4lgbc1ryn577w7mmycyjbmz28k1hhhb6ricmk1x847";
+    sha256 = "0glk2qg4dq7gzkr6wjamxksjn668zsny8mmd0jph4w7166hm3n0n";
   };
 
   inherit nativeBuildInputs buildInputs;
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index 474a5b65b30..9c1180ffb49 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "matomo-${version}";
-  version = "3.6.1";
+  version = "3.7.0";
 
   src = fetchurl {
     # TODO: As soon as the tarballs are renamed as well on future releases, this should be enabled again
     # url = "https://builds.matomo.org/${name}.tar.gz";
     url = "https://builds.matomo.org/piwik-${version}.tar.gz";
-    sha256 = "0hddj1gyyriwgsh1mghihck2i7rj6gvb1i0b2ripcdfjnxcs47hz";
+    sha256 = "17ihsmwdfrx1c1v8cp5pc3swx3h0i0l9pjrc8jyww08kavfbfly6";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 2ef0480942c..b3077578ca7 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, coreutils, utillinux,
-  nettools, bc, which, gnused, gnugrep,
+  which, gnused, gnugrep,
   groff, man-db, getent, libiconv, pcre2,
-  gettext, ncurses, python3
+  gettext, ncurses, python3,
+  cmake
 
   , writeText
 
@@ -88,7 +89,7 @@ let
 
   fish = stdenv.mkDerivation rec {
     name = "fish-${version}";
-    version = "2.7.1";
+    version = "3.0.0";
 
     etcConfigAppendix = builtins.toFile "etc-config.appendix.fish" etcConfigAppendixText;
 
@@ -96,26 +97,27 @@ let
       # There are differences between the release tarball and the tarball github packages from the tag
       # Hence we cannot use fetchFromGithub
       url = "https://github.com/fish-shell/fish-shell/releases/download/${version}/${name}.tar.gz";
-      sha256 = "0nhc3yc5lnnan7zmxqqxm07rdpwjww5ijy45ll2njdc6fnfb2az4";
+      sha256 = "1kzjd0n0sfslkd36lzrvvvgy3qwkd9y466bkrqlnhd5h9dhx77ga";
     };
 
+    nativeBuildInputs = [ cmake ];
     buildInputs = [ ncurses libiconv pcre2 ];
-    configureFlags = [ "--without-included-pcre2" ];
+    cmakeFlags = [ "-DINTERNAL_WCWIDTH=OFF" ];
+
+    preConfigure = ''
+      patchShebangs ./build_tools/git_version_gen.sh
+    '';
 
     # Required binaries during execution
     # Python: Autocompletion generated from manpages and config editing
     propagatedBuildInputs = [
-      coreutils gnugrep gnused bc
+      coreutils gnugrep gnused
       python3 groff gettext
     ] ++ optional (!stdenv.isDarwin) man-db;
 
     postInstall = ''
       sed -r "s|command grep|command ${gnugrep}/bin/grep|" \
           -i "$out/share/fish/functions/grep.fish"
-      sed -e "s|bc|${bc}/bin/bc|"                          \
-          -e "s|/usr/bin/seq|${coreutils}/bin/seq|"        \
-          -i "$out/share/fish/functions/seq.fish"          \
-            "$out/share/fish/functions/math.fish"
       sed -i "s|which |${which}/bin/which |"               \
               "$out/share/fish/functions/type.fish"
       sed -e "s|\|cut|\|${coreutils}/bin/cut|"             \
@@ -147,8 +149,6 @@ let
       done
 
     '' + optionalString (!stdenv.isDarwin) ''
-      sed -i "s|(hostname\||(${nettools}/bin/hostname\||"           \
-            "$out/share/fish/functions/fish_prompt.fish"
       sed -i "s|Popen(\['manpath'|Popen(\['${man-db}/bin/manpath'|" \
               "$out/share/fish/tools/create_manpage_completions.py"
       sed -i "s|command manpath|command ${man-db}/bin/manpath|"     \
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 85b2c280b8f..81523646659 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -5,10 +5,10 @@
 
 stdenv.mkDerivation rec {
   name = "zstd-${version}";
-  version = "1.3.7";
+  version = "1.3.8";
 
   src = fetchFromGitHub {
-    sha256 = "04pdim2bgbbryalim6y8fflm9njpbzxh7148hi4pa828rn9p0jim";
+    sha256 = "03jfbjzgqy5gvpym28r2phphdn536zvwfc6cw58ffk5ssm6blnqd";
     rev = "v${version}";
     repo = "zstd";
     owner = "facebook";
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index e9772ad76b6..2c597ccef35 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   patches = if stdenv.hostPlatform.libc == "glibc" then null
     else [
       (fetchpatch {
-      url = "https://raw.githubusercontent.com/void-linux/void-packages/1f3b51493031cc0309009804475e3db572fc89ad/srcpkgs/e2fsprogs/patches/fix-glibcism.patch";
-      sha256 = "1q7y8nhsfwl9r1q7nhrlikazxxj97p93kgz5wh7723cshlji2vaa";
+      url = "https://raw.githubusercontent.com/void-linux/void-packages/9583597eb3e6e6b33f61dbc615d511ce030bc443/srcpkgs/e2fsprogs/patches/fix-glibcism.patch";
+      sha256 = "1fyml1iwrs412xn2w36ra28am3sq4klrrj60lnf7rysyw069nxk3";
       extraPrefix = "";
       })
     ];
diff --git a/pkgs/tools/misc/gif-for-cli/default.nix b/pkgs/tools/misc/gif-for-cli/default.nix
new file mode 100644
index 00000000000..b8b86e07abb
--- /dev/null
+++ b/pkgs/tools/misc/gif-for-cli/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, python3Packages, ffmpeg, zlib, libjpeg }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "gif-for-cli";
+  version = "unstable-2018-08-14";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "gif-for-cli";
+    rev = "9696f25fea2e38499b7c248a3151030c3c68bb00";
+    sha256 = "1rj8wjfsabn27k1ds7a5fdqgf2r28zpz4lvhbzssjfj1yf0mfh7s";
+  };
+
+  checkInputs = [ python3Packages.coverage ];
+  buildInputs = [ ffmpeg zlib libjpeg ];
+  propagatedBuildInputs = with python3Packages; [ pillow requests x256 ];
+
+  meta = with stdenv.lib; {
+    description = "Render gifs as ASCII art in your cli";
+    longDescription = "Takes in a GIF, short video, or a query to the Tenor GIF API and converts it to animated ASCII art.";
+    homepage = https://github.com/google/gif-for-cli;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+
+}
diff --git a/pkgs/tools/misc/ideviceinstaller/default.nix b/pkgs/tools/misc/ideviceinstaller/default.nix
new file mode 100644
index 00000000000..957267ae10e
--- /dev/null
+++ b/pkgs/tools/misc/ideviceinstaller/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, usbmuxd, libzip, libimobiledevice }:
+
+stdenv.mkDerivation rec {
+  pname = "ideviceinstaller";
+  version = "2018-06-01";
+
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "libimobiledevice";
+    repo = pname;
+    rev = "f7988de8279051f3d2d7973b8d7f2116aa5d9317";
+    sha256 = "1vmdvbwnjz3f90b9bqq7jg04q7awsbi9pmkvgwal8xdpp6jcwkwx";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig usbmuxd libimobiledevice libzip ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/libimobiledevice/ideviceinstaller;
+    description = "List/modify installed apps of iOS devices";
+    longDescription = ''
+      ideviceinstaller is a tool to interact with the installation_proxy 
+      of an iOS device allowing to install, upgrade, uninstall, archive, restore
+      and enumerate installed or archived apps.
+    '';
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ aristid ];
+  };
+}
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 49583ee2890..2212ba870c4 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -1,27 +1,28 @@
-{ stdenv, python3Packages, fetchpatch, glibcLocales, rustPlatform, pkgconfig, openssl, Security }:
+{ stdenv, python3Packages, fetchFromGitHub, fetchpatch, glibcLocales, rustPlatform, pkgconfig, openssl, Security }:
 
 # Packaging documentation at:
 # https://github.com/untitaker/vdirsyncer/blob/master/docs/packaging.rst
-let
-  pythonPackages = python3Packages;
-  version = "0.17.0a3";
+python3Packages.buildPythonApplication rec {
+  version = "unstable-2018-08-05";
   pname = "vdirsyncer";
-  name = pname + "-" + version;
-  src = pythonPackages.fetchPypi {
-    inherit pname version;
-    sha256 = "1n7izfa5x9mh0b4zp20gd8qxfcca5wpjh834bsbi5pk6zam5pfdy";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pimutils";
+    repo = pname;
+    rev = "ac45cf144b0ceb72cc2a9f454808688f3ac9ba4f";
+    sha256 = "0hqsjdpgvm7d34q5b2hzmrzfxk43ald1bx22mvgg559kw1ck54s9";
   };
+
   native = rustPlatform.buildRustPackage {
-    name = name + "-native";
+    name = "${name}-native";
     inherit src;
-    sourceRoot = name + "/rust";
-    cargoSha256 = "08xq9q5fx37azzkqqgwcnds1yd8687gh26dsl3ivql5h13fa2w3q";
+    sourceRoot = "source/rust";
+    cargoSha256 = "02fxxw4vr6rpdbslrc9c1zhzs704bw7i40akrmh5cxl26rsffdgk";
     buildInputs = [ pkgconfig openssl ] ++ stdenv.lib.optional stdenv.isDarwin Security;
   };
-in pythonPackages.buildPythonApplication rec {
-  inherit version pname src native;
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python3Packages; [
     click click-log click-threading
     requests_toolbelt
     requests
@@ -31,15 +32,12 @@ in pythonPackages.buildPythonApplication rec {
     shippai
   ];
 
-  buildInputs = with pythonPackages; [ setuptools_scm ];
+  buildInputs = with python3Packages; [ setuptools_scm ];
 
-  checkInputs = with pythonPackages; [ hypothesis pytest pytest-localserver pytest-subtesthack ] ++ [ glibcLocales ];
+  checkInputs = with python3Packages; [ hypothesis pytest pytest-localserver pytest-subtesthack ] ++ [ glibcLocales ];
 
   patches = [
-    (fetchpatch {
-      url = https://github.com/pimutils/vdirsyncer/commit/80a42e4c6c18ca4db737bc6700c50a3866832bbb.patch;
-      sha256 = "1vrhn0ma3y08w6f5abhl3r5rq30g60h1bp3wmyszw909hyvyzp5l";
-    })
+    # Fixes for hypothesis: https://github.com/pimutils/vdirsyncer/pull/779
     (fetchpatch {
       url = https://github.com/pimutils/vdirsyncer/commit/22ad88a6b18b0979c5d1f1d610c1d2f8f87f4b89.patch;
       sha256 = "0dbzj6jlxhdidnm3i21a758z83sdiwzhpd45pbkhycfhgmqmhjpl";
@@ -51,6 +49,9 @@ in pythonPackages.buildPythonApplication rec {
   ];
 
   postPatch = ''
+    # for setuptools_scm:
+    echo 'Version: ${version}' >PKG-INFO
+
     sed -i 's/spec.add_external_build(cmd=cmd/spec.add_external_build(cmd="true"/g' setup.py
   '';
 
@@ -63,7 +64,7 @@ in pythonPackages.buildPythonApplication rec {
 
   checkPhase = ''
     rm -rf vdirsyncer
-    export PYTHONPATH=$out/${pythonPackages.python.sitePackages}:$PYTHONPATH
+    export PYTHONPATH=$out/${python3Packages.python.sitePackages}:$PYTHONPATH
     make DETERMINISTIC_TESTS=true test
   '';
 
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index cb949766f94..57ab0bab516 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "wget-${version}";
-  version = "1.20";
+  version = "1.20.1";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${name}.tar.lz";
-    sha256 = "07k8yd8rdn27x5fbzlnsz4db7z7qnisiqhs7r1b5wzy2b9b0zf5h";
+    sha256 = "0a29qsqxkk8145vkyy35q5a1wc7qzwx3qj3gmfrkmi9xs96yhqqg";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index 07b75737a35..fcb2025f15d 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, libmnl ? null, makeWrapper ? null, wireguard-go ? null }:
+{ stdenv, fetchzip, openresolv ? null, libmnl ? null, procps ? null, iproute ? null, makeWrapper ? null, wireguard-go ? null }:
 
 with stdenv.lib;
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "source/src/tools";
 
-  nativeBuildInputs = optional stdenv.isDarwin makeWrapper;
+  nativeBuildInputs = [ makeWrapper ];
   buildInputs = optional stdenv.isLinux libmnl;
 
   makeFlags = [
@@ -27,6 +27,10 @@ stdenv.mkDerivation rec {
   postFixup = ''
     substituteInPlace $out/lib/systemd/system/wg-quick@.service \
       --replace /usr/bin $out/bin
+  '' + optionalString stdenv.isLinux ''
+    for f in $out/bin/*; do
+      wrapProgram $f --prefix PATH : ${makeBinPath [procps iproute openresolv]}
+    done
   '' + optionalString stdenv.isDarwin ''
     for f in $out/bin/*; do
       wrapProgram $f --prefix PATH : ${wireguard-go}/bin
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index ea03570bb3e..e6beee0b38c 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -51,10 +51,11 @@ let
     preConfigure =
       # Copy libboost_context so we don't get all of Boost in our closure.
       # https://github.com/NixOS/nixpkgs/issues/45462
-      lib.optionalString is20
-      ''
+      if is20 then ''
         mkdir -p $out/lib
         cp ${boost}/lib/libboost_context* $out/lib
+      '' else ''
+        configureFlagsArray+=(BDW_GC_LIBS="-lgc -lgccpp")
       '';
 
     configureFlags =
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index 677dbda7b49..df1fe5f80f2 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -2,11 +2,11 @@
 , autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.6";
+  version = "0.4.0";
   name = "opkg-${version}";
   src = fetchurl {
     url = "https://downloads.yoctoproject.org/releases/opkg/opkg-${version}.tar.gz";
-    sha256 = "02ykhjpyxmh0qrqvc1s3vlhnr6wyxkcwqb8dplxqmkz83gkg01zn";
+    sha256 = "1zp6gyggqv359myagjsr0knq66ax64q3irx889kqzbd2v0ahbh7n";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/tools/security/bettercap/default.nix b/pkgs/tools/security/bettercap/default.nix
index a85ce7df921..f7e09d54de1 100644
--- a/pkgs/tools/security/bettercap/default.nix
+++ b/pkgs/tools/security/bettercap/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "bettercap-${version}";
-  version = "2.4";
+  version = "2.11";
 
   goPackagePath = "github.com/bettercap/bettercap";
 
@@ -10,10 +10,11 @@ buildGoPackage rec {
     owner = "bettercap";
     repo = "bettercap";
     rev = "v${version}";
-    sha256 = "1k1ank8z9sr3vxm86dfcrn1y3qa3gfwyb2z0fvkvi38gc88pfljb";
+    sha256 = "08hd7hk0jllfhdiky1f5pfsvl1x0bkgv1p4z9qvsksdg9a7qjznw";
   };
 
-  buildInputs = [libpcap libnfnetlink libnetfilter_queue pkgconfig];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libpcap libnfnetlink libnetfilter_queue ];
 
   goDeps = ./deps.nix;
 
diff --git a/pkgs/tools/security/bettercap/deps.nix b/pkgs/tools/security/bettercap/deps.nix
index 6a03e88000c..cbfe7c54dad 100644
--- a/pkgs/tools/security/bettercap/deps.nix
+++ b/pkgs/tools/security/bettercap/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/adrianmo/go-nmea";
-      rev =  "22095aa1b48050243d3eb9a001ca80eb91a0c6fa";
-      sha256 = "0hgjfmnff794j537kbrjcsxzr9xyggm09rw3wp2xrzahh9pxdlm5";
+      rev =  "a32116e4989e2b0e17c057ee378b4d5246add74e";
+      sha256 = "167iwpwdwfbyghqfrzdfvfpvsmj92x7qqy6sx6yngdw21wd0m44f";
     };
   }
   {
@@ -14,8 +14,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/gatt";
-      rev =  "6475b946a0bff32e906c25d861f2b1c6d2056baa";
-      sha256 = "0f2n35yz6fcbmswy1wyv2z72d3iia7xxapjkvwkbj2zqfxxwn26s";
+      rev =  "66e7446993acb3de936b3f487e5933522ed16923";
+      sha256 = "0hvm59zpbghgw8fq9yr4dd2x3209ii9856qklflkz2ywf7vryjqq";
     };
   }
   {
@@ -23,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/bettercap/readline";
-      rev =  "9cec905dd29109b64e6752507fba73474c2efd46";
-      sha256 = "1lsnyckg2l78hz4la8dhwvjsyff706khw10nxds5afzl4mrih3vn";
+      rev =  "62c6fe6193755f722b8b8788aa7357be55a50ff1";
+      sha256 = "1qd2qhjps26x4pin2614w732giy89p22b2qww4wg15zz5g2365nk";
     };
   }
   {
@@ -41,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/dustin/go-humanize";
-      rev =  "bb3d318650d48840a39aa21a027c6630e198e626";
-      sha256 = "1lqd8ix3cb164j5iazjby2jpa6bdsflhy0h9mi4yldvvcvrc194c";
+      rev =  "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
     };
   }
   {
@@ -50,8 +50,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/elazarl/goproxy";
-      rev =  "a96fa3a318260eab29abaf32f7128c9eb07fb073";
-      sha256 = "0grm4n28mkj2w4c42ghl797svxykv1z3hsdi1ihnrvq6pr08xky4";
+      rev =  "f58a169a71a51037728990b2d3597a14f56b525b";
+      sha256 = "103crrh6zwdwcj7j6z63rbm467nff3r1rvpwdk0qj8x275zi45g6";
+    };
+  }
+  {
+    goPackagePath  = "github.com/evilsocket/islazy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/evilsocket/islazy";
+      rev =  "3d8400c74f9dbc626d913e0575cda05d914bea57";
+      sha256 = "0yfqvcxaympfgsda0jhqnaqhbhic2irdjn0h2bppz4misjv6sxn9";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gobwas/glob";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/glob";
+      rev =  "e7a84e9525fe90abcda167b604e483cc959ad4aa";
+      sha256 = "1v6vjklq06wqddv46ihajahaj1slv0imgaivlxr8bsx59i90js5q";
     };
   }
   {
@@ -59,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/google/go-github";
-      rev =  "437797734d06eec5394734a84cb5b59c82a66ee6";
-      sha256 = "09ajj73rwsxc03dmm39g8b0qaz88h6gnraw2xn8h7z57qqv6ikcx";
+      rev =  "e48060a28fac52d0f1cb758bc8b87c07bac4a87d";
+      sha256 = "0a15gsqpshcipd4vmm0dzxgi99pfk0c5b60n3czfw2px864mg7x9";
     };
   }
   {
@@ -68,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/google/go-querystring";
-      rev =  "53e6ce116135b80d037921a7fdd5138cf32d7a8a";
-      sha256 = "0lkbm067nhmxk66pyjx59d77dbjjzwyi43gdvzyx2f8m1942rq7f";
+      rev =  "44c6ddd0a2342c386950e880b658017258da92fc";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
     };
   }
   {
@@ -77,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/google/gopacket";
-      rev =  "1d3841317373a001d49e2abcc5be4e442211d454";
-      sha256 = "1jffnrvrma3rm5zxmig52145y9bxc3b4ys4jr1nwmq43jk15s3kp";
+      rev =  "d67ddb98d5a1b7c79a8977ec2d552e1db45eda86";
+      sha256 = "0pk4hddx6fnbbjjgi86vx12xs5d8591dlkx1q5cswc0jghymbplh";
     };
   }
   {
@@ -95,8 +113,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/mux";
-      rev =  "4dbd923b0c9e99ff63ad54b0e9705ff92d3cdb06";
-      sha256 = "02d5c3vh81v2j6g6fnca87ksxjx0xrgp7x7iivfw5x92q1l5h254";
+      rev =  "e3702bed27f0d39777b0b37b664b6280e8ef8fbf";
+      sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2";
     };
   }
   {
@@ -104,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/websocket";
-      rev =  "eb925808374e5ca90c83401a40d711dc08c0c0f6";
-      sha256 = "0swncxnl97pmsl78q1p4npx9jghnrzj7alkxab89jy9cza5w165x";
+      rev =  "66b9c49e59c6c48f0ffce28c2d8b8a5678502c6d";
+      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
     };
   }
   {
@@ -122,8 +140,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/jpillora/go-tld";
-      rev =  "a31ae10e978ab5f352c5dad2cfbd60546dcea75f";
-      sha256 = "1gfxnbr1xsnlja2qpqxis8ynnk1lrz9c65aah7vc2c44g8vyy78x";
+      rev =  "4bfc8d9a90b591e101a56265afc2239359fb0810";
+      sha256 = "04pv1rwpfq3ip3vn0yfixxczcnv56w1l0z8bp4fjscw1bfqbb4pn";
     };
   }
   {
@@ -140,8 +158,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-colorable";
-      rev =  "efa589957cd060542a26d2dd7832fd6a6c6c3ade";
-      sha256 = "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r";
+      rev =  "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
+      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
     };
   }
   {
@@ -163,6 +181,15 @@
     };
   }
   {
+    goPackagePath  = "github.com/mdlayher/raw";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mdlayher/raw";
+      rev =  "67a536258490ec29bca6d465b51dea32c0db3623";
+      sha256 = "1fba4c6kc7llwr4n5rsspsc3yb0c81xsqzxv86wnj1b0d8l2s7nr";
+    };
+  }
+  {
     goPackagePath  = "github.com/mgutz/ansi";
     fetch = {
       type = "git";
@@ -185,8 +212,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev =  "816c9085562cd7ee03e7f8188a1cfd942858cded";
-      sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k";
+      rev =  "645ef00459ed84a119197bfb8d8205042c6df63d";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
     };
   }
   {
@@ -194,8 +221,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/robertkrimen/otto";
-      rev =  "6c383dd335ef8dcccef05e651ce1eccfe4d0f011";
-      sha256 = "1n6h7c8gi6wv4nklqd7ygzx2afvh7ddxbml9w9x0jxwcfb3bdy17";
+      rev =  "15f95af6e78dcd2030d8195a138bd88d4f403546";
+      sha256 = "07j7l340lmqwpfscwyb8llk3k37flvs20a4a8vzc85f16xyd9npf";
     };
   }
   {
@@ -203,8 +230,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/tarm/serial";
-      rev =  "eaafced92e9619f03c72527efeab21e326f3bc36";
-      sha256 = "09pii3q72bygv40v9xsh3nzj821iwqwa0b14wvkagid8mfnl3a7k";
+      rev =  "98f6abe2eb07edd42f6dfa2a934aea469acc29b7";
+      sha256 = "1yj4jiv2f3x3iawxdflrlmdan0k9xsbnccgc9yz658rmif1ag3pb";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "49bb7cea24b1df9410e1712aa6433dae904ff66a";
+      sha256 = "111q4qm3hcjvzvyv9y5rz8ydnyg48rckcygxqy6gv63q618wz6gn";
     };
   }
   {
@@ -212,8 +248,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev =  "378d26f46672a356c46195c28f61bdb4c0a781dd";
-      sha256 = "1d02saysx8lh2wv8s915k4shiqicg4j1fh6sxmcxy6bvywax2q9c";
+      rev =  "fa43e7bc11baaae89f3f902b2b4d832b68234844";
+      sha256 = "1z96xhgw930jpd53g1sy9x6wiijgz751czbvr2zzgc55y0md1mfw";
     };
   }
   {
@@ -221,8 +257,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/go-sourcemap/sourcemap";
-      rev =  "b019cc30c1eaa584753491b0d8f8c1534bf1eb44";
-      sha256 = "03k44fdrnknba05f7cd58lq4rzk7jdpiqksmc0wxrdzwschrbgw8";
+      rev =  "6e83acea0053641eff084973fee085f0c193c61a";
+      sha256 = "08rf2dl13hbnm3fq2cm0nnsspy9fhf922ln23cz5463cv7h62as4";
     };
   }
 ]
\ No newline at end of file
diff --git a/pkgs/tools/security/sshguard/default.nix b/pkgs/tools/security/sshguard/default.nix
index facbfcad4cf..4bbb943ee93 100644
--- a/pkgs/tools/security/sshguard/default.nix
+++ b/pkgs/tools/security/sshguard/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, autoreconfHook, yacc, flex}:
 
 stdenv.mkDerivation rec {
-  version = "2.2.0";
+  version = "2.3.0";
   name = "sshguard-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sshguard/${name}.tar.gz";
-    sha256 = "1hjn6smd6kc3yg2xm1kvszqpm5w9a6vic6a1spzy8czcwvz0gzra";
+    sha256 = "0s501hdgnjvhqblvvxda6rmaapw1dd81d6w9lbjm4rn2lf3kzdfl";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/text/ansifilter/default.nix b/pkgs/tools/text/ansifilter/default.nix
index 54591bf2442..4d75e328307 100644
--- a/pkgs/tools/text/ansifilter/default.nix
+++ b/pkgs/tools/text/ansifilter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ansifilter-${version}";
-  version = "2.12";
+  version = "2.13";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    sha256 = "0ssvc51x90l1s9pxdxaw6ba01dcalrp0b5glrnh1j43i2pskc750";
+    sha256 = "1h0j30lg1lcr8p5dlhrgpm76bvlnhxn2cr3jqjnvnb2icgbyc8j0";
 
   };
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e10613721e8..8acc7774537 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -398,8 +398,6 @@ in
 
   releaseTools = callPackage ../build-support/release { };
 
-  composableDerivation = callPackage ../../lib/composable-derivation.nix { };
-
   inherit (lib.systems) platforms;
 
   setJavaClassPath = makeSetupHook { } ../build-support/setup-hooks/set-java-classpath.sh;
@@ -699,6 +697,8 @@ in
 
   deskew = callPackage ../applications/graphics/deskew { };
 
+  detect-secrets = python3Packages.callPackage ../development/tools/detect-secrets { };
+
   diskus = callPackage ../tools/misc/diskus {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -1444,6 +1444,8 @@ in
 
   gh-ost = callPackage ../tools/misc/gh-ost { };
 
+  gif-for-cli = callPackage ../tools/misc/gif-for-cli { };
+
   gist = callPackage ../tools/text/gist { };
 
   gixy = callPackage ../tools/admin/gixy { };
@@ -3148,7 +3150,6 @@ in
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest { };
-  gtest_static = callPackage ../development/libraries/gtest { static = true; };
   gmock = gtest; # TODO: move to aliases.nix
 
   gbenchmark = callPackage ../development/libraries/gbenchmark {};
@@ -3403,6 +3404,7 @@ in
   iftop = callPackage ../tools/networking/iftop { };
 
   ifuse = callPackage ../tools/filesystems/ifuse { };
+  ideviceinstaller = callPackage ../tools/misc/ideviceinstaller { };
 
   inherit (callPackages ../tools/filesystems/irods rec {
             stdenv = llvmPackages_38.libcxxStdenv;
@@ -3874,6 +3876,13 @@ in
     enableNpm = false;
     openssl = openssl_1_1;
   };
+  nodejs-11_x = callPackage ../development/web/nodejs/v11.nix {
+    openssl = openssl_1_1;
+  };
+  nodejs-slim-11_x = callPackage ../development/web/nodejs/v11.nix {
+    enableNpm = false;
+    openssl = openssl_1_1;
+  };
 
   nodePackages_10_x = callPackage ../development/node-packages/default-v10.nix {
     nodejs = pkgs.nodejs-10_x;
@@ -4410,7 +4419,9 @@ in
 
   networkmanager_dmenu = callPackage ../tools/networking/network-manager/dmenu.nix  { };
 
-  newsboat = callPackage ../applications/networking/feedreaders/newsboat { };
+  newsboat = callPackage ../applications/networking/feedreaders/newsboat {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   nextcloud = callPackage ../servers/nextcloud { };
 
@@ -6585,17 +6596,15 @@ in
 
   colm = callPackage ../development/compilers/colm { };
 
-  fetchegg = callPackage ../build-support/fetchegg { };
-
-  eggDerivation = callPackage ../development/compilers/chicken/eggDerivation.nix { };
+  chickenPackages_4 = callPackage ../development/compilers/chicken/4 { };
+  chickenPackages_5 = callPackage ../development/compilers/chicken/5 { };
+  chickenPackages = chickenPackages_5;
 
-  chicken = callPackage ../development/compilers/chicken {
-    bootstrap-chicken = chicken.override { bootstrap-chicken = null; };
-  };
-
-  egg2nix = callPackage ../development/tools/egg2nix {
-    chickenEggs = callPackage ../development/tools/egg2nix/chicken-eggs.nix { };
-  };
+  inherit (chickenPackages)
+    fetchegg
+    eggDerivation
+    chicken
+    egg2nix;
 
   ccl = callPackage ../development/compilers/ccl {
     inherit (buildPackages.darwin) bootstrap_cmds;
@@ -6685,6 +6694,8 @@ in
 
   eql = callPackage ../development/compilers/eql {};
 
+  elm2nix = haskell.lib.justStaticExecutables (haskellPackages.callPackage ../development/tools/elm2nix {});
+
   elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { });
 
   apache-flex-sdk = callPackage ../development/compilers/apache-flex-sdk { };
@@ -9263,7 +9274,9 @@ in
 
   armadillo = callPackage ../development/libraries/armadillo {};
 
-  arrow-cpp = callPackage ../development/libraries/arrow-cpp {};
+  arrow-cpp = callPackage ../development/libraries/arrow-cpp {
+    gtest = gtest.override { static = true; };
+  };
 
   assimp = callPackage ../development/libraries/assimp { };
 
@@ -10772,12 +10785,18 @@ in
         url = "https://www.gap-system.org/pub/gap/gap48/tar.bz2/gap${version}_${pkgVer}.tar.bz2";
         sha256 = "19n2p1mdg33s2x9rs51iak7rgndc1cwr56jyqnah0g1ydgg1yh6b";
       };
-      patches = (oldAttrs.patches or []) ++ [
+      patches = [
         # don't install any packages by default (needed for interop with libgap, probably obsolete  with 4r10
         (fetchpatch {
           url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/nodefaultpackages.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
           sha256 = "1xwj766m3axrxbkyx13hy3q8s2wkqxy3m6mgpwq3c3n4vk3v416v";
         })
+
+        #  fix infinite loop in writeandcheck() when writing an error message fails.
+        (fetchpatch {
+          url = "https://git.sagemath.org/sage.git/plain/build/pkgs/gap/patches/writeandcheck.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+          sha256 = "1r1511x4kc2i2mbdq1b61rb6p3misvkf1v5qy3z6fmn6vqwziaz1";
+        })
       ];
   });
   libgap = callPackage ../development/libraries/libgap { };
@@ -15609,6 +15628,8 @@ in
 
   materia-theme = callPackage ../data/themes/materia-theme { };
 
+  material-design-icons = callPackage ../data/fonts/material-design-icons { };
+
   material-icons = callPackage ../data/fonts/material-icons { };
 
   meslo-lg = callPackage ../data/fonts/meslo-lg {};
@@ -15723,6 +15744,8 @@ in
 
   proggyfonts = callPackage ../data/fonts/proggyfonts { };
 
+  qogir-theme = callPackage ../data/themes/qogir { };
+
   route159 = callPackage ../data/fonts/route159 { };
 
   sampradaya = callPackage ../data/fonts/sampradaya { };
@@ -17780,6 +17803,7 @@ in
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
     stdenv = overrideCC stdenv gcc6;
+    boost = boost166.override { enablePython = true; };
   };
 
   k9copy = libsForQt5.callPackage ../applications/video/k9copy {};
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 05973c7aacd..3d167390979 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -615,6 +615,13 @@ in {
     pythonPackages = self;
   };
 
+  /*
+    `pyqt5_with_qtwebkit` should not be used by python libraries in
+    pkgs/development/python-modules/*. Putting this attribute in
+    `propagatedBuildInputs` may cause collisions.
+  */
+  pyqt5_with_qtwebkit = self.pyqt5.override { withWebKit = true; };
+
   pysc2 = callPackage ../development/python-modules/pysc2 { };
 
   pyscard = callPackage ../development/python-modules/pyscard { inherit (pkgs.darwin.apple_sdk.frameworks) PCSC; };
@@ -2416,6 +2423,10 @@ in {
     cudaSupport = pkgs.config.cudaSupport or false;
   };
 
+  pyro-ppl = callPackage ../development/python-modules/pyro-ppl {};
+
+  opt-einsum = callPackage ../development/python-modules/opt-einsum {};
+
   pytorchWithCuda = self.pytorch.override {
     cudaSupport = true;
   };
@@ -3226,6 +3237,8 @@ in {
 
   ordereddict = callPackage ../development/python-modules/ordereddict { };
 
+  od = callPackage ../development/python-modules/od { };
+
   orderedset = callPackage ../development/python-modules/orderedset { };
 
   python-otr = callPackage ../development/python-modules/python-otr { };
@@ -4060,6 +4073,8 @@ in {
 
   update_checker = callPackage ../development/python-modules/update_checker {};
 
+  update-copyright = callPackage ../development/python-modules/update-copyright {};
+
   uritemplate = callPackage ../development/python-modules/uritemplate { };
 
   uproot = callPackage ../development/python-modules/uproot {};
@@ -4382,6 +4397,8 @@ in {
 
   unicodecsv = callPackage ../development/python-modules/unicodecsv { };
 
+  unidiff = callPackage ../development/python-modules/unidiff { };
+
   unittest2 = callPackage ../development/python-modules/unittest2 { };
 
   unittest-xml-reporting = callPackage ../development/python-modules/unittest-xml-reporting { };
@@ -5090,6 +5107,8 @@ in {
 
   simpy = callPackage ../development/python-modules/simpy { };
 
+  x256 = callPackage ../development/python-modules/x256 { };
+
   yattag = callPackage ../development/python-modules/yattag { };
 
   z3 = (toPythonModule (pkgs.z3.override {