about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/office/libreoffice/default-primary-src.nix6
-rw-r--r--pkgs/applications/office/libreoffice/default.nix4
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix24
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix6
-rw-r--r--pkgs/data/fonts/ibm-plex/default.nix4
-rw-r--r--pkgs/development/compilers/compcert/default.nix13
-rw-r--r--pkgs/development/libraries/gtkspellmm/default.nix10
-rw-r--r--pkgs/development/mobile/androidenv/androidndk-pkgs.nix3
-rw-r--r--pkgs/development/mobile/androidenv/androidndk.nix12
-rw-r--r--pkgs/development/mobile/androidenv/default.nix31
-rw-r--r--pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17c.patch (renamed from pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17.patch)0
-rw-r--r--pkgs/development/ocaml-modules/mlgmpidl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_import/default.nix21
-rw-r--r--pkgs/development/python-modules/mypy/default.nix9
-rw-r--r--pkgs/development/python-modules/mypy/extensions.nix23
-rw-r--r--pkgs/development/tools/heroku/default.nix80
-rw-r--r--pkgs/misc/vim-plugins/aliases.nix139
-rw-r--r--pkgs/misc/vim-plugins/default.nix449
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix337
-rw-r--r--pkgs/servers/foundationdb/default.nix6
-rw-r--r--pkgs/tools/system/krakenx/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix5
-rw-r--r--pkgs/top-level/python-packages.nix2
23 files changed, 624 insertions, 570 deletions
diff --git a/pkgs/applications/office/libreoffice/default-primary-src.nix b/pkgs/applications/office/libreoffice/default-primary-src.nix
index 446efe78d256..711411cd0124 100644
--- a/pkgs/applications/office/libreoffice/default-primary-src.nix
+++ b/pkgs/applications/office/libreoffice/default-primary-src.nix
@@ -3,8 +3,8 @@
 rec {
   major = "6";
   minor = "1";
-  patch = "0";
-  tweak = "3";
+  patch = "1";
+  tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -12,6 +12,6 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "54eccd268f75d62fa6ab78d25685719c109257e1c0f4d628eae92ec09632ebd8";
+    sha256 = "228166908a3404cbb8e6e662f44b1af8644c0589b2309fadce89dcef112fd09d";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 2de1ed92dea8..aa0cdc703455 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -48,14 +48,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "140i0q6nyi2l6nv2b3n7s7mggm2rb1ws3h9awa9y6m2iads54qm7";
+      sha256 = "2933d0898fbc8ea32cb39b773cf49c5f7da165f75a33522ff91c88d7bd0c7440";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "0ayssl5ivhyzxi3gz3h4yhp8hq7ihig6n6iijbks5f1sm7dwridv";
+      sha256 = "41e1af094f2ca5a9ab88894c2dceca2d91e6c28568d7f002f56c647e973cc595";
     };
 
   };
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 57495404eb97..aac3ed155202 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -105,11 +105,11 @@
     md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
   }
   {
-    name = "curl-7.60.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/curl-7.60.0.tar.gz";
-    sha256 = "e9c37986337743f37fd14fe8737f246e97aec94b39d1b71e8a5973f72a9fc4f5";
+    name = "curl-7.61.1.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/curl-7.61.1.tar.gz";
+    sha256 = "eaa812e9a871ea10dbe8e1d3f8f12a64a8e3e62aeab18cb23742e2f1727458ae";
     md5 = "";
-    md5name = "e9c37986337743f37fd14fe8737f246e97aec94b39d1b71e8a5973f72a9fc4f5-curl-7.60.0.tar.gz";
+    md5name = "eaa812e9a871ea10dbe8e1d3f8f12a64a8e3e62aeab18cb23742e2f1727458ae-curl-7.61.1.tar.gz";
   }
   {
     name = "libe-book-0.1.3.tar.xz";
@@ -329,11 +329,11 @@
     md5name = "aa5e58356cd084000609ebbd93fef456a1bc0ab9e46fea20e81552fb286232a9-graphite2-minimal-1.3.10.tgz";
   }
   {
-    name = "harfbuzz-1.7.4.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/harfbuzz-1.7.4.tar.bz2";
-    sha256 = "b5d6ac8415f97f3540d73f3f91c41c5c10f8a4d76350f11a7184062aae88ac0b";
+    name = "harfbuzz-1.8.4.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/harfbuzz-1.8.4.tar.bz2";
+    sha256 = "3c592f86fa0da69e2e0e98cae9f5d5b61def3bb7948aa00ca45748f27fa545fd";
     md5 = "";
-    md5name = "b5d6ac8415f97f3540d73f3f91c41c5c10f8a4d76350f11a7184062aae88ac0b-harfbuzz-1.7.4.tar.bz2";
+    md5name = "3c592f86fa0da69e2e0e98cae9f5d5b61def3bb7948aa00ca45748f27fa545fd-harfbuzz-1.8.4.tar.bz2";
   }
   {
     name = "hsqldb_1_8_0.zip";
@@ -623,11 +623,11 @@
     md5name = "db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca-neon-0.30.2.tar.gz";
   }
   {
-    name = "nss-3.33-with-nspr-4.17.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/nss-3.33-with-nspr-4.17.tar.gz";
-    sha256 = "878d505ec0be577c45990c57eb5d2e5c8696bfa3412bd0fae193b275297bf5c4";
+    name = "nss-3.38-with-nspr-4.19.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/nss-3.38-with-nspr-4.19.tar.gz";
+    sha256 = "f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9";
     md5 = "";
-    md5name = "878d505ec0be577c45990c57eb5d2e5c8696bfa3412bd0fae193b275297bf5c4-nss-3.33-with-nspr-4.17.tar.gz";
+    md5name = "f271ec73291fa3e4bd4b59109f8035cc3a192fc33886f40ed4f9ee4b31c746e9-nss-3.38-with-nspr-4.19.tar.gz";
   }
   {
     name = "libodfgen-0.1.6.tar.bz2";
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index 6ca563f7d1a6..67c07072d41f 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "git-lfs-${version}";
-  version = "2.4.2";
+  version = "2.5.2";
 
   goPackagePath = "github.com/git-lfs/git-lfs";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "git-lfs";
     repo = "git-lfs";
-    sha256 = "0ww1jh45nlm74vbi4n6cdxi35bzgjlqmz3q8h9igdwfhkf79kd5c";
+    sha256 = "1y9l35j59d422v9hsbi117anm5d0177nspiy9r2zbjz3ygd9a4ck";
   };
 
   preBuild = ''
