summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2014-06-15 17:55:35 +0200
committerVladimír Čunát <vcunat@gmail.com>2014-06-15 17:55:35 +0200
commit9757785295b95aa67d0c824dae73721fe47e7d5b (patch)
tree9dfebfef885900bc44d537d13b6c08c807262c67 /pkgs
parentde12094b0e97e36485a26abce86a014d4bddd0de (diff)
parent0d71d2b631a1c31763806e6878c88db9f0a53e52 (diff)
downloadnixlib-9757785295b95aa67d0c824dae73721fe47e7d5b.tar
nixlib-9757785295b95aa67d0c824dae73721fe47e7d5b.tar.gz
nixlib-9757785295b95aa67d0c824dae73721fe47e7d5b.tar.bz2
nixlib-9757785295b95aa67d0c824dae73721fe47e7d5b.tar.lz
nixlib-9757785295b95aa67d0c824dae73721fe47e7d5b.tar.xz
nixlib-9757785295b95aa67d0c824dae73721fe47e7d5b.tar.zst
nixlib-9757785295b95aa67d0c824dae73721fe47e7d5b.zip
Merge recent master
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/xmp/default.nix20
-rw-r--r--pkgs/applications/editors/emacs-modes/org/default.nix6
-rw-r--r--pkgs/applications/graphics/dia/default.nix19
-rw-r--r--pkgs/applications/graphics/qiv/default.nix10
-rw-r--r--pkgs/applications/graphics/qiv/default.upstream3
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix6
-rw-r--r--pkgs/applications/misc/mupdf/default.upstream7
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix66
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix90
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix6
-rw-r--r--pkgs/applications/science/math/sloane/default.nix8
-rw-r--r--pkgs/build-support/setup-hooks/scatter_output.sh56
-rwxr-xr-xpkgs/build-support/upstream-updater/update-walker.sh6
-rw-r--r--pkgs/desktops/e17/terminology/default.nix4
-rw-r--r--pkgs/development/compilers/haxe/default.nix22
-rw-r--r--pkgs/development/compilers/idris/default.nix4
-rw-r--r--pkgs/development/compilers/urweb/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/BoundedChan/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/MFlow/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/aeson-qq/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/attoparsec/0.12.1.0.nix (renamed from pkgs/development/libraries/haskell/attoparsec/0.12.0.0.nix)4
-rw-r--r--pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cabal-cargs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cabal-lenses/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/crypto-numbers/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/entropy/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/event-list/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/force-layout/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/ghc-vis/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskeline/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hedis/default.nix22
-rw-r--r--pkgs/development/libraries/haskell/hoogle/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hourglass/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hsimport/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/hspec-meta/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/hspec-wai/default.nix23
-rw-r--r--pkgs/development/libraries/haskell/hspec2/default.nix16
-rw-r--r--pkgs/development/libraries/haskell/http-client/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/http-reverse-proxy/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/io-memoize/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/mongoDB/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/non-negative/default.nix7
-rw-r--r--pkgs/development/libraries/haskell/pipes-text/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/purescript/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/scotty/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/snaplet-redis/default.nix19
-rw-r--r--pkgs/development/libraries/haskell/wai-app-static/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/wai-conduit/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/wai-extra/default.nix25
-rw-r--r--pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-handler-launch/default.nix11
-rw-r--r--pkgs/development/libraries/haskell/wai-logger/default.nix1
-rw-r--r--pkgs/development/libraries/haskell/wai-middleware-static/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/wai-test/default.nix18
-rw-r--r--pkgs/development/libraries/haskell/wai-websockets/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/wai/default.nix14
-rw-r--r--pkgs/development/libraries/haskell/warp-tls/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/warp/default.nix27
-rw-r--r--pkgs/development/libraries/haskell/websockets/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-bin/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/yesod-form/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-persistent/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/yesod-test/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/yesod/default.nix4
-rw-r--r--pkgs/development/libraries/libmodbus/default.nix18
-rw-r--r--pkgs/development/libraries/libmsgpack/default.nix15
-rw-r--r--pkgs/development/libraries/liboping/default.nix29
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/libxmp/default.nix23
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/python-modules/generic/default.nix14
-rw-r--r--pkgs/development/tools/haskell/cabal-bounds/default.nix4
-rw-r--r--pkgs/development/tools/haskell/cabal2nix/default.nix4
-rw-r--r--pkgs/development/tools/haskell/keter/default.nix16
-rw-r--r--pkgs/development/tools/misc/ShellCheck/default.nix16
-rw-r--r--pkgs/development/tools/misc/cl-launch/default.nix8
-rw-r--r--pkgs/games/sauerbraten/default.nix4
-rw-r--r--pkgs/games/scummvm/default.nix8
-rw-r--r--pkgs/misc/emulators/wine/unstable.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix34
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix4
-rw-r--r--pkgs/servers/squid/squids.nix13
-rw-r--r--pkgs/stdenv/generic/default.nix11
-rw-r--r--pkgs/tools/X11/nitrogen/default.nix32
-rw-r--r--pkgs/tools/X11/nitrogen/nitrogen-env-bash.patch10
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix6
-rw-r--r--pkgs/tools/graphics/nifskope/default.nix2
-rw-r--r--pkgs/tools/misc/tmpwatch/default.nix8
-rw-r--r--pkgs/tools/security/pass/default.nix1
-rw-r--r--pkgs/tools/security/tor/default.nix4
-rw-r--r--pkgs/tools/security/tor/torbrowser.nix6
-rw-r--r--pkgs/top-level/all-packages.nix20
-rw-r--r--pkgs/top-level/haskell-packages.nix16
-rw-r--r--pkgs/top-level/python-packages.nix25
99 files changed, 868 insertions, 283 deletions
diff --git a/pkgs/applications/audio/xmp/default.nix b/pkgs/applications/audio/xmp/default.nix
new file mode 100644
index 000000000000..7f21d389cf5f
--- /dev/null
+++ b/pkgs/applications/audio/xmp/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, alsaLib, libxmp }:
+
+stdenv.mkDerivation rec {
+  name = "xmp-4.0.7";
+
+  meta = with stdenv.lib; {
+    description = "Extended module player";
+    homepage    = "http://xmp.sourceforge.net/";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xmp/xmp/${name}.tar.gz";
+    sha256 = "0qgzzaxhshz5l7s21x89xb43pbbi0zap6a4lk4s7gjp1qca2agcw";
+  };
+
+  buildInputs = [ pkgconfig alsaLib libxmp ];
+}
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index 9af7c24e8008..768444008ad4 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, emacs, texinfo, which, texLive }:
 
 stdenv.mkDerivation rec {
-  name = "org-8.2.6";
+  name = "org-8.2.7";
 
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
-    sha256 = "0f196r0n9m2np123sjabsqdw68h9qp6qr7l5v257am8qs7rj0jm1";
+    sha256 = "1n864hnjvx5n2gfi7n0xbwvb1k8l5rdh4a3vpbhw23hy8rx3bvaw";
   };
 
   buildInputs = [ emacs ];
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
 
     license = "GPLv3+";
 
-    maintainers = with stdenv.lib.maintainers; [ chaoflow ];
+    maintainers = with stdenv.lib.maintainers; [ chaoflow pSub ];
     platforms = stdenv.lib.platforms.gnu;
   };
 }
diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix
index c7582fd6c33f..da6838880630 100644
--- a/pkgs/applications/graphics/dia/default.nix
+++ b/pkgs/applications/graphics/dia/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurlGnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext
+{stdenv, fetchurl, fetchurlGnome, gtk, pkgconfig, perl, perlXMLParser, libxml2, gettext
 , python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl
 , withGNOME ? false, libgnomeui }:
 
@@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "1qgawm7rrf4wd1yc0fp39ywv8gbz4ry1s16k00dzg5w6p67lfqd7";
   };
 
+  correctPersistence = fetchurl {
+    url = https://launchpadlibrarian.net/132677658/persistence;
+    sha256 = "1rv6zv9i03bna4bdp1wzn72lg7kdwi900y1izdq0imibi54nxjsk";
+  };
+
   buildInputs =
     [ gtk perlXMLParser libxml2 gettext python libxml2Python docbook5
       libxslt docbook_xsl libart_lgpl
@@ -24,7 +29,17 @@ stdenv.mkDerivation rec {
 
   # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
   # It have no reasons to exist in a redistribuable package
-  postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
+  postInstall = ''
+    rm $out/share/icons/hicolor/icon-theme.cache
+
+    cd "$out"/bin/
+    mv dia .dia-wrapped
+    echo '#! ${stdenv.shell}' >> dia
+    echo 'test -f "$HOME/.dia/persistence" || cp ${correctPersistence} "$HOME/.dia/persistence" ' >> dia
+    echo 'chmod u+rw "$HOME/.dia/persistence" ' >> dia
+    echo "\"$out/bin/"'.dia-wrapped" "$@"' >> dia
+    chmod a+x dia
+  '';
 
   meta = {
     description = "Gnome Diagram drawing software";
diff --git a/pkgs/applications/graphics/qiv/default.nix b/pkgs/applications/graphics/qiv/default.nix
index df18c6d1520c..86891f2cb937 100644
--- a/pkgs/applications/graphics/qiv/default.nix
+++ b/pkgs/applications/graphics/qiv/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, gtk, imlib2, file } :
+{ stdenv, fetchurl, pkgconfig, gtk, imlib2, file, lcms2, libexif } :
 
 stdenv.mkDerivation (rec {
-  name = "qiv-2.2.4";
+  version = "2.3.1";
+  name = "qiv-${version}";
 
   src = fetchurl {
     url = "http://spiegl.de/qiv/download/${name}.tgz";
-    sha256 = "ed6078dc550c1dc2fe35c1e0f46463c13589a24b83d4f7101b71a7485e51abb7";
+    sha256 = "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7";
   };
 
-  buildInputs = [ pkgconfig gtk imlib2 file ];
+  buildInputs = [ pkgconfig gtk imlib2 file lcms2 libexif ];
 
   preBuild=''
     substituteInPlace Makefile --replace /usr/local "$out"
@@ -18,5 +19,6 @@ stdenv.mkDerivation (rec {
   meta = {
     description = "qiv (quick image viewer)";
     homepage = http://spiegl.de/qiv/;
+    inherit version;
   };
 })
diff --git a/pkgs/applications/graphics/qiv/default.upstream b/pkgs/applications/graphics/qiv/default.upstream
new file mode 100644
index 000000000000..e6c7ef2408e8
--- /dev/null
+++ b/pkgs/applications/graphics/qiv/default.upstream
@@ -0,0 +1,3 @@
+url http://spiegl.de/qiv/download/
+version_link '[.]tgz$'
+do_overwrite() { do_overwrite_just_version; }
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index c2d8e7979e45..6c25a67147af 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "calibre-1.31.0";
+  name = "calibre-1.35.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/calibre/${name}.tar.xz";
-    sha256 = "1fl42y8ppw8s51v66dqsrg1ib28yi6z5779r9wfvdbl9v1clilfc";
+    sha256 = "0pzxp1f9d4pw7vksdfkdz6fdgrb8jfwgh4fckjfrarqs039422bi";
   };
 
   inherit python;
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index ebf3d52ea61d..a56460827f50 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
 , libX11, libXext }:
 stdenv.mkDerivation rec {
-  name = "mupdf-1.4";
+  version = "1.5";
+  name = "mupdf-${version}";
 
   src = fetchurl {
     url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
-    sha256 = "08pc6fv42sb9k9dzjs8ph32nixzrzmr08yxh7arkpsdm42asp2q1";
+    sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
   };
 
   buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
@@ -67,5 +68,6 @@ stdenv.mkDerivation rec {
     license = "GPLv3+";
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = with stdenv.lib.platforms; linux;
+    inherit version;
   };
 }
diff --git a/pkgs/applications/misc/mupdf/default.upstream b/pkgs/applications/misc/mupdf/default.upstream
new file mode 100644
index 000000000000..07cafdb0c2a4
--- /dev/null
+++ b/pkgs/applications/misc/mupdf/default.upstream
@@ -0,0 +1,7 @@
+url http://mupdf.com/downloads/archive/
+do_overwrite(){
+  ensure_hash
+  ensure_version
+  set_var_value version $CURRENT_VERSION
+  set_var_value sha256 $CURRENT_HASH
+}
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
new file mode 100644
index 000000000000..ab7a8240ebfb
--- /dev/null
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -0,0 +1,66 @@
+{ stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
+, p7zip }:
+
+let
+
+  mkSweetHome3D =
+  { name, module, version, src, license, description }:
+
+  stdenv.mkDerivation rec {
+    inherit name version src description;
+    exec = stdenv.lib.toLower module;
+    sweethome3dItem = makeDesktopItem {
+      inherit name exec;
+      comment =  description;
+      desktopName = name;
+      genericName = "Computer Aided (Interior) Design";
+      categories = "Application;CAD;";
+    };
+
+    buildInputs = [ ant jdk jre makeWrapper p7zip ];
+
+    buildPhase = ''
+      ant furniture textures help
+      mkdir -p $out/share/{java,applications}
+      mv build/*.jar $out/share/java/.
+      ant
+    '';
+
+    installPhase = ''
+      mkdir -p $out/bin
+      cp install/${module}-${version}.jar $out/share/java/.
+      cp ${sweethome3dItem}/share/applications/* $out/share/applications
+      makeWrapper ${jre}/bin/java $out/bin/$exec \
+        --add-flags "-jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}"
+    '';
+
+    dontStrip = true;
+
+    meta = {
+      homepage = "http://www.sweethome3d.com/index.jsp";
+      inherit description;
+      inherit license;
+      maintainers = [ stdenv.lib.maintainers.edwtjo ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+  d2u = stdenv.lib.replaceChars ["."] ["_"];
+
+in rec {
+
+  application = mkSweetHome3D rec {
+    version = "4.3.1";
+    module = "SweetHome3D";
+    name = stdenv.lib.toLower module + "-application-" + version;
+    description = "Design and visualize your future home";
+    license = stdenv.lib.licenses.gpl2Plus;
+    src = fetchcvs {
+      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
+      sha256 = "0jn3xamghz8rsmzvpd57cvz32yk8mni8dyx15xizjcki0450bp3f";
+      module = module;
+      tag = "V_" + d2u version;
+    };
+  };
+
+}
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
new file mode 100644
index 000000000000..9eca1df59f5d
--- /dev/null
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -0,0 +1,90 @@
+{ stdenv, fetchurl, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
+, p7zip, sweethome3dApp }:
+
+let
+
+  sweetExec = with stdenv.lib;
+    m: "sweethome3d-"
+    + removeSuffix "libraryeditor" (toLower m)
+    + "-editor";
+  sweetName = m: v: sweetExec m + "-" + v;
+
+  mkEditorProject =
+  { name, module, version, src, license, description }:
+
+  stdenv.mkDerivation rec {
+    application = sweethome3dApp;
+    inherit name module version src description;
+    exec = sweetExec module;
+    editorItem = makeDesktopItem {
+      inherit name exec;
+      comment =  description;
+      desktopName = name;
+      genericName = "Computer Aided (Interior) Design";
+      categories = "Application;CAD;";
+    };
+
+    buildInputs = [ ant jre jdk makeWrapper ];
+
+    patchPhase = ''
+      sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
+    '';
+
+    buildPhase = ''
+      ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk}/lib
+    '';
+
+    installPhase = ''
+      mkdir -p $out/bin
+      mkdir -p $out/share/{java,applications}
+      cp ${module}-${version}.jar $out/share/java/.
+      cp ${editorItem}/share/applications/* $out/share/applications
+      makeWrapper ${jre}/bin/java $out/bin/$exec \
+        --add-flags "-jar $out/share/java/${module}-${version}.jar ${if stdenv.system == "x86_64-linux" then "-d64" else "-d32"}"
+    '';
+
+    dontStrip = true;
+
+    meta = {
+      homepage = "http://www.sweethome3d.com/index.jsp";
+      inherit description;
+      inherit license;
+      maintainers = [ stdenv.lib.maintainers.edwtjo ];
+      platforms = stdenv.lib.platforms.linux;
+    };
+
+  };
+
+  d2u = stdenv.lib.replaceChars ["."] ["_"];
+
+in rec {
+
+  textures-editor = mkEditorProject rec {
+    version = "1.3";
+    module = "TexturesLibraryEditor";
+    name = sweetName module version;
+    description = "Easily create SH3T files and edit the properties of the texture images it contain";
+    license = stdenv.lib.licenses.gpl2Plus;
+    src = fetchcvs {
+      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
+      sha256 = "1caf1hmf87bj5dr7w2swnlbvkb3q1jdjr1zgjn1k07d0fxh0ikbx";
+      module = module;
+      tag = "V_" + d2u version;
+    };
+  };
+
+  furniture-editor = mkEditorProject rec {
+    version = "1.13";
+    module = "FurnitureLibraryEditor";
+    name = sweetName module version;
+    description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
+    license = stdenv.lib.licenses.gpl2;
+    src = fetchcvs {
+      cvsRoot = ":pserver:anonymous@sweethome3d.cvs.sourceforge.net:/cvsroot/sweethome3d";
+      sha256 = "1nll5589rc0g71zd86cwmzl4p2icynykj106schmxric9v17jbv5";
+      module = module;
+      tag = "V_" + d2u version;
+    };
+  };
+
+}
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index 210ed2bf1d12..1e2c3e2cfb19 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -17,14 +17,14 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
 
 rec {
 
-  firefoxVersion = "29.0.1";
+  firefoxVersion = "30.0";
 
-  xulVersion = "29.0.1"; # this attribute is used by other packages
+  xulVersion = "30.0"; # this attribute is used by other packages
 
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
-    sha1 = "2819ef63403de2bcfff5496bd21a3b8cb5dfce82";
+    sha1 = "bll9hxf31gvg9db6gxgmq25qsjif3p11";
   };
 
   commonConfigureFlags =
diff --git a/pkgs/applications/science/math/sloane/default.nix b/pkgs/applications/science/math/sloane/default.nix
index 2e7768e2d956..a2462e8eefee 100644
--- a/pkgs/applications/science/math/sloane/default.nix
+++ b/pkgs/applications/science/math/sloane/default.nix
@@ -1,15 +1,15 @@
-{ cabal, ansiTerminal, cmdargs, filepath, HTTP, network
+{ cabal, ansiTerminal, filepath, HTTP, network, optparseApplicative
 , stringsearch, terminalSize, time, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "sloane";
-  version = "1.7.1";
-  sha256 = "0d6k33rhp1ixrwdfwy31m39kbk8z81biwzwmkp01fvpgwm96p3va";
+  version = "1.8";
+  sha256 = "0c30slsswfqwzi39hk6jraxz1y1a2yn8g8nyjvlnggwajx2rlm6p";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
-    ansiTerminal cmdargs filepath HTTP network stringsearch
+    ansiTerminal filepath HTTP network optparseApplicative stringsearch
     terminalSize time zlib
   ];
   postInstall = ''
diff --git a/pkgs/build-support/setup-hooks/scatter_output.sh b/pkgs/build-support/setup-hooks/scatter_output.sh
new file mode 100644
index 000000000000..f2a501c55e4f
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/scatter_output.sh
@@ -0,0 +1,56 @@
+preFixupPhases+=" scatter_files"
+preDistPhases+=" propagate_bin_input"
+
+SCATTER_BIN_DEFAULT=${SCATTER_BIN_DEFAULT:-"/lib/*.so* /bin/*"}
+SCATTER_DOC_DEFAULT=${SCATTER_DOC_DEFAULT:-"/share/man/* /share/doc/*"}
+
+
+scatter_files() {
+    save_nullglob=$(shopt -p nullglob)
+    for o in $outputs; do
+	[[ "$o" == "out" ]] && continue
+	v=files_${o}
+	
+	#if files_'output' isn't set in derivative, use defualts for some
+	[[ ${!v} ]] || {
+            case $o in
+		bin)
+		    v=SCATTER_BIN_DEFAULT
+		    ;;
+		doc)
+		    v=SCATTER_DOC_DEFAULT
+		    ;;
+		*)
+		    continue
+		    ;;
+	    esac
+        }
+
+	# prepend each path with $out
+	paths=$out${!v// \// $out/}
+        shopt -s nullglob
+	for f in $paths; do
+	    shopt -u nullglob
+	    dist=${!o}${f#$out}
+	    mkdir -p $(dirname $dist)
+	    cp -pr $f $dist
+	    # remove source, not forgetting to clean empty dirs
+	    rm -r $f
+	    rmdir --ignore-fail-on-non-empty $(dirname $f)
+	done
+	find ${!o} -type f -exec $SHELL -c 'patchelf --set-rpath $(patchelf --print-rpath {} 2>/dev/null):'${!o}'/lib {} 2>/dev/null && patchelf --shrink-rpath {}' \;
+    done
+    eval $save_nullglob
+}
+
+propagate_bin_input() {
+    if [[ -n ${bin:-} ]]; then
+	mkdir -p $out/nix-support
+	echo $bin >> $out/nix-support/propagated-native-build-inputs 
+    fi
+
+    if [[ -n ${bin:-} && -n ${doc:-} ]]; then
+	mkdir -p $bin/nix-support
+	echo $doc >> $bin/nix-support/propagated-user-env-packages
+    fi
+}
diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh
index 5743a289a4cf..bc58f935f815 100755
--- a/pkgs/build-support/upstream-updater/update-walker.sh
+++ b/pkgs/build-support/upstream-updater/update-walker.sh
@@ -246,6 +246,12 @@ do_overwrite () {
   mv "$1.new.tmp" "$1"
 }
 
+do_overwrite_just_version () {
+  ensure_hash
+  set_var_value version $CURRENT_VERSION
+  set_var_value sha256 $CURRENT_HASH
+}
+
 process_config () {
   CONFIG_DIR="$(directory_of "$1")"
   CONFIG_NAME="$(basename "$1")"
diff --git a/pkgs/desktops/e17/terminology/default.nix b/pkgs/desktops/e17/terminology/default.nix
index 25dd95c7f19c..692f4e73ac2c 100644
--- a/pkgs/desktops/e17/terminology/default.nix
+++ b/pkgs/desktops/e17/terminology/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "terminology-${version}";
-  version = "0.4.0";
+  version = "0.5.1";
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.gz";
-    sha256 = "1ing9l19h7f1f843rcabbjaynps1as4mpc31xz2adkafb3xd3wk3";
+    sha256 = "1b8m6fhzx2fdr3m6ak2163v33zc4svmg2k875m0xppzifdd9xvyf";
   };
   buildInputs = [ pkgconfig elementary eina eet evas ecore edje emotion ecore ethumb efreet ];
 
diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix
index b2d69f2ea7d7..3173b8922612 100644
--- a/pkgs/development/compilers/haxe/default.nix
+++ b/pkgs/development/compilers/haxe/default.nix
@@ -1,30 +1,28 @@
-{ stdenv, fetchsvn, ocaml, zlib, neko }:
+{ stdenv, fetchgit, ocaml, zlib, neko }:
 
 stdenv.mkDerivation {
-  name = "haxe-3.00";
+  name = "haxe-3.1.3";
 
   buildInputs = [ocaml zlib neko];
 
-  src = fetchsvn {
-    url = "http://haxe.googlecode.com/svn/trunk";
-    sha256 = "0hg8qailhgrcdk7r4k9kmwfl9d9ds0vy0l7wbv5wdrrc34qzifm4";
-    rev = 6706;
+  src = fetchgit {
+    url = "https://github.com/HaxeFoundation/haxe.git";
+    sha256 = "1p4yja6flv2r04q9lcrjxia3f3fsmhi3d88s0lz0nf0r4m61bjz0";
+    fetchSubmodules = true;
+
+    # Tag 3.1.3
+    rev = "7be30670b2f1f9b6082499c8fb9e23c0a6df6c28";
   };
 
   prePatch = ''
     sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
   '';
 
-  postBuild = ''
-    find std/tools -name '*.n' -delete
-    rm -f std/tools/haxedoc/haxedoc std/tools/haxelib/haxelib
-  '';
-
   buildFlags = [ "all" "tools" ];
 
   installPhase = ''
     install -vd "$out/bin" "$out/lib/haxe/std"
-    install -vt "$out/bin" haxe haxelib haxedoc
+    install -vt "$out/bin" haxe haxelib
     cp -vr std "$out/lib/haxe"
   '';
 
diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix
index 0c3c1c0fba8c..27dcf9f03a6e 100644
--- a/pkgs/development/compilers/idris/default.nix
+++ b/pkgs/development/compilers/idris/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "idris";
-  version = "0.9.13";
-  sha256 = "0bpp8b19s1przycndvl542ar9dc285ccnwm7cic33ym1lcqil86n";
+  version = "0.9.13.1";
+  sha256 = "09528c2zxriw3l8c7dd2k5db9j1qmqhs6nbqwc7dkskzqv9snz7n";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index 2073104c6fdf..bd457b227e6f 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "urweb";
-  version = "20140426";
+  version = "20140531";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "http://www.impredicative.com/ur/${name}.tgz";
-    sha256 = "0d7mbmjc59y0dwk4k7r4wpxfsn4fzswrdxai9xh2nzjsxg2fa7d2";
+    sha256 = "0gbk16hzs8267cfhb7w1cqgjxdv2icxg5clxdbda6qsn84jaf3n4";
   };
 
   buildInputs = [ stdenv.gcc file openssl mlton mysql postgresql sqlite ];
diff --git a/pkgs/development/libraries/haskell/BoundedChan/default.nix b/pkgs/development/libraries/haskell/BoundedChan/default.nix
new file mode 100644
index 000000000000..0ce294c2258c
--- /dev/null
+++ b/pkgs/development/libraries/haskell/BoundedChan/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "BoundedChan";
+  version = "1.0.1.0";
+  sha256 = "1v4lmp3j8lzk1m2pv5l90j80y0c6yxm6gb1ww9ffsz2jxfzz8vd8";
+  meta = {
+    description = "Implementation of bounded channels";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/MFlow/default.nix b/pkgs/development/libraries/haskell/MFlow/default.nix
index def50e8e7dbd..fe96af2de9e5 100644
--- a/pkgs/development/libraries/haskell/MFlow/default.nix
+++ b/pkgs/development/libraries/haskell/MFlow/default.nix
@@ -1,7 +1,8 @@
 { cabal, blazeHtml, blazeMarkup, caseInsensitive, clientsession
-, conduit, conduitExtra, cpphs, extensibleExceptions, httpTypes, monadloc
-, mtl, parsec, random, RefSerialize, stm, TCache, text, time
-, transformers, utf8String, vector, wai, warp, warpTls, Workflow
+, conduit, conduitExtra, cpphs, extensibleExceptions, httpTypes
+, monadloc, mtl, parsec, random, RefSerialize, stm, TCache, text
+, time, transformers, utf8String, vector, wai, warp, warpTls
+, Workflow
 }:
 
 cabal.mkDerivation (self: {
@@ -10,10 +11,11 @@ cabal.mkDerivation (self: {
   sha256 = "1ih9ni14xmqvcfvayjkggmpmw3s9yzp17gf4xzygldmjcs35j4n3";
   buildDepends = [
     blazeHtml blazeMarkup caseInsensitive clientsession conduit
-    conduitExtra cpphs extensibleExceptions httpTypes monadloc mtl parsec
+    conduitExtra extensibleExceptions httpTypes monadloc mtl parsec
     random RefSerialize stm TCache text time transformers utf8String
     vector wai warp warpTls Workflow
   ];
+  buildTools = [ cpphs ];
   meta = {
     description = "stateful, RESTful web framework";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/aeson-qq/default.nix b/pkgs/development/libraries/haskell/aeson-qq/default.nix
index 1da43428f127..36cb42d0b7fc 100644
--- a/pkgs/development/libraries/haskell/aeson-qq/default.nix
+++ b/pkgs/development/libraries/haskell/aeson-qq/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "aeson-qq";
-  version = "0.7.0";
-  sha256 = "1sq34pnwiyf5lngqph4m463ijr185akzbrdi3i40zmqlrymssv3c";
+  version = "0.7.1";
+  sha256 = "1b2ham1h6mlm49ax9k2agf8yymbgkk094nq2apn703i2d9v00im6";
   buildDepends = [ aeson haskellSrcMeta parsec text vector ];
   testDepends = [ aeson hspec ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/attoparsec/0.12.0.0.nix b/pkgs/development/libraries/haskell/attoparsec/0.12.1.0.nix
index 6fd32736c4d8..72a58b1cce65 100644
--- a/pkgs/development/libraries/haskell/attoparsec/0.12.0.0.nix
+++ b/pkgs/development/libraries/haskell/attoparsec/0.12.1.0.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "attoparsec";
-  version = "0.12.0.0";
-  sha256 = "04wdb2i2yqybkfnjs3f25nf7xz1nq5sn8z23klbm4xnqaiajmkmr";
+  version = "0.12.1.0";
+  sha256 = "1y7sikk5hg9yj3mn21k026ni6lznsih0lx03rgdz4gmb6aqh54bn";
   buildDepends = [ deepseq scientific text ];
   testDepends = [
     deepseq QuickCheck scientific testFramework
diff --git a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
index f751126f142a..d08edb48b0ed 100644
--- a/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
+++ b/pkgs/development/libraries/haskell/blaze-builder-enumerator/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "blaze-builder-enumerator";
-  version = "0.2.0.5";
-  sha256 = "0bbbv9wwzw9ss3d02mszdzxzhg6pcrnpwir9bvby7xkmfqpyffaa";
+  version = "0.2.0.6";
+  sha256 = "0pdw18drvikb465qh43b8wjyvpqj3wcilyczc21fri5ma4mxdkyp";
   buildDepends = [ blazeBuilder enumerator transformers ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/cabal-cargs/default.nix b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
index 34759c9b8926..9ba31d333bb6 100644
--- a/pkgs/development/libraries/haskell/cabal-cargs/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-cargs/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-cargs";
-  version = "0.6.1";
-  sha256 = "1bf903kgs16f054crwq0yyp6ijch80qn3d5ksy4j0fnyxxrdqvsa";
+  version = "0.7";
+  sha256 = "1dzmvwmb9sxwdgkzszhk9d5qvq2alnqmprx83dlb17sdi6f9jns1";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/cabal-lenses/default.nix b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
index 39c0eeb1dd16..bd14dd1c0895 100644
--- a/pkgs/development/libraries/haskell/cabal-lenses/default.nix
+++ b/pkgs/development/libraries/haskell/cabal-lenses/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-lenses";
-  version = "0.1";
-  sha256 = "0jss4h7crh7mndl5ghbpziy37cg9i29cc64fgxvxb63hpk0q2m17";
+  version = "0.2";
+  sha256 = "1wfr4rh7ba1hsvi0v7mzpab7fi5k93lz27v8qdfjqzkyybhjglv4";
   buildDepends = [ Cabal lens unorderedContainers ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/crypto-numbers/default.nix b/pkgs/development/libraries/haskell/crypto-numbers/default.nix
index 7633c479e7c0..b3f0b205af5b 100644
--- a/pkgs/development/libraries/haskell/crypto-numbers/default.nix
+++ b/pkgs/development/libraries/haskell/crypto-numbers/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     byteable cryptoRandom HUnit QuickCheck testFramework
     testFrameworkHunit testFrameworkQuickcheck2 vector
   ];
+  doCheck = false;
   meta = {
     homepage = "http://github.com/vincenthz/hs-crypto-numbers";
     description = "Cryptographic numbers: functions and algorithms";
diff --git a/pkgs/development/libraries/haskell/entropy/default.nix b/pkgs/development/libraries/haskell/entropy/default.nix
index c92fc584aaf6..5c494f4a45df 100644
--- a/pkgs/development/libraries/haskell/entropy/default.nix
+++ b/pkgs/development/libraries/haskell/entropy/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "entropy";
-  version = "0.3";
-  sha256 = "0b1yx7409xw8jz2rj8695xscjnw4p7y80niq9cbkqrmnqbqnwj2q";
+  version = "0.3.2";
+  sha256 = "1kk0vmfmfqcsw0pzbii9rvz32fvhvxqpn6p6jw6q2x33z6gm5f9x";
   meta = {
     homepage = "https://github.com/TomMD/entropy";
     description = "A platform independent entropy source";
diff --git a/pkgs/development/libraries/haskell/event-list/default.nix b/pkgs/development/libraries/haskell/event-list/default.nix
index 16b73d9bfb36..5305cd87d7df 100644
--- a/pkgs/development/libraries/haskell/event-list/default.nix
+++ b/pkgs/development/libraries/haskell/event-list/default.nix
@@ -1,12 +1,14 @@
-{ cabal, nonNegative, QuickCheck, transformers, utilityHt }:
+{ cabal, nonNegative, QuickCheck, random, transformers, utilityHt
+}:
 
 cabal.mkDerivation (self: {
   pname = "event-list";
-  version = "0.1.0.2";
-  sha256 = "01j48871nijhkbqdsfvbvq01yr9b5a056fn03ccgazikfsd368ri";
-  isLibrary = true;
-  isExecutable = true;
+  version = "0.1.1.1";
+  sha256 = "16qrjvn8z2nlpfp3xlgwsg2abn7b33n3z673qs5k6ashfbkdy5ja";
   buildDepends = [ nonNegative QuickCheck transformers utilityHt ];
+  testDepends = [
+    nonNegative QuickCheck random transformers utilityHt
+  ];
   meta = {
     homepage = "http://code.haskell.org/~thielema/event-list/";
     description = "Event lists with relative or absolute time stamps";
diff --git a/pkgs/development/libraries/haskell/force-layout/default.nix b/pkgs/development/libraries/haskell/force-layout/default.nix
index 40a610f2b11d..55437747f8bf 100644
--- a/pkgs/development/libraries/haskell/force-layout/default.nix
+++ b/pkgs/development/libraries/haskell/force-layout/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "force-layout";
-  version = "0.3.0.4";
-  sha256 = "1zgqcz9b86qax1hyl32a1giapvn2wpnb4gcfn8czkcr0m7c2iwdg";
+  version = "0.3.0.5";
+  sha256 = "01wk8zygw9d3r5dwbycyab82kfk8s05ynnajb6kfjv7i09s9sgcb";
   buildDepends = [
     dataDefaultClass lens vectorSpace vectorSpacePoints
   ];
diff --git a/pkgs/development/libraries/haskell/ghc-vis/default.nix b/pkgs/development/libraries/haskell/ghc-vis/default.nix
index 40700b52f61d..a15ed9d1c47c 100644
--- a/pkgs/development/libraries/haskell/ghc-vis/default.nix
+++ b/pkgs/development/libraries/haskell/ghc-vis/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "ghc-vis";
-  version = "0.7.2.2";
-  sha256 = "0abk76cy9qiblyways1r7jfsj996sj4laawzaz1j9p546plfkbnj";
+  version = "0.7.2.3";
+  sha256 = "1gl059n85yxksnq8y7i1vrsjdg4al6himzpdmw95v61y59bbs6c2";
   buildDepends = [
     cairo deepseq fgl ghcHeapView graphviz gtk mtl svgcairo text
     transformers xdot
diff --git a/pkgs/development/libraries/haskell/haskeline/default.nix b/pkgs/development/libraries/haskell/haskeline/default.nix
index f813ddc25131..bff64a72f690 100644
--- a/pkgs/development/libraries/haskell/haskeline/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "haskeline";
-  version = "0.7.1.2";
-  sha256 = "178hzal5gqw3rmgijv9ph9xa6d4sld279z4a8cjyx3hv4azciwr4";
+  version = "0.7.1.3";
+  sha256 = "1bwyfn7y9mi18g7zxz8wxjkld51azlfbxypxbiqdinpm2fdl63mi";
   buildDepends = [ filepath terminfo transformers utf8String ];
   configureFlags = "-fterminfo";
   jailbreak = true;
diff --git a/pkgs/development/libraries/haskell/hedis/default.nix b/pkgs/development/libraries/haskell/hedis/default.nix
new file mode 100644
index 000000000000..c4e34b2d3612
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hedis/default.nix
@@ -0,0 +1,22 @@
+{ cabal, attoparsec, BoundedChan, bytestringLexing, HUnit, mtl
+, network, resourcePool, testFramework, testFrameworkHunit, time
+, vector
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hedis";
+  version = "0.6.5";
+  sha256 = "1kn8i49yxms1bpjwpy4m8vyycgi755zvy4zc66w068nmnd1kiykh";
+  buildDepends = [
+    attoparsec BoundedChan bytestringLexing mtl network resourcePool
+    time vector
+  ];
+  testDepends = [ HUnit mtl testFramework testFrameworkHunit time ];
+  meta = {
+    homepage = "https://github.com/informatikr/hedis";
+    description = "Client library for the Redis datastore: supports full command set, pipelining";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+  doCheck = false;
+})
diff --git a/pkgs/development/libraries/haskell/hoogle/default.nix b/pkgs/development/libraries/haskell/hoogle/default.nix
index 9c3ed9e778cd..624cc9319812 100644
--- a/pkgs/development/libraries/haskell/hoogle/default.nix
+++ b/pkgs/development/libraries/haskell/hoogle/default.nix
@@ -2,6 +2,7 @@
 , cmdargs, conduit, deepseq, filepath, haskellSrcExts, httpTypes
 , parsec, QuickCheck, random, resourcet, safe, shake, tagsoup, text
 , time, transformers, uniplate, vector, vectorAlgorithms, wai, warp
+, fetchurl
 }:
 
 cabal.mkDerivation (self: {
@@ -18,6 +19,9 @@ cabal.mkDerivation (self: {
   ];
   testDepends = [ filepath ];
   testTarget = "--test-option=--no-net";
+  patches = [ (fetchurl { url = "https://github.com/ndmitchell/hoogle/commit/5fc294f2b5412fda107c7700f4d833b52f26184c.diff";
+                          sha256 = "1fn52g90p2jsy87gf5rqrcg49s8hfwway5hi4v9i2rpg5mzxaq3i"; })
+            ];
   meta = {
     homepage = "http://www.haskell.org/hoogle/";
     description = "Haskell API Search";
diff --git a/pkgs/development/libraries/haskell/hourglass/default.nix b/pkgs/development/libraries/haskell/hourglass/default.nix
index 7a5cf59b3283..f7569ba3fa5c 100644
--- a/pkgs/development/libraries/haskell/hourglass/default.nix
+++ b/pkgs/development/libraries/haskell/hourglass/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hourglass";
-  version = "0.2.0";
-  sha256 = "13zphy3gfj9p7vsa477qy30968fnz5kq7d0lzb1pyg5hxkx44rim";
+  version = "0.2.2";
+  sha256 = "015ipy9adi67nfddjsw9c0ihn0banghgawjli0lgrmiyjz01610c";
   buildDepends = [ deepseq ];
   testDepends = [
     deepseq mtl tasty tastyHunit tastyQuickcheck time
diff --git a/pkgs/development/libraries/haskell/hsimport/default.nix b/pkgs/development/libraries/haskell/hsimport/default.nix
index ca2808e5aba0..fdb3304ccd86 100644
--- a/pkgs/development/libraries/haskell/hsimport/default.nix
+++ b/pkgs/development/libraries/haskell/hsimport/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hsimport";
-  version = "0.3";
-  sha256 = "124dimaa8v4x6vlh51v2r7569d8122l42q19bpzgqih33vw2djcs";
+  version = "0.4";
+  sha256 = "1pkj6cfdfyrcrm6gr4a43y6s4qhwpli6zgnlx4ycmhs3yh5kay60";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/hspec-meta/default.nix b/pkgs/development/libraries/haskell/hspec-meta/default.nix
index 612f49898489..dbc6369dc7ee 100644
--- a/pkgs/development/libraries/haskell/hspec-meta/default.nix
+++ b/pkgs/development/libraries/haskell/hspec-meta/default.nix
@@ -1,17 +1,17 @@
-{ cabal, ansiTerminal, deepseq, filepath, hspecExpectations, HUnit
-, QuickCheck, quickcheckIo, random, setenv, tfRandom, time
+{ cabal, ansiTerminal, async, deepseq, filepath, hspecExpectations
+, HUnit, QuickCheck, quickcheckIo, random, setenv, tfRandom, time
 , transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec-meta";
-  version = "1.9.5";
-  sha256 = "0y39z9r5icz62dd7hvr3lwdcqas526w4m5rcd1468fp7rlz3402j";
+  version = "1.10.0";
+  sha256 = "1x32wgrd1i6rs6790dbr51j9g6abjpcf951cx3nmm4zdcwblyi6a";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    ansiTerminal deepseq filepath hspecExpectations HUnit QuickCheck
-    quickcheckIo random setenv tfRandom time transformers
+    ansiTerminal async deepseq filepath hspecExpectations HUnit
+    QuickCheck quickcheckIo random setenv tfRandom time transformers
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/hspec-wai/default.nix b/pkgs/development/libraries/haskell/hspec-wai/default.nix
new file mode 100644
index 000000000000..639aa484dfae
--- /dev/null
+++ b/pkgs/development/libraries/haskell/hspec-wai/default.nix
@@ -0,0 +1,23 @@
+{ cabal, aeson, aesonQq, caseInsensitive, doctest, hspec2
+, hspecMeta, httpTypes, markdownUnlit, scotty, text, transformers
+, wai, waiExtra
+}:
+
+cabal.mkDerivation (self: {
+  pname = "hspec-wai";
+  version = "0.2.0";
+  sha256 = "1hykc6k3kkjzz0x16i6ijcavsxfc003sp7fwvg2v9pzpmf9rfhhd";
+  buildDepends = [
+    aeson aesonQq caseInsensitive hspec2 httpTypes text transformers
+    wai waiExtra
+  ];
+  testDepends = [
+    aeson caseInsensitive doctest hspec2 hspecMeta httpTypes
+    markdownUnlit scotty text transformers wai waiExtra
+  ];
+  meta = {
+    description = "Experimental Hspec support for testing WAI applications (depends on hspec2!)";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hspec2/default.nix b/pkgs/development/libraries/haskell/hspec2/default.nix
index be49f612aaac..144e327b1798 100644
--- a/pkgs/development/libraries/haskell/hspec2/default.nix
+++ b/pkgs/development/libraries/haskell/hspec2/default.nix
@@ -1,24 +1,22 @@
 { cabal, ansiTerminal, async, deepseq, doctest, filepath, ghcPaths
-, hspecExpectations, hspecMeta, HUnit, ioMemoize, QuickCheck
-, quickcheckIo, random, setenv, silently, tfRandom, time
-, transformers
+, hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
+, random, setenv, silently, tfRandom, time, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "hspec2";
-  version = "0.3.0";
-  sha256 = "0ia19jraz2di31c48lh0kswkb2573jxm7msf33i8d5a5yq8y9wwp";
+  version = "0.3.4";
+  sha256 = "0vs5y1cqprixmmjdk3sdrig9gr1k63nvn4c91b3z66jj39rdxl21";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     ansiTerminal async deepseq filepath hspecExpectations HUnit
-    ioMemoize QuickCheck quickcheckIo random setenv tfRandom time
-    transformers
+    QuickCheck quickcheckIo random setenv tfRandom time transformers
   ];
   testDepends = [
     ansiTerminal async deepseq doctest filepath ghcPaths
-    hspecExpectations hspecMeta HUnit ioMemoize QuickCheck quickcheckIo
-    random setenv silently tfRandom time transformers
+    hspecExpectations hspecMeta HUnit QuickCheck quickcheckIo random
+    setenv silently tfRandom time transformers
   ];
   meta = {
     homepage = "http://hspec.github.io/";
diff --git a/pkgs/development/libraries/haskell/http-client/default.nix b/pkgs/development/libraries/haskell/http-client/default.nix
index b447d9a1f11c..be261bf60272 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.3.3";
-  sha256 = "001nmy6f57l2f7gc4mchz1gwam28qldkwmcxzs8jnqwczcirgk38";
+  version = "0.3.3.1";
+  sha256 = "0zzh4vr563f8rb51b64gcwmal7gswif8ndsf2x5kw6f7q55md0dw";
   buildDepends = [
     base64Bytestring blazeBuilder caseInsensitive cookie
     dataDefaultClass deepseq exceptions filepath httpTypes mimeTypes
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index fc6762c877e9..918993e6be8c 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -2,13 +2,13 @@
 , connection, cookie, dataDefaultClass, hspec, httpClient
 , httpClientTls, httpTypes, HUnit, liftedBase, monadControl, mtl
 , network, networkConduit, resourcet, streamingCommons, text, time
-, transformers, utf8String, wai, warp, warpTls
+, transformers, utf8String, wai, waiConduit, warp, warpTls
 }:
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "2.1.2";
-  sha256 = "11g79yfgm2fzcy7gwk9f5np4p6fknsbjkm858v8khb4a1gmbrqvn";
+  version = "2.1.2.1";
+  sha256 = "17bq72qkgn7sh31ad5w7gqf15dlzl027nmx8k7kmm268mf9bz0b5";
   buildDepends = [
     conduit httpClient httpClientTls httpTypes liftedBase monadControl
     mtl resourcet transformers
@@ -17,7 +17,7 @@ cabal.mkDerivation (self: {
     blazeBuilder caseInsensitive conduit conduitExtra connection cookie
     dataDefaultClass hspec httpClient httpTypes HUnit liftedBase
     network networkConduit streamingCommons text time transformers
-    utf8String wai warp warpTls
+    utf8String wai waiConduit warp warpTls
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
index ec34cc98d744..170d15aa7077 100644
--- a/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
+++ b/pkgs/development/libraries/haskell/http-reverse-proxy/default.nix
@@ -7,13 +7,13 @@
 
 cabal.mkDerivation (self: {
   pname = "http-reverse-proxy";
-  version = "0.3.1.7";
-  sha256 = "0fhndk9zjv1kcqgrhj42brfg96p7flrcpy609asba1vc0i9213j4";
+  version = "0.4.0.1";
+  sha256 = "0gygmykxsy6rs3xmwb24s5c3brmabdgxb1w0ak82vyvfvsnqxz1h";
   buildDepends = [
     async blazeBuilder caseInsensitive conduit conduitExtra
     dataDefaultClass httpClient httpTypes liftedBase monadControl
-    network networkConduit resourcet streamingCommons text transformers
-    wai waiLogger word8
+    network resourcet streamingCommons text transformers wai waiLogger
+    word8
   ];
   testDepends = [
     blazeBuilder conduit conduitExtra hspec httpConduit httpTypes
diff --git a/pkgs/development/libraries/haskell/io-memoize/default.nix b/pkgs/development/libraries/haskell/io-memoize/default.nix
index bba2cd3b1e0f..3343ee9cbe9d 100644
--- a/pkgs/development/libraries/haskell/io-memoize/default.nix
+++ b/pkgs/development/libraries/haskell/io-memoize/default.nix
@@ -1,10 +1,10 @@
-{ cabal, spawn }:
+{ cabal, async }:
 
 cabal.mkDerivation (self: {
   pname = "io-memoize";
-  version = "1.0.0.0";
-  sha256 = "1z6aimyg7wasaqmacpch7skfm9iyl7khd54lfmb8iwghyfvah5d0";
-  buildDepends = [ spawn ];
+  version = "1.1.0.0";
+  sha256 = "1xnrzrvs5c3lrzdxm4hrqbh8chl8sxv2j98b28na73w8b7yv2agm";
+  buildDepends = [ async ];
   meta = {
     description = "Memoize IO actions";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/mongoDB/default.nix b/pkgs/development/libraries/haskell/mongoDB/default.nix
index 448fd3b2f5f7..259a8e2fc2d5 100644
--- a/pkgs/development/libraries/haskell/mongoDB/default.nix
+++ b/pkgs/development/libraries/haskell/mongoDB/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "mongoDB";
-  version = "1.4.4";
-  sha256 = "11v0k2i0ix67zwm19w1215dslnnqllkc4jlhbs5yva2ix4z7d4gh";
+  version = "1.5.0";
+  sha256 = "0dvy8pa79c26hcngds6nnwnayrhsyz1flj18m9bcyrcvwb5q3dd6";
   buildDepends = [
     binary bson cryptohash hashtables liftedBase monadControl mtl
     network parsec random randomShuffle text transformersBase
diff --git a/pkgs/development/libraries/haskell/non-negative/default.nix b/pkgs/development/libraries/haskell/non-negative/default.nix
index a50710791dbc..ae025f6cc64e 100644
--- a/pkgs/development/libraries/haskell/non-negative/default.nix
+++ b/pkgs/development/libraries/haskell/non-negative/default.nix
@@ -2,11 +2,10 @@
 
 cabal.mkDerivation (self: {
   pname = "non-negative";
-  version = "0.1";
-  sha256 = "0aebb6f5518191a02b11230798444997a03b84d63d2aaa6c38cac6718f6c351c";
-  isLibrary = true;
-  isExecutable = true;
+  version = "0.1.1";
+  sha256 = "163g3j3xrx1jkrbg2wnha3yyxyg1mn7kabmbpg82y3rbl3ihy1p7";
   buildDepends = [ QuickCheck utilityHt ];
+  testDepends = [ QuickCheck utilityHt ];
   meta = {
     homepage = "http://code.haskell.org/~thielema/non-negative/";
     description = "Non-negative numbers";
diff --git a/pkgs/development/libraries/haskell/pipes-text/default.nix b/pkgs/development/libraries/haskell/pipes-text/default.nix
index ac4a57348feb..7156b8897893 100644
--- a/pkgs/development/libraries/haskell/pipes-text/default.nix
+++ b/pkgs/development/libraries/haskell/pipes-text/default.nix
@@ -1,14 +1,14 @@
 { cabal, pipes, pipesBytestring, pipesGroup, pipesParse, pipesSafe
-, profunctors, text, textStreamDecode, transformers
+, profunctors, streamingCommons, text, transformers
 }:
 
 cabal.mkDerivation (self: {
   pname = "pipes-text";
-  version = "0.0.0.10";
-  sha256 = "05lrxfy6cma7g5h41c74sc22p1y38kzbmiagr3grxk5a5110vhr1";
+  version = "0.0.0.11";
+  sha256 = "0c56gxm17bapdjgbp2f55z3f6vq8ryvsljqp3bcjjj18xv5pf1ls";
   buildDepends = [
     pipes pipesBytestring pipesGroup pipesParse pipesSafe profunctors
-    text textStreamDecode transformers
+    streamingCommons text transformers
   ];
   meta = {
     homepage = "https://github.com/michaelt/text-pipes";
diff --git a/pkgs/development/libraries/haskell/purescript/default.nix b/pkgs/development/libraries/haskell/purescript/default.nix
index 8e23a0cf8f28..4109fc89a2c8 100644
--- a/pkgs/development/libraries/haskell/purescript/default.nix
+++ b/pkgs/development/libraries/haskell/purescript/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "purescript";
-  version = "0.5.2.2";
-  sha256 = "07gkd897qcgn7yf81bii5njkiq1hlhfz5jx3spdlv64a492grmg2";
+  version = "0.5.2.3";
+  sha256 = "09z56gb3k1ya5c3yznm49sgd1g9i5wvn5ih4mycf5ys2wvy3v9sl";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix
index 601ecfb223d4..398d3a1dfb85 100644
--- a/pkgs/development/libraries/haskell/scotty/default.nix
+++ b/pkgs/development/libraries/haskell/scotty/default.nix
@@ -1,16 +1,17 @@
-{ cabal, aeson, blazeBuilder, caseInsensitive, conduit
-, conduitExtra, dataDefault, httpTypes, mtl, regexCompat, text
-, transformers, wai, waiExtra, warp
+{ cabal, aeson, blazeBuilder, caseInsensitive, conduit, dataDefault
+, hspec, httpTypes, mtl, regexCompat, text, transformers, wai
+, waiExtra, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "scotty";
-  version = "0.7.3";
-  sha256 = "1cksnsaghcliwpbigs7fjb2qcxsnrqmjcjwndmf3vbfkn43w2prb";
+  version = "0.8.0";
+  sha256 = "07198m8rsavdqr51abxsrmi8jail6h4ldzrr9s47il1djjba6lhh";
   buildDepends = [
-    aeson blazeBuilder caseInsensitive conduit conduitExtra dataDefault
-    httpTypes mtl regexCompat text transformers wai waiExtra warp
+    aeson blazeBuilder caseInsensitive conduit dataDefault httpTypes
+    mtl regexCompat text transformers wai waiExtra warp
   ];
+  testDepends = [ hspec httpTypes wai waiExtra ];
   jailbreak = true;
   meta = {
     homepage = "https://github.com/scotty-web/scotty";
diff --git a/pkgs/development/libraries/haskell/snaplet-redis/default.nix b/pkgs/development/libraries/haskell/snaplet-redis/default.nix
new file mode 100644
index 000000000000..83a82ac80ce1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/snaplet-redis/default.nix
@@ -0,0 +1,19 @@
+{ cabal, configurator, hedis, lens, mtl, network, snap
+, transformers
+}:
+
+cabal.mkDerivation (self: {
+  pname = "snaplet-redis";
+  version = "0.1.3.1";
+  sha256 = "1aprz9rxs01a86vfr8s7mjydafdfljg89grl7i43vmsw927izc6k";
+  buildDepends = [
+    configurator hedis lens mtl network snap transformers
+  ];
+  meta = {
+    homepage = "https://github.com/dzhus/snaplet-redis/";
+    description = "Redis support for Snap Framework";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+  jailbreak = true;
+})
diff --git a/pkgs/development/libraries/haskell/wai-app-static/default.nix b/pkgs/development/libraries/haskell/wai-app-static/default.nix
index 45dd5562a28b..093fbb76f84d 100644
--- a/pkgs/development/libraries/haskell/wai-app-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-app-static/default.nix
@@ -3,13 +3,13 @@
 , hspec, httpDate, httpTypes, mimeTypes, network
 , optparseApplicative, systemFileio, systemFilepath, text, time
 , transformers, unixCompat, unorderedContainers, wai, waiExtra
-, waiTest, warp, zlib
+, warp, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-app-static";
-  version = "2.0.1";
-  sha256 = "1mygyp70rmhnkc0s8626cxrkvcbil92v4gnx70iz26gfb5q9lc7d";
+  version = "3.0.0";
+  sha256 = "117r2ps440i2i156k50b674fkny2ywwbbla6ry0km041604cl733";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
@@ -20,7 +20,7 @@ cabal.mkDerivation (self: {
   ];
   testDepends = [
     hspec httpDate httpTypes mimeTypes network text time transformers
-    unixCompat wai waiTest zlib
+    unixCompat wai waiExtra zlib
   ];
   meta = {
     homepage = "http://www.yesodweb.com/book/web-application-interface";
diff --git a/pkgs/development/libraries/haskell/wai-conduit/default.nix b/pkgs/development/libraries/haskell/wai-conduit/default.nix
new file mode 100644
index 000000000000..10517e13d9c5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/wai-conduit/default.nix
@@ -0,0 +1,14 @@
+{ cabal, blazeBuilder, conduit, httpTypes, transformers, wai }:
+
+cabal.mkDerivation (self: {
+  pname = "wai-conduit";
+  version = "3.0.0";
+  sha256 = "0v92jyxkigq7yj3hzy7kg360036nav986ny7b558l6j7zc90jsdg";
+  buildDepends = [ blazeBuilder conduit httpTypes transformers wai ];
+  meta = {
+    homepage = "https://github.com/yesodweb/wai";
+    description = "conduit wrappers for WAI";
+    license = self.stdenv.lib.licenses.mit;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/wai-extra/default.nix b/pkgs/development/libraries/haskell/wai-extra/default.nix
index 66d45f059129..d54e8351d4fd 100644
--- a/pkgs/development/libraries/haskell/wai-extra/default.nix
+++ b/pkgs/development/libraries/haskell/wai-extra/default.nix
@@ -1,24 +1,23 @@
 { cabal, ansiTerminal, base64Bytestring, blazeBuilder
-, blazeBuilderConduit, caseInsensitive, conduit, conduitExtra
-, dataDefault, fastLogger, hspec, httpTypes, HUnit, liftedBase
-, network, resourcet, stringsearch, text, time, transformers, void
-, wai, waiLogger, waiTest, word8, zlib, zlibBindings, zlibConduit
+, caseInsensitive, dataDefault, dataDefaultClass, deepseq
+, fastLogger, hspec, httpTypes, HUnit, liftedBase, network
+, resourcet, streamingCommons, stringsearch, text, time
+, transformers, void, wai, waiLogger, word8, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-extra";
-  version = "2.1.1.2";
-  sha256 = "000ksma1jmi7rfg2ib94baj31mcwqj2xfhkyv7lai89di0m0v6s4";
+  version = "3.0.0";
+  sha256 = "0spjyimqfj7hx8zgmal4laqy8p1inj8hl2402b5s6zqdn36lldfs";
   buildDepends = [
-    ansiTerminal base64Bytestring blazeBuilder blazeBuilderConduit
-    caseInsensitive conduit conduitExtra dataDefault fastLogger
-    httpTypes liftedBase network resourcet stringsearch text time
-    transformers void wai waiLogger word8 zlibConduit
+    ansiTerminal base64Bytestring blazeBuilder caseInsensitive
+    dataDefaultClass deepseq fastLogger httpTypes liftedBase network
+    resourcet streamingCommons stringsearch text time transformers void
+    wai waiLogger word8
   ];
   testDepends = [
-    blazeBuilder conduit conduitExtra dataDefault fastLogger hspec
-    httpTypes HUnit resourcet text transformers wai waiTest zlib
-    zlibBindings
+    blazeBuilder dataDefault fastLogger hspec httpTypes HUnit resourcet
+    text transformers wai zlib
   ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix
index 9767f2d7750d..7ecc3a347585 100644
--- a/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix
+++ b/pkgs/development/libraries/haskell/wai-handler-fastcgi/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-handler-fastcgi";
-  version = "2.0.0.1";
-  sha256 = "14jsibsqfj6z5yqgdrh43aiqps1yldxkgn6fkj4i80zxk099nbxp";
+  version = "3.0.0";
+  sha256 = "1cvy95qmbrhc1yjcral7f8y2929xp623abc9xasz7j28m4wwmynh";
   buildDepends = [ wai waiExtra ];
   extraLibraries = [ fcgi ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
index 9d59fd68ed61..d103b54ec6dc 100644
--- a/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
+++ b/pkgs/development/libraries/haskell/wai-handler-launch/default.nix
@@ -1,14 +1,13 @@
-{ cabal, blazeBuilder, blazeBuilderConduit, conduit, conduitExtra
-, httpTypes, transformers, wai, warp, zlibConduit
+{ cabal, blazeBuilder, httpTypes, streamingCommons, transformers
+, wai, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-handler-launch";
-  version = "2.0.1.3";
-  sha256 = "06im28x26jbzbdk9xz33kqvzblglk3b3b60qwal836hima69alsd";
+  version = "3.0.0";
+  sha256 = "1dv7w151szjkg9968v870abz11a440pdzy50zwm0xl6blk392nmk";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit conduit conduitExtra httpTypes
-    transformers wai warp zlibConduit
+    blazeBuilder httpTypes streamingCommons transformers wai warp
   ];
   meta = {
     description = "Launch a web app in the default browser";
diff --git a/pkgs/development/libraries/haskell/wai-logger/default.nix b/pkgs/development/libraries/haskell/wai-logger/default.nix
index dc00b9525eb8..35b044bdfb48 100644
--- a/pkgs/development/libraries/haskell/wai-logger/default.nix
+++ b/pkgs/development/libraries/haskell/wai-logger/default.nix
@@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
     unixTime wai
   ];
   testDepends = [ doctest waiTest ];
+  doCheck = false;
   meta = {
     description = "A logging system for WAI";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
index 18b251a8aedb..9ca7992db686 100644
--- a/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
+++ b/pkgs/development/libraries/haskell/wai-middleware-static/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "wai-middleware-static";
-  version = "0.5.0.1";
-  sha256 = "1pwyy6lsvi7kaxf6x3ghy5013yq4ryjp01c4rrd4isx4jh1ynl31";
+  version = "0.6.0";
+  sha256 = "1rsy8qkxcjqdpzqkar0smyy49p8vqapi47k8d24101lz3rym6018";
   buildDepends = [ filepath httpTypes mtl text wai ];
   jailbreak = true;
   meta = {
diff --git a/pkgs/development/libraries/haskell/wai-test/default.nix b/pkgs/development/libraries/haskell/wai-test/default.nix
index b15aa1070ba5..5d1cecc2e508 100644
--- a/pkgs/development/libraries/haskell/wai-test/default.nix
+++ b/pkgs/development/libraries/haskell/wai-test/default.nix
@@ -1,20 +1,14 @@
-{ cabal, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, conduitExtra, cookie, deepseq, hspec, httpTypes, network
-, text, transformers, wai
-}:
+{ cabal, wai }:
 
 cabal.mkDerivation (self: {
   pname = "wai-test";
-  version = "2.0.1.3";
-  sha256 = "18j77l2n41941f95awj6fj0w712628v5lsc3bif00cqnaixjmz48";
-  buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit
-    conduitExtra cookie deepseq httpTypes network text transformers wai
-  ];
-  testDepends = [ hspec wai ];
+  version = "3.0.0";
+  sha256 = "0xys01jniib0pnhadcm7s0v5z0wcxfgi0bf5ax808zm9qzvl3xfx";
+  buildDepends = [ wai ];
+  noHaddock = true;
   meta = {
     homepage = "http://www.yesodweb.com/book/web-application-interface";
-    description = "Unit test framework (built on HUnit) for WAI applications";
+    description = "Unit test framework (built on HUnit) for WAI applications. (deprecated)";
     license = self.stdenv.lib.licenses.mit;
     platforms = self.ghc.meta.platforms;
   };
diff --git a/pkgs/development/libraries/haskell/wai-websockets/default.nix b/pkgs/development/libraries/haskell/wai-websockets/default.nix
index 5d909c7d773c..d0973881657f 100644
--- a/pkgs/development/libraries/haskell/wai-websockets/default.nix
+++ b/pkgs/development/libraries/haskell/wai-websockets/default.nix
@@ -1,17 +1,17 @@
-{ cabal, blazeBuilder, caseInsensitive, conduit, fileEmbed
-, httpTypes, ioStreams, network, text, transformers, wai
-, waiAppStatic, warp, websockets
+{ cabal, blazeBuilder, caseInsensitive, fileEmbed, httpTypes
+, ioStreams, network, text, transformers, wai, waiAppStatic, warp
+, websockets
 }:
 
 cabal.mkDerivation (self: {
   pname = "wai-websockets";
-  version = "2.1.0.2";
-  sha256 = "16hff38x6fpmp4r1wkjd922s02v5na8zwy6mq5f5gsj7b70n2ww2";
+  version = "3.0.0";
+  sha256 = "0bpzkh9a5j0a282z4dj9dqnjsgd0g8gyvvp0xm0a53582zfhfi5s";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
-    blazeBuilder caseInsensitive conduit fileEmbed httpTypes ioStreams
-    network text transformers wai waiAppStatic warp websockets
+    blazeBuilder caseInsensitive fileEmbed httpTypes ioStreams network
+    text transformers wai waiAppStatic warp websockets
   ];
   meta = {
     homepage = "http://github.com/yesodweb/wai";
diff --git a/pkgs/development/libraries/haskell/wai/default.nix b/pkgs/development/libraries/haskell/wai/default.nix
index 540df207241d..50ded58f44d8 100644
--- a/pkgs/development/libraries/haskell/wai/default.nix
+++ b/pkgs/development/libraries/haskell/wai/default.nix
@@ -1,15 +1,11 @@
-{ cabal, blazeBuilder, conduit, conduitExtra, httpTypes, network
-, text, transformers, vault
-}:
+{ cabal, blazeBuilder, hspec, httpTypes, network, text, vault }:
 
 cabal.mkDerivation (self: {
   pname = "wai";
-  version = "2.1.0.3";
-  sha256 = "0qprvk63fvb4rddg9h385xbd5sr5bcgkpx6fqlw01pjzmmrig1m3";
-  buildDepends = [
-    blazeBuilder conduit conduitExtra httpTypes network text
-    transformers vault
-  ];
+  version = "3.0.0.1";
+  sha256 = "1f8alq4lygjdb4pzb7xm6jml3dviygk18siwfwb751va3j2fmi0v";
+  buildDepends = [ blazeBuilder httpTypes network text vault ];
+  testDepends = [ blazeBuilder hspec ];
   meta = {
     homepage = "https://github.com/yesodweb/wai";
     description = "Web Application Interface";
diff --git a/pkgs/development/libraries/haskell/warp-tls/default.nix b/pkgs/development/libraries/haskell/warp-tls/default.nix
index e9e7ae393808..ca20fe2d6bfc 100644
--- a/pkgs/development/libraries/haskell/warp-tls/default.nix
+++ b/pkgs/development/libraries/haskell/warp-tls/default.nix
@@ -1,15 +1,13 @@
-{ cabal, conduit, conduitExtra, cprngAes, dataDefaultClass, network
-, networkConduit, resourcet, streamingCommons, tls, transformers
+{ cabal, cprngAes, dataDefaultClass, network, streamingCommons, tls
 , wai, warp
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp-tls";
-  version = "2.0.5";
-  sha256 = "11nc5drys75mjfqww87rs2clhxpx485q008y42f2ymj7s5856db4";
+  version = "3.0.0";
+  sha256 = "14gm43a811v9h87ia2b9y9kynafrvq3yw89gswlj832469jx9sfw";
   buildDepends = [
-    conduit conduitExtra cprngAes dataDefaultClass network
-    networkConduit resourcet streamingCommons tls transformers wai warp
+    cprngAes dataDefaultClass network streamingCommons tls 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 be5dd392d16f..d0940345a576 100644
--- a/pkgs/development/libraries/haskell/warp/default.nix
+++ b/pkgs/development/libraries/haskell/warp/default.nix
@@ -1,25 +1,22 @@
-{ cabal, async, blazeBuilder, blazeBuilderConduit, caseInsensitive
-, conduit, conduitExtra, doctest, hashable, hspec, HTTP, httpDate
-, httpTypes, HUnit, liftedBase, network, networkConduit, QuickCheck
-, simpleSendfile, streamingCommons, text, time, transformers
-, unixCompat, void, wai
+{ cabal, async, blazeBuilder, caseInsensitive, doctest, hashable
+, hspec, HTTP, httpDate, httpTypes, HUnit, liftedBase, network
+, QuickCheck, simpleSendfile, streamingCommons, text, time
+, transformers, unixCompat, void, wai
 }:
 
 cabal.mkDerivation (self: {
   pname = "warp";
-  version = "2.1.5.2";
-  sha256 = "0rv5fxw1d5dh6jzvs3bg2vjjr702xw59fx7mflygpqh8zivfh4ds";
+  version = "3.0.0.1";
+  sha256 = "05x216fj7s1i963xipi0p7vmkz5l0nma1fjqiq040fg3rngw4yqb";
   buildDepends = [
-    blazeBuilder blazeBuilderConduit caseInsensitive conduit
-    conduitExtra hashable httpDate httpTypes liftedBase network
-    networkConduit simpleSendfile streamingCommons text transformers
-    unixCompat void wai
+    blazeBuilder caseInsensitive hashable httpDate httpTypes network
+    simpleSendfile streamingCommons text unixCompat void wai
   ];
   testDepends = [
-    async blazeBuilder blazeBuilderConduit caseInsensitive conduit
-    conduitExtra doctest hashable hspec HTTP httpDate httpTypes HUnit
-    liftedBase network networkConduit QuickCheck simpleSendfile
-    streamingCommons text time transformers unixCompat void wai
+    async blazeBuilder caseInsensitive doctest hashable hspec HTTP
+    httpDate httpTypes HUnit liftedBase network QuickCheck
+    simpleSendfile streamingCommons text time transformers unixCompat
+    void wai
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/websockets/default.nix b/pkgs/development/libraries/haskell/websockets/default.nix
index 9e22d0cab185..e712a5b2b815 100644
--- a/pkgs/development/libraries/haskell/websockets/default.nix
+++ b/pkgs/development/libraries/haskell/websockets/default.nix
@@ -6,8 +6,8 @@
 
 cabal.mkDerivation (self: {
   pname = "websockets";
-  version = "0.8.2.3";
-  sha256 = "0j4lm5hkipd4q6kizrjy1cjdw2b0588m4k6fh50ss5qnqw9rkjkd";
+  version = "0.8.2.4";
+  sha256 = "09mq04vhi53isj8z5930ibyai7bv634lnmhl4xl2d3fzz2afvff0";
   buildDepends = [
     attoparsec base64Bytestring binary blazeBuilder caseInsensitive
     entropy ioStreams mtl network random SHA text
diff --git a/pkgs/development/libraries/haskell/yesod-bin/default.nix b/pkgs/development/libraries/haskell/yesod-bin/default.nix
index 3bca09f4fb6b..145df1e625fe 100644
--- a/pkgs/development/libraries/haskell/yesod-bin/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-bin/default.nix
@@ -10,8 +10,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-bin";
-  version = "1.2.9.4";
-  sha256 = "0ir77hmg3avkm4x7pgmjx3fijisncpwklg4v1glqx4vqbjjrzk5g";
+  version = "1.2.10.2";
+  sha256 = "18faylxjrd790xv6zr77wikkcy99l7824bb1sq1y225kd7a3alsm";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index ae63f4dbc16b..7ea674aa0d9d 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -11,8 +11,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.2.15.2";
-  sha256 = "1k5dqcfpwqac81p9w2i1kz5pcvr21ibia5kh441811bdzlpwsiwq";
+  version = "1.2.16.1";
+  sha256 = "1wr5labhp3wc23ki2wvaypanm54qw9vz3v77rxyj1za1y2n1cprw";
   buildDepends = [
     aeson attoparsecConduit blazeBuilder blazeHtml blazeMarkup
     caseInsensitive cereal clientsession conduit conduitExtra cookie
@@ -26,7 +26,7 @@ cabal.mkDerivation (self: {
     async blazeBuilder conduit conduitExtra hamlet hspec httpTypes
     HUnit liftedBase network networkConduit QuickCheck random resourcet
     shakespeare shakespeareCss shakespeareJs streamingCommons text
-    transformers wai waiTest
+    transformers wai waiExtra 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 add7d94bac42..4309df0e4c4e 100644
--- a/pkgs/development/libraries/haskell/yesod-form/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-form/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-form";
-  version = "1.3.9.1";
-  sha256 = "1iw2vcdvp77vz3az9g9y4nk29g098fa9lvqzc7hwypvdawgwpgwm";
+  version = "1.3.10";
+  sha256 = "1qq0r5phb6xygz4w5ysir3ky7bw0rmd1q4vz57dz1aza2pchb1ih";
   buildDepends = [
     aeson attoparsec blazeBuilder blazeHtml blazeMarkup byteable
     dataDefault emailValidate hamlet network persistent resourcet
diff --git a/pkgs/development/libraries/haskell/yesod-persistent/default.nix b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
index 432adeee9af8..f5189caa46fb 100644
--- a/pkgs/development/libraries/haskell/yesod-persistent/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-persistent/default.nix
@@ -1,19 +1,19 @@
 { cabal, blazeBuilder, conduit, hspec, persistent, persistentSqlite
 , persistentTemplate, resourcePool, resourcet, text, transformers
-, waiTest, yesodCore
+, waiExtra, waiTest, yesodCore
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-persistent";
-  version = "1.2.2.3";
-  sha256 = "1699grrxb1qwfiivh9ihnczkcbwl4gcqdk7m02lc09r9gjr920p8";
+  version = "1.2.3";
+  sha256 = "1kdspz6y32r8kl0qk89hgwi4n6dnxch7wriv829cnwqm0bzjfdpw";
   buildDepends = [
     blazeBuilder conduit persistent persistentTemplate resourcePool
     resourcet transformers yesodCore
   ];
   testDepends = [
-    blazeBuilder conduit hspec persistent persistentSqlite text waiTest
-    yesodCore
+    blazeBuilder conduit hspec persistent persistentSqlite text
+    waiExtra waiTest yesodCore
   ];
   meta = {
     homepage = "http://www.yesodweb.com/";
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index b6763871c40f..d5a0c1c4c7d4 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -3,14 +3,14 @@
 , cssText, dataDefault, fileEmbed, filepath, hashable, hjsmin
 , hspec, httpTypes, HUnit, mimeTypes, resourcet, shakespeareCss
 , systemFileio, systemFilepath, text, transformers, unixCompat
-, unorderedContainers, wai, waiAppStatic, waiTest, yesodCore
-, yesodTest
+, unorderedContainers, wai, waiAppStatic, waiExtra, waiTest
+, yesodCore, yesodTest
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-static";
-  version = "1.2.3";
-  sha256 = "093lvg7pl71dfnr7qyfmp9r1m3bs64849k0dw4w2qb618y8wb9jh";
+  version = "1.2.4";
+  sha256 = "0r5bz1jmgjd7cmvhkp3ahgl610bssvgxxsvb626dvqz2vqc0061z";
   buildDepends = [
     async attoparsec base64Bytestring blazeBuilder byteable conduit
     conduitExtra cryptohash cryptohashConduit cssText dataDefault
@@ -23,7 +23,7 @@ cabal.mkDerivation (self: {
     cryptohashConduit dataDefault fileEmbed filepath hjsmin hspec
     httpTypes HUnit mimeTypes resourcet shakespeareCss systemFileio
     systemFilepath text transformers unixCompat unorderedContainers wai
-    waiAppStatic waiTest yesodCore yesodTest
+    waiAppStatic waiExtra waiTest yesodCore yesodTest
   ];
   doCheck = false;
   meta = {
diff --git a/pkgs/development/libraries/haskell/yesod-test/default.nix b/pkgs/development/libraries/haskell/yesod-test/default.nix
index 292941c01717..44b147586236 100644
--- a/pkgs/development/libraries/haskell/yesod-test/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-test/default.nix
@@ -1,18 +1,18 @@
 { cabal, attoparsec, blazeBuilder, blazeHtml, blazeMarkup
 , caseInsensitive, cookie, hspec, htmlConduit, httpTypes, HUnit
 , monadControl, network, persistent, text, time, transformers, wai
-, waiTest, xmlConduit, xmlTypes, yesodCore, yesodForm
+, waiExtra, waiTest, xmlConduit, xmlTypes, yesodCore, yesodForm
 }:
 
 cabal.mkDerivation (self: {
   pname = "yesod-test";
-  version = "1.2.2";
-  sha256 = "1vf5g83mj2a38f34llg6wa63whj13p0vgbzfvi3ic5j7qy5gb8g5";
+  version = "1.2.3";
+  sha256 = "082zi53q1pw9xv4l6ld1y3xxnvq3iwgbrdnxjknhwsxph7glkn3p";
   buildDepends = [
     attoparsec blazeBuilder blazeHtml blazeMarkup caseInsensitive
     cookie hspec htmlConduit httpTypes HUnit monadControl network
-    persistent text time transformers wai waiTest xmlConduit xmlTypes
-    yesodCore
+    persistent text time transformers wai waiExtra waiTest xmlConduit
+    xmlTypes yesodCore
   ];
   testDepends = [
     hspec htmlConduit HUnit text wai xmlConduit yesodCore yesodForm
diff --git a/pkgs/development/libraries/haskell/yesod/default.nix b/pkgs/development/libraries/haskell/yesod/default.nix
index 630b04af26b9..8e3873df2ae6 100644
--- a/pkgs/development/libraries/haskell/yesod/default.nix
+++ b/pkgs/development/libraries/haskell/yesod/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod";
-  version = "1.2.5.3";
-  sha256 = "1w9bbvinnbnhrajjqj6yhy9dgggdf6n98x04dys45anssiwrd2ss";
+  version = "1.2.6";
+  sha256 = "0rw46zznczdzg2wvbgp5kpq3yrl6w40vbbs7zyvqpcf6m82jsfz0";
   buildDepends = [
     aeson blazeHtml blazeMarkup conduitExtra dataDefault fastLogger
     hamlet monadControl monadLogger networkConduit safe shakespeare
diff --git a/pkgs/development/libraries/libmodbus/default.nix b/pkgs/development/libraries/libmodbus/default.nix
new file mode 100644
index 000000000000..f6a816ef96f6
--- /dev/null
+++ b/pkgs/development/libraries/libmodbus/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libmodbus-3.0.6";
+
+  src = fetchurl {
+    url = "http://libmodbus.org/releases/${name}.tar.gz";
+    sha256 = "1dkijjv3dq0c5vc5z5f1awm8dlssbwg6ivsnvih22pkm1zqn6v84";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Library to send/receive data according to the Modbus protocol";
+    homepage = http://libmodbus.org/;
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix
index 26dc6be8382c..ab9dbd48ea4e 100644
--- a/pkgs/development/libraries/libmsgpack/default.nix
+++ b/pkgs/development/libraries/libmsgpack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, ruby }:
+{ stdenv, fetchurl, autoconf, automake, libtool, ruby, scatterOutputHook }:
 
 stdenv.mkDerivation rec {
   version = "0.5.8";
@@ -9,17 +9,18 @@ stdenv.mkDerivation rec {
     sha256 = "1h6k9kdbfavmw3by5kk3raszwa64hn9k8yw9rdhvl5m8g2lks89k";
   };
 
+  nativeBuildInputs = [ scatterOutputHook ];
   buildInputs = [ autoconf automake libtool ruby ];
 
-  outputs = [ "out" "lib" ];
+  outputs = [ "out" "bin" ];
 
-  preConfigure = "./bootstrap";
-
-  postInstall = ''
-    mkdir -p $lib/lib
-    mv $out/lib/*.so.* $lib/lib/
+  preConfigure = ''
+    sed -i s,glibtoolize,libtoolize, ./bootstrap
+    ./bootstrap
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "MessagePack implementation for C and C++";
     homepage = http://msgpack.org;
diff --git a/pkgs/development/libraries/liboping/default.nix b/pkgs/development/libraries/liboping/default.nix
new file mode 100644
index 000000000000..b48b9c0585bd
--- /dev/null
+++ b/pkgs/development/libraries/liboping/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, ncurses ? null, perl ? null }:
+
+stdenv.mkDerivation rec {
+  name = "liboping-1.6.2";
+
+  src = fetchurl {
+    url = "http://verplant.org/liboping/files/${name}.tar.bz2";
+    sha256 = "1kvkpdcd5jinyc15cgir48v91qphpw22c03inydaga5m4yqv8jjz";
+  };
+
+  buildInputs = [ ncurses perl ];
+
+  configureFlags = stdenv.lib.optionalString (perl == null) "--with-perl-bindings=no";
+
+  meta = with stdenv.lib; {
+    description = "C library to generate ICMP echo requests (a.k.a. ping packets)";
+    longDescription = ''
+      liboping is a C library to generate ICMP echo requests, better known as
+      "ping packets". It is intended for use in network monitoring applications
+      or applications that would otherwise need to fork ping(1) frequently.
+      Included is a sample application, called oping, which demonstrates the
+      library's abilities.
+    '';
+    homepage = http://verplant.org/liboping/;
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index c69d787b0860..4027bd8a84e0 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -4,14 +4,14 @@
 , dnsmasq, libnl
 }:
 
-let version = "1.2.4"; in
+let version = "1.2.5"; in
 
 stdenv.mkDerivation rec {
   name = "libvirt-${version}";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/${name}.tar.gz";
-    sha256 = "0xg8m7x4a3dqrg2b9pqcikaghdp6jyl07gkp2z8grsmsnbvcafp4";
+    sha256 = "0igd74wkksgv24i2xaa8wx51iqpgjp1v7820pk93m0jv8gipvscf";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libxmp/default.nix b/pkgs/development/libraries/libxmp/default.nix
new file mode 100644
index 000000000000..7b4d3d6287aa
--- /dev/null
+++ b/pkgs/development/libraries/libxmp/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libxmp-4.2.7";
+
+  meta = with stdenv.lib; {
+    description = "Extended module player library";
+    homepage    = "http://xmp.sourceforge.net/";
+    longDescription = ''
+      Libxmp is a library that renders module files to PCM data. It supports
+      over 90 mainstream and obscure module formats including Protracker (MOD),
+      Scream Tracker 3 (S3M), Fast Tracker II (XM), and Impulse Tracker (IT).
+    '';
+    license     = licenses.lgpl21Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ iyzsong ];
+  };
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xmp/libxmp/${name}.tar.gz";
+    sha256 = "1isv8498869w8wc18lagi1p40z4blx684r21j9cligkfyrmri536";
+  };
+}
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index f6848ae58602..0355ce25c62c 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl }:
 
-let version = "4.10.5"; in
+let version = "4.10.6"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha1 = "891de2b62ad42f9b38808a0aa58c95e8cbd5c9a9";
+    sha1 = "3hzcslcfql1rg7drvcn4nmrigy7jfgwz";
   };
 
   preConfigure = "cd nspr";
diff --git a/pkgs/development/python-modules/generic/default.nix b/pkgs/development/python-modules/generic/default.nix
index 59b18d772cf4..75fb974e7355 100644
--- a/pkgs/development/python-modules/generic/default.nix
+++ b/pkgs/development/python-modules/generic/default.nix
@@ -156,12 +156,14 @@ python.stdenv.mkDerivation (attrs // {
     '';
 
   shellHook = attrs.shellHook or ''
-    mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages
-    ${preShellHook}
-    export PATH="/tmp/$name/bin:$PATH"
-    export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-    python setup.py develop --prefix /tmp/$name
-    ${postShellHook}
+    if test -e setup.py; then
+       mkdir -p /tmp/$name/lib/${python.libPrefix}/site-packages
+       ${preShellHook}
+       export PATH="/tmp/$name/bin:$PATH"
+       export PYTHONPATH="/tmp/$name/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
+       ${python}/bin/${python.executable} setup.py develop --prefix /tmp/$name
+       ${postShellHook}
+    fi
   '';
 
   meta = with lib.maintainers; {
diff --git a/pkgs/development/tools/haskell/cabal-bounds/default.nix b/pkgs/development/tools/haskell/cabal-bounds/default.nix
index 5de7645a5e45..ee1fc152f803 100644
--- a/pkgs/development/tools/haskell/cabal-bounds/default.nix
+++ b/pkgs/development/tools/haskell/cabal-bounds/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cabal-bounds";
-  version = "0.5";
-  sha256 = "0sx6vyf3p62khg7qv7nwgd8fns6dsfpw34gpl7zmb6n0c1kjj60b";
+  version = "0.6";
+  sha256 = "0dl8rf8y365a20yz5kk1c9y860k5mkg1jp5dipvbf451h7a7h9w5";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/haskell/cabal2nix/default.nix b/pkgs/development/tools/haskell/cabal2nix/default.nix
index 7ad20ee066b2..2201040efe1e 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.61";
-  sha256 = "058bwswkhsj3rbxl42n23ri79smmhkaj6wid4c6x02yl3m8l7xsy";
+  version = "1.63";
+  sha256 = "12frnhm86w5i6rmhghrdngdv658332bh9j5nr04ql439yysvkypj";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [ Cabal filepath hackageDb HTTP mtl regexPosix ];
diff --git a/pkgs/development/tools/haskell/keter/default.nix b/pkgs/development/tools/haskell/keter/default.nix
index 1cffefd6da31..8a5bc8eb7c85 100644
--- a/pkgs/development/tools/haskell/keter/default.nix
+++ b/pkgs/development/tools/haskell/keter/default.nix
@@ -1,21 +1,21 @@
 { cabal, aeson, async, attoparsec, blazeBuilder, caseInsensitive
 , conduit, conduitExtra, dataDefault, filepath, fsnotify, hspec
-, httpConduit, httpReverseProxy, httpTypes, liftedBase, mtl
-, network, networkConduitTls, random, regexTdfa, stm, systemFileio
-, systemFilepath, tar, text, time, transformers, unixCompat
-, unorderedContainers, vector, wai, waiAppStatic, waiExtra, warp
-, warpTls, yaml, zlib
+, httpClient, httpConduit, httpReverseProxy, httpTypes, liftedBase
+, mtl, network, networkConduitTls, random, regexTdfa, stm
+, systemFileio, systemFilepath, tar, text, time, transformers
+, unixCompat, unorderedContainers, vector, wai, waiAppStatic
+, waiExtra, warp, warpTls, yaml, zlib
 }:
 
 cabal.mkDerivation (self: {
   pname = "keter";
-  version = "1.3.0";
-  sha256 = "1fvb93iga4c0kfv29ksrmn9bjznl7wfspg1v9a5d3svwrszl4is3";
+  version = "1.3.1";
+  sha256 = "19isyslrxbp430ira7v2d3r5f1j1526rg7v6lzzyl3dsyfpvxjg6";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
     aeson async attoparsec blazeBuilder caseInsensitive conduit
-    conduitExtra dataDefault filepath fsnotify httpConduit
+    conduitExtra dataDefault filepath fsnotify httpClient httpConduit
     httpReverseProxy httpTypes liftedBase mtl network networkConduitTls
     random regexTdfa stm systemFileio systemFilepath tar text time
     transformers unixCompat unorderedContainers vector wai waiAppStatic
diff --git a/pkgs/development/tools/misc/ShellCheck/default.nix b/pkgs/development/tools/misc/ShellCheck/default.nix
new file mode 100644
index 000000000000..328cba4145f5
--- /dev/null
+++ b/pkgs/development/tools/misc/ShellCheck/default.nix
@@ -0,0 +1,16 @@
+{ cabal, json, mtl, parsec, regexCompat }:
+
+cabal.mkDerivation (self: {
+  pname = "ShellCheck";
+  version = "0.3.3";
+  sha256 = "15lmc7cbi6s852qhd6h9asgz7ss1khfhq7wj4sgblr5mgppldg93";
+  isLibrary = true;
+  isExecutable = true;
+  buildDepends = [ json mtl parsec regexCompat ];
+  meta = {
+    homepage = "http://www.shellcheck.net/";
+    description = "Shell script analysis tool";
+    license = self.stdenv.lib.licenses.agpl3Plus;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/tools/misc/cl-launch/default.nix b/pkgs/development/tools/misc/cl-launch/default.nix
index 14a36470bbab..d66ca9868f57 100644
--- a/pkgs/development/tools/misc/cl-launch/default.nix
+++ b/pkgs/development/tools/misc/cl-launch/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="cl-launch";
-    version="4.0.4";
+    version="4.0.5";
     name="${baseName}-${version}";
-    hash="152m834myhcgi4iacfqn81fznlbqxn7pvdlxvk2lbba09h0slm56";
-    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.4.tar.gz";
-    sha256="152m834myhcgi4iacfqn81fznlbqxn7pvdlxvk2lbba09h0slm56";
+    hash="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj";
+    url="http://common-lisp.net/project/xcvb/cl-launch/cl-launch-4.0.5.tar.gz";
+    sha256="00i11pkwsb9r9cjzxjmj0dsp369i0gpz04f447xss9a9v192dhlj";
   };
   buildInputs = [
   ];
diff --git a/pkgs/games/sauerbraten/default.nix b/pkgs/games/sauerbraten/default.nix
index eb5d933e885d..8f3fb53f7e31 100644
--- a/pkgs/games/sauerbraten/default.nix
+++ b/pkgs/games/sauerbraten/default.nix
@@ -12,10 +12,10 @@ let
     (builtins.attrNames (builtins.removeAttrs x helperArgNames));
   sourceInfo = rec {
     baseName="sauerbraten";
-    version="3331";
+    version="5000";
     name="${baseName}-r${version}";
     url="https://svn.code.sf.net/p/sauerbraten/code";
-    hash="0904hk9rz2x941c9587bfxa4rca81260j3m2hjjrp984w67x2w7y";
+    hash="17libj7dslprlwppdk3vyxdcigbsa4czln8gdyz9j264m11z1cbh";
   };
 in
 rec {
diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix
index 9c51db1ac987..ca72ac506d78 100644
--- a/pkgs/games/scummvm/default.nix
+++ b/pkgs/games/scummvm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, alsaLib }:
 
-stdenv.mkDerivation {
-  name = "scummvm-1.2.1";
+stdenv.mkDerivation rec {
+  name = "scummvm-1.6.0";
   
   src = fetchurl {
-    url = mirror://sourceforge/scummvm/scummvm-1.2.1.tar.bz2;
-    sha256 = "029abzvpz85accwk7x79w255wr83gnkqg3yc5n6ryl28zg00z3j8";
+    url = "mirror://sourceforge/scummvm/${name}.tar.bz2";
+    sha256 = "1i3ywpq8csi58gdibdn51329vlj800l2laaw0lw18fcgdbd60q1r";
   };
   
   buildInputs = [ SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ];
diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix
index b3c68429d6da..0e19d6ab8932 100644
--- a/pkgs/misc/emulators/wine/unstable.nix
+++ b/pkgs/misc/emulators/wine/unstable.nix
@@ -7,12 +7,12 @@ assert stdenv.isLinux;
 assert stdenv.gcc.gcc != null;
 
 let
-    version = "1.7.19";
+    version = "1.7.20";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "1wigncw7xl6ni6kjmhmbzffhf0pav22b50aql93wz7h2r409psn5";
+      sha256 = "05azpxrl7364ckvkwy7aa2p0vb4qhbc6wcn2l8khqb92jq5inhww";
     };
 
     gecko = fetchurl {
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 82f31bf4f984..33bed4213b41 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.21";
+  version = "3.12.22";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1pr4gr48bgxz28h790b2w41b1fc41xffz3drflsnz5736pisrhg7";
+    sha256 = "0c9rw11iihjimqb6mdmwn4q67ds7jg4qibj5ijj5pdmkdqzj7g54";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
new file mode 100644
index 000000000000..7279aa6d4ef8
--- /dev/null
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -0,0 +1,34 @@
+{ config, stdenv, fetchurl, libevent, openssl
+}:
+
+stdenv.mkDerivation rec {
+  name = "nsd-4.0.3";
+
+  src = fetchurl {
+    url = "http://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
+    sha256 = "4bf05f2234e1b41899198aa1070f409201fc3c4980feef6567cd92c7074c4a8b";
+  };
+
+  buildInputs = [ libevent openssl ];
+
+  configureFlags =
+    let flag = state: flags: if state then map (x: "--enable-${x}")  flags
+                                      else map (x: "--disable-${x}") flags;
+     in flag (config.nsd.bind8Stats       or false) [ "bind8-stats" ]
+     ++ flag (config.nsd.checking         or false) [ "checking" ]
+     ++ flag (config.nsd.ipv6             or true)  [ "ipv6" ]
+     ++ flag (config.nsd.mmap             or false) [ "mmap" ]
+     ++ flag (config.nsd.minimalResponses or true)  [ "minimal-responses" ]
+     ++ flag (config.nsd.nsec3            or true)  [ "nsec3" ]
+     ++ flag (config.nsd.ratelimit        or false) [ "ratelimit" ]
+     ++ flag (config.nsd.recvmmsg         or false) [ "recvmmsg" ]
+     ++ flag (config.nsd.rootServer       or false) [ "root-server" ]
+     ++ [ "--with-ssl=${openssl}" "--with-libevent=${libevent}" ];
+
+  meta = {
+    description = "Authoritative only, high performance, simple and open source name server.";
+    license = "BSD";
+    homepage = http://www.nlnetlabs.nl;
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
index c6939ce5f7a4..b227832ad734 100644
--- a/pkgs/servers/search/elasticsearch/default.nix
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, makeWrapper, jre, utillinux }:
 stdenv.mkDerivation rec {
-  name = "elasticsearch-1.0.1";
+  name = "elasticsearch-1.2.1";
 
   src = fetchurl {
     url = "https://download.elasticsearch.org/elasticsearch/elasticsearch/${name}.tar.gz";
-    sha256 = "0nwv7llw7gk94alfcpxxy0lybhnw7fggv30v7ylsxn20id9g7kba";
+    sha256 = "11lirxl0hb0xfd57accsgldq1adrlv9pak2520jll2sj5gg71cmj";
   };
 
   patches = [ ./es-home.patch ];
diff --git a/pkgs/servers/squid/squids.nix b/pkgs/servers/squid/squids.nix
index 18778aa80db6..642b713daaab 100644
--- a/pkgs/servers/squid/squids.nix
+++ b/pkgs/servers/squid/squids.nix
@@ -39,5 +39,16 @@ rec {
       libtool openssl];
   };
 
-  latest = squid32;
+  squid34 = squid30.merge rec {
+    name = "squid-3.4.5";
+    src = args.fetchurl {
+      url = "http://www.squid-cache.org/Versions/v3/3.4/${name}.tar.bz2";
+      sha256 = "1d17l27bszdxnvdr78l7yry8ka38cq7g4774m5876q25ny1q1bmr";
+    };
+    buildInputs = [openldap pam db cyrus_sasl libcap expat libxml2
+      libtool openssl];
+    configureFlags = ["--enable-ssl" "--enable-ssl-crtd"];
+  };
+
+  latest = squid34;
 }
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index cba456313f39..c34d30d92e01 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -18,6 +18,15 @@ let
 
   allowUnfree = config.allowUnfree or false || builtins.getEnv "NIXPKGS_ALLOW_UNFREE" == "1";
 
+  # Alow granular checks to allow only some unfree packages
+  # Example:
+  # {pkgs, ...}:
+  # {
+  #   allowUnfree = false;
+  #   allowUnfreePredicate = (x: pkgs.lib.hasPrefix "flashplayero-" x.name);
+  # }
+  allowUnfreePredicate = config.allowUnfreePredicate or (x: false);
+
   allowBroken = config.allowBroken or false || builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
 
   unsafeGetAttrPos = builtins.unsafeGetAttrPos or (n: as: null);
@@ -67,7 +76,7 @@ let
               unsafeGetAttrPos "name" attrs;
           pos' = if pos != null then "‘" + pos.file + ":" + toString pos.line + "’" else "«unknown-file»";
         in
-        if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then
+        if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) && !(allowUnfreePredicate attrs) then
           throw ''
             Package ‘${attrs.name}’ in ${pos'} has an unfree license, refusing to evaluate. You can set
               { nixpkgs.config.allowUnfree = true; }
diff --git a/pkgs/tools/X11/nitrogen/default.nix b/pkgs/tools/X11/nitrogen/default.nix
new file mode 100644
index 000000000000..beecffd4b06f
--- /dev/null
+++ b/pkgs/tools/X11/nitrogen/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchurl, pkgconfig, glib, gtk2, gtkmm }:
+
+let version = "1.5.2";
+in
+stdenv.mkDerivation rec {
+  name = "nitrogen-${version}";
+
+  src = fetchurl {
+    url = "http://projects.l3ib.org/nitrogen/files/nitrogen-${version}.tar.gz";
+    sha256 = "60a2437ce6a6c0ba44505fc8066c1973140d4bb48e1e5649f525c7b0b8bf9fd2";
+  };
+
+  buildInputs = [ glib gtk2 gtkmm pkgconfig ];
+
+  NIX_LDFLAGS = "-lX11";
+
+  patches = [ ./nitrogen-env-bash.patch ];
+
+  meta = {
+    description = "A wallpaper browser and setter for X11";
+    longDescription = ''
+      nitrogen is a lightweight utility that can set the root background on X11.
+      It operates independently of any desktop environment, and supports
+      multi-head with Xinerama. Wallpapers are browsable with a convenient GUI,
+      and settings are stored in a human-readable config file.
+    '';
+    homepage = http://projects.l3ib.org/nitrogen/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    maintainer = [ stdenv.lib.maintainers.auntie ];
+  };
+}
diff --git a/pkgs/tools/X11/nitrogen/nitrogen-env-bash.patch b/pkgs/tools/X11/nitrogen/nitrogen-env-bash.patch
new file mode 100644
index 000000000000..dd8574dcd628
--- /dev/null
+++ b/pkgs/tools/X11/nitrogen/nitrogen-env-bash.patch
@@ -0,0 +1,10 @@
+diff --git a/data/icon-theme-installer b/data/icon-theme-installer
+index 328cf73..ca5d226 100755
+--- a/data/icon-theme-installer
++++ b/data/icon-theme-installer
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/usr/bin/env bash
+ 
+ # icon-theme-installer
+ # Copyright (C) 2006 Novell, Inc.
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 2cb599f6a64a..5a09ec2a80b9 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information 
   rec {
     baseName="glusterfs";
-    version="3.4.2";
+    version="3.4.3";
     name="${baseName}-${version}";
     hash="1vzdihsy4da11jsa46n1n2xk6d40g7v0zrlqvs3pb9k07fql5kag";
-    url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.2/glusterfs-3.4.2.tar.gz";
-    sha256="1vzdihsy4da11jsa46n1n2xk6d40g7v0zrlqvs3pb9k07fql5kag";
+    url="http://download.gluster.org/pub/gluster/glusterfs/3.4/3.4.3/glusterfs-3.4.3.tar.gz";
+    sha256="0j1yvpdb1bydsh3pqlyr23mfvra5bap9rxba910s9cn61mpy99bj";
   };
   buildInputs = [
     fuse bison flex openssl python ncurses readline
diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix
index 32410caeeff7..13dc27921a43 100644
--- a/pkgs/tools/graphics/nifskope/default.nix
+++ b/pkgs/tools/graphics/nifskope/default.nix
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     description = "A tool for analyzing and editing NetImmerse/Gamebryo '*.nif' files";
     maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.linux;
-    licence = stdenv.lib.licenses.bsd3;
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/tools/misc/tmpwatch/default.nix b/pkgs/tools/misc/tmpwatch/default.nix
index befe517c225c..c19d58b98162 100644
--- a/pkgs/tools/misc/tmpwatch/default.nix
+++ b/pkgs/tools/misc/tmpwatch/default.nix
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "1m5859ngwx61l1i4s6fja2avf1hyv6w170by273w8nsin89825lk";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://fedorahosted.org/tmpwatch/;
     description = "The tmpwatch utility recursively searches through specified directories and removes files which have not been accessed in a specified period of time.";
-    licence = "GPLv2";
-    maintainers = with stdenv.lib.maintainers; [ vlstill ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ vlstill ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index d3e2c50991a1..f9bc01715924 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
+    mkdir -p "$out/share/bash-completion/completions"
     mkdir -p "$out/share/zsh/site-functions"
     mkdir -p "$out/share/fish/completions"
 
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 5062d26595ea..57c4a9c56621 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libevent, openssl, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.2.4.21";
+  name = "tor-0.2.4.22";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz";
-    sha256 = "1kpijqapml7y4sl54qgyrzppxxhmy4xgk2y7wkqwjxn7q24g97d1";
+    sha256 = "0k39ppcvld6p08yaf4rpspb34z4f5863j0d605yrm4dqjcp99xvb";
   };
 
   buildInputs = [ libevent openssl zlib ];
diff --git a/pkgs/tools/security/tor/torbrowser.nix b/pkgs/tools/security/tor/torbrowser.nix
index 8ee33272eda5..7be7c79888ea 100644
--- a/pkgs/tools/security/tor/torbrowser.nix
+++ b/pkgs/tools/security/tor/torbrowser.nix
@@ -20,13 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "tor-browser-${version}";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/torbrowser/${version}/tor-browser-linux${bits}-${version}_en-US.tar.xz";
     sha256 = if bits == "64" then
-      "1461l54zc7xgx2zcmi8wra38dknjyy8d2xk84chrwl6ckn2dfzv3" else
-      "183a1wf4a88sijfqr3m6gmvncq8w60i2rkymccg422n7q96j7hqs";
+      "1rfv59k9mia6hr1z1k4im20dy59ir7i054cgf78sfj1zsh08q7hf" else
+      "1klkk1k5r51pcx44r1z3sw08fqcl2f2v5iblf4yh83js482c37r8";
   };
 
   patchPhase = ''
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f283d45381cf..ffe8e7185b66 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -278,6 +278,8 @@ let
     dotnetfx = dotnetfx40;
   };
 
+  scatterOutputHook = makeSetupHook {} ../build-support/setup-hooks/scatter_output.sh;
+
   vsenv = callPackage ../build-support/vsenv {
     vs = vs90wrapper;
   };
@@ -1609,6 +1611,8 @@ let
 
   nilfs_utils = callPackage ../tools/filesystems/nilfs-utils {};
 
+  nitrogen = callPackage ../tools/X11/nitrogen {};
+
   nlopt = callPackage ../development/libraries/nlopt {};
 
   npapi_sdk = callPackage ../development/libraries/npapi-sdk {};
@@ -5140,6 +5144,8 @@ let
 
   libmhash = callPackage ../development/libraries/libmhash {};
 
+  libmodbus = callPackage ../development/libraries/libmodbus {};
+
   libmtp = callPackage ../development/libraries/libmtp { };
 
   libmsgpack = callPackage ../development/libraries/libmsgpack { };
@@ -5150,6 +5156,8 @@ let
 
   libnice = callPackage ../development/libraries/libnice { };
 
+  liboping = callPackage ../development/libraries/liboping { };
+
   libplist = callPackage ../development/libraries/libplist { };
 
   libQGLViewer = callPackage ../development/libraries/libqglviewer { };
@@ -5489,6 +5497,8 @@ let
 
   libxmlxx = callPackage ../development/libraries/libxmlxx { };
 
+  libxmp = callPackage ../development/libraries/libxmp { };
+
   libxslt = callPackage ../development/libraries/libxslt { };
 
   libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii {
@@ -6686,6 +6696,8 @@ let
 
   ngircd = callPackage ../servers/irc/ngircd { };
 
+  nsd = callPackage ../servers/dns/nsd { };
+
   opensmtpd = callPackage ../servers/mail/opensmtpd { };
 
   petidomo = callPackage ../servers/mail/petidomo { };
@@ -9408,6 +9420,12 @@ let
     conf = config.st.conf or null;
   };
 
+  sweethome3d = recurseIntoAttrs (  (callPackage ../applications/misc/sweethome3d { })
+                                 // (callPackage ../applications/misc/sweethome3d/editors.nix {
+                                      sweethome3dApp = sweethome3d.application;
+                                    })
+                                 );
+
   sxiv = callPackage ../applications/graphics/sxiv { };
 
   bittorrentSync = callPackage ../applications/networking/bittorrentsync { };
@@ -9894,6 +9912,8 @@ let
 
   xmove = callPackage ../applications/misc/xmove { };
 
+  xmp = callPackage ../applications/audio/xmp { };
+
   xnee = callPackage ../tools/X11/xnee {
     # Work around "missing separator" error.
     stdenv = overrideInStdenv stdenv [ gnumake381 ];
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index b1ea4059da50..282da6fcd90d 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -193,8 +193,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   attoparsec_0_10_4_0 = callPackage ../development/libraries/haskell/attoparsec/0.10.4.0.nix {};
   attoparsec_0_11_3_1 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.1.nix {};
   attoparsec_0_11_3_4 = callPackage ../development/libraries/haskell/attoparsec/0.11.3.4.nix {};
-  attoparsec_0_12_0_0 = callPackage ../development/libraries/haskell/attoparsec/0.12.0.0.nix {};
-  attoparsec = self.attoparsec_0_12_0_0;
+  attoparsec_0_12_1_0 = callPackage ../development/libraries/haskell/attoparsec/0.12.1.0.nix {};
+  attoparsec = self.attoparsec_0_12_1_0;
 
   attoparsecBinary = callPackage ../development/libraries/haskell/attoparsec-binary {};
 
@@ -286,6 +286,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
   boundingboxes_0_2 = callPackage ../development/libraries/haskell/boundingboxes/0.2.nix {};
   boundingboxes = self.boundingboxes_0_2;
 
+  BoundedChan = callPackage ../development/libraries/haskell/BoundedChan {};
+
   brainfuck = callPackage ../development/libraries/haskell/brainfuck {};
 
   bson = callPackage ../development/libraries/haskell/bson {};
@@ -1002,6 +1004,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hcltest = callPackage ../development/libraries/haskell/hcltest {};
 
+  hedis = callPackage ../development/libraries/haskell/hedis {};
+
   heredoc = callPackage ../development/libraries/haskell/heredoc {};
 
   hexpat = callPackage ../development/libraries/haskell/hexpat {};
@@ -1156,6 +1160,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hspec = callPackage ../development/libraries/haskell/hspec {};
 
+  hspecWai = callPackage ../development/libraries/haskell/hspec-wai {};
+
   hspec2 = callPackage ../development/libraries/haskell/hspec2 {};
 
   hspecExpectations = callPackage ../development/libraries/haskell/hspec-expectations {};
@@ -1968,6 +1974,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   snapletAcidState = callPackage ../development/libraries/haskell/snaplet-acid-state {};
 
+  snapletRedis = callPackage ../development/libraries/haskell/snaplet-redis {};
+
   snapletStripe = callPackage ../development/libraries/haskell/snaplet-stripe {};
 
   snapBlaze = callPackage ../development/libraries/haskell/snap-blaze/default.nix {};
@@ -2414,6 +2422,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   waiAppStatic = callPackage ../development/libraries/haskell/wai-app-static {};
 
+  waiConduit = callPackage ../development/libraries/haskell/wai-conduit {};
+
   waiExtra = callPackage ../development/libraries/haskell/wai-extra {};
 
   waiHandlerLaunch = callPackage ../development/libraries/haskell/wai-handler-launch {};
@@ -2656,6 +2666,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
 
   hslogger = callPackage ../development/tools/haskell/hslogger {};
 
+  ShellCheck = callPackage ../development/tools/misc/ShellCheck { };
+
   tar = callPackage ../development/libraries/haskell/tar {};
 
   threadscope = callPackage ../development/tools/haskell/threadscope {};
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index bca0a468809a..fb7fabe7daa4 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2334,6 +2334,27 @@ rec {
     };
   };
 
+  pyrtlsdr = buildPythonPackage rec {
+    name = "pyrtlsdr-0.2.0";
+
+    src = fetchurl {
+      url = "http://pypi.python.org/packages/source/p/pyrtlsdr/${name}.zip";
+      md5 = "646336675a00d38e6f54e77a17011b95";
+    };
+
+    postPatch = ''
+      sed "s|driver_files =.*|driver_files = ['${pkgs.rtl-sdr}/lib/librtlsdr.so']|" -i rtlsdr/librtlsdr.py
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Python wrapper for librtlsdr (a driver for Realtek RTL2832U based SDR's)";
+      homepage = https://github.com/roger-/pyrtlsdr;
+      license = licenses.gpl3;
+      platforms = platforms.linux;
+      maintainers = [ maintainers.bjornfor ];
+    };
+  };
+
 
   repoze_sendmail = buildPythonPackage rec {
     name = "repoze.sendmail-4.1";
@@ -9083,11 +9104,11 @@ rec {
 
   libvirt = pkgs.stdenv.mkDerivation rec {
     name = "libvirt-python-${version}";
-    version = "1.2.4";
+    version = "1.2.5";
 
     src = fetchurl {
       url = "http://libvirt.org/sources/python/${name}.tar.gz";
-      sha256 = "0zi1mxjcv9dz5hy54lwgk9j4i8r20hhijbxxn843h2w7p1ch1wx2";
+      sha256 = "0r0v48nkkxfagckizbcf67xkmyd1bnq36d30b58zmhvl0abryz7p";
     };
 
     buildInputs = [ python pkgs.pkgconfig pkgs.libvirt lxml ];