summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/aldor/default.nix6
-rw-r--r--pkgs/development/compilers/fsharp/default.nix2
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/default.nix46
-rw-r--r--pkgs/development/compilers/icedtea-web/default.nix37
-rw-r--r--pkgs/development/compilers/icedtea/cppflags-include-fix.patch16
-rw-r--r--pkgs/development/compilers/icedtea/default.nix179
-rw-r--r--pkgs/development/compilers/icedtea/fix-java-home.patch17
-rw-r--r--pkgs/development/compilers/icedtea/generate-cacerts.pl366
-rw-r--r--pkgs/development/compilers/icedtea/sources.nix56
-rwxr-xr-xpkgs/development/compilers/icedtea/update.py275
-rw-r--r--pkgs/development/compilers/julia/0.2.1.nix140
-rw-r--r--pkgs/development/compilers/julia/git-20131013.nix (renamed from pkgs/development/compilers/julia/default.nix)0
-rw-r--r--pkgs/development/compilers/llvm/3.4/clang.nix6
-rw-r--r--pkgs/development/compilers/pakcs/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2/default.nix4
-rw-r--r--pkgs/development/libraries/clutter-gtk/default.nix6
-rw-r--r--pkgs/development/libraries/concurrencykit/default.nix19
-rw-r--r--pkgs/development/libraries/db/generic.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch20
-rw-r--r--pkgs/development/libraries/gvfs/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/DAV/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/HList/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/attempt/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/authenticate/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/basic-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/bytestring-lexing/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix17
-rw-r--r--pkgs/development/libraries/haskell/classy-prelude/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/conduit-combinators/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/conduit-extra/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/cryptohash-conduit/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/cryptohash/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/digestive-functors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/failure/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/git-date/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/hastache/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/html-conduit/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/http-client/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-reverse-proxy/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/language-c-quote/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-c/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/language-javascript/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/linear/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mime-mail/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/monad-logger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monadloc/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/mono-traversable/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/mtl/2.1.3.1.nix15
-rw-r--r--pkgs/development/libraries/haskell/persistent-mysql/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/persistent-postgresql/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/persistent-sqlite/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/persistent-template/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/persistent/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/pool-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/process-conduit/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/profunctors/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/project-template/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/recaptcha/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/resourcet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/smtps-gmail/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/snap/core.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/server.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm-chans/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm/2.4.3.nix13
-rw-r--r--pkgs/development/libraries/haskell/streaming-commons/default.nix17
-rw-r--r--pkgs/development/libraries/haskell/system-filepath/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/text-stream-decode/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/th-desugar/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/type-level-natural-number/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/unbounded-delays/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/wai-handler-launch/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/wai-test/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/wai-websockets/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/warp-tls/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/xml-conduit/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/xml-hamlet/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xss-sanitize/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yaml/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix28
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix13
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix24
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/zlib-bindings/default.nix6
-rw-r--r--pkgs/development/libraries/libmsgpack/default.nix30
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix8
-rw-r--r--pkgs/development/libraries/mps/default.nix24
-rw-r--r--pkgs/development/libraries/npapi-sdk/default.nix22
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix24
-rw-r--r--pkgs/development/tools/documentation/haddock/2.14.1.nix22
-rw-r--r--pkgs/development/tools/haskell/cake3/default.nix23
-rw-r--r--pkgs/development/tools/haskell/keter/default.nix16
103 files changed, 1766 insertions, 315 deletions
diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix
index 57d1bf74154e..ddf16bc2219e 100644
--- a/pkgs/development/compilers/aldor/default.nix
+++ b/pkgs/development/compilers/aldor/default.nix
@@ -2,12 +2,12 @@
 , autoconf, automake, libtool, openjdk, perl }:
 
 stdenv.mkDerivation {
-  name = "aldor-1.1.0";
+  name = "aldor-1.2.0";
 
   src = fetchgit {
     url = "https://github.com/pippijn/aldor";
-    sha256 = "14xv3jl15ib2knsdz0bd7jx64zg1qrr33q5zcr8gli860ps8gkg3";
-    rev = "f7b95835cf709654744441ddb1c515bfc2bec998";
+    sha256 = "1l9fc2cgwabifwbijcp293abc8hcv40nzx2w31jkxh8n0plbiczn";
+    rev = "15471e75f3d65b93150f414ebcaf59a03054b68d";
   };
 
   buildInputs = [ gmp which flex bison makeWrapper autoconf automake libtool
diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix
index 8cc283bc3f14..963c7e2cb5c5 100644
--- a/pkgs/development/compilers/fsharp/default.nix
+++ b/pkgs/development/compilers/fsharp/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ mono pkgconfig autoconf automake which ];
   configurePhase = ''
-    substituteInPlace ./autogen.sh "/usr/bin/env sh" "/bin/sh"
+    substituteInPlace ./autogen.sh --replace "/usr/bin/env sh" "/bin/sh"
     ./autogen.sh --prefix $out
   '';
 
diff --git a/pkgs/development/compilers/gcc-arm-embedded/default.nix b/pkgs/development/compilers/gcc-arm-embedded/default.nix
new file mode 100644
index 000000000000..62e08d1fa7c0
--- /dev/null
+++ b/pkgs/development/compilers/gcc-arm-embedded/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, bzip2, patchelf, glibc, gcc, fetchurl, version, releaseType, sha256 }:
+with stdenv.lib;
+let
+  versionParts = splitString "-" version; # 4.7 2013q3 20130916
+  majorVersion = elemAt versionParts 0; # 4.7
+  yearQuarter = elemAt versionParts 1; # 2013q3
+  underscoreVersion = replaceChars ["."] ["_"] version; # 4_7-2013q3-20130916
+  yearQuarterParts = splitString "q" yearQuarter; # 2013 3
+  year = elemAt yearQuarterParts 0; # 2013
+  quarter = elemAt yearQuarterParts 1; # 3
+  subdirName = "${majorVersion}-${year}-q${quarter}-${releaseType}"; # 4.7-2013-q3-update
+in
+stdenv.mkDerivation {
+  name = "gcc-arm-embedded-${version}";
+
+  src = fetchurl {
+    url = "https://launchpad.net/gcc-arm-embedded/${majorVersion}/${subdirName}/+download/gcc-arm-none-eabi-${underscoreVersion}-linux.tar.bz2";
+    sha256 = sha256;
+  };
+
+  buildInputs = [ bzip2 patchelf ];
+ 
+  dontPatchELF = true;
+  
+  phases = "unpackPhase patchPhase installPhase";
+  
+  installPhase = ''
+    mkdir -pv $out
+    cp -r ./* $out
+
+    for f in $(find $out); do
+      if [ -f "$f" ] && patchelf "$f" 2> /dev/null; then
+        patchelf --set-interpreter ${glibc}/lib/ld-linux.so.2 \
+                 --set-rpath $out/lib:${gcc}/lib \
+                 "$f" || true
+      fi
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors (Cortex-M0/M0+/M3/M4, Cortex-R4/R5/R7)";
+    homepage = "https://launchpad.net/gcc-arm-embedded";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/icedtea-web/default.nix b/pkgs/development/compilers/icedtea-web/default.nix
new file mode 100644
index 000000000000..9123aaa988cb
--- /dev/null
+++ b/pkgs/development/compilers/icedtea-web/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk }:
+
+stdenv.mkDerivation rec {
+  name = "icedtea-web-${version}";
+
+  version = "1.4.2";
+
+  src = fetchurl {
+    url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
+
+    sha256 = "0bfw4icxjfkdxqmiqgp9lfs1ca9rydl57g3yhlxrif0fpzyyb3fl";
+  };
+
+  buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ];
+
+  preConfigure = ''
+    substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
+  '';
+
+  configureFlags = [
+    "--with-jdk-home=${jdk}"
+  ];
+
+  mozillaPlugin = "/lib";
+
+  meta = {
+    description = "Java web browser plugin and an implementation of Java Web Start";
+    longDescription = ''
+      A Free Software web browser plugin running applets written in the Java
+      programming language and an implementation of Java Web Start, originally
+      based on the NetX project.
+    '';
+    homepage = http://icedtea.classpath.org/wiki/IcedTea-Web;
+    maintainers = with stdenv.lib.maintainers; [ wizeman ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/icedtea/cppflags-include-fix.patch b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
new file mode 100644
index 000000000000..8931c122538f
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/cppflags-include-fix.patch
@@ -0,0 +1,16 @@
+diff -Naur openjdk-orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
+--- openjdk-orig/jdk/make/sun/awt/mawt.gmk	2012-08-28 19:13:16.000000000 -0400
++++ openjdk/jdk/make/sun/awt/mawt.gmk	2013-01-22 11:56:22.315418708 -0500
+@@ -234,12 +234,6 @@
+ endif # !HEADLESS
+ endif # PLATFORM
+ 
+-ifeq ($(PLATFORM), linux)
+-  # Checking for the X11/extensions headers at the additional location
+-  CPPFLAGS += -I$(firstword $(wildcard $(OPENWIN_HOME)/include/X11/extensions) \
+-                        $(wildcard /usr/include/X11/extensions))
+-endif
+-
+ ifeq ($(PLATFORM), macosx))
+   CPPFLAGS += -I$(OPENWIN_HOME)/include/X11/extensions \
+               -I$(OPENWIN_HOME)/include 
diff --git a/pkgs/development/compilers/icedtea/default.nix b/pkgs/development/compilers/icedtea/default.nix
new file mode 100644
index 000000000000..a8f9617a6340
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/default.nix
@@ -0,0 +1,179 @@
+{ stdenv, fetchurl, jdk, jdkPath, ant, wget, zip, unzip, cpio, file, libxslt
+, xorg, zlib, pkgconfig, libjpeg, libpng, giflib, lcms2, gtk2, krb5, attr
+, alsaLib, procps, automake, autoconf, cups, which, perl, coreutils, binutils
+, cacert, setJavaClassPath
+}:
+
+let
+
+  /**
+   * The JRE libraries are in directories that depend on the CPU.
+   */
+  architecture =
+    if stdenv.system == "i686-linux" then
+      "i386"
+    else if stdenv.system == "x86_64-linux" then
+      "amd64"
+    else
+      throw "icedtea requires i686-linux or x86_64 linux";
+
+  srcInfo = (import ./sources.nix).icedtea7;
+
+  pkgName = "icedtea7-${srcInfo.version}";
+
+  defSrc = name:
+    with (builtins.getAttr name srcInfo.bundles); fetchurl {
+      inherit url sha256;
+      name = "${pkgName}-${name}-${baseNameOf url}";
+    };
+
+  bundleNames = builtins.attrNames srcInfo.bundles;
+
+  sources = stdenv.lib.genAttrs bundleNames (name: defSrc name);
+
+  bundleFun = name: "--with-${name}-src-zip=" + builtins.getAttr name sources;
+  bundleFlags = map bundleFun bundleNames;
+
+in
+
+with srcInfo; stdenv.mkDerivation {
+  name = pkgName;
+
+  src = fetchurl {
+    inherit url sha256;
+  };
+
+  outputs = [ "out" "jre" ];
+
+  # TODO: Probably some more dependencies should be on this list but are being
+  # propagated instead
+  buildInputs = [
+    jdk ant wget zip unzip cpio file libxslt pkgconfig procps automake
+    autoconf which perl coreutils xorg.lndir
+    zlib libjpeg libpng giflib lcms2 krb5 attr alsaLib cups
+    xorg.libX11 xorg.libXtst gtk2
+  ];
+
+  configureFlags = bundleFlags ++ [
+    "--disable-bootstrap"
+    "--disable-downloading"
+
+    "--without-rhino"
+    # Uncomment this when paxctl lands in stdenv: "--with-pax=paxctl"
+    "--with-jdk-home=${jdkPath}"
+  ];
+
+  preConfigure = ''
+    unset JAVA_HOME JDK_HOME CLASSPATH JAVAC JAVACFLAGS
+
+    substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
+    substituteInPlace javah.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
+
+    ./autogen.sh
+  '';
+
+  preBuild = ''
+    make stamps/extract.stamp
+
+    substituteInPlace openjdk/jdk/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo'
+    substituteInPlace openjdk/corba/make/common/shared/Defs-utils.gmk --replace '/bin/echo' '${coreutils}/bin/echo'
+
+    patch -p0 < ${./cppflags-include-fix.patch}
+    patch -p0 < ${./fix-java-home.patch}
+  '';
+
+  NIX_NO_SELF_RPATH = true;
+
+  makeFlags = [
+    "ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
+    "ALT_UNIXCOMMAND_PATH="
+    "ALT_USRBIN_PATH="
+    "ALT_DEVTOOLS_PATH="
+    "ALT_COMPILER_PATH="
+    "ALT_CUPS_HEADERS_PATH=${cups}/include"
+    "ALT_OBJCOPY=${binutils}/bin/objcopy"
+    "SORT=${coreutils}/bin/sort"
+    "UNLIMITED_CRYPTO=1"
+  ];
+
+  installPhase = ''
+    mkdir -p $out/lib/icedtea $out/share $jre/lib/icedtea
+
+    cp -av openjdk.build/j2sdk-image/* $out/lib/icedtea
+
+    # Move some stuff to top-level.
+    mv $out/lib/icedtea/include $out/include
+    mv $out/lib/icedtea/man $out/share/man
+
+    # jni.h expects jni_md.h to be in the header search path.
+    ln -s $out/include/linux/*_md.h $out/include/
+
+    # Remove some broken manpages.
+    rm -rf $out/share/man/ja*
+
+    # Remove crap from the installation.
+    rm -rf $out/lib/icedtea/demo $out/lib/icedtea/sample
+
+    # Move the JRE to a separate output.
+    mv $out/lib/icedtea/jre $jre/lib/icedtea/
+    mkdir $out/lib/icedtea/jre
+    lndir $jre/lib/icedtea/jre $out/lib/icedtea/jre
+
+    # The following files cannot be symlinked, as it seems to violate Java security policies
+    rm $out/lib/icedtea/jre/lib/ext/*
+    cp $jre/lib/icedtea/jre/lib/ext/* $out/lib/icedtea/jre/lib/ext/
+
+    rm -rf $out/lib/icedtea/jre/bin
+    ln -s $out/lib/icedtea/bin $out/lib/icedtea/jre/bin
+
+    # Remove duplicate binaries.
+    for i in $(cd $out/lib/icedtea/bin && echo *); do
+      if [ "$i" = java ]; then continue; fi
+      if cmp -s $out/lib/icedtea/bin/$i $jre/lib/icedtea/jre/bin/$i; then
+        ln -sfn $jre/lib/icedtea/jre/bin/$i $out/lib/icedtea/bin/$i
+      fi
+    done
+
+    # Generate certificates.
+    pushd $jre/lib/icedtea/jre/lib/security
+    rm cacerts
+    perl ${./generate-cacerts.pl} $jre/lib/icedtea/jre/bin/keytool ${cacert}/etc/ca-bundle.crt
+    popd
+
+    ln -s $out/lib/icedtea/bin $out/bin
+    ln -s $jre/lib/icedtea/jre/bin $jre/bin
+  '';
+
+  # FIXME: this is unnecessary once the multiple-outputs branch is merged.
+  preFixup = ''
+    prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
+    patchELF $jre
+    propagatedNativeBuildInputs+=" $jre"
+
+    # Propagate the setJavaClassPath setup hook from the JRE so that
+    # any package that depends on the JRE has $CLASSPATH set up
+    # properly.
+    mkdir -p $jre/nix-support
+    echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-build-inputs
+
+    # Set JAVA_HOME automatically.
+    mkdir -p $out/nix-support
+    cat <<EOF > $out/nix-support/setup-hook
+    if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/icedtea; fi
+    EOF
+  '';
+
+  meta = {
+    description = "Free Java development kit based on OpenJDK 7.0 and the IcedTea project";
+    longDescription = ''
+      Free Java environment based on OpenJDK 7.0 and the IcedTea project.
+      - Full Java runtime environment
+      - Needed for executing Java Webstart programs and the free Java web browser plugin.
+    '';
+    homepage = http://icedtea.classpath.org;
+    maintainers = with stdenv.lib.maintainers; [ wizeman ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+
+  passthru = { inherit architecture; };
+}
diff --git a/pkgs/development/compilers/icedtea/fix-java-home.patch b/pkgs/development/compilers/icedtea/fix-java-home.patch
new file mode 100644
index 000000000000..5def344f1717
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/fix-java-home.patch
@@ -0,0 +1,17 @@
+diff -ru -x '*~' openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+--- openjdk-orig/hotspot/src/os/linux/vm/os_linux.cpp	2013-09-06 20:22:03.000000000 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp	2014-01-24 22:44:08.223857012 +0100
+@@ -2358,12 +2358,10 @@
+                 CAST_FROM_FN_PTR(address, os::jvm_path),
+                 dli_fname, sizeof(dli_fname), NULL);
+   assert(ret, "cannot locate libjvm");
+   char *rp = NULL;
+   if (ret && dli_fname[0] != '\0') {
+-    rp = realpath(dli_fname, buf);
++    snprintf(buf, buflen, "%s", dli_fname);
+   }
+-  if (rp == NULL)
+-    return;
+ 
+   if (Arguments::created_by_gamma_launcher()) {
+     // Support for the gamma launcher.  Typical value for buf is
diff --git a/pkgs/development/compilers/icedtea/generate-cacerts.pl b/pkgs/development/compilers/icedtea/generate-cacerts.pl
new file mode 100644
index 000000000000..3bdd42f7274f
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/generate-cacerts.pl
@@ -0,0 +1,366 @@
+#!/usr/bin/perl
+
+# Copyright (C) 2007, 2008 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# generate-cacerts.pl generates a JKS keystore named 'cacerts' from
+# OpenSSL's certificate bundle using OpenJDK's keytool.
+
+# First extract each of OpenSSL's bundled certificates into its own
+# aliased filename.
+
+# Downloaded from http://cvs.fedoraproject.org/viewvc/rpms/ca-certificates/F-12/generate-cacerts.pl?revision=1.2
+# Check and prevention of duplicate aliases added by Vlastimil Babka <caster@gentoo.org>
+
+$file = $ARGV[1];
+open(CERTS, $file);
+@certs = <CERTS>;
+close(CERTS);
+
+$pem_file_count = 0;
+$in_cert_block = 0;
+$write_current_cert = 1;
+foreach $cert (@certs)
+{
+    if ($cert =~ /Issuer: /)
+    {
+        $_ = $cert;
+        if ($cert =~ /personal-freemail/)
+        {
+            $cert_alias = "thawtepersonalfreemailca";
+        }
+        elsif ($cert =~ /personal-basic/)
+        {
+            $cert_alias = "thawtepersonalbasicca";
+        }
+        elsif ($cert =~ /personal-premium/)
+        {
+            $cert_alias = "thawtepersonalpremiumca";
+        }
+        elsif ($cert =~ /server-certs/)
+        {
+            $cert_alias = "thawteserverca";
+        }
+        elsif ($cert =~ /premium-server/)
+        {
+            $cert_alias = "thawtepremiumserverca";
+        }
+        elsif ($cert =~ /Class 1 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass1ca";
+        }
+        elsif ($cert =~ /Class 1 Public Primary Certification Authority - G2/)
+        {
+            $cert_alias = "verisignclass1g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 1 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass1g3ca";
+        }
+        elsif ($cert =~ /Class 2 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass2ca";
+        }
+        elsif ($cert =~ /Class 2 Public Primary Certification Authority - G2/)
+        {
+            $cert_alias = "verisignclass2g2ca";
+        }
+        elsif ($cert =~
+               /VeriSign Class 2 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass2g3ca";
+        }
+        elsif ($cert =~ /Class 3 Public Primary Certification Authority$/)
+        {
+            $cert_alias = "verisignclass3ca";
+        }
+        # Version 1 of Class 3 Public Primary Certification Authority
+        # - G2 is added.  Version 3 is excluded.  See below.
+        elsif ($cert =~
+               /VeriSign Class 3 Public Primary Certification Authority - G3/)
+        {
+            $cert_alias = "verisignclass3g3ca";
+        }
+        elsif ($cert =~
+               /RSA Data Security.*Secure Server Certification Authority/)
+        {
+            $cert_alias = "verisignserverca";
+        }
+        elsif ($cert =~ /GTE CyberTrust Global Root/)
+        {
+            $cert_alias = "gtecybertrustglobalca";
+        }
+        elsif ($cert =~ /Baltimore CyberTrust Root/)
+        {
+            $cert_alias = "baltimorecybertrustca";
+        }
+        elsif ($cert =~ /www.entrust.net\/Client_CA_Info\/CPS/)
+        {
+            $cert_alias = "entrustclientca";
+        }
+        elsif ($cert =~ /www.entrust.net\/GCCA_CPS/)
+        {
+            $cert_alias = "entrustglobalclientca";
+        }
+        elsif ($cert =~ /www.entrust.net\/CPS_2048/)
+        {
+            $cert_alias = "entrust2048ca";
+        }
+        elsif ($cert =~ /www.entrust.net\/CPS /)
+        {
+            $cert_alias = "entrustsslca";
+        }
+        elsif ($cert =~ /www.entrust.net\/SSL_CPS/)
+        {
+            $cert_alias = "entrustgsslca";
+        }
+        elsif ($cert =~ /The Go Daddy Group/)
+        {
+            $cert_alias = "godaddyclass2ca";
+        }
+        elsif ($cert =~ /Starfield Class 2 Certification Authority/)
+        {
+            $cert_alias = "starfieldclass2ca";
+        }
+        elsif ($cert =~ /ValiCert Class 2 Policy Validation Authority/)
+        {
+            $cert_alias = "valicertclass2ca";
+        }
+        elsif ($cert =~ /GeoTrust Global CA$/)
+        {
+            $cert_alias = "geotrustglobalca";
+        }
+        elsif ($cert =~ /Equifax Secure Certificate Authority/)
+        {
+            $cert_alias = "equifaxsecureca";
+        }
+        elsif ($cert =~ /Equifax Secure eBusiness CA-1/)
+        {
+            $cert_alias = "equifaxsecureebusinessca1";
+        }
+        elsif ($cert =~ /Equifax Secure eBusiness CA-2/)
+        {
+            $cert_alias = "equifaxsecureebusinessca2";
+        }
+        elsif ($cert =~ /Equifax Secure Global eBusiness CA-1/)
+        {
+            $cert_alias = "equifaxsecureglobalebusinessca1";
+        }
+        elsif ($cert =~ /Sonera Class1 CA/)
+        {
+            $cert_alias = "soneraclass1ca";
+        }
+        elsif ($cert =~ /Sonera Class2 CA/)
+        {
+            $cert_alias = "soneraclass2ca";
+        }
+        elsif ($cert =~ /AAA Certificate Services/)
+        {
+            $cert_alias = "comodoaaaca";
+        }
+        elsif ($cert =~ /AddTrust Class 1 CA Root/)
+        {
+            $cert_alias = "addtrustclass1ca";
+        }
+        elsif ($cert =~ /AddTrust External CA Root/)
+        {
+            $cert_alias = "addtrustexternalca";
+        }
+        elsif ($cert =~ /AddTrust Qualified CA Root/)
+        {
+            $cert_alias = "addtrustqualifiedca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Hardware/)
+        {
+            $cert_alias = "utnuserfirsthardwareca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Client Authentication and Email/)
+        {
+            $cert_alias = "utnuserfirstclientauthemailca";
+        }
+        elsif ($cert =~ /UTN - DATACorp SGC/)
+        {
+            $cert_alias = "utndatacorpsgcca";
+        }
+        elsif ($cert =~ /UTN-USERFirst-Object/)
+        {
+            $cert_alias = "utnuserfirstobjectca";
+        }
+        elsif ($cert =~ /America Online Root Certification Authority 1/)
+        {
+            $cert_alias = "aolrootca1";
+        }
+        elsif ($cert =~ /DigiCert Assured ID Root CA/)
+        {
+            $cert_alias = "digicertassuredidrootca";
+        }
+        elsif ($cert =~ /DigiCert Global Root CA/)
+        {
+            $cert_alias = "digicertglobalrootca";
+        }
+        elsif ($cert =~ /DigiCert High Assurance EV Root CA/)
+        {
+            $cert_alias = "digicerthighassuranceevrootca";
+        }
+        elsif ($cert =~ /GlobalSign Root CA$/)
+        {
+            $cert_alias = "globalsignca";
+        }
+        elsif ($cert =~ /GlobalSign Root CA - R2/)
+        {
+            $cert_alias = "globalsignr2ca";
+        }
+        elsif ($cert =~ /Elektronik.*Kas.*2005/)
+        {
+            $cert_alias = "extra-elektronikkas2005";
+        }
+        elsif ($cert =~ /Elektronik/)
+        {
+            $cert_alias = "extra-elektronik2005";
+        }
+        # Mozilla does not provide these certificates:
+        #   baltimorecodesigningca
+        #   gtecybertrust5ca
+        #   trustcenterclass2caii
+        #   trustcenterclass4caii
+        #   trustcenteruniversalcai
+        else
+        {
+            # Generate an alias using the OU and CN attributes of the
+            # Issuer field if both are present, otherwise use only the
+            # CN attribute.  The Issuer field must have either the OU
+            # or the CN attribute.
+            $_ = $cert;
+            if ($cert =~ /OU=/)
+            {
+                s/Issuer:.*?OU=//;
+                # Remove other occurrences of OU=.
+                s/OU=.*CN=//;
+                # Remove CN= if there were not other occurrences of OU=.
+                s/CN=//;
+                s/\/emailAddress.*//;
+                s/Certificate Authority/ca/g;
+                s/Certification Authority/ca/g;
+            }
+            elsif ($cert =~ /CN=/)
+            {
+                s/Issuer:.*CN=//;
+                s/\/emailAddress.*//;
+                s/Certificate Authority/ca/g;
+                s/Certification Authority/ca/g;
+            }
+            s/\W//g;
+            tr/A-Z/a-z/;
+            $cert_alias = "extra-$_";
+
+        }
+        while (-e "$cert_alias.pem")
+        {
+            $cert_alias = "$cert_alias" . "_";
+        }
+    }
+    # When it attempts to parse:
+    #
+    # Class 3 Public Primary Certification Authority - G2, Version 3
+    #
+    # keytool says:
+    #
+    # #2: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false
+    # Unparseable AuthorityInfoAccess extension due to
+    # java.io.IOException: Invalid encoding of URI
+    #
+    # If we do not exclude this file
+    # openjdk/jdk/test/lib/security/cacerts/VerifyCACerts.java fails
+    # on this cert, printing:
+    #
+    # Couldn't verify: java.security.SignatureException: Signature
+    # does not match.
+    #
+    elsif ($cert =~
+           /A6:0F:34:C8:62:6C:81:F6:8B:F7:7D:A9:F6:67:58:8A:90:3F:7D:36/)
+    {
+        $write_current_cert = 0;
+        $pem_file_count--;
+    }
+    elsif ($cert eq "-----BEGIN CERTIFICATE-----\n")
+    {
+        $_ = $cert;
+        s/\W//g;
+        tr/A-Z/a-z/;
+        $cert_alias = "extra-$_";
+        while (-e "$cert_alias.pem")
+        {
+            $cert_alias = "$cert_alias" . "_";
+        }
+        if ($in_cert_block != 0)
+        {
+            die "$file is malformed.";
+        }
+        $in_cert_block = 1;
+        if ($write_current_cert == 1)
+        {
+            $pem_file_count++;
+            if (-e "$cert_alias.pem")
+            {
+                print "$cert_alias";
+                die "already exists"
+            }
+            open(PEM, ">$cert_alias.pem");
+            print PEM $cert;
+        }
+    }
+    elsif ($cert eq "-----END CERTIFICATE-----\n")
+    {
+        $in_cert_block = 0;
+        if ($write_current_cert == 1)
+        {
+            print PEM $cert;
+            close(PEM);
+        }
+        $write_current_cert = 1
+    }
+    else
+    {
+        if ($in_cert_block == 1 && $write_current_cert == 1)
+        {
+            print PEM $cert;
+        }
+    }
+}
+
+# Check that the correct number of .pem files were produced.
+@pem_files = <*.pem>;
+if (@pem_files != $pem_file_count)
+{
+    print "$pem_file_count";
+    die "Number of .pem files produced does not match".
+        " number of certs read from $file.";
+}
+
+# Now store each cert in the 'cacerts' file using keytool.
+$certs_written_count = 0;
+foreach $pem_file (@pem_files)
+{
+    system "$ARGV[0] -noprompt -import".
+        " -alias `basename $pem_file .pem`".
+        " -keystore cacerts -storepass 'changeit' -file $pem_file";
+    unlink($pem_file);
+    $certs_written_count++;
+}
+
+# Check that the correct number of certs were added to the keystore.
+if ($certs_written_count != $pem_file_count)
+{
+    die "Number of certs added to keystore does not match".
+        " number of certs read from $file.";
+}
diff --git a/pkgs/development/compilers/icedtea/sources.nix b/pkgs/development/compilers/icedtea/sources.nix
new file mode 100644
index 000000000000..95d6928b3ab4
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/sources.nix
@@ -0,0 +1,56 @@
+# This file is autogenerated from update.py in the same directory.
+{
+  icedtea7 = rec {
+    branch = "2.4";
+    version = "${branch}.5";
+
+    url = "http://icedtea.wildebeest.org/download/source/icedtea-${version}.tar.xz";
+    sha256 = "0nrhbn2q7cm21hpq1f5ds0v0rnsznmdyiifi8w4l1ykyqw9n9yfk";
+
+    hg_url = "http://icedtea.classpath.org/hg/release/icedtea7-forest-${branch}";
+
+    bundles = {
+      openjdk = rec {
+        changeset = "410eb7fef869";
+        url = "${hg_url}/archive/${changeset}.tar.gz";
+        sha256 = "2de151c7275d91ef082e63fcc0957c5f9290404ec6e20ecfa1e752e16bfab707";
+      };
+
+      corba = rec {
+        changeset = "3594dbde270d";
+        url = "${hg_url}/corba/archive/${changeset}.tar.gz";
+        sha256 = "d1f97e143fe94ae3a56b45bb5a90f8ab10ec2be4ff770a788f0a1ac677e27a7d";
+      };
+
+      jaxp = rec {
+        changeset = "8fe156ad49e2";
+        url = "${hg_url}/jaxp/archive/${changeset}.tar.gz";
+        sha256 = "0a2a40186cedfbeb8f87b0bc86bea2830943943081d4289fc74f7a783b2e1af3";
+      };
+
+      jaxws = rec {
+        changeset = "32ea8b1ed91a";
+        url = "${hg_url}/jaxws/archive/${changeset}.tar.gz";
+        sha256 = "08a169b6b02883759ec7a412aa91aa3e37480761cb50b95d092dbcdb2fc9a3d0";
+      };
+
+      jdk = rec {
+        changeset = "9db88c18e114";
+        url = "${hg_url}/jdk/archive/${changeset}.tar.gz";
+        sha256 = "285e5b8ccbb29f3f9f9ea9ea7856d1ed97465c57d091fbcd9b2e55a1ffbb543e";
+      };
+
+      langtools = rec {
+        changeset = "dabd37b7e295";
+        url = "${hg_url}/langtools/archive/${changeset}.tar.gz";
+        sha256 = "86cb370ce2084c4b699d8c002ebe6c026e86206ffa82a2f3d7906aadb94ed79f";
+      };
+
+      hotspot = rec {
+        changeset = "2cb58882dac3";
+        url = "${hg_url}/hotspot/archive/${changeset}.tar.gz";
+        sha256 = "d8c1681ae76e660c1888065933cedbbc1309869c7a2fb98f07c424716d5ebaf9";
+      };
+    };
+  };
+}
diff --git a/pkgs/development/compilers/icedtea/update.py b/pkgs/development/compilers/icedtea/update.py
new file mode 100755
index 000000000000..ba3c5fc51ad1
--- /dev/null
+++ b/pkgs/development/compilers/icedtea/update.py
@@ -0,0 +1,275 @@
+#!/usr/bin/env python3
+
+import subprocess, urllib.request, re, os, tarfile
+from html.parser import HTMLParser
+
+HG_URL = 'http://icedtea.classpath.org/hg/release/icedtea{}-forest-{}'
+DOWNLOAD_URL = 'http://icedtea.wildebeest.org/download/source/'
+DOWNLOAD_HTML = DOWNLOAD_URL + '?C=M;O=D'
+
+ICEDTEA_JDKS = [7]
+
+BUNDLES = ['openjdk', 'corba', 'jaxp', 'jaxws', 'jdk', 'langtools', 'hotspot']
+
+SRC_PATH = './sources.nix'
+
+def get_output(cmd, env = None):
+	try:
+		proc = subprocess.Popen(cmd, env = env, stdout = subprocess.PIPE)
+		out = proc.communicate()[0]
+	except subprocess.CalledProcessError as e:
+		return None
+
+	return out.decode('utf-8').strip()
+
+def nix_prefetch_url(url):
+	env = os.environ.copy()
+	env['PRINT_PATH'] = '1'
+	out = get_output(['nix-prefetch-url', url], env = env)
+
+	return out.split('\n')
+
+def get_nix_attr(path, attr):
+	out = get_output(['nix-instantiate', '--eval-only', '-A', attr, path])
+
+	if len(out) < 2 or out[0] != '"' or out[-1] != '"':
+		raise Exception('Cannot find Nix attribute "{}" (parsing failure?)'.format(attr))
+
+	# Strip quotes
+	return out[1:-1]
+
+def get_jdk_attr(jdk, attr):
+	return get_nix_attr(SRC_PATH, 'icedtea{}.{}'.format(jdk, attr))
+
+class Parser(HTMLParser):
+	def __init__(self, link_regex):
+		HTMLParser.__init__(self)
+
+		self.regex = link_regex
+		self.href = None
+		self.version = None
+
+	def handle_starttag(self, tag, attrs):
+		if self.href != None or tag != 'a':
+			return
+
+		href = None
+		for attr in attrs:
+			if attr[0] == 'href':
+				href = attr[1]
+		if href == None:
+			return
+
+		m = re.match(self.regex, href)
+		if m != None:
+			self.href = href
+			self.version = m.group(1)
+
+def get_latest_version_url(major):
+	f = urllib.request.urlopen(DOWNLOAD_HTML)
+	html = f.read().decode('utf-8')
+	f.close()
+
+	parser = Parser(r'^icedtea\d?-({}\.\d[\d.]*)\.tar\.xz$'.format(major))
+	parser.feed(html)
+	parser.close()
+
+	if parser.href == None:
+		raise Exception('Error: could not find download url for major version "{}"'.format(major))
+
+	return parser.version, DOWNLOAD_URL + parser.href
+
+def get_old_bundle_attrs(jdk, bundle):
+	attrs = {}
+	for attr in ('changeset', 'url', 'sha256'):
+		attrs[attr] = get_jdk_attr(jdk, 'bundles.{}.{}'.format(bundle, attr))
+
+	return attrs
+
+def get_old_attrs(jdk):
+	attrs = {}
+
+	for attr in ('branch', 'version', 'url', 'sha256'):
+		attrs[attr] = get_jdk_attr(jdk, attr)
+
+	attrs['bundles'] = {}
+
+	for bundle in BUNDLES:
+		attrs['bundles'][bundle] = get_old_bundle_attrs(jdk, bundle)
+
+	return attrs
+
+def get_member_filename(tarball, name):
+	for fname in tarball.getnames():
+		m = re.match(r'^icedtea\d?-\d[\d.]*/{}$'.format(name), fname)
+		if m != None:
+			return m.group(0)
+
+	return None
+
+def get_member_file(tarball, name):
+	path = get_member_filename(tarball, name)
+	if path == None:
+		raise Exception('Could not find "{}" inside tarball'.format(name))
+
+	f = tarball.extractfile(path)
+	data = f.read().decode('utf-8')
+	f.close()
+
+	return data
+
+def get_new_bundle_attr(makefile, bundle, attr):
+	var = '{}_{}'.format(bundle.upper(), attr.upper())
+	regex = r'^{} = (.*?)$'.format(var)
+
+	m = re.search(regex, makefile, re.MULTILINE)
+	if m == None:
+		raise Exception('Could not find variable "{}" in Makefile.am'.format(var))
+
+	return m.group(1)
+
+def get_new_bundle_attrs(jdk, branch, path):
+	hg_url = HG_URL.format(jdk, branch)
+
+	attrs = {}
+
+	print('Opening file: "{}"'.format(path))
+	tar = tarfile.open(name = path, mode = 'r:xz')
+
+	makefile = get_member_file(tar, 'Makefile.am')
+	hotspot_map = get_member_file(tar, 'hotspot.map')
+
+	for bundle in BUNDLES:
+		battrs = {}
+
+		if bundle == 'hotspot':
+			m = re.search(r'^default (.*?) (.*?) (.*?)$', hotspot_map, re.MULTILINE)
+			if m == None:
+				raise Exception('Could not find info for hotspot bundle in hotspot.map')
+
+			battrs['url'] = '{}/archive/{}.tar.gz'.format(m.group(1), m.group(2))
+			battrs['changeset'] = m.group(2)
+			battrs['sha256'] = m.group(3)
+
+			attrs[bundle] = battrs
+			continue
+
+		changeset = get_new_bundle_attr(makefile, bundle, 'changeset')
+		battrs['changeset'] = changeset
+		battrs['sha256'] = get_new_bundle_attr(makefile, bundle, 'sha256sum')
+
+		if bundle == 'openjdk':
+			battrs['url'] = '{}/archive/{}.tar.gz'.format(hg_url, changeset)
+		else:
+			battrs['url'] = '{}/{}/archive/{}.tar.gz'.format(hg_url, bundle, changeset)
+
+		attrs[bundle] = battrs
+
+	tar.close()
+
+	return attrs
+
+def get_new_attrs(jdk):
+	print('Getting old attributes for JDK {}...'.format(jdk))
+	old_attrs = get_old_attrs(jdk)
+	attrs = {}
+
+	# The major version corresponds to a specific JDK (1 = OpenJDK6, 2 = OpenJDK7, 3 = OpenJDK8)
+	major = jdk - 5
+
+	print('Getting latest version for JDK {}...'.format(jdk))
+	version, url = get_latest_version_url(major)
+
+	print()
+	print('Old version: {}'.format(old_attrs['version']))
+	print('New version: {}'.format(version))
+	print()
+
+	if version == old_attrs['version']:
+		print('No update available, skipping...')
+		print()
+		return old_attrs
+
+	print('Update available, generating new attributes for JDK {}...'.format(jdk))
+
+	attrs['version'] = version
+	attrs['branch'] = '.'.join(version.split('.')[:2])
+	attrs['url'] = url
+
+	print('Downloading tarball from url "{}"...'.format(url))
+	print()
+	attrs['sha256'], path = nix_prefetch_url(url)
+	print()
+
+	print('Inspecting tarball for bundle information...')
+
+	attrs['bundles'] = get_new_bundle_attrs(jdk, attrs['branch'], path)
+
+	print('Done!')
+
+	return attrs
+
+def generate_jdk(jdk):
+	attrs = get_new_attrs(jdk)
+
+	branch = attrs['branch']
+	src_version = attrs['version'].replace(branch, '${branch}')
+	src_url = attrs['url'].replace(attrs['version'], '${version}')
+
+	hg_url = HG_URL.format(jdk, branch)
+	src_hg_url = HG_URL.format(jdk, '${branch}')
+
+	src =  '  icedtea{} = rec {{\n'.format(jdk)
+	src += '    branch = "{}";\n'.format(branch)
+	src += '    version = "{}";\n'.format(src_version)
+	src += '\n'
+	src += '    url = "{}";\n'.format(src_url)
+	src += '    sha256 = "{}";\n'.format(attrs['sha256'])
+	src += '\n'
+	src += '    hg_url = "{}";\n'.format(src_hg_url)
+	src += '\n'
+	src += '    bundles = {\n'
+
+	for bundle in BUNDLES:
+		battrs = attrs['bundles'][bundle]
+
+		b_url = battrs['url']
+		b_url = b_url.replace(hg_url, '${hg_url}')
+		b_url = b_url.replace(battrs['changeset'], '${changeset}')
+
+		src += '      {} = rec {{\n'.format(bundle)
+		src += '        changeset = "{}";\n'.format(battrs['changeset'])
+		src += '        url = "{}";\n'.format(b_url)
+		src += '        sha256 = "{}";\n'.format(battrs['sha256'])
+		src += '      };\n'
+
+		if bundle != BUNDLES[-1]:
+			src += '\n'
+
+	src += '    };\n'
+	src += '  };\n'
+
+	return src
+
+def generate_sources(jdks):
+	src = '# This file is autogenerated from update.py in the same directory.\n'
+	src += '{\n'
+
+	for jdk in jdks:
+		print()
+		print('Generating sources for JDK {}...'.format(jdk))
+		src += generate_jdk(jdk)
+
+	src += '}\n'
+	return src
+
+if __name__ == '__main__':
+	print('Generating {}...'.format(SRC_PATH))
+	src = generate_sources(ICEDTEA_JDKS)
+
+	f = open(SRC_PATH, 'w', encoding = 'utf-8')
+	f.write(src)
+	f.close()
+
+	print()
+	print('Update complete!')
diff --git a/pkgs/development/compilers/julia/0.2.1.nix b/pkgs/development/compilers/julia/0.2.1.nix
new file mode 100644
index 000000000000..f7d20a1e01f0
--- /dev/null
+++ b/pkgs/development/compilers/julia/0.2.1.nix
@@ -0,0 +1,140 @@
+{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
+ , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
+ , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
+ , tcl, tk, xproto, libX11, git, mpfr
+ } :
+let
+  realGcc = stdenv.gcc.gcc;
+in
+stdenv.mkDerivation rec {
+  pname = "julia";
+  version = "0.2.1";
+  name = "${pname}-${version}";
+
+  grisu_ver = "1.1.1";
+  dsfmt_ver = "2.2";
+  openblas_ver = "v0.2.2";
+  lapack_ver = "3.4.1";
+  arpack_ver = "3.1.3";
+  clp_ver = "1.14.5";
+  lighttpd_ver = "1.4.29";
+  patchelf_ver = "0.6";
+  pcre_ver = "8.31";
+
+  grisu_src = fetchurl {
+    url = "http://double-conversion.googlecode.com/files/double-conversion-${grisu_ver}.tar.gz";
+    sha256 = "e1cabb73fd69e74f145aea91100cde483aef8b79dc730fcda0a34466730d4d1d";
+  };
+  dsfmt_src = fetchurl {
+    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz";
+    name = "dsfmt-${dsfmt_ver}.tar.gz";
+    sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899";
+  };
+  openblas_src = fetchurl {
+    url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}";
+    name = "openblas-${openblas_ver}.tar.gz";
+    sha256 = "19ffec70f9678f5c159feadc036ca47720681b782910fbaa95aa3867e7e86d8e";
+  };
+  arpack_src = fetchurl {
+    url = "http://forge.scilab.org/index.php/p/arpack-ng/downloads/607/get/";
+    name = "arpack-ng-${arpack_ver}.tar.gz";
+    sha256 = "039w7j3dr1xy35a3hp92zg2g92gmjq6xsv0g4awlb4cffy09nr2d";
+  };
+  lapack_src = fetchurl {
+    url = "http://www.netlib.org/lapack/lapack-${lapack_ver}.tgz";
+    name = "lapack-${lapack_ver}.tgz";
+    sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
+  };
+  clp_src = fetchurl {
+    url = "http://www.coin-or.org/download/source/Clp/Clp-${clp_ver}.tgz";
+    name = "clp-${clp_ver}.tar.gz";
+    sha256 = "e6cabe8b4319c17a9bbe6fe172194ab6cd1fe6e376f5e9969d3040636ea3a817";
+  };
+  lighttpd_src = fetchurl {
+    url = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${lighttpd_ver}.tar.gz";
+    sha256 = "ff9f4de3901d03bb285634c5b149191223d17f1c269a16c863bac44238119c85";
+  };
+  patchelf_src = fetchurl {
+    url = "http://hydra.nixos.org/build/1524660/download/2/patchelf-${patchelf_ver}.tar.bz2";
+    sha256 = "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw";
+  };
+  pcre_src = fetchurl {
+    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${pcre_ver}.tar.bz2";
+    sha256 = "0g4c0z4h30v8g8qg02zcbv7n67j5kz0ri9cfhgkpwg276ljs0y2p";
+  };
+
+  src = fetchgit {
+    url = "git://github.com/JuliaLang/julia.git";
+    rev = "e44b5939057d87c1e854077108a1a6d66203f4fa";
+    sha256 = "7ee0f267bc1ae286764ced3c0c695c335a6f8d67bd7b3ca7e4de259333c9426a";
+  };
+
+  buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
+    fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
+    openblas liblapack tcl tk xproto libX11 git mpfr
+    ];
+
+  configurePhase = ''
+    for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB MPFR;
+    do
+      makeFlags="$makeFlags USE_SYSTEM_$i=1 "
+    done
+
+    copy_kill_hash(){
+      cp "$1" "$2/$(basename "$1" | sed -e 's/^[a-z0-9]*-//')"
+    }
+
+    for i in "${grisu_src}" "${dsfmt_src}" "${arpack_src}" "${clp_src}" "${patchelf_src}" "${pcre_src}" ; do
+      copy_kill_hash "$i" deps
+    done
+    copy_kill_hash "${dsfmt_src}" deps/random
+
+    ${if realGcc ==null then "" else 
+    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz -lgmp -lmpfr"''}
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC "
+
+    export LDFLAGS="-L${suitesparse}/lib -L$out/lib/julia -Wl,-rpath,$out/lib/julia"
+
+    export GLPK_PREFIX="${glpk}/include"
+
+    mkdir -p "$out/lib"
+    sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile
+    sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile
+
+    export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}"
+
+    export dontPatchELF=1
+
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$PWD/usr/lib:$PWD/usr/lib/julia"
+  '';
+
+  preBuild = ''
+    mkdir -p usr/lib
+    
+    echo "$out"
+    mkdir -p "$out/lib"
+    (
+    cd "$(mktemp -d)"
+    for i in "${suitesparse}"/lib/lib*.a; do
+      ar -x $i
+    done
+    gcc *.o --shared -o "$out/lib/libsuitesparse.so"
+    )
+    cp "$out/lib/libsuitesparse.so" usr/lib
+    for i in umfpack cholmod amd camd colamd spqr; do
+      ln -s libsuitesparse.so "$out"/lib/lib$i.so;
+      ln -s libsuitesparse.so "usr"/lib/lib$i.so;
+    done
+  '';
+
+  preInstall = ''
+  '';
+
+  meta = {
+    description = "High-level performance-oriented dynamical language for technical computing";
+    homepage = "http://julialang.org/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/git-20131013.nix
index ae550f5692d8..ae550f5692d8 100644
--- a/pkgs/development/compilers/julia/default.nix
+++ b/pkgs/development/compilers/julia/git-20131013.nix
diff --git a/pkgs/development/compilers/llvm/3.4/clang.nix b/pkgs/development/compilers/llvm/3.4/clang.nix
index 6bb5622d0cf5..7032056f7e47 100644
--- a/pkgs/development/compilers/llvm/3.4/clang.nix
+++ b/pkgs/development/compilers/llvm/3.4/clang.nix
@@ -28,7 +28,11 @@ stdenv.mkDerivation {
   (stdenv.lib.optional (stdenv.gcc.gcc != null) "-DGCC_INSTALL_PREFIX=${stdenv.gcc.gcc}");
 
   # Clang expects to find LLVMgold in its own prefix
-  postInstall = "ln -sv ${llvm}/lib/LLVMgold.so $out/lib";
+  # Clang expects to find sanitizer libraries in its own prefix
+  postInstall = ''
+    ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+    ln -sv ${llvm}/lib/clang/3.4/lib $out/lib/clang/3.4/
+  '';
 
   passthru.gcc = stdenv.gcc.gcc;
 
diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix
index a3b80c02545b..37acb4f6d1f2 100644
--- a/pkgs/development/compilers/pakcs/default.nix
+++ b/pkgs/development/compilers/pakcs/default.nix
@@ -6,7 +6,7 @@ let
 
   fsrc = fetchurl {
     url = "http://www.informatik.uni-kiel.de/~pakcs/download/${fname}-src.tar.gz";
-    sha256 = "006bq6cmycq2f4xb3zmnmxyngj64hppk3a083hy0qzj7gl77zvfw";
+    sha256 = "165f29zgb7ldl51zfwgc31fk6a67w0gznp5lhvb6i5m013g2ddi8";
   };
 
 in
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 6964d8ac8040..b122248bb231 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -22,11 +22,11 @@ let
       '';
 in
 stdenv.mkDerivation rec {
-  name = "SDL2-2.0.2";
+  name = "SDL2-2.0.3";
 
   src = fetchurl {
     url = "http://www.libsdl.org/release/${name}.tar.gz";
-    sha256 = "0l78h3wlirnxxrdw3kkm9amhgjn6xrs9l5j871r552wabbw5f0ar";
+    sha256 = "0369ngvb46x6c26h8zva4x22ywgy6mvn0wx87xqwxg40pxm9m9m5";
   };
 
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 040123d42766..3614d149489d 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, clutter, gtk3 }:
+{ fetchurl, stdenv, pkgconfig, gobjectIntrospection, clutter, gtk3 }:
 
 stdenv.mkDerivation rec {
   name = "clutter-gtk-1.4.4";
@@ -9,9 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   propagatedBuildInputs = [ clutter gtk3 ];
-  nativeBuildInputs = [ pkgconfig ];
-
-  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
 
   postBuild = "rm -rf $out/share/gtk-doc";
 
diff --git a/pkgs/development/libraries/concurrencykit/default.nix b/pkgs/development/libraries/concurrencykit/default.nix
new file mode 100644
index 000000000000..59de923ad43d
--- /dev/null
+++ b/pkgs/development/libraries/concurrencykit/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name    = "concurrencykit-${version}";
+  version = "0.4.1";
+
+  src = fetchurl {
+    url    = "http://concurrencykit.org/releases/ck-${version}.tar.gz";
+    sha256 = "1gi5gpkxvbb6vkhjm9kab7dz1av2i11f1pggxp001rqq2mi3i6aq";
+  };
+
+  meta = {
+    description = "A library of safe, high-performance concurrent data structures";
+    homepage    = "http://concurrencykit.org";
+    license     = stdenv.lib.licenses.bsd2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index de9fb27b4ec2..6217bc461249 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -5,7 +5,7 @@
 # Options from inherited versions
 , version, sha256
 , extraPatches ? [ ]
-, license ? "Berkeley Database License"
+, license ? stdenv.lib.licenses.sleepycat
 }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     url = "http://download.oracle.com/berkeley-db/${name}.tar.gz";
     sha256 = sha256;
   };
-  
+
   patches = extraPatches;
 
   configureFlags = [
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 94d3688eb1ce..90233abe31c1 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, python
+{ stdenv, fetchurl, pkgconfig, python, gobjectIntrospection
 , gnonlin, libxml2
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     sha256 = "1n7nw8rqvwna9af55lggah44gdvfgld1igvgaya8glc37wpq89b0";
   };
 
-  nativeBuildInputs = [ pkgconfig python ];
+  nativeBuildInputs = [ pkgconfig python gobjectIntrospection ];
 
   propagatedBuildInputs = [ gnonlin libxml2 ];
 }
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
index 843822b0748d..9a526de05b1c 100644
--- a/pkgs/development/libraries/gstreamer/python/default.nix
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "09c6yls8ipbmwimdjr7xi3hvf2xa1xn1pv07855r7wfyzas1xbl1";
   };
 
+  patches = [ ./different-path-with-pygobject.patch ];
+
   buildInputs =
     [ pkgconfig gst-plugins-base pygtk pygobject3 ]
     ;
diff --git a/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch b/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch
new file mode 100644
index 000000000000..7326b3630f70
--- /dev/null
+++ b/pkgs/development/libraries/gstreamer/python/different-path-with-pygobject.patch
@@ -0,0 +1,20 @@
+diff -Nru gst-python-1.2.0-orig/gi/overrides/Makefile.in gst-python-1.2.0/gi/overrides/Makefile.in
+--- gst-python-1.2.0-orig/gi/overrides/Makefile.in	2014-03-22 21:47:56.235364405 +0800
++++ gst-python-1.2.0/gi/overrides/Makefile.in	2014-03-22 21:48:28.737958066 +0800
+@@ -356,7 +356,7 @@
+ 
+ # We install everything in the gi/overrides folder
+ pygioverridesdir = $(PYGI_OVERRIDES_DIR)
+-pygioverrides_PYTHON = Gst.py GstPbutils.py
++pygioverrides_PYTHON = Gst.py GstPbutils.py __init__.py
+ pygioverridesexecdir = $(PYGI_OVERRIDES_DIR)
+ EXTRA_DIST = Gst.py
+ INCLUDES = $(PYTHON_INCLUDES)
+diff -Nru gst-python-1.2.0-orig/gi/overrides/__init__.py gst-python-1.2.0/gi/overrides/__init__.py
+--- gst-python-1.2.0-orig/gi/overrides/__init__.py	1970-01-01 08:00:00.000000000 +0800
++++ gst-python-1.2.0/gi/overrides/__init__.py	2014-03-22 21:48:15.442124287 +0800
+@@ -0,0 +1,4 @@
++from pkgutil import extend_path
++
++__path__ = extend_path(__path__, __name__)
++print(__path__, __name__)
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 083d0a10cdf8..73b74a12c66b 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -2,7 +2,7 @@
 , glib, dbus, udev, udisks2, libgcrypt
 , libgphoto2, avahi, libarchive, fuse, libcdio
 , libxml2, libxslt, docbook_xsl
-, lightWeight ? true, gnome, samba, makeWrapper }:
+, lightWeight ? true, gnome, samba, libgnome_keyring, gconf, makeWrapper }:
 
 let
   ver_maj = "1.18";
diff --git a/pkgs/development/libraries/haskell/DAV/default.nix b/pkgs/development/libraries/haskell/DAV/default.nix
index 84ef157613e9..1fc28b4e50b0 100644
--- a/pkgs/development/libraries/haskell/DAV/default.nix
+++ b/pkgs/development/libraries/haskell/DAV/default.nix
@@ -15,6 +15,7 @@ cabal.mkDerivation (self: {
     lens liftedBase monadControl mtl network optparseApplicative
     transformers transformersBase xmlConduit xmlHamlet
   ];
+  jailbreak = true;
   meta = {
     homepage = "http://floss.scru.org/hDAV";
     description = "RFC 4918 WebDAV support";
diff --git a/pkgs/development/libraries/haskell/HList/default.nix b/pkgs/development/libraries/haskell/HList/default.nix
index fda43c09baf1..15a7741d3351 100644
--- a/pkgs/development/libraries/haskell/HList/default.nix
+++ b/pkgs/development/libraries/haskell/HList/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HList";
-  version = "0.3.4.0";
-  sha256 = "0jx0bfsc17c6bx621n7k0wfa5s59kcpi45p6wr8g4gyw846hjw9q";
+  version = "0.3.4.1";
+  sha256 = "02hw496qv2p0nnbz7lq7jfqnis19qqjsylyvdksqbwmjprk32rh2";
   buildDepends = [ mtl tagged ];
   testDepends = [ cmdargs doctest filepath hspec lens mtl syb ];
   buildTools = [ diffutils ];
diff --git a/pkgs/development/libraries/haskell/attempt/default.nix b/pkgs/development/libraries/haskell/attempt/default.nix
index c000002d4998..2546748ee1ed 100644
--- a/pkgs/development/libraries/haskell/attempt/default.nix
+++ b/pkgs/development/libraries/haskell/attempt/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "attempt";
-  version = "0.4.0";
-  sha256 = "0n7srd1gy1fa0q1qzizvdgmrc078jyx47115aw85vvl74vh9qyjy";
+  version = "0.4.0.1";
+  sha256 = "1gvq04ds62kk88r2210mxd1fggp6vf5p8j5hci9vqkkss1hy9rxh";
   buildDepends = [ failure ];
   meta = {
     homepage = "http://github.com/snoyberg/attempt/tree/master";
-    description = "Concrete data type for handling extensible exceptions as failures";
+    description = "Concrete data type for handling extensible exceptions as failures. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/authenticate/default.nix b/pkgs/development/libraries/haskell/authenticate/default.nix
index f0a1969ffbab..884f4175ba5b 100644
--- a/pkgs/development/libraries/haskell/authenticate/default.nix
+++ b/pkgs/development/libraries/haskell/authenticate/default.nix
@@ -1,16 +1,17 @@
 { cabal, aeson, attoparsec, blazeBuilder, caseInsensitive, conduit
-, httpConduit, httpTypes, network, tagsoup, text, transformers
-, unorderedContainers, xmlConduit
+, httpConduit, httpTypes, monadControl, network, resourcet
+, tagstreamConduit, text, transformers, unorderedContainers
+, xmlConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "authenticate";
-  version = "1.3.2.6";
-  sha256 = "12sgi6q6kajjhh8mns9nklxj0kwn32xs5kzi7wmw50shx0smnjrz";
+  version = "1.3.2.8";
+  sha256 = "1ylijkj32li9nm4x16d66h6a74q07m4v3n2dqm67by548wfyh1j9";
   buildDepends = [
     aeson attoparsec blazeBuilder caseInsensitive conduit httpConduit
-    httpTypes network tagsoup text transformers unorderedContainers
-    xmlConduit
+    httpTypes monadControl network resourcet tagstreamConduit text
+    transformers unorderedContainers xmlConduit
   ];
   meta = {
     homepage = "http://github.com/yesodweb/authenticate";
diff --git a/pkgs/development/libraries/haskell/basic-prelude/default.nix b/pkgs/development/libraries/haskell/basic-prelude/default.nix
index 8d31acb399f8..807b80b81228 100644
--- a/pkgs/development/libraries/haskell/basic-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/basic-prelude/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "basic-prelude";
-  version = "0.3.6.0";
-  sha256 = "1sm89mva8vkhqp230g965b0k4n3g0c8w4sfsad8m1wh434g3k732";
+  version = "0.3.7";
+  sha256 = "1lk4f41f226v7na1cw0c8y62lm3pgwmn4560g1wmhvyxcj7185q5";
   buildDepends = [
     hashable liftedBase ReadArgs safe systemFilepath text transformers
     unorderedContainers vector
diff --git a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
index 8c4f2af654e1..9a013c9f2453 100644
--- a/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
+++ b/pkgs/development/libraries/haskell/bytestring-lexing/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "bytestring-lexing";
-  version = "0.4.3.1";
-  sha256 = "1n0sk1xqwkj4whp0gav7hwr33xqmwl3ylqfnqix8wbwz6xpg9ygn";
+  version = "0.4.3.2";
+  sha256 = "09ymg1n21668wn4harxg0cqlz98fz990bangpy99w2z7d6cwbc05";
   buildTools = [ alex ];
   meta = {
     homepage = "http://code.haskell.org/~wren/";
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix
new file mode 100644
index 000000000000..aa8996b0fc3f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.2.0.0.nix
@@ -0,0 +1,17 @@
+{ cabal, deepseq, hashable, HUnit, testFramework
+, testFrameworkHunit, text
+}:
+
+cabal.mkDerivation (self: {
+  pname = "case-insensitive";
+  version = "1.2.0.0";
+  sha256 = "0ybdmqaqh9hdl3dl5kx8qhs4b67g78fhnkqnd3y2lpgqjvhnbzp4";
+  buildDepends = [ deepseq hashable text ];
+  testDepends = [ HUnit testFramework testFrameworkHunit text ];
+  meta = {
+    homepage = "https://github.com/basvandijk/case-insensitive";
+    description = "Case insensitive string comparison";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/classy-prelude/default.nix b/pkgs/development/libraries/haskell/classy-prelude/default.nix
index 99fa5a138b8a..6768e6cfda33 100644
--- a/pkgs/development/libraries/haskell/classy-prelude/default.nix
+++ b/pkgs/development/libraries/haskell/classy-prelude/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "classy-prelude";
-  version = "0.8.1.1";
-  sha256 = "14iq0zdmw4f2i3c282hs89c4a763wcm7vn5n0f6kcvcpjgjyahgi";
+  version = "0.8.2";
+  sha256 = "1kvab1vns1mp0i0nyn0flg2m6f2sl8w1yr2c0x54172f20rdm5lv";
   buildDepends = [
     basicPrelude chunkedData enclosedExceptions hashable liftedBase
     monoTraversable semigroups systemFilepath text time transformers
diff --git a/pkgs/development/libraries/haskell/conduit-combinators/default.nix b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
index 4799a0f63f5c..5431f3dbe3a1 100644
--- a/pkgs/development/libraries/haskell/conduit-combinators/default.nix
+++ b/pkgs/development/libraries/haskell/conduit-combinators/default.nix
@@ -1,21 +1,21 @@
-{ cabal, base16Bytestring, base64Bytestring, basicPrelude
-, chunkedData, conduit, hspec, monoTraversable, mwcRandom
-, primitive, silently, systemFileio, systemFilepath, text
-, transformers, transformersBase, unixCompat, vector, void
+{ cabal, base16Bytestring, base64Bytestring, chunkedData, conduit
+, hspec, monoTraversable, mwcRandom, primitive, silently
+, systemFileio, systemFilepath, text, transformers
+, transformersBase, unixCompat, vector, void
 }:
 
 cabal.mkDerivation (self: {
   pname = "conduit-combinators";
-  version = "0.2.3";
-  sha256 = "05sb1v6rciaj7cj6lxv6pf9ai0k3q6cvvflcb4a7q6ql9xr3j7pr";
+  version = "0.2.3.1";
+  sha256 = "078i0727nhy75y6bxav6sxr1gz9cq04nvskdnzwabljppd34dqg4";
   buildDepends = [
     base16Bytestring base64Bytestring chunkedData conduit
     monoTraversable mwcRandom primitive systemFileio systemFilepath
     text transformers transformersBase unixCompat vector void
   ];
   testDepends = [
-    base16Bytestring base64Bytestring basicPrelude chunkedData hspec
-    monoTraversable mwcRandom silently text transformers vector
+    base16Bytestring base64Bytestring chunkedData hspec monoTraversable
+    mwcRandom silently systemFilepath text transformers vector
   ];
   meta = {
     homepage = "https://github.com/fpco/conduit-combinators";
diff --git a/pkgs/development/libraries/haskell/conduit-extra/default.nix b/pkgs/development/libraries/haskell/conduit-extra/default.nix
new file mode 100644
index 000000000000..82ab990947d9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/conduit-extra/default.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "conduit-extra";
+  version = "1.0.0";
+  sha256 = "120c3zay8svdw3b9nqgxlrj45a1d4xf0sijkg367m7hp22szvz8a";
+  noHaddock = true;
+  meta = {
+    homepage = "http://github.com/snoyberg/conduit";
+    description = "Temporary placeholder package";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix b/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix
index 501edf03ae09..78c0c1016592 100644
--- a/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash-conduit/default.nix
@@ -1,10 +1,13 @@
-{ cabal, conduit, cryptohash, transformers }:
+{ cabal, conduit, conduitExtra, cryptohash, resourcet, transformers
+}:
 
 cabal.mkDerivation (self: {
   pname = "cryptohash-conduit";
-  version = "0.1.0";
-  sha256 = "08x45dy5crxc63gd4psryrzprz7lc5hbzjl23q56c3iqbvrx2r7w";
-  buildDepends = [ conduit cryptohash transformers ];
+  version = "0.1.1";
+  sha256 = "1kmlskgb0jx8hkzdncr24aqir9k1kyfcb2rypvkdld1yin4nslga";
+  buildDepends = [
+    conduit conduitExtra cryptohash resourcet transformers
+  ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cryptohash-conduit";
     description = "cryptohash conduit";
diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix
index b888ce6153ab..cefa8fbbdf8e 100644
--- a/pkgs/development/libraries/haskell/cryptohash/default.nix
+++ b/pkgs/development/libraries/haskell/cryptohash/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cryptohash";
-  version = "0.11.2";
-  sha256 = "0az2p7lql1lchl85ca26b5sbvhqsv47daavyfqy84qmr3w3wyr28";
+  version = "0.11.4";
+  sha256 = "1laakkc1xzp2bmai0sfi86784wharqbyanlp1d1f1q6nj318by3y";
   buildDepends = [ byteable ];
   testDepends = [
     byteable HUnit QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/digestive-functors/default.nix b/pkgs/development/libraries/haskell/digestive-functors/default.nix
index 4abea9429a5b..d0bd50e584b8 100644
--- a/pkgs/development/libraries/haskell/digestive-functors/default.nix
+++ b/pkgs/development/libraries/haskell/digestive-functors/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "digestive-functors";
-  version = "0.7.0.0";
-  sha256 = "1zn8vn6xcmp4w39b0k33bp7zsxvnn8g8p26mch4r8ng9ldcb2y8h";
+  version = "0.7.1.0";
+  sha256 = "0ry0ircxs6ml4wdz6hrn3jnyhniwdnn1dn21imq3kv68jlhfn3by";
   buildDepends = [ mtl text time ];
   testDepends = [
     HUnit mtl QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/failure/default.nix b/pkgs/development/libraries/haskell/failure/default.nix
index bc2821e3e8c5..9c0edece3029 100644
--- a/pkgs/development/libraries/haskell/failure/default.nix
+++ b/pkgs/development/libraries/haskell/failure/default.nix
@@ -2,12 +2,12 @@
 
 cabal.mkDerivation (self: {
   pname = "failure";
-  version = "0.2.0.1";
-  sha256 = "05k62sb2xj4ddjwsbfldxkap7v5kmv04qzic4sszx5i3ykbf20fd";
+  version = "0.2.0.2";
+  sha256 = "0hvcsn7qx00613f23vvb3vjpjlcy0nfavsai9f6s3yvmyssk5kfv";
   buildDepends = [ transformers ];
   meta = {
     homepage = "http://www.haskell.org/haskellwiki/Failure";
-    description = "A simple type class for success/failure computations";
+    description = "A simple type class for success/failure computations. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/git-date/default.nix b/pkgs/development/libraries/haskell/git-date/default.nix
new file mode 100644
index 000000000000..9124da6c7a6f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/git-date/default.nix
@@ -0,0 +1,19 @@
+{ cabal, QuickCheck, testFramework, testFrameworkQuickcheck2, time
+, utf8String
+}:
+
+cabal.mkDerivation (self: {
+  pname = "git-date";
+  version = "0.2.1";
+  sha256 = "17xiim439igg1gfcfwpzxjkgpmfqqh9v79jm4bg0f9h5dijij79l";
+  buildDepends = [ time utf8String ];
+  testDepends = [
+    QuickCheck testFramework testFrameworkQuickcheck2 time utf8String
+  ];
+  meta = {
+    homepage = "https://github.com/singpolyma/git-date-haskell";
+    description = "Bindings to the date parsing from Git";
+    license = self.stdenv.lib.licenses.gpl2;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index e027111c6b6b..cd051bd938c9 100644
--- a/pkgs/development/libraries/haskell/hakyll/default.nix
+++ b/pkgs/development/libraries/haskell/hakyll/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hakyll";
-  version = "4.4.3.2";
-  sha256 = "1n597q4pbdka7g06524j0zvjcjpv7fgf6mga1a0kfr012sf9cqz9";
+  version = "4.5.0.0";
+  sha256 = "19rmib508zcaada7xj0p84dbkjwzfiaxaszpmc763wlpx15azw8z";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -26,12 +26,6 @@ cabal.mkDerivation (self: {
     testFrameworkHunit testFrameworkQuickcheck2 text time
   ];
   doCheck = false;
-  patchPhase = ''
-    sed -i -e 's|blaze-markup.*,|blaze-markup,|' \
-      -e 's|blaze-html.*,|blaze-html,|' \
-      -e 's|pandoc-citeproc.*,|pandoc-citeproc,|' \
-      -e 's|regex-tdfa.*,|regex-tdfa,|' hakyll.cabal
-  '';
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
     description = "A static website compiler library";
diff --git a/pkgs/development/libraries/haskell/hastache/default.nix b/pkgs/development/libraries/haskell/hastache/default.nix
index c864c7e0a5ff..20fc429fc63e 100644
--- a/pkgs/development/libraries/haskell/hastache/default.nix
+++ b/pkgs/development/libraries/haskell/hastache/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hastache";
-  version = "0.5.1";
-  sha256 = "05lm7mjzc1hamxcj8akq06081bhp907hrjdkhas3wzm6ran6rwn3";
+  version = "0.6.0";
+  sha256 = "1z609mhsc875ba3k6mlmlqpmqlwgxpav2asnf83yzq1q7bfs0cxh";
   buildDepends = [
     blazeBuilder filepath ieee754 mtl syb text transformers utf8String
   ];
diff --git a/pkgs/development/libraries/haskell/html-conduit/default.nix b/pkgs/development/libraries/haskell/html-conduit/default.nix
index bff7c352175d..244b1c2dcce2 100644
--- a/pkgs/development/libraries/haskell/html-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/html-conduit/default.nix
@@ -1,14 +1,15 @@
-{ cabal, conduit, hspec, HUnit, resourcet, systemFilepath
-, tagstreamConduit, text, transformers, xmlConduit, xmlTypes
+{ cabal, conduit, conduitExtra, hspec, HUnit, resourcet
+, systemFilepath, tagstreamConduit, text, transformers, xmlConduit
+, xmlTypes
 }:
 
 cabal.mkDerivation (self: {
   pname = "html-conduit";
-  version = "1.1.0.2";
-  sha256 = "12a5hb9sf4sd11sjhwwp84k8whkxs7hqfyni2hi247fii2ldkfax";
+  version = "1.1.0.4";
+  sha256 = "1bl6h38fvhiidzxly49l7jickcg0s4fy59m4cizfjarxll9cspwb";
   buildDepends = [
-    conduit resourcet systemFilepath tagstreamConduit text transformers
-    xmlConduit xmlTypes
+    conduit conduitExtra resourcet systemFilepath tagstreamConduit text
+    transformers xmlConduit xmlTypes
   ];
   testDepends = [ hspec HUnit xmlConduit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix
index 87a48bbdd398..7ebdd3cee6aa 100644
--- a/pkgs/development/libraries/haskell/http-client/default.nix
+++ b/pkgs/development/libraries/haskell/http-client/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-client";
-  version = "0.2.2.3";
-  sha256 = "0li4mfw5lm0y0m3l3r7cbmhbch7ap9n2067jqw1l0qjm8s74nqkh";
+  version = "0.2.2.4";
+  sha256 = "19dymsi39m2m7i99xsmcl9gigqm6jhynnv0w8w230mq8vraq1mcw";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive cookie
     dataDefaultClass deepseq failure httpTypes network publicsuffixlist
diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
index 1e1b0117a2f9..957dbe020069 100644
--- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
+++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
@@ -1,17 +1,19 @@
-{ cabal, async, basicPrelude, blazeBuilder, caseInsensitive
-, conduit, dataDefaultClass, hspec, httpClient, httpConduit
+{ cabal, async, blazeBuilder, caseInsensitive, conduit
+, conduitExtra, dataDefaultClass, hspec, httpClient, httpConduit
 , httpTypes, liftedBase, monadControl, network, networkConduit
-, resourcet, text, transformers, wai, waiLogger, warp, word8
+, resourcet, streamingCommons, text, transformers, wai, waiLogger
+, warp, word8
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-reverse-proxy";
-  version = "0.3.1.1";
-  sha256 = "02aksdkwhdxzc4kk7j3npbiqpm9px3yva0375mk1b1f2g552g5jj";
+  version = "0.3.1.4";
+  sha256 = "0j7k6njyp3qss08gja5p62zvqxdh7bpqfbzvkm23gdv8v1bgh5h6";
   buildDepends = [
-    async basicPrelude blazeBuilder caseInsensitive conduit
+    async blazeBuilder caseInsensitive conduit conduitExtra
     dataDefaultClass httpClient httpTypes liftedBase monadControl
-    network networkConduit resourcet text wai waiLogger word8
+    network networkConduit resourcet streamingCommons text transformers
+    wai waiLogger word8
   ];
   testDepends = [
     blazeBuilder conduit hspec httpConduit httpTypes liftedBase network
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index ed24e1ede749..ab523e07cf25 100644
--- a/pkgs/development/libraries/haskell/http-types/default.nix
+++ b/pkgs/development/libraries/haskell/http-types/default.nix
@@ -6,6 +6,7 @@ cabal.mkDerivation (self: {
   sha256 = "02l1lhl2ajbm5f7zq363nlb21dpdg1m0qsy330arccmds7z9g7a2";
   buildDepends = [ blazeBuilder caseInsensitive text ];
   testDepends = [ blazeBuilder hspec QuickCheck text ];
+  jailbreak = true;
   meta = {
     homepage = "https://github.com/aristidb/http-types";
     description = "Generic HTTP types for Haskell (for both client and server code)";
diff --git a/pkgs/development/libraries/haskell/language-c-quote/default.nix b/pkgs/development/libraries/haskell/language-c-quote/default.nix
index 94eb72633de3..3f4ec1e54d82 100644
--- a/pkgs/development/libraries/haskell/language-c-quote/default.nix
+++ b/pkgs/development/libraries/haskell/language-c-quote/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c-quote";
-  version = "0.7.6";
-  sha256 = "15sfasbrr9wzqkwv9xg9nvb3gnn4drkll3b3cappiyzkmawp2hkr";
+  version = "0.7.7";
+  sha256 = "0rj508hfv9xf30rfjhalz3yfb15vp4r4acdj8aahwfnbls2qb37v";
   buildDepends = [
     exceptionMtl exceptionTransformers filepath haskellSrcMeta
     mainlandPretty mtl srcloc syb symbol
diff --git a/pkgs/development/libraries/haskell/language-c/default.nix b/pkgs/development/libraries/haskell/language-c/default.nix
index 5b638ea9dab4..c415e3a2b930 100644
--- a/pkgs/development/libraries/haskell/language-c/default.nix
+++ b/pkgs/development/libraries/haskell/language-c/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "language-c";
-  version = "0.4.2";
-  sha256 = "07pf4v4n7kvr5inkhs24b7g55pmkk4k5ihi6s5dbc200l01wz133";
+  version = "0.4.3";
+  sha256 = "0y5yn0jaairqixxqx7c80z5y5mc6czshps7wghjci1s39mn9cjf6";
   buildDepends = [ filepath syb ];
   buildTools = [ alex happy ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/language-javascript/default.nix b/pkgs/development/libraries/haskell/language-javascript/default.nix
index d2cc342c4774..94d693aa7c86 100644
--- a/pkgs/development/libraries/haskell/language-javascript/default.nix
+++ b/pkgs/development/libraries/haskell/language-javascript/default.nix
@@ -1,5 +1,5 @@
 { cabal, blazeBuilder, Cabal, happy, HUnit, mtl, QuickCheck
-, testFramework, testFrameworkHunit, utf8Light, utf8String
+, testFramework, testFrameworkHunit, utf8Light, utf8String, alex
 }:
 
 cabal.mkDerivation (self: {
@@ -11,7 +11,8 @@ cabal.mkDerivation (self: {
     blazeBuilder Cabal HUnit mtl QuickCheck testFramework
     testFrameworkHunit utf8Light utf8String
   ];
-  buildTools = [ happy ];
+  buildTools = [ happy alex ];
+  preConfigure = "rm -rv dist; $SHELL runalex.sh";
   meta = {
     homepage = "http://github.com/alanz/language-javascript";
     description = "Parser for JavaScript";
diff --git a/pkgs/development/libraries/haskell/linear/default.nix b/pkgs/development/libraries/haskell/linear/default.nix
index f0dac623a987..1abc63c8c4b7 100644
--- a/pkgs/development/libraries/haskell/linear/default.nix
+++ b/pkgs/development/libraries/haskell/linear/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "linear";
-  version = "1.9.1";
-  sha256 = "17jvqy2nbcra36fzkwbjkfwg6mjw804zd1i50mhbqwg9j7z4s5sb";
+  version = "1.10";
+  sha256 = "1wl0hb58znc3n5f5jv0wm6g21p080zldlq954n0lm8sjwmv39cdx";
   buildDepends = [
     adjunctions binary distributive hashable lens reflection
     semigroupoids semigroups tagged transformers unorderedContainers
diff --git a/pkgs/development/libraries/haskell/mime-mail/default.nix b/pkgs/development/libraries/haskell/mime-mail/default.nix
index fe8a9a35176f..7ba509761687 100644
--- a/pkgs/development/libraries/haskell/mime-mail/default.nix
+++ b/pkgs/development/libraries/haskell/mime-mail/default.nix
@@ -1,15 +1,16 @@
 { cabal, base64Bytestring, blazeBuilder, filepath, hspec, random
-, text
+, text, sendmail ? "sendmail"
 }:
 
 cabal.mkDerivation (self: {
   pname = "mime-mail";
-  version = "0.4.4.1";
-  sha256 = "0jzbkrd62alvgyx9bkrzicz88hjjnnavpv6hl22cxnirz41h8hw0";
+  version = "0.4.4.2";
+  sha256 = "0s38xgv6kycnfahqi5dnrjn3wkaq35w87cv8p12pq0qq2x7dvawd";
   buildDepends = [
     base64Bytestring blazeBuilder filepath random text
   ];
   testDepends = [ blazeBuilder hspec text ];
+  configureFlags = [ "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"${sendmail}\"" ];
   meta = {
     homepage = "http://github.com/snoyberg/mime-mail";
     description = "Compose MIME email messages";
diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix
index a66ad0faf01f..4aa394aff408 100644
--- a/pkgs/development/libraries/haskell/monad-logger/default.nix
+++ b/pkgs/development/libraries/haskell/monad-logger/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-logger";
-  version = "0.3.4.0";
-  sha256 = "16nrzms87klbs26rbaw4j8xal5k7glpbhg7r2x1m3gxbdhsp696n";
+  version = "0.3.4.1";
+  sha256 = "1i5192060svqhc1iv215b98hah6p29bzdqin6ng5qpq8d44hdnpm";
   buildDepends = [
     blazeBuilder conduit fastLogger liftedBase monadControl monadLoops
     mtl resourcet stm stmChans text transformers transformersBase
diff --git a/pkgs/development/libraries/haskell/monadloc/default.nix b/pkgs/development/libraries/haskell/monadloc/default.nix
new file mode 100644
index 000000000000..9ff7383565e1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/monadloc/default.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "monadloc";
+  version = "0.7.1";
+  sha256 = "1a773nysrsj61ka7bdacb0i7dxlgb1fjz3x5w9c1w1dv7rmhynmj";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/pepeiborra/monadloc";
+    description = "A class for monads which can keep a monadic call trace";
+    license = self.stdenv.lib.licenses.publicDomain;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/mono-traversable/default.nix b/pkgs/development/libraries/haskell/mono-traversable/default.nix
index a1de3e9ad16b..113a4b67b414 100644
--- a/pkgs/development/libraries/haskell/mono-traversable/default.nix
+++ b/pkgs/development/libraries/haskell/mono-traversable/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mono-traversable";
-  version = "0.4.0.3";
-  sha256 = "04g2ihk4n71zrz09si2k8j46y53i5vllps9xizgs0bmikmrgh29f";
+  version = "0.4.0.4";
+  sha256 = "1ikrdhr4f3755xim6j9db60a9y0mpdnljmck84qh47yk2axfp0n9";
   buildDepends = [
     comonad dlist dlistInstances hashable semigroupoids semigroups text
     transformers unorderedContainers vector vectorAlgorithms
diff --git a/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix b/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix
new file mode 100644
index 000000000000..e9fa49510c18
--- /dev/null
+++ b/pkgs/development/libraries/haskell/mtl/2.1.3.1.nix
@@ -0,0 +1,15 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "mtl";
+  version = "2.1.3.1";
+  sha256 = "1xpn2wjmqbh2cg1yssc6749xpgcqlrrg4iilwqgkcjgvaxlpdbvp";
+  buildDepends = [ transformers ];
+  meta = {
+    homepage = "http://github.com/ekmett/mtl";
+    description = "Monad classes, using functional dependencies";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/persistent-mysql/default.nix b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
new file mode 100644
index 000000000000..7ff8a9de430e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/persistent-mysql/default.nix
@@ -0,0 +1,19 @@
+{ cabal, aeson, blazeBuilder, conduit, monadControl, mysql
+, mysqlSimple, persistent, resourcet, text, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "persistent-mysql";
+  version = "1.3.0.2";
+  sha256 = "0yv2f8zqypbp5swdpxmgnfmmfsr6lwhb27k0hl9bh7ya76anhvqy";
+  buildDepends = [
+    aeson blazeBuilder conduit monadControl mysql mysqlSimple
+    persistent resourcet text transformers
+  ];
+  meta = {
+    homepage = "http://www.yesodweb.com/book/persistent";
+    description = "Backend for the persistent library using MySQL database server";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
index e529747e7a75..85b1a10b5ba0 100644
--- a/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-postgresql/default.nix
@@ -1,14 +1,15 @@
 { cabal, aeson, blazeBuilder, conduit, monadControl, persistent
-, postgresqlLibpq, postgresqlSimple, text, time, transformers
+, postgresqlLibpq, postgresqlSimple, resourcet, text, time
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-postgresql";
-  version = "1.3.0.3";
-  sha256 = "00frqpv7wbksbjl714nhrian45p61kggxhpin9hawbwn2siwsg2m";
+  version = "1.3.0.5";
+  sha256 = "0abk38jzc7k93wrzn3pq90xj0mqln4nqrgzmmy0d3p4gmbzmnnia";
   buildDepends = [
     aeson blazeBuilder conduit monadControl persistent postgresqlLibpq
-    postgresqlSimple text time transformers
+    postgresqlSimple resourcet text time transformers
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
index 009aa3b62995..cb12d9cbe843 100644
--- a/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-sqlite/default.nix
@@ -1,15 +1,16 @@
 { cabal, aeson, conduit, monadControl, monadLogger, persistent
-, text, transformers
+, resourcet, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "persistent-sqlite";
-  version = "1.3.0.3";
-  sha256 = "0b7dp2hiza02rnnph44rd2vls06jipmixi32icbijmcqk83hfglq";
+  version = "1.3.0.5";
+  sha256 = "05b7byc4z7mhni90cj2aan63f599wv0511zqbsm6kbylk1zpyizb";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    aeson conduit monadControl monadLogger persistent text transformers
+    aeson conduit monadControl monadLogger persistent resourcet text
+    transformers
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/persistent";
diff --git a/pkgs/development/libraries/haskell/persistent-template/default.nix b/pkgs/development/libraries/haskell/persistent-template/default.nix
index 1340ceaaf957..994632c40e20 100644
--- a/pkgs/development/libraries/haskell/persistent-template/default.nix
+++ b/pkgs/development/libraries/haskell/persistent-template/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent-template";
-  version = "1.3.1.2";
-  sha256 = "1gdwwx55ihnqxgyw0wsx0pr4dcs2hdbp5xbnx6l1j03rn5x1sglq";
+  version = "1.3.1.3";
+  sha256 = "0q5ysv1r6p4mg79waq2g6ql11rap6znawkplddblpaa8lq9qalj6";
   buildDepends = [
     aeson monadControl monadLogger persistent text transformers
     unorderedContainers
diff --git a/pkgs/development/libraries/haskell/persistent/default.nix b/pkgs/development/libraries/haskell/persistent/default.nix
index a3faace8d490..b16c89dac709 100644
--- a/pkgs/development/libraries/haskell/persistent/default.nix
+++ b/pkgs/development/libraries/haskell/persistent/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "persistent";
-  version = "1.3.0.4";
-  sha256 = "09p7nf6dnjz83qp7invkmzcr55zglm0y54p8pb1y6acjpnw3glkl";
+  version = "1.3.0.6";
+  sha256 = "0rj5yi8nziym9cb9c9vw6vdjflf2yfz02i39p6dsdy084f1ivpk8";
   buildDepends = [
     aeson attoparsec base64Bytestring blazeHtml blazeMarkup conduit
     liftedBase monadControl monadLogger pathPieces resourcePool
diff --git a/pkgs/development/libraries/haskell/pool-conduit/default.nix b/pkgs/development/libraries/haskell/pool-conduit/default.nix
index e97fbb983a71..e7c1489d5cb3 100644
--- a/pkgs/development/libraries/haskell/pool-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/pool-conduit/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pool-conduit";
-  version = "0.1.2.1";
-  sha256 = "1mcx66xv1irxd66cfv23h4n7fplg5a0hyldlgk8km0k395mjw8k8";
+  version = "0.1.2.2";
+  sha256 = "1jg7kymr1v82xl9122q9fly385jhm1hr2406g35ydl9wnh4aaiw8";
   buildDepends = [
     monadControl resourcePool resourcet transformers
   ];
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 56c4a5965e15..20222609cffa 100644
--- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "postgresql-simple";
-  version = "0.4.2.0";
-  sha256 = "0g31a7s2h9d6f3igvrddbr357sk4vabvg88mmvb194pps66y8zzn";
+  version = "0.4.2.1";
+  sha256 = "1547n7rh0gsrjaa8f9lc4diljpps09kdf0gkm0cjf1gk2kr7lh94";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeTextual hashable postgresqlLibpq
     scientific text time transformers uuid vector
diff --git a/pkgs/development/libraries/haskell/process-conduit/default.nix b/pkgs/development/libraries/haskell/process-conduit/default.nix
index 45ac44951667..6148b9b508b3 100644
--- a/pkgs/development/libraries/haskell/process-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/process-conduit/default.nix
@@ -1,13 +1,13 @@
-{ cabal, conduit, controlMonadLoop, hspec, mtl, shakespeareText
-, text
+{ cabal, conduit, controlMonadLoop, hspec, mtl, shakespeare
+, shakespeareText, text
 }:
 
 cabal.mkDerivation (self: {
   pname = "process-conduit";
-  version = "1.0.0.1";
-  sha256 = "1b1bya316gxj3rgn7qpjmmcllgy9aac69rqw664sw1rnypnic780";
+  version = "1.0.0.2";
+  sha256 = "0rz18x7gy8w1h2xq0il49k515n0y3gpxnl7mfgkczc86965w7fzj";
   buildDepends = [
-    conduit controlMonadLoop mtl shakespeareText text
+    conduit controlMonadLoop mtl shakespeare shakespeareText text
   ];
   testDepends = [ conduit hspec ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/profunctors/default.nix b/pkgs/development/libraries/haskell/profunctors/default.nix
index 41e4fc6eeb05..300d2e66f89c 100644
--- a/pkgs/development/libraries/haskell/profunctors/default.nix
+++ b/pkgs/development/libraries/haskell/profunctors/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "profunctors";
-  version = "4.0.2";
-  sha256 = "1p98pczrxvhk1imwics25b5ac59qzixblns83a1k9zszvz42kmix";
+  version = "4.0.3";
+  sha256 = "0rdr75nqzxaly47vnpbmska608k457dgpzi5wfcqhmw996kh5inh";
   buildDepends = [ comonad semigroupoids tagged transformers ];
   meta = {
     homepage = "http://github.com/ekmett/profunctors/";
diff --git a/pkgs/development/libraries/haskell/project-template/default.nix b/pkgs/development/libraries/haskell/project-template/default.nix
index f4c9214b0b63..58dc06e6aa58 100644
--- a/pkgs/development/libraries/haskell/project-template/default.nix
+++ b/pkgs/development/libraries/haskell/project-template/default.nix
@@ -1,19 +1,19 @@
-{ cabal, base64Bytestring, base64Conduit, basicPrelude, conduit
-, hspec, mtl, QuickCheck, resourcet, systemFileio, systemFilepath
-, text, transformers
+{ cabal, base64Bytestring, conduit, conduitExtra, hspec, mtl
+, QuickCheck, resourcet, systemFileio, systemFilepath, text
+, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "project-template";
-  version = "0.1.3.2";
-  sha256 = "076xq5hwi7bfn3cmx8zd19vnj6lj2p7qm2waam94qqw2m466xq50";
+  version = "0.1.4.1";
+  sha256 = "1vsx8a4kzdcwbdy47hb2wz32najsa6bqq6jkyal9nbc5ydwb65lb";
   buildDepends = [
-    base64Bytestring base64Conduit basicPrelude conduit mtl resourcet
-    systemFileio systemFilepath text transformers
+    base64Bytestring conduit conduitExtra mtl resourcet systemFileio
+    systemFilepath text transformers
   ];
   testDepends = [
-    base64Bytestring basicPrelude conduit hspec QuickCheck
-    systemFilepath text transformers
+    base64Bytestring conduit hspec QuickCheck resourcet systemFilepath
+    text transformers
   ];
   meta = {
     homepage = "https://github.com/fpco/haskell-ide";
diff --git a/pkgs/development/libraries/haskell/recaptcha/default.nix b/pkgs/development/libraries/haskell/recaptcha/default.nix
index 0d7b9d709c6c..2d3fb430fe27 100644
--- a/pkgs/development/libraries/haskell/recaptcha/default.nix
+++ b/pkgs/development/libraries/haskell/recaptcha/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "recaptcha";
-  version = "0.1.0.1";
-  sha256 = "0mk2vdvm5jz8jh8xc4alsly8c9msfis0drbgg89rck1y387z2njz";
+  version = "0.1.0.2";
+  sha256 = "04sdfp6bmcd3qkz1iqxijfiqa4qf78m5d16r9gjv90ckqf68kbih";
   buildDepends = [ HTTP network xhtml ];
   meta = {
     homepage = "http://github.com/jgm/recaptcha/tree/master";
diff --git a/pkgs/development/libraries/haskell/resourcet/default.nix b/pkgs/development/libraries/haskell/resourcet/default.nix
index cb5543147524..8413802faa19 100644
--- a/pkgs/development/libraries/haskell/resourcet/default.nix
+++ b/pkgs/development/libraries/haskell/resourcet/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "resourcet";
-  version = "0.4.10.1";
-  sha256 = "05skxqxhbmsyjn72w1c9n924d865wxadfsxlavk0nmbd7ygmnazb";
+  version = "0.4.10.2";
+  sha256 = "0k0l4909b30hc2apxgzjz1rxbqqkhqnqchz53wi6zyhvbh46ffh6";
   buildDepends = [
     liftedBase mmorph monadControl mtl transformers transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/smtps-gmail/default.nix b/pkgs/development/libraries/haskell/smtps-gmail/default.nix
index d41a37d1e5be..a61daf6de255 100644
--- a/pkgs/development/libraries/haskell/smtps-gmail/default.nix
+++ b/pkgs/development/libraries/haskell/smtps-gmail/default.nix
@@ -1,18 +1,18 @@
-{ cabal, base64String, cprngAes, network, tlsExtra, utf8String
+{ cabal, base64Bytestring, cprngAes, dataDefault, filepath
+, mimeMail, network, stringsearch, text, tls
 }:
 
 cabal.mkDerivation (self: {
   pname = "smtps-gmail";
-  version = "1.0.0";
-  sha256 = "0kv5m8rg5z1iic10av3bscdygnph1iab4b22sq3hmx6a93abqkc2";
-  isLibrary = true;
-  isExecutable = true;
+  version = "1.1.0";
+  sha256 = "0zr2ndpwfnb9pkv69vx94p0vpghl0khd0wbmccjpk6hlrp6fsj66";
   buildDepends = [
-    base64String cprngAes network tlsExtra utf8String
+    base64Bytestring cprngAes dataDefault filepath mimeMail network
+    stringsearch text tls
   ];
   meta = {
     homepage = "https://github.com/enzoh/smtps-gmail";
-    description = "Gmail API";
+    description = "Gmail SMTP Client";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/snap/core.nix b/pkgs/development/libraries/haskell/snap/core.nix
index 351e8d943235..0a1d1b7c5cf4 100644
--- a/pkgs/development/libraries/haskell/snap/core.nix
+++ b/pkgs/development/libraries/haskell/snap/core.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-core";
-  version = "0.9.6.1";
-  sha256 = "1wfjkbck2dc4a1nxz62yprf68g66m9vhvxihn9c5xypxjpgj2r9k";
+  version = "0.9.6.2";
+  sha256 = "1s77p2q4zrpw2fksklqc9sgcb214fijsk88lqqasdiw9kb9xmwij";
   buildDepends = [
     attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
     bytestringMmap caseInsensitive deepseq enumerator filepath hashable
diff --git a/pkgs/development/libraries/haskell/snap/server.nix b/pkgs/development/libraries/haskell/snap/server.nix
index 80cffd6b4321..4634ec554ebe 100644
--- a/pkgs/development/libraries/haskell/snap/server.nix
+++ b/pkgs/development/libraries/haskell/snap/server.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap-server";
-  version = "0.9.4.0";
-  sha256 = "0jcg99byygdxx42p1w0a8nvyh2w2hrqj2j9n76hf7sa65f67j828";
+  version = "0.9.4.1";
+  sha256 = "07k7gndzmh4d2mghi8qv25frvdlgmn7497hh6j22ki0al0zrs0l9";
   buildDepends = [
     attoparsec attoparsecEnumerator blazeBuilder blazeBuilderEnumerator
     caseInsensitive enumerator MonadCatchIOTransformers mtl network
diff --git a/pkgs/development/libraries/haskell/stm-chans/default.nix b/pkgs/development/libraries/haskell/stm-chans/default.nix
index e8bd79a9a80a..2b8c9d1080ae 100644
--- a/pkgs/development/libraries/haskell/stm-chans/default.nix
+++ b/pkgs/development/libraries/haskell/stm-chans/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stm-chans";
-  version = "3.0.0";
-  sha256 = "1nnl5h88dshcmk0ydhkf84kkf6989igxry9r0z7lwlxfgf7q9nim";
+  version = "3.0.0.2";
+  sha256 = "1zsa092yjxsdq8nm2yqagdfpip3i3ff3xdwvys99ns7ridxbyynh";
   buildDepends = [ stm ];
   meta = {
     homepage = "http://code.haskell.org/~wren/";
diff --git a/pkgs/development/libraries/haskell/stm/2.4.3.nix b/pkgs/development/libraries/haskell/stm/2.4.3.nix
new file mode 100644
index 000000000000..28c3da5cba23
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stm/2.4.3.nix
@@ -0,0 +1,13 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "stm";
+  version = "2.4.3";
+  sha256 = "0vzw4s06d5scfy4ircl81ym8ylkw9ckzsp8rq950dvipmaj1xhis";
+  meta = {
+    description = "Software Transactional Memory";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/streaming-commons/default.nix b/pkgs/development/libraries/haskell/streaming-commons/default.nix
new file mode 100644
index 000000000000..fec0ddf79cd3
--- /dev/null
+++ b/pkgs/development/libraries/haskell/streaming-commons/default.nix
@@ -0,0 +1,17 @@
+{ cabal, deepseq, hspec, network, QuickCheck, text, transformers
+, zlib
+}:
+
+cabal.mkDerivation (self: {
+  pname = "streaming-commons";
+  version = "0.1.0.2";
+  sha256 = "1idlhvlv5pg20xq8h4rmphyflvpc9q88krwm498mh3s4983ik28c";
+  buildDepends = [ network text transformers zlib ];
+  testDepends = [ deepseq hspec QuickCheck text zlib ];
+  meta = {
+    homepage = "https://github.com/fpco/streaming-commons";
+    description = "Common lower-level functions needed by various streaming data libraries";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/system-filepath/default.nix b/pkgs/development/libraries/haskell/system-filepath/default.nix
index 2e060e252dd9..fba75d7b847d 100644
--- a/pkgs/development/libraries/haskell/system-filepath/default.nix
+++ b/pkgs/development/libraries/haskell/system-filepath/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "system-filepath";
-  version = "0.4.9";
-  sha256 = "0qxbibq6lj7gyw62crp774pv2a8cm83rllw5yjjsg372nk4m1is0";
+  version = "0.4.10";
+  sha256 = "176g5jm1gd6lrkmhfz9qh5aqwfbpwyr30yknfcc49wl7jkfhisiq";
   buildDepends = [ deepseq text ];
   meta = {
     homepage = "https://john-millikin.com/software/haskell-filesystem/";
diff --git a/pkgs/development/libraries/haskell/text-stream-decode/default.nix b/pkgs/development/libraries/haskell/text-stream-decode/default.nix
index eb55d68666c5..0530804d84b1 100644
--- a/pkgs/development/libraries/haskell/text-stream-decode/default.nix
+++ b/pkgs/development/libraries/haskell/text-stream-decode/default.nix
@@ -2,13 +2,13 @@
 
 cabal.mkDerivation (self: {
   pname = "text-stream-decode";
-  version = "0.1.0.4";
-  sha256 = "041winxbqkz1y6vx6sgbhl925n5qxii2q7ijcwa85sj4dkrqpafr";
+  version = "0.1.0.5";
+  sha256 = "1s2lncs5k8rswg1bpf4vz5p1maj46bsgf7ar4lzcla9bf3f4bppy";
   buildDepends = [ text ];
   testDepends = [ deepseq hspec text ];
   meta = {
     homepage = "http://github.com/fpco/text-stream-decode";
-    description = "Streaming decoding functions for UTF encodings";
+    description = "Streaming decoding functions for UTF encodings. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/th-desugar/default.nix b/pkgs/development/libraries/haskell/th-desugar/default.nix
index 42ff1d78198a..827828d64741 100644
--- a/pkgs/development/libraries/haskell/th-desugar/default.nix
+++ b/pkgs/development/libraries/haskell/th-desugar/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "th-desugar";
-  version = "1.3.0";
-  sha256 = "1wfypk1hcxr2918qp63df5xlx00rqwnaa59mivnlqs558g4kjx6j";
+  version = "1.3.1";
+  sha256 = "1wi0c5d1w6vjjk580zhypgqnnkndcsx4cmx5qy01w97h6kyj8913";
   buildDepends = [ mtl syb ];
   testDepends = [ hspec HUnit mtl syb ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/type-level-natural-number/default.nix b/pkgs/development/libraries/haskell/type-level-natural-number/default.nix
index 8dff0ffd58fc..62690186ee8f 100644
--- a/pkgs/development/libraries/haskell/type-level-natural-number/default.nix
+++ b/pkgs/development/libraries/haskell/type-level-natural-number/default.nix
@@ -2,10 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "type-level-natural-number";
-  version = "1.1.1";
-  sha256 = "1zc26nckpcixxp1m818jhzi3dj1ysnjfc2xliq4rpmf5583k6mjw";
+  version = "2.0";
+  sha256 = "17zgm5ys1z61kxxczz3bzi9m3c48py6pvyx3cqk3xlh1w7n58ryk";
   meta = {
-    description = "Simple, Haskell 2010-compatible type level natural numbers";
+    description = "Simple type level natural numbers";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/unbounded-delays/default.nix b/pkgs/development/libraries/haskell/unbounded-delays/default.nix
index 69f6ac60ac36..78484a2a75ab 100644
--- a/pkgs/development/libraries/haskell/unbounded-delays/default.nix
+++ b/pkgs/development/libraries/haskell/unbounded-delays/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "unbounded-delays";
-  version = "0.1.0.6";
-  sha256 = "0yykb9jqxhvbngvp2gbzb0ch2cmzdxx8km62dclyvr3xbv6hk1h7";
+  version = "0.1.0.7";
+  sha256 = "1nv50i90hgvcl51w7s8x1c1ylpzyrbvs2mz5zfn68lr1ix2lk879";
   meta = {
     homepage = "https://github.com/basvandijk/unbounded-delays";
     description = "Unbounded thread delays and timeouts";
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index fec4d410c22e..45dd5562a28b 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -1,21 +1,21 @@
 { cabal, base64Bytestring, blazeBuilder, blazeHtml, blazeMarkup
-, byteable, cmdargs, cryptohash, cryptohashConduit, fileEmbed
-, filepath, hspec, httpDate, httpTypes, mimeTypes, network
-, systemFileio, systemFilepath, text, time, transformers
-, unixCompat, unorderedContainers, wai, waiExtra, waiTest, warp
-, zlib
+, byteable, cryptohash, cryptohashConduit, fileEmbed, filepath
+, hspec, httpDate, httpTypes, mimeTypes, network
+, optparseApplicative, systemFileio, systemFilepath, text, time
+, transformers, unixCompat, unorderedContainers, wai, waiExtra
+, waiTest, warp, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "2.0.0.5";
-  sha256 = "0f18wwk0xrzbn9d6krjdcm71cyxl1pzzi5xqwzzc9xnq595m75wa";
+  version = "2.0.1";
+  sha256 = "1mygyp70rmhnkc0s8626cxrkvcbil92v4gnx70iz26gfb5q9lc7d";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     base64Bytestring blazeBuilder blazeHtml blazeMarkup byteable
-    cmdargs cryptohash cryptohashConduit fileEmbed filepath httpDate
-    httpTypes mimeTypes systemFileio systemFilepath text time
+    cryptohash cryptohashConduit fileEmbed filepath httpDate httpTypes
+    mimeTypes optparseApplicative systemFileio systemFilepath text time
     transformers unixCompat unorderedContainers wai waiExtra warp zlib
   ];
   testDepends = [
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index df13922601c2..ef91a8726874 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,23 +1,24 @@
 { cabal, ansiTerminal, base64Bytestring, blazeBuilder
-, blazeBuilderConduit, caseInsensitive, conduit, dataDefault
-, fastLogger, hspec, httpTypes, HUnit, liftedBase, network
-, resourcet, stringsearch, text, time, transformers, void, wai
-, waiLogger, waiTest, word8, zlib, zlibBindings, zlibConduit
+, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra
+, dataDefault, fastLogger, hspec, httpTypes, HUnit, liftedBase
+, network, resourcet, stringsearch, text, time, transformers, void
+, wai, waiLogger, waiTest, word8, zlib, zlibBindings, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "2.1.1";
-  sha256 = "1bsc9sjmp9hspdif4f81iqjkcaflv6b7rd42g62qj790a4b70igf";
+  version = "2.1.1.1";
+  sha256 = "1mqpy1klr4b5dvgk89hqyd8c2vg7rl0vypy3m9hxr2r4bzifkqc1";
   buildDepends = [
     ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
-    caseInsensitive conduit dataDefault fastLogger httpTypes liftedBase
-    network resourcet stringsearch text time transformers void wai
-    waiLogger word8 zlibConduit
+    caseInsensitive conduit conduitExtra dataDefault fastLogger
+    httpTypes liftedBase network resourcet stringsearch text time
+    transformers void wai waiLogger word8 zlibConduit
   ];
   testDepends = [
-    blazeBuilder conduit dataDefault fastLogger hspec httpTypes HUnit
-    resourcet text transformers wai waiTest zlib zlibBindings
+    blazeBuilder conduit conduitExtra dataDefault fastLogger hspec
+    httpTypes HUnit resourcet text transformers wai waiTest zlib
+    zlibBindings
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
index f25206e69acf..9be534725825 100644
--- a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
+++ b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
@@ -1,14 +1,14 @@
-{ cabal, blazeBuilder, blazeBuilderConduit, conduit, httpTypes
-, transformers, wai, warp, zlibConduit
+{ cabal, blazeBuilder, blazeBuilderConduit, conduit, conduitExtra
+, httpTypes, transformers, wai, warp, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-handler-launch";
-  version = "2.0.1.1";
-  sha256 = "10izbri1a8mjb2q4r1badw63qbp3vxnw5v2hzskq6911bckqkskc";
+  version = "2.0.1.2";
+  sha256 = "1mcjxv4dkcc5rx1bj8zc5m2q2ifcdwhsl4x4fnrv1ir9kclzsm7q";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit conduit httpTypes transformers wai
-    warp zlibConduit
+    blazeBuilder blazeBuilderConduit conduit conduitExtra httpTypes
+    transformers wai warp zlibConduit
   ];
   meta = {
     description = "Launch a web app in the default browser";
diff --git a/pkgs/development/libraries/haskell/wai-test/default.nix b/pkgs/development/libraries/haskell/wai-test/default.nix
index 5e3a666726a8..e55bf8805e35 100644
--- a/pkgs/development/libraries/haskell/wai-test/default.nix
+++ b/pkgs/development/libraries/haskell/wai-test/default.nix
@@ -1,15 +1,15 @@
 { cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, cookie, deepseq, hspec, httpTypes, network, text
-, transformers, wai
+, conduit, conduitExtra, cookie, deepseq, hspec, httpTypes, network
+, text, transformers, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-test";
-  version = "2.0.1";
-  sha256 = "0c803l3cz5bjf60l97sy1isxhnmbpzr5x39yhnck28r0vykycnrj";
+  version = "2.0.1.1";
+  sha256 = "08mkn6v8kxlcn2qb5rz9m5mqzl9wy43mxs2jzl1gavkf9bhwc93s";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit cookie
-    deepseq httpTypes network text transformers wai
+    blazeBuilder blazeBuilderConduit caseInsensitive conduit
+    conduitExtra cookie deepseq httpTypes network text transformers wai
   ];
   testDepends = [ hspec wai ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix
index 4b4038fd4111..5558f2e32ce1 100644
--- a/pkgs/development/libraries/haskell/wai-websockets/default.nix
+++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-websockets";
-  version = "2.1.0";
-  sha256 = "094imqhkn4ghifgp2qhs4hnby3zzdd84fhmyvvy7igcpz1rmll7a";
+  version = "2.1.0.1";
+  sha256 = "1ic1wgfp16j6lhypn1psmicafjavbhq5rvm32xqwkb65abhpg571";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index f17b999f1497..a0164a3950c9 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -1,13 +1,14 @@
-{ cabal, blazeBuilder, conduit, httpTypes, network, text
-, transformers, vault
+{ cabal, blazeBuilder, conduit, conduitExtra, httpTypes, network
+, text, transformers, vault
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "2.1.0";
-  sha256 = "0n3dgm1pwv9baxrx0qh0iq1mh9i7ihhki3h4ks5k74d37w7bwcjy";
+  version = "2.1.0.1";
+  sha256 = "03gp3ijdpyyh7zic89laj0y4wsi8f49lbqlqq8w9msfgizjhvdv6";
   buildDepends = [
-    blazeBuilder conduit httpTypes network text transformers vault
+    blazeBuilder conduit conduitExtra httpTypes network text
+    transformers vault
   ];
   meta = {
     homepage = "https://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix
index c21e3b0d4328..b04d9439d2df 100644
--- a/pkgs/development/libraries/haskell/warp-tls/default.nix
+++ b/pkgs/development/libraries/haskell/warp-tls/default.nix
@@ -1,14 +1,15 @@
-{ cabal, conduit, cprngAes, dataDefaultClass, network
-, networkConduit, tls, transformers, wai, warp
+{ cabal, conduit, conduitExtra, cprngAes, dataDefaultClass, network
+, networkConduit, resourcet, streamingCommons, tls, transformers
+, wai, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp-tls";
-  version = "2.0.3.1";
-  sha256 = "1cyf4syblisi5hana7h2g72yyrjln40v3b6jq2253nglqip79l5w";
+  version = "2.0.3.2";
+  sha256 = "1dqaq1z4gb3sya41hiwsxgl4f0v7sqza7aazf2vc7dd5x5izp02w";
   buildDepends = [
-    conduit cprngAes dataDefaultClass network networkConduit tls
-    transformers wai warp
+    conduit conduitExtra cprngAes dataDefaultClass network
+    networkConduit resourcet streamingCommons tls transformers wai warp
   ];
   meta = {
     homepage = "http://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/warp/default.nix b/pkgs/development/libraries/haskell/warp/default.nix
index abd301dcc789..c67ea5c25e07 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -1,23 +1,25 @@
 { cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, doctest, hashable, hspec, HTTP, httpDate, httpTypes
-, HUnit, liftedBase, network, networkConduit, QuickCheck
-, simpleSendfile, text, time, transformers, unixCompat, void, wai
+, conduit, conduitExtra, doctest, hashable, hspec, HTTP, httpDate
+, httpTypes, HUnit, liftedBase, network, networkConduit, QuickCheck
+, simpleSendfile, streamingCommons, text, time, transformers
+, unixCompat, void, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "2.1.3";
-  sha256 = "00861dimzvbbqx3pbpihfml8k2fkvsw8kda7mkkix59xqsjwc1nz";
+  version = "2.1.3.3";
+  sha256 = "1dbarrjb6y4cbc1dc265b008b6d5qziqnikdbnbdlrwfzr97cz23";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit hashable
-    httpDate httpTypes liftedBase network networkConduit simpleSendfile
-    text transformers unixCompat void wai
+    blazeBuilder blazeBuilderConduit caseInsensitive conduit
+    conduitExtra hashable httpDate httpTypes liftedBase network
+    networkConduit simpleSendfile streamingCommons text transformers
+    unixCompat void wai
   ];
   testDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit doctest
-    hashable hspec HTTP httpDate httpTypes HUnit liftedBase network
-    networkConduit QuickCheck simpleSendfile text time transformers
-    unixCompat void wai
+    blazeBuilder blazeBuilderConduit caseInsensitive conduit
+    conduitExtra doctest hashable hspec HTTP httpDate httpTypes HUnit
+    liftedBase network networkConduit QuickCheck simpleSendfile
+    streamingCommons text time transformers unixCompat void wai
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/xml-conduit/default.nix b/pkgs/development/libraries/haskell/xml-conduit/default.nix
index 28a5beb966f8..d31f1d0e70d7 100644
--- a/pkgs/development/libraries/haskell/xml-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/xml-conduit/default.nix
@@ -1,20 +1,21 @@
 { cabal, attoparsec, attoparsecConduit, blazeBuilder
-, blazeBuilderConduit, blazeHtml, blazeMarkup, conduit, dataDefault
-, deepseq, failure, hspec, HUnit, monadControl, resourcet
-, systemFilepath, text, transformers, xmlTypes
+, blazeBuilderConduit, blazeHtml, blazeMarkup, conduit
+, conduitExtra, dataDefault, deepseq, hspec, HUnit, monadControl
+, resourcet, systemFilepath, text, transformers, xmlTypes
 }:
 
 cabal.mkDerivation (self: {
   pname = "xml-conduit";
-  version = "1.1.0.9";
-  sha256 = "01sx8yblknv0dyi7z6k6icfvwjvl4dyhrka1d6y1793xcp1mkxs6";
+  version = "1.2.0.1";
+  sha256 = "0ry3h1csblssv2x8b63hvl2gqc0wyzyqbvp6iyisrk77wkz72jw9";
   buildDepends = [
     attoparsec attoparsecConduit blazeBuilder blazeBuilderConduit
-    blazeHtml blazeMarkup conduit dataDefault deepseq failure
+    blazeHtml blazeMarkup conduit conduitExtra dataDefault deepseq
     monadControl resourcet systemFilepath text transformers xmlTypes
   ];
   testDepends = [
-    blazeMarkup conduit hspec HUnit text transformers xmlTypes
+    blazeMarkup conduit hspec HUnit resourcet text transformers
+    xmlTypes
   ];
   meta = {
     homepage = "http://github.com/snoyberg/xml";
diff --git a/pkgs/development/libraries/haskell/xml-hamlet/default.nix b/pkgs/development/libraries/haskell/xml-hamlet/default.nix
index 885620f0648a..346891cc68d5 100644
--- a/pkgs/development/libraries/haskell/xml-hamlet/default.nix
+++ b/pkgs/development/libraries/haskell/xml-hamlet/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xml-hamlet";
-  version = "0.4.0.6";
-  sha256 = "05izdqpxw0gq2wgs4ckr55xvzfk5ay7xpbcvihj66myiah5azqwy";
+  version = "0.4.0.7";
+  sha256 = "05rygs3ja3zc87az151mkbm4llrnshzrqf1mfpbwx4ysfgjkvq7b";
   buildDepends = [ parsec shakespeare text xmlConduit ];
   testDepends = [ hspec HUnit parsec shakespeare text xmlConduit ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/xss-sanitize/default.nix b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
index e92d761edcbc..31f7a06c1fe2 100644
--- a/pkgs/development/libraries/haskell/xss-sanitize/default.nix
+++ b/pkgs/development/libraries/haskell/xss-sanitize/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "xss-sanitize";
-  version = "0.3.5";
-  sha256 = "13iggcivpvzlzlx0n1pb6lyw55lc7d7hzihf1llphq6lmdy6l49s";
+  version = "0.3.5.2";
+  sha256 = "1lkawsing0x776078qi1565aj1nr4smxhql1xzfw0bjihbgs1d6b";
   buildDepends = [
     attoparsec cssText network tagsoup text utf8String
   ];
diff --git a/pkgs/development/libraries/haskell/yaml/default.nix b/pkgs/development/libraries/haskell/yaml/default.nix
index e9a9c075c328..5b0d4ad3f470 100644
--- a/pkgs/development/libraries/haskell/yaml/default.nix
+++ b/pkgs/development/libraries/haskell/yaml/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yaml";
-  version = "0.8.8";
-  sha256 = "0fv56x40ici6hx2dfy85fg7zy213mn82h84czhj4xbvjszg8wycw";
+  version = "0.8.8.1";
+  sha256 = "1lkw05rx88jckzlkslb945zswn6g7i3vxsgxpj9pkcxvh3y9zagv";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -13,8 +13,8 @@ cabal.mkDerivation (self: {
     unorderedContainers vector
   ];
   testDepends = [
-    aeson conduit hspec HUnit text transformers unorderedContainers
-    vector
+    aeson conduit hspec HUnit resourcet text transformers
+    unorderedContainers vector
   ];
   meta = {
     homepage = "http://github.com/snoyberg/yaml/";
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index 6857b6f02d76..93e1bb9cadd2 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -1,21 +1,23 @@
-{ cabal, aeson, authenticate, blazeHtml, blazeMarkup, dataDefault
-, emailValidate, fileEmbed, hamlet, httpConduit, httpTypes
-, liftedBase, mimeMail, network, persistent, persistentTemplate
-, pureMD5, pwstoreFast, random, resourcet, safe, SHA
-, shakespeareCss, shakespeareJs, text, time, transformers
-, unorderedContainers, wai, yesodCore, yesodForm, yesodPersistent
+{ cabal, aeson, authenticate, base16Bytestring, blazeHtml
+, blazeMarkup, cryptohash, dataDefault, emailValidate, fileEmbed
+, hamlet, httpConduit, httpTypes, liftedBase, mimeMail, network
+, persistent, persistentTemplate, pwstoreFast, random, resourcet
+, safe, shakespeare, shakespeareCss, shakespeareJs, text, time
+, transformers, unorderedContainers, wai, yesodCore, yesodForm
+, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.2.7";
-  sha256 = "0arszd7nk7rwm0xnjb2vqk2zf7lcwyw1ncxyxdmdxxvmh28lymwk";
+  version = "1.3.0.2";
+  sha256 = "1lx9xz5jrr63256w64isndwr323khsyyn8ah1iv1vy7n54y9afpk";
   buildDepends = [
-    aeson authenticate blazeHtml blazeMarkup dataDefault emailValidate
-    fileEmbed hamlet httpConduit httpTypes liftedBase mimeMail network
-    persistent persistentTemplate pureMD5 pwstoreFast random resourcet
-    safe SHA shakespeareCss shakespeareJs text time transformers
-    unorderedContainers wai yesodCore yesodForm yesodPersistent
+    aeson authenticate base16Bytestring blazeHtml blazeMarkup
+    cryptohash dataDefault emailValidate fileEmbed hamlet httpConduit
+    httpTypes liftedBase mimeMail network persistent persistentTemplate
+    pwstoreFast random resourcet safe shakespeare shakespeareCss
+    shakespeareJs text time transformers unorderedContainers wai
+    yesodCore yesodForm yesodPersistent
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index e939b1e4ee72..baf4a9dd4d50 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -1,26 +1,26 @@
 { cabal, attoparsec, base64Bytestring, blazeBuilder, Cabal, conduit
-, dataDefaultClass, fileEmbed, filepath, fsnotify, ghcPaths
-, httpConduit, httpReverseProxy, httpTypes, liftedBase, network
-, networkConduit, optparseApplicative, parsec, projectTemplate
-, resourcet, shakespeare, shakespeareCss, shakespeareJs
-, shakespeareText, split, systemFileio, systemFilepath, tar, text
-, time, transformers, unixCompat, unorderedContainers, wai, warp
-, yaml, zlib
+, conduitExtra, dataDefaultClass, fileEmbed, filepath, fsnotify
+, ghcPaths, httpConduit, httpReverseProxy, httpTypes, liftedBase
+, network, networkConduit, optparseApplicative, parsec
+, projectTemplate, resourcet, shakespeare, shakespeareCss
+, shakespeareJs, shakespeareText, split, streamingCommons
+, systemFileio, systemFilepath, tar, text, time, transformers
+, unixCompat, unorderedContainers, wai, warp, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.7.3";
-  sha256 = "05kbfnkigk4p1vjw0h1pkp7jfczjq99vgrsaz45faajadnhffnpz";
+  version = "1.2.7.4";
+  sha256 = "1nhpn8855jhvjmh5fdvjic20lyx6k054kfp8j0lwvdcd79c7bl77";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    attoparsec base64Bytestring blazeBuilder Cabal conduit
+    attoparsec base64Bytestring blazeBuilder Cabal conduit conduitExtra
     dataDefaultClass fileEmbed filepath fsnotify ghcPaths httpConduit
     httpReverseProxy httpTypes liftedBase network networkConduit
     optparseApplicative parsec projectTemplate resourcet shakespeare
-    shakespeareCss shakespeareJs shakespeareText split systemFileio
-    systemFilepath tar text time transformers unixCompat
+    shakespeareCss shakespeareJs shakespeareText split streamingCommons
+    systemFileio systemFilepath tar text time transformers unixCompat
     unorderedContainers wai warp yaml zlib
   ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 2c3d378257f5..3083eb0c9298 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -1,30 +1,32 @@
 { cabal, aeson, async, attoparsecConduit, blazeBuilder, blazeHtml
 , blazeMarkup, caseInsensitive, cereal, clientsession, conduit
-, cookie, dataDefault, failure, fastLogger, hamlet, hspec
+, conduitExtra, cookie, dataDefault, fastLogger, hamlet, hspec
 , httpTypes, HUnit, liftedBase, monadControl, monadLogger, network
 , networkConduit, parsec, pathPieces, QuickCheck, random, resourcet
 , safe, shakespeare, shakespeareCss, shakespeareI18n, shakespeareJs
-, text, time, transformers, transformersBase, unixCompat, vector
-, wai, waiExtra, waiLogger, waiTest, warp, yesodRoutes
+, streamingCommons, text, time, transformers, transformersBase
+, unixCompat, vector, wai, waiExtra, waiLogger, waiTest, warp
+, yesodRoutes
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.9";
-  sha256 = "0qd9x2pca2nx7yqz9whlvb0rjgf1zf9vw19j6z0p149yddgrrcyq";
+  version = "1.2.9.2";
+  sha256 = "1ip5rra426agqv5v2hmxcp1g3xjvi9wnixrpdnxvifflhr7gchfl";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
-    caseInsensitive cereal clientsession conduit cookie dataDefault
-    failure fastLogger hamlet httpTypes liftedBase monadControl
+    caseInsensitive cereal clientsession conduit conduitExtra cookie
+    dataDefault fastLogger hamlet httpTypes liftedBase monadControl
     monadLogger parsec pathPieces random resourcet safe shakespeare
     shakespeareCss shakespeareI18n shakespeareJs text time transformers
     transformersBase unixCompat vector wai waiExtra waiLogger warp
     yesodRoutes
   ];
   testDepends = [
-    async blazeBuilder conduit hamlet hspec httpTypes HUnit liftedBase
-    network networkConduit QuickCheck random resourcet shakespeareCss
-    shakespeareJs text transformers wai waiTest
+    async blazeBuilder conduit conduitExtra hamlet hspec httpTypes
+    HUnit liftedBase network networkConduit QuickCheck random resourcet
+    shakespeare shakespeareCss shakespeareJs streamingCommons text
+    transformers wai waiTest
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 2f58cbb64087..a67eccb00c2a 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -1,18 +1,19 @@
 { cabal, aeson, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
 , byteable, dataDefault, emailValidate, hamlet, hspec, network
-, persistent, resourcet, shakespeareCss, shakespeareJs, text, time
-, transformers, wai, xssSanitize, yesodCore, yesodPersistent
+, persistent, resourcet, shakespeare, shakespeareCss, shakespeareJs
+, text, time, transformers, wai, xssSanitize, yesodCore
+, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.8";
-  sha256 = "0cdpdgclhasdmynp9fhf9yhl33nwh71bmg344x51xkp5347w614b";
+  version = "1.3.8.1";
+  sha256 = "0cyvyr3whrbswawv5rcfmq9nhk3kf4d3vgfm8z01prcqdsc4yh21";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable
     dataDefault emailValidate hamlet network persistent resourcet
-    shakespeareCss shakespeareJs text time transformers wai xssSanitize
-    yesodCore yesodPersistent
+    shakespeare shakespeareCss shakespeareJs text time transformers wai
+    xssSanitize yesodCore yesodPersistent
   ];
   testDepends = [ hspec text time ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index 7059e178bb61..78d941b371b6 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -1,6 +1,6 @@
-{ cabal, base64Bytestring, byteable, conduit, cryptohash
-, cryptohashConduit, dataDefault, fileEmbed, filepath, hjsmin
-, hspec, httpTypes, HUnit, mimeTypes, processConduit, resourcet
+{ cabal, async, base64Bytestring, byteable, conduit, conduitExtra
+, cryptohash, cryptohashConduit, dataDefault, fileEmbed, filepath
+, hjsmin, hspec, httpTypes, HUnit, mimeTypes, resourcet
 , shakespeareCss, systemFileio, systemFilepath, text, transformers
 , unixCompat, unorderedContainers, wai, waiAppStatic, waiTest
 , yesodCore, yesodTest
@@ -8,19 +8,19 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-static";
-  version = "1.2.2.2";
-  sha256 = "156qqd2v3z7wv75jsfscs9cvbg1cl1riqcrhycrqcmapjprr2r12";
+  version = "1.2.2.4";
+  sha256 = "1dpd175kd1yda2fs8zzs00j8nhdvzsgqywkkh934qz7zr7p1rawl";
   buildDepends = [
-    base64Bytestring byteable conduit cryptohash cryptohashConduit
-    dataDefault fileEmbed filepath hjsmin httpTypes mimeTypes
-    processConduit resourcet shakespeareCss systemFileio systemFilepath
-    text transformers unixCompat unorderedContainers wai waiAppStatic
+    async base64Bytestring byteable conduit conduitExtra cryptohash
+    cryptohashConduit dataDefault fileEmbed filepath hjsmin httpTypes
+    mimeTypes resourcet shakespeareCss systemFileio systemFilepath text
+    transformers unixCompat unorderedContainers wai waiAppStatic
     yesodCore
   ];
   testDepends = [
-    base64Bytestring byteable conduit cryptohash cryptohashConduit
-    dataDefault fileEmbed filepath hjsmin hspec httpTypes HUnit
-    mimeTypes processConduit resourcet shakespeareCss systemFileio
+    async base64Bytestring byteable conduit conduitExtra cryptohash
+    cryptohashConduit dataDefault fileEmbed filepath hjsmin hspec
+    httpTypes HUnit mimeTypes resourcet shakespeareCss systemFileio
     systemFilepath text transformers unixCompat unorderedContainers wai
     waiAppStatic waiTest yesodCore yesodTest
   ];
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index 38a319a87456..9a9cdc4e295c 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "1.2.1.1";
-  sha256 = "0rbavw67cfqyav6xakacag0sd0gixbz3sls06px6q6pnpzk9q9d4";
+  version = "1.2.1.2";
+  sha256 = "12b747sd5rrypv1i2b5rpa3qgpnzibwjw7rlv02hyz8g7kf6wvbm";
   buildDepends = [
     attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
     cookie hspec htmlConduit httpTypes HUnit monadControl network
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 130e6eb9c334..a3416cf59c6d 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -1,19 +1,20 @@
-{ cabal, aeson, blazeHtml, blazeMarkup, dataDefault, fastLogger
-, hamlet, monadControl, monadLogger, networkConduit, safe
-, shakespeareCss, shakespeareJs, text, transformers
-, unorderedContainers, wai, waiExtra, warp, yaml, yesodAuth
-, yesodCore, yesodForm, yesodPersistent
+{ cabal, aeson, blazeHtml, blazeMarkup, conduitExtra, dataDefault
+, fastLogger, hamlet, monadControl, monadLogger, networkConduit
+, safe, shakespeare, shakespeareCss, shakespeareJs, text
+, transformers, unorderedContainers, wai, waiExtra, warp, yaml
+, yesodAuth, yesodCore, yesodForm, yesodPersistent
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.2.5";
-  sha256 = "0vcszhd8vasfpm754bz1vyarhlkffj3kbrfcq9q5gqmm389jfpk2";
+  version = "1.2.5.2";
+  sha256 = "0vvpzyfwzgnnd8h60pqz5z1474isp487p43vx7cyzhj423c50p6r";
   buildDepends = [
-    aeson blazeHtml blazeMarkup dataDefault fastLogger hamlet
-    monadControl monadLogger networkConduit safe shakespeareCss
-    shakespeareJs text transformers unorderedContainers wai waiExtra
-    warp yaml yesodAuth yesodCore yesodForm yesodPersistent
+    aeson blazeHtml blazeMarkup conduitExtra dataDefault fastLogger
+    hamlet monadControl monadLogger networkConduit safe shakespeare
+    shakespeareCss shakespeareJs text transformers unorderedContainers
+    wai waiExtra warp yaml yesodAuth yesodCore yesodForm
+    yesodPersistent
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/zlib-bindings/default.nix b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
index 231e3ac40f07..ba4751af2fe3 100644
--- a/pkgs/development/libraries/haskell/zlib-bindings/default.nix
+++ b/pkgs/development/libraries/haskell/zlib-bindings/default.nix
@@ -2,13 +2,13 @@
 
 cabal.mkDerivation (self: {
   pname = "zlib-bindings";
-  version = "0.1.1.4";
-  sha256 = "02ln0gv9kkq68s3n195q2mpqimxb6k4wqs731b1gg8wrbbkaxb6w";
+  version = "0.1.1.5";
+  sha256 = "02ciywlz4wdlymgc3jsnicz9kzvymjw1www2163gxidnz4wb8fy8";
   buildDepends = [ zlib ];
   testDepends = [ hspec QuickCheck zlib ];
   meta = {
     homepage = "http://github.com/snoyberg/zlib-bindings";
-    description = "Low-level bindings to the zlib package";
+    description = "Low-level bindings to the zlib package. (deprecated)";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix
new file mode 100644
index 000000000000..26dc6be8382c
--- /dev/null
+++ b/pkgs/development/libraries/libmsgpack/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, ruby }:
+
+stdenv.mkDerivation rec {
+  version = "0.5.8";
+  name = "libmsgpack-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/msgpack/msgpack-c/archive/cpp-${version}.tar.gz";
+    sha256 = "1h6k9kdbfavmw3by5kk3raszwa64hn9k8yw9rdhvl5m8g2lks89k";
+  };
+
+  buildInputs = [ autoconf automake libtool ruby ];
+
+  outputs = [ "out" "lib" ];
+
+  preConfigure = "./bootstrap";
+
+  postInstall = ''
+    mkdir -p $lib/lib
+    mv $out/lib/*.so.* $lib/lib/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "MessagePack implementation for C and C++";
+    homepage = http://msgpack.org;
+    maintainers = [ maintainers.redbaron ];
+    license = licenses.asl20;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 42fa2578062d..d90e1c225641 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-2.14";
+  name = "libtasn1-3.4";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "0m1x2p04xpacl18dzv1hmsm2fk97gi167ra5h4kmjy16436kcadw";
+    sha256 = "1j5cwsjk9wai700ljsr5qyzywijrr5ba05hhg4mkgqlg8mx50lzk";
   };
 
+  buildInputs = [ perl texinfo ];
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/mps/default.nix b/pkgs/development/libraries/mps/default.nix
new file mode 100644
index 000000000000..6e1e8c8e1138
--- /dev/null
+++ b/pkgs/development/libraries/mps/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, autoreconfHook, sqlite }:
+
+stdenv.mkDerivation rec {
+  name = "mps-${version}";
+  version = "1.113.0";
+
+  src = fetchurl {
+    url    = "http://www.ravenbrook.com/project/mps/release/${version}/mps-kit-${version}.tar.gz";
+    sha256 = "0v4difh3yl2mvpvnwlavhaags945l1452g07fllhdbpzgbjay79i";
+  };
+
+  buildInputs = [ autoreconfHook sqlite ];
+
+  # Fix a slightly annoying build failure in 'make install'
+  patchPhase = "substituteInPlace ./Makefile.in --replace /hot/Release /hot";
+
+  meta = {
+    description = "A flexible memory management and garbage collection library";
+    homepage    = "http://www.ravenbrook.com/project/mps";
+    license     = stdenv.lib.licenses.sleepycat;
+    platforms   = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/npapi-sdk/default.nix b/pkgs/development/libraries/npapi-sdk/default.nix
new file mode 100644
index 000000000000..255468e78103
--- /dev/null
+++ b/pkgs/development/libraries/npapi-sdk/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "npapi-sdk-${version}";
+
+  version = "0.27.2";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/mgorny/npapi-sdk/downloads/${name}.tar.bz2";
+
+    sha256 = "0xxfcsjmmgbbyl9zwpzdshbx27grj5fnzjfmldmm9apws2yk9gq1";
+  };
+
+  meta = with stdenv.lib; {
+    description = "NPAPI-SDK is a bundle of NPAPI headers by Mozilla";
+
+    homepage = https://code.google.com/p/npapi-sdk/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wizeman ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 8f8551ac9b63..8497ea9ae942 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -3,10 +3,12 @@
 , gtk2, gtk3, wayland, libwebp, enchant
 , libxml2, libsoup, libsecret, libxslt, harfbuzz
 , gst-plugins-base
+, withGtk2 ? false
+, enableIntrospection ? true
 }:
 
 stdenv.mkDerivation rec {
-  name = "webkitgtk-2.2.4";
+  name = "webkitgtk-2.4.0";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -18,22 +20,23 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "0x2d9hds5yazwdakkhrh3dk5qxscb169imi056q2qq53zhdyw6jy";
+    sha256 = "1fyz6ysw7npy5wa7m1zg05zrj0gi0wdlpjbqix03iq4ym36pflnw";
   };
 
   patches = [ ./webcore-svg-libxml-cflags.patch ];
 
+  CC = "cc";
+
   prePatch = ''
     patchShebangs Tools/gtk
-
-    for i in $(find . -name '*.p[l|m]'); do
-      sed -e 's@/usr/bin/gcc@gcc@' -i $i
-    done
   '';
 
-  configureFlags = [
+  configureFlags = with stdenv.lib; [
     "--disable-geolocation"
-    "--enable-introspection"
+    (optionalString enableIntrospection "--enable-introspection")
+  ] ++ stdenv.lib.optional withGtk2 [
+    "--with-gtk=2.0"
+    "--disable-webkit2"
   ];
 
   dontAddDisableDepTrack = true;
@@ -49,7 +52,10 @@ stdenv.mkDerivation rec {
     gst-plugins-base
   ];
 
-  propagatedBuildInputs = [ gtk3 libsoup ];
+  propagatedBuildInputs = [
+    libsoup
+    (if withGtk2 then gtk2 else gtk3)
+  ];
 
   #enableParallelBuilding = true; # build problems on Hydra
 }
diff --git a/pkgs/development/tools/documentation/haddock/2.14.1.nix b/pkgs/development/tools/documentation/haddock/2.14.1.nix
new file mode 100644
index 000000000000..c63503c85baa
--- /dev/null
+++ b/pkgs/development/tools/documentation/haddock/2.14.1.nix
@@ -0,0 +1,22 @@
+{ cabal, alex, Cabal, deepseq, filepath, ghcPaths, happy, hspec
+, QuickCheck, xhtml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "haddock";
+  version = "2.14.1";
+  sha256 = "1mxkphzdfd5c8dklfl09ajqwhw8ibvzl0cqrfr2j8rn0j03w46x6";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ Cabal deepseq filepath ghcPaths xhtml ];
+  testDepends = [ Cabal deepseq filepath hspec QuickCheck ];
+  buildTools = [ alex happy ];
+  doCheck = false;
+  meta = {
+    homepage = "http://www.haskell.org/haddock/";
+    description = "A documentation-generation tool for Haskell libraries";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/tools/haskell/cake3/default.nix b/pkgs/development/tools/haskell/cake3/default.nix
new file mode 100644
index 000000000000..c5c35ac571cb
--- /dev/null
+++ b/pkgs/development/tools/haskell/cake3/default.nix
@@ -0,0 +1,23 @@
+{ cabal, attoparsec, deepseq, filepath, haskellSrcMeta
+, languageJavascript, mimeTypes, monadloc, mtl, optparseApplicative
+, syb, systemFilepath, text, textFormat
+}:
+
+cabal.mkDerivation (self: {
+  pname = "cake3";
+  version = "0.4.0.0";
+  sha256 = "15v50m60fr2mgfm2irxfaw4pi2s3bx187p0y0ns20rqfy0dasxyx";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    attoparsec deepseq filepath haskellSrcMeta languageJavascript
+    mimeTypes monadloc mtl optparseApplicative syb systemFilepath text
+    textFormat
+  ];
+  meta = {
+    homepage = "https://github.com/grwlf/cake3";
+    description = "Third cake the Makefile EDSL";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix
index b8cf2466b10a..a56e64953c0d 100644
--- a/pkgs/development/tools/haskell/keter/default.nix
+++ b/pkgs/development/tools/haskell/keter/default.nix
@@ -1,17 +1,16 @@
 { cabal, aeson, async, attoparsec, blazeBuilder, caseInsensitive
-, conduit, dataDefault, filepath, fsnotify, httpClient
+, conduit, dataDefault, filepath, fsnotify, hspec, httpClient
 , httpClientConduit, httpConduit, httpReverseProxy, httpTypes
 , liftedBase, mtl, network, networkConduit, networkConduitTls
 , random, regexTdfa, stm, systemFileio, systemFilepath, tar, text
-, time, transformers, unixCompat, unixProcessConduit
-, unorderedContainers, vector, wai, waiAppStatic, waiExtra, warp
-, warpTls, yaml, zlib
+, time, transformers, unixCompat, unorderedContainers, vector, wai
+, waiAppStatic, waiExtra, warp, warpTls, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "keter";
-  version = "1.2.0";
-  sha256 = "06iz01ci1mcxjqs7dknxgjlkl783sdf680b54schxxirg268cxh3";
+  version = "1.2.1";
+  sha256 = "160kw3c2h9i1rwhicm860ahanx9p9qskrnfxsa68484j0cmw1ga9";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -20,9 +19,10 @@ cabal.mkDerivation (self: {
     httpConduit httpReverseProxy httpTypes liftedBase mtl network
     networkConduit networkConduitTls random regexTdfa stm systemFileio
     systemFilepath tar text time transformers unixCompat
-    unixProcessConduit unorderedContainers vector wai waiAppStatic
-    waiExtra warp warpTls yaml zlib
+    unorderedContainers vector wai waiAppStatic waiExtra warp warpTls
+    yaml zlib
   ];
+  testDepends = [ conduit hspec transformers ];
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Web application deployment manager, focusing on Haskell web frameworks";