@@ -20,7 +20,7 @@ buildGoPackage rec {
   '';
 
   postInstall = ''
-    rm -v $bin/bin/{man,script,genmakefile}
+    rm -v $bin/bin/{man,script,cmd}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/data/fonts/ibm-plex/default.nix b/pkgs/data/fonts/ibm-plex/default.nix
index fec45bf7bf26..ba214dd35fd0 100644
--- a/pkgs/data/fonts/ibm-plex/default.nix
+++ b/pkgs/data/fonts/ibm-plex/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "1.0.2";
+  version = "1.1.6";
 in fetchzip rec {
   name = "ibm-plex-${version}";
   url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
@@ -9,7 +9,7 @@ in fetchzip rec {
     mkdir -p $out/share/fonts
     unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
   '';
-  sha256 = "1ixxm47lwsrc136z6cxkk5dm3svmvcvq0ya8q8ayvn68q5ijbh5m";
+  sha256 = "0n9qmh6v7gvrl1mfb0knygxlbkb78hvkdrppssx64m3pk4pxw85a";
 
   meta = with lib; {
     description = "IBM Plex Typeface";
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 631179c483bc..a0058242bad8 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchpatch
-, coq, ocamlPackages
+, coq, ocamlPackages, coq2html
 , tools ? stdenv.cc
 }:
 
@@ -7,23 +7,18 @@ assert lib.versionAtLeast ocamlPackages.ocaml.version "4.02";
 
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
-  version = "3.3";
+  version = "3.4";
 
   src = fetchurl {
     url    = "http://compcert.inria.fr/release/${name}.tgz";
-    sha256 = "16xrqcwak1v1fk5ndx6jf1yvxv3adsr7p7z34gfm2mpggxnq0xwn";
+    sha256 = "12gchwvkzhd2bhrnwzfb4a06wc4hgv98z987k06vj7ga31ii763h";
   };
 
-  buildInputs = [ coq ]
+  buildInputs = [ coq coq2html ]
   ++ (with ocamlPackages; [ ocaml findlib menhir ]);
 
   enableParallelBuilding = true;
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/AbsInt/CompCert/commit/679ecfeaa24c0615fa1999e9582bf2af6a9f35e7.patch";
-   sha256 = "04yrn6dp57aw6lmlr4yssjlx9cxix0mlmaw7gfhwyz5bzqc2za1a";
-  })];
-
   configurePhase = ''
     substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc'
     ./configure -clightgen -prefix $out -toolprefix ${tools}/bin/ '' +
diff --git a/pkgs/development/libraries/gtkspellmm/default.nix b/pkgs/development/libraries/gtkspellmm/default.nix
index 04456b440193..cb141f8c5569 100644
--- a/pkgs/development/libraries/gtkspellmm/default.nix
+++ b/pkgs/development/libraries/gtkspellmm/default.nix
@@ -3,18 +3,14 @@
 , gtk3, glib, glibmm, gtkmm3, gtkspell3
 }:
 
