summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/amarok/default.nix10
-rw-r--r--pkgs/applications/audio/amarok/find-mysql.patch46
-rw-r--r--pkgs/applications/audio/espeak/edit.nix31
-rw-r--r--pkgs/applications/audio/linuxsampler/default.nix10
-rw-r--r--pkgs/applications/audio/linuxsampler/linuxsampler_lv2_sfz_fix.diff50
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix2
-rw-r--r--pkgs/applications/audio/praat/default.nix26
-rw-r--r--pkgs/applications/editors/emacs-modes/org/default.nix26
-rw-r--r--pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix20
-rw-r--r--pkgs/applications/editors/kdevelop/default.nix12
-rw-r--r--pkgs/applications/graphics/meshlab/default.nix13
-rw-r--r--pkgs/applications/misc/girara/default.nix26
-rw-r--r--pkgs/applications/misc/zathura/builder.sh11
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix29
-rw-r--r--pkgs/applications/misc/zathura/default.nix64
-rw-r--r--pkgs/applications/misc/zathura/djvu/default.nix28
-rw-r--r--pkgs/applications/misc/zathura/djvu/gtkflags.patch23
-rw-r--r--pkgs/applications/misc/zathura/pdf-poppler/default.nix25
-rw-r--r--pkgs/applications/misc/zathura/ps/default.nix28
-rw-r--r--pkgs/applications/misc/zathura/ps/gtkflags.patch25
-rw-r--r--pkgs/applications/networking/browsers/firefox/15.0.nix179
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/rekonq/default.nix12
-rw-r--r--pkgs/applications/networking/irc/konversation/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch175
-rw-r--r--pkgs/applications/networking/vnstat/default.nix8
-rw-r--r--pkgs/applications/office/calligra/default.nix8
-rw-r--r--pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh22
-rw-r--r--pkgs/applications/office/openoffice/libreoffice-srcs.nix592
-rw-r--r--pkgs/applications/office/openoffice/libreoffice.nix155
-rw-r--r--pkgs/applications/office/skrooge/default.nix4
-rw-r--r--pkgs/applications/version-management/mr/default.nix21
-rw-r--r--pkgs/applications/video/bangarang/default.nix9
-rw-r--r--pkgs/applications/video/kdenlive/default.nix4
-rw-r--r--pkgs/applications/virtualization/xen/default.nix22
-rw-r--r--pkgs/applications/virtualization/xen/gcc-4.5.patch39
-rw-r--r--pkgs/build-support/vm/deb/deb-closure.pl13
-rw-r--r--pkgs/build-support/vm/default.nix194
-rw-r--r--pkgs/development/compilers/dev86/default.nix6
-rw-r--r--pkgs/development/compilers/julia/default.nix14
-rw-r--r--pkgs/development/compilers/mono/default.nix3
-rw-r--r--pkgs/development/libraries/celt/0.5.1.nix46
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix27
-rw-r--r--pkgs/development/libraries/clucene-core/Fix-pkgconfig-file-by-adding-clucene-shared-library.patch19
-rw-r--r--pkgs/development/libraries/clucene-core/Fixing_ZLIB_configuration_in_shared_CMakeLists.patch20
-rw-r--r--pkgs/development/libraries/clucene-core/Install-contribs-lib.patch49
-rw-r--r--pkgs/development/libraries/gnutls/default.nix8
-rw-r--r--pkgs/development/libraries/haskell/Graphalyze/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/HTTP/4000.2.4.nix15
-rw-r--r--pkgs/development/libraries/haskell/HsOpenSSL/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/abstract-deque/default.nix9
-rw-r--r--pkgs/development/libraries/haskell/asn1-data/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/base64-bytestring/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/certificate/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cipher-aes/default.nix15
-rw-r--r--pkgs/development/libraries/haskell/cmdargs/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/comonad-transformers/2.1.2.nix19
-rw-r--r--pkgs/development/libraries/haskell/comonad-transformers/default.nix (renamed from pkgs/development/libraries/haskell/comonad-transformers/3.0.nix)0
-rw-r--r--pkgs/development/libraries/haskell/comonad/1.1.1.6.nix14
-rw-r--r--pkgs/development/libraries/haskell/comonad/default.nix (renamed from pkgs/development/libraries/haskell/comonad/3.0.0.2.nix)0
-rw-r--r--pkgs/development/libraries/haskell/configurator/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/cprng-aes/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/date-cache/default.nix12
-rw-r--r--pkgs/development/libraries/haskell/fingertree/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/gitit/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/graphviz/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/haskeline/0.6.4.7.nix (renamed from pkgs/development/libraries/haskell/haskeline/default.nix)0
-rw-r--r--pkgs/development/libraries/haskell/haskeline/0.7.0.2.nix16
-rw-r--r--pkgs/development/libraries/haskell/hledger-lib/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hledger/default.nix2
-rw-r--r--pkgs/development/libraries/haskell/hoauth/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-conduit/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/http-types/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/iteratee/default.nix6
-rw-r--r--pkgs/development/libraries/haskell/postgresql-simple/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/reactive-banana/default.nix10
-rw-r--r--pkgs/development/libraries/haskell/semigroupoids/1.3.4.nix14
-rw-r--r--pkgs/development/libraries/haskell/semigroupoids/default.nix (renamed from pkgs/development/libraries/haskell/semigroupoids/3.0.nix)0
-rw-r--r--pkgs/development/libraries/haskell/split/0.1.nix13
-rw-r--r--pkgs/development/libraries/haskell/stylish-haskell/default.nix20
-rw-r--r--pkgs/development/libraries/haskell/tagsoup/0.10.1nix16
-rw-r--r--pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/texmath/0.4.nix17
-rw-r--r--pkgs/development/libraries/haskell/tls/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-core/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yesod-static/default.nix3
-rw-r--r--pkgs/development/libraries/kdevplatform/default.nix6
-rw-r--r--pkgs/development/libraries/libcdr/default.nix22
-rw-r--r--pkgs/development/libraries/libexttextcat/default.nix18
-rw-r--r--pkgs/development/libraries/libexttextcat/memory-leaks.patch37
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix6
-rw-r--r--pkgs/development/libraries/libktorrent/default.nix6
-rw-r--r--pkgs/development/libraries/libvisio/default.nix21
-rw-r--r--pkgs/development/libraries/mdds/default.nix16
-rw-r--r--pkgs/development/libraries/mythes/default.nix19
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix19
-rw-r--r--pkgs/development/libraries/spice/default.nix46
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix4
-rw-r--r--pkgs/development/tools/haskell/SourceGraph/default.nix4
-rw-r--r--pkgs/development/tools/parsing/Ebnf2ps/default.nix4
-rw-r--r--pkgs/games/fsg/default.nix3
-rw-r--r--pkgs/lib/attrsets.nix13
-rw-r--r--pkgs/lib/tests.nix7
-rw-r--r--pkgs/os-specific/linux/cifs-utils/default.nix10
-rw-r--r--pkgs/os-specific/linux/gogoclient/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.5.nix5
-rw-r--r--pkgs/os-specific/linux/qemu-kvm/default.nix12
-rw-r--r--pkgs/servers/mail/postfix/default.nix63
-rw-r--r--pkgs/servers/sip/sipwitch/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/jdbc/default.nix16
-rw-r--r--pkgs/tools/filesystems/davfs2/default.nix15
-rw-r--r--pkgs/tools/misc/plowshare/default.nix35
-rw-r--r--pkgs/tools/networking/miniupnpc/default.nix4
-rw-r--r--pkgs/tools/networking/surfraw/default.nix22
-rw-r--r--pkgs/tools/text/enca/default.nix29
-rw-r--r--pkgs/top-level/all-packages.nix59
-rw-r--r--pkgs/top-level/haskell-packages.nix49
-rw-r--r--pkgs/top-level/node-packages.nix832
-rw-r--r--pkgs/top-level/python-packages.nix15
-rw-r--r--pkgs/top-level/release.nix1
122 files changed, 2739 insertions, 1157 deletions
diff --git a/pkgs/applications/audio/amarok/default.nix b/pkgs/applications/audio/amarok/default.nix
index ad553c9db346..a60ecdcb866f 100644
--- a/pkgs/applications/audio/amarok/default.nix
+++ b/pkgs/applications/audio/amarok/default.nix
@@ -1,28 +1,30 @@
 { stdenv, fetchurl, lib, qtscriptgenerator, perl, gettext, curl
 , libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs
 , qca2, libmtp, liblastfm, libgpod, pkgconfig, automoc4, phonon
-, strigi, soprano }:
+, strigi, soprano, qjson, ffmpeg, libofa }:
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   pname = "amarok";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
-    sha256 = "0jc8fsrhshgfv441b2dgqk0wz3ms5bzjqchcj5ydxphg57dr3l8y";
+    sha256 = "1h6jzl0jnn8g05pz4mw01kz20wjjxwwz6iki7lvgj70qi3jq04m9";
   };
 
   QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
+  patches = ./find-mysql.patch;
   buildInputs = [ qtscriptgenerator stdenv.gcc.libc gettext curl
     libxml2 mysql taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
-    soprano qca2 libmtp liblastfm libgpod pkgconfig ];
+    soprano qca2 libmtp liblastfm libgpod pkgconfig qjson ffmpeg libofa ];
 
   postInstall = ''
     mkdir -p $out/nix-support
     echo ${qtscriptgenerator} > $out/nix-support/propagated-user-env-packages
   '';
+
   meta = {
     description = "Popular music player for KDE";
     license = "GPL";
diff --git a/pkgs/applications/audio/amarok/find-mysql.patch b/pkgs/applications/audio/amarok/find-mysql.patch
new file mode 100644
index 000000000000..57a5ec46b84f
--- /dev/null
+++ b/pkgs/applications/audio/amarok/find-mysql.patch
@@ -0,0 +1,46 @@
+commit 9979970f05f25329100168d85a5c4cdc8c084b7a
+Author: Yury G. Kudryashov <urkud.urkud@gmail.com>
+Date:   Thu Aug 30 12:32:53 2012 +0400
+
+    FindMySQLAmarok.cmake: use PATH_SUFFIXES
+
+diff --git a/cmake/modules/FindMySQLAmarok.cmake b/cmake/modules/FindMySQLAmarok.cmake
+index 910b434..4c8b8e8 100644
+--- a/cmake/modules/FindMySQLAmarok.cmake
++++ b/cmake/modules/FindMySQLAmarok.cmake
+@@ -13,18 +13,17 @@
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+ 
+ if(NOT WIN32)
+-    find_program(MYSQLCONFIG_EXECUTABLE NAMES mysql_config mysql_config5 PATHS ${BIN_INSTALL_DIR} ~/usr/bin /usr/local/bin)
++    find_program(MYSQLCONFIG_EXECUTABLE NAMES mysql_config mysql_config5 HINTS ${BIN_INSTALL_DIR})
+ endif(NOT WIN32)
+ 
+ find_path(MYSQL_INCLUDE_DIR mysql.h
+-    /opt/local/include/mysql5/mysql
++    PATHS
++    /opt/local/include
+     /opt/mysql/mysql/include
+-    /opt/mysqle/include/mysql
+-    /opt/ports/include/mysql5/mysql
+-    /usr/include/mysql
+-    /usr/local/include/mysql
+-    /usr/mysql/include/mysql
+-    ~/usr/include/mysql
++    /opt/mysqle/include
++    /opt/ports/include
++    /usr/mysql/include
++    PATH_SUFFIXES mysql mysql5/mysql
+ )
+ 
+ if(MYSQLCONFIG_EXECUTABLE)
+@@ -40,8 +39,7 @@ if(MYSQLCONFIG_EXECUTABLE)
+ 
+     find_library(MYSQLD_PIC_SEPARATE
+         mysqld_pic
+-        PATHS
+-        /usr/lib/mysql
++        PATH_SUFFIXES mysql
+     )
+ 
+     if(MYSQLD_PIC_SEPARATE)
diff --git a/pkgs/applications/audio/espeak/edit.nix b/pkgs/applications/audio/espeak/edit.nix
new file mode 100644
index 000000000000..eb34335721f0
--- /dev/null
+++ b/pkgs/applications/audio/espeak/edit.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, unzip, portaudio, wxGTK}:
+
+stdenv.mkDerivation {
+  name = "espeakedit-1.46.02";
+  src = fetchurl {
+    url = mirror://sourceforge/espeak/espeakedit-1.46.02.zip;
+    sha256 = "1cc5r89sn8zz7b8wj4grx9xb7aqyi0ybj0li9hpy7hd67r56kqkl";
+  };
+
+  buildInputs = [ unzip portaudio wxGTK ];
+
+  patchPhase = if portaudio.api_version == 19 then ''
+    cp src/portaudio19.h src/portaudio.h
+  '' else "";
+
+  buildPhase = ''
+    cd src
+    gcc -o espeakedit *.cpp `wx-config --cxxflags --libs`
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp espeakedit $out/bin
+  '';
+
+  meta = {
+    description = "Phoneme editor for espeak";
+    homepage = http://espeak.sourceforge.net/;
+    license = "GPLv3+";
+  };
+}
diff --git a/pkgs/applications/audio/linuxsampler/default.nix b/pkgs/applications/audio/linuxsampler/default.nix
index 1ef081c84d07..c74cd2b0d7d4 100644
--- a/pkgs/applications/audio/linuxsampler/default.nix
+++ b/pkgs/applications/audio/linuxsampler/default.nix
@@ -11,9 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "0zsrvs9dwwhjx733m45vfi11yjkqv33z8qxn2i9qriq5zs1f0kd7";
   };
 
-  patchPhase = "sed -e 's/which/type -P/g' -i scripts/generate_parser.sh";
+  patches = ./linuxsampler_lv2_sfz_fix.diff;
 
-  preConfigure = "make -f Makefile.cvs";
+  preConfigure = ''
+    sed -e 's/which/type -P/g' -i scripts/generate_parser.sh
+    make -f Makefile.cvs
+  '';
 
   buildInputs = [ 
    alsaLib asio autoconf automake bison jackaudio libgig libsndfile
@@ -34,7 +37,8 @@ stdenv.mkDerivation rec {
       have questions on the subject, that are not yet covered by the
       FAQ, please contact us.
     ''; 
-    license = licenses.gpl2;
+    license = licenses.proprietary;
     maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/linuxsampler/linuxsampler_lv2_sfz_fix.diff b/pkgs/applications/audio/linuxsampler/linuxsampler_lv2_sfz_fix.diff
new file mode 100644
index 000000000000..114726db19d6
--- /dev/null
+++ b/pkgs/applications/audio/linuxsampler/linuxsampler_lv2_sfz_fix.diff
@@ -0,0 +1,50 @@
+Index: linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp
+===================================================================
+--- linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp	(revision 2359)
++++ linuxsampler-r2359/src/hostplugins/lv2/PluginLv2.cpp	(working copy)
+@@ -18,6 +18,8 @@
+  *   MA  02110-1301  USA                                                   *
+  ***************************************************************************/
+ 
++#define _BSD_SOURCE 1  /* for realpath() */
++
+ #include <algorithm>
+ #include <cassert>
+ #include <cstdio>
+@@ -118,6 +120,23 @@
+         dmsg(2, ("linuxsampler: Deactivate\n"));
+     }
+ 
++    static String RealPath(const String& path)
++    {
++        String out   = path;
++        char*  cpath = NULL;
++#ifdef _WIN32
++        cpath = (char*)malloc(MAX_PATH);
++        GetFullPathName(path.c_str(), MAX_PATH, cpath, NULL);
++#else
++        cpath = realpath(path.c_str(), NULL);
++#endif
++        if (cpath) {
++            out = cpath;
++            free(cpath);
++        }
++        return out;
++    }
++
+     String PluginLv2::PathToState(const String& path) {
+         if (MapPath) {
+             char* cstr = MapPath->abstract_path(MapPath->handle, path.c_str());
+@@ -131,9 +150,10 @@
+     String PluginLv2::PathFromState(const String& path) {
+         if (MapPath) {
+             char* cstr = MapPath->absolute_path(MapPath->handle, path.c_str());
+-            const String abstract_path(cstr);
++            // Resolve symbolic links so SFZ sample paths load correctly
++            const String absolute_path(RealPath(cstr));
+             free(cstr);
+-            return abstract_path;
++            return absolute_path;
+         }
+         return path;
+     }
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index b9d304097111..3af9bc7690ff 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "ncmpcpp-${version}";
 
   src = fetchurl {
-    url = "http://unkart.ovh.org/ncmpcpp/ncmpcpp-${version}.tar.bz2";
+    url = "http://ncmpcpp.rybczak.net/stable/ncmpcpp-${version}.tar.bz2";
     sha256 = "1kbkngs4fhf9z53awskqiwdl94i5slvxmjiajkrayi99373fallx";
   };
 
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
new file mode 100644
index 000000000000..f2f196acdd85
--- /dev/null
+++ b/pkgs/applications/audio/praat/default.nix
@@ -0,0 +1,26 @@
+{stdenv, fetchurl, alsaLib, gtk, pkgconfig }:
+
+stdenv.mkDerivation {
+  name = "praat-5323";
+  src = fetchurl {
+    url = http://www.fon.hum.uva.nl/praat/praat5323_sources.tar.gz;
+    sha256 = "1m0m5165h74mw5xhmnnyzh5ans3cn78w5rs9572sa1512cams203";
+  };
+
+  configurePhase = ''
+    cp makefiles/makefile.defs.linux makefile.defs
+  '';
+
+  installPhase = ''
+    ensureDir $out/bin
+    cp praat $out/bin
+  '';
+
+  buildInputs = [ alsaLib gtk pkgconfig ];
+
+  meta = {
+    description = "Doing phonetics by computer";
+    homepage = http://www.fon.hum.uva.nl/praat/;
+    license = "GPLv2+"; # Has some 3rd-party code in it though
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/org/default.nix b/pkgs/applications/editors/emacs-modes/org/default.nix
index fb4de650ee01..d3829bc9d115 100644
--- a/pkgs/applications/editors/emacs-modes/org/default.nix
+++ b/pkgs/applications/editors/emacs-modes/org/default.nix
@@ -1,30 +1,24 @@
-{ fetchurl, stdenv, emacs, texinfo, which }:
+{ fetchurl, stdenv, emacs, texinfo, which, texLive }:
 
 stdenv.mkDerivation rec {
-  name = "org-7.8.03";
+  name = "org-7.9.1";
 
   src = fetchurl {
     url = "http://orgmode.org/${name}.tar.gz";
-    sha256 = "49357cca7d892e70cd2dfcc0b5d96d9fd164ef5a1f251ace3865ecb27dc1e958";
+    sha256 = "0kz1dnzfpmmslwal150z9rxrnddjpaw2glx26qihpxzs0zzpw201";
   };
 
-  buildInputs = [ emacs texinfo ];
-
-  patchPhase =
-    '' sed -i "lisp/org-clock.el" -e's|"which"|"${which}/bin/which"|g'
-    '';
+  buildInputs = [ emacs ];
+  buildNativeInputs = [ texinfo texLive ];
 
   configurePhase =
-    '' sed -i Makefile \
-           -e "s|^prefix=.*$|prefix=$out|g"
+    '' sed -i mk/default.mk \
+           -e "s|^prefix\t=.*$|prefix=$out|g"
     '';
 
-  #XXX: fails because of missing UTILITIES/manfull.pl, currently not
-  # included in the release tarball, but git.
-
-  #postBuild =
-  #  '' make doc
-  #  '';
+  postBuild =
+    '' make doc
+    '';
 
   installPhase =
     '' make install install-info
diff --git a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
index c15ff6afcb20..a253e25cad45 100644
--- a/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
+++ b/pkgs/applications/editors/emacs-modes/sunrise-commander/default.nix
@@ -1,25 +1,23 @@
-{stdenv, fetchurl, emacs}:
+{stdenv, fetchgit, emacs}:
 
 stdenv.mkDerivation rec {
-  name = "sunrise-commander-6";
+  name = "sunrise-commander-6r435";
 
-  src = fetchurl {
-    url = "http://www.emacswiki.org/emacs/download/sunrise-commander.el";
-    sha256 = "1bbpm00nc7ry0f2k4zaqbvp6w9py31asfcr9hddggc138pnfajvq";
+  src = fetchgit {
+    url = https://github.com/escherdragon/sunrise-commander.git;
+    rev = "7a44ca7abd9fe79f87934c78d00dc2a91419a4f1";
+    sha256 = "2909beccc9daaa79e70876ac6547088c2459b624c364dda1886fe4d7adc7708b";
   };
 
-  phases = [ "buildPhase" "installPhase"];
-
   buildInputs = [ emacs ];
 
   buildPhase = ''
-    cp $src sunrise-commander.el
-    emacs --batch -f batch-byte-compile sunrise-commander.el
+    emacs -L . --batch -f batch-byte-compile *.el
   '';
 
   installPhase = ''
-    install -d $out/share/emacs/site-lisp
-    install sunrise-commander.el* $out/share/emacs/site-lisp
+    mkdir -p $out/share/emacs/site-lisp
+    install *.el* $out/share/emacs/site-lisp
   '';
 
   meta = {
diff --git a/pkgs/applications/editors/kdevelop/default.nix b/pkgs/applications/editors/kdevelop/default.nix
index 92b4da5280ac..249ede5ebd0e 100644
--- a/pkgs/applications/editors/kdevelop/default.nix
+++ b/pkgs/applications/editors/kdevelop/default.nix
@@ -3,18 +3,26 @@
 
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "4.3.0";
+  version = "4.3.1";
   pname = "kdevelop";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
-    sha256 = "0vb2f5922r1da4va8sx2qn2i1lf2gqg7nfg594kncy98a9b1avnr";
+    sha256 = "0015hv39rqhyq1w6jw65lx7ls4l5pc3a2asvd5zsd65831vrfxxs";
   };
 
   buildInputs = [ kdevplatform kdebase_workspace okteta ];
 
   buildNativeInputs = [ cmake pkgconfig automoc4 shared_mime_info gettext perl ];
 
+  patches =
+    [ ( fetchurl {
+        url = https://git.reviewboard.kde.org/r/105211/diff/raw/;
+        name = "okteta-0.9.patch"; # fixes build with KDE-4.9.x
+        sha256 = "1mvqhw7jr1vi66l3jgam3slyfafcvwy4g3iapfi69dpfnzhmcxl0";
+      } )
+    ];
+
   NIX_CFLAGS_COMPILE = "-I${okteta}/include/KDE";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix
index 9b39d8e8f1f7..a811d759f7eb 100644
--- a/pkgs/applications/graphics/meshlab/default.nix
+++ b/pkgs/applications/graphics/meshlab/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, qt, bzip2, lib3ds, levmar, muparser, unzip}:
 
 stdenv.mkDerivation rec {
-  name = "meshlab-1.2.3a";
+  name = "meshlab-1.3.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/meshlab/MeshLabSrc_AllInc_v123a.tgz;
-    sha256 = "09w42q0x1yjr7l9ng952lic7vkb1arsvqg1fld5s297zwzfmsl9v";
+    url = "mirror://sourceforge/meshlab/meshlab/MeshLab%20v1.3.2/MeshLabSrc_AllInc_v132.tgz";
+    sha256 = "d57f0a99a55421aac54a66e2475d48f00f7b1752f9587cd69cf9b5b9c1a519b1";
   };
 
   # I don't know why I need this; without this, the rpath set at the beginning of the
@@ -13,13 +13,16 @@ stdenv.mkDerivation rec {
   dontPatchELF = true;
 
   buildPhase = ''
+    mkdir -p "$out/include"
+    cp -r vcglib "$out/include"
+    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$out/include/vcglib"
     export NIX_LDFLAGS="-rpath $out/opt/meshlab $NIX_LDFLAGS"
     cd meshlab/src
     pushd external
     qmake -recursive external.pro
     make
     popd
-    qmake -recursive meshlabv12.pro
+    qmake -recursive meshlab_full.pro
     make
   '';
 
@@ -31,6 +34,8 @@ stdenv.mkDerivation rec {
     ln -s $out/opt/meshlab/meshlab $out/bin/meshlab
   '';
 
+  sourceRoot = ".";
+
   buildInputs = [ qt unzip ];
 
   meta = {
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
new file mode 100644
index 000000000000..2fa36b33eb06
--- /dev/null
+++ b/pkgs/applications/misc/girara/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, gtk, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "girara-0.1.2";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
+    sha256 = "89231d0da3c790e0765ad85d74f64cf50051b8bafe6065882e34e378ab14ec99";
+  };
+
+  buildInputs = [ pkgconfig gtk gettext ];
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = {
+    homepage = http://pwmt.org/projects/girara/;
+    description = "User interface library";
+    longDescription = ''
+      girara is a library that implements a GTK+ based VIM-like user interface
+      that focuses on simplicity and minimalism.
+    '';
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/zathura/builder.sh b/pkgs/applications/misc/zathura/builder.sh
new file mode 100644
index 000000000000..9ca45b2cc992
--- /dev/null
+++ b/pkgs/applications/misc/zathura/builder.sh
@@ -0,0 +1,11 @@
+source $stdenv/setup
+
+mkdir -pv $out/bin/
+
+cat > $out/bin/zathura <<EOF
+#!/bin/sh
+exec $zathura --plugins-dir=$plugins_path "\$@"
+EOF
+
+chmod 755 $out/bin/zathura
+
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
new file mode 100644
index 000000000000..0c58965fc19f
--- /dev/null
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext }:
+
+stdenv.mkDerivation rec {
+
+  version = "0.1.2";
+
+  name = "zathura-core-${version}";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
+    sha256 = "a496c25071e54f675b65ee5eab02fd002c04c2d7d5cf4aa8a1cb517cc13beaef";
+  };
+
+  buildInputs = [ pkgconfig gtk girara gettext ];
+
+  makeFlags = "PREFIX=$(out)";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A core component for zathura PDF viewer";
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+
+    # Set lower priority in order to provide user with a wrapper script called
+    # 'zathura' instead of real zathura executable. The wrapper will build
+    # plugin path argument before executing the original.
+    priority = 1;
+  };
+}
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index 2e58a028a30f..b5ba4f9ada75 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,27 +1,41 @@
-{ stdenv, fetchurl, pkgconfig, gtk, poppler }:
-
-stdenv.mkDerivation rec {
-  name = "zathura-0.0.8.4";
-  
-  src = fetchurl {
-    url = "http://pwmt.org/download/${name}.tar.gz";
-    sha256 = "03iq6n7bpgrkq3l8b2ab3flcfxrqpxc1f3ycn31xr2b6bjwi72qn";
-  };
-  
-  buildInputs = [ pkgconfig gtk poppler ];
-
-  makeFlags = "PREFIX=$(out)";
-  
-  meta = {
-    homepage = https://pwmt.org/zathura/;
-    description = "A highly customizable and functional PDF viewer";
-    longDescription = ''
-      Zathura is a highly customizable and functional PDF viewer based on the
-      poppler rendering library and the gtk+ toolkit. The idea behind zathura
-      is an application that provides a minimalistic and space saving interface
-      as well as an easy usage that mainly focuses on keyboard interaction.
-    '';
-    license = "free";
-    platforms = stdenv.lib.platforms.linux;
+{ callPackage, pkgs }:
+
+rec {
+  inherit (pkgs) stdenv;
+
+  zathura_core = callPackage ./core { };
+
+  zathura_pdf_poppler = callPackage ./pdf-poppler { };
+
+  zathura_djvu = callPackage ./djvu { };
+
+  zathura_ps = callPackage ./ps { };
+
+  zathuraWrapper = stdenv.mkDerivation rec {
+
+    name = "zathura-0.1.2";
+
+    plugins_path = stdenv.lib.makeSearchPath "lib" [
+      zathura_pdf_poppler
+      zathura_djvu
+      zathura_ps
+    ];
+
+    zathura = "${zathura_core}/bin/zathura";
+
+    builder = ./builder.sh;
+
+    meta = {
+      homepage = http://pwmt.org/projects/zathura/;
+      description = "A highly customizable and functional PDF viewer";
+      longDescription = ''
+        Zathura is a highly customizable and functional PDF viewer based on the
+        poppler rendering library and the gtk+ toolkit. The idea behind zathura
+        is an application that provides a minimalistic and space saving interface
+        as well as an easy usage that mainly focuses on keyboard interaction.
+      '';
+      license = "free";
+    };
   };
 }
+
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
new file mode 100644
index 000000000000..c4656e732364
--- /dev/null
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, djvulibre, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "zathura-djvu-0.1.1";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
+    sha256 = "04adad7bf1bb392eae4b7b856fe7d40a137f8185ac274289df922758ae827172";
+  };
+
+  buildInputs = [ pkgconfig djvulibre gettext zathura_core gtk girara ];
+
+  patches = [ ./gtkflags.patch ];
+
+  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A zathura DJVU plugin";
+    longDescription = ''
+	  The zathura-djvu plugin adds DjVu support to zathura by using the
+	  djvulibre library.
+    '';
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/zathura/djvu/gtkflags.patch b/pkgs/applications/misc/zathura/djvu/gtkflags.patch
new file mode 100644
index 000000000000..2a2fe298a7b9
--- /dev/null
+++ b/pkgs/applications/misc/zathura/djvu/gtkflags.patch
@@ -0,0 +1,23 @@
+--- a/config.mk	2012-05-14 01:13:09.009740082 +0400
++++ b/config.mk	2012-05-14 01:13:50.400525700 +0400
+@@ -11,6 +11,9 @@
+ LIBDIR ?= ${PREFIX}/lib
+ 
+ # libs
++GTK_INC ?= $(shell pkg-config --cflags gtk+-2.0)
++GTK_LIB ?= $(shell pkg-config --libs gtk+-2.0)
++
+ CAIRO_INC ?= $(shell pkg-config --cflags cairo)
+ CAIRO_LIB ?= $(shell pkg-config --libs cairo)
+ 
+@@ -29,8 +32,8 @@
+ PLUGINDIR = ${LIBDIR}/zathura
+ endif
+ 
+-INCS = ${GIRARA_INC} ${GLIB_INC} ${DJVU_INC} ${ZATHURA_INC}
+-LIBS = ${GIRARA_LIB} ${GLIB_LIB} ${DJVU_LIB}
++INCS = ${GIRARA_INC} ${GLIB_INC} ${DJVU_INC} ${ZATHURA_INC} ${GTK_INC}
++LIBS = ${GIRARA_LIB} ${GLIB_LIB} ${DJVU_LIB} ${GTK_LIB}
+ 
+ # flags
+ CFLAGS += -std=c99 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS)
diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
new file mode 100644
index 000000000000..17e00b4e6220
--- /dev/null
+++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "zathura-pdf-poppler-0.1.1";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
+    sha256 = "bec5fee721fcaee9f4b53d3882908b19efa82815393aa8c3619ff948b909d4a7";
+  };
+
+  buildInputs = [ pkgconfig poppler gettext zathura_core girara ];
+
+  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A zathura PDF plugin";
+    longDescription = ''
+      The zathura-pdf-poppler plugin adds PDF support to zathura by 
+      using the poppler rendering engine.
+    '';
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix
new file mode 100644
index 000000000000..ae9aeee7715e
--- /dev/null
+++ b/pkgs/applications/misc/zathura/ps/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, gtk, zathura_core, girara, libspectre, gettext }:
+
+stdenv.mkDerivation rec {
+  name = "zathura-ps-0.1.0";
+
+  src = fetchurl {
+    url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
+    sha256 = "1669fd11e436636cdedb2cde206b562f4f9c666cea9773f6f2014e765fd62789";
+  };
+
+  buildInputs = [ pkgconfig libspectre gettext zathura_core gtk girara ];
+
+  patches = [ ./gtkflags.patch ];
+
+  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+
+  meta = {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A zathura PS plugin";
+    longDescription = ''
+      The zathura-ps plugin adds PS support to zathura by using the
+      libspectre library.
+      '';
+    license = "free";
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
+
diff --git a/pkgs/applications/misc/zathura/ps/gtkflags.patch b/pkgs/applications/misc/zathura/ps/gtkflags.patch
new file mode 100644
index 000000000000..7c944a12f0ef
--- /dev/null
+++ b/pkgs/applications/misc/zathura/ps/gtkflags.patch
@@ -0,0 +1,25 @@
+diff --git a/config.mk b/config.mk.new
+index c3a7b37..0cbce67 100644
+--- a/config.mk
++++ b/config.mk
+@@ -10,6 +10,9 @@ ZATHURA_VERSION_CHECK ?= $(shell pkg-config --atleast-version=$(ZATHURA_MIN_VERS
+ PREFIX ?= /usr
+ 
+ # libs
++GTK_INC ?= $(shell pkg-config --cflags gtk+-2.0)
++GTK_LIB ?= $(shell pkg-config --libs gtk+-2.0)
++
+ CAIRO_INC ?= $(shell pkg-config --cflags cairo)
+ CAIRO_LIB ?= $(shell pkg-config --libs cairo)
+ 
+@@ -26,8 +29,8 @@ ZATHURA_INC ?= $(shell pkg-config --cflags zathura)
+ PLUGINDIR ?= $(shell pkg-config --variable=plugindir zathura)
+ PLUGINDIR ?= ${PREFIX}/lib/zathura
+ 
+-INCS = ${GLIB_INC} ${SPECTRE_INC} ${GIRARA_INC} ${ZATHURA_INC}
+-LIBS = ${GLIB_LIB} ${SPECTRE_LIB} ${GIRARA_LIB}
++INCS = ${GLIB_INC} ${SPECTRE_INC} ${GIRARA_INC} ${ZATHURA_INC} ${GTK_INC}
++LIBS = ${GLIB_LIB} ${SPECTRE_LIB} ${GIRARA_LIB} ${GTK_LIB}
+ 
+ # flags
+ CFLAGS += -std=c99 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS)
diff --git a/pkgs/applications/networking/browsers/firefox/15.0.nix b/pkgs/applications/networking/browsers/firefox/15.0.nix
new file mode 100644
index 000000000000..549034963914
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/15.0.nix
@@ -0,0 +1,179 @@
+{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
+, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
+, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
+, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
+
+, # If you want the resulting program to call itself "Firefox" instead
+  # of "Shiretoko" or whatever, enable this option.  However, those
+  # binaries may not be distributed without permission from the
+  # Mozilla Foundation, see
+  # http://www.mozilla.org/foundation/trademarks/.
+  enableOfficialBranding ? false
+}:
+
+assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
+
+rec {
+
+  firefoxVersion = "15.0";
+  
+  xulVersion = "15.0"; # this attribute is used by other packages
+
+  
+  src = fetchurl {
+    url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
+    sha256 = "12f7dgcksb9d79hj0a8lxn3s81id6l2gd1pb7ls4d60kmgbg05jl";
+  };
+  
+  commonConfigureFlags =
+    [ "--enable-optimize"
+      "--disable-debug"
+      "--enable-strip"
+      "--with-system-jpeg"
+      "--with-system-zlib"
+      "--with-system-bz2"
+      "--with-system-nspr"
+      "--with-system-nss"
+      # "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
+      # "--enable-system-cairo" # disabled for the moment because our Cairo is too old
+      "--enable-system-sqlite"
+      "--disable-crashreporter"
+      "--disable-tests"
+      "--disable-necko-wifi" # maybe we want to enable this at some point
+      "--disable-installer" 
+      "--disable-updater"
+    ];
+
+
+  xulrunner = stdenv.mkDerivation rec {
+    name = "xulrunner-${xulVersion}";
+    
+    inherit src;
+
+    buildInputs =
+      [ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
+        python dbus dbus_glib pango freetype fontconfig xlibs.libXi
+        xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
+        alsaLib nspr nss libnotify xlibs.pixman yasm mesa
+        xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
+        xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
+      ];
+
+    configureFlags =
+      [ "--enable-application=xulrunner"
+        "--disable-javaxpcom"
+      ] ++ commonConfigureFlags;
+
+    enableParallelBuilding = true;
+      
+    preConfigure =
+      ''
+        export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
+
+        mkdir ../objdir
+        cd ../objdir
+        configureScript=../mozilla-release/configure
+      ''; # */
+
+    #installFlags = "SKIP_GRE_REGISTRATION=1";
+
+    postInstall = ''
+      # Fix run-mozilla.sh search
+      libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
+      echo libDir: $libDir
+      test -n "$libDir"
+      cd $out/bin
+      rm xulrunner
+
+      for i in $out/lib/$libDir/*; do 
+          file $i;
+          if file $i | grep executable &>/dev/null; then 
+              echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
+              chmod a+x "$out/bin/$(basename "$i")";
+          fi;
+      done
+      for i in $out/lib/$libDir/*.so; do
+          patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
+      done
+      for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
+          wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
+      done
+      rm -f $out/bin/run-mozilla.sh
+    ''; # */
+
+    meta = {
+      description = "Mozilla Firefox XUL runner";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+    };
+
+    passthru = { inherit gtk; version = xulVersion; };
+  };
+
+
+  firefox = stdenv.mkDerivation rec {
+    name = "firefox-${firefoxVersion}";
+
+    inherit src;
+
+    enableParallelBuilding = true;
+      
+    buildInputs =
+      [ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
+        dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
+        xlibs.pixman yasm mesa sqlite file unzip pysqlite
+      ];
+
+    propagatedBuildInputs = [xulrunner];
+
+    configureFlags =
+      [ "--enable-application=browser"
+        "--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
+        "--enable-chrome-format=jar"
+        "--disable-elf-hack"
+      ]
+      ++ commonConfigureFlags
+      ++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
+
+    makeFlags = [
+      "SYSTEM_LIBXUL=1"
+    ];
+
+    # Hack to work around make's idea of -lbz2 dependency
+    preConfigure =
+      ''
+        find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
+          stdenv.lib.concatStringsSep ":" 
+            (map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
+        }' ';'
+      '';
+
+    postInstall =
+      ''
+        ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
+        for j in $out/bin/*; do 
+	    i="$(readlink "$j")";
+            file $i;
+            if file $i | grep executable &>/dev/null; then 
+	        rm "$out/bin/$(basename "$i")"
+                echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
+                chmod a+x "$out/bin/$(basename "$i")"
+            fi;
+        done;
+	cd "$out/lib/"firefox-*
+	rm firefox
+	echo -e '#!${stdenv.shell}\n${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
+	chmod a+x firefox
+      ''; # */
+
+    meta = {
+      description = "Mozilla Firefox - the browser, reloaded";
+      homepage = http://www.mozilla.com/en-US/firefox/;
+      maintainers = [ stdenv.lib.maintainers.eelco ];
+    };
+
+    passthru = {
+      inherit gtk xulrunner nspr;
+      isFirefox3Like = true;
+    };
+  };
+}
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
index ff199791bba8..a3f255b5d3e5 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/google-talk-plugin/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, rpm, cpio, mesa, xorg, cairo
 , libpng12, gtk, glib, gdk_pixbuf, fontconfig, freetype, curl
-, dbus_glib, alsaLib, pulseaudio, udev
+, dbus_glib, alsaLib, pulseaudio, udev, pango
 }:
 
 with stdenv.lib;
@@ -37,24 +37,26 @@ let
       dbus_glib
       udev
       curl
+      pango
+      cairo
     ];
 
 in
 
 stdenv.mkDerivation rec {
   name = "google-talk-plugin-${version}";
-  version = "3.2.4.0";
+  version = "3.5.1.0";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
-        sha256 = "0hd8iyv092fr4bz760xjawiad581hphddv608d0dvzy2bhnl17g1";
+        sha256 = "0ml4yirzdcladw11fq5d8lwqfqgb1fh9vpbzbzmhplvyj6mvkqrj";
       }
     else if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
-        sha256 = "13vqs4k16a6bzc5i4zpnakh31nkdqp7m9cv7p16r1sq5smv1331i";
+        sha256 = "1kfd26zygb76iqnr8n3f7k7n9h5bz0rf716n80crqzyasv51mn57";
       }
     else throw "Google Talk does not support your platform.";
 
diff --git a/pkgs/applications/networking/browsers/rekonq/default.nix b/pkgs/applications/networking/browsers/rekonq/default.nix
index 791b73c9c78c..4a46de14f9bc 100644
--- a/pkgs/applications/networking/browsers/rekonq/default.nix
+++ b/pkgs/applications/networking/browsers/rekonq/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, kdelibs, gettext, pkgconfig }:
+{ stdenv, fetchurl, kdelibs, gettext, pkgconfig, shared_desktop_ontologies, qca2, qoauth }:
 
 stdenv.mkDerivation rec {
-  name = "rekonq-0.9.0-1";
+  name = "rekonq-1.1";
 
   src = fetchurl {
-    url = "mirror://sf/rekonq/${name}.tar.bz2";
-    sha256 = "0vri6wdxxi7qkcjpgvscwa7m3ysy62jns924d07arvy8bmg5whc5";
+    url = "mirror://sourceforge/rekonq/${name}.tar.bz2";
+    sha256 = "1bs733mwyfb7bxnial8n49b82ip04sark2mxwlq7ixxsbgq7972l";
   };
 
-  buildInputs = [ kdelibs ];
+  buildInputs = [ kdelibs qca2 qoauth ];
 
-  buildNativeInputs = [ gettext pkgconfig ];
+  buildNativeInputs = [ gettext pkgconfig shared_desktop_ontologies ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix
index 938a26fd785b..c4d2f4b3782b 100644
--- a/pkgs/applications/networking/irc/konversation/default.nix
+++ b/pkgs/applications/networking/irc/konversation/default.nix
@@ -3,15 +3,15 @@
 
 let
   pn = "konversation";
-  v = "1.3.1";
+  v = "1.4";
 in
 
 stdenv.mkDerivation rec {
   name = "${pn}-${v}";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.bz2";
-    sha256 = "0wigcvi6lscy14dhm5nh1mkhfx7xxdq9g163pwpd0xndvybrfhfl";
+    url = "mirror://kde/stable/${pn}/${v}/src/${name}.tar.xz";
+    sha256 = "030vsbb18dlzsnjl3fzyd1m9wvvksiyc1lm45abi4q6x4xd60knv";
   };
 
   buildInputs = [ cmake qt4 perl gettext libXScrnSaver kdelibs kdepimlibs
diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix
index 5f15cbc495f0..b408f20b7110 100644
--- a/pkgs/applications/networking/p2p/ktorrent/default.nix
+++ b/pkgs/applications/networking/p2p/ktorrent/default.nix
@@ -5,14 +5,14 @@ stdenv.mkDerivation rec {
   name = pname + "-" + version;
 
   pname = "ktorrent";
-  version = "4.1.3";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "${meta.homepage}/downloads/${version}/${name}.tar.bz2";
-    sha256 = "0ih68bml6ic3mxk5l4ypgmxwyg9mglp57gw5igrnm5yszm7jz19g";
+    sha256 = "1b6w7i1vvq8mlw9yrlxvb51hvaj6rpl8lv9b9zagyl3wcanz73zd";
   };
 
-  patches = [ ./find-workspace.diff ./drop-taskmanager-dependency.patch ];
+  patches = [ ./find-workspace.diff ];
 
   KDEDIRS = libktorrent;
 
diff --git a/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch b/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch
deleted file mode 100644
index 2998b3926798..000000000000
--- a/pkgs/applications/networking/p2p/ktorrent/drop-taskmanager-dependency.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-commit 6d4a6ae51692966862ccb20d17cb217717519d40
-Author: Joris Guisson <joris.guisson@gmail.com>
-Date:   Wed Nov 23 20:17:08 2011 +0100
-
-    Use dbus to show ktorrent window from plasma applet. This removes the dependency on libtaskmanager.
-    
-    BUG: 287309
-Changelog removed by Yury G. Kudryashov
-
-diff --git a/plasma/applet/CMakeLists.txt b/plasma/applet/CMakeLists.txt
-index 3a72241..4307cf2 100644
---- a/plasma/applet/CMakeLists.txt
-+++ b/plasma/applet/CMakeLists.txt
-@@ -5,25 +5,15 @@ if(NOT QT_VERSION_OK)
- 
- else(NOT QT_VERSION_OK)
- 	
--	set(TASKMANAGER_FOUND FALSE)
--	FIND_PATH(TASKMANAGER_INCLUDE_DIR NAMES taskmanager.h  PATHS ${KDE4_INCLUDE_DIR}/taskmanager ${INCLUDE_INSTALL_DIR}/taskmanager.h)
--	FIND_LIBRARY(TASKMANAGER_LIBRARY NAMES taskmanager PATHS ${KDE4_LIB_DIR} ${LIB_INSTALL_DIR})
--
--	if(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
--		set(TASKMANAGER_FOUND TRUE)
--		message(STATUS "Found libtaskmanager: ${TASKMANAGER_LIBRARY} ")
--		include_directories(${TASKMANAGER_INCLUDE_DIR})
--		set(ktapplet_SRCS applet.cpp chunkbar.cpp fadingitem.cpp fadingnavigationwidget.cpp)
--		
--		kde4_add_ui_files(ktapplet_SRCS appletconfig.ui)
--		
--		kde4_add_plugin(plasma_applet_ktorrent ${ktapplet_SRCS})
--		target_link_libraries(plasma_applet_ktorrent  ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${TASKMANAGER_LIBRARY} ${LIBKTORRENT_LIBRARIES} ktcore)
--		
--		install(TARGETS plasma_applet_ktorrent DESTINATION ${PLUGIN_INSTALL_DIR})
--		install(FILES plasma-applet-ktorrent.desktop DESTINATION ${SERVICES_INSTALL_DIR})
--	endif(TASKMANAGER_INCLUDE_DIR AND TASKMANAGER_LIBRARY)
--
--	macro_log_feature(TASKMANAGER_FOUND "libtaskmanager" "libtaskmanager library and header files" "http://www.kde.org/" FALSE "" "libtaskmanager is needed for KTorrent Plasmoid")
-+	
-+	set(ktapplet_SRCS applet.cpp chunkbar.cpp fadingitem.cpp fadingnavigationwidget.cpp)
-+	
-+	kde4_add_ui_files(ktapplet_SRCS appletconfig.ui)
-+	
-+	kde4_add_plugin(plasma_applet_ktorrent ${ktapplet_SRCS})
-+	target_link_libraries(plasma_applet_ktorrent  ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${LIBKTORRENT_LIBRARIES} ktcore)
-+	
-+	install(TARGETS plasma_applet_ktorrent DESTINATION ${PLUGIN_INSTALL_DIR})
-+	install(FILES plasma-applet-ktorrent.desktop DESTINATION ${SERVICES_INSTALL_DIR})
- 
- endif(NOT QT_VERSION_OK)
-diff --git a/plasma/applet/applet.cpp b/plasma/applet/applet.cpp
-index 59e7191..bf09479 100644
---- a/plasma/applet/applet.cpp
-+++ b/plasma/applet/applet.cpp
-@@ -21,6 +21,9 @@
- #include "applet.h"
- #include <QFile>
- #include <QGraphicsLinearLayout>
-+#include <QDBusConnection>
-+#include <QDBusConnectionInterface>
-+#include <QDBusMessage>
- #include <KConfigDialog>
- #include <KLocale>
- #include <KRun>
-@@ -31,12 +34,11 @@
- #include <Plasma/IconWidget>
- #endif
- #include <Plasma/Label>
--#include <taskmanager/taskmanager.h>
--#include <taskmanager/task.h>
- #include <util/functions.h>
- #include "chunkbar.h"
- #include "fadingnavigationwidget.h"
- 
-+
- using namespace bt;
- 
- namespace ktplasma
-@@ -174,7 +176,8 @@ namespace ktplasma
- 		}
- 	}
- 
--	void Applet::updateNavigation() {
-+	void Applet::updateNavigation() 
-+	{
- 		navigation->setEnabled(connected_to_app && !sources.empty()
- 			&& (sources.count() > 1 || !sources.contains(current_source)));
- 	}
-@@ -193,12 +196,14 @@ namespace ktplasma
- 		}
- 	}
- 	
--	void Applet::updateSources() {
-+	void Applet::updateSources() 
-+	{
- 		sources = engine->sources();
- 		sources.removeOne("core");
- 	}
- 
--	void Applet::setSource(QString source) {
-+	void Applet::setSource(QString source) 
-+	{
- 		if (!current_source.isEmpty())
- 			engine->disconnectSource(current_source,this);
- 		clearData();
-@@ -340,20 +345,39 @@ namespace ktplasma
- 
- 	void Applet::iconClicked()
- 	{
--		TaskManager::TaskDict tasks = TaskManager::TaskManager::self()->tasks();
--		for (TaskManager::TaskDict::iterator i = tasks.begin();i != tasks.end();i ++)
-+		QDBusConnection session_bus = QDBusConnection::sessionBus();
-+		QDBusConnectionInterface* dbus_service = session_bus.interface();
-+		if (!session_bus.isConnected() || !dbus_service || !dbus_service->isServiceRegistered("org.ktorrent.ktorrent"))
- 		{
--			if (i.value()->className() == "ktorrent")
--			{
--				KWindowSystem::activateWindow(i.key());
--				return;
--			}
-+			// can't find the window, try launching it
-+			KUrl::List empty;
-+			KRun::run("ktorrent", empty, 0);
-+		}
-+		else
-+		{
-+			QDBusMessage msg = QDBusMessage::createMethodCall("org.ktorrent.ktorrent", "/ktorrent/MainWindow_1", "org.kde.KMainWindow", "winId");
-+			QDBusPendingCall call = session_bus.asyncCall(msg, 5000);
-+			QDBusPendingCallWatcher* watcher = new QDBusPendingCallWatcher(call ,this);
-+			connect(watcher, SIGNAL(finished(QDBusPendingCallWatcher*)), this, SLOT(dbusCallFinished(QDBusPendingCallWatcher*)));
- 		}
--
--		// can't find the window, try launching it
--		KUrl::List empty;
--		KRun::run("ktorrent", empty, 0);
- 	}
-+	
-+	void Applet::dbusCallFinished(QDBusPendingCallWatcher* self)
-+	{
-+		if (self->isError())
-+		{
-+			// call failed, try launching it
-+			KUrl::List empty;
-+			KRun::run("ktorrent", empty, 0);
-+		}
-+		else
-+		{
-+			QDBusPendingReply<qlonglong> reply = *self;
-+			KWindowSystem::activateWindow(reply.value());		
-+		}
-+		self->deleteLater();
-+	}
-+
- 
- 	void Applet::clearData()
- 	{		
-diff --git a/plasma/applet/applet.h b/plasma/applet/applet.h
-index 29b3265..d396118 100644
---- a/plasma/applet/applet.h
-+++ b/plasma/applet/applet.h
-@@ -27,6 +27,7 @@
- #include "fadingnavigationwidget.h"
- 
- class QGraphicsLinearLayout;
-+class QDBusPendingCallWatcher;
- 
- namespace Plasma
- {
-@@ -68,6 +69,7 @@ namespace ktplasma
- 		void iconClicked();
- 		void selectPrev();
- 		void selectNext();
-+		void dbusCallFinished(QDBusPendingCallWatcher* self);
- 		
- 	private:
- 		void updateTorrentCombo();
diff --git a/pkgs/applications/networking/vnstat/default.nix b/pkgs/applications/networking/vnstat/default.nix
index 69a0a7efde83..57afefd7dcdd 100644
--- a/pkgs/applications/networking/vnstat/default.nix
+++ b/pkgs/applications/networking/vnstat/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "vnstat-1.9";
-  
+  name = "vnstat-1.11";
+
   src = fetchurl {
-    url = http://humdi.net/vnstat/vnstat-1.9.tar.gz;
-    sha256 = "1migym0wig1s3b7d22ipxkd1p78sqc89dwx82qbf5hsb5q2fk4q1";
+    url = "http://humdi.net/vnstat/${name}.tar.gz";
+    sha256 = "09p0mlf49zzmh6jzwyvzd9k3jv7bl8i6w8xl65ns3dmv2zc7c65p";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index b64338adaf18..152246ee58f2 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, kdelibs, attica, perl, zlib, libpng, boost, mesa
 , kdepimlibs, createresources ? null, eigen, qca2, exiv2, soprano, marble, lcms2
 , fontconfig, freetype, sqlite, icu, libwpd, libwpg, pkgconfig, popplerQt4
-, libkdcraw, libxslt, fftw, glew, gsl, shared_desktop_ontologies }:
+, libkdcraw, libxslt, fftw, glew, gsl, shared_desktop_ontologies, okular }:
 
 stdenv.mkDerivation rec {
-  name = "calligra-2.4.2";
+  name = "calligra-2.5.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${name}/${name}.tar.bz2";
-    sha256 = "14wi8mr87aas12f75qi6p8x0pij365sbz4c737qhh4302fh8fsqg";
+    sha256 = "0q6ydi7hzrzwqzb38gikdh1l2zf8qp4i3nkgyb01148bjwrhvf21";
   };
 
   buildNativeInputs = [ cmake perl pkgconfig ];
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ kdelibs attica zlib libpng boost mesa kdepimlibs
     createresources eigen qca2 exiv2 soprano marble lcms2 fontconfig freetype
     sqlite icu libwpd libwpg popplerQt4 libkdcraw libxslt fftw glew gsl
-    shared_desktop_ontologies ];
+    shared_desktop_ontologies okular ];
 
   meta = {
     description = "A Qt/KDE office suite, formely known as koffice";
diff --git a/pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh b/pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh
index 1d751ec7049e..fb8cc8161145 100644
--- a/pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh
+++ b/pkgs/applications/office/openoffice/generate-libreoffice-srcs.sh
@@ -2,17 +2,19 @@
 
 # Take the list of files from the main package, ooo.lst.in
 
-echo '{fetchurl} : ['
+cat <<EOF
+[
+EOF
 
-while read a; do
-
-  URL=http://dev-www.libreoffice.org/src/$a
-
-  MD5=${a::32}
-  echo '(fetchurl {'
-  echo "  url = \"$URL\";"
-  echo "  md5 = \"$MD5\";"
-  echo '})'
+read file
+while read file; do
+  if [[ "$file" == @* ]]; then
+    break
+  fi
+  echo '{'
+  echo "  name = \"${file:33}\";"
+  echo "  md5 = \"${file:0:32}\";"
+  echo '}'
 done
 
 echo ']'
diff --git a/pkgs/applications/office/openoffice/libreoffice-srcs.nix b/pkgs/applications/office/openoffice/libreoffice-srcs.nix
index 6b98e32e46fd..47630e5cfdf3 100644
--- a/pkgs/applications/office/openoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/openoffice/libreoffice-srcs.nix
@@ -1,370 +1,374 @@
-{fetchurl} : [
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/48a9f787f43a09c0a9b7b00cd1fddbbf-hyphen-2.7.1.tar.gz";
-  md5 = "48a9f787f43a09c0a9b7b00cd1fddbbf";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/63ddc5116488985e820075e65fbe6aa4-openssl-0.9.8o.tar.gz";
-  md5 = "63ddc5116488985e820075e65fbe6aa4";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/db5ffcd50064421176e8afb7b85fd1a7-pixman-0.24.0.tar.bz2";
-  md5 = "db5ffcd50064421176e8afb7b85fd1a7";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0b49ede71c21c0599b0cc19b353a6cb3-README_apache-commons.txt";
+[
+{
+  name = "hyphen-2.8.3.tar.gz";
+  md5 = "86261f06c097d3e425a2f6d0b0635380";
+}
+{
+  name = "openssl-0.9.8v.tar.gz";
+  md5 = "51a40a81b3b7abe8a5c33670bd3da0ce";
+}
+{
+  name = "pixman-0.24.4.tar.bz2";
+  md5 = "c63f411b3ad147db2bcce1bf262a0e02";
+}
+{
+  name = "README_apache-commons.txt";
   md5 = "0b49ede71c21c0599b0cc19b353a6cb3";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e1c178b18f130b40494561f02bc1a948-libexttextcat-3.2.0.tar.bz2";
-  md5 = "e1c178b18f130b40494561f02bc1a948";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
+}
+{
+  name = "libexttextcat-3.3.1.tar.bz2";
+  md5 = "6097739c841f671cb21332b9cc593ae7";
+}
+{
+  name = "hsqldb_1_8_0.zip";
   md5 = "17410483b5b5f267aa18b7e00b65e6e0";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/1756c4fa6c616ae15973c104cd8cb256-Adobe-Core35_AFMs-314.tar.gz";
+}
+{
+  name = "Adobe-Core35_AFMs-314.tar.gz";
   md5 = "1756c4fa6c616ae15973c104cd8cb256";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz";
+}
+{
+  name = "STLport-4.5.tar.gz";
   md5 = "18f577b374d60b3c760a3a3350407632";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz";
+}
+{
+  name = "xmlsec1-1.2.14.tar.gz";
   md5 = "1f24ab1d39f4a51faf22244c94a6203f";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/24be19595acad0a2cae931af77a0148a-LICENSE_source-9.0.0.7-bj.html";
+}
+{
+  name = "LICENSE_source-9.0.0.7-bj.html";
   md5 = "24be19595acad0a2cae931af77a0148a";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz";
+}
+{
+  name = "lp_solve_5.5.tar.gz";
   md5 = "26b3e95ddf3d9c077c480ea45874b3b8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/284e768eeda0e2898b0d5bf7e26a016e-raptor-1.4.18.tar.gz";
+}
+{
+  name = "raptor-1.4.18.tar.gz";
   md5 = "284e768eeda0e2898b0d5bf7e26a016e";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz";
+}
+{
+  name = "jakarta-tomcat-5.0.30-src.tar.gz";
   md5 = "2a177023f9ea8ec8bd00837605c5df1b";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/2ae988b339daec234019a7066f96733e-commons-lang-2.3-src.tar.gz";
+}
+{
+  name = "commons-lang-2.3-src.tar.gz";
   md5 = "2ae988b339daec234019a7066f96733e";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/2c9b0f83ed5890af02c0df1c1776f39b-commons-httpclient-3.1-src.tar.gz";
+}
+{
+  name = "commons-httpclient-3.1-src.tar.gz";
   md5 = "2c9b0f83ed5890af02c0df1c1776f39b";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0be45d54cc5e1c2e3102e32b8c190346-liberation-fonts-ttf-1.07.1.tar.gz";
+}
+{
+  name = "liberation-fonts-ttf-1.07.1.tar.gz";
   md5 = "0be45d54cc5e1c2e3102e32b8c190346";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
+}
+{
+  name = "swingExSrc.zip";
   md5 = "35c94d2df8893241173de1d16b6034c0";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip";
+}
+{
+  name = "gentiumbasic-fonts-1.10.zip";
   md5 = "35efabc239af896dfb79be7ebdd6e6b9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
+}
+{
+  name = "sacjava-1.3.zip";
   md5 = "39bb3fcea1514f1369fcfc87542390fd";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3ade8cfe7e59ca8e65052644fed9fca4-epm-3.7.tar.gz";
+}
+{
+  name = "epm-3.7.tar.gz";
   md5 = "3ade8cfe7e59ca8e65052644fed9fca4";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3c219630e4302863a9a83d0efde889db-commons-logging-1.1.1-src.tar.gz";
+}
+{
+  name = "commons-logging-1.1.1-src.tar.gz";
   md5 = "3c219630e4302863a9a83d0efde889db";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/48470d662650c3c074e1c3fabbc67bbd-README_source-9.0.0.7-bj.txt";
+}
+{
+  name = "README_source-9.0.0.7-bj.txt";
   md5 = "48470d662650c3c074e1c3fabbc67bbd";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/48d8169acc35f97e05d8dcdfd45be7f2-lucene-2.3.2.tar.gz";
-  md5 = "48d8169acc35f97e05d8dcdfd45be7f2";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/4a660ce8466c9df01f19036435425c3a-glibc-2.1.3-stub.tar.gz";
+}
+{
+  name = "clucene-core-2.3.3.4.tar.gz";
+  md5 = "48d647fbd8ef8889e5a7f422c1bfda94";
+}
+{
+  name = "glibc-2.1.3-stub.tar.gz";
   md5 = "4a660ce8466c9df01f19036435425c3a";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz";
+}
+{
+  name = "cairo-1.10.2.tar.gz";
   md5 = "f101a9e88b783337b20b2e26dfd26d5f";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/599dc4cc65a07ee868cf92a667a913d2-xpdf-3.02.tar.gz";
+}
+{
+  name = "xpdf-3.02.tar.gz";
   md5 = "599dc4cc65a07ee868cf92a667a913d2";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/7740a8ec23878a2f50120e1faa2730f2-libxml2-2.7.6.tar.gz";
+}
+{
+  name = "libxml2-2.7.6.tar.gz";
   md5 = "7740a8ec23878a2f50120e1faa2730f2";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/7376930b0d3f3d77a685d94c4a3acda8-STLport-4.5-0119.tar.gz";
+}
+{
+  name = "STLport-4.5-0119.tar.gz";
   md5 = "7376930b0d3f3d77a685d94c4a3acda8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
+}
+{
+  name = "rhino1_5R5.zip";
   md5 = "798b2ffdc8bcfe7bca2cf92b62caf685";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ecb2e37e45c9933e2a963cabe03670ab-curl-7.19.7.tar.gz";
+}
+{
+  name = "curl-7.19.7.tar.gz";
   md5 = "ecb2e37e45c9933e2a963cabe03670ab";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/8294d6c42e3553229af9934c5c0ed997-stax-api-1.0-2-sources.jar";
+}
+{
+  name = "stax-api-1.0-2-sources.jar";
   md5 = "8294d6c42e3553229af9934c5c0ed997";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/bd30e9cf5523cdfc019b94f5e1d7fd19-cppunit-1.12.1.tar.gz";
+}
+{
+  name = "cppunit-1.12.1.tar.gz";
   md5 = "bd30e9cf5523cdfc019b94f5e1d7fd19";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a169ab152209200a7bad29a275cb0333-seamonkey-1.1.14.source.tar.gz";
+}
+{
+  name = "seamonkey-1.1.14.source.tar.gz";
   md5 = "a169ab152209200a7bad29a275cb0333";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a4d9b30810a434a3ed39fc0003bbd637-LICENSE_stax-api-1.0-2-sources.html";
+}
+{
+  name = "LICENSE_stax-api-1.0-2-sources.html";
   md5 = "a4d9b30810a434a3ed39fc0003bbd637";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
+}
+{
+  name = "xsltml_2.1.2.zip";
   md5 = "a7983f859eafb2677d7ff386a023bc40";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip";
+}
+{
+  name = "source-9.0.0.7-bj.zip";
   md5 = "ada24d37d8d638b3d8a9985e80bc2978";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/af3c3acf618de6108d65fcdc92b492e1-commons-codec-1.3-src.tar.gz";
+}
+{
+  name = "commons-codec-1.3-src.tar.gz";
   md5 = "af3c3acf618de6108d65fcdc92b492e1";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/bc702168a2af16869201dbe91e46ae48-LICENSE_Python-2.6.1";
+}
+{
+  name = "LICENSE_Python-2.6.1";
   md5 = "bc702168a2af16869201dbe91e46ae48";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/c441926f3a552ed3e5b274b62e86af16-STLport-4.0.tar.gz";
+}
+{
+  name = "STLport-4.0.tar.gz";
   md5 = "c441926f3a552ed3e5b274b62e86af16";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ca66e26082cab8bb817185a116db809b-redland-1.0.8.tar.gz";
+}
+{
+  name = "redland-1.0.8.tar.gz";
   md5 = "ca66e26082cab8bb817185a116db809b";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d4c4d91ab3a8e52a2e69d48d34ef4df4-core.zip";
+}
+{
+  name = "core.zip";
   md5 = "d4c4d91ab3a8e52a2e69d48d34ef4df4";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d70951c80dabecc2892c919ff5d07172-db-4.7.25.NC-custom.tar.gz";
+}
+{
+  name = "db-4.7.25.NC-custom.tar.gz";
   md5 = "d70951c80dabecc2892c919ff5d07172";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e0707ff896045731ff99e99799606441-README_db-4.7.25.NC-custom.txt";
+}
+{
+  name = "README_db-4.7.25.NC-custom.txt";
   md5 = "e0707ff896045731ff99e99799606441";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e81c2f0953aa60f8062c05a4673f2be0-Python-2.6.1.tar.bz2";
+}
+{
+  name = "Python-2.6.1.tar.bz2";
   md5 = "e81c2f0953aa60f8062c05a4673f2be0";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e61d0364a30146aaa3001296f853b2b9-libxslt-1.1.26.tar.gz";
+}
+{
+  name = "libxslt-1.1.26.tar.gz";
   md5 = "e61d0364a30146aaa3001296f853b2b9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ea570af93c284aa9e5621cd563f54f4d-bsh-2.0b1-src.tar.gz";
+}
+{
+  name = "bsh-2.0b1-src.tar.gz";
   md5 = "ea570af93c284aa9e5621cd563f54f4d";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz";
+}
+{
+  name = "vigra1.4.0.tar.gz";
   md5 = "ea91f2fb4212a21d708aced277e6e85a";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ee8b492592568805593f81f8cdf2a04c-expat-2.0.1.tar.gz";
-  md5 = "ee8b492592568805593f81f8cdf2a04c";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/fb7ba5c2182be4e73748859967455455-README_stax-api-1.0-2-sources.txt";
+}
+{
+  name = "expat-2.1.0.tar.gz";
+  md5 = "dd7dab7a5fea97d2a6a43f511449b7cd";
+}
+{
+  name = "README_stax-api-1.0-2-sources.txt";
   md5 = "fb7ba5c2182be4e73748859967455455";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/fca8706f2c4619e2fa3f8f42f8fc1e9d-rasqal-0.9.16.tar.gz";
+}
+{
+  name = "rasqal-0.9.16.tar.gz";
   md5 = "fca8706f2c4619e2fa3f8f42f8fc1e9d";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz";
-  md5 = "fdb27bfe2dbe2e7b57ae194d9bf36bab";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/f872f4ac066433d8ff92f5e316b36ff9-dejavu-fonts-ttf-2.33.zip";
+}
+{
+  name = "dejavu-fonts-ttf-2.33.zip";
   md5 = "f872f4ac066433d8ff92f5e316b36ff9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0981bda6548a8c8233ffce2b6e4b2a23-mysql-connector-c++-1.1.0.tar.gz";
+}
+{
+  name = "mysql-connector-c++-1.1.0.tar.gz";
   md5 = "0981bda6548a8c8233ffce2b6e4b2a23";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/061a9f17323117c9358ed60f33ecff78-postgresql-9.1.1.tar.bz2";
+}
+{
+  name = "postgresql-9.1.1.tar.bz2";
   md5 = "061a9f17323117c9358ed60f33ecff78";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/067201ea8b126597670b5eff72e1f66c-mythes-1.2.0.tar.gz";
-  md5 = "067201ea8b126597670b5eff72e1f66c";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3404ab6b1792ae5f16bbd603bd1e1d03-libformula-1.1.7.zip";
+}
+{
+  name = "mythes-1.2.2.tar.gz";
+  md5 = "e1e255dc43dbcbb34cb19e8a0eba90ae";
+}
+{
+  name = "libformula-1.1.7.zip";
   md5 = "3404ab6b1792ae5f16bbd603bd1e1d03";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3bdf40c0d199af31923e900d082ca2dd-libfonts-1.1.6.zip";
+}
+{
+  name = "libfonts-1.1.6.zip";
   md5 = "3bdf40c0d199af31923e900d082ca2dd";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/8ce2fcd72becf06c41f7201d15373ed9-librepository-1.1.6.zip";
+}
+{
+  name = "librepository-1.1.6.zip";
   md5 = "8ce2fcd72becf06c41f7201d15373ed9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/97b2d4dba862397f446b217e2b623e71-libloader-1.1.6.zip";
+}
+{
+  name = "libloader-1.1.6.zip";
   md5 = "97b2d4dba862397f446b217e2b623e71";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip";
+}
+{
+  name = "libxml-1.1.7.zip";
   md5 = "ace6ab49184e329db254e454a010f56d";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d8bd5eed178db6e2b18eeed243f85aa8-flute-1.1.6.zip";
+}
+{
+  name = "flute-1.1.6.zip";
   md5 = "d8bd5eed178db6e2b18eeed243f85aa8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip";
+}
+{
+  name = "liblayout-0.2.10.zip";
   md5 = "db60e4fde8dd6d6807523deb71ee34dc";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/eeb2c7ddf0d302fba4bfc6e97eac9624-libbase-1.1.6.zip";
+}
+{
+  name = "libbase-1.1.6.zip";
   md5 = "eeb2c7ddf0d302fba4bfc6e97eac9624";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/f94d9870737518e3b597f9265f4e9803-libserializer-1.1.6.zip";
+}
+{
+  name = "libserializer-1.1.6.zip";
   md5 = "f94d9870737518e3b597f9265f4e9803";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip";
+}
+{
+  name = "flow-engine-0.9.4.zip";
   md5 = "ba2930200c9f019c2d93a8c88c651a0f";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/ff369e69ef0f0143beb5626164e87ae2-neon-0.29.5.tar.gz";
+}
+{
+  name = "neon-0.29.5.tar.gz";
   md5 = "ff369e69ef0f0143beb5626164e87ae2";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3dd55b952826d2b32f51308f2f91aa89-gettext-0.18.1.1.tar.gz";
+}
+{
+  name = "gettext-0.18.1.1.tar.gz";
   md5 = "3dd55b952826d2b32f51308f2f91aa89";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/9f6e85e1e38490c3956f4415bcd33e6e-glib-2.28.1.tar.gz";
+}
+{
+  name = "glib-2.28.1.tar.gz";
   md5 = "9f6e85e1e38490c3956f4415bcd33e6e";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a7d6c5f2fe2d481149ed3ba807b5c043-gdk-pixbuf-2.23.0.tar.gz";
+}
+{
+  name = "gdk-pixbuf-2.23.0.tar.gz";
   md5 = "a7d6c5f2fe2d481149ed3ba807b5c043";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3a84ac2da37cae5bf7ce616228c6fbde-libgsf-1.14.19.tar.gz";
+}
+{
+  name = "libgsf-1.14.19.tar.gz";
   md5 = "3a84ac2da37cae5bf7ce616228c6fbde";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/22ad1c8d3fda7e73b0798035f3dd96bc-pango-1.28.3.tar.gz";
+}
+{
+  name = "pango-1.28.3.tar.gz";
   md5 = "22ad1c8d3fda7e73b0798035f3dd96bc";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0611e099e807210cf738dcb41425d104-libcroco-0.6.2.tar.gz";
+}
+{
+  name = "libcroco-0.6.2.tar.gz";
   md5 = "0611e099e807210cf738dcb41425d104";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d7a242ca43e33e1b63d3073f9d46a6a8-librsvg-2.32.1.tar.gz";
+}
+{
+  name = "librsvg-2.32.1.tar.gz";
   md5 = "d7a242ca43e33e1b63d3073f9d46a6a8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/220035f111ea045a51e290906025e8b5-libpng-1.5.1.tar.gz";
-  md5 = "220035f111ea045a51e290906025e8b5";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/a2c10c04f396a9ce72894beb18b4e1f9-jpeg-8c.tar.gz";
+}
+{
+  name = "libpng-1.5.10.tar.gz";
+  md5 = "9e5d864bce8f06751bbd99962ecf4aad";
+}
+{
+  name = "jpeg-8c.tar.gz";
   md5 = "a2c10c04f396a9ce72894beb18b4e1f9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/c735eab2d659a96e5a594c9e8541ad63-zlib-1.2.5.tar.gz";
-  md5 = "c735eab2d659a96e5a594c9e8541ad63";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/314e582264c36b3735466c522899aa07-icu4c-4_4_2-src.tgz";
-  md5 = "314e582264c36b3735466c522899aa07";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/451ccf439a36a568653b024534669971-ConvertTextToNumber-1.3.2.oxt";
+}
+{
+  name = "zlib-1.2.7.tar.bz2";
+  md5 = "2ab442d169156f34c379c968f3f482dd";
+}
+{
+  name = "icu4c-49_1_1-src.tgz";
+  md5 = "7c53f83e0327343f4060c0eb83842daf";
+}
+{
+  name = "ConvertTextToNumber-1.3.2.oxt";
   md5 = "451ccf439a36a568653b024534669971";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/b99fb620b1324b4ce79ee6998b507146-JLanguageTool-1.4.0.tar.bz2";
-  md5 = "b99fb620b1324b4ce79ee6998b507146";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/debc62758716a169df9f62e6ab2bc634-zlib-1.2.3.tar.gz";
-  md5 = "debc62758716a169df9f62e6ab2bc634";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0f63ee487fda8f21fafa767b3c447ac9-ixion-0.2.0.tar.gz";
+}
+{
+  name = "JLanguageTool-1.7.0.tar.bz2";
+  md5 = "b63e6340a02ff1cacfeadb2c42286161";
+}
+{
+  name = "ixion-0.2.0.tar.gz";
   md5 = "0f63ee487fda8f21fafa767b3c447ac9";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/71474203939fafbe271e1263e61d083e-nss-3.12.8-with-nspr-4.8.6.tar.gz";
-  md5 = "71474203939fafbe271e1263e61d083e";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/9d283e02441d8cebdcd1e5d9df227d67-libwpg-0.2.1.tar.bz2";
+}
+{
+  name = "nss-3.13.5-with-nspr-4.9.1.tar.gz";
+  md5 = "a0a861f539f0e7a91d05e6b9457e4db1";
+}
+{
+  name = "libwpg-0.2.1.tar.bz2";
   md5 = "9d283e02441d8cebdcd1e5d9df227d67";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/c01351d7db2b205de755d58769288224-libwpd-0.9.4.tar.bz2";
+}
+{
+  name = "libwpd-0.9.4.tar.bz2";
   md5 = "c01351d7db2b205de755d58769288224";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/34dd7951abbda99b7a75a09993a37965-libwps-0.2.4.tar.bz2";
-  md5 = "34dd7951abbda99b7a75a09993a37965";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2";
+}
+{
+  name = "libwps-0.2.7.tar.bz2";
+  md5 = "d197bd6211669a2fa4ca648faf04bcb1";
+}
+{
+  name = "mdds_0.5.3.tar.bz2";
   md5 = "0ff7d225d087793c8c2c680d77aac3e7";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2";
+}
+{
+  name = "boost_1_44_0.tar.bz2";
   md5 = "f02578f5218f217a9f20e9c30e119c6a";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3121aaf3e13e5d88dfff13fb4a5f1ab8-hunspell-1.3.2.tar.gz";
+}
+{
+  name = "hunspell-1.3.2.tar.gz";
   md5 = "3121aaf3e13e5d88dfff13fb4a5f1ab8";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/3bf481ca95109b14435125c0dd1f2217-graphite2-1.0.3.tgz";
+}
+{
+  name = "graphite2-1.0.3.tgz";
   md5 = "3bf481ca95109b14435125c0dd1f2217";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/d28864eb2b59bb57b034c0d4662a3cee-libvisio-0.0.15.tar.bz2";
-  md5 = "d28864eb2b59bb57b034c0d4662a3cee";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/e7a384790b13c29113e22e596ade9687-LinLibertineG-20120116.zip";
+}
+{
+  name = "libvisio-0.0.18.tar.bz2";
+  md5 = "a9a1db27688bad49418667b434d29c1f";
+}
+{
+  name = "LinLibertineG-20120116.zip";
   md5 = "e7a384790b13c29113e22e596ade9687";
-})
-(fetchurl {
-  url = "http://dev-www.libreoffice.org/src/7c2549f6b0a8bb604e6c4c729ffdcfe6-libcmis-0.1.0.tar.gz";
-  md5 = "7c2549f6b0a8bb604e6c4c729ffdcfe6";
-})
+}
+{
+  name = "libcmis-0.2.3.tar.gz";
+  md5 = "0d2dcdfbf28d6208751b33057f5361f0";
+}
+{
+  name = "libcdr-0.0.8.tar.bz2";
+  md5 = "ce5a1def34578b75959ac31210f031f6";
+}
+{
+  name = "lcms2-2.3.tar.gz";
+  md5 = "327348d67c979c88c2dec59a23a17d85";
+}
+{
+  name = "libvisio-0.0.19.tar.bz2";
+  md5 = "94e7f271e38c976462558b4278590178";
+}
 ]
diff --git a/pkgs/applications/office/openoffice/libreoffice.nix b/pkgs/applications/office/openoffice/libreoffice.nix
index da786c23c33e..d336266ccaf1 100644
--- a/pkgs/applications/office/openoffice/libreoffice.nix
+++ b/pkgs/applications/office/openoffice/libreoffice.nix
@@ -1,37 +1,59 @@
 { stdenv, fetchurl, pam, python, tcsh, libxslt, perl, ArchiveZip
-, CompressZlib, zlib, libjpeg, expat, pkgconfig, freetype, libwpd
+, CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
 , libxml2, db4, sablotron, curl, libXaw, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, libXext, libX11, libXtst, libXi, cups
 , libXinerama, openssl, gperf, cppunit, GConf, ORBit2, poppler
 , librsvg, gnome_vfs, gstreamer, gst_plugins_base, mesa
-, autoconf, automake, openldap, bash
+, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
+, libwpg, dbus_glib, qt4, kde4, clucene_core_2, libcdr, lcms2, vigra
+, libiodbc, mdds, saneBackends, mythes, libexttextcat, libvisio
 , fontsConf
 , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" ]
 }:
 
 let
   langsSpaces = stdenv.lib.concatStringsSep " " langs;
-in
-stdenv.mkDerivation rec {
-  name = "libreoffice-3.5.1.2";
-
-  srcs_download = import ./libreoffice-srcs.nix { inherit fetchurl; };
-
-  src_translation = fetchurl {
-    url = "http://download.documentfoundation.org/libreoffice/src/3.5.1/libreoffice-translations-3.5.1.2.tar.xz";
-    sha256 = "cf8ed662f7d0a679bd3a242a7f88cf445b769afdcd8a3d3df655d774f296972a";
+  major = "3";
+  minor = "6";
+  patch = "1";
+  tweak = "2";
+  subdir = "${major}.${minor}.${patch}";
+  version = "${subdir}.${tweak}";
+  fetchThirdParty = {name, md5}: fetchurl {
+    inherit name md5;
+    url = "http://dev-www.libreoffice.org/src/${md5}-${name}";
   };
-
-  src_help = fetchurl {
-    url = "http://download.documentfoundation.org/libreoffice/src/3.5.1/libreoffice-help-3.5.1.2.tar.xz";
-    sha256 = "43b07225854b1c8b3195b252453b8e97d2d58d83909bf4b5f920cb08b7f33e30";
+  fetchSrc = {name, sha256}: fetchurl {
+    url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
+    inherit sha256;
   };
-
-  src = fetchurl {
-    url = "http://download.documentfoundation.org/libreoffice/src/3.5.1/libreoffice-core-3.5.1.2.tar.xz";
-    sha256 = "61cd12e20fb9460178fc6f08100a9a189c2390c21e2e47eb66e07a5b0ce5cd94";
+  srcs = {
+    third_party = [ (fetchurl rec {
+        url = "http://dev-www.libreoffice.org/extern/${md5}-${name}";
+        md5 = "185d60944ea767075d27247c3162b3bc";
+        name = "unowinreg.dll";
+      }) ] ++ (map fetchThirdParty (import ./libreoffice-srcs.nix));
+    translations = fetchSrc {
+      name = "translations";
+      sha256 = "0id4ad8h3fl4s2ax6r4w4af74xvagkv0qwy50f483lqq3a3pl7fl";
+    };
+
+    help = fetchSrc {
+      name = "help";
+      sha256 = "0jd3l3rkhmdvrvgklkmrh9zsg9hlv3vhy6s97fnzhpzr90sjqrs1";
+    };
+
+    core = fetchSrc {
+      name = "core";
+      sha256 = "12zc0zviy1p3gk1v5nm4ks4rzscn68lpnl3kis4q693zhsk8jyh3";
+    };
   };
+in
+stdenv.mkDerivation rec {
+  name = "libreoffice-${version}";
+
+  src = srcs.core;
 
   # Openoffice will open libcups dynamically, so we link it directly
   # to make its dlopen work.
@@ -40,47 +62,44 @@ stdenv.mkDerivation rec {
   # If we call 'configure', 'make' will then call configure again without parameters.
   # It's their system.
   configureScript = "./autogen.sh";
+  dontUseCmakeConfigure = true;
+
+  postUnpack = ''
+    mkdir -v $sourceRoot/src
+  '' + (stdenv.lib.concatMapStrings (f: "ln -sv ${f} $sourceRoot/src/${f.outputHash}-${f.name}\n") srcs.third_party)
+  + ''
+    ln -sv ${srcs.help} $sourceRoot/src/${srcs.help.name}
+    ln -sv ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
+  '';
 
-  preConfigure = ''
-    tar xf $src_translation
-    # Libreoffice expects by default the translations in ./translations
-    mv libreoffice-translations-3.5.1.2/translations .
-    tar xf $src_help
-    # Libreoffice expects by default the help in ./helpcontent2
-    mv libreoffice-help-3.5.1.2/helpcontent2 .
-
-    sed -i 's,/bin/bash,${bash}/bin/bash,' sysui/desktop/share/makefile.mk solenv/bin/localize
-    sed -i 's,/usr/bin/env bash,${bash}/bin/bash,' bin/unpack-sources \
-      solenv/bin/install-gdb-printers solenv/bin/striplanguagetags.sh
-
-    sed -i 's,/usr/bin/env perl,${perl}/bin/perl,' solenv/bin/concat-deps.pl solenv/bin/ooinstall
+  patchPhase = ''
+    find . -type f -print0 | xargs -0 sed -i \
+      -e 's,! */bin/bash,!${bash}/bin/bash,' -e 's,\(!\|SHELL=\) */usr/bin/env bash,\1${bash}/bin/bash,' \
+      -e 's,! */usr/bin/perl,!${perl}/bin/perl,' -e 's,! */usr/bin/env perl,!${perl}/bin/perl,' \
+      -e 's,! */usr/bin/python,!${python}/bin/python,' -e 's,! */usr/bin/env python,!${python}/bin/python,'
     sed -i 's,ANT_OPTS+="\(.*\)",ANT_OPTS+=\1,' apache-commons/java/*/makefile.mk
+  '';
 
+  QT4DIR = qt4;
+  KDE4DIR = kde4.kdelibs;
+
+  # I set --with-num-cpus=$NIX_BUILD_CORES, as it's the equivalent of
+  # enableParallelBuilding=true in this build system.
+  preConfigure = ''
     # Needed to find genccode
     PATH=$PATH:${icu}/sbin
 
-    configureFlagsArray=("--with-lang=${langsSpaces}")
+    configureFlagsArray=("--with-lang=${langsSpaces}" "--with-num-cpus=$NIX_BUILD_CORES")
   '';
 
+  makeFlags = "SHELL=${bash}/bin/bash";
+
   buildPhase = ''
     # This is required as some cppunittests require fontconfig configured
     export FONTCONFIG_FILE=${fontsConf}
-    mkdir src
-    for a in $srcs_download; do
-      FILE=$(basename $a)
-      # take out the hash
-      cp -v $a src/$(echo $FILE | sed 's/[^-]*-//')
-    done
-
-    # Remove an exit 1, ignoring the lack of wget or curl
-    sed '/wget nor curl/{n;d}' -i download
-    ./download
 
     # Fix sysui: wants to create a tar for root
     sed -i -e 's,--own.*root,,' sysui/desktop/slackware/makefile.mk
-    # Fix redland: wants to set rpath to /usr/local/lib
-    sed -i -e 's,^CONFIGURE_FLAGS.*,& --prefix='$TMPDIR, redland/redland/makefile.mk \
-      redland/raptor/makefile.mk redland/rasqal/makefile.mk
 
     # This to aovid using /lib:/usr/lib at linking
     sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
@@ -99,27 +118,29 @@ stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--enable-verbose"
+    #"--enable-verbose"
 
     # Without these, configure does not finish
     "--without-junit"
-    "--without-system-mythes"
 
     # Without this, it wants to download
+    "--enable-python=system"
+    "--enable-dbus"
+    "--enable-kde4"
+    "--disable-odk"
     "--with-system-cairo"
     "--with-system-libs"
-    "--enable-python=system"
-    "--with-system-boost"
+    "--with-boost-libdir=${boost}/lib"
     "--with-system-db"
+    "--with-openldap" "--enable-ldap"
+    "--without-system-libwps"
+    "--without-doxygen"
 
     # I imagine this helps. Copied from go-oo.
     "--disable-epm"
     "--disable-mathmldtd"
     "--disable-mozilla"
-    "--disable-odk"
-    "--disable-dbus"
     "--disable-kde"
-    "--disable-kde4"
     "--disable-postgresql-sdbc"
     "--with-package-format=native"
     "--with-jdk-home=${jdk}"
@@ -131,31 +152,25 @@ stdenv.mkDerivation rec {
     "--without-system-beanshell"
     "--without-system-hsqldb"
     "--without-system-jars"
-    "--without-system-hunspell"
     "--without-system-altlinuxhyph"
     "--without-system-lpsolve"
     "--without-system-graphite"
-    "--without-system-mozilla"
-    "--without-system-libwps"
-    "--without-system-libwpg"
-    "--without-system-redland"
-    "--without-system-libvisio"
+    "--without-system-mozilla-headers"
     "--without-system-libcmis"
-    "--without-system-nss"
-    "--without-system-sampleicc"
-    "--without-system-libexttextcat"
 
     "--with-java-target-version=1.6" # The default 1.7 not supported
   ];
 
-  buildInputs = [
-    pam python tcsh libxslt perl ArchiveZip CompressZlib zlib 
-    libjpeg expat pkgconfig freetype libwpd libxml2 db4 sablotron curl 
-    libXaw fontconfig libsndfile neon bison flex zip unzip gtk libmspack 
-    getopt file jdk cairo which icu boost libXext libX11 libXtst libXi mesa
-    cups libXinerama openssl gperf GConf ORBit2 gnome_vfs gstreamer gst_plugins_base
-    ant autoconf openldap cppunit poppler librsvg automake
-  ];
+  buildInputs =
+    [ ant ArchiveZip autoconf automake bison boost cairo clucene_core_2
+      CompressZlib cppunit cups curl db4 dbus_glib expat file flex fontconfig
+      freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
+      hunspell icu jdk kde4.kdelibs lcms2 libcdr libexttextcat libiodbc libjpeg
+      libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
+      libXaw libXext libXi libXinerama libxml2 libxslt libXtst mdds mesa mythes
+      neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler
+      python sablotron saneBackends tcsh unzip vigra which zip zlib
+    ];
 
   meta = {
     description = "Libre-office, variant of openoffice.org";
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index 9b27a3e23797..44ffdf57db58 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, kdelibs, grantlee, qca2, libofx, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "skrooge-1.3.0";
+  name = "skrooge-1.3.2";
 
   src = fetchurl {
     url = "http://skrooge.org/files/${name}.tar.bz2";
-    sha256 = "1sfzzn9xz01c0095w4scckiiwv2gfbaxx05h7ds5n02a113w53kz";
+    sha256 = "18j36yamxzfwpnnnjiach22q9088c2nlcilzh2p24gjhgnnd0v6r";
   };
 
   buildInputs = [ kdelibs grantlee qca2 libofx ];
diff --git a/pkgs/applications/version-management/mr/default.nix b/pkgs/applications/version-management/mr/default.nix
index ca272504517a..9e8024d7b191 100644
--- a/pkgs/applications/version-management/mr/default.nix
+++ b/pkgs/applications/version-management/mr/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchgit, fetchgitrevision, perl }:
+{ stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
 
-  version = "1.12";
+  version = "1.13";
   name = "mr-" + version;
 
-  src = fetchgit {
-    url = "git://git.kitenet.net/mr.git";
-    rev = "353f63c968368edea9b14261f510c34ce4e0c97f";
+  src = fetchurl {
+    url = "http://ftp.de.debian.org/debian/pool/main/m/mr/mr_${version}.tar.gz";
+    sha256 = "1q3qxk8dwbv30v2xxh852wnwl1msgkvk5cgxyicpqj8kh5b96zlz";
   };
 
   buildInputs = [perl];
@@ -17,12 +17,11 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    ensureDir $out/bin
-    ensureDir $out/share/man/man1
-    cp mr $out/bin
-    cp webcheckout $out/bin
-    cp mr.1 $out/share/man/man1
-    cp webcheckout.1 $out/share/man/man1
+    mkdir -pv $out/bin $out/share/man/man1
+    cp -v mr $out/bin
+    cp -v webcheckout $out/bin
+    cp -v mr.1 $out/share/man/man1
+    cp -v webcheckout.1 $out/share/man/man1
   '';
       
   meta = {
diff --git a/pkgs/applications/video/bangarang/default.nix b/pkgs/applications/video/bangarang/default.nix
index 2fe4b4d0bdc2..0bc7476dc820 100644
--- a/pkgs/applications/video/bangarang/default.nix
+++ b/pkgs/applications/video/bangarang/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, soprano, shared_desktop_ontologies, kdemultimedia, taglib, glibc, gettext }:
 stdenv.mkDerivation rec {
-  name = "bangarang-2.0";
+  name = "bangarang-2.1";
 
   src = fetchurl {
     url = "http://bangarangissuetracking.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1fixqx56k0mk0faz35rzpdg6zaa0mvm4548rg0g7fhafl35fxzlz";
+    sha256 = "1g4pap79k8qaqi0py34xqvisxln1nc5hbvph692ah3af06n6cly1";
   };
 
-  buildInputs = [ cmake qt4 kdelibs automoc4 phonon soprano shared_desktop_ontologies kdemultimedia taglib glibc gettext ];
+  buildInputs = [ kdelibs phonon soprano shared_desktop_ontologies kdemultimedia taglib gettext ];
+  buildNativeInputs = [ cmake ];
 
   meta = with stdenv.lib; {
     description = "A media player for KDE based on Nepomuk and Phonon";
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://bangarangkde.wordpress.com/;
     license = "GPLv3";
-    maintainers = [ maintainers.phreedom ];
+    maintainers = [ maintainers.phreedom maintainers.urkud ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/video/kdenlive/default.nix b/pkgs/applications/video/kdenlive/default.nix
index d8620eb33cdd..b518e9c7456a 100644
--- a/pkgs/applications/video/kdenlive/default.nix
+++ b/pkgs/applications/video/kdenlive/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, automoc4, phonon
 , mlt, gettext , qimageblitz, qjson, shared_mime_info, soprano
-, pkgconfig }:
+, pkgconfig, shared_desktop_ontologies }:
 
 stdenv.mkDerivation rec {
   name = "kdenlive-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = 
     [ cmake qt4 perl kdelibs automoc4 phonon mlt gettext qimageblitz
-      qjson shared_mime_info soprano pkgconfig 
+      qjson shared_mime_info soprano pkgconfig shared_desktop_ontologies
     ];
 
   meta = {
diff --git a/pkgs/applications/virtualization/xen/default.nix b/pkgs/applications/virtualization/xen/default.nix
index d898daad2a77..3cb16a6b4425 100644
--- a/pkgs/applications/virtualization/xen/default.nix
+++ b/pkgs/applications/virtualization/xen/default.nix
@@ -6,7 +6,7 @@ with stdenv.lib;
 
 let
 
-  version = "4.1.2";
+  version = "4.0.3";
 
   libDir = if stdenv.is64bit then "lib64" else "lib";
 
@@ -30,24 +30,23 @@ let
       }
     ];
 
-  ipxeSrc =
-      { url = http://xenbits.xensource.com/xen-extfiles/ipxe-git-v1.0.0.tar.gz;
-        sha256 = "d3128bfda9a1542049c278755f85bbcbb8441da7bfd702d511ce237fcf86a723";
-      };
-in
+in 
 
 stdenv.mkDerivation {
   name = "xen-${version}";
 
   src = fetchurl {
     url = "http://bits.xensource.com/oss-xen/release/${version}/xen-${version}.tar.gz";
-    sha256 = "7d9c93057cf480d3f1efa792b19285a84fa3c06060ea5c5c453be00887389b0d";
+    sha256 = "0p4i7mm8cdsr8i9z3dij6nriyvz6la2rhm7jkyk2n8h62nnxi1b5";
   };
 
   patches =
     [ # Xen looks for headers in /usr/include and for libraries using
       # ldconfig.  Don't do that.
       ./has-header.patch
+
+      # GCC 4.5 compatibility.
+      ./gcc-4.5.patch
     ];
 
   buildInputs =
@@ -80,6 +79,9 @@ stdenv.mkDerivation {
       substituteInPlace tools/xenstat/Makefile \
         --replace /usr/include/curses.h ${ncurses}/include/curses.h
 
+      substituteInPlace tools/ioemu-qemu-xen/xen-hooks.mak \
+        --replace /usr/include/pci ${pciutils}/include/pci
+
       # Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't
       # print the GCC version number properly.
       substituteInPlace xen/Makefile \
@@ -103,18 +105,12 @@ stdenv.mkDerivation {
         --replace 'XENDOM_CONFIG=/etc/sysconfig/xendomains' "" \
         --replace /bin/ls ls
 
-      grep -rl /etc/xen * | xargs sed -i 's|/etc/xen|$out/etc/xen|g'
-
       # Xen's stubdoms need various sources that it usually fetches at
       # build time using wget.  We can't have that.
       ${flip concatMapStrings stubdomSrcs (x: let src = fetchurl x; in ''
         cp ${src} stubdom/${src.name}
       '')}
 
-      ${let src = fetchurl ipxeSrc; in ''
-        cp ${src} tools/firmware/etherboot/ipxe.tar.gz
-      ''}
-
       # Hack to get `gcc -m32' to work without having 32-bit Glibc headers.
       mkdir -p tools/include/gnu
       touch tools/include/gnu/stubs-32.h
diff --git a/pkgs/applications/virtualization/xen/gcc-4.5.patch b/pkgs/applications/virtualization/xen/gcc-4.5.patch
new file mode 100644
index 000000000000..a8412d69fd3f
--- /dev/null
+++ b/pkgs/applications/virtualization/xen/gcc-4.5.patch
@@ -0,0 +1,39 @@
+http://lists.xensource.com/archives/html/xen-devel/2010-07/msg01276.html
+
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c xen-4.0.1//extras/mini-os/arch/x86/mm.c
+--- xen-4.0.1-orig//extras/mini-os/arch/x86/mm.c	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/arch/x86/mm.c	2010-12-22 20:10:05.000000000 +0100
+@@ -281,7 +281,7 @@
+ /*
+  * Mark portion of the address space read only.
+  */
+-extern void shared_info;
++extern char shared_info[PAGE_SIZE]; 
+ static void set_readonly(void *text, void *etext)
+ {
+     unsigned long start_address =
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/minios.mk xen-4.0.1//extras/mini-os/minios.mk
+--- xen-4.0.1-orig//extras/mini-os/minios.mk	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/minios.mk	2010-12-22 20:03:11.000000000 +0100
+@@ -10,6 +10,7 @@
+ DEF_CFLAGS += $(call cc-option,$(CC),-fno-stack-protector,)
+ DEF_CFLAGS += $(call cc-option,$(CC),-fgnu89-inline)
+ DEF_CFLAGS += -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Winline
++DEF_CFLAGS += -Wno-uninitialized
+ DEF_CPPFLAGS += -D__XEN_INTERFACE_VERSION__=$(XEN_INTERFACE_VERSION)
+ 
+ DEF_ASFLAGS += -D__ASSEMBLY__
+diff -ru -x '*~' xen-4.0.1-orig//extras/mini-os/netfront.c xen-4.0.1//extras/mini-os/netfront.c
+--- xen-4.0.1-orig//extras/mini-os/netfront.c	2010-08-25 12:22:07.000000000 +0200
++++ xen-4.0.1//extras/mini-os/netfront.c	2010-12-22 19:56:59.000000000 +0100
+@@ -25,8 +25,8 @@
+ 
+ 
+ 
+-#define NET_TX_RING_SIZE __RING_SIZE((struct netif_tx_sring *)0, PAGE_SIZE)
+-#define NET_RX_RING_SIZE __RING_SIZE((struct netif_rx_sring *)0, PAGE_SIZE)
++#define NET_TX_RING_SIZE __CONST_RING_SIZE(netif_tx, PAGE_SIZE)
++#define NET_RX_RING_SIZE __CONST_RING_SIZE(netif_rx, PAGE_SIZE)
+ #define GRANT_INVALID_REF 0
+ 
+ 
diff --git a/pkgs/build-support/vm/deb/deb-closure.pl b/pkgs/build-support/vm/deb/deb-closure.pl
index 5e4ea54c43f8..1d41f89218bd 100644
--- a/pkgs/build-support/vm/deb/deb-closure.pl
+++ b/pkgs/build-support/vm/deb/deb-closure.pl
@@ -53,6 +53,8 @@ foreach my $cdata (values %packages) {
     my @provides = getDeps(Dpkg::Deps::parse($cdata->{Provides}));
     foreach my $name (@provides) {
         #die "conflicting provide: $name\n" if defined $provides{$name};
+        #warn "provide by $cdata->{Package} conflicts with package with the same name: $name\n";
+        next if defined $packages{$name};
         $provides{$name} = $cdata->{Package};
     }
 }
@@ -67,7 +69,7 @@ sub closePackage {
     my $pkgName = shift;
     print STDERR ">>> $pkgName\n";
     my $cdata = $packages{$pkgName};
-    
+
     if (!defined $cdata) {
         die "unknown (virtual) package $pkgName"
             unless defined $provides{$pkgName};
@@ -75,7 +77,7 @@ sub closePackage {
         $pkgName = $provides{$pkgName};
         $cdata = $packages{$pkgName};
     }
-    
+
     die "unknown package $pkgName" unless defined $cdata;
     return if defined $donePkgs{$pkgName};
     $donePkgs{$pkgName} = 1;
@@ -85,9 +87,9 @@ sub closePackage {
             $provides{$name} = $cdata->{Package};
         }
     }
-    
+
     my @depNames = ();
-    
+
     if (defined $cdata->{Depends}) {
         print STDERR "    $pkgName: $cdata->{Depends}\n";
         my $deps = Dpkg::Deps::parse($cdata->{Depends});
@@ -141,7 +143,7 @@ foreach my $pkgName (@order) {
     my $origName = basename $cdata->{Filename};
     my $cleanedName = $origName;
     $cleanedName =~ s/~//g;
-    
+
     print "    (fetchurl {\n";
     print "      url = $urlPrefix/$cdata->{Filename};\n";
     print "      sha256 = \"$cdata->{SHA256}\";\n";
@@ -165,4 +167,3 @@ if ($newComponent != 1) {
     print STDERR "argh: ", keys %forward, "\n";
     exit 1;
 }
-    
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix
index 777cc72aa0b2..8781fbf2d108 100644
--- a/pkgs/build-support/vm/default.nix
+++ b/pkgs/build-support/vm/default.nix
@@ -34,7 +34,7 @@ rec {
     ''
       mkdir -p $out/bin
       mkdir -p $out/lib
-      
+
       # Copy what we need from Glibc.
       cp -p ${pkgs.stdenv.glibc}/lib/ld-linux*.so.? $out/lib
       cp -p ${pkgs.stdenv.glibc}/lib/libc.so.* $out/lib
@@ -60,7 +60,7 @@ rec {
       cp ${module_init_tools}/sbin/insmod $out/bin/insmod
       cp ${nettools}/sbin/ifconfig $out/bin
       cp ${sysvinit}/sbin/halt $out/bin
-            
+
       # Run patchelf to make the programs refer to the copied libraries.
       for i in $out/bin/* $out/lib/*; do if ! test -L $i; then nuke-refs $i; fi; done
 
@@ -70,17 +70,19 @@ rec {
       done
     ''; # */
 
-    
+
   createDeviceNodes = dev:
     ''
-      mknod ${dev}/null c 1 3
-      mknod ${dev}/zero c 1 5
-      mknod ${dev}/tty  c 5 0
+      mknod ${dev}/null    c 1 3
+      mknod ${dev}/zero    c 1 5
+      mknod ${dev}/random  c 1 8
+      mknod ${dev}/urandom c 1 9
+      mknod ${dev}/tty     c 5 0
       . /sys/class/block/${hd}/uevent
       mknod ${dev}/${hd} b $MAJOR $MINOR
     '';
 
-  
+
   stage1Init = writeScript "vm-run-stage1" ''
     #! ${initrdUtils}/bin/bash -e
     echo START
@@ -122,7 +124,7 @@ rec {
 
     mount -t tmpfs none /dev
     ${createDeviceNodes "/dev"}
-    
+
     ifconfig eth0 up 10.0.2.15
 
     mkdir /fs
@@ -155,7 +157,7 @@ rec {
 
     mkdir -p /fs/etc
     ln -sf /proc/mounts /fs/etc/mtab
-    
+
     echo "Now running: $command"
     test -n "$command"
 
@@ -169,7 +171,7 @@ rec {
     halt -d -p -f
   '';
 
-  
+
   initrd = makeInitrd {
     contents = [
       { object = stage1Init;
@@ -178,11 +180,11 @@ rec {
     ];
   };
 
-  
+
   stage2Init = writeScript "vm-run-stage2" ''
     #! ${bash}/bin/sh
     source /tmp/xchg/saved-env
-    
+
     export NIX_STORE=/nix/store
     export NIX_BUILD_TOP=/tmp
     export TMPDIR=/tmp
@@ -286,12 +288,12 @@ rec {
 
     chmod +x ./run-vm
     source ./run-vm
-    
+
     if ! test -e xchg/in-vm-exit; then
       echo "Virtual machine didn't produce an exit code."
       exit 1
     fi
-    
+
     eval "$postVM"
 
     exit $(cat xchg/in-vm-exit)
@@ -343,7 +345,7 @@ rec {
      If the build fails and Nix is run with the `-K' option, a script
      `run-vm' will be left behind in the temporary build directory
      that allows you to boot into the VM and debug it interactively. */
-     
+
   runInLinuxVM = drv: lib.overrideDerivation drv (attrs: {
     requiredSystemFeatures = [ "kvm" ];
     builder = "${bash}/bin/sh";
@@ -353,7 +355,7 @@ rec {
     QEMU_OPTS = "-m ${toString (if attrs ? memSize then attrs.memSize else 256)}";
   });
 
-  
+
   extractFs = {file, fs ? null} :
     with pkgs; runInLinuxVM (
     stdenv.mkDerivation {
@@ -379,7 +381,7 @@ rec {
       '';
     });
 
-    
+
   extractMTDfs = {file, fs ? null} :
     with pkgs; runInLinuxVM (
     stdenv.mkDerivation {
@@ -406,7 +408,7 @@ rec {
       '';
     });
 
-    
+
   qemuCommandGeneric = ''
     PATH="${samba}/sbin:$PATH" \
     ${kvm}/bin/qemu-kvm \
@@ -415,7 +417,7 @@ rec {
       $QEMU_OPTS
   '';
 
-  
+
   /* Run a command in an x86 virtual machine image containing an
      arbitrary OS.  The VM should be configured to do the following:
 
@@ -460,7 +462,7 @@ rec {
      the Nix store, but using the tools provided by /bin, /usr/bin
      etc. from the specified filesystem image, which typically is a
      filesystem containing a non-NixOS Linux distribution. */
-     
+
   runInLinuxImage = attrs: runInLinuxVM (attrs // {
     mountDisk = true;
 
@@ -491,12 +493,12 @@ rec {
 
   /* Create a filesystem image of the specified size and fill it with
      a set of RPM packages. */
-    
+
   fillDiskWithRPMs =
     { size ? 4096, rpms, name, fullName, preInstall ? "", postInstall ? ""
     , runScripts ? true, createRootFS ? defaultCreateRootFS
     }:
-    
+
     runInLinuxVM (stdenv.mkDerivation {
       inherit name preInstall postInstall rpms;
       memSize = 512;
@@ -506,7 +508,7 @@ rec {
         ${createRootFS}
 
         chroot=$(type -tP chroot)
-        
+
         echo "unpacking RPMs..."
         for i in $rpms; do
             echo "$i..."
@@ -525,19 +527,19 @@ rec {
         mkdir -p /mnt/nix/store
         ${utillinux}/bin/mount -o bind /nix/store /mnt/nix/store
         ${utillinux}/bin/mount -o bind /tmp /mnt/tmp
-        
+
         echo "installing RPMs..."
         PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
           rpm -iv ${if runScripts then "" else "--noscripts"} $rpms
 
         echo "running post-install script..."
         eval "$postInstall"
-        
+
         rm /mnt/.debug
 
-        ${utillinux}/bin/umount /mnt/nix/store 
-        ${utillinux}/bin/umount /mnt/tmp 
-        ${utillinux}/bin/umount /mnt 
+        ${utillinux}/bin/umount /mnt/nix/store
+        ${utillinux}/bin/umount /mnt/tmp
+        ${utillinux}/bin/umount /mnt
       '';
 
       passthru = { inherit fullName; };
@@ -546,7 +548,7 @@ rec {
 
   /* Generate a script that can be used to run an interactive session
      in the given image. */
-     
+
   makeImageTestScript = image: writeScript "image-test" ''
     #! ${bash}/bin/sh
     if test -z "$1"; then
@@ -571,7 +573,7 @@ rec {
   /* Build RPM packages from the tarball `src' in the Linux
      distribution installed in the filesystem `diskImage'.  The
      tarball must contain an RPM specfile. */
-  
+
   buildRPM = attrs: runInLinuxImage (stdenv.mkDerivation ({
     phases = "prepareImagePhase sysInfoPhase buildPhase installPhase";
 
@@ -584,7 +586,7 @@ rec {
         done
       fi
     '';
-  
+
     sysInfoPhase = ''
       echo "System/kernel: $(uname -a)"
       if test -e /etc/fedora-release; then echo "Fedora release: $(cat /etc/fedora-release)"; fi
@@ -593,7 +595,7 @@ rec {
       rpm -qa --qf "%{Name}-%{Version}-%{Release} (%{Arch}; %{Distribution}; %{Vendor})\n"
       stopNest
     '';
-    
+
     buildPhase = ''
       eval "$preBuild"
 
@@ -610,7 +612,7 @@ rec {
       mkdir $rpmout $rpmout/SPECS $rpmout/BUILD $rpmout/RPMS $rpmout/SRPMS
 
       echo "%_topdir $rpmout" >> $HOME/.rpmmacros
-      
+
       rpmbuild -vv -ta "$srcName"
 
       eval "$postBuild"
@@ -640,7 +642,7 @@ rec {
 
   fillDiskWithDebs =
     { size ? 4096, debs, name, fullName, postInstall ? null, createRootFS ? defaultCreateRootFS }:
-    
+
     runInLinuxVM (stdenv.mkDerivation {
       inherit name postInstall;
 
@@ -656,7 +658,7 @@ rec {
         # Unpack the .debs.  We do this to prevent pre-install scripts
         # (which have lots of circular dependencies) from barfing.
         echo "unpacking Debs..."
-        
+
         for deb in $debs; do
           if test "$deb" != "|"; then
             echo "$deb..."
@@ -669,7 +671,7 @@ rec {
         ${utillinux}/bin/mount -o bind /nix/store /mnt/inst/nix/store
         ${utillinux}/bin/mount -o bind /proc /mnt/proc
         ${utillinux}/bin/mount -o bind /dev /mnt/dev
-        
+
         # Misc. files/directories assumed by various packages.
         echo "initialising Dpkg DB..."
         touch /mnt/etc/shells
@@ -683,7 +685,7 @@ rec {
         echo "installing Debs..."
 
         export DEBIAN_FRONTEND=noninteractive
-        
+
         oldIFS="$IFS"
         IFS="|"
         for component in $debs; do
@@ -698,13 +700,13 @@ rec {
           PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \
             /usr/bin/dpkg --install --force-all $debs < /dev/null || true
         done
-        
+
         echo "running post-install script..."
         eval "$postInstall"
         ln -sf dash /mnt/bin/sh
 
         rm /mnt/.debug
-        
+
         ${utillinux}/bin/umount /mnt/inst/nix/store
         ${utillinux}/bin/umount /mnt/proc
         ${utillinux}/bin/umount /mnt/dev
@@ -718,10 +720,10 @@ rec {
   /* Generate a Nix expression containing fetchurl calls for the
      closure of a set of top-level RPM packages from the
      `primary.xml.gz' file of a Fedora or openSUSE distribution. */
-     
+
   rpmClosureGenerator =
     {name, packagesLists, urlPrefixes, packages, archs ? []}:
-    assert (builtins.length packagesLists) == (builtins.length urlPrefixes) ;
+    assert (builtins.length packagesLists) == (builtins.length urlPrefixes);
     runCommand "${name}.nix" {buildInputs = [perl perlPackages.XMLSimple]; inherit archs;} ''
       ${lib.concatImapStrings (i: pl: ''
         gunzip < ${pl} > ./packages_${toString i}.xml
@@ -735,7 +737,7 @@ rec {
   /* Helper function that combines rpmClosureGenerator and
      fillDiskWithRPMs to generate a disk image from a set of package
      names. */
-     
+
   makeImageFromRPMDist =
     { name, fullName, size ? 4096
     , urlPrefix ? "", urlPrefixes ? [urlPrefix]
@@ -757,10 +759,13 @@ rec {
      (i.e. generate a closure from a Packages.bz2 file). */
 
   debClosureGenerator =
-    {name, packagesList, urlPrefix, packages}:
-    
+    {name, packagesLists, urlPrefix, packages}:
+
     runCommand "${name}.nix" {} ''
-      bunzip2 < ${packagesList} > ./Packages
+      for i in ${toString packagesLists}; do
+        echo "adding $i..."
+        bunzip2 < $i >> ./Packages
+      done
 
       # Work around this bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=452279
       sed -i ./Packages -e s/x86_64-linux-gnu/x86-64-linux-gnu/g
@@ -768,19 +773,20 @@ rec {
       ${perl}/bin/perl -I${dpkg} -w ${deb/deb-closure.pl} \
         ./Packages ${urlPrefix} ${toString packages} > $out
     '';
-  
+
 
   /* Helper function that combines debClosureGenerator and
      fillDiskWithDebs to generate a disk image from a set of package
      names. */
-     
+
   makeImageFromDebDist =
-    { name, fullName, size ? 4096, urlPrefix, packagesList
+    { name, fullName, size ? 4096, urlPrefix
+    , packagesList ? "", packagesLists ? [packagesList]
     , packages, extraPackages ? [], postInstall ? "" }:
 
     let
       expr = debClosureGenerator {
-        inherit name packagesList urlPrefix;
+        inherit name packagesLists urlPrefix;
         packages = packages ++ extraPackages;
       };
     in
@@ -791,7 +797,7 @@ rec {
 
 
   /* The set of supported RPM-based distributions. */
-      
+
   rpmDistros = {
 
     fedora2i386 = {
@@ -818,7 +824,7 @@ rec {
       runScripts = false;
       packages = commonFedoraPackages;
     };
-    
+
     fedora5i386 = {
       name = "fedora-core-5-i386";
       fullName = "Fedora Core 5 (i386)";
@@ -829,7 +835,7 @@ rec {
       urlPrefix = mirror://fedora/linux/core/5/i386/os;
       packages = commonFedoraPackages ++ [ "util-linux" ];
     };
-    
+
     fedora7i386 = {
       name = "fedora-7-i386";
       fullName = "Fedora 7 (i386)";
@@ -840,7 +846,7 @@ rec {
       urlPrefix = mirror://fedora/linux/releases/7/Everything/i386/os;
       packages = commonFedoraPackages;
     };
-    
+
     fedora8i386 = {
       name = "fedora-8-i386";
       fullName = "Fedora 8 (i386)";
@@ -1058,9 +1064,9 @@ rec {
 
 
   /* The set of supported Dpkg-based distributions. */
-      
+
   debDistros = {
-  
+
     # Interestingly, the SHA-256 hashes provided by Ubuntu in
     # http://nl.archive.ubuntu.com/ubuntu/dists/{gutsy,hardy}/Release are
     # wrong, but the SHA-1 and MD5 hashes are correct.  Intrepid is fine.
@@ -1075,7 +1081,7 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebianPackages;
     };
-        
+
     ubuntu804i386 = {
       name = "ubuntu-8.04-hardy-i386";
       fullName = "Ubuntu 8.04 Hardy (i386)";
@@ -1086,7 +1092,7 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebianPackages;
     };
-         
+
     ubuntu804x86_64 = {
       name = "ubuntu-8.04-hardy-amd64";
       fullName = "Ubuntu 8.04 Hardy (amd64)";
@@ -1097,7 +1103,7 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebianPackages;
     };
-         
+
     ubuntu810i386 = {
       name = "ubuntu-8.10-intrepid-i386";
       fullName = "Ubuntu 8.10 Intrepid (i386)";
@@ -1108,7 +1114,7 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebianPackages;
     };
- 
+
     ubuntu810x86_64 = {
       name = "ubuntu-8.10-intrepid-amd64";
       fullName = "Ubuntu 8.10 Intrepid (amd64)";
@@ -1130,7 +1136,7 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebianPackages;
     };
- 
+
     ubuntu904x86_64 = {
       name = "ubuntu-9.04-jaunty-amd64";
       fullName = "Ubuntu 9.04 Jaunty (amd64)";
@@ -1152,11 +1158,11 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diff" "mktemp" ];
     };
- 
+
     ubuntu910x86_64 = {
       name = "ubuntu-9.10-karmic-amd64";
       fullName = "Ubuntu 9.10 Karmic (amd64)";
-      packagesList = fetchurl {
+     packagesList = fetchurl {
         url = mirror://ubuntu/dists/karmic/main/binary-amd64/Packages.bz2;
         sha256 = "3a604fcb0c135eeb8b95da3e90a8fd4cfeff519b858cd3c9e62ea808cb9fec40";
       };
@@ -1174,7 +1180,7 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" "mktemp" ];
     };
- 
+
     ubuntu1004x86_64 = {
       name = "ubuntu-10.04-lucid-amd64";
       fullName = "Ubuntu 10.04 Lucid (amd64)";
@@ -1196,7 +1202,7 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
- 
+
     ubuntu1010x86_64 = {
       name = "ubuntu-10.04-maverick-amd64";
       fullName = "Ubuntu 10.04 Maverick (amd64)";
@@ -1218,7 +1224,7 @@ rec {
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
- 
+
     ubuntu1110x86_64 = {
       name = "ubuntu-11.10-oneiric-amd64";
       fullName = "Ubuntu 11.10 Oneiric (amd64)";
@@ -1231,23 +1237,35 @@ rec {
     };
 
     ubuntu1204i386 = {
-      name = "ubuntu-12.04-oneiric-i386";
+      name = "ubuntu-12.04-precise-i386";
       fullName = "Ubuntu 12.04 Precise (i386)";
-      packagesList = fetchurl {
-        url = mirror://ubuntu/dists/precise/main/binary-i386/Packages.bz2;
-        sha256 = "18ns9h4qhvjfcip9z55grzi371racxavgqkp6b5kfkdq2wwwax2d";
-      };
+      packagesLists =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/precise/main/binary-i386/Packages.bz2;
+            sha256 = "18ns9h4qhvjfcip9z55grzi371racxavgqkp6b5kfkdq2wwwax2d";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/precise/universe/binary-i386/Packages.bz2;
+            sha256 = "085lkzbnzkc74kfdmwdc32sfqyfz8dr0rbiifk8kx9jih3xjw2jk";
+          })
+        ];
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
- 
+
     ubuntu1204x86_64 = {
-      name = "ubuntu-12.04-oneiric-amd64";
+      name = "ubuntu-12.04-precise-amd64";
       fullName = "Ubuntu 12.04 Precise (amd64)";
-      packagesList = fetchurl {
-        url = mirror://ubuntu/dists/precise/main/binary-amd64/Packages.bz2;
-        sha256 = "1aabpn0hdih6cbabyn87yvhccqj44q9k03mqmjsb920iqlckl3fc";
-      };
+      packagesList =
+        [ (fetchurl {
+            url = mirror://ubuntu/dists/precise/main/binary-amd64/Packages.bz2;
+            sha256 = "1aabpn0hdih6cbabyn87yvhccqj44q9k03mqmjsb920iqlckl3fc";
+          })
+          (fetchurl {
+            url = mirror://ubuntu/dists/precise/universe/binary-amd64/Packages.bz2;
+            sha256 = "0x4hz5aplximgb7gnpvrhkw8m7a40s80rkm5b8hil0afblwlg4vr";
+          })
+        ];
       urlPrefix = mirror://ubuntu;
       packages = commonDebPackages ++ [ "diffutils" ];
     };
@@ -1262,7 +1280,7 @@ rec {
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
-        
+
     debian40x86_64 = {
       name = "debian-4.0r9-etch-amd64";
       fullName = "Debian 4.0r9 Etch (amd64)";
@@ -1306,7 +1324,7 @@ rec {
       urlPrefix = mirror://debian;
       packages = commonDebianPackages;
     };
-        
+
     debian60x86_64 = {
       name = "debian-6.0.4-squeeze-amd64";
       fullName = "Debian 6.0.4 Squeeze (amd64)";
@@ -1344,7 +1362,7 @@ rec {
     "unzip"
   ];
 
-  
+
   /* Common packages for openSUSE images. */
   commonOpenSUSEPackages = [
     "aaa_base"
@@ -1388,7 +1406,7 @@ rec {
     "patch"
     "locales"
     # Needed by checkinstall:
-    "util-linux" 
+    "util-linux"
     "file"
     "dpkg-dev"
     "pkg-config"
@@ -1398,7 +1416,7 @@ rec {
   ];
 
   commonDebianPackages = commonDebPackages ++ [ "sysvinit" "diff" "mktemp" ];
-  
+
 
   /* A set of functions that build the Linux distributions specified
      in `rpmDistros' and `debDistros'.  For instance,
@@ -1412,29 +1430,29 @@ rec {
      `diskImageFuns.ubuntu1004x86_64 { extraPackages = ["firefox"];
      size = 8192; }' builds an 8 GiB image containing Firefox in
      addition to the default packages. */
-  diskImageFuns = 
+  diskImageFuns =
     (lib.mapAttrs (name: as: as2: makeImageFromRPMDist (as // as2)) rpmDistros) //
     (lib.mapAttrs (name: as: as2: makeImageFromDebDist (as // as2)) debDistros);
 
-    
+
   /* Shorthand for `diskImageFuns.<attr> { extraPackages = ... }'. */
   diskImageExtraFuns =
     lib.mapAttrs (name: f: extraPackages: f { inherit extraPackages; }) diskImageFuns;
 
-    
+
   /* Default disk images generated from the `rpmDistros' and
      `debDistros' sets (along with Red Hat 9 and SuSE 9.0 images). */
 
   diskImages =
     lib.mapAttrs (name: f: f {}) diskImageFuns //
-    
+
     { redhat9i386 = fillDiskWithRPMs {
         name = "redhat-9-i386";
         fullName = "Red Hat Linux 9 (i386)";
         size = 1024;
         rpms = import ./rpm/redhat-9-i386.nix {inherit fetchurl;};
       };
-    
+
       suse90i386 = fillDiskWithRPMs {
         name = "suse-9.0-i386";
         fullName = "SUSE Linux 9.0 (i386)";
@@ -1454,7 +1472,7 @@ rec {
           echo 'video:x:33:' >> /mnt/etc/group
         '';
       };
-      
+
     };
-    
+
 }
diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix
index 0dfb0be96f93..539588ac3add 100644
--- a/pkgs/development/compilers/dev86/default.nix
+++ b/pkgs/development/compilers/dev86/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation {
-  name = "dev86-0.16.18";
+  name = "dev86-0.16.19";
   
   src = fetchurl {
-    url = http://www.debath.co.uk/dev86/Dev86src-0.16.18.tar.gz;
-    sha256 = "1wcg2x8i2fq7kqgazx2il3qfmikyi4kfb23vm45yxlwq72l55604";
+    url = http://www.debath.co.uk/dev86/Dev86src-0.16.19.tar.gz;
+    sha256 = "33398b87ca85e2b69e4062cf59f2f7354af46da5edcba036c6f97bae17b8d00e";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix
index 2484be9ae1f7..c1b607b725b8 100644
--- a/pkgs/development/compilers/julia/default.nix
+++ b/pkgs/development/compilers/julia/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre
+{ stdenv, fetchgit, gfortran, perl, m4, llvm, gmp, pcre, zlib
  , readline, fftwSinglePrec, fftw, libunwind, suitesparse, glpk, fetchurl
  , ncurses, libunistring, lighttpd, patchelf, openblas, liblapack
  } :
@@ -7,7 +7,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "julia";
-  date = "20120818";
+  date = "20120904";
   name = "${pname}-git-${date}";
 
   grisu_ver = "1.1.1";
@@ -54,17 +54,17 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "git://github.com/JuliaLang/julia.git";
-    rev = "4f692899688f500c77d768f67748f4b7335c90eb";
-    sha256 = "a60e684a5283e80619f28ec8ff16fdc76c549e8463059507b0819db09dae6688";
+    rev = "b842bf4ae4d80f28803ec54f3da412a0248046a9";
+    sha256 = "4d67f4f4d35c76ea8981198e42feb1c30a50ac7e1e15b752fa41b26ebadcd828";
   };
 
-  buildInputs = [ gfortran perl m4 gmp pcre llvm readline 
+  buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib
     fftw fftwSinglePrec libunwind suitesparse glpk ncurses libunistring patchelf
     openblas liblapack
     ];
 
   configurePhase = ''
-    for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD; 
+    for i in GMP LLVM PCRE LAPACK OPENBLAS BLAS READLINE FFTW LIBUNWIND SUITESPARSE GLPK LIGHTTPD ZLIB; 
     do 
       sed -e "s@USE_SYSTEM_$i=0@USE_SYSTEM_$i=1@" -i Make.inc; 
     done
@@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
     copy_kill_hash "${dsfmt_src}" deps/random
 
     ${if realGcc ==null then "" else 
-    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring "''}
+    ''export NIX_LDFLAGS="$NIX_LDFLAGS -L${realGcc}/lib -L${realGcc}/lib64 -lpcre -llapack -lm -lfftw3f -lfftw3 -lglpk -lunistring -lz "''}
 
     sed -e 's@ cpp @ gcc -E @g' -i base/Makefile
 
diff --git a/pkgs/development/compilers/mono/default.nix b/pkgs/development/compilers/mono/default.nix
index 2f257fccc52d..f59bb2cac403 100644
--- a/pkgs/development/compilers/mono/default.nix
+++ b/pkgs/development/compilers/mono/default.nix
@@ -23,7 +23,8 @@ stdenv.mkDerivation {
   # The file /nix/store/xxx-mono-2.4.2.1/lib/mscorlib.dll is an invalid CIL image
   dontStrip = true;
 
-  enableParallelBuilding = true;
+  # Parallel building doesn't work, as shows http://hydra.nixos.org/build/2983601
+  enableParallelBuilding = false;
 
   preBuild = "
     makeFlagsArray=(INSTALL=`type -tp install`)
diff --git a/pkgs/development/libraries/celt/0.5.1.nix b/pkgs/development/libraries/celt/0.5.1.nix
new file mode 100644
index 000000000000..0f42e7cd0407
--- /dev/null
+++ b/pkgs/development/libraries/celt/0.5.1.nix
@@ -0,0 +1,46 @@
+x@{builderDefsPackage
+  , ...}:
+builderDefsPackage
+(a :
+let
+  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
+    [];
+
+  buildInputs = map (n: builtins.getAttr n x)
+    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
+  sourceInfo = rec {
+    baseName="celt";
+    version="0.5.1.3";
+    name="${baseName}-${version}";
+    url="http://downloads.xiph.org/releases/${baseName}/${name}.tar.gz";
+    hash="0bkam9z5vnrxpbxkkh9kw6yzjka9di56h11iijikdd1f71l5nbpw";
+  };
+in
+rec {
+  src = a.fetchurl {
+    url = sourceInfo.url;
+    sha256 = sourceInfo.hash;
+  };
+
+  inherit (sourceInfo) name version;
+  inherit buildInputs;
+
+  /* doConfigure should be removed if not needed */
+  phaseNames = ["doConfigure" "doMakeInstall"];
+
+  meta = {
+    description = "CELT - low-delay audio codec";
+    maintainers = with a.lib.maintainers;
+    [
+      raskin
+    ];
+    platforms = with a.lib.platforms;
+      linux;
+    license = "free";
+  };
+  passthru = {
+    updateInfo = {
+      downloadPage = "http://www.celt-codec.org/downloads/";
+    };
+  };
+}) x
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
new file mode 100644
index 000000000000..72460184df21
--- /dev/null
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -0,0 +1,27 @@
+{stdenv, fetchurl, cmake, boost, zlib}:
+
+stdenv.mkDerivation rec {
+  name = "clucene-core-2.3.3.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/clucene/${name}.tar.gz";
+    sha256 = "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx";
+  };
+
+  buildNativeInputs = [ cmake ];
+
+  buildInputs = [ boost zlib ];
+
+  cmakeFlags = [ "-DBUILD_CONTRIBS=ON" "-DBUILD_CONTRIBS_LIB=ON" ];
+
+  patches = # From debian
+    [ ./Fix-pkgconfig-file-by-adding-clucene-shared-library.patch
+      ./Fixing_ZLIB_configuration_in_shared_CMakeLists.patch
+      ./Install-contribs-lib.patch
+    ];
+
+  meta = {
+    description = "CLucene is a port of the very popular Java Lucene text search engine API. Core package, 2.x branch.";
+    homepage = http://clucene.sourceforge.net;
+  };
+}
diff --git a/pkgs/development/libraries/clucene-core/Fix-pkgconfig-file-by-adding-clucene-shared-library.patch b/pkgs/development/libraries/clucene-core/Fix-pkgconfig-file-by-adding-clucene-shared-library.patch
new file mode 100644
index 000000000000..80e49a8e712e
--- /dev/null
+++ b/pkgs/development/libraries/clucene-core/Fix-pkgconfig-file-by-adding-clucene-shared-library.patch
@@ -0,0 +1,19 @@
+From 7be4a19b76d98260cf95040a47935f854a4ba7a4 Mon Sep 17 00:00:00 2001
+From: Valentin Rusu <kde@rusu.info>
+Date: Sat, 17 Dec 2011 13:47:58 +0100
+Subject: [PATCH] Fix .pc file by adding clucene-shared library
+
+---
+ src/core/libclucene-core.pc.cmake |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/core/libclucene-core.pc.cmake
++++ b/src/core/libclucene-core.pc.cmake
+@@ -6,6 +6,6 @@ includedir=${prefix}/include:${prefix}/i
+ Name: libclucene
+ Description: CLucene - a C++ search engine, ported from the popular Apache Lucene
+ Version: @CLUCENE_VERSION_MAJOR@.@CLUCENE_VERSION_MINOR@.@CLUCENE_VERSION_REVISION@.@CLUCENE_VERSION_PATCH@
+-Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core
++Libs: -L${prefix}/@LIB_DESTINATION@/ -lclucene-core -lclucene-shared
+ Cflags: -I${prefix}/include -I${prefix}/include/CLucene/ext
+ ~
diff --git a/pkgs/development/libraries/clucene-core/Fixing_ZLIB_configuration_in_shared_CMakeLists.patch b/pkgs/development/libraries/clucene-core/Fixing_ZLIB_configuration_in_shared_CMakeLists.patch
new file mode 100644
index 000000000000..f5f44a7fa2c4
--- /dev/null
+++ b/pkgs/development/libraries/clucene-core/Fixing_ZLIB_configuration_in_shared_CMakeLists.patch
@@ -0,0 +1,20 @@
+From 772481ca94071ddfe65102a451926e4f9aeb4d2c Mon Sep 17 00:00:00 2001
+From: Veit Jahns <idolum@users.sourceforge.net>
+Date: Thu, 26 May 2011 13:35:28 +0200
+Subject: [PATCH] Fixing ZLIB configuration in shared's CMakeLists
+
+---
+ src/shared/CMakeLists.txt |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/src/shared/CMakeLists.txt
++++ b/src/shared/CMakeLists.txt
+@@ -42,7 +42,7 @@ INCLUDE (CheckAtomicFunctions)
+ find_package(ZLIB)
+ IF ( ZLIB_FOUND )
+   SET ( EXTRA_LIBS ${EXTRA_LIBS} ${ZLIB_LIBRARY} )
+-ELSEIF ( ZLIB_FOUND )
++ELSE ( ZLIB_FOUND )
+   MESSAGE( "ZLIB not found, using local: ${clucene-ext_SOURCE_DIR}/zlib" )
+   SET(ZLIB_INCLUDE_DIR ${clucene-ext_SOURCE_DIR}/zlib )
+   SET(ZLIB_LIBRARY ${clucene-ext_BINARY_DIR})
diff --git a/pkgs/development/libraries/clucene-core/Install-contribs-lib.patch b/pkgs/development/libraries/clucene-core/Install-contribs-lib.patch
new file mode 100644
index 000000000000..899411fe02b4
--- /dev/null
+++ b/pkgs/development/libraries/clucene-core/Install-contribs-lib.patch
@@ -0,0 +1,49 @@
+Description: contribs-lib is not built and installed even with config
+Author: Vitaliy Filippov
+Bug: https://sourceforge.net/tracker/index.php?func=detail&aid=3392466&group_id=80013&atid=558446
+ 
+---
+ CMakeLists.txt                  |    2 +-
+ src/contribs-lib/CMakeLists.txt |   17 +++++++++++++++++
+ 2 files changed, 18 insertions(+), 1 deletion(-)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -163,7 +163,7 @@ IF ( BUILD_CONTRIBS )
+   SET(BUILD_CONTRIBS_LIB 1)
+ ENDIF ( BUILD_CONTRIBS )
+ IF ( BUILD_CONTRIBS_LIB )
+-  ADD_SUBDIRECTORY (src/contribs-lib EXCLUDE_FROM_ALL)
++  ADD_SUBDIRECTORY (src/contribs-lib)
+ ENDIF ( BUILD_CONTRIBS_LIB )
+ 
+ 
+--- a/src/contribs-lib/CMakeLists.txt
++++ b/src/contribs-lib/CMakeLists.txt
+@@ -106,9 +106,26 @@ add_library(clucene-contribs-lib SHARED
+ )
+ TARGET_LINK_LIBRARIES(clucene-contribs-lib ${clucene_contrib_extra_libs})
+ 
++#install public headers.
++FOREACH(file ${HEADERS})
++	get_filename_component(apath ${file} PATH)
++	get_filename_component(aname ${file} NAME)
++	file(RELATIVE_PATH relpath ${CMAKE_SOURCE_DIR}/src/contribs-lib ${apath})
++	IF ( NOT aname MATCHES "^_.*" )
++		install(FILES ${file} 
++		        DESTINATION include/${relpath}
++		        COMPONENT development)
++	ENDIF ( NOT aname MATCHES "^_.*" )
++ENDFOREACH(file)
++
+ #set properties on the libraries
+ SET_TARGET_PROPERTIES(clucene-contribs-lib PROPERTIES
+     VERSION ${CLUCENE_VERSION}
+     SOVERSION ${CLUCENE_SOVERSION}
+     COMPILE_DEFINITIONS_DEBUG _DEBUG
+ )
++
++#and install library
++install(TARGETS clucene-contribs-lib 
++        DESTINATION ${LIB_DESTINATION}  
++        COMPONENT runtime )
diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix
index b8f88c6f5b85..93f5dab537e9 100644
--- a/pkgs/development/libraries/gnutls/default.nix
+++ b/pkgs/development/libraries/gnutls/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, zlib, lzo, libtasn1, nettle
-, guileBindings, guile, perl }:
+, guileBindings, guile, perl, gmp }:
 
 assert guileBindings -> guile != null;
 
@@ -12,6 +12,7 @@ stdenv.mkDerivation (rec {
     sha256 = "1pp90fm27qi5cd0pq18xcmnl79xcbfwxc54bg1xi1wv0vryqdpcr";
   };
 
+  # FIXME: Turn into a Nix list.
   configurePhase = ''
     ./configure --prefix="$out"                                 \
       --disable-dependency-tracking --enable-fast-install       \
@@ -19,6 +20,11 @@ stdenv.mkDerivation (rec {
       --with-lzo --with-libtasn1-prefix="${libtasn1}"		\
       ${if guileBindings
         then "--enable-guile --with-guile-site-dir=\"$out/share/guile/site\""
+        else ""}${if stdenv.isSunOS
+          # TODO: Use `--with-libnettle-prefix' on all platforms
+          # Note: GMP is a dependency of Nettle, whose public headers include
+          # GMP headers, hence the hack.
+        then " --with-libnettle-prefix=${nettle} CPPFLAGS=-I${gmp}/include"
         else ""}
   '';
 
diff --git a/pkgs/development/libraries/haskell/Graphalyze/default.nix b/pkgs/development/libraries/haskell/Graphalyze/default.nix
index d0258fd26988..90bcb9f8605d 100644
--- a/pkgs/development/libraries/haskell/Graphalyze/default.nix
+++ b/pkgs/development/libraries/haskell/Graphalyze/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Graphalyze";
-  version = "0.13.0.0";
-  sha256 = "1xh6xg2rw43cbi83rmpb0c2yib9cfj0pwg66nx5x5a0al2c9pdsr";
+  version = "0.13.0.1";
+  sha256 = "1yk7iglsspbj0kxh5rhjkc6q65vz07vpygiig07w86g2s6gad8am";
   buildDepends = [
     bktrees fgl filepath graphviz pandoc random text time
   ];
diff --git a/pkgs/development/libraries/haskell/HTTP/4000.2.4.nix b/pkgs/development/libraries/haskell/HTTP/4000.2.4.nix
new file mode 100644
index 000000000000..6f7b57ba64c1
--- /dev/null
+++ b/pkgs/development/libraries/haskell/HTTP/4000.2.4.nix
@@ -0,0 +1,15 @@
+{ cabal, mtl, network, parsec }:
+
+cabal.mkDerivation (self: {
+  pname = "HTTP";
+  version = "4000.2.4";
+  sha256 = "1riqz69mnzl2xnbkk8s798xkizvcly3hcpigshbhpa57q016labi";
+  buildDepends = [ mtl network parsec ];
+  meta = {
+    homepage = "https://github.com/haskell/HTTP";
+    description = "A library for client-side HTTP";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
index 3a4c94e33a25..9eefaaef84a0 100644
--- a/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
+++ b/pkgs/development/libraries/haskell/HsOpenSSL/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "HsOpenSSL";
-  version = "0.10.3.2";
-  sha256 = "15mlllzw8ahvrx259bz5vwisdig7bvkany1qjhmz6y8v2rcplr7f";
+  version = "0.10.3.3";
+  sha256 = "04d2nd2hcbglw8blwhi3d32vazdxnvs9s52788qyllgm7gmay6a5";
   buildDepends = [ network time ];
   extraLibraries = [ openssl ];
   meta = {
diff --git a/pkgs/development/libraries/haskell/abstract-deque/default.nix b/pkgs/development/libraries/haskell/abstract-deque/default.nix
index 90d6f4c274ef..a6219a4b2a0d 100644
--- a/pkgs/development/libraries/haskell/abstract-deque/default.nix
+++ b/pkgs/development/libraries/haskell/abstract-deque/default.nix
@@ -1,11 +1,12 @@
-{ cabal, HUnit, IORefCAS }:
+{ cabal, HUnit }:
 
 cabal.mkDerivation (self: {
   pname = "abstract-deque";
-  version = "0.1.5";
-  sha256 = "1zp19kq3m72nx7rr00yyq8iwia4abg4x9kw4d5s5k0srp5f9fn3q";
-  buildDepends = [ HUnit IORefCAS ];
+  version = "0.1.6";
+  sha256 = "13s8xbr31sqj8n3bh4xp82fqw5d5g1a27fpfqw69jfmr5xc9s1za";
+  buildDepends = [ HUnit ];
   meta = {
+    homepage = "https://github.com/rrnewton/haskell-lockfree-queue/wiki";
     description = "Abstract, parameterized interface to mutable Deques";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
diff --git a/pkgs/development/libraries/haskell/asn1-data/default.nix b/pkgs/development/libraries/haskell/asn1-data/default.nix
index 60e795f6e2ef..a90e8e769e23 100644
--- a/pkgs/development/libraries/haskell/asn1-data/default.nix
+++ b/pkgs/development/libraries/haskell/asn1-data/default.nix
@@ -1,17 +1,15 @@
-{ cabal, attoparsec, attoparsecEnumerator, enumerator, mtl, text }:
+{ cabal, cereal, mtl, text }:
 
 cabal.mkDerivation (self: {
   pname = "asn1-data";
-  version = "0.6.1.3";
-  sha256 = "0vly55dpqrm9vb8ayp72na1nf2rr5ini3d81qqvxflmjgpksrgwq";
+  version = "0.7.1";
+  sha256 = "10s7mxygw6w8a8mx090msvbl8pji8m68lsxxyr5bp7p887naia7r";
   isLibrary = true;
   isExecutable = true;
-  buildDepends = [
-    attoparsec attoparsecEnumerator enumerator mtl text
-  ];
+  buildDepends = [ cereal mtl text ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-asn1-data";
-    description = "ASN1 data reader and writer in RAW, BER, DER and CER forms";
+    description = "ASN1 data reader and writer in RAW, BER and DER forms";
     license = self.stdenv.lib.licenses.bsd3;
     platforms = self.ghc.meta.platforms;
     maintainers = [ self.stdenv.lib.maintainers.andres ];
diff --git a/pkgs/development/libraries/haskell/base64-bytestring/default.nix b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
index 5fd552d6272b..bc3eca3050df 100644
--- a/pkgs/development/libraries/haskell/base64-bytestring/default.nix
+++ b/pkgs/development/libraries/haskell/base64-bytestring/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "base64-bytestring";
-  version = "0.1.2.0";
-  sha256 = "039naasb3z8q42zl067paylxb9i1m1pkp4w6b5yqsc38sbmikv1z";
+  version = "1.0.0.0";
+  sha256 = "0z0r0lrpka3qrq45ajzyxsjc2as7zp6bq7z7sd56rwiziw7vp7vm";
   meta = {
     homepage = "https://github.com/bos/base64-bytestring";
     description = "Fast base64 encoding and deconding for ByteStrings";
diff --git a/pkgs/development/libraries/haskell/certificate/default.nix b/pkgs/development/libraries/haskell/certificate/default.nix
index 6581ddf0e1ab..d79f6faa3efe 100644
--- a/pkgs/development/libraries/haskell/certificate/default.nix
+++ b/pkgs/development/libraries/haskell/certificate/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "certificate";
-  version = "1.2.5";
-  sha256 = "1zxi1hflq973m7a1c9wvxdx8aqapx1kqy8j7nn7k67l9gpjb1jbc";
+  version = "1.2.6";
+  sha256 = "1li65r4zbff7r7p533p5xw2z3rd0xnlb2bbwqdldrnswy4mvlakx";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ asn1Data cryptoPubkeyTypes mtl pem time ];
diff --git a/pkgs/development/libraries/haskell/cipher-aes/default.nix b/pkgs/development/libraries/haskell/cipher-aes/default.nix
new file mode 100644
index 000000000000..e89fc1d6faff
--- /dev/null
+++ b/pkgs/development/libraries/haskell/cipher-aes/default.nix
@@ -0,0 +1,15 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "cipher-aes";
+  version = "0.1.1";
+  sha256 = "0pyiqsdvvq0qhlin17rijqjq0sc0i9nl9rdwbql01fr4pw46cwwg";
+  isLibrary = true;
+  isExecutable = true;
+  meta = {
+    homepage = "http://github.com/vincenthz/hs-cipher-aes";
+    description = "Fast AES cipher implementation with advanced mode of operations";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix
index 38b0bf24bcb0..0719bf5a03cc 100644
--- a/pkgs/development/libraries/haskell/cmdargs/default.nix
+++ b/pkgs/development/libraries/haskell/cmdargs/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "cmdargs";
-  version = "0.9.7";
-  sha256 = "0w3y94hjq5w1i2vcj45jfdbi1iadib2nsv0pa3w9dmqvn9wxlvz4";
+  version = "0.10";
+  sha256 = "1xx4cks3hr2ldb0hd5hnc53dpns2zm4gc1dw25gs1vc977kga3hz";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [ filepath transformers ];
diff --git a/pkgs/development/libraries/haskell/comonad-transformers/2.1.2.nix b/pkgs/development/libraries/haskell/comonad-transformers/2.1.2.nix
deleted file mode 100644
index 1dd7c212c714..000000000000
--- a/pkgs/development/libraries/haskell/comonad-transformers/2.1.2.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ cabal, comonad, contravariant, distributive, semigroupoids
-, semigroups, transformers
-}:
-
-cabal.mkDerivation (self: {
-  pname = "comonad-transformers";
-  version = "2.1.2";
-  sha256 = "0yhpsifnqxrg1p8f9hjslwkrakiaxa2kk9726q923a5sj225cvis";
-  buildDepends = [
-    comonad contravariant distributive semigroupoids semigroups
-    transformers
-  ];
-  meta = {
-    homepage = "http://github.com/ekmett/comonad-transformers/";
-    description = "Comonad transformers";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/comonad-transformers/3.0.nix b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
index bc378235b91a..bc378235b91a 100644
--- a/pkgs/development/libraries/haskell/comonad-transformers/3.0.nix
+++ b/pkgs/development/libraries/haskell/comonad-transformers/default.nix
diff --git a/pkgs/development/libraries/haskell/comonad/1.1.1.6.nix b/pkgs/development/libraries/haskell/comonad/1.1.1.6.nix
deleted file mode 100644
index 53e014fb8ac9..000000000000
--- a/pkgs/development/libraries/haskell/comonad/1.1.1.6.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, semigroups, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "comonad";
-  version = "1.1.1.6";
-  sha256 = "1sg0pa7393mzfm27pl52nchplhkls3k0f4ff8vzk76wzrgvhysg5";
-  buildDepends = [ semigroups transformers ];
-  meta = {
-    homepage = "http://github.com/ekmett/comonad/";
-    description = "Haskell 98 compatible comonads";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/comonad/3.0.0.2.nix b/pkgs/development/libraries/haskell/comonad/default.nix
index 3394de012060..3394de012060 100644
--- a/pkgs/development/libraries/haskell/comonad/3.0.0.2.nix
+++ b/pkgs/development/libraries/haskell/comonad/default.nix
diff --git a/pkgs/development/libraries/haskell/configurator/default.nix b/pkgs/development/libraries/haskell/configurator/default.nix
index 0c4c610106ef..3618f5980554 100644
--- a/pkgs/development/libraries/haskell/configurator/default.nix
+++ b/pkgs/development/libraries/haskell/configurator/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "configurator";
-  version = "0.2.0.0";
-  sha256 = "0zkcmziyfq2sm9i75ysi5nxd21fynp88m0safhmn3jld7plj03la";
+  version = "0.2.0.1";
+  sha256 = "02w6f5q2xkpc3kgqz6a58g7yr0q4xd8ck1b6lr64ahvqwsjbxy6p";
   buildDepends = [
     attoparsec hashable text unixCompat unorderedContainers
   ];
diff --git a/pkgs/development/libraries/haskell/cprng-aes/default.nix b/pkgs/development/libraries/haskell/cprng-aes/default.nix
index 881d4519a532..1feb21a8b638 100644
--- a/pkgs/development/libraries/haskell/cprng-aes/default.nix
+++ b/pkgs/development/libraries/haskell/cprng-aes/default.nix
@@ -1,10 +1,14 @@
-{ cabal, cereal, cryptoApi, cryptocipher, entropy, random }:
+{ cabal, cereal, cipherAes, cryptoApi, cryptocipher, entropy
+, random
+}:
 
 cabal.mkDerivation (self: {
   pname = "cprng-aes";
-  version = "0.2.3";
-  sha256 = "1xyphzb3afvw7kpgq3b0c86b45rp5a8s870gag1lp7h686lhfnn3";
-  buildDepends = [ cereal cryptoApi cryptocipher entropy random ];
+  version = "0.2.4";
+  sha256 = "0rk14yj76p5a1h6jlz4q2fgijjid430lwcr57zkkda8mdibqqs5j";
+  buildDepends = [
+    cereal cipherAes cryptoApi cryptocipher entropy random
+  ];
   meta = {
     homepage = "http://github.com/vincenthz/hs-cprng-aes";
     description = "Crypto Pseudo Random Number Generator using AES in counter mode";
diff --git a/pkgs/development/libraries/haskell/date-cache/default.nix b/pkgs/development/libraries/haskell/date-cache/default.nix
new file mode 100644
index 000000000000..a460dcbdafc5
--- /dev/null
+++ b/pkgs/development/libraries/haskell/date-cache/default.nix
@@ -0,0 +1,12 @@
+{ cabal }:
+
+cabal.mkDerivation (self: {
+  pname = "date-cache";
+  version = "0.3.0";
+  sha256 = "0grhcbd0rhdn0cf1fz82x8pv8cmxfhndlcwyrax4mnnr3pql9kmb";
+  meta = {
+    description = "Date cacher";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/fingertree/default.nix b/pkgs/development/libraries/haskell/fingertree/default.nix
index 71afad2cdbc9..299b2e926dbd 100644
--- a/pkgs/development/libraries/haskell/fingertree/default.nix
+++ b/pkgs/development/libraries/haskell/fingertree/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "fingertree";
-  version = "0.0.1.0";
-  sha256 = "e80bf256506290c8f4fb44222920ae7d8405fd22e453c7a08dba49297d49328b";
+  version = "0.0.1.1";
+  sha256 = "00llr24b2r539250fangl0jj39gf26gjwvhjpy5qg8l920hrjn78";
   meta = {
     description = "Generic finger-tree structure, with example instances";
     license = self.stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/haskell/gitit/default.nix b/pkgs/development/libraries/haskell/gitit/default.nix
index 148750e9ddcd..41d521805ce7 100644
--- a/pkgs/development/libraries/haskell/gitit/default.nix
+++ b/pkgs/development/libraries/haskell/gitit/default.nix
@@ -19,7 +19,7 @@ cabal.mkDerivation (self: {
     zlib
   ];
   patchPhase = ''
-    sed -i -e 's|hslogger.*,|hslogger,|' gitit.cabal
+    sed -i -e 's|hslogger.*,|hslogger,|' -e 's|base64-bytestring.*,|base64-bytestring,|' gitit.cabal
   '';
   meta = {
     homepage = "http://gitit.net";
diff --git a/pkgs/development/libraries/haskell/graphviz/default.nix b/pkgs/development/libraries/haskell/graphviz/default.nix
index 4e6c7298b86f..7986ef07c1ee 100644
--- a/pkgs/development/libraries/haskell/graphviz/default.nix
+++ b/pkgs/development/libraries/haskell/graphviz/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "graphviz";
-  version = "2999.14.0.0";
-  sha256 = "1dnjw7r2zg2qhjxnmdryi0839ggrb3l3bpx8asfpr0bza70kjdf3";
+  version = "2999.14.1.0";
+  sha256 = "13fni5sf6cdfvgyh7kqjjdhmjxkhbgl3gbi0cbq90n8blzg4q1ql";
   buildDepends = [
     colour dlist fgl filepath polyparse text transformers wlPprintText
   ];
diff --git a/pkgs/development/libraries/haskell/haskeline/default.nix b/pkgs/development/libraries/haskell/haskeline/0.6.4.7.nix
index 9863293c41de..9863293c41de 100644
--- a/pkgs/development/libraries/haskell/haskeline/default.nix
+++ b/pkgs/development/libraries/haskell/haskeline/0.6.4.7.nix
diff --git a/pkgs/development/libraries/haskell/haskeline/0.7.0.2.nix b/pkgs/development/libraries/haskell/haskeline/0.7.0.2.nix
new file mode 100644
index 000000000000..b58152f7c24d
--- /dev/null
+++ b/pkgs/development/libraries/haskell/haskeline/0.7.0.2.nix
@@ -0,0 +1,16 @@
+{ cabal, filepath, terminfo, transformers }:
+
+cabal.mkDerivation (self: {
+  pname = "haskeline";
+  version = "0.7.0.2";
+  sha256 = "0mmflw8mslvif8w1app4zwrlpynpfvzqdb9srs6bgicawwgkb2r0";
+  buildDepends = [ filepath terminfo transformers ];
+  configureFlags = "-fterminfo";
+  meta = {
+    homepage = "http://trac.haskell.org/haskeline";
+    description = "A command-line interface for user input, written in Haskell";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+    maintainers = [ self.stdenv.lib.maintainers.andres ];
+  };
+})
diff --git a/pkgs/development/libraries/haskell/hledger-lib/default.nix b/pkgs/development/libraries/haskell/hledger-lib/default.nix
index 644406ae1ec0..de2e40a03d52 100644
--- a/pkgs/development/libraries/haskell/hledger-lib/default.nix
+++ b/pkgs/development/libraries/haskell/hledger-lib/default.nix
@@ -11,7 +11,7 @@ cabal.mkDerivation (self: {
     split time transformers utf8String
   ];
   patchPhase = ''
-    sed -i -e 's|,split.*|,split|' hledger-lib.cabal
+    sed -i -e 's|,split.*|,split|' -e 's|,cmdargs.*|,cmdargs|' hledger-lib.cabal
   '';
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hledger/default.nix b/pkgs/development/libraries/haskell/hledger/default.nix
index efc2936f4063..a02697be7c23 100644
--- a/pkgs/development/libraries/haskell/hledger/default.nix
+++ b/pkgs/development/libraries/haskell/hledger/default.nix
@@ -14,7 +14,7 @@ cabal.mkDerivation (self: {
     regexpr safe shakespeareText split text time utf8String
   ];
   patchPhase = ''
-    sed -i -e 's|,split.*|,split|' hledger.cabal
+    sed -i -e 's|,split.*|,split|' -e 's|,cmdargs.*|,cmdargs|' hledger.cabal
   '';
   meta = {
     homepage = "http://hledger.org";
diff --git a/pkgs/development/libraries/haskell/hoauth/default.nix b/pkgs/development/libraries/haskell/hoauth/default.nix
index e118f7650979..c568b292c3c1 100644
--- a/pkgs/development/libraries/haskell/hoauth/default.nix
+++ b/pkgs/development/libraries/haskell/hoauth/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "hoauth";
-  version = "0.3.4";
-  sha256 = "0a8a77smzhxmynfi0ayvsgibpw9aav2f7pi9j3dxjas14zg9qv2k";
+  version = "0.3.5";
+  sha256 = "06vk3dv2dby7wadxg4qq2bzy10hl8ix2x4vpxggwd13xy3kpzjqp";
   buildDepends = [
     binary cryptoPubkeyTypes curl dataenc entropy mtl random RSA SHA
     time utf8String
diff --git a/pkgs/development/libraries/haskell/http-conduit/default.nix b/pkgs/development/libraries/haskell/http-conduit/default.nix
index 9c0efe3f05c3..eef0a2b52594 100644
--- a/pkgs/development/libraries/haskell/http-conduit/default.nix
+++ b/pkgs/development/libraries/haskell/http-conduit/default.nix
@@ -8,8 +8,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-conduit";
-  version = "1.6.0";
-  sha256 = "1vr4kglmlqn6s31ks231qx4b8034p6yi0501h3zswpqyf5cimhl7";
+  version = "1.6.0.1";
+  sha256 = "0v6r57pliaam3i69826bf07iqmkm2s2x6f19mk0amh7fvdfjhgyb";
   buildDepends = [
     asn1Data attoparsec attoparsecConduit base64Bytestring blazeBuilder
     blazeBuilderConduit caseInsensitive certificate conduit cookie
diff --git a/pkgs/development/libraries/haskell/http-types/default.nix b/pkgs/development/libraries/haskell/http-types/default.nix
index 14d347f39f50..242f73e9b21a 100644
--- a/pkgs/development/libraries/haskell/http-types/default.nix
+++ b/pkgs/development/libraries/haskell/http-types/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "http-types";
-  version = "0.7.3";
-  sha256 = "1s2y2fl9l75xd6fls9ajasn37i7cqxfw772rkw50d3vxvk2fdxjh";
+  version = "0.7.3.0.1";
+  sha256 = "1s2dh75jpf2yllw503hjw0x2anhc4c71vz5yylri8nxzx1zs18rq";
   buildDepends = [ blazeBuilder caseInsensitive text ];
   meta = {
     homepage = "https://github.com/aristidb/http-types";
diff --git a/pkgs/development/libraries/haskell/iteratee/default.nix b/pkgs/development/libraries/haskell/iteratee/default.nix
index 14c125121bde..bc99a88895b3 100644
--- a/pkgs/development/libraries/haskell/iteratee/default.nix
+++ b/pkgs/development/libraries/haskell/iteratee/default.nix
@@ -4,10 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "iteratee";
-  version = "0.8.9.1";
-  sha256 = "1yk7jvabmabf0qjcd00imbg7vx84yjf71h7x3zbv4a51ykfy5hax";
-  isLibrary = true;
-  isExecutable = true;
+  version = "0.8.9.3";
+  sha256 = "1abm7f7ymzw9sa625f40sj4510sbpyplybpgb5a229sq8118dbh0";
   buildDepends = [
     ListLike MonadCatchIOTransformers monadControl parallel
     transformers transformersBase
diff --git a/pkgs/development/libraries/haskell/postgresql-simple/default.nix b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
index 28b5c0dec850..3e3a1b7dbfd6 100644
--- a/pkgs/development/libraries/haskell/postgresql-simple/default.nix
+++ b/pkgs/development/libraries/haskell/postgresql-simple/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "postgresql-simple";
-  version = "0.2.4.0";
-  sha256 = "1n1s650j4z82cz34rq9qgj805yc9x852snnqjaa1iwrg9i3r150f";
+  version = "0.2.4.1";
+  sha256 = "09yszkiahfyidaq9yfk4mda5sf1m8bcqqag51vasybln9k9hhws3";
   buildDepends = [
     attoparsec blazeBuilder blazeTextual postgresqlLibpq text time
     transformers vector
diff --git a/pkgs/development/libraries/haskell/reactive-banana/default.nix b/pkgs/development/libraries/haskell/reactive-banana/default.nix
index 98438bbb3d2d..a80e911eefa7 100644
--- a/pkgs/development/libraries/haskell/reactive-banana/default.nix
+++ b/pkgs/development/libraries/haskell/reactive-banana/default.nix
@@ -1,13 +1,13 @@
-{ cabal, fclabels, hashable, QuickCheck, transformers
-, unorderedContainers, vault
+{ cabal, hashable, QuickCheck, transformers, unorderedContainers
+, vault
 }:
 
 cabal.mkDerivation (self: {
   pname = "reactive-banana";
-  version = "0.7.0.0";
-  sha256 = "0f25zr4l2v73yr3mww0ri9n0kq97sakd0mifvll0kmsh0cz124xz";
+  version = "0.7.0.1";
+  sha256 = "0nd6j2782x7i12xw480qgk42jkya9qi0xdas15ik6cmg4c9z1dyk";
   buildDepends = [
-    fclabels hashable QuickCheck transformers unorderedContainers vault
+    hashable QuickCheck transformers unorderedContainers vault
   ];
   meta = {
     homepage = "http://haskell.org/haskellwiki/Reactive-banana";
diff --git a/pkgs/development/libraries/haskell/semigroupoids/1.3.4.nix b/pkgs/development/libraries/haskell/semigroupoids/1.3.4.nix
deleted file mode 100644
index 776e452eafe7..000000000000
--- a/pkgs/development/libraries/haskell/semigroupoids/1.3.4.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ cabal, comonad, contravariant, semigroups, transformers }:
-
-cabal.mkDerivation (self: {
-  pname = "semigroupoids";
-  version = "1.3.4";
-  sha256 = "0vnipjndbsldk5w1qw35i2zrd418rq13y10g0i33ylg1gwnsrqph";
-  buildDepends = [ comonad contravariant semigroups transformers ];
-  meta = {
-    homepage = "http://github.com/ekmett/semigroupoids";
-    description = "Haskell 98 semigroupoids: Category sans id";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/semigroupoids/3.0.nix b/pkgs/development/libraries/haskell/semigroupoids/default.nix
index 4ffc3c2badce..4ffc3c2badce 100644
--- a/pkgs/development/libraries/haskell/semigroupoids/3.0.nix
+++ b/pkgs/development/libraries/haskell/semigroupoids/default.nix
diff --git a/pkgs/development/libraries/haskell/split/0.1.nix b/pkgs/development/libraries/haskell/split/0.1.nix
deleted file mode 100644
index ad0df5c2cb02..000000000000
--- a/pkgs/development/libraries/haskell/split/0.1.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ cabal }:
-
-cabal.mkDerivation (self: {
-  pname = "split";
-  version = "0.1.4.3";
-  sha256 = "1i9vmb0zvmhqj6qcbnsapsk9lhsyzznz336c8s7v4sz20s99hsby";
-  meta = {
-    homepage = "http://code.haskell.org/~byorgey/code/split";
-    description = "Combinator library for splitting lists";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/stylish-haskell/default.nix b/pkgs/development/libraries/haskell/stylish-haskell/default.nix
new file mode 100644
index 000000000000..eca99a8c4405
--- /dev/null
+++ b/pkgs/development/libraries/haskell/stylish-haskell/default.nix
@@ -0,0 +1,20 @@
+{ cabal, aeson, cmdargs, filepath, haskellSrcExts, mtl, strict, syb
+, yaml
+}:
+
+cabal.mkDerivation (self: {
+  pname = "stylish-haskell";
+  version = "0.4.0.0";
+  sha256 = "1d5a7a5f1lbyf7if0sb9vhmnbi5ry28wakhsgh75hvgzd999vbhx";
+  isLibrary = false;
+  isExecutable = true;
+  buildDepends = [
+    aeson cmdargs filepath haskellSrcExts mtl strict syb yaml
+  ];
+  meta = {
+    homepage = "https://github.com/jaspervdj/stylish-haskell";
+    description = "Haskell code prettifier";
+    license = self.stdenv.lib.licenses.bsd3;
+    platforms = self.ghc.meta.platforms;
+  };
+})
diff --git a/pkgs/development/libraries/haskell/tagsoup/0.10.1nix b/pkgs/development/libraries/haskell/tagsoup/0.10.1nix
deleted file mode 100644
index 462ee658fd25..000000000000
--- a/pkgs/development/libraries/haskell/tagsoup/0.10.1nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ cabal, mtl, network }:
-
-cabal.mkDerivation (self: {
-  pname = "tagsoup";
-  version = "0.10.1";
-  sha256 = "0bssfj5r790yj33q23i0lbj83xahzd9rf4jhqs21vgrpn9fqsynl";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ mtl network ];
-  meta = {
-    homepage = "http://community.haskell.org/~ndm/tagsoup/";
-    description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
-    license = self.stdenv.lib.licenses.bsd3;
-    platforms = self.ghc.meta.platforms;
-  };
-})
diff --git a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
index 1f1a45d42450..e0615469ab75 100644
--- a/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
+++ b/pkgs/development/libraries/haskell/test-framework-quickcheck2/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "test-framework-quickcheck2";
-  version = "0.2.12.2";
-  sha256 = "08m8y78qy23imcwyqdqla7syxdf91iqrb0j8g6g7gwsg5asjq6ip";
+  version = "0.2.12.3";
+  sha256 = "17pj6b1cclihy203zpb75rkx2djldc9kcj10wqkf5fjmf9vvi0ks";
   buildDepends = [
     extensibleExceptions QuickCheck random testFramework
   ];
diff --git a/pkgs/development/libraries/haskell/texmath/0.4.nix b/pkgs/development/libraries/haskell/texmath/0.4.nix
deleted file mode 100644
index 9d9a4f07586c..000000000000
--- a/pkgs/development/libraries/haskell/texmath/0.4.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ cabal, parsec, syb, xml }:
-
-cabal.mkDerivation (self: {
-  pname = "texmath";
-  version = "0.4";
-  sha256 = "1rvnhqljxkljy8ncpaj8p7b14nvvm6zmiixv13m1zxlcr457j2ai";
-  isLibrary = true;
-  isExecutable = true;
-  buildDepends = [ parsec syb xml ];
-  meta = {
-    homepage = "http://github.com/jgm/texmath";
-    description = "Conversion of LaTeX math formulas to MathML";
-    license = "GPL";
-    platforms = self.ghc.meta.platforms;
-    maintainers = [ self.stdenv.lib.maintainers.andres ];
-  };
-})
diff --git a/pkgs/development/libraries/haskell/tls/default.nix b/pkgs/development/libraries/haskell/tls/default.nix
index d440d9422773..2154aa347d22 100644
--- a/pkgs/development/libraries/haskell/tls/default.nix
+++ b/pkgs/development/libraries/haskell/tls/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "tls";
-  version = "0.9.9";
-  sha256 = "0l29ja7mcyykj4dh7awjbrb9aswgarxls71vk68pdfaz047jsvx6";
+  version = "0.9.10";
+  sha256 = "1kiwb5skirdla32gjicgmjyk09p8f701jgs6krxbi38gmmfj1dxf";
   isLibrary = true;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/libraries/haskell/yesod-core/default.nix b/pkgs/development/libraries/haskell/yesod-core/default.nix
index 219a83e1e96d..66432d02f592 100644
--- a/pkgs/development/libraries/haskell/yesod-core/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-core/default.nix
@@ -9,8 +9,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yesod-core";
-  version = "1.1.1";
-  sha256 = "1rq0zdn9d6f34s7wnnr32hnbz23z8bvz3j2ylv8sz5h3nwmbfz99";
+  version = "1.1.1.1";
+  sha256 = "1sx8bn48r8l9qkqlg2rab6b2xz5dkvw8whm3df7rviw9lymgcrdk";
   buildDepends = [
     aeson blazeBuilder blazeHtml blazeMarkup caseInsensitive cereal
     clientsession conduit cookie failure fastLogger hamlet httpTypes
diff --git a/pkgs/development/libraries/haskell/yesod-static/default.nix b/pkgs/development/libraries/haskell/yesod-static/default.nix
index d7e9498c968f..8fffccd649ab 100644
--- a/pkgs/development/libraries/haskell/yesod-static/default.nix
+++ b/pkgs/development/libraries/haskell/yesod-static/default.nix
@@ -12,6 +12,9 @@ cabal.mkDerivation (self: {
     httpTypes systemFilepath text transformers unixCompat wai
     waiAppStatic yesodCore
   ];
+  patchPhase = ''
+    sed -i yesod-static.cabal -e 's|, base64-bytestring.*|, base64-bytestring|'
+  '';
   meta = {
     homepage = "http://www.yesodweb.com/";
     description = "Static file serving subsite for Yesod Web Framework";
diff --git a/pkgs/development/libraries/kdevplatform/default.nix b/pkgs/development/libraries/kdevplatform/default.nix
index 10aa4c02028b..367987d5dee4 100644
--- a/pkgs/development/libraries/kdevplatform/default.nix
+++ b/pkgs/development/libraries/kdevplatform/default.nix
@@ -2,11 +2,11 @@
   gettext, pkgconfig, apr, aprutil, boost, qjson }:
 
 stdenv.mkDerivation rec {
-  name = "kdevplatform-1.3.0";
+  name = "kdevplatform-1.3.1";
 
   src = fetchurl {
-    url = "mirror://kde/stable/kdevelop/4.3.0/src/${name}.tar.bz2";
-    sha256 = "0afka8999csyj8hbgmcsbn8h2by04v7n8k4mrwkl0b79crdvwbcd";
+    url = "mirror://kde/stable/kdevelop/4.3.1/src/${name}.tar.bz2";
+    sha256 = "1fiqwabw5ilhw1jwvvr743dym12y3kxrs3zlqahz57yncdsglcl6";
   };
 
   propagatedBuildInputs = [ kdelibs qt4 phonon ];
diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/development/libraries/libcdr/default.nix
new file mode 100644
index 000000000000..823a4839e80d
--- /dev/null
+++ b/pkgs/development/libraries/libcdr/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, libwpg, libwpd, lcms2, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libcdr-0.0.8";
+
+  src = fetchurl {
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.xz";
+    sha256 = "117a8gp29xs3kin6kaisb3frsx8dwrsjgs4wq4y5hjqprzy6lwz0";
+  };
+
+  buildInputs = [ libwpg libwpd lcms2 ];
+
+  buildNativeInputs = [ pkgconfig ];
+
+  CXXFLAGS="--std=gnu++0x"; # For c++11 constants in lcms2.h
+
+  meta = {
+    description = "A library providing ability to interpret and import Corel Draw drawings into various applications";
+    homepage = http://www.freedesktop.org/wiki/Software/libcdr;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix
new file mode 100644
index 000000000000..a75fada7484a
--- /dev/null
+++ b/pkgs/development/libraries/libexttextcat/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libexttextcat-3.3.1";
+
+  src = fetchurl {
+    url = "http://dev-www.libreoffice.org/src/libexttextcat/${name}.tar.xz";
+    sha256 = "1a7ablpipfbiyhl6wsraj5z8pj3qkqgnrms73wzsqhpbyww334h4";
+  };
+
+  patches = [ ./memory-leaks.patch ];
+
+  meta = {
+    description = "An N-Gram-Based Text Categorization library primarily intended for language guessing";
+    homepage = http://www.freedesktop.org/wiki/Software/libexttextcat;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libexttextcat/memory-leaks.patch b/pkgs/development/libraries/libexttextcat/memory-leaks.patch
new file mode 100644
index 000000000000..0be4ffdc93a7
--- /dev/null
+++ b/pkgs/development/libraries/libexttextcat/memory-leaks.patch
@@ -0,0 +1,37 @@
+Combined upstream commits 980592386f23db8b0dc84c434805cb167d0cc091 and
+5ef4ad86ec934282cba891922ec2d13784da3354.
+diff -u b/src/textcat.c b/src/textcat.c
+--- b/src/textcat.c
++++ b/src/textcat.c
+@@ -212,8 +212,6 @@
+                                 sizeof(char) * (tmp_size + 1));
+             if (tmp == NULL)
+             {
+-                free(finger_print_file_name);
+-                finger_print_file_name_size = 0;
+                 goto BAILOUT;
+             }
+             else
+@@ -226,10 +224,7 @@
+         strcat(finger_print_file_name, segment[0]);
+ 
+         if (fp_Read(h->fprint[h->size], finger_print_file_name, 400) == 0)
+-        {
+-            textcat_Done(h);
+             goto BAILOUT;
+-        }
+         h->fprint_disable[h->size] = 0xF0;  /* 0xF0 is the code for enabled
+                                                languages, 0x0F is for disabled 
+                                              */
+@@ -242,9 +237,10 @@
+     return h;
+ 
+   BAILOUT:
++    free(finger_print_file_name);
+     fclose(fp);
++    textcat_Done(h);
+     return NULL;
+-
+ }
+ 
+ extern candidate_t *textcat_GetClassifyFullOutput(void *handle)
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index f598482f8304..63d698dda18f 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }: 
 
 stdenv.mkDerivation {
-  name = "libjpeg-8c";
+  name = "libjpeg-8d";
   
   src = fetchurl {
-    url = http://www.ijg.org/files/jpegsrc.v8c.tar.gz;
-    sha256 = "16kwrjhziv81gl9fq9b7qir8khm3wfb9zj7fzs7yabsb00z0pz7d";
+    url = http://www.ijg.org/files/jpegsrc.v8d.tar.gz;
+    sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0";
   };
   
   meta = {
diff --git a/pkgs/development/libraries/libktorrent/default.nix b/pkgs/development/libraries/libktorrent/default.nix
index 1f50f1b976bf..083fbf13c817 100644
--- a/pkgs/development/libraries/libktorrent/default.nix
+++ b/pkgs/development/libraries/libktorrent/default.nix
@@ -2,8 +2,8 @@
 , phonon, libgcrypt }:
 
 let
-  mp_ = "1.3";
-  version = "1.${mp_}";
+  mp_ = "2.1";
+  version = "1.${mp_}-2";
   version4 = "4.${mp_}";
 in
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://ktorrent.org/downloads/${version4}/${name}.tar.bz2";
-    sha256 = "0mvvx6mdfy0pyhk6lwwmmbd3pd2ai6n2rf5kdjqhpkm9wbrck85n";
+    sha256 = "1b4ibkba27ivvjsh5s93xwlcgzvvwsgl6mcd8g96d1al05n2ccw9";
   };
 
   buildNativeInputs = [ cmake automoc4 gettext ];
diff --git a/pkgs/development/libraries/libvisio/default.nix b/pkgs/development/libraries/libvisio/default.nix
new file mode 100644
index 000000000000..99146cd02cc4
--- /dev/null
+++ b/pkgs/development/libraries/libvisio/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, boost, libwpd, libwpg, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libvisio-0.0.19";
+
+  src = fetchurl {
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.xz";
+    sha256 = "1iqkz280mi066bdccyxagkqm41i270nx01cacvgjq2pflgd3njd1";
+  };
+
+  buildNativeInputs = [ pkgconfig ];
+  buildInputs = [ boost libwpd libwpg ];
+
+  configureFlags = "--disable-werror";
+
+  meta = {
+    description = "A library providing ability to interpret and import visio diagrams into various applications";
+    homepage = http://www.freedesktop.org/wiki/Software/libvisio;
+    platforms = stdenv.lib.platforms.gnu; # random choice
+  };
+}
diff --git a/pkgs/development/libraries/mdds/default.nix b/pkgs/development/libraries/mdds/default.nix
new file mode 100644
index 000000000000..484f878a55ef
--- /dev/null
+++ b/pkgs/development/libraries/mdds/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "mdds-0.6.0";
+
+  src = fetchurl {
+    url = http://multidimalgorithm.googlecode.com/files/mdds_0.6.0.tar.bz2;
+    sha256 = "0yx6cx2cxk9wpmfpv6k3agkr1sjzxdgxrm3zfj34zwyxr3sh0ql4";
+  };
+
+  meta = {
+    homepage = https://code.google.com/p/multidimalgorithm/;
+    description = "A collection of multi-dimensional data structure and indexing algorithm";
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/mythes/default.nix b/pkgs/development/libraries/mythes/default.nix
new file mode 100644
index 000000000000..ff06f2a00506
--- /dev/null
+++ b/pkgs/development/libraries/mythes/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, hunspell, pkgconfig, perl }:
+
+stdenv.mkDerivation rec {
+  name = "mythes-1.2.3";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/hunspell/${name}.tar.gz";
+    sha256 = "0f5q7yiwg9bw4a5zxg0dapqdfc2grfb4ss34ifir3mhhy4q3jf4j";
+  };
+
+  buildInputs = [ hunspell ];
+  buildNativeInputs = [ pkgconfig perl ];
+
+  meta = {
+    homepage = http://hunspell.sourceforge.net/;
+    description = "Thesaurus library from Hunspell project";
+    inherit (hunspell.meta) platforms;
+  };
+}
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
new file mode 100644
index 000000000000..c1b6d0e67e7f
--- /dev/null
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "spice-protocol-0.10.1";
+
+  src = fetchurl {
+    url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
+    sha256 = "0drmy2ws7qwmvjxfynhssbvh1y954rfik99hnl789g7yg6vcpxp5";
+  };
+
+  meta = {
+    description = "Protocol headers for the SPICE protocol.";
+    homepage = http://www.spice-space.org;
+    license = stdenv.lib.licenses.bsd3;
+
+    maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
new file mode 100644
index 000000000000..cba5d9107837
--- /dev/null
+++ b/pkgs/development/libraries/spice/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pkgconfig, pixman, celt, alsaLib, openssl
+, libXrandr, libXfixes, libXext, libXrender, libXinerama, libjpeg, zlib
+, spiceProtocol }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "spice-0.10.1";
+
+  src = fetchurl {
+    url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
+    sha256 = "105p5fh6hhhzvz0fh1x52lzi41rpvajf390xbbw3da4417lf5pqk";
+  };
+
+  buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
+                  libXrandr libXfixes libXrender libXext libXinerama
+                ];
+
+  buildNativeInputs = [ pkgconfig spiceProtocol ];
+
+  # NIX_CFLAGS_COMPILE = "-fno-stack-protector";
+
+  configureFlags = [
+    "--with-sasl=no"
+  ];
+
+  postInstall = ''
+    ln -s spice-server $out/include/spice
+  '';
+
+  meta = {
+    description = "Complete open source solution for interaction with virtualized desktop devices";
+    longDescription = ''
+      The Spice project aims to provide a complete open source solution for interaction
+      with virtualized desktop devices.The Spice project deals with both the virtualized
+      devices and the front-end. Interaction between front-end and back-end is done using
+      VD-Interfaces. The VD-Interfaces (VDI) enable both ends of the solution to be easily
+      utilized by a third-party component.
+    '';
+    homepage = http://www.spice-space.org/;
+    license = licenses.lgpl21;
+
+    maintainers = [ maintainers.bluescreen303 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index a625de6ffdce..a5042ffc7d46 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gdb }:
 
 stdenv.mkDerivation (rec {
-  name = "valgrind-3.7.0";
+  name = "valgrind-3.8.0";
 
   src = fetchurl {
     url = "http://valgrind.org/downloads/${name}.tar.bz2";
-    sha256 = "1xnb4jiimscwriw3jd1lkk0m9x4glqpijj9jb4ngx08l1wrw0qjx";
+    sha256 = "1310lxmzidrbv0l3hrf45ampkf61gv2vb8msnqm684lp41gmh5px";
   };
 
   # Perl is needed for `cg_annotate'.
diff --git a/pkgs/development/tools/haskell/SourceGraph/default.nix b/pkgs/development/tools/haskell/SourceGraph/default.nix
index 731722126ca1..382a940408f4 100644
--- a/pkgs/development/tools/haskell/SourceGraph/default.nix
+++ b/pkgs/development/tools/haskell/SourceGraph/default.nix
@@ -4,8 +4,8 @@
 
 cabal.mkDerivation (self: {
   pname = "SourceGraph";
-  version = "0.7.0.2";
-  sha256 = "0cdspzsz15r83fjry9467z67h6vvnjh31fip6gf64k74gdjkfisl";
+  version = "0.7.0.3";
+  sha256 = "04bx7przxha38n9vckcxz3mbcxcws5ifbc1xfm0rg6bn8rym78yb";
   isLibrary = false;
   isExecutable = true;
   buildDepends = [
diff --git a/pkgs/development/tools/parsing/Ebnf2ps/default.nix b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
index 81815500c618..f1964e815f67 100644
--- a/pkgs/development/tools/parsing/Ebnf2ps/default.nix
+++ b/pkgs/development/tools/parsing/Ebnf2ps/default.nix
@@ -2,8 +2,8 @@
 
 cabal.mkDerivation (self: {
   pname = "Ebnf2ps";
-  version = "1.0.10";
-  sha256 = "0xim32bnfapfs53lvmdz2af08rqd15lp5b0rh6yjqm7n1g2061zs";
+  version = "1.0.11";
+  sha256 = "0n0maihalnrks3l7ay1i16p6i7f69xv33jxhlsyshzck0v64qivb";
   isLibrary = false;
   isExecutable = true;
   buildTools = [ happy ];
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix
index ba6b65d602b4..b2210141f574 100644
--- a/pkgs/games/fsg/default.nix
+++ b/pkgs/games/fsg/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation {
   name = "fsg-4.4";
 
   src = fetchurl {
-    url = http://www.piettes.com/fallingsandgame/fsg-src-4.4.tar.gz;
+    #url = http://www.piettes.com/fallingsandgame/fsg-src-4.4.tar.gz;
+    url = http://www.sourcefiles.org/Games/Simulation/Other/fsg-src-4.4.tar.gz;
     sha256 = "1756y01rkvd3f1pkj88jqh83fqcfl2fy0c48mcq53pjzln9ycv8c";
   };
 
diff --git a/pkgs/lib/attrsets.nix b/pkgs/lib/attrsets.nix
index de6eccbec1f8..63448847a150 100644
--- a/pkgs/lib/attrsets.nix
+++ b/pkgs/lib/attrsets.nix
@@ -5,7 +5,8 @@ with {
   inherit (import ./trivial.nix) or;
   inherit (import ./default.nix) fold;
   inherit (import ./strings.nix) concatStringsSep;
-  inherit (import ./lists.nix) concatMap concatLists;
+  inherit (import ./lists.nix) concatMap concatLists all;
+  inherit (import ./misc.nix) maybeAttr;
 };
 
 rec {
@@ -78,6 +79,16 @@ rec {
   filterAttrs = pred: set:
     listToAttrs (fold (n: ys: let v = getAttr n set; in if pred n v then [(nameValuePair n v)] ++ ys else ys) [] (attrNames set));
 
+  /* foldAttrs: apply fold functions to values grouped by key. Eg accumulate values as list:
+     foldAttrs (n: a: [n] ++ a) [] [{ a = 2; } { a = 3; }]
+     => { a = [ 2 3 ]; }
+  */
+  foldAttrs = op: nul: list_of_attrs:
+    fold (n: a:
+        fold (name: o:
+          o // (listToAttrs [{inherit name; value = op (getAttr name n) (maybeAttr name nul a); }])
+        ) a (attrNames n)
+    ) {} list_of_attrs;
 
   /* Recursively collect sets that verify a given predicate named `pred'
      from the set `attrs'.  The recursion is stopped when the predicate is
diff --git a/pkgs/lib/tests.nix b/pkgs/lib/tests.nix
index 835298ddb9ea..04acb7632eab 100644
--- a/pkgs/lib/tests.nix
+++ b/pkgs/lib/tests.nix
@@ -58,6 +58,13 @@ runTests {
     ([ 1 2 3 ] == (take 4 [  1 2 3 ]))
   ];
 
+  testFoldAttrs = {
+    expr = foldAttrs (n: a: [n] ++ a) [] [
+    { a = 2; b = 7; }
+    { a = 3;        c = 8; }
+    ];
+    expected = { a = [ 2 3 ]; b = [7]; c = [8];};
+  };
 
   testOverridableDelayableArgsTest = {
     expr = 
diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix
index 63eafb93e304..9e761b90a05c 100644
--- a/pkgs/os-specific/linux/cifs-utils/default.nix
+++ b/pkgs/os-specific/linux/cifs-utils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
-   
+
 stdenv.mkDerivation rec {
-  name = "cifs-utils-5.3";
-   
+  name = "cifs-utils-5.6";
+
   src = fetchurl {
     url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2";
-    sha256 = "68e969c4107a872e2848992732dc11eafc7bdf084bec894c0ba677572de49b32";
+    sha256 = "0f619nw1163bcmfc83mmqj31qdkl68wfm81vynx3d8q0m0k1ll7i";
   };
 
   makeFlags = "root_sbindir=$(out)/sbin";
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://www.samba.org/linux-cifs/cifs-utils/;
     description = "Tools for managing Linux CIFS client filesystems";
-    platforms = stdenv.lib.platforms.linux;    
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix
index d1a4bf9feb65..4328eb36b6dc 100644
--- a/pkgs/os-specific/linux/gogoclient/default.nix
+++ b/pkgs/os-specific/linux/gogoclient/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
   name = "${baseName}-${version}";
 
   src = fetchurl {
-    url = http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz;
+    #url = http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz;
+    url = http://pkgs.fedoraproject.org/repo/pkgs/gogoc/gogoc-1_2-RELEASE.tar.gz/41177ed683cf511cc206c7782c37baa9/gogoc-1_2-RELEASE.tar.gz;
     sha256 = "a0ef45c0bd1fc9964dc8ac059b7d78c12674bf67ef641740554e166fa99a2f49";
   };
   patches = [./gcc46-include-fix.patch ./config-paths.patch ];
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
       --replace "/sbin/route"    "${nettools}/sbin/route" \
       --replace "/sbin/ip"       "${iproute}/sbin/ip" \
       --replace "/sbin/sysctl"   "${procps}/sbin/sysctl"
+    sed -i -e 's/^.*Exec \$route -A.*$/& metric 128/' $out/template/linux.sh
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index 7d421af4917a..8b0e3e0d8a25 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -239,7 +239,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.4.9";
+    version = "3.4.10";
     testing = false;
 
     preConfigure = ''
@@ -248,7 +248,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "02rnzpnfs7hfsglrgwr1450ssj47da1w079rmvzh1k0apy7qdpzm";
+      sha256 = "03xfiyhv6zl3wn78bgm7a30w4hs2p328s447slilp0z2w09jqn4q";
     };
 
     config = configWithPlatform stdenv.platform;
@@ -256,6 +256,7 @@ import ./generic.nix (
 
     features.iwlwifi = true;
     features.efiBootStub = true;
+    features.needsCifsUtils = true;
   }
 
   // removeAttrs args ["extraConfig"]
diff --git a/pkgs/os-specific/linux/kernel/linux-3.5.nix b/pkgs/os-specific/linux/kernel/linux-3.5.nix
index 8e347595f220..61d6b0aeba50 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.5.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.5.nix
@@ -240,7 +240,7 @@ in
 import ./generic.nix (
 
   rec {
-    version = "3.5.2";
+    version = "3.5.3";
     testing = false;
 
     preConfigure = ''
@@ -249,7 +249,7 @@ import ./generic.nix (
 
     src = fetchurl {
       url = "mirror://kernel/linux/kernel/v3.x/${if testing then "testing/" else ""}linux-${version}.tar.xz";
-      sha256 = "13dzx7gqm0n7s73bq87ibhmydrfsngyps9sczkcy1sh56rrkv0x6";
+      sha256 = "1p8imlvka3mjm74k09535lyqgdrl1jxrldzd7c8k4qlh5s8fz13w";
     };
 
     config = configWithPlatform stdenv.platform;
@@ -257,6 +257,7 @@ import ./generic.nix (
 
     features.iwlwifi = true;
     features.efiBootStub = true;
+    features.needsCifsUtils = true;
   }
 
   // removeAttrs args ["extraConfig"]
diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix
index f6709bb439f4..39b7074e2996 100644
--- a/pkgs/os-specific/linux/qemu-kvm/default.nix
+++ b/pkgs/os-specific/linux/qemu-kvm/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, attr, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2
-, libjpeg, libpng, ncurses, python, glib, libaio, mesa }:
+, libjpeg, libpng, ncurses, python, glib, libaio, mesa
+, spice, spiceProtocol, spiceSupport ? false }:
 
 assert stdenv.isLinux;
 
@@ -23,19 +24,24 @@ stdenv.mkDerivation rec {
                  s|/usr/bin/python|${python}/bin/python|g ;
                  s|/bin/rm|rm|g'
        done
+    '' + stdenv.lib.optionalString spiceSupport ''
+       for i in configure spice-qemu-char.c ui/spice-input.c ui/spice-core.c ui/qemu-spice.h
+       do
+         substituteInPlace $i --replace '#include <spice.h>' '#include <spice/spice.h>'
+       done
     '';
 
   configureFlags =
     [ "--audio-drv-list=alsa"
       "--smbd=smbd"                               # use `smbd' from $PATH
-    ];
+    ] ++ stdenv.lib.optional spiceSupport "--enable-spice";
 
   enableParallelBuilding = true;
 
   buildInputs =
     [ attr zlib SDL alsaLib pkgconfig pciutils libuuid vde2 libjpeg libpng
       ncurses python glib libaio mesa
-    ];
+    ] ++ stdenv.lib.optionals spiceSupport [ spiceProtocol spice ];
 
   postInstall =
     ''
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 16d9127e5561..a435eea86639 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -4,31 +4,22 @@
 
 assert stdenv.isLinux;
 
-stdenv.mkDerivation {
-  name = "postfix-2.8.6";
-  
+stdenv.mkDerivation rec {
+  name = "postfix-2.8.12";
+
   src = fetchurl {
-    url = ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/postfix-2.8.6.tar.gz;
-    sha256 = "1rfsfhna5hy5lc6hkg1zc2862pdc5c1y9z6aiy8rinlmzrfplhlb";
+    url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
+    sha256 = "11z07mjy53l1fnl7k4101yk4ilibgqr1164628mqcbmmr8bh2szl";
   };
 
-  installTargets = ["non-interactive-package"];
-  
-  installFlags = [" install_root=$out "];
-  
-  preInstall = ''
-    sed -e '/^PATH=/d' -i postfix-install
-  '';
-  
-  postInstall = ''
-    mkdir -p $out
-    mv ut/$out/* $out/
+  buildInputs = [db4 openssl cyrus_sasl bison perl];
 
-    mkdir $out/share/postfix/conf
-    cp conf/* $out/share/postfix/conf
-    sed -e 's@PATH=.*@PATH=${coreutils}/bin:${findutils}/bin:${gnused}/bin:${gnugrep}/bin:'$out'/sbin@' -i $out/share/postfix/conf/post-install $out/libexec/postfix/post-install
-    sed -e '2aPATH=${coreutils}/bin:${findutils}/bin:${gnused}/bin:${gnugrep}/bin:'$out'/sbin' -i $out/share/postfix/conf/postfix-script $out/libexec/postfix/postfix-script
-    chmod a+x $out/share/postfix/conf/{postfix-script,post-install}
+  patches = [ ./postfix-2.2.9-db.patch  ./postfix-2.2.9-lib.patch ./db-linux3.patch ];
+
+  postPatch = ''
+    sed -i -e s,/usr/bin,/var/run/current-system/sw/bin, \
+      -e s,/usr/sbin,/var/run/current-system/sw/sbin, \
+      -e s,:/sbin,, src/util/sys_defs.h
   '';
 
   preBuild = ''
@@ -46,15 +37,29 @@ stdenv.mkDerivation {
     make makefiles CCARGS='-DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${cyrus_sasl}/include/sasl' AUXLIBS='-lssl -lcrypto -lsasl2 -ldb -lnsl'
   '';
 
-  buildInputs = [db4 openssl cyrus_sasl bison perl];
-  
-  patches = [ ./postfix-2.2.9-db.patch  ./postfix-2.2.9-lib.patch ./db-linux3.patch ];
+  installPhase = ''
+    sed -e '/^PATH=/d' -i postfix-install
+    $SHELL postfix-install install_root=out -non-interactive -package
 
-  postPatch = ''
-    sed -i -e s,/usr/bin,/var/run/current-system/sw/bin, \
-      -e s,/usr/sbin,/var/run/current-system/sw/sbin, \
-      -e s,:/sbin,, src/util/sys_defs.h
+    mkdir -p $out
+    mv -v "out$out/"* $out/
+
+    mkdir -p $out/share/postfix
+    mv conf $out/share/postfix/
+    mv LICENSE TLS_LICENSE $out/share/postfix/
+
+    sed -e 's@^PATH=.*@PATH=${coreutils}/bin:${findutils}/bin:${gnused}/bin:${gnugrep}/bin:'$out'/sbin@' -i $out/share/postfix/conf/post-install $out/libexec/postfix/post-install
+    sed -e '2aPATH=${coreutils}/bin:${findutils}/bin:${gnused}/bin:${gnugrep}/bin:'$out'/sbin' -i $out/share/postfix/conf/postfix-script $out/libexec/postfix/postfix-script
+    chmod a+x $out/share/postfix/conf/{postfix-script,post-install}
   '';
-  
+
   inherit glibc;
+
+  meta = {
+    homepage = "http://www.postfix.org/";
+    description = "a fast, easy to administer, and secure mail server";
+    license = stdenv.lib.licenses.bsdOriginal;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.simons ];
+  };
 }
diff --git a/pkgs/servers/sip/sipwitch/default.nix b/pkgs/servers/sip/sipwitch/default.nix
index 7fa9a62e5e3f..097dde325f19 100644
--- a/pkgs/servers/sip/sipwitch/default.nix
+++ b/pkgs/servers/sip/sipwitch/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, pkgconfig, ucommon, libosip, libexosip, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "sipwitch-1.2.3";
+  name = "sipwitch-1.2.4";
 
   src = fetchurl {
     url = "mirror://gnu/sipwitch/${name}.tar.gz";
-    sha256 = "0vc7x061m2jdj8hwpw56yiz8ij07x058vm1rm1dz7w98slpkcj6d";
+    sha256 = "1c826832xi9p85l7c9va33xx8hx01m3jq49s0d1xl4c8kvri7bsj";
   };
 
   buildInputs = [ pkgconfig ucommon libosip libexosip gnutls zlib ];
diff --git a/pkgs/servers/sql/postgresql/jdbc/default.nix b/pkgs/servers/sql/postgresql/jdbc/default.nix
index e173a270e882..e490a14bea61 100644
--- a/pkgs/servers/sql/postgresql/jdbc/default.nix
+++ b/pkgs/servers/sql/postgresql/jdbc/default.nix
@@ -1,13 +1,19 @@
-{stdenv, fetchurl, ant}:
+{ stdenv, fetchurl, ant }:
 
-stdenv.mkDerivation {
-  name = "postgresql-jdbc-8.2";
+stdenv.mkDerivation rec {
+  name = "postgresql-jdbc-9.1-902";
   builder = ./builder.sh;
 
   src = fetchurl {
-    url = http://jdbc.postgresql.org/download/postgresql-jdbc-8.2-504.src.tar.gz;
-    sha256 = "1fkza5j4b9pzm69cw1zv35bqk062d92l4l0zhz3qn0g64r08ccm4";
+    url = "http://jdbc.postgresql.org/download/${name}.src.tar.gz";
+    sha256 = "0sgwbiw5vfxcl0g1yzsndgxdha74cr8ag6y65i0jhgg5g8qc56bz";
   };
 
   buildInputs = [ant];
+
+  meta = {
+    homepage = http://jdbc.postgresql.org/;
+    description = "JDBC driver for PostgreSQL allowing Java programs to connect to a PostgreSQL database";
+    license = "bsd";
+  };
 }
diff --git a/pkgs/tools/filesystems/davfs2/default.nix b/pkgs/tools/filesystems/davfs2/default.nix
index 8cc212deee47..ce4421f9ca7f 100644
--- a/pkgs/tools/filesystems/davfs2/default.nix
+++ b/pkgs/tools/filesystems/davfs2/default.nix
@@ -1,16 +1,21 @@
-{ stdenv, fetchurl, neon, zlib }:
+{ stdenv, fetchurl, neon, zlib, noDavsUser ? false}:
 
 stdenv.mkDerivation rec {
-  name = "davfs2-1.4.5";
+  name = "davfs2-1.4.7";
 
   src = fetchurl {
     url = "mirror://savannah/davfs2/${name}.tar.gz";
-    sha256 = "1pkl2braggp2qg4c68dwfv399l9jz7cvi7gkm4xbj6mgvl0cxw18";
+    sha256 = "0i7hrwlfzisb4l2mza1kjj9q9xxixggjplsjm339zl7828mfxh2h";
   };
 
+  prePatch = stdenv.lib.optional noDavsUser ''
+    echo "dav_user root" >> etc/davfs2.conf
+    echo "dav_group root" >> etc/davfs2.conf
+  '';
+
   buildInputs = [ neon zlib ];
-  
-  patches = [ ./davfs2-install.patch ./isdir.patch ]; 
+
+  patches = [ ./davfs2-install.patch ./isdir.patch ];
 
   meta = {
     longDescription = "Web Distributed Authoring and Versioning (WebDAV), an extension to the HTTP-protocol, allows authoring of resources on a remote web server. davfs2 provides the ability to access such resources like a typical filesystem, allowing for use by standard applications with no built-in support for WebDAV.";
diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix
new file mode 100644
index 000000000000..5e684cfa377f
--- /dev/null
+++ b/pkgs/tools/misc/plowshare/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, makeWrapper, curl }:
+
+let
+
+  v  = "20120807";
+
+in stdenv.mkDerivation {
+
+  name = "plowshare-git${v}";
+
+  src = fetchurl {
+    url = "http://plowshare.googlecode.com/files/plowshare-snapshot-git${v}.tar.gz";
+    sha256 = "0clryfssaa4rjvsy760p51ppq1275lwvhm9jh3g4mi973xv4n8si";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+
+  installPhase = ''
+    make PREFIX="$out" install
+
+    for fn in plow{del,down,list,up}; do
+      wrapProgram "$out/bin/$fn" --prefix PATH : "${curl}/bin"
+    done
+  '';
+
+  meta = {
+    description = ''
+      A command-line download/upload tool for popular file sharing websites
+    '';
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.aforemny ];
+  };
+}
diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix
index 34ec8eed90ea..3cd35073be6e 100644
--- a/pkgs/tools/networking/miniupnpc/default.nix
+++ b/pkgs/tools/networking/miniupnpc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "miniupnpc-1.6";
+  name = "miniupnpc-1.7";
 
   src = fetchurl {
     url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
-    sha256 = "151rh46axl44y7bbflb43pnj52gvlfnkxfgrn2jvai5gwrbbgmmv";
+    sha256 = "0dv3mz4yikngmlnrnmh747mlgbbpijryw03wcs8g4jwvprb29p8n";
   };
 
   installFlags = "PREFIX=$(out) INSTALLPREFIX=$(out)";
diff --git a/pkgs/tools/networking/surfraw/default.nix b/pkgs/tools/networking/surfraw/default.nix
new file mode 100644
index 000000000000..6fcc031aab4b
--- /dev/null
+++ b/pkgs/tools/networking/surfraw/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchurl, perl}:
+
+stdenv.mkDerivation rec {
+  name = "surfraw-2.2.8";
+
+  src = fetchurl {
+    url = "http://surfraw.alioth.debian.org/dist/surfraw-2.2.8.tar.gz";
+    sha256 = "925075e05637e39458b00e859193aacde306aafd9a962f44f5114f81713539ec";
+  };
+
+  configureFlags = [
+    "--disable-opensearch"
+  ];
+
+  buildNativeInputs = [ perl ];
+
+  meta = {
+    description = "Provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power";
+    homepage = "http://surfraw.alioth.debian.org";
+    maintainers = [];
+  };
+}
diff --git a/pkgs/tools/text/enca/default.nix b/pkgs/tools/text/enca/default.nix
new file mode 100644
index 000000000000..ce1c7401a4e0
--- /dev/null
+++ b/pkgs/tools/text/enca/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, libiconv ? null }:
+
+stdenv.mkDerivation rec {
+  name = "enca-1.13";
+
+  src = fetchurl {
+    url = "http://dl.cihar.com/enca/${name}.tar.bz2";
+    sha256 = "6c091455d524b3ddae3533fe9bb375092f60ad6fe252e0777c873bd7869c7432";
+  };
+
+  buildInputs = (stdenv.lib.optional (libiconv != null) libiconv);
+
+  meta = {
+    homepage = http://freecode.com/projects/enca;
+    description = "Detects the encoding of text files and reencodes them";
+
+    longDescription = ''
+        Enca detects the encoding of text files, on the basis of knowledge
+        of their language. It can also convert them to other encodings,
+        allowing you to recode files without knowing their current encoding.
+        It supports most of Central and East European languages, and a few
+        Unicode variants, independently on language.
+    '';
+
+    license = "GPLv2";
+
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 471de6cab5df..20d64ff11e4f 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -21,10 +21,12 @@
   # null, the default standard environment is used.
   bootStdenv ? null
 
-, # Darwin is an "impure" platform, with its libc outside of the store.
-  # Thus, GCC, GFortran, & co. must always look for files in standard system
-  # directories (/usr/include, etc.)
-  noSysDirs ? (system != "x86_64-darwin" && system != "i686-darwin")
+, # Non-GNU/Linux OSes are currently "impure" platforms, with their libc
+  # outside of the store.  Thus, GCC, GFortran, & co. must always look for
+  # files in standard system directories (/usr/include, etc.)
+  noSysDirs ? (system != "x86_64-darwin" && system != "i686-darwin"
+               && system != "x86_64-freebsd" && system != "i686-freebsd"
+               && system != "x86_64-kfreebsd-gnu")
 
   # More flags for the bootstrapping of stdenv.
 , gccWithCC ? true
@@ -449,6 +451,8 @@ let
 
   eggdrop = callPackage ../tools/networking/eggdrop { };
 
+  enca = callPackage ../tools/text/enca { };
+
   mcrl = callPackage ../tools/misc/mcrl { };
 
   mcrl2 = callPackage ../tools/misc/mcrl2 { };
@@ -1301,6 +1305,8 @@ let
 
   plotutils = callPackage ../tools/graphics/plotutils { };
 
+  plowshare = callPackage ../tools/misc/plowshare { };
+
   pngcrush = callPackage ../tools/graphics/pngcrush { };
 
   pngnq = callPackage ../tools/graphics/pngnq { };
@@ -1493,6 +1499,8 @@ let
 
   su = shadow;
 
+  surfraw = callPackage ../tools/networking/surfraw { };
+
   swec = callPackage ../tools/networking/swec {
     inherit (perlPackages) LWP URI HTMLParser HTTPServerSimple Parent;
   };
@@ -2366,6 +2374,10 @@ let
     then openjre
     else jdkdistro false false;
 
+  oraclejdk = jdkdistro true false;
+
+  oraclejre = jdkdistro false false;
+
   jrePlugin = lowPrio (jdkdistro false true);
 
   supportsJDK =
@@ -3327,6 +3339,7 @@ let
 
   celt = callPackage ../development/libraries/celt {};
   celt_0_7 = callPackage ../development/libraries/celt/0.7.nix {};
+  celt_0_5_1 = callPackage ../development/libraries/celt/0.5.1.nix {};
 
   cgal = callPackage ../development/libraries/CGAL {};
 
@@ -3363,6 +3376,8 @@ let
 
   clppcre = builderDefsPackage (import ../development/libraries/cl-ppcre) { };
 
+  clucene_core_2 = callPackage ../development/libraries/clucene-core/2.x.nix { };
+
   clucene_core = callPackage ../development/libraries/clucene-core { };
 
   cluceneCore = clucene_core; # !!! remove this
@@ -3985,6 +4000,8 @@ let
 
   libcdio = callPackage ../development/libraries/libcdio { };
 
+  libcdr = callPackage ../development/libraries/libcdr { };
+
   libchamplain = callPackage ../development/libraries/libchamplain {
     inherit (gnome) libsoup;
   };
@@ -4088,6 +4105,8 @@ let
     libmpeg2 = mpeg2dec;
   };
 
+  libexttextcat = callPackage ../development/libraries/libexttextcat {};
+
   libf2c = callPackage ../development/libraries/libf2c {};
 
   libfixposix = callPackage ../development/libraries/libfixposix {};
@@ -4330,6 +4349,8 @@ let
 
   libvirt = callPackage ../development/libraries/libvirt { };
 
+  libvisio = callPackage ../development/libraries/libvisio { };
+
   libvncserver = builderDefsPackage (import ../development/libraries/libvncserver) {
     inherit libtool libjpeg openssl zlib;
     inherit (xlibs) xproto libX11 damageproto libXdamage
@@ -4416,6 +4437,8 @@ let
 
   lzo = callPackage ../development/libraries/lzo { };
 
+  mdds = callPackage ../development/libraries/mdds { };
+
   # failed to build
   mediastreamer = callPackage ../development/libraries/mediastreamer { };
 
@@ -4472,6 +4495,8 @@ let
 
   mysocketw = callPackage ../development/libraries/mysocketw { };
 
+  mythes = callPackage ../development/libraries/mythes { };
+
   ncurses = makeOverridable (import ../development/libraries/ncurses) {
     inherit fetchurl;
     unicode = system != "i686-cygwin";
@@ -4790,6 +4815,13 @@ let
 
   sphinxbase = callPackage ../development/libraries/sphinxbase { };
 
+  spice = callPackage ../development/libraries/spice {
+    celt = celt_0_5_1;
+    inherit (xlibs) libXrandr libXfixes libXext libXrender libXinerama;
+  };
+
+  spiceProtocol = callPackage ../development/libraries/spice-protocol { };
+
   sratom = callPackage ../development/libraries/audio/sratom { };
 
   srtp = callPackage ../development/libraries/srtp {};
@@ -6789,6 +6821,8 @@ let
 
   espeak = callPackage ../applications/audio/espeak { };
 
+  espeakedit = callPackage ../applications/audio/espeak/edit.nix { };
+
   esniper = callPackage ../applications/networking/esniper { };
 
   etherape = callPackage ../applications/networking/sniffers/etherape {
@@ -6879,6 +6913,13 @@ let
 
   firefox13Wrapper = lowPrio (wrapFirefox { browser = firefox13Pkgs.firefox; });
 
+  firefox15Pkgs = callPackage ../applications/networking/browsers/firefox/15.0.nix {
+    inherit (gnome) libIDL;
+    inherit (pythonPackages) pysqlite;
+  };
+
+  firefox15Wrapper = lowPrio (wrapFirefox { browser = firefox15Pkgs.firefox; });
+
   flac = callPackage ../applications/audio/flac { };
 
   flashplayer = flashplayer11;
@@ -6956,6 +6997,8 @@ let
 
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
+  praat = callPackage ../applications/audio/praat { };
+
   quvi = callPackage ../applications/video/quvi/tool.nix { };
 
   quvi_scripts = callPackage ../applications/video/quvi/scripts.nix { };
@@ -7924,7 +7967,13 @@ let
     fltk = fltk13;
   };
 
-  zathura = callPackage ../applications/misc/zathura { };
+  zathuraCollection = recurseIntoAttrs
+    (let callPackage = newScope pkgs.zathuraCollection; in
+      import ../applications/misc/zathura { inherit callPackage pkgs; });
+
+  zathura = zathuraCollection.zathuraWrapper;
+
+  girara = callPackage ../applications/misc/girara { };
 
   zgrviewer = callPackage ../applications/graphics/zgrviewer {};
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index c2e457bfe456..f90e16abe02d 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -125,12 +125,12 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
     GLUT         = self.GLUT_2_1_2_1;           # 7.5 fail
     haskellSrc   = self.haskellSrc_1_0_1_5;     # 7.5 ok
     html         = self.html_1_0_1_2;           # 7.5 ok
-    HTTP         = self.HTTP_4000_2_3;          # 7.5 ok
+    HTTP         = self.HTTP_4000_2_4;          # 7.5 ok
     HUnit        = self.HUnit_1_2_5_1;          # 7.5 ok
     mtl          = self.mtl_2_1_2;              # 7.5 ok
     network      = self.network_2_3_1_0;        # 7.5 ok
     OpenGL       = self.OpenGL_2_2_3_1;         # 7.5 fail
-    parallel     = self.parallel_3_2_0_2;       # 7.5 fail
+    parallel     = self.parallel_3_2_0_3;       # 7.5 ok
     parsec       = self.parsec_3_1_3;           # 7.5 ok
     QuickCheck   = self.QuickCheck_2_5;         # 7.5 fail
     random       = self.random_1_0_1_1;         # 7.5 ok
@@ -386,6 +386,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   Agda = callPackage ../development/libraries/haskell/Agda {
     haskellSrcExts = self.haskellSrcExts_1_11_1;
+    haskeline = self.haskeline_0_6_4_7;
   };
 
   accelerate = callPackage ../development/libraries/haskell/accelerate {};
@@ -522,6 +523,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   citeprocHs = callPackage ../development/libraries/haskell/citeproc-hs {};
 
+  cipherAes = callPackage ../development/libraries/haskell/cipher-aes {};
+
   clientsession = callPackage ../development/libraries/haskell/clientsession {};
 
   cmdargs = callPackage ../development/libraries/haskell/cmdargs {};
@@ -532,16 +535,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   colour = callPackage ../development/libraries/haskell/colour {};
 
-  comonad_1_1_1_6 = callPackage ../development/libraries/haskell/comonad/1.1.1.6.nix {};
-  comonad_3_0_0_2 = callPackage ../development/libraries/haskell/comonad/3.0.0.2.nix {};
-  comonad = self.comonad_3_0_0_2;
+  comonad = callPackage ../development/libraries/haskell/comonad {};
 
-  comonadTransformers_2_1_2 = callPackage ../development/libraries/haskell/comonad-transformers/2.1.2.nix {
-    comonad = self.comonad_1_1_1_6;
-    semigroupoids = self.semigroupoids_1_3_4;
-  };
-  comonadTransformers_3_0 = callPackage ../development/libraries/haskell/comonad-transformers/3.0.nix {};
-  comonadTransformers = self.comonadTransformers_3_0;
+  comonadTransformers = callPackage ../development/libraries/haskell/comonad-transformers {};
 
   compactStringFix = callPackage ../development/libraries/haskell/compact-string-fix {};
 
@@ -603,10 +599,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   dataInttrie = callPackage ../development/libraries/haskell/data-inttrie {};
 
-  dataLens = callPackage ../development/libraries/haskell/data-lens {
-    comonadTransformers = self.comonadTransformers_2_1_2;
-    semigroupoids = self.semigroupoids_1_3_4;
-  };
+  dataLens = callPackage ../development/libraries/haskell/data-lens {};
 
   dataLensTemplate = callPackage ../development/libraries/haskell/data-lens-template {};
 
@@ -614,6 +607,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   dataReify = callPackage ../development/libraries/haskell/data-reify {};
 
+  dateCache = callPackage ../development/libraries/haskell/date-cache {};
+
   datetime = callPackage ../development/libraries/haskell/datetime {};
 
   deepseq_1_1_0_0 = callPackage ../development/libraries/haskell/deepseq/1.1.0.0.nix {};
@@ -819,7 +814,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hashtables = callPackage ../development/libraries/haskell/hashtables {};
 
-  haskeline = callPackage ../development/libraries/haskell/haskeline {};
+  haskeline_0_6_4_7 = callPackage ../development/libraries/haskell/haskeline/0.6.4.7.nix {};
+  haskeline_0_7_0_2 = callPackage ../development/libraries/haskell/haskeline/0.7.0.2.nix {};
+  haskeline = self.haskeline_0_7_0_2;
 
   haskelineClass = callPackage ../development/libraries/haskell/haskeline-class {};
 
@@ -849,7 +846,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
   HTTP_4000_2_1 = callPackage ../development/libraries/haskell/HTTP/4000.2.1.nix {};
   HTTP_4000_2_2 = callPackage ../development/libraries/haskell/HTTP/4000.2.2.nix {};
   HTTP_4000_2_3 = callPackage ../development/libraries/haskell/HTTP/4000.2.3.nix {};
-  HTTP = self.HTTP_4000_2_3;
+  HTTP_4000_2_4 = callPackage ../development/libraries/haskell/HTTP/4000.2.4.nix {};
+  HTTP = self.HTTP_4000_2_4;
 
   hackageDb = callPackage ../development/libraries/haskell/hackage-db {};
 
@@ -887,7 +885,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   hjsmin = callPackage ../development/libraries/haskell/hjsmin {};
 
-  hledger = callPackage ../development/libraries/haskell/hledger {};
+  hledger = callPackage ../development/libraries/haskell/hledger {
+    haskeline = self.haskeline_0_6_4_7;
+  };
   hledgerLib = callPackage ../development/libraries/haskell/hledger-lib {};
   hledgerInterest = callPackage ../applications/office/hledger-interest {};
   hledgerWeb = callPackage ../development/libraries/haskell/hledger-web {};
@@ -1327,11 +1327,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   semigroups = callPackage ../development/libraries/haskell/semigroups {};
 
-  semigroupoids_1_3_4 = callPackage ../development/libraries/haskell/semigroupoids/1.3.4.nix {
-    comonad = self.comonad_1_1_1_6;
-  };
-  semigroupoids_3_0 = callPackage ../development/libraries/haskell/semigroupoids/3.0.nix {};
-  semigroupoids = self.semigroupoids_3_0;
+  semigroupoids = callPackage ../development/libraries/haskell/semigroupoids {};
 
   shelly = callPackage ../development/libraries/haskell/shelly {};
 
@@ -1369,6 +1365,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   stringsearch = callPackage ../development/libraries/haskell/stringsearch {};
 
+  stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {};
+
   syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {};
   syb_0_3 = callPackage ../development/libraries/haskell/syb/0.3.nix {};
   syb_0_3_3 = callPackage ../development/libraries/haskell/syb/0.3.3.nix {};
@@ -1410,7 +1408,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {};
 
-  split_0_1 = callPackage ../development/libraries/haskell/split/0.1.nix {};
   split = callPackage ../development/libraries/haskell/split {};
 
   stbImage = callPackage ../development/libraries/haskell/stb-image {};
@@ -1448,8 +1445,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   tagsoup = callPackage ../development/libraries/haskell/tagsoup {};
 
-  tagsoup_0_10_1 = callPackage ../development/libraries/haskell/tagsoup/0.10.1nix {};
-
   temporary = callPackage ../development/libraries/haskell/temporary {};
 
   Tensor = callPackage ../development/libraries/haskell/Tensor {};
@@ -1752,6 +1747,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   darcs = callPackage ../applications/version-management/darcs {
     tar = self.tar_0_3_2_0;
+    haskeline = self.haskeline_0_6_4_7;
   };
 
   leksah = callPackage ../applications/editors/leksah {
@@ -1773,7 +1769,6 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
 
   xmonadExtras = callPackage ../applications/window-managers/xmonad/xmonad-extras.nix {
     X11 = self.X11_1_5_0_1;
-    split = self.split_0_1;
   };
 
   # Tools.
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
index 0ab4306cca07..82d6b65ee48d 100644
--- a/pkgs/top-level/node-packages.nix
+++ b/pkgs/top-level/node-packages.nix
@@ -5,7 +5,135 @@ let self = {
     inherit stdenv nodejs;
   };
 
+  patchLatest = srcAttrs:
+                  let src = fetchurl srcAttrs; in
+                  pkgs.runCommand src.name {} ''
+                    tar xf ${src}
+                    sed -i -e "s/: \"latest\"/: \"*\"/" package/package.json
+                    tar cf $out package
+                  '';
+
+  "abbrev" = self."abbrev-1";
+
+  "abbrev-1" = self.buildNodePackage rec {
+    name = "abbrev-1.0.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/abbrev/-/${name}.tgz";
+      sha256 = "d444c07f411418828a5e81ac85569afe638e6441a562086faa0209ec7bdf55f2";
+    };
+    deps = [
+
+    ];
+  };
+
+  "active-x-obfuscator" = self."active-x-obfuscator-0.0.1";
+
+  "active-x-obfuscator-0.0.1" = self.buildNodePackage rec {
+    name = "active-x-obfuscator-0.0.1";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/active-x-obfuscator/-/${name}.tgz";
+      sha256 = "069cc18a0e7790ec106b267d28b47c691220f119a8daec925dd47f06866ce1c6";
+    };
+    deps = [
+      self."zeparser-0.0.5"
+    ];
+  };
+
+  "ansi" = self."ansi-~0.1.2";
+
+  "ansi-~0.1.2" = self.buildNodePackage rec {
+    name = "ansi-0.1.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/ansi/-/${name}.tgz";
+      sha256 = "6f2288b1db642eb822578f4ee70bf26bf97173cc7d3f10f496070fb96250006b";
+    };
+    deps = [
+
+    ];
+  };
+
+  "backbone" = self."backbone-0.9.2";
+
+  "backbone-0.9.2" = self.buildNodePackage rec {
+    name = "backbone-0.9.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/backbone/-/${name}.tgz";
+      sha256 = "0a5ebc8d32949ea2870a684e8430a8b4dec75a163ecf2740eb5fb4865393bb32";
+    };
+    deps = [
+      self."underscore->=1.3.1"
+    ];
+  };
+
+  "block-stream" = self."block-stream-*";
+
+  "block-stream-*" = self.buildNodePackage rec {
+    name = "block-stream-0.0.6";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/block-stream/-/${name}.tgz";
+      sha256 = "2fc365b42b8601c8ee150d453f6cc762a01054b7fb28bdfcfcbce7c97e93601b";
+    };
+    deps = [
+      self."inherits-~1.0.0"
+    ];
+  };
+
+  "browserchannel" = self."browserchannel-0.4.1";
+
+  "browserchannel-0.4.1" = self.buildNodePackage rec {
+    name = "browserchannel-0.4.1";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/browserchannel/-/${name}.tgz";
+      sha256 = "f5d038347cee6802bb6f30f53bcf2adf196d241505b77ffca3d5f8a76a109c5f";
+    };
+    deps = [
+      self."coffee-script-~1"
+      self."hat"
+      self."connect-~1.7"
+      self."timerstub"
+      self."request-~2"
+    ];
+  };
+
+  "bson" = self."bson-0.1.0";
+
+  "bson-0.1.0" = self.buildNodePackage rec {
+    name = "bson-0.1.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bson/-/${name}.tgz";
+      sha256 = "32618266420f4d2688e957a6a145aab6a1402c950b7b7c7c1d0520cbd08251c9";
+    };
+    deps = [
+
+    ];
+  };
+
+  "bytes" = self."bytes-0.1.0";
+
+  "bytes-0.1.0" = self.buildNodePackage rec {
+    name = "bytes-0.1.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/bytes/-/${name}.tgz";
+      sha256 = "32954618600f6566ecd95aec0ea0ae3318a1b4a29bf6a7970462c29a843bf701";
+    };
+    deps = [
+
+    ];
+  };
+
   "coffee-script" = self."coffee-script-1.3.3";
+  "coffee-script-~1" = self."coffee-script-1.3.3";
+
+  "coffee-script-~1.1.2" = self.buildNodePackage rec {
+    name = "coffee-script-1.1.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/coffee-script/-/${name}.tgz";
+      sha256 = "3b431da901f753bde0ab26245c7111e1e4b8be1bba0086cf4a7470d739acae87";
+    };
+    deps = [
+
+    ];
+  };
 
   "coffee-script-1.3.3" = self.buildNodePackage rec {
     name = "coffee-script-1.3.3";
@@ -18,75 +146,174 @@ let self = {
     ];
   };
 
-  "semver" = self."semver-1";
+  "commander" = self."commander-~0.6.1";
 
-  "semver-1" = self.buildNodePackage rec {
-    name = "semver-1.0.14";
+  "commander-~0.6.1" = self.buildNodePackage rec {
+    name = "commander-0.6.1";
     src = fetchurl {
-      url = "http://registry.npmjs.org/semver/-/${name}.tgz";
-      sha256 = "560df522ae0e8834d8b07f6ca9c60bd8836e844642361abde108018cbe9ca82f";
+      url = "http://registry.npmjs.org/commander/-/${name}.tgz";
+      sha256 = "7b7fdd1bc4d16f6776169a64f133d629efe2e3a7cd338b1d0884ee909abbd729";
     };
     deps = [
 
     ];
   };
 
-  "npm2nix" = self."npm2nix-0.1.2";
+  "connect" = self."connect-2.4.4";
 
-  "npm2nix-0.1.2" = self.buildNodePackage rec {
-    name = "npm2nix-0.1.2";
+  "connect-~1.7" = self.buildNodePackage rec {
+    name = "connect-1.7.3";
     src = fetchurl {
-      url = https://bitbucket.org/shlevy/npm2nix/get/0.1.2.tar.gz;
-      sha256 = "0wmgdbjvvwqv47113xdipzkmdafsca9av1s0fq605jf97wrpvbw3";
-      name = "${name}.tgz";
+      url = "http://registry.npmjs.org/connect/-/${name}.tgz";
+      sha256 = "773fd6ca8c90e33cc28d012fb3d72d66eb99114b20d88228330458628f030d12";
     };
     deps = [
-      self."semver-1"
+      self."qs->= 0.3.1"
+      self."mime->= 0.0.1"
     ];
   };
 
-  "mkdirp" = self."mkdirp-0.3";
+  "connect-2.4.4" = self.buildNodePackage rec {
+    name = "connect-2.4.4";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/connect/-/${name}.tgz";
+      sha256 = "1f474ca9db05b9d58f3469ad4932722e49bec1f6ec35665ddea09155382914e9";
+    };
+    deps = [
+      self."qs-0.4.2"
+      self."formidable-1.0.11"
+      self."crc-0.2.0"
+      self."cookie-0.0.4"
+      self."bytes-0.1.0"
+      self."send-0.0.4"
+      self."fresh-0.1.0"
+      self."pause-0.0.1"
+      self."debug"
+    ];
+  };
 
-  "mkdirp-0.3" = self.buildNodePackage rec {
-    name = "mkdirp-0.3.4";
+  "cookie" = self."cookie-0.0.4";
+
+  "cookie-0.0.4" = self.buildNodePackage rec {
+    name = "cookie-0.0.4";
     src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/${name}.tgz";
-      sha256 = "f87444f2376c56bf47846f3b885aae926c5d9504328923b166794b78c0e08425";
+      url = "http://registry.npmjs.org/cookie/-/${name}.tgz";
+      sha256 = "a917477c448a6a91ef73d550d8d8a6d4864e8fbd247b6f73baaca66c9bfc3b0b";
     };
     deps = [
 
     ];
   };
 
-  "nopt" = self."nopt-2";
+  "crc" = self."crc-0.2.0";
 
-  "nopt-2" = self.buildNodePackage rec {
-    name = "nopt-2.0.0";
+  "crc-0.2.0" = self.buildNodePackage rec {
+    name = "crc-0.2.0";
     src = fetchurl {
-      url = "http://registry.npmjs.org/nopt/-/${name}.tgz";
-      sha256 = "112e9bea8b745a2e5a59d239e6f6f02e720e080ab8cdca89b6b8f0143ae718b5";
+      url = "http://registry.npmjs.org/crc/-/${name}.tgz";
+      sha256 = "027c180bbbddd0960e6000f7ef60623997dfa61b3c2ef141acf00c29a1763b5d";
     };
     deps = [
-      self."abbrev-1"
+
     ];
   };
 
-  "graceful-fs" = self."graceful-fs-1";
+  "cssmin" = self."cssmin-0.3.1";
 
-  "graceful-fs-1" = self.buildNodePackage rec {
-    name = "graceful-fs-1.1.10";
+  "cssmin-0.3.1" = self.buildNodePackage rec {
+    name = "cssmin-0.3.1";
     src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz";
-      sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24";
+      url = "http://registry.npmjs.org/cssmin/-/${name}.tgz";
+      sha256 = "56f1854fd0c6cb4cf78cea861e7b617ccf1daf91b47fba5bc80abdf2529b3102";
+    };
+    deps = [
+
+    ];
+  };
+
+  "datetime" = self."datetime-0.0.3";
+
+  "datetime-0.0.3" = self.buildNodePackage rec {
+    name = "datetime-0.0.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/datetime/-/${name}.tgz";
+      sha256 = "d584a5b140ced7bd44199fc5e1b6cd55ec2d3c946dc990ced42f6ab2687747f0";
+    };
+    deps = [
+      self."vows->=0.5.4"
+    ];
+  };
+
+  "debug" = self."debug-*";
+
+  "debug-*" = self.buildNodePackage rec {
+    name = "debug-0.7.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/debug/-/${name}.tgz";
+      sha256 = "113c041fb01fd8db2a1b83320529849ccbb23794a4c3799a0154312de2a5d618";
     };
     deps = [
 
     ];
   };
 
-  "fstream" = self."fstream-~0.1.13";
+  "diff" = self."diff-~1.0.3";
 
-  "fstream-~0.1.13" = self.buildNodePackage rec {
+  "diff-~1.0.3" = self.buildNodePackage rec {
+    name = "diff-1.0.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/diff/-/${name}.tgz";
+      sha256 = "88e1bb04e3707c5601ec0841e170f8892a3b929bf8c4030f826cd32c1fa21472";
+    };
+    deps = [
+
+    ];
+  };
+
+  "eyes" = self."eyes->=0.1.6";
+
+  "eyes->=0.1.6" = self.buildNodePackage rec {
+    name = "eyes-0.1.8";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/eyes/-/${name}.tgz";
+      sha256 = "4fa6db8f2c9926fb39a211c622d7eb3a76efbc4878559f9bd155d647a6963735";
+    };
+    deps = [
+
+    ];
+  };
+
+  "formidable" = self."formidable-1.0.11";
+
+  "formidable-1.0.11" = self.buildNodePackage rec {
+    name = "formidable-1.0.11";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/formidable/-/${name}.tgz";
+      sha256 = "39b345d14d69c27fe262e12f16900cef6be220510788866e0a12c9fedd03766e";
+    };
+    deps = [
+
+    ];
+  };
+
+  "fresh" = self."fresh-0.1.0";
+
+  "fresh-0.1.0" = self.buildNodePackage rec {
+    name = "fresh-0.1.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/fresh/-/${name}.tgz";
+      sha256 = "c402fbd25e26c0167bf288e1ba791716808bfaa5de32b76ae68e8e8a3d7e2b33";
+    };
+    deps = [
+
+    ];
+  };
+
+  "fstream" = self."fstream-0.1.18";
+  "fstream-~0.1.8" = self."fstream-0.1.18";
+  "fstream-~0.1.13" = self."fstream-0.1.18";
+
+  "fstream-0.1.18" = self.buildNodePackage rec {
     name = "fstream-0.1.18";
     src = fetchurl {
       url = "http://registry.npmjs.org/fstream/-/${name}.tgz";
@@ -100,26 +327,175 @@ let self = {
     ];
   };
 
-  "npmlog" = self."npmlog-0";
+  "glob" = self."glob-3";
 
-  "npmlog-0" = self.buildNodePackage rec {
-    name = "npmlog-0.0.2";
+  "glob-3" = self.buildNodePackage rec {
+    name = "glob-3.1.12";
     src = fetchurl {
-      url = "http://registry.npmjs.org/npmlog/-/${name}.tgz";
-      sha256 = "ce98d4d3380390c0259695cce407e2e96d2970c5caee1461a62ecbd38e8caed4";
+      url = "http://registry.npmjs.org/glob/-/${name}.tgz";
+      sha256 = "a37c02e9a91915fe4e3232229676e842803151dde831d1046620ec96118f6036";
     };
     deps = [
-      self."ansi-~0.1.2"
+      self."minimatch-0.2"
+      self."graceful-fs-~1.1.2"
+      self."inherits-1"
     ];
   };
 
-  "osenv" = self."osenv-0";
+  "graceful-fs" = self."graceful-fs-1.1.10";
+  "graceful-fs-1" = self."graceful-fs-1.1.10";
+  "graceful-fs-~1.1" = self."graceful-fs-1.1.10";
+  "graceful-fs-~1.1.2" = self."graceful-fs-1.1.10";
 
-  "osenv-0" = self.buildNodePackage rec {
-    name = "osenv-0.0.3";
+  "graceful-fs-1.1.10" = self.buildNodePackage rec {
+    name = "graceful-fs-1.1.10";
     src = fetchurl {
-      url = "http://registry.npmjs.org/osenv/-/${name}.tgz";
-      sha256 = "aafbb23637b7338c9025f9da336f31f96674d7926c30f209e4d93ce16d5251c4";
+      url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz";
+      sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24";
+    };
+    deps = [
+
+    ];
+  };
+
+  "hat" = self."hat-0.0.3";
+
+  "hat-0.0.3" = self.buildNodePackage rec {
+    name = "hat-0.0.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hat/-/${name}.tgz";
+      sha256 = "7bf52b3b020ca333a42eb67411090912b21abb6ac746d587022a0955b16e5f5c";
+    };
+    deps = [
+
+    ];
+  };
+
+  "hiredis" = self."hiredis-*";
+
+  "hiredis-*" = self.buildNodePackage rec {
+    name = "hiredis-0.1.14";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/hiredis/-/${name}.tgz";
+      sha256 = "9d7ce0a7ae81cf465a0c26c07fb618b6ffd98ca344f14369114abf548d75637a";
+    };
+    deps = [
+
+    ];
+  };
+
+  "inherits" = self."inherits-1.0.0";
+  "inherits-1" = self."inherits-1.0.0";
+  "inherits-1.x" = self."inherits-1.0.0";
+  "inherits-~1.0.0" = self."inherits-1.0.0";
+
+  "inherits-1.0.0" = self.buildNodePackage rec {
+    name = "inherits-1.0.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/inherits/-/${name}.tgz";
+      sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+    };
+    deps = [
+
+    ];
+  };
+
+  "less" = self."less-1.3.0";
+
+  "less-1.3.0" = self.buildNodePackage rec {
+    name = "less-1.3.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/less/-/${name}.tgz";
+      sha256 = "a182824764d5feefe8a66c5f9c7fe8b92d24a7677942fd650b9092bbd3f63d1b";
+    };
+    deps = [
+
+    ];
+  };
+
+  "lru-cache" = self."lru-cache-~2.0.0";
+
+  "lru-cache-~2.0.0" = self.buildNodePackage rec {
+    name = "lru-cache-2.0.1";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/lru-cache/-/${name}.tgz";
+      sha256 = "3b4fd68f0bd75f5abf69e349b6ffa918bfe4990ff36d2d88dc74f334a9ed627e";
+    };
+    deps = [
+
+    ];
+  };
+
+  "mime" = self."mime-1.2.6";
+
+  "mime->= 0.0.1" = self.buildNodePackage rec {
+    name = "mime-1.2.7";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/${name}.tgz";
+      sha256 = "a80244918c9c75fa4d0b37f311920c7d5270aab9a05aca9a74783764ad152df6";
+    };
+    deps = [
+
+    ];
+  };
+
+  "mime-1.2.6" = self.buildNodePackage rec {
+    name = "mime-1.2.6";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mime/-/${name}.tgz";
+      sha256 = "7460134d6b4686d64fd1e7b878d34e2bdd258ad29b6665cf62e6d92659e81591";
+    };
+    deps = [
+
+    ];
+  };
+
+  "minimatch" = self."minimatch-0.2";
+
+  "minimatch-0.2" = self.buildNodePackage rec {
+    name = "minimatch-0.2.6";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/minimatch/-/${name}.tgz";
+      sha256 = "f0030112575a815ff304fa3bc64ee7e60ab8bfddb281602bc37eca0cddd48350";
+    };
+    deps = [
+      self."lru-cache-~2.0.0"
+    ];
+  };
+
+  "mkdirp" = self."mkdirp-0.3";
+
+  "mkdirp-0.3" = self.buildNodePackage rec {
+    name = "mkdirp-0.3.4";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mkdirp/-/${name}.tgz";
+      sha256 = "f87444f2376c56bf47846f3b885aae926c5d9504328923b166794b78c0e08425";
+    };
+    deps = [
+
+    ];
+  };
+
+  "mongodb" = self."mongodb-1.1.0-beta";
+
+  "mongodb-1.1.0-beta" = self.buildNodePackage rec {
+    name = "mongodb-1.1.0-beta";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mongodb/-/${name}.tgz";
+      sha256 = "05e5a798d4c3a499af1e77a33eb13a31d4fb688a63e97b3fe970a3bccea39ab3";
+    };
+    deps = [
+      self."bson-0.1.0"
+    ];
+  };
+
+  "mrclean" = self."mrclean-0.1.0";
+
+  "mrclean-0.1.0" = self.buildNodePackage rec {
+    name = "mrclean-0.1.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/mrclean/-/${name}.tgz";
+      sha256 = "5a8921007d8d3db990d41924d220f90efc8cbeb1f425c52fe0fe28be22223705";
     };
     deps = [
 
@@ -151,100 +527,161 @@ let self = {
     ];
   };
 
-  "rimraf" = self."rimraf-2";
+  "nopt" = self."nopt-2";
 
-  "rimraf-2" = self.buildNodePackage rec {
-    name = "rimraf-2.0.2";
+  "nopt-2" = self.buildNodePackage rec {
+    name = "nopt-2.0.0";
     src = fetchurl {
-      url = "http://registry.npmjs.org/rimraf/-/${name}.tgz";
-      sha256 = "3efcc60c9f6715a8746f3e0b82770468247f3e256778ef20733f334377392ab0";
+      url = "http://registry.npmjs.org/nopt/-/${name}.tgz";
+      sha256 = "112e9bea8b745a2e5a59d239e6f6f02e720e080ab8cdca89b6b8f0143ae718b5";
     };
     deps = [
-      self."graceful-fs-~1.1"
+      self."abbrev-1"
     ];
   };
 
-  "minimatch" = self."minimatch-0.2";
+  "npm2nix" = self."npm2nix-0.1.2";
 
-  "minimatch-0.2" = self.buildNodePackage rec {
-    name = "minimatch-0.2.6";
+  "npm2nix-0.1.2" = self.buildNodePackage rec {
+    name = "npm2nix-0.1.2";
     src = fetchurl {
-      url = "http://registry.npmjs.org/minimatch/-/${name}.tgz";
-      sha256 = "f0030112575a815ff304fa3bc64ee7e60ab8bfddb281602bc37eca0cddd48350";
+      url = https://bitbucket.org/shlevy/npm2nix/get/0.1.2.tar.gz;
+      sha256 = "0wmgdbjvvwqv47113xdipzkmdafsca9av1s0fq605jf97wrpvbw3";
+      name = "${name}.tgz";
     };
     deps = [
-      self."lru-cache-~2.0.0"
+      self."semver-1"
     ];
   };
 
-  "glob" = self."glob-3";
+  "npmlog" = self."npmlog-0";
 
-  "glob-3" = self.buildNodePackage rec {
-    name = "glob-3.1.12";
+  "npmlog-0" = self.buildNodePackage rec {
+    name = "npmlog-0.0.2";
     src = fetchurl {
-      url = "http://registry.npmjs.org/glob/-/${name}.tgz";
-      sha256 = "a37c02e9a91915fe4e3232229676e842803151dde831d1046620ec96118f6036";
+      url = "http://registry.npmjs.org/npmlog/-/${name}.tgz";
+      sha256 = "ce98d4d3380390c0259695cce407e2e96d2970c5caee1461a62ecbd38e8caed4";
     };
     deps = [
-      self."minimatch-0.2"
-      self."graceful-fs-~1.1.2"
-      self."inherits-1"
+      self."ansi-~0.1.2"
     ];
   };
 
-  "tar" = self."tar-~0.1.12";
+  "options" = self."options-*";
 
-  "tar-~0.1.12" = self.buildNodePackage rec {
-    name = "tar-0.1.13";
+  "options-*" = self.buildNodePackage rec {
+    name = "options-0.0.3";
     src = fetchurl {
-      url = "http://registry.npmjs.org/tar/-/${name}.tgz";
-      sha256 = "fdf79b5e172badf924a12b501686e5cbf33c3ec7631eccc29c0e3e9fdcbb5ffe";
+      url = "http://registry.npmjs.org/options/-/${name}.tgz";
+      sha256 = "06cfe21b54b45f8cf7bb0a184d6ea6de3adb2dc471bf0663d06c791b4d48536d";
     };
     deps = [
-      self."inherits-1.x"
-      self."block-stream"
-      self."fstream-~0.1.8"
+
     ];
   };
 
-  "which" = self."which-1";
+  "osenv" = self."osenv-0";
 
-  "which-1" = self.buildNodePackage rec {
-    name = "which-1.0.5";
+  "osenv-0" = self.buildNodePackage rec {
+    name = "osenv-0.0.3";
     src = fetchurl {
-      url = "http://registry.npmjs.org/which/-/${name}.tgz";
-      sha256 = "e26f39d7b152c700636472ab4da57bfb9af17972c49a9e2a06f9ff347d8fad42";
+      url = "http://registry.npmjs.org/osenv/-/${name}.tgz";
+      sha256 = "aafbb23637b7338c9025f9da336f31f96674d7926c30f209e4d93ce16d5251c4";
     };
     deps = [
 
     ];
   };
 
-  "abbrev" = self."abbrev-1";
+  "pause" = self."pause-0.0.1";
 
-  "abbrev-1" = self.buildNodePackage rec {
-    name = "abbrev-1.0.3";
+  "pause-0.0.1" = self.buildNodePackage rec {
+    name = "pause-0.0.1";
     src = fetchurl {
-      url = "http://registry.npmjs.org/abbrev/-/${name}.tgz";
-      sha256 = "d444c07f411418828a5e81ac85569afe638e6441a562086faa0209ec7bdf55f2";
+      url = "http://registry.npmjs.org/pause/-/${name}.tgz";
+      sha256 = "d37b84046db0c28c9768be649e8f02bd991ede34b276b5dba7bade23b523235e";
     };
     deps = [
 
     ];
   };
 
-  "graceful-fs-~1.1.2" = self.buildNodePackage rec {
-    name = "graceful-fs-1.1.10";
+  "policyfile" = self."policyfile-0.0.4";
+
+  "policyfile-0.0.4" = self.buildNodePackage rec {
+    name = "policyfile-0.0.4";
     src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz";
-      sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24";
+      url = "http://registry.npmjs.org/policyfile/-/${name}.tgz";
+      sha256 = "e19e9e57d6262ab7965212ec5456eae2c07438de3b09fd8f3cba36a61a14c43f";
+    };
+    deps = [
+
+    ];
+  };
+
+  "qs" = self."qs-0.5.0";
+  "qs->= 0.3.1" = self."qs-0.5.0";
+
+  "qs-0.4.2" = self.buildNodePackage rec {
+    name = "qs-0.4.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/${name}.tgz";
+      sha256 = "c44875d3aa882693cf73185b46fed63c1a89c34dce600b191b41dd90fb019b86";
     };
     deps = [
 
     ];
   };
 
-  "request" = self."request-2.9";
+  "qs-0.5.0" = self.buildNodePackage rec {
+    name = "qs-0.5.0";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/qs/-/${name}.tgz";
+      sha256 = "229a99fc833d50307833a13d898f3de137f2823593220273295e7e1dc81ab993";
+    };
+    deps = [
+
+    ];
+  };
+
+  "range-parser" = self."range-parser-0.0.4";
+
+  "range-parser-0.0.4" = self.buildNodePackage rec {
+    name = "range-parser-0.0.4";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/range-parser/-/${name}.tgz";
+      sha256 = "8e1bcce3544330b51644ea0cb4d25f0daa4b43008a75da27e285635f4ac4b1ce";
+    };
+    deps = [
+
+    ];
+  };
+
+  "redis" = self."redis-0.7.2";
+
+  "redis-0.6.7" = self.buildNodePackage rec {
+    name = "redis-0.6.7";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/redis/-/${name}.tgz";
+      sha256 = "6a65c0204a773ca4adec0635d747c80a7565ba5e2028775c7d0e95d23df088bb";
+    };
+    deps = [
+
+    ];
+  };
+
+  "redis-0.7.2" = self.buildNodePackage rec {
+    name = "redis-0.7.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/redis/-/${name}.tgz";
+      sha256 = "d56d99e15dd35f6fabf545d9e91545553d60eaeb32ecf5caa1f357458df161ab";
+    };
+    deps = [
+      self."hiredis"
+    ];
+  };
+
+  "request" = self."request-~2";
 
   "request-2.9" = self.buildNodePackage rec {
     name = "request-2.9.203";
@@ -257,102 +694,247 @@ let self = {
     ];
   };
 
-  "inherits-~1.0.0" = self.buildNodePackage rec {
-    name = "inherits-1.0.0";
+  "request-~2" = self.buildNodePackage rec {
+    name = "request-2.11.0";
     src = fetchurl {
-      url = "http://registry.npmjs.org/inherits/-/${name}.tgz";
-      sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+      url = "http://registry.npmjs.org/request/-/${name}.tgz";
+      sha256 = "01e5c144c755c8ee1a1ec93077b684bd63efb8df32d54675e20737e8e1c1afa6";
     };
     deps = [
 
     ];
   };
 
-  "ansi" = self."ansi-~0.1.2";
+  "rimraf" = self."rimraf-2";
 
-  "ansi-~0.1.2" = self.buildNodePackage rec {
-    name = "ansi-0.1.2";
+  "rimraf-2" = self.buildNodePackage rec {
+    name = "rimraf-2.0.2";
     src = fetchurl {
-      url = "http://registry.npmjs.org/ansi/-/${name}.tgz";
-      sha256 = "6f2288b1db642eb822578f4ee70bf26bf97173cc7d3f10f496070fb96250006b";
+      url = "http://registry.npmjs.org/rimraf/-/${name}.tgz";
+      sha256 = "3efcc60c9f6715a8746f3e0b82770468247f3e256778ef20733f334377392ab0";
+    };
+    deps = [
+      self."graceful-fs-~1.1"
+    ];
+  };
+
+  "semver" = self."semver-1";
+
+  "semver-1" = self.buildNodePackage rec {
+    name = "semver-1.0.14";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/semver/-/${name}.tgz";
+      sha256 = "560df522ae0e8834d8b07f6ca9c60bd8836e844642361abde108018cbe9ca82f";
     };
     deps = [
 
     ];
   };
 
-  "block-stream" = self."block-stream-*";
+  "send" = self."send-0.0.4";
 
-  "block-stream-*" = self.buildNodePackage rec {
-    name = "block-stream-0.0.6";
+  "send-0.0.4" = self.buildNodePackage rec {
+    name = "send-0.0.4";
     src = fetchurl {
-      url = "http://registry.npmjs.org/block-stream/-/${name}.tgz";
-      sha256 = "2fc365b42b8601c8ee150d453f6cc762a01054b7fb28bdfcfcbce7c97e93601b";
+      url = "http://registry.npmjs.org/send/-/${name}.tgz";
+      sha256 = "7e028fa3760884d8103414f079dc4bcc99d0b72bc21bcaa9d66a319d59010d6c";
     };
     deps = [
-      self."inherits-~1.0.0"
+      self."debug"
+      self."mime-1.2.6"
+      self."fresh-0.1.0"
+      self."range-parser-0.0.4"
     ];
   };
 
-  "lru-cache" = self."lru-cache-~2.0.0";
+  "showdown" = self."showdown-0.0.1";
 
-  "lru-cache-~2.0.0" = self.buildNodePackage rec {
-    name = "lru-cache-2.0.1";
+  "showdown-0.0.1" = self.buildNodePackage rec {
+    name = "showdown-0.0.1";
     src = fetchurl {
-      url = "http://registry.npmjs.org/lru-cache/-/${name}.tgz";
-      sha256 = "3b4fd68f0bd75f5abf69e349b6ffa918bfe4990ff36d2d88dc74f334a9ed627e";
+      url = "http://registry.npmjs.org/showdown/-/${name}.tgz";
+      sha256 = "669a3284344a4cb51b0327af8d84b9e35c895ef1cedbafada5284a31f4d4783d";
     };
     deps = [
 
     ];
   };
 
-  "graceful-fs-~1.1" = self.buildNodePackage rec {
-    name = "graceful-fs-1.1.10";
+  "socket.io" = self."socket.io-0.9.6";
+
+  "socket.io-0.9.6" = self.buildNodePackage rec {
+    name = "socket.io-0.9.6";
     src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-fs/-/${name}.tgz";
-      sha256 = "1f9b7da8b0c75db49e0e5d2aaecc6f1dd3fca2bdbb2aecf95d1dbdec7f0cee24";
+      url = "http://registry.npmjs.org/socket.io/-/${name}.tgz";
+      sha256 = "444e346e2701e2212590461a1fcf656f5d685ceb209e473517603286f09e743c";
     };
     deps = [
+      self."socket.io-client-0.9.6"
+      self."policyfile-0.0.4"
+      self."redis-0.6.7"
+    ];
+  };
+
+  "socket.io-client" = self."socket.io-client-0.9.6";
 
+  "socket.io-client-0.9.6" = self.buildNodePackage rec {
+    name = "socket.io-client-0.9.6";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/socket.io-client/-/${name}.tgz";
+      sha256 = "eab65186515d5206fe18b9ced75aae8c803dbcd18295a9a1cb71e5ae772ba399";
+    };
+    deps = [
+      self."uglify-js-1.2.5"
+      self."ws-0.4.x"
+      self."xmlhttprequest-1.2.2"
+      self."active-x-obfuscator-0.0.1"
     ];
   };
 
-  "inherits" = self."inherits-1";
+  "tar" = self."tar-~0.1.12";
 
-  "inherits-1" = self.buildNodePackage rec {
-    name = "inherits-1.0.0";
+  "tar-~0.1.12" = self.buildNodePackage rec {
+    name = "tar-0.1.13";
     src = fetchurl {
-      url = "http://registry.npmjs.org/inherits/-/${name}.tgz";
-      sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+      url = "http://registry.npmjs.org/tar/-/${name}.tgz";
+      sha256 = "fdf79b5e172badf924a12b501686e5cbf33c3ec7631eccc29c0e3e9fdcbb5ffe";
     };
     deps = [
+      self."inherits-1.x"
+      self."block-stream"
+      self."fstream-~0.1.8"
+    ];
+  };
 
+  "timerstub" = self."timerstub-*";
+
+  "timerstub-*" = self.buildNodePackage rec {
+    name = "timerstub-0.1.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/timerstub/-/${name}.tgz";
+      sha256 = "0ecbd05a10e0db1d628505c8a3b6ae07246bb8cf1074c435ddc26f22fcb5e153";
+    };
+    deps = [
+      self."coffee-script-~1.1.2"
     ];
   };
 
-  "inherits-1.x" = self.buildNodePackage rec {
-    name = "inherits-1.0.0";
+  "tinycolor" = self."tinycolor-0.x";
+
+  "tinycolor-0.x" = self.buildNodePackage rec {
+    name = "tinycolor-0.0.1";
     src = fetchurl {
-      url = "http://registry.npmjs.org/inherits/-/${name}.tgz";
-      sha256 = "2be196fa6bc6a0c65fecd737af457589ef88b22a95d5dc31aab01d92ace48186";
+      url = "http://registry.npmjs.org/tinycolor/-/${name}.tgz";
+      sha256 = "f5aaf5df002750c4af19181988c8789c9e230445747e511dde7c660424f286a0";
     };
     deps = [
 
     ];
   };
 
-  "fstream-~0.1.8" = self.buildNodePackage rec {
-    name = "fstream-0.1.18";
+  "uglify-js" = self."uglify-js-1.2.6";
+
+  "uglify-js-1.2.5" = self.buildNodePackage rec {
+    name = "uglify-js-1.2.5";
     src = fetchurl {
-      url = "http://registry.npmjs.org/fstream/-/${name}.tgz";
-      sha256 = "fd5791dd0ce8d7b707fa171ac5bd482e09f80cd09ec8176b45d547416893372d";
+      url = "http://registry.npmjs.org/uglify-js/-/${name}.tgz";
+      sha256 = "111fa1b844885b94df8cd73eb864bd96ff2e9173e8eb7045cc778fa237304a74";
     };
     deps = [
-      self."rimraf-2"
-      self."mkdirp-0.3"
-      self."graceful-fs-~1.1.2"
-      self."inherits-~1.0.0"
+
+    ];
+  };
+
+  "uglify-js-1.2.6" = self.buildNodePackage rec {
+    name = "uglify-js-1.2.6";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/uglify-js/-/${name}.tgz";
+      sha256 = "6d9202c8332e78868510a5441de4d54d8c2e08901ea7945eb332be8d7670788d";
+    };
+    deps = [
+
+    ];
+  };
+
+  "underscore" = self."underscore-1.3.3";
+  "underscore->=1.3.1" = self."underscore-1.3.3";
+
+  "underscore-1.3.3" = self.buildNodePackage rec {
+    name = "underscore-1.3.3";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/underscore/-/${name}.tgz";
+      sha256 = "e710644e53f5a6d75a41a3e19d8c35eedbce0db1e886e470daf9f909c9d1ea8a";
+    };
+    deps = [
+
+    ];
+  };
+
+  "vows" = self."vows->=0.5.4";
+
+  "vows->=0.5.4" = self.buildNodePackage rec {
+    name = "vows-0.6.4";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/vows/-/${name}.tgz";
+      sha256 = "017586c2fbdd5cd15aacdc870ea0c1b1ab60558306457ddc9b0aa4dae8290597";
+    };
+    deps = [
+      self."eyes->=0.1.6"
+      self."diff-~1.0.3"
+    ];
+  };
+
+  "which" = self."which-1";
+
+  "which-1" = self.buildNodePackage rec {
+    name = "which-1.0.5";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/which/-/${name}.tgz";
+      sha256 = "e26f39d7b152c700636472ab4da57bfb9af17972c49a9e2a06f9ff347d8fad42";
+    };
+    deps = [
+
+    ];
+  };
+
+  "ws" = self."ws-0.4.x";
+
+  "ws-0.4.x" = self.buildNodePackage rec {
+    name = "ws-0.4.21";
+    src = self.patchLatest {
+      url = "http://registry.npmjs.org/ws/-/${name}.tgz";
+      sha256 = "f21bc0058730355e1ff9d6ccf84a4cb56a2fc28e939edd15395770ea9e87fa0e";
+    };
+    deps = [
+      self."commander-~0.6.1"
+      self."tinycolor-0.x"
+      self."options"
+    ];
+  };
+
+  "xmlhttprequest" = self."xmlhttprequest-1.2.2";
+
+  "xmlhttprequest-1.2.2" = self.buildNodePackage rec {
+    name = "xmlhttprequest-1.2.2";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/xmlhttprequest/-/${name}.tgz";
+      sha256 = "44ce4ed6e5f7b5df84f27590fa142ecd175f53da4807b9f06c0c4733e23bd95d";
+    };
+    deps = [
+
+    ];
+  };
+
+  "zeparser" = self."zeparser-0.0.5";
+
+  "zeparser-0.0.5" = self.buildNodePackage rec {
+    name = "zeparser-0.0.5";
+    src = fetchurl {
+      url = "http://registry.npmjs.org/zeparser/-/${name}.tgz";
+      sha256 = "8b5a57ae84a7b7adf8827d1469c8f66d08d1660bd1375a07381877cd1bb9ed0b";
+    };
+    deps = [
+
     ];
   };
 };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 637d53b06f76..d76215961f2f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -138,6 +138,20 @@ let pythonPackages = python.modules // rec {
   };
 
 
+  area53 = buildPythonPackage (rec {
+    name = "area53-b2c9cdcabd";
+
+    src = fetchgit {
+      url = git://github.com/mariusv/Area53.git;
+      rev = "b2c9cdcabd";
+      sha256 = "b0c12b8c48ed9180c7475fab18de50d63e1b517cfb46da4d2c66fc406fe902bc";
+    };
+    installCommand = "python setup.py install --prefix=$out";
+    doCheck = false;
+    propagatedBuildInputs = [ boto ];
+  });
+
+
   argparse = buildPythonPackage (rec {
     name = "argparse-1.1";
 
@@ -169,6 +183,7 @@ let pythonPackages = python.modules // rec {
     };
   });
 
+
   astng = buildPythonPackage rec {
     name = "logilab-astng-0.21.1";
 
diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix
index d8e192a6e550..68c387d2a55c 100644
--- a/pkgs/top-level/release.nix
+++ b/pkgs/top-level/release.nix
@@ -361,6 +361,7 @@ with (import ./release-lib.nix);
   firefox36Pkgs.firefox = linux;
   firefox12Pkgs.firefox = linux;
   firefox13Pkgs.firefox = linux;
+  firefox15Pkgs.firefox = linux;
 
   gnome = {
     gnome_panel = linux;