about summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2019-02-24 18:54:32 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2019-02-24 18:54:32 -0500
commit73061742af6f8731543890044d2697ab56dc2cbc (patch)
tree16fecd6aff968241de5d71e6b8585134915d9470 /pkgs/development
parentdffba878e135960d14f12392a52eb24194539dd7 (diff)
parente08a891d34b1be533196b171d7995efbc69353e0 (diff)
downloadnixlib-73061742af6f8731543890044d2697ab56dc2cbc.tar
nixlib-73061742af6f8731543890044d2697ab56dc2cbc.tar.gz
nixlib-73061742af6f8731543890044d2697ab56dc2cbc.tar.bz2
nixlib-73061742af6f8731543890044d2697ab56dc2cbc.tar.lz
nixlib-73061742af6f8731543890044d2697ab56dc2cbc.tar.xz
nixlib-73061742af6f8731543890044d2697ab56dc2cbc.tar.zst
nixlib-73061742af6f8731543890044d2697ab56dc2cbc.zip
Merge remote-tracking branch 'NixOS/master' into staging
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/arachne-pnr/default.nix2
-rw-r--r--pkgs/development/compilers/dmd/default.nix328
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix4
-rw-r--r--pkgs/development/compilers/ghcjs-ng/default.nix2
-rw-r--r--pkgs/development/compilers/ldc/default.nix288
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix6
-rw-r--r--pkgs/development/compilers/nim/default.nix4
-rw-r--r--pkgs/development/compilers/openjdk/11.nix6
-rw-r--r--pkgs/development/compilers/yosys/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix29
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-head.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix3
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix4
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix408
-rw-r--r--pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch82
-rw-r--r--pkgs/development/interpreters/perl/default.nix8
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/boot.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-html.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/2.7-text.nix2
-rw-r--r--pkgs/development/interpreters/python/cpython/docs/template.nix2
-rw-r--r--pkgs/development/libraries/aspell/default.nix21
-rw-r--r--pkgs/development/libraries/aspell/dictionaries.nix851
-rw-r--r--pkgs/development/libraries/clutter-gst/default.nix8
-rw-r--r--pkgs/development/libraries/globalarrays/default.nix17
-rw-r--r--pkgs/development/libraries/gmime/2.nix2
-rw-r--r--pkgs/development/libraries/gmime/3.nix2
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/libgit2-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libgnomekbd/default.nix4
-rw-r--r--pkgs/development/libraries/libgumath/default.nix34
-rw-r--r--pkgs/development/libraries/libhandy/default.nix4
-rw-r--r--pkgs/development/libraries/libndtypes/default.nix17
-rw-r--r--pkgs/development/libraries/libssh2/default.nix4
-rw-r--r--pkgs/development/libraries/libxnd/default.nix19
-rw-r--r--pkgs/development/libraries/live555/default.nix4
-rw-r--r--pkgs/development/libraries/openfst/default.nix4
-rw-r--r--pkgs/development/libraries/openmpi/default.nix18
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum/default.nix8
-rw-r--r--pkgs/development/libraries/rapidxml/default.nix27
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix3
-rw-r--r--pkgs/development/libraries/science/math/scalapack/default.nix7
-rw-r--r--pkgs/development/libraries/science/math/scalapack/openmpi4.patch143
-rw-r--r--pkgs/development/libraries/sundials/default.nix4
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix4
-rw-r--r--pkgs/development/libraries/xapian/default.nix4
-rw-r--r--pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch33
-rw-r--r--pkgs/development/libraries/xavs/default.nix15
-rw-r--r--pkgs/development/libraries/xxHash/default.nix8
-rw-r--r--pkgs/development/mobile/cocoapods/Gemfile.lock36
-rw-r--r--pkgs/development/mobile/cocoapods/gemset.nix60
-rwxr-xr-xpkgs/development/mobile/cocoapods/update13
-rw-r--r--pkgs/development/mobile/titaniumenv/build-app.nix2
-rw-r--r--pkgs/development/mobile/xcodeenv/build-app.nix8
-rw-r--r--pkgs/development/ocaml-modules/atd/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bisect_ppx-ocamlbuild/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/dtoa/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgtk3/default.nix33
-rw-r--r--pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix8
-rw-r--r--pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix9
-rw-r--r--pkgs/development/ocaml-modules/opti/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/wtf8/default.nix2
-rw-r--r--pkgs/development/python-modules/aafigure/default.nix2
-rw-r--r--pkgs/development/python-modules/actdiag/default.nix2
-rw-r--r--pkgs/development/python-modules/aioimaplib/default.nix10
-rw-r--r--pkgs/development/python-modules/altair/default.nix2
-rw-r--r--pkgs/development/python-modules/asn1ate/default.nix2
-rw-r--r--pkgs/development/python-modules/beanstalkc/default.nix14
-rw-r--r--pkgs/development/python-modules/bitstring/default.nix2
-rw-r--r--pkgs/development/python-modules/contextvars/default.nix2
-rw-r--r--pkgs/development/python-modules/contextvars/immutables_version.patch11
-rw-r--r--pkgs/development/python-modules/dask-mpi/default.nix36
-rw-r--r--pkgs/development/python-modules/filebrowser_safe/default.nix2
-rw-r--r--pkgs/development/python-modules/grappelli_safe/default.nix2
-rw-r--r--pkgs/development/python-modules/gumath/default.nix29
-rw-r--r--pkgs/development/python-modules/i3-py/default.nix2
-rw-r--r--pkgs/development/python-modules/ifaddr/default.nix12
-rw-r--r--pkgs/development/python-modules/imageio-ffmpeg/default.nix28
-rw-r--r--pkgs/development/python-modules/imageio/default.nix16
-rw-r--r--pkgs/development/python-modules/imread/default.nix2
-rw-r--r--pkgs/development/python-modules/isbnlib/default.nix4
-rw-r--r--pkgs/development/python-modules/koji/default.nix2
-rw-r--r--pkgs/development/python-modules/libais/default.nix2
-rw-r--r--pkgs/development/python-modules/libsavitar/default.nix2
-rw-r--r--pkgs/development/python-modules/mahotas/default.nix2
-rw-r--r--pkgs/development/python-modules/mezzanine/default.nix2
-rw-r--r--pkgs/development/python-modules/moretools/default.nix2
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix15
-rw-r--r--pkgs/development/python-modules/ndtypes/default.nix30
-rw-r--r--pkgs/development/python-modules/nwdiag/default.nix2
-rw-r--r--pkgs/development/python-modules/oauth2/default.nix2
-rw-r--r--pkgs/development/python-modules/openant/default.nix2
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix2
-rw-r--r--pkgs/development/python-modules/plyvel/default.nix2
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix2
-rw-r--r--pkgs/development/python-modules/pyhomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/pyicu/default.nix2
-rw-r--r--pkgs/development/python-modules/pyinputevent/default.nix2
-rw-r--r--pkgs/development/python-modules/pyodbc/default.nix2
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix2
-rw-r--r--pkgs/development/python-modules/pyrtlsdr/default.nix2
-rw-r--r--pkgs/development/python-modules/pyside/apiextractor.nix2
-rw-r--r--pkgs/development/python-modules/pyside/default.nix2
-rw-r--r--pkgs/development/python-modules/pyside/generatorrunner.nix2
-rw-r--r--pkgs/development/python-modules/pyside/shiboken.nix2
-rw-r--r--pkgs/development/python-modules/pyside/tools.nix2
-rw-r--r--pkgs/development/python-modules/pytest-httpbin/default.nix17
-rw-r--r--pkgs/development/python-modules/quamash/default.nix30
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix2
-rw-r--r--pkgs/development/python-modules/scapy/default.nix2
-rw-r--r--pkgs/development/python-modules/seqdiag/default.nix2
-rw-r--r--pkgs/development/python-modules/sparse/default.nix36
-rw-r--r--pkgs/development/python-modules/toposort/default.nix2
-rw-r--r--pkgs/development/python-modules/vega/default.nix2
-rw-r--r--pkgs/development/python-modules/xnd/default.nix31
-rw-r--r--pkgs/development/python-modules/zetup/default.nix2
-rw-r--r--pkgs/development/tools/analysis/egypt/default.nix2
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix38
-rwxr-xr-xpkgs/development/tools/analysis/radare2/update.py14
-rw-r--r--pkgs/development/tools/bazel-watcher/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix151
-rw-r--r--pkgs/development/tools/clog-cli/default.nix2
-rw-r--r--pkgs/development/tools/database/timescaledb-parallel-copy/default.nix2
-rw-r--r--pkgs/development/tools/deis/default.nix2
-rw-r--r--pkgs/development/tools/deisctl/default.nix2
-rw-r--r--pkgs/development/tools/dive/default.nix6
-rw-r--r--pkgs/development/tools/dive/deps.nix20
-rw-r--r--pkgs/development/tools/dtools/default.nix6
-rw-r--r--pkgs/development/tools/go-protobuf/default.nix2
-rw-r--r--pkgs/development/tools/icestorm/default.nix6
-rw-r--r--pkgs/development/tools/jbake/default.nix4
-rw-r--r--pkgs/development/tools/leaps/default.nix2
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix2
-rw-r--r--pkgs/development/tools/misc/loccount/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix2
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix4
-rw-r--r--pkgs/development/tools/skaffold/default.nix8
-rw-r--r--pkgs/development/tools/trellis/default.nix10
-rw-r--r--pkgs/development/tools/vagrant/default.nix5
-rw-r--r--pkgs/development/tools/vagrant/gemset.nix67
-rw-r--r--pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch16
146 files changed, 2443 insertions, 994 deletions
diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix
index 345bd1250254..09422a7a8623 100644
--- a/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/pkgs/development/compilers/arachne-pnr/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "2018.09.08";
 
   src = fetchFromGitHub {
-    owner  = "cseed";
+    owner  = "yosyshq";
     repo   = "arachne-pnr";
     rev    = "840bdfdeb38809f9f6af4d89dd7b22959b176fdd";
     sha256 = "1dqvjvgvsridybishv4pnigw9gypxh7r7nrqp9z9qq92v7c5rxzl";
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 3ab25c3a830b..a9f0e3ec0a51 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -1,199 +1,165 @@
-{ stdenv, fetchFromGitHub
-, makeWrapper, unzip, which
+{ stdenv, lib, fetchFromGitHub, fetchpatch
+, makeWrapper, unzip, which, writeTextFile
 , curl, tzdata, gdb, darwin, git
 , callPackage, targetPackages, ldc
-, version ? "2.084.0"
-, dmdSha256 ? "1v61spdamncl8c1bzjc19b03p4jl0ih5zq9b7cqsy9ix7qaxmikf"
-, druntimeSha256 ? "0vp414j6s11l9s54v81np49mv60ywmd7nnk41idkbwrq0nz4sfrq"
-, phobosSha256 ? "1wp7z1x299b0w9ny1ah2wrfhrs05vc4bk51csgw9774l3dqcnv53"
+, version ? "2.084.1"
+, dmdSha256 ? "10ll5072rkv3ln7i5l88h2f9mzda567kw2jwh6466vm6ylzl4jms"
+, druntimeSha256 ? "0i0g2cnzh097pmvb86gvyj79canaxppw33hp7ylqnd11q4kqc8pb"
+, phobosSha256 ? "1hxpismj9gy5n1bc9kl9ykgd4lfmkq9i8xgrq09j0fybfwn9j1gc"
 }:
 
 let
 
-  dmdBuild = stdenv.mkDerivation rec {
-    name = "dmdBuild-${version}";
-    inherit version;
+  dmdConfFile = writeTextFile {
+      name = "dmd.conf";
+      text = (lib.generators.toINI {} {
+        "Environment" = {
+          DFLAGS = ''-I@out@/include/dmd -L-L@out@/lib -fPIC ${stdenv.lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"}'';
+        };
+      });
+  };
 
-    enableParallelBuilding = true;
+in
 
-    srcs = [
-    (fetchFromGitHub {
-      owner = "dlang";
-      repo = "dmd";
-      rev = "v${version}";
-      sha256 = dmdSha256;
-      name = "dmd";
-    })
-    (fetchFromGitHub {
-      owner = "dlang";
-      repo = "druntime";
-      rev = "v${version}";
-      sha256 = druntimeSha256;
-      name = "druntime";
-    })
-    (fetchFromGitHub {
-      owner = "dlang";
-      repo = "phobos";
-      rev = "v${version}";
-      sha256 = phobosSha256;
-      name = "phobos";
+stdenv.mkDerivation rec {
+  name = "dmd-${version}";
+  inherit version;
+
+  enableParallelBuilding = true;
+
+  srcs = [
+  (fetchFromGitHub {
+    owner = "dlang";
+    repo = "dmd";
+    rev = "v${version}";
+    sha256 = dmdSha256;
+    name = "dmd";
+  })
+  (fetchFromGitHub {
+    owner = "dlang";
+    repo = "druntime";
+    rev = "v${version}";
+    sha256 = druntimeSha256;
+    name = "druntime";
+  })
+  (fetchFromGitHub {
+    owner = "dlang";
+    repo = "phobos";
+    rev = "v${version}";
+    sha256 = phobosSha256;
+    name = "phobos";
+  })
+  ];
+
+  patches = [
+    (fetchpatch {
+      name = "fix-loader-import.patch";
+      url = "https://github.com/dlang/dmd/commit/e7790436c4af1910b8c079dac9bb69627d7dea4b.patch";
+      sha256 = "0w69hajx8agywc7m2hph5m27g2yclz8ml0gjjyjk9k6ii3jv45kx";
     })
-    ];
-
-    sourceRoot = ".";
-
-    # https://issues.dlang.org/show_bug.cgi?id=19553
-    hardeningDisable = [ "fortify" ];
-
-    postUnpack = ''
-        patchShebangs .
-    '';
-
-    postPatch = ''
-        substituteInPlace dmd/test/compilable/extra-files/ddocYear.html \
-            --replace "2018" "__YEAR__"
-
-        substituteInPlace dmd/test/runnable/test16096.sh \
-            --replace "{EXT}" "{EXE}"
-    '';
-
-    nativeBuildInputs = [ ldc makeWrapper unzip which gdb git ]
-
-    ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
-      Foundation
-    ]);
-
-    buildInputs = [ curl tzdata ];
-
-    bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits;
-    osname = if stdenv.hostPlatform.isDarwin then
-      "osx"
-    else
-      stdenv.hostPlatform.parsed.kernel.name;
-    top = "$(echo $NIX_BUILD_TOP)";
-    pathToDmd = "${top}/dmd/generated/${osname}/release/${bits}/dmd";
-
-    # Buid and install are based on http://wiki.dlang.org/Building_DMD
-    buildPhase = ''
-        cd dmd
-        make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out BUILD=release ENABLE_RELEASE=1 PIC=1 HOST_DMD=ldmd2
-        cd ../druntime
-        make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd}
-        cd ../phobos
-        echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile
-        echo ${curl.out}/lib/libcurl.so > LibcurlPathFile
-        make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)"
-        cd ..
-    '';
-
-    # Disable tests on Darwin for now because of
-    # https://github.com/NixOS/nixpkgs/issues/41099
-    doCheck = true;
-
-    checkPhase = ''
-        cd dmd
-        make -j$NIX_BUILD_CORES -C test -f Makefile PIC=1 CC=$CXX DMD=${pathToDmd} BUILD=release SHARED=0 SHELL=$SHELL
-        cd ../druntime
-        make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=1 DMD=${pathToDmd} BUILD=release
-        cd ..
-    '';
-
-    dontStrip = true;
-
-    installPhase = ''
-        cd dmd
-        mkdir $out
-        mkdir $out/bin
-        cp ${pathToDmd} $out/bin
-
-        mkdir -p $out/share/man/man1
-        mkdir -p $out/share/man/man5
-        cp -r docs/man/man1/* $out/share/man/man1/
-        cp -r docs/man/man5/* $out/share/man/man5/
-
-        cd ../druntime
-        mkdir $out/include
-        mkdir $out/include/d2
-        cp -r import/* $out/include/d2
-
-        cd ../phobos
-        mkdir $out/lib
-        cp generated/${osname}/release/${bits}/libphobos2.* $out/lib
-
-        cp -r std $out/include/d2
-        cp -r etc $out/include/d2
-
-        wrapProgram $out/bin/dmd \
-            --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
-            --set-default CC "${targetPackages.stdenv.cc}/bin/cc"
-
-        cd $out/bin
-        tee dmd.conf << EOF
-        [Environment]
-        DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"} -fPIC
-        EOF
-    '';
-
-    meta = with stdenv.lib; {
-      description = "Official reference compiler for the D language";
-      homepage = http://dlang.org/;
-      # Everything is now Boost licensed, even the backend.
-      # https://github.com/dlang/dmd/pull/6680
-      license = licenses.boost;
-      maintainers = with maintainers; [ ThomasMader ];
-      platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
-    };
-  };
+  ];
+
+  patchFlags = [ "--directory=dmd" "-p1" ];
+
+  sourceRoot = ".";
+
+  # https://issues.dlang.org/show_bug.cgi?id=19553
+  hardeningDisable = [ "fortify" ];
+
+  postUnpack = ''
+      patchShebangs .
+  '';
+
+  postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
+      substituteInPlace phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
+  ''
+
+  + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
+      substituteInPlace phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
+  '';
+
+  nativeBuildInputs = [ ldc makeWrapper unzip which gdb git ]
 
-  # Need to test Phobos in a fixed-output derivation, otherwise the
-  # network stuff in Phobos would fail if sandbox mode is enabled.
-  #
-  # Disable tests on Darwin for now because of
-  # https://github.com/NixOS/nixpkgs/issues/41099
-  phobosUnittests = if !stdenv.hostPlatform.isDarwin then
-    stdenv.mkDerivation rec {
-      name = "phobosUnittests-${version}";
-      version = dmdBuild.version;
-
-      enableParallelBuilding = dmdBuild.enableParallelBuilding;
-      preferLocalBuild = true;
-      inputString = dmdBuild.outPath;
-      outputHashAlgo = "sha256";
-      outputHash = builtins.hashString "sha256" inputString;
-
-      srcs = dmdBuild.srcs;
-
-      sourceRoot = ".";
-
-      nativeBuildInputs = dmdBuild.nativeBuildInputs;
-      buildInputs = dmdBuild.buildInputs;
-
-      buildPhase = ''
-          cd phobos
-          echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile
-          echo ${curl.out}/lib/libcurl.so > LibcurlPathFile
-          make -j$NIX_BUILD_CORES -f posix.mak unittest BUILD=release ENABLE_RELEASE=1 PIC=1 DMD=${dmdBuild}/bin/dmd DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)"
-      '';
-
-      installPhase = ''
-          echo -n $inputString > $out
-      '';
-    }
+  ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
+    Foundation
+  ]);
+
+  buildInputs = [ curl tzdata ];
+
+  bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits;
+  osname = if stdenv.hostPlatform.isDarwin then
+    "osx"
   else
-    "";
+    stdenv.hostPlatform.parsed.kernel.name;
+  top = "$(echo $NIX_BUILD_TOP)";
+  pathToDmd = "${top}/dmd/generated/${osname}/release/${bits}/dmd";
+
+  # Buid and install are based on http://wiki.dlang.org/Building_DMD
+  buildPhase = ''
+      cd dmd
+      make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out BUILD=release ENABLE_RELEASE=1 PIC=1 HOST_DMD=ldmd2
+      cd ../druntime
+      make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd}
+      cd ../phobos
+      echo ${tzdata}/share/zoneinfo/ > TZDatabaseDirFile
+      echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > LibcurlPathFile
+      make -j$NIX_BUILD_CORES -f posix.mak BUILD=release ENABLE_RELEASE=1 PIC=1 INSTALL_DIR=$out DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)"
+      cd ..
+  '';
 
-in
+  doCheck = true;
+
+  checkPhase = ''
+    cd dmd
+    # https://github.com/NixOS/nixpkgs/pull/55998#issuecomment-465871846
+    #make -j$NIX_BUILD_CORES -C test -f Makefile PIC=1 CC=$CXX DMD=${pathToDmd} BUILD=release SHELL=$SHELL
+    cd ../druntime
+    make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=1 DMD=${pathToDmd} BUILD=release
+    cd ../phobos
+    make -j$NIX_BUILD_CORES -f posix.mak unittest BUILD=release ENABLE_RELEASE=1 PIC=1 DMD=${pathToDmd} DFLAGS="-version=TZDatabaseDir -version=LibcurlPath -J$(pwd)"
+    cd ..
+  '';
 
-stdenv.mkDerivation rec {
-  inherit phobosUnittests;
-  name = "dmd-${version}";
-  phases = "installPhase";
-  buildInputs = dmdBuild.buildInputs;
+  dontStrip = true;
 
   installPhase = ''
-    mkdir $out
-    cp -r --symbolic-link ${dmdBuild}/* $out/
+      cd dmd
+      mkdir $out
+      mkdir $out/bin
+      cp ${pathToDmd} $out/bin
+
+      mkdir -p $out/share/man/man1
+      mkdir -p $out/share/man/man5
+      cp -r docs/man/man1/* $out/share/man/man1/
+      cp -r docs/man/man5/* $out/share/man/man5/
+
+      cd ../druntime
+      mkdir $out/include
+      mkdir $out/include/dmd
+      cp -r import/* $out/include/dmd
+
+      cd ../phobos
+      mkdir $out/lib
+      cp generated/${osname}/release/${bits}/libphobos2.* $out/lib
+
+      cp -r std $out/include/dmd
+      cp -r etc $out/include/dmd
+
+      wrapProgram $out/bin/dmd \
+          --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
+          --set-default CC "${targetPackages.stdenv.cc}/bin/cc"
+
+      substitute ${dmdConfFile} "$out/bin/dmd.conf" --subst-var out
   '';
-  meta = dmdBuild.meta;
+
+  meta = with stdenv.lib; {
+    description = "Official reference compiler for the D language";
+    homepage = http://dlang.org/;
+    # Everything is now Boost licensed, even the backend.
+    # https://github.com/dlang/dmd/pull/6680
+    license = licenses.boost;
+    maintainers = with maintainers; [ ThomasMader ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+  };
 }
 
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index 66b98cc6d64c..ce3395f0be03 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -37,7 +37,7 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "8.2.0";
+let version = "8.3.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -132,7 +132,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
-    sha256 = "10007smilswiiv2ymazr3b6x2i933c0ycxrr529zh4r6p823qv0r";
+    sha256 = "0b3xv411xhlnjmin2979nxcbnidgvzqdf4nbhix99x60dkzavfk4";
   };
 
   inherit patches;
diff --git a/pkgs/development/compilers/ghcjs-ng/default.nix b/pkgs/development/compilers/ghcjs-ng/default.nix
index 14a210783896..06187987b6c6 100644
--- a/pkgs/development/compilers/ghcjs-ng/default.nix
+++ b/pkgs/development/compilers/ghcjs-ng/default.nix
@@ -105,4 +105,6 @@ in stdenv.mkDerivation {
 
     meta.platforms = passthru.bootPkgs.ghc.meta.platforms;
     meta.maintainers = [lib.maintainers.elvishjerricco];
+    meta.broken = true;
+    meta.hydraPlatforms = [];
   }
diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix
index 80ccb0dbbd30..a290d2b6cfe6 100644
--- a/pkgs/development/compilers/ldc/default.nix
+++ b/pkgs/development/compilers/ldc/default.nix
@@ -2,8 +2,8 @@
 , python, libconfig, lit, gdb, unzip, darwin, bash
 , callPackage, makeWrapper, targetPackages
 , bootstrapVersion ? false
-, version ? "1.12.0"
-, ldcSha256 ? "1fdma1w8j37wkr0pqdar11slkk36qymamxnk6d9k8ybhjmxaaawm"
+, version ? "1.14.0"
+, ldcSha256 ? "147vlzzzjx2n6zyz9wj54gj046i1mw5p5wixwzi5wkllgxghyy9c"
 }:
 
 let
@@ -18,208 +18,156 @@ let
   else
     "";
 
-  ldcBuild = stdenv.mkDerivation rec {
-    name = "ldcBuild-${version}";
+in
 
-    enableParallelBuilding = true;
+stdenv.mkDerivation rec {
+  name = "ldc-${version}";
 
-    src = fetchurl {
-      url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz";
-      sha256 = ldcSha256;
-    };
+  enableParallelBuilding = true;
 
-    postUnpack = ''
-        patchShebangs .
-    ''
+  src = fetchurl {
+    url = "https://github.com/ldc-developers/ldc/releases/download/v${version}/ldc-${version}-src.tar.gz";
+    sha256 = ldcSha256;
+  };
 
-    + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
-        # http://forum.dlang.org/thread/xtbbqthxutdoyhnxjhxl@forum.dlang.org
-        rm -r ldc-${version}-src/tests/dynamiccompile
+  # https://issues.dlang.org/show_bug.cgi?id=19553
+  hardeningDisable = [ "fortify" ];
 
-        # https://github.com/NixOS/nixpkgs/issues/34817
-        rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
+  postUnpack = ''
+      patchShebangs .
+  ''
 
-        # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
-        rm -r ldc-${version}-src/tests/debuginfo/classtypes_gdb.d
-        rm -r ldc-${version}-src/tests/debuginfo/nested_gdb.d
+  + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
+      # https://github.com/NixOS/nixpkgs/issues/34817
+      rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
+  ''
 
-        rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/test16096.sh
-        rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/ldc_output_filenames.sh
-        rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/crlf.sh
-        rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/issue15574.sh
-        rm ldc-${version}-src/tests/d2/dmd-testsuite/compilable/test6461.sh
-    ''
+  + stdenv.lib.optionalString (!bootstrapVersion) ''
+      echo ${tzdata}/share/zoneinfo/ > ldc-${version}-src/TZDatabaseDirFile
 
-    + stdenv.lib.optionalString (!bootstrapVersion) ''
-        echo ${tzdata}/share/zoneinfo/ > ldc-${version}-src/TZDatabaseDirFile
+      echo ${curl.out}/lib/libcurl${stdenv.hostPlatform.extensions.sharedLibrary} > ldc-${version}-src/LibcurlPathFile
+  '';
 
-        # Remove cppa test for now because it doesn't work.
-        rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/cppa.d
-        rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp
-    '';
+  postPatch = ''
+      # Setting SHELL=$SHELL when dmd testsuite is run doesn't work on Linux somehow
+      substituteInPlace tests/d2/dmd-testsuite/Makefile --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash"
+    ''
 
-    datetimePath = if bootstrapVersion then
-      "phobos/std/datetime.d"
-    else
-      "phobos/std/datetime/timezone.d";
+  + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isLinux) ''
+      substituteInPlace runtime/phobos/std/socket.d --replace "assert(ih.addrList[0] == 0x7F_00_00_01);" ""
+  ''
 
-    postPatch = ''
-        # https://issues.dlang.org/show_bug.cgi?id=15391
-        substituteInPlace runtime/phobos/std/net/curl.d \
-            --replace libcurl.so ${curl.out}/lib/libcurl.so
+  + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
+      substituteInPlace runtime/phobos/std/socket.d --replace "foreach (name; names)" "names = []; foreach (name; names)"
+  ''
 
-        substituteInPlace tests/d2/dmd-testsuite/Makefile \
-            --replace "SHELL=/bin/bash" "SHELL=${bash}/bin/bash"
-    ''
+  + stdenv.lib.optionalString (bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
+      # Was not able to compile on darwin due to "__inline_isnanl"
+      # being undefined.
+      # TODO Remove with version > 0.17.6
+      substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan
+  '';
 
-    + stdenv.lib.optionalString (bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
-        # Was not able to compile on darwin due to "__inline_isnanl"
-        # being undefined.
-        substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan
-    '';
-
-    nativeBuildInputs = [ cmake makeWrapper llvm bootstrapLdc python lit gdb unzip ]
-
-    ++ stdenv.lib.optional (bootstrapVersion) [
-      libconfig
-    ]
-
-    ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
-      Foundation
-    ]);
-
-
-    buildInputs = [ curl tzdata ];
-
-    #"-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc"
-    # Xcode 9.0.1 fixes that bug according to ldc release notes
-    #"-DRT_ARCHIVE_WITH_LDC=OFF"
-      #"-DD_FLAGS=TZ_DATABASE_DIR=${tzdata}/share/zoneinfo/"
-      #"-DCMAKE_BUILD_TYPE=Release"
-      #"-DCMAKE_SKIP_RPATH=ON"
-
-      #-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc
-      #
-    cmakeFlagsString = stdenv.lib.optionalString (!bootstrapVersion) ''
-      "-DD_FLAGS=-d-version=TZDatabaseDir;-J$PWD"
-    '';
-
-    preConfigure = stdenv.lib.optionalString (!bootstrapVersion) ''
-      cmakeFlagsArray=(
-        ${cmakeFlagsString}
-      )
-    '';
-
-    postConfigure = ''
-      export DMD=$PWD/bin/ldmd2
-    '';
-
-    makeFlags = [ "DMD=$DMD" ];
-
-    doCheck = !bootstrapVersion;
-
-    checkPhase = ''
-      # Build and run LDC D unittests.
-      ctest --output-on-failure -R "ldc2-unittest"
-      # Run LIT testsuite.
-      ctest -V -R "lit-tests"
-      # Run DMD testsuite.
-      DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite"
-    '';
-
-    postInstall = ''
-      wrapProgram $out/bin/ldc2 \
-          --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
-          --set-default CC "${targetPackages.stdenv.cc}/bin/cc"
-     '';
-
-    meta = with stdenv.lib; {
-      description = "The LLVM-based D compiler";
-      homepage = https://github.com/ldc-developers/ldc;
-      # from https://github.com/ldc-developers/ldc/blob/master/LICENSE
-      license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
-      maintainers = with maintainers; [ ThomasMader ];
-      platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
-    };
-  };
+  nativeBuildInputs = [ cmake makeWrapper llvm unzip ]
 
-  # Need to test Phobos in a fixed-output derivation, otherwise the
-  # network stuff in Phobos would fail if sandbox mode is enabled.
-  #
-  # Disable tests on Darwin for now because of
-  # https://github.com/NixOS/nixpkgs/issues/41099
-  # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
-  ldcUnittests = if (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) then
-    stdenv.mkDerivation rec {
-      name = "ldcUnittests-${version}";
+  ++ stdenv.lib.optional (!bootstrapVersion) [
+    bootstrapLdc python lit
+  ]
 
-      enableParallelBuilding = ldcBuild.enableParallelBuilding;
-      preferLocalBuild = true;
-      inputString = ldcBuild.outPath;
-      outputHashAlgo = "sha256";
-      outputHash = builtins.hashString "sha256" inputString;
+  ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [
+    # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
+    gdb
+  ]
 
-      src = ldcBuild.src;
+  ++ stdenv.lib.optional (bootstrapVersion) [
+    libconfig
+  ]
 
-      postUnpack = ldcBuild.postUnpack;
+  ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
+    Foundation
+  ]);
 
-      postPatch = ldcBuild.postPatch;
 
-      nativeBuildInputs = ldcBuild.nativeBuildInputs
+  buildInputs = [ curl tzdata ];
 
-      ++ [
-        ldcBuild
-      ];
+  cmakeFlagsString = stdenv.lib.optionalString (!bootstrapVersion) ''
+    "-DD_FLAGS=-d-version=TZDatabaseDir;-d-version=LibcurlPath;-J$PWD"
+    "-DCMAKE_BUILD_TYPE=Release"
+  '';
 
-      buildInputs = ldcBuild.buildInputs;
+  preConfigure = stdenv.lib.optionalString (!bootstrapVersion) ''
+    cmakeFlagsArray=(
+      ${cmakeFlagsString}
+    )
+  '';
 
-      preConfigure = ''
-        cmakeFlagsArray=(
-          ${ldcBuild.cmakeFlagsString}
-          "-DD_COMPILER=${ldcBuild.out}/bin/ldmd2"
-        )
-      '';
+  postConfigure = ''
+    export DMD=$PWD/bin/ldmd2
+  '';
 
-      postConfigure = ldcBuild.postConfigure;
+  makeFlags = [ "DMD=$DMD" ];
 
-      makeFlags = ldcBuild.makeFlags;
+  fixNames = if stdenv.hostPlatform.isDarwin then ''
+    fixDarwinDylibNames() {
+      local flags=()
 
-      buildCmd = if bootstrapVersion then
-        "ctest -V -R \"build-druntime-ldc-unittest|build-phobos2-ldc-unittest\""
-      else
-        "make -j$NIX_BUILD_CORES DMD=${ldcBuild.out}/bin/ldc2 phobos2-test-runner phobos2-test-runner-debug";
+      for fn in "$@"; do
+        flags+=(-change "$(basename "$fn")" "$fn")
+      done
 
-      testCmd = if bootstrapVersion then
-        "ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest|llvm-ir-testsuite\""
-      else
-        "ctest -j$NIX_BUILD_CORES --output-on-failure -E \"dmd-testsuite|lit-tests|ldc2-unittest\"";
+      for fn in "$@"; do
+        if [ -L "$fn" ]; then continue; fi
+        echo "$fn: fixing dylib"
+        install_name_tool -id "$fn" "''${flags[@]}" "$fn"
+      done
+    }
 
-      buildPhase = ''
-          ${buildCmd}
-          ln -s ${ldcBuild.out}/bin/ldmd2 $PWD/bin/ldmd2
-          ${testCmd}
-      '';
+    fixDarwinDylibNames $(find "$(pwd)/lib" -name "*.dylib")
+  ''
+  else
+    "";
 
-      installPhase = ''
-          echo -n $inputString > $out
-      '';
-    }
+  # https://github.com/ldc-developers/ldc/issues/2497#issuecomment-459633746
+  additionalExceptions = if stdenv.hostPlatform.isDarwin then
+    "|druntime-test-shared"
   else
     "";
 
-in
+  doCheck = !bootstrapVersion;
 
-stdenv.mkDerivation rec {
-  inherit ldcUnittests;
-  name = "ldc-${version}";
-  phases = "installPhase";
-  buildInputs = ldcBuild.buildInputs;
+  checkPhase = stdenv.lib.optionalString doCheck ''
+    # Build default lib test runners
+    make -j$NIX_BUILD_CORES all-test-runners
+
+    ${fixNames}
+
+    # Run dmd testsuite
+    export DMD_TESTSUITE_MAKE_ARGS="-j$NIX_BUILD_CORES DMD=$DMD CC=$CXX"
+    ctest -V -R "dmd-testsuite"
 
-  installPhase = ''
-    mkdir $out
-    cp -r --symbolic-link ${ldcBuild}/* $out/
+    # Build and run LDC D unittests.
+    ctest --output-on-failure -R "ldc2-unittest"
+
+    # Run LIT testsuite.
+    ctest -V -R "lit-tests"
+
+    # Run default lib unittests
+    ctest -j$NIX_BUILD_CORES --output-on-failure -E "ldc2-unittest|lit-tests|dmd-testsuite${additionalExceptions}"
   '';
 
-  meta = ldcBuild.meta;
+  postInstall = ''
+    wrapProgram $out/bin/ldc2 \
+        --prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
+        --set-default CC "${targetPackages.stdenv.cc}/bin/cc"
+   '';
+
+  meta = with stdenv.lib; {
+    description = "The LLVM-based D compiler";
+    homepage = https://github.com/ldc-developers/ldc;
+    # from https://github.com/ldc-developers/ldc/blob/master/LICENSE
+    license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
+    maintainers = with maintainers; [ ThomasMader ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+  };
 }
 
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index 156657d61d6b..ef07b01a750b 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -27,13 +27,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "nextpnr-${version}";
-  version = "2019.01.08";
+  version = "2019.02.20";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "nextpnr";
-    rev    = "c1d15c749c2aa105ee7b38ebe1b60a27e3743e8c";
-    sha256 = "082ac03s6164s7dwz1l9phshl8m1lizn45jykabrhks5jcccchbh";
+    rev    = "e8d3aaaf34895a073e4023192d97fc936d090990";
+    sha256 = "0ijqpjnn7x16crd6cmd4nmgay320flizmjb7bbvg9hv464z3p4x7";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index ae36041b33eb..0d319d235fd3 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "nim-${version}";
-  version = "0.19.0";
+  version = "0.19.4";
 
   src = fetchurl {
     url = "https://nim-lang.org/download/${name}.tar.xz";
-    sha256 = "0biwvw1gividp5lkf0daq1wp9v6ms4xy6dkf5zj0sn9w4m3n76d1";
+    sha256 = "0k59dhfsg5wnkc3nxg5a336pjd9jnfxabns63bl9n28iwdg16hgl";
   };
 
   doCheck = !stdenv.isDarwin;
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index a389f0f5ca1a..f2a566c87df6 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -18,8 +18,8 @@ let
     else "amd64";
 
   major = "11";
-  update = ".0.1";
-  build = "13";
+  update = ".0.2";
+  build = "9";
   repover = "jdk-${major}${update}+${build}";
 
   openjdk = stdenv.mkDerivation {
@@ -27,7 +27,7 @@ let
 
     src = fetchurl {
       url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/${repover}.tar.gz";
-      sha256 = "1ri3fv67rvs9xxhc3ynklbprhxbdsgpwafbw6wqj950xy5crgysm";
+      sha256 = "0xc7nksvj72cgw8zrmvlcwaasinpij1j1959398a4nqvzpvpxg30";
     };
 
     nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 1afeae73f2f1..7167a967c1c9 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -8,14 +8,14 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2019.01.08";
+  version = "2019.02.22";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "2a2e0a4722ded7628b71f436b94a06aebd57bb62";
-      sha256 = "19wzh7yssk90s58l2f89m0q5bjjrjpkhvikf5zc0563wccvl712c";
+      rev    = "c521f4632f1c82b48a5538c832980668044e8fd9";
+      sha256 = "18pg1ry5qhhx8c49n2gqwlf55sd9bfsfk3khfyh1a1vjh1qpfgdf";
       name   = "yosys";
     })
 
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 426d23d6c7e1..e27348b94556 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -953,17 +953,13 @@ self: super: {
   # Tries to read a file it is not allowed to in the test suite
   load-env = dontCheck super.load-env;
 
-  # hledger needs a newer megaparsec version than we have in LTS 12.x.
-  hledger-lib = super.hledger-lib.overrideScope (self: super: {
-    # cassava-megaparsec = self.cassava-megaparsec_2_0_0;
-    # hspec-megaparsec = self.hspec-megaparsec_2_0_0;
-    # megaparsec = self.megaparsec_7_0_4;
-  });
-
   # Copy hledger man pages from data directory into the proper place. This code
   # should be moved into the cabal2nix generator.
   hledger = overrideCabal super.hledger (drv: {
     postInstall = ''
+      # Don't install files that don't belong into this package to avoid
+      # conflicts when hledger and hledger-ui end up in the same profile.
+      rm embeddedfiles/hledger-{api,ui,web}.*
       for i in $(seq 1 9); do
         for j in embeddedfiles/*.$i; do
           mkdir -p $out/share/man/man$i
@@ -974,7 +970,7 @@ self: super: {
       cp -v embeddedfiles/*.info* $out/share/info/
     '';
   });
-  hledger-ui = (overrideCabal super.hledger-ui (drv: {
+  hledger-ui = overrideCabal super.hledger-ui (drv: {
     postInstall = ''
       for i in $(seq 1 9); do
         for j in *.$i; do
@@ -985,11 +981,6 @@ self: super: {
       mkdir -p $out/share/info
       cp -v *.info* $out/share/info/
     '';
-  })).overrideScope (self: super: {
-    # cassava-megaparsec = self.cassava-megaparsec_2_0_0;
-    # config-ini = self.config-ini_0_2_4_0;
-    # hspec-megaparsec = self.hspec-megaparsec_2_0_0;
-    # megaparsec = self.megaparsec_7_0_4;
   });
   hledger-web = overrideCabal super.hledger-web (drv: {
     postInstall = ''
@@ -1231,4 +1222,16 @@ self: super: {
   # https://github.com/qfpl/tasty-hedgehog/issues/24
   tasty-hedgehog = dontCheck super.tasty-hedgehog;
 
+  # The latest release version is ancient. You really need this tool from git.
+  haskell-ci = generateOptparseApplicativeCompletion "haskell-ci"
+    (addBuildDepend (overrideSrc (dontCheck super.haskell-ci) {
+      version = "2019.02.22-git";
+      src = pkgs.fetchFromGitHub {
+        owner = "haskell-CI";
+        repo = "haskell-ci";
+        rev = "3a861aa7d6099296a9ac1003c7218e3ed831ca8c";
+        sha256 = "0hwfg3ab5mh3xml3nlabbr1x8bhg26gw6sxn8bgb8bh6r0ccq9pi";
+      };
+  }) (with self; [base-compat generic-lens microlens optparse-applicative ShellCheck]));
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
index c2fbb4d6126c..58e84b154856 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
@@ -92,7 +92,8 @@ self: super: {
   hackage-db_2_0_1 = super.hackage-db_2_0_1.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
   stack = super.stack.overrideScope (self: super: { Cabal = self.Cabal_2_2_0_1; });
 
-  # GHC 8.2 doesn't have semigroups included by default
+  # Older GHC versions need these additional dependencies.
   ListLike = addBuildDepend super.ListLike self.semigroups;
+  base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index 2a72eced2ba9..417bf0effcd9 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -71,7 +71,8 @@ self: super: {
     yaml = self.yaml_0_11_0_0;
   };
 
-  # cabal2nix doesn't list this because of a conditional on the GHC version.
+  # Older GHC versions need these additional dependencies.
   aeson = addBuildDepend super.aeson self.contravariant;
+  base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
 
 }
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 abfbe69568a0..2d382e906325 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -45,7 +45,6 @@ self: super: {
   unordered-containers = dontCheck super.unordered-containers;
 
   # Test suite does not compile.
-  cereal = dontCheck super.cereal;
   data-clist = doJailbreak super.data-clist;  # won't cope with QuickCheck 2.12.x
   dates = doJailbreak super.dates; # base >=4.9 && <4.12
   Diff = dontCheck super.Diff;
@@ -54,7 +53,6 @@ self: super: {
   hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82
   http-api-data = doJailbreak super.http-api-data;
   persistent-sqlite = dontCheck super.persistent-sqlite;
-  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;
   wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
index 2118be375348..09755e4cc947 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-head.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -52,7 +52,6 @@ self: super: {
   unordered-containers = dontCheck super.unordered-containers;
 
   # Test suite does not compile.
-  cereal = dontCheck super.cereal;
   data-clist = doJailbreak super.data-clist;  # won't cope with QuickCheck 2.12.x
   dates = doJailbreak super.dates; # base >=4.9 && <4.12
   Diff = dontCheck super.Diff;
@@ -60,7 +59,6 @@ self: super: {
   hpc-coveralls = doJailbreak super.hpc-coveralls; # https://github.com/guillaume-nargeot/hpc-coveralls/issues/82
   http-api-data = doJailbreak super.http-api-data;
   persistent-sqlite = dontCheck super.persistent-sqlite;
-  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;
   wl-pprint-extras = doJailbreak super.wl-pprint-extras; # containers >=0.4 && <0.6 is too tight; https://github.com/ekmett/wl-pprint-extras/issues/17
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index fe07dd735f5d..11cede5771a9 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -487,6 +487,9 @@ self: super: builtins.intersectAttrs super {
   # https://github.com/plow-technologies/servant-streaming/issues/12
   servant-streaming-server = dontCheck super.servant-streaming-server;
 
+  # https://github.com/haskell-servant/servant/pull/1128
+  servant-client-core = appendPatch super.servant-client-core ./patches/servant-client-core-streamBody.patch;
+
   # tests run executable, relying on PATH
   # without this, tests fail with "Couldn't launch intero process"
   intero = overrideCabal super.intero (drv: {
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 2724ff5d6220..e8195668c41c 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -19,6 +19,7 @@ in
 , buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? []
 , configureFlags ? []
 , buildFlags ? []
+, haddockFlags ? []
 , description ? ""
 , doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version
 , doBenchmark ? false
@@ -372,7 +373,8 @@ stdenv.mkDerivation ({
     ${optionalString (doHaddock && isLibrary) ''
       ${setupCommand} haddock --html \
         ${optionalString doHoogle "--hoogle"} \
-        ${optionalString (isLibrary && hyperlinkSource) "--hyperlink-source"}
+        ${optionalString (isLibrary && hyperlinkSource) "--hyperlink-source"} \
+        ${stdenv.lib.concatStringsSep " " haddockFlags}
     ''}
     runHook postHaddock
   '';
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 73991a6b4f7a..d3378c875862 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -21279,6 +21279,8 @@ self: {
        pname = "acme-zalgo";
        version = "0.1.2.1";
        sha256 = "1yd3xrdkxf3hgapi4w5vg79nxmw8y5rnyki5pqi00mca9wjspdhz";
+       revision = "1";
+       editedCabalFile = "1bwpaqqvp8mwpw7966xjn8zhi0rs9iqpwkhkzjxw8c885h45n1za";
        libraryHaskellDepends = [ array base random ];
        description = "A somewhat flexible Zalgo̐ te̳͜x̥̖̉̓͞t̍̌̔ ̀̃t̴̢̞̜͓̝r̶̬̆̂̒͟á̧̡͎͔̯̰̕n̹̾̓ͬͦ̍͘ṡ̢͓͉ͮ͆l̠̖̹̗̳̖̽̌ͤ͞a͚̭͙̹̲ͭͩt͈͐o̢̭͇͍̟͐ͬ̾ͪ͜r͇.̸̅ͭ̐̀̊ͨ͛";
        license = stdenv.lib.licenses.mit;
@@ -21656,6 +21658,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "adtrees" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "adtrees";
+       version = "0.1.0.0";
+       sha256 = "0cp14n2l3scbsp7f6s4r19ngn2ympns03pm6s07hdkpavvgli1zg";
+       libraryHaskellDepends = [ base ];
+       description = "Modelling, rendering and quantitative analysis on attack defense trees";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "advent-of-code-api" = callPackage
     ({ mkDerivation, attoparsec, base, containers, curl, deepseq
      , directory, filepath, finite-typelits, HUnit, mtl, tagsoup, text
@@ -28729,8 +28742,8 @@ self: {
      }:
      mkDerivation {
        pname = "arbor-monad-metric";
-       version = "1.1.1";
-       sha256 = "1ypacqjd7hf5s7r4w432v9yndxxb40w9kwhxhlqzc4wim798vj3h";
+       version = "1.2.0";
+       sha256 = "0mn6pc5h1rwd3w2cw393skm62yxii21j5f7q9rlpdw7np9xgwfcf";
        libraryHaskellDepends = [
          base containers generic-lens lens mtl resourcet stm text
          transformers
@@ -29818,7 +29831,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "asif_4_0_0" = callPackage
+  "asif_4_0_1" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, conduit
      , conduit-combinators, conduit-extra, containers, cpu, directory
      , either, exceptions, foldl, generic-lens, hedgehog, hspec, hw-bits
@@ -29828,8 +29841,8 @@ self: {
      }:
      mkDerivation {
        pname = "asif";
-       version = "4.0.0";
-       sha256 = "1xf5x7jm01w30l2cwb3m9sv5qimnc2n6a6dhrykq81ajcf5ix0p6";
+       version = "4.0.1";
+       sha256 = "172vqpdv9jjqj8vzq2v2pfvkmjpkhlpl03mafqk5cvdj72a7vy3s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -32124,8 +32137,8 @@ self: {
      }:
      mkDerivation {
        pname = "aws";
-       version = "0.21";
-       sha256 = "0g6sp8wgirinp0kaa73s283mjws6wbihg38jklbj9dx6sxdmdja9";
+       version = "0.21.1";
+       sha256 = "047zfpc3bzdxgh6adfi1xls3j300vhyzcykzf9wyasxksw4xnrxl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -46585,6 +46598,8 @@ self: {
        pname = "chimera";
        version = "0.2.0.0";
        sha256 = "1hrnvyp8d7qc1c3xl4mzfsycb554yn3b49yy8jjyvaqazmvrb4zi";
+       revision = "1";
+       editedCabalFile = "029hpcs3x1sv3jsq10bygm4246b4gy83yxg3s4r98f37055dyzyd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ghc-prim vector ];
@@ -50104,8 +50119,8 @@ self: {
      }:
      mkDerivation {
        pname = "collection-json";
-       version = "1.3.1.0";
-       sha256 = "0wlpv47jj5q2kiwm1daaw4p4s9vh3xfs4rpb78y2a1qw6r6nw9vw";
+       version = "1.3.1.3";
+       sha256 = "098in13gkrv4lrdn67b010c5wsl0zqwzcyfd504039wdcm6pazng";
        libraryHaskellDepends = [
          aeson base network-uri network-uri-json text
        ];
@@ -60432,8 +60447,8 @@ self: {
      }:
      mkDerivation {
        pname = "datadog-tracing";
-       version = "1.0.1";
-       sha256 = "007cpk9iwxy4jgj6fr1yih090dxgbj9d6jpc6kf3610p0a14nlzq";
+       version = "1.1.0";
+       sha256 = "1zrdbgljm35r8nqw0lg4pq1ywcv76ifplgdh860zq9sjdz5f5lxi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -61738,10 +61753,8 @@ self: {
     ({ mkDerivation, base, tasty, tasty-hunit }:
      mkDerivation {
        pname = "decimal-literals";
-       version = "0.1.0.0";
-       sha256 = "0zsykb1ydihcd6x7v5xx1i0v5wn6a48g7ndzi68iwhivmj0qxyi7";
-       revision = "3";
-       editedCabalFile = "0v53iwn2f5fhjhzf8zgzxrc1inp1bb0qjsghf1jlcp98az7avsjb";
+       version = "0.1.0.1";
+       sha256 = "0lbpnc4c266fbqjzzrnig648zzsqfaphlxqwyly9xd15qggzasb0";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Preprocessing decimal literals more or less as they are (instead of via fractions)";
@@ -65256,8 +65269,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "0.8.0";
-       sha256 = "10lmn9wkrzzslwbxgw9l25hyxldprz1ig87glg681aibssh0p54m";
+       version = "0.8.1";
+       sha256 = "0r7nlivcrqazjgsh54k8qrl64h7065c9vdg4ndv8bahvxvw1ld8r";
        libraryHaskellDepends = [
          aeson async base base64-bytestring bytestring containers
          data-default http-client iso8601-time JuicyPixels MonadRandom req
@@ -73558,6 +73571,8 @@ self: {
        pname = "exact-pi";
        version = "0.5.0.1";
        sha256 = "0q0qrkmpff835m3zz3w60i1y4sqicnzqb6vqmk13cjh4ign5d0ax";
+       revision = "1";
+       editedCabalFile = "1l55d7x61i2d5rlh7sh2nhn0af9cyp92gzdmqqnnjzg55d347qsm";
        libraryHaskellDepends = [ base numtype-dk ];
        testHaskellDepends = [
          base numtype-dk QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -76610,6 +76625,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) fftw;};
 
+  "ffunctor" = callPackage
+    ({ mkDerivation, aeson, base, composition, http-client, mtl
+     , servant, servant-client, tasty, tasty-discover, tasty-hspec
+     , tasty-quickcheck, time
+     }:
+     mkDerivation {
+       pname = "ffunctor";
+       version = "1.1.0";
+       sha256 = "0y9x6xhpizg07d7nc3adk8x4ccy331w7if6jvq2p7hbyr57gbid7";
+       revision = "1";
+       editedCabalFile = "1x74grqgsjrbncpkz6iyyalfkhbs3vw0lfzv6s1bfd6zx0j4lggv";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson base composition http-client mtl servant servant-client tasty
+         tasty-hspec tasty-quickcheck time
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "FFunctor typeclass";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fgl" = callPackage
     ({ mkDerivation, array, base, containers, deepseq, hspec
      , microbench, QuickCheck, transformers
@@ -84030,6 +84066,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "genvalidity_0_7_0_1" = callPackage
+    ({ mkDerivation, base, hspec, hspec-core, QuickCheck, validity }:
+     mkDerivation {
+       pname = "genvalidity";
+       version = "0.7.0.1";
+       sha256 = "1fgd551nv6y5qs2ya9576yl3dfwnb38z6pg2pg9fbdjnk18wikzz";
+       libraryHaskellDepends = [ base QuickCheck validity ];
+       testHaskellDepends = [ base hspec hspec-core QuickCheck ];
+       description = "Testing utilities for the validity library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "genvalidity-aeson" = callPackage
     ({ mkDerivation, aeson, base, genvalidity, genvalidity-hspec
      , genvalidity-scientific, genvalidity-text
@@ -97487,26 +97536,28 @@ self: {
 
   "halive" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , foreign-store, fsnotify, ghc, ghc-boot, ghc-paths, gl, linear
-     , mtl, process, random, sdl2, signal, stm, text, time, transformers
+     , foreign-store, fsnotify, ghc, ghc-boot, ghc-paths, gl, hspec
+     , lens, linear, mtl, pretty-show, process, random, sdl2, signal
+     , stm, text, time, transformers
      }:
      mkDerivation {
        pname = "halive";
-       version = "0.1.3";
-       sha256 = "0rffds6m31b80vv2l2qpbzx3pfya4kz6nlp9w6frc6k94zdba378";
+       version = "0.1.6";
+       sha256 = "19mlbl8psb5gxw6xsgiw5kxw4fvmfl552acalj05s6h9gsl4hcnh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base containers directory filepath foreign-store fsnotify ghc
-         ghc-boot ghc-paths mtl process signal stm time transformers
+         ghc-boot ghc-paths mtl process signal stm text time transformers
        ];
        executableHaskellDepends = [
          base directory filepath fsnotify ghc ghc-paths process stm
          transformers
        ];
        testHaskellDepends = [
-         base bytestring containers filepath foreign-store gl linear mtl
-         random sdl2 stm text time
+         base bytestring containers directory filepath foreign-store ghc
+         ghc-paths gl hspec lens linear mtl pretty-show random sdl2 stm text
+         time
        ];
        description = "A live recompiler";
        license = stdenv.lib.licenses.bsd2;
@@ -102618,8 +102669,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.10.1";
-       sha256 = "0z9qsjnzkvzgf0asrdigyph4i3623hkq10542xh0kjq56hnglcn2";
+       version = "0.11.0";
+       sha256 = "03rhbp4rc4ycmnj5gsa79pjzgmp659xwbajaqfns4xgb3d0nhylx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -118412,8 +118463,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-conduit-downloader";
-       version = "1.0.31";
-       sha256 = "1ng41s2y176223blzxdywlv7hmbdh7i5nwr63la7jfnd9rcdr83c";
+       version = "1.0.33";
+       sha256 = "07pn2p143rfmvax3zx53hlgh0rfynn60g0z6cw6vazrxap4v3pr3";
        libraryHaskellDepends = [
          base bytestring conduit connection data-default HsOpenSSL
          http-client http-conduit http-types mtl network network-uri
@@ -124559,6 +124610,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inspection-testing_0_4_1_2" = callPackage
+    ({ mkDerivation, base, containers, ghc, mtl, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "inspection-testing";
+       version = "0.4.1.2";
+       sha256 = "1rh744nswl7i6wk2gv9qx5rbz74ndd1j5ynmfzdhw3i4jjr99q4v";
+       libraryHaskellDepends = [
+         base containers ghc mtl template-haskell transformers
+       ];
+       testHaskellDepends = [ base ];
+       description = "GHC plugin to do inspection testing";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inspector-wrecker" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
      , connection, data-default, http-client, http-client-tls
@@ -132989,8 +133057,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-ats";
-       version = "1.7.0.5";
-       sha256 = "1vdn1f5bx395jynacmpsvfsyyr29jgpg1y25i1jmbkzjdzkb0h2b";
+       version = "1.7.0.6";
+       sha256 = "0d2bjha52jph49jiac045igpxarrksihvv46s047qigs435linck";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array base composition-prelude containers deepseq
@@ -133831,6 +133899,50 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "language-puppet_1_4_3" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, async, attoparsec, base
+     , base16-bytestring, bytestring, case-insensitive, containers
+     , cryptonite, directory, filecache, filepath, formatting, Glob
+     , hashable, hruby, hslogger, hspec, hspec-megaparsec, http-api-data
+     , http-client, lens, lens-aeson, megaparsec, memory, mtl
+     , operational, optparse-applicative, parsec, parser-combinators
+     , pcre-utils, protolude, random, regex-pcre-builtin, scientific
+     , servant, servant-client, split, stm, strict-base-types, temporary
+     , text, time, transformers, unix, unordered-containers, vector
+     , yaml
+     }:
+     mkDerivation {
+       pname = "language-puppet";
+       version = "1.4.3";
+       sha256 = "1sh0i487w7mz5c0scly1s11xzha4dbp2wdiwdks3203c5yrjdfq7";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint attoparsec base base16-bytestring bytestring
+         case-insensitive containers cryptonite directory filecache filepath
+         formatting hashable hruby hslogger http-api-data http-client lens
+         lens-aeson megaparsec memory mtl operational parsec
+         parser-combinators pcre-utils protolude random regex-pcre-builtin
+         scientific servant servant-client split stm strict-base-types text
+         time transformers unix unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson ansi-wl-pprint async base bytestring containers Glob hslogger
+         http-client lens mtl optparse-applicative regex-pcre-builtin
+         strict-base-types text transformers unordered-containers vector
+         yaml
+       ];
+       testHaskellDepends = [
+         base Glob hslogger hspec hspec-megaparsec lens megaparsec mtl
+         pcre-utils scientific strict-base-types temporary text transformers
+         unordered-containers vector
+       ];
+       description = "Tools to parse and evaluate the Puppet DSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-python" = callPackage
     ({ mkDerivation, alex, array, base, containers, happy, monads-tf
      , pretty, transformers, utf8-string
@@ -136029,11 +136141,11 @@ self: {
     ({ mkDerivation, base, bytestring, filepath, libarchive }:
      mkDerivation {
        pname = "libarchive";
-       version = "0.2.0.0";
-       sha256 = "14kad23r22bx65h2iq0n0cbxhzzwj56gwpi73vciycjg0i5w04yd";
+       version = "0.2.1.1";
+       sha256 = "03qyyqki2s55lvpc9iwyh96sv4yslxw9an89n87a138bvwrdyyma";
        libraryHaskellDepends = [ base bytestring filepath ];
        libraryPkgconfigDepends = [ libarchive ];
-       description = "Haskell bindings for libarchive";
+       description = "Haskell interface to libarchive";
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) libarchive;};
 
@@ -137351,6 +137463,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "line-bot-sdk" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , cryptohash-sha256, errors, hspec, hspec-wai, hspec-wai-json
+     , http-client, http-client-tls, http-types, scientific, servant
+     , servant-client, servant-client-core, servant-server
+     , string-conversions, text, time, transformers, wai, wai-extra
+     , warp
+     }:
+     mkDerivation {
+       pname = "line-bot-sdk";
+       version = "0.1.0.0";
+       sha256 = "0kcnxldqks6nvifzsdlkrkfypmj2yzavs675bw96x721mxb63czp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring cryptohash-sha256 errors
+         http-client http-client-tls http-types scientific servant
+         servant-client servant-client-core servant-server
+         string-conversions text time transformers wai wai-extra
+       ];
+       executableHaskellDepends = [
+         base servant servant-client servant-server time transformers wai
+         wai-extra warp
+       ];
+       testHaskellDepends = [ aeson base hspec hspec-wai hspec-wai-json ];
+       description = "Haskell SDK for LINE Messaging API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "line-break" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -155145,8 +155286,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-uri-json";
-       version = "0.3.0.0";
-       sha256 = "15qw2knzj5b90vb4rhzxiv9wxdv41f5l75hpp4y0ycc60q5xja27";
+       version = "0.3.1.1";
+       sha256 = "0akyhgi79pzhvfq47risrqmr6hi409fnz1ivwpwwfc4laimf3mky";
        libraryHaskellDepends = [ aeson base network-uri text ];
        testHaskellDepends = [
          aeson base hspec network-arbitrary network-uri test-invariant text
@@ -155337,16 +155478,16 @@ self: {
      }) {};
 
   "newsynth" = callPackage
-    ({ mkDerivation, base, containers, fixedprec, random, superdoc
-     , time
+    ({ mkDerivation, base, Cabal, containers, fixedprec, random
+     , superdoc, time
      }:
      mkDerivation {
        pname = "newsynth";
-       version = "0.3.0.4";
-       sha256 = "0w31h7xqv9sk0jb1mdviv107w8y7v018bzdvdw8gcrjyvp47307q";
+       version = "0.3.0.5";
+       sha256 = "1qfan8vf7s3bhdc3bfjsig4sv0cip0qfvqmyxw0iqc7gqbbkinzy";
        isLibrary = true;
        isExecutable = true;
-       setupHaskellDepends = [ base superdoc ];
+       setupHaskellDepends = [ base Cabal superdoc ];
        libraryHaskellDepends = [ base containers fixedprec random ];
        executableHaskellDepends = [ base random time ];
        description = "Exact and approximate synthesis of quantum circuits";
@@ -161180,8 +161321,8 @@ self: {
     ({ mkDerivation, array, base, colour, containers, MonadRandom }:
      mkDerivation {
        pname = "palette";
-       version = "0.3.0.1";
-       sha256 = "0ylwgb7a0mhffz00hmhx93y4kyjb9xgm96jrfcxl464x8cjka5gi";
+       version = "0.3.0.2";
+       sha256 = "0820n3cj4zy9s46diln2rrs4lrxbipkhdw74p2w42gc7k1nlj54i";
        libraryHaskellDepends = [
          array base colour containers MonadRandom
        ];
@@ -161421,8 +161562,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc-preamble";
-       version = "1.2.3";
-       sha256 = "1ip5z2zyich5f4h8arwmi67nlzwfd0hfpz3ixgisips3mz2d5hl2";
+       version = "1.2.4";
+       sha256 = "0bdarf6rjncd8lfap4xn479675vsvqzxrmdqd367l2gxfi1nmrv5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -163715,10 +163856,8 @@ self: {
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "patience";
-       version = "0.2.1.0";
-       sha256 = "0mfkqf5kwxqva6pizj967gv7m8zvjvwnli5ala0qvv7jq8gqnfsf";
-       revision = "1";
-       editedCabalFile = "0zr4w80zx7gw7amj2mlxl0k7lvczxnl0i13mijvxnb0g15sa5clg";
+       version = "0.2.1.1";
+       sha256 = "14d6hkrkbanlv09z7dbg8q7hk5ax5mfpgzr0knmcviq02kmzbs0s";
        libraryHaskellDepends = [ base containers ];
        description = "Patience diff and longest increasing subsequence";
        license = stdenv.lib.licenses.bsd3;
@@ -166727,15 +166866,16 @@ self: {
      }:
      mkDerivation {
        pname = "pinch";
-       version = "0.3.4.0";
-       sha256 = "10rmk6f9cb2l7dyybwpbin0i5dqdg59d17m627kj9abyrlhcyf8a";
+       version = "0.3.4.1";
+       sha256 = "1yrw0g68j7jl9q19byq10nfg4rvn3wr49sganx8k4mr46j8pa0sk";
        libraryHaskellDepends = [
          array base bytestring containers deepseq ghc-prim hashable
          semigroups text unordered-containers vector
        ];
+       libraryToolDepends = [ hspec-discover ];
        testHaskellDepends = [
-         base bytestring containers hspec hspec-discover QuickCheck
-         semigroups text unordered-containers vector
+         base bytestring containers hspec QuickCheck semigroups text
+         unordered-containers vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "An alternative implementation of Thrift for Haskell";
@@ -169922,8 +170062,8 @@ self: {
     ({ mkDerivation, base, primitive, tasty, tasty-hunit }:
      mkDerivation {
        pname = "posix-api";
-       version = "0.2.0.0";
-       sha256 = "059b5zip3i7cfa977kz0jzxc7b8nws9libkxwf8pnvxk70i7apq1";
+       version = "0.2.1.0";
+       sha256 = "1vxasjdy3l41brzyrjqv13zazm1ryqy496p2rfvm19062bfpixji";
        libraryHaskellDepends = [ base primitive ];
        testHaskellDepends = [ base primitive tasty tasty-hunit ];
        description = "posix bindings";
@@ -174242,6 +174382,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "protocol-radius-test_0_1_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers
+     , protocol-radius, QuickCheck, quickcheck-simple, transformers
+     }:
+     mkDerivation {
+       pname = "protocol-radius-test";
+       version = "0.1.0.0";
+       sha256 = "1zgfq76k86jf1jpm14mpb8iaiya0d6vz0lrmbwc0fn34hqhkcd88";
+       libraryHaskellDepends = [
+         base bytestring cereal containers protocol-radius QuickCheck
+         quickcheck-simple transformers
+       ];
+       testHaskellDepends = [ base quickcheck-simple ];
+       description = "testsuit of protocol-radius haskell package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protolude" = callPackage
     ({ mkDerivation, array, async, base, bytestring, containers
      , deepseq, ghc-prim, hashable, mtl, mtl-compat, stm, text
@@ -174337,6 +174495,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proxied_0_3_1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "proxied";
+       version = "0.3.1";
+       sha256 = "0ldcyvzg5i4axkn5qwgkc8vrc0f0715842ca41d7237p1bh98s4r";
+       libraryHaskellDepends = [ base ];
+       description = "Make functions consume Proxy instead of undefined";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "proxy" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -178681,7 +178851,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "rattletrap_6_2_2" = callPackage
+  "rattletrap_6_2_3" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, binary, binary-bits
      , bytestring, clock, containers, filepath, http-client
      , http-client-tls, HUnit, template-haskell, temporary, text
@@ -178689,8 +178859,8 @@ self: {
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "6.2.2";
-       sha256 = "06gbvkg6wn7dql954bzbw8l1460hk2f9055404q0a949qlmmqb3p";
+       version = "6.2.3";
+       sha256 = "0h542a6i1rc1zh2xy4fc9cdaq424hka77mxndg2ka8a0c0mj0jfp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -180026,13 +180196,14 @@ self: {
      }:
      mkDerivation {
        pname = "red-black-record";
-       version = "1.1.0.0";
-       sha256 = "12q3b44qcb8zp5m0zrbj88kigk00rm6ljrnpwd29wv1gdwzd15af";
+       version = "2.0.2.0";
+       sha256 = "1g7x2gny30nz92nxl7w77xjlwsdqdl6g97w1lqgz1jrmm3jq146j";
        libraryHaskellDepends = [ base sop-core ];
        testHaskellDepends = [
          aeson base bytestring doctest profunctors sop-core tasty
          tasty-hunit text
        ];
+       doHaddock = false;
        description = "Extensible records and variants indexed by a type-level Red-Black tree";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -194522,6 +194693,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "shellmet" = callPackage
+    ({ mkDerivation, base, markdown-unlit, process, text }:
+     mkDerivation {
+       pname = "shellmet";
+       version = "0.0.0";
+       sha256 = "1mn9m1jdbfb9p273wb9jvdnflhp6569ix6sa1z7yzqr91g7w4017";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base process text ];
+       executableHaskellDepends = [ base text ];
+       executableToolDepends = [ markdown-unlit ];
+       testHaskellDepends = [ base ];
+       description = "Out of the shell solution for scripting in Haskell";
+       license = stdenv.lib.licenses.mpl20;
+     }) {};
+
   "shellout" = callPackage
     ({ mkDerivation, async, base, stm, text, typed-process }:
      mkDerivation {
@@ -194944,6 +195131,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "show-prettyprint_0_2_3" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, doctest, prettyprinter
+     , trifecta
+     }:
+     mkDerivation {
+       pname = "show-prettyprint";
+       version = "0.2.3";
+       sha256 = "01wg1bzp6dylysbm9rfq8n0ci7yzg3gw6jkzy8kzmsydgs5c54pd";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base prettyprinter trifecta
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Robust prettyprinter for output of auto-generated Show instances";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "show-type" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -195483,8 +195687,8 @@ self: {
     ({ mkDerivation, base, optparse-applicative }:
      mkDerivation {
        pname = "simple-cmd-args";
-       version = "0.1.0";
-       sha256 = "1cwh2ikk1iccbm5yq7hihk3yhfg4zbxsi8q1jpjavzlcs18sfnll";
+       version = "0.1.0.1";
+       sha256 = "1fs528gr70ppwfz1yalvjdfdxf7b7zxcc9cvsmdba8r1m489qp9d";
        libraryHaskellDepends = [ base optparse-applicative ];
        description = "Simple command args parsing and execution";
        license = stdenv.lib.licenses.bsd3;
@@ -199811,18 +200015,18 @@ self: {
      }) {};
 
   "sockets" = callPackage
-    ({ mkDerivation, async, base, ip, posix-api, primitive, tasty
-     , tasty-hunit
+    ({ mkDerivation, async, base, bytestring, entropy, ip, posix-api
+     , primitive, stm, tasty, tasty-hunit, text
      }:
      mkDerivation {
        pname = "sockets";
-       version = "0.1.0.0";
-       sha256 = "000j2bfjsa33l73pg57g4rignl7dy0jl072r3h9wl4d1f4qc3sim";
+       version = "0.3.0.0";
+       sha256 = "0l6xvs42wsxlmvm3l8hw0b2xmyiamyq1m81hw0q5p28rnjn9ydfr";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base ip posix-api primitive ];
+       libraryHaskellDepends = [ base ip posix-api primitive stm text ];
        testHaskellDepends = [ async base ip primitive tasty tasty-hunit ];
-       benchmarkHaskellDepends = [ base ip primitive ];
+       benchmarkHaskellDepends = [ base bytestring entropy ip primitive ];
        description = "High-level network sockets";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -214478,6 +214682,8 @@ self: {
        pname = "these-skinny";
        version = "0.7.4";
        sha256 = "0hlxf94ir99y0yzm9pq8cvs7vbar4bpj1w1ibs96hrx2biwfbnkr";
+       revision = "1";
+       editedCabalFile = "057hgdbc5ch43cn5qz0kr02iws9p1l24z23pifll29iazzl1jk6c";
        libraryHaskellDepends = [ base deepseq ];
        description = "A fork of the 'these' package without the dependency bloat";
        license = stdenv.lib.licenses.bsd3;
@@ -224696,8 +224902,8 @@ self: {
      }:
      mkDerivation {
        pname = "uuagc";
-       version = "0.9.52.1";
-       sha256 = "1191a1jr1s76wjdrfzafy1ibf7a7xpg54dvwhwz4kr1jrc9jn2cq";
+       version = "0.9.52.2";
+       sha256 = "1wqva95nmz9yx9b60jjwkpb73pq9m4g9l4iq739xnj6llwckpb8y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -225268,6 +225474,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "validity_0_9_0_1" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "validity";
+       version = "0.9.0.1";
+       sha256 = "112wchq5l39fi9bkfkljic7bh1rd5gvz4lwjjw9pajg0zj51pyib";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       description = "Validity typeclass";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "validity-aeson" = callPackage
     ({ mkDerivation, aeson, base, validity, validity-scientific
      , validity-text, validity-unordered-containers, validity-vector
@@ -226900,6 +227119,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "vinyl-named-sugar" = callPackage
+    ({ mkDerivation, base, vinyl }:
+     mkDerivation {
+       pname = "vinyl-named-sugar";
+       version = "0.1.0.0";
+       sha256 = "19wbdavf5zb967r4qkw6ksd2yakp4cnlq1hffzzywssm50zakc3h";
+       libraryHaskellDepends = [ base vinyl ];
+       description = "Syntax sugar for vinyl records using overloaded labels";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "vinyl-operational" = callPackage
     ({ mkDerivation, base, operational, operational-extra, vinyl-plus
      }:
@@ -227488,28 +227718,29 @@ self: {
      , hedgehog-fn, hoist-error, hw-balancedparens, hw-bits, hw-json
      , hw-prim, hw-rankselect, lens, mmorph, mtl, nats, natural, parsers
      , scientific, semigroupoids, semigroups, tagged, tasty
-     , tasty-expected-failure, tasty-hedgehog, tasty-hunit
-     , template-haskell, text, transformers, vector, witherable
-     , wl-pprint-annotated, zippers
+     , tasty-expected-failure, tasty-golden, tasty-hedgehog, tasty-hunit
+     , template-haskell, text, transformers, unordered-containers
+     , vector, witherable, wl-pprint-annotated, zippers
      }:
      mkDerivation {
        pname = "waargonaut";
-       version = "0.5.2.2";
-       sha256 = "06kkgn6p28c29f9i3qs2wxmbsg449d7awi4h7giakws6ny1min95";
+       version = "0.6.0.0";
+       sha256 = "1nbykbgx9qzwzcilg2kmrr51fggczynn6kv7a60vsxxckkqlgy8j";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         base bifunctors bytestring containers contravariant digit
-         distributive errors generics-sop hoist-error hw-balancedparens
-         hw-bits hw-json hw-prim hw-rankselect lens mmorph mtl nats natural
-         parsers scientific semigroupoids semigroups tagged text
-         transformers vector witherable wl-pprint-annotated zippers
+         attoparsec base bifunctors bytestring containers contravariant
+         digit distributive errors generics-sop hoist-error
+         hw-balancedparens hw-bits hw-json hw-prim hw-rankselect lens mmorph
+         mtl nats natural parsers scientific semigroupoids semigroups tagged
+         text transformers unordered-containers vector witherable
+         wl-pprint-annotated zippers
        ];
        testHaskellDepends = [
          attoparsec base bytestring containers contravariant digit directory
          distributive doctest filepath generics-sop hedgehog hedgehog-fn
          lens mtl natural scientific semigroupoids semigroups tagged tasty
-         tasty-expected-failure tasty-hedgehog tasty-hunit template-haskell
-         text vector zippers
+         tasty-expected-failure tasty-golden tasty-hedgehog tasty-hunit
+         template-haskell text unordered-containers vector zippers
        ];
        description = "JSON wrangling";
        license = stdenv.lib.licenses.bsd3;
@@ -235432,8 +235663,8 @@ self: {
      }:
      mkDerivation {
        pname = "yak";
-       version = "0.1.0.0";
-       sha256 = "1zw522pijmad87986m663myzfkvm40y7w3g04z0f67yfzby4s19a";
+       version = "0.2.0.0";
+       sha256 = "1k27361n0jbixrshlf9757gvlnm7z3safkl28zg4lqflmfq95mai";
        libraryHaskellDepends = [
          attoparsec base bytestring lens template-haskell text time
        ];
@@ -239526,6 +239757,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "zenhack-prelude" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "zenhack-prelude";
+       version = "0.1.1.0";
+       sha256 = "07njs4zb976zxyiwg03ijvn1wvmx188ys49gckwybg1kl824x11f";
+       libraryHaskellDepends = [ base ];
+       description = "@zenhack's personal custom prelude";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "zeno" = callPackage
     ({ mkDerivation, array, base, containers, directory, ghc, ghc-paths
      , mtl, parallel, process, random, text, transformers
diff --git a/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch b/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch
new file mode 100644
index 000000000000..ebadd215cb76
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/servant-client-core-streamBody.patch
@@ -0,0 +1,82 @@
+diff --git a/src/Servant/Client/Core/Internal/HasClient.hs b/src/Servant/Client/Core/Internal/HasClient.hs
+index 712007006..6be92ec6d 100644
+--- a/src/Servant/Client/Core/Internal/HasClient.hs
++++ b/src/Servant/Client/Core/Internal/HasClient.hs
+@@ -16,6 +16,8 @@ module Servant.Client.Core.Internal.HasClient where
+ import           Prelude ()
+ import           Prelude.Compat
+ 
++import           Control.Concurrent.MVar
++                 (modifyMVar, newMVar)
+ import qualified Data.ByteString                        as BS
+ import qualified Data.ByteString.Lazy                   as BL
+ import           Data.Foldable
+@@ -36,13 +38,14 @@ import qualified Network.HTTP.Types                     as H
+ import           Servant.API
+                  ((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth, BasicAuthData,
+                  BuildHeadersTo (..), Capture', CaptureAll, Description,
+-                 EmptyAPI, FramingUnrender (..), FromSourceIO (..), Header',
+-                 Headers (..), HttpVersion, IsSecure, MimeRender (mimeRender),
++                 EmptyAPI, FramingRender (..), FramingUnrender (..),
++                 FromSourceIO (..), Header', Headers (..), HttpVersion,
++                 IsSecure, MimeRender (mimeRender),
+                  MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag,
+                  QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost,
+                  ReqBody', SBoolI, Stream, StreamBody', Summary, ToHttpApiData,
+-                 Vault, Verb, WithNamedContext, contentType, getHeadersHList,
+-                 getResponse, toQueryParam, toUrlPiece)
++                 ToSourceIO (..), Vault, Verb, WithNamedContext, contentType,
++                 getHeadersHList, getResponse, toQueryParam, toUrlPiece)
+ import           Servant.API.ContentTypes
+                  (contentTypes)
+ import           Servant.API.Modifiers
+@@ -538,7 +541,7 @@ instance (MimeRender ct a, HasClient m api)
+     hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
+ 
+ instance
+-    ( HasClient m api
++    ( HasClient m api, MimeRender ctype chunk, FramingRender framing, ToSourceIO chunk a
+     ) => HasClient m (StreamBody' mods framing ctype a :> api)
+   where
+ 
+@@ -547,7 +550,39 @@ instance
+     hoistClientMonad pm _ f cl = \a ->
+       hoistClientMonad pm (Proxy :: Proxy api) f (cl a)
+ 
+-    clientWithRoute _pm Proxy _req _body = error "HasClient @StreamBody"
++    clientWithRoute pm Proxy req body
++        = clientWithRoute pm (Proxy :: Proxy api)
++        $ setRequestBody (RequestBodyStreamChunked givesPopper) (contentType ctypeP) req
++      where
++        ctypeP   = Proxy :: Proxy ctype
++        framingP = Proxy :: Proxy framing
++
++        sourceIO = framingRender
++            framingP
++            (mimeRender ctypeP :: chunk -> BL.ByteString)
++            (toSourceIO body)
++
++        -- not pretty.
++        givesPopper :: (IO BS.ByteString -> IO ()) -> IO ()
++        givesPopper needsPopper = S.unSourceT sourceIO $ \step0 -> do
++            ref <- newMVar step0
++
++            -- Note sure we need locking, but it's feels safer.
++            let popper :: IO BS.ByteString
++                popper = modifyMVar ref nextBs
++
++            needsPopper popper
++
++        nextBs S.Stop          = return (S.Stop, BS.empty)
++        nextBs (S.Error err)   = fail err
++        nextBs (S.Skip s)      = nextBs s
++        nextBs (S.Effect ms)   = ms >>= nextBs
++        nextBs (S.Yield lbs s) = case BL.toChunks lbs of
++            []     -> nextBs s
++            (x:xs) | BS.null x -> nextBs step'
++                   | otherwise -> return (step', x)
++                where
++                  step' = S.Yield (BL.fromChunks xs) s
+
+
+
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index ecec2f11fc82..f6990fd29d01 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurlBoot, buildPackages
+{ lib, stdenv, fetchurl, buildPackages
 , enableThreading ? stdenv ? glibc, makeWrapper
 }:
 
@@ -27,7 +27,7 @@ let
 
     name = "perl-${version}";
 
-    src = fetchurlBoot {
+    src = fetchurl {
       url = "mirror://cpan/src/5.0/${name}.tar.gz";
       inherit sha256;
     };
@@ -46,7 +46,7 @@ let
       ]
       ++ optional (versionOlder version "5.29.6")
         # Fix parallel building: https://rt.perl.org/Public/Bug/Display.html?id=132360
-        (fetchurlBoot {
+        (fetchurl {
           url = "https://rt.perl.org/Public/Ticket/Attachment/1502646/807252/0001-Fix-missing-build-dependency-for-pods.patch";
           sha256 = "1bb4mldfp8kq1scv480wm64n2jdsqa3ar46cjp1mjpby8h5dr2r0";
         })
@@ -159,7 +159,7 @@ let
   } // stdenv.lib.optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
     crossVersion = "276849e62f472c1b241d9e7b38a28e4cc9f98563"; # Dez 02, 2018
 
-    perl-cross-src = fetchurlBoot {
+    perl-cross-src = fetchurl {
       url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
       sha256 = "1fpr1m9lgkwdp1vmdr0s6gvmcpd0m8q6jwn024bkczc2h37bdynd";
     };
diff --git a/pkgs/development/interpreters/python/cpython/2.7/boot.nix b/pkgs/development/interpreters/python/cpython/2.7/boot.nix
index ccb366903c5c..9e38e8250748 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/boot.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/boot.nix
@@ -98,6 +98,6 @@ stdenv.mkDerivation rec {
     '';
     license = stdenv.lib.licenses.psfl;
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ lnl7 chaoflow domenkozar ];
+    maintainers = with stdenv.lib.maintainers; [ lnl7 domenkozar ];
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
index 3885b43960f5..7727b984d969 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-html.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
     cp -R ./ $out/share/doc/python27/html
   '';
   meta = {
-    maintainers = [ lib.maintainers.chaoflow ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
index d8dde17ac66a..0c9673b7d7a9 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-a4.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
     cp -R ./ $out/share/doc/python27/pdf-a4
   '';
   meta = {
-    maintainers = [ lib.maintainers.chaoflow ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
index 32581cd229a9..9b0018e7cd78 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-pdf-letter.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
     cp -R ./ $out/share/doc/python27/pdf-letter
   '';
   meta = {
-    maintainers = [ lib.maintainers.chaoflow ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix b/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
index 590192383016..b7bcfb51d29a 100644
--- a/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/2.7-text.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
     cp -R ./ $out/share/doc/python27/text
   '';
   meta = {
-    maintainers = [ lib.maintainers.chaoflow ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/docs/template.nix b/pkgs/development/interpreters/python/cpython/docs/template.nix
index cc92f71bc1ea..4a0c84fb272e 100644
--- a/pkgs/development/interpreters/python/cpython/docs/template.nix
+++ b/pkgs/development/interpreters/python/cpython/docs/template.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
     cp -R ./ $out/share/doc/pythonMAJORMINOR/TYPE
   '';
   meta = {
-    maintainers = [ lib.maintainers.chaoflow ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index d0e93337a390..5c3c6272f83d 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -1,7 +1,19 @@
-{ stdenv, fetchurl, fetchpatch, perl
+{ stdenv, fetchurl, fetchpatch, fetchzip, perl
 , searchNixProfiles ? true
 }:
 
+let
+
+  # Source for u-deva.cmap and u-deva.cset: use the Marathi
+  # dictionary like Debian does.
+  devaMapsSource = fetchzip {
+    name = "aspell-u-deva";
+    url = "ftp://ftp.gnu.org/gnu/aspell/dict/mr/aspell6-mr-0.10-0.tar.bz2";
+    sha256 = "1v8cdl8x2j1d4vbvsq1xrqys69bbccd6mi03fywrhkrrljviyri1";
+  };
+
+in
+
 stdenv.mkDerivation rec {
   name = "aspell-0.60.6.1";
 
@@ -33,6 +45,13 @@ stdenv.mkDerivation rec {
     );
   '';
 
+  # Include u-deva.cmap and u-deva.cset in the aspell package
+  # to avoid conflict between 'mr' and 'hi' dictionaries as they
+  # both include those files.
+  postInstall = ''
+    cp ${devaMapsSource}/u-deva.{cmap,cset} $out/lib/aspell/
+  '';
+
   meta = {
     description = "Spell checker for many languages";
     homepage = http://aspell.net/;
diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix
index 4e23001fc9f9..992119faf65e 100644
--- a/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/pkgs/development/libraries/aspell/dictionaries.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, aspell, which}:
+{lib, stdenv, fetchurl, aspell, which, writeScript}:
 
 with lib;
 
@@ -53,6 +53,57 @@ let
       } // (args.meta or {});
     } // removeAttrs args [ "meta" ]);
 
+
+  buildOfficialDict =
+    {language, version, filename, fullName, sha256, ...}@args:
+    let buildArgs = {
+      shortName = "${language}-${version}";
+
+      src = fetchurl {
+        url = "mirror://gnu/aspell/dict/${language}/${filename}-${language}-${version}.tar.bz2";
+        inherit sha256;
+      };
+
+      /* Remove any instances of u-deva.cmap and u-deva.cset since
+         they are included in the main aspell package and can
+         cause conflicts otherwise. */
+      postInstall = ''
+        rm -f $out/lib/aspell/u-deva.{cmap,cset}
+      '';
+
+      passthru.updateScript = writeScript "update-aspellDict-${language}" ''
+        #!/usr/bin/env nix-shell
+        #!nix-shell -i bash -p nix curl gnused common-updater-scripts
+        set -eu -o pipefail
+
+        # List tarballs in the dictionary's subdirectory via HTTPS and
+        # the simple list method of Apache's mod_autoindex.
+        #
+        # Catalan dictionary has an exception where an earlier version
+        # compares as newer because the versioning scheme has changed.
+        versions=$(
+            echo '[';
+            curl -s 'https://ftp.gnu.org/gnu/aspell/dict/${language}/?F=0' | \
+                sed -r 's/.* href="${filename}-${language}-([A-Za-z0-9_+.-]+)\.tar\.bz2".*/"\1"/;t;d' | \
+                if [ '${language}' = "ca" ]; then grep -v 20040130-1; else cat; fi; \
+            echo ']')
+
+        # Sort versions in descending order using Nix's and take the first as the latest.
+        sortVersions="(with builtins; head (sort (a: b: compareVersions a b > 0) $versions))"
+        # nix-instantiate outputs Nix strings (with quotes), so remove them to get
+        # a result similar to `nix eval --raw`.
+        latestVersion=$(nix-instantiate --eval --expr "$sortVersions" | tr -d '"')
+
+        update-source-version aspellDicts.${language} "$latestVersion"
+      '';
+
+      meta = {
+        homepage = "http://ftp.gnu.org/gnu/aspell/dict/0index.html";
+      } // (args.meta or {});
+
+    } // removeAttrs args [ "language" "filename" "sha256" "meta" ];
+    in buildDict buildArgs;
+
   /* Function to compile txt dict files into Aspell dictionaries. */
   buildTxtDict =
     {langInputs ? [], ...}@args:
@@ -109,206 +160,736 @@ in rec {
 
   ### Languages
 
-  ca = buildDict rec {
-    shortName = "ca-2.1.5-1";
+  af = buildOfficialDict rec {
+    language = "af";
+    version = "0.50-0";
+    fullName = "Afrikaans";
+    filename = "aspell";
+    sha256 = "00p6k2ndi0gzfr5fkbvx4hkcpj223pidjvmxg0r384arrap00q4x";
+  };
+
+  am = buildOfficialDict rec {
+    language = "am";
+    version = "0.03-1";
+    fullName = "Amharic";
+    filename = "aspell6";
+    sha256 = "11ylp7gjq94wfacyawvp391lsq26rl1b84f268rjn7l7z0hxs9xz";
+  };
+
+  ar = buildOfficialDict rec {
+    language = "ar";
+    version = "1.2-0";
+    fullName = "Arabic";
+    filename = "aspell6";
+    sha256 = "1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4";
+  };
+
+  ast = buildOfficialDict rec {
+    language = "ast";
+    version = "0.01";
+    fullName = "Asturian";
+    filename = "aspell6";
+    sha256 = "14hg85mxcyvdigf96yvslk7f3v9ngdsxn85qpgwkg31k3k83xwj3";
+  };
+
+  az = buildOfficialDict rec {
+    language = "az";
+    version = "0.02-0";
+    fullName = "Azerbaijani";
+    filename = "aspell6";
+    sha256 = "1hs4h1jscpxf9f9iyk6mvjqsnhkf0yslkbjhjkasqqcx8pn7cc86";
+  };
+
+  be = buildOfficialDict rec {
+    language = "be";
+    version = "0.01";
+    fullName = "Belarusian";
+    filename = "aspell5";
+    sha256 = "1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm";
+  };
+
+  bg = buildOfficialDict rec {
+    language = "bg";
+    version = "4.1-0";
+    fullName = "Bulgarian";
+    filename = "aspell6";
+    sha256 = "1alacmgpfk0yrgq83y23d16fhav1bxmb98kg8d2a5r9bvh2h0mvl";
+  };
+
+  bn = buildOfficialDict rec {
+    language = "bn";
+    version = "0.01.1-1";
+    fullName = "Bengali";
+    filename = "aspell6";
+    sha256 = "1nc02jd67iggirwxnhdvlvaqm0xfyks35c4psszzj3dhzv29qgxh";
+  };
+
+  br = buildOfficialDict rec {
+    language = "br";
+    version = "0.50-2";
+    fullName = "Breton";
+    filename = "aspell";
+    sha256 = "0fradnm8424bkq9a9zhpl2132dk7y95xmw45sy1c0lx6rinjl4n2";
+  };
+
+  ca = buildOfficialDict rec {
+    language = "ca";
+    version = "2.1.5-1";
     fullName = "Catalan";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/ca/aspell6-${shortName}.tar.bz2";
-      sha256 = "1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb";
-    };
+    filename = "aspell6";
+    sha256 = "1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb";
   };
 
-  cs = buildDict rec {
-    shortName = "cs-20040614-1";
+  cs = buildOfficialDict rec {
+    language = "cs";
+    version = "20040614-1";
     fullName = "Czech";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/cs/aspell6-${shortName}.tar.bz2";
-      sha256 = "0rihj4hsw96pd9casvmpvw3r8040pfa28p1h73x4vyn20zwr3h01";
-    };
+    filename = "aspell6";
+    sha256 = "0rihj4hsw96pd9casvmpvw3r8040pfa28p1h73x4vyn20zwr3h01";
+  };
+
+  csb = buildOfficialDict rec {
+    language = "csb";
+    version = "0.02-0";
+    fullName = "Kashubian";
+    filename = "aspell6";
+    sha256 = "1612ypkm684wjvc7n081i87mlrrzif9simc7kyn177hfsl3ssrn1";
   };
 
-  da = buildDict rec {
-    shortName = "da-1.4.42-1";
+  cy = buildOfficialDict rec {
+    language = "cy";
+    version = "0.50-3";
+    fullName = "Welsh";
+    filename = "aspell";
+    sha256 = "15vq601lzz1gi311xym4bv9lv1k21xcfn50jmzamw7h6f36rsffm";
+  };
+
+  da = buildOfficialDict rec {
+    language = "da";
+    version = "1.4.42-1";
     fullName = "Danish";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/da/aspell5-${shortName}.tar.bz2";
-      sha256 = "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp";
-    };
+    filename = "aspell5";
+    sha256 = "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp";
   };
 
-  de = buildDict rec {
-    shortName = "de-20030222-1";
+  de = buildOfficialDict rec {
+    language = "de";
+    version = "20030222-1";
     fullName = "German";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/de/aspell6-${shortName}.tar.bz2";
-      sha256 = "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s";
-    };
+    filename = "aspell6";
+    sha256 = "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s";
+  };
+
+  de-alt = buildOfficialDict rec {
+    language = "de-alt";
+    version = "2.1-1";
+    fullName = "German - Old Spelling";
+    filename = "aspell6";
+    sha256 = "0wwc2l29svv3fv041fh6vfa5m3hi9q9pkbxibzq1ysrsfin3rl9n";
+  };
+
+  el = buildOfficialDict rec {
+    language = "el";
+    version = "0.08-0";
+    fullName = "Greek";
+    filename = "aspell6";
+    sha256 = "1ljcc30zg2v2h3w5h5jr5im41mw8jbsgvvhdd2cii2yzi8d0zxja";
   };
 
-  en = buildDict rec {
-    shortName = "en-2018.04.16-0";
+  en = buildOfficialDict rec {
+    language = "en";
+    version = "2018.04.16-0";
     fullName = "English";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/en/aspell6-${shortName}.tar.bz2";
-      sha256 = "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i";
-    };
+    filename = "aspell6";
+    sha256 = "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i";
+  };
+
+  eo = buildOfficialDict rec {
+    language = "eo";
+    version = "2.1.20000225a-2";
+    fullName = "Esperanto";
+    filename = "aspell6";
+    sha256 = "09vf0mbiicbmyb4bwb7v7lgpabnylg0wy7m3hlhl5rjdda6x3lj1";
   };
 
-  es = buildDict rec {
-    shortName = "es-1.11-2";
+  es = buildOfficialDict rec {
+    language = "es";
+    version = "1.11-2";
     fullName = "Spanish";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/es/aspell6-${shortName}.tar.bz2";
-      sha256 = "1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd";
-    };
+    filename = "aspell6";
+    sha256 = "1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd";
   };
 
-  eo = buildDict rec {
-    shortName = "eo-2.1.20000225a-2";
-    fullName = "Esperanto";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/eo/aspell6-${shortName}.tar.bz2";
-      sha256 = "09vf0mbiicbmyb4bwb7v7lgpabnylg0wy7m3hlhl5rjdda6x3lj1";
-    };
+  et = buildOfficialDict rec {
+    language = "et";
+    version = "0.1.21-1";
+    fullName = "Estonian";
+    filename = "aspell6";
+    sha256 = "0jdjfa2fskirhnb70fy86xryp9r6gkl729ib8qcjmsma7nm5gs5i";
+  };
+
+  fa = buildOfficialDict rec {
+    language = "fa";
+    version = "0.11-0";
+    fullName = "Persian";
+    filename = "aspell6";
+    sha256 = "0nz1ybwv56q7nl9ip12hfmdch1vyyq2j55bkjcns13lshzm2cba8";
   };
 
-  fr = buildDict rec {
-    shortName = "fr-0.50-3";
+  fi = buildOfficialDict rec {
+    language = "fi";
+    version = "0.7-0";
+    fullName = "Finnish";
+    filename = "aspell6";
+    sha256 = "07d5s08ba4dd89cmwy9icc01i6fjdykxlb9ravmhdrhi8mxz1mzq";
+  };
+
+  fo = buildOfficialDict rec {
+    language = "fo";
+    version = "0.2.16-1";
+    fullName = "Faroese";
+    filename = "aspell5";
+    sha256 = "022yz5lll20xrzizcyb7wksm3fgwklnvgnir5la5qkxv770dvq7p";
+  };
+
+  fr = buildOfficialDict rec {
+    language = "fr";
+    version = "0.50-3";
     fullName = "French";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/fr/aspell-${shortName}.tar.bz2";
-      sha256 = "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr";
-    };
+    filename = "aspell";
+    sha256 = "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr";
+  };
+
+  fy = buildOfficialDict rec {
+    language = "fy";
+    version = "0.12-0";
+    fullName = "Frisian";
+    filename = "aspell6";
+    sha256 = "1almi6n4ni91d0rzrk8ig0473m9ypbwqmg56hchz76j51slwyirl";
+  };
+
+  ga = buildOfficialDict rec {
+    language = "ga";
+    version = "4.5-0";
+    fullName = "Irish";
+    filename = "aspell5";
+    sha256 = "0y869mmvfb3bzadfgajwa2rfb0xfhi6m9ydwgxkb9v2claydnps5";
+  };
+
+  gd = buildOfficialDict rec {
+    language = "gd";
+    version = "0.1.1-1";
+    fullName = "Scottish Gaelic";
+    filename = "aspell5";
+    sha256 = "0a89irv5d65j5m9sb0k36851x5rs0wij12gb2m6hv2nsfn5a05p3";
+  };
+
+  gl = buildOfficialDict rec {
+    language = "gl";
+    version = "0.5a-2";
+    fullName = "Galician";
+    filename = "aspell6";
+    sha256 = "12pwghmy18fcdvf9hvhb4q6shi339hb1kwxpkz0bhw0yjxjwzkdk";
+  };
+
+  grc = buildOfficialDict rec {
+    language = "grc";
+    version = "0.02-0";
+    fullName = "Ancient Greek";
+    filename = "aspell6";
+    sha256 = "1zxr8958v37v260fkqd4pg37ns5h5kyqm54hn1hg70wq5cz8h512";
+  };
+
+  gu = buildOfficialDict rec {
+    language = "gu";
+    version = "0.03-0";
+    fullName = "Gujarati";
+    filename = "aspell6";
+    sha256 = "04c38jnl74lpj2jhjz4zpqbs2623vwc71m6wc5h4b1karid14b23";
+  };
+
+  gv = buildOfficialDict rec {
+    language = "gv";
+    version = "0.50-0";
+    fullName = "Manx Gaelic";
+    filename = "aspell";
+    sha256 = "1rknf4yaw9s29c77sdzg98nhnmjwpicdb69igmz1n768npz2drmv";
+  };
+
+  he = buildOfficialDict rec {
+    language = "he";
+    version = "1.0-0";
+    fullName = "Hebrew";
+    filename = "aspell6";
+    sha256 = "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn";
+  };
+
+  hi = buildOfficialDict rec {
+    language = "hi";
+    version = "0.02-0";
+    fullName = "Hindi";
+    filename = "aspell6";
+    sha256 = "0drs374qz4419zx1lf2k281ydxf2750jk5ailafj1x0ncz27h1ys";
+  };
+
+  hil = buildOfficialDict rec {
+    language = "hil";
+    version = "0.11-0";
+    fullName = "Hiligaynon";
+    filename = "aspell5";
+    sha256 = "1s482fsfhzic9qa80al4418q3ni3gfn2bkwkd2y46ydrs17kf2jp";
+  };
+
+  hr = buildOfficialDict rec {
+    language = "hr";
+    version = "0.51-0";
+    fullName = "Croatian";
+    filename = "aspell";
+    sha256 = "09aafyf1vqhaxvcf3jfzf365k394b5pf0iivsr2ix5npah1h7i1a";
+  };
+
+  hsb = buildOfficialDict rec {
+    language = "hsb";
+    version = "0.02-0";
+    fullName = "Upper Sorbian";
+    filename = "aspell6";
+    sha256 = "0bi2vhz7n1vmg43wbbh935pmzihv80iyz9z65j94lxf753j2m7wd";
+  };
+
+  hu = buildOfficialDict rec {
+    language = "hu";
+    version = "0.99.4.2-0";
+    fullName = "Hungarian";
+    filename = "aspell6";
+    sha256 = "1d9nybip2k1dz69zly3iv0npbi3yxgfznh1py364nxzrbjsafd9k";
+  };
+
+  hus = buildOfficialDict rec {
+    language = "hus";
+    version = "0.03-1";
+    fullName = "Huastec";
+    filename = "aspell6";
+    sha256 = "09glipfpkz9xch17z11zw1yn2z7jx1f2svfmjn9l6wm1s5qz6a3d";
+  };
+
+  hy = buildOfficialDict rec {
+    language = "hy";
+    version = "0.10.0-0";
+    fullName = "Armenian";
+    filename = "aspell6";
+    sha256 = "1w5wq8lfl2xp1nid30b1j5qmya4vjyidq0vpr4y3gf53jc08vsid";
+  };
+
+  ia = buildOfficialDict rec {
+    language = "ia";
+    version = "0.50-1";
+    fullName = "Interlingua";
+    filename = "aspell";
+    sha256 = "0bqcpgsa72pga24fv4fkw38b4qqdvqsw97jvzvw7q03dc1cwp5sp";
+  };
+
+  id = buildOfficialDict rec {
+    language = "id";
+    version = "1.2-0";
+    fullName = "Indonesian";
+    filename = "aspell5";
+    sha256 = "023knfg0q03f7y5w6xnwa1kspnrcvcnky8xvdms93n2850414faj";
+  };
+
+  is = buildOfficialDict rec {
+    language = "is";
+    version = "0.51.1-0";
+    fullName = "Icelandic";
+    filename = "aspell";
+    sha256 = "1mp3248lhbr13cj7iq9zs7h5ix0dcwlprp5cwrkcwafrv8lvsd9h";
   };
 
-  it = buildDict rec {
-    shortName = "it-2.2_20050523-0";
+  it = buildOfficialDict rec {
+    language = "it";
+    version = "2.2_20050523-0";
     fullName = "Italian";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/it/aspell6-${shortName}.tar.bz2";
-      sha256 = "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v";
-    };
+    filename = "aspell6";
+    sha256 = "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v";
+  };
+
+  kn = buildOfficialDict rec {
+    language = "kn";
+    version = "0.01-1";
+    fullName = "Kannada";
+    filename = "aspell6";
+    sha256 = "10sk0wx4x4ds1403kf9dqxv9yjvh06w8qqf4agx57y0jlws0n0fb";
   };
 
-  la = buildDict rec {
-    shortName = "la-20020503-0";
+  ku = buildOfficialDict rec {
+    language = "ku";
+    version = "0.20-1";
+    fullName = "Kurdi";
+    filename = "aspell5";
+    sha256 = "09va98krfbgdaxl101nmd85j3ysqgg88qgfcl42c07crii0pd3wn";
+  };
+
+  ky = buildOfficialDict rec {
+    language = "ky";
+    version = "0.01-0";
+    fullName = "Kirghiz";
+    filename = "aspell6";
+    sha256 = "0kzv2syjnnn6pnwx0d578n46hg2l0j62977al47y6wabnhjjy3z1";
+  };
+
+  la = buildOfficialDict rec {
+    language = "la";
+    version = "20020503-0";
     fullName = "Latin";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/la/aspell6-${shortName}.tar.bz2";
-      sha256 = "1199inwi16dznzl087v4skn66fl7h555hi2palx6s1f3s54b11nl";
-    };
+    filename = "aspell6";
+    sha256 = "1199inwi16dznzl087v4skn66fl7h555hi2palx6s1f3s54b11nl";
   };
 
-  nb = buildDict rec {
-    shortName = "nb-0.50.1-0";
+  lt = buildOfficialDict rec {
+    language = "lt";
+    version = "1.2.1-0";
+    fullName = "Lithuanian";
+    filename = "aspell6";
+    sha256 = "1asjck911l96q26zj36lmz0jp4b6pivvrf3h38zgc8lc85p3pxgn";
+  };
+
+  lv = buildOfficialDict rec {
+    language = "lv";
+    version = "0.5.5-1";
+    fullName = "Latvian";
+    filename = "aspell6";
+    sha256 = "12pvs584a6437ijndggdqpp5s7d0w607cimpkxsjwasnx83f4c1w";
+  };
+
+  mg = buildOfficialDict rec {
+    language = "mg";
+    version = "0.03-0";
+    fullName = "Malagasy";
+    filename = "aspell5";
+    sha256 = "0hdhbk9b5immjp8l5h4cy82gwgsqzcqbb0qsf7syw333w4rgi0ji";
+  };
+
+  mi = buildOfficialDict rec {
+    language = "mi";
+    version = "0.50-0";
+    fullName = "Maori";
+    filename = "aspell";
+    sha256 = "12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy";
+  };
+
+  mk = buildOfficialDict rec {
+    language = "mk";
+    version = "0.50-0";
+    fullName = "Macedonian";
+    filename = "aspell";
+    sha256 = "0wcr9n882xi5b7a7ln1hnhq4vfqd5gpqqp87v01j0gb7zf027z0m";
+  };
+
+  ml = buildOfficialDict rec {
+    language = "ml";
+    version = "0.03-1";
+    fullName = "Malayalam";
+    filename = "aspell6";
+    sha256 = "1zcn4114gwia085fkz77qk13z29xrbp53q2qvgj2cvcbalg5bkg4";
+  };
+
+  mn = buildOfficialDict rec {
+    language = "mn";
+    version = "0.06-2";
+    fullName = "Mongolian";
+    filename = "aspell6";
+    sha256 = "150j9y5c9pw80fwp5rzl5q31q9vjbxixaqljkfwxjb5q93fnw6rg";
+  };
+
+  mr = buildOfficialDict rec {
+    language = "mr";
+    version = "0.10-0";
+    fullName = "Marathi";
+    filename = "aspell6";
+    sha256 = "0cvgb2l40sppqbi842ivpznsh2xzp1d4hxc371dll8z0pr05m8yk";
+  };
+
+  ms = buildOfficialDict rec {
+    language = "ms";
+    version = "0.50-0";
+    fullName = "Malay";
+    filename = "aspell";
+    sha256 = "0vr4vhipcfhsxqfs8dim2ph7iiixn22gmlmlb375bx5hgd9y7i1w";
+  };
+
+  mt = buildOfficialDict rec {
+    language = "mt";
+    version = "0.50-0";
+    fullName = "Maltese";
+    filename = "aspell";
+    sha256 = "1d2rl1nlfjq6rfywblvx8m88cyy2x0mzc0mshzbgw359c2nwl3z0";
+  };
+
+  nb = buildOfficialDict rec {
+    language = "nb";
+    version = "0.50.1-0";
     fullName = "Norwegian Bokmal";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/nb/aspell-${shortName}.tar.bz2";
-      sha256 = "12i2bmgdnlkzfinb20j2a0j4a20q91a9j8qpq5vgabbvc65nwx77";
-    };
+    filename = "aspell";
+    sha256 = "12i2bmgdnlkzfinb20j2a0j4a20q91a9j8qpq5vgabbvc65nwx77";
+  };
+
+  nds = buildOfficialDict rec {
+    language = "nds";
+    version = "0.01-0";
+    fullName = "Low Saxon";
+    filename = "aspell6";
+    sha256 = "1nkjhwzn45dizi89d19q4bqyd87cim8xyrgr655fampgkn31wf6f";
   };
 
-  nl = buildDict rec {
-    shortName = "nl-0.50-2";
+  nl = buildOfficialDict rec {
+    language = "nl";
+    version = "0.50-2";
     fullName = "Dutch";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/nl/aspell-${shortName}.tar.bz2";
-      sha256 = "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4";
-    };
+    filename = "aspell";
+    sha256 = "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4";
     # Emacs expects a language called "nederlands".
     postInstall = ''
       echo "add nl.rws" > $out/lib/aspell/nederlands.multi
     '';
   };
 
-  nn = buildDict rec {
-    shortName = "nn-0.50.1-1";
+  nn = buildOfficialDict rec {
+    language = "nn";
+    version = "0.50.1-1";
     fullName = "Norwegian Nynorsk";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/nn/aspell-${shortName}.tar.bz2";
-      sha256 = "0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc";
-    };
+    filename = "aspell";
+    sha256 = "0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc";
+  };
+
+  ny = buildOfficialDict rec {
+    language = "ny";
+    version = "0.01-0";
+    fullName = "Chichewa";
+    filename = "aspell5";
+    sha256 = "0gjb92vcg60sfgvrm2f6i89sfkgb179ahvwlgs649fx3dc7rfvqp";
+  };
+
+  or = buildOfficialDict rec {
+    language = "or";
+    version = "0.03-1";
+    fullName = "Oriya";
+    filename = "aspell6";
+    sha256 = "0kzj9q225z0ccrlbkijsrafy005pbjy14qcnxb6p93ciz1ls7zyn";
+  };
+
+  pa = buildOfficialDict rec {
+    language = "pa";
+    version = "0.01-1";
+    fullName = "Punjabi";
+    filename = "aspell6";
+    sha256 = "0if93zk10pyrs38wwj3vpcdm01h51m5z9gm85h3jxrpgqnqspwy7";
   };
 
-  pl = buildDict rec {
-    shortName = "pl-6.0_20061121-0";
+  pl = buildOfficialDict rec {
+    language = "pl";
+    version = "6.0_20061121-0";
     fullName = "Polish";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/pl/aspell6-${shortName}.tar.bz2";
-      sha256 = "0kap4kh6bqbb22ypja1m5z3krc06vv4n0hakiiqmv20anzy42xq1";
-    };
+    filename = "aspell6";
+    sha256 = "0kap4kh6bqbb22ypja1m5z3krc06vv4n0hakiiqmv20anzy42xq1";
   };
 
-  pt_BR = buildDict rec {
-    shortName = "pt_BR-20090702-0";
+  pt_BR = buildOfficialDict rec {
+    language = "pt_BR";
+    version = "20090702-0";
     fullName = "Brazilian Portuguese";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/pt_BR/aspell6-${shortName}.tar.bz2";
-      sha256 = "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p";
-    };
+    filename = "aspell6";
+    sha256 = "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p";
   };
 
-  pt_PT = buildDict rec {
-    shortName = "pt_PT-20070510-0";
+  pt_PT = buildOfficialDict rec {
+    language = "pt_PT";
+    version = "20070510-0";
     fullName = "Portuguese";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/pt_PT/aspell6-${shortName}.tar.bz2";
-      sha256 = "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq";
-    };
+    filename = "aspell6";
+    sha256 = "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq";
+  };
+
+  qu = buildOfficialDict rec {
+    language = "qu";
+    version = "0.02-0";
+    fullName = "Quechua";
+    filename = "aspell6";
+    sha256 = "009z0zsvzq7r3z3m30clyibs94v77b92h5lmzmzxlns2p0lpd5w0";
   };
 
-  ro = buildDict rec {
-    shortName = "ro-3.3-2";
+  ro = buildOfficialDict rec {
+    language = "ro";
+    version = "3.3-2";
     fullName = "Romanian";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/ro/aspell5-${shortName}.tar.bz2";
-      sha256 = "0gb8j9iy1acdl11jq76idgc2lbc1rq3w04favn8cyh55d1v8phsk";
-    };
+    filename = "aspell5";
+    sha256 = "0gb8j9iy1acdl11jq76idgc2lbc1rq3w04favn8cyh55d1v8phsk";
   };
 
-  ru = buildDict rec {
-    shortName = "ru-0.99f7-1";
+  ru = buildOfficialDict rec {
+    language = "ru";
+    version = "0.99f7-1";
     fullName = "Russian";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/ru/aspell6-${shortName}.tar.bz2";
-      sha256 = "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw";
-    };
+    filename = "aspell6";
+    sha256 = "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw";
   };
 
-  sv = buildDict rec {
-    shortName = "sv-0.51-0";
-    fullName = "Swedish";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/sv/aspell-${shortName}.tar.bz2";
-      sha256 = "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v";
-    };
+  rw = buildOfficialDict rec {
+    language = "rw";
+    version = "0.50-0";
+    fullName = "Kinyarwanda";
+    filename = "aspell";
+    sha256 = "10gh8g747jbrvfk2fn3pjxy1nhcfdpwgmnvkmrp4nd1k1qp101il";
   };
 
-  sk = buildDict rec {
-    shortName = "sk-2.01-2";
+  sc = buildOfficialDict rec {
+    language = "sc";
+    version = "1.0";
+    fullName = "Sardinian";
+    filename = "aspell5";
+    sha256 = "0hl7prh5rccsyljwrv3m1hjcsphyrrywk2qvnj122irbf4py46jr";
+  };
+
+  sk = buildOfficialDict rec {
+    language = "sk";
+    version = "2.01-2";
     fullName = "Slovak";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/sk/aspell6-${shortName}.tar.bz2";
-      sha256 = "19k0m1v5pcf7xr4lxgjkzqkdlks8nyb13bvi1n7521f3i4lhma66";
-    };
+    filename = "aspell6";
+    sha256 = "19k0m1v5pcf7xr4lxgjkzqkdlks8nyb13bvi1n7521f3i4lhma66";
+  };
+
+  sl = buildOfficialDict rec {
+    language = "sl";
+    version = "0.50-0";
+    fullName = "Slovenian";
+    filename = "aspell";
+    sha256 = "1l9kc5g35flq8kw9jhn2n0bjb4sipjs4qkqzgggs438kywkx2rp5";
+  };
+
+  sr = buildOfficialDict rec {
+    language = "sr";
+    version = "0.02";
+    fullName = "Serbian";
+    filename = "aspell6";
+    sha256 = "12cj01p4nj80cpf7m3s4jsaf0rsfng7s295j9jfchcq677xmhpkh";
+  };
+
+  sv = buildOfficialDict rec {
+    language = "sv";
+    version = "0.51-0";
+    fullName = "Swedish";
+    filename = "aspell";
+    sha256 = "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v";
+  };
+
+  sw = buildOfficialDict rec {
+    language = "sw";
+    version = "0.50-0";
+    fullName = "Swahili";
+    filename = "aspell";
+    sha256 = "15zjh7hdj2b4dgm5bc12w1ims9q357p1q3gjalspnyn5gl81zmby";
+  };
+
+  ta = buildOfficialDict rec {
+    language = "ta";
+    version = "20040424-1";
+    fullName = "Tamil";
+    filename = "aspell6";
+    sha256 = "0sj8ygjsyvnr93cs6324y7az7k2vyw7rjxdc9vnm7z60lbqm5xaj";
   };
 
-  tr = buildDict rec {
-    shortName = "tr-0.50-0";
+  te = buildOfficialDict rec {
+    language = "te";
+    version = "0.01-2";
+    fullName = "Telugu";
+    filename = "aspell6";
+    sha256 = "0pgcgxz7dz34zxp9sb85jjzbg3ky6il5wmhffz6ayrbsfn5670in";
+  };
+
+  tet = buildOfficialDict rec {
+    language = "tet";
+    version = "0.1.1";
+    fullName = "Tetum";
+    filename = "aspell5";
+    sha256 = "17n0y4fhjak47j9qnqf4m4z6zra6dn72rwhp7ig0hhlgqk4ldmcx";
+  };
+
+  tk = buildOfficialDict rec {
+    language = "tk";
+    version = "0.01-0";
+    fullName = "Turkmen";
+    filename = "aspell5";
+    sha256 = "02vad4jqhr0xpzqi5q5z7z0xxqccbn8j0c5dhpnm86mnr84l5wl6";
+  };
+
+  tl = buildOfficialDict rec {
+    language = "tl";
+    version = "0.02-1";
+    fullName = "Tagalog";
+    filename = "aspell5";
+    sha256 = "1kca6k7qnpfvvwjnq5r1n242payqsjy96skmw78m7ww6d0n5vdj8";
+  };
+
+  tn = buildOfficialDict rec {
+    language = "tn";
+    version = "1.0.1-0";
+    fullName = "Setswana";
+    filename = "aspell5";
+    sha256 = "0q5x7c6z88cn0kkpk7q1craq34g4g03v8x3xcj5a5jia3l7c5821";
+  };
+
+  tr = buildOfficialDict rec {
+    language = "tr";
+    version = "0.50-0";
     fullName = "Turkish";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/tr/aspell-${shortName}.tar.bz2";
-      sha256 = "0jpvpm96ga7s7rmsm6rbyrrr22b2dicxv2hy7ysv5y7bbq757ihb";
-    };
+    filename = "aspell";
+    sha256 = "0jpvpm96ga7s7rmsm6rbyrrr22b2dicxv2hy7ysv5y7bbq757ihb";
   };
 
-  uk = buildDict rec {
-    shortName = "uk-1.4.0-0";
+  uk = buildOfficialDict rec {
+    language = "uk";
+    version = "1.4.0-0";
     fullName = "Ukrainian";
-    src = fetchurl {
-      url = "mirror://gnu/aspell/dict/uk/aspell6-${shortName}.tar.bz2";
-      sha256 = "137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m";
-    };
+    filename = "aspell6";
+    sha256 = "137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m";
+  };
+
+  uz = buildOfficialDict rec {
+    language = "uz";
+    version = "0.6-0";
+    fullName = "Uzbek";
+    filename = "aspell6";
+    sha256 = "0sg3wlyply1idpq5ypyj7kgnaadaiskci1sqs811yhg2gzyc3092";
+  };
+
+  vi = buildOfficialDict rec {
+    language = "vi";
+    version = "0.01.1-1";
+    fullName = "Vietnamese";
+    filename = "aspell6";
+    sha256 = "05vwgvf1cj45azhflywx69javqdvqd1f20swrc2d3c32pd9mvn1w";
+  };
+
+  wa = buildOfficialDict rec {
+    language = "wa";
+    version = "0.50-0";
+    fullName = "Walloon";
+    filename = "aspell";
+    sha256 = "1r1zwz7xkx40dga9vf5wc9ja3jwk1dkpcr1kaa7wryvslf5al5ss";
+  };
+
+  yi = buildOfficialDict rec {
+    language = "yi";
+    version = "0.01.1-1";
+    fullName = "Yiddish";
+    filename = "aspell6";
+    sha256 = "0mi842l4038bx3ll2wx9nz44nqrg1x46h5b02zigi1hbbddd6ycq";
+  };
+
+  zu = buildOfficialDict rec {
+    language = "zu";
+    version = "0.50-0";
+    fullName = "Zulu";
+    filename = "aspell";
+    sha256 = "15k7gaxrnqnssdyk9l6g27dq317dqp9jz5yzafd25ri01g6mb8iz";
   };
 
   ### Jargons
diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix
index 428114986d1b..9577bfe9e8a2 100644
--- a/pkgs/development/libraries/clutter-gst/default.nix
+++ b/pkgs/development/libraries/clutter-gst/default.nix
@@ -1,17 +1,17 @@
-{ fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl, gnome3 }:
+{ fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl, gnome3, gdk_pixbuf }:
 
 let
   pname = "clutter-gst";
-  version = "3.0.26";
+  version = "3.0.27";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "0fnblqm4igdx4rn3681bp1gm1y2i00if3iblhlm0zv6ck9nqlqfq";
+    sha256 = "17czmpl92dzi4h3rn5rishk015yi3jwiw29zv8qan94xcmnbssgy";
   };
 
-  propagatedBuildInputs = [ clutter gtk3 glib cogl ];
+  propagatedBuildInputs = [ clutter gtk3 glib cogl gdk_pixbuf ];
   nativeBuildInputs = [ pkgconfig ];
 
   postBuild = "rm -rf $out/share/gtk-doc";
diff --git a/pkgs/development/libraries/globalarrays/default.nix b/pkgs/development/libraries/globalarrays/default.nix
index 2da5474eb9d1..269071434d57 100644
--- a/pkgs/development/libraries/globalarrays/default.nix
+++ b/pkgs/development/libraries/globalarrays/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgs, fetchFromGitHub, automake, autoconf, libtool
+{ stdenv, fetchpatch, fetchFromGitHub, autoreconfHook
 , openblas, gfortran, openssh, openmpi
 } :
 
@@ -15,11 +15,22 @@ in stdenv.mkDerivation {
     sha256 = "07i2idaas7pq3in5mdqq5ndvxln5q87nyfgk3vzw85r72c4fq5jh";
   };
 
-  nativeBuildInputs = [ automake autoconf libtool ];
+  # upstream patches for openmpi-4 compatibility
+  patches = [ (fetchpatch {
+    name = "MPI_Type_struct-was-deprecated-in-MPI-2";
+    url = "https://github.com/GlobalArrays/ga/commit/36e6458993b1df745f43b7db86dc17087758e0d2.patch";
+    sha256 = "058qi8x0ananqx980p03yxpyn41cnmm0ifwsl50qp6sc0bnbnclh";
+  })
+  (fetchpatch {
+    name = "MPI_Errhandler_set-was-deprecated-in-MPI-2";
+    url = "https://github.com/GlobalArrays/ga/commit/f1ea5203d2672c1a1d0275a012fb7c2fb3d033d8.patch";
+    sha256 = "06n7ds9alk5xa6hd7waw3wrg88yx2azhdkn3cjs2k189iw8a7fqk";
+  })];
+
+  nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ openmpi openblas gfortran openssh ];
 
   preConfigure = ''
-    autoreconf -ivf
     configureFlagsArray+=( "--enable-i8" \
                            "--with-mpi" \
                            "--with-mpi3" \
diff --git a/pkgs/development/libraries/gmime/2.nix b/pkgs/development/libraries/gmime/2.nix
index 1c6dfc4a8524..b373095a8148 100644
--- a/pkgs/development/libraries/gmime/2.nix
+++ b/pkgs/development/libraries/gmime/2.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/jstedfast/gmime/;
     description = "A C/C++ library for creating, editing and parsing MIME messages and structures";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ chaoflow ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index d036140567fe..699d2854f3db 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/jstedfast/gmime/;
     description = "A C/C++ library for creating, editing and parsing MIME messages and structures";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ chaoflow ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 7368cb2c2362..7c364c0fcdf5 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -23,6 +23,10 @@ stdenv.mkDerivation {
   postPatch = ''
     patchShebangs src/gen-def.py
     patchShebangs test
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    # ApplicationServices.framework headers have cast-align warnings.
+    substituteInPlace src/hb.hh \
+      --replace '#pragma GCC diagnostic error   "-Wcast-align"' ""
   '';
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libgit2-glib/default.nix b/pkgs/development/libraries/libgit2-glib/default.nix
index 498858d52e91..e3a6580038a2 100644
--- a/pkgs/development/libraries/libgit2-glib/default.nix
+++ b/pkgs/development/libraries/libgit2-glib/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgit2-glib";
-  version = "0.27.7";
+  version = "0.27.8";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1hpgs8dx0dk25mc8jsizi2cwwhnmahrn3dyry9p7a1g48mnxyc8i";
+    sha256 = "0d8rwgf69424ijy6fjbk3m863y9ml5bq7mshlqw7xqk9zngdd6f1";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libgnomekbd/default.nix b/pkgs/development/libraries/libgnomekbd/default.nix
index 20a9bb91604e..0951ab1fe0c0 100644
--- a/pkgs/development/libraries/libgnomekbd/default.nix
+++ b/pkgs/development/libraries/libgnomekbd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgnomekbd";
-  version = "3.26.0";
+  version = "3.26.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "ea3b418c57c30615f7ee5b6f718def7c9d09ce34637324361150744258968875";
+    sha256 = "0y962ykn3rr9gylj0pwpww7bi20lmhvsw6qvxs5bisbn2mih5jpp";
   };
 
   passthru = {
diff --git a/pkgs/development/libraries/libgumath/default.nix b/pkgs/development/libraries/libgumath/default.nix
new file mode 100644
index 000000000000..d5d35678b4fb
--- /dev/null
+++ b/pkgs/development/libraries/libgumath/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, fetchFromGitHub
+, libndtypes
+, libxnd
+}:
+
+stdenv.mkDerivation rec {
+  name = "libgumath-${version}";
+  version = "unstable-2018-11-27";
+
+  src = fetchFromGitHub {
+    owner = "plures";
+    repo = "gumath";
+    rev = "5a9d27883b40432246d6a93cd6133157267fd166";
+    sha256 = "0w2qzp7anxd1wzkvv5r2pdkkpgrnqzgrq47lrvpqc1i1wqzcwf0w";
+  };
+
+  buildInputs = [ libndtypes libxnd ];
+
+  # Override linker with cc (symlink to either gcc or clang)
+  # Library expects to use cc for linking
+  configureFlags = [
+    "LD=${stdenv.cc.targetPrefix}cc"
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Library supporting function dispatch on general data containers. C base and Python wrapper";
+    homepage = https://xnd.io/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index 9fb0b776e6fd..3fad34ce0d0a 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -7,7 +7,7 @@
 
 let
   pname = "libhandy";
-  version = "0.0.7";
+  version = "0.0.8";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
     owner = "Librem5";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1k9v6q2dz9x8lfcyzmsksrkq6md7m9jdkjlfan7nqlcj3mqhd7m9";
+    sha256 = "04jyllwdrapw24f34pjc2gbmfapjfin8iw0g3qfply7ciy08k1wj";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libndtypes/default.nix b/pkgs/development/libraries/libndtypes/default.nix
index 925154e1d459..51e4deed462c 100644
--- a/pkgs/development/libraries/libndtypes/default.nix
+++ b/pkgs/development/libraries/libndtypes/default.nix
@@ -1,27 +1,28 @@
-{ lib
-, stdenv
+{ stdenv
 , fetchFromGitHub
 }:
 
 stdenv.mkDerivation rec {
   name = "libndtypes-${version}";
-  version = "0.2.0dev3";
+  version = "unstable-2018-11-27";
 
   src = fetchFromGitHub {
     owner = "plures";
     repo = "ndtypes";
-    rev = "v${version}";
-    sha256 = "0dpvv13mrid8l5zkjlz18qvirz3nr0v98agx9bcvkqbiahlfgjli";
+    rev = "4d810d0c4d54c81a7136f313f0ae6623853d574a";
+    sha256 = "1kk1sa7f17ffh49jc1qlizlsj536fr3s4flb6x4rjyi81rp7psb9";
   };
 
   # Override linker with cc (symlink to either gcc or clang)
   # Library expects to use cc for linking
   configureFlags = [ "LD=${stdenv.cc.targetPrefix}cc" ];
 
-  meta = {
+  doCheck = true;
+
+  meta = with stdenv.lib; {
     description = "Dynamic types for data description and in-memory computations";
     homepage = https://xnd.io/;
-    license = lib.licenses.bsdOriginal;
-    maintainers = with lib.maintainers; [ costrouc ];
+    license = licenses.bsdOriginal;
+    maintainers = [ maintainers.costrouc ];
   };
 }
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index b050dede8c61..0986dee0ca0d 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurlBoot, openssl, zlib, windows }:
+{ stdenv, fetchurl, openssl, zlib, windows }:
 
 stdenv.mkDerivation rec {
   name = "libssh2-1.8.0";
 
-  src = fetchurlBoot {
+  src = fetchurl {
     url = "${meta.homepage}/download/${name}.tar.gz";
     sha256 = "1m3n8spv79qhjq4yi0wgly5s5rc8783jb1pyra9bkx1md0plxwrr";
   };
diff --git a/pkgs/development/libraries/libxnd/default.nix b/pkgs/development/libraries/libxnd/default.nix
index 6b9375c73815..cb93ec63e670 100644
--- a/pkgs/development/libraries/libxnd/default.nix
+++ b/pkgs/development/libraries/libxnd/default.nix
@@ -6,23 +6,32 @@
 
 stdenv.mkDerivation rec {
   name = "libxnd-${version}";
-  version = "0.2.0dev3";
+  version = "unstable-2018-11-27";
 
   src = fetchFromGitHub {
     owner = "plures";
     repo = "xnd";
-    rev = "v${version}";
-    sha256 = "0byq7jspyr2wxrhihw4q7nf0y4sb6j5ax0ndd5dnq5dz88c7qqm2";
+    rev = "8a9f3bd1d01d872828b40bc9dbd0bc0184524da3";
+    sha256 = "10jh2kqvhpzwy50adayh9az7z2lm16yxy4flrh99alzzbqdyls44";
   };
 
   buildInputs = [ libndtypes ];
 
   # Override linker with cc (symlink to either gcc or clang)
   # Library expects to use cc for linking
-  configureFlags = [ "LD=${stdenv.cc.targetPrefix}cc" ];
+  configureFlags = [
+      # Override linker with cc (symlink to either gcc or clang)
+      # Library expects to use cc for linking
+      "LD=${stdenv.cc.targetPrefix}cc"
+      # needed for tests
+      "--with-includes=${libndtypes}/include"
+      "--with-libs=${libndtypes}/lib"
+  ];
+
+  doCheck = true;
 
   meta = {
-    description = "General container that maps a wide range of Python values directly to memory";
+    description = "C library for managing typed memory blocks and Python container module";
     homepage = https://xnd.io/;
     license = lib.licenses.bsdOriginal;
     maintainers = with lib.maintainers; [ costrouc ];
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index 31056d0a4ed6..531261a58ca5 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -3,14 +3,14 @@
 # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 stdenv.mkDerivation rec {
   name = "live555-${version}";
-  version = "2018.12.14";
+  version = "2019.02.03";
 
   src = fetchurl { # the upstream doesn't provide a stable URL
     urls = [
       "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz"
       "https://download.videolan.org/contrib/live555/live.${version}.tar.gz"
     ];
-    sha256 = "0irafygp23m2xmjv06qgs1sccymbwqvn51wggk0c60lnj1v1zhwd";
+    sha256 = "04474r1drvgjpk33yjj79dq2hq15ncw8y3w6g9625zryan8qv4qw";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/openfst/default.nix b/pkgs/development/libraries/openfst/default.nix
index 6a4a033e1c27..c8c66969ef9b 100644
--- a/pkgs/development/libraries/openfst/default.nix
+++ b/pkgs/development/libraries/openfst/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "openfst";
-  version = "1.6.9";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${name}.tar.gz";
-    sha256 = "1nlbk7qarz2qv3apz1cxf5avjhlqfq2r8kxad0095kfyqz05jnfy";
+    sha256 = "0x9wfcqd8hq4h349s7j77sr60h8xjdfshqw1m3a2n6z5bdr9qkm1";
   };
   meta = {
     description = "Library for working with finite-state transducers";
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 345dffa87f5b..cd60e0edca1c 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, gfortran, perl, libnl, rdma-core, zlib
-, numactl
+{ stdenv, fetchurl, fetchpatch, gfortran, perl, libnl
+, rdma-core, zlib, numactl, libevent, hwloc
 
 # Enable the Sun Grid Engine bindings
 , enableSGE ? false
@@ -9,22 +9,30 @@
 }:
 
 let
-  version = "3.1.3";
+  version = "4.0.0";
 
 in stdenv.mkDerivation rec {
   name = "openmpi-${version}";
 
   src = with stdenv.lib.versions; fetchurl {
     url = "http://www.open-mpi.org/software/ompi/v${major version}.${minor version}/downloads/${name}.tar.bz2";
-    sha256 = "1dks11scivgaskjs5955y9wprsl12wr3gn5r7wfl0l8gq03l7q4b";
+    sha256 = "0srnjwzsmyhka9hhnmqm86qck4w3xwjm8g6sbns58wzbrwv8l2rg";
   };
 
+  patches = [ (fetchpatch {
+   # Fix a bug that ignores OMPI_MCA_rmaps_base_oversubscribe (upstream patch).
+   # This bug breaks the test from libs, such as scalapack,
+   # on machines with less than 4 cores.
+   url = https://github.com/open-mpi/ompi/commit/98c8492057e6222af6404b352430d0dd7553d253.patch;
+   sha256 = "1mpd8sxxprgfws96qqlzvqf58pn2vv2d0qa8g8cpv773sgw3b3gj";
+  }) ];
+
   postPatch = ''
     patchShebangs ./
   '';
 
   buildInputs = with stdenv; [ gfortran zlib ]
-    ++ lib.optionals isLinux [ libnl numactl ]
+    ++ lib.optionals isLinux [ libnl numactl libevent hwloc ]
     ++ lib.optional (isLinux || isFreeBSD) rdma-core;
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 3784d82dcc15..39f7fa91b02e 100644
--- a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, qmake, qtbase, qtsvg, qtx11extras, libX11, libXext, qttools }:
+{ stdenv, fetchFromGitHub, qmake, qtbase, qtsvg, qtx11extras, kwindowsystem, libX11, libXext, qttools }:
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum";
-  version = "0.10.8";
+  version = "0.10.9";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "0w4iqpkagrwvhahdl280ni06b7x1i621n3z740g84ysp2n3dv09l";
+    sha256 = "1zpq6wsl57kfx0jf0rkxf15ic22ihazj03i3kfiqb07vcrs2cka9";
   };
 
   nativeBuildInputs = [ qmake qttools ];
-  buildInputs = [ qtbase qtsvg qtx11extras libX11 libXext  ];
+  buildInputs = [ qtbase qtsvg qtx11extras kwindowsystem libX11 libXext  ];
 
   sourceRoot = "source/Kvantum";
 
diff --git a/pkgs/development/libraries/rapidxml/default.nix b/pkgs/development/libraries/rapidxml/default.nix
new file mode 100644
index 000000000000..99f880916907
--- /dev/null
+++ b/pkgs/development/libraries/rapidxml/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  pname = "rapidxml";
+  version = "1.13";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${name}.zip";
+    sha256 = "0w9mbdgshr6sh6a5jr10lkdycjyvapbj7wxwz8hbp0a96y3biw63";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  installPhase = ''
+    mkdir -p $out/include/${pname}
+    cp * $out/include/${pname}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fast XML DOM-style parser in C++";
+    homepage = "http://rapidxml.sourceforge.net/";
+    license = licenses.boost;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ cpages ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index f4a97b7cf854..2ae3bd2b9c83 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -126,7 +126,8 @@ stdenv.mkDerivation rec {
     NO_STATIC = true;
     CROSS = stdenv.hostPlatform != stdenv.buildPlatform;
     HOSTCC = "cc";
-    NO_BINARY_MODE = stdenv.hostPlatform != stdenv.buildPlatform;
+    # Makefile.system only checks defined status
+    NO_BINARY_MODE = toString (stdenv.hostPlatform != stdenv.buildPlatform);
   });
 
   doCheck = true;
diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix
index 3f37bf49de38..53f9af7a98ac 100644
--- a/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "0p1r61ss1fq0bs8ynnx7xq4wwsdvs32ljvwjnx6yxr8gd6pawx0c";
   };
 
+  # patch to rename outdated MPI functions
+  patches = [ ./openmpi4.patch ];
+
   nativeBuildInputs = [ cmake openssh ];
   buildInputs = [ mpi gfortran openblasCompat ];
 
@@ -41,8 +44,8 @@ stdenv.mkDerivation rec {
     homepage = http://www.netlib.org/scalapack/;
     description = "Library of high-performance linear algebra routines for parallel distributed memory machines";
     license = licenses.bsd3;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.costrouc ];
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ costrouc markuskowa ];
   };
 
 }
diff --git a/pkgs/development/libraries/science/math/scalapack/openmpi4.patch b/pkgs/development/libraries/science/math/scalapack/openmpi4.patch
new file mode 100644
index 000000000000..5d0afb58c027
--- /dev/null
+++ b/pkgs/development/libraries/science/math/scalapack/openmpi4.patch
@@ -0,0 +1,143 @@
+diff --git a/BLACS/SRC/blacs_get_.c b/BLACS/SRC/blacs_get_.c
+index e979767..d4b04cf 100644
+--- a/BLACS/SRC/blacs_get_.c
++++ b/BLACS/SRC/blacs_get_.c
+@@ -23,7 +23,7 @@ F_VOID_FUNC blacs_get_(int *ConTxt, int *what, int *val)
+    case SGET_MSGIDS:
+       if (BI_COMM_WORLD == NULL) Cblacs_pinfo(val, &val[1]);
+       iptr = &val[1];
+-      ierr=MPI_Attr_get(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
++      ierr=MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
+       val[0] = 0;
+       val[1] = *iptr;
+       break;
+diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c
+index 2db6ccb..6958f32 100644
+--- a/BLACS/SRC/cgamn2d_.c
++++ b/BLACS/SRC/cgamn2d_.c
+@@ -221,7 +221,7 @@ F_VOID_FUNC cgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c
+index 707c0b6..f802d01 100644
+--- a/BLACS/SRC/cgamx2d_.c
++++ b/BLACS/SRC/cgamx2d_.c
+@@ -221,7 +221,7 @@ F_VOID_FUNC cgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c
+index dff23b4..a2627ac 100644
+--- a/BLACS/SRC/dgamn2d_.c
++++ b/BLACS/SRC/dgamn2d_.c
+@@ -221,7 +221,7 @@ F_VOID_FUNC dgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c
+index a51f731..2a644d0 100644
+--- a/BLACS/SRC/dgamx2d_.c
++++ b/BLACS/SRC/dgamx2d_.c
+@@ -221,7 +221,7 @@ F_VOID_FUNC dgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c
+index 16bc003..f6a7859 100644
+--- a/BLACS/SRC/igamn2d_.c
++++ b/BLACS/SRC/igamn2d_.c
+@@ -218,7 +218,7 @@ F_VOID_FUNC igamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c
+index 8165cbe..a7cfcc6 100644
+--- a/BLACS/SRC/igamx2d_.c
++++ b/BLACS/SRC/igamx2d_.c
+@@ -218,7 +218,7 @@ F_VOID_FUNC igamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c
+index d6c95e5..569c797 100644
+--- a/BLACS/SRC/sgamn2d_.c
++++ b/BLACS/SRC/sgamn2d_.c
+@@ -221,7 +221,7 @@ F_VOID_FUNC sgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c
+index 4b0af6f..8897ece 100644
+--- a/BLACS/SRC/sgamx2d_.c
++++ b/BLACS/SRC/sgamx2d_.c
+@@ -221,7 +221,7 @@ F_VOID_FUNC sgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c
+index 9de2b23..37897df 100644
+--- a/BLACS/SRC/zgamn2d_.c
++++ b/BLACS/SRC/zgamn2d_.c
+@@ -221,7 +221,7 @@ F_VOID_FUNC zgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
+diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c
+index 414c381..0e9d474 100644
+--- a/BLACS/SRC/zgamx2d_.c
++++ b/BLACS/SRC/zgamx2d_.c
+@@ -221,7 +221,7 @@ F_VOID_FUNC zgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
+       {
+ #endif
+       i = 2;
+-      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
++      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
+       ierr=MPI_Type_commit(&MyType);
+       bp->N = bp2->N = 1;
+       bp->dtype = bp2->dtype = MyType;
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index b33180cec428..abe444c63c32 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   pname = "sundials";
-  version = "4.0.2";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-    sha256 = "0xfk0icsi63yi1dby4rn02ppwkzfykciw6q03bk454gdia9xcmk6";
+    sha256 = "19ca4nmlf6i9ijqcibyvpprxzsdfnackgjs6dw51fq13gg1f2398";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index 2d3af9b70c57..7121b6fed02d 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "vapoursynth-${version}";
-  version = "R44";
+  version = "R45.1";
 
   src = fetchFromGitHub {
     owner  = "vapoursynth";
     repo   = "vapoursynth";
     rev    = version;
-    sha256 = "1270cggvk9nvy5g2z289nwhyvl4364yzirfn5jsa9i9ljfp00qml";
+    sha256 = "09fj4k75cksx1imivqfyr945swlr8k392kkdgzldwc4404qv82s6";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook nasm ];
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index cf331f014567..76c345c6b7e9 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -18,6 +18,8 @@ let
 
     doCheck = true;
 
+    patches = stdenv.lib.optionals stdenv.isDarwin [ ./skip-flaky-darwin-test.patch ];
+
     # the configure script thinks that Darwin has ___exp10
     # but it’s not available on my systems (or hydra apparently)
     postConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
@@ -29,7 +31,7 @@ let
       description = "Search engine library";
       homepage = https://xapian.org/;
       license = licenses.gpl2Plus;
-      maintainers = with maintainers; [ chaoflow ];
+      maintainers = with maintainers; [ ];
       platforms = platforms.unix;
     };
   };
diff --git a/pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch b/pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch
new file mode 100644
index 000000000000..72a7c3e721f4
--- /dev/null
+++ b/pkgs/development/libraries/xapian/skip-flaky-darwin-test.patch
@@ -0,0 +1,33 @@
+diff -Naur xapian-core.old/tests/api_db.cc xapian-core.new/tests/api_db.cc
+--- xapian-core.old/tests/api_db.cc
++++ xapian-core.new/tests/api_db.cc
+@@ -998,6 +998,7 @@
+ 
+ // test for keepalives
+ DEFINE_TESTCASE(keepalive1, remote) {
++    SKIP_TEST("Fails in darwin nix build environment");
+     Xapian::Database db(get_remote_database("apitest_simpledata", 5000));
+ 
+     /* Test that keep-alives work */
+diff -Naur xapian-core.old/tests/api_scalability.cc xapian-core.new/tests/api_scalability.cc
+--- xapian-core.old/tests/api_scalability.cc
++++ xapian-core.new/tests/api_scalability.cc
+@@ -53,6 +53,7 @@
+ }
+ 
+ DEFINE_TESTCASE(bigoaddvalue1, writable) {
++    SKIP_TEST("Fails in darwin nix build environment");
+     // O(n*n) is bad, but O(n*log(n)) is acceptable.
+     test_scalability(bigoaddvalue1_helper, 5000, O_N_LOG_N);
+     return true;
+diff -Naur xapian-core.old/tests/api_serialise.cc xapian-core.new/tests/api_serialise.cc
+--- xapian-core.old/tests/api_serialise.cc
++++ xapian-core.new/tests/api_serialise.cc
+@@ -110,6 +110,7 @@
+ 
+ // Test for serialising a document obtained from a database.
+ DEFINE_TESTCASE(serialise_document2, writable) {
++    SKIP_TEST("Fails in darwin nix build environment");
+     Xapian::Document origdoc;
+     origdoc.add_term("foo", 2);
+     origdoc.add_posting("foo", 10);
diff --git a/pkgs/development/libraries/xavs/default.nix b/pkgs/development/libraries/xavs/default.nix
index adace96afad8..31c31164e010 100644
--- a/pkgs/development/libraries/xavs/default.nix
+++ b/pkgs/development/libraries/xavs/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "0drw16wm95dqszpl7j33y4gckz0w0107lnz6wkzb66f0dlbv48cf";
   };
 
+  enableParallelBuilding = true;
+
   patchPhase = ''
     patchShebangs configure
     patchShebangs config.sub
@@ -18,7 +20,16 @@ stdenv.mkDerivation rec {
     patchShebangs tools/patcheck
     patchShebangs tools/regression-test.pl
     patchShebangs tools/xavs-format
-  '';
+    '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace config.guess --replace 'uname -p' 'uname -m'
+    substituteInPlace configure \
+      --replace '-O4' '-O3' \
+      --replace ' -s ' ' ' \
+      --replace 'LDFLAGS -s' 'LDFLAGS' \
+      --replace '-dynamiclib' ' ' \
+      --replace '-falign-loops=16' ' '
+    substituteInPlace Makefile --replace '-Wl,-soname,' ' '
+    '';
 
   configureFlags = [
     "--enable-pic"
@@ -31,7 +42,7 @@ stdenv.mkDerivation rec {
     description = "AVS encoder and decoder";
     homepage    = http://xavs.sourceforge.net/;
     license     = licenses.lgpl2;
-    platforms   = platforms.linux;
+    platforms   = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ codyopel ];
   };
 }
diff --git a/pkgs/development/libraries/xxHash/default.nix b/pkgs/development/libraries/xxHash/default.nix
index cbe32da64457..51f883a020be 100644
--- a/pkgs/development/libraries/xxHash/default.nix
+++ b/pkgs/development/libraries/xxHash/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xxHash-${version}";
-  version = "0.6.4.20171222";
+  version = "0.6.5";
 
   src = fetchFromGitHub {
-    sha256 = "1az5vm14rdc3pa3l0wj180wpii14if16diril3gz8q9ip1215gwj";
-    rev = "7caf8bd76440c75dfe1070d3acfbd7891aea8fca";
-    repo = "xxHash";
     owner = "Cyan4973";
+    repo = "xxHash";
+    rev = "v${version}";
+    sha256 = "137hifc3f3cb4ib64rd6y83arc9hmbyncgrij2v8m94mx66g2aks";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/mobile/cocoapods/Gemfile.lock b/pkgs/development/mobile/cocoapods/Gemfile.lock
index 31820eff7e53..89ba7cec32f7 100644
--- a/pkgs/development/mobile/cocoapods/Gemfile.lock
+++ b/pkgs/development/mobile/cocoapods/Gemfile.lock
@@ -2,50 +2,50 @@ GEM
   remote: https://rubygems.org/
   specs:
     CFPropertyList (3.0.0)
-    activesupport (4.2.10)
+    activesupport (4.2.11)
       i18n (~> 0.7)
       minitest (~> 5.1)
       thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
     atomos (0.1.3)
     claide (1.0.2)
-    cocoapods (1.5.3)
+    cocoapods (1.6.1)
       activesupport (>= 4.0.2, < 5)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.5.3)
+      cocoapods-core (= 1.6.1)
       cocoapods-deintegrate (>= 1.0.2, < 2.0)
-      cocoapods-downloader (>= 1.2.0, < 2.0)
+      cocoapods-downloader (>= 1.2.2, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
       cocoapods-search (>= 1.0.0, < 2.0)
       cocoapods-stats (>= 1.0.0, < 2.0)
-      cocoapods-trunk (>= 1.3.0, < 2.0)
+      cocoapods-trunk (>= 1.3.1, < 2.0)
       cocoapods-try (>= 1.1.0, < 2.0)
       colored2 (~> 3.1)
       escape (~> 0.0.4)
-      fourflusher (~> 2.0.1)
+      fourflusher (>= 2.2.0, < 3.0)
       gh_inspector (~> 1.0)
-      molinillo (~> 0.6.5)
+      molinillo (~> 0.6.6)
       nap (~> 1.0)
-      ruby-macho (~> 1.1)
-      xcodeproj (>= 1.5.7, < 2.0)
-    cocoapods-core (1.5.3)
+      ruby-macho (~> 1.4)
+      xcodeproj (>= 1.8.1, < 2.0)
+    cocoapods-core (1.6.1)
       activesupport (>= 4.0.2, < 6)
       fuzzy_match (~> 2.0.4)
       nap (~> 1.0)
-    cocoapods-deintegrate (1.0.2)
-    cocoapods-downloader (1.2.1)
+    cocoapods-deintegrate (1.0.3)
+    cocoapods-downloader (1.2.2)
     cocoapods-plugins (1.0.0)
       nap
     cocoapods-search (1.0.0)
-    cocoapods-stats (1.0.0)
+    cocoapods-stats (1.1.0)
     cocoapods-trunk (1.3.1)
       nap (>= 0.8, < 2.0)
       netrc (~> 0.11)
     cocoapods-try (1.1.0)
     colored2 (3.1.2)
-    concurrent-ruby (1.0.5)
+    concurrent-ruby (1.1.4)
     escape (0.0.4)
-    fourflusher (2.0.1)
+    fourflusher (2.2.0)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     i18n (0.9.5)
@@ -55,11 +55,11 @@ GEM
     nanaimo (0.2.6)
     nap (1.1.0)
     netrc (0.11.0)
-    ruby-macho (1.2.0)
+    ruby-macho (1.4.0)
     thread_safe (0.3.6)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    xcodeproj (1.6.0)
+    xcodeproj (1.8.1)
       CFPropertyList (>= 2.3.3, < 4.0)
       atomos (~> 0.1.3)
       claide (>= 1.0.2, < 2.0)
@@ -73,4 +73,4 @@ DEPENDENCIES
   cocoapods
 
 BUNDLED WITH
-   1.16.3
+   1.17.2
diff --git a/pkgs/development/mobile/cocoapods/gemset.nix b/pkgs/development/mobile/cocoapods/gemset.nix
index 5fcbe59603b9..8cd829d56abb 100644
--- a/pkgs/development/mobile/cocoapods/gemset.nix
+++ b/pkgs/development/mobile/cocoapods/gemset.nix
@@ -1,12 +1,14 @@
 {
   activesupport = {
     dependencies = ["i18n" "minitest" "thread_safe" "tzinfo"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s12j8vl8vrxfngkdlz9g8bpz9akq1z42d57mx5r537b2pji8nr7";
+      sha256 = "0pqr25wmhvvlg8av7bi5p5c7r5464clhhhhv45j63bh7xw4ad6n4";
       type = "gem";
     };
-    version = "4.2.10";
+    version = "4.2.11";
   };
   atomos = {
     source = {
@@ -34,37 +36,45 @@
   };
   cocoapods = {
     dependencies = ["activesupport" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-stats" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x5cz19p0j9k1hvn35lxnv3dn8i65n4qvi5nzjaf53pdgh52401h";
+      sha256 = "0sjipdbybs2ikjz9drpwfq1msisha3cbf3508ywaj5w3i481av37";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.6.1";
   };
   cocoapods-core = {
     dependencies = ["activesupport" "fuzzy_match" "nap"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xnxcd2xnvf60f8w27glq5jcn9wdhzch9nkdb24ihhmpxfgj3f39";
+      sha256 = "03g31gn8k9q8ky1qhg9i2xawg6xdpl8x3mq4fdah17jclsg8y0sh";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "1.6.1";
   };
   cocoapods-deintegrate = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10b49glw3jd0r1vj36zb0vz2idwgziq8qgzf7yjkrsm41xm098zz";
+      sha256 = "0m3hi4va9cr7anxkjf44as14j1hsrvw00bzvz7c906hyb8qcm4fp";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.3";
   };
   cocoapods-downloader = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g1v3k52g2mjlml8miq06c61764lqdy0gc0h2f4ymajz0pqg1zik";
+      sha256 = "09fd4zaqkz8vz3djplacngcs4n0j6j956wgq43s1y6bwl0zyjmd3";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.2";
   };
   cocoapods-plugins = {
     dependencies = ["nap"];
@@ -84,12 +94,14 @@
     version = "1.0.0";
   };
   cocoapods-stats = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sfcwq2vq6cadj1811jdjys3d28pmk2r2a83px6w94rz6i19axid";
+      sha256 = "1xhdh5v94p6l612rwrk290nd2hdfx8lbaqfbkmj34md218kilqww";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.1.0";
   };
   cocoapods-trunk = {
     dependencies = ["nap" "netrc"];
@@ -117,12 +129,14 @@
     version = "3.1.2";
   };
   concurrent-ruby = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf";
+      sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1";
       type = "gem";
     };
-    version = "1.0.5";
+    version = "1.1.4";
   };
   escape = {
     source = {
@@ -133,12 +147,14 @@
     version = "0.0.4";
   };
   fourflusher = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dzmkxyzrk475c1yk5zddwhhj28b6fnj4jkk1h5gr1c2mrar72d5";
+      sha256 = "1d2ksz077likjv8dcxy1rnqcjallbfa7yk2wvix3228gq7a4jkq3";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.2.0";
   };
   fuzzy_match = {
     source = {
@@ -206,12 +222,14 @@
     version = "0.11.0";
   };
   ruby-macho = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xi0ll217h3caiamplqaypmipmrkriqrvmq207ngyzhgmh1jfc8q";
+      sha256 = "0lhdjn91jkifsy2hzq2hgcm0pp8pbik87m58zmw1ifh6hkp9adjb";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.4.0";
   };
   thread_safe = {
     source = {
@@ -232,11 +250,13 @@
   };
   xcodeproj = {
     dependencies = ["CFPropertyList" "atomos" "claide" "colored2" "nanaimo"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f4shbzff3wsk1jq0v9bs10496qdx69k2jfpf11p4q2ik3jdnsv7";
+      sha256 = "13z3109lwq632vhazndqjlccpwadljg58sflbyl0m57j9d4blv2y";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.8.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/mobile/cocoapods/update b/pkgs/development/mobile/cocoapods/update
index 58a7bd4a4539..8215d1abe4fd 100755
--- a/pkgs/development/mobile/cocoapods/update
+++ b/pkgs/development/mobile/cocoapods/update
@@ -1,10 +1,11 @@
 #!/usr/bin/env nix-shell
 #! nix-shell -i bash -p bash ruby bundler bundix
 
-rm Gemfile.lock
-bundler install
-bundix
+BUNDIX_CACHE="$(mktemp -d)"
 
-if [ "clean" == "$1" ]; then
-  rm -rf ~/.gem
-fi
+rm -f Gemfile.lock
+bundler package --path "$BUNDIX_CACHE"
+bundix --bundle-pack-path="$BUNDIX_CACHE"
+
+rm -rf "$BUNDIX_CACHE"
+rm -rf .bundle
diff --git a/pkgs/development/mobile/titaniumenv/build-app.nix b/pkgs/development/mobile/titaniumenv/build-app.nix
index aac94fe6130b..b3c8d380819c 100644
--- a/pkgs/development/mobile/titaniumenv/build-app.nix
+++ b/pkgs/development/mobile/titaniumenv/build-app.nix
@@ -173,7 +173,7 @@ stdenv.mkDerivation ({
         echo "file binary-dist \"$(echo $out/*.ipa)\"" > $out/nix-support/hydra-build-products
 
         ${stdenv.lib.optionalString enableWirelessDistribution ''
-          appname="$(basename "$out/*.ipa" .ipa)"
+          appname="$(basename $out/*.ipa .ipa)"
           bundleId=$(grep '<id>[a-zA-Z0-9.]*</id>' tiapp.xml | sed -e 's|<id>||' -e 's|</id>||' -e 's/ //g')
           version=$(grep '<version>[a-zA-Z0-9.]*</version>' tiapp.xml | sed -e 's|<version>||' -e 's|</version>||' -e 's/ //g')
 
diff --git a/pkgs/development/mobile/xcodeenv/build-app.nix b/pkgs/development/mobile/xcodeenv/build-app.nix
index b88f806d5866..05ddf5366c72 100644
--- a/pkgs/development/mobile/xcodeenv/build-app.nix
+++ b/pkgs/development/mobile/xcodeenv/build-app.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation ({
             <string>${codeSignIdentity}</string>
             <key>provisioningProfiles</key>
             <dict>
-                <key>${stdenv.lib.toLower bundleId}</key>
+                <key>${bundleId}</key>
                 <string>$PROVISIONING_PROFILE</string>
             </dict>
             <key>signingStyle</key>
@@ -129,9 +129,9 @@ stdenv.mkDerivation ({
 
         ${stdenv.lib.optionalString enableWirelessDistribution ''
           # Add another hacky build product that enables wireless adhoc installations
-          appname="$(basename "$out/*.ipa" .ipa)"
-          sed -e "s|@INSTALL_URL@|${installURL}?bundleId=${bundleId}\&amp;version=${appVersion}\&amp;title=$appname|" ${./install.html.template} > $out/$appname.html
-          echo "doc install \"$out/$appname.html\"" >> $out/nix-support/hydra-build-products
+          appname="$(basename "$(echo $out/*.ipa)" .ipa)"
+          sed -e "s|@INSTALL_URL@|${installURL}?bundleId=${bundleId}\&amp;version=${appVersion}\&amp;title=$appname|" ${./install.html.template} > $out/''${appname}.html
+          echo "doc install \"$out/''${appname}.html\"" >> $out/nix-support/hydra-build-products
         ''}
       ''}
       ${stdenv.lib.optionalString generateXCArchive ''
diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix
index e3e056f54426..c6047f4ea1b7 100644
--- a/pkgs/development/ocaml-modules/atd/default.nix
+++ b/pkgs/development/ocaml-modules/atd/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "atd";
   version = "2.0.0";
 
+  minimumOCamlVersion = "4.02";
+
   src = fetchFromGitHub {
     owner = "mjambon";
     repo = pname;
diff --git a/pkgs/development/ocaml-modules/bisect_ppx-ocamlbuild/default.nix b/pkgs/development/ocaml-modules/bisect_ppx-ocamlbuild/default.nix
index fd3e7d58ae31..38673fb9ddc4 100644
--- a/pkgs/development/ocaml-modules/bisect_ppx-ocamlbuild/default.nix
+++ b/pkgs/development/ocaml-modules/bisect_ppx-ocamlbuild/default.nix
@@ -1,6 +1,7 @@
 { buildDunePackage, bisect_ppx, ocamlbuild }:
 
 buildDunePackage rec {
+  minimumOCamlVersion = "4.02";
   inherit (bisect_ppx) version src meta;
   pname = "bisect_ppx-ocamlbuild";
   propagatedBuildInputs = [ ocamlbuild ];
diff --git a/pkgs/development/ocaml-modules/dtoa/default.nix b/pkgs/development/ocaml-modules/dtoa/default.nix
index a5164ab7fa9b..87d9ac7a324d 100644
--- a/pkgs/development/ocaml-modules/dtoa/default.nix
+++ b/pkgs/development/ocaml-modules/dtoa/default.nix
@@ -4,7 +4,7 @@ buildDunePackage rec {
   pname = "dtoa";
   version = "0.3.1";
 
-  minimumOCamlVersion = "4.01";
+  minimumOCamlVersion = "4.02";
 
   src = fetchurl {
     url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/lablgtk3/default.nix b/pkgs/development/ocaml-modules/lablgtk3/default.nix
index 9f2227327e49..8da00b76393a 100644
--- a/pkgs/development/ocaml-modules/lablgtk3/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk3/default.nix
@@ -1,27 +1,38 @@
-{ stdenv, fetchurl, pkgconfig, ocaml, findlib, gtk3, gtkspell3, gtksourceview }:
+{ stdenv,lib, fetchFromGitHub, pkgconfig, ocaml, findlib, dune, gtk3, cairo2 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.05"
+if !lib.versionAtLeast ocaml.version "4.05"
 then throw "lablgtk3 is not available for OCaml ${ocaml.version}"
 else
 
+# This package uses the dune.configurator library
+# It thus needs said library to be compiled with this OCaml compiler
+let __dune = dune; in
+let dune = __dune.override { ocamlPackages = { inherit ocaml findlib; }; }; in
+
 stdenv.mkDerivation rec {
-  version = "3.0.beta3";
-  name = "ocaml${ocaml.version}-lablgtk3-${version}";
-  src = fetchurl {
-    url = https://forge.ocamlcore.org/frs/download.php/1775/lablgtk-3.0.beta3.tar.gz;
-    sha256 = "174mwwdz1s91a6ycbas7nc0g87c2l6zqv68zi5ab33yb76l46a6w";
+  version = "3.0.beta4";
+  pname = "lablgtk3";
+  name = "ocaml${ocaml.version}-${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "garrigue";
+    repo = "lablgtk";
+    rev = version;
+    sha256 = "1lppb7k4xb1a35i7klm9mz98hw8l2f8s7rivgzysi1sviqy1ds5d";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ ocaml findlib gtk3 gtkspell3 gtksourceview ];
+  buildInputs = [ ocaml findlib dune gtk3 ];
+  propagatedBuildInputs = [ cairo2 ];
 
-  buildFlags = "world";
+  buildPhase = "dune build -p ${pname}";
+  inherit (dune) installPhase;
 
   meta = {
     description = "OCaml interface to gtk+-3";
     homepage = "http://lablgtk.forge.ocamlcore.org/";
-    license = stdenv.lib.licenses.lgpl21;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = lib.licenses.lgpl21;
+    maintainers = [ lib.maintainers.vbgl ];
     inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix b/pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix
new file mode 100644
index 000000000000..7e898be74901
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix
@@ -0,0 +1,8 @@
+{ buildDunePackage, gtkspell3, lablgtk3 }:
+
+buildDunePackage rec {
+  pname = "lablgtk3-gtkspell3";
+  buildInputs = [ gtkspell3 ] ++ lablgtk3.buildInputs;
+  propagatedBuildInputs = [ lablgtk3 ];
+  inherit (lablgtk3) src version meta nativeBuildInputs;
+}
diff --git a/pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix b/pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix
new file mode 100644
index 000000000000..7e8807576eeb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix
@@ -0,0 +1,9 @@
+{ stdenv, ocaml, gtksourceview, lablgtk3 }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-lablgtk3-sourceview3-${version}";
+  buildPhase = "dune build -p lablgtk3-sourceview3";
+  buildInputs = lablgtk3.buildInputs ++ [ gtksourceview ];
+  propagatedBuildInputs = [ lablgtk3 ];
+  inherit (lablgtk3) src version meta nativeBuildInputs installPhase;
+}
diff --git a/pkgs/development/ocaml-modules/opti/default.nix b/pkgs/development/ocaml-modules/opti/default.nix
index 7b084e61688b..f6552d57683f 100644
--- a/pkgs/development/ocaml-modules/opti/default.nix
+++ b/pkgs/development/ocaml-modules/opti/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "opti";
   version = "1.0.3";
 
+  minimumOCamlVersion = "4.02";
+
   src = fetchurl {
     url = "https://github.com/magnusjonsson/opti/releases/download/${version}/opti-${version}.tbz";
     sha256 = "ed9ba56dc06e9d2b1bf097964cc65ea37db787d4f239c13d0dd74693f5b50a1e";
diff --git a/pkgs/development/ocaml-modules/wtf8/default.nix b/pkgs/development/ocaml-modules/wtf8/default.nix
index 7f3686abb51a..4c820d13808d 100644
--- a/pkgs/development/ocaml-modules/wtf8/default.nix
+++ b/pkgs/development/ocaml-modules/wtf8/default.nix
@@ -4,7 +4,7 @@ buildDunePackage rec {
   pname = "wtf8";
   version = "1.0.1";
 
-  minimumOCamlVersion = "4.01";
+  minimumOCamlVersion = "4.02";
 
   src = fetchurl {
     url = "https://github.com/flowtype/ocaml-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
diff --git a/pkgs/development/python-modules/aafigure/default.nix b/pkgs/development/python-modules/aafigure/default.nix
index 0ee617a1be6d..d75511f8d4cf 100644
--- a/pkgs/development/python-modules/aafigure/default.nix
+++ b/pkgs/development/python-modules/aafigure/default.nix
@@ -26,6 +26,6 @@ buildPythonPackage rec {
     homepage = https://launchpad.net/aafigure/;
     license = licenses.bsd2;
     maintainers = with maintainers; [ bjornfor ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/actdiag/default.nix b/pkgs/development/python-modules/actdiag/default.nix
index 27a9a455c47f..34d4c2a37a70 100644
--- a/pkgs/development/python-modules/actdiag/default.nix
+++ b/pkgs/development/python-modules/actdiag/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     description = "Generate activity-diagram image from spec-text file (similar to Graphviz)";
     homepage = http://blockdiag.com/;
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/aioimaplib/default.nix b/pkgs/development/python-modules/aioimaplib/default.nix
index 594012693936..9003618a0fdc 100644
--- a/pkgs/development/python-modules/aioimaplib/default.nix
+++ b/pkgs/development/python-modules/aioimaplib/default.nix
@@ -1,24 +1,24 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder, isPy36
 , nose, asynctest, mock, pytz, tzlocal, imaplib2, docutils, pyopenssl }:
 
 buildPythonPackage rec {
   pname = "aioimaplib";
-  version = "0.7.14";
+  version = "0.7.15";
 
   # PyPI tarball doesn't ship tests
   src = fetchFromGitHub {
     owner = "bamthomas";
     repo = pname;
     rev = version;
-    sha256 = "150v3czh53sqakfqgjyj1w39mdfcxmpnrk2pbmq63jkq7r6njl0l";
+    sha256 = "15nny3y8pwaizq1zmkg43ym5jszk2hs010z12yn2d0j1fibymwbj";
   };
 
-  disabled = pythonOlder "3.4";
+  disabled = !(isPy3k && pythonOlder "3.7");
 
   checkInputs = [ nose asynctest mock pytz tzlocal imaplib2 docutils pyopenssl ];
 
   # https://github.com/bamthomas/aioimaplib/issues/35
-  doCheck = false;
+  doCheck = !isPy36;
 
   meta = with lib; {
     description = "Python asyncio IMAP4rev1 client library";
diff --git a/pkgs/development/python-modules/altair/default.nix b/pkgs/development/python-modules/altair/default.nix
index 2714c8dc8e30..544be4f67dd6 100644
--- a/pkgs/development/python-modules/altair/default.nix
+++ b/pkgs/development/python-modules/altair/default.nix
@@ -32,6 +32,6 @@ buildPythonPackage rec {
     homepage = https://github.com/altair-viz/altair;
     license = licenses.bsd3;
     maintainers = with maintainers; [ teh ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/asn1ate/default.nix b/pkgs/development/python-modules/asn1ate/default.nix
index 29dae1fd663a..6af5b3da8808 100644
--- a/pkgs/development/python-modules/asn1ate/default.nix
+++ b/pkgs/development/python-modules/asn1ate/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Python library for translating ASN.1 into other forms";
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ leenaars ];
   };
 }
diff --git a/pkgs/development/python-modules/beanstalkc/default.nix b/pkgs/development/python-modules/beanstalkc/default.nix
index 9ac9cf831eb3..e83a9f67789c 100644
--- a/pkgs/development/python-modules/beanstalkc/default.nix
+++ b/pkgs/development/python-modules/beanstalkc/default.nix
@@ -1,14 +1,18 @@
-{ stdenv, fetchPypi, buildPythonPackage }:
+{ stdenv, fetchFromGitHub, buildPythonPackage }:
 
 buildPythonPackage rec {
   pname = "beanstalkc";
-  version = "0.4.0";
+  version = "0.5.2";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "98978e57797320146f4b233286d9a02f65d20bad0168424118839fc608085280";
+  src = fetchFromGitHub {
+    owner = "bosondata";
+    repo = "beanstalkc";
+    rev = "v${version}";
+    sha256 = "1dpb1yimp2pfnikmgsb2fr9x6h8riixlsx3xfqphnfvrid49vw5s";
   };
 
+  doCheck = false;
+
   meta = {
     description = "A simple beanstalkd client library for Python";
     maintainers = with stdenv.lib.maintainers; [ aanderse ];
diff --git a/pkgs/development/python-modules/bitstring/default.nix b/pkgs/development/python-modules/bitstring/default.nix
index 8e54e3bbde72..23f4257a3574 100644
--- a/pkgs/development/python-modules/bitstring/default.nix
+++ b/pkgs/development/python-modules/bitstring/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     description = "Module for binary data manipulation";
     homepage = "https://github.com/scott-griffiths/bitstring";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/contextvars/default.nix b/pkgs/development/python-modules/contextvars/default.nix
index 12914617b8f5..27ee2fc82f9e 100644
--- a/pkgs/development/python-modules/contextvars/default.nix
+++ b/pkgs/development/python-modules/contextvars/default.nix
@@ -10,6 +10,8 @@ buildPythonPackage rec {
     sha256 = "09fnni8cyxm070bfv9ay030qbyk0dfds5nq77s0p38h33hp08h93";
   };
 
+  # pull request for this patch is https://github.com/MagicStack/contextvars/pull/9
+  patches = [ ./immutables_version.patch ];
   propagatedBuildInputs = [ immutables ];
 
   meta = {
diff --git a/pkgs/development/python-modules/contextvars/immutables_version.patch b/pkgs/development/python-modules/contextvars/immutables_version.patch
new file mode 100644
index 000000000000..733c0502a665
--- /dev/null
+++ b/pkgs/development/python-modules/contextvars/immutables_version.patch
@@ -0,0 +1,11 @@
+--- ./setup.py	2018-07-30 15:40:14.000000000 +0000
++++ ./setup.py	2019-02-12 18:33:24.984430303 +0000
+@@ -17,7 +17,7 @@
+     packages=['contextvars'],
+     provides=['contextvars'],
+     install_requires=[
+-        'immutables==0.6',
++        'immutables>=0.6',
+     ],
+     license='Apache License, Version 2.0',
+     classifiers=[
diff --git a/pkgs/development/python-modules/dask-mpi/default.nix b/pkgs/development/python-modules/dask-mpi/default.nix
new file mode 100644
index 000000000000..1bba260e2a03
--- /dev/null
+++ b/pkgs/development/python-modules/dask-mpi/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, dask
+, distributed
+, mpi4py
+, pytest
+, requests
+}:
+
+buildPythonPackage rec {
+  version = "1.0.2";
+  pname = "dask-mpi";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1apzzh90gl9jx43z0gjmgpniplhvqziafi2l8688a0g01vw7ibjv";
+  };
+
+  checkInputs = [ pytest requests ];
+  propagatedBuildInputs = [ dask distributed mpi4py ];
+
+  checkPhase = ''
+    py.test dask_mpi
+  '';
+
+  # hardcoded mpirun path in tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dask/dask-mpi;
+    description = "Deploy Dask using mpi4py";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/filebrowser_safe/default.nix b/pkgs/development/python-modules/filebrowser_safe/default.nix
index 8e95d1e413e4..d0d324fb9774 100644
--- a/pkgs/development/python-modules/filebrowser_safe/default.nix
+++ b/pkgs/development/python-modules/filebrowser_safe/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     downloadPage = https://pypi.python.org/pypi/filebrowser_safe/;
     license = licenses.free;
     maintainers = with maintainers; [ prikhi ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/grappelli_safe/default.nix b/pkgs/development/python-modules/grappelli_safe/default.nix
index bbba074b3f52..7c115b58d32f 100644
--- a/pkgs/development/python-modules/grappelli_safe/default.nix
+++ b/pkgs/development/python-modules/grappelli_safe/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     downloadPage = http://pypi.python.org/pypi/grappelli_safe/;
     license = licenses.free;
     maintainers = with maintainers; [ prikhi ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/gumath/default.nix b/pkgs/development/python-modules/gumath/default.nix
new file mode 100644
index 000000000000..b066f323d682
--- /dev/null
+++ b/pkgs/development/python-modules/gumath/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, numba
+, ndtypes
+, xnd
+, libndtypes
+, libxnd
+, libgumath
+, isPy27
+}:
+
+buildPythonPackage {
+  pname = "gumath";
+  disabled = isPy27;
+  inherit (libgumath) src version meta;
+
+  checkInputs = [ numba ];
+  propagatedBuildInputs = [ ndtypes xnd ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'add_include_dirs = [".", "libgumath", "ndtypes/python/ndtypes", "xnd/python/xnd"] + INCLUDES' \
+                'add_include_dirs = [".", "${libndtypes}/include", "${libxnd}/include", "${libgumath}/include"]' \
+      --replace 'add_library_dirs = ["libgumath", "ndtypes/libndtypes", "xnd/libxnd"] + LIBS' \
+                'add_library_dirs = ["${libndtypes}/lib", "${libxnd}/lib", "${libgumath}/lib"]' \
+      --replace 'add_runtime_library_dirs = ["$ORIGIN"]' \
+                'add_runtime_library_dirs = ["${libndtypes}/lib", "${libxnd}/lib", "${libgumath}/lib"]'
+  '';
+}
diff --git a/pkgs/development/python-modules/i3-py/default.nix b/pkgs/development/python-modules/i3-py/default.nix
index e433cd51c20c..ea6e449947c5 100644
--- a/pkgs/development/python-modules/i3-py/default.nix
+++ b/pkgs/development/python-modules/i3-py/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     description = "Tools for i3 users and developers";
     homepage =  "https://github.com/ziberna/i3-py";
     license = licenses.gpl3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/ifaddr/default.nix b/pkgs/development/python-modules/ifaddr/default.nix
index db0b8301f008..5bc281d2be1e 100644
--- a/pkgs/development/python-modules/ifaddr/default.nix
+++ b/pkgs/development/python-modules/ifaddr/default.nix
@@ -7,24 +7,18 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.1.4";
+  version = "0.1.6";
   pname = "ifaddr";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    sha256 = "cf2a8fbb578da2844d999a0a453825f660ed2d3fc47dcffc5f673dd8de4f0f8b";
+    sha256 = "c19c64882a7ad51a394451dabcbbed72e98b5625ec1e79789924d5ea3e3ecb93";
   };
 
-  # ipaddress is provided in python stdlib > 3.3
-  postPatch = if pythonOlder "3.4" then "" else ''
-    sed -i "s/'ipaddress'//" setup.py
-  '';
-
   propagatedBuildInputs = [ ipaddress ];
 
   checkPhase = ''
-   ${python.interpreter} ifaddr/test_ifaddr.py
+   ${python.interpreter} -m unittest discover
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/imageio-ffmpeg/default.nix b/pkgs/development/python-modules/imageio-ffmpeg/default.nix
new file mode 100644
index 000000000000..f72698fd0d13
--- /dev/null
+++ b/pkgs/development/python-modules/imageio-ffmpeg/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "imageio-ffmpeg";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    sha256 = "191k77hd69lfmd8p4w02c2ajjdsall6zijn01gyhqi11n48wpsib";
+    inherit pname version;
+  };
+
+  disabled = !isPy3k;
+
+  # No test infrastructure in repository.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "FFMPEG wrapper for Python";
+    homepage = https://github.com/imageio/imageio-ffmpeg;
+    license = licenses.bsd2;
+    maintainers = [ maintainers.pmiddend ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix
index 9662007118de..f7b3ff63c53c 100644
--- a/pkgs/development/python-modules/imageio/default.nix
+++ b/pkgs/development/python-modules/imageio/default.nix
@@ -1,11 +1,14 @@
 { stdenv
 , buildPythonPackage
+, pathlib
 , fetchPypi
 , pillow
 , psutil
+, imageio-ffmpeg
 , pytest
 , numpy
 , isPy3k
+, ffmpeg
 , futures
 , enum34
 }:
@@ -15,14 +18,17 @@ buildPythonPackage rec {
   version = "2.5.0";
 
   src = fetchPypi {
-    sha256 = "42e65aadfc3d57a1043615c92bdf6319b67589e49a0aae2b985b82144aceacad";
+    sha256 = "1bdcrr5190jvk0msw2lswj4pbdhrcggjpj8m6q2a2mrxzjnmmrj2";
     inherit pname version;
   };
 
-  checkInputs = [ pytest psutil ];
+  checkInputs = [ pytest psutil ] ++ stdenv.lib.optionals isPy3k [
+    imageio-ffmpeg ffmpeg
+    ];
   propagatedBuildInputs = [ numpy pillow ] ++ stdenv.lib.optionals (!isPy3k) [
     futures
     enum34
+    pathlib
   ];
 
   checkPhase = ''
@@ -34,8 +40,12 @@ buildPythonPackage rec {
 
   # For some reason, importing imageio also imports xml on Nix, see
   # https://github.com/imageio/imageio/issues/395
+
+  # Also, there are tests that test the downloading of ffmpeg if it's not installed.
+  # "Uncomment" those by renaming.
   postPatch = ''
-    substituteInPlace tests/test_meta.py --replace '"urllib",' "\"urllib\",\"xml\""
+    substituteInPlace tests/test_meta.py --replace '"urllib",' "\"urllib\",\"xml\","
+    substituteInPlace tests/test_ffmpeg.py --replace 'test_get_exe_installed' 'get_exe_installed'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/imread/default.nix b/pkgs/development/python-modules/imread/default.nix
index 9a67568d9e52..d65010732ca5 100644
--- a/pkgs/development/python-modules/imread/default.nix
+++ b/pkgs/development/python-modules/imread/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     homepage = https://imread.readthedocs.io/en/latest/;
     maintainers = with maintainers; [ luispedro ];
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/isbnlib/default.nix b/pkgs/development/python-modules/isbnlib/default.nix
index 012bab56ab6e..10d57d7264b6 100644
--- a/pkgs/development/python-modules/isbnlib/default.nix
+++ b/pkgs/development/python-modules/isbnlib/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "isbnlib";
-  version = "3.9.5";
+  version = "3.9.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f500a0561b83a2982d3424d640243d05bda9716f4fe9a655e331f3a07ca02710";
+    sha256 = "d4ae098cb31d6c678a6eac074a24f8ba4adfe7df65db13b0b2ab7355f28d6e3b";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/koji/default.nix b/pkgs/development/python-modules/koji/default.nix
index 86e677a03374..033ab8211350 100644
--- a/pkgs/development/python-modules/koji/default.nix
+++ b/pkgs/development/python-modules/koji/default.nix
@@ -25,6 +25,6 @@ buildPythonPackage rec {
 
   meta = {
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/libais/default.nix b/pkgs/development/python-modules/libais/default.nix
index 5261a7b65642..2fbe7207f4f7 100644
--- a/pkgs/development/python-modules/libais/default.nix
+++ b/pkgs/development/python-modules/libais/default.nix
@@ -20,6 +20,6 @@ buildPythonPackage rec {
     homepage = https://github.com/schwehr/libais;
     description = "Library for decoding maritime Automatic Identification System messages";
     license = licenses.asl20;
-    platforms = platforms.linux;  # It currently fails to build on darwin
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/libsavitar/default.nix b/pkgs/development/python-modules/libsavitar/default.nix
index 9f78b9994509..52760420b83c 100644
--- a/pkgs/development/python-modules/libsavitar/default.nix
+++ b/pkgs/development/python-modules/libsavitar/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     description = "C++ implementation of 3mf loading with SIP python bindings";
     homepage = https://github.com/Ultimaker/libSavitar;
     license = licenses.lgpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar orivej ];
   };
 }
diff --git a/pkgs/development/python-modules/mahotas/default.nix b/pkgs/development/python-modules/mahotas/default.nix
index 9ba6698e4a0f..34e2260109be 100644
--- a/pkgs/development/python-modules/mahotas/default.nix
+++ b/pkgs/development/python-modules/mahotas/default.nix
@@ -28,6 +28,6 @@ buildPythonPackage rec {
     homepage = http://mahotas.readthedocs.io/;
     maintainers = with maintainers; [ luispedro ];
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/mezzanine/default.nix b/pkgs/development/python-modules/mezzanine/default.nix
index 1a7478b266ab..a831618134bc 100644
--- a/pkgs/development/python-modules/mezzanine/default.nix
+++ b/pkgs/development/python-modules/mezzanine/default.nix
@@ -64,7 +64,7 @@ buildPythonPackage rec {
     downloadPage = https://github.com/stephenmcd/mezzanine/releases;
     license = licenses.free;
     maintainers = with maintainers; [ prikhi ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/moretools/default.nix b/pkgs/development/python-modules/moretools/default.nix
index b5f5c1379bcf..9cb56b1f9128 100644
--- a/pkgs/development/python-modules/moretools/default.nix
+++ b/pkgs/development/python-modules/moretools/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     '';
     homepage = https://bitbucket.org/userzimmermann/python-moretools;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index 09b05f4ab0fc..d3535589911c 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -13,11 +13,18 @@ buildPythonPackage rec {
     inherit mpi;
   };
 
-  patches = [ (fetchpatch {
-    # Disable tests failing with 3.1.x and MPI_THREAD_MULTIPLE
-    url = "https://bitbucket.org/mpi4py/mpi4py/commits/c2b6b7e642a182f9b00a2b8e9db363214470548a/raw";
-    sha256 = "0n6bz3kj4vcqb6q7d0mlj5vl6apn7i2bvfc9mpg59vh3wy47119q";
+  patches = [
+    (fetchpatch {
+      # Disable tests failing with 3.1.x and MPI_THREAD_MULTIPLE (upstream patch)
+      url = "https://bitbucket.org/mpi4py/mpi4py/commits/c2b6b7e642a182f9b00a2b8e9db363214470548a/raw";
+      sha256 = "0n6bz3kj4vcqb6q7d0mlj5vl6apn7i2bvfc9mpg59vh3wy47119q";
     })
+    (fetchpatch {
+      # Open MPI: Workaround removal of MPI_{LB|UB} (upstream patch)
+      url = "https://bitbucket.org/mpi4py/mpi4py/commits/39ca784226460f9e519507269ebb29635dc8bd90/raw";
+      sha256 = "02kxikdlsrlq8yr5hca42536mxbrq4k4j8nqv7p1p2r0q21a919q";
+    })
+
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/ndtypes/default.nix b/pkgs/development/python-modules/ndtypes/default.nix
new file mode 100644
index 000000000000..2110f3628a80
--- /dev/null
+++ b/pkgs/development/python-modules/ndtypes/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, libndtypes
+, isPy27
+}:
+
+buildPythonPackage {
+  pname = "ndtypes";
+  disabled = isPy27;
+  inherit (libndtypes) version src meta;
+
+  propagatedBuildInputs = [ numpy ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'include_dirs = ["libndtypes"]' \
+                'include_dirs = ["${libndtypes}/include"]' \
+      --replace 'library_dirs = ["libndtypes"]' \
+                'library_dirs = ["${libndtypes}/lib"]' \
+      --replace 'runtime_library_dirs = ["$ORIGIN"]' \
+                'runtime_library_dirs = ["${libndtypes}/lib"]'
+  '';
+
+  postInstall = ''
+    mkdir $out/include
+    cp python/ndtypes/*.h $out/include
+  '';
+}
diff --git a/pkgs/development/python-modules/nwdiag/default.nix b/pkgs/development/python-modules/nwdiag/default.nix
index 2b37bab525e7..7fb1de53dbd9 100644
--- a/pkgs/development/python-modules/nwdiag/default.nix
+++ b/pkgs/development/python-modules/nwdiag/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     description = "Generate network-diagram image from spec-text file (similar to Graphviz)";
     homepage = http://blockdiag.com/;
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/oauth2/default.nix b/pkgs/development/python-modules/oauth2/default.nix
index e01ef7c902d9..09bde0cfa7c8 100644
--- a/pkgs/development/python-modules/oauth2/default.nix
+++ b/pkgs/development/python-modules/oauth2/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     description = "Library for OAuth version 1.0";
     license = licenses.mit;
     maintainers = with maintainers; [ garbas ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/openant/default.nix b/pkgs/development/python-modules/openant/default.nix
index 9b88a71c5cc0..116ba717add6 100644
--- a/pkgs/development/python-modules/openant/default.nix
+++ b/pkgs/development/python-modules/openant/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/Tigge/openant";
     description = "ANT and ANT-FS Python Library";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index 5073b91f82ea..5cf8341ffa31 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     homepage = https://github.com/mfenniak/pg8000;
     description = "PostgreSQL interface library, for asyncio";
     maintainers = with maintainers; [ garbas domenkozar ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/plyvel/default.nix b/pkgs/development/python-modules/plyvel/default.nix
index bb0b56b1e9c0..9ce01c098fd4 100644
--- a/pkgs/development/python-modules/plyvel/default.nix
+++ b/pkgs/development/python-modules/plyvel/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Fast and feature-rich Python interface to LevelDB";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     homepage = https://github.com/wbolster/plyvel;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index d7bd3eba1fe6..c25b7e836343 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     homepage    = https://github.com/balloob/pychromecast;
     license     = licenses.mit;
     maintainers = with maintainers; [ abbradar ];
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix
index ed4074d14420..5749724162e0 100644
--- a/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/pkgs/development/python-modules/pyhomematic/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyhomematic";
-  version = "0.1.55";
+  version = "0.1.56";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fea3238d87ad6f9a7b26c8c779e27ae7332a42e08f6cf38e9e28af97edbfc409";
+    sha256 = "ca9f222b99d80be4b7ef8a4427ab55368d14914a0516623e66d1da7563919169";
   };
 
   # PyPI tarball does not include tests/ directory
diff --git a/pkgs/development/python-modules/pyicu/default.nix b/pkgs/development/python-modules/pyicu/default.nix
index 4b984566e919..d0db3c6ed838 100644
--- a/pkgs/development/python-modules/pyicu/default.nix
+++ b/pkgs/development/python-modules/pyicu/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     homepage = https://pypi.python.org/pypi/PyICU/;
     description = "Python extension wrapping the ICU C++ API";
     license = licenses.mit;
-    platforms = platforms.linux; # Maybe other non-darwin Unix
+    platforms = platforms.unix;
     maintainers = [ maintainers.rycee ];
   };
 
diff --git a/pkgs/development/python-modules/pyinputevent/default.nix b/pkgs/development/python-modules/pyinputevent/default.nix
index 6eeeeb20c005..153b5701b267 100644
--- a/pkgs/development/python-modules/pyinputevent/default.nix
+++ b/pkgs/development/python-modules/pyinputevent/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/ntzrmtthihu777/pyinputevent";
     description = "Python interface to the Input Subsystem's input_event and uinput";
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/python-modules/pyodbc/default.nix b/pkgs/development/python-modules/pyodbc/default.nix
index c0e3fb51920e..428ec1d46b89 100644
--- a/pkgs/development/python-modules/pyodbc/default.nix
+++ b/pkgs/development/python-modules/pyodbc/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     description = "Python ODBC module to connect to almost any database";
     homepage = "https://github.com/mkleehammer/pyodbc";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index 16805ac58c04..9f8103b06065 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -17,6 +17,6 @@ buildPythonPackage rec {
     homepage = https://github.com/svinota/pyroute2;
     license = licenses.asl20;
     maintainers = [maintainers.mic92];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pyrtlsdr/default.nix b/pkgs/development/python-modules/pyrtlsdr/default.nix
index a86badb3bca8..0bb240310847 100644
--- a/pkgs/development/python-modules/pyrtlsdr/default.nix
+++ b/pkgs/development/python-modules/pyrtlsdr/default.nix
@@ -41,7 +41,7 @@ buildPythonPackage rec {
     description = "Python wrapper for librtlsdr (a driver for Realtek RTL2832U based SDR's)";
     homepage = https://github.com/roger-/pyrtlsdr;
     license = licenses.gpl3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/pyside/apiextractor.nix b/pkgs/development/python-modules/pyside/apiextractor.nix
index 62ff439afbbf..d9168f291c02 100644
--- a/pkgs/development/python-modules/pyside/apiextractor.nix
+++ b/pkgs/development/python-modules/pyside/apiextractor.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation {
     description = "Eases the development of bindings of Qt-based libraries for high level languages by automating most of the process";
     license = stdenv.lib.licenses.gpl2;
     homepage = http://www.pyside.org/docs/apiextractor/;
-    maintainers = [ stdenv.lib.maintainers.chaoflow ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/python-modules/pyside/default.nix b/pkgs/development/python-modules/pyside/default.nix
index e6ac4281362a..fdfd1168352c 100644
--- a/pkgs/development/python-modules/pyside/default.nix
+++ b/pkgs/development/python-modules/pyside/default.nix
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     description = "LGPL-licensed Python bindings for the Qt cross-platform application and UI framework";
     license = lib.licenses.lgpl21;
     homepage = http://www.pyside.org;
-    maintainers = [ lib.maintainers.chaoflow ];
+    maintainers = [ ];
     broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/pyside/generatorrunner.nix b/pkgs/development/python-modules/pyside/generatorrunner.nix
index 9ad65dc76e0f..0950726172d5 100644
--- a/pkgs/development/python-modules/pyside/generatorrunner.nix
+++ b/pkgs/development/python-modules/pyside/generatorrunner.nix
@@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
     description = "Eases the development of binding generators for C++ and Qt-based libraries by providing a framework to help automating most of the process";
     license = stdenv.lib.licenses.gpl2;
     homepage = http://www.pyside.org/docs/generatorrunner/;
-    maintainers = [ stdenv.lib.maintainers.chaoflow ];
+    maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/python-modules/pyside/shiboken.nix b/pkgs/development/python-modules/pyside/shiboken.nix
index 2bf1c4468dd3..42ad55ad0b95 100644
--- a/pkgs/development/python-modules/pyside/shiboken.nix
+++ b/pkgs/development/python-modules/pyside/shiboken.nix
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     description = "Plugin (front-end) for pyside-generatorrunner, that generates bindings for C++ libraries using CPython source code";
     license = lib.licenses.gpl2;
     homepage = http://www.pyside.org/docs/shiboken/;
-    maintainers = [ lib.maintainers.chaoflow ];
+    maintainers = [ ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/python-modules/pyside/tools.nix b/pkgs/development/python-modules/pyside/tools.nix
index a56899f8d0b3..abb0bdebd5da 100644
--- a/pkgs/development/python-modules/pyside/tools.nix
+++ b/pkgs/development/python-modules/pyside/tools.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     description = "Tools for pyside, the LGPL-licensed Python bindings for the Qt cross-platform application and UI framework";
     license = lib.licenses.gpl2;
     homepage = http://www.pyside.org;
-    maintainers = [ lib.maintainers.chaoflow ];
+    maintainers = [ ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/python-modules/pytest-httpbin/default.nix b/pkgs/development/python-modules/pytest-httpbin/default.nix
index e0be487e86d3..6d84ef0de7db 100644
--- a/pkgs/development/python-modules/pytest-httpbin/default.nix
+++ b/pkgs/development/python-modules/pytest-httpbin/default.nix
@@ -1,28 +1,23 @@
 { buildPythonPackage
 , lib
-, fetchFromGitHub
+, fetchPypi
 , pytest
-, flask
-, decorator
 , httpbin
 , six
-, requests
 }:
 
 buildPythonPackage rec {
   pname = "pytest-httpbin";
-  version = "0.3.0";
+  version = "1.0.0";
 
-  src = fetchFromGitHub {
-    owner = "kevin1024";
-    repo = "pytest-httpbin";
-    rev = "v${version}";
-    sha256 = "0p86ljx775gxxicscs1dydmmx92r1g9bs00vdvxrsl3qdll1ksfm";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0wlvw5qgkax7f0i5ks1562s37h2hdmn5yxnp1rajcc2289zm9knq";
   };
 
   checkInputs = [ pytest ];
 
-  propagatedBuildInputs = [ flask decorator httpbin six requests ];
+  propagatedBuildInputs = [ httpbin six ];
 
   checkPhase = ''
     py.test
diff --git a/pkgs/development/python-modules/quamash/default.nix b/pkgs/development/python-modules/quamash/default.nix
new file mode 100644
index 000000000000..b39e081c4712
--- /dev/null
+++ b/pkgs/development/python-modules/quamash/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pytest, isPy3k, pyqt5, pyqt ? pyqt5 }:
+
+buildPythonPackage rec {
+  pname = "quamash";
+  version = "0.6.1";
+
+  disabled = !isPy3k;
+
+  # No tests in PyPi tarball
+  src = fetchFromGitHub {
+    owner = "harvimt";
+    repo = "quamash";
+    rev = "version-${version}";
+    sha256 = "117rp9r4lz0kfz4dmmpa35hp6nhbh6b4xq0jmgvqm68g9hwdxmqa";
+  };
+
+  propagatedBuildInputs = [ pyqt ];
+
+  checkInputs = [ pytest ];
+  checkPhase = ''
+     pytest -k 'test_qthreadexec.py' # the others cause the test execution to be aborted, I think because of asyncio
+  '';
+
+  meta = with lib; {
+    description = "Implementation of the PEP 3156 event-loop (asyncio) api using the Qt Event-Loop";
+    homepage = https://github.com/harvimt/quamash;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ borisbabic ];
+  };
+}
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index dfbcdec858aa..7ff5b0343ea1 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -98,7 +98,7 @@ buildPythonPackage rec {
       homepage = http://rpy.sourceforge.net/rpy2;
       description = "Python interface to R";
       license = lib.licenses.gpl2Plus;
-      platforms = lib.platforms.linux;
+      platforms = lib.platforms.unix;
       maintainers = with lib.maintainers; [ joelmo ];
     };
   }
diff --git a/pkgs/development/python-modules/scapy/default.nix b/pkgs/development/python-modules/scapy/default.nix
index 18dd6e58f5c3..7ca3fc0f94be 100644
--- a/pkgs/development/python-modules/scapy/default.nix
+++ b/pkgs/development/python-modules/scapy/default.nix
@@ -50,7 +50,7 @@ buildPythonPackage rec {
     description = "Powerful interactive network packet manipulation program";
     homepage = https://scapy.net/;
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ primeos bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/seqdiag/default.nix b/pkgs/development/python-modules/seqdiag/default.nix
index d3c6006bc6c8..158d9a054df9 100644
--- a/pkgs/development/python-modules/seqdiag/default.nix
+++ b/pkgs/development/python-modules/seqdiag/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     description = "Generate sequence-diagram image from spec-text file (similar to Graphviz)";
     homepage = http://blockdiag.com/;
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/development/python-modules/sparse/default.nix b/pkgs/development/python-modules/sparse/default.nix
new file mode 100644
index 000000000000..d3d78620a3de
--- /dev/null
+++ b/pkgs/development/python-modules/sparse/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, numpy
+, scipy
+, numba
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "sparse";
+  version = "0.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2ac6fcbf68b38b999eae98467cf4880b942c13a72036868f78d65a10aeba808d";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    numba
+  ];
+
+  checkPhase = ''
+    pytest sparse
+  '';
+
+  meta = with lib; {
+    description = "Sparse n-dimensional arrays computations";
+    homepage = https://github.com/pydata/sparse/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/toposort/default.nix b/pkgs/development/python-modules/toposort/default.nix
index 3fcb118ac2ad..dd1156f4355c 100644
--- a/pkgs/development/python-modules/toposort/default.nix
+++ b/pkgs/development/python-modules/toposort/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     description = "A topological sort algorithm";
     homepage = https://pypi.python.org/pypi/toposort/1.1;
     maintainers = with maintainers; [ tstrobel ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.asl20;
   };
 
diff --git a/pkgs/development/python-modules/vega/default.nix b/pkgs/development/python-modules/vega/default.nix
index 09106e3a6d49..9a589ccf1f87 100644
--- a/pkgs/development/python-modules/vega/default.nix
+++ b/pkgs/development/python-modules/vega/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     homepage = https://github.com/vega/ipyvega;
     license = licenses.bsd3;
     maintainers = with maintainers; [ teh ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/xnd/default.nix b/pkgs/development/python-modules/xnd/default.nix
new file mode 100644
index 000000000000..8ffb8f96936b
--- /dev/null
+++ b/pkgs/development/python-modules/xnd/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, ndtypes
+, libndtypes
+, libxnd
+, isPy27
+}:
+
+buildPythonPackage {
+  pname = "xnd";
+  disabled = isPy27;
+  inherit (libxnd) version src meta;
+
+  propagatedBuildInputs = [ ndtypes ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'include_dirs = ["libxnd", "ndtypes/python/ndtypes"] + INCLUDES' \
+                'include_dirs = ["${libndtypes}/include", "${ndtypes}/include", "${libxnd}/include"]' \
+      --replace 'library_dirs = ["libxnd", "ndtypes/libndtypes"] + LIBS' \
+                'library_dirs = ["${libndtypes}/lib", "${libxnd}/lib"]' \
+      --replace 'runtime_library_dirs = ["$ORIGIN"]' \
+                'runtime_library_dirs = ["${libndtypes}/lib", "${libxnd}/lib"]' \
+  '';
+
+  postInstall = ''
+    mkdir $out/include
+    cp python/xnd/*.h $out/include
+  '';
+}
diff --git a/pkgs/development/python-modules/zetup/default.nix b/pkgs/development/python-modules/zetup/default.nix
index 99d05a359631..5772308f967a 100644
--- a/pkgs/development/python-modules/zetup/default.nix
+++ b/pkgs/development/python-modules/zetup/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     '';
     homepage = https://github.com/zimmermanncode/zetup;
     license = licenses.gpl3Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/analysis/egypt/default.nix b/pkgs/development/tools/analysis/egypt/default.nix
index defc39a9f749..7db46005f453 100644
--- a/pkgs/development/tools/analysis/egypt/default.nix
+++ b/pkgs/development/tools/analysis/egypt/default.nix
@@ -27,6 +27,6 @@ perlPackages.buildPerlPackage rec {
     '';
     homepage = http://www.gson.org/egypt/;
     license = with licenses; [ artistic1 gpl1Plus ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index e60729dc8b99..97140d10ca22 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pmd-${version}";
-  version = "6.10.0";
+  version = "6.11.0";
 
   buildInputs = [ unzip ];
 
   src = fetchurl {
     url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "1yzgin2lbhfswb07mm14wq8rn129kpfjidd8nv9pg77ywhnbwqmb";
+    sha256 = "0mg32bnl6j4p15akdhfc0wgilqvyphcgjimlaqq3jz51dmlr9scb";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 68931773f04e..f88dc3f6d333 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -29,7 +29,7 @@ let
     rev,
     version,
     sha256,
-    cs_tip,
+    cs_ver,
     cs_sha256
   }:
     stdenv.mkDerivation rec {
@@ -46,15 +46,21 @@ let
           owner = "aquynh";
           repo = "capstone";
           # version from $sourceRoot/shlr/Makefile
-          rev = cs_tip;
+          rev = cs_ver;
           sha256 = cs_sha256;
         };
       in ''
-        if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi
-        # When using meson, it expects capstone source relative to build directory
         mkdir -p build/shlr
-        cp -r ${capstone} shlr/capstone
-        chmod -R +w shlr/capstone
+        cp -r ${capstone} capstone-${cs_ver}
+        chmod -R +w capstone-${cs_ver}
+        # radare 3.3 compat for radare2-cutter
+        (cd shlr && ln -s ../capstone-${cs_ver} capstone)
+        tar -czvf shlr/capstone-${cs_ver}.tar.gz capstone-${cs_ver}
+        # necessary because they broke the offline-build:
+        # https://github.com/radare/radare2/commit/6290e4ff4cc167e1f2c28ab924e9b99783fb1b38#diff-a44d840c10f1f1feaf401917ae4ccd54R258
+        # https://github.com/radare/radare2/issues/13087#issuecomment-465159716
+        curl() { true; }
+        export -f curl
       '';
 
       postInstall = ''
@@ -104,23 +110,23 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "20591";
-    gittap = "3.2.1";
-    gittip = "25913f4745cb3b635d52f1aafc4d8ff2aad3988a";
-    rev = "3.2.1";
-    version = "3.2.1";
-    sha256 = "1c4zj96386sc9lvfcsdh9lhyh0rvv4zzfr6218gvjkg9fy6cc91y";
-    cs_tip = "0ff8220adef16a942697afd245afc5ab0f70cbf8";
-    cs_sha256 = "1ak8ysgivq28d23r77881p0z5v65jhpap5plm10p9j3y2x00n3zn";
+    version_commit = "20942";
+    gittap = "3.3.0";
+    gittip = "5a9127d2599c8ff61d8544be7d4c9384402e94a3";
+    rev = "3.3.0";
+    version = "3.3.0";
+    sha256 = "11ap3icr8w0y49lq5dxch2h589qdmwf3qv9lsdyfsz4l0mjm49ri";
+    cs_ver = "4.0.1";
+    cs_sha256 = "0ijwxxk71nr9z91yxw20zfj4bbsbrgvixps5c7cpj163xlzlwba6";
   };
   r2-for-cutter = generic {
-    version_commit = "20591";
+    version_commit = "20942";
     gittap = "2.9.0-310-gcb62c376b";
     gittip = "cb62c376bef6c7427019a7c28910c33c364436dd";
     rev = "cb62c376bef6c7427019a7c28910c33c364436dd";
     version = "2018-10-07";
     sha256 = "0z4nr1d2ca8ibq34441j15pj22wh46brcbr00j5hcqvn8y2lh96l";
-    cs_tip = "e2c1cd46c06744beaceff42dd882de3a90f0a37c";
+    cs_ver = "e2c1cd46c06744beaceff42dd882de3a90f0a37c";
     cs_sha256 = "1czzqj8zdjgh7h2ixi26ij3mm4bgm4xw2slin6fv73nic8yaw722";
   };
   #</generated>
diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py
index 684d70bc0bc4..794581bca7ad 100755
--- a/pkgs/development/tools/analysis/radare2/update.py
+++ b/pkgs/development/tools/analysis/radare2/update.py
@@ -61,15 +61,15 @@ def git(dirname: str, *args: str) -> str:
 def get_repo_info(dirname: str, rev: str) -> Dict[str, str]:
     sha256 = prefetch_github("radare", "radare2", rev)
 
-    cs_tip = None
+    cs_ver = None
     with open(Path(dirname).joinpath("shlr", "Makefile")) as makefile:
         for l in makefile:
-            match = re.match("CS_TIP=(\S+)", l)
+            match = re.match("CS_VER=(\S+)", l)
             if match:
-                cs_tip = match.group(1)
-    assert cs_tip is not None
+                cs_ver = match.group(1)
+    assert cs_ver is not None
 
-    cs_sha256 = prefetch_github("aquynh", "capstone", cs_tip)
+    cs_sha256 = prefetch_github("aquynh", "capstone", cs_ver)
 
     return dict(
         rev=rev,
@@ -77,7 +77,7 @@ def get_repo_info(dirname: str, rev: str) -> Dict[str, str]:
         version_commit=git(dirname, "rev-list", "--all", "--count"),
         gittap=git(dirname, "describe", "--tags", "--match", "[0-9]*"),
         gittip=git(dirname, "rev-parse", "HEAD"),
-        cs_tip=cs_tip,
+        cs_ver=cs_ver,
         cs_sha256=cs_sha256,
     )
 
@@ -90,7 +90,7 @@ def write_package_expr(version: str, info: Dict[str, str]) -> str:
     rev = "{info["rev"]}";
     version = "{version}";
     sha256 = "{info["sha256"]}";
-    cs_tip = "{info["cs_tip"]}";
+    cs_ver = "{info["cs_ver"]}";
     cs_sha256 = "{info["cs_sha256"]}";
   }}"""
 
diff --git a/pkgs/development/tools/bazel-watcher/default.nix b/pkgs/development/tools/bazel-watcher/default.nix
index 5bb1825d0350..c75a053acb27 100644
--- a/pkgs/development/tools/bazel-watcher/default.nix
+++ b/pkgs/development/tools/bazel-watcher/default.nix
@@ -10,13 +10,13 @@
 
 buildBazelPackage rec {
   name = "bazel-watcher-${version}";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "bazel-watcher";
     rev = "v${version}";
-    sha256 = "0yphks1qlp3xcbq5mg95lxrhl3q8pza5g3f9i2j6y7dsfz0s0l4v";
+    sha256 = "1gjbv67ydyb0mafpp59qr9n8f8vva2mwhgan6lxxl0i9yfx7qc6p";
   };
 
   nativeBuildInputs = [ go git python ];
@@ -49,7 +49,7 @@ buildBazelPackage rec {
       sed -e '/^FILE:@bazel_gazelle_go_repository_tools.*/d' -i $bazelOut/external/\@*.marker
     '';
 
-    sha256 = "14k1cpw4h78c2gk294xzq9a9nv09yabdrahbzgin8xizbgdxn1q8";
+    sha256 = "0p6yarz4wlb6h33n4slkczkdkaa93zc9jx55h8wl9vv81ahp0md5";
   };
 
   buildAttrs = {
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index 18c6eff76e1f..024c57201e12 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -1,109 +1,76 @@
 { stdenv, fetchFromGitHub, curl, dmd, libevent, rsync }:
 
-let
-
-  dubBuild = stdenv.mkDerivation rec {
-    name = "dubBuild-${version}";
-    version = "1.13.0";
-
-    enableParallelBuilding = true;
-
-    src = fetchFromGitHub {
-      owner = "dlang";
-      repo = "dub";
-      rev = "v${version}";
-      sha256 = "1wd5pdnbaafj33bbg188w0iz28ps4cyjangb12g2s9dyic29zjqv";
-    };
-
-    postUnpack = ''
-        patchShebangs .
-    '';
-
-    # Can be removed with https://github.com/dlang/dub/pull/1368
-    dubvar = "\\$DUB";
-    postPatch = ''
-        substituteInPlace test/fetchzip.sh \
-            --replace "dub remove" "\"${dubvar}\" remove"
-    '';
-
-    nativeBuildInputs = [ dmd libevent rsync ];
-    buildInputs = [ curl ];
-
-    buildPhase = ''
-      export DMD=${dmd.out}/bin/dmd
-      ./build.sh
-    '';
+stdenv.mkDerivation rec {
+  name = "dub-${version}";
+  version = "1.13.0";
 
-    installPhase = ''
-      mkdir $out
-      mkdir $out/bin
-      cp bin/dub $out/bin
-    '';
+  enableParallelBuilding = true;
 
-    meta = with stdenv.lib; {
-      description = "Package and build manager for D applications and libraries";
-      homepage = http://code.dlang.org/;
-      license = licenses.mit;
-      maintainers = with maintainers; [ ThomasMader ];
-      platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
-    };
+  src = fetchFromGitHub {
+    owner = "dlang";
+    repo = "dub";
+    rev = "v${version}";
+    sha256 = "1wd5pdnbaafj33bbg188w0iz28ps4cyjangb12g2s9dyic29zjqv";
   };
 
-  # Need to test in a fixed-output derivation, otherwise the
-  # network tests would fail if sandbox mode is enabled.
-  # Disable tests on Darwin for now because they don't work
-  # reliably there.
-  dubUnittests = if !stdenv.hostPlatform.isDarwin then
-    stdenv.mkDerivation rec {
-      name = "dubUnittests-${version}";
-      version = dubBuild.version;
-
-      enableParallelBuilding = dubBuild.enableParallelBuilding;
-      preferLocalBuild = true;
-      inputString = dubBuild.outPath;
-      outputHashAlgo = "sha256";
-      outputHash = builtins.hashString "sha256" inputString;
-
-      src = dubBuild.src;
-      
-      postUnpack = dubBuild.postUnpack;
-      postPatch = dubBuild.postPatch;
-
-      nativeBuildInputs = dubBuild.nativeBuildInputs;
-      buildInputs = dubBuild.buildInputs;
+  postUnpack = ''
+      patchShebangs .
+  '';
 
-      buildPhase = ''
-        # Can't use dub from dubBuild directly because one unittest 
-        # (issue895-local-configuration) needs to generate a config 
-        # file under ../etc relative to the dub location.
-        cp ${dubBuild}/bin/dub bin/
-        export DUB=$NIX_BUILD_TOP/source/bin/dub
-        export PATH=$PATH:$NIX_BUILD_TOP/source/bin/
-        export DC=${dmd.out}/bin/dmd
-        export HOME=$TMP
-        ./test/run-unittest.sh
-      '';
+  # Can be removed with https://github.com/dlang/dub/pull/1368
+  dubvar = "\\$DUB";
+  postPatch = ''
+      substituteInPlace test/fetchzip.sh \
+          --replace "dub remove" "\"${dubvar}\" remove"
+  '';
 
-      installPhase = ''
-          echo -n $inputString > $out
-      '';
-    }
-  else
-    "";
+  nativeBuildInputs = [ dmd libevent rsync ];
+  buildInputs = [ curl ];
 
-in
+  buildPhase = ''
+    export DMD=${dmd.out}/bin/dmd
+    ./build.sh
+  '';
 
-stdenv.mkDerivation rec {
-  inherit dubUnittests;
-  name = "dub-${dubBuild.version}";
-  phases = "installPhase";
-  buildInputs = dubBuild.buildInputs;
+  doCheck = true;
+
+  checkPhase = ''
+    export DUB=$NIX_BUILD_TOP/source/bin/dub
+    export PATH=$PATH:$NIX_BUILD_TOP/source/bin/
+    export DC=${dmd.out}/bin/dmd
+    export HOME=$TMP
+
+    rm -rf test/issue502-root-import
+    rm test/issue990-download-optional-selected.sh
+    rm test/timeout.sh
+    rm test/issue674-concurrent-dub.sh
+    rm test/issue672-upgrade-optional.sh
+    rm test/issue1574-addcommand.sh
+    rm test/issue1524-maven-upgrade-dependency-tree.sh
+    rm test/issue1416-maven-repo-pkg-supplier.sh
+    rm test/issue1037-better-dependency-messages.sh
+    rm test/interactive-remove.sh
+    rm test/fetchzip.sh
+    rm test/feat663-search.sh
+    rm test/ddox.sh
+    rm test/0-init-multi.sh
+    rm test/0-init-multi-json.sh
+
+    ./test/run-unittest.sh
+  '';
 
   installPhase = ''
     mkdir $out
-    cp -r --symbolic-link ${dubBuild}/* $out/
+    mkdir $out/bin
+    cp bin/dub $out/bin
   '';
 
-  meta = dubBuild.meta;
+  meta = with stdenv.lib; {
+    description = "Package and build manager for D applications and libraries";
+    homepage = http://code.dlang.org/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ThomasMader ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
+  };
 }
 
diff --git a/pkgs/development/tools/clog-cli/default.nix b/pkgs/development/tools/clog-cli/default.nix
index 1cd8f7757f96..0e21164482a8 100644
--- a/pkgs/development/tools/clog-cli/default.nix
+++ b/pkgs/development/tools/clog-cli/default.nix
@@ -19,7 +19,7 @@ buildRustPackage rec {
     description = "Generate changelogs from local git metadata";
     homepage = https://github.com/clog-tool/clog-cli;
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [stdenv.lib.maintainers.nthorne];
   };
 }
diff --git a/pkgs/development/tools/database/timescaledb-parallel-copy/default.nix b/pkgs/development/tools/database/timescaledb-parallel-copy/default.nix
index d667e49e7cbe..e559f714bd1b 100644
--- a/pkgs/development/tools/database/timescaledb-parallel-copy/default.nix
+++ b/pkgs/development/tools/database/timescaledb-parallel-copy/default.nix
@@ -20,7 +20,7 @@ buildGoPackage rec {
     description = "Bulk, parallel insert of CSV records into PostgreSQL";
     homepage    = http://github.com/timescale/timescaledb-parallel-copy;
     license     = licenses.asl20;
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/pkgs/development/tools/deis/default.nix b/pkgs/development/tools/deis/default.nix
index 91037e6dfaa9..d0bb744f1247 100644
--- a/pkgs/development/tools/deis/default.nix
+++ b/pkgs/development/tools/deis/default.nix
@@ -29,7 +29,7 @@ buildGoPackage rec {
     homepage = https://deis.io;
     description = "A command line utility used to interact with the Deis open source PaaS.";
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [
       jgeerds
     ];
diff --git a/pkgs/development/tools/deisctl/default.nix b/pkgs/development/tools/deisctl/default.nix
index 3f818ea7be62..b8f49c863e46 100644
--- a/pkgs/development/tools/deisctl/default.nix
+++ b/pkgs/development/tools/deisctl/default.nix
@@ -23,7 +23,7 @@ buildGoPackage rec {
     homepage = https://deis.io;
     description = "A command-line utility used to provision and operate a Deis cluster.";
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [
       jgeerds
     ];
diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix
index c93321638099..f50191d7dad3 100644
--- a/pkgs/development/tools/dive/default.nix
+++ b/pkgs/development/tools/dive/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "dive";
-  version = "0.5.0";
+  version = "0.6.0";
 
   goPackagePath = "github.com/wagoodman/dive";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "wagoodman";
     repo = "dive";
     rev = "v${version}";
-    sha256 = "159m36p7b0ygdp42qdmmz02rhrkymh8m6yl21m1ixd4c2pjkjhns";
+    sha256 = "05n19a5q1yi8r6r72z634z93lz2i347zccs9qm7gx5h86nh147zd";
   };
 
   goDeps = ./deps.nix;
@@ -21,6 +21,6 @@ buildGoPackage rec {
     description = "A tool for exploring each layer in a docker image";
     homepage = https://github.com/wagoodman/dive;
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam spacekookie ];
   };
 }
diff --git a/pkgs/development/tools/dive/deps.nix b/pkgs/development/tools/dive/deps.nix
index c140b2ae7748..99fe79c1814c 100644
--- a/pkgs/development/tools/dive/deps.nix
+++ b/pkgs/development/tools/dive/deps.nix
@@ -709,4 +709,24 @@
       sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
     };
   }
+
+  {
+    goPackagePath = "github.com/logrusorgru/aurora";
+    fetch = {
+      type = "git";
+      url = "https://github.com/logrusorgru/aurora";
+      rev = "a7b3b318ed4e";
+      sha256 = "1dldc270z42zm2d377ks7sa5059janjcjhv3inza3rjvapknsrcb";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/wagoodman/keybinding";
+    fetch = {
+      type = "git";
+      url = "https://github.com/wagoodman/keybinding";
+      rev = "6a824da6df05";
+      sha256 = "0f59idv5xia7w53363ym0qywvp0aas2kmk93rnndf2s7cs2f1d3l";
+    };
+  }
 ]
diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix
index ccfcfaace014..593287dbf21a 100644
--- a/pkgs/development/tools/dtools/default.nix
+++ b/pkgs/development/tools/dtools/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "dtools-${version}";
-  version = "2.084.0";
+  version = "2.084.1";
 
   srcs = [
     (fetchFromGitHub {
       owner = "dlang";
       repo = "dmd";
       rev = "v${version}";
-      sha256 = "1v61spdamncl8c1bzjc19b03p4jl0ih5zq9b7cqsy9ix7qaxmikf";
+      sha256 = "10ll5072rkv3ln7i5l88h2f9mzda567kw2jwh6466vm6ylzl4jms";
       name = "dmd";
     })
     (fetchFromGitHub {
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
   postUnpack = ''
       mv dmd dtools
       cd dtools
+
+      substituteInPlace posix.mak --replace "\$(DMD) \$(DFLAGS) -unittest -main -run rdmd.d" ""
   '';
 
   nativeBuildInputs = [ dmd ];
diff --git a/pkgs/development/tools/go-protobuf/default.nix b/pkgs/development/tools/go-protobuf/default.nix
index 361fc74c729b..750df126e943 100644
--- a/pkgs/development/tools/go-protobuf/default.nix
+++ b/pkgs/development/tools/go-protobuf/default.nix
@@ -19,6 +19,6 @@ buildGoPackage rec {
     description = " Go bindings for protocol buffer";
     maintainers = with maintainers; [ lewo ];
     license     = licenses.bsd3;
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index 5cec122950f0..b149703241e4 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -11,13 +11,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2018.12.31";
+  version = "2019.02.23";
 
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "icestorm";
-    rev    = "c0cbae88ab47a3879aacf80d53b6a85710682a6b";
-    sha256 = "0bqm0rpywm64yvbq75klpyzb1g9sdsp1kvdlyqg4hvm8jw9w8lya";
+    rev    = "3a2bfee5cbc0558641668114260d3f644d6b7c83";
+    sha256 = "1avc9b6w3xbmpq4y4lf9b5mym6aygh5hngzyasa9jyj0cx8mxcpf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/jbake/default.nix b/pkgs/development/tools/jbake/default.nix
index 1a421cc47ed6..dbda476171ab 100644
--- a/pkgs/development/tools/jbake/default.nix
+++ b/pkgs/development/tools/jbake/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.3";
+  version = "2.6.4";
   name = "jbake-${version}";
 
   src = fetchzip {
     url = "https://dl.bintray.com/jbake/binary/${name}-bin.zip";
-    sha256 = "000ax5vzirrhiykk86fmy4hibhl3pab0gkh5y35hiwhzhw5rwzk8";
+    sha256 = "0zgp0wwxxmi13v5q5jvr610igx2vxg0bwck9j1imnn9ciakg1aaw";
   };
 
   buildInputs = [ makeWrapper jre ];
diff --git a/pkgs/development/tools/leaps/default.nix b/pkgs/development/tools/leaps/default.nix
index afac17b52519..be964cf4d308 100644
--- a/pkgs/development/tools/leaps/default.nix
+++ b/pkgs/development/tools/leaps/default.nix
@@ -20,7 +20,7 @@ buildGoPackage rec {
     homepage = https://github.com/jeffail/leaps/;
     license = "MIT";
     maintainers = with stdenv.lib.maintainers; [ qknight ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
 
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index 97cf820f9a94..daf39318432a 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -25,7 +25,7 @@ buildGoPackage rec {
       run jobs as if they were running on the hosted CirleCI application.
     '';
     maintainers = with maintainers; [ synthetica ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.mit;
     homepage = https://circleci.com/;
   };
diff --git a/pkgs/development/tools/misc/loccount/default.nix b/pkgs/development/tools/misc/loccount/default.nix
index 017c6ad80491..240d52ca7d0e 100644
--- a/pkgs/development/tools/misc/loccount/default.nix
+++ b/pkgs/development/tools/misc/loccount/default.nix
@@ -30,6 +30,6 @@ buildGoPackage rec {
     downloadPage="https://gitlab.com/esr/loccount/tree/master";
     license = licenses.bsd2;
     maintainers = with maintainers; [ calvertvl ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index be6bb73aab81..d9e563952ea7 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -2,7 +2,7 @@
 , lambdaTerm, cppo, makeWrapper
 }:
 
-if !stdenv.lib.versionAtLeast ocaml.version "4.02"
+if !stdenv.lib.versionAtLeast ocaml.version "4.03"
 then throw "utop is not available for OCaml ${ocaml.version}"
 else
 
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
index 3bba4237cf85..9416b9e4f3e7 100644
--- a/pkgs/development/tools/react-native-debugger/default.nix
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -38,11 +38,11 @@ let
   ];
 in stdenv.mkDerivation rec {
   name = "react-native-debugger-${version}";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchurl {
     url = "https://github.com/jhen0409/react-native-debugger/releases/download/v${version}/rn-debugger-linux-x64.zip";
-    sha256 = "180rvcnr3xxg7nb5g4b45l9a67h2dx8ps0l05r6ph3f71kzh4dd9";
+    sha256 = "0ljhpqanl9rjk9n69if1vrfvac0s73f8by0k6sa4ngvgqzgvq3kb";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index 11de0bec425b..2e9093bfae6c 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -2,9 +2,9 @@
 
 buildGoPackage rec {
   name = "skaffold-${version}";
-  version = "0.19.0";
-  # rev is the 0.19.0 commit, mainly for skaffold version command output
-  rev = "9eb0dfc1bf634b97462c66b4dfb80e4cea378ade";
+  version = "0.21.1";
+  # rev is the 0.21.1 commit, mainly for skaffold version command output
+  rev = "a73671cb547a80d3437f78d046bc500269673ea3";
 
   goPackagePath = "github.com/GoogleContainerTools/skaffold";
   subPackages = ["cmd/skaffold"];
@@ -20,7 +20,7 @@ buildGoPackage rec {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "0s7dyfdmgslwnmbkzyqvf2622gj5d7vx9igwz3bf6dpaz382mk6h";
+    sha256 = "0n4gqri4rmah1brckj9d4vidm6faabvwfy5smhpl3f6flyv3slsy";
   };
 
   meta = {
diff --git a/pkgs/development/tools/trellis/default.nix b/pkgs/development/tools/trellis/default.nix
index 966c50404d45..eeef99991db8 100644
--- a/pkgs/development/tools/trellis/default.nix
+++ b/pkgs/development/tools/trellis/default.nix
@@ -8,21 +8,21 @@ let
 in
 stdenv.mkDerivation rec {
   name = "trellis-${version}";
-  version = "2018.12.20";
+  version = "2019.02.21";
 
   srcs = [
     (fetchFromGitHub {
        owner  = "symbiflow";
        repo   = "prjtrellis";
-       rev    = "b947028a6ac6494b6000c6e1ab5aa0db813e8544";
-       sha256 = "14dcsl2drx3xaqvpawp0j7088cijxcr5018yji48rmbl85763aw9";
+       rev    = "90910577671cdd950e56df6cb29d848dadea9467";
+       sha256 = "0j5gnkqfkp8k01wmzsplg713dmw1zvg04hsy33bzbyxaqviybdip";
        name   = "trellis";
      })
     (fetchFromGitHub {
       owner  = "symbiflow";
       repo   = "prjtrellis-db";
-      rev    = "670d04f0b8412193d5e974eea67f2bb7355aa1ec";
-      sha256 = "1hm385rg1jq9qbq63g5134gq9xpfadvpahxvzwpv0q543brkg730";
+      rev    = "d0b219af41ae3da6150645fbc5cc5613b530603f";
+      sha256 = "1mnzvrqrcbfypvbagwyf6arv3kmj6q7n27gcmyk6ap2xnavkx4bq";
       name   = "database";
     })
   ];
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index b8ba30361aa8..e93791d46969 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -3,9 +3,9 @@
 let
   # NOTE: bumping the version and updating the hash is insufficient;
   # you must use bundix to generate a new gemset.nix in the Vagrant source.
-  version = "2.2.0";
+  version = "2.2.3";
   url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
-  sha256 = "1wa8l3j6hpy0m0snz7wvfcf0wsjikp22c2z29crpk10f7xl7c56b";
+  sha256 = "1j00glqn8b1zsgqg2nyk5as405a6s6vclswg2ri0a229hnsiabvs";
 
   deps = bundlerEnv rec {
     name = "${pname}-${version}";
@@ -36,7 +36,6 @@ in buildRubyGem rec {
   src = fetchurl { inherit url sha256; };
 
   patches = [
-    ./unofficial-installation-nowarn.patch
     ./use-system-bundler-version.patch
     ./0004-Support-system-installed-plugins.patch
   ];
diff --git a/pkgs/development/tools/vagrant/gemset.nix b/pkgs/development/tools/vagrant/gemset.nix
index 39eeb02ce55c..9d98b3a48bde 100644
--- a/pkgs/development/tools/vagrant/gemset.nix
+++ b/pkgs/development/tools/vagrant/gemset.nix
@@ -3,10 +3,18 @@
     dependencies = ["public_suffix"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
+      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
       type = "gem";
     };
-    version = "2.5.2";
+    version = "2.6.0";
+  };
+  bcrypt_pbkdf = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0cj4k13c7qvvck7y25i3xarvyqq8d27vl61jddifkc7llnnap1hv";
+      type = "gem";
+    };
+    version = "1.0.0";
   };
   builder = {
     source = {
@@ -25,6 +33,14 @@
     };
     version = "0.6.3";
   };
+  concurrent-ruby = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ixcx9pfissxrga53jbdpza85qd5f6b5nq1sfqa9rnfq82qnlbp1";
+      type = "gem";
+    };
+    version = "1.1.4";
+  };
   crack = {
     dependencies = ["safe_yaml"];
     source = {
@@ -51,6 +67,14 @@
     };
     version = "0.5.20180417";
   };
+  ed25519 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
+      type = "gem";
+    };
+    version = "1.2.4";
+  };
   erubis = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -70,10 +94,10 @@
   ffi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
+      sha256 = "0j8pzj8raxbir5w5k6s7a042sb5k02pg0f8s4na1r5lan901j00p";
       type = "gem";
     };
-    version = "1.9.25";
+    version = "1.10.0";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -96,10 +120,10 @@
   hashdiff = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yj5l2rw8i8jc725hbcpc4wks0qlaaimr3dpaqamfjkjkxl0hjp9";
+      sha256 = "19ykg5pax8798nh1yv71adkx0zzs7gn2rxjj86v7nsw0jba5lask";
       type = "gem";
     };
-    version = "0.3.7";
+    version = "0.3.8";
   };
   hashicorp-checkpoint = {
     source = {
@@ -127,12 +151,13 @@
     version = "2.8.3";
   };
   i18n = {
+    dependencies = ["concurrent-ruby"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00nsll7q89ab6k43dl3apxjhy4zidlgjmgb9mpk42bj3wk5zdyzf";
+      sha256 = "1gcp1m1p6dpasycfz2sj82ci9ggz7lsskz9c9q6gvfwxrl8y9dx7";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "1.1.1";
   };
   listen = {
     dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
@@ -214,10 +239,10 @@
   net-ssh = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qfanf71yv8w7yl9l9wqcy68i2x1ghvnf8m581yy4pl0anfdhqw8";
+      sha256 = "0jglf8rxvlw6is5019r6kwsdhw38zm3z39jbghdbj449r6h7h77n";
       type = "gem";
     };
-    version = "5.0.2";
+    version = "5.1.0";
   };
   netrc = {
     source = {
@@ -263,10 +288,10 @@
     dependencies = ["ffi"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yfsgw5n7pkpyky6a9wkf1g9jafxb0ja7gz0qw0y14fd2jnzfh71";
+      sha256 = "1fs7hxm9g6ywv2yih83b879klhc4fs8i0p9166z795qmd77dk0a4";
       type = "gem";
     };
-    version = "0.9.10";
+    version = "0.10.0";
   };
   rb-kqueue = {
     dependencies = ["ffi"];
@@ -397,7 +422,7 @@
     version = "0.0.7.5";
   };
   vagrant = {
-    dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "rubyzip" "vagrant_cloud" "wdm" "winrm" "winrm-elevated" "winrm-fs"];
+    dependencies = ["bcrypt_pbkdf" "childprocess" "ed25519" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "rubyzip" "vagrant_cloud" "wdm" "winrm" "winrm-elevated" "winrm-fs"];
   };
   vagrant-spec = {
     dependencies = ["childprocess" "log4r" "rspec" "thor"];
@@ -414,10 +439,10 @@
     dependencies = ["rest-client"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k325a1cblj3jd2av8a6j3xsjjm36g578gpbmxw7h5dbffp49il1";
+      sha256 = "0451x3ab869hbycffcq656dm7mmjwmnxcyhv6g7dpdv3acg64783";
       type = "gem";
     };
-    version = "2.0.1";
+    version = "2.0.2";
   };
   wdm = {
     source = {
@@ -440,27 +465,27 @@
     dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05c1xji4afwxx4vgim5n4nj62zbyppmm67ci3kwi0jjrqaj9y11q";
+      sha256 = "0l299w172hl023b3v2vnbx4cqfjq9k2pp8blc1dz8n6g9dc6pk9f";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.3.1";
   };
   winrm-elevated = {
     dependencies = ["winrm" "winrm-fs"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04krbwnj4cw7jy42w3n2y5kp2fbcp3v9mbf59pdhfk1py18bswcr";
+      sha256 = "1saqc3ffh075y6fdkc7iqmn0v3pnidvfw0sh09w9cn6jvpsdxizk";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   winrm-fs = {
     dependencies = ["erubis" "logging" "rubyzip" "winrm"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12g9grzp03knh1nxcicnm93pmlf4r264lhvl5yviyri8swmqlbz5";
+      sha256 = "0fy4yj52kssrm5hchq7l2mbry6w6yvi736p1wjpyv8m19rx7k0c3";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.3.2";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch b/pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch
index 885959428956..7b4ce471c94d 100644
--- a/pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch
+++ b/pkgs/development/tools/vagrant/unofficial-installation-nowarn.patch
@@ -1,8 +1,8 @@
-diff --git i/bin/vagrant w/bin/vagrant
-index 19df75033..682fae226 100755
---- i/bin/vagrant
-+++ w/bin/vagrant
-@@ -128,11 +128,6 @@ begin
+diff --git a/bin/vagrant b/bin/vagrant
+index 0e6abdc..cb36e9c 100755
+--- a/bin/vagrant
++++ b/bin/vagrant
+@@ -155,11 +155,6 @@ begin
      end
    end
  
@@ -11,6 +11,6 @@ index 19df75033..682fae226 100755
 -    env.ui.warn(I18n.t("vagrant.general.not_in_installer") + "\n", prefix: false)
 -  end
 -
-   begin
-     # Execute the CLI interface, and exit with the proper error code
-     exit_status = env.cli(argv)
+   # Acceptable experimental flag values include:
+   #
+   # Unset  - Disables experimental features