-let
-  version = "3.0.4";
-
-in
-
 stdenv.mkDerivation rec {
   name = "gtkspellmm-${version}";
+  version = "3.0.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/gtkspell/gtkspellmm/" +
-          "${name}.tar.gz";
-    sha256 = "0x6zx928dl62f0c0x6b2s32i06lvn18wx7crrgs1j9yjgkim4k4k";
+          "${name}.tar.xz";
+    sha256 = "0i8mxwyfv5mskachafa4qlh315q0cfph7s66s1s34nffadbmm1sv";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/mobile/androidenv/androidndk-pkgs.nix b/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
index 9bc252ce6f67..d4189fe84550 100644
--- a/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
+++ b/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
@@ -12,6 +12,9 @@ let
   # than we do. We don't just use theirs because ours are less ambiguous and
   # some builds need that clarity.
   ndkInfoFun = { config, ... }: {
+    "x86_64-apple-darwin" = {
+      double = "darwin-x86_64";
+    };
     "x86_64-unknown-linux-gnu" = {
       double = "linux-x86_64";
     };
diff --git a/pkgs/development/mobile/androidenv/androidndk.nix b/pkgs/development/mobile/androidenv/androidndk.nix
index dc693accbf4b..072a6dc3168e 100644
--- a/pkgs/development/mobile/androidenv/androidndk.nix
+++ b/pkgs/development/mobile/androidenv/androidndk.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, zlib, ncurses5, unzip, lib, makeWrapper
 , coreutils, file, findutils, gawk, gnugrep, gnused, jdk, which
-, platformTools, python3, libcxx, version, sha256, bash, runCommand
+, platformTools, python3, libcxx, version, sha1s, bash, runCommand
 , fullNDK ? false # set to true if you want other parts of the NDK
                   # that is not used by Nixpkgs like sources,
                   # examples, docs, or LLVM toolchains
@@ -16,10 +16,10 @@ let
     name = "android-ndk-r${version}";
     inherit version;
 
-    src = if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl {
-      url = "https://dl.google.com/android/repository/${name}-linux-x86_64.zip";
-      inherit sha256;
-    } else throw "platform ${stdenv.hostPlatform.system} not supported!";
+    src = fetchurl {
+      url = "https://dl.google.com/android/repository/${name}-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}.zip";
+      sha1 = sha1s.${stdenv.hostPlatform.system} or (throw "platform ${stdenv.hostPlatform.system} not supported!");
+    };
 
     phases = "buildPhase";
 
@@ -99,7 +99,7 @@ let
     '';
 
     meta = {
-      platforms = stdenv.lib.platforms.linux;
+      platforms = builtins.attrNames sha1s;
       hydraPlatforms = [];
       license = stdenv.lib.licenses.asl20;
     };
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 8e108f24088e..1f61be9440b0 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -232,7 +232,10 @@ rec {
       coreutils file findutils gawk gnugrep gnused jdk which;
     inherit platformTools;
     version = "10e";
-    sha256 = "032j3sgk93bjbkny84i17ph61dhjmsax9ddqng1zbi2p7dgl0pzf";
+    sha1s = {
+      x86_64-darwin = "6be8598e4ed3d9dd42998c8cb666f0ee502b1294";
+      x86_64-linux = "f692681b007071103277f6edc6f91cb5c5494a32";
+    };
   };
 
   androidndk_16b = pkgs.callPackage ./androidndk.nix {
@@ -243,20 +246,26 @@ rec {
       coreutils file findutils gawk gnugrep gnused jdk which;
     inherit platformTools;
     version = "16b";
-    sha256 = "00frcnvpcsngv00p6l2vxj4cwi2mwcm9lnjvm3zv4wrp6pss9pmw";
+    sha1s = {
+      x86_64-darwin = "e51e615449b98c716cf912057e2682e75d55e2de";
+      x86_64-linux = "42aa43aae89a50d1c66c3f9fdecd676936da6128";
+    };
   };
 
-  androidndk_17 = pkgs.callPackage ./androidndk.nix {
+  androidndk_17c = pkgs.callPackage ./androidndk.nix {
     inherit (buildPackages)
       unzip makeWrapper;
     inherit (pkgs)
       stdenv fetchurl zlib ncurses5 lib python3 libcxx
       coreutils file findutils gawk gnugrep gnused jdk which;
     inherit platformTools;
-    version = "17";
-    sha256 = "1jj3zy958zsidywqd5nwdyrnr72rf9zhippkl8rbqxfy8wxq2gds";
+    version = "17c";
+    sha1s = {
+      x86_64-darwin = "f97e3d7711497e3b4faf9e7b3fa0f0da90bb649c";
+      x86_64-linux = "12cacc70c3fd2f40574015631c00f41fb8a39048";
+    };
   };
-  androidndk = androidndk_17;
+  androidndk = androidndk_17c;
 
   androidndk_r8e = import ./androidndk_r8e.nix {
     inherit (buildPackages)
@@ -277,7 +286,7 @@ rec {
     inherit androidsdk;
   };
 
-  androidndkPkgs_17 = import ./androidndk-pkgs.nix {
+  androidndkPkgs_17c = import ./androidndk-pkgs.nix {
     inherit (buildPackages)
       makeWrapper;
     inherit (pkgs)
@@ -287,11 +296,11 @@ rec {
     # but for splicing messing up on infinite recursion for the variants we
     # *dont't* use. Using this workaround, but also making a test to ensure
     # these two really are the same.
-    buildAndroidndk = buildPackages.buildPackages.androidenv.androidndk_17;
-    androidndk = androidndk_17;
-    targetAndroidndkPkgs = targetPackages.androidenv.androidndkPkgs_17;
+    buildAndroidndk = buildPackages.buildPackages.androidenv.androidndk_17c;
+    androidndk = androidndk_17c;
+    targetAndroidndkPkgs = targetPackages.androidenv.androidndkPkgs_17c;
   };
-  androidndkPkgs = androidndkPkgs_17;
+  androidndkPkgs = androidndkPkgs_17c;
 
   androidndkPkgs_10e = import ./androidndk-pkgs.nix {
     inherit (buildPackages)
diff --git a/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17.patch b/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17c.patch
index 88ce69be3e8c..88ce69be3e8c 100644
--- a/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17.patch
+++ b/pkgs/development/mobile/androidenv/make_standalone_toolchain.py_17c.patch
diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index c82df1396bd4..9c9912cfb8c0 100644
--- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-mlgmpidl-${version}";
-  version = "1.2.6";
+  version = "1.2.7";
   src = fetchFromGitHub {
     owner = "nberth";
     repo = "mlgmpidl";
     rev = version;
-    sha256 = "1lq3yy10v3rvlchbl5kl75l9f8frgj6g9f1n14kj5qlxm5xsrvks";
+    sha256 = "063hy1divbiabqm5x307iamw942sivzw9fr8vczy3kgndfp12nic";
   };
 
   buildInputs = [ perl gmp mpfr ocaml findlib camlidl ];
diff --git a/pkgs/development/ocaml-modules/ppx_import/default.nix b/pkgs/development/ocaml-modules/ppx_import/default.nix
index 1f53b8712828..ffac74de4edf 100644
--- a/pkgs/development/ocaml-modules/ppx_import/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_import/default.nix
@@ -1,21 +1,24 @@
-{stdenv, fetchFromGitHub, buildOcaml, opaline,
- cppo, ounit, ppx_deriving}:
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opaline
+, cppo, ounit, ppx_deriving
+}:
 
-buildOcaml rec {
-  name = "ppx_import";
+if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+then throw "ppx_import is not available for OCaml ${ocaml.version}"
+else
 
-  version = "1.4";
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-ppx_import-${version}";
 
-  minimumSupportedOcamlVersion = "4.02";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "ocaml-ppx";
     repo = "ppx_import";
     rev = "v${version}";
-    sha256 = "14c2lp7r9080c4hsb1y1drbxxx3v44b7ib5wfh3kkh3f1jfsjwbk";
+    sha256 = "1lf5lfp6bl5g4gdszaa6k6pkyh3qyhbarg5m1j0ai3i8zh5qg09d";
   };
 
-  buildInputs = [ cppo ounit ppx_deriving opaline ];
+  buildInputs = [ ocaml findlib ocamlbuild cppo ounit ppx_deriving opaline ];
 
   doCheck = true;
   checkTarget = "test";
@@ -25,5 +28,7 @@ buildOcaml rec {
   meta = with stdenv.lib; {
     description = "A syntax extension that allows to pull in types or signatures from other compiled interface files";
     license = licenses.mit;
+    inherit (ocaml.meta) platforms;
+    inherit (src.meta) homepage;
   };
 }
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index 021f3461e535..2cd2e2484e67 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchPypi, buildPythonPackage, lxml, typed-ast, psutil, isPy3k }:
+{ stdenv, fetchPypi, buildPythonPackage, lxml, typed-ast, psutil, isPy3k
+,mypy_extensions }:
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "0.620";
+  version = "0.630";
 
   # Tests not included in pip package.
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c770605a579fdd4a014e9f0a34b6c7a36ce69b08100ff728e96e27445cef3b3c";
+    sha256 = "1p8rnap4ngczfm2q4035mcmn5nsprbljnhksx2jxzxrb9immh137";
   };
 
   disabled = !isPy3k;
 
-  propagatedBuildInputs = [ lxml typed-ast psutil ];
+  propagatedBuildInputs = [ lxml typed-ast psutil mypy_extensions ];
 
   meta = with stdenv.lib; {
     description = "Optional static typing for Python";
diff --git a/pkgs/development/python-modules/mypy/extensions.nix b/pkgs/development/python-modules/mypy/extensions.nix
new file mode 100644
index 000000000000..f57ac12c0da8
--- /dev/null
+++ b/pkgs/development/python-modules/mypy/extensions.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchPypi, buildPythonPackage, typing, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "mypy_extensions";
+  version = "0.4.1";
+
+  # Tests not included in pip package.
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04h8brrbbx151dfa2cvvlnxgmb5wa00mhd2z7nd20s8kyibfkq1p";
+  };
+
+  propagatedBuildInputs = [ typing ];
+
+  meta = with stdenv.lib; {
+    description = "Experimental type system extensions for programs checked with the mypy typechecker";
+    homepage    = "http://www.mypy-lang.org";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ martingms lnl7 ];
+  };
+}
diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix
index 9c5cbb1aa285..ba9ac923d11c 100644
--- a/pkgs/development/tools/heroku/default.nix
+++ b/pkgs/development/tools/heroku/default.nix
@@ -1,70 +1,32 @@
-{ stdenv, lib, fetchurl, makeWrapper, buildGoPackage, fetchFromGitHub
-, nodejs-6_x, postgresql, ruby }:
+{ stdenv, lib, fetchurl, makeWrapper, nodejs }:
 
-with stdenv.lib;
-
-let
-  cli = buildGoPackage rec {
-    name = "cli-${version}";
-    version = "5.6.32";
-
-    goPackagePath = "github.com/heroku/cli";
-
-    src = fetchFromGitHub {
-      owner  = "heroku";
-      repo   = "cli";
-      rev    = "v${version}";
-      sha256 = "062aa79mv2njjb0ix7isbz6646wxmsldv27bsz5v2pbv597km0vz";
-    };
-
-    buildFlagsArray = ''
-      -ldflags=
-        -X=main.Version=${version}
-        -X=main.Channel=stable
-        -X=main.Autoupdate=no
-    '';
-
-    preCheck = ''
-      export HOME=/tmp
-    '';
-
-    doCheck = true;
-  };
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "heroku-${version}";
-  version = "3.43.16";
+  version = "7.16.0";
 
-  meta = {
-    homepage = https://toolbelt.heroku.com;
-    description = "Everything you need to get started using Heroku";
-    maintainers = with maintainers; [ aflatter mirdhyn peterhoeg ];
-    license = licenses.mit;
-    platforms = with platforms; unix;
-    broken = true; # Outdated function, not supported upstream. https://github.com/NixOS/nixpkgs/issues/27447
+  src = fetchurl {
+    url = "https://cli-assets.heroku.com/heroku-v${version}/heroku-v${version}.tar.xz";
+    sha256 = "434573b4773ce7ccbb21b43b19529475d941fa7dd219b01b75968b42e6b62abe";
   };
 
-  binPath = lib.makeBinPath [ postgresql ruby ];
-
   buildInputs = [ makeWrapper ];
 
-  doUnpack = false;
-
-  src = fetchurl {
-    url = "https://s3.amazonaws.com/assets.heroku.com/heroku-client/heroku-client-${version}.tgz";
-    sha256 = "08pai3cjaj7wshhyjcmkvyr1qxv5ab980whcm406798ng8f91hn7";
-  };
+  dontBuild = true;
 
   installPhase = ''
-    mkdir -p $out
-
-    tar xzf $src -C $out --strip-components=1
-    install -Dm755 ${cli}/bin/cli $out/share/heroku/cli/bin/heroku
-
-    wrapProgram $out/bin/heroku \
-      --set HEROKU_NODE_PATH ${nodejs-6_x}/bin/node \
-      --set XDG_DATA_HOME    $out/share \
-      --set XDG_DATA_DIRS    $out/share \
-      --prefix PATH : ${binPath}
+    mkdir -p $out/share/heroku $out/bin
+    cp -pr * $out/share/heroku
+    substituteInPlace $out/share/heroku/bin/run \
+      --replace "/usr/bin/env node" "${nodejs}/bin/node"
+    makeWrapper $out/share/heroku/bin/run $out/bin/heroku \
+      --set HEROKU_DISABLE_AUTOUPDATE 1
   '';
+
+  meta = {
+    homepage = https://cli.heroku.com;
+    description = "Everything you need to get started using Heroku";
+    maintainers = with lib.maintainers; [ aflatter mirdhyn peterhoeg ];
+    license = lib.licenses.mit;
+    platforms = with lib.platforms; unix;
+  };
 }
diff --git a/pkgs/misc/vim-plugins/aliases.nix b/pkgs/misc/vim-plugins/aliases.nix
new file mode 100644
index 000000000000..cfdd629369c0
--- /dev/null
+++ b/pkgs/misc/vim-plugins/aliases.nix
@@ -0,0 +1,139 @@
+# Deprecated aliases - for backward compatibility
+
+lib: overriden:
+
+with overriden;
+
+let
+  # Removing recurseForDerivation prevents derivations of aliased attribute
+  # set to appear while listing all the packages available.
+  removeRecurseForDerivations = alias: with lib;
+    if alias.recurseForDerivations or false then
+      removeAttrs alias ["recurseForDerivations"]
+    else alias;
+
+  # Disabling distribution prevents top-level aliases for non-recursed package
+  # sets from building on Hydra.
+  removeDistribute = alias: with lib;
+    if isDerivation alias then
+      dontDistribute alias
+    else alias;
+
+  # Make sure that we are not shadowing something from
+  # all-packages.nix.
+  checkInPkgs = n: alias: if builtins.hasAttr n overriden
+                          then throw "Alias ${n} is still in vim-plugins"
+                          else alias;
+
+  mapAliases = aliases:
+     lib.mapAttrs (n: alias: removeDistribute
+                             (removeRecurseForDerivations
+                              (checkInPkgs n alias)))
+                     aliases;
+in
+
+mapAliases {
+  airline             = vim-airline;
+  alternative         = a-vim; # backwards compat, added 2014-10-21
+  bats                = bats-vim;
+  calendar            = calendar-vim;
+  coffee-script       = vim-coffee-script;
+  coffeeScript        = vim-coffee-script; # backwards compat, added 2014-10-18
+  Solarized           = vim-colors-solarized;
+  solarized           = vim-colors-solarized;
+  colors-solarized    = vim-colors-solarized;
+  caw                 = caw-vim;
+  colorsamplerpack    = Colour-Sampler-Pack;
+  Colour_Sampler_Pack = Colour-Sampler-Pack;
+  command_T           = command-t; # backwards compat, added 2014-10-18
+  commentary          = vim-commentary;
+  committia           = committia-vim;
+  concealedyank       = concealedyank-vim;
+  context-filetype    = context_filetype-vim;
+  Cosco               = cosco-vim;
+  css_color_5056      = vim-css-color;
+  CSApprox            = csapprox;
+  csv                 = csv-vim;
+  ctrlp               = ctrlp-vim;
+  cute-python         = vim-cute-python;
+  denite              = denite-nvim;
+  easy-align          = vim-easy-align;
+  easygit             = vim-easygit;
+  easymotion          = vim-easymotion;
+  echodoc             = echodoc-vim;
+  eighties            = vim-eighties;
+  extradite           = vim-extradite;
+  fugitive            = vim-fugitive;
+  ghc-mod-vim         = ghcmod-vim;
+  ghcmod              = ghcmod-vim;
+  goyo                = goyo-vim;
+  Gist                = gist-vim;
+  gitgutter           = vim-gitgutter;
+  gundo               = gundo-vim;
+  Gundo               = gundo-vim; # backwards compat, added 2015-10-03
+  haskellConceal      = vim-haskellconceal; # backwards compat, added 2014-10-18
+  haskellConcealPlus  = vim-haskellConcealPlus;
+  haskellconceal      = vim-haskellconceal;
+  hier                = vim-hier;
+  hlint-refactor      = hlint-refactor-vim;
+  hoogle              = vim-hoogle;
+  Hoogle              = vim-hoogle;
+  ipython             = vim-ipython;
+  latex-live-preview  = vim-latex-live-preview;
+  maktaba             = vim-maktaba;
+  multiple-cursors    = vim-multiple-cursors;
+  necoGhc             = neco-ghc; # backwards compat, added 2014-10-18
+  neocomplete         = neocomplete-vim;
+  neoinclude          = neoinclude-vim;
+  neomru              = neomru-vim;
+  neosnippet          = neosnippet-vim;
+  The_NERD_Commenter  = nerdcommenter;
+  The_NERD_tree       = nerdtree;
+  open-browser        = open-browser-vim;
+  pathogen            = vim-pathogen;
+  polyglot            = vim-polyglot;
+  prettyprint         = vim-prettyprint;
+  quickrun            = vim-quickrun;
+  rainbow_parentheses = rainbow_parentheses-vim;
+  repeat              = vim-repeat;
+  riv                 = riv-vim;
+  rhubarb             = vim-rhubarb;
+  sensible            = vim-sensible;
+  signature           = vim-signature;
+  snipmate            = vim-snipmate;
+  sourcemap           = sourcemap-vim;
+  "sourcemap.vim"     = sourcemap-vim;
+  surround            = vim-surround;
+  sleuth              = vim-sleuth;
+  solidity            = vim-solidity;
+  stylish-haskell     = vim-stylish-haskell;
+  stylishHaskell      = vim-stylish-haskell; # backwards compat, added 2014-10-18
+  Supertab            = supertab;
+  Syntastic           = syntastic;
+  SyntaxRange         = vim-SyntaxRange;
+  table-mode          = vim-table-mode;
+  taglist             = taglist-vim;
+  tabpagebuffer       = tabpagebuffer-vim;
+  tabpagecd           = vim-tabpagecd;
+  Tabular             = tabular;
+  Tagbar              = tagbar;
+  thumbnail           = thumbnail-vim;
+  tlib                = tlib_vim;
+  tmux-navigator      = vim-tmux-navigator;
+  tmuxNavigator       = vim-tmux-navigator; # backwards compat, added 2014-10-18
+  tslime              = tslime-vim;
+  unite               = unite-vim;
+  UltiSnips           = ultisnips;
+  vim-addon-vim2nix   = vim2nix;
+  vimproc             = vimproc-vim;
+  vimshell            = vimshell-vim;
+  vinegar             = vim-vinegar;
+  watchdogs           = vim-watchdogs;
+  WebAPI              = webapi-vim;
+  wombat256           = wombat256-vim; # backwards compat, added 2015-7-8
+  yankring            = YankRing-vim;
+  Yankring            = YankRing-vim;
+  YouCompleteMe       = youcompleteme;
+  xterm-color-table   = xterm-color-table-vim;
+  zeavim              = zeavim-vim;
+}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index e68ccacfb426..4cde30556a33 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -1,449 +1,30 @@
 # TODO check that no license information gets lost
-{ callPackage, config, lib, stdenv
-, python, cmake, vim, vimUtils, ruby
-, which, fetchgit, llvmPackages, rustPlatform
-, xkb_switch, fzf, skim
-, python3, boost, icu, ncurses
-, ycmd, rake
-, pythonPackages, python3Packages
-, substituteAll
-, languagetool
-, Cocoa, CoreFoundation, CoreServices
-}:
+{ callPackage, config, lib, stdenv, vimUtils, vim, darwin, llvmPackages }:
 
 let
 
-  _skim = skim;
-
   inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix;
 
   generated = callPackage ./generated.nix {
     inherit buildVimPluginFrom2Nix;
   };
 
-# TL;DR
-# * Add your plugin to ./vim-plugin-names
-# * sort -udf ./vim-plugin-names > sorted && mv sorted vim-plugin-names
-# * run ./update.py
-#
-# If additional modifications to the build process are required,
-# use add an override to this file.
-self = generated // (with generated; {
-  vim2nix = buildVimPluginFrom2Nix {
-    name = "vim2nix";
-    src = ./vim2nix;
-    dependencies = ["vim-addon-manager"];
-  };
-
-  fzfWrapper = buildVimPluginFrom2Nix {
-    name = fzf.name;
-    src = fzf.src;
-    dependencies = [];
-  };
-
-  skim = buildVimPluginFrom2Nix {
-    name = _skim.name;
-    src = _skim.vim;
-    dependencies = [];
-  };
-
-  LanguageClient-neovim = let
-    LanguageClient-neovim-src = fetchgit {
-      url = "https://github.com/autozimu/LanguageClient-neovim";
-      rev = "59f0299e8f7d7edd0653b5fc005eec74c4bf4aba";
-      sha256 = "0x6729w7v3bxlpvm8jz1ybn23qa0zqfgxl88q2j0bbs6rvp0w1jq";
-    };
-    LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
-      name = "LanguageClient-neovim-bin";
-      src = LanguageClient-neovim-src;
-
-      cargoSha256 = "1afmz14j7ma2nrsx0njcqbh2wa430dr10hds78c031286ppgwjls";
-      buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
-
-      # FIXME: Use impure version of CoreFoundation because of missing symbols.
-      #   Undefined symbols for architecture x86_64: "_CFURLResourceIsReachable"
-      preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
-        export NIX_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS"
-      '';
-    };
-  in buildVimPluginFrom2Nix {
-    name = "LanguageClient-neovim-2018-09-07";
-    src = LanguageClient-neovim-src;
-
-    dependencies = [];
-    propogatedBuildInputs = [ LanguageClient-neovim-bin ];
-
-    preFixup = ''
-      substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/autoload/LanguageClient.vim \
-        --replace "let l:path = s:root . '/bin/'" "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'"
-    '';
-  };
-
-  # do not auto-update this one, as the name clashes with vim-snippets
-  vim-docbk-snippets = buildVimPluginFrom2Nix {
-    name = "vim-docbk-snippets-2017-11-02";
-    src = fetchgit {
-      url = "https://github.com/jhradilek/vim-snippets";
-      rev = "69cce66defdf131958f152ea7a7b26c21ca9d009";
-      sha256 = "1363b2fmv69axrl2hm74dmx51cqd8k7rk116890qllnapzw1zjgc";
-    };
-    dependencies = [];
+  # TL;DR
+  # * Add your plugin to ./vim-plugin-names
+  # * sort -udf ./vim-plugin-names > sorted && mv sorted vim-plugin-names
+  # * run ./update.py
+  #
+  # If additional modifications to the build process are required,
+  # add to ./overrides.nix.
+  overrides = callPackage ./overrides.nix {
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices;
+    inherit buildVimPluginFrom2Nix;
   };
 
-  clang_complete = 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).
-    # The linked ruby code shows generates the required '.clang_complete' for cmake based projects
-    # https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144
-    # as an alternative you can execute the following command:
-    # $ eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
-    preFixup = ''
-      substituteInPlace "$out"/share/vim-plugins/clang_complete/plugin/clang_complete.vim \
-        --replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.clang.cc}/lib/libclang.so'"
-    '';
-  });
-
-  clighter8 = clighter8.overrideAttrs(old: {
-    preFixup = ''
-      sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc}/lib/libclang.so')|" \
-        -i "$out"/share/vim-plugins/clighter8/plugin/clighter8.vim
-    '';
-  });
-
-  command-t = command-t.overrideAttrs(old: {
-    buildInputs = [ ruby rake ];
-    buildPhase = ''
-      rake make
-      rm ruby/command-t/ext/command-t/*.o
-    '';
-  });
-
-  cpsm = cpsm.overrideAttrs(old: {
-    buildInputs = [
-      python3
-      stdenv
-      cmake
-      boost
-      icu
-      ncurses
-    ];
-    buildPhase = ''
-      patchShebangs .
-      export PY3=ON
-      ./install.sh
-    '';
-	});
-
-  ctrlp-cmatcher = ctrlp-cmatcher.overrideAttrs(old: {
-    buildInputs = [ python ];
-    buildPhase = ''
-      patchShebangs .
-      ./install.sh
-    '';
-  });
-
-  deoplete-go = deoplete-go.overrideAttrs(old: {
-    buildInputs = [ python3 ];
-    buildPhase = ''
-      pushd ./rplugin/python3/deoplete/ujson
-      python3 setup.py build --build-base=$PWD/build --build-lib=$PWD/build
-      popd
-      find ./rplugin/ -name "ujson*.so" -exec mv -v {} ./rplugin/python3/ \;
-   '';
-  });
-
-  ensime-vim = ensime-vim.overrideAttrs(old: {
-    passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
-    dependencies = ["vimproc" "vimshell" "self" "forms"];
-  });
-
-  forms = forms.overrideAttrs(old: {
-		dependencies = ["self"];
-	});
-
-  gitv = gitv.overrideAttrs(old: {
-		dependencies = ["gitv"];
-  });
-
-  ncm2 = ncm2.overrideAttrs(old: {
-    dependencies = ["nvim-yarp"];
-  });
-
-  ncm2-ultisnips = ncm2-ultisnips.overrideAttrs(old: {
-    dependencies = ["ultisnips"];
-  });
-
-  taglist-vim = taglist-vim.overrideAttrs(old: {
-    setSourceRoot = ''
-      export sourceRoot=taglist
-      mkdir taglist
-      mv doc taglist
-      mv plugin taglist
-    '';
-  });
-
-  vimshell-vim = vimshell-vim.overrideAttrs(old: {
-    dependencies = [ "vimproc-vim" ];
-  });
-
-  vim-addon-manager = 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-async = vim-addon-async.overrideAttrs(old: {
-    dependencies = [ "vim-addon-signs" ];
-  });
-
-  vim-addon-background-cmd = vim-addon-background-cmd.overrideAttrs(old: {
-    dependencies = [ "vim-addon-mw-utils" ];
-  });
-
-  vim-addon-completion = vim-addon-completion.overrideAttrs(old: {
-    dependencies = [ "tlib" ];
-  });
-
-  vim-addon-goto-thing-at-cursor = vim-addon-goto-thing-at-cursor.overrideAttrs(old: {
-    dependencies = [ "tlib" ];
-  });
-
-  vim-addon-mru = vim-addon-mru.overrideAttrs(old: {
-    dependencies = ["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-sql = vim-addon-sql.overrideAttrs(old: {
-    dependencies = ["vim-addon-completion" "vim-addon-background-cmd" "tlib"];
-  });
-
-  vim-addon-syntax-checker = vim-addon-syntax-checker.overrideAttrs(old: {
-    dependencies = ["vim-addon-mw-utils" "tlib"];
-  });
-
-  vim-addon-toggle-buffer = vim-addon-toggle-buffer.overrideAttrs(old: {
-    dependencies = [ "vim-addon-mw-utils" "tlib" ];
-  });
-
-  vim-addon-xdebug = vim-addon-xdebug.overrideAttrs(old: {
-    dependencies = [ "WebAPI" "vim-addon-mw-utils" "vim-addon-signs" "vim-addon-async" ];
-  });
-
-  vim-bazel = vim-bazel.overrideAttrs(old: {
-    dependencies = ["maktaba"];
-  });
-
-  vim-codefmt = vim-codefmt.overrideAttrs(old: {
-		dependencies = ["maktaba"];
-	});
-
-  vim-easytags = vim-easytags.overrideAttrs(old: {
-		dependencies = ["vim-misc"];
-	});
-
-  vim-grammarous = vim-grammarous.overrideAttrs(old: {
-    # use `:GrammarousCheck` to initialize checking
-    # In neovim, you also want to use set
-    #   let g:grammarous#show_first_error = 1
-    # see https://github.com/rhysd/vim-grammarous/issues/39
-    patches = [
-      (substituteAll {
-        src = ./patches/vim-grammarous/set_default_languagetool.patch;
-        inherit languagetool;
-      })
-    ];
-  });
-
-  vim-hier = vim-hier.overrideAttrs(old: {
-    buildInputs = [ vim ];
-  });
-
-  vim-isort = vim-isort.overrideAttrs(old: {
-    postPatch = ''
-      substituteInPlace ftplugin/python_vimisort.vim \
-        --replace 'import vim' 'import vim; import sys; sys.path.append("${pythonPackages.isort}/${python.sitePackages}")'
-    '';
-  });
-
-	vim-snipmate = vim-snipmate.overrideAttrs(old: {
-		dependencies = ["vim-addon-mw-utils" "tlib"];
-	});
-
-
-  vim-wakatime = vim-wakatime.overrideAttrs(old: {
-    buildInputs = [ python ];
-  });
-
-  vim-xdebug = vim-xdebug.overrideAttrs(old: {
-    postInstall = false;
-  });
-
-  vim-xkbswitch = vim-xkbswitch.overrideAttrs(old: {
-    patchPhase = ''
-      substituteInPlace plugin/xkbswitch.vim \
-        --replace /usr/local/lib/libxkbswitch.so ${xkb_switch}/lib/libxkbswitch.so
-    '';
-    buildInputs = [ xkb_switch ];
-  });
-
-  vim-yapf = vim-yapf.overrideAttrs(old: {
-    buildPhase = ''
-      substituteInPlace ftplugin/python_yapf.vim \
-        --replace '"yapf"' '"${python3Packages.yapf}/bin/yapf"'
-    '';
-  });
-
-  vimproc-vim = vimproc-vim.overrideAttrs(old: {
-    buildInputs = [ which ];
-
-    buildPhase = ''
-      substituteInPlace autoload/vimproc.vim \
-        --replace vimproc_mac.so vimproc_unix.so \
-        --replace vimproc_linux64.so vimproc_unix.so \
-        --replace vimproc_linux32.so vimproc_unix.so
-      make -f make_unix.mak
-    '';
-  });
-
-  YankRing-vim = YankRing-vim.overrideAttrs(old: {
-    sourceRoot = ".";
-  });
-
-  youcompleteme = youcompleteme.overrideAttrs(old: {
-    buildPhase = ''
-      substituteInPlace plugin/youcompleteme.vim \
-        --replace "'ycm_path_to_python_interpreter', '''" \
-        "'ycm_path_to_python_interpreter', '${python}/bin/python'"
+  overriden = generated // (overrides generated);
 
-      rm -r third_party/ycmd
-      ln -s ${ycmd}/lib/ycmd third_party
-    '';
+  aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib overriden);
 
-    meta = {
-      description = "A code-completion engine for Vim";
-      homepage = https://github.com/Valloric/YouCompleteMe;
-      license = stdenv.lib.licenses.gpl3;
-      maintainers = with stdenv.lib.maintainers; [marcweber jagajaga];
-      platforms = stdenv.lib.platforms.unix;
-    };
-  });
-}) // lib.optionalAttrs (config.allowAliases or true) (with self; {
-  # aliases
-  airline             = vim-airline;
-  alternative         = a-vim; # backwards compat, added 2014-10-21
-  bats                = bats-vim;
-  calendar            = calendar-vim;
-  coffee-script       = vim-coffee-script;
-  coffeeScript        = coffee-script; # backwards compat, added 2014-10-18
-  Solarized           = vim-colors-solarized;
-  solarized           = vim-colors-solarized;
-  colors-solarized    = vim-colors-solarized;
-  caw                 = caw-vim;
-  colorsamplerpack    = Colour_Sampler_Pack;
-  Colour_Sampler_Pack = Colour-Sampler-Pack;
-  command_T           = command-t; # backwards compat, added 2014-10-18
-  commentary          = vim-commentary;
-  committia           = committia-vim;
-  concealedyank       = concealedyank-vim;
-  context-filetype    = context_filetype-vim;
-  Cosco               = cosco-vim;
-  css_color_5056      = vim-css-color;
-  CSApprox            = csapprox;
-  csv                 = csv-vim;
-  ctrlp               = ctrlp-vim;
-  cute-python         = vim-cute-python;
-  denite              = denite-nvim;
-  easy-align          = vim-easy-align;
-  easygit             = vim-easygit;
-  easymotion          = vim-easymotion;
-  echodoc             = echodoc-vim;
-  eighties            = vim-eighties;
-  extradite           = vim-extradite;
-  fugitive            = vim-fugitive;
-  ghc-mod-vim         = ghcmod-vim;
-  ghcmod              = ghcmod-vim;
-  goyo                = goyo-vim;
-  Gist                = gist-vim;
-  gitgutter           = vim-gitgutter;
-  gundo               = gundo-vim;
-  Gundo               = gundo-vim; # backwards compat, added 2015-10-03
-  haskellConceal      = haskellconceal; # backwards compat, added 2014-10-18
-  haskellConcealPlus  = vim-haskellConcealPlus;
-  haskellconceal      = vim-haskellconceal;
-  hier                = vim-hier;
-  hlint-refactor      = hlint-refactor-vim;
-  hoogle              = vim-hoogle;
-  Hoogle              = vim-hoogle;
-  ipython             = vim-ipython;
-  latex-live-preview  = vim-latex-live-preview;
-  maktaba             = vim-maktaba;
-  multiple-cursors    = vim-multiple-cursors;
-  necoGhc             = neco-ghc; # backwards compat, added 2014-10-18
-  neocomplete         = neocomplete-vim;
-  neoinclude          = neoinclude-vim;
-  neomru              = neomru-vim;
-  neosnippet          = neosnippet-vim;
-  The_NERD_Commenter  = nerdcommenter;
-  The_NERD_tree       = nerdtree;
-  open-browser        = open-browser-vim;
-  pathogen            = vim-pathogen;
-  polyglot            = vim-polyglot;
-  prettyprint         = vim-prettyprint;
-  quickrun            = vim-quickrun;
-  rainbow_parentheses = rainbow_parentheses-vim;
-  repeat              = vim-repeat;
-  riv                 = riv-vim;
-  rhubarb             = vim-rhubarb;
-  sensible            = vim-sensible;
-  signature           = vim-signature;
-  snipmate            = vim-snipmate;
-  sourcemap           = sourcemap-vim;
-  "sourcemap.vim"     = sourcemap-vim;
-  surround            = vim-surround;
-  sleuth              = vim-sleuth;
-  solidity            = vim-solidity;
-  stylish-haskell     = vim-stylish-haskell;
-  stylishHaskell      = stylish-haskell; # backwards compat, added 2014-10-18
-  Supertab            = supertab;
-  Syntastic           = syntastic;
-  SyntaxRange         = vim-SyntaxRange;
-  table-mode          = vim-table-mode;
-  taglist             = taglist-vim;
-  tabpagebuffer       = tabpagebuffer-vim;
-  tabpagecd           = vim-tabpagecd;
-  Tabular             = tabular;
-  Tagbar              = tagbar;
-  thumbnail           = thumbnail-vim;
-  tlib                = tlib_vim;
-  tmux-navigator      = vim-tmux-navigator;
-  tmuxNavigator       = tmux-navigator; # backwards compat, added 2014-10-18
-  tslime              = tslime-vim;
-  unite               = unite-vim;
-  UltiSnips           = ultisnips;
-  vim-addon-vim2nix   = vim2nix;
-  vimproc             = vimproc-vim;
-  vimshell            = vimshell-vim;
-  vinegar             = vim-vinegar;
-  watchdogs           = vim-watchdogs;
-  WebAPI              = webapi-vim;
-  wombat256           = wombat256-vim; # backwards compat, added 2015-7-8
-  yankring            = YankRing-vim;
-  Yankring            = YankRing-vim;
-  YouCompleteMe       = youcompleteme;
-  xterm-color-table   = xterm-color-table-vim;
-  zeavim              = zeavim-vim;
+in
 
-});
-in self
+overriden // aliases
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
new file mode 100644
index 000000000000..b02cac2b7052
--- /dev/null
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -0,0 +1,337 @@
+{config, lib, stdenv
+, python, cmake, vim, vimUtils, ruby
+, which, fetchgit, llvmPackages, rustPlatform
+, xkb_switch, fzf, skim
+, python3, boost, icu, ncurses
+, ycmd, rake
+, pythonPackages, python3Packages
+, substituteAll
+, languagetool
+, Cocoa, CoreFoundation, CoreServices
+, buildVimPluginFrom2Nix
+}:
+
+let
+
+  _skim = skim;
+
+in
+
+generated:
+
+with generated;
+
+{
+
+  vim2nix = buildVimPluginFrom2Nix {
+    name = "vim2nix";
+    src = ./vim2nix;
+    dependencies = ["vim-addon-manager"];
+  };
+
+  fzfWrapper = buildVimPluginFrom2Nix {
+    name = fzf.name;
+    src = fzf.src;
+    dependencies = [];
+  };
+
+  skim = buildVimPluginFrom2Nix {
+    name = _skim.name;
+    src = _skim.vim;
+    dependencies = [];
+  };
+
+  LanguageClient-neovim = let
+    LanguageClient-neovim-src = fetchgit {
+      url = "https://github.com/autozimu/LanguageClient-neovim";
+      rev = "59f0299e8f7d7edd0653b5fc005eec74c4bf4aba";
+      sha256 = "0x6729w7v3bxlpvm8jz1ybn23qa0zqfgxl88q2j0bbs6rvp0w1jq";
+    };
+    LanguageClient-neovim-bin = rustPlatform.buildRustPackage {
+      name = "LanguageClient-neovim-bin";
+      src = LanguageClient-neovim-src;
+
+      cargoSha256 = "1afmz14j7ma2nrsx0njcqbh2wa430dr10hds78c031286ppgwjls";
+      buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
+
+      # FIXME: Use impure version of CoreFoundation because of missing symbols.
+      #   Undefined symbols for architecture x86_64: "_CFURLResourceIsReachable"
+      preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+        export NIX_LDFLAGS="-F${CoreFoundation}/Library/Frameworks -framework CoreFoundation $NIX_LDFLAGS"
+      '';
+    };
+  in buildVimPluginFrom2Nix {
+    name = "LanguageClient-neovim-2018-09-07";
+    src = LanguageClient-neovim-src;
+
+    dependencies = [];
+    propogatedBuildInputs = [ LanguageClient-neovim-bin ];
+
+    preFixup = ''
+      substituteInPlace "$out"/share/vim-plugins/LanguageClient-neovim/autoload/LanguageClient.vim \
+        --replace "let l:path = s:root . '/bin/'" "let l:path = '${LanguageClient-neovim-bin}' . '/bin/'"
+    '';
+  };
+
+  # do not auto-update this one, as the name clashes with vim-snippets
+  vim-docbk-snippets = buildVimPluginFrom2Nix {
+    name = "vim-docbk-snippets-2017-11-02";
+    src = fetchgit {
+      url = "https://github.com/jhradilek/vim-snippets";
+      rev = "69cce66defdf131958f152ea7a7b26c21ca9d009";
+      sha256 = "1363b2fmv69axrl2hm74dmx51cqd8k7rk116890qllnapzw1zjgc";
+    };
+    dependencies = [];
+  };
+
+  clang_complete = 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).
+    # The linked ruby code shows generates the required '.clang_complete' for cmake based projects
+    # https://gist.github.com/Mic92/135e83803ed29162817fce4098dec144
+    # as an alternative you can execute the following command:
+    # $ eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
+    preFixup = ''
+      substituteInPlace "$out"/share/vim-plugins/clang_complete/plugin/clang_complete.vim \
+        --replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.clang.cc}/lib/libclang.so'"
+    '';
+  });
+
+  clighter8 = clighter8.overrideAttrs(old: {
+    preFixup = ''
+      sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc}/lib/libclang.so')|" \
+        -i "$out"/share/vim-plugins/clighter8/plugin/clighter8.vim
+    '';
+  });
+
+  command-t = command-t.overrideAttrs(old: {
+    buildInputs = [ ruby rake ];
+    buildPhase = ''
+      rake make
+      rm ruby/command-t/ext/command-t/*.o
+    '';
+  });
+
+  cpsm = cpsm.overrideAttrs(old: {
+    buildInputs = [
+      python3
+      stdenv
+      cmake
+      boost
+      icu
+      ncurses
+    ];
+    buildPhase = ''
+      patchShebangs .
+      export PY3=ON
+      ./install.sh
+    '';
+  });
+
+  ctrlp-cmatcher = ctrlp-cmatcher.overrideAttrs(old: {
+    buildInputs = [ python ];
+    buildPhase = ''
+      patchShebangs .
+      ./install.sh
+    '';
+  });
+
+  deoplete-go = deoplete-go.overrideAttrs(old: {
+    buildInputs = [ python3 ];
+    buildPhase = ''
+      pushd ./rplugin/python3/deoplete/ujson
+      python3 setup.py build --build-base=$PWD/build --build-lib=$PWD/build
+      popd
+      find ./rplugin/ -name "ujson*.so" -exec mv -v {} ./rplugin/python3/ \;
+   '';
+  });
+
+  ensime-vim = ensime-vim.overrideAttrs(old: {
+    passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ];
+    dependencies = ["vimproc" "vimshell" "self" "forms"];
+  });
+
+  forms = forms.overrideAttrs(old: {
+    dependencies = ["self"];
+  });
+
+  gitv = gitv.overrideAttrs(old: {
+    dependencies = ["gitv"];
+  });
+
+  ncm2 = ncm2.overrideAttrs(old: {
+    dependencies = ["nvim-yarp"];
+  });
+
+  ncm2-ultisnips = ncm2-ultisnips.overrideAttrs(old: {
+    dependencies = ["ultisnips"];
+  });
+
+  taglist-vim = taglist-vim.overrideAttrs(old: {
+    setSourceRoot = ''
+      export sourceRoot=taglist
+      mkdir taglist
+      mv doc taglist
+      mv plugin taglist
+    '';
+  });
+
+  vimshell-vim = vimshell-vim.overrideAttrs(old: {
+    dependencies = [ "vimproc-vim" ];
+  });
+
+  vim-addon-manager = 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-async = vim-addon-async.overrideAttrs(old: {
+    dependencies = [ "vim-addon-signs" ];
+  });
+
+  vim-addon-background-cmd = vim-addon-background-cmd.overrideAttrs(old: {
+    dependencies = [ "vim-addon-mw-utils" ];
+  });
+
+  vim-addon-completion = vim-addon-completion.overrideAttrs(old: {
+    dependencies = [ "tlib" ];
+  });
+
+  vim-addon-goto-thing-at-cursor = vim-addon-goto-thing-at-cursor.overrideAttrs(old: {
+    dependencies = [ "tlib" ];
+  });
+
+  vim-addon-mru = vim-addon-mru.overrideAttrs(old: {
+    dependencies = ["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-sql = vim-addon-sql.overrideAttrs(old: {
+    dependencies = ["vim-addon-completion" "vim-addon-background-cmd" "tlib"];
+  });
+
+  vim-addon-syntax-checker = vim-addon-syntax-checker.overrideAttrs(old: {
+    dependencies = ["vim-addon-mw-utils" "tlib"];
+  });
+
+  vim-addon-toggle-buffer = vim-addon-toggle-buffer.overrideAttrs(old: {
+    dependencies = [ "vim-addon-mw-utils" "tlib" ];
+  });
+
+  vim-addon-xdebug = vim-addon-xdebug.overrideAttrs(old: {
+    dependencies = [ "WebAPI" "vim-addon-mw-utils" "vim-addon-signs" "vim-addon-async" ];
+  });
+
+  vim-bazel = vim-bazel.overrideAttrs(old: {
+    dependencies = ["maktaba"];
+  });
+
+  vim-codefmt = vim-codefmt.overrideAttrs(old: {
+    dependencies = ["maktaba"];
+  });
+
+  vim-easytags = vim-easytags.overrideAttrs(old: {
+    dependencies = ["vim-misc"];
+  });
+
+  vim-grammarous = vim-grammarous.overrideAttrs(old: {
+    # use `:GrammarousCheck` to initialize checking
+    # In neovim, you also want to use set
+    #   let g:grammarous#show_first_error = 1
+    # see https://github.com/rhysd/vim-grammarous/issues/39
+    patches = [
+      (substituteAll {
+        src = ./patches/vim-grammarous/set_default_languagetool.patch;
+        inherit languagetool;
+      })
+    ];
+  });
+
+  vim-hier = vim-hier.overrideAttrs(old: {
+    buildInputs = [ vim ];
+  });
+
+  vim-isort = vim-isort.overrideAttrs(old: {
+    postPatch = ''
+      substituteInPlace ftplugin/python_vimisort.vim \
+        --replace 'import vim' 'import vim; import sys; sys.path.append("${pythonPackages.isort}/${python.sitePackages}")'
+    '';
+  });
+
+  vim-snipmate = vim-snipmate.overrideAttrs(old: {
+    dependencies = ["vim-addon-mw-utils" "tlib"];
+  });
+
+
+  vim-wakatime = vim-wakatime.overrideAttrs(old: {
+    buildInputs = [ python ];
+  });
+
+  vim-xdebug = vim-xdebug.overrideAttrs(old: {
+    postInstall = false;
+  });
+
+  vim-xkbswitch = vim-xkbswitch.overrideAttrs(old: {
+    patchPhase = ''
+      substituteInPlace plugin/xkbswitch.vim \
+        --replace /usr/local/lib/libxkbswitch.so ${xkb_switch}/lib/libxkbswitch.so
+    '';
+    buildInputs = [ xkb_switch ];
+  });
+
+  vim-yapf = vim-yapf.overrideAttrs(old: {
+    buildPhase = ''
+      substituteInPlace ftplugin/python_yapf.vim \
+        --replace '"yapf"' '"${python3Packages.yapf}/bin/yapf"'
+    '';
+  });
+
+  vimproc-vim = vimproc-vim.overrideAttrs(old: {
+    buildInputs = [ which ];
+
+    buildPhase = ''
+      substituteInPlace autoload/vimproc.vim \
+        --replace vimproc_mac.so vimproc_unix.so \
+        --replace vimproc_linux64.so vimproc_unix.so \
+        --replace vimproc_linux32.so vimproc_unix.so
+      make -f make_unix.mak
+    '';
+  });
+
+  YankRing-vim = YankRing-vim.overrideAttrs(old: {
+    sourceRoot = ".";
+  });
+
+  youcompleteme = youcompleteme.overrideAttrs(old: {
+    buildPhase = ''
+      substituteInPlace plugin/youcompleteme.vim \
+        --replace "'ycm_path_to_python_interpreter', '''" \
+        "'ycm_path_to_python_interpreter', '${python}/bin/python'"
+
+      rm -r third_party/ycmd
+      ln -s ${ycmd}/lib/ycmd third_party
+    '';
+
+    meta = {
+      description = "A code-completion engine for Vim";
+      homepage = https://github.com/Valloric/YouCompleteMe;
+      license = stdenv.lib.licenses.gpl3;
+      maintainers = with stdenv.lib.maintainers; [marcweber jagajaga];
+      platforms = stdenv.lib.platforms.unix;
+    };
+  });
+
+}
diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix
index 265255c2f78a..b16287f40d79 100644
--- a/pkgs/servers/foundationdb/default.nix
+++ b/pkgs/servers/foundationdb/default.nix
@@ -165,9 +165,9 @@ in with builtins; {
   };
 
   foundationdb60 = makeFdb rec {
-    version = "6.0.4pre2497_${substring 0 8 rev}";
+    version = "6.0.11pre2716_${substring 0 8 rev}";
     branch  = "release-6.0";
-    rev     = "73d64cb244714c19bcc651122f6e7a9236aa11b5";
-    sha256  = "1jzmrf9kj0brqddlmxvzhj27r6843790jnqwkv1s3ri21fqb3hs7";
+    rev     = "9e8c1941ec2cdbba0c584e1acf00906cffd7a67a";
+    sha256  = "11n5yq68w32hsq5r0g34hg5wvyv9n2lkhw60b9a1vvlw1x41wxld";
   };
 }
diff --git a/pkgs/tools/system/krakenx/default.nix b/pkgs/tools/system/krakenx/default.nix
index db0987d70739..c6866264a9b0 100644
--- a/pkgs/tools/system/krakenx/default.nix
+++ b/pkgs/tools/system/krakenx/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "krakenx";
-  version = "0.0.1";
+  version = "0.0.3";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1vxyindph81srya0pfmb3n64n8h7ghp38ak86vc2zc5nyirf5zq8";
+    sha256 = "1khw1rxra5hn7hwp16i6kgj89znq8vjsyly3r2dxx2z2bddil000";
   };
 
   propagatedBuildInputs = lib.singleton python3Packages.pyusb;
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false; # there are no tests
 
   meta = with lib; {
-    description = "Python script to control NZXT cooler Kraken X52/X62";
+    description = "Python script to control NZXT cooler Kraken X52/X62/X72";
     homepage = https://github.com/KsenijaS/krakenx;
     license = licenses.gpl2;
     maintainers = [ maintainers.willibutz ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7acf0e4df12f..247dc7558f5f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8386,7 +8386,9 @@ with pkgs;
     inherit (perlPackages) LocaleGettext;
   };
 
-  heroku = callPackage ../development/tools/heroku { };
+  heroku = callPackage ../development/tools/heroku {
+    nodejs = nodejs-10_x;
+  };
 
   htmlunit-driver = callPackage ../development/tools/selenium/htmlunit-driver { };
 
@@ -22137,7 +22139,6 @@ with pkgs;
   vimUtils = callPackage ../misc/vim-plugins/vim-utils.nix { };
 
   vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins {
-    inherit (darwin.apple_sdk.frameworks) Cocoa CoreFoundation CoreServices;
     llvmPackages = llvmPackages_39;
   });
 
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index c4e46ea8889a..5936345bf0a3 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7786,6 +7786,8 @@ in {
 
   mypy = callPackage ../development/python-modules/mypy { };
 
+  mypy_extensions = callPackage ../development/python-modules/mypy/extensions.nix { };
+
   mypy-protobuf = callPackage ../development/python-modules/mypy-protobuf { };
 
   mwclient = buildPythonPackage rec {