summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-01-20 19:39:28 +0100
committerVladimír Čunát <vcunat@gmail.com>2014-01-20 19:39:28 +0100
commitac6761c9081134baaa7dae18f06cbfaca38270d5 (patch)
treea1ff0e93e8907624d65aff367496513d3dc47374 /pkgs/development
parent177667eea987898097e854a54962ff90bbf4fa35 (diff)
parent8088837dc8f35ef7853787f88bb1db7248900cc4 (diff)
downloadnixlib-ac6761c9081134baaa7dae18f06cbfaca38270d5.tar
nixlib-ac6761c9081134baaa7dae18f06cbfaca38270d5.tar.gz
nixlib-ac6761c9081134baaa7dae18f06cbfaca38270d5.tar.bz2
nixlib-ac6761c9081134baaa7dae18f06cbfaca38270d5.tar.lz
nixlib-ac6761c9081134baaa7dae18f06cbfaca38270d5.tar.xz
nixlib-ac6761c9081134baaa7dae18f06cbfaca38270d5.tar.zst
nixlib-ac6761c9081134baaa7dae18f06cbfaca38270d5.zip
Merge master into stdenv-updates
Conflicts:
	pkgs/applications/version-management/gource/default.nix
	pkgs/top-level/all-packages.nix
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/llvm/clang-purity.patch162
-rw-r--r--pkgs/development/compilers/llvm/clang-tablegen-dir.patch9
-rw-r--r--pkgs/development/compilers/llvm/clang.nix41
-rw-r--r--pkgs/development/compilers/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/dragonegg.nix8
-rw-r--r--pkgs/development/compilers/llvm/full.nix89
-rw-r--r--pkgs/development/compilers/rust/default.nix51
-rw-r--r--pkgs/development/interpreters/spidermonkey/17.0.nix40
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--pkgs/development/libraries/audio/sratom/default.nix4
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/2.x.nix2
-rw-r--r--pkgs/development/libraries/glm/default.nix34
-rw-r--r--pkgs/development/libraries/haskell/JuicyPixels/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/TypeCompose/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.6.2.1.nix (renamed from pkgs/development/libraries/haskell/aeson/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/aeson/0.7.0.0.nix26
-rw-r--r--pkgs/development/libraries/haskell/base16-bytestring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix (renamed from pkgs/development/libraries/haskell/case-insensitive/1.1.0.2.nix)4
-rw-r--r--pkgs/development/libraries/haskell/conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/coroutine-object/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/cryptohash/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/exceptions/default.nix5
-rw-r--r--pkgs/development/libraries/haskell/gloss-raster/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gloss/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gnuidn/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/hakyll/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/heist/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hoodle-builder/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/hoodle-core/default.nix31
-rw-r--r--pkgs/development/libraries/haskell/hoodle-parser/default.nix21
-rw-r--r--pkgs/development/libraries/haskell/hoodle-render/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/hoodle-types/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/pipes-bytestring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/snap/snap.nix4
-rw-r--r--pkgs/development/libraries/haskell/stm-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/tasty-rerun/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/threepenny-gui/default.nix26
-rw-r--r--pkgs/development/libraries/haskell/timezone-olson/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/timezone-series/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/transformers-free/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/vector-space-points/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/xournal-parser/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/xournal-types/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/yesod-auth/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-platform/default.nix82
-rw-r--r--pkgs/development/libraries/isl/0.12.2.nix20
-rw-r--r--pkgs/development/libraries/json-glib/default.nix15
-rw-r--r--pkgs/development/libraries/libc++/default.nix45
-rw-r--r--pkgs/development/libraries/libc++abi/default.nix39
-rw-r--r--pkgs/development/libraries/libossp-uuid/default.nix40
-rw-r--r--pkgs/development/libraries/libvpx/default.nix8
-rw-r--r--pkgs/development/libraries/libwacom/default.nix19
-rw-r--r--pkgs/development/libraries/phonon-backend-vlc/default.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/camomile/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/menhir/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/ounit/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix2
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix4
-rw-r--r--pkgs/development/tools/haskell/hasktags/default.nix10
-rw-r--r--pkgs/development/tools/ocaml/camlp5/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix6
-rw-r--r--pkgs/development/tools/parsing/happy/1.19.3.nix18
68 files changed, 796 insertions, 387 deletions
diff --git a/pkgs/development/compilers/llvm/clang-purity.patch b/pkgs/development/compilers/llvm/clang-purity.patch
deleted file mode 100644
index e82305189e8f..000000000000
--- a/pkgs/development/compilers/llvm/clang-purity.patch
+++ /dev/null
@@ -1,162 +0,0 @@
-diff -Naur cfe-3.3.src-orig/lib/Driver/ToolChains.cpp cfe-3.3.src/lib/Driver/ToolChains.cpp
---- cfe-3.3.src-orig/lib/Driver/ToolChains.cpp	2013-05-06 12:26:41.000000000 -0400
-+++ cfe-3.3.src/lib/Driver/ToolChains.cpp	2013-06-21 19:28:12.120364372 -0400
-@@ -2318,17 +2318,6 @@
-                       Paths);
-     }
-   }
--  addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths);
--  addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths);
--  addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths);
--  addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths);
--
--  // Try walking via the GCC triple path in case of multiarch GCC
--  // installations with strange symlinks.
--  if (GCCInstallation.isValid())
--    addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
--                    "/../../" + Multilib, Paths);
--
-   // Add the non-multilib suffixed paths (if potentially different).
-   if (GCCInstallation.isValid()) {
-     const std::string &LibPath = GCCInstallation.getParentLibPath();
-@@ -2341,8 +2330,6 @@
-       addPathIfExists(LibPath, Paths);
-     }
-   }
--  addPathIfExists(SysRoot + "/lib", Paths);
--  addPathIfExists(SysRoot + "/usr/lib", Paths);
- 
-   IsPIEDefault = SanitizerArgs(*this, Args).hasZeroBaseShadow();
- }
-@@ -2395,9 +2382,6 @@
-   if (DriverArgs.hasArg(options::OPT_nostdinc))
-     return;
- 
--  if (!DriverArgs.hasArg(options::OPT_nostdlibinc))
--    addSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/local/include");
--
-   if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
-     llvm::sys::Path P(D.ResourceDir);
-     P.appendComponent("include");
-@@ -2479,26 +2463,6 @@
-     "/usr/include/powerpc64-linux-gnu"
-   };
-   ArrayRef<StringRef> MultiarchIncludeDirs;
--  if (getTriple().getArch() == llvm::Triple::x86_64) {
--    MultiarchIncludeDirs = X86_64MultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::x86) {
--    MultiarchIncludeDirs = X86MultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::aarch64) {
--    MultiarchIncludeDirs = AArch64MultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::arm) {
--    if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
--      MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs;
--    else
--      MultiarchIncludeDirs = ARMMultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::mips) {
--    MultiarchIncludeDirs = MIPSMultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::mipsel) {
--    MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::ppc) {
--    MultiarchIncludeDirs = PPCMultiarchIncludeDirs;
--  } else if (getTriple().getArch() == llvm::Triple::ppc64) {
--    MultiarchIncludeDirs = PPC64MultiarchIncludeDirs;
--  }
-   for (ArrayRef<StringRef>::iterator I = MultiarchIncludeDirs.begin(),
-                                      E = MultiarchIncludeDirs.end();
-        I != E; ++I) {
-@@ -2510,13 +2474,6 @@
- 
-   if (getTriple().getOS() == llvm::Triple::RTEMS)
-     return;
--
--  // Add an include of '/include' directly. This isn't provided by default by
--  // system GCCs, but is often used with cross-compiling GCCs, and harmless to
--  // add even when Clang is acting as-if it were a system compiler.
--  addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
--
--  addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
- }
- 
- /// \brief Helper to add the three variant paths for a libstdc++ installation.
-diff -Naur cfe-3.3.src-orig/lib/Driver/Tools.cpp cfe-3.3.src/lib/Driver/Tools.cpp
---- cfe-3.3.src-orig/lib/Driver/Tools.cpp	2013-05-30 14:01:30.000000000 -0400
-+++ cfe-3.3.src/lib/Driver/Tools.cpp	2013-06-21 19:30:51.604726574 -0400
-@@ -5976,43 +5976,6 @@
-     }
-   }
- 
--  if (ToolChain.getArch() == llvm::Triple::arm ||
--      ToolChain.getArch() == llvm::Triple::thumb ||
--      (!Args.hasArg(options::OPT_static) &&
--       !Args.hasArg(options::OPT_shared))) {
--    CmdArgs.push_back("-dynamic-linker");
--    if (isAndroid)
--      CmdArgs.push_back("/system/bin/linker");
--    else if (ToolChain.getArch() == llvm::Triple::x86)
--      CmdArgs.push_back("/lib/ld-linux.so.2");
--    else if (ToolChain.getArch() == llvm::Triple::aarch64)
--      CmdArgs.push_back("/lib/ld-linux-aarch64.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::arm ||
--             ToolChain.getArch() == llvm::Triple::thumb) {
--      if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
--        CmdArgs.push_back("/lib/ld-linux-armhf.so.3");
--      else
--        CmdArgs.push_back("/lib/ld-linux.so.3");
--    }
--    else if (ToolChain.getArch() == llvm::Triple::mips ||
--             ToolChain.getArch() == llvm::Triple::mipsel)
--      CmdArgs.push_back("/lib/ld.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::mips64 ||
--             ToolChain.getArch() == llvm::Triple::mips64el) {
--      if (hasMipsN32ABIArg(Args))
--        CmdArgs.push_back("/lib32/ld.so.1");
--      else
--        CmdArgs.push_back("/lib64/ld.so.1");
--    }
--    else if (ToolChain.getArch() == llvm::Triple::ppc)
--      CmdArgs.push_back("/lib/ld.so.1");
--    else if (ToolChain.getArch() == llvm::Triple::ppc64 ||
--	     ToolChain.getArch() == llvm::Triple::systemz)
--      CmdArgs.push_back("/lib64/ld64.so.1");
--    else
--      CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2");
--  }
--
-   CmdArgs.push_back("-o");
-   CmdArgs.push_back(Output.getFilename());
- 
-diff -Naur cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp
---- cfe-3.3.src-orig/lib/Frontend/InitHeaderSearch.cpp	2013-04-29 21:21:43.000000000 -0400
-+++ cfe-3.3.src/lib/Frontend/InitHeaderSearch.cpp	2013-06-21 19:32:47.627016565 -0400
-@@ -225,20 +225,6 @@
-                                             const HeaderSearchOptions &HSOpts) {
-   llvm::Triple::OSType os = triple.getOS();
- 
--  if (HSOpts.UseStandardSystemIncludes) {
--    switch (os) {
--    case llvm::Triple::FreeBSD:
--    case llvm::Triple::NetBSD:
--    case llvm::Triple::OpenBSD:
--    case llvm::Triple::Bitrig:
--      break;
--    default:
--      // FIXME: temporary hack: hard-coded paths.
--      AddPath("/usr/local/include", System, false);
--      break;
--    }
--  }
--
-   // Builtin includes use #include_next directives and should be positioned
-   // just prior C include dirs.
-   if (HSOpts.UseBuiltinIncludes) {
-@@ -332,9 +318,6 @@
-   default:
-     break;
-   }
--
--  if ( os != llvm::Triple::RTEMS )
--    AddPath("/usr/include", ExternCSystem, false);
- }
- 
- void InitHeaderSearch::
diff --git a/pkgs/development/compilers/llvm/clang-tablegen-dir.patch b/pkgs/development/compilers/llvm/clang-tablegen-dir.patch
deleted file mode 100644
index de6a468b239f..000000000000
--- a/pkgs/development/compilers/llvm/clang-tablegen-dir.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/utils/TableGen/CMakeLists.txt       (revision 190146)
-+++ b/utils/TableGen/CMakeLists.txt       (working copy)
-@@ -1,4 +1,5 @@
- set(LLVM_LINK_COMPONENTS Support)
-+set(LLVM_TOOLS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
- 
- add_tablegen(clang-tblgen CLANG
-   ClangASTNodesEmitter.cpp
-
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
deleted file mode 100644
index 8c178c9ce037..000000000000
--- a/pkgs/development/compilers/llvm/clang.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }:
-
-let
-  version = "3.3";
-  gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc;
-in
-
-stdenv.mkDerivation {
-  name = "clang-${version}";
-
-  buildInputs = [ perl llvm groff cmake libxml2 python ];
-
-  patches = [ ./clang-tablegen-dir.patch ] ++
-            stdenv.lib.optional (stdenv.gcc.libc != null) ./clang-purity.patch;
-
-  cmakeFlags = [
-    "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}"
-    "-DCMAKE_BUILD_TYPE=Release"
-    "-DLLVM_TARGETS_TO_BUILD=all"
-    "-DGCC_INSTALL_PREFIX=${gccReal}"
-  ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [
-    "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/"
-  ];
-
-  enableParallelBuilding = true;
-
-  src = fetchurl {
-      url = "http://llvm.org/releases/${version}/cfe-${version}.src.tar.gz";
-      sha256 = "15mrvw43s4frk1j49qr4v5viq68h8qlf10qs6ghd6mrsmgj5vddi";
-  };
-
-  passthru = { gcc = stdenv.gcc.gcc; };
-
-  meta = {
-    homepage = http://clang.llvm.org/;
-    description = "A C language family frontend for LLVM";
-    license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [viric shlevy];
-    platforms = with stdenv.lib.platforms; all;
-  };
-}
diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix
index fc5b5ff8d96f..73eb7135ca44 100644
--- a/pkgs/development/compilers/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "Collection of modular and reusable compiler and toolchain technologies";
     homepage    = http://llvm.org/;
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ lovek323 raskin shlevy viric ];
+    maintainers = with maintainers; [ lovek323 raskin viric ];
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/llvm/dragonegg.nix b/pkgs/development/compilers/llvm/dragonegg.nix
index 737b9533a089..38d3546d9819 100644
--- a/pkgs/development/compilers/llvm/dragonegg.nix
+++ b/pkgs/development/compilers/llvm/dragonegg.nix
@@ -1,18 +1,18 @@
-{stdenv, fetchurl, llvm, gmp, mpfr, mpc}:
+{stdenv, fetchurl, llvm, gmp, mpfr, mpc, ncurses, zlib}:
 
 stdenv.mkDerivation rec {
-  version = "3.3";
+  version = "3.4";
   name = "dragonegg-${version}";
 
   src = fetchurl {
     url = "http://llvm.org/releases/${version}/${name}.src.tar.gz";
-    sha256 = "1kfryjaz5hxh3q6m50qjrwnyjb3smg2zyh025lhz9km3x4kshlri";
+    sha256 = "1733czbvby1ww3xkwcwmm0km0bpwhfyxvf56wb0zv5gksp3kbgrl";
   };
 
   # The gcc the plugin will be built for (the same used building dragonegg)
   GCC = "gcc";
 
-  buildInputs = [ llvm gmp mpfr mpc ];
+  buildInputs = [ llvm gmp mpfr mpc ncurses zlib ];
 
   installPhase = ''
     mkdir -p $out/lib $out/share/doc/${name}
diff --git a/pkgs/development/compilers/llvm/full.nix b/pkgs/development/compilers/llvm/full.nix
new file mode 100644
index 000000000000..9c63502d8cd0
--- /dev/null
+++ b/pkgs/development/compilers/llvm/full.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, fetchurl
+, perl, groff
+, cmake
+, libxml2
+, python
+, libffi
+, zlib
+, ncurses
+, isl
+, gmp
+, doxygen
+, binutils
+, swig
+, which
+, libedit
+, valgrind
+}:
+
+let
+  version = "3.4";
+
+  fetch = name: sha256: fetchurl {
+    url = "http://llvm.org/releases/${version}/${name}-${version}.src.tar.gz";
+    inherit sha256;
+  };
+
+  inherit (stdenv.lib) concatStrings mapAttrsToList;
+in stdenv.mkDerivation {
+  name = "llvm-full-${version}";
+
+  unpackPhase = ''
+    unpackFile ${fetch "llvm" "0a169ba045r4apb9cv6ncrwl83l7yiajnzirkcdlhj1cd4nn3995"}
+    mv llvm-${version} llvm
+    sourceRoot=$PWD/llvm
+    ${concatStrings (mapAttrsToList (name: { location, sha256 }: ''
+      unpackFile ${fetch name sha256}
+      mv ${name}-${version} $sourceRoot/${location}
+    '') {
+      clang = { location = "tools/clang"; sha256 = "06rb4j1ifbznl3gfhl98s7ilj0ns01p7y7zap4p7ynmqnc6pia92"; };
+      clang-tools-extra = { location = "tools/clang/tools/extra"; sha256 = "1d1822mwxxl9agmyacqjw800kzz5x8xr0sdmi8fgx5xfa5sii1ds"; };
+      compiler-rt = { location = "projects/compiler-rt"; sha256 = "0p5b6varxdqn7q3n77xym63hhq4qqxd2981pfpa65r1w72qqjz7k"; };
+      lld = { location = "tools/lld"; sha256 = "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxz"; };
+      lldb = { location = "tools/lldb"; sha256 = "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x4g"; };
+      polly = { location = "tools/polly"; sha256 = "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6lz"; };
+    })}
+    sed -i 's|/usr/bin/env||' \
+      $sourceRoot/tools/lldb/scripts/Python/finish-swig-Python-LLDB.sh \
+      $sourceRoot/tools/lldb/scripts/Python/build-swig-Python.sh
+  '';
+
+  buildInputs = [ perl
+                  groff
+                  cmake
+                  libxml2
+                  python
+                  libffi
+                  zlib
+                  ncurses
+                  isl
+                  gmp
+                  doxygen
+                  swig
+                  which
+                  libedit
+                  valgrind
+                ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DGCC_INSTALL_PREFIX=${stdenv.gcc.gcc}"
+    "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/"
+    "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+  ];
+
+  passthru.gcc = stdenv.gcc.gcc;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
new file mode 100644
index 000000000000..a0c8b50ad3fa
--- /dev/null
+++ b/pkgs/development/compilers/rust/default.nix
@@ -0,0 +1,51 @@
+{stdenv, fetchurl, which, file, perl, curl, python27, makeWrapper}:
+
+let snapshotName = "rust-stage0-2014-01-05-a6d3e57-linux-x86_64-aa8fbbacdb1d8a078f3a3fe3478dcbc506bd4090.tar.bz2"; in
+stdenv.mkDerivation {
+  name = "rust-0.9";
+
+  src = fetchurl {
+    url = http://static.rust-lang.org/dist/rust-0.9.tar.gz;
+    sha256 = "1lfmgnn00wrc30nf5lgg52w58ir3xpsnpmzk2v5a35xp8lsir4f0";
+  };
+
+  # We need rust to build rust. If we don't provide it, configure will try to download it
+  snapshot = fetchurl {
+    url = "http://static.rust-lang.org/stage0-snapshots/${snapshotName}";
+    sha256 = "17inc23jpznqp0vnskvznm74mm24c1nffhz2bkadhvp2ww0vpjjx";
+  };
+
+  # Put the snapshot where it is expected
+  postUnpack = ''
+    mkdir $sourceRoot/dl
+    ln -s $snapshot $sourceRoot/dl/${snapshotName}
+  '';
+
+  # Modify the snapshot compiler so that is can be executed
+  preBuild = if stdenv.isLinux then ''
+    make x86_64-unknown-linux-gnu/stage0/bin/rustc
+    patchelf --interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2 \
+             --set-rpath ${stdenv.gcc.gcc}/lib/ \
+             x86_64-unknown-linux-gnu/stage0/bin/rustc
+  '' else null;
+
+  # rustc requires cc
+  postInstall = ''
+    for f in $out/bin/*; do
+      wrapProgram $f --prefix PATH : "${stdenv.gcc}/bin"
+    done
+  '';
+
+  buildInputs = [ which file perl curl python27 makeWrapper ];
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = http://www.rust-lang.org/;
+    description = "A safe, concurrent, practical language";
+    maintainers = [ stdenv.lib.maintainers.madjar ];
+    license = map (builtins.getAttr "shortName") [ stdenv.lib.licenses.mit stdenv.lib.licenses.asl20 ];
+    # platforms as per http://static.rust-lang.org/doc/master/tutorial.html#getting-started
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+  };
+}
+
diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix
new file mode 100644
index 000000000000..3f484426a106
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/17.0.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip }:
+
+stdenv.mkDerivation rec {
+  version = "17.0.0";
+  name = "spidermonkey-${version}";
+
+  src = fetchurl {
+    url = "http://ftp.mozilla.org/pub/mozilla.org/js/mozjs${version}.tar.gz";
+    sha256 = "1fig2wf4f10v43mqx67y68z6h77sy900d1w0pz9qarrqx57rc7ij";
+  };
+
+  propagatedBuildInputs = [ nspr ];
+
+  buildInputs = [ pkgconfig perl python zip ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/js/src";
+
+  preConfigure = ''
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${nspr}/include/nspr"
+    export LIBXUL_DIST=$out
+  '';
+
+  configureFlags = [ "--enable-threadsafe" "--with-system-nspr" ];
+
+  # hack around a make problem, see https://github.com/NixOS/nixpkgs/issues/1279#issuecomment-29547393
+  preBuild = "touch -- {.,shell,jsapi-tests}/{-lpthread,-ldl}";
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  preCheck = "rm jit-test/tests/sunspider/check-date-format-tofte.js"; # https://bugzil.la/600522
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    # TODO: MPL/GPL/LGPL tri-license.
+    maintainers = [ maintainers.goibhniu ];
+  };
+}
+
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index 1baa96cd6da8..9150df8da7d4 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lilv-${version}";
-  version = "0.16.0";
+  version = "0.18.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1ddrcikypi7gfmj5cqn975axzrgv7mhzif4h0ni9w5b4v64rvcyg";
+    sha256 = "1k9wfc08ylgbkwbnvh1fx1bdzl3y59xrrx8gv0vk68yzcvcmv6am";
   };
 
   buildInputs = [ lv2 pkgconfig python serd sord sratom ];
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index bd6c64a9ee20..f5d48df03f84 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lv2-${version}";
-  version = "1.6.0";
+  version = "1.8.0";
 
   src = fetchurl {
     url = "http://lv2plug.in/spec/${name}.tar.bz2";
-    sha256 = "0nxrkmcpsm4v25wp2l7lcw4n0823kbplilpv51fszf710qsn7k9v";
+    sha256 = "1mxkp7gajh1alw6s358cqwf3qkpr1ld9wfxwswnqrxcd9a7hxjd4";
   };
 
   buildInputs = [ gtk libsndfile pkgconfig python ];
diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix
index daaf780e45da..5c78296af971 100644
--- a/pkgs/development/libraries/audio/sratom/default.nix
+++ b/pkgs/development/libraries/audio/sratom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sratom-${version}";
-  version = "0.4.2";
+  version = "0.4.4";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "16i5snknl9frz638mgr58lp11ap1xmkbrkb3l6f0ad8ddqpcjm3i";
+    sha256 = "1q4044md8nmqah8ay5mf4lgdl6x0sfa4cjqyqk9da8nqzvs2j37s";
   };
 
   buildInputs = [ lv2 pkgconfig python serd sord ];
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index f5b68b7a8431..8af725b6b80f 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "suil-${version}";
-  version = "0.6.16";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "101xq7pd8kvnqwm4viaj4ikhn65jxrlrkg79ca954yqrdb9p9w8v";
+    sha256 = "0y5sbgaivb03vmr3jcpzj16wqxa5h744ml4w3ylzglbxs2bqgl7n";
   };
 
   buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ];
diff --git a/pkgs/development/libraries/ffmpeg/2.x.nix b/pkgs/development/libraries/ffmpeg/2.x.nix
index 4e975ea3d822..dd29e1e9e6bc 100644
--- a/pkgs/development/libraries/ffmpeg/2.x.nix
+++ b/pkgs/development/libraries/ffmpeg/2.x.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   speexSupport = config.ffmpeg.speex or true;
   theoraSupport = config.ffmpeg.theora or true;
   vorbisSupport = config.ffmpeg.vorbis or true;
-  vpxSupport = config.ffmpeg.vpx or false;
+  vpxSupport = config.ffmpeg.vpx or true;
   x264Support = config.ffmpeg.x264 or true;
   xvidSupport = config.ffmpeg.xvid or true;
   opusSupport = config.ffmpeg.opus or true;
diff --git a/pkgs/development/libraries/glm/default.nix b/pkgs/development/libraries/glm/default.nix
new file mode 100644
index 000000000000..b35fe1e78559
--- /dev/null
+++ b/pkgs/development/libraries/glm/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, unzip }:
+
+stdenv.mkDerivation rec {
+  name = "glm-0.9.5.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/ogl-math/${name}/${name}.zip";
+    sha256 = "1x8bpmqdszzkg21r411w7cy4mqd5dcvb9jghc8h3xrx7ldbicqjg";
+  };
+
+  buildInputs = [ unzip ];
+
+  outputs = [ "out" "doc" ];
+
+  installPhase = ''
+    mkdir -p "$out/include"
+    cp -r glm "$out/include"
+
+    mkdir -p "$doc/share/doc/glm"
+    cp -r doc/* "$doc/share/doc/glm"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "OpenGL Mathematics library for C++";
+    longDescription = ''
+      OpenGL Mathematics (GLM) is a header only C++ mathematics library for
+      graphics software based on the OpenGL Shading Language (GLSL)
+      specification and released under the MIT license.
+    '';
+    homepage = http://glm.g-truc.net/;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/haskell/JuicyPixels/default.nix b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
index 485a80dadb3c..d8d0ac69badd 100644
--- a/pkgs/development/libraries/haskell/JuicyPixels/default.nix
+++ b/pkgs/development/libraries/haskell/JuicyPixels/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "JuicyPixels";
-  version = "3.1.2";
-  sha256 = "19bal3g3cp4nn8g3zp4yi5g4zw5wnkbi74gcra8mxs4zy99bf8s2";
+  version = "3.1.3";
+  sha256 = "1zyrdd8mhgj0lchsznyhqhxb48ql8fhfqi5qs54qaxan514w6x70";
   buildDepends = [
     binary deepseq mtl primitive transformers vector zlib
   ];
diff --git a/pkgs/development/libraries/haskell/TypeCompose/default.nix b/pkgs/development/libraries/haskell/TypeCompose/default.nix
new file mode 100644
index 000000000000..b7c1a23d3d5e
--- /dev/null
+++ b/pkgs/development/libraries/haskell/TypeCompose/default.nix
@@ -0,0 +1,14 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "TypeCompose";
+  version = "0.9.9";
+  sha256 = "0i89r1yaglkcc1fdhn0m4hws5rqcpmkg32ddznch7a3rz1l9gqwg";
+  meta = {
+    homepage = "https://github.com/conal/TypeCompose";
+    description = "Type composition classes & instances";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/aeson/default.nix b/pkgs/development/libraries/haskell/aeson/0.6.2.1.nix
index edd2a21040e8..edd2a21040e8 100644
--- a/pkgs/development/libraries/haskell/aeson/default.nix
+++ b/pkgs/development/libraries/haskell/aeson/0.6.2.1.nix
diff --git a/pkgs/development/libraries/haskell/aeson/0.7.0.0.nix b/pkgs/development/libraries/haskell/aeson/0.7.0.0.nix
new file mode 100644
index 000000000000..41bbdbf5a0b9
--- /dev/null
+++ b/pkgs/development/libraries/haskell/aeson/0.7.0.0.nix
@@ -0,0 +1,26 @@
+{ cabal, attoparsec, deepseq, dlist, hashable, HUnit, mtl
+, QuickCheck, scientific, syb, testFramework, testFrameworkHunit
+, testFrameworkQuickcheck2, text, time, unorderedContainers, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "aeson";
+  version = "0.7.0.0";
+  sha256 = "14xh7i07ha2hgljq0y0v7f5gkn0pv2zqj8l9j92957mf7f17zwf6";
+  buildDepends = [
+    attoparsec deepseq dlist hashable mtl scientific syb text time
+    unorderedContainers vector
+  ];
+  testDepends = [
+    attoparsec HUnit QuickCheck testFramework testFrameworkHunit
+    testFrameworkQuickcheck2 text time unorderedContainers vector
+  ];
+  doCheck = false;
+  meta = {
+    homepage = "https://github.com/bos/aeson";
+    description = "Fast JSON parsing and encoding";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/base16-bytestring/default.nix b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
index 3f81258f4263..3de2bdf60ff2 100644
--- a/pkgs/development/libraries/haskell/base16-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base16-bytestring/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "base16-bytestring";
-  version = "0.1.1.5";
-  sha256 = "1fgd3zdzjfry6jaz8hwhim0p2c35l73cxxambh0ff7p5fqjrlwym";
+  version = "0.1.1.6";
+  sha256 = "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs";
   meta = {
     homepage = "http://github.com/bos/base16-bytestring";
     description = "Fast base16 (hex) encoding and decoding for ByteStrings";
diff --git a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.2.nix b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
index 5fd438e320d5..45cc7c11fc28 100644
--- a/pkgs/development/libraries/haskell/case-insensitive/1.1.0.2.nix
+++ b/pkgs/development/libraries/haskell/case-insensitive/1.1.0.3.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "case-insensitive";
-  version = "1.1.0.2";
-  sha256 = "0200jpz2xs67sw5dczfj8nlz2yp40k05bv3rk1phdc093n13kaww";
+  version = "1.1.0.3";
+  sha256 = "0fr69lfb976gflr8w6d68zn4pz86jfxbb2i49fw3mmam67k5y9bv";
   buildDepends = [ deepseq hashable text ];
   testDepends = [ HUnit testFramework testFrameworkHunit text ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/conduit/default.nix b/pkgs/development/libraries/haskell/conduit/default.nix
index 395b03d26830..980791156071 100644
--- a/pkgs/development/libraries/haskell/conduit/default.nix
+++ b/pkgs/development/libraries/haskell/conduit/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "conduit";
-  version = "1.0.10";
-  sha256 = "12vqh747rdldw3n42cxzd77rzb66129dc690n23q5xy7pbhzilfp";
+  version = "1.0.11.1";
+  sha256 = "115iqdhwmnn04bmby2bmbm6pykb2akaca0c3i79nvw1annml65lg";
   buildDepends = [
     liftedBase mmorph monadControl mtl resourcet text transformers
     transformersBase void
diff --git a/pkgs/development/libraries/haskell/coroutine-object/default.nix b/pkgs/development/libraries/haskell/coroutine-object/default.nix
new file mode 100644
index 000000000000..ea316fd29e12
--- /dev/null
+++ b/pkgs/development/libraries/haskell/coroutine-object/default.nix
@@ -0,0 +1,19 @@
+{ cabal, cereal, either, lens, mtl, safecopy, transformers
+, transformersFree, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "coroutine-object";
+  version = "0.2.0.0";
+  sha256 = "1jl5glnk4ildjrxyxscxd0v7xfqbd9vpv5gaxygsfsbfr1zizp3s";
+  buildDepends = [
+    cereal either lens mtl safecopy transformers transformersFree uuid
+  ];
+  jailbreak = true;
+  meta = {
+    description = "Object-oriented programming realization using coroutine";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cryptohash/default.nix b/pkgs/development/libraries/haskell/cryptohash/default.nix
index 839bf4518a19..b888ce6153ab 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.1";
-  sha256 = "0ww7bikl8i50m1pwkqp145bfsiy07npnjw48j3il4w2ia0b3axmy";
+  version = "0.11.2";
+  sha256 = "0az2p7lql1lchl85ca26b5sbvhqsv47daavyfqy84qmr3w3wyr28";
   buildDepends = [ byteable ];
   testDepends = [
     byteable HUnit QuickCheck testFramework testFrameworkHunit
diff --git a/pkgs/development/libraries/haskell/exceptions/default.nix b/pkgs/development/libraries/haskell/exceptions/default.nix
index a15c2cc1e48f..0665694212b6 100644
--- a/pkgs/development/libraries/haskell/exceptions/default.nix
+++ b/pkgs/development/libraries/haskell/exceptions/default.nix
@@ -4,13 +4,12 @@
 
 cabal.mkDerivation (self: {
   pname = "exceptions";
-  version = "0.3.2";
-  sha256 = "0c1d78wm8is9kyv26drbx3f1sq2bfcq5m6wfw2qzwgalb3z2kxlw";
+  version = "0.3.3";
+  sha256 = "1gng8zvsljm6xrb5gy501f1dl47z171wkic8bsivhn4rgp9lby9l";
   buildDepends = [ mtl transformers ];
   testDepends = [
     mtl QuickCheck testFramework testFrameworkQuickcheck2 transformers
   ];
-  doCheck = false;
   meta = {
     homepage = "http://github.com/ekmett/exceptions/";
     description = "Extensible optionally-pure exceptions";
diff --git a/pkgs/development/libraries/haskell/gloss-raster/default.nix b/pkgs/development/libraries/haskell/gloss-raster/default.nix
index 4d1b85669dab..4a34c7195c20 100644
--- a/pkgs/development/libraries/haskell/gloss-raster/default.nix
+++ b/pkgs/development/libraries/haskell/gloss-raster/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss-raster";
-  version = "1.8.1.1";
-  sha256 = "0qqk2fizmv1zdvi8lljxiqdwlmfzni4qzsdvm2jbvgg5qjx9l9qp";
+  version = "1.8.1.2";
+  sha256 = "1cpibilv027rfx7xz957f1d7wy6b5z6dgfjrw425ck497r8gfgp4";
   buildDepends = [ gloss repa ];
   extraLibraries = [ llvm ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/gloss/default.nix b/pkgs/development/libraries/haskell/gloss/default.nix
index 0f0777909e82..223a72ec3818 100644
--- a/pkgs/development/libraries/haskell/gloss/default.nix
+++ b/pkgs/development/libraries/haskell/gloss/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "gloss";
-  version = "1.8.1.1";
-  sha256 = "135rrgzx4xq8279zbsl4538hjn8np4g6409fgva2cb9shw8z5pmj";
+  version = "1.8.1.2";
+  sha256 = "1ky1gckvyww855dy3fzllf1ixbmc3jpdvz85hx719pcygy7qh71m";
   buildDepends = [ bmp GLUT OpenGL ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/gnuidn/default.nix b/pkgs/development/libraries/haskell/gnuidn/default.nix
index 6ae78cf49b6a..9192f6bb29bb 100644
--- a/pkgs/development/libraries/haskell/gnuidn/default.nix
+++ b/pkgs/development/libraries/haskell/gnuidn/default.nix
@@ -2,14 +2,14 @@
 
 cabal.mkDerivation (self: {
   pname = "gnuidn";
-  version = "0.2";
-  sha256 = "0xk72p3z1lwlmab0jcf7m48p5pncgz00hb7l96naz1gdkbq7xizd";
+  version = "0.2.1";
+  sha256 = "1jii635wc3j1jnwwx24j9gg9xd91g2iw5967acn74p7db62lqx37";
   buildDepends = [ text ];
   buildTools = [ c2hs ];
   extraLibraries = [ libidn ];
   pkgconfigDepends = [ libidn ];
   meta = {
-    homepage = "http://john-millikin.com/software/bindings/gnuidn/";
+    homepage = "https://john-millikin.com/software/haskell-gnuidn/";
     description = "Bindings for GNU IDN";
     license = self.stdenv.lib.licenses.gpl3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/hakyll/default.nix b/pkgs/development/libraries/haskell/hakyll/default.nix
index 36e56de639c3..ace860bcd1cb 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.0";
-  sha256 = "1ngjzqgyhdfkzikyg6cicqdb6cpw2bbfr4g73vgmzlg8spy1cyg5";
+  version = "4.4.3.1";
+  sha256 = "0k301mzy8sagrxdzkhz006j1i1zmsx9iy5ais9gif3gxj2sd3b2a";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -25,10 +25,10 @@ cabal.mkDerivation (self: {
     snapCore snapServer systemFilepath tagsoup testFramework
     testFrameworkHunit testFrameworkQuickcheck2 text time
   ];
-  doCheck = false;
   patchPhase = ''
     sed -i -e 's|pandoc-citeproc >=.*,|pandoc-citeproc,|' hakyll.cabal
   '';
+  doCheck = false;
   meta = {
     homepage = "http://jaspervdj.be/hakyll";
     description = "A static website compiler library";
diff --git a/pkgs/development/libraries/haskell/heist/default.nix b/pkgs/development/libraries/haskell/heist/default.nix
index 5ce91d688076..9f0eb8981aeb 100644
--- a/pkgs/development/libraries/haskell/heist/default.nix
+++ b/pkgs/development/libraries/haskell/heist/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "heist";
-  version = "0.13.0.4";
-  sha256 = "15iixsjlx3zd44dcdxla5pgpl16995pk9g34zjqynmhcj7sfv5as";
+  version = "0.13.0.5";
+  sha256 = "17lpqiidy1s6yzhh865y7dhkcv34p7pxzljpn64yyfa2pc8885dj";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml directoryTree dlist errors
     filepath hashable MonadCatchIOTransformers mtl random text time
diff --git a/pkgs/development/libraries/haskell/hoodle-builder/default.nix b/pkgs/development/libraries/haskell/hoodle-builder/default.nix
new file mode 100644
index 000000000000..d865de6ec9c1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-builder/default.nix
@@ -0,0 +1,18 @@
+{ cabal, blazeBuilder, doubleConversion, hoodleTypes, lens, strict
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-builder";
+  version = "0.2.2";
+  sha256 = "0gagfpjihf6lafi90r883n9agaj1pw4gygaaxv4xxfsc270855bq";
+  buildDepends = [
+    blazeBuilder doubleConversion hoodleTypes lens strict
+  ];
+  jailbreak = true;
+  meta = {
+    description = "text builder for hoodle file format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-core/default.nix b/pkgs/development/libraries/haskell/hoodle-core/default.nix
new file mode 100644
index 000000000000..f73733321bef
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-core/default.nix
@@ -0,0 +1,31 @@
+{ cabal, attoparsec, base64Bytestring, binary, cairo, cereal
+, configurator, coroutineObject, dbus, Diff, dyre, either, errors
+, filepath, fsnotify, gd, gtk, hoodleBuilder, hoodleParser
+, hoodleRender, hoodleTypes, lens, libX11, libXi, monadLoops, mtl
+, network, networkInfo, networkSimple, pango, poppler, pureMD5, stm
+, strict, svgcairo, systemFilepath, text, time, transformers
+, transformersFree, uuid, xournalParser
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-core";
+  version = "0.13.0.0";
+  sha256 = "1krq7i7kvymjhj9kar2rpy4qkbak8p4n1ifswdnk9r1dw7fr8vdx";
+  buildDepends = [
+    attoparsec base64Bytestring binary cairo cereal configurator
+    coroutineObject dbus Diff dyre either errors filepath fsnotify gd
+    gtk hoodleBuilder hoodleParser hoodleRender hoodleTypes lens
+    monadLoops mtl network networkInfo networkSimple pango poppler
+    pureMD5 stm strict svgcairo systemFilepath text time transformers
+    transformersFree uuid xournalParser
+  ];
+  extraLibraries = [ libX11 libXi ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "Core library for hoodle";
+    license = self.stdenv.lib.licenses.gpl3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-parser/default.nix b/pkgs/development/libraries/haskell/hoodle-parser/default.nix
new file mode 100644
index 000000000000..84d9e93aaa2b
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-parser/default.nix
@@ -0,0 +1,21 @@
+{ cabal, attoparsec, either, hoodleTypes, lens, mtl, strict, text
+, transformers, xournalTypes
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-parser";
+  version = "0.2.2";
+  sha256 = "1m0jf7820hkdq69866hwqd1cc6rv331jrar8ayr28692h09j02rm";
+  buildDepends = [
+    attoparsec either hoodleTypes lens mtl strict text transformers
+    xournalTypes
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "Hoodle file parser";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-render/default.nix b/pkgs/development/libraries/haskell/hoodle-render/default.nix
new file mode 100644
index 000000000000..3666ef913987
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-render/default.nix
@@ -0,0 +1,20 @@
+{ cabal, base64Bytestring, cairo, filepath, gd, hoodleTypes, lens
+, monadLoops, mtl, poppler, strict, svgcairo, uuid
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-render";
+  version = "0.3.2";
+  sha256 = "1mmx27g1vqpndk26nz2hy7rckcgg68clvr5x31cqz9f8sifd8rsg";
+  buildDepends = [
+    base64Bytestring cairo filepath gd hoodleTypes lens monadLoops mtl
+    poppler strict svgcairo uuid
+  ];
+  jailbreak = true;
+  meta = {
+    description = "Hoodle file renderer";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hoodle-types/default.nix b/pkgs/development/libraries/haskell/hoodle-types/default.nix
new file mode 100644
index 000000000000..55d752315100
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hoodle-types/default.nix
@@ -0,0 +1,15 @@
+{ cabal, cereal, lens, mtl, strict, uuid }:
+
+cabal.mkDerivation (self: {
+  pname = "hoodle-types";
+  version = "0.2.2";
+  sha256 = "0dw2ji676nq3idb7izzzfnxzhyngf84wkapc0la43g4w4hzv1zxz";
+  buildDepends = [ cereal lens mtl strict uuid ];
+  jailbreak = true;
+  meta = {
+    description = "Data types for programs for hoodle file format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
index 83f08ecf148b..4e085105c202 100644
--- a/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-bytestring/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "pipes-bytestring";
-  version = "1.0.2";
-  sha256 = "09wzmi3xh9n69xsxw0ik4qf2ld1vksca88ggknqbzbnjxq82jjrr";
+  version = "1.0.3";
+  sha256 = "11jiaf5vs0jz8m0x9dlcvflh636131bj4jnlrj3r5nz1v7a64v6b";
   buildDepends = [ pipes pipesParse transformers ];
   meta = {
     description = "ByteString support for pipes";
diff --git a/pkgs/development/libraries/haskell/snap/snap.nix b/pkgs/development/libraries/haskell/snap/snap.nix
index 28ce546ee167..92c02a27f42c 100644
--- a/pkgs/development/libraries/haskell/snap/snap.nix
+++ b/pkgs/development/libraries/haskell/snap/snap.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "snap";
-  version = "0.13.2.0";
-  sha256 = "1jwgl6dmi1ljfqvfjxcsv3q4h9lcqpmxk4zsjkxdx77z201lhm3b";
+  version = "0.13.2.1";
+  sha256 = "0jkjxyw7pcfl8r6gs0amzpkxardncvxsh20m7lad6aqjkcwh8r4l";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/stm-conduit/default.nix b/pkgs/development/libraries/haskell/stm-conduit/default.nix
index 4ab74d23bc23..7e24db4476a4 100644
--- a/pkgs/development/libraries/haskell/stm-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/stm-conduit/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "stm-conduit";
-  version = "2.1.4";
-  sha256 = "0xl3g96blawy5bkvialq6jxnf4wajxb5fg1sh7p9kvw1gvacqwqk";
+  version = "2.2";
+  sha256 = "14fz8izr8fxi3s78fhz4p5yfdkfcipcfpcj6dn5w0fkcd2hc2a66";
   buildDepends = [
     async conduit liftedAsync liftedBase monadControl monadLoops
     resourcet stm stmChans transformers
diff --git a/pkgs/development/libraries/haskell/tasty-rerun/default.nix b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
new file mode 100644
index 000000000000..e932a7b9307f
--- /dev/null
+++ b/pkgs/development/libraries/haskell/tasty-rerun/default.nix
@@ -0,0 +1,20 @@
+{ cabal, mtl, optparseApplicative, reducers, split, stm, tagged
+, tasty, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "tasty-rerun";
+  version = "1.0.0";
+  sha256 = "0vpgsb5fgvb9mx07zq53slqxxk2vvr2c9c9p1fhrm9qadfirsqc8";
+  buildDepends = [
+    mtl optparseApplicative reducers split stm tagged tasty
+    transformers
+  ];
+  meta = {
+    homepage = "http://github.com/ocharles/tasty-rerun";
+    description = "Run tests by filtering the test tree depending on the result of previous test runs";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/threepenny-gui/default.nix b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
new file mode 100644
index 000000000000..70f96c8ac9d7
--- /dev/null
+++ b/pkgs/development/libraries/haskell/threepenny-gui/default.nix
@@ -0,0 +1,26 @@
+{ cabal, attoparsecEnumerator, dataDefault, deepseq, filepath
+, hashable, json, MonadCatchIOTransformers, network, safe, snapCore
+, snapServer, stm, text, time, transformers, unorderedContainers
+, utf8String, vault, websockets, websocketsSnap
+}:
+
+cabal.mkDerivation (self: {
+  pname = "threepenny-gui";
+  version = "0.4.0.2";
+  sha256 = "0dx6jrpxvd6ypz314hmq8nngy0wjx3bwx3r9h1c6y70id31lr9pg";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [
+    attoparsecEnumerator dataDefault deepseq filepath hashable json
+    MonadCatchIOTransformers network safe snapCore snapServer stm text
+    time transformers unorderedContainers utf8String vault websockets
+    websocketsSnap
+  ];
+  meta = {
+    homepage = "http://www.haskell.org/haskellwiki/Threepenny-gui";
+    description = "GUI framework that uses the web browser as a display";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/timezone-olson/default.nix b/pkgs/development/libraries/haskell/timezone-olson/default.nix
new file mode 100644
index 000000000000..c46090cda9b1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/timezone-olson/default.nix
@@ -0,0 +1,15 @@
+{ cabal, binary, extensibleExceptions, time, timezoneSeries }:
+
+cabal.mkDerivation (self: {
+  pname = "timezone-olson";
+  version = "0.1.2";
+  sha256 = "1dp0nppvx732c27pybbyqw6jkx4kdgfc6vnc539m0xv005afpq9y";
+  buildDepends = [ binary extensibleExceptions time timezoneSeries ];
+  meta = {
+    homepage = "http://projects.haskell.org/time-ng/";
+    description = "A pure Haskell parser and renderer for binary Olson timezone files";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/timezone-series/default.nix b/pkgs/development/libraries/haskell/timezone-series/default.nix
new file mode 100644
index 000000000000..1ce1ca1f768c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/timezone-series/default.nix
@@ -0,0 +1,15 @@
+{ cabal, time }:
+
+cabal.mkDerivation (self: {
+  pname = "timezone-series";
+  version = "0.1.2";
+  sha256 = "0clvm1kwmxid5bhb74vgrpzynn4sff2k6mfzb43i7737w5fy86gp";
+  buildDepends = [ time ];
+  meta = {
+    homepage = "http://projects.haskell.org/time-ng/";
+    description = "Enhanced timezone handling for Data.Time";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ocharles ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/transformers-free/default.nix b/pkgs/development/libraries/haskell/transformers-free/default.nix
new file mode 100644
index 000000000000..da05e122e529
--- /dev/null
+++ b/pkgs/development/libraries/haskell/transformers-free/default.nix
@@ -0,0 +1,14 @@
+{ cabal, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "transformers-free";
+  version = "1.0.1";
+  sha256 = "0fbzkr7ifvqng8wqi3332vwvmx36f8z167angyskfdd0a5rik2z0";
+  buildDepends = [ transformers ];
+  meta = {
+    description = "Free monad transformers";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/vector-space-points/default.nix b/pkgs/development/libraries/haskell/vector-space-points/default.nix
index 2a5c1eb2fc42..2edb15beeda5 100644
--- a/pkgs/development/libraries/haskell/vector-space-points/default.nix
+++ b/pkgs/development/libraries/haskell/vector-space-points/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "vector-space-points";
-  version = "0.1.2.1";
-  sha256 = "0prbmk48xdr2gbxqpv0g89xz5v3k9wps9v2gymkh32jag2lgzi66";
+  version = "0.1.3";
+  sha256 = "0bk2zrccf5bxh14dzhhv89mr755j801ziqyxgv69ksdyxh8hx2qg";
   buildDepends = [ newtype vectorSpace ];
   meta = {
     description = "A type for points, as distinct from vectors";
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index c7b673ecbc9f..78d802692545 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "2.0.2";
-  sha256 = "1va9lds6vziid3kksyp1pl4bz1l02qjybm4x438q5a7n6yxmmd65";
+  version = "2.0.3";
+  sha256 = "18x5jcq4yl33ixl7rb79ncx107bw6y8dmw2gwcmxb93h5yiam7s5";
   buildDepends = [
     ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
     caseInsensitive conduit dataDefault fastLogger httpTypes liftedBase
diff --git a/pkgs/development/libraries/haskell/xournal-parser/default.nix b/pkgs/development/libraries/haskell/xournal-parser/default.nix
new file mode 100644
index 000000000000..d874543a967a
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xournal-parser/default.nix
@@ -0,0 +1,22 @@
+{ cabal, attoparsec, attoparsecConduit, conduit, lens, mtl, strict
+, text, transformers, xmlConduit, xmlTypes, xournalTypes
+, zlibConduit
+}:
+
+cabal.mkDerivation (self: {
+  pname = "xournal-parser";
+  version = "0.5.0.2";
+  sha256 = "1s9z7s6mcsn4s2krrcb1x63ca1d0rpyzdhb147w9524qw7gvbjin";
+  buildDepends = [
+    attoparsec attoparsecConduit conduit lens mtl strict text
+    transformers xmlConduit xmlTypes xournalTypes zlibConduit
+  ];
+  jailbreak = true;
+  meta = {
+    homepage = "http://ianwookim.org/hoodle";
+    description = "Xournal file parser";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/xournal-types/default.nix b/pkgs/development/libraries/haskell/xournal-types/default.nix
new file mode 100644
index 000000000000..2281520703f2
--- /dev/null
+++ b/pkgs/development/libraries/haskell/xournal-types/default.nix
@@ -0,0 +1,15 @@
+{ cabal, cereal, lens, strict, TypeCompose }:
+
+cabal.mkDerivation (self: {
+  pname = "xournal-types";
+  version = "0.5.0.2";
+  sha256 = "1z1zxgwnd2bpgmiimil2jnz4xdcvvi59y2qdvqgy42b10db8rvkm";
+  buildDepends = [ cereal lens strict TypeCompose ];
+  jailbreak = true;
+  meta = {
+    description = "Data types for programs for xournal file format";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.ianwookim ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/yesod-auth/default.nix b/pkgs/development/libraries/haskell/yesod-auth/default.nix
index b261d22ace6e..56048aeb6277 100644
--- a/pkgs/development/libraries/haskell/yesod-auth/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-auth/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-auth";
-  version = "1.2.5.2";
-  sha256 = "13gvcwgpq4l3d50h855qdcn0k93a8cy918jg577ch3fqhwk70q8g";
+  version = "1.2.5.3";
+  sha256 = "0rpyx9p3si5453166v9paq18nz209w6lxz3hy5nxg1hyihwh8gy9";
   buildDepends = [
     aeson authenticate blazeHtml blazeMarkup dataDefault emailValidate
     fileEmbed hamlet httpConduit httpTypes liftedBase mimeMail network
diff --git a/pkgs/development/libraries/haskell/yesod-form/default.nix b/pkgs/development/libraries/haskell/yesod-form/default.nix
index 66b2117ee829..35b55bde887a 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.4.2";
-  sha256 = "06qw2hx0iv46xdmkbbw1sgwzvyr82h0v267dxfw19235s9yfzbfg";
+  version = "1.3.4.3";
+  sha256 = "1yf9kvnlkgfdpv44afj2zwdk8jh382lxj56jvafgw1bxa1hsn408";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup cryptoApi
     dataDefault emailValidate hamlet network persistent resourcet
diff --git a/pkgs/development/libraries/haskell/yesod-platform/default.nix b/pkgs/development/libraries/haskell/yesod-platform/default.nix
index 929dd698b7dd..0c9c31778cad 100644
--- a/pkgs/development/libraries/haskell/yesod-platform/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-platform/default.nix
@@ -2,65 +2,67 @@
 , attoparsecConduit, authenticate, base64Bytestring
 , baseUnicodeSymbols, blazeBuilder, blazeBuilderConduit, blazeHtml
 , blazeMarkup, byteable, byteorder, caseInsensitive, cereal
-, certificate, cipherAes, cipherRc4, clientsession, conduit
-, connection, controlMonadLoop, cookie, cprngAes, cryptoApi
-, cryptoCipherTypes, cryptoConduit, cryptohash, cryptohashCryptoapi
-, cryptoNumbers, cryptoPubkey, cryptoPubkeyTypes, cryptoRandom
+, certificate, cipherAes, cipherBlowfish, cipherCamellia, cipherDes
+, cipherRc4, clientsession, conduit, connection, controlMonadLoop
+, cookie, cprngAes, cryptoApi, cryptocipher, cryptoCipherTypes
+, cryptoConduit, cryptohash, cryptohashCryptoapi, cryptoNumbers
+, cryptoPubkey, cryptoPubkeyTypes, cryptoRandom, cryptoRandomApi
 , cssText, dataDefault, dataDefaultClass, dataDefaultInstancesBase
 , dataDefaultInstancesContainers, dataDefaultInstancesDlist
 , dataDefaultInstancesOldLocale, dlist, emailValidate, entropy
-, failure, fastLogger, fileEmbed, filesystemConduit, hamlet, hjsmin
-, hspec, hspecExpectations, htmlConduit, httpAttoparsec, httpClient
-, httpClientConduit, httpClientTls, httpConduit, httpDate
-, httpTypes, languageJavascript, liftedBase, mimeMail, mimeTypes
-, mmorph, monadControl, monadLogger, monadLoops, networkConduit
-, pathPieces, pem, persistent, persistentTemplate, poolConduit
-, primitive, processConduit, publicsuffixlist, pureMD5, pwstoreFast
-, quickcheckIo, resourcePool, resourcet, safe, securemem
-, semigroups, setenv, SHA, shakespeare, shakespeareCss
-, shakespeareI18n, shakespeareJs, shakespeareText, silently
-, simpleSendfile, skein, socks, stmChans, stringsearch
-, systemFileio, systemFilepath, tagged, tagsoup, tagstreamConduit
-, tls, tlsExtra, transformersBase, unixCompat, unorderedContainers
-, utf8Light, utf8String, vector, void, wai, waiAppStatic, waiExtra
-, waiLogger, waiTest, warp, word8, xmlConduit, xmlTypes
-, xssSanitize, yaml, yesod, yesodAuth, yesodCore, yesodForm
-, yesodPersistent, yesodRoutes, yesodStatic, yesodTest
-, zlibBindings, zlibConduit
+, esqueleto, failure, fastLogger, fileEmbed, filesystemConduit
+, hamlet, hjsmin, hspec, hspecExpectations, htmlConduit
+, httpAttoparsec, httpClient, httpClientConduit, httpClientTls
+, httpConduit, httpDate, httpTypes, languageJavascript, liftedBase
+, mimeMail, mimeTypes, mmorph, monadControl, monadLogger
+, monadLoops, networkConduit, pathPieces, pem, persistent
+, persistentTemplate, poolConduit, primitive, processConduit
+, publicsuffixlist, pureMD5, pwstoreFast, quickcheckIo
+, resourcePool, resourcet, safe, scientific, securemem, semigroups
+, setenv, SHA, shakespeare, shakespeareCss, shakespeareI18n
+, shakespeareJs, shakespeareText, silently, simpleSendfile, skein
+, socks, stmChans, stringsearch, systemFileio, systemFilepath
+, tagged, tagsoup, tagstreamConduit, tls, tlsExtra
+, transformersBase, unixCompat, unorderedContainers, utf8Light
+, utf8String, vector, void, wai, waiAppStatic, waiExtra, waiLogger
+, waiTest, warp, warpTls, word8, xmlConduit, xmlTypes, xssSanitize
+, yaml, yesod, yesodAuth, yesodCore, yesodForm, yesodPersistent
+, yesodRoutes, yesodStatic, yesodTest, zlibBindings, zlibConduit
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-platform";
-  version = "1.2.5.3";
-  sha256 = "0k9srgsnz9cgpxhdk04qz27lqp1xm97bprxjv93j1sxny92v6122";
+  version = "1.2.6";
+  sha256 = "15ixhxim14672hl9cl92sbi94yzv6g6zgg07jvkciixg0hd8xr6p";
   buildDepends = [
     aeson ansiTerminal asn1Data asn1Types attoparsec attoparsecConduit
     authenticate base64Bytestring baseUnicodeSymbols blazeBuilder
     blazeBuilderConduit blazeHtml blazeMarkup byteable byteorder
-    caseInsensitive cereal certificate cipherAes cipherRc4
-    clientsession conduit connection controlMonadLoop cookie cprngAes
-    cryptoApi cryptoCipherTypes cryptoConduit cryptohash
-    cryptohashCryptoapi cryptoNumbers cryptoPubkey cryptoPubkeyTypes
-    cryptoRandom cssText dataDefault dataDefaultClass
+    caseInsensitive cereal certificate cipherAes cipherBlowfish
+    cipherCamellia cipherDes cipherRc4 clientsession conduit connection
+    controlMonadLoop cookie cprngAes cryptoApi cryptocipher
+    cryptoCipherTypes cryptoConduit cryptohash cryptohashCryptoapi
+    cryptoNumbers cryptoPubkey cryptoPubkeyTypes cryptoRandom
+    cryptoRandomApi cssText dataDefault dataDefaultClass
     dataDefaultInstancesBase dataDefaultInstancesContainers
     dataDefaultInstancesDlist dataDefaultInstancesOldLocale dlist
-    emailValidate entropy failure fastLogger fileEmbed
+    emailValidate entropy esqueleto failure fastLogger fileEmbed
     filesystemConduit hamlet hjsmin hspec hspecExpectations htmlConduit
     httpAttoparsec httpClient httpClientConduit httpClientTls
     httpConduit httpDate httpTypes languageJavascript liftedBase
     mimeMail mimeTypes mmorph monadControl monadLogger monadLoops
     networkConduit pathPieces pem persistent persistentTemplate
     poolConduit primitive processConduit publicsuffixlist pureMD5
-    pwstoreFast quickcheckIo resourcePool resourcet safe securemem
-    semigroups setenv SHA shakespeare shakespeareCss shakespeareI18n
-    shakespeareJs shakespeareText silently simpleSendfile skein socks
-    stmChans stringsearch systemFileio systemFilepath tagged tagsoup
-    tagstreamConduit tls tlsExtra transformersBase unixCompat
-    unorderedContainers utf8Light utf8String vector void wai
-    waiAppStatic waiExtra waiLogger waiTest warp word8 xmlConduit
-    xmlTypes xssSanitize yaml yesod yesodAuth yesodCore yesodForm
-    yesodPersistent yesodRoutes yesodStatic yesodTest zlibBindings
-    zlibConduit
+    pwstoreFast quickcheckIo resourcePool resourcet safe scientific
+    securemem semigroups setenv SHA shakespeare shakespeareCss
+    shakespeareI18n shakespeareJs shakespeareText silently
+    simpleSendfile skein socks stmChans stringsearch systemFileio
+    systemFilepath tagged tagsoup tagstreamConduit tls tlsExtra
+    transformersBase unixCompat unorderedContainers utf8Light
+    utf8String vector void wai waiAppStatic waiExtra waiLogger waiTest
+    warp warpTls word8 xmlConduit xmlTypes xssSanitize yaml yesod
+    yesodAuth yesodCore yesodForm yesodPersistent yesodRoutes
+    yesodStatic yesodTest zlibBindings zlibConduit
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/isl/0.12.2.nix b/pkgs/development/libraries/isl/0.12.2.nix
new file mode 100644
index 000000000000..995cd0510b4c
--- /dev/null
+++ b/pkgs/development/libraries/isl/0.12.2.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, gmp }:
+
+stdenv.mkDerivation rec {
+  name = "isl-0.12.2"; # CLooG 0.16.3 fails to build with ISL 0.08.
+
+  src = fetchurl {
+    url = "http://isl.gforge.inria.fr/${name}.tar.bz2";
+    sha256 = "1d0zs64yw6fzs6b7kxq6nh9kvas16h8b43agwh30118jjzpdpczl";
+  };
+
+  buildInputs = [ gmp ];
+
+  meta = {
+    homepage = http://www.kotnet.org/~skimo/isl/;
+    license = "LGPLv2.1";
+    description = "A library for manipulating sets and relations of integer points bounded by linear constraints";
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 005b9fac2e55..1380cec86ae5 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,18 +1,21 @@
-{ stdenv, fetchurl_gnome, glib, pkgconfig, gobjectIntrospection }:
+{ stdenv, fetchurl_gnome, glib, pkgconfig, gobjectIntrospection, dbus }:
 
 stdenv.mkDerivation rec {
   name = src.pkgname;
 
   src = fetchurl_gnome {
     project = "json-glib";
-    major = "0"; minor = "14"; patchlevel = "2"; extension = "xz";
-    sha256 = "19wlpsbdnm3mq2a6yjpzj0cwrmlkarp2m5x6g63b0r2n7vxaa5mq";
+    major = "0";
+    minor = "16";
+    patchlevel = "2";
+    extension = "xz";
+    sha256 = "0b22yw0n87mg7a5lkqw1d7xqnm8qj1bwy0wklv9b2yn29qv7am59";
   };
 
-  configureflags= " --with-introspection " ; 
+  configureflags= "--with-introspection" ; 
 
-  propagatedBuildInputs = [ glib ];
-  nativeBuildInputs = [ pkgconfig  gobjectIntrospection];
+  propagatedBuildInputs = [ glib gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig ];
 
   meta = {
     homepage = http://live.gnome.org/JsonGlib;
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/libraries/libc++/default.nix
index 1d4ef158113a..964d3727f8f2 100644
--- a/pkgs/development/libraries/libc++/default.nix
+++ b/pkgs/development/libraries/libc++/default.nix
@@ -1,46 +1,26 @@
-{ stdenv, fetchsvn, cmake, libunwind }:
+{ stdenv, fetchurl, fetchsvn, cmake, libcxxabi }:
 
-let rev = "190100"; in
+let
+  version = "3.4";
 
-stdenv.mkDerivation rec {
-  name = "libc++-pre${rev}";
+in stdenv.mkDerivation rec {
+  name = "libc++-${version}";
 
-  src = fetchsvn {
-    url = "http://llvm.org/svn/llvm-project/libcxx/trunk";
-    inherit rev;
-    sha256 = "0hnfvzzrkj797kp9sk2yncvbmiyx0d72k8bys3z7l6i47d37xv03";
+  src = fetchurl {
+    url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.gz";
+    sha256 = "1sqd5qhqj7qnn9zjxx9bv7ky4f7xgmh9sbgd53y1kszhg41217xx";
   };
 
-  cxxabi = fetchsvn {
-    url = "http://llvm.org/svn/llvm-project/libcxxabi/trunk";
-    inherit rev;
-    sha256 = "1kdyvngwd229cgmcqpawaf0qizas8bqc0g8s08fmbgwsrh1qrryp";
-  };
-
-  buildInputs = [ cmake ];
-
-  preConfigure = ''
-      sed -i 's/;cxa_demangle.h//' CMakeLists.txt
-      cp -R ${cxxabi} cxxabi
-      chmod u+w -R cxxabi # umm
-      (export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include";
-       export NIX_CFLAGS_LINK="-L${libunwind}/lib -lunwind";
-       cd cxxabi/lib
-       sed -e s,-lstdc++,, -i buildit # do not link to libstdc++!
-       ./buildit
-       mkdir -p $out/lib && cp libc++abi.so.1.0 $out/lib
-       cd $out/lib
-       ln -s libc++abi.so.1.0 libc++abi.so
-       ln -s libc++abi.so.1.0 libc++abi.so.1)
-  '';
+  buildInputs = [ cmake libcxxabi ];
 
   cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release"
-                 "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${cxxabi}/include"
+                 "-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${libcxxabi}/include"
                  "-DLIBCXX_CXX_ABI=libcxxabi" ];
-  buildPhase = ''NIX_CFLAGS_LINK="-L$out/lib -lc++abi" make'';
 
   enableParallelBuilding = true;
 
+  passthru.abi = libcxxabi;
+
   meta = {
     homepage = http://libcxx.llvm.org/;
     description = "A new implementation of the C++ standard library, targeting C++11";
@@ -49,4 +29,3 @@ stdenv.mkDerivation rec {
     platforms = stdenv.lib.platforms.all;
   };
 }
-
diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix
new file mode 100644
index 000000000000..51d18a7b907f
--- /dev/null
+++ b/pkgs/development/libraries/libc++abi/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchsvn, libcxx, libunwind }:
+let
+  rev = "199626";
+in stdenv.mkDerivation {
+  name = "libcxxabi-pre-${rev}";
+
+  src = fetchsvn {
+    url = http://llvm.org/svn/llvm-project/libcxxabi/trunk;
+    rev = "199626";
+    sha256 = "0h1x1s40x5r65ar53rv34lmgcfil3zxaknqr64dka1mz29xhhrxy";
+  };
+
+  NIX_CFLAGS_LINK="-L${libunwind}/lib -lunwind";
+
+  postUnpack = ''
+    unpackFile ${libcxx.src}
+    export NIX_CFLAGS_COMPILE="-I${libunwind}/include -I$PWD/include -I$(readlink -f libcxx-*)/include"
+  '';
+
+  installPhase = ''
+    install -d -m 755 $out/include $out/lib
+    install -m 644 lib/libc++abi.so.1.0 $out/lib
+    install -m 644 include/cxxabi.h $out/include
+    ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
+    ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+  '';
+
+  patchPhase = "sed -e s,-lstdc++,, -i lib/buildit";
+
+  buildPhase = "(cd lib; ./buildit)";
+
+  meta = {
+    homepage = http://libcxxabi.llvm.org/;
+    description = "A new implementation of low level support for a standard C++ library";
+    license = "BSD";
+    maintainers = stdenv.lib.maintainers.shlevy;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libossp-uuid/default.nix b/pkgs/development/libraries/libossp-uuid/default.nix
new file mode 100644
index 000000000000..7f6335f64965
--- /dev/null
+++ b/pkgs/development/libraries/libossp-uuid/default.nix
@@ -0,0 +1,40 @@
+{stdenv, fetchurl}:
+
+let version = "1.6.2"; in
+
+stdenv.mkDerivation {
+  name = "libossp-uuid-${version}";
+
+  src = fetchurl {
+    url = "ftp://ftp.ossp.org/pkg/lib/uuid/uuid-${version}.tar.gz";
+    sha256= "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0";
+  };
+
+  meta = {
+    homepage = http://www.ossp.org/pkg/lib/uuid/;
+    description = "OSSP uuid ISO-C and C++ shared library";
+    longDescription =
+      ''
+        OSSP uuid is a ISO-C:1999 application programming interface
+        (API) and corresponding command line interface (CLI) for the
+        generation of DCE 1.1, ISO/IEC 11578:1996 and RFC 4122
+        compliant Universally Unique Identifier (UUID). It supports
+        DCE 1.1 variant UUIDs of version 1 (time and node based),
+        version 3 (name based, MD5), version 4 (random number based)
+        and version 5 (name based, SHA-1). Additional API bindings are
+        provided for the languages ISO-C++:1998, Perl:5 and
+        PHP:4/5. Optional backward compatibility exists for the ISO-C
+        DCE-1.1 and Perl Data::UUID APIs.
+
+        UUIDs are 128 bit numbers which are intended to have a high
+        likelihood of uniqueness over space and time and are
+        computationally difficult to guess. They are globally unique
+        identifiers which can be locally generated without contacting
+        a global registration authority. UUIDs are intended as unique
+        identifiers for both mass tagging objects with an extremely
+        short lifetime and to reliably identifying very persistent
+        objects across a network.
+      '';
+    license = stdenv.lib.licenses.bsd2;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index 46e73a121fe3..aa869b4b19d8 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchurl, bash, yasm, which, perl}:
 
-let version = "1.2.0";
+let version = "1.3.0";
 in
 stdenv.mkDerivation rec {
   name = "libvpx-" + version;
 
   src = fetchurl { # sadly, there's no official tarball for this release
-    url = "ftp://ftp.archlinux.org/other/libvpx/libvpx-${version}.tar.xz";
-    sha256 = "02k9ylswgr2hvjqmg422fa9ggym0g94gzwb14nnckly698rvjc50";
+    url = "http://webm.googlecode.com/files/libvpx-v1.3.0.tar.bz2";
+    sha1 = "191b95817aede8c136cc3f3745fb1b8c50e6d5dc";
   };
 
   patchPhase = ''
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     [ "--disable-install-srcs" "--disable-install-docs" "--disable-examples"
       "--enable-vp8" "--enable-runtime-cpu-detect" "--enable-pic" ]
     # --enable-shared is only supported on ELF
-    ++ stdenv.lib.optional (!stdenv.isDarwin) "--enable-shared";
+    ++ stdenv.lib.optional (!stdenv.isDarwin) "--disable-static --enable-shared";
 
   installPhase = ''
     make quiet=false DIST_DIR=$out install
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
new file mode 100644
index 000000000000..f6244cba5cb1
--- /dev/null
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -0,0 +1,19 @@
+{ fetchurl, stdenv, glib, pkgconfig, udev }:
+
+stdenv.mkDerivation rec {
+  name = "libwacom-0.7.1";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/linuxwacom/libwacom/${name}.tar.bz2";
+    sha256 = "1agdaa1bv5mp4l32qgsw63swnnv0p279jiy9madgw4y3d8d12dwm";
+  };
+
+  buildInputs = [ glib pkgconfig udev ];
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    homepage = http://sourceforge.net/projects/linuxwacom/;
+    description = "libraries, configuration, and diagnostic tools for Wacom tablets running under Linux";
+  };
+
+}
diff --git a/pkgs/development/libraries/phonon-backend-vlc/default.nix b/pkgs/development/libraries/phonon-backend-vlc/default.nix
index 39f444dd58f8..060f4c45a486 100644
--- a/pkgs/development/libraries/phonon-backend-vlc/default.nix
+++ b/pkgs/development/libraries/phonon-backend-vlc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, phonon }:
+{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, pkgconfig, phonon }:
 
 let
   pname = "phonon-backend-vlc";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
     sha256 = "1rhzc3d188l6ygxgfxwikscj71pyy0nchzikvkkq465r9ajavdgd";
   };
 
-  nativeBuildInputs = [ cmake automoc4 xz ];
+  nativeBuildInputs = [ cmake pkgconfig automoc4 xz ];
 
   buildInputs = [ qt4 vlc_ phonon ];
 
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 1f1ab5d72823..1e1452f4578b 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -4,14 +4,14 @@
 }:
 
 let
-  version = "0.24.4"; # even major numbers are stable
-  sha256 = "1qh1gk6hq5cfpkqyxxgkpyl78na8dckmh6zbgsqbpw762yd518y8";
+  version = "0.24.5"; # even major numbers are stable
+  sha256 = "114zfm4771iq25wa4bsg4nc2gnr6waaj8936wd23r4hc2084jrd2";
 
   qtcairo_patches =
-    let qtcairo = fetchgit { # the version for poppler-0.22
+    let qtcairo = fetchgit { # the version for poppler-0.24
       url = "git://github.com/giddie/poppler-qt4-cairo-backend.git";
-      rev = "ad9a9ba0628df33522f4b7722cb0cd027269babe";
-      sha256 = "072p7x9902avg2r1ma5br97q8nm8sbk19y0qi4b4g9x2xj2fpajq";
+      rev = "c4578cde09834e0d70873f63b1c2a410f66bb4f9";
+      sha256 = "07bs2phmp7f4mqrwqz2bgyw2gw7s00mwsm548bsikyz1cbj7fl93";
     }; in
       [ "${qtcairo}/0001-Cairo-backend-added-to-Qt4-wrapper.patch"
         "${qtcairo}/0002-Setting-default-Qt4-backend-to-Cairo.patch"
diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix
index 1d4b98bf0e57..332230615d15 100644
--- a/pkgs/development/ocaml-modules/camomile/default.nix
+++ b/pkgs/development/ocaml-modules/camomile/default.nix
@@ -2,16 +2,14 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "0.8.3";
 in
 
 stdenv.mkDerivation {
-  name = "camomile-${version}";
+  name = "camomile-0.8.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/camomile/camomile-${version}.tar.bz2";
-    #sha256 = "0x43pjxx70kgip86mmdn08s97k4qzdqc8i79xfyyx28smy1bsa00";
-    sha256 = "0yzj6j88aqrkbcynqh1d7r54670m1sqf889vdcgk143w85fxdj4l";
+    url = https://github.com/yoriyuki/Camomile/releases/download/rel-0.8.5/camomile-0.8.5.tar.bz2;
+    sha256 = "003ikpvpaliy5hblhckfmln34zqz0mk3y2m1fqvbjngh3h2np045";
   };
 
   buildInputs = [ocaml findlib];
@@ -19,9 +17,9 @@ stdenv.mkDerivation {
   createFindlibDestdir = true;
 
   meta = {
-    homepage = http://camomile.sourceforge.net/;
+    homepage = https://github.com/yoriyuki/Camomile/tree/master/Camomile;
     description = "A comprehensive Unicode library for OCaml";
-    license = "LGPL";
+    license = stdenv.lib.licenses.lgpl21;
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 94b36fb66513..1f9e2b44e00c 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -2,16 +2,14 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "1.7";
 in
 
 stdenv.mkDerivation {
-  name = "cryptokit-${version}";
+  name = "cryptokit-1.9";
 
   src = fetchurl {
-    url = "http://forge.ocamlcore.org/frs/download.php/1166/" +
-          "cryptokit-${version}.tar.gz";
-    sha256 = "56a8c0339c47ca3cf43c8881d5b519d3bff68bc8a53267e9c5c9cbc9239600ca";
+    url = http://forge.ocamlcore.org/frs/download.php/1166/cryptokit-1.9.tar.gz;
+    sha256 = "1jh0jqiwkjy9qplnfcm5r25zdgyk36sxb0c87ks3rjj7khrw1a2n";
   };
 
   buildInputs = [zlib ocaml findlib ncurses];
diff --git a/pkgs/development/ocaml-modules/menhir/default.nix b/pkgs/development/ocaml-modules/menhir/default.nix
index d02516e410a3..249ddc1cf568 100644
--- a/pkgs/development/ocaml-modules/menhir/default.nix
+++ b/pkgs/development/ocaml-modules/menhir/default.nix
@@ -2,14 +2,13 @@
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
-  version = "20120123";
 in
 
 stdenv.mkDerivation {
-  name = "menhir-${version}";
+  name = "menhir-20130116";
 
   src = fetchurl {
-    url = "http://pauillac.inria.fr/~fpottier/menhir/menhir-${version}.tar.gz";
+    url = http://pauillac.inria.fr/~fpottier/menhir/menhir-20130116.tar.gz;
     sha256 = "65cd9e4f813c62697c60c344963ca11bd461169f574ba3a866c2691541cb4682";
   };
 
@@ -42,7 +41,7 @@ stdenv.mkDerivation {
       to OCaml code.  Menhir was designed and implemented by François Pottier
       and Yann Régis-Gianas.
     '';
-    license = "QPL,LGPL+linking exceptions";
+    licenses = [ "QPL" /* generator */ "LGPLv2" /* library */ ];
     platforms = ocaml.meta.platforms;
     maintainers = [
       stdenv.lib.maintainers.z77z
diff --git a/pkgs/development/ocaml-modules/ounit/default.nix b/pkgs/development/ocaml-modules/ounit/default.nix
index 533f1ec8d1cd..43ec474cf5e7 100644
--- a/pkgs/development/ocaml-modules/ounit/default.nix
+++ b/pkgs/development/ocaml-modules/ounit/default.nix
@@ -5,11 +5,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ounit-1.1.2";
+  name = "ounit-2.0.0";
 
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/886/ounit-1.1.2.tar.gz;
-    sha256 = "e6bc1b0cdbb5b5552d85bee653e23aafe20bb97fd7cd229c867d01ff999888e3";
+    url = http://forge.ocamlcore.org/frs/download.php/886/ounit-2.0.0.tar.gz;
+    sha256 = "1qw8k2czy0bxhsf25kfpgywhpqmg7bi57rmyhlnmbddmvc61pg76";
   };
 
   buildInputs = [ocaml findlib];
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index 8139d6e28c78..11d81c3beb7c 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation {
   buildPhase = "python setup.py install --prefix=$out --install-data=$out/share --install-lib=$(toPythonPath $out) --symlink-scons -O1";
   installPhase = "for n in $out/bin/*-${version}; do wrapProgram $n --suffix PYTHONPATH ':' \"$(toPythonPath $out)\"; done";
 
+  pythonPath = [];
+
   meta = {
     homepage = "http://scons.org/";
     description = "An improved, cross-platform substitute for Make";
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index d0d7e7b39b24..342eb3ecfd11 100644
--- a/pkgs/development/tools/haskell/cabal2nix/default.nix
+++ b/pkgs/development/tools/haskell/cabal2nix/default.nix
@@ -3,8 +3,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal2nix";
-  version = "1.58";
-  sha256 = "0xsp0f87583pcjdfhngbc9465yisk2m3sn6904s0szprkpi2p03x";
+  version = "1.59";
+  sha256 = "1prm07mnnasfn042635kc6h6mymvninic0y9zimii7k4rqblf598";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
diff --git a/pkgs/development/tools/haskell/hasktags/default.nix b/pkgs/development/tools/haskell/hasktags/default.nix
index 8f72edb1f80e..cd27fb5fbc4d 100644
--- a/pkgs/development/tools/haskell/hasktags/default.nix
+++ b/pkgs/development/tools/haskell/hasktags/default.nix
@@ -1,17 +1,17 @@
-{ cabal, filepath, HUnit, interlude, json }:
+{ cabal, filepath, HUnit, json }:
 
 cabal.mkDerivation (self: {
   pname = "hasktags";
-  version = "0.68.5";
-  sha256 = "0yr7icaww5kiczmi64n2ypkwabs4yl8wl2kf67zmgclp12kqik81";
+  version = "0.68.6";
+  sha256 = "1r5vnn9n2jva1ccjv8vnp3j0z3bh3xsi7yjv9llnvj0jw308aq9r";
   isLibrary = false;
   isExecutable = true;
-  buildDepends = [ filepath HUnit interlude json ];
+  buildDepends = [ filepath json ];
+  testDepends = [ filepath HUnit json ];
   meta = {
     homepage = "http://github.com/MarcWeber/hasktags";
     description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
   };
 })
diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index 74b3368293c1..8691e1b9d111 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -7,11 +7,11 @@ in
 
 stdenv.mkDerivation {
 
-  name = "camlp5${if transitional then "_transitional" else ""}-6.06";
+  name = "camlp5${if transitional then "_transitional" else ""}-6.11";
 
   src = fetchurl {
-    url = http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-6.06.tgz;
-    sha256 = "763f89ee6cde4ca063a50708c3fe252d55ea9f8037e3ae9801690411ea6180c5";
+    url = http://pauillac.inria.fr/~ddr/camlp5/distrib/src/camlp5-6.11.tgz;
+    sha256 = "0dxb5id6imq502sic75l786q94dhplqx6yyhjkkw19kf64fiqlk5";
   };
 
   buildInputs = [ ocaml ];
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index aee0040f8159..ec19d55c58ea 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -5,11 +5,11 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ocaml-findlib-1.3.3";
+  name = "ocaml-findlib-1.4";
 
   src = fetchurl {
-    url = http://download.camlcity.org/download/findlib-1.3.3.tar.gz;
-    sha256 = "981f5c67118a2be015efa79f3af3cb0063376b93123b5d695e7cb5c586b1d45c";
+    url = http://download.camlcity.org/download/findlib-1.4.tar.gz;
+    sha256 = "1y5xy6crldyh8pl9ca2cj31igbjfkicr9zqkq9p1fccxszjnah3f";
   };
 
   buildInputs = [m4 ncurses ocaml];
diff --git a/pkgs/development/tools/parsing/happy/1.19.3.nix b/pkgs/development/tools/parsing/happy/1.19.3.nix
new file mode 100644
index 000000000000..b1a03fa3b9f8
--- /dev/null
+++ b/pkgs/development/tools/parsing/happy/1.19.3.nix
@@ -0,0 +1,18 @@
+{ cabal, mtl, perl }:
+
+cabal.mkDerivation (self: {
+  pname = "happy";
+  version = "1.19.3";
+  sha256 = "1q3hipgcwvrf333wlyqmg4mgf24gwiagddlfyr9zgi4k42p2373x";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [ mtl ];
+  buildTools = [ perl ];
+  meta = {
+    homepage = "http://www.haskell.org/happy/";
+    description = "Happy is a parser generator for Